jQuery.webshims.register("track",function(d,g,r,s){var i=g.mediaelement;(new Date).getTime();var u={subtitles:1,captions:1,descriptions:1},m=Modernizr.ES5&&Modernizr.objectAccessor,p=function(a){var b={};a.addEventListener=function(a,f){b[a]&&g.error("always use $.bind to the shimed event: "+a+" already bound fn was: "+b[a]+" your fn was: "+f);b[a]=f};a.removeEventListener=function(a,f){b[a]&&b[a]!=f&&g.error("always use $.bind/$.unbind to the shimed event: "+a+" already bound fn was: "+b[a]+" your fn was: "+ f);b[a]&&delete b[a]};return a},v={getCueById:function(a){for(var b=null,e=0,f=this.length;ea.startTime&&g.error("cue startTime higher than previous cue's startTime")}else this.cues= i.createCueList();a.track&&a.track.removeCue&&a.track.removeCue(a);a.track=this;this.cues.push(a)},removeCue:function(a){var b=this.cues||[],e=0,f=b.length;if(a.track!=this)g.error("cue not part of track");else{for(;e")[0];r.TextTrackCue=function(a,b,e){3!=arguments.length&&g.error("wrong arguments.length for TextTrackCue.constructor");this.startTime=a;this.endTime=b;this.text=e;this.id="";this.pauseOnExit=!1;p(this)};r.TextTrackCue.prototype={onenter:null,onexit:null,pauseOnExit:!1,getCueAsHTML:function(){var a="",b="",e=s.createDocumentFragment(),f;if(!x(this, "getCueAsHTML"))f=this.getCueAsHTML=function(){var c,h;if(a!=this.text){a=this.text;b=i.parseCueTextToHTML(a);q.innerHTML=b;for(c=0,h=q.childNodes.length;c]+>)/ig,b=/^(?:c|v|ruby|rt|b|i|u)/,e=/\<\s*\//,f=function(b,a,c,f){e.test(f)?b="":(c.splice(0,1), b="<"+b+" "+a+'="'+c.join(" ").replace(/\"/g,""")+'">');return b},c=function(a){var c=a.replace(/[<\/>]+/ig,"").split(/[\s\.]+/);c[0]&&(c[0]=c[0].toLowerCase(),b.test(c[0])?"c"==c[0]?a=f("span","class",c,a):"v"==c[0]&&(a=f("q","title",c,a)):a="");return a};return function(b){return b.replace(a,c)}}();i.loadTextTrack=function(a,b,e,f){var c=e.track,h=function(){var e=d.prop(b,"src"),f,k;if("disabled"!=c.mode&&e&&d.attr(b,"src")&&(d(a).unbind("play playing timeupdate updatetrackdisplay",h),d(b).unbind("checktrackmode", h),!c.readyState)){f=function(){c.readyState=3;c.cues=null;c.activeCues=c.shimActiveCues=c._shimActiveCues=null;d(b).triggerHandler("error")};c.readyState=1;try{c.cues=i.createCueList(),c.activeCues=c.shimActiveCues=c._shimActiveCues=i.createCueList(),k=d.ajax({dataType:"text",url:e,success:function(e){"text/vtt"!=k.getResponseHeader("content-type")&&g.error("set the mime-type of your WebVTT files to text/vtt. see: http://dev.w3.org/html5/webvtt/#text/vtt");i.parseCaptions(e,c,function(e){e&&"length"in e?(c.readyState=2,d(b).triggerHandler("load"),d(a).triggerHandler("updatetrackdisplay")):f()})},error:f})}catch(l){f(),g.warn(l)}}};c.readyState=0;c.shimActiveCues=null;c._shimActiveCues=null;c.activeCues=null;c.cues=null;d(a).unbind("play playing timeupdate updatetrackdisplay",h);d(b).unbind("checktrackmode",h);d(a).bind("play playing timeupdate updatetrackdisplay",h);d(b).bind("checktrackmode",h);if(f)c.mode=u[c.kind]?"showing":"hidden",h()};i.createTextTrack=function(a,b){var e,f;if(b.nodeName&& (f=g.data(b,"trackData")))t(b,f),e=f.track;if(!e)e=p(g.objectCreate(w)),m||n.forEach(function(a){var f=d.prop(b,a);f&&(e[o[a]||a]=f)}),b.nodeName?(m&&n.forEach(function(a){g.defineProperty(e,o[a]||a,{get:function(){return d.prop(b,a)}})}),f=g.data(b,"trackData",{track:e}),i.loadTextTrack(a,b,f,d.prop(b,"default")&&d(b).siblings("track[default]").andSelf()[0]==b)):(m&&n.forEach(function(a){g.defineProperty(e,o[a]||a,{value:b[a],writeable:!1})}),e.cues=i.createCueList(),e.activeCues=e._shimActiveCues= e.shimActiveCues=i.createCueList(),e.mode="hidden",e.readyState=2);return e};i.parseCaptionChunk=function(){var a=/^(\d{2})?:?(\d{2}):(\d{2})\.(\d+)\s+\-\-\>\s+(\d{2})?:?(\d{2}):(\d{2})\.(\d+)\s*(.*)/,b=/^(DEFAULTS|DEFAULT)\s+\-\-\>\s+(.*)/g,e=/^(STYLE|STYLES)\s+\-\-\>\s*\n([\s\S]*)/g,f=/^(COMMENT|COMMENTS)\s+\-\-\>\s+(.*)/g;return function(c){var h,d,i,k;if(b.exec(c)||e.exec(c)||f.exec(c))return null;for(c=c.split(/\n/g);!c[0].replace(/\s+/ig,"").length&&0=m&&(l||g.error("please use WebVTT format. This is the standard"),e(b.cues))},a=a.replace(/\r\n/g,"\n"),setTimeout(function(){a= a.replace(/\r/g,"\n");setTimeout(function(){j=(new Date).getTime();a=a.split(/\n\n+/g);c(0,a.length)},9)},9)):g.error("Required parameter captionData not supplied.")};i.createTrackList=function(a,b){b=b||g.data(a,"mediaelementBase")||g.data(a,"mediaelementBase",{});if(!b.textTracks)b.textTracks=[],g.defineProperties(b.textTracks,{onaddtrack:{value:null},onremovetrack:{value:null}}),p(b.textTracks);return b.textTracks};Modernizr.track||(g.defineNodeNamesBooleanProperty(["track"],"default"),g.reflectProperties(["track"], ["srclang","label"]),g.defineNodeNameProperties("track",{src:{reflect:!0,propType:"src"}}));g.defineNodeNameProperties("track",{kind:{attr:Modernizr.track?{set:function(a){var b=g.data(this,"trackData");this.setAttribute("data-kind",a);if(b)b.attrKind=a},get:function(){var a=g.data(this,"trackData");return a&&"attrKind"in a?a.attrKind:this.getAttribute("kind")}}:{},reflect:!0,propType:"enumarated",defaultValue:"subtitles",limitedTo:["subtitles","captions","descriptions","chapters","metadata"]}}); d.each(n,function(a,b){var e=o[b]||b;g.onNodeNamesPropertyModify("track",b,function(){var a=g.data(this,"trackData"),c=this;if(a)"kind"==b&&t(this,a),m||(a.track[e]=d.prop(this,b)),clearTimeout(a.changedTrackPropTimer),a.changedTrackPropTimer=setTimeout(function(){d(c).trigger("updatesubtitlestate")},1)})});g.onNodeNamesPropertyModify("track","src",function(a){if(a){var a=g.data(this,"trackData"),b;a&&(b=d(this).closest("video, audio"),b[0]&&i.loadTextTrack(b,this,a))}});g.defineNodeNamesProperties(["track"], {ERROR:{value:3},LOADED:{value:2},LOADING:{value:1},NONE:{value:0},readyState:{get:function(){return(d.prop(this,"track")||{readyState:0}).readyState},writeable:!1},track:{get:function(){return i.createTextTrack(d(this).closest("audio, video")[0],this)},writeable:!1}},"prop");g.defineNodeNamesProperties(["audio","video"],{textTracks:{get:function(){var a=g.data(this,"mediaelementBase")||g.data(this,"mediaelementBase",{}),b=i.createTrackList(this,a);a.blockTrackListUpdate||l.call(this,a,b);return b}, writeable:!1},addTextTrack:{value:function(a,b,d){a=i.createTextTrack(this,{kind:a||"",label:b||"",srclang:d||""});b=g.data(this,"mediaelementBase")||g.data(this,"mediaelementBase",{});if(!b.scriptedTextTracks)b.scriptedTextTracks=[];b.scriptedTextTracks.push(a);l.call(this);return a}}},"prop");d(s).bind("emptied ended updatetracklist",function(a){if(d(a.target).is("audio, video")){var b=g.data(a.target,"mediaelementBase");if(b)clearTimeout(b.updateTrackListTimer),b.updateTrackListTimer=setTimeout(function(){l.call(a.target, b)},0)}});g.addReady(function(a,b){var e=b.filter("video, audio, track").closest("audio, video");d("video, audio",a).add(e).each(function(){l.call(this)}).each(function(){if(Modernizr.track){var a=this.textTracks;d.prop(this,"textTracks").length!=a.length&&g.error("textTracks couldn't be copied");d("track",this).each(function(){var a=d.prop(this,"track"),b=this.track,e,f;if(b){e=d.prop(this,"kind");f=b.readyState||this.readyState;if(b.mode||f)a.mode=b.mode;if("descriptions"!=e)b.mode="string"==typeof b.mode? "disabled":0,this.kind="metadata",d(this).attr({kind:e})}}).bind("load error",function(a){a.originalEvent&&a.stopImmediatePropagation()})}});e.each(function(){var a=this,b=g.data(a,"mediaelementBase");if(b)clearTimeout(b.updateTrackListTimer),b.updateTrackListTimer=setTimeout(function(){l.call(a,b)},9)})});Modernizr.track&&d("video, audio").trigger("trackapichange")});