var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.findInternal=function(k,e,b){k instanceof String&&(k=String(k));for(var c=k.length,a=0;a<c;a++){var d=k[a];if(e.call(b,d,a,k))return{i:a,v:d}}return{i:-1,v:void 0}};$jscomp.ASSUME_ES5=!1;$jscomp.ASSUME_NO_NATIVE_MAP=!1;$jscomp.ASSUME_NO_NATIVE_SET=!1;$jscomp.SIMPLE_FROUND_POLYFILL=!1;
$jscomp.defineProperty=$jscomp.ASSUME_ES5||"function"==typeof Object.defineProperties?Object.defineProperty:function(k,e,b){k!=Array.prototype&&k!=Object.prototype&&(k[e]=b.value)};$jscomp.getGlobal=function(k){k=["object"==typeof window&&window,"object"==typeof self&&self,"object"==typeof global&&global,k];for(var e=0;e<k.length;++e){var b=k[e];if(b&&b.Math==Math)return b}return globalThis};$jscomp.global=$jscomp.getGlobal(this);
$jscomp.polyfill=function(k,e,b,c){if(e){b=$jscomp.global;k=k.split(".");for(c=0;c<k.length-1;c++){var a=k[c];a in b||(b[a]={});b=b[a]}k=k[k.length-1];c=b[k];e=e(c);e!=c&&null!=e&&$jscomp.defineProperty(b,k,{configurable:!0,writable:!0,value:e})}};$jscomp.polyfill("Array.prototype.find",function(k){return k?k:function(e,b){return $jscomp.findInternal(this,e,b).v}},"es6","es3");$jscomp.polyfill("Object.is",function(k){return k?k:function(e,b){return e===b?0!==e||1/e===1/b:e!==e&&b!==b}},"es6","es3");
$jscomp.polyfill("Array.prototype.includes",function(k){return k?k:function(e,b){var c=this;c instanceof String&&(c=String(c));var a=c.length;b=b||0;for(0>b&&(b=Math.max(b+a,0));b<a;b++){var d=c[b];if(d===e||Object.is(d,e))return!0}return!1}},"es7","es3");
$jscomp.checkStringArgs=function(k,e,b){if(null==k)throw new TypeError("The 'this' value for String.prototype."+b+" must not be null or undefined");if(e instanceof RegExp)throw new TypeError("First argument to String.prototype."+b+" must not be a regular expression");return k+""};$jscomp.polyfill("String.prototype.includes",function(k){return k?k:function(e,b){return-1!==$jscomp.checkStringArgs(this,e,"includes").indexOf(e,b||0)}},"es6","es3");if("undefined"===typeof Recite||!Recite)var Recite={};
Recite=function(){function k(a){var b={persist:!0,autoEnable:!1,observeDom:!0,selectionMethod:"tooltip",rootNode:document.body,css:Recite.baseUrl+"/assets/"+Recite.version+"/css/recite.css",enableButton:".recite-enable",enableFragment:"#recite-enable",enableButtonToggle:!1,buttonDeactivateContent:"Deactivate Recite",buttonDeactivateContentElement:".recite-enable",parser:Recite.Parser.Html,autoCache:!0,defaultLanguage:null,showBrand:!0,classname:null,button:null,wrapTag:null,mode:null};a=a||{};a=Recite.Util.merge(b,
a);e(a);return a}function e(a,b){"undefined"===typeof b&&(b=Recite);Recite.Util.each(a,function(a,c){a=b[a];"undefined"!==typeof a&&(a.setOptions?a.setOptions(c):e(c,a))})}function b(b){a=k(Recite.Util.merge(a,b));try{a=k(Recite.Util.merge(a,JSON.parse("")))}catch(g){Recite.Debug.log("API Options are not loaded correctly")}Recite.Debug.log("Recite","(Version "+Recite.version+") Load called with options:",b);b=Recite.Sizzle(a.enableButton);Recite.Event.publish("Recite:load");var d=Recite.Storage.Cookie.load("Recite.Persist");
null!==a.enableFragment&&window.location.hash===a.enableFragment&&Recite.enable();(a.autoEnable&&!1!==d||a.persist&&!0===d)&&Recite.enable();null!==a.enableButton&&Recite.DomEvent.add(b,"click",function(){a.enableButtonToggle?c?Recite.disable():Recite.enable():Recite.enable()});Recite.Event.subscribe("Recite:ModuleEvent",function(a,b){Recite.Tracker.track(b.name,b.event)})}var c=!1,a={};return{namespace:function(){var a=arguments,b=null,c,h;for(c=0;c<a.length;c+=1){var f=(""+a[c]).split(".");b=Recite;
for(h="Recite"===f[0]?1:0;h<f.length;h+=1)b[f[h]]=b[f[h]]||{},b=b[f[h]]}return b},load:function(a){"complete"===document.readyState||"interactive"===document.readyState?b(a):Recite.DomEvent.add(window,"load",function(){b(a)})},enable:function(){if(c)return Recite.Debug.log("Recite","Already enabled, not re-enabling."),null;a.persist&&Recite.Storage.Cookie.save("Recite.Persist",!0);if(a.enableButtonToggle){var b=Recite.Sizzle(a.buttonDeactivateContentElement);Recite.Util.each(b,function(b,c){c.innerHTML=
a.buttonDeactivateContent})}Recite.AssetLoader.css(a.css,function(){Recite.Debug.log("Recite","Recite CSS loaded");Recite.Controls.load(document)});Recite.Event.subscribe("Controls:loaded",function(){Recite.Preferences.load();Recite.Controls.Desktop.applyTabOrder();Recite.Util.each(Recite.Sizzle(".recite-version"),function(a,b){b.innerHTML="Ver: "+Recite.version})});Recite.Event.subscribe("Recite.Parser:parsed",function(){a.observeDom&&Recite.Dom.Observer.observe(document.getElementById("recite-wrapper"))});
Recite.Event.subscribe("Preferences:load",function(){null!==a.defaultLanguage&&null===Recite.Preferences.get("language")&&Recite.Preferences.set("language",a.defaultLanguage)});"tooltip"===a.selectionMethod?window.setTimeout(function(){if(null!==a.rootNode){var b=a.parser.parse(a.rootNode);Recite.PlayerControls.invoke(b)}},0):"highlight"===a.selectionMethod&&(a.observeDom=!1,Recite.Selection.setOptions({playOnSelection:!0}));Recite.FrameUpdater.enabled()&&Recite.FrameUpdater.load();Recite.Docreader.enabled()&&
Recite.Docreader.load();Recite.Language.Translate.init();Recite.Event.publish("Recite:enable");Recite.Debug.log("Recite","Recite enabled (Version:"+Recite.version+")");Recite.Tracker.track("enable");c=!0;Recite.Storage.Cookie.save("Recite.Persist",!0)},disable:function(a){var b=Recite.Controls.disableOverlay();"undefined"!=typeof a?(Recite.Event.publish("Recite:disable"),Recite.Storage.Cookie.save("Recite.Persist",!1),window.location.reload()):Recite.Gui.Modal.show("About to close!","You are about to close the Recite Me toolbar.  Are you sure you wish to continue? This will cause the page to be refreshed and you will lose any unsaved data.",
"OK","Cancel",function(){Recite.Event.publish("Recite:disable");Recite.Storage.Cookie.save("Recite.Persist",!1);window.location.reload()},function(){Recite.Gui.Notification.show("Close operation canceled");Recite.Controls.reEnableOverlay(b)})},isEnabled:function(){return c},getOptions:function(b){if("undefined"===typeof b)return a;var c;b=b.split(".");var d=a;for(c=0;c<b.length;c++)if(d=d[b[c]],"undefined"===typeof d)return null;return d},version:"3.2.40",baseUrl:"https://api.reciteme.com"}}();
null!==null&&null();Recite.namespace("Recite.Util");
Recite.Util=function(){var k=[],e=Object.prototype.toString,b=null;k["[object Boolean]"]="boolean";k["[object Number]"]="number";k["[object String]"]="string";k["[object Function]"]="function";k["[object Array]"]="array";k["[object Date]"]="date";k["[object RegExp]"]="regexp";k["[object Object]"]="object";String.prototype.trim||(String.prototype.trim=function(){return this.replace(/^\s\s*/,"").replace(/\s\s*$/,"")},String.prototype.ltrim=function(){return this.replace(/^\s+/,"")},String.prototype.rtrim=
function(){return this.replace(/\s+$/,"")},String.prototype.fulltrim=function(){return this.replace(/(?:(?:^|\n)\s+|\s+(?:$|\n))/g,"").replace(/\s+/g," ")});return{isFunction:function(b){return"function"===Recite.Util.type(b)},isArray:Array.isArray||function(b){return"array"===Recite.Util.type(b)},isWindow:function(b){return b&&"object"===typeof b&&"setInterval"in b},isNumeric:function(b){return!isNaN(parseFloat(b))&&isFinite(b)},type:function(b){return null==b?String(b):k[e.call(b)]||"object"},clone:function(b){return ReciteJSON.parse(ReciteJSON.stringify(b))},
guid:function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(b){var a=16*Math.random()|0;return("x"==b?a:a&3|8).toString(16)})},each:function(b,a,d){var c,g=0,h=b.length,f=void 0===h;if(d)if(f)for(c in b){if(!1===a.apply(b[c],d))break}else for(;g<h&&!1!==a.apply(b[g++],d););else if(f)for(c in b){if(!1===a.call(b[c],c,b[c]))break}else for(;g<h&&!1!==a.call(b[g],g,b[g++]););return b},merge:function(b,a){for(var c in a)try{b[c]=a[c].constructor===Object?Recite.Util.merge(b[c],
a[c]):a[c]}catch(l){b[c]=a[c]}return b},inArray:function(b,a,d){if(a){if(Array.prototype.indexOf)return Array.prototype.indexOf.call(a,b,d);var c=a.length;for(d=d?0>d?Math.max(0,c+d):d:0;d<c;d++)if(d in a&&a[d]===b)return d}return-1},getWindowLocationOrigin:function(b){return b.location.origin||b.location.protocol+"//"+b.location.host},buildQueryString:function(b){var a="";Recite.Util.each(b,function(b,c){a+="&"+b+"="+encodeURIComponent(c)});return a="?"+a.substring(1)},unSetIFramePointerEvents:function(){if(null==
b){var c=Recite.Sizzle("iframe");b=[];Recite.Util.each(c,function(a,c){b.push({frame:c,state:void 0==c.style.pointerEvents?"all":c.style.pointerEvents})})}Recite.Util.each(b,function(a,b){b.frame.style.pointerEvents="none"})},reSetIFramePointerEvents:function(){null!==b&&Recite.Util.each(b,function(b,a){a.frame.style.pointerEvents=a.state})}}}();Recite.namespace("Event");
Recite.Event=function(){var k={},e=-1;return{publish:function(b,c){if(!k[b])return!1;setTimeout(function(){for(var a=k[b],d=a?a.length:0;d--;)a[d].func(b,c)},0);return!0},subscribe:function(b,c){k[b]||(k[b]=[]);var a=(++e).toString();k[b].push({token:a,func:c});return a},unsubscribe:function(b){for(var c in k)if(k[c])for(var a=0,d=k[c].length;a<d;a++)if(k[c][a].token===b)return k[c].splice(a,1),b;return!1}}}();Recite.namespace("Debug");
Recite.Debug=function(){var k={log:!1};return{setOptions:function(e){k=Recite.Util.merge(k,e)},enable:function(){k.log=!0},log:function(e){null===e&&(e="Recite.Debug");arguments[0]="["+e+"]";k.log&&window.console&&Function.apply.call(console.log,console,arguments)}}}();Recite.namespace("Recite.DomEvent");
Recite.DomEvent=function(){return{add:function(k,e,b){k=Recite.Util.isArray(k)?k:[k];Recite.Util.each(k,function(c,a){a.addEventListener?a.addEventListener(e,b,!1):a.attachEvent&&(a["e"+e+b]=b,a[e+b]=function(){var c=window.event;c.target=c.target||c.srcElement;a["e"+e+b](c)},a.attachEvent("on"+e,a[e+b]))})},remove:function(k,e,b){k=Recite.Util.isArray(k)?k:[k];Recite.Util.each(k,function(c,a){a.removeEventListener?a.removeEventListener(e,b,!1):a.detachEvent&&"undefined"!==typeof a[e+b]&&(a.detachEvent("on"+
e,a[e+b]),a[e+b]=null,a["e"+e+b]=null)})}}}();Recite.namespace("XDM");
Recite.XDM=function(){var k,e,b=1,c;return{postMessage:function(a,c,l){c&&(l=l||parent,window.postMessage?l.postMessage(a,c.replace(/([^:]+:\/\/[^\/]+).*/,"$1")):c&&(l.location=c.replace(/#.*$/,"")+"#"+ +new Date+b++ +"&"+a))},receiveMessage:function(a,b){window.postMessage?(a&&(c=function(c){if("string"===typeof b&&c.origin!==b||"[object Function]"===Object.prototype.toString.call(b)&&!1===b(c.origin))return!1;a(c)}),Recite.DomEvent.add(window,"message",c)):(k&&clearInterval(k),k=null,a&&(k=setInterval(function(){var b=
document.location.hash,c=/^#?\d+&/;b!==e&&c.test(b)&&(e=b,a({data:b.replace(c,"")}))},100)))}}}();
(function(){function k(a,b,h,f,d,g){d=0;for(var t=f.length;d<t;d++){var w=f[d];if(w){var l=!1;for(w=w[a];w;){if(w[c]===h){l=f[w.sizset];break}1!==w.nodeType||g||(w[c]=h,w.sizset=d);if(w.nodeName.toLowerCase()===b){l=w;break}w=w[a]}f[d]=l}}}function e(a,b,h,f,d,g){d=0;for(var t=f.length;d<t;d++){var w=f[d];if(w){var l=!1;for(w=w[a];w;){if(w[c]===h){l=f[w.sizset];break}if(1===w.nodeType)if(g||(w[c]=h,w.sizset=d),"string"!==typeof b){if(w===b){l=!0;break}}else if(0<m.filter(b,[w]).length){l=w;break}w=
w[a]}f[d]=l}}}var b=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,c="sizcache"+(Math.random()+"").replace(".",""),a=0,d=Object.prototype.toString,l=!1,g=!0,h=/\\/g,f=/\r\n/g,p=/\W/;[0,0].sort(function(){g=!1;return 0});var m=function(a,t,c,h){c=c||[];var w=t=t||document;if(1!==t.nodeType&&9!==t.nodeType)return[];if(!a||"string"!==typeof a)return c;var f,g,l,e=!0,A=m.isXML(t),x=[],p=a;do if(b.exec(""),f=b.exec(p))if(p=
f[3],x.push(f[1]),f[2]){var q=f[3];break}while(f);if(1<x.length&&v.exec(a))if(2===x.length&&n.relative[x[0]])var k=C(x[0]+x[1],t,h);else for(k=n.relative[x[0]]?[t]:m(x.shift(),t);x.length;)a=x.shift(),n.relative[a]&&(a+=x.shift()),k=C(a,k,h);else if(!h&&1<x.length&&9===t.nodeType&&!A&&n.match.ID.test(x[0])&&!n.match.ID.test(x[x.length-1])&&(f=m.find(x.shift(),t,A),t=f.expr?m.filter(f.expr,f.set)[0]:f.set[0]),t)for(f=h?{expr:x.pop(),set:u(h)}:m.find(x.pop(),1!==x.length||"~"!==x[0]&&"+"!==x[0]||!t.parentNode?
t:t.parentNode,A),k=f.expr?m.filter(f.expr,f.set):f.set,0<x.length?g=u(k):e=!1;x.length;)f=l=x.pop(),n.relative[l]?f=x.pop():l="",null==f&&(f=t),n.relative[l](g,f,A);else g=[];g||(g=k);g||m.error(l||a);if("[object Array]"===d.call(g))if(e)if(t&&1===t.nodeType)for(a=0;null!=g[a];a++)g[a]&&(!0===g[a]||1===g[a].nodeType&&m.contains(t,g[a]))&&c.push(k[a]);else for(a=0;null!=g[a];a++)g[a]&&1===g[a].nodeType&&c.push(k[a]);else c.push.apply(c,g);else u(g,c);q&&(m(q,w,c,h),m.uniqueSort(c));return c};m.uniqueSort=
function(a){if(B&&(l=g,a.sort(B),l))for(var b=1;b<a.length;b++)a[b]===a[b-1]&&a.splice(b--,1);return a};m.matches=function(a,b){return m(a,null,null,b)};m.matchesSelector=function(a,b){return 0<m(b,null,null,[a]).length};m.find=function(a,b,c){var t,f;if(!a)return[];var w=0;for(t=n.order.length;w<t;w++){var d=n.order[w];if(f=n.leftMatch[d].exec(a)){var g=f[1];f.splice(1,1);if("\\"!==g.substr(g.length-1)){f[1]=(f[1]||"").replace(h,"");var l=n.find[d](f,b,c);if(null!=l){a=a.replace(n.match[d],"");break}}}}l||
(l="undefined"!==typeof b.getElementsByTagName?b.getElementsByTagName("*"):[]);return{set:l,expr:a}};m.filter=function(a,b,c,h){for(var t,f,w,d,g,l,e,x,u=a,p=[],A=b,q=b&&b[0]&&m.isXML(b[0]);a&&b.length;){for(w in n.filter)if(null!=(t=n.leftMatch[w].exec(a))&&t[2]&&(l=n.filter[w],g=t[1],f=!1,t.splice(1,1),"\\"!==g.substr(g.length-1))){A===p&&(p=[]);if(n.preFilter[w])if(t=n.preFilter[w](t,A,c,p,h,q),!t)f=d=!0;else if(!0===t)continue;if(t)for(e=0;null!=(g=A[e]);e++)g&&(d=l(g,t,e,A),x=h^d,c&&null!=d?
x?f=!0:A[e]=!1:x&&(p.push(g),f=!0));if(void 0!==d){c||(A=p);a=a.replace(n.match[w],"");if(!f)return[];break}}if(a===u)if(null==f)m.error(a);else break;u=a}return A};m.error=function(a){throw Error("Syntax error, unrecognized expression: "+a);};var q=m.getText=function(a){var b;var c=a.nodeType;var h="";if(c)if(1===c||9===c||11===c){if("string"===typeof a.textContent)return a.textContent;if("string"===typeof a.innerText)return a.innerText.replace(f,"");for(a=a.firstChild;a;a=a.nextSibling)h+=q(a)}else{if(3===
c||4===c)return a.nodeValue}else for(c=0;b=a[c];c++)8!==b.nodeType&&(h+=q(b));return h},n=m.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,
POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(a){return a.getAttribute("href")},type:function(a){return a.getAttribute("type")}},relative:{"+":function(a,b){var c="string"===typeof b,t=c&&!p.test(b);c=c&&!t;t&&(b=b.toLowerCase());t=0;for(var h=a.length,f;t<h;t++)if(f=a[t]){for(;(f=f.previousSibling)&&1!==f.nodeType;);
a[t]=c||f&&f.nodeName.toLowerCase()===b?f||!1:f===b}c&&m.filter(b,a,!0)},">":function(a,b){var c,t="string"===typeof b,f=0,h=a.length;if(t&&!p.test(b))for(b=b.toLowerCase();f<h;f++){if(c=a[f])c=c.parentNode,a[f]=c.nodeName.toLowerCase()===b?c:!1}else{for(;f<h;f++)(c=a[f])&&(a[f]=t?c.parentNode:c.parentNode===b);t&&m.filter(b,a,!0)}},"":function(b,c,f){var t=a++,h=e;if("string"===typeof c&&!p.test(c)){var d=c=c.toLowerCase();h=k}h("parentNode",c,t,b,d,f)},"~":function(b,c,f){var h=a++,t=e;if("string"===
typeof c&&!p.test(c)){var d=c=c.toLowerCase();t=k}t("previousSibling",c,h,b,d,f)}},find:{ID:function(a,b,c){if("undefined"!==typeof b.getElementById&&!c)return(a=b.getElementById(a[1]))&&a.parentNode?[a]:[]},NAME:function(a,b){if("undefined"!==typeof b.getElementsByName){var c=[];b=b.getElementsByName(a[1]);for(var f=0,h=b.length;f<h;f++)b[f].getAttribute("name")===a[1]&&c.push(b[f]);return 0===c.length?null:c}},TAG:function(a,b){if("undefined"!==typeof b.getElementsByTagName)return b.getElementsByTagName(a[1])}},
preFilter:{CLASS:function(a,b,c,f,d,g){a=" "+a[1].replace(h,"")+" ";if(g)return a;g=0;for(var t;null!=(t=b[g]);g++)t&&(d^(t.className&&0<=(" "+t.className+" ").replace(/[\t\n\r]/g," ").indexOf(a))?c||f.push(t):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(h,"")},TAG:function(a,b){return a[1].replace(h,"").toLowerCase()},CHILD:function(b){if("nth"===b[1]){b[2]||m.error(b[0]);b[2]=b[2].replace(/^\+|\s*/g,"");var c=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec("even"===b[2]&&"2n"||"odd"===b[2]&&"2n+1"||
!/\D/.test(b[2])&&"0n+"+b[2]||b[2]);b[2]=c[1]+(c[2]||1)-0;b[3]=c[3]-0}else b[2]&&m.error(b[0]);b[0]=a++;return b},ATTR:function(a,b,c,f,d,g){b=a[1]=a[1].replace(h,"");!g&&n.attrMap[b]&&(a[1]=n.attrMap[b]);a[4]=(a[4]||a[5]||"").replace(h,"");"~="===a[2]&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(a,c,f,h,d){if("not"===a[1])if(1<(b.exec(a[3])||"").length||/^\w/.test(a[3]))a[3]=m(a[3],null,null,c);else return a=m.filter(a[3],c,f,1^d),f||h.push.apply(h,a),!1;else if(n.match.POS.test(a[0])||n.match.CHILD.test(a[0]))return!0;
return a},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return!1===a.disabled&&"hidden"!==a.type},disabled:function(a){return!0===a.disabled},checked:function(a){return!0===a.checked},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return!0===a.selected},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!m(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),
c=a.type;return"input"===a.nodeName.toLowerCase()&&"text"===c&&(b===c||null===b)},radio:function(a){return"input"===a.nodeName.toLowerCase()&&"radio"===a.type},checkbox:function(a){return"input"===a.nodeName.toLowerCase()&&"checkbox"===a.type},file:function(a){return"input"===a.nodeName.toLowerCase()&&"file"===a.type},password:function(a){return"input"===a.nodeName.toLowerCase()&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return("input"===b||"button"===b)&&"submit"===a.type},
image:function(a){return"input"===a.nodeName.toLowerCase()&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return("input"===b||"button"===b)&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return 0===b},last:function(a,b,c,f){return b===f.length-
1},even:function(a,b){return 0===b%2},odd:function(a,b){return 1===b%2},lt:function(a,b,c){return b<c[3]-0},gt:function(a,b,c){return b>c[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,f){var h=b[1],d=n.filters[h];if(d)return d(a,c,b,f);if("contains"===h)return 0<=(a.textContent||a.innerText||q([a])||"").indexOf(b[3]);if("not"===h){b=b[3];c=0;for(f=b.length;c<f;c++)if(b[c]===a)return!1;return!0}m.error(h)},CHILD:function(a,b){var f;
var h=b[1];var d=a;switch(h){case "only":case "first":for(;d=d.previousSibling;)if(1===d.nodeType)return!1;if("first"===h)return!0;d=a;case "last":for(;d=d.nextSibling;)if(1===d.nodeType)return!1;return!0;case "nth":h=b[2];var t=b[3];if(1===h&&0===t)return!0;b=b[0];if((f=a.parentNode)&&(f[c]!==b||!a.nodeIndex)){var g=0;for(d=f.firstChild;d;d=d.nextSibling)1===d.nodeType&&(d.nodeIndex=++g);f[c]=b}a=a.nodeIndex-t;return 0===h?0===a:0===a%h&&0<=a/h}},ID:function(a,b){return 1===a.nodeType&&a.getAttribute("id")===
b},TAG:function(a,b){return"*"===b&&1===a.nodeType||!!a.nodeName&&a.nodeName.toLowerCase()===b},CLASS:function(a,b){return-1<(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)},ATTR:function(a,b){var c=b[1];a=m.attr?m.attr(a,c):n.attrHandle[c]?n.attrHandle[c](a):null!=a[c]?a[c]:a.getAttribute(c);c=a+"";var f=b[2];b=b[4];return null==a?"!="===f:!f&&m.attr?null!=a:"="===f?c===b:"*="===f?0<=c.indexOf(b):"~="===f?0<=(" "+c+" ").indexOf(b):b?"!="===f?c!==b:"^="===f?0===c.indexOf(b):"$="===f?c.substr(c.length-
b.length)===b:"|="===f?c===b||c.substr(0,b.length+1)===b+"-":!1:c&&!1!==a},POS:function(a,b,c,f){var h=n.setFilters[b[2]];if(h)return h(a,c,b,f)}}},v=n.match.POS,r=function(a,b){return"\\"+(b-0+1)},y;for(y in n.match)n.match[y]=new RegExp(n.match[y].source+/(?![^\[]*\])(?![^\(]*\))/.source),n.leftMatch[y]=new RegExp(/(^(?:.|\r|\n)*?)/.source+n.match[y].source.replace(/\\(\d+)/g,r));n.match.globalPOS=v;var u=function(a,b){a=Array.prototype.slice.call(a,0);return b?(b.push.apply(b,a),b):a};try{Array.prototype.slice.call(document.documentElement.childNodes,
0)[0].nodeType}catch(w){u=function(a,b){var c=0;b=b||[];if("[object Array]"===d.call(a))Array.prototype.push.apply(b,a);else if("number"===typeof a.length)for(var f=a.length;c<f;c++)b.push(a[c]);else for(;a[c];c++)b.push(a[c]);return b}}if(document.documentElement.compareDocumentPosition)var B=function(a,b){return a===b?(l=!0,0):a.compareDocumentPosition&&b.compareDocumentPosition?a.compareDocumentPosition(b)&4?-1:1:a.compareDocumentPosition?-1:1};else{B=function(a,b){if(a===b)return l=!0,0;if(a.sourceIndex&&
b.sourceIndex)return a.sourceIndex-b.sourceIndex;var c=[],f=[];var h=a.parentNode;var d=b.parentNode;var g=h;if(h===d)return z(a,b);if(!h)return-1;if(!d)return 1;for(;g;)c.unshift(g),g=g.parentNode;for(g=d;g;)f.unshift(g),g=g.parentNode;h=c.length;d=f.length;for(g=0;g<h&&g<d;g++)if(c[g]!==f[g])return z(c[g],f[g]);return g===h?z(a,f[g],-1):z(c[g],b,1)};var z=function(a,b,c){if(a===b)return c;for(a=a.nextSibling;a;){if(a===b)return-1;a=a.nextSibling}return 1}}(function(){var a=document.createElement("div"),
b="script"+(new Date).getTime(),c=document.documentElement;a.innerHTML="<a name='"+b+"'/>";c.insertBefore(a,c.firstChild);document.getElementById(b)&&(n.find.ID=function(a,b,c){if("undefined"!==typeof b.getElementById&&!c)return(b=b.getElementById(a[1]))?b.id===a[1]||"undefined"!==typeof b.getAttributeNode&&b.getAttributeNode("id").nodeValue===a[1]?[b]:void 0:[]},n.filter.ID=function(a,b){var c="undefined"!==typeof a.getAttributeNode&&a.getAttributeNode("id");return 1===a.nodeType&&c&&c.nodeValue===
b});c.removeChild(a);c=a=null})();(function(){var a=document.createElement("div");a.appendChild(document.createComment(""));0<a.getElementsByTagName("*").length&&(n.find.TAG=function(a,b){b=b.getElementsByTagName(a[1]);if("*"===a[1]){a=[];for(var c=0;b[c];c++)1===b[c].nodeType&&a.push(b[c]);b=a}return b});a.innerHTML="<a href='#'></a>";a.firstChild&&"undefined"!==typeof a.firstChild.getAttribute&&"#"!==a.firstChild.getAttribute("href")&&(n.attrHandle.href=function(a){return a.getAttribute("href",
2)});a=null})();document.querySelectorAll&&function(){var a=m,b=document.createElement("div");b.innerHTML="<p class='TEST'></p>";if(!b.querySelectorAll||0!==b.querySelectorAll(".TEST").length){m=function(b,c,f,h){c=c||document;if(!h&&!m.isXML(c)){var d=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(d&&(1===c.nodeType||9===c.nodeType)){if(d[1])return u(c.getElementsByTagName(b),f);if(d[2]&&n.find.CLASS&&c.getElementsByClassName)return u(c.getElementsByClassName(d[2]),f)}if(9===c.nodeType){if("body"===
b&&c.body)return u([c.body],f);if(d&&d[3]){var g=c.getElementById(d[3]);if(g&&g.parentNode){if(g.id===d[3])return u([g],f)}else return u([],f)}try{return u(c.querySelectorAll(b),f)}catch(J){}}else if(1===c.nodeType&&"object"!==c.nodeName.toLowerCase()){d=c;var l=(g=c.getAttribute("id"))||"__sizzle__",t=c.parentNode,e=/^\s*[+~]/.test(b);g?l=l.replace(/'/g,"\\$&"):c.setAttribute("id",l);e&&t&&(c=c.parentNode);try{if(!e||t)return u(c.querySelectorAll("[id='"+l+"'] "+b),f)}catch(J){}finally{g||d.removeAttribute("id")}}}return a(b,
c,f,h)};for(var c in a)m[c]=a[c];b=null}}();(function(){var a=document.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var c=!b.call(document.createElement("div"),"div"),f=!1;try{b.call(document.documentElement,"[test!='']:sizzle")}catch(F){f=!0}m.matchesSelector=function(a,h){h=h.replace(/=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!m.isXML(a))try{if(f||!n.match.PSEUDO.test(h)&&!/!=/.test(h)){var d=b.call(a,h);if(d||!c||a.document&&11!==a.document.nodeType)return d}}catch(D){}return 0<
m(h,null,null,[a]).length}}})();(function(){var a=document.createElement("div");a.innerHTML="<div class='test e'></div><div class='test'></div>";a.getElementsByClassName&&0!==a.getElementsByClassName("e").length&&(a.lastChild.className="e",1!==a.getElementsByClassName("e").length&&(n.order.splice(1,0,"CLASS"),n.find.CLASS=function(a,b,c){if("undefined"!==typeof b.getElementsByClassName&&!c)return b.getElementsByClassName(a[1])},a=null))})();m.contains=document.documentElement.contains?function(a,
b){return a!==b&&(a.contains?a.contains(b):!0)}:document.documentElement.compareDocumentPosition?function(a,b){return!!(a.compareDocumentPosition(b)&16)}:function(){return!1};m.isXML=function(a){return(a=(a?a.ownerDocument||a:0).documentElement)?"HTML"!==a.nodeName:!1};var C=function(a,b,c){var f,h=[],d="";for(b=b.nodeType?[b]:b;f=n.match.PSEUDO.exec(a);)d+=f[0],a=a.replace(n.match.PSEUDO,"");a=n.relative[a]?a+"*":a;f=0;for(var g=b.length;f<g;f++)m(a,b[f],h,c);return m.filter(d,h)};window.Recite.Sizzle=
m})();
(function(k){function e(a,m){a=a?a:"";m=m||{};if("object"==typeof a&&a.hasOwnProperty("_tc_id"))return a;a=b(a);var t=a.r,u=a.g,p=a.b,q=a.a,k=r(100*q)/100,w=m.format||a.format;1>t&&(t=r(t));1>u&&(u=r(u));1>p&&(p=r(p));return{ok:a.ok,format:w,_tc_id:n++,alpha:q,getAlpha:function(){return q},setAlpha:function(a){q=g(a);k=r(100*q)/100},toHsv:function(){var a=d(t,u,p);return{h:360*a.h,s:a.s,v:a.v,a:q}},toHsvString:function(){var a=d(t,u,p),b=r(360*a.h),c=r(100*a.s);a=r(100*a.v);return 1==q?"hsv("+b+", "+
c+"%, "+a+"%)":"hsva("+b+", "+c+"%, "+a+"%, "+k+")"},toHsl:function(){var a=c(t,u,p);return{h:360*a.h,s:a.s,l:a.l,a:q}},toHslString:function(){var a=c(t,u,p),b=r(360*a.h),f=r(100*a.s);a=r(100*a.l);return 1==q?"hsl("+b+", "+f+"%, "+a+"%)":"hsla("+b+", "+f+"%, "+a+"%, "+k+")"},toHex:function(a){return l(t,u,p,a)},toHexString:function(a){return"#"+l(t,u,p,a)},toRgb:function(){return{r:r(t),g:r(u),b:r(p),a:q}},toRgbString:function(){return 1==q?"rgb("+r(t)+", "+r(u)+", "+r(p)+")":"rgba("+r(t)+", "+r(u)+
", "+r(p)+", "+k+")"},toPercentageRgb:function(){return{r:r(100*h(t,255))+"%",g:r(100*h(u,255))+"%",b:r(100*h(p,255))+"%",a:q}},toPercentageRgbString:function(){return 1==q?"rgb("+r(100*h(t,255))+"%, "+r(100*h(u,255))+"%, "+r(100*h(p,255))+"%)":"rgba("+r(100*h(t,255))+"%, "+r(100*h(u,255))+"%, "+r(100*h(p,255))+"%, "+k+")"},toName:function(){return 0===q?"transparent":C[l(t,u,p,!0)]||!1},toFilter:function(a){var b=l(t,u,p),c=b,h=Math.round(255*parseFloat(q)).toString(16),d=h,g=m&&m.gradientType?"GradientType = 1, ":
"";a&&(a=e(a),c=a.toHex(),d=Math.round(255*parseFloat(a.alpha)).toString(16));return"progid:DXImageTransform.Microsoft.gradient("+g+"startColorstr=#"+f(h)+b+",endColorstr=#"+f(d)+c+")"},toString:function(a){var b=!!a;a=a||this.format;var c=!1;b=!b&&1>q&&0<q&&("hex"===a||"hex6"===a||"hex3"===a||"name"===a);"rgb"===a&&(c=this.toRgbString());"prgb"===a&&(c=this.toPercentageRgbString());if("hex"===a||"hex6"===a)c=this.toHexString();"hex3"===a&&(c=this.toHexString(!0));"name"===a&&(c=this.toName());"hsl"===
a&&(c=this.toHslString());"hsv"===a&&(c=this.toHsvString());return b?this.toRgbString():c||this.toHexString()}}}function b(b){var c={r:0,g:0,b:0},f=1,d=!1,l=!1;if("string"==typeof b)a:{b=b.replace(m,"").replace(q,"").toLowerCase();var e=!1;if(z[b])b=z[b],e=!0;else if("transparent"==b){b={r:0,g:0,b:0,a:0,format:"name"};break a}var n;b=(n=w.rgb.exec(b))?{r:n[1],g:n[2],b:n[3]}:(n=w.rgba.exec(b))?{r:n[1],g:n[2],b:n[3],a:n[4]}:(n=w.hsl.exec(b))?{h:n[1],s:n[2],l:n[3]}:(n=w.hsla.exec(b))?{h:n[1],s:n[2],
l:n[3],a:n[4]}:(n=w.hsv.exec(b))?{h:n[1],s:n[2],v:n[3]}:(n=w.hex6.exec(b))?{r:parseInt(n[1],16),g:parseInt(n[2],16),b:parseInt(n[3],16),format:e?"name":"hex"}:(n=w.hex3.exec(b))?{r:parseInt(n[1]+""+n[1],16),g:parseInt(n[2]+""+n[2],16),b:parseInt(n[3]+""+n[3],16),format:e?"name":"hex"}:!1}if("object"==typeof b){if(b.hasOwnProperty("r")&&b.hasOwnProperty("g")&&b.hasOwnProperty("b"))c=b.g,d=b.b,c={r:255*h(b.r,255),g:255*h(c,255),b:255*h(d,255)},d=!0,l="%"===String(b.r).substr(-1)?"prgb":"rgb";else if(b.hasOwnProperty("h")&&
b.hasOwnProperty("s")&&b.hasOwnProperty("v")){b.s=p(b.s);b.v=p(b.v);l=b.h;e=b.s;c=b.v;l=6*h(l,360);e=h(e,100);c=h(c,100);d=v.floor(l);var t=l-d;l=c*(1-e);n=c*(1-t*e);e=c*(1-(1-t)*e);d%=6;c={r:255*[c,n,l,l,e,c][d],g:255*[e,c,c,n,l,l][d],b:255*[l,l,e,c,c,n][d]};d=!0;l="hsv"}else b.hasOwnProperty("h")&&b.hasOwnProperty("s")&&b.hasOwnProperty("l")&&(b.s=p(b.s),b.l=p(b.l),c=a(b.h,b.s,b.l),d=!0,l="hsl");b.hasOwnProperty("a")&&(f=b.a)}f=g(f);return{ok:d,format:b.format||l,r:y(255,u(c.r,0)),g:y(255,u(c.g,
0)),b:y(255,u(c.b,0)),a:f}}function c(a,b,c){a=h(a,255);b=h(b,255);c=h(c,255);var f=u(a,b,c),d=y(a,b,c),g=(f+d)/2;if(f==d)var l=d=0;else{var m=f-d;d=.5<g?m/(2-f-d):m/(f+d);switch(f){case a:l=(b-c)/m+(b<c?6:0);break;case b:l=(c-a)/m+2;break;case c:l=(a-b)/m+4}l/=6}return{h:l,s:d,l:g}}function a(a,b,c){function f(a,b,c){0>c&&(c+=1);1<c&&--c;return c<1/6?a+6*(b-a)*c:.5>c?b:c<2/3?a+(b-a)*(2/3-c)*6:a}a=h(a,360);b=h(b,100);c=h(c,100);if(0===b)c=b=a=c;else{var d=.5>c?c*(1+b):c+b-c*b,g=2*c-d;c=f(g,d,a+1/
3);b=f(g,d,a);a=f(g,d,a-1/3)}return{r:255*c,g:255*b,b:255*a}}function d(a,b,c){a=h(a,255);b=h(b,255);c=h(c,255);var f=u(a,b,c),d=y(a,b,c),g=f-d;if(f==d)var l=0;else{switch(f){case a:l=(b-c)/g+(b<c?6:0);break;case b:l=(c-a)/g+2;break;case c:l=(a-b)/g+4}l/=6}return{h:l,s:0===f?0:g/f,v:f}}function l(a,b,c,h){a=[f(r(a).toString(16)),f(r(b).toString(16)),f(r(c).toString(16))];return h&&a[0].charAt(0)==a[0].charAt(1)&&a[1].charAt(0)==a[1].charAt(1)&&a[2].charAt(0)==a[2].charAt(1)?a[0].charAt(0)+a[1].charAt(0)+
a[2].charAt(0):a.join("")}function g(a){a=parseFloat(a);if(isNaN(a)||0>a||1<a)a=1;return a}function h(a,b){var c=a;"string"==typeof c&&-1!=c.indexOf(".")&&1===parseFloat(c)&&(a="100%");c="string"===typeof a&&-1!=a.indexOf("%");a=y(b,u(0,parseFloat(a)));c&&(a=parseInt(a*b,10)/100);return 1E-6>v.abs(a-b)?1:a%b/parseFloat(b)}function f(a){return 1==a.length?"0"+a:""+a}function p(a){1>=a&&(a=100*a+"%");return a}var m=/^[\s,#]+/,q=/\s+$/,n=0,v=Math,r=v.round,y=v.min,u=v.max,B=v.random;e.fromRatio=function(a,
b){if("object"==typeof a){var c={},f;for(f in a)a.hasOwnProperty(f)&&(c[f]="a"===f?a[f]:p(a[f]));a=c}return e(a,b)};e.equals=function(a,b){return a&&b?e(a).toRgbString()==e(b).toRgbString():!1};e.random=function(){return e.fromRatio({r:B(),g:B(),b:B()})};e.desaturate=function(a,b){b=0===b?0:b||10;a=e(a).toHsl();a.s-=b/100;a.s=y(1,u(0,a.s));return e(a)};e.saturate=function(a,b){b=0===b?0:b||10;a=e(a).toHsl();a.s+=b/100;a.s=y(1,u(0,a.s));return e(a)};e.greyscale=function(a){return e.desaturate(a,100)};
e.lighten=function(a,b){b=0===b?0:b||10;a=e(a).toHsl();a.l+=b/100;a.l=y(1,u(0,a.l));return e(a)};e.darken=function(a,b){b=0===b?0:b||10;a=e(a).toHsl();a.l-=b/100;a.l=y(1,u(0,a.l));return e(a)};e.complement=function(a){a=e(a).toHsl();a.h=(a.h+180)%360;return e(a)};e.triad=function(a){var b=e(a).toHsl(),c=b.h;return[e(a),e({h:(c+120)%360,s:b.s,l:b.l}),e({h:(c+240)%360,s:b.s,l:b.l})]};e.tetrad=function(a){var b=e(a).toHsl(),c=b.h;return[e(a),e({h:(c+90)%360,s:b.s,l:b.l}),e({h:(c+180)%360,s:b.s,l:b.l}),
e({h:(c+270)%360,s:b.s,l:b.l})]};e.splitcomplement=function(a){var b=e(a).toHsl(),c=b.h;return[e(a),e({h:(c+72)%360,s:b.s,l:b.l}),e({h:(c+216)%360,s:b.s,l:b.l})]};e.analogous=function(a,b,c){b=b||6;c=c||30;var f=e(a).toHsl();c=360/c;a=[e(a)];for(f.h=(f.h-(c*b>>1)+720)%360;--b;)f.h=(f.h+c)%360,a.push(e(f));return a};e.monochromatic=function(a,b){b=b||6;var c=e(a).toHsv();a=c.h;var f=c.s;c=c.v;for(var h=[],d=1/b;b--;)h.push(e({h:a,s:f,v:c})),c=(c+d)%1;return h};e.readability=function(a,b){a=e(a).toRgb();
b=e(b).toRgb();return{brightness:Math.abs((299*a.r+587*a.g+114*a.b)/1E3-(299*b.r+587*b.g+114*b.b)/1E3),color:Math.max(a.r,b.r)-Math.min(a.r,b.r)+Math.max(a.g,b.g)-Math.min(a.g,b.g)+Math.max(a.b,b.b)-Math.min(a.b,b.b)}};e.readable=function(a,b){a=e.readability(a,b);return 125<a.brightness&&500<a.color};e.mostReadable=function(a,b){for(var c=null,f=0,h=!1,d=0;d<b.length;d++){var g=e.readability(a,b[d]),l=125<g.brightness&&500<g.color;g=g.brightness/125*3+g.color/500;if(l&&!h||l&&h&&g>f||!l&&!h&&g>f)h=
l,f=g,c=e(b[d])}return c};var z=e.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",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:"f0f",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:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",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:"f00",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:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},C=e.hexNames=function(a){var b={},c;for(c in a)a.hasOwnProperty(c)&&(b[a[c]]=c);return b}(z),w={rgb:/rgb[\s|\(]+((?:[-\+]?\d*\.\d+%?)|(?:[-\+]?\d+%?))[,|\s]+((?:[-\+]?\d*\.\d+%?)|(?:[-\+]?\d+%?))[,|\s]+((?:[-\+]?\d*\.\d+%?)|(?:[-\+]?\d+%?))\s*\)?/,rgba:/rgba[\s|\(]+((?:[-\+]?\d*\.\d+%?)|(?:[-\+]?\d+%?))[,|\s]+((?:[-\+]?\d*\.\d+%?)|(?:[-\+]?\d+%?))[,|\s]+((?:[-\+]?\d*\.\d+%?)|(?:[-\+]?\d+%?))[,|\s]+((?:[-\+]?\d*\.\d+%?)|(?:[-\+]?\d+%?))\s*\)?/,
hsl:/hsl[\s|\(]+((?:[-\+]?\d*\.\d+%?)|(?:[-\+]?\d+%?))[,|\s]+((?:[-\+]?\d*\.\d+%?)|(?:[-\+]?\d+%?))[,|\s]+((?:[-\+]?\d*\.\d+%?)|(?:[-\+]?\d+%?))\s*\)?/,hsla:/hsla[\s|\(]+((?:[-\+]?\d*\.\d+%?)|(?:[-\+]?\d+%?))[,|\s]+((?:[-\+]?\d*\.\d+%?)|(?:[-\+]?\d+%?))[,|\s]+((?:[-\+]?\d*\.\d+%?)|(?:[-\+]?\d+%?))[,|\s]+((?:[-\+]?\d*\.\d+%?)|(?:[-\+]?\d+%?))\s*\)?/,hsv:/hsv[\s|\(]+((?:[-\+]?\d*\.\d+%?)|(?:[-\+]?\d+%?))[,|\s]+((?:[-\+]?\d*\.\d+%?)|(?:[-\+]?\d+%?))[,|\s]+((?:[-\+]?\d*\.\d+%?)|(?:[-\+]?\d+%?))\s*\)?/,
hex3:/^([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/};"undefined"!==typeof module&&module.exports?module.exports=e:"undefined"!==typeof define&&define(function(){return e});window.Recite.Tinycolor=e})(this);
(function(k){function e(a,b){for(var c=a.length;c--;)if(a[c]===b)return c;return-1}function b(b){var d,g;var l=b.keyCode;-1==e(v,l)&&v.push(l);if(93==l||224==l)l=91;if(l in p)for(d in p[l]=!0,q)q[d]==l&&(c[d]=!0);else{for(h in p)p[h]=b[r[h]];if(c.filter.call(this,b)&&l in f){var m=a();for(g=0;g<f[l].length;g++){var n=f[l][g];if(n.scope==m||"all"==n.scope){var u=0<n.mods.length;for(d in p)if(!p[d]&&-1<e(n.mods,+d)||p[d]&&-1==e(n.mods,+d))u=!1;(0!=n.mods.length||p[16]||p[18]||p[17]||p[91])&&!u||!1!==
n.method(b,n)||(b.preventDefault?b.preventDefault():b.returnValue=!1,b.stopPropagation&&b.stopPropagation(),b.cancelBubble&&(b.cancelBubble=!0))}}}}}function c(a,b,c){var h=d(a);void 0===c&&(c=b,b="all");for(var g=0;g<h.length;g++){var m=[];a=h[g].split("+");1<a.length&&(m=l(a),a=[a[a.length-1]]);a=a[0];a=n[a]||a.toUpperCase().charCodeAt(0);a in f||(f[a]=[]);f[a].push({shortcut:h[g],scope:b,method:c,key:h[g],mods:m})}}function a(){return m||"all"}function d(a){a=a.replace(/\s/g,"");a=a.split(",");
""==a[a.length-1]&&(a[a.length-2]+=",");return a}function l(a){a=a.slice(0,a.length-1);for(var b=0;b<a.length;b++)a[b]=q[a[b]];return a}function g(a,b,c){a.addEventListener?a.addEventListener(b,c,!1):a.attachEvent&&a.attachEvent("on"+b,function(){c(window.event)})}var h,f={},p={16:!1,18:!1,17:!1,91:!1},m="all",q={"\u21e7":16,shift:16,"\u2325":18,alt:18,option:18,"\u2303":17,ctrl:17,control:17,"\u2318":91,command:91},n={backspace:8,tab:9,clear:12,enter:13,"return":13,esc:27,escape:27,space:32,left:37,
up:38,right:39,down:40,del:46,"delete":46,home:36,end:35,pageup:33,pagedown:34,",":188,".":190,"/":191,"`":192,"-":189,"=":187,";":186,"'":222,"[":219,"]":221,"\\":220},v=[];for(h=1;20>h;h++)n["f"+h]=111+h;var r={16:"shiftKey",18:"altKey",17:"ctrlKey",91:"metaKey"};for(h in q)c[h]=!1;g(document,"keydown",function(a){b(a)});g(document,"keyup",function(a){a=a.keyCode;var b,f=e(v,a);0<=f&&v.splice(f,1);if(93==a||224==a)a=91;if(a in p)for(b in p[a]=!1,q)q[b]==a&&(c[b]=!1)});g(window,"focus",function(){for(h in p)p[h]=
!1;for(h in q)c[h]=!1});var y=k.key;k.key=c;k.key.setScope=function(a){m=a||"all"};k.key.getScope=a;k.key.deleteScope=function(a){var b,c;for(b in f){var h=f[b];for(c=0;c<h.length;)h[c].scope===a?h.splice(c,1):c++}};k.key.filter=function(a){a=(a.target||a.srcElement).tagName;return!("INPUT"==a||"SELECT"==a||"TEXTAREA"==a)};k.key.isPressed=function(a){"string"==typeof a&&(a=n[a]||a.toUpperCase().charCodeAt(0));return-1!=e(v,a)};k.key.getPressedKeyCodes=function(){return v.slice(0)};k.key.noConflict=
function(){var a=k.key;k.key=y;return a};k.key.unbind=function(b,c){var h=[],g,m;var e=d(b);for(m=0;m<e.length;m++){var p=e[m].split("+");1<p.length&&(h=l(p),b=p[p.length-1]);b=n[b]||b.toUpperCase().charCodeAt(0);void 0===c&&(c=a());if(!f[b])break;for(g in f[b]){p=f[b][g];var q;if(q=p.scope===c)a:if(p=p.mods,p.length!=h.length)q=!1;else{for(q=0;q<p.length;q++)if(p[q]!==h[q]){q=!1;break a}q=!0}q&&(f[b][g]={})}}};"undefined"!==typeof module&&(module.exports=key);window.Recite.Key=key})(this);
Recite.AssetLoader=function(k){function e(a,b){a=k.createElement(a);for(var c in b)b.hasOwnProperty(c)&&a.setAttribute(c,b[c]);a.setAttribute("data-recite-skip","true");return a}function b(b){var c=f[b];if(c){var h=c.callback;var d=c.urls;d.shift();p=0;d.length||(h&&h.call(c.context,c.obj),f[b]=null,m[b].length&&a(b))}}function c(){var a=navigator.userAgent;g={async:!0===k.createElement("script").async};(g.webkit=/AppleWebKit\//.test(a))||(g.ie=/MSIE|Trident/.test(a))||(g.opera=/Opera/.test(a))||
(g.gecko=/Gecko\//.test(a))||(g.unknown=!0)}function a(a,p,q,y,u){var n=function(){b(a)},v="css"===a,r=[],w,t;g||c();if(p)if(p="string"===typeof p?[p]:p.concat(),v||g.async||g.gecko||g.opera)m[a].push({urls:p,callback:q,obj:y,context:u});else{var A=0;for(w=p.length;A<w;++A)m[a].push({urls:[p[A]],callback:A===w-1?q:null,obj:y,context:u})}if(!f[a]&&(t=f[a]=m[a].shift())){h||(h=k.head||k.getElementsByTagName("head")[0]);p=t.urls;A=0;for(w=p.length;A<w;++A){q=p[A];if(v)var x=g.gecko?e("style"):e("link",
{href:q,rel:"stylesheet"});else x=e("script",{src:q}),x.async=!1;x.className="lazyload";x.setAttribute("charset","utf-8");g.ie&&!v&&"onreadystatechange"in x&&!("draggable"in x)?x.onreadystatechange=function(){/loaded|complete/.test(x.readyState)&&(x.onreadystatechange=null,n())}:v&&(g.gecko||g.webkit)?g.webkit?(t.urls[A]=x.href,l()):(x.innerHTML='@import "'+q+'";',d(x)):x.onload=x.onerror=n;r.push(x)}A=0;for(w=r.length;A<w;++A)h.appendChild(r[A])}}function d(a){try{var c=!!a.sheet.cssRules}catch(r){p+=
1;200>p?setTimeout(function(){d(a)},50):c&&b("css");return}b("css")}function l(){var a=f.css,c;if(a){for(c=q.length;0<=--c;)if(q[c].href===a.urls[0]){b("css");break}p+=1;a&&(200>p?setTimeout(l,50):b("css"))}}var g,h,f={},p=0,m={css:[],js:[]},q=k.styleSheets;return{css:function(b,c,f,h){a("css",b,c,f,h)},js:function(b,c,f,h){a("js",b,c,f,h)}}}(this.document);Recite.namespace("Preset");Recite.namespace("preset");
Recite.Preset=Recite.preset=function(){return{square24:{background:Recite.baseUrl+"img/buttons/square24.gif",width:"24px",height:"24px"},square36:{background:Recite.baseUrl+"img/buttons/square36.gif",width:"36px",height:"36px"},hor24_recite:{background:Recite.baseUrl+"img/buttons/recite_hor24.gif",width:"83px",height:"24px"},hor24_recite_red:{background:Recite.baseUrl+"img/buttons/recite_hor24_red.gif",width:"83px",height:"24px"},hor48_recite:{background:Recite.baseUrl+"img/buttons/recite_hor48.gif",
width:"166px",height:"48px"},hor48_recite_red:{background:Recite.baseUrl+"img/buttons/recite_hor48_red.gif",width:"166px",height:"48px"},ver24_recite:{background:Recite.baseUrl+"img/buttons/recite_ver24.gif",width:"24px",height:"109px"},ver24_recite_red:{background:Recite.baseUrl+"img/buttons/recite_ver24_red.gif",width:"24px",height:"109px"},ver48_recite:{background:Recite.baseUrl+"img/buttons/recite_ver48.gif",width:"48px",height:"217px"},ver48_recite_red:{background:Recite.baseUrl+"img/buttons/recite_ver48_red.gif",
width:"48px",height:"217px"},hor24_speak:{background:Recite.baseUrl+"img/buttons/speak_hor24.gif",width:"79px",height:"24px"},hor24_speak_red:{background:Recite.baseUrl+"img/buttons/speak_hor24_red.gif",width:"79px",height:"24px"},hor48_speak:{background:Recite.baseUrl+"img/buttons/speak_hor48.gif",width:"158px",height:"48px"},hor48_speak_red:{background:Recite.baseUrl+"img/buttons/speak_hor48_red.gif",width:"158px",height:"48px"},ver24_speak:{background:Recite.baseUrl+"img/buttons/speak_ver24.gif",
width:"24px",height:"109px"},ver24_speak_red:{background:Recite.baseUrl+"img/buttons/speak_ver24_red.gif",width:"24px",height:"109px"},ver48_speak:{background:Recite.baseUrl+"img/buttons/speak_ver48.gif",width:"48px",height:"217px"},ver48_speak_red:{background:Recite.baseUrl+"img/buttons/speak_ver48_red.gif",width:"48px",height:"217px"},square24_png:{background:Recite.baseUrl+"img/buttons/24x24.png",width:"24px",height:"24px"},square36_png:{background:Recite.baseUrl+"img/buttons/36x36.png",width:"36px",
height:"36px"},hor24_recite_png:{background:Recite.baseUrl+"img/buttons/recite_hor24.png",width:"83px",height:"24px"},hor24_recite_red_png:{background:Recite.baseUrl+"img/buttons/recite_hor24_red.png",width:"83px",height:"24px"},hor48_recite_png:{background:Recite.baseUrl+"img/buttons/recite_hor48.png",width:"166px",height:"48px"},hor48_recite_red_png:{background:Recite.baseUrl+"img/buttons/recite_hor48_red.png",width:"166px",height:"48px"},ver24_recite_png:{background:Recite.baseUrl+"img/buttons/recite_ver24.png",
width:"24px",height:"109px"},ver24_recite_red_png:{background:Recite.baseUrl+"img/buttons/recite_ver24_red.png",width:"24px",height:"109px"},ver48_recite_png:{background:Recite.baseUrl+"img/buttons/recite_ver48.png",width:"48px",height:"217px"},ver48_recite_red_png:{background:Recite.baseUrl+"img/buttons/recite_ver48_red.png",width:"48px",height:"217px"},hor24_speak_png:{background:Recite.baseUrl+"img/buttons/speak_hor24.png",width:"79px",height:"24px"},hor24_speak_red_png:{background:Recite.baseUrl+
"img/buttons/speak_hor24_red.png",width:"79px",height:"24px"},hor48_speak_png:{background:Recite.baseUrl+"img/buttons/speak_hor48.png",width:"158px",height:"48px"},hor48_speak_red_png:{background:Recite.baseUrl+"img/buttons/speak_hor48_red.png",width:"158px",height:"48px"},ver24_speak_png:{background:Recite.baseUrl+"img/buttons/speak_ver24.png",width:"24px",height:"109px"},ver24_speak_red_png:{background:Recite.baseUrl+"img/buttons/speak_ver24_red.png",width:"24px",height:"109px"},ver48_speak_png:{background:Recite.baseUrl+
"img/buttons/speak_ver48.png",width:"48px",height:"217px"},ver48_speak_red_png:{background:Recite.baseUrl+"img/buttons/speak_ver48_red.png",width:"48px",height:"217px"}}}();Recite.namespace("Ajax");
Recite.Ajax=function(){function k(a){var b=Recite.Util.clone(l);return Recite.Util.merge(b,a)}function e(a){var b="";if(a.getResponseHeader)b=/^application\/json/.test(a.getResponseHeader("Content-Type"))?ReciteJSON.parse(a.responseText):a.responseText;else if(0<a.responseText.length)try{b=ReciteJSON.parse(a.responseText)}catch(f){b=a.responseText}return b}function b(a,b){b=k(b);var c=window.XMLHttpRequest?new XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");"GET"===b.method&&null!==b.data&&
"undefined"!==typeof b.data&&(a+=Recite.Util.buildQueryString(b.data));c.open(b.method,a,b.async,b.user,b.password);b.async&&(c.timeout=b.timeout);c.setRequestHeader("Content-Type",b.contentType);c.onreadystatechange=function(){if(4===c.readyState){var a=e(c);200===c.status?b.success(c,a):b.error(c,a)}};null!==b.beforeSend&&b.beforeSend(c);c.send(b.data)}function c(a,b){b=k(b);var c=new XDomainRequest;"GET"===b.method&&null!==b.data&&"undefined"!==typeof b.data&&(a+=Recite.Util.buildQueryString(b.data));
c.onload=function(){var a=e(c);b.success(c,a)};c.onerror=function(){var a=e(c);b.error(c,a)};c.open(b.method,a);c.timeout=b.timeout;null!==b.beforeSend&&b.beforeSend(c);c.send(b.data)}function a(a,h){"withCredentials"in(window.XMLHttpRequest?new XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP"))?b(a,h):"undefined"!==typeof window.XDomainRequest?c(a,h):"undefined"===typeof window.flensed?Recite.AssetLoader.js(Recite.baseUrl+"/js/flxhr/flXHR.js",function(){d(h)}):d(a,h)}function d(a,b){var c=
new flensed.flXHR({autoUpdatePlayer:!1,instanceId:"recite-proxy",xmlResponseText:!1,onreadystatechange:function(a){if(4===a.readyState){var c=e(a);200===a.status?b.success(a,c):b.error(a,c)}}});c.open(b.method,a);null!==b.beforeSend&&b.beforeSend(c);c.send(b.data)}var l={method:"POST",contentType:"application/x-www-form-urlencoded",async:!0,username:null,password:null,success:function(){},error:function(){},beforeSend:null,data:null,timeout:1E4};return{get:function(a,b,c){Recite.Debug.log("Recite.Ajax",
"Making AJAX request to: "+a);this.ajax(a,{method:"GET",data:b,success:c})},post:function(a,b,c){this.ajax(a,{method:"POST",data:b,success:c})},ajax:function(c,d){"undefined"!==typeof d.data&&"POST"==d.method&&"object"==Recite.Util.type(d.data)&&(d.data=ReciteJSON.stringify(d.data));return String(window.location).substr(0,Recite.baseUrl.length)==Recite.baseUrl?b(c,d):a(c,d)},nativeXDomainSupported:function(){return"undefined"!==typeof(new XMLHttpRequest).withCredentials||"undefined"!==typeof window.XDomainRequest?
!0:!1}}}();Recite.namespace("Api");
Recite.Api=function(){function k(c,a){c=b.endpoint+c;a=Recite.Util.merge({access_token:a.access_token,v:Recite.version},a.data);return c+Recite.Util.buildQueryString(a)}function e(c,a,d){var l=b.endpoint+c;l+=Recite.Util.buildQueryString({access_token:d.access_token,v:Recite.version});Recite.Ajax.ajax(l,{method:a,data:d.data,contentType:d.contentType,success:function(a,b){d.success&&d.success(b)},error:function(b,h){Recite.Debug.log("Recite.Api","Error occured during API call to: "+l,h);if("undefined"!==
typeof h.error)if("invalid_grant"===h.error)Recite.Debug.log("Recite.Api","Requesting a new token."),Recite.Auth.clear(),Recite.Api.call(c,a,d);else{if("invalid_token"===h.error||"invalid_referrer"===h.error||"invalid_ip"===h.error)alert("We have detected invalid usage of Recite and we have disabled future access. If you think this is an error please contact support@reciteme.com"),window.location.reload();d.error&&d.error(h)}}})}var b={endpoint:Recite.baseUrl+"/api/"};return{setOptions:function(c){b=
Recite.Util.merge(b,c)},call:function(b,a,d){d.contentType=d.contentType||"application/x-www-form-urlencoded";"undefined"===typeof d.authRequired&&(d.authRequired=!0);d.authRequired?Recite.Auth.getStatus(function(c){"authorized"===c.state&&(d.access_token=c.access_token,e(b,a,d))}):e(b,a,d)},getUri:function(b,a){"undefined"===typeof a.authRequired&&(a.authRequired=!0);a.authRequired?Recite.Auth.getStatus(function(c){"authorized"===c.state&&(a.access_token=c.access_token,a.success&&a.success(k(b,a)))}):
a.success&&a.success(k(b,a))}}}();Recite.namespace("Recite.Dom");
Recite.Dom=function(){function k(b){if(b.nodeType===Node.TEXT_NODE)return b.textContent;try{var c=getComputedStyle(b);if(c&&"none"===c.display)return"";c="";for(var a=0;a<b.childNodes.length;a++)"RECITEWORDBYWORD"!=b.childNodes[a].tagName&&(c+=k(b.childNodes[a]));return c}catch(d){return Recite.Debug.log("Recite.Dom","Unable to get getComputedStyle() of element: "+b),Recite.Debug.log("Recite.Dom",d),""}}var e={word_filters:{},srollTopPadding:150};return{getPosition:function(b){"undefined"!=typeof b.positionalProxy&&
null!=b.positionalProxy&&(b=b.positionalProxy);var c=0,a=0;if(b.offsetParent){do"BODY"!==b.tagName&&(c+=b.offsetLeft,a+=b.offsetTop);while(b=b.offsetParent)}return{left:c,top:a}},isCurrent:function(b){var c=Recite.Dom.getPosition(b);b=b.currentStyle;return 0!==c.left&&0!==c.top&&0<b.width&&0<b.height?!0:!1},getScroll:function(b){"undefined"===typeof b&&(b=window);var c=b.document;if(b.pageYOffset){var a=b.pageYOffset;var d=b.pageXOffset}else c.documentElement&&c.documentElement.scrollTop?(a=c.documentElement.scrollTop,
d=c.documentElement.scrollLeft):c.body&&(a=c.body.scrollTop,d=c.body.scrollLeft);return{x:d,y:a}},getStyle:function(b,c){if(b.currentStyle){c=c.replace(/(\-[a-z])/g,function(a){return a.toUpperCase().replace("-","")});var a=b.currentStyle[c]}else window.getComputedStyle&&(a=document.defaultView.getComputedStyle(b,null).getPropertyValue(c));return a},getStyles:function(b){var c;b.currentStyle?c=b.currentStyle:window.getComputedStyle&&(c=document.defaultView.getComputedStyle(b,null));return c},getText:function(b,
c){var a="";if("undefined"==typeof b)return"";if("undefined"!==typeof c)return 0===b.childNodes.length&&(a+=c.call(b)),Recite.Util.each(b.childNodes,function(b,d){a+=c.call(d)}),a.trim();"IMG"===b.tagName?a=b.getAttribute("alt"):3===b.nodeType?a=b.data:"INPUT"===b.tagName||"TEXTAREA"===b.tagName?""==b.value&&(a=b.getAttribute("placeholder")):a=k(b);null==a&&(a="");for(var d in e.word_filters)a=a.toLowerCase().replace(d,e.word_filters[d]);return null!=a?a.trim():""},getAllWindows:function(b,c){c||
(c=[]);b||(b=window);0===c.length&&c.push(b);b=b.frames;for(var a=0;a<b.length;a++)try{b[a].document.body,c.push(b[a]),0<b[a].frames.length&&c.concat(c,Recite.Dom.getAllWindows(b[a],c))}catch(d){}return c},prepend:function(b,c){if("string"===Recite.Util.type(b)){var a=c.ownerDocument.createElement("div");a.innerHTML=b;for(b=0;b<a.childNodes.length;b++)c.insertBefore(a.childNodes[0],c.childNodes[0])}else c.insertBefore(b,c.childNodes[0])},append:function(b,c){if("string"===Recite.Util.type(b)){var a=
c.ownerDocument.createElement("div");a.innerHTML=b;for(b=0;b<a.childNodes.length;b++)c.appendChild(a.childNodes[b])}else c.appendChild(b)},getSelected:function(){var b="";"undefined"!==typeof window.getSelection?b=window.getSelection().toString():"undefined"!==typeof document.selection&&"Text"===document.selection.type&&(b=document.selection.createRange().text);return b.replace(/^\s+|\s+$/g,"")},isDescendant:function(b,c){for(;b;){if(b===c)return!0;b=b.parentNode}return!1},getAncestors:function(b){for(var c=
null,a=[];void 0!==b&&null!==(c=b.parentNode)&&(void 0===c||1===c.nodeType);)a.push(c),b=c;return a},getWindowDimensions:function(b){var c=b.document;if("number"===typeof b.innerWidth){var a=b.innerWidth;var d=b.innerHeight}else c.documentElement&&(c.documentElement.clientWidth||c.documentElement.clientHeight)?(a=c.documentElement.clientWidth,d=c.documentElement.clientHeight):c.body&&(c.body.clientWidth||c.body.clientHeight)&&(a=c.body.clientWidth,d=c.body.clientHeight);return{width:a,height:d}},
getLanguage:function(b){var c=null;if(void 0===b)return c;if(1===b.nodeType&&""!==b.lang)return b.lang;var a=b.childNodes;if(void 0!==a&&void 0!=a.length&&0<a.length&&(Recite.Util.each(a,function(a,b){for(;null!==b;){if(3!==b.nodeType&&void 0!==b.lang&&""!==b.lang){c=b.lang;break}b=0<b.childNodes.length?b.childNodes[0]:null}}),null!==c))return c;b=Recite.Dom.getAncestors(b);for(var d in b){a=b[d];if(void 0!==a&&a.lang&&0!==a.lang.length){c=a.lang;break}if(void 0!==a&&1===a.nodeType&&null!==a.getAttribute("xml:lang")&&
""!==a.getAttribute("xml:lang")){c=a.getAttribute("xml:lang");break}}null===c&&(d=Recite.Sizzle('meta[http-equiv="Content-Language"]'),0<d.length&&(c=d[0].getAttribute("content")));return null!==c&&"string"===typeof c?c.toLowerCase():null},detectLanguage:function(b,c){b&&0!=b.length?(Recite.Debug.log("Recite.Dom","Auto detecting language"),Recite.Api.call("language-detect","POST",{data:{q:b},contentType:"application/json",success:function(a){Recite.Debug.log("Recite.Dom","Language detected: "+a.lang);
void 0!=c&&c(null!=a.lang?a.lang.toLowerCase():null)},error:function(){void 0!=c&&c(null)}})):void 0!=c&&c(null)},getNextElement:function(b,c){"undefined"==typeof c&&(c=!1);var a="recite, [data-recite-ele] "+(Recite.FrameUpdater.isActive()?", iframe":"");a=Recite.Sizzle(a);if("undefined"===b||null===b)return Recite.Debug.log("Recite.DOM","Current element is null - probably been removed from DOM"),a[0];for(var d=null,l=0;l<a.length;l++)if(a[l]===b||null===b||null!==d){if(null===b)d=a[0];else if("undefined"!==
typeof a[l+1])d=a[l+1];else break;b=Recite.Dom.getPosition(d);if(0>b.left||0>b.top||0==b.top&&0==b.left)b=d;else{if("IFRAME"!=d.nodeName||c)return d;Recite.Event.publish("FrameUpdater:EnterFrame",{element:d,direction:"next"});break}}return null},getPreviousElement:function(b,c){"undefined"==typeof c&&(c=!1);var a="recite, [data-recite-ele] "+(Recite.FrameUpdater.isActive()?", iframe":""),d=Recite.Sizzle(a);if("undefined"===b||null===b)return Recite.Debug.log("Recite.DOM","getPreviousElement return 1st ele"),
d[0];a=null;for(var l=d.length;0<l;l--)if(d[l]==b||null==b||null!==a){if(null==b)a=d[0];else if("undefined"!==typeof d[l-1])a=d[l-1];else break;b=Recite.Dom.getPosition(a);if(0>b.left||0>b.top||0==b.top&&0==b.left)return b=a;if("IFRAME"!=a.nodeName||c)return a;Recite.Event.publish("FrameUpdater:EnterFrame",{element:a,direction:"prev"});break}return null},getLastElement:function(){var b="recite, [data-recite-ele] "+(Recite.FrameUpdater.isActive()?", iframe":"");b=Recite.Sizzle(b);return b[b.length-
1]},getFirstElement:function(){var b="recite, [data-recite-ele] "+(Recite.FrameUpdater.isActive()?", iframe":"");return Recite.Sizzle(b)[0]},isVisible:function(b){var c=Recite.Dom.getScroll(b.ownerDocument.defaultView),a=Recite.Dom.getPosition(b);Recite.PlayerControls.getProvider().getOptions();var d=Recite.Dom.getWindowDimensions(window);b=a.top-b.offsetHeight+200;var l=a.left,g=!1;b<d.height+c.y&&a.top>b&&0<l&&l<d.width+c.x&&(g=!0);return g},scrollTo:function(b){var c=Recite.Dom.getPosition(b);
b=c.top-b.offsetHeight;b-=e.srollTopPadding;window.scrollTo(c.left,b)},getIndex:function(b){if("undefined"===typeof b||null===b)return null;for(var c=b.parentElement||b.parentNode,a=-1,d;c&&(d=c.childNodes[++a]);)if(d==b)return a;return-1},getPath:function(b){var c,a=[],d=Recite.Dom.getIndex(b),l=0;if("undefined"===typeof b||null===b)return null;for(;c=b.parentNode;){++l;if(-1>=d)break;b=c;a.push(d);d=Recite.Dom.getIndex(c)}return a.reverse()},getNode:function(b){var c=document.documentElement,a;
if("undefined"===typeof c||null===c)return null;for(a=1;a<b.length;){var d=b[a];"undefined"!==typeof c&&(c=c.childNodes[d]);++a}return c},setOptions:function(b){e=Recite.Util.merge(e,b)}}}();Recite.namespace("Dom.Traverser");Recite.Dom.Traverser=function(){return{traverse:function(k,e){for(var b=k.childNodes[0];null!==b;){var c=e(b);if(b.hasChildNodes()&&c)b=b.firstChild;else{for(;null===b.nextSibling&&b!==k;)b=b.parentNode;b=b===k?null:b.nextSibling}}}}};Recite.namespace("Recite.Dom.Observer");
Recite.Dom.Observer=function(){function k(){Recite.Util.each(b,function(a,b){a=b.innerHTML.length;"undefined"===typeof b.prevLength&&(b.prevLength=a);b.prevLength!==a&&(a=Recite.Parser.Html.parse(b),Recite.Event.publish("Recite.Dom.Observor:change",{affectedElements:a}),b.prevLength=b.innerHTML.length)})}var e=null,b=[],c={pollTime:1500,useMutations:!0};return{setOptions:function(a){c=Recite.Util.merge(c,a)},observe:function(a){b.push(a);null===e&&(Recite.Debug.log("Recite.Dom.Observer","Setting up body length polling."),
e=setInterval(function(){k()},c.pollTime))}}}();var ReciteJSON;ReciteJSON||(ReciteJSON={});
(function(){function k(a){return 10>a?"0"+a:a}function e(b){a.lastIndex=0;return a.test(b)?'"'+b.replace(a,function(a){var b=g[a];return"string"===typeof b?b:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+b+'"'}function b(a,c){var f=d,g=c[a];g&&"object"===typeof g&&"function"===typeof g.toReciteJSON&&(g=g.toReciteJSON(a));"function"===typeof h&&(g=h.call(c,a,g));switch(typeof g){case "string":return e(g);case "number":return isFinite(g)?String(g):"null";case "boolean":case "null":return String(g);
case "object":if(!g)return"null";d+=l;var n=[];if("[object Array]"===Object.prototype.toString.apply(g)){var p=g.length;for(a=0;a<p;a+=1)n[a]=b(a,g)||"null";c=0===n.length?"[]":d?"[\n"+d+n.join(",\n"+d)+"\n"+f+"]":"["+n.join(",")+"]";d=f;return c}if(h&&"object"===typeof h)for(p=h.length,a=0;a<p;a+=1){if("string"===typeof h[a]){var k=h[a];(c=b(k,g))&&n.push(e(k)+(d?": ":":")+c)}}else for(k in g)Object.prototype.hasOwnProperty.call(g,k)&&(c=b(k,g))&&n.push(e(k)+(d?": ":":")+c);c=0===n.length?"{}":d?
"{\n"+d+n.join(",\n"+d)+"\n"+f+"}":"{"+n.join(",")+"}";d=f;return c}}"function"!==typeof Date.prototype.toReciteJSON&&(Date.prototype.toReciteJSON=function(a){return isFinite(this.valueOf())?this.getUTCFullYear()+"-"+k(this.getUTCMonth()+1)+"-"+k(this.getUTCDate())+"T"+k(this.getUTCHours())+":"+k(this.getUTCMinutes())+":"+k(this.getUTCSeconds())+"Z":null},String.prototype.toReciteJSON=Number.prototype.toReciteJSON=Boolean.prototype.toReciteJSON=function(a){return this.valueOf()});var c=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
a=/[\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,d,l,g={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},h;"function"!==typeof ReciteJSON.stringify&&(ReciteJSON.stringify=function(a,c,g){var f;l=d="";if("number"===typeof g)for(f=0;f<g;f+=1)l+=" ";else"string"===typeof g&&(l=g);if((h=c)&&"function"!==typeof c&&("object"!==typeof c||"number"!==typeof c.length))throw Error("ReciteJSON.stringify");
return b("",{"":a})});"function"!==typeof ReciteJSON.parse&&(ReciteJSON.parse=function(a,b){function f(a,c){var d,h=a[c];if(h&&"object"===typeof h)for(d in h)if(Object.prototype.hasOwnProperty.call(h,d)){var g=f(h,d);void 0!==g?h[d]=g:delete h[d]}return b.call(a,c,h)}a=String(a);c.lastIndex=0;c.test(a)&&(a=a.replace(c,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)}));if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,
"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return a=eval("("+a+")"),"function"===typeof b?f({"":a},""):a;throw new SyntaxError("ReciteJSON.parse");})})();Recite.namespace("Auth");
Recite.Auth=function(){function k(b,c){"undefined"===typeof c&&(c={});var f=a.authorization_endpoint+"?response_type="+b+"&client_id="+a.client_id;null!==a.redirect_uri&&(f+="&redirect_uri="+encodeURIComponent(a.redirect_uri));null!==a.required_scope&&(f+="&scope="+a.required_scope);Recite.Util.each(c,function(a,b){f+="&"+a+"="+b});return f}function e(b,c){var f=document.createElement("div");f.setAttribute("class","recite_auth_iframe_wrapper");f.style.top=parseInt(a.popup.top)+"px";f.style.left="50%";
f.style.marginLeft=-(parseInt(a.popup.width)/2)+"px";f.style.height=Recite.Dom.getWindowDimensions(window).height/1.5;f.style.width=a.popup.width;var d=document.createElement("iframe");d.src=b;d.frameborder=0;d.width=a.popup.width;d.style.border=0;d.height=Recite.Dom.getWindowDimensions(window).height/1.5;b=document.createElement("div");b.setAttribute("class","recite_auth_iframe_close recite-sprite-auth-close");b.setAttribute("data-recite-state",c);f.appendChild(b);f.appendChild(d);document.body.appendChild(f);
Recite.DomEvent.add(d,"load",function(){Recite.DomEvent.add(Recite.Sizzle(".recite_auth_iframe_close")[0],"click",function(a){a=a.target.getAttribute("data-recite-state");l[a].parentNode.removeChild(l[a]);delete l[a]})});return f}var b=!1,c={state:null,access_token:null,expires:null},a={authorization_endpoint:Recite.baseUrl+"/oauth/authorize",token_endpoint:Recite.baseUrl+"/oauth/token",client_id:"a07acd5fa41eed8a41c454e2acf4951bcf500b3b",redirect_uri:Recite.baseUrl+"/oauth/callback/?uri="+Recite.Util.getWindowLocationOrigin(window),
required_scope:null,type:"iframe",popup:{status:"yes",toolbar:"no",location:"no",menubar:"no",directories:"no",resizable:"no",scrollbars:"no",width:850,height:600,top:"120"}},d=[],l=[],g=[],h=!1,f=[];Recite.XDM.receiveMessage(function(a){Recite.Debug.log("Recite.Auth","Message received:",a);a=ReciteJSON.parse(a.data);if(null!==a&&"undefined"!==typeof a.access_token&&-1!==Recite.Util.inArray(a.state,f)){f.splice(Recite.Util.inArray(a.state,f),1);var m=new Date;c.access_token=a.access_token;c.expires=
Math.ceil(m.getTime()/1E3)+parseInt(a.expires_in,10);c.state="authorized";Recite.Event.publish("Auth:authorize",c);b&&Recite.Event.publish("Auth:reauthorize",c);b=!0;Recite.Util.each(g,function(a,b){b(c)});g=[];h=!1;"undefined"!==typeof l[a.state]&&(m=l[a.state],m.parentNode.removeChild(m),delete l[a.state]);"undefined"!==typeof d[a.state]&&(d[a.state].close(),delete d[a.state])}},Recite.baseUrl);return{setOptions:function(b){a=Recite.Util.merge(a,b)},isAuthorized:function(){return"authorized"===
c.state},clear:function(){c.state=null;c.access_token=null;c.expires=null},getStatus:function(a,b){if(!b&&this.isAuthorized())a(c);else if(g.push(a),!h){h=!0;a=Recite.Util.guid();f.push(a);b=k("token",{createGuest:1,display:0,state:a});var d=document.createElement("iframe");d.id=a;d.src=b;d.frameborder=0;d.width=0;d.height=0;l[a]=d;Recite.Debug.log("Recite.Auth","Adding iframe to dom");document.body.appendChild(d)}},authPopup:function(){var b=Recite.Util.guid();f.push(b);var c=k("token",{state:b});
if("iframe"===a.type)l[b]=e(c,b);else{var h="";Recite.Util.each(a.popup,function(a,b){h+=a+"="+b+","});h=h.substr(0,h.length-1);h+=",left="+(Math.ceil(screen.width/2)-a.popup.width/2)+",top="+(Math.ceil(screen.height/2)-a.popup.height/2);d[b]=window.open(c,b,h)}}}}();Recite.namespace("Storage.Cookie");
Recite.Storage.Cookie=function(){function k(e,b,c){if(c){var a=new Date;a.setTime(a.getTime()+864E5*c);c="; expires="+a.toGMTString()}else c="";document.cookie=e+"="+encodeURIComponent(b)+c+"; path=/"}return{save:function(e,b){b=ReciteJSON.stringify(b);k(e,b)},load:function(e,b){a:{e+="=";for(var c=document.cookie.split(";"),a=0;a<c.length;a++){for(var d=c[a];" "==d.charAt(0);)d=d.substring(1,d.length);if(0==d.indexOf(e)){e=decodeURIComponent(d.substring(e.length,d.length));break a}}e=null}e=ReciteJSON.parse(e);
b&&b(e);return e},clear:function(e){k(e,"",-1)},supported:function(){return!0}}}();Recite.namespace("Storage.LocalStorage");Recite.Storage.LocalStorage=function(){return{save:function(k,e){_supported()&&window.localStorage.setItem(k,e)},load:function(k,e){return _supported()?(k=window.localStorage.getItem(k),"undefined"!==typeof e&&e(k),k):null},clear:function(k){_supported()&&window.localStorage.removeItem(k)},supported:function(){try{return"localStorage"in window&&null!==window.localStorage}catch(k){return!1}}}}();
Recite.namespace("Storage.Api");
Recite.Storage.Api=function(){var k=["Recite.Preferences"];return{save:function(e,b){if(!e in k)throw{name:"InvalidNamespace",message:"The provided namespace is invalid."};"Recite.Preferences"===e?Recite.Api.call("preferences","POST",{data:b,contentType:"application/json",success:function(b){Recite.Debug.log("Recite.Storage.Api","Preferences Saved.")}}):Recite.Storage.Cookie.save(e,b)},load:function(e,b){!e in k||("Recite.Preferences"===e?Recite.Api.call("preferences","GET",{success:b,error:b}):Recite.Storage.Cookie.load(e,
b))},clear:function(e){},supported:function(){return!0}}}();Recite.namespace("Preferences");
Recite.Preferences=function(){var k={storageEngine:Recite.Storage.Api,autoSave:!0},e={style:{backgroundColor:null,font:{color:null,face:null,size:null},link:{color:null},marginSize:null,textAlign:null,ruler:{enabled:!1,color:null},screenMask:{enabled:!1,color:null},wwHighlight:{color:null},lineHeight:null,charSpacing:null},dictionary:{enabled:!1},player:{autoplay:!0,continuePlay:!1,playbackSpeed:1},textMode:{enabled:!1},playerControls:{enabled:!0},language:null,voice:{gender:"f"},magnifier:{enabled:!1},
voices:{en:"Amy"}},b=Recite.Util.clone(e);Recite.Event.subscribe("Auth:reauthorize",function(){k.storageEngine===Recite.Storage.Api&&Recite.Preferences.load()});return{setOptions:function(b){var a=!1;Recite.Util.each(b,function(b,c){"storageEngine"===b&&(a=!0)});k=Recite.Util.merge(k,b);a&&Recite.Preferences.load()},save:function(b){Recite.Debug.log("Recite.Preferences","Saving preferences.");k.storageEngine.save("Recite.Preferences",e);Recite.Gui.Notification.show("Your preferences have been saved.  To reset them press the reset button",
{read:!1})},load:function(){Recite.Debug.log("Recite.Preferences","Loading preferences.");k.storageEngine.load("Recite.Preferences",function(c){if(null!==c){var a=Recite.Util.clone(b);Recite.Debug.log("Recite.Preferences","Found user preferences");e=Recite.Util.merge(a,c)}Recite.Event.publish("Preferences:load",c)})},get:function(b){if("undefined"===typeof b)return e;var a;b=b.split(".");var c=e;for(a=0;a<b.length;a++)if(c=c[b[a]],"undefined"===typeof c)return null;return c},set:function(b,a){var c=
{};"object"===Recite.Util.type(b)?c=b:c[b]=a;"player.autoplay"!=b&&"playerControls.enabled"!=b&&"player.continuePlay"!=b||Recite.Event.publish("Recite:ModuleEvent",{name:"Recite.Preferences",event:b+": "+a});Recite.Util.each(c,function(a,b){var c;a=a.split(".");var f=e;for(c=0;c<a.length-1;c++)if(f=f[a[c]],"undefined"===typeof f)return null;f[a[c]]=b});Recite.Event.publish("Preferences:set",c);k.autoSave&&Recite.Preferences.save();return null},reset:function(c){Recite.Debug.log("Recite.Preferences",
"Reset."+c);var a;var d=c.split(".");var l=e;var g=b;for(a=0;a<d.length-1;a++)l=l[d[a]],g=g[d[a]];var h=g[d[a]];"object"===Recite.Util.type(h)&&(h=Recite.Util.clone(h));l[d[a]]=h;Recite.Event.publish("Preferences:reset",{key:c,value:g});k.autoSave&&Recite.Preferences.save()},resetAll:function(){Recite.Debug.log("Recite.Preferences","ResetAll.");Recite.Event.publish("Preferences:reset");var c=k.autoSave;k.autoSave=!1;Recite.Util.each(b,function(a,b){Recite.Preferences.reset(a)});k.autoSave=c;k.autoSave&&
Recite.Preferences.save();Recite.Gui.Notification.show("Your preferences have been reset.");Recite.Event.publish("Recite:ModuleEvent",{name:"Recite.Preferences",event:"resetAll"})}}}();Recite.namespace("UI.Toggle");
Recite.UI.Toggle=function(){function k(e){var b=e.ownerDocument?e.ownerDocument:document;e.setAttribute("class","recite-ui-toggle");b=b.createElement("div");b.setAttribute("class","recite-ui-toggle-slider");b.setAttribute("data-recite-tabbable","");e.appendChild(b);Object.defineProperty?Object.defineProperty(e,"checked",{get:function(){return this._checked},set:function(b){(this._checked=b)?this.setAttribute("class",this.getAttribute("class")+" recite-ui-toggle-active"):this.setAttribute("class",
this.getAttribute("class").replace(" recite-ui-toggle-active",""));this.fireEvent?this.fireEvent("onClick"):(b=document.createEvent("Event"),b.initEvent("change",!0,!0),this.dispatchEvent(b))}}):Recite.Debug.log("Recite.UI.Toggle","defineProperty not found");e.checked=!0}return{invoke:function(e,b){e=Recite.Util.isArray(e)?e:[e];Recite.Util.each(e,function(b,a){k(a);Recite.DomEvent.add(a.childNodes[0],"click",function(a){a=a.target.parentNode;a.checked=!a.checked})})}}}();Recite.namespace("UI.Dropdown");
Recite.UI.Dropdown=function(){function k(c,l,g){l=l||"default";"undefined"===typeof a[l]&&(a[l]=[]);var d=c.getAttribute("class")||"";c.setAttribute("class",d+" recite-active");e(c,g);a[l].push(c);"default"!==l&&Recite.Util.each(a[l],function(a,d){"undefined"!==typeof d&&d!==c&&b(d,l)});Recite.Event.publish("DropDown:menuShown",c)}function e(a,b){Recite.Dom.getWindowDimensions(window);var c=Recite.Sizzle(".recite-controls")[0];b=Recite.Dom.getPosition(b).left-c.scrollLeft-a.offsetWidth/2+20;0>b&&
(b=0);a.style.left=b+"px"}function b(b,c){if(1===b.nodeType||3===b.nodeType){var d=b.getAttribute("class")||"";for(b.setAttribute("class",d.replace(" recite-active",""));-1!==(d=Recite.Util.inArray(b,a[c]));)a[c].splice(d,1);c=Recite.Sizzle(".recite-dropdown-invoke, .recite-dropdown-invoke-active, .recite-dropdown-invoke .recite-button",document);Recite.Util.each(c,function(a,b){b.setAttribute("class",b.getAttribute("class").replace("-active",""))});Recite.Event.publish("DropDown:menuHidden",b)}}
function c(c){for(var d in a)for(var g in a[d])b(a[d][g],d)}var a={};Recite.Event.subscribe("Recite:Style:wrappedElements",function(){var a=Recite.Sizzle("#recite-wrapper")[0];Recite.DomEvent.add(a,"touchstart",c);Recite.DomEvent.add(a,"click",c)});return{loaded:function(){return!1},invoke:function(a,c){a=Recite.Util.isArray(a)?a:[a];Recite.Util.each(a,function(a,c){Recite.DomEvent.add(c,"click",function(a){var c=a.target,f=Recite.Sizzle(c.getAttribute("data-target"))[0],d=c.getAttribute("data-group")||
"default";"undefined"!==typeof f&&(Recite.DomEvent.add(f,"click",function(a){"undefined"!==typeof a.stopPropagation?a.stopPropagation():a.cancelBubble=!0}),/recite-active/g.test(f.getAttribute("class"))?(b(f,d),c.setAttribute("class",c.getAttribute("class").replace("-active",""))):(k(f,d,c),c.setAttribute("class",c.getAttribute("class")+"-active")),"undefined"!==typeof a.stopPropagation?a.stopPropagation():a.cancelBubble=!0)})})},hideGroup:function(c){c=c||null;for(var d in a)null!==c&&c!==d||Recite.Util.each(a[d],
function(a,c){b(c)})}}}();Recite.namespace("UI.ColorPicker");
Recite.UI.ColorPicker=function(){function k(a){var b=a.clientY-(B+n.offsetTop);b=255<b?255:b;var c=Math.abs(360*(b-0)/255-360);v.style.top=b+"px";b=Recite.Tinycolor("hsl("+Math.ceil(c)+", 100%, 50%)");r.style.backgroundColor=b.toRgbString();b=p.getColor().toHsv();b.h=Math.ceil(c);p.setColor(b,a)}function e(a){var b=a.clientY-(B+r.offsetTop),c=a.clientX-(z+r.offsetLeft);b=252<b?252:b;c=252<c?252:c;b=3>b?3:b;c=3>c?3:c;var f=p.getColor().toHsv();f.v=Math.ceil(Math.abs(b-255)/255*100);f.s=Math.ceil(c/
255*100);p.setColor(f,a);u.style.top=b+C.selectorAdjust.top+"px";u.style.left=c+C.selectorAdjust.left+"px"}function b(){Recite.DomEvent.add(n,"mousedown",function(a){k(a)});Recite.DomEvent.add(n,"mouseup",function(a){k(a)});Recite.DomEvent.add(n,"mousemove",function(a){f&&k(a)})}function c(){Recite.DomEvent.add(r,"mousedown",function(a){e(a)});Recite.DomEvent.add(r,"mouseup",function(a){e(a)});Recite.DomEvent.add(r,"mousemove",function(a){f&&e(a)})}function a(){Recite.DomEvent.add(y,"click",function(){q.style.display=
"none"})}function d(a){v.style.top=Math.abs(a-360)/360*100+"%";a=Recite.Tinycolor("hsl("+Math.ceil(a)+", 100%, 50%)");r.style.backgroundColor=a.toRgbString()}function l(a){var b=parseInt(Recite.Dom.getStyle(r,"width"));u.style.left=Math.ceil(b/100*100*a)+C.selectorAdjust.left+"px"}function g(a){a=Math.abs(100*a-100);var b=parseInt(Recite.Dom.getStyle(r,"height"));u.style.top=Math.ceil(b/100*a)+C.selectorAdjust.top+"px"}function h(a){Recite.UI.ColorPicker.hide()}var f=!1,p=null,m=!1,q=null,n=null,
v=null,r=null,y=null,u=null,B=0,z=0,C={selectorAdjust:{left:-5,top:-5},markup:'<div id="recite-ui-colorpicker">                    <div class="recite-colorbox-close">Close</div>                    <div class="recite-colorbox recite-sprite-colorpicker-mask">                        <div class="recite-colorselector recite-sprite-colorpicker-selector"></div>                    </div>                    <div class="recite-huebox recite-sprite-colorpicker-hue">                        <div class="recite-hueslider"></div>                    </div>                </div>'};
return{setOptions:function(a){C=Recite.Util.merge(C,a)},init:function(){Recite.DomEvent.add(document.body,"mousedown",function(a){f=!0});Recite.DomEvent.add(document.body,"mouseup",function(a){f=!1});Recite.DomEvent.add(document.body,"click",h);Recite.Dom.append(C.markup,document.body);q=Recite.Sizzle("#recite-ui-colorpicker")[0];y=Recite.Sizzle(".recite-colorbox-close")[0];r=Recite.Sizzle(".recite-colorbox")[0];u=Recite.Sizzle(".recite-colorselector")[0];n=Recite.Sizzle(".recite-huebox")[0];v=Recite.Sizzle(".recite-hueslider")[0];
Recite.DomEvent.add(q,"click",function(a){"undefined"!==typeof a.stopPropagation?a.stopPropagation():a.cancelBubble=!0});m=!0;c();b();a()},invoke:function(a,b){b=b||{};a=Recite.Util.isArray(a)?a:[a];m||this.init();Recite.Util.each(a,function(a,c){a="INPUT"===c.tagName?"focus":"click";c.colorPicker={};c.setColor=function(a,b,c,f){var h=void 0==b||"mouseup"==b.type;if(h||!Recite.Tinycolor.equals(a,this.getColor()))c=!1===c?!1:!0,f=!1===f?!1:!0,a=Recite.Tinycolor(a),a.ok&&(this.colorPicker.color=a,"INPUT"===
this.tagName?c&&(this.value=this.colorPicker.color.toHexString()):this.innerText=this.colorPicker.color.toHexString(),"undefined"!==typeof this.colorPicker.callback&&(f||h)&&this.colorPicker.callback(p,a,b),p===this&&(b=this.colorPicker.color.toHsv(),d(b.h),l(b.s),g(b.v)))};c.getColor=function(){return this.colorPicker.color};var f=Recite.Tinycolor(c.style.backgroundColor);f.ok?c.setColor(f):c.setColor(Recite.Tinycolor("#000"));Recite.DomEvent.add(c,a,function(a){Recite.UI.ColorPicker.show();p=a.target;
var b=Recite.Dom.getPosition(p),c=Recite.Dom.getStyle(p,"width"),f=Recite.Sizzle("#recite-colors-advanced")[0];parseInt(Recite.Dom.getPosition(f).top);parseInt(Recite.Dom.getStyle(f,"height"));f=parseInt(Recite.Dom.getStyle(q,"height"));B=window.innerHeight/2-f/2;z=parseInt(b.left)+parseInt(c);q.style.top=B+"px";q.style.left=z+"px";Recite.UI.ColorPicker.invalidate();"undefined"!==typeof a.stopPropagation?a.stopPropagation():a.cancelBubble=!0});"undefined"!==typeof b.callback&&(c.colorPicker.callback=
b.callback);"INPUT"===c.tagName&&Recite.DomEvent.add(c,"keyup",function(a){this.setColor(a.target.value,a,!1,!0);"undefined"!==typeof a.stopPropagation?a.stopPropagation():a.cancelBubble=!0})})},show:function(){q.style.display="block"},hide:function(){q.style.display="none"},invalidate:function(){var a=p.colorPicker.color.toHsv();d(a.h);l(a.s);g(a.v)}}}();Recite.namespace("UI.AdvancedColors");
Recite.UI.AdvancedColors=function(){function k(a,b,c){var f=a.getAttribute("data-key"),d=b.toRgbString();e(a,b);a=Recite.Preferences.get(f);d==a||void 0==c||"mouseup"!=c.type&&"blur"!=c.type||(Recite.Debug.log("Recite.UI.AdvancedColors"," set "+f+" to "+d),Recite.Preferences.set(f,d))}function e(a,c){var d=null!=c?c.toRgbString():"transparent";a.parentNode.style.borderColor=d;b(a,d);a.value=null!=c?c.toHexString():""}function b(a,b){switch(a.getAttribute("data-key")){case "style.backgroundColor":a=
Recite.Sizzle("#advanced_colors_background,#advanced_colors_text,#advanced_colors_links");Recite.Util.each(a,function(a,c){c.style.backgroundColor=b});break;case "style.font.color":a=Recite.Sizzle("#advanced_colors_background,#advanced_colors_text,#advanced_colors_ruler,#advanced_colors_mask");Recite.Util.each(a,function(a,c){c.style.color=b});break;case "style.link.color":a=Recite.Sizzle("#advanced_colors_links");Recite.Util.each(a,function(a,c){c.style.color=b});break;case "style.screenMask.color":case "style.ruler.color":a.style.backgroundColor=
b}}function c(a,b){if(void 0===a||"style"==a||"Preferences:reset"==a&&void 0!=b&&"style"==b.key||"Preferences:set"==a||"Preferences:load"==a)Recite.Debug.log("AdvancedColors","Update Color Pickers"),Recite.Util.each(d,function(a,b){a=Recite.Preferences.get(a);void 0!=a&&"null"!=a&&""!=a.trim()?(a=Recite.Tinycolor(a),b.value!=a.toHexString()&&e(b,a)):e(b,null)})}var a={enabled:!0},d={};return{setOptions:function(b){Recite.Debug.log("UI.AdvancedColors",b);a=Recite.Util.merge(a,b)},invoke:function(b,
g){Recite.Debug.log("UI.AdvancedColors","invoke "+a.enabled);a.enabled?(b=Recite.Sizzle(b,g),Recite.Util.each(b,function(a,b){a=b.getAttribute("data-key");d[a]=b}),Recite.UI.ColorPicker.invoke(b,{callback:function(a,b,c){k(a,b,c)}}),Recite.Util.each(b,function(a,b){Recite.DomEvent.add(b,"blur",function(a){var c=Recite.Tinycolor(b.value);k(b,c,a)})}),Recite.Event.subscribe("Preferences:load",c),Recite.Event.subscribe("Preferences:reset",c),Recite.Event.subscribe("Preferences:set",c),Recite.Event.subscribe("DropDown:menuHidden",
function(a,b){Recite.UI.ColorPicker.hide()})):(b=Recite.Sizzle("#recite-themes-advanced")[0],b.parentNode.removeChild(b))}}}();Recite.namespace("Controls");
Recite.Controls=function(){function k(){Recite.Util.each(Recite.Sizzle(".recite-sprite-button-magnifier"),function(a,b){b.style.display="none"});Recite.Util.each(Recite.Sizzle(".recite-sprite-button-ruler"),function(a,b){b.style.display="none"});Recite.Util.each(Recite.Sizzle(".recite-sprite-button-mp3"),function(a,b){b.style.display="none"});Recite.Util.each(Recite.Sizzle(".recite-sprite-button-dictionary"),function(a,b){b.style.display="none"})}function e(a,b){Recite.Debug.log("Controls","Setting up custom user guide for lang: "+
a);Recite.Util.each(Recite.Sizzle(".recite-sprite-button-userguide"),function(a,c){c.setAttribute("href",b)})}function b(){var a=Recite.Dom.getLanguage(Recite.Sizzle("html")[0]);Recite.Util.each(l.languageOverrides.userGuide.languages,function(b,c){b.toLowerCase()==a.toLowerCase()?e(b,c.src):"undefined"!=typeof c.additionalLangs?Recite.Util.each(c.additionalLangs,function(b,f){f.toLowerCase()==a.toLowerCase()&&e(f,c.src)}):e(b,l.languageOverrides.userGuide["default"].src)})}function c(){var a=Recite.Dom.getLanguage(Recite.Sizzle("html")[0]);
Recite.Util.each(l.modules,function(b,c){null!==a&&"undefined"!=typeof c.localize&&c.localize(a)})}function a(a){l.enabled&&(0===l.modules.length&&(l.modules=[Recite.Controls.Desktop,Recite.Controls.Core]),Recite.Debug.log("Recite.Controls","Loading controls"),Recite.Debug.log("Recite.Controls","Getting controls content"),Recite.Ajax.get(l.url,null,function(b,h){l.enabled&&(Recite.Debug.log("Recite.Controls","Got controls content"),b=document.createElement("div"),b.innerHTML=h,g=b.childNodes[0],h=
Recite.Sizzle("body",a)[0],Recite.Dom.prepend(g,h),Recite.Browser.isMobile()&&k(),Recite.Util.each(l.modules,function(a,b){b.init();b.invoke(g)}),c(),Recite.Debug.log("Recite.Controls","Controls loaded"),d=!0,Recite.Event.publish("Controls:loaded"))}))}var d=!1,l={enabled:!0,url:Recite.baseUrl+"/assets/"+Recite.version+"/html/header.htm",modules:[],languageOverrides:{userGuide:{languages:{cy:{src:"http://reciteme.com/user-guides/welsh.pdf"},ar:{src:"https://api.reciteme.com/common/user_guide_ar.pdf",
additionalLangs:["ar-UAE","ar-AE"]}},"default":{src:"http://reciteme.com/user-guide"}}}};Recite.Event.subscribe("Translate:restore_complete",function(){c();b()});Recite.Event.subscribe("Translate:complete",function(){b()});Recite.Event.subscribe("Controls:loaded",function(){b()});var g=null;return{setOptions:function(a){Recite.Debug.log("Recite.Controls","Setting options");l=Recite.Util.merge(l,a);Recite.Controls.Mobile.setOptions(a.Mobile);Recite.Controls.Core.setOptions(a.Core);Recite.Controls.Desktop.setOptions(a.Desktop)},
load:function(b){window.self!=window.top?setTimeout(function(){a(b)},2E3):a(b)},disableOverlay:function(){var a=0;Recite.Magnifier.isEnabled()&&(a=1,Recite.Magnifier.disable());Recite.Ruler.isEnabled()&&(a=2,Recite.Ruler.disable());Recite.ScreenMask.isEnabled()&&(a=3,Recite.ScreenMask.disable());return a},reEnableOverlay:function(a){switch(a){case 1:Recite.Magnifier.enable();break;case 2:Recite.Ruler.enable();break;case 3:Recite.ScreenMask.enable()}},disableInstanceOverlay:function(){Recite.Magnifier.disableInstance();
Recite.Ruler.disableInstance();Recite.ScreenMask.disableInstance()},loaded:d,disable:function(){d&&Recite.Util.each(l.modules,function(a,b){"undefined"!=typeof b.disable&&b.disable()});l.enabled=!1}}}();Recite.namespace("Controls.Core");
Recite.Controls.Core=function(){function k(b,c){a();e()}function e(){Recite.Util.each(Recite.Sizzle(".recite-ui-toggle",document),function(a,b){a=b.getAttribute("data-preference");"undefined"!==Recite.Preferences.get(a)&&(Recite.Preferences.get(a)?b.setAttribute("class",b.getAttribute("class").replace("recite-ui-toggle-active","")+" recite-ui-toggle-active"):b.setAttribute("class",b.getAttribute("class").replace("recite-ui-toggle-active","")))});var a=Recite.Preferences.get("voice.gender");"undefined"!=
typeof a&&null!=a&&Recite.Util.each(Recite.Sizzle(".recite-voice",document),function(b,c){b=c.getAttribute("data-value");c.setAttribute("class",c.getAttribute("class").replace("active",""));-1!==b.indexOf(a)&&c.setAttribute("class",c.getAttribute("class")+" active")});var b=Recite.Preferences.get("player.playbackSpeed");b&&(Recite.Sizzle("#recite-playback-current-speed")[0].innerText=b)}function b(){Recite.Api.call("user","GET",{success:function(b){p.user=b;a()}})}function c(a){if("undefined"===typeof a)return p;
var b;a=a.split(".");var c=p;for(b=0;b<a.length;b++)if(c=c[a[b]],"undefined"===typeof c)return null;return c}function a(){Recite.Util.each(f,function(a,b){if("undefined"!==typeof b.text){a=b.text;var f;h.tagPattern.lastIndex=0;for(var d=a;null!==(f=h.tagPattern.exec(a));){var g=c(f[1])||"";d=d.replace(f[0],g)}b.node.nodeValue=d}"undefined"!==typeof b.attributes&&Recite.Util.each(b.attributes,function(a,f){h.tagPattern.lastIndex=0;for(var d=f.value;null!==(a=h.tagPattern.exec(f.value));){var g=c(a[1]);
"undefined"===typeof g&&(g=null);d=d.replace(a[0],g)}b.node.setAttribute(f.name,d)})})}function d(a,b){var c=b.target?b.target:b.srcElement;Recite.Debug.log("event",b);b=c.getAttribute("data-key").split(" ");a=c.getAttribute("data-value").split(" ");if(b.length!==a.length)Recite.Debug.log("Recite.Controls.Core","Warning: Number of \n                keys does not match number of values.",c);else{c={};for(var f=0;f<b.length;f++){var d=b[f],g=("-"===a[f].charAt(0)?"-":"")+a[f].replace(/-/g," ");"toggle"===
g&&(g=!Recite.Preferences.get(d));if(/\+|\-/.test(g[0])){var e="+"===g[0],m=parseInt(g.replace(/[^0-9]/g,""),10),k=!1;if(e&&"0"==g[1]&&"."==g[2]||"0"==g[2]&&"."==g[3])k=!0,m/=10;var p=Recite.Preferences.get(d);p=null===p?l(d):p;g=e?p+m:p-m;k&&(g=Math.round(10*g)/10);k=d.replace("style.","").split(".");var q="";Recite.Util.each(k,function(a,b){q+=b.charAt(0).toUpperCase()+b.slice(1)});k=h.hasOwnProperty("max"+q+"Percentage")?h["max"+q+"Percentage"]:h.hasOwnProperty("max"+q)?h["max"+q]:h.defaultMax;
var t=h.hasOwnProperty("min"+q+"Percentage")?h["min"+q+"Percentage"]:h.hasOwnProperty("min"+q)?h["min"+q]:h.defaultMin;g>k&&(g=k);g<t&&(g=t);"style.font.size"==d&&(k=Recite.Preferences.get("style.zoom"),k=null===k?100:k,e=e?k+m:k-m,e>h.maxFontSizePercentage&&(e=h.maxFontSizePercentage),e<h.minFontSizePercentage&&(e=h.minFontSizePercentage),p>=h.zoomThreshold&&100<e?(c["style.font.size"]=h.zoomThreshold,d="style.zoom",g=e):100!=k&&(c["style.zoom"]=100));if(0===g.length||"null"===g)g=null}c[d]=g}Recite.Preferences.set(c)}}
function l(a){if("undefined"===typeof a)return 100;var b;a=a.split(".");var c=h.defaults;for(b=0;b<a.length;b++)if(c=c[a[b]],"undefined"===typeof c)return 100;return c}function g(a){var b=Recite.Sizzle(".recite-preference-set",a);Recite.DomEvent.add(b,"click",function(a){a.preventDefault?a.preventDefault():a.returnValue=!1;Recite.Event.publish("Controls:affect",a)});b=Recite.Sizzle(".recite-save",a);Recite.DomEvent.add(b,"click",function(a){a.preventDefault?a.preventDefault():a.returnValue=!1;Recite.Preferences.save()});
b=Recite.Sizzle(".recite-reset",a);Recite.DomEvent.add(b,"click",function(a){a.preventDefault?a.preventDefault():a.returnValue=!1;Recite.Preferences.resetAll()});b=Recite.Sizzle("#recite-toolbar-button-guide");Recite.DomEvent.add(b,"click",function(a){a.preventDefault&&(a.preventDefault?a.preventDefault():a.returnValue=!1);"undefined"!=typeof a.target&&window.open(a.target.getAttribute("href"))});Recite.DomEvent.add(Recite.Sizzle(".recite-language-set",a),"click",function(a){var b=(a.currentTarget?
a.currentTarget:a.srcElement).getAttribute("data-language");"default"===b?(Recite.Language.Translate.restore(),Recite.Preferences.set("language",null)):Recite.Preferences.set("language",b);Recite.Util.each(Recite.Sizzle(".recite-language-set"),function(a,c){c.getAttribute("data-language")===b?c.setAttribute("class",c.getAttribute("class")+" recite-active"):c.setAttribute("class",c.getAttribute("class").replace(" recite-active",""))})})}var h={tagPattern:/{{([A-Za-z._]+)}}/g,defaultMax:200,defaultMin:30,
maxFontSizePercentage:200,minFontSizePercentage:30,zoomThreshold:150,minLineHeight:50,maxLineHeight:300,minCharSpacing:0,maxCharSpacing:20,defaults:{style:{charSpacing:0}},minPlayerPlaybackSpeed:.5,maxPlayerPlaybackSpeed:2},f=[],p={links:{logout:Recite.baseUrl+"/user/logout"},preferences:null};return{setOptions:function(a){h=Recite.Util.merge(h,a)},init:function(){Recite.Debug.log("Recite.Controls.Core","Core controls invoked");Recite.Event.subscribe("Preferences:load",k);Recite.Event.subscribe("Preferences:set",
k);Recite.Event.subscribe("Preferences:reset",k);Recite.Event.subscribe("Auth:reauthorize",b);Recite.Event.subscribe("Controls:affect",d)},invoke:function(a){for(var d=a;null!==d;){if(3===d.nodeType&&0<d.nodeValue.trim().length){var l=d.nodeValue;if(h.tagPattern.test(l)){var e;h.tagPattern.lastIndex=0;for(var m=l;null!==(e=h.tagPattern.exec(l));){var k=c(e[1])||"";m=m.replace(e[0],k)}d.nodeValue=m;f.push({node:d,text:l})}}if(1===d.nodeType){var p=[];Recite.Util.each(d.attributes,function(a,b){a=b.value;
if(h.tagPattern.test(a)){var d;h.tagPattern.lastIndex=0;for(p.push({name:b.name,value:b.value});null!==(d=h.tagPattern.exec(a));)a=c(d[1]),"undefined"===typeof a&&(a=null),b.value=b.value.replace(d[0],a)}});0<p.length&&f.push({node:d,attributes:p})}if(d.hasChildNodes())d=d.firstChild;else{for(;null===d.nextSibling&&d!==a;)d=d.parentNode;d=d===a?null:d.nextSibling}}Recite.Util.each(Recite.Sizzle(".recite-ui-toggle",a),function(a,b){Recite.UI.Toggle.invoke(b);Recite.DomEvent.add(b,"click",function(a){a=
a.currentTarget?a.currentTarget:a.srcElement;Recite.Preferences.set(a.getAttribute("data-preference"),a.checked)})});Recite.Util.each(Recite.Sizzle(".recite-slider"),function(a,b){var c=b.getAttribute("data-type");Recite.UI.Slider.invoke(b,function(a){Recite.Event.publish("Slider:"+c,a)})});g(a);b()}}}();Recite.namespace("Controls.Desktop");
Recite.Controls.Desktop=function(){function k(a,b){if("play"===b||"stopped"===a.getAttribute("data-status")&&"undefined"===b)return a.setAttribute("class",a.getAttribute("class").replace("recite-sprite-button-play","recite-sprite-button-stop")),a.setAttribute("data-status","playing"),"playing";if("stop"===b||"playing"===a.getAttribute("data-status")&&"undefined"===b)return a.setAttribute("class",a.getAttribute("class").replace("recite-sprite-button-stop","recite-sprite-button-play")),a.setAttribute("data-status",
"stopped"),"stopped"}function e(){var a=Recite.Sizzle("[tabindex]");Recite.Util.each(a,function(a,b){a=parseInt(b.getAttribute("tabindex"));a>=h.tabIndexStartValue&&b.setAttribute("tabindex",a+200)})}function b(a){h.tabEnabled&&(null==g&&(g=h.tabIndexStartValue),a=Recite.Sizzle("[data-recite-tabbable]",a),Recite.Util.each(a,function(a,d){if("undefined"!=typeof d.getAttribute("data-tabbable-offset"))var f=parseInt(d.getAttribute("data-tabbable-offset"));null==d.getAttribute("tabindex")&&(a=g,isNaN(f)||
(a+=f),d.setAttribute("tabindex",a),g++,-1<(" "+d.className+" ").replace(/[\n\t]/g," ").indexOf(" recite-dropdown-invoke ")&&(f=Recite.Sizzle(d.getAttribute("data-target"))[0],b(f)),d.onfocus=function(a){var b="undefined"!=typeof a.target?a.target:a.srcElement;Recite.Util.each(Recite.Sizzle(".recite-dropdown-invoke-active"),function(a,b){a=Recite.Sizzle(b.getAttribute("data-target"))[0];Recite.Dom.isDescendant(document.activeElement,a)||b.click()});Recite.Util.each(Recite.Sizzle(".recite-dropdown"),
function(a,d){Recite.Dom.isDescendant(b,d)&&(a=Recite.Sizzle("[data-target='#"+d.getAttribute("id")+"']")[0],"undefined"!=a&&-1==(" "+a.className+" ").replace(/[\n\t]/g," ").indexOf(" recite-dropdown-invoke-active ")&&c(a))})})}))}function c(a){var b=parseInt(a.getAttribute("tabindex")),c=0;Recite.Util.each(Recite.Sizzle(".recite-button-primary"),function(a,d){a=parseInt(d.getAttribute("tabindex"));a>b&&(0==c||a<c)&&(c=a)});Recite.Sizzle("[tabindex="+c+"]")[0].focus()}function a(){Recite.Key("enter",
function(){if(null!=document.activeElement.getAttribute("data-recite-tabbable"))return document.activeElement.click(),!1});Recite.Key("space",function(){if(null!=document.activeElement.getAttribute("data-recite-tabbable"))return document.activeElement.click(),!1});Recite.Key("shift+tab",function(){var a=parseInt(document.activeElement.getAttribute("tabindex"))-1,b=Recite.Sizzle("[tabindex="+a+"]")[0],c=!1;Recite.Util.each(Recite.Sizzle(".recite-dropdown"),function(a,d){Recite.Dom.isDescendant(b,d)&&
(a=Recite.Sizzle("[data-target='#"+d.getAttribute("id")+"']")[0],-1==(" "+a.className+" ").replace(/[\n\t]/g," ").indexOf(" recite-dropdown-invoke-active ")&&(c=!0,a.focus()))});if(c)return!1})}function d(){0<h.disabledButtons.length&&Recite.Util.each(h.disabledButtons,function(a,b){l.hasOwnProperty(b)&&(a=l[b],a.hasOwnProperty("buttonClass")&&(b=Recite.Sizzle(a.buttonClass),Recite.Util.each(b,function(a,b){b.style.display="none"})),a.hasOwnProperty("module")&&Recite.hasOwnProperty(a.module)&&"function"==
typeof Recite[a.module].disable&&"function"==typeof Recite[a.module].isEnabled&&Recite[a.module].isEnabled()&&(Recite[a.module].disable(),Recite.Debug.log("Recite.Controls.Desktop","Disable button : "+a.module)))})}var l={previous:{buttonClass:".recite-sprite-button-back"},play:{buttonClass:".recite-sprite-button-play"},forward:{buttonClass:".recite-sprite-button-forward"},fontMinus:{buttonClass:".recite-sprite-button-font-minus"},font:{buttonClass:".recite-sprite-button-font"},fontPlus:{buttonClass:".recite-sprite-button-font-plus"},
themes:{buttonClass:".recite-sprite-button-themes"},ruler:{buttonClass:".recite-sprite-button-ruler",module:"Ruler",preferences:{"style.ruler.enabled":!1}},screenMask:{buttonClass:".recite-sprite-button-screenmask",module:"ScreenMask",preferences:{"style.screenMask.enabled":!1}},dictionary:{buttonClass:".recite-sprite-button-dictionary",module:"Dictionary"},translate:{buttonClass:".recite-sprite-button-translate"},textMode:{buttonClass:".recite-sprite-button-textmode"},margin:{buttonClass:".recite-sprite-button-margin"},
alignment:{buttonClass:".recite-sprite-button-alignment"},mp3:{buttonClass:".recite-sprite-button-mp3"},magnifier:{buttonClass:".recite-sprite-button-magnifier",module:"Magnifier",preferences:{"magnifier.enabled":!1}},settings:{buttonClass:".recite-sprite-button-settings"},reset:{buttonClass:".recite-sprite-button-reset"},guide:{buttonClass:".recite-sprite-button-userguide"}},g=null,h={promptBeforeLeave:!0,tabEnabled:!0,tabIndexStartValue:1,autoIncrementTabIndex:!0,disabledButtons:[],fonts:[{name:"Default",
font:"Default"},{name:"Arial",font:"Arial"},{name:"Verdana",font:"Verdana"},{name:"Comic-Sans-MS",font:"Comic Sans MS"},{name:"Georgia",font:"Georgia"},{name:"Tahoma",font:"Tahoma"},{name:"Lato",font:"Lato"},{name:"Trebuchet",font:"Trebuchet"},{name:"Open-Dyslexic",font:"Open Dyslexic"}],swatches:[{backgroundColor:"#000",color:"#fff",linkColor:"#FF0000",rulerColor:"#fff",maskColor:"#fff",section:"dark"},{backgroundColor:"#000",color:"#FCED20",linkColor:"#FF0000",rulerColor:"#FCED20",maskColor:"#FCED20",
section:"dark"},{backgroundColor:"#005B0E",color:"#fff",linkColor:"#FFE100",section:"dark"},{backgroundColor:"#0201FF",color:"#fff",linkColor:"#FFAB00",section:"dark"},{backgroundColor:"#C83400",color:"#FFF",linkColor:"#F5FF00",section:"dark"},{backgroundColor:"#0201FF",color:"#FFAB00",linkColor:"#fff",section:"dark"},{backgroundColor:"#343A3F",color:"#B8BCC0",linkColor:"#FCED20",section:"dark"},{backgroundColor:"#4D4D4D",color:"#FFF",linkColor:"#ffcb53",section:"dark"},{backgroundColor:"#932191",
color:"#FFF",linkColor:"#fff902",section:"dark"},{backgroundColor:"#7C1818",color:"#FFF",linkColor:"#00ff67",section:"dark"},{backgroundColor:"#F4EED9",color:"#1D1916",linkColor:"#000",rulerColor:"#1D1916",maskColor:"#1D1916",section:"light"},{backgroundColor:"#CACFD3",color:"#343A3F",linkColor:"#000",rulerColor:"#343A3F",maskColor:"#343A3F",section:"light"},{backgroundColor:"#FFE9BD",color:"#00000",linkColor:"#000",rulerColor:"#000",maskColor:"#000",section:"light"},{backgroundColor:"#FCED20",color:"#000",
linkColor:"#000",rulerColor:"#000",maskColor:"#000",section:"light"},{backgroundColor:"#FCED20",color:"#0201FF",linkColor:"#000",rulerColor:"#000",maskColor:"#000",section:"light"},{backgroundColor:"#FFFFFF",color:"#C3272B",linkColor:"#000",rulerColor:"#000",maskColor:"#000",section:"light"},{backgroundColor:"#FFFFFF",color:"#955200",linkColor:"#000",rulerColor:"#000",maskColor:"#000",section:"light"},{backgroundColor:"#FFFFFF",color:"#007312",linkColor:"#000",rulerColor:"#000",maskColor:"#000",section:"light"},
{backgroundColor:"#FFFFFF",color:"#0100FF",linkColor:"#000",rulerColor:"#000",maskColor:"#000",section:"light"},{backgroundColor:"#fff",color:"#000",linkColor:"#C00",rulerColor:"#000",maskColor:"#000",section:"light"}],pallettes:[{backgroundColor:"#FCED20",color:"#000",linkColor:"#C00",rulerColor:"#000",maskColor:"#000"},{backgroundColor:"#FCED20",color:"#000",linkColor:"#C00",rulerColor:"#000",maskColor:"#000"},{backgroundColor:"#FCED20",color:"#000",linkColor:"#C00",rulerColor:"#000",maskColor:"#000"}],
languages:{"default":{name:"Default",native_name:"Reset",audible:!1,flag:null},af:{name:"Afrikaans",native_name:"Afrikaans",audible:!1,flag:"sa"},sq:{name:"Albanian",native_name:"shqip",audible:!1,flag:"al"},am:{name:"Amharic",native_name:"\u12a3\u121b\u122d\u129b",audible:!1,flag:null},ar:{name:"Arabic",native_name:"\u0639\u0631\u0628\u064a",audible:!0,flag:"dz"},hy:{name:"Armenian",native_name:"\u0540\u0561\u0575\u0565\u0580\u0567\u0576",audible:!1,flag:null},az:{name:"Azerbaijani",native_name:"\u0622\u0630\u0631\u0628\u0627\u064a\u062c\u0627\u0646\u062c\u0627 \u062f\u064a\u0644\u064a",
audible:!1,flag:"az"},eu:{name:"Basque",native_name:"euskara",audible:!1,flag:null},bn:{name:"Bengali",native_name:"\u09ac\u09be\u0982\u09b2\u09be (ba\u025b\u1e45l\u0101)",audible:!1,flag:"bd"},be:{name:"Belarusian",native_name:"\u0411\u0435\u043b\u0430\u0440\u0443\u0441\u043a\u0430\u044f \u043c\u043e\u0432\u0430",audible:!1,flag:"by"},bs:{name:"Bosnian",native_name:"bosanski",audible:!1,flag:null},bg:{name:"Bulgarian",native_name:"\u0431\u044a\u043b\u0433\u0430\u0440\u0441\u043a\u0438 (b\u00e3lgarski)",
audible:!1,flag:"bg"},ca:{name:"Catalan",native_name:"catal\u00e0",audible:!1,flag:"ad"},ceb:{name:"Cebuano",native_name:"Sinugboanon",audible:!1,flag:null},ny:{name:"Chichewa",native_name:"Chiche\u0175a",audible:!1,flag:null},"zh-CN":{name:"Chinese Simplified",native_name:"\u4e2d\u56fd\u7b80\u5316",audible:!0,flag:"cn"},"zh-TW":{name:"Chinese Traditional",native_name:"\u4e2d\u570b\u50b3\u7d71",audible:!0,flag:"cn"},co:{name:"Corsican",native_name:"corsu",audible:!1,flag:null},hr:{name:"Croatian",
native_name:"Hrvatski",audible:!1,flag:"hr"},cs:{name:"Czech",native_name:"\u010de\u0161tina",audible:!0,flag:"cz"},da:{name:"Danish",native_name:"dansk",audible:!0,flag:"dk"},nl:{name:"Dutch",native_name:"Nederlands",audible:!0,flag:"nl"},en:{name:"English",native_name:"English",audible:!0,flag:"gb"},eo:{name:"Esperanto",native_name:"Esperanto",audible:!1,flag:null},et:{name:"Estonian",native_name:"eesti keel",audible:!1,flag:"ee"},tl:{name:"Filipino",native_name:"filipino",audible:!1,flag:"ph"},
fi:{name:"Finnish",native_name:"suomi",audible:!0,flag:"fi"},fr:{name:"French",native_name:"fran\u00e7ais",audible:!0,flag:"fr"},fy:{name:"Frisian (West)",native_name:"Frysk",audible:!1,flag:null},gl:{name:"Galician",native_name:"Galego",audible:!1,flag:"gl"},ka:{name:"Georgian",native_name:"\u10e5\u10d0\u10e0\u10d7\u10e3\u10da\u10d8 (k\u02bbart\u02bbuli)",audible:!1,flag:"ge"},de:{name:"German",native_name:"Deutsch",audible:!0,flag:"de"},el:{name:"Greek",native_name:"\u03b5\u03bb\u03bb\u03b7\u03bd\u03b9\u03ba\u03ac ",
audible:!0,flag:"gr"},gu:{name:"Gujarati",native_name:"\t\u0a97\u0ac1\u0a9c\u0ab0\u0abe\u0aa4\u0ac0 ",audible:!1,flag:"gu"},ht:{name:"Haitian Creole",native_name:"Krey\u00f2l ayisyen",audible:!1,flag:"ht"},ha:{name:"Hausa",native_name:"\u062d\u064e\u0648\u0652\u0633",audible:!1,flag:null},haw:{name:"Hawaiian",native_name:"\u02bb\u014dlelo Hawai\u02bbi",audible:!1,flag:null},iw:{name:"Hebrew",native_name:"\u05e2\u05b4\u05d1\u05b0\u05e8\u05b4\u05d9\u05ea",audible:!1,flag:"il"},hi:{name:"Hindi",native_name:"\u0939\u093f\u0928\u094d\u0926\u0940",
audible:!0,flag:"in"},hmn:{name:"Hmong",native_name:"Hmong",audible:!1,flag:null},hu:{name:"Hungarian",native_name:"Hungarian Magyar",audible:!0,flag:"hu"},is:{name:"Icelandic",native_name:"\u00cdslenska",audible:!1,flag:"is"},ig:{name:"Igbo",native_name:"Igbo",audible:!1,flag:null},id:{name:"Indonesian",native_name:"Bahasa Indonesia",audible:!0,flag:"id"},ga:{name:"Irish (Gaelic)",native_name:"Gaeilge",audible:!1,flag:"ie"},it:{name:"Italian",native_name:"italiano",audible:!0,flag:"it"},ja:{name:"Japanese",
native_name:"\u65e5rus\u672c\u8a9e",audible:!0,flag:"jp"},jv:{name:"Javanese",native_name:"ba\u1e63a Jawa",audible:!1,flag:null},kn:{name:"Kannada",native_name:"\u0c95\u0ca8\u0ccd\u0ca8\u0ca1 ",audible:!1,flag:"id"},kk:{name:"Kazakh",native_name:"\u049a\u0430\u0437\u0430\u049b \u0442\u0456\u043b\u0456 ",audible:!1,flag:null},km:{name:"Khmer",native_name:"\t\u1797\u17b6\u179f\u17b6\u1781\u17d2\u1798\u17c2\u179a ",audible:!1,flag:null},ko:{name:"Korean",native_name:"\ud55c\uad6d\uc5b4 ",audible:!0,
flag:"kr"},ku:{name:"Kurdish",native_name:"Kurmanji ",audible:!1,flag:null},ky:{name:"Kyrgyz",native_name:"\u0642\u0649\u0631\u0639\u0649\u0632 ",audible:!1,flag:null},lo:{name:"Lao",native_name:"\u0e9e\u0eb2\u0eaa\u0eb2\u0ea5\u0eb2\u0ea7 ",audible:!1,flag:null},la:{name:"Latin",native_name:"Lingua Latina",audible:!1,flag:"va"},lv:{name:"Latvian",native_name:"\tlatvie\u0161u valoda",audible:!1,flag:"lv"},lt:{name:"Lithuanian",native_name:"lietuvi\u0173 kalba",audible:!1,flag:"lt"},lb:{name:"Luxembourgish",
native_name:"L\u00ebtzebuergesch",audible:!1,flag:null},mk:{name:"Macedonian",native_name:"\u043c\u0430\u043a\u0435\u0434\u043e\u043d\u0441\u043a\u0438",audible:!1,flag:"mk"},mg:{name:"Malagasy",native_name:"Fiteny Malagasy",audible:!1,flag:null},ms:{name:"Malay",native_name:"Bahasa melayu",audible:!1,flag:"my"},ml:{name:"Malayalam",native_name:"\u0d2e\u0d32\u0d2f\u0d3e\u0d33\u0d02 ",audible:!1,flag:null},mt:{name:"Maltese",native_name:"Malti",audible:!1,flag:"mt"},mi:{name:"Maori",native_name:"\tte Reo M\u0101ori",
audible:!1,flag:null},mr:{name:"Marathi",native_name:"\u092e\u0930\u093e\u0920\u0940",audible:!1,flag:null},mn:{name:"Mongolian",native_name:"\u041c\u043e\u043d\u0433\u043e\u043b",audible:!1,flag:null},my:{name:"Myanmar (Burmese)",native_name:"\t\u1017\u1019\u102c\u1005\u1000\u102c\u1038 ",audible:!1,flag:null},ne:{name:"Nepali",native_name:"\u0928\u0947\u092a\u093e\u0932\u0940",audible:!1,flag:null},no:{name:"Norwegian",native_name:"norsk",audible:!0,flag:"no"},ps:{name:"Pashto",native_name:"\u067e\u069a\u062a\u0648",
audible:!1,flag:null},fa:{name:"Persian",native_name:"\u0641\u0627\u0631\u0633\u0649",audible:!1,flag:"ir"},pl:{name:"Polish",native_name:"polski",audible:!0,flag:"pl"},pt:{name:"Portuguese",native_name:"portugu\u00eas",audible:!0,flag:"pt"},pa:{name:"Punjabi",native_name:"\u0a2a\u0a70\u0a1c\u0a3e\u0a2c\u0a40",audible:!1,flag:null},ro:{name:"Romanian",native_name:"rom\u00e2n\u0103",audible:!0,flag:"ro"},ru:{name:"Russian",native_name:"\u0420\u0443\u0441\u0441\u043a\u0438\u0439 \u044f\u0437\u044b\u043a ",
audible:!0,flag:"ru"},sm:{name:"Samoan",native_name:"Gagana Samoa",audible:!1,flag:null},gd:{name:"Scots Gaelic",native_name:"G\u00e0idhlig",audible:!1,flag:null},sr:{name:"Serbian",native_name:"\u0441\u0440\u043f\u0441\u043a\u0438",audible:!1,flag:"rs"},st:{name:"Sesotho",native_name:"seSotho",audible:!1,flag:null},sn:{name:"Shona",native_name:"chiShona",audible:!1,flag:null},sd:{name:"Sindhi",native_name:"\u0633\u0646\u068c\u064a",audible:!1,flag:null},si:{name:"Sinhala",native_name:"\u0dc3\u0dd2\u0d82\u0dc4\u0dbd",
audible:!1,flag:null},sk:{name:"Slovak",native_name:"sloven\u010dina",audible:!0,flag:"sk"},sl:{name:"Slovenian",native_name:"sloven\u0161\u010dina",audible:!1,flag:"sk"},so:{name:"Somali",native_name:"af Soomaali",audible:!1,flag:null},es:{name:"Spanish",native_name:"espa\u00f1ol",audible:!0,flag:"es"},su:{name:"Sundanese",native_name:"Basa Sunda",audible:!1,flag:null},sw:{name:"Swahili",native_name:"Kiswahili",audible:!1,flag:"ke"},sv:{name:"Swedish",native_name:"svenska",audible:!0,flag:"se"},
ta:{name:"Tamil",native_name:"\u0ba4\u0bae\u0bbf\u0bb4\u0bcd ",audible:!1,flag:"in"},tg:{name:"Tajik",native_name:"\u0442\u043e\u04b7\u0438\u043a\u0438",audible:!1,flag:null},te:{name:"Telugu",native_name:"\u0c24\u0c46\u0c32\u0c41\u0c17\u0c41",audible:!1,flag:"in"},th:{name:"Thai",native_name:"\u0e20\u0e32\u0e29\u0e32\u0e44\u0e17\u0e22",audible:!1,flag:"th"},tr:{name:"Turkish",native_name:"T\u00fcrk\u00e7e",audible:!0,flag:"tr"},uk:{name:"Ukrainian",native_name:"\u0423\u043a\u0440\u0430\u0457\u043d\u0441\u044c\u043a\u0430",
audible:!1,flag:"ua"},ur:{name:"Urdu",native_name:"\u0627\u0631\u062f\u0648",audible:!1,flag:"pk"},uz:{name:"Uzbek",native_name:"\t\u0623\u06c7\u0632\u0628\u06d0\u0643 \ufe97\ufef4\ufee0\u06cc o'zbek tili \u045e\u0437\u0431\u0435\u043a \u0442\u0438\u043b\u0438",audible:!1,flag:null},vi:{name:"Vietnamese",native_name:"ti\u1ebfng vi\u1ec7t",audible:!1,flag:"vn"},cy:{name:"Welsh",native_name:"Cymraeg",audible:!0,flag:"wales"},yi:{name:"Yiddish",native_name:"\u05f2\u05b4\u05d3\u05d9\u05e9",audible:!1,
flag:"ua"},xh:{name:"Xhosa",native_name:"isiXhosa",audible:!1,flag:null},yo:{name:"Yoruba",native_name:"Yor\u00f9b\u00e1",audible:!1,flag:null},zu:{name:"Zulu",native_name:"isiZulu",audible:!1,flag:null}},margins:[{name:"Default",value:null,icon:null},{name:"Large",value:"5%",icon:"recite-sprite-margin-large"},{name:"Medium",value:"15%",icon:"recite-sprite-margin-medium"},{name:"Small",value:"30%",icon:"recite-sprite-margin-small"}],alignments:[{name:"Default",value:null,icon:null},{name:"Left aligned",
value:"left",icon:null},{name:"Right aligned",value:"right",icon:null},{name:"Centered",value:"center",icon:null},{name:"Justified",value:"justify",icon:null}],simplifiedControls:!0,showLogo:!0,customLogo:!1,customLogoLink:!1,customLogoTitle:!1,customCloseTitle:!1,repositionBackground:!0};Recite.Event.subscribe("Preferences:load",d);Recite.Event.subscribe("Preferences:set",d);Recite.Event.subscribe("Preferences:reset",d);return{setOptions:function(a){h=Recite.Util.merge(h,a)},getOptions:function(){return h},
init:function(){},localize:function(a){Recite.Debug.log("Recite.Controls.Desktop","Localizing controls: "+a);Recite.Language.Translate.translate(Recite.Sizzle("#recite-header")[0],a)},applyTabOrder:function(){h.autoIncrementTabIndex&&e();b();a()},disable:function(){},invoke:function(a){var b=document.body;if(h.simplifiedControls){a.setAttribute("class",a.getAttribute("class")+" recite-controls-simplified");var c=Recite.Sizzle(".recite-sprite-logo")[0],f=Recite.Sizzle("#recite-logo-header")[0];if(Recite.Browser.isMobile()){c.setAttribute("class",
"recite-sprite-logo-icon");f.setAttribute("class",f.getAttribute("class")+" recite-header-logo-icon");c=Recite.Sizzle(".recite-sprite-button-magnifier")[0];f=Recite.Sizzle(".recite-sprite-button-ruler")[0];var g=Recite.Sizzle(".recite-sprite-button-screenmask")[0];c.style.display="none";f.style.display="none";g.style.display="none"}else c.setAttribute("class","recite-sprite-logo-small")}d();var l=Recite.Dom.getStyle(a,"height");l=parseInt(l.replace("px",""),10);if("tooltip"===Recite.getOptions().selectionMethod)try{Recite.PlayerControls.getProvider().setTopProtection(l)}catch(x){}if(h.repositionBackground)if(c=
Recite.Dom.getStyle(b,"background-position-y"),"0%"===c)b.setAttribute("style","background-position-y:"+l+" px !important");else if(c.match(/px/i)||"top"===c)c=c.replace("px",""),c=parseInt(c,10)+parseInt(l,10),b.setAttribute("style","background-position-y:"+c+" px !important");b.style.setProperty?(b.style.setProperty("position","absolute","important"),b.style.setProperty("top",l+"px","important"),b.style.setProperty("width","100%","important")):(b.style.width="100%",b.style.position="absolute",b.style.top=
l+"px");Recite.Util.each(Recite.Sizzle("*"),function(a,b){/recite/.test(b.getAttribute("id"))||/recite/.test(b.getAttribute("class"))||"fixed"!==Recite.Dom.getStyle(b,"position")||(a=b.offsetTop,a<l&&(b.style.top=l+a+"px"))});var e=Recite.Sizzle("#recite-fonts")[0];Recite.Util.each(h.fonts,function(a,b){a=document.createElement("div");a.setAttribute("class","recite-font recite-preference-set recite-default-button recite-default-button-full recite-standard-border-radius");a.setAttribute("data-key",
"style.font.face");"Default"!==b?(a.setAttribute("data-value",b.name),a.style.fontFamily=b.font):a.setAttribute("data-value","null");a.innerText=b.name;a.textContent=b.name;a.setAttribute("data-recite-tabbable","");e.appendChild(a)});Recite.Sizzle("#recite-swatches");var y=Recite.Sizzle("#recite-swatches-dark")[0],u=Recite.Sizzle("#recite-swatches-light")[0];Recite.Util.each(h.swatches,function(a,b){a=document.createElement("div");a.setAttribute("class","recite-swatch recite-preference-set recite-standard-border-radius");
a.setAttribute("data-recite-translate-skip","true");null===b.backgroundColor&&null===b.color&&null===b.linkColor?(a.setAttribute("class",a.getAttribute("class")+" recite-swatch-default"),a.textContent="Default",a.innerText="Default"):(a.textContent="A",a.innerText="A");var c="style.backgroundColor style.font.color style.link.color",d=b.backgroundColor+" "+b.color+" "+b.linkColor;b.hasOwnProperty("rulerColor")&&(c+=" style.ruler.color",d+=" "+b.rulerColor);b.hasOwnProperty("maskColor")&&(c+=" style.screenMask.color",
d+=" "+b.maskColor);b.hasOwnProperty("highlightColor")&&(c+=" style.wwHighlight.color",d+=" "+b.highlightColor);a.setAttribute("data-key",c);a.setAttribute("data-value",d);a.setAttribute("data-recite-tabbable","");a.style.color=b.color;a.style.backgroundColor=b.backgroundColor;"dark"==b.section&&y.appendChild(a);"light"==b.section&&u.appendChild(a)});var B=Recite.Sizzle("#recite-languages")[0];Recite.Util.each(h.languages,function(a,b){var c=document.createElement("li"),d=document.createElement("div"),
f=document.createElement("div");b.audible&&(f.setAttribute("class","recite_language_audible recite-sprite-audible "),c.appendChild(f));f=document.createElement("div");f.appendChild(document.createTextNode(b.name));f.setAttribute("class","recite_language_main_name_str");c.appendChild(f);"undefined"!=typeof b.native_name&&(d.setAttribute("class","recite_language_native_name_str"),d.setAttribute("data-recite-translate-skip","false"),d.appendChild(document.createTextNode(b.native_name)),c.appendChild(d));
c.setAttribute("class","recite-language-set recite-default-button recite-default-button-full recite-standard-border-radius");c.setAttribute("data-language",a);c.setAttribute("data-recite-tabbable","");c.setAttribute("data-recite-translate-skip","false");B.appendChild(c)});var z=Recite.Sizzle("#recite-margins")[0];Recite.Util.each(h.margins,function(a,b){a=document.createElement("div");a.setAttribute("class","recite-margin recite-preference-set");a.setAttribute("data-key","style.marginSize");a.setAttribute("data-value",
b.value);var c=b.icon||null;if(null!==c){var d=document.createElement("div");d.setAttribute("class",c);d.style.margin="0 auto";d.setAttribute("data-key","style.marginSize");d.setAttribute("data-value",b.value);a.appendChild(d)}else a.textContent=b.name,a.innerText=b.name;z.appendChild(a)});var C=Recite.Sizzle(".recite-sprite-button-margin")[0];C.style.display="none";Recite.Event.subscribe("TextMode:enabled",function(a,b){C.style.display="block"});Recite.Event.subscribe("TextMode:disabled",function(a,
b){C.style.display="none"});var w=Recite.Sizzle("#recite-alignments")[0];Recite.Util.each(h.alignments,function(a,b){a=document.createElement("div");a.setAttribute("class","recite-alignment recite-preference-set");a.setAttribute("data-key","style.textAlign");a.setAttribute("data-value",b.value);var c=b.icon||null;if(null!==c){var d=document.createElement("div");d.setAttribute("class",c);d.style.margin="0 auto";d.setAttribute("data-key","style.text-align");d.setAttribute("data-value",b.value);a.appendChild(d)}else a.textContent=
b.name,a.innerText=b.name;w.appendChild(a)});var t=Recite.Sizzle(".recite-sprite-button-alignment")[0];t&&(t.style.display="none",Recite.Event.subscribe("TextMode:enabled",function(a,b){t.style.display="block"}),Recite.Event.subscribe("TextMode:disabled",function(a,b){t.style.display="none"}));b=Recite.Sizzle(".recite-button",a);Recite.UI.Dropdown.invoke(b);Recite.Debug.log("Recite.Desktop","launch advanced");Recite.UI.AdvancedColors.invoke(".recite-colorpicker",a);var A=Recite.Sizzle(".recite-sprite-button-play")[0];
Recite.DomEvent.add(A,"click",function(a){"stopped"===A.getAttribute("data-status")?Recite.PlayerControls.play():Recite.PlayerControls.stop()});Recite.Event.subscribe("Audio:ended",function(a,b){k(A,"stop")});Recite.Event.subscribe("Audio:started",function(a,b){k(A,"play")});h.showLogo&&Recite.getOptions("showBrand")||(a=Recite.Sizzle(".recite-logo")[0],a.innerHTML="",a.setAttribute("class","custom-logo"));0!=h.customLogo&&(a=Recite.Sizzle(".recite-logo")[0],a.setAttribute("class","custom-logo"),
a.innerHTML='<img src="'+h.customLogo+'" />',0!=h.customLogoLink&&(a.href=h.customLogoLink),0!=h.customLogoTitle&&(a.title=h.customLogoTitle));0!=h.customCloseTitle&&(a=Recite.Sizzle("a.recite-close"),Recite.Util.each(a,function(a,b){b.title=h.customCloseTitle}));!1===Recite.AudioDownload.getOptions().enabled&&(a=Recite.Sizzle(".recite-sprite-button-mp3")[0],a.outerHTML="");a=Recite.Sizzle(".recite-close");Recite.getOptions("showBrand")||Recite.Util.each(a,function(a,b){b.setAttribute("title","Close Accessibility Toolbar")});
Recite.DomEvent.add(a,"click",function(a){a.preventDefault()});Recite.DomEvent.add(Recite.Sizzle("#recite-logo-header"),"click",function(a){if(h.promptBeforeLeave){a.preventDefault();var b=Recite.Controls.disableOverlay();Recite.Gui.Modal.show("Leaving Website","You are about to leave this website to go to http://www.reciteme.com. Click OK or hit <em>enter</em> key to continue. Press esc key or hit <em>cancel</em> to stay on this page.","OK","Cancel",function(){window.location.href=Recite.Sizzle("#recite-logo-header")[0].getAttribute("href")},
function(){Recite.Gui.Notification.show("Close operation canceled");Recite.Controls.reEnableOverlay(b)})}})}}}();Recite.namespace("Controls.Mobile");
Recite.Controls.Mobile=function(){function k(b,c){if("play"===c||"stopped"===b.getAttribute("data-status")&&"undefined"===c)return b.setAttribute("class",b.getAttribute("class").replace("recite-sprite-button-top-play-mobile","recite-sprite-button-top-stop-mobile")),b.setAttribute("data-status","playing"),"playing";if("stop"===c||"playing"===b.getAttribute("data-status")&&"undefined"===c)return b.setAttribute("class",b.getAttribute("class").replace("recite-sprite-button-top-stop-mobile","recite-sprite-button-top-play-mobile")),
b.setAttribute("data-status","stopped"),"stopped"}var e={fonts:"Default Arial Verdana Georgia Tahoma Trebuchet Tiresias".split(" "),swatches:[{backgroundColor:null,color:null,linkColor:null},{backgroundColor:"#000",color:"#fff",linkColor:"#C00"},{backgroundColor:"#C3272A",color:"#FFF",linkColor:"#00C"},{backgroundColor:"#F05924",color:"#FFF",linkColor:"#00C"},{backgroundColor:"#37B64B",color:"#fff",linkColor:"#2fc2ef"},{backgroundColor:"#0201FF",color:"#fff",linkColor:"#9c0001"},{backgroundColor:"#0000FE",
color:"#FCED20",linkColor:"#2fc2ef"},{backgroundColor:"#FCED20",color:"#0000FE",linkColor:"#2fc2ef"},{backgroundColor:"#fff",color:"#C3272A",linkColor:"#2fc2ef"},{backgroundColor:"#fff",color:"#F05924",linkColor:"#2fc2ef"},{backgroundColor:"#fff",color:"#37B64B",linkColor:"#C00"},{backgroundColor:"#fff",color:"#0201FF",linkColor:"#C00"},{backgroundColor:"#1DFF16",color:"#F4EED9",linkColor:"#C00"},{backgroundColor:"#CACFD3",color:"#343A3F",linkColor:"#C00"},{backgroundColor:"#F4EED9",color:"#1D1916",
linkColor:"#C00"},{backgroundColor:"#343A3F",color:"#CACFD3",linkColor:"#C00"},{backgroundColor:"#fff",color:"#000",linkColor:"#C00"}],languages:{"default":{name:"Default",flag:null},af:{name:"Afrikaans",flag:"sa"},sq:{name:"Albanian",flag:"al"},ar:{name:"Arabic",flag:"dz"},az:{name:"Azerbaijani",flag:"az"},eu:{name:"Basque",flag:null},bn:{name:"Bengali",flag:"bd"},be:{name:"Belarusian",flag:"by"},bg:{name:"Bulgarian",flag:"bg"},ca:{name:"Catalan",flag:"ad"},"zh-CN":{name:"Chinese Simplified",flag:"cn"},
"zh-TW":{name:"Chinese Traditional",flag:"cn"},hr:{name:"Croatian",flag:"hr"},cs:{name:"Czech",flag:"cz"},da:{name:"Danish",flag:"dk"},nl:{name:"Dutch",flag:"nl"},en:{name:"English",flag:"gb"},eo:{name:"Esperanto",flag:null},et:{name:"Estonian",flag:"ee"},tl:{name:"Filipino",flag:"ph"},fi:{name:"Finnish",flag:"fi"},fr:{name:"French",flag:"fr"},gl:{name:"Galician",flag:"gl"},ka:{name:"Georgian",flag:"ge"},de:{name:"German",flag:"de"},el:{name:"Greek",flag:"gr"},gu:{name:"Gujarati",flag:"gu"},ht:{name:"Haitian Creole",
flag:"ht"},iw:{name:"Hebrew",flag:"il"},hi:{name:"Hindi",flag:"in"},hu:{name:"Hungarian",flag:"hu"},is:{name:"Icelandic",flag:"is"},id:{name:"Indonesian",flag:"id"},ga:{name:"Irish",flag:"ie"},it:{name:"Italian",flag:"it"},ja:{name:"Japanese",flag:"jp"},kn:{name:"Kannada",flag:"id"},ko:{name:"Korean",flag:"kr"},la:{name:"Latin",flag:"va"},lv:{name:"Latvian",flag:"lv"},lt:{name:"Lithuanian",flag:"lt"},mk:{name:"Macedonian",flag:"mk"},ms:{name:"Malay",flag:"my"},mt:{name:"Maltese",flag:"mt"},no:{name:"Norwegian",
flag:"no"},fa:{name:"Persian",flag:"ir"},pl:{name:"Polish",flag:"pl"},pt:{name:"Portuguese",flag:"pt"},ro:{name:"Romanian",flag:"ro"},ru:{name:"Russian",flag:"ru"},sr:{name:"Serbian",flag:"rs"},sk:{name:"Slovak",flag:"sk"},sl:{name:"Slovenian",flag:"sk"},es:{name:"Spanish",flag:"es"},sw:{name:"Swahili",flag:"ke"},sv:{name:"Swedish",flag:"se"},ta:{name:"Tamil",flag:"in"},te:{name:"Telugu",flag:"in"},th:{name:"Thai",flag:"th"},tr:{name:"Turkish",flag:"tr"},uk:{name:"Ukrainian",flag:"ua"},ur:{name:"Urdu",
flag:"pk"},vi:{name:"Vietnamese",flag:"vn"},cy:{name:"Welsh",flag:"wales"},yi:{name:"Yiddish",flag:"ua"}}};return{setOptions:function(b){Recite.Debug.log("Recite.Controls.Mobile","Setting options");e=Recite.Util.merge(e,b)},init:function(){},localize:function(b){Recite.Debug.log("Recite.Controls.Desktop","Localizing controls: "+b)},invoke:function(b){var c=document.body,a=Recite.Dom.getStyle(b,"height");a=parseInt(a.replace("px",""),10)+10;c.style.position="absolute";c.style.paddingBottom=a+"px";
c.style.top=a+"px";c.style.width="100%";var d=Recite.Sizzle("#recite-fonts-list")[0];Recite.Util.each(e.fonts,function(a,b){a=document.createElement("li");var c=document.createTextNode(b);a.setAttribute("class","recite-font recite-preference-set");a.setAttribute("data-key","style.font.face");a.setAttribute("data-value",b);a.style.fontFamily=b;a.appendChild(c);d.appendChild(a)});var l=Recite.Sizzle("#recite-languages")[0];Recite.Util.each(e.languages,function(a,b){var c=document.createElement("li");
b=document.createTextNode(b.name);c.setAttribute("class","recite-language-set");c.setAttribute("data-language",a);c.appendChild(b);l.appendChild(c)});var g=Recite.Sizzle("#recite-swatches")[0];Recite.Util.each(e.swatches,function(a,b){a=document.createElement("div");a.setAttribute("class","recite-swatch recite-preference-set");null===b.backgroundColor&&null===b.color&&null===b.linkColor?(a.setAttribute("class",a.getAttribute("class")+" recite-swatch-default"),a.textContent="/",a.innerText="/"):(a.textContent=
"A",a.innerText="A");a.setAttribute("data-key","style.backgroundColor style.font.color style.link.color");a.setAttribute("data-value",b.backgroundColor+" "+b.color+" "+b.linkColor);a.style.setProperty("color",b.color,"important");a.style.backgroundColor=b.backgroundColor;g.appendChild(a)});b=Recite.Sizzle(".recite-dropdown-invoke",b);Recite.UI.Dropdown.invoke(b);b=Recite.Sizzle(".recite-language-set");Recite.DomEvent.add(b,"click",function(a){Recite.UI.Dropdown.hideGroup("main")});b=Recite.Sizzle(".recite-sprite-button-share-mobile")[0];
Recite.DomEvent.add(b,"click",function(a){ReciteAndroidInterface.sharePage(document.URL)});b=Recite.Sizzle(".recite-sprite-button-favourite-mobile")[0];Recite.DomEvent.add(b,"click",function(a){ReciteAndroidInterface.addToFavourites(document.URL)});var h=Recite.Sizzle(".recite-sprite-button-top-play-mobile")[0];Recite.DomEvent.add(h,"click",function(a){"stopped"===h.getAttribute("data-status")?Recite.PlayerControls.play():Recite.PlayerControls.stop()});Recite.Event.subscribe("Audio:ended",function(a,
b){k(h,"stop")});Recite.Event.subscribe("Audio:started",function(a,b){k(h,"play")})}}}();Recite.namespace("Recite.Parser.Html");
Recite.Parser.Html=function(){function k(a){!1!==d.bubbleEvents&&(a=Recite.Sizzle(".recite-ele"),Recite.DomEvent.add(a,"click",function(a){a.target.parentNode.click()}))}function e(a){var c=null;if(0<a.length){var f=0,g=!1;Recite.Util.each(a,function(a,b){f+=Recite.Dom.getText(b).trim().length;if("IMG"==b.nodeName||"INPUT"==b.nodeName||"TEXTAREA"==b.nodeName)g=!0,b.setAttribute(d.elementAttribute,"true"),c=b});if(f>=d.minCharacters&&!g){var l=!1;Recite.Util.each(Recite.Dom.getAncestors(a[0]),function(b,
d){/ui-datepicker/g.test(d.getAttribute("class"))&&3===a[0].nodeType&&(l=!0,c=a[0].parentNode,(b=a[0].parentNode.getAttribute("class"))&&(b=b.replace(" recite-ele","")),a[0].parentNode.setAttribute("class",b+" recite-ele"))});if(!l){c=b(a[0].ownerDocument);a[0].parentNode.insertBefore(c,a[0]);for(var e=0;e<a.length;e++){var k=a[e].parentNode.removeChild(a[e]);c.appendChild(k)}}}}return c}function b(a){a=a.createElement(d.wrapTag);a.className="recite-ele recite-ele-style";a.style.display="inline";
if(d.debug.highlightElements){var b=Math.floor(256*Math.random()),c=Math.floor(256*Math.random()),g=Math.floor(256*Math.random());try{a.style.backgroundColor="rgba("+b+","+c+","+g+",0.4)"}catch(m){a.style.backgroundColor="rgb("+b+","+c+","+g+")"}}return a}function c(a){var b=[],c=[];Recite.Util.each(d.concatenateElementExceptions,function(a,c){b.push(c.toLowerCase())});Recite.Util.each(d.concatenateTypes,function(a,b){c.push(b.toLowerCase())});Recite.Util.each(d.skipConcatenation.elementTypes,function(a,
c){b.push(c.toLowerCase())});var g=0<=Recite.Util.inArray(Recite.Dom.getStyle(a,"display"),c),l=0<=Recite.Util.inArray(a.tagName.toLowerCase(),b),e=!1;Recite.Util.each(d.skipConcatenation.selectors,function(b,c){b=Recite.Sizzle(c);Recite.Util.each(b,function(b,c){c==a&&(e=!0)})});return g&&!l&&!e}function a(b,h,f){"undefined"===typeof f&&(f=[[]]);var g=!1,e=!1;if(1===b.nodeType&&/recite-ele/g.test(b.getAttribute("class")))return f;if(b){if(1===b.nodeType&&(0<=Recite.Util.inArray(b.tagName,d.skipElements)||
"true"===b.getAttribute("data-recite-skip"))||1===b.nodeType&&0<l.length&&"BR"===b.tagName&&"BR"===l[l.length-1].tagName)return f;3===b.nodeType&&Recite.Dom.getText(b).replace(/^\s*/,"").replace(/\s*$/,"");if(1===b.nodeType){var k;if(k=c(b)){a:{if(1===b.nodeType){k=b.getElementsByTagName("*");for(var n=0;n<k.length;n++)if("block"===Recite.Dom.getStyle(k[n],"display")){k=!0;break a}}k=!1}k=!k}if(k||"INPUT"==b.nodeName||"TEXTAREA"==b.nodeName&&"true"!==b.getAttribute("data-recite-skip"))g=!0}else 3===
b.nodeType&&(g=!0);!0===g&&(l[l.length-1]!==b.previousSibling&&(f.push(l),l=[]),l.push(b),e=!0);g=0;k=b.childNodes[g];if(!e)for(;k;)a(k,h+1,f),g++,k=b.childNodes[g]}return f}var d={maxCharacters:1E3,minCharacters:1,wrapTag:"recite",elementAttribute:"data-recite-ele",concatenateTypes:["inline","inline-block"],skipConcatenation:{elementTypes:["li","img"],selectors:[]},skipElements:"SCRIPT STYLE SELECT OPTION FRAMESET FRAME IFRAME NOSCRIPT".split(" "),parseImgAltAttribute:!0,bubbleEvents:!1,bubbleStyles:!0,
debug:{highlightElements:!1},concatenateElementExceptions:["li"]},l=[];return{setOptions:function(a){Recite.Debug.log("Recite.Parser.Html","Setting options");d=Recite.Util.merge(d,a)},parse:function(b){var c=new Date,d=a(b,1);b=Recite.Sizzle("img");Recite.Util.each(b,function(a,b){"true"!==b.getAttribute("data-recite-skip")&&d.push([b])});0<l.length&&d.push(l);0===d[d.length-1].length&&d.pop();var g=[];Recite.Util.each(d,function(a,b){0!==b.length&&(a=e(b),null!==a&&g.push(a))});Recite.Debug.log("Recite.Parser.Html",
"Parsed "+g.length+" elements in: "+((new Date).getTime()-c.getTime())+"ms");k(g);Recite.Event.publish("Recite.Parser:parsed");c=document.getElementsByTagName("*");b=0;for(var m=c.length;b<m;b++)Recite.Style.getOptions().preserve_background_images&&""!=c[b].style.backgroundImage&&c[b].setAttribute("class",c[b].getAttribute("class")+" recite-ignore-styles-background ");return g},wrapElements:function(a){Recite.Util.each(a,function(a,b){e(b)})}}}();Recite.namespace("Recite.Parser.Selector");
Recite.Parser.Selector=function(){var k={maxCharacters:1E3,minCharacters:1,selector:".recite"};return{setOptions:function(e){Recite.Debug.log("Recite.Parser.Selector","Setting options");k=Recite.Util.merge(k,e)},parse:function(e){Recite.Debug.log("Recite.Parser.Selector","Parser invoked on element:",e);var b=Recite.Sizzle(k.selector,e);Recite.Util.each(b,function(c,a){a=Recite.Dom.getText(a);(a.length<k.minCharacters||a.length>k.maxCharacters)&&b.splice(c)});return b}}}();Recite.namespace("PlayerControls");
Recite.PlayerControls=function(){function k(){null===b.provider?b.enableMobileControls&&Recite.Browser.isMobile()?b.provider=Recite.PlayerControls.Fixed:b.provider=Recite.PlayerControls.Tooltip:"none"===b.provider?b.provider=Recite.PlayerControls.NoGUI:"disable"===b.provider&&(b.provider=null);null!=b.provider&&b.provider.init&&b.provider.init()}function e(){Recite.Preferences.get("playerControls.enabled")?Recite.PlayerControls.enable():Recite.PlayerControls.disable()}var b={provider:null,enableMobileControls:!0,
minSkipTime:300},c=null;Recite.Event.subscribe("Recite.Dom.Observor:change",function(a,b){void 0!=b&&b.hasOwnProperty("affectedElements")&&Recite.PlayerControls.invoke(b.affectedElements)});Recite.Event.subscribe("Recite:load",k);Recite.Event.subscribe("Preferences:load",e);Recite.Event.subscribe("Preferences:set",e);Recite.Event.subscribe("Preferences:reset",e);return{init:k,setOptions:function(a){a.provider&&b.provider&&b.provider.destroy();b=Recite.Util.merge(b,a);Recite.PlayerControls.Tooltip.setOptions(a.Tooltip);
Recite.PlayerControls.Fixed.setOptions(a.Fixed);Recite.PlayerControls.NoGUI.setOptions(a.NoGUI);a.provider&&a.provider.init&&b.provider.init()},invoke:function(a){null!=b.provider&&b.provider.invoke(a)},enable:function(){null!=b.provider&&b.provider.enable()},disable:function(){null!=b.provider&&b.provider.disable()},hide:function(){null!=b.provider&&b.provider.hide()},invalidate:function(){null!=b.provider&&b.provider.invalidate()},getControls:function(){return null!=b.provider?b.provider.getControls():
null},getProvider:function(){return b.provider},play:function(){Recite.Debug.log("Recite.PlayerControls PLAY",document.activeElement);return null!=b.provider?document.activeElement!==document.body?b.provider.play(document.activeElement):b.provider.play():null},stop:function(){return null!=b.provider?b.provider.stop():null},next:function(a){var d=Math.floor(Date.now());window.clearTimeout(null);if(null==c||d-c>b.minSkipTime)return c=d,Recite.Debug.log("Recite.PlayerControls","next"),Recite.FrameUpdater.isActive()&&
Recite.FrameUpdater.hasActiveChildFrame()?(Recite.FrameUpdater.activeFramePlayNext(),null):null!=b.provider?b.provider.next(a):null;Recite.Debug.log("Recite.PlayerControls","Skipping too fast, halting")},previous:function(a){var d=Math.floor(Date.now());window.clearTimeout(null);if(null==c||d-c>b.minSkipTime)return c=d,Recite.Debug.log("Recite.PlayerControls","prev"),Recite.FrameUpdater.isActive()&&Recite.FrameUpdater.hasActiveChildFrame()?(Recite.FrameUpdater.activeFramePlayPrev(),null):null!=b.provider?
b.provider.previous(a):null;Recite.Debug.log("Recite.PlayerControls","Skipping too fast, halting")},first:function(){var a=Math.floor(Date.now());window.clearTimeout(null);if(null==c||a-c>b.minSkipTime)return c=a,Recite.Debug.log("Recite.PlayerControls","first"),null!=b.provider?b.provider.first():null;Recite.Debug.log("Recite.PlayerControls","Skipping too fast, halting")},last:function(){var a=Math.floor(Date.now());window.clearTimeout(null);if(null==c||a-c>b.minSkipTime)return c=a,Recite.Debug.log("Recite.PlayerControls",
"last"),null!=b.provider?b.provider.last():null;Recite.Debug.log("Recite.PlayerControls","Skipping too fast, halting")}}}();Recite.namespace("PlayerControls.Tooltip");
Recite.PlayerControls.Tooltip=function(){function k(a){Recite.Util.each(p,function(b,c){Recite.Dom.isDescendant(a.target,c)||a.target===c||Recite.Dom.isDescendant(a.target,m)||a.target===m||Recite.Dom.isDescendant(a.target,Recite.Sizzle("#recite-header")[0])||d(c)})}function e(){Recite.Event.unsubscribe(n);Recite.Util.each([window],function(a,b){Recite.DomEvent.remove(b,"resize",v);Recite.DomEvent.remove(b,"scroll",r);Recite.DomEvent.remove(b,"click",k)})}function b(a){if(h){clearTimeout(g.timeout);
var b=this;m!==this&&(g.timeout=setTimeout(function(){c(b)},g.intent))}}function c(a){null!==a&&(null!==m&&(null!=m.getAttribute("class")&&m.setAttribute("class",m.getAttribute("class").replace("recite-selected","")),Recite.Event.publish("Recite.Tooltip:hide",{target:m})),m=a,l(a),m.setAttribute("class",m.getAttribute("class")+" recite-selected"),Recite.Event.publish("Recite.Tooltip:show",{target:m}),Recite.Preferences.get("player.autoplay")&&Recite.PlayerControls.Tooltip.play())}function a(){Recite.Debug.log("Recite.Tooltip",
"Binding buttons for tooltip");var a=f.getElementById("recite-play");Recite.DomEvent.add(a,"click",function(a){Recite.PlayerControls.Tooltip.play()});a=f.getElementById("recite-stop");Recite.DomEvent.add(a,"click",function(a){Recite.Player.stop()});a=f.getElementById("recite-back");Recite.DomEvent.add(a,"click",function(a){Recite.Player.rewind()});a=f.getElementById("recite-forward");Recite.DomEvent.add(a,"click",function(a){Recite.Player.forward()})}function d(a){a.style.display="none";null!==m&&
(null!=m.getAttribute("class")&&m.setAttribute("class",m.getAttribute("class").replace("recite-selected","")),Recite.Event.publish("Recite.Tooltip:hide",{target:m}));m=null}function l(b){b&&m&&b===m&&Recite.PlayerControls.getProvider().current&&Recite.PlayerControls.getProvider().current!==b&&(b=Recite.PlayerControls.getProvider().current);var c=Recite.Sizzle("#recite-tooltip",f)[0];"undefined"===typeof c&&(Recite.Debug.log("Recite.Tooltip","Adding tooltip to document"),c=f.createElement("div"),c.setAttribute("class",
"recite-tooltip small"),c.setAttribute("id","recite-tooltip"),c.style.position="absolute",c.innerHTML='<div class="recite-tooltip-content">'+g.content+'</div>                         <div class="recite-sprite-tip-bottomleft" id="recite-tip"></div>',Recite.Sizzle("body",f)[0].appendChild(c),Recite.getOptions(),!1!==Recite.Controls.Desktop.getOptions().showLogo&&!1!==Recite.getOptions("showBrand")&&!1===Recite.Controls.Desktop.getOptions().customLogo&&(document.getElementById("recite-tooltip-logo").setAttribute("class",
"recite-sprite-tooltip-logo"),c.setAttribute("class","recite-tooltip")),a(f),p.push(c));var d=c;d.style.display="block";for(var h=0;h<p.length;h++)p[h]!==d&&(p[h].style.display="none");var l=f.body,e=Recite.Dom.getPosition(b);h=Recite.Dom.getScroll(b.ownerDocument.defaultView);var k=e.top-d.offsetHeight-g.adjust.y,n=e.left+("right"==g.position?b.offsetWidth:0);c="recite-sprite-tip-bottom-left";var q=k-h.y-g.adjust.y,y=n+d.offsetWidth-h.x;d.style.position="absolute";var r=Recite.Dom.getAncestors(b);
for(h=0;h<r.length;h++)"fixed"===Recite.Dom.getStyle(r[h],"position")&&(d.style.position="fixed",q=k-g.adjust.y);q<g.protect.top-g.adjust.y?(k=e.top+b.offsetHeight+g.adjust.y,c="recite-sprite-tip-top-left",y>l.clientWidth-g.protect.right&&(n=e.left-d.offsetWidth+g.adjust.x,c="recite-sprite-tip-top-right")):y>l.clientWidth&&(n=e.left-d.offsetWidth+g.adjust.x,c="recite-sprite-tip-bottom-right");d.style.top=k+"px";d.style.left=n+"px";b=f.getElementById("recite-tip");b.setAttribute("class",c);b.setAttribute("className",
c)}var g={dimensions:{height:0},adjust:{x:0,y:15},protect:{top:40,right:0,bottom:0,left:0},position:"left",intent:500,timeout:null,content:'<div id="recite-tooltip-logo" data-recite-skip="true"></div>            <a id="recite-play" class= "recite-sprite-tooltip-btn recite-sprite-tooltip-play" ></a>            <a id="recite-stop" class="recite-sprite-tooltip-btn recite-sprite-tooltip-stop"></a>            <a id="recite-back" class="recite-sprite-tooltip-btn recite-sprite-tooltip-back"></a>            <a id="recite-forward" class="recite-sprite-tooltip-btn recite-sprite-tooltip-forward"></a>'},
h=!0,f,p=[],m=null,q=!1,n=null,v;var r=v=function(){m&&l(m)};return{init:function(){if(!q){n=Recite.Event.subscribe("Style:updated",Recite.PlayerControls.Tooltip.invalidate);for(var a=[window],b=0;b<a.length;b++)Recite.DomEvent.add(a[b],"resize",v),Recite.DomEvent.add(a[b],"scroll",r),Recite.DomEvent.add(a[b],"click",k);q=!0}},destroy:function(){e();q=!1},enable:function(){h=!0},disable:function(){h=!1;Recite.Util.each(p,function(a,b){d(b)})},hide:function(){Recite.Util.each(p,function(a,b){d(b)})},
setOptions:function(a){g=Recite.Util.merge(g,a)},getOptions:function(){return g},invoke:function(a){this.init();f=a.ownerDocument?a.ownerDocument:document;Recite.DomEvent.add(a,"mouseover",b);Recite.DomEvent.add(a,"mouseout",function(a){clearTimeout(g.timeout)})},invalidate:function(){m&&l(m)},play:function(a){a?(Recite.PlayerDispatcher.dispatch(a),c(a)):null===m?Recite.PlayerControls.next():Recite.PlayerDispatcher.dispatch(m)},stop:function(){Recite.Player.stop()},seekingSupported:function(){return!0},
next:function(a){"undefined"!=typeof a&&(m=a);a=Recite.Dom.getNextElement(m);if(a===m||null==a)return Recite.Debug.log("Recite.PlayerControls.Tooltip","next element same as current or null, halting"),null;c(a);Recite.Dom.isVisible(a)||Recite.Dom.scrollTo(a)},previous:function(a){"undefined"!=typeof a&&(m=a);a=Recite.Dom.getPreviousElement(m);if(a===m||null==a)return Recite.Debug.log("Recite.PlayerControls.Tooltip","prev element same as current or null, halting"),null;c(a);Recite.Dom.isVisible(a)||
Recite.Dom.scrollTo(a)},first:function(){var a=Recite.Dom.getFirstElement();if(null!=a)c(a);else return Recite.Debug.log("Recite.PlayerControls.Tooltip","no first element, halting"),null;Recite.Dom.isVisible(a)||Recite.Dom.scrollTo(a)},last:function(){var a=Recite.Dom.getLastElement();if(null!=a)c(a);else return Recite.Debug.log("Recite.PlayerControls.Tooltip","no last element, halting"),null;Recite.Dom.isVisible(a)||Recite.Dom.scrollTo(a)},setCurrent:function(a){m=a},current:m}}();Recite.namespace("PlayerControls.Fixed");
Recite.PlayerControls.Fixed=function(){function k(){n=Recite.Event.subscribe("Style:updated",Recite.PlayerControls.Tooltip.invalidate);for(var a=[window],b=0;b<a.length;b++)Recite.DomEvent.add(a[b],"resize",v),Recite.DomEvent.add(a[b],"scroll",r),Recite.DomEvent.add(a[b],"click",y)}function e(){Recite.Event.unsubscribe(n);Recite.Util.each([window],function(a,b){Recite.DomEvent.remove(b,"resize",v);Recite.DomEvent.remove(b,"scroll",r);Recite.DomEvent.remove(b,"click",y)})}function b(a){if(h){clearTimeout(g.timeout);
var b=this;m!==this&&(g.timeout=setTimeout(function(){c(b)},g.intent))}}function c(a){null!==m&&null!=m.getAttribute("class")&&m.setAttribute("class",m.getAttribute("class").replace("recite-selected",""));m=a;l(a);Recite.Preferences.get("player.autoplay")&&Recite.PlayerDispatcher.dispatch(m);m.setAttribute("class",m.getAttribute("class")+" recite-selected")}function a(){Recite.Debug.log("Recite.PlayerControls.Fixed","Binding buttons for fixed controls");var a=f.getElementById("recite-play");Recite.DomEvent.add(a,
"click",function(a){Recite.PlayerDispatcher.dispatch(m)});a=f.getElementById("recite-stop");Recite.DomEvent.add(a,"click",function(a){Recite.Player.stop()});a=f.getElementById("recite-back");Recite.DomEvent.add(a,"click",function(a){Recite.PlayerControls.previous()});a=f.getElementById("recite-forward");Recite.DomEvent.add(a,"click",function(a){Recite.PlayerControls.next()})}function d(a){a.style.display="none";null!==m&&null!=m.getAttribute("class")&&m.setAttribute("class",m.getAttribute("class").replace("recite-selected",
""));Recite.Sizzle("body",document)[0].style.paddingBottom="0px";m=null}function l(b){b=Recite.Sizzle("#recite-tooltip",f)[0];"undefined"===typeof b&&(Recite.Debug.log("Recite.PlayerControls.Fixed","Adding fixed controls to document"),b=f.createElement("div"),b.setAttribute("class","recite-tooltip-fixed"),b.setAttribute("id","recite-tooltip"),b.style.position="absolute",b.innerHTML='<div class="recite-tooltip-content">'+g.content+'</div>               <div class="recite-tip-bottomleft" id="recite-tip"></div>',
Recite.Sizzle("body",f)[0].appendChild(b),a(f),p.push(b));Recite.Debug.log("Recite.PlayerControls.Fixed","Fixed controls added to document: "+b);b.style.display="block";b.style.position="fixed";for(var c=0;c<p.length;c++)p[c]!==b&&(p[c].style.display="none");Recite.Sizzle("body",document)[0].style.paddingBottom=g.dimensions.height+"px"}var g={dimensions:{height:98},intent:500,timeout:null,content:'<a id="recite-back" class="recite-sprite-mobile-previous" onclick="Recite.PlayerControls.previous();"></a>                   <a id="recite-play" class="recite-sprite-mobile-play"></a>                   <a id="recite-stop" class="recite-sprite-mobile-stop"></a>                   <a id="recite-forward" class="recite-sprite-mobile-next" onclick="Recite.PlayerControls.next();"></a>'},
h=!0,f,p=[],m=null,q=!1,n=null,v;var r=v=function(){m&&l(m)};var y=function(a){Recite.Util.each(p,function(b,c){Recite.Dom.isDescendant(a.target,c)||a.target===c||Recite.Dom.isDescendant(a.target,m)||a.target===m||Recite.Dom.isDescendant(a.target,Recite.Sizzle("#recite-header")[0])||d(c)})};return{init:function(){q||(k(),q=!0)},destroy:function(){e();q=!1},enable:function(){h||k();h=!0},disable:function(){h&&e();h=!1},hide:function(){Recite.Util.each(p,function(a,b){d(b)})},setOptions:function(a){g=
Recite.Util.merge(g,a)},getOptions:function(){return g},invoke:function(a){Recite.Debug.log("Recite.Tooltop.Desktop","Invoking fixed playerControls");f=a.ownerDocument?a.ownerDocument:document;Recite.DomEvent.add(a,"mouseover",b);Recite.DomEvent.add(a,"mouseout",function(a){clearTimeout(g.timeout)})},invalidate:function(){m&&l(m)},seekingSupported:function(){return!0},play:function(a){a?(Recite.PlayerDispatcher.dispatch(a),c(a)):null===m?Recite.PlayerControls.next():Recite.PlayerDispatcher.dispatch(m)},
stop:function(){Recite.Player.stop()},next:function(a){"undefined"!=typeof a&&(m=a);a=Recite.Dom.getNextElement(m);a===m||null===a?Recite.Debug.log("Recite.PlayerControls.Fixed","next element same as current or null, halting"):(c(a),Recite.Dom.isVisible(a)||Recite.Dom.scrollTo(a))},previous:function(a){"undefined"!=typeof a&&(m=a);a=Recite.Dom.getPreviousElement(m);a===m||null===a?Recite.Debug.log("Recite.PlayerControls.Fixed","prev element same as current or null, halting"):(c(a),Recite.Dom.isVisible(a)||
Recite.Dom.scrollTo(a))},first:function(){var a=Recite.Dom.getFirstElement();if(null!=a)c(a);else return Recite.Debug.log("Recite.PlayerControls.Fixed","no first element, halting"),null;Recite.Dom.isVisible(a)||Recite.Dom.scrollTo(a)},last:function(){var a=Recite.Dom.getLastElement();if(null!=a)c(a);else return Recite.Debug.log("Recite.PlayerControls.Fixed","no last element, halting"),null;Recite.Dom.isVisible(a)||Recite.Dom.scrollTo(a)},current:m}}();Recite.namespace("PlayerControls.NoGUI");
Recite.PlayerControls.NoGUI=function(){function k(b){null!==b&&(null!==a&&null!=a.getAttribute("class")&&a.setAttribute("class",a.getAttribute("class").replace("recite-selected","")),a=b,a.setAttribute("class",a.getAttribute("class")+" recite-selected"),Recite.Preferences.get("player.autoplay")&&Recite.PlayerControls.NoGUI.play())}function e(d){if(c){clearTimeout(b.timeout);var g=this;a!==this&&(b.timeout=setTimeout(function(){k(g)},b.intent))}}var b={timeout:null,dimensions:{height:0}},c=!0,a=null,
d=!1;return{init:function(){d||(Recite.Event.subscribe("Style:updated",Recite.PlayerControls.Tooltip.invalidate),d=!0)},destroy:function(){d=!1},enable:function(){c=!0},disable:function(){c=!1},hide:function(){null!==a&&(null!=a.getAttribute("class")&&a.setAttribute("class",a.getAttribute("class").replace("recite-selected","")),Recite.Event.publish("Recite.Tooltip:hide",{target:a}));a=null},setOptions:function(a){b=Recite.Util.merge(b,a)},getOptions:function(){return b},invoke:function(a){this.init();
Recite.Debug.log("Recite.PlayerControls.NoGUI","Invoking NoGUI controls.");Recite.DomEvent.add(a,"mouseover",e);Recite.DomEvent.add(a,"mouseout",function(a){clearTimeout(b.timeout)})},invalidate:function(){},play:function(b){b?(Recite.PlayerDispatcher.dispatch(b),k(b)):null===a?Recite.PlayerControls.next():Recite.PlayerDispatcher.dispatch(a)},stop:function(){Recite.Player.stop()},seekingSupported:function(){return!0},next:function(b){"undefined"!=typeof b&&(a=b);b=Recite.Dom.getNextElement(a);b===
a||null===b?Recite.Debug.log("Recite.PlayerControls.NoGUI","next element same as current or null, halting"):k(b)},previous:function(b){"undefined"!=typeof b&&(a=b);b=Recite.Dom.getPreviousElement(a);b===a||null===b?Recite.Debug.log("Recite.PlayerControls.NoGUI","prev element same as current or null, halting"):k(b)},first:function(){var a=Recite.Dom.getFirstElement();if(null!=a)k(a);else return Recite.Debug.log("Recite.PlayerControls.NoGUI","no first element, halting"),null},last:function(){var a=
Recite.Dom.getLastElement();if(null!=a)k(a);else return Recite.Debug.log("Recite.PlayerControls.NoGUI","no last element, halting"),null},current:a}}();Recite.namespace("PlayerControls.MobileControls");
Recite.PlayerControls.MobileControls=function(){function k(){y=Recite.Event.subscribe("Style:updated",Recite.PlayerControls.Tooltip.invalidate);for(var a=[window],b=0;b<a.length;b++)Recite.DomEvent.add(a[b],"resize",B),Recite.DomEvent.add(a[b],"scroll",z),Recite.DomEvent.add(a[b],"click",C)}function e(){Recite.Event.unsubscribe(y);Recite.Util.each([window],function(a,b){Recite.DomEvent.remove(b,"resize",B);Recite.DomEvent.remove(b,"scroll",z);Recite.DomEvent.remove(b,"click",C)})}function b(a){if(p)if(v)v=
!1;else{Recite.Player.prepare();clearTimeout(f.timeout);var b=this;n!==this&&(f.timeout=setTimeout(function(){c(b)},f.intent))}}function c(a){null!==n&&null!=n.getAttribute("class")&&n.setAttribute("class",n.getAttribute("class").replace("recite-selected",""));n=a;h(a);Recite.Preferences.get("player.autoplay")&&(Recite.Debug.log("Recite.MobileControls","Playing audio..."),Recite.PlayerDispatcher.dispatch(n));n.setAttribute("class",n.getAttribute("class")+" recite-selected")}function a(){Recite.Debug.log("Recite.PlayerControls.MobileControls",
"Binding buttons for mobile controls");var a=m.getElementById("recite-play");Recite.DomEvent.add(a,"click",function(a){m.getElementById("recite-play");u?(l(),Recite.Player.stop(),u=!1):(g(),Recite.PlayerDispatcher.dispatch(n),u=!0)});a=m.getElementById("recite-back");Recite.DomEvent.add(a,"click",function(a){Recite.PlayerControls.Mobile.previous()});a=m.getElementById("recite-forward");Recite.DomEvent.add(a,"click",function(a){Recite.PlayerControls.next()})}function d(a){a.style.display="none";null!==
n&&null!=n.getAttribute("class")&&n.setAttribute("class",n.getAttribute("class").replace("recite-selected",""));Recite.Sizzle("body",document)[0].style.paddingBottom="0px";n=null}function l(){m.getElementById("recite-play").setAttribute("class","recite-sprite-mobile-play")}function g(){m.getElementById("recite-play").setAttribute("class","recite-sprite-mobile-stop")}function h(b){b=Recite.Sizzle("#recite-tooltip",m)[0];"undefined"===typeof b&&(Recite.Debug.log("Recite.PlayerControls.MobileControls",
"Adding mobile controls to document"),b=m.createElement("div"),b.setAttribute("class","recite-tooltip-mobile"),b.setAttribute("id","recite-tooltip"),b.style.position="absolute",b.innerHTML='<div class="recite-tooltip-content">'+f.content+'</div>               <div class="recite-tip-bottomleft" id="recite-tip"></div>',Recite.Sizzle("body",m)[0].appendChild(b),a(m),q.push(b));Recite.Debug.log("Recite.PlayerControls.MobileControls","Mobile controls added to document: "+b);b.style.display="block";b.style.position=
"mobile";for(var c=0;c<q.length;c++)q[c]!==b&&(q[c].style.display="none");Recite.Sizzle("body",document)[0].style.paddingBottom=f.dimensions.height+"px"}var f={dimensions:{height:58},intent:500,timeout:null,content:'<a id="recite-back" class="recite-sprite-mobile-previous" onclick="Recite.PlayerControls.previous();"></a>                   <a id="recite-play" class="recite-sprite-mobile-play"></a>                   <a id="recite-forward" class="recite-sprite-mobile-next" onclick="Recite.PlayerControls.next();"></a>'},
p=!0,m,q=[],n=null,v=!1,r=!1,y=null,u=!1,B;var z=B=function(){n&&h(n)};var C=function(a){Recite.Util.each(q,function(b,c){Recite.Dom.isDescendant(a.target,c)||a.target===c||Recite.Dom.isDescendant(a.target,n)||a.target===n||Recite.Dom.isDescendant(a.target,Recite.Sizzle("#recite-header")[0])||d(c)})};return{init:function(){r||(k(),r=!0)},destroy:function(){e();r=!1},enable:function(){p||k();p=!0},disable:function(){p&&e();p=!1},hide:function(){Recite.Util.each(q,function(a,b){d(b)})},setOptions:function(a){f=
Recite.Util.merge(f,a)},getOptions:function(){return f},invoke:function(a){Recite.Debug.log("Recite.Tooltop.Desktop","Invoking mobile playerControls");m=a.ownerDocument?a.ownerDocument:document;Recite.DomEvent.add(a,"touchmove",function(){v=!0});Recite.DomEvent.add(a,"click",b);Recite.Event.subscribe("Audio:started",function(){u=!0;g()});Recite.Event.subscribe("Audio:ended",function(){l()})},invalidate:function(){n&&h(n)},seekingSupported:function(){return!0},play:function(a){a?(Recite.PlayerDispatcher.dispatch(a),
c(a)):null===n?Recite.PlayerControls.next():Recite.PlayerDispatcher.dispatch(n)},stop:function(){Recite.Player.stop()},next:function(a){"undefined"!=typeof a&&(n=a);a=Recite.Dom.getNextElement(n);a===n||null===a?Recite.Debug.log("Recite.PlayerControls.MobileControls","next element same as current or null, halting"):(c(a),Recite.Dom.isVisible(a)||Recite.Dom.scrollTo(a))},previous:function(a){"undefined"!=typeof a&&(n=a);a=Recite.Dom.getPreviousElement(n);a===n||null===a?Recite.Debug.log("Recite.PlayerControls.MobileControls",
"prev element same as current or null, halting"):(c(a),Recite.Dom.isVisible(a)||Recite.Dom.scrollTo(a))},first:function(){var a=Recite.Dom.getFirstElement();if(null!=a)c(a);else return Recite.Debug.log("Recite.PlayerControls.MobileControls","no first element, halting"),null;Recite.Dom.isVisible(a)||Recite.Dom.scrollTo(a)},last:function(){var a=Recite.Dom.getLastElement();if(null!=a)c(a);else return Recite.Debug.log("Recite.PlayerControls.MobileControls","no last element, halting"),null;Recite.Dom.isVisible(a)||
Recite.Dom.scrollTo(a)},current:n}}();Recite.namespace("PlayerDispatcher");
Recite.PlayerDispatcher=function(){function k(a){if("undefined"==typeof a)return"";var c=Recite.Dom.getText(a);Recite.Util.each(b.readElements,function(b,d){a.tagName===b&&""!==c&&(c=d+". "+c)});return c}function e(a,b){var d=null,g=null;"string"===typeof a?d=a:(d=k(a),g=a.getAttribute("data-recite-voice")||null);try{if(d&&0<d.length&&(Recite.Player.play(d,b,g),Recite.getOptions().autoCache&&"string"!==typeof a)){var h=Recite.Dom.getNextElement(a,!0);h!==a&&null!=h&&setTimeout(function(){c===a&&Recite.Player.cache(k(h),
b,g)},500)}}catch(f){if(f instanceof Recite.Player.PlayerException)switch(f.code){case 400:Recite.Gui.Notification.show("This language is not supported by Recite",{play:!0})}}}var b={readElements:{A:"Link",IMG:"Image"}},c=null;return{setOptions:function(a){b=Recite.Util.merge(b,a)},dispatch:function(a){(null===Recite.Player.getPlayer()||Recite.Player.getPlayer().getOptions().prepareAudio)&&Recite.Player.prepare();var b=null,l=null;"string"===typeof a?b=a:(l=Recite.Dom.getLanguage(a),c=a,b=Recite.Dom.getText(a));
var g=Recite.Player.getOptions().languageDetection;2===g||null===l&&1<=g?l=Recite.Dom.detectLanguage(b,function(b){"und"===b&&(b=null);e(a,b)}):e(a,l)}}}();Recite.namespace("Player");
Recite.Player=function(){function k(){if(b)return b;var a=Recite.Audio.AEBroker.init();a?b=a:alert("Sorry, Recite requires either an HTML5 compatible browser or Flash support. Please upgrade your browser or install Flash to use Recite.");return b}function e(a,d,e,g,h){d=d||c.language;if(!Recite.Player.languageSupported(d))throw Recite.Debug.log("Recite.Player","Language not supported:"+d),new Recite.Player.PlayerException(400,"Unsupported Language");var f=k().format();e={q:a,f:f};null!==d&&(e.l=d);
var l=Recite.Preferences.get("voice.gender");e.g=l;(l=Recite.Preferences.get("player.playbackSpeed"))||(l=1);e.s=l;Recite.Debug.log("Recite.Player","Audio request: "+a);0>a.length&&!g.cache?(Recite.Debug.log("Recite.Player","GET Request"),Recite.Api.getUri("tts",{authRequired:!0,data:e,success:function(a){Recite.Debug.log("Recite.Player","Request url: "+a);h&&h(a)}})):(Recite.Debug.log("Recite.Player","POST Request"),b.getOptions().playlist||(e.playlist=!1),b.getOptions().waitForAudioProcessing&&
(e.waitForProcessing=!0),Recite.Api.call("tts","POST",{data:e,contentType:"application/json; charset=UTF-8",success:function(a){var b=a.data;Recite.Auth.getStatus(function(a){g.cache&&h.call();var c=[];Recite.Debug.log("Recite.Player","POST Callback");void 0!==b.id?(Recite.Debug.log("Recite.Player","Playing single file"),b.url=Recite.baseUrl+"/api/tts/"+b.id+"?f="+f+"&access_token="+a.access_token,c.push(b)):(Recite.Debug.log("Recite.Player","Playing multiple files - create a playlist"),Recite.Util.each(b,
function(b,d){d.url=Recite.baseUrl+"/api/tts/"+d.id+"?f="+f+"&access_token="+a.access_token;Recite.Debug.log("Recite.Player","Adding to playlist: "+d.url);c.push(d);Recite.Debug.log("Recite.Player","Added to playlist: "+d.url)}));h&&(Recite.Debug.log("Recite.Player","Calling callback with playlist"),h(c))})}}));Recite.Event.publish("Recite:ModuleEvent",{name:"Recite.Player",event:"play ("+d+")"})}var b=null,c={language:null,voices:{},languages:["cy","cy-gb","en","en-gb","en-us","en-in","en-au","fr","fr-ca","cn","da","nl","de","hi","is","it","ja","ko","no","pl","pt-br","pt","ro","ru","es","es-mx","es-us","sv","tr","cy","cy-gb","en","en-gb","en-us","en-in","en-au","fr","fr-ca","cn","da","nl","de","hi","is","it","ja","ko","no","pl","pt-br","pt","ro","ru","es","es-mx","es-us","sv","tr","cy","cy-gb","en","en-gb","en-us","en-in","en-au","fr","fr-ca","cn","da","nl","de","hi","is","it","ja","ko","no","pl","pt-br","pt","ro","ru","es","es-mx","es-us","sv","tr","ar-ae","ar","zh-CN","zh-TW","cs","el","fi","sk","hu","id","ar-ae","ar","zh-CN","zh-TW","cs","el","fi","sk","hu","id","ar-ae","ar","zh-CN","zh-TW","cs","el","fi","sk","hu","id","ar-ae","ar","zh-CN","zh-TW","cs","el","fi","sk","hu","id","ar-ae","ar","zh-CN","zh-TW","cs","el","fi","sk","hu","id","ar-ae","ar","zh-CN","zh-TW","cs","el","fi","sk","hu","id","en","EN-US","en-us","en-gb","en-sc","en-au","ar-ae","ar","tr","it","ko","zh-CN","zh-TW","th","ja","id","eu","ca","cs","da","nl","fi","fr","fr-fr","de","el","hi","hu","no","pl","pt","ro","ru","sk","es","sv","gl","iw","en","EN-US","en-us","en-gb","en-sc","en-au","ar-ae","ar","tr","it","ko","zh-CN","zh-TW","th","ja","id","eu","ca","cs","da","nl","fi","fr","fr-fr","de","el","hi","hu","no","pl","pt","ro","ru","sk","es","sv","gl","iw","ar-ae","ar","zh-CN","zh-TW","cs","el","fi","sk","hu","id","en","EN-US","en-us","en-gb","en-sc","en-au","ar-ae","ar","tr","it","ko","zh-CN","zh-TW","th","ja","id","eu","ca","cs","da","nl","fi","fr","fr-fr","de","el","hi","hu","no","pl","pt","ro","ru","sk","es","sv","gl","iw","ar-ae","ar","zh-CN","zh-TW","cs","el","fi","sk","hu","id","en","EN-US","en-us","en-gb","en-sc","en-au","ar-ae","ar","tr","it","ko","zh-CN","zh-TW","th","ja","id","eu","ca","cs","da","nl","fi","fr","fr-fr","de","el","hi","hu","no","pl","pt","ro","ru","sk","es","sv","gl","iw","en","EN-US","en-us","en-gb","en-sc","en-au","ar-ae","ar","tr","it","ko","zh-CN","zh-TW","th","ja","id","eu","ca","cs","da","nl","fi","fr","fr-fr","de","el","hi","hu","no","pl","pt","ro","ru","sk","es","sv","gl","iw","en","EN-US","en-us","en-gb","en-sc","en-au","ar-ae","ar","tr","it","ko","zh-CN","zh-TW","th","ja","id","eu","ca","cs","da","nl","fi","fr","fr-fr","de","el","hi","hu","no","pl","pt","ro","ru","sk","es","sv","gl","iw","ar-ae","ar","zh-CN","zh-TW","cs","el","fi","sk","hu","id","cy","cy-gb","en","en-gb","en-us","en-in","en-au","fr","fr-ca","cn","da","nl","de","hi","is","it","ja","ko","no","pl","pt-br","pt","ro","ru","es","es-mx","es-us","sv","tr","cy","cy-gb"],languageDetection:1};Recite.Event.subscribe("Audio:ended",
function(){Recite.Debug.log("Recite.Player","-------\x3eAudio ended")});return{setOptions:function(a){c=Recite.Util.merge(c,a)},getOptions:function(){return c},init:function(){if(null===c.language){var a=document.documentElement.lang;0<a.length&&this.setOptions({language:a})}},prepare:function(){k().getOptions().prepareAudio&&(Recite.Debug.log("Recite.Player","--------------------\x3e Preloading audio..."),k().play({url:Recite.baseUrl+"/audio/blank.mp3"}))},play:function(a,b,c){k().getOptions().playlist&&
k().clearPlaylist();e(a,b,c,{},function(a){Recite.Debug.log("Recite.Player","In callback");1==a.length?(Recite.Debug.log("Recite.Player","Queue length == 1 ... "+a[0].url),k().play(a[0])):(Recite.Debug.log("Recite.Player","Queue length = "+a.length),Recite.Util.each(a,function(a,b){Recite.Debug.log("Recite.Player","Adding URL to playlist: "+b.url);k().addToPlaylist(b)}),Recite.Debug.log("Recite.Player","Play the playlist"),k().playPlaylist(),Recite.Debug.log("Recite.Player","Finished invoking play"))})},
pause:function(){k().pause()},restart:function(){k().restart()},resume:function(){k().resume()},cache:function(a,b,c){e(a,b,c,{cache:!0},function(b){Recite.Debug.log("Recite.Player","Cached audio for: "+a)})},stop:function(){k().stop()},rewind:function(){k().rewind()},forward:function(){k().forward()},setPlayer:function(a){b=a},getPlayer:function(){return b},getSupportedLanguauges:function(){return c.languages},languageSupported:function(a){return-1<Recite.Util.inArray(a,c.languages)||null===a}}}();
Recite.Player.PlayerException=function(k,e){this.code=k;this.message=e};Recite.namespace("Audio.WebAudio");
Recite.Audio.WebAudio=function(){function k(){Recite.Player.getPlayer().play(c[0]);c.splice(0,1)}function e(b){null!=a&&Recite.Audio.WebAudio.stop();Recite.Event.publish("Audio:started");a=d.createBufferSource();a.buffer=b;a.connect(d.destination);a.start(0);a.onended=function(){0<c.length?(Recite.Event.publish("Audio:playlist-item-ended"),k()):Recite.Preferences.get("player.continuePlay")?Recite.PlayerControls.next():Recite.Event.publish("Audio:ended")}}var b="",c=[],a=null,d=null,l={prepareAudio:!0,
playlist:!0,waitForAudioProcessing:!1};return{setOptions:function(a){l=Recite.Util.merge(l,a)},init:function(){Recite.Debug.log("Recite.Audio.WebAudio","Init");b=Recite.Audio.WebAudio.support();Recite.Debug.log("Recite.Audio.WebAudio","Preferred format detected as:"+b);Recite.Debug.log("Recite.Audio.WebAudio",b)},play:function(a){Recite.Debug.log("Recite.Audio.WebAudio","Webaudio play called!");var b=new XMLHttpRequest;b.open("GET",a,!0);b.responseType="arraybuffer";b.onload=function(){Recite.Debug.log("Recite.Audio.WebAudio",
"ONLOAD CALLED!");d.decodeAudioData(b.response,function(a){Recite.Debug.log("Recite.Audio.WebAudio","PLAY SOUND CALLED!");e(a)})};b.send()},stop:function(){null!=a&&(a.onended=null,a.stop(0),Recite.Event.publish("Audio:ended"))},rewind:function(){},forward:function(){},support:function(){try{var a=window.AudioContext||window.webkitAudioContext||window.mozAudioContext||window.oAudioContext||window.msAudioContext;return AudioContext?(window.AudioContext=a,d=new a,!0):!1}catch(h){return!1}},format:function(){return"mp3"},
getOptions:function(){return l},getPlaylistState:function(){return _playlistPlaying},addToPlaylist:function(a){c.push(a);return c},clearPlaylist:function(){return c=[]},playPlaylist:function(){k()},updateMeta:function(a,b){if(b&&a)for(var d=0,h=c.length;d<h;d++)c[d]&&c[d].hasOwnProperty("id")&&c[d].id==b&&(c[d].meta=a);return c}}}();Recite.namespace("Audio.HTML5");
Recite.Audio.HTML5=function(){function k(){var a=d[0];d.splice(0,1);Recite.Player.getPlayer().play(a)}function e(){Recite.Debug.log("Recite.Audio.HTML5","Moving onto next playlist item");Recite.Preferences.get("player.continuePlay")&&0>=d.length?Recite.PlayerControls.next():(Recite.Debug.log("Recite.Audio.HTML5","Playlist length: "+d.length),Recite.Event.publish("Audio:playlist-item-ended"))}function b(){var a=c.play();void 0!==a&&(a.then(function(){}),a.catch(function(a){Recite.Audio.AEBroker.stop();
Recite.WordByWord.resetSection();Recite.Gui.Notification.show("Recite would like to read this content aloud.  Please click the play button.")}))}var c=null,a="",d=[],l={prepareAudio:!0,playlist:!0,waitForAudioProcessing:!1};return{setOptions:function(a){l=Recite.Util.merge(l,a)},init:function(){Recite.Event.subscribe("Audio:playlist-item-ended",function(){0<d.length?k():Recite.Event.publish("Audio:ended")});null==c&&(Recite.Debug.log("Recite.Audio.HTML5","Init"),c=document.createElement("audio"),
a=Recite.Audio.HTML5.format(),c.addEventListener("ended",function(){e()},!1),c.addEventListener("error",function(){Recite.Debug.log("Recite.Audio.HTML5","Audio failed");e()},!1),c.addEventListener("canplay",function(){Recite.Debug.log("Recite.Audio.HTML5","Can play");b()},!1),Recite.Debug.log("Recite.Audio.HTML5","Preferred format detected as:"+a),Recite.Debug.log("Recite.Audio.Html5",a))},play:function(a){Recite.Event.publish("Audio:started");c.setAttribute("src",a);Recite.Debug.log("Recite.Audio.HTML5",
"PLAY CALLED..."+a);return c.load()},pause:function(){c.pause();Recite.Event.publish("Audio:paused")},resume:function(){c.play();Recite.Event.publish("Audio:started")},restart:function(){c.currentTime=0;c.load();c.play();Recite.Event.publish("Audio:restarted")},stop:function(){Recite.Debug.log("Recite.Audio.HTML5","STOP CALLED...");c.pause();d=[];Recite.Event.publish("Audio:ended")},rewind:function(){--c.currentTime},forward:function(){c.currentTime+=2},support:function(){var a=document.createElement("audio"),
b=!!a.canPlayType;b&&(b=new Boolean(b),b.ogg=a.canPlayType('audio/ogg; codecs="vorbis"'),b.mp3=a.canPlayType("audio/mpeg;"),b.wav=a.canPlayType('audio/wav; codecs="1"'),b.m4a=a.canPlayType("audio/x-m4a;")||a.canPlayType("audio/aac;"));return b},format:function(){var a=Recite.Audio.HTML5.support();return a.ogg?"ogg":a.mp3?"mp3":a.wav?"wav":a.m4a?"m4a":!1},getOptions:function(){return l},getPlaylistState:function(){return _playlistPlaying},addToPlaylist:function(a){d.push(a);return d},clearPlaylist:function(){Recite.Debug.log("Recite.Audio.HTML5",
"CLEAR PLAYLIST CALLED...");return d=[]},playPlaylist:function(){k()},getCurrentTime:function(){return Math.floor(1E3*c.currentTime)},updateMeta:function(a,b){if(b&&a)for(var c=0,h=d.length;c<h;c++)d[c]&&d[c].hasOwnProperty("id")&&d[c].id==b&&(d[c].meta=a);return d}}}();Recite.namespace("Audio.SoundManager");
Recite.Audio.SoundManager=function(){function k(){Recite.Player.getPlayer().play(b[0]);b.splice(0,1)}var e=null,b=[],c={path:Recite.baseUrl+"/common/js/soundmanager/soundmanager2-jsmin.js",soundmanager:{debugMode:!1,debug:!1,url:Recite.baseUrl+"/common/swf/"},prepareAudio:!0,playlist:!0,waitForAudioProcessing:!1};return{setOptions:function(a){c=Recite.Util.merge(c,a)},init:function(){Recite.Debug.log("Recite.Audio.SoundManager","Init soundmanager");Recite.Event.subscribe("Audio:ended",function(){Recite.Preferences.get("player.continuePlay")&&
Recite.PlayerControls.next()});Recite.Event.subscribe("Audio:playlist-item-ended",function(){0<b.length?k():Recite.Event.publish("Audio:ended")})},play:function(a){Recite.Debug.log("Recite.Audio.SoundManager","Play called");window.soundManager?((e=soundManager.getSoundById(a))||(e=soundManager.createSound({id:a,url:a})),soundManager.stopAll(),e.play({onload:function(a){a||(Recite.Debug.log("Recite.Audio.SoundManager","Cannot load audio file"),Recite.Event.publish("Audio:playlist-item-ended"))},onfinish:function(){Recite.Debug.log("Recite.Audio.SoundManager",
"Onfinish called");Recite.Event.publish("Audio:playlist-item-ended")},ondataerror:function(){Recite.Debug.log("Sound manager --- > Item failed: "+a);Recite.Event.publish("Audio:playlist-item-ended")}})):Recite.AssetLoader.js(c.path,function(){window.soundManager=new SoundManager;Recite.Util.each(c.soundmanager,function(a,b){soundManager[a]=b});soundManager.beginDelayedInit();soundManager.stopAll();soundManager.onready(function(){e=soundManager.createSound({id:a,url:a}).play({onload:function(a){a||
(Recite.Debug.log("Recite.Audio.SoundManager","Cannot load audio file"),Recite.Event.publish("Audio:playlist-item-ended"))},onfinish:function(){Recite.Debug.log("Recite.Audio.SoundManager","Onfinish called");Recite.Event.publish("Audio:playlist-item-ended")},ondataerror:function(){Recite.Debug.log("Sound manager --- > Item failed: "+a);Recite.Event.publish("Audio:playlist-item-ended")}})})});Recite.Event.publish("Audio:started")},preload:function(a){Recite.Audio.SoundManager.play(a)},pause:function(){e.pause();
Recite.Event.publish("Audio:paused")},resume:function(){e.resume();Recite.Event.publish("Audio:started")},restart:function(){e&&(Recite.Debug.log("Recite.Audio.Soundmanager","Restarting track"),e.setPosition(0))},stop:function(){e&&e.stop();Recite.Event.publish("Audio:ended")},rewind:function(){e&&(Recite.Debug.log("Recite.Audio.Soundmanager","Skiping backwards"),e.setPosition(e.position-500))},forward:function(){e?(Recite.Debug.log("Recite.Sudio.Soundmanager","Skiping forward"),e.setPosition(e.position+
500)):Recite.Debug.log("Recite.Sudio.Soundmanager","No sound object!?")},support:function(){return!0},format:function(){return"mp3"},addToPlaylist:function(a){b.push(a);return b},clearPlaylist:function(){return b=[]},playPlaylist:function(){k()},getOptions:function(){return c},getCurrentTime:function(){return e.position},updateMeta:function(a,c){if(c&&a)for(var d=0,e=b.length;d<e;d++)b[d]&&b[d].hasOwnProperty("id")&&b[d].id==c&&(b[d].meta=a);return b}}}();Recite.namespace("Audio.Download");
Recite.Audio.Download=function(){var k={prepareAudio:!1,playlist:!1,waitForAudioProcessing:!0};return{setOptions:function(e){k=Recite.Util.merge(k,e)},init:function(){},play:function(e){Recite.Audio.AEBroker.setDownload(!1);Recite.Debug.log("Recite.Audio.Download","PLAY");window.location.href=e+"&download=true"},stop:function(){},rewind:function(){},forward:function(){},support:function(){return!0},format:function(){return"mp3"},getOptions:function(){return k}}}();Recite.namespace("Audio.AEBroker");
Recite.Audio.AEBroker=function(){function k(){var a=Recite.Preferences.get("player.playbackSpeed");0>p?p=a:0<p&&p!=a&&(p=a,setTimeout(function(){if(f&&p==a){e();var b=Recite.Sizzle("recite.recite-selected");0<b.length&&Recite.PlayerDispatcher.dispatch(b[0])}},g.speedChangeWait))}function e(){null!=l&&l.stop()}function b(a){var d=a.id,e=a.url;if("blank.mp3"!=e.substr(e.length-9,9)){var k=c(d,"meta");if(k)l.updateMeta(k,d),f&&f.hasOwnProperty("id")&&f.id==d&&(f.meta=k);else{var m=c(d,"count");null==
m&&(m=0);m<=g.metaLoadAttempts&&Recite.Ajax.ajax(e+"&meta=true",{method:"get",success:function(a){200==a.status&&a.response&&(a=JSON.parse(a.response))&&(null!=d&&null!=m&&(h[d]={meta:a,count:m}),l.updateMeta(a,d),f&&f.hasOwnProperty("id")&&f.id==d&&(f.meta=a))},error:function(c){if(404==c.status||408==c.status)m++,null!=d&&null!=m&&(h[d]={meta:null,count:m}),m<g.metaLoadAttempts&&setTimeout(function(){b(a)},g.metaLoadPause)}})}}}function c(a,b){return h.hasOwnProperty(a)&&h[a].hasOwnProperty(b)?
h[a][b]:null}function a(){Recite.Audio.HTML5.support()?(Recite.Debug.log("Recite.Player","HTML5 Audio support detected, using Recite.Audio.HTML5 as backend."),Recite.Audio.HTML5.init(),l=Recite.Audio.HTML5):Recite.Audio.SoundManager.support()&&(Recite.Debug.log("Recite.Player","HTML5 Audio not supported, using Recite.Audio.SoundManager as backend."),Recite.Audio.SoundManager.init(),l=Recite.Audio.SoundManager)}function d(a,b){null!=l&&(a=a?l.play(a):l.play(),void 0!==a?(a.then(function(){"function"==
typeof b&&b()}),a.catch(function(a){Recite.Audio.AEBroker.stop();Recite.WordByWord.resetSection();Recite.Gui.Notification.show("Recite would like to read this content aloud.  Please click the play button.")})):"function"==typeof b&&b())}var l=null,g={metaLoadAttempts:10,metaLoadPause:500,speedChangeWait:300},h={},f=null,p=-1,m=!1;Recite.Event.subscribe("Translate:global-begin",e);Recite.Event.subscribe("Preferences:load",k);Recite.Event.subscribe("Preferences:set",k);Recite.Event.subscribe("Preferences:reset",
k);Recite.Event.subscribe("Audio:ended",function(){f=null});return{setOptions:function(a){g=Recite.Util.merge(g,a)},init:function(){if(null!=l)return this;a();return this},play:function(c){var h=null;if(c&&(c.hasOwnProperty("url")&&(h=c.url),null!=h&&"blank.mp3"==h.toLowerCase().substr(h.length-9)))return;m&&null!==h?(l.play(h),a()):(f=c,f.hasOwnProperty("meta")||b(f),d(h,"_setStartPlay"))},getMeta:function(){return f&&f.hasOwnProperty("meta")?f.meta:null},pause:function(){null!=l&&"function"==typeof l.pause&&
l.pause()},resume:function(){null!=l&&"function"==typeof l.play&&l.play()},restart:function(){null!=l&&"function"==typeof l.restart&&l.restart()},stop:function(){null!=l&&"function"==typeof l.stop&&l.stop()},rewind:function(){null!=l&&"function"==typeof l.rewind&&(l.rewind(),Recite.Event.publish("Audio:rewind"))},forward:function(){null!=l&&"function"==typeof l.forward&&(l.forward(),Recite.Event.publish("Audio:forward"))},getOptions:function(){return null!=l?Recite.Util.merge(g,l.getOptions()):g},
getPlaylistState:function(){if(null!=l)return l.getPlaylistState()},addToPlaylist:function(a){null!=l&&(l.addToPlaylist(a),!a.hasOwnProperty("meta")&&a.hasOwnProperty("id")&&a.hasOwnProperty("url")&&b(a))},clearPlaylist:function(){null!=l&&"function"==typeof l.clearPlaylist&&l.clearPlaylist()},playPlaylist:function(){null!=l&&l.playPlaylist()},format:function(){if(null!=l)return l.format()},getPlayTime:function(){return null!=l&&l.hasOwnProperty("getCurrentTime")?l.getCurrentTime():Date.now()-0},
setDownload:function(a){m=1==a;Recite.Audio.Download.init();l=Recite.Audio.Download}}}();Recite.namespace("WordByWord");
Recite.WordByWord=function(){function k(){for(var a=Recite.Sizzle("reciteword[data-highlight=1]"),b=c(),d=0;d<a.length;d++)a[d]&&(b.fg&&(a[d].style.color=b.fg),b.bg&&(a[d].style.background=b.bg))}function e(){if(null!=A)return A;var a=null;G&&(a=G.color);if(null!=a){a=a.replace("rgb(","").replace("rgba(","").replace(")","");a=a.split(",");a=b(a);var c="rgb("+(255-parseInt(a[0]))+","+(255-parseInt(a[1]))+","+(255-parseInt(a[2]))+")";a=[parseInt(a[0]),parseInt(a[1]),parseInt(a[2])];a=b(a);a="rgb("+
a[0]+","+a[1]+","+a[2]+")";return A={bg:a,fg:c}}return{bg:"black",fg:"white"}}function b(a){for(var b=0;b<a.length;b++)parseInt(a[b])<u.colorRoundingThreshold&&(a[b]=0),a[b]>255-u.colorRoundingThreshold&&(a[b]=255);return a}function c(){var a=e(),b=Recite.Preferences.get("style.wwHighlight.color"),c=Recite.Preferences.get("style.font.color"),d=Recite.Preferences.get("style.backgroundColor");return{fg:null==d||"null"==d?a.fg:d,bg:null==b||"null"==b?null==c||"null"==c?a.bg:c:b}}function a(){l();t=!0}
function d(){t=!1}function l(){u.enabled&&!t&&(y(),Recite.Audio.AEBroker.pause(),(0<Recite.Sizzle("[data-have-read]").length||0<Recite.Sizzle("reciteword[data-highlight=1]").length)&&n())}function g(){if(x&&w&&!t){var a=Recite.Audio.AEBroker.getMeta();if(I!=a&&void 0!=a){var b=u.wordCheckRate;for(var c=1,d=a.length;c<d;c++){var f=a[c].time-a[c-1].time;f<b&&(b=f)}b<u.wordCheckRate&&(u.wordCheckRate=b,r());I=a}if(a){b=Recite.Audio.AEBroker.getPlayTime();c=null;d=0;for(f=a.length;d<f;d++)a[d].time<=
b?c=a[d]:d=f+10;(a=c)&&a.hasOwnProperty("time")&&a.hasOwnProperty("value")&&(null==F||a.time!=F)&&(F=a.time,h(a.value))}}}function h(a){if(w&&!t){p();var b=f(a),c=void 0,d=Recite.Sizzle("reciteword[data-have-read]"),h=Recite.Sizzle("reciteword:not([data-have-read])"),e=void 0;if(!E&&h){var g=/^[0-9a-zA-Z]+$/,l=0;-1=="af eu ca da nl en fi fr gl de id id id ms no pt es sw sv".split(" ").indexOf(Recite.Language.Translate.getWorkingPageLanguage())&&(e=h[l],c=h[l].getAttribute("data-word-value"));for(;l<
h.length&&void 0==c;){var m=h[l].getAttribute("data-word-value");m.match(g)&&(e=h[l],c=m);l++}}if(c&&c==b&&!e.hasAttribute("data-partword"))e.setAttribute("data-highlight",1),k();else if(h=null,d&&(h=d[d.length-1]),h&&(h=h.getAttribute("data-word-value")),d=c?c.length>a.length:!1,e=c?c.length<a.length:!1,b=void 0,e&&(g=f(a),l=f(c),0==g.indexOf(l)&&(b=[c],g=g.substr(l.length),b=b.concat(g.split(z)))),void 0==b&&(b=-1<["&amp;"].indexOf(a)?[a]:a.split(z)),!(!e&&2<=b.length&&h&&c&&b.includes(h)&&b.includes(c))){for(a=
b.length-1;-1<a;a--)if(h=f(b[a]).trim(),""!=h){e=Recite.Sizzle("reciteword[data-word-value"+(E||d?"*":"")+'="'+h+'"]:not([data-have-read]):not([data-currentword])');if(0<e.length)var n=e[0];void 0!=n&&(n.setAttribute("data-highlight",1),n.setAttribute("data-currentword",1),d&&(e=n.getAttribute("data-partword"),g="",e&&(g=e),e=f(g+h),g=c?f(c):"",e!=g&&e.length<g.length?n.setAttribute("data-partword",h):n.removeAttribute("data-partword")))}Recite.Util.each(Recite.Sizzle("[data-currentword]"),function(){this.removeAttribute("data-currentword")});
E=!1;k()}}}function f(a){a=a.replace(/\u00a0/g," ");for(var b=0;b<B.length;b++)a=a.replace(B[b],"");return a}function p(){Recite.Util.each(Recite.Sizzle("reciteword[data-highlight]:not([data-partword])"),function(){var a=this,b=!1,c=Recite.Sizzle("reciteWordByWord")[0];Recite.Util.each(Recite.Sizzle("reciteword:not([data-have-read])",c),function(){if(!b&&(this.setAttribute("data-have-read",1),this.removeAttribute("data-highlight"),this.removeAttribute("style"),this==a))return b=!0,!1})})}function m(a){Recite.Util.each(Recite.Sizzle("reciteword["+
a+"]"),function(){this.removeAttribute(a)})}function q(){u.enabled&&!t&&(E=!0,F=null,m("data-have-read"),m("data-currentword"),m("data-partword"),m("data-highlight"),m("style"))}function n(){w&&x&&D&&(D.remove(),D=null,x.setAttribute("style",H));x&&(x.positionalProxy=null);w=!1;x=A=G=F=null}function v(a){try{return document.createTreeWalker(a)}catch(J){u.enabled=!1}return null}function r(){y();C=setInterval(function(){g()},u.wordCheckRate)}function y(){C&&(clearInterval(C),C=null)}var u={enabled:!1,
wordCheckRate:50,css:"",colorRoundingThreshold:75},B=[/"/g,/'/g,/\//g,/\\/g,/`/g,/-/g,/\(/g,/\)/g,/{/g,/}/g,/\[/g,/\]/g],z=/([ . !:;\u2013?,\n])/gi,C=null,w=!1,t=!1,A=null,x=null,F=null,I;Recite.Event.subscribe("Audio:started",function(){if(u.enabled&&!t){var a=Recite.Sizzle("recite.recite-selected");if(0<a.length){a=a[0];x&&x==a||(n(),w=!1,x=a);if(!w&&u.enabled&&!t&&x){D=document.createElement("reciteWordByWord");D.setAttribute("class","recite-word-by-word");D.setAttribute("data-recite-skip","true");
a=x.cloneNode(!0);G=getComputedStyle(x);c();var b=D;b:{var d=void 0;void 0==d&&(d=z);var f=v(a);if(null==f)d=a;else{var h=document.createElement(a.tagName);for(h.innerHTML=a.innerHTML;f.nextNode();){var e=f.currentNode;if(3==e.nodeType){var l=document.createElement("recitesentence");l.setAttribute("class","recite-ignore-styles-background recite-ignore-styles-color");for(var k=e.textContent.replace(/\u00a0/g," ").split(d),m=0;m<k.length;m++)if(""!=k[m].trim()){var p=document.createElement("reciteword");
p.innerText=k[m];var q=k[m];1<q.length&&(q=q.replace(/^[ '".,;:'`|\/?]/,""),q=q.replace(/[ '".,;:'`|\/?]+$/,""));"&"==q&&(q="&amp;");for(var E=0;E<B.length;E++)q=q.replace(B[E],"");p.setAttribute("data-word-value",q);p.setAttribute("class","recite-ignore-styles-background recite-ignore-styles-color");l.appendChild(p)}else p=document.createTextNode(k[m]),l.appendChild(p);k=v(h);if(null==k){d=a;break b}for(;k.nextNode();)m=k.currentNode,p=m.parentElement,3==m.nodeType&&m.textContent==e.textContent&&
"RECITEWORD"!=p.tagName&&(p.insertBefore(l,m),p.removeChild(m))}}d=h}}b.innerHTML=d.innerHTML;D.innerHTML!==a.innerHTML&&(x.parentNode.insertBefore(D,x),H=x.getAttribute("style"),D.style=u.css,D.style.color=G.color,x.setAttribute("style",H+" "+K),w=!0,x.positionalProxy=D)}y();F=null;g();r()}}});Recite.Event.subscribe("Audio:ended",l);Recite.Event.subscribe("Audio:rewind",q);Recite.Event.subscribe("Audio:forward",q);Recite.Event.subscribe("Translate:global-begin",a);Recite.Event.subscribe("Translate:restore_begin",
a);Recite.Event.subscribe("Translate:global-end",d);Recite.Event.subscribe("Translate:restore_complete",d);Recite.Event.subscribe("Preferences:load",k);Recite.Event.subscribe("Preferences:set",k);Recite.Event.subscribe("Preferences:reset",k);var E=!1,D=null,K=" ; display:none; color:transparent !IMPORTANT; background:transparent",H="",G=null;return{updateWordHighlight:function(){u.enabled&&!t&&g()},enable:function(){u.enabled=!0},disable:function(){n();u.enabled=!1},getOptions:function(){return u},
setOptions:function(a){u=Recite.Util.merge(u,a)},resetSection:function(){n()}}}();Recite.namespace("Style");
Recite.Style=function(){function k(){var a="",b=Recite.Preferences.get("style"),e=Recite.Preferences.get("textMode.enabled");null!==b.marginSize&&e&&(a+="#recite-wrapper, recitewordbyword,  #recite-dictionary * { padding: 0 "+b.marginSize+"; } body { padding-left: 0 !important; padding-right: 0 !important; margin-left: 0 !important; margin-right: 0 !important; } ",b.marginSize!==c.marginSize&&(c.marginSize=b.marginSize,Recite.Event.publish("Recite:ModuleEvent",{name:"Recite.Style",event:"margin: "+
b.marginSize})));null!==b.textAlign&&e&&(a+="#recite-wrapper, recitewordbyword, #recite-dictionary * { text-align: "+b.textAlign+"; }",b.textAlign!==c.textAlign&&(c.textAlign=b.textAlign,Recite.Event.publish("Recite:ModuleEvent",{name:"Recite.Style",event:"textAlign: "+b.textAlign})));b.font&&null!==b.font.face&&(a+="#recite-wrapper, recitewordbyword, #recite-wrapper *, #recite-dictionary * { font-family: "+b.font.face+" !important; }",b.font.face!==c.font.face&&(c.font.face=b.font.face,Recite.Event.publish("Recite:ModuleEvent",
{name:"Recite.Style",event:"font-family: "+b.font.face})));b.font&&null!==b.font.size&&(a+=".recite-ele,  recitewordbyword, #recite-dictionary * { font-size: "+b.font.size+"% !important; } ",b.font.size!==c.font.size&&(c.font.size=b.font.size,Recite.Event.publish("Recite:ModuleEvent",{name:"Recite.Style",event:"font-size: "+b.font.size+"%"})));b.font&&null!==b.font.color&&(a+="#recite-wrapper, #recite-wrapper *:not(.recite-ignore-styles-color):not(a), #recite-dictionary * { color: "+b.font.color+
" !important; text-shadow: none !important; }",a+="*::-webkit-input-placeholder { color: "+b.font.color+" !important; }",a+="*:-moz-placeholder { color: "+b.font.color+" !important; }",a+="*::-moz-placeholder { color: "+b.font.color+" !important; }",a+="*::-ms-input-placeholder { color: "+b.font.color+" !important; }",a+="input:not(.recite-colorpicker) { color: "+b.font.color+" !important; }",a+="textarea { color: "+b.font.color+" !important; }",a+="select { color: "+b.font.color+" !important; }",
a+="button { color: "+b.font.color+" !important; }",b.font.color!==c.font.color&&(c.font.color=b.font.color,Recite.Event.publish("Recite:ModuleEvent",{name:"Recite.Style",event:"font-colour: "+b.font.color})));b.link&&null!==b.link.color&&(a+="#recite-wrapper a { color: "+b.link.color+" !important; } ",b.link.color!==c.link.color&&(c.link.color=b.link.color,Recite.Event.publish("Recite:ModuleEvent",{name:"Recite.Style",event:"link-colour: "+b.link.color})));null!==b.backgroundColor&&(a+="#recite-wrapper *:not(.recite-ignore-styles-background), #recite-dictionary, #recite-dictionary * { background: "+
b.backgroundColor+" !important; box-shadow: none !important; }",a+="body, html, #recite-wrapper { background: "+b.backgroundColor+" !important; }",a+="input:not(.recite-colorpicker) { background: "+b.backgroundColor+" !important; }",a+="textarea { background: "+b.backgroundColor+" !important; }",a+="select { background: "+b.backgroundColor+" !important; }",a+="button:not(#recite-header button) { background: "+b.backgroundColor+" !important; }",b.backgroundColor!==c.backgroundColor&&(c.backgroundColor=
b.backgroundColor,Recite.Event.publish("Recite:ModuleEvent",{name:"Recite.Style",event:"background-colour: "+b.backgroundColor})));b.ruler&&null!==b.ruler.color&&b.ruler.color!==c.ruler.color&&(c.ruler.color=b.ruler.color,Recite.Event.publish("Recite:ModuleEvent",{name:"Recite.Style",event:"ruler-colour: "+b.ruler.color}));b.screenMask&&null!==b.screenMask.color&&b.screenMask.color!==c.screenMask.color&&(c.screenMask.color=b.screenMask.color,Recite.Event.publish("Recite:ModuleEvent",{name:"Recite.Style",
event:"screenMask-colour: "+b.screenMask.color}));if(null!==b.zoom&&void 0!==b.zoom){e=parseInt(b.zoom);var g=e/100;a+="#recite-wrapper {  -moz-transform: scale( "+g+" , "+g+" ); /* Moz-browsers */  zoom: "+g+"; /* Other non-webkit browsers */  zoom: "+e+"%; /* Webkit browsers*/ } ";b.zoom!==c.zoom&&(c.zoom=b.zoom,Recite.Event.publish("Recite:ModuleEvent",{name:"Recite.Style",event:"zoom: "+b.zoom}))}null!==b.lineHeight&&(a+=".recite-ele,  recitewordbyword, #recite-dictionary * { line-height: "+b.lineHeight+
"% !important; } ",b.lineHeight!==c.lineHeight&&(c.lineHeight=b.lineHeight,Recite.Event.publish("Recite:ModuleEvent",{name:"Recite.Style",event:"line-height: "+b.lineHeight+"%"})));null!==b.charSpacing&&(a+=".recite-ele,  recitewordbyword, #recite-dictionary * { letter-spacing: "+b.charSpacing+"px !important; } ",b.charSpacing!==c.charSpacing&&(c.charSpacing=b.charSpacing,Recite.Event.publish("Recite:ModuleEvent",{name:"Recite.Style",event:"character-spacing: "+b.charSpacing+"px"})));return a}function e(){var a=
window.document;var b=Recite.Sizzle("style[id=recite-style]");0===b.length?(b=a.createElement("style"),b.type="text/css",b.id="recite-style",b.setAttribute("data-recite-skip","true"),Recite.Sizzle("head",a)[0].appendChild(b)):b=b[0];a=b;if(a.styleSheet)a.styleSheet.cssText=k();else{for(b=window.document.createTextNode(k());a.hasChildNodes();)a.removeChild(a.lastChild);a.appendChild(b)}}var b={preserve_background_images:!1},c={marginSize:null,font:{color:null,face:null,size:null},backgroundColor:null,
link:{color:null},ruler:{color:null},screenMask:{color:null,opacity:1},zoom:null,lineHeight:null,charSpacing:null};Recite.Event.subscribe("Preferences:load",function(){e()});Recite.Event.subscribe("Preferences:set",function(){e()});Recite.Event.subscribe("Preferences:reset",function(){e()});Recite.Event.subscribe("Recite:enable",function(){var a=Recite.Sizzle("body > *",document),b=Recite.Sizzle("body",document)[0];Recite.Debug.log("Recite.Style","Wrapping body elements in a recite-wrapper.");var c=
document.createElement("div");c.id="recite-wrapper";Recite.Util.each(a,function(a,b){"true"!==b.getAttribute("data-recite-skipwrap")&&(b.parentNode.removeChild(b),c.appendChild(b))});b.appendChild(c);Recite.Event.publish("Recite:Style:wrappedElements")});Recite.Event.publish("Style:updated",{origin:"Recite.Style"});return{setOptions:function(a){b=Recite.Util.merge(b,a)},getOptions:function(){return b},update:e}}();Recite.namespace("Ruler");
Recite.Ruler=function(){function k(){Recite.Preferences.get("style.ruler.enabled")?Recite.Ruler.enable():Recite.Ruler.disable();c()}function e(c){var d=Recite.Sizzle("#recite-ruler",c);if(0==d.length){var f=Recite.Sizzle("body",c)[0];d=c.createElement("div");d.id="recite-ruler";d.style.backgroundColor=b();d.style.opacity=a.opacity;f.appendChild(d)}else d=d[0];return d}function b(){var b=Recite.Preferences.get("style.ruler.color");if(null==b||"null"==b||""==b.trim())b=a.backgroundColor;return b}function c(c){if(a.enabled&&
!d){clearTimeout(a.timeout);Recite.Util.unSetIFramePointerEvents();a.timeout=setTimeout(function(){Recite.Util.reSetIFramePointerEvents()},a.intent);var h=e(document);switch(a.mode){case "bottom":void 0!=c&&(h.style.bottom=0,h.style.top=c.screenY+a.modes.bottom.yOffset+"px");break;case "top":void 0!=c&&(h.style.top=0,h.style.height=c.screenY+a.modes.top.yOffset+"px");break;case "bar":void 0!=c&&(h.style.bottom="auto",h.style.top=c.screenY+a.modes.bar.yOffset+"px"),h.style.height=a.modes.bar.height+
"px"}h.style.backgroundColor=b();h.style.opacity=a.opacity}}var a={enabled:!1,mode:"bar",backgroundColor:"#000",opacity:1,modes:{top:{yOffset:-80},bottom:{yOffset:-80},bar:{yOffset:-80,height:160}},timeout:null,intent:200},d=!1,l=null;Recite.Event.subscribe("Preferences:load",k);Recite.Event.subscribe("Preferences:set",k);Recite.Event.subscribe("Preferences:reset",k);return{setOptions:function(b){a=Recite.Util.merge(a,b)},enable:function(){if(Recite.Browser.isMobile())Recite.Debug.log("Recite.Ruler",
"Preventing load as feature not supported on mobile"),Recite.Gui.Notification.show("This feature is not available on your platform.",{read:!1});else if(!d&&!a.enabled){Recite.Debug.log("Recite.Ruler","Enabled ruler");Recite.PlayerControls.disable();Recite.Player.stop();Recite.ScreenMask.disable();Recite.Magnifier.disable();var b=Recite.Sizzle("body",document)[0];e(document);if(null==l){var h=Recite.Sizzle("iframe");l=[];Recite.Util.each(h,function(a,b){l.push({frame:b,state:void 0==b.style.pointerEvents?
"all":b.style.pointerEvents})})}Recite.Util.unSetIFramePointerEvents();Recite.DomEvent.add(b,"mousemove",c);a.enabled=!0;Recite.Event.publish("Recite:ModuleEvent",{name:"Recite.Ruler",event:"enable"})}},disable:function(){if(a.enabled){Recite.Debug.log("Recite.Ruler","Disabled ruler");Recite.Util.reSetIFramePointerEvents();Recite.PlayerControls.enable();Recite.Preferences.set("style.ruler.enabled",!1);var b=Recite.Sizzle("body",document)[0];Recite.DomEvent.remove(b,"mousemove",c);b=e(document);b.parentNode.removeChild(b);
a.enabled=!1;Recite.Event.publish("Recite:ModuleEvent",{name:"Recite.Ruler",event:"disable"});Recite.Event.publish("Recite.Dom.Observor:change")}},disableInstance:function(){d=!0},isEnabled:function(){return a.enabled}}}();Recite.namespace("ScreenMask");
Recite.ScreenMask=function(){function k(){Recite.Preferences.get("style.screenMask.enabled")?Recite.ScreenMask.enable():Recite.ScreenMask.disable();b()}function e(b){var d=Recite.Sizzle("#recite-screen-mask-top",b),h=Recite.Sizzle("#recite-screen-mask-bottom",b);if(0==d.length){var f=Recite.Sizzle("body",b)[0];d=b.createElement("div");d.id="recite-screen-mask-top";d.style.backgroundColor=c();d.style.opacity=a.opacity;f.appendChild(d)}else d=d[0];0==h.length?(f=Recite.Sizzle("body",b)[0],h=b.createElement("div"),
h.id="recite-screen-mask-bottom",h.style.backgroundColor=c(),h.style.opacity=a.opacity,f.appendChild(h)):h=h[0];return{top:d,bottom:h}}function b(b){if(!d){clearTimeout(a.timeout);Recite.Util.unSetIFramePointerEvents();a.timeout=setTimeout(function(){Recite.Util.reSetIFramePointerEvents()},a.intent);var g=e(document);if(a.enabled){var h=a.height/2;if(void 0!=b){var f=b.clientY+a.yOffset;b=f+h;h=f-h;g.top.style.height=(0<h?h:0)+"px";g.bottom.style.top=(0<b?b:0)+"px"}g.top.style.backgroundColor=c();
g.bottom.style.backgroundColor=c();g.top.style.opacity=a.opacity;g.bottom.style.opacity=a.opacity}}}function c(){var b=Recite.Preferences.get("style.screenMask.color");if(null==b||"null"==b||""==b.trim())b=a.backgroundColor;return b}var a={enabled:!1,height:160,yOffset:0,backgroundColor:"#000",opacity:1,timeout:null,intent:200},d=!1;Recite.Event.subscribe("Preferences:load",k);Recite.Event.subscribe("Preferences:set",k);Recite.Event.subscribe("Preferences:reset",k);return{setOptions:function(b){a=
Recite.Util.merge(a,b)},enable:function(){if(Recite.Browser.isMobile())Recite.Debug.log("Recite.ScreenMask","Preventing load as feature not supported on mobile"),Recite.Gui.Notification.show("This feature is not available on your platform.",{read:!1});else if(!d&&!a.enabled){Recite.Debug.log("Recite.ScreenMask","Enabled ScreenMask");Recite.PlayerControls.disable();Recite.Player.stop();Recite.Ruler.disable();Recite.Magnifier.disable();var c=Recite.Sizzle("body",document)[0];e(document);Recite.Util.unSetIFramePointerEvents();
Recite.DomEvent.add(c,"mousemove",b);a.enabled=!0;Recite.Event.publish("Recite:ModuleEvent",{name:"Recite.ScreenMask",event:"enable"})}},disable:function(){if(a.enabled){Recite.Debug.log("Recite.ScreenMask","Disabled screen mask");Recite.Preferences.set("style.screenMask.enabled",!1);Recite.Util.reSetIFramePointerEvents();Recite.PlayerControls.enable();var c=Recite.Sizzle("body",document)[0];Recite.DomEvent.remove(c,"mousemove",b);c=e(document);var d=c.top.parentNode;d.removeChild(c.top);d.removeChild(c.bottom);
a.enabled=!1;Recite.Event.publish("Recite:ModuleEvent",{name:"Recite.ScreenMask",event:"disable"});Recite.Event.publish("Recite.Dom.Observor:change")}},isEnabled:function(){return a.enabled},disableInstance:function(){d=!0}}}();Recite.namespace("Browser");
Recite.Browser=function(){function k(){c=e(g)||"unknown browser";a=b(navigator.userAgent)||b(navigator.appVersion)||"unknown version";d=e(h)||"unknown OS"}function e(a){for(var b=0;b<a.length;b++){var c=a[b].string,d=a[b].prop;l=a[b].versionSearch||a[b].identity;if(c){if(-1!==c.indexOf(a[b].subString))return a[b].subString}else if(d)return a[b].subString}return!1}function b(a){var b=a.indexOf(l);return-1===b?!1:parseFloat(a.substring(b+l.length+1))}var c,a,d,l,g=[{string:navigator.userAgent,subString:"Chrome",
identity:"Chrome"},{string:navigator.userAgent,subString:"OmniWeb",versionSearch:"OmniWeb/",identity:"OmniWeb"},{string:navigator.vendor,subString:"Apple",identity:"Safari",versionSearch:"Version"},{prop:window.opera,subString:"Opera",identity:"Opera",versionSearch:"Version"},{string:navigator.vendor,subString:"iCab",identity:"iCab"},{string:navigator.vendor,subString:"KDE",identity:"Konqueror"},{string:navigator.userAgent,subString:"Firefox",identity:"Firefox"},{string:navigator.vendor,subString:"Camino",
identity:"Camino"},{string:navigator.userAgent,subString:"Netscape",identity:"Netscape"},{string:navigator.userAgent,subString:"MSIE",identity:"Internet Explorer",versionSearch:"MSIE"},{string:navigator.userAgent,subString:"Gecko",identity:"Mozilla",versionSearch:"rv"},{string:navigator.userAgent,subString:"Mozilla",identity:"Netscape",versionSearch:"Mozilla"}],h=[{string:navigator.platform,subString:"Win",identity:"Windows"},{string:navigator.platform,subString:"Mac",identity:"Mac"},{string:navigator.userAgent,
subString:"iPhone",identity:"iPhone/iPod"},{string:navigator.userAgent,subString:"iPad",identity:"iPad"},{string:navigator.userAgent,subString:"Android",identity:"Andriod"},{string:navigator.platform,subString:"Linux",identity:"Linux"},{string:navigator.platform,subString:"Andriod",identity:"Andriod"}];return{getName:function(){k();return c},getVersion:function(){k();return a},getOS:function(){k();return d},getData:function(){k();return{name:c,version:a,OS:d}},isMobile:function(){return"Android"===
Recite.Browser.getOS()||"iPhone"===Recite.Browser.getOS()||"iPad"===Recite.Browser.getOS()?!0:!1}}}();Recite.namespace("Selection");
Recite.Selection=function(){function k(){var b="";"undefined"!==typeof window.getSelection?b=window.getSelection().toString():"undefined"!==typeof document.selection&&"Text"===document.selection.type&&(b=document.selection.createRange().text);return b.replace(/^\s+|\s+$/g,"")}var e={playOnSelection:!1};Recite.DomEvent.add(document,"mouseup",function(b){b=k();0<b.length&&(Recite.Event.publish("Selection:textSelection",{method:"selection",text:b}),e.playOnSelection&&Recite.Player.play(b))});return{setOptions:function(b){e=
Recite.Util.merge(e,b)},getOptions:function(){return e},getTextSelection:k}}();Recite.namespace("AudioDownload");
Recite.AudioDownload=function(){function k(b){Recite.Audio.AEBroker.stop();Recite.Audio.AEBroker.clearPlaylist();Recite.Gui.Notification.show("Your download file is being created.  It will be automatically downloaded once created",{read:!1});Recite.Audio.AEBroker.setDownload(!0);Recite.PlayerDispatcher.dispatch(b);Recite.Event.publish("Recite:ModuleEvent",{name:"Recite.Audio",event:"download"})}var e={enabled:!0},b=!1;Recite.Event.subscribe("Selection:textSelection",function(c,a){"selection"===a.method&&
e.enabled&&b&&(k(a.text),b=!1)});return{setOptions:function(b){e=Recite.Util.merge(e,b)},getOptions:function(){return e},getEnabled:function(){return e.enabled},generateDownload:function(c){Recite.Debug.log("AudioDownload","Generate");e.enabled?(c=c||null)&&void 0!=c&&null!=c&&""!=c?(Recite.Debug.log("AudioDownload","Generate: "+c),k(c)):(Recite.Debug.log("AudioDownload","Listen for selection...."),Recite.Gui.Notification.show("Please select some text.",{read:!1}),b=!0):(Recite.Debug.log("AudioDownload",
"Disabled"),Recite.Gui.Notification.show("MP3 download functionality currently disabled",{read:!0}))},init:function(){}}}();Recite.namespace("TextMode");
Recite.TextMode=function(){function k(b,a){Recite.Util.each(b.styleSheets,function(b,c){a?"true"!==(c.ownerNode||c.owningElement).getAttribute("data-recite-skip")&&(c.prevState=c.disabled,c.disabled=!0):"undefined"!==typeof c.prevState?(c.disabled=c.prevState,c.prevState=null):c.disabled=!1})}var e={disableInlineStyles:!0,disableStylesheets:!0,hideElements:["img","iframe","object","embed"]},b=[];Recite.Event.subscribe("Preferences:load",function(b,a){Recite.Preferences.get("textMode.enabled")&&(b=
Recite.Sizzle("#recite-wrapper")[0],Recite.TextMode.transform(b))});Recite.Event.subscribe("Preferences:set",function(b,a){b=Recite.Preferences.get("textMode.enabled");a=Recite.Sizzle("#recite-wrapper")[0];b?Recite.TextMode.transform(a):Recite.TextMode.restore(a)});Recite.Event.subscribe("Preferences:reset",function(){var b=Recite.Preferences.get("textMode.enabled"),a=Recite.Sizzle("#recite-wrapper")[0];!0===b?Recite.TextMode.transform(a):Recite.TextMode.restore(a)});return{setOptions:function(b){e=
Recite.Util.merge(e,b)},transform:function(c){if(!(0<=Recite.Util.inArray(c,b))){b.push(c);var a=c.ownerDocument;e.disableStylesheets&&k(a,!0);a=Recite.Sizzle("*",c);e.disableInlineStyles&&Recite.Util.each(a,function(a,b){null!==b.getAttribute("style")&&(b.setAttribute("data-recite-restore-style",b.getAttribute("style")),b.setAttribute("style",null))});Recite.Util.each(e.hideElements,function(a,b){a=Recite.Sizzle(b,c);Recite.Util.each(a,function(a,b){b.setAttribute("data-recite-restore-display",Recite.Dom.getStyle(b,
"display"));b.style.display="none"})});Recite.Event.publish("TextMode:enabled");Recite.Event.publish("Recite:ModuleEvent",{name:"Recite.TextMode",event:"enable"})}},restore:function(c){var a=Recite.Util.inArray(c,b);if(!(0>a)){var d=c.ownerDocument;e.disableStylesheets&&k(d,!1);d=Recite.Sizzle("*",c);e.disableInlineStyles&&Recite.Util.each(d,function(a,b){null!==b.getAttribute("data-recite-restore-style")&&(b.setAttribute("style",b.getAttribute("data-recite-restore-style")),b.setAttribute("data-recite-restore-style",
null))});Recite.Util.each(e.hideElements,function(a,b){a=Recite.Sizzle(b,c);Recite.Util.each(a,function(a,b){null!==b.getAttribute("data-recite-restore-display")&&(b.style.display=b.getAttribute("data-recite-restore-display"),b.setAttribute("data-recite-restore-display",null))})});b.splice(a,1);Recite.Event.publish("TextMode:disabled");Recite.Event.publish("Recite:ModuleEvent",{name:"Recite.TextMode",event:"disable"})}}}}();Recite.namespace("Recite.Dictionary");
Recite.Dictionary=function(){function k(){Recite.Preferences.get("dictionary.enabled")?Recite.Dictionary.enable():Recite.Dictionary.disable()}function e(){Recite.Sizzle("#recite-dictionary",document)[0].style.display="block";Recite.DomEvent.add(Recite.Sizzle("#recite-dictionary-inner-reveal",document)[0],"click",function(){if(""===Recite.Sizzle("#recite-dictionary-inner",document)[0].style.height){var a=Recite.Sizzle("#recite-dictionary-inner",document)[0],b=Recite.Dom.getWindowDimensions(window).height-
g.offsets.height;a.style.height=b+"px";a.style.overflow="auto";Recite.Event.publish("Recite:ModuleEvent",{name:"Recite.Dictionary",event:"enable"})}else a=Recite.Sizzle("#recite-dictionary-inner",document)[0],a.style.height="",a.style.overflow="hidden",Recite.Event.publish("Recite:ModuleEvent",{name:"Recite.Dictionary",event:"disable"})})}function b(b){var c=Recite.Sizzle("#recite-dictionary-inner-words",document)[0];c.innerHTML=b?"<h4>Recite English Dictionary</h4> <br /><br />"+b:"<h4>Recite English Dictionary</h4> <br /> Select one or more words to get definition";
b=Recite.Parser.Html.parse(c);Recite.PlayerControls.invoke(b);Recite.DomEvent.add(Recite.Sizzle(".recite-dictionary-synonym"),"click",function(b){a({text:b.target.innerHTML})})}function c(b,c){if("selection"===c.method){if(!f||""===c.text||!1===c.text||c.text===p)return!1;a(c);p=c.text}return!0}function a(a){b("Getting definition...");d(a.text.replace(/ /g,","),function(a){b("");var c="";Recite.Util.each(a,function(a,b){c+="<strong>"+unescape(b.word)+"</strong><br />"+unescape(b.definition)+"<br /><br />";
b.synonyms&&(c+="<strong>Synonyms</strong><br />",Recite.Util.each(b.synonyms,function(a,b){c+="<span class='recite-dictionary-synonym'>"+unescape(b)+"</span>,<br />"}),c+="<hr />")});b(c)})}function d(a,b){Recite.Debug.log("Recite.Dictionary","Start ajax");Recite.Event.publish("Recite:ModuleEvent",{name:"Recite.Dictionary",event:"definition: "+a});Recite.Api.call("dictionary","POST",{data:{words:escape(a)},contentType:"application/json",success:b});return!1}function l(a,b){a=document.createElement("div");
a.id="recite-dictionary";a.setAttribute("data-recite-skip","true");a.innerHTML=g.content;document.body.appendChild(a);a.className="recite-dictionary-"+g.position;"header"!==g.position&&(a.style.width=g.dimensions.width,a.style.height=g.dimensions.height);b.call()}var g={offsets:{height:140},position:"top-left",dimensions:{width:"250px",height:"400px"},content:'<div id="recite-dictionary-inner">                        <div id="recite-dictionary-inner-words">                        </div>                  </div>                  <div id="recite-dictionary-inner-reveal">                  </div>'},
h=null,f=!1,p=null;Recite.Event.subscribe("Recite.disable",function(){Recite.Dictionary.disable()});Recite.Event.subscribe("Preferences:load",k);Recite.Event.subscribe("Preferences:set",k);Recite.Event.subscribe("Preferences:reset",k);return{enable:function(){f||(l(document,function(){e();b()}),h=Recite.Event.subscribe("Selection:textSelection",c),f=!0,Recite.PlayerControls.disable(),Recite.Player.stop(),Recite.Debug.log("Recite.Dictionary","Dictionary enabled"),Recite.Gui.Notification.show("Recite dictionary enabled.  Select any word on the page to view it's definition"),
Recite.Event.publish("Recite.Dictionary.enabled"),Recite.Event.publish("Recite:ModuleEvent",{name:"Recite.Dictionary",event:"enable"}))},disable:function(){f&&(Recite.Sizzle("#recite-dictionary",document)[0].style.display="none",Recite.Event.unsubscribe(h),f=!1,Recite.PlayerControls.enable(),Recite.Gui.Notification.show("Dictionary disabled"),Recite.Event.publish("Recite.Dictionary.disabled"),Recite.Event.publish("Recite:ModuleEvent",{name:"Recite.Dictionary",event:"disable"}))},isEnabled:function(){return f},
setOptions:function(a){g=Recite.Util.merge(g,a)}}}();Recite.namespace("Docreader");
Recite.Docreader=function(){function k(b){b.setAttribute("href",a.endpoint+encodeURI(e(b.getAttribute("href"))))}function e(a){var b=document.createElement("span");b.innerHTML='<a href="'+a.split("&").join("&amp;").split('"').join("&quot;").split("<").join("&lt;")+'">&nbsp;</a>';return b.firstChild.href}var b=[],c=["pdf"],a={enabled:!0,selector:"docreader",urlMatches:[],endpoint:"http://docreader.reciteme.com/doc/url?q="};return{setOptions:function(b){a=Recite.Util.merge(a,b)},enabled:function(){return a.enabled},setEnabled:function(b){a.enabled=
b},load:function(){if(a.enabled){b=document.getElementsByTagName("a");for(var d=0;d<b.length;d++){var e=b[d];if(null!==e.getAttribute("href")){for(var g=e,h=0;h<a.urlMatches.length;h++)null!==g.getAttribute("href").match(a.urlMatches[h])&&k(g);g=e;h=g.getAttribute("href").split(".").pop();for(var f=0;f<c.length;f++)h===c[f]&&k(g);-1===e.className.indexOf(" "+a.selector)&&-1===e.className.indexOf(a.selector+" ")&&e.className!==a.selector&&e.getAttribute("id")!==a.selector||k(e)}}}}}}();Recite.namespace("Keyboard");
Recite.Keyboard=function(){function k(){Recite.Debug.log("Recite.Keyboard","Binding keyboard keys");e.enabled&&Recite.Util.each(e.key_bindings,function(b,c){Recite.Key(b,c)})}var e={enabled:!0,key_bindings:{"ctrl+right":function(){Recite.PlayerControls.next();return!1},"ctrl+left":function(){Recite.PlayerControls.previous();return!1},"ctrl+alt+p":function(){Recite.PlayerControls.play();return!1},"ctrl+alt+f":function(){Recite.Sizzle(".recite-sprite-button-font")[0].click();return!1},"ctrl+alt+c":function(){Recite.Sizzle(".recite-sprite-button-themes")[0].click();
return!1},"ctrl+r":function(){Recite.Sizzle(".recite-sprite-button-ruler")[0].click();return!1},"ctrl+d":function(){Recite.Sizzle(".recite-sprite-button-dictionary")[0].click();return!1},"ctrl+l":function(){Recite.Sizzle(".recite-sprite-button-translate")[0].click();return!1},"ctrl+x":function(){Recite.Sizzle(".recite-sprite-button-textmode")[0].click();return!1},"ctrl+m":function(){Recite.Sizzle(".recite-sprite-button-margin")[0].click();return!1},"ctrl+shift+o":function(){Recite.Sizzle(".recite-sprite-button-settings")[0].click();
return!1},"ctrl+s":function(){Recite.Sizzle(".recite-sprite-button-save")[0].click();return!1}}};Recite.Event.subscribe("Recite:enable",k);return{setOptions:function(b){e=Recite.Util.merge(e,b)},enabled:function(){return e.enabled},setEnabled:function(b){e.enabled=b},load:function(){k()}}}();Recite.namespace("Tracker");
Recite.Tracker=function(){var k={enabled:!0};return{setOptions:function(e){k=Recite.Util.merge(k,e);Recite.Tracker.Api.setOptions(k.Api);Recite.Tracker.Ga.setOptions(k.Ga)},track:function(e,b){Recite.Debug.log("Recite.Tracker",e);Recite.Tracker.Api.track(e,b);Recite.Tracker.Ga.track(e,b)}}}();Recite.namespace("Tracker.Ga");
Recite.Tracker.Ga=function(){var k={enabled:!1,trackerName:void 0};return{setOptions:function(e){k=Recite.Util.merge(k,e)},track:function(e,b){k.enabled?(window.hasOwnProperty=window.hasOwnProperty||Object.prototype.hasOwnProperty,window.hasOwnProperty("GoogleAnalyticsObject")&&"function"==typeof window[window.GoogleAnalyticsObject]&&(Recite.Debug.log("Recite.Tracker.Ga",e),window[window.GoogleAnalyticsObject](void 0==k.trackerName?"send":k.trackerName+".send","event","ReciteMe",e+": "+b))):Recite.Debug.log("Recite.Tracker.Ga",
"Not enabled, ignoring")}}}();Recite.namespace("Tracker.Api");
Recite.Tracker.Api=function(){var k={enabled:!0};return{setOptions:function(e){k=Recite.Util.merge(k,e)},track:function(e,b){if(k.enabled){Recite.Debug.log("Recite.Tracker.Api",e);var c={};c.type=e;c.value=b;c.uri=window.location.toString();c.referrer=window.document.referrer||null;Recite.Api.call("tracking","POST",{data:{events:[c],system_info:{type:"browser",recite_version:"3.2.40",screenWidth:window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth,screenHeight:window.innerHeight||
document.documentElement.clientHeight||document.body.clientHeight}},success:function(a){Recite.Debug.log("Recite.Tracker.Api","Tracked event type: "+e)}})}}}}();Recite.namespace("Language.Translate");
Recite.Language.Translate=function(){function k(){var a=Recite.Dom.getLanguage(l);null==a&&(a="en");if(null==g.sourceLanguage||g.sourceLanguage!=a)g.sourceLanguage=a;null==g.workingPageLanguage&&(g.workingPageLanguage=a);g.listenForPreferenceChanges?(Recite.Debug.log("Recite.Language.Translate","Listening for prerefrence changes"),Recite.Event.subscribe("Preferences:load",c),Recite.Event.subscribe("Preferences:set",c),Recite.Event.subscribe("Preferences:reset",c)):Recite.Debug.log("Recite.Language.Translate",
"NOT Listening for prerefrence changes")}function e(a,b){var c={};Recite.Util.each(a,function(a,d){a=null;for("undefined"!=typeof d&&(a=d.childNodes[0]);null!==a&&"undefined"!=typeof a;){var f=!1;"undefined"!=typeof a.getAttribute&&("true"===a.getAttribute("data-recite-skip")||null!=g.translateIgnore&&void 0!=a.getAttribute(g.translateIgnore))&&(f=!0);if(!f&&3===a.nodeType&&0<a.nodeValue.trim().length){if("undefined"===typeof a.originalContent||null===a.originalContent){a.originalContent=a.nodeValue;
var e=Recite.Dom.getLanguage(a);a.originalLang=null!==e?e:g.sourceLanguage;a.originalParentLang=a.parentNode.lang}if(a.originalLang===b||a.originalLang.split("-")[0]===b){if(a.nodeValue=a.originalContent,a.parentNode.lang=a.originalParentLang||null,null==a.parentNode.lang||"null"==a.parentNode.lang)a.parentNode.lang=g.sourceLanguage}else e=a.originalLang.split("-")[0],"undefined"===typeof c[e]&&(c[e]=[]),c[e].push(a)}if(a.hasChildNodes()&&0>Recite.Util.inArray(a.tagName,g.disallowedTags)&&!f)a=a.firstChild;
else{for(;null===a.nextSibling&&a!==d;)a=a.parentNode;a=a===d?null:a.nextSibling}}});return c}function b(a,b){var c={};if(0===g.translateableAttributes.length)return c;Recite.Util.each(a,function(a,d){var f=null;for("undefined"!=typeof d&&(f=d.childNodes[0]);null!==f&&"undefined"!=typeof f;){f.affectedAttributes=[];var e=!1;if("undefined"!==typeof f.attributes&&null!==f.attributes){for(var h=0;h<g.translateableAttributes.length;h++)for(a=0;a<f.attributes.length;a++)if(f.attributes[a].nodeName===g.translateableAttributes[h]){f.affectedAttributes.push(f.attributes[a].nodeName);
"undefined"===typeof f.originalContent&&(f.originalContent=[]);if("undefined"===typeof f.originalContent[g.translateableAttributes[h]]||null===f.originalContent[g.translateableAttributes[h]])f.originalContent[g.translateableAttributes[h]]=f.getAttribute(g.translateableAttributes[h]),f.originalLang=null!==Recite.Dom.getLanguage(f)?Recite.Dom.getLanguage(f):g.sourceLanguage,f.originalParentLang=f.parentNode.lang;if(f.originalLang===b||"string"===typeof f.originalLang&&f.originalLang.split("-")[0]===
b)f.setAttribute(f.attributes[a].nodeName,f.originalContent[g.translateableAttributes[h]]),f.parentNode.lang=f.originalParentLang||g.sourceLanguage,null==f.parentNode.lang&&(f.parentNode.lang=g.sourceLanguage),e=!0}e||"undefined"===typeof f.originalLang||(a=f.originalLang.split("-")[0],"undefined"===typeof c[a]&&(c[a]=[]),c[a].push(f))}if(f.hasChildNodes()&&0>Recite.Util.inArray(f.tagName,g.disallowedTags))f=f.firstChild;else{for(;null===f.nextSibling&&f!==d;)f=f.parentNode;f=f===d?null:f.nextSibling}}});
return c}function c(){var a=Recite.Preferences.get("language");null==g.sourceLanguage&&k();var b=null===a?g.workingPageLanguage!=g.sourceLanguage:a!=g.workingPageLanguage;b&&Recite.Event.publish("Translate:global-begin");null!==a?(Recite.Language.Translate.translate(Recite.Sizzle("#recite-wrapper")[0],a),Recite.Language.Translate.translate(Recite.Sizzle("#recite-header")[0],a)):(Recite.Language.Translate.restore(),Recite.Language.Translate.setWorkingPageLaguage(a));b&&Recite.Event.publish("Translate:global-end");
if(null!==a)var c=Recite.Event.subscribe("Translate:complete",function(){Recite.Language.Translate.setWorkingPageLaguage(a);Recite.Event.unsubscribe(c)})}var a=[],d=[],l=Recite.Sizzle("html")[0];Text.prototype.originalContent=null;Text.prototype.originalLang=null;Text.prototype.originalParentLang=null;var g={sourceLanguage:"en",workingPageLanguage:null,maxChunkSize:100,maxCharacterLimit:3E3,disallowedTags:["SCRIPT","STYLE","NOSCRIPT"],translateableAttributes:["title","alt","placeholder"],translateIgnore:"data-recite-translate-skip",
listenForPreferenceChanges:!0};Recite.Event.subscribe("Recite.Dom.Observor:change",function(a,b){var c=Recite.Preferences.get("language");null!=c&&void 0!=b&&b.hasOwnProperty("affectedElements")&&Recite.Util.each(b.affectedElements,function(a,b){Recite.Debug.log("Recite.Language.Translate","DOM observer detected change");Recite.Debug.log("Recite.Language.Translate",b);void 0==b.getAttribute("lang")&&(a=Recite.Dom.getLanguage(b.textContent),a=null===a?g.sourceLanguage:a,b.setAttribute("lang",a));Recite.Language.Translate.translate(b,
c)})});return{init:function(){k()},setOptions:function(a){null!=a.sourceLanguage&&(a.workingPageLanguage=a.sourceLanguage);g=Recite.Util.merge(g,a)},getOptions:function(){return g},translate:function(c,f){if(Recite.Dom.getLanguage(c)!=f||f!==g.sourceLanguage&&0!==f.indexOf(g.sourceLanguage)){Recite.Event.publish("Translate:begin");c=Recite.Util.isArray(c)?c:[c];var h=[],k=[];h=e(c,f);k=b(c,f);for(var l in k){var n=[];Recite.Util.each(k[l],function(a,b){for(a=0;a<b.affectedAttributes.length;a++)n.push(b.originalContent[b.affectedAttributes[a]])});
c="null"!=l?l:g.sourceLanguage;var v=-1!==c.indexOf("-")?c.substring(0,c.indexOf("-")):c,r=-1!==f.indexOf("-")?f.substring(0,f.indexOf("-")):f;"zh"!==v&&(c=v);"zh"!==r&&(f=r);if(c!=f){var y={target:f,source:c,text:n};Recite.Api.call("translate","POST",{data:y,contentType:"application/json",success:function(a){Recite.Event.publish("Recite:ModuleEvent",{name:"Recite.Language",event:"translate:"+f});for(var b in k)Recite.Util.each(k[b],function(b,c){for(b=0;b<c.affectedAttributes.length;b++)c.setAttribute(c.affectedAttributes[b],
a[0]),c.lang=f,a.shift();d.push(c)})}})}}for(l in h){var u=[],B=0,z=[];Recite.Util.each(h[l],function(a,b){if(null!==g.maxChunkSize&&z.length>=g.maxChunkSize||null!==g.maxCharacterLimit&&B>=g.maxCharacters)u.push(z),z=[],B=0;z.push(b.originalContent);B+=b.originalContent.length});u.push(z);Recite.Util.each(u,function(b,c){var d="null"!=l?l:g.sourceLanguage,e=-1!==d.indexOf("-")?d.substring(0,d.indexOf("-")):d,k=-1!==f.indexOf("-")?f.substring(0,f.indexOf("-")):f;"zh"!==e&&(d=e);"zh"!==k&&(f=k);d!=
f&&(y={target:f,source:d,text:c},Recite.Api.call("translate","POST",{data:y,contentType:"application/json",success:function(c){Recite.Util.each(c,function(c,e){c=h[d][b*g.maxChunkSize+c];3===c.nodeType?(c.nodeValue=e,c.parentNode&&(c.parentNode.lang=f)):(c.innerHTML=e,c.lang=f);a.push(c)});Recite.Event.publish("Translate:complete");Recite.Event.publish("Recite:ModuleEvent",{name:"Recite.Language",event:"translate:"+f})}}))})}}else Recite.Language.Translate.restore()},restore:function(){Recite.Language.Translate.resetWorkingPageLanguage();
0<a.length&&(Recite.Debug.log("Language","Restoring source language"),Recite.Event.publish("Translate:restore_begin"),Recite.Util.each(a,function(a,b){b.nodeValue=b.originalContent;b.parentNode&&(b.parentNode.lang=null!==b.originalParentLang?b.originalParentLang:g.sourceLanguage)}),Recite.Util.each(d,function(a,b){for(a=0;a<b.attributes.length;a++)for(var c=0;c<g.translateableAttributes.length;c++)g.translateableAttributes[c]===b.attributes[a].nodeName&&(b.setAttribute(b.attributes[a].nodeName,b.originalContent[b.attributes[a].nodeName]),
b.lang=null!==b.originalLang?b.originalLang:g.sourceLanguage)}),a=[],d=[],Recite.Event.publish("Translate:restore_complete"))},setWorkingPageLaguage:function(a){if(null!=a){if(null==l.originalLang||"undefined"==typeof l.originalLang)l.originalLang=Recite.Dom.getLanguage(l);"undefined"!=typeof l.getAttribute&&l.setAttribute("lang",a);g.workingPageLanguage=a}},getWorkingPageLanguage:function(){return g.workingPageLanguage},resetWorkingPageLanguage:function(){null===l.originalLang&&(l.originalLang=g.sourceLanguage);
null!==l.originalLang&&"undefined"!==typeof l.originalLang&&l.setAttribute("lang",l.originalLang);g.workingPageLanguage=g.sourceLanguage},hasActiveWorkingPageLanguage:function(){return g.workingPageLanguage!=g.sourceLanguage?!0:!1}}}();Recite.namespace("Gui.Notification");
Recite.Gui.Notification=function(){function k(a){var b=document.createElement("div");b.innerHTML=a;b.id=g;b.content=a;b.setAttribute("role","alert");g++;var c=!1;Recite.Util.each(l,function(a,d){d.content==b.content&&(c=!0)});c||(l.push(b),document.body.appendChild(b));return b}function e(a){try{document.body.removeChild(a),l.splice(l.indexOf(a.id),1)}catch(f){}}function b(a,b){a.style.display="block";a.setAttribute("lang","en");d.timeout&&setTimeout(function(){e(a)},d.timeout);if(d.read)try{setTimeout(function(){Recite.Player.play(a.innerHTML)},
200)}catch(p){}d.localize&&c(a);Recite.DomEvent.add(a,"click",function(b,c){e(a)})}function c(b){var c=[];null==b?c=a():c.push(b);var d=null;Recite.Language.Translate.hasActiveWorkingPageLanguage()&&(d=Recite.Language.Translate.getWorkingPageLanguage());null==d&&(d=Recite.Dom.getLanguage(Recite.Sizzle("html")[0]));null!==d&&Recite.Util.each(c,function(a,b){"object"==typeof b&&Recite.Language.Translate.translate(b,d)})}function a(){var a=Recite.Sizzle(".recite-notification");return 1<a.length?a:[]}
var d={position:"top-right",timeout:4E3,read:!1,elementTopMgn:5,suppress:!1,localize:!0},l=[],g=0;Recite.Event.subscribe("Translate:restore_complete",c);Recite.Event.subscribe("Translate:complete",c);return{show:function(a,c){d.suppress||Recite.Browser.isMobile()||(Recite.Gui.Notification.setOptions(c),a=k(a),a.className="recite-notification recite-notification-"+d.position,c=Recite.Sizzle(".recite-notification"),1<c.length&&(c=c[c.length-2],c=parseInt(c.offsetTop+c.offsetHeight+d.elementTopMgn,10),
a.style.top=c+"px"),b(a))},destroy:function(a){e(a)},setOptions:function(a){d=Recite.Util.merge(d,a)},getOptions:function(){return d},getActive:function(){return a()},localizeActive:function(){c()}}}();Recite.namespace("Gui.Modal");
Recite.Gui.Modal=function(){function k(a,b){Recite.DomEvent.add(h,"click",function(b){c();a.call()});Recite.DomEvent.add(f,"click",function(a){c();b.call()})}function e(a){var b=[];Recite.Util.each(Recite.Sizzle("#recite-modal [tabindex]"),function(a,c){b.push(c)});0<b.length&&(b[0].focus(),Recite.Key("tab",function(){if(document.activeElement==b[b.length-1])return b[0].focus(),!1}),Recite.Key("shift+tab",function(){if(document.activeElement==b[0])return b[b.length-1].focus(),!1}))}function b(){p||
(Recite.DomEvent.add(Recite.Sizzle("#recite-wrapper")[0],"click",function(a){Recite.Gui.Modal.hide()}),Recite.Key("enter",function(){null!=d&&document.activeElement.click()}),Recite.Key("esc",function(){null!=d&&f.click()}),p=!0)}function c(){if(null!=d){d.parentNode.removeChild(d);d=null;var a=Recite.Sizzle("#recite-wrapper")[0];a.setAttribute("class",a.getAttribute("class").replace(" recite-fade",""))}}function a(a){var b=[];null==a?null!=d&&b.push(d):b.push(a);if(0!=b.length){var c=null;Recite.Language.Translate.hasActiveWorkingPageLanguage()&&
(c=Recite.Language.Translate.getWorkingPageLanguage());null==c&&(c=Recite.Dom.getLanguage(Recite.Sizzle("html")[0]));null!==c&&Recite.Util.each(b,function(a,b){"object"==typeof b&&Recite.Language.Translate.translate(b,c)})}}var d=null,l=null,g=null,h=null,f=null,p=!1;Recite.Event.subscribe("Translate:restore_complete",a);Recite.Event.subscribe("Translate:complete",a);return{init:function(){b()},show:function(m,p,n,v,r,y){b();c();if(null==d){var u=document.createElement("div");u.id="recite-modal";
u.setAttribute("aria-modal","true");d=u;var q=document.createElement("div");q.id="recite-modal-header";u.appendChild(q);l=q;q=document.createElement("div");q.id="recite-modal-content";u.appendChild(q);g=q;q=document.createElement("div");q.id="recite-modal-buttons";u.appendChild(q);var z=document.createElement("a");z.id="recite-modal-button-ok";z.className="recite-modal-button";z.setAttribute("tabindex",9001);z.innerHTML="OK";q.appendChild(z);h=z;z=document.createElement("a");z.id="recite-modal-button-cancel";
z.className="recite-modal-button";z.setAttribute("tabindex",9002);z.innerHTML="Cancel";q.appendChild(z);f=z;document.body.appendChild(u)}l.innerHTML=m;g.innerHTML=p;null!=n&&(h.innerHTML=n);null!=v&&(f.innerHTML=v);k(r,y);d.style.display="block";d.setAttribute("lang","en");e(d);m=Recite.Sizzle("#recite-wrapper")[0];m.setAttribute("class",m.getAttribute("class")+" recite-fade");a(d)},hide:function(){c()},localizeActive:function(){a()}}}();Recite.namespace("Magnifier");
Recite.Magnifier=function(){var k;function e(){Recite.Preferences.get("magnifier.enabled")&&!y?Recite.Magnifier.enable():y&&!Recite.Preferences.get("magnifier.enabled")&&Recite.Magnifier.disable()}function b(){var a=document.documentElement.scrollTop||document.body.scrollTop;Recite.Sizzle("#recite-header")[0].style.top=a-60+"px"}function c(){if(!q){if(u||!y)return!1;Recite.Debug.log("Recite.Magnifier","Rendering Magnifier ...");u=!0;if(B){v=document.createElement("div");v.className="magnifying_holder";
v.id="magnifying_holder";r=document.createElement("div");r.className="magnifying_glass";r.id="magnifying_glass";v.appendChild(r);var b=document.createElement("div");b.className="magnifying_handle";b.id="magnifying_handle";v.appendChild(b);document.body.appendChild(v)}b=document.createElement("div");b.className="magnifying_content";b.id="magnifying_content";b.innerHTML+=Recite.Sizzle("body")[0].innerHTML;a("magnifying_holder",b);l(Recite.Sizzle("#recite-header",b)[0],b);d("script",b);b.style.visibility=
"hidden";b.style.top=x+"px";b.style.left=A+"px";b.style.width=window.innerWidth+"px";b.style.height="auto";var c=window.getComputedStyle(Recite.Sizzle("body")[0],null).getPropertyValue("padding-top");b.style.paddingTop=c;""!=Recite.Dom.getStyle(document.body,"background")&&(b.style.background=Recite.Dom.getStyle(document.body,"background"));r.appendChild(b);b.style.visibility="visible";n&&l(n,document);n=b;B&&(b=window.pageXOffset,v.style.top=window.pageYOffset+30+"px",v.style.left=b+30+"px",B=!1);
u=!1}}function a(a,b){a=b.getElementsByClassName(a);Recite.Util.each(a,function(a,c){l(c,b)})}function d(a,b){a=b.getElementsByTagName(a);Recite.Util.each(a,function(a,c){l(c,b)})}function l(a,b){try{a.parentNode.removeChild(a)}catch(E){Recite.Debug.log("Recite.Magnifier","Error "+E)}}function g(){document.onmousemove=function(a){var b=a.pageX-v.offsetWidth/2,c=-(Math.abs(a.pageY)*m.scale)+v.offsetHeight-20,d=-(Math.abs(a.pageX)*m.scale)+v.offsetWidth;v.style.top=a.pageY-v.offsetHeight/2+"px";v.style.left=
b+"px";n.style.top=c+"px";n.style.left=d+"px"}}function h(){var a=document.getElementById("magnifying_holder");document.getElementById("magnifying_glass");var b=document.getElementById("magnifying_content");Recite.DomEvent.add(b,"mousedown",function(a){var b=[];var c=Recite.Dom.getIndex(v),d=Recite.Dom.getPath(a.target);c=d.indexOf(c);--d[c];var e=Recite.Dom.getPath(n.querySelector("#recite-wrapper")),f=Recite.Dom.getPath(document.querySelector("#recite-wrapper"));--e[c];for(var h in e)-1>=f.indexOf(e[h])&&
b.push(h);for(h in b)d.splice(b[0],1);b=Recite.Dom.getNode(d);a=a.target;"INPUT"==a.nodeName&&a.focus();try{Recite.Debug.log("Recite.Magnifier","simulate mousedown");var g=p(t,{});d=a=null;for(var k in w)if(w[k].test("mousedown")){d=k;break}if(!d)throw new SyntaxError("Only HTMLEvents and MouseEvents interfaces are supported");if(document.createEvent)a=document.createEvent(d),"HTMLEvents"==d?a.initEvent("mousedown",g.bubbles,g.cancelable):a.initMouseEvent("mousedown",g.bubbles,g.cancelable,document.defaultView,
g.button,g.pointerX,g.pointerY,g.pointerX,g.pointerY,g.ctrlKey,g.altKey,g.shiftKey,g.metaKey,g.button,b),b.dispatchEvent(a);else{g.clientX=g.pointerX;g.clientY=g.pointerY;var l=document.createEventObject();a=p(l,g);b.fireEvent("onmousedown",a)}}catch(L){Recite.Debug.log("Recite.Magnifier","Error "+L)}});Recite.DomEvent.add(a,"mousedown",function(a){a.preventDefault();this.setAttribute("data-drag",!0);this.setAttribute("data-dragMouseTop",a.pageY);this.setAttribute("data-dragMouseLeft",a.pageX);this.setAttribute("data-dragOffsetTop",
parseInt(document.defaultView.getComputedStyle(this,null).getPropertyValue("top")));this.setAttribute("data-dragOffsetLeft",parseInt(document.defaultView.getComputedStyle(this,null).getPropertyValue("left")))});Recite.DomEvent.add(document,"mousemove",function(a){k=a.pageX;C=a.pageY;if("true"==v.getAttribute("data-drag")){a=parseInt(v.getAttribute("data-dragOffsetLeft"))+(k-v.getAttribute("data-dragMouseLeft"));var b=parseInt(v.getAttribute("data-dragOffsetTop"))+(C-v.getAttribute("data-dragMouseTop"));
v.style.top=b+60+"px";v.style.left=a+"px";b=-(b*m.scale)-v.offsetHeight/2;a=-(a*m.scale)-v.offsetWidth/2;n.style.top=b+"px";n.style.left=a+"px";A=a;x=b}});Recite.DomEvent.add(window,"mouseup",function(a){v.setAttribute("data-drag",!1)})}function f(){var a=!1;window.onkeydown=function(b){17==b.keyCode&&(v.style.borderColor="#FF9600",v.style.pointerEvents="none",n.style.pointerEvents="none",a=1==a?!1:!0);if(192==b.keyCode){b=k;var c=C,d=v;d.setAttribute("data-dragMouseTop",c);d.setAttribute("data-dragMouseLeft",
b);d.setAttribute("data-dragOffsetTop",c);d.setAttribute("data-dragOffsetLeft",b);b=k-v.offsetWidth/2;c=C-v.offsetHeight/2;b=parseInt(v.getAttribute("data-dragOffsetLeft"))+(b-v.getAttribute("data-dragMouseLeft"));c=parseInt(v.getAttribute("data-dragOffsetTop"))+(c-v.getAttribute("data-dragMouseTop"));v.style.top=c+"px";v.style.left=b+"px";c=-(c*m.scale)-v.offsetHeight/2;b=-(b*m.scale)-v.offsetWidth/2;n.style.top=c+"px";n.style.left=b+"px";A=b;x=c}};window.onkeyup=function(b){0==a&&17==b.keyCode&&
(v.style.borderColor="#333333",v.style.pointerEvents="inherit",n.style.pointerEvents="inherit",a=!1)}}function p(a,b){for(var c in b)a[c]=b[c];return a}var m={realtimeRender:!0,followMouse:!1,scale:2,allowHighlights:!1,cacheImages:!0},q=!1,n=!1,v=!1,r=!1,y=!1,u=!1,B=!0,z=null;var C=k=0;var w={HTMLEvents:/^(?:load|unload|abort|error|select|change|submit|reset|focus|blur|resize|scroll)$/,MouseEvents:/^(?:click|hover|dblclick|mouse(?:down|up|over|move|out))$/},t={pointerX:0,pointerY:0,button:0,ctrlKey:!1,
altKey:!1,shiftKey:!1,metaKey:!1,bubbles:!0,cancelable:!0},A=100,x=100;Recite.Event.subscribe("Preferences:load",e);Recite.Event.subscribe("Preferences:set",e);Recite.Event.subscribe("Preferences:reset",e);return{enable:function(){if(Recite.Browser.isMobile())Recite.Debug.log("Recite.Magnifier","Preventing load as feature not supported on mobile"),Recite.Gui.Notification.show("This feature is not available on your platform.",{read:!1});else if(!y){y=!0;q||(Recite.Ruler.disable(),Recite.ScreenMask.disable(),
c(),m.followMouse?g():h(),1==m.realtimeRender&&(z=Recite.Event.subscribe("Recite.Dom.Observor:change",c)),m.allowHighlights&&f(),Recite.Debug.log("Recite.Magnifier","Magnifier enabled"),Recite.Gui.Notification.show("Recite magnifier enabled"),Recite.Event.publish("Recite.Magnifier.enabled"),Recite.Sizzle("#recite-header")[0].style.position="absolute",Recite.Sizzle("#recite-header")[0].style.top="-60px",b(),Recite.DomEvent.add(window,"scroll",b),Recite.Event.publish("Recite:ModuleEvent",{name:"Recite.Magnifier",
event:"enable"}));for(var a=[window],d=0;d<a.length;d++)Recite.DomEvent.add(a[d],"resize",c)}},disable:function(){if(y){y=!1;l(v,document);B=!0;Recite.Event.unsubscribe(z);Recite.Debug.log("Recite.Magnifier","Magnifier disabled");Recite.Gui.Notification.show("Recite magnifier disabled");Recite.Event.publish("Recite.Magnifier.disabled");Recite.Sizzle("#recite-header")[0].style.position="fixed";Recite.Sizzle("#recite-header")[0].style.top="0px";Recite.DomEvent.remove(window,"scroll",b);Recite.Event.publish("Recite:ModuleEvent",
{name:"Recite.Magnifier",event:"disable"});Recite.Preferences.set("magnifier.enabled",!1);for(var a=[window],d=0;d<a.length;d++)Recite.DomEvent.remove(a[d],"resize",c)}},toggle:function(){Recite.Magnifier.isEnabled()?Recite.Magnifier.disable():Recite.Magnifier.enable()},isEnabled:function(){return y},setOptions:function(a){m=Recite.Util.merge(m,a)},disableInstance:function(){q=!0}}}();Recite.namespace("FrameUpdater");
Recite.FrameUpdater=function(){function k(a){var b=!1;a.hasOwnProperty("msgType")&&Recite.Util.each(r.validMessages,function(c,d){a.msgType==d&&(b=c)});return b}function e(a,b){if(h&&1==r.enable.post)for(var d=0;d<f.length;d++)("undefined"==typeof b||"undefined"!=typeof b&&-1==b.indexOf(f[d]))&&c(f[d],a)}function b(a){h&&1==r.enable.post&&c(window.top,a)}function c(a,b){if(h&&1==r.enable.post)try{var c=JSON.stringify(b);a.postMessage(c,"*")}catch(z){}}function a(a){if(h&&1==r.enable.listen&&"undefined"!=
typeof a.data)try{var b=JSON.parse(a.data);!1!==k(b)&&d(a)}catch(B){}}function d(a){var d=JSON.parse(a.data),g=k(d);if(0!=g&&h&&1==r.enable.listen){"setChildFrame"==g&&(f.push(a.source),c(a.source,{msgType:r.validMessages.HideControls}));"HideControls"==g&&(Recite.Controls.disable(),Recite.Controls.disableInstanceOverlay());"PreferencesSet"==g&&d.hasOwnProperty("payload")&&Recite.Preferences.set(d.payload);"PreferencesReset"==g&&d.hasOwnProperty("payload")&&Recite.Preferences.resetAll();"playerControlsShown"==
g&&(p&&e({msgType:r.validMessages.playerControlsShown},[a.source]),Recite.PlayerControls.hide(),Recite.PlayerControls.stop());"disable"==g&&(p&&e({msgType:r.validMessages.disable},[a.source]),Recite.disable(!0));if("playNext"==g&&d.hasOwnProperty("payload"))if(d.payload.hasOwnProperty("playParent"))p&&(q=null,setTimeout(function(){Recite.PlayerControls.next(v)},400));else if(d.payload.hasOwnProperty("src")){if(d.payload.src==window.self.location.href){var l={msgType:r.validMessages.setActiveChildFrame};
b(l);n=!0;Recite.PlayerControls.first()}}else d.payload.hasOwnProperty("playActiveChild")&&n&&(l=Recite.PlayerControls.next(),null==l&&"undefined"!=typeof l&&(l={msgType:r.validMessages.removeActiveChildFrame},b(l),n=!1,b({msgType:r.validMessages.playNext,payload:{playParent:!0,src:window.location.href}})));"playPrev"==g&&d.hasOwnProperty("payload")&&(d.payload.hasOwnProperty("playParent")?p&&(q=null,setTimeout(function(){Recite.PlayerControls.previous(v)},400)):d.payload.hasOwnProperty("src")?d.payload.src==
window.self.location.href&&(l={msgType:r.validMessages.setActiveChildFrame},b(l),n=!0,Recite.PlayerControls.last()):d.payload.hasOwnProperty("playActiveChild")&&n&&(l=Recite.PlayerControls.previous(),null==l&&"undefined"!=typeof l&&(l={msgType:r.validMessages.removeActiveChildFrame},b(l),n=!1,b({msgType:r.validMessages.playPrev,payload:{playParent:!0,src:window.location.href}}))));"setActiveChildFrame"==g&&(p?q=a.source:(q=null,n=!1));"removeActiveChildFrame"==g&&(p&&(l={msgType:r.validMessages.removeActiveChildFrame},
e(l,[a.source])),n=!1,q=null)}}function l(){var a={msgType:r.validMessages.PreferencesSet},c={msgType:r.validMessages.PreferencesReset},d={msgType:r.validMessages.playerControlsShown},f={msgType:r.validMessages.playNext},g={msgType:r.validMessages.playPrev};Recite.Event.subscribe("Preferences:set",function(){a.payload=Recite.Preferences.get();e(a)});Recite.Event.subscribe("Preferences:load",function(){a.payload=Recite.Preferences.get();e(a)});Recite.Event.subscribe("Preferences:reset",function(){c.payload=
Recite.Preferences.get();e(c)});Recite.Event.subscribe("Recite.Tooltip:show",function(){b({msgType:r.validMessages.removeActiveChildFrame});p?(e(d),q=null):(b(d),b({msgType:r.validMessages.setActiveChildFrame}),n=!0)});Recite.Event.subscribe("FrameUpdater:EnterFrame",function(a,b){b.hasOwnProperty("element")&&(b.hasOwnProperty("direction")&&"next"==b.direction?(f.payload={src:b.element.src},v=b.element,e(f)):b.hasOwnProperty("direction")&&"prev"==b.direction?(g.payload={src:b.element.src},v=b.element,
e(g)):(f.payload={src:b.element.src},v=b.element,e(f)))});p&&Recite.Event.subscribe("Recite:disable",function(a,b){e({msgType:r.validMessages.disable})})}function g(){Recite.Debug.log("FrameUpdater","Enabling");h||(window.top==window.self?p=!0:m=!0,h=1==r.enable.post||1==r.enable.listen,1==r.enable.listen&&window.addEventListener("message",a),1==r.enable.post&&l());m&&c(window.parent,{msgType:r.validMessages.setChildFrame});p&&(Recite.Util.each(window.frames,function(a,b){}),Recite.Util.each(Recite.Sizzle("iframe"),
function(a,b){Recite.DomEvent.add(b,"mouseover",function(){v=b})}))}var h=!1,f=[],p=null,m=null,q=null,n=!1,v=null,r={enabled:!1,enable:{post:!0,listen:!0},validOrigins:[window.location.origin],validDestinations:[window.location.origin],validMessages:{PreferencesSet:"Recite.PreferencesSet",PreferencesReset:"Recite.PreferencesReset",setChildFrame:"iknowittobetrue",playerControlsShown:"playerControlsShown",HideControls:"HideControls",playNext:"playNext",playPrev:"playPrev",setActiveChildFrame:"setActiveChildFrame",
removeActiveChildFrame:"removeActiveChildFrame",disable:"disable"},preferencesReloadDelay:100,parentSetDelay:1E3,maxTries:10};return{setOptions:function(a){r=Recite.Util.merge(r,a)},getOptions:function(){return r},load:function(){h||g()},disable:function(){h=!1},enabled:function(){return r.enabled},isActive:function(){return h},isParentFrame:function(){return p},isChildFrame:function(){return m},getActiveChildFrame:function(){return q},hasActiveChildFrame:function(){return p&&null!=q?!0:!1},activeFramePlayNext:function(){e({msgType:r.validMessages.playNext,
payload:{playActiveChild:!0}})},activeFramePlayPrev:function(){e({msgType:r.validMessages.playPrev,payload:{playActiveChild:!0}})}}}();
