OSDN Git Service

GWT changes
authorJustin Shapcott <support@mobidevelop.com>
Wed, 19 Jun 2013 22:35:31 +0000 (15:35 -0700)
committerJustin Shapcott <support@mobidevelop.com>
Wed, 19 Jun 2013 22:38:21 +0000 (15:38 -0700)
Updated SoundManager2.
Implemented touch input.

backends/gdx-backends-gwt/src/com/badlogic/gdx/backends/gwt/GwtApplication.java
backends/gdx-backends-gwt/src/com/badlogic/gdx/backends/gwt/GwtInput.java
backends/gdx-backends-gwt/src/com/badlogic/gdx/backends/gwt/resources/soundmanager2-jsmin.js
backends/gdx-backends-gwt/src/com/badlogic/gdx/backends/gwt/resources/soundmanager2.swf [new file with mode: 0644]
backends/gdx-backends-gwt/src/com/badlogic/gdx/backends/gwt/resources/soundmanager2_debug.swf [deleted file]
backends/gdx-backends-gwt/src/com/badlogic/gdx/backends/gwt/resources/soundmanager2_flash9.swf [new file with mode: 0644]
backends/gdx-backends-gwt/src/com/badlogic/gdx/backends/gwt/resources/soundmanager2_flash9_debug.swf [deleted file]
backends/gdx-backends-gwt/src/com/badlogic/gdx/backends/gwt/soundmanager2/SoundManager.java
gdx/src/com/badlogic/gdx/graphics/glutils/ImmediateModeRenderer20.java

index 83817d6..bdd015a 100644 (file)
@@ -81,7 +81,6 @@ public abstract class GwtApplication implements EntryPoint, Application {
 
        @Override
        public void onModuleLoad () {
-               consoleLog("onModuleLoad");
                this.agentInfo = computeAgentInfo();
                this.listener = getApplicationListener();
                this.config = getConfig();
@@ -113,7 +112,7 @@ public abstract class GwtApplication implements EntryPoint, Application {
                }
 
                // initialize SoundManager2
-               SoundManager.init(GWT.getModuleBaseURL(), 9);
+               SoundManager.init(GWT.getModuleBaseURL(), 9, true);
 
                // wait for soundmanager to load, this is fugly, but for
                // some reason the ontimeout and onerror callbacks are never
@@ -147,7 +146,6 @@ public abstract class GwtApplication implements EntryPoint, Application {
 
        private void setupLoop () {
                // setup modules
-               consoleLog("setupLoop");
                try {                   
                        graphics = new GwtGraphics(root, config);                       
                } catch (Throwable e) {
@@ -488,7 +486,7 @@ public abstract class GwtApplication implements EntryPoint, Application {
                }               
        }
        
-       native void consoleLog(String message) /*-{
-               console.log( "GWT:" + message );
+       native static void consoleLog(String message) /*-{
+               console.log( "GWT: " + message );
        }-*/;
 }
index afd83fe..0be8673 100644 (file)
@@ -22,21 +22,28 @@ import java.util.Set;
 import com.badlogic.gdx.Gdx;\r
 import com.badlogic.gdx.Input;\r
 import com.badlogic.gdx.InputProcessor;\r
+import com.badlogic.gdx.Input.Buttons;\r
 import com.badlogic.gdx.backends.gwt.widgets.TextInputDialogBox;\r
 import com.badlogic.gdx.backends.gwt.widgets.TextInputDialogBox.TextInputDialogListener;\r
 import com.badlogic.gdx.utils.TimeUtils;\r
+import com.gargoylesoftware.htmlunit.javascript.host.Navigator;\r
 import com.google.gwt.core.client.JavaScriptObject;\r
+import com.google.gwt.core.client.JsArray;\r
 import com.google.gwt.dom.client.CanvasElement;\r
 import com.google.gwt.dom.client.Document;\r
 import com.google.gwt.dom.client.Element;\r
 import com.google.gwt.dom.client.NativeEvent;\r
+import com.google.gwt.dom.client.Touch;\r
 import com.google.gwt.event.dom.client.KeyCodes;\r
+import com.google.gwt.logging.client.ConsoleLogHandler;\r
 \r
 public class GwtInput implements Input {\r
-       boolean touched = false;\r
-       int mouseX, mouseY;\r
-       int deltaX, deltaY;\r
        boolean justTouched = false;\r
+       private boolean[] touched = new boolean[20];\r
+       private int[] touchX = new int[20];\r
+       private int[] touchY = new int[20];\r
+       private int[] deltaX = new int[20];\r
+       private int[] deltaY = new int[20];\r
        Set<Integer> pressedButtons = new HashSet<Integer>();\r
        Set<Integer> pressedKeys = new HashSet<Integer>();\r
        InputProcessor processor;\r
@@ -68,51 +75,47 @@ public class GwtInput implements Input {
 \r
        @Override\r
        public int getX () {\r
-               return mouseX;\r
+               return touchX[0];\r
        }\r
 \r
        @Override\r
        public int getX (int pointer) {\r
-               if (pointer != 0) return 0;\r
-               return mouseX;\r
+               return touchX[pointer];\r
        }\r
 \r
        @Override\r
        public int getDeltaX () {\r
-               return deltaX;\r
+               return deltaX[0];\r
        }\r
 \r
        @Override\r
        public int getDeltaX (int pointer) {\r
-               if (pointer != 0) return 0;\r
-               return deltaX;\r
+               return deltaX[pointer];\r
        }\r
 \r
        @Override\r
        public int getY () {\r
-               return mouseY;\r
+               return touchY[0];\r
        }\r
 \r
        @Override\r
        public int getY (int pointer) {\r
-               if (pointer != 0) return 0;\r
-               return mouseY;\r
+               return touchY[pointer];\r
        }\r
 \r
        @Override\r
        public int getDeltaY () {\r
-               return deltaY;\r
+               return deltaY[0];\r
        }\r
 \r
        @Override\r
        public int getDeltaY (int pointer) {\r
-               if (pointer != 0) return 0;\r
-               return deltaY;\r
+               return deltaY[pointer];\r
        }\r
 \r
        @Override\r
        public boolean isTouched () {\r
-               return touched;\r
+               return touched[0];\r
        }\r
 \r
        @Override\r
@@ -122,13 +125,12 @@ public class GwtInput implements Input {
 \r
        @Override\r
        public boolean isTouched (int pointer) {\r
-               if (pointer != 0) return false;\r
-               return touched;\r
+               return touched[pointer];\r
        }\r
 \r
        @Override\r
        public boolean isButtonPressed (int button) {\r
-               return button == Buttons.LEFT && touched;\r
+               return button == Buttons.LEFT && touched[0];\r
        }\r
 \r
        @Override\r
@@ -242,7 +244,7 @@ public class GwtInput implements Input {
                if (peripheral == Peripheral.Accelerometer) return false;\r
                if (peripheral == Peripheral.Compass) return false;\r
                if (peripheral == Peripheral.HardwareKeyboard) return true;\r
-               if (peripheral == Peripheral.MultitouchScreen) return false;\r
+               if (peripheral == Peripheral.MultitouchScreen) return isTouchScreen();\r
                if (peripheral == Peripheral.OnscreenKeyboard) return false;\r
                if (peripheral == Peripheral.Vibrator) return false;\r
                return false;\r
@@ -332,6 +334,10 @@ public class GwtInput implements Input {
                                                                                                                                                                        return event.movementY || event.webkitMovementY || 0;\r
                                                                                                                                                                        }-*/;\r
 \r
+       private static native boolean isTouchScreen() /*-{\r
+               return (('ontouchstart' in window) || (navigator.msMaxTouchPoints > 0));\r
+       }-*/;\r
+       \r
        /** works only for Chrome > Version 18 with enabled Mouse Lock enable in about:flags or start Chrome with the\r
         * --enable-pointer-lock flag */\r
        @Override\r
@@ -423,6 +429,12 @@ public class GwtInput implements Input {
                addEventListener(Document.get(), "keydown", this, false);\r
                addEventListener(Document.get(), "keyup", this, false);\r
                addEventListener(Document.get(), "keypress", this, false);\r
+               \r
+               addEventListener(canvas, "touchstart", this, true);\r
+               addEventListener(canvas, "touchmove", this, true);\r
+               addEventListener(canvas, "touchcancel", this, true);\r
+               addEventListener(canvas, "touchend", this, true);\r
+               \r
        }\r
 \r
        private int getButton (int button) {\r
@@ -433,9 +445,8 @@ public class GwtInput implements Input {
        }\r
 \r
        private void handleEvent (NativeEvent e) {\r
-\r
                if (e.getType().equals("mousedown")) {\r
-                       if (!e.getEventTarget().equals(canvas) || touched) {\r
+                       if (!e.getEventTarget().equals(canvas) || touched[0]) {\r
                                float mouseX = (int)getRelativeX(e, canvas);\r
                                float mouseY = (int)getRelativeY(e, canvas);\r
                                if (mouseX < 0 || mouseX > Gdx.graphics.getWidth() || mouseY < 0 || mouseY > Gdx.graphics.getHeight()) {\r
@@ -445,60 +456,60 @@ public class GwtInput implements Input {
                        }\r
                        hasFocus = true;\r
                        this.justTouched = true;\r
-                       this.touched = true;\r
+                       this.touched[0] = true;\r
                        this.pressedButtons.add(getButton(e.getButton()));\r
-                       this.deltaX = 0;\r
-                       this.deltaY = 0;\r
+                       this.deltaX[0] = 0;\r
+                       this.deltaY[0] = 0;\r
                        if (isCursorCatched()) {\r
-                               this.mouseX += getMovementXJSNI(e);\r
-                               this.mouseY += getMovementYJSNI(e);\r
+                               this.touchX[0] += getMovementXJSNI(e);\r
+                               this.touchY[0] += getMovementYJSNI(e);\r
                        } else {\r
-                               this.mouseX = (int)getRelativeX(e, canvas);\r
-                               this.mouseY = (int)getRelativeY(e, canvas);\r
+                               this.touchX[0] = (int)getRelativeX(e, canvas);\r
+                               this.touchY[0] = (int)getRelativeY(e, canvas);\r
                        }\r
                        this.currentEventTimeStamp = TimeUtils.nanoTime();\r
-                       if (processor != null) processor.touchDown(mouseX, mouseY, 0, getButton(e.getButton()));\r
+                       if (processor != null) processor.touchDown(touchX[0], touchY[0], 0, getButton(e.getButton()));\r
                }\r
 \r
                if (e.getType().equals("mousemove")) {\r
                        if (isCursorCatched()) {\r
-                               this.deltaX = (int)getMovementXJSNI(e);\r
-                               this.deltaY = (int)getMovementYJSNI(e);\r
-                               this.mouseX += getMovementXJSNI(e);\r
-                               this.mouseY += getMovementYJSNI(e);\r
+                               this.deltaX[0] = (int)getMovementXJSNI(e);\r
+                               this.deltaY[0] = (int)getMovementYJSNI(e);\r
+                               this.touchX[0] += getMovementXJSNI(e);\r
+                               this.touchY[0] += getMovementYJSNI(e);\r
                        } else {\r
-                               this.deltaX = (int)getRelativeX(e, canvas) - mouseX;\r
-                               this.deltaY = (int)getRelativeY(e, canvas) - mouseY;\r
-                               this.mouseX = (int)getRelativeX(e, canvas);\r
-                               this.mouseY = (int)getRelativeY(e, canvas);\r
+                               this.deltaX[0] = (int)getRelativeX(e, canvas) - touchX[0];\r
+                               this.deltaY[0] = (int)getRelativeY(e, canvas) - touchY[0];\r
+                               this.touchX[0] = (int)getRelativeX(e, canvas);\r
+                               this.touchY[0] = (int)getRelativeY(e, canvas);\r
                        }\r
                        this.currentEventTimeStamp = TimeUtils.nanoTime();\r
                        if (processor != null) {\r
-                               if (touched)\r
-                                       processor.touchDragged(mouseX, mouseY, 0);\r
+                               if (touched[0])\r
+                                       processor.touchDragged(touchX[0], touchY[0], 0);\r
                                else\r
-                                       processor.mouseMoved(mouseX, mouseY);\r
+                                       processor.mouseMoved(touchX[0], touchY[0]);\r
                        }\r
                }\r
 \r
                if (e.getType().equals("mouseup")) {\r
-                       if (!touched) return;\r
+                       if (!touched[0]) return;\r
                        this.pressedButtons.remove(getButton(e.getButton()));\r
-                       this.touched = pressedButtons.size() > 0;\r
+                       this.touched[0] = pressedButtons.size() > 0;\r
                        if (isCursorCatched()) {\r
-                               this.deltaX = (int)getMovementXJSNI(e);\r
-                               this.deltaY = (int)getMovementYJSNI(e);\r
-                               this.mouseX += getMovementXJSNI(e);\r
-                               this.mouseY += getMovementYJSNI(e);\r
+                               this.deltaX[0] = (int)getMovementXJSNI(e);\r
+                               this.deltaY[0] = (int)getMovementYJSNI(e);\r
+                               this.touchX[0] += getMovementXJSNI(e);\r
+                               this.touchY[0] += getMovementYJSNI(e);\r
                        } else {\r
-                               this.deltaX = (int)getRelativeX(e, canvas) - mouseX;\r
-                               this.deltaY = (int)getRelativeY(e, canvas) - mouseY;\r
-                               this.mouseX = (int)getRelativeX(e, canvas);\r
-                               this.mouseY = (int)getRelativeY(e, canvas);\r
+                               this.deltaX[0] = (int)getRelativeX(e, canvas) - touchX[0];\r
+                               this.deltaY[0] = (int)getRelativeY(e, canvas) - touchY[0];\r
+                               this.touchX[0] = (int)getRelativeX(e, canvas);\r
+                               this.touchY[0] = (int)getRelativeY(e, canvas);\r
                        }\r
                        this.currentEventTimeStamp = TimeUtils.nanoTime();\r
-                       this.touched = false;\r
-                       if (processor != null) processor.touchUp(mouseX, mouseY, 0, getButton(e.getButton()));\r
+                       this.touched[0] = false;\r
+                       if (processor != null) processor.touchUp(touchX[0], touchY[0], 0, getButton(e.getButton()));\r
                }\r
 \r
                if (e.getType().equals("keydown") && hasFocus) {\r
@@ -529,6 +540,74 @@ public class GwtInput implements Input {
                        if (processor != null) processor.keyUp(code);\r
                }\r
 \r
+               if (e.getType().equals("touchstart")) {\r
+                       this.justTouched = true;\r
+                       JsArray<Touch> touches = e.getChangedTouches();\r
+                       for (int i = 0, j = touches.length(); i < j; i++) {\r
+                               Touch touch = touches.get(i);\r
+                               int touchId = touch.getIdentifier();\r
+                               touched[touchId] = true;\r
+                               touchX[touchId] = touch.getRelativeX(canvas);\r
+                               touchY[touchId] = touch.getRelativeY(canvas);\r
+                               deltaX[touchId] = 0;\r
+                               deltaY[touchId] = 0;\r
+                               if (processor != null) {\r
+                                       processor.touchDown(touchX[touchId], touchY[touchId], touchId, Buttons.LEFT);\r
+                               }                               \r
+                       }\r
+                       this.currentEventTimeStamp = TimeUtils.nanoTime();\r
+                       e.preventDefault();\r
+               }\r
+               if (e.getType().equals("touchmove")) {\r
+                       JsArray<Touch> touches = e.getChangedTouches();\r
+                       for (int i = 0, j = touches.length(); i < j; i++) {\r
+                               Touch touch = touches.get(i);\r
+                               int touchId = touch.getIdentifier();\r
+                               deltaX[touchId] = touch.getRelativeX(canvas) - touchX[touchId];\r
+                               deltaY[touchId] = touch.getRelativeY(canvas) - touchY[touchId];\r
+                               touchX[touchId] = touch.getRelativeX(canvas);\r
+                               touchY[touchId] = touch.getRelativeY(canvas);\r
+                               if (processor != null) {\r
+                                       processor.touchDragged(touchX[touchId], touchY[touchId], touchId);\r
+                               }\r
+                       }\r
+                       this.currentEventTimeStamp = TimeUtils.nanoTime();\r
+                       e.preventDefault();\r
+               }\r
+               if (e.getType().equals("touchcancel")) {\r
+                       JsArray<Touch> touches = e.getChangedTouches();\r
+                       for (int i = 0, j = touches.length(); i < j; i++) {\r
+                               Touch touch = touches.get(i);\r
+                               int touchId = touch.getIdentifier();\r
+                               touched[touchId] = false;\r
+                               deltaX[touchId] = touch.getRelativeX(canvas) - touchX[touchId];\r
+                               deltaY[touchId] = touch.getRelativeY(canvas) - touchY[touchId];                         \r
+                               touchX[touchId] = touch.getRelativeX(canvas);\r
+                               touchY[touchId] = touch.getRelativeY(canvas);\r
+                               if (processor != null) {\r
+                                       processor.touchUp(touchX[touchId], touchY[touchId], touchId, Buttons.LEFT);\r
+                               }                                       \r
+                       }\r
+                       this.currentEventTimeStamp = TimeUtils.nanoTime();\r
+                       e.preventDefault();\r
+               }\r
+               if (e.getType().equals("touchend")) {                   \r
+                       JsArray<Touch> touches = e.getChangedTouches();\r
+                       for (int i = 0, j = touches.length(); i < j; i++) {\r
+                               Touch touch = touches.get(i);\r
+                               int touchId = touch.getIdentifier();\r
+                               touched[touchId] = false;\r
+                               deltaX[touchId] = touch.getRelativeX(canvas) - touchX[touchId];\r
+                               deltaY[touchId] = touch.getRelativeY(canvas) - touchY[touchId];                         \r
+                               touchX[touchId] = touch.getRelativeX(canvas);\r
+                               touchY[touchId] = touch.getRelativeY(canvas);\r
+                               if (processor != null) {\r
+                                       processor.touchUp(touchX[touchId], touchY[touchId], touchId, Buttons.LEFT);\r
+                               }                                       \r
+                       }\r
+                       this.currentEventTimeStamp = TimeUtils.nanoTime();\r
+                       e.preventDefault();\r
+               }\r
 // if(hasFocus) e.preventDefault();\r
        }\r
 \r
index 95ad10a..b6af93d 100644 (file)
  Code provided under the BSD License:
  http://schillmania.com/projects/soundmanager2/license.txt
 
- V2.97a.20120318
+ V2.97a.20130512
 */
-(function(F){function W(W,la){function n(a){return function(d){var e=this._t;return!e||!e._a?(e&&e.sID?c._wD(m+"ignoring "+d.type+": "+e.sID):c._wD(m+"ignoring "+d.type),null):a.call(this,d)}}this.flashVersion=8;this.debugMode=!0;this.debugFlash=!1;this.consoleOnly=this.useConsole=!0;this.waitForWindowLoad=!1;this.bgColor="#ffffff";this.useHighPerformance=!1;this.html5PollingInterval=this.flashPollingInterval=null;this.flashLoadTimeout=1E3;this.wmode=null;this.allowScriptAccess="always";this.useFlashBlock=
-!1;this.useHTML5Audio=!0;this.html5Test=/^(probably|maybe)$/i;this.preferFlash=!0;this.noSWFCache=!1;this.audioFormats={mp3:{type:['audio/mpeg; codecs="mp3"',"audio/mpeg","audio/mp3","audio/MPA","audio/mpa-robust"],required:!0},mp4:{related:["aac","m4a"],type:['audio/mp4; codecs="mp4a.40.2"',"audio/aac","audio/x-m4a","audio/MP4A-LATM","audio/mpeg4-generic"],required:!1},ogg:{type:["audio/ogg; codecs=vorbis"],required:!1},wav:{type:['audio/wav; codecs="1"',"audio/wav","audio/wave","audio/x-wav"],required:!1}};
-this.defaultOptions={autoLoad:!1,autoPlay:!1,from:null,loops:1,onid3:null,onload:null,whileloading:null,onplay:null,onpause:null,onresume:null,whileplaying:null,onposition:null,onstop:null,onfailure:null,onfinish:null,multiShot:!0,multiShotEvents:!1,position:null,pan:0,stream:!0,to:null,type:null,usePolicyFile:!1,volume:100};this.flash9Options={isMovieStar:null,usePeakData:!1,useWaveformData:!1,useEQData:!1,onbufferchange:null,ondataerror:null};this.movieStarOptions={bufferTime:3,serverURL:null,onconnect:null,
-duration:null};this.movieID="sm2-container";this.id=la||"sm2movie";this.debugID="soundmanager-debug";this.debugURLParam=/([#?&])debug=1/i;this.versionNumber="V2.97a.20120318";this.movieURL=this.version=null;this.url=W||null;this.altURL=null;this.enabled=this.swfLoaded=!1;this.oMC=null;this.sounds={};this.soundIDs=[];this.didFlashBlock=this.muted=!1;this.filePattern=null;this.filePatterns={flash8:/\.mp3(\?.*)?$/i,flash9:/\.mp3(\?.*)?$/i};this.features={buffering:!1,peakData:!1,waveformData:!1,eqData:!1,
-movieStar:!1};this.sandbox={type:null,types:{remote:"remote (domain-based) rules",localWithFile:"local with file access (no internet access)",localWithNetwork:"local with network (internet access only, no local access)",localTrusted:"local, trusted (local+internet access)"},description:null,noRemote:null,noLocal:null};var ma;try{ma="undefined"!==typeof Audio&&"undefined"!==typeof(new Audio).canPlayType}catch(fb){ma=!1}this.hasHTML5=ma;this.html5={usingFlash:null};this.flash={};this.ignoreFlash=this.html5Only=
-!1;var Ea,c=this,g=null,m="HTML5::",r,t=navigator.userAgent,i=F,O=i.location.href.toString(),k=document,na,X,j,A=[],oa=!0,w,P=!1,Q=!1,p=!1,x=!1,Y=!1,o,Za=0,R,v,pa,G,H,Z,Fa,qa,D,$,aa,I,ra,sa,ba,ca,J,Ga,ta,$a=["log","info","warn","error"],Ha,da,Ia,S=null,ua=null,q,va,K,Ja,ea,fa,wa,s,ga=!1,xa=!1,Ka,La,Ma,ha=0,T=null,ia,y=null,Na,ja,U,B,ya,za,Oa,l,Pa=Array.prototype.slice,E=!1,u,ka,Qa,z,Ra,Aa=t.match(/(ipad|iphone|ipod)/i),ab=t.match(/firefox/i),bb=t.match(/droid/i),C=t.match(/msie/i),cb=t.match(/webkit/i),
-V=t.match(/safari/i)&&!t.match(/chrome/i),db=t.match(/opera/i),Ba=t.match(/(mobile|pre\/|xoom)/i)||Aa,Ca=!O.match(/usehtml5audio/i)&&!O.match(/sm2\-ignorebadua/i)&&V&&!t.match(/silk/i)&&t.match(/OS X 10_6_([3-7])/i),Sa="undefined"!==typeof console&&"undefined"!==typeof console.log,Da="undefined"!==typeof k.hasFocus?k.hasFocus():null,L=V&&"undefined"===typeof k.hasFocus,Ta=!L,Ua=/(mp3|mp4|mpa)/i,M=k.location?k.location.protocol.match(/http/i):null,Va=!M?"http://":"",Wa=/^\s*audio\/(?:x-)?(?:mpeg4|aac|flv|mov|mp4||m4v|m4a|mp4v|3gp|3g2)\s*(?:$|;)/i,
-Xa="mpeg4,aac,flv,mov,mp4,m4v,f4v,m4a,mp4v,3gp,3g2".split(","),eb=RegExp("\\.("+Xa.join("|")+")(\\?.*)?$","i");this.mimePattern=/^\s*audio\/(?:x-)?(?:mp(?:eg|3))\s*(?:$|;)/i;this.useAltURL=!M;this._global_a=null;if(Ba&&(c.useHTML5Audio=!0,c.preferFlash=!1,Aa))E=c.ignoreFlash=!0;this.supported=this.ok=function(){return y?p&&!x:c.useHTML5Audio&&c.hasHTML5};this.getMovie=function(c){return r(c)||k[c]||i[c]};this.createSound=function(a){function d(){b=ea(b);c.sounds[f.id]=new Ea(f);c.soundIDs.push(f.id);
-return c.sounds[f.id]}var e,b=null,f=e=null;e="soundManager.createSound(): "+q(!p?"notReady":"notOK");if(!p||!c.ok())return wa(e),!1;2===arguments.length&&(a={id:arguments[0],url:arguments[1]});b=v(a);b.url=ia(b.url);f=b;f.id.toString().charAt(0).match(/^[0-9]$/)&&c._wD("soundManager.createSound(): "+q("badID",f.id),2);c._wD("soundManager.createSound(): "+f.id+" ("+f.url+")",1);if(s(f.id,!0))return c._wD("soundManager.createSound(): "+f.id+" exists",1),c.sounds[f.id];if(ja(f))e=d(),c._wD("Loading sound "+
-f.id+" via HTML5"),e._setup_html5(f);else{if(8<j){if(null===f.isMovieStar)f.isMovieStar=f.serverURL||(f.type?f.type.match(Wa):!1)||f.url.match(eb);f.isMovieStar&&c._wD("soundManager.createSound(): using MovieStar handling");if(f.isMovieStar){if(f.usePeakData)o("noPeak"),f.usePeakData=!1;1<f.loops&&o("noNSLoop")}}f=fa(f,"soundManager.createSound(): ");e=d();if(8===j)g._createSound(f.id,f.loops||1,f.usePolicyFile);else if(g._createSound(f.id,f.url,f.usePeakData,f.useWaveformData,f.useEQData,f.isMovieStar,
-f.isMovieStar?f.bufferTime:!1,f.loops||1,f.serverURL,f.duration||null,f.autoPlay,!0,f.autoLoad,f.usePolicyFile),!f.serverURL)e.connected=!0,f.onconnect&&f.onconnect.apply(e);!f.serverURL&&(f.autoLoad||f.autoPlay)&&e.load(f)}!f.serverURL&&f.autoPlay&&e.play();return e};this.destroySound=function(a,d){if(!s(a))return!1;var e=c.sounds[a],b;e._iO={};e.stop();e.unload();for(b=0;b<c.soundIDs.length;b++)if(c.soundIDs[b]===a){c.soundIDs.splice(b,1);break}d||e.destruct(!0);delete c.sounds[a];return!0};this.load=
-function(a,d){return!s(a)?!1:c.sounds[a].load(d)};this.unload=function(a){return!s(a)?!1:c.sounds[a].unload()};this.onposition=this.onPosition=function(a,d,e,b){return!s(a)?!1:c.sounds[a].onposition(d,e,b)};this.clearOnPosition=function(a,d,e){return!s(a)?!1:c.sounds[a].clearOnPosition(d,e)};this.start=this.play=function(a,d){if(!p||!c.ok())return wa("soundManager.play(): "+q(!p?"notReady":"notOK")),!1;if(!s(a)){d instanceof Object||(d={url:d});return d&&d.url?(c._wD('soundManager.play(): attempting to create "'+
-a+'"',1),d.id=a,c.createSound(d).play()):!1}return c.sounds[a].play(d)};this.setPosition=function(a,d){return!s(a)?!1:c.sounds[a].setPosition(d)};this.stop=function(a){if(!s(a))return!1;c._wD("soundManager.stop("+a+")",1);return c.sounds[a].stop()};this.stopAll=function(){var a;c._wD("soundManager.stopAll()",1);for(a in c.sounds)c.sounds.hasOwnProperty(a)&&c.sounds[a].stop()};this.pause=function(a){return!s(a)?!1:c.sounds[a].pause()};this.pauseAll=function(){var a;for(a=c.soundIDs.length-1;0<=a;a--)c.sounds[c.soundIDs[a]].pause()};
-this.resume=function(a){return!s(a)?!1:c.sounds[a].resume()};this.resumeAll=function(){var a;for(a=c.soundIDs.length-1;0<=a;a--)c.sounds[c.soundIDs[a]].resume()};this.togglePause=function(a){return!s(a)?!1:c.sounds[a].togglePause()};this.setPan=function(a,d){return!s(a)?!1:c.sounds[a].setPan(d)};this.setVolume=function(a,d){return!s(a)?!1:c.sounds[a].setVolume(d)};this.mute=function(a){var d=0;"string"!==typeof a&&(a=null);if(a){if(!s(a))return!1;c._wD('soundManager.mute(): Muting "'+a+'"');return c.sounds[a].mute()}c._wD("soundManager.mute(): Muting all sounds");
-for(d=c.soundIDs.length-1;0<=d;d--)c.sounds[c.soundIDs[d]].mute();return c.muted=!0};this.muteAll=function(){c.mute()};this.unmute=function(a){"string"!==typeof a&&(a=null);if(a){if(!s(a))return!1;c._wD('soundManager.unmute(): Unmuting "'+a+'"');return c.sounds[a].unmute()}c._wD("soundManager.unmute(): Unmuting all sounds");for(a=c.soundIDs.length-1;0<=a;a--)c.sounds[c.soundIDs[a]].unmute();c.muted=!1;return!0};this.unmuteAll=function(){c.unmute()};this.toggleMute=function(a){return!s(a)?!1:c.sounds[a].toggleMute()};
-this.getMemoryUse=function(){var c=0;g&&8!==j&&(c=parseInt(g._getMemoryUse(),10));return c};this.disable=function(a){var d;"undefined"===typeof a&&(a=!1);if(x)return!1;x=!0;o("shutdown",1);for(d=c.soundIDs.length-1;0<=d;d--)Ha(c.sounds[c.soundIDs[d]]);R(a);l.remove(i,"load",H);return!0};this.canPlayMIME=function(a){var d;c.hasHTML5&&(d=U({type:a}));return!y||d?d:a&&c.ok()?!!(8<j&&a.match(Wa)||a.match(c.mimePattern)):null};this.canPlayURL=function(a){var d;c.hasHTML5&&(d=U({url:a}));return!y||d?d:
-a&&c.ok()?!!a.match(c.filePattern):null};this.canPlayLink=function(a){return"undefined"!==typeof a.type&&a.type&&c.canPlayMIME(a.type)?!0:c.canPlayURL(a.href)};this.getSoundById=function(a,d){if(!a)throw Error("soundManager.getSoundById(): sID is null/undefined");var e=c.sounds[a];!e&&!d&&c._wD('"'+a+'" is an invalid sound ID.',2);return e};this.onready=function(a,d){if(a&&a instanceof Function)return p&&c._wD(q("queue","onready")),d||(d=i),pa("onready",a,d),G(),!0;throw q("needFunction","onready");
-};this.ontimeout=function(a,d){if(a&&a instanceof Function)return p&&c._wD(q("queue","ontimeout")),d||(d=i),pa("ontimeout",a,d),G({type:"ontimeout"}),!0;throw q("needFunction","ontimeout");};this._wD=this._writeDebug=function(a,d,e){var b,f;if(!c.debugMode)return!1;"undefined"!==typeof e&&e&&(a=a+" | "+(new Date).getTime());if(Sa&&c.useConsole){e=$a[d];if("undefined"!==typeof console[e])console[e](a);else console.log(a);if(c.consoleOnly)return!0}try{b=r("soundmanager-debug");if(!b)return!1;f=k.createElement("div");
-if(0===++Za%2)f.className="sm2-alt";d="undefined"===typeof d?0:parseInt(d,10);f.appendChild(k.createTextNode(a));if(d){if(2<=d)f.style.fontWeight="bold";if(3===d)f.style.color="#ff3333"}b.insertBefore(f,b.firstChild)}catch(g){}return!0};this._debug=function(){var a,d;o("currentObj",1);for(a=0,d=c.soundIDs.length;a<d;a++)c.sounds[c.soundIDs[a]]._debug()};this.reboot=function(){c._wD("soundManager.reboot()");c.soundIDs.length&&c._wD("Destroying "+c.soundIDs.length+" SMSound objects...");var a,d;for(a=
-c.soundIDs.length-1;0<=a;a--)c.sounds[c.soundIDs[a]].destruct();try{if(C)ua=g.innerHTML;S=g.parentNode.removeChild(g);c._wD("Flash movie removed.")}catch(e){o("badRemove",2)}ua=S=y=null;c.enabled=sa=p=ga=xa=P=Q=x=c.swfLoaded=!1;c.soundIDs=[];c.sounds={};g=null;for(a in A)if(A.hasOwnProperty(a))for(d=A[a].length-1;0<=d;d--)A[a][d].fired=!1;c._wD("soundManager: Rebooting...");i.setTimeout(c.beginDelayedInit,20)};this.getMoviePercent=function(){return g&&"undefined"!==typeof g.PercentLoaded?g.PercentLoaded():
-null};this.beginDelayedInit=function(){Y=!0;I();setTimeout(function(){if(xa)return!1;ca();aa();return xa=!0},20);Z()};this.destruct=function(){c._wD("soundManager.destruct()");c.disable(!0)};Ea=function(a){var d,e,b=this,f,k,h,N,i,Ya,p=!1,l=[],n=0,t,u,r=null;d=null;e=null;this.sID=a.id;this.url=a.url;this._iO=this.instanceOptions=this.options=v(a);this.pan=this.options.pan;this.volume=this.options.volume;this.isHTML5=!1;this._a=null;this.id3={};this._debug=function(){if(c.debugMode){var a=null,d=
-[],f,e;for(a in b.options)null!==b.options[a]&&(b.options[a]instanceof Function?(f=b.options[a].toString(),f=f.replace(/\s\s+/g," "),e=f.indexOf("{"),d.push(" "+a+": {"+f.substr(e+1,Math.min(Math.max(f.indexOf("\n")-1,64),64)).replace(/\n/g,"")+"... }")):d.push(" "+a+": "+b.options[a]));c._wD("SMSound() merged options: {\n"+d.join(", \n")+"\n}")}};this._debug();this.load=function(a){var d=null;if("undefined"!==typeof a)b._iO=v(a,b.options),b.instanceOptions=b._iO;else if(a=b.options,b._iO=a,b.instanceOptions=
-b._iO,r&&r!==b.url)o("manURL"),b._iO.url=b.url,b.url=null;if(!b._iO.url)b._iO.url=b.url;b._iO.url=ia(b._iO.url);c._wD("SMSound.load(): "+b._iO.url,1);if(b._iO.url===b.url&&0!==b.readyState&&2!==b.readyState)return o("onURL",1),3===b.readyState&&b._iO.onload&&b._iO.onload.apply(b,[!!b.duration]),b;a=b._iO;r=b.url;b.loaded=!1;b.readyState=1;b.playState=0;if(ja(a))d=b._setup_html5(a),d._called_load?c._wD(m+"ignoring request to load again: "+b.sID):(c._wD(m+"load: "+b.sID),b._html5_canplay=!1,b._a.autobuffer=
-"auto",b._a.preload="auto",d.load(),d._called_load=!0,a.autoPlay&&b.play());else try{b.isHTML5=!1,b._iO=fa(ea(a)),a=b._iO,8===j?g._load(b.sID,a.url,a.stream,a.autoPlay,a.whileloading?1:0,a.loops||1,a.usePolicyFile):g._load(b.sID,a.url,!!a.stream,!!a.autoPlay,a.loops||1,!!a.autoLoad,a.usePolicyFile)}catch(f){o("smError",2),w("onload",!1),J({type:"SMSOUND_LOAD_JS_EXCEPTION",fatal:!0})}return b};this.unload=function(){0!==b.readyState&&(c._wD('SMSound.unload(): "'+b.sID+'"'),b.isHTML5?(N(),b._a&&(b._a.pause(),
-ya(b._a))):8===j?g._unload(b.sID,"about:blank"):g._unload(b.sID),f());return b};this.destruct=function(a){c._wD('SMSound.destruct(): "'+b.sID+'"');if(b.isHTML5){if(N(),b._a)b._a.pause(),ya(b._a),E||h(),b._a._t=null,b._a=null}else b._iO.onfailure=null,g._destroySound(b.sID);a||c.destroySound(b.sID,!0)};this.start=this.play=function(a,d){var f,d=void 0===d?!0:d;a||(a={});b._iO=v(a,b._iO);b._iO=v(b._iO,b.options);b._iO.url=ia(b._iO.url);b.instanceOptions=b._iO;if(b._iO.serverURL&&!b.connected)return b.getAutoPlay()||
-(c._wD("SMSound.play():  Netstream not connected yet - setting autoPlay"),b.setAutoPlay(!0)),b;ja(b._iO)&&(b._setup_html5(b._iO),i());if(1===b.playState&&!b.paused)if(f=b._iO.multiShot)c._wD('SMSound.play(): "'+b.sID+'" already playing (multi-shot)',1);else return c._wD('SMSound.play(): "'+b.sID+'" already playing (one-shot)',1),b;if(b.loaded)c._wD('SMSound.play(): "'+b.sID+'"');else if(0===b.readyState){c._wD('SMSound.play(): Attempting to load "'+b.sID+'"',1);if(!b.isHTML5)b._iO.autoPlay=!0;b.load(b._iO)}else{if(2===
-b.readyState)return c._wD('SMSound.play(): Could not load "'+b.sID+'" - exiting',2),b;c._wD('SMSound.play(): "'+b.sID+'" is loading - attempting to play..',1)}if(!b.isHTML5&&9===j&&0<b.position&&b.position===b.duration)c._wD('SMSound.play(): "'+b.sID+'": Sound at end, resetting to position:0'),a.position=0;if(b.paused&&b.position&&0<b.position)c._wD('SMSound.play(): "'+b.sID+'" is resuming from paused state',1),b.resume();else{b._iO=v(a,b._iO);if(null!==b._iO.from&&null!==b._iO.to&&0===b.instanceCount&&
-0===b.playState&&!b._iO.serverURL){f=function(){b._iO=v(a,b._iO);b.play(b._iO)};if(b.isHTML5&&!b._html5_canplay)return c._wD('SMSound.play(): Beginning load of "'+b.sID+'" for from/to case'),b.load({_oncanplay:f}),!1;if(!b.isHTML5&&!b.loaded&&(!b.readyState||2!==b.readyState))return c._wD('SMSound.play(): Preloading "'+b.sID+'" for from/to case'),b.load({onload:f}),!1;b._iO=u()}c._wD('SMSound.play(): "'+b.sID+'" is starting to play');(!b.instanceCount||b._iO.multiShotEvents||!b.isHTML5&&8<j&&!b.getAutoPlay())&&
-b.instanceCount++;0===b.playState&&b._iO.onposition&&Ya(b);b.playState=1;b.paused=!1;b.position="undefined"!==typeof b._iO.position&&!isNaN(b._iO.position)?b._iO.position:0;if(!b.isHTML5)b._iO=fa(ea(b._iO));b._iO.onplay&&d&&(b._iO.onplay.apply(b),p=!0);b.setVolume(b._iO.volume,!0);b.setPan(b._iO.pan,!0);b.isHTML5?(i(),f=b._setup_html5(),b.setPosition(b._iO.position),f.play()):g._start(b.sID,b._iO.loops||1,9===j?b._iO.position:b._iO.position/1E3)}return b};this.stop=function(c){var a=b._iO;if(1===
-b.playState){b._onbufferchange(0);b._resetOnPosition(0);b.paused=!1;if(!b.isHTML5)b.playState=0;t();a.to&&b.clearOnPosition(a.to);if(b.isHTML5){if(b._a)c=b.position,b.setPosition(0),b.position=c,b._a.pause(),b.playState=0,b._onTimer(),N()}else g._stop(b.sID,c),a.serverURL&&b.unload();b.instanceCount=0;b._iO={};a.onstop&&a.onstop.apply(b)}return b};this.setAutoPlay=function(a){c._wD("sound "+b.sID+" turned autoplay "+(a?"on":"off"));b._iO.autoPlay=a;b.isHTML5||(g._setAutoPlay(b.sID,a),a&&!b.instanceCount&&
-1===b.readyState&&(b.instanceCount++,c._wD("sound "+b.sID+" incremented instance count to "+b.instanceCount)))};this.getAutoPlay=function(){return b._iO.autoPlay};this.setPosition=function(a){void 0===a&&(a=0);var d=b.isHTML5?Math.max(a,0):Math.min(b.duration||b._iO.duration,Math.max(a,0));b.position=d;a=b.position/1E3;b._resetOnPosition(b.position);b._iO.position=d;if(b.isHTML5){if(b._a)if(b._html5_canplay){if(b._a.currentTime!==a){c._wD("setPosition("+a+"): setting position");try{b._a.currentTime=
-a,(0===b.playState||b.paused)&&b._a.pause()}catch(f){c._wD("setPosition("+a+"): setting position failed: "+f.message,2)}}}else c._wD("setPosition("+a+"): delaying, sound not ready")}else a=9===j?b.position:a,b.readyState&&2!==b.readyState&&g._setPosition(b.sID,a,b.paused||!b.playState);b.isHTML5&&b.paused&&b._onTimer(!0);return b};this.pause=function(a){if(b.paused||0===b.playState&&1!==b.readyState)return b;c._wD("SMSound.pause()");b.paused=!0;b.isHTML5?(b._setup_html5().pause(),N()):(a||void 0===
-a)&&g._pause(b.sID);b._iO.onpause&&b._iO.onpause.apply(b);return b};this.resume=function(){var a=b._iO;if(!b.paused)return b;c._wD("SMSound.resume()");b.paused=!1;b.playState=1;b.isHTML5?(b._setup_html5().play(),i()):(a.isMovieStar&&!a.serverURL&&b.setPosition(b.position),g._pause(b.sID));!p&&a.onplay?(a.onplay.apply(b),p=!0):a.onresume&&a.onresume.apply(b);return b};this.togglePause=function(){c._wD("SMSound.togglePause()");if(0===b.playState)return b.play({position:9===j&&!b.isHTML5?b.position:
-b.position/1E3}),b;b.paused?b.resume():b.pause();return b};this.setPan=function(a,c){"undefined"===typeof a&&(a=0);"undefined"===typeof c&&(c=!1);b.isHTML5||g._setPan(b.sID,a);b._iO.pan=a;if(!c)b.pan=a,b.options.pan=a;return b};this.setVolume=function(a,d){"undefined"===typeof a&&(a=100);"undefined"===typeof d&&(d=!1);if(b.isHTML5){if(b._a)b._a.volume=Math.max(0,Math.min(1,a/100))}else g._setVolume(b.sID,c.muted&&!b.muted||b.muted?0:a);b._iO.volume=a;if(!d)b.volume=a,b.options.volume=a;return b};
-this.mute=function(){b.muted=!0;if(b.isHTML5){if(b._a)b._a.muted=!0}else g._setVolume(b.sID,0);return b};this.unmute=function(){b.muted=!1;var a="undefined"!==typeof b._iO.volume;if(b.isHTML5){if(b._a)b._a.muted=!1}else g._setVolume(b.sID,a?b._iO.volume:b.options.volume);return b};this.toggleMute=function(){return b.muted?b.unmute():b.mute()};this.onposition=this.onPosition=function(a,c,d){l.push({position:parseInt(a,10),method:c,scope:"undefined"!==typeof d?d:b,fired:!1});return b};this.clearOnPosition=
-function(b,a){var c,b=parseInt(b,10);if(isNaN(b))return!1;for(c=0;c<l.length;c++)if(b===l[c].position&&(!a||a===l[c].method))l[c].fired&&n--,l.splice(c,1)};this._processOnPosition=function(){var a,c;a=l.length;if(!a||!b.playState||n>=a)return!1;for(a-=1;0<=a;a--)if(c=l[a],!c.fired&&b.position>=c.position)c.fired=!0,n++,c.method.apply(c.scope,[c.position]);return!0};this._resetOnPosition=function(b){var a,c;a=l.length;if(!a)return!1;for(a-=1;0<=a;a--)if(c=l[a],c.fired&&b<=c.position)c.fired=!1,n--;
-return!0};u=function(){var a=b._iO,d=a.from,f=a.to,e,h;h=function(){c._wD(b.sID+': "to" time of '+f+" reached.");b.clearOnPosition(f,h);b.stop()};e=function(){c._wD(b.sID+': playing "from" '+d);if(null!==f&&!isNaN(f))b.onPosition(f,h)};if(null!==d&&!isNaN(d))a.position=d,a.multiShot=!1,e();return a};Ya=function(){var a,c=b._iO.onposition;if(c)for(a in c)if(c.hasOwnProperty(a))b.onPosition(parseInt(a,10),c[a])};t=function(){var a,c=b._iO.onposition;if(c)for(a in c)c.hasOwnProperty(a)&&b.clearOnPosition(parseInt(a,
-10))};i=function(){b.isHTML5&&Ka(b)};N=function(){b.isHTML5&&La(b)};f=function(){l=[];n=0;p=!1;b._hasTimer=null;b._a=null;b._html5_canplay=!1;b.bytesLoaded=null;b.bytesTotal=null;b.duration=b._iO&&b._iO.duration?b._iO.duration:null;b.durationEstimate=null;b.eqData=[];b.eqData.left=[];b.eqData.right=[];b.failures=0;b.isBuffering=!1;b.instanceOptions={};b.instanceCount=0;b.loaded=!1;b.metadata={};b.readyState=0;b.muted=!1;b.paused=!1;b.peakData={left:0,right:0};b.waveformData={left:[],right:[]};b.playState=
-0;b.position=null};f();this._onTimer=function(a){var c,f=!1,h={};if(b._hasTimer||a){if(b._a&&(a||(0<b.playState||1===b.readyState)&&!b.paused)){c=b._get_html5_duration();if(c!==d)d=c,b.duration=c,f=!0;b.durationEstimate=b.duration;c=1E3*b._a.currentTime||0;c!==e&&(e=c,f=!0);(f||a)&&b._whileplaying(c,h,h,h,h);return f}return!1}};this._get_html5_duration=function(){var a=b._iO,c=b._a?1E3*b._a.duration:a?a.duration:void 0;return c&&!isNaN(c)&&Infinity!==c?c:a?a.duration:null};this._setup_html5=function(a){var a=
-v(b._iO,a),d=decodeURI,e=E?c._global_a:b._a,h=d(a.url),g=e&&e._t?e._t.instanceOptions:null;if(e){if(e._t&&(!E&&h===d(r)||E&&g.url===a.url&&(!r||r===g.url)))return e;c._wD("setting new URL on existing object: "+h+(r?", old URL: "+r:""));E&&e._t&&e._t.playState&&a.url!==g.url&&e._t.stop();f();e.src=a.url;r=b.url=a.url;e._called_load=!1}else{c._wD("creating HTML5 Audio() element with URL: "+h);e=new Audio(a.url);e._called_load=!1;if(bb)e._called_load=!0;if(E)c._global_a=e}b.isHTML5=!0;b._a=e;e._t=b;
-k();e.loop=1<a.loops?"loop":"";a.autoLoad||a.autoPlay?b.load():(e.autobuffer=!1,e.preload="none");e.loop=1<a.loops?"loop":"";return e};k=function(){if(b._a._added_events)return!1;var a;c._wD(m+"adding event listeners: "+b.sID);b._a._added_events=!0;for(a in z)z.hasOwnProperty(a)&&b._a&&b._a.addEventListener(a,z[a],!1);return!0};h=function(){var a;c._wD(m+"removing event listeners: "+b.sID);b._a._added_events=!1;for(a in z)z.hasOwnProperty(a)&&b._a&&b._a.removeEventListener(a,z[a],!1)};this._onload=
-function(a){a=!!a;c._wD('SMSound._onload(): "'+b.sID+'"'+(a?" loaded.":" failed to load? - "+b.url),a?1:2);!a&&!b.isHTML5&&(!0===c.sandbox.noRemote&&c._wD("SMSound._onload(): "+q("noNet"),1),!0===c.sandbox.noLocal&&c._wD("SMSound._onload(): "+q("noLocal"),1));b.loaded=a;b.readyState=a?3:2;b._onbufferchange(0);b._iO.onload&&b._iO.onload.apply(b,[a]);return!0};this._onbufferchange=function(a){if(0===b.playState||a&&b.isBuffering||!a&&!b.isBuffering)return!1;b.isBuffering=1===a;b._iO.onbufferchange&&
-(c._wD("SMSound._onbufferchange(): "+a),b._iO.onbufferchange.apply(b));return!0};this._onsuspend=function(){b._iO.onsuspend&&(c._wD("SMSound._onsuspend()"),b._iO.onsuspend.apply(b));return!0};this._onfailure=function(a,d,f){b.failures++;c._wD('SMSound._onfailure(): "'+b.sID+'" count '+b.failures);if(b._iO.onfailure&&1===b.failures)b._iO.onfailure(b,a,d,f);else c._wD("SMSound._onfailure(): ignoring")};this._onfinish=function(){var a=b._iO.onfinish;b._onbufferchange(0);b._resetOnPosition(0);if(b.instanceCount){b.instanceCount--;
-if(!b.instanceCount)t(),b.playState=0,b.paused=!1,b.instanceCount=0,b.instanceOptions={},b._iO={},N();if((!b.instanceCount||b._iO.multiShotEvents)&&a)c._wD('SMSound._onfinish(): "'+b.sID+'"'),a.apply(b)}};this._whileloading=function(a,c,d,f){var e=b._iO;b.bytesLoaded=a;b.bytesTotal=c;b.duration=Math.floor(d);b.bufferLength=f;if(e.isMovieStar)b.durationEstimate=b.duration;else if(b.durationEstimate=e.duration?b.duration>e.duration?b.duration:e.duration:parseInt(b.bytesTotal/b.bytesLoaded*b.duration,
-10),void 0===b.durationEstimate)b.durationEstimate=b.duration;3!==b.readyState&&e.whileloading&&e.whileloading.apply(b)};this._whileplaying=function(a,c,d,f,e){var h=b._iO;if(isNaN(a)||null===a)return!1;b.position=a;b._processOnPosition();if(!b.isHTML5&&8<j){if(h.usePeakData&&"undefined"!==typeof c&&c)b.peakData={left:c.leftPeak,right:c.rightPeak};if(h.useWaveformData&&"undefined"!==typeof d&&d)b.waveformData={left:d.split(","),right:f.split(",")};if(h.useEQData&&"undefined"!==typeof e&&e&&e.leftEQ&&
-(a=e.leftEQ.split(","),b.eqData=a,b.eqData.left=a,"undefined"!==typeof e.rightEQ&&e.rightEQ))b.eqData.right=e.rightEQ.split(",")}1===b.playState&&(!b.isHTML5&&8===j&&!b.position&&b.isBuffering&&b._onbufferchange(0),h.whileplaying&&h.whileplaying.apply(b));return!0};this._onmetadata=function(a,d){c._wD('SMSound._onmetadata(): "'+this.sID+'" metadata received.');var e={},f,h;for(f=0,h=a.length;f<h;f++)e[a[f]]=d[f];b.metadata=e;b._iO.onmetadata&&b._iO.onmetadata.apply(b)};this._onid3=function(a,d){c._wD('SMSound._onid3(): "'+
-this.sID+'" ID3 data received.');var e=[],f,h;for(f=0,h=a.length;f<h;f++)e[a[f]]=d[f];b.id3=v(b.id3,e);b._iO.onid3&&b._iO.onid3.apply(b)};this._onconnect=function(a){a=1===a;c._wD('SMSound._onconnect(): "'+b.sID+'"'+(a?" connected.":" failed to connect? - "+b.url),a?1:2);if(b.connected=a)b.failures=0,s(b.sID)&&(b.getAutoPlay()?b.play(void 0,b.getAutoPlay()):b._iO.autoLoad&&b.load()),b._iO.onconnect&&b._iO.onconnect.apply(b,[a])};this._ondataerror=function(a){0<b.playState&&(c._wD("SMSound._ondataerror(): "+
-a),b._iO.ondataerror&&b._iO.ondataerror.apply(b))}};ba=function(){return k.body||k._docElement||k.getElementsByTagName("div")[0]};r=function(a){return k.getElementById(a)};v=function(a,d){var e={},b,f;for(b in a)a.hasOwnProperty(b)&&(e[b]=a[b]);b="undefined"===typeof d?c.defaultOptions:d;for(f in b)b.hasOwnProperty(f)&&"undefined"===typeof e[f]&&(e[f]=b[f]);return e};l=function(){function a(a){var a=Pa.call(a),b=a.length;e?(a[1]="on"+a[1],3<b&&a.pop()):3===b&&a.push(!1);return a}function c(a,d){var h=
-a.shift(),g=[b[d]];if(e)h[g](a[0],a[1]);else h[g].apply(h,a)}var e=i.attachEvent,b={add:e?"attachEvent":"addEventListener",remove:e?"detachEvent":"removeEventListener"};return{add:function(){c(a(arguments),"add")},remove:function(){c(a(arguments),"remove")}}}();z={abort:n(function(){c._wD(m+"abort: "+this._t.sID)}),canplay:n(function(){var a=this._t,d;if(a._html5_canplay)return!0;a._html5_canplay=!0;c._wD(m+"canplay: "+a.sID+", "+a.url);a._onbufferchange(0);d=!isNaN(a.position)?a.position/1E3:null;
-if(a.position&&this.currentTime!==d){c._wD(m+"canplay: setting position to "+d);try{this.currentTime=d}catch(e){c._wD(m+"setting position failed: "+e.message,2)}}a._iO._oncanplay&&a._iO._oncanplay()}),load:n(function(){var a=this._t;a.loaded||(a._onbufferchange(0),a._whileloading(a.bytesTotal,a.bytesTotal,a._get_html5_duration()),a._onload(!0))}),ended:n(function(){var a=this._t;c._wD(m+"ended: "+a.sID);a._onfinish()}),error:n(function(){c._wD(m+"error: "+this.error.code);this._t._onload(!1)}),loadeddata:n(function(){var a=
-this._t,d=a.bytesTotal||1;c._wD(m+"loadeddata: "+this._t.sID);if(!a._loaded&&!V)a.duration=a._get_html5_duration(),a._whileloading(d,d,a._get_html5_duration()),a._onload(!0)}),loadedmetadata:n(function(){c._wD(m+"loadedmetadata: "+this._t.sID)}),loadstart:n(function(){c._wD(m+"loadstart: "+this._t.sID);this._t._onbufferchange(1)}),play:n(function(){c._wD(m+"play: "+this._t.sID+", "+this._t.url);this._t._onbufferchange(0)}),playing:n(function(){c._wD(m+"playing: "+this._t.sID);this._t._onbufferchange(0)}),
-progress:n(function(a){var d=this._t,e,b,f;f=0;var g="progress"===a.type;b=a.target.buffered;var h=a.loaded||0,k=a.total||1;if(d.loaded)return!1;if(b&&b.length){for(e=b.length-1;0<=e;e--)f=b.end(e)-b.start(e);h=f/a.target.duration;if(g&&1<b.length){f=[];b=b.length;for(e=0;e<b;e++)f.push(a.target.buffered.start(e)+"-"+a.target.buffered.end(e));c._wD(m+"progress: timeRanges: "+f.join(", "))}g&&!isNaN(h)&&c._wD(m+"progress: "+d.sID+": "+Math.floor(100*h)+"% loaded")}isNaN(h)||(d._onbufferchange(0),d._whileloading(h,
-k,d._get_html5_duration()),h&&k&&h===k&&z.load.call(this,a))}),ratechange:n(function(){c._wD(m+"ratechange: "+this._t.sID)}),suspend:n(function(a){var d=this._t;c._wD(m+"suspend: "+d.sID);z.progress.call(this,a);d._onsuspend()}),stalled:n(function(){c._wD(m+"stalled: "+this._t.sID)}),timeupdate:n(function(){this._t._onTimer()}),waiting:n(function(){var a=this._t;c._wD(m+"waiting: "+a.sID);a._onbufferchange(1)})};ja=function(a){return!a.serverURL&&(a.type?U({type:a.type}):U({url:a.url})||c.html5Only)};
-ya=function(a){if(a)a.src=ab?"":"about:blank"};U=function(a){function d(a){return c.preferFlash&&u&&!c.ignoreFlash&&"undefined"!==typeof c.flash[a]&&c.flash[a]}if(!c.useHTML5Audio||!c.hasHTML5)return!1;var e=a.url||null,a=a.type||null,b=c.audioFormats,f;if(a&&"undefined"!==typeof c.html5[a])return c.html5[a]&&!d(a);if(!B){B=[];for(f in b)b.hasOwnProperty(f)&&(B.push(f),b[f].related&&(B=B.concat(b[f].related)));B=RegExp("\\.("+B.join("|")+")(\\?.*)?$","i")}f=e?e.toLowerCase().match(B):null;if(!f||
-!f.length)if(a)e=a.indexOf(";"),f=(-1!==e?a.substr(0,e):a).substr(6);else return!1;else f=f[1];if(f&&"undefined"!==typeof c.html5[f])return c.html5[f]&&!d(f);a="audio/"+f;e=c.html5.canPlayType({type:a});return(c.html5[f]=e)&&c.html5[a]&&!d(a)};Oa=function(){function a(a){var b,e,f=!1;if(!d||"function"!==typeof d.canPlayType)return!1;if(a instanceof Array){for(b=0,e=a.length;b<e&&!f;b++)if(c.html5[a[b]]||d.canPlayType(a[b]).match(c.html5Test))f=!0,c.html5[a[b]]=!0,c.flash[a[b]]=!(!c.preferFlash||!u||
-!a[b].match(Ua));return f}a=d&&"function"===typeof d.canPlayType?d.canPlayType(a):!1;return!(!a||!a.match(c.html5Test))}if(!c.useHTML5Audio||"undefined"===typeof Audio)return!1;var d="undefined"!==typeof Audio?db?new Audio(null):new Audio:null,e,b={},f,g;f=c.audioFormats;for(e in f)if(f.hasOwnProperty(e)&&(b[e]=a(f[e].type),b["audio/"+e]=b[e],c.flash[e]=c.preferFlash&&!c.ignoreFlash&&e.match(Ua)?!0:!1,f[e]&&f[e].related))for(g=f[e].related.length-1;0<=g;g--)b["audio/"+f[e].related[g]]=b[e],c.html5[f[e].related[g]]=
-b[e],c.flash[f[e].related[g]]=b[e];b.canPlayType=d?a:null;c.html5=v(c.html5,b);return!0};$={notReady:"Not loaded yet - wait for soundManager.onload()/onready()",notOK:"Audio support is not available.",domError:"soundManager::createMovie(): appendChild/innerHTML call failed. DOM not ready or other error.",spcWmode:"soundManager::createMovie(): Removing wmode, preventing known SWF loading issue(s)",swf404:"soundManager: Verify that %s is a valid path.",tryDebug:"Try soundManager.debugFlash = true for more security details (output goes to SWF.)",
-checkSWF:"See SWF output for more debug info.",localFail:"soundManager: Non-HTTP page ("+k.location.protocol+" URL?) Review Flash player security settings for this special case:\nhttp://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04.html\nMay need to add/allow path, eg. c:/sm2/ or /users/me/sm2/",waitFocus:"soundManager: Special case: Waiting for focus-related event..",waitImpatient:"soundManager: Getting impatient, still waiting for Flash%s...",waitForever:"soundManager: Waiting indefinitely for Flash (will recover if unblocked)...",
-needFunction:"soundManager: Function object expected for %s",badID:'Warning: Sound ID "%s" should be a string, starting with a non-numeric character',currentObj:"--- soundManager._debug(): Current sound objects ---",waitEI:"soundManager::initMovie(): Waiting for ExternalInterface call from Flash..",waitOnload:"soundManager: Waiting for window.onload()",docLoaded:"soundManager: Document already loaded",onload:"soundManager::initComplete(): calling soundManager.onload()",onloadOK:"soundManager.onload() complete",
-init:"soundManager::init()",didInit:"soundManager::init(): Already called?",flashJS:"soundManager: Attempting to call Flash from JS..",secNote:"Flash security note: Network/internet URLs will not load due to security restrictions. Access can be configured via Flash Player Global Security Settings Page: http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04.html",badRemove:"Warning: Failed to remove flash movie.",noPeak:"Warning: peakData features unsupported for movieStar formats",
-shutdown:"soundManager.disable(): Shutting down",queue:"soundManager: Queueing %s handler",smFail:"soundManager: Failed to initialise.",smError:"SMSound.load(): Exception: JS-Flash communication failed, or JS error.",fbTimeout:"No flash response, applying .swf_timedout CSS..",fbLoaded:"Flash loaded",fbHandler:"soundManager::flashBlockHandler()",manURL:"SMSound.load(): Using manually-assigned URL",onURL:"soundManager.load(): current URL already assigned.",badFV:'soundManager.flashVersion must be 8 or 9. "%s" is invalid. Reverting to %s.',
-as2loop:"Note: Setting stream:false so looping can work (flash 8 limitation)",noNSLoop:"Note: Looping not implemented for MovieStar formats",needfl9:"Note: Switching to flash 9, required for MP4 formats.",mfTimeout:"Setting flashLoadTimeout = 0 (infinite) for off-screen, mobile flash case",mfOn:"mobileFlash::enabling on-screen flash repositioning",policy:"Enabling usePolicyFile for data access"};q=function(){var a=Pa.call(arguments),c=a.shift(),c=$&&$[c]?$[c]:"",e,b;if(c&&a&&a.length)for(e=0,b=a.length;e<
-b;e++)c=c.replace("%s",a[e]);return c};ea=function(a){if(8===j&&1<a.loops&&a.stream)o("as2loop"),a.stream=!1;return a};fa=function(a,d){if(a&&!a.usePolicyFile&&(a.onid3||a.usePeakData||a.useWaveformData||a.useEQData))c._wD((d||"")+q("policy")),a.usePolicyFile=!0;return a};wa=function(a){"undefined"!==typeof console&&"undefined"!==typeof console.warn?console.warn(a):c._wD(a)};na=function(){return!1};Ha=function(a){for(var c in a)a.hasOwnProperty(c)&&"function"===typeof a[c]&&(a[c]=na)};da=function(a){"undefined"===
-typeof a&&(a=!1);if(x||a)o("smFail",2),c.disable(a)};Ia=function(a){var d=null;if(a)if(a.match(/\.swf(\?.*)?$/i)){if(d=a.substr(a.toLowerCase().lastIndexOf(".swf?")+4))return a}else a.lastIndexOf("/")!==a.length-1&&(a+="/");a=(a&&-1!==a.lastIndexOf("/")?a.substr(0,a.lastIndexOf("/")+1):"./")+c.movieURL;c.noSWFCache&&(a+="?ts="+(new Date).getTime());return a};qa=function(){j=parseInt(c.flashVersion,10);if(8!==j&&9!==j)c._wD(q("badFV",j,8)),c.flashVersion=j=9;var a=c.debugMode||c.debugFlash?"_debug.swf":
-".swf";if(c.useHTML5Audio&&!c.html5Only&&c.audioFormats.mp4.required&&9>j)c._wD(q("needfl9")),c.flashVersion=j=9;c.version=c.versionNumber+(c.html5Only?" (HTML5-only mode)":9===j?" (AS3/Flash 9)":" (AS2/Flash 8)");8<j?(c.defaultOptions=v(c.defaultOptions,c.flash9Options),c.features.buffering=!0,c.defaultOptions=v(c.defaultOptions,c.movieStarOptions),c.filePatterns.flash9=RegExp("\\.(mp3|"+Xa.join("|")+")(\\?.*)?$","i"),c.features.movieStar=!0):c.features.movieStar=!1;c.filePattern=c.filePatterns[8!==
-j?"flash9":"flash8"];c.movieURL=(8===j?"soundmanager2.swf":"soundmanager2_flash9.swf").replace(".swf",a);c.features.peakData=c.features.waveformData=c.features.eqData=8<j};Ga=function(a,c){if(!g)return!1;g._setPolling(a,c)};ta=function(){if(c.debugURLParam.test(O))c.debugMode=!0;if(r(c.debugID))return!1;var a,d,e,b;if(c.debugMode&&!r(c.debugID)&&(!Sa||!c.useConsole||!c.consoleOnly)){a=k.createElement("div");a.id=c.debugID+"-toggle";d={position:"fixed",bottom:"0px",right:"0px",width:"1.2em",height:"1.2em",
-lineHeight:"1.2em",margin:"2px",textAlign:"center",border:"1px solid #999",cursor:"pointer",background:"#fff",color:"#333",zIndex:10001};a.appendChild(k.createTextNode("-"));a.onclick=Ja;a.title="Toggle SM2 debug console";if(t.match(/msie 6/i))a.style.position="absolute",a.style.cursor="hand";for(b in d)d.hasOwnProperty(b)&&(a.style[b]=d[b]);d=k.createElement("div");d.id=c.debugID;d.style.display=c.debugMode?"block":"none";if(c.debugMode&&!r(a.id)){try{e=ba(),e.appendChild(a)}catch(f){throw Error(q("domError")+
-" \n"+f.toString());}e.appendChild(d)}}};s=this.getSoundById;o=function(a,d){return a?c._wD(q(a),d):""};if(O.indexOf("sm2-debug=alert")+1&&c.debugMode)c._wD=function(a){F.alert(a)};Ja=function(){var a=r(c.debugID),d=r(c.debugID+"-toggle");if(!a)return!1;oa?(d.innerHTML="+",a.style.display="none"):(d.innerHTML="-",a.style.display="block");oa=!oa};w=function(a,c,e){if("undefined"!==typeof sm2Debugger)try{sm2Debugger.handleEvent(a,c,e)}catch(b){}return!0};K=function(){var a=[];c.debugMode&&a.push("sm2_debug");
-c.debugFlash&&a.push("flash_debug");c.useHighPerformance&&a.push("high_performance");return a.join(" ")};va=function(){var a=q("fbHandler"),d=c.getMoviePercent(),e={type:"FLASHBLOCK"};if(c.html5Only)return!1;if(c.ok()){if(c.didFlashBlock&&c._wD(a+": Unblocked"),c.oMC)c.oMC.className=[K(),"movieContainer","swf_loaded"+(c.didFlashBlock?" swf_unblocked":"")].join(" ")}else{if(y)c.oMC.className=K()+" movieContainer "+(null===d?"swf_timedout":"swf_error"),c._wD(a+": "+q("fbTimeout")+(d?" ("+q("fbLoaded")+
-")":""));c.didFlashBlock=!0;G({type:"ontimeout",ignoreInit:!0,error:e});J(e)}};pa=function(a,c,e){"undefined"===typeof A[a]&&(A[a]=[]);A[a].push({method:c,scope:e||null,fired:!1})};G=function(a){a||(a={type:"onready"});if(!p&&a&&!a.ignoreInit||"ontimeout"===a.type&&c.ok())return!1;var d={success:a&&a.ignoreInit?c.ok():!x},e=a&&a.type?A[a.type]||[]:[],b=[],f,g=[d],h=y&&c.useFlashBlock&&!c.ok();if(a.error)g[0].error=a.error;for(d=0,f=e.length;d<f;d++)!0!==e[d].fired&&b.push(e[d]);if(b.length){c._wD("soundManager: Firing "+
-b.length+" "+a.type+"() item"+(1===b.length?"":"s"));for(d=0,f=b.length;d<f;d++)if(b[d].scope?b[d].method.apply(b[d].scope,g):b[d].method.apply(this,g),!h)b[d].fired=!0}return!0};H=function(){i.setTimeout(function(){c.useFlashBlock&&va();G();c.onload instanceof Function&&(o("onload",1),c.onload.apply(i),o("onloadOK",1));c.waitForWindowLoad&&l.add(i,"load",H)},1)};ka=function(){if(void 0!==u)return u;var a=!1,c=navigator,e=c.plugins,b,f=i.ActiveXObject;if(e&&e.length)(c=c.mimeTypes)&&c["application/x-shockwave-flash"]&&
-c["application/x-shockwave-flash"].enabledPlugin&&c["application/x-shockwave-flash"].enabledPlugin.description&&(a=!0);else if("undefined"!==typeof f){try{b=new f("ShockwaveFlash.ShockwaveFlash")}catch(g){}a=!!b}return u=a};Na=function(){var a,d;if(Aa&&t.match(/os (1|2|3_0|3_1)/i)){c.hasHTML5=!1;c.html5Only=!0;if(c.oMC)c.oMC.style.display="none";return!1}if(c.useHTML5Audio){if(!c.html5||!c.html5.canPlayType)return c._wD("SoundManager: No HTML5 Audio() support detected."),c.hasHTML5=!1,!0;c.hasHTML5=
-!0;if(Ca&&(c._wD("soundManager::Note: Buggy HTML5 Audio in Safari on this OS X release, see https://bugs.webkit.org/show_bug.cgi?id=32159 - "+(!u?" would use flash fallback for MP3/MP4, but none detected.":"will use flash fallback for MP3/MP4, if available"),1),ka()))return!0}else return!0;for(d in c.audioFormats)if(c.audioFormats.hasOwnProperty(d)&&(c.audioFormats[d].required&&!c.html5.canPlayType(c.audioFormats[d].type)||c.flash[d]||c.flash[c.audioFormats[d].type]))a=!0;c.ignoreFlash&&(a=!1);c.html5Only=
-c.hasHTML5&&c.useHTML5Audio&&!a;return!c.html5Only};ia=function(a){var d,e,b=0;if(a instanceof Array){for(d=0,e=a.length;d<e;d++)if(a[d]instanceof Object){if(c.canPlayMIME(a[d].type)){b=d;break}}else if(c.canPlayURL(a[d])){b=d;break}if(a[b].url)a[b]=a[b].url;return a[b]}return a};Ka=function(a){if(!a._hasTimer)a._hasTimer=!0,!Ba&&c.html5PollingInterval&&(null===T&&0===ha&&(T=F.setInterval(Ma,c.html5PollingInterval)),ha++)};La=function(a){if(a._hasTimer)a._hasTimer=!1,!Ba&&c.html5PollingInterval&&
-ha--};Ma=function(){var a;if(null!==T&&!ha)return F.clearInterval(T),T=null,!1;for(a=c.soundIDs.length-1;0<=a;a--)c.sounds[c.soundIDs[a]].isHTML5&&c.sounds[c.soundIDs[a]]._hasTimer&&c.sounds[c.soundIDs[a]]._onTimer()};J=function(a){a="undefined"!==typeof a?a:{};c.onerror instanceof Function&&c.onerror.apply(i,[{type:"undefined"!==typeof a.type?a.type:null}]);"undefined"!==typeof a.fatal&&a.fatal&&c.disable()};Qa=function(){if(!Ca||!ka())return!1;var a=c.audioFormats,d,e;for(e in a)if(a.hasOwnProperty(e)&&
-("mp3"===e||"mp4"===e))if(c._wD("soundManager: Using flash fallback for "+e+" format"),c.html5[e]=!1,a[e]&&a[e].related)for(d=a[e].related.length-1;0<=d;d--)c.html5[a[e].related[d]]=!1};this._setSandboxType=function(a){var d=c.sandbox;d.type=a;d.description=d.types["undefined"!==typeof d.types[a]?a:"unknown"];c._wD("Flash security sandbox type: "+d.type);if("localWithFile"===d.type)d.noRemote=!0,d.noLocal=!1,o("secNote",2);else if("localWithNetwork"===d.type)d.noRemote=!1,d.noLocal=!0;else if("localTrusted"===
-d.type)d.noRemote=!1,d.noLocal=!1};this._externalInterfaceOK=function(a,d){if(c.swfLoaded)return!1;var e,b=(new Date).getTime();c._wD("soundManager::externalInterfaceOK()"+(a?" (~"+(b-a)+" ms)":""));w("swf",!0);w("flashtojs",!0);c.swfLoaded=!0;L=!1;Ca&&Qa();if(!d||d.replace(/\+dev/i,"")!==c.versionNumber.replace(/\+dev/i,""))return e='soundManager: Fatal: JavaScript file build "'+c.versionNumber+'" does not match Flash SWF build "'+d+'" at '+c.url+". Ensure both are up-to-date.",setTimeout(function(){throw Error(e);
-},0),!1;C?setTimeout(X,100):X()};ca=function(a,d){function e(){c._wD("-- SoundManager 2 "+c.version+(!c.html5Only&&c.useHTML5Audio?c.hasHTML5?" + HTML5 audio":", no HTML5 audio support":"")+(!c.html5Only?(c.useHighPerformance?", high performance mode, ":", ")+((c.flashPollingInterval?"custom ("+c.flashPollingInterval+"ms)":"normal")+" polling")+(c.wmode?", wmode: "+c.wmode:"")+(c.debugFlash?", flash debug mode":"")+(c.useFlashBlock?", flashBlock mode":""):"")+" --",1)}function b(a,b){return'<param name="'+
-a+'" value="'+b+'" />'}if(P&&Q)return!1;if(c.html5Only)return qa(),e(),c.oMC=r(c.movieID),X(),Q=P=!0,!1;var f=d||c.url,g=c.altURL||f,h;h=ba();var i,l,j=K(),m,n=null,n=(n=k.getElementsByTagName("html")[0])&&n.dir&&n.dir.match(/rtl/i),a="undefined"===typeof a?c.id:a;qa();c.url=Ia(M?f:g);d=c.url;c.wmode=!c.wmode&&c.useHighPerformance?"transparent":c.wmode;if(null!==c.wmode&&(t.match(/msie 8/i)||!C&&!c.useHighPerformance)&&navigator.platform.match(/win32|win64/i))o("spcWmode"),c.wmode=null;h={name:a,
-id:a,src:d,quality:"high",allowScriptAccess:c.allowScriptAccess,bgcolor:c.bgColor,pluginspage:Va+"www.macromedia.com/go/getflashplayer",title:"JS/Flash audio component (SoundManager 2)",type:"application/x-shockwave-flash",wmode:c.wmode,hasPriority:"true"};if(c.debugFlash)h.FlashVars="debug=1";c.wmode||delete h.wmode;if(C)f=k.createElement("div"),l=['<object id="'+a+'" data="'+d+'" type="'+h.type+'" title="'+h.title+'" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="'+Va+'download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" width="'+
-h.width+'" height="'+h.height+'">',b("movie",d),b("AllowScriptAccess",c.allowScriptAccess),b("quality",h.quality),c.wmode?b("wmode",c.wmode):"",b("bgcolor",c.bgColor),b("hasPriority","true"),c.debugFlash?b("FlashVars",h.FlashVars):"","</object>"].join("");else for(i in f=k.createElement("embed"),h)h.hasOwnProperty(i)&&f.setAttribute(i,h[i]);ta();j=K();if(h=ba())if(c.oMC=r(c.movieID)||k.createElement("div"),c.oMC.id){m=c.oMC.className;c.oMC.className=(m?m+" ":"movieContainer")+(j?" "+j:"");c.oMC.appendChild(f);
-if(C)i=c.oMC.appendChild(k.createElement("div")),i.className="sm2-object-box",i.innerHTML=l;Q=!0}else{c.oMC.id=c.movieID;c.oMC.className="movieContainer "+j;i=j=null;if(!c.useFlashBlock)if(c.useHighPerformance)j={position:"fixed",width:"8px",height:"8px",bottom:"0px",left:"0px",overflow:"hidden"};else if(j={position:"absolute",width:"6px",height:"6px",top:"-9999px",left:"-9999px"},n)j.left=Math.abs(parseInt(j.left,10))+"px";if(cb)c.oMC.style.zIndex=1E4;if(!c.debugFlash)for(m in j)j.hasOwnProperty(m)&&
-(c.oMC.style[m]=j[m]);try{C||c.oMC.appendChild(f);h.appendChild(c.oMC);if(C)i=c.oMC.appendChild(k.createElement("div")),i.className="sm2-object-box",i.innerHTML=l;Q=!0}catch(p){throw Error(q("domError")+" \n"+p.toString());}}P=!0;e();c._wD("soundManager::createMovie(): Trying to load "+d+(!M&&c.altURL?" (alternate URL)":""),1);return!0};aa=function(){if(c.html5Only)return ca(),!1;if(g)return!1;g=c.getMovie(c.id);if(!g)S?(C?c.oMC.innerHTML=ua:c.oMC.appendChild(S),S=null,P=!0):ca(c.id,c.url),g=c.getMovie(c.id);
-g&&o("waitEI");c.oninitmovie instanceof Function&&setTimeout(c.oninitmovie,1);return!0};Z=function(){setTimeout(Fa,1E3)};Fa=function(){if(ga)return!1;ga=!0;l.remove(i,"load",Z);if(L&&!Da)return o("waitFocus"),!1;var a;p||(a=c.getMoviePercent(),c._wD(q("waitImpatient",100===a?" (SWF loaded)":0<a?" (SWF "+a+"% loaded)":"")));setTimeout(function(){a=c.getMoviePercent();p||(c._wD("soundManager: No Flash response within expected time.\nLikely causes: "+(0===a?"Loading "+c.movieURL+" may have failed (and/or Flash "+
-j+"+ not present?), ":"")+"Flash blocked or JS-Flash security error."+(c.debugFlash?" "+q("checkSWF"):""),2),!M&&a&&(o("localFail",2),c.debugFlash||o("tryDebug",2)),0===a&&c._wD(q("swf404",c.url)),w("flashtojs",!1,": Timed out"+M?" (Check flash security or flash blockers)":" (No plugin/missing SWF?)"));!p&&Ta&&(null===a?c.useFlashBlock||0===c.flashLoadTimeout?(c.useFlashBlock&&va(),o("waitForever")):da(!0):0===c.flashLoadTimeout?o("waitForever"):da(!0))},c.flashLoadTimeout)};D=function(){function a(){l.remove(i,
-"focus",D);l.remove(i,"load",D)}if(Da||!L)return a(),!0;Da=Ta=!0;c._wD("soundManager::handleFocus()");V&&L&&l.remove(i,"mousemove",D);ga=!1;a();return!0};Ra=function(){var a,d=[];if(c.useHTML5Audio&&c.hasHTML5){for(a in c.audioFormats)c.audioFormats.hasOwnProperty(a)&&d.push(a+": "+c.html5[a]+(!c.html5[a]&&u&&c.flash[a]?" (using flash)":c.preferFlash&&c.flash[a]&&u?" (preferring flash)":!c.html5[a]?" ("+(c.audioFormats[a].required?"required, ":"")+"and no flash support)":""));c._wD("-- SoundManager 2: HTML5 support tests ("+
-c.html5Test+"): "+d.join(", ")+" --",1)}};R=function(a){if(p)return!1;if(c.html5Only)return c._wD("-- SoundManager 2: loaded --"),p=!0,H(),w("onload",!0),!0;var d;if(!c.useFlashBlock||!c.flashLoadTimeout||c.getMoviePercent())p=!0,x&&(d={type:!u&&y?"NO_FLASH":"INIT_TIMEOUT"});c._wD("-- SoundManager 2 "+(x?"failed to load":"loaded")+" ("+(x?"security/load error":"OK")+") --",1);if(x||a){if(c.useFlashBlock&&c.oMC)c.oMC.className=K()+" "+(null===c.getMoviePercent()?"swf_timedout":"swf_error");G({type:"ontimeout",
-error:d});w("onload",!1);J(d);return!1}w("onload",!0);if(c.waitForWindowLoad&&!Y)return o("waitOnload"),l.add(i,"load",H),!1;c.waitForWindowLoad&&Y&&o("docLoaded");H();return!0};X=function(){o("init");if(p)return o("didInit"),!1;if(c.html5Only){if(!p)l.remove(i,"load",c.beginDelayedInit),c.enabled=!0,R();return!0}aa();try{o("flashJS"),g._externalInterfaceTest(!1),Ga(!0,c.flashPollingInterval||(c.useHighPerformance?10:50)),c.debugMode||g._disableDebug(),c.enabled=!0,w("jstoflash",!0),c.html5Only||
-l.add(i,"unload",na)}catch(a){return c._wD("js/flash exception: "+a.toString()),w("jstoflash",!1),J({type:"JS_TO_FLASH_EXCEPTION",fatal:!0}),da(!0),R(),!1}R();l.remove(i,"load",c.beginDelayedInit);return!0};I=function(){if(sa)return!1;sa=!0;ta();var a=O.toLowerCase(),d=null,d=null,e="undefined"!==typeof console&&"undefined"!==typeof console.log;if(-1!==a.indexOf("sm2-usehtml5audio="))d="1"===a.charAt(a.indexOf("sm2-usehtml5audio=")+18),e&&console.log((d?"Enabling ":"Disabling ")+"useHTML5Audio via URL parameter"),
-c.useHTML5Audio=d;if(-1!==a.indexOf("sm2-preferflash="))d="1"===a.charAt(a.indexOf("sm2-preferflash=")+16),e&&console.log((d?"Enabling ":"Disabling ")+"preferFlash via URL parameter"),c.preferFlash=d;if(!u&&c.hasHTML5)c._wD("SoundManager: No Flash detected"+(!c.useHTML5Audio?", enabling HTML5.":". Trying HTML5-only mode.")),c.useHTML5Audio=!0,c.preferFlash=!1;Oa();c.html5.usingFlash=Na();y=c.html5.usingFlash;Ra();if(!u&&y)c._wD("SoundManager: Fatal error: Flash is needed to play some required formats, but is not available."),
-c.flashLoadTimeout=1;k.removeEventListener&&k.removeEventListener("DOMContentLoaded",I,!1);aa();return!0};za=function(){"complete"===k.readyState&&(I(),k.detachEvent("onreadystatechange",za));return!0};ra=function(){Y=!0;l.remove(i,"load",ra)};ka();l.add(i,"focus",D);l.add(i,"load",D);l.add(i,"load",Z);l.add(i,"load",ra);V&&L&&l.add(i,"mousemove",D);k.addEventListener?k.addEventListener("DOMContentLoaded",I,!1):k.attachEvent?k.attachEvent("onreadystatechange",za):(w("onload",!1),J({type:"NO_DOM2_EVENTS",
-fatal:!0}));"complete"===k.readyState&&setTimeout(I,100)}var la=null;if("undefined"===typeof SM2_DEFER||!SM2_DEFER)la=new W;F.SoundManager=W;F.soundManager=la})(window);
\ No newline at end of file
+(function(h,g){function fa(fa,wa){function ga(b){return c.preferFlash&&H&&!c.ignoreFlash&&c.flash[b]!==g&&c.flash[b]}function s(b){return function(d){var e=this._s;!e||!e._a?(e&&e.id?c._wD(e.id+": Ignoring "+d.type):c._wD(rb+"Ignoring "+d.type),d=null):d=b.call(this,d);return d}}this.setupOptions={url:fa||null,flashVersion:8,debugMode:!0,debugFlash:!1,useConsole:!0,consoleOnly:!0,waitForWindowLoad:!1,bgColor:"#ffffff",useHighPerformance:!1,flashPollingInterval:null,html5PollingInterval:null,flashLoadTimeout:1E3,
+wmode:null,allowScriptAccess:"always",useFlashBlock:!1,useHTML5Audio:!0,html5Test:/^(probably|maybe)$/i,preferFlash:!0,noSWFCache:!1,idPrefix:"sound"};this.defaultOptions={autoLoad:!1,autoPlay:!1,from:null,loops:1,onid3:null,onload:null,whileloading:null,onplay:null,onpause:null,onresume:null,whileplaying:null,onposition:null,onstop:null,onfailure:null,onfinish:null,multiShot:!0,multiShotEvents:!1,position:null,pan:0,stream:!0,to:null,type:null,usePolicyFile:!1,volume:100};this.flash9Options={isMovieStar:null,
+usePeakData:!1,useWaveformData:!1,useEQData:!1,onbufferchange:null,ondataerror:null};this.movieStarOptions={bufferTime:3,serverURL:null,onconnect:null,duration:null};this.audioFormats={mp3:{type:['audio/mpeg; codecs\x3d"mp3"',"audio/mpeg","audio/mp3","audio/MPA","audio/mpa-robust"],required:!0},mp4:{related:["aac","m4a","m4b"],type:['audio/mp4; codecs\x3d"mp4a.40.2"',"audio/aac","audio/x-m4a","audio/MP4A-LATM","audio/mpeg4-generic"],required:!1},ogg:{type:["audio/ogg; codecs\x3dvorbis"],required:!1},
+opus:{type:["audio/ogg; codecs\x3dopus","audio/opus"],required:!1},wav:{type:['audio/wav; codecs\x3d"1"',"audio/wav","audio/wave","audio/x-wav"],required:!1}};this.movieID="sm2-container";this.id=wa||"sm2movie";this.debugID="soundmanager-debug";this.debugURLParam=/([#?&])debug=1/i;this.versionNumber="V2.97a.20130512";this.altURL=this.movieURL=this.version=null;this.enabled=this.swfLoaded=!1;this.oMC=null;this.sounds={};this.soundIDs=[];this.didFlashBlock=this.muted=!1;this.filePattern=null;this.filePatterns=
+{flash8:/\.mp3(\?.*)?$/i,flash9:/\.mp3(\?.*)?$/i};this.features={buffering:!1,peakData:!1,waveformData:!1,eqData:!1,movieStar:!1};this.sandbox={type:null,types:{remote:"remote (domain-based) rules",localWithFile:"local with file access (no internet access)",localWithNetwork:"local with network (internet access only, no local access)",localTrusted:"local, trusted (local+internet access)"},description:null,noRemote:null,noLocal:null};this.html5={usingFlash:null};this.flash={};this.ignoreFlash=this.html5Only=
+!1;var Ua,c=this,Va=null,k=null,rb="HTML5::",A,t=navigator.userAgent,U=h.location.href.toString(),m=document,xa,Wa,ya,n,F=[],za=!0,C,V=!1,W=!1,q=!1,y=!1,ha=!1,p,sb=0,X,B,Aa,O,Ba,M,P,Q,Xa,Ca,ia,I,ja,Da,R,Ea,Y,ka,la,S,Ya,Fa,Za=["log","info","warn","error"],$a,Ga,ab,Z=null,Ha=null,r,Ia,T,bb,ma,na,J,v,$=!1,Ja=!1,cb,db,eb,oa=0,aa=null,pa,N=[],qa,u=null,fb,ra,ba,K,sa,Ka,gb,w,hb=Array.prototype.slice,E=!1,La,H,Ma,ib,G,jb,Na,ta,kb=0,ca=t.match(/(ipad|iphone|ipod)/i),lb=t.match(/android/i),L=t.match(/msie/i),
+tb=t.match(/webkit/i),ua=t.match(/safari/i)&&!t.match(/chrome/i),Oa=t.match(/opera/i),ub=t.match(/firefox/i),Pa=t.match(/(mobile|pre\/|xoom)/i)||ca||lb,Qa=!U.match(/usehtml5audio/i)&&!U.match(/sm2\-ignorebadua/i)&&ua&&!t.match(/silk/i)&&t.match(/OS X 10_6_([3-7])/i),da=h.console!==g&&console.log!==g,Ra=m.hasFocus!==g?m.hasFocus():null,va=ua&&(m.hasFocus===g||!m.hasFocus()),mb=!va,nb=/(mp3|mp4|mpa|m4a|m4b)/i,ea=m.location?m.location.protocol.match(/http/i):null,ob=!ea?"http://":"",pb=/^\s*audio\/(?:x-)?(?:mpeg4|aac|flv|mov|mp4||m4v|m4a|m4b|mp4v|3gp|3g2)\s*(?:$|;)/i,
+qb="mpeg4 aac flv mov mp4 m4v f4v m4a m4b mp4v 3gp 3g2".split(" "),vb=RegExp("\\.("+qb.join("|")+")(\\?.*)?$","i");this.mimePattern=/^\s*audio\/(?:x-)?(?:mp(?:eg|3))\s*(?:$|;)/i;this.useAltURL=!ea;var Sa;try{Sa=Audio!==g&&(Oa&&opera!==g&&10>opera.version()?new Audio(null):new Audio).canPlayType!==g}catch(wb){Sa=!1}this.hasHTML5=Sa;this.setup=function(b){var d=!c.url;b!==g&&(q&&u&&c.ok()&&(b.flashVersion!==g||b.url!==g||b.html5Test!==g))&&J(r("setupLate"));Aa(b);b&&(d&&(Y&&b.url!==g)&&c.beginDelayedInit(),
+!Y&&(b.url!==g&&"complete"===m.readyState)&&setTimeout(R,1));return c};this.supported=this.ok=function(){return u?q&&!y:c.useHTML5Audio&&c.hasHTML5};this.getMovie=function(c){return A(c)||m[c]||h[c]};this.createSound=function(b,d){function e(){f=ma(f);c.sounds[f.id]=new Ua(f);c.soundIDs.push(f.id);return c.sounds[f.id]}var a,f;a=null;a="soundManager.createSound(): "+r(!q?"notReady":"notOK");if(!q||!c.ok())return J(a),!1;d!==g&&(b={id:b,url:d});f=B(b);f.url=pa(f.url);void 0===f.id&&(f.id=c.setupOptions.idPrefix+
+kb++);f.id.toString().charAt(0).match(/^[0-9]$/)&&c._wD("soundManager.createSound(): "+r("badID",f.id),2);c._wD("soundManager.createSound(): "+f.id+(f.url?" ("+f.url+")":""),1);if(v(f.id,!0))return c._wD("soundManager.createSound(): "+f.id+" exists",1),c.sounds[f.id];if(ra(f))a=e(),c._wD(f.id+": Using HTML5"),a._setup_html5(f);else{if(c.html5Only)return c._wD(f.id+": No HTML5 support for this sound, and no Flash. Exiting."),e();if(c.html5.usingFlash&&f.url&&f.url.match(/data\:/i))return c._wD(f.id+
+": data: URIs not supported via Flash. Exiting."),e();8<n&&(null===f.isMovieStar&&(f.isMovieStar=!(!f.serverURL&&!(f.type&&f.type.match(pb)||f.url&&f.url.match(vb)))),f.isMovieStar&&(c._wD("soundManager.createSound(): using MovieStar handling"),1<f.loops&&p("noNSLoop")));f=na(f,"soundManager.createSound(): ");a=e();8===n?k._createSound(f.id,f.loops||1,f.usePolicyFile):(k._createSound(f.id,f.url,f.usePeakData,f.useWaveformData,f.useEQData,f.isMovieStar,f.isMovieStar?f.bufferTime:!1,f.loops||1,f.serverURL,
+f.duration||null,f.autoPlay,!0,f.autoLoad,f.usePolicyFile),f.serverURL||(a.connected=!0,f.onconnect&&f.onconnect.apply(a)));!f.serverURL&&(f.autoLoad||f.autoPlay)&&a.load(f)}!f.serverURL&&f.autoPlay&&a.play();return a};this.destroySound=function(b,d){if(!v(b))return!1;var e=c.sounds[b],a;e._iO={};e.stop();e.unload();for(a=0;a<c.soundIDs.length;a++)if(c.soundIDs[a]===b){c.soundIDs.splice(a,1);break}d||e.destruct(!0);delete c.sounds[b];return!0};this.load=function(b,d){return!v(b)?!1:c.sounds[b].load(d)};
+this.unload=function(b){return!v(b)?!1:c.sounds[b].unload()};this.onposition=this.onPosition=function(b,d,e,a){return!v(b)?!1:c.sounds[b].onposition(d,e,a)};this.clearOnPosition=function(b,d,e){return!v(b)?!1:c.sounds[b].clearOnPosition(d,e)};this.start=this.play=function(b,d){var e=null,a=d&&!(d instanceof Object);if(!q||!c.ok())return J("soundManager.play(): "+r(!q?"notReady":"notOK")),!1;if(v(b,a))a&&(d={url:d});else{if(!a)return!1;a&&(d={url:d});d&&d.url&&(c._wD('soundManager.play(): Attempting to create "'+
+b+'"',1),d.id=b,e=c.createSound(d).play())}null===e&&(e=c.sounds[b].play(d));return e};this.setPosition=function(b,d){return!v(b)?!1:c.sounds[b].setPosition(d)};this.stop=function(b){if(!v(b))return!1;c._wD("soundManager.stop("+b+")",1);return c.sounds[b].stop()};this.stopAll=function(){var b;c._wD("soundManager.stopAll()",1);for(b in c.sounds)c.sounds.hasOwnProperty(b)&&c.sounds[b].stop()};this.pause=function(b){return!v(b)?!1:c.sounds[b].pause()};this.pauseAll=function(){var b;for(b=c.soundIDs.length-
+1;0<=b;b--)c.sounds[c.soundIDs[b]].pause()};this.resume=function(b){return!v(b)?!1:c.sounds[b].resume()};this.resumeAll=function(){var b;for(b=c.soundIDs.length-1;0<=b;b--)c.sounds[c.soundIDs[b]].resume()};this.togglePause=function(b){return!v(b)?!1:c.sounds[b].togglePause()};this.setPan=function(b,d){return!v(b)?!1:c.sounds[b].setPan(d)};this.setVolume=function(b,d){return!v(b)?!1:c.sounds[b].setVolume(d)};this.mute=function(b){var d=0;b instanceof String&&(b=null);if(b){if(!v(b))return!1;c._wD('soundManager.mute(): Muting "'+
+b+'"');return c.sounds[b].mute()}c._wD("soundManager.mute(): Muting all sounds");for(d=c.soundIDs.length-1;0<=d;d--)c.sounds[c.soundIDs[d]].mute();return c.muted=!0};this.muteAll=function(){c.mute()};this.unmute=function(b){b instanceof String&&(b=null);if(b){if(!v(b))return!1;c._wD('soundManager.unmute(): Unmuting "'+b+'"');return c.sounds[b].unmute()}c._wD("soundManager.unmute(): Unmuting all sounds");for(b=c.soundIDs.length-1;0<=b;b--)c.sounds[c.soundIDs[b]].unmute();c.muted=!1;return!0};this.unmuteAll=
+function(){c.unmute()};this.toggleMute=function(b){return!v(b)?!1:c.sounds[b].toggleMute()};this.getMemoryUse=function(){var c=0;k&&8!==n&&(c=parseInt(k._getMemoryUse(),10));return c};this.disable=function(b){var d;b===g&&(b=!1);if(y)return!1;y=!0;p("shutdown",1);for(d=c.soundIDs.length-1;0<=d;d--)$a(c.sounds[c.soundIDs[d]]);X(b);w.remove(h,"load",P);return!0};this.canPlayMIME=function(b){var d;c.hasHTML5&&(d=ba({type:b}));!d&&u&&(d=b&&c.ok()?!!(8<n&&b.match(pb)||b.match(c.mimePattern)):null);return d};
+this.canPlayURL=function(b){var d;c.hasHTML5&&(d=ba({url:b}));!d&&u&&(d=b&&c.ok()?!!b.match(c.filePattern):null);return d};this.canPlayLink=function(b){return b.type!==g&&b.type&&c.canPlayMIME(b.type)?!0:c.canPlayURL(b.href)};this.getSoundById=function(b,d){if(!b)return null;var e=c.sounds[b];!e&&!d&&c._wD('soundManager.getSoundById(): Sound "'+b+'" not found.',2);return e};this.onready=function(b,d){if("function"===typeof b)q&&c._wD(r("queue","onready")),d||(d=h),Ba("onready",b,d),M();else throw r("needFunction",
+"onready");return!0};this.ontimeout=function(b,d){if("function"===typeof b)q&&c._wD(r("queue","ontimeout")),d||(d=h),Ba("ontimeout",b,d),M({type:"ontimeout"});else throw r("needFunction","ontimeout");return!0};this._writeDebug=function(b,d){var e,a;if(!c.debugMode)return!1;if(da&&c.useConsole){if(d&&"object"===typeof d)console.log(b,d);else if(Za[d]!==g)console[Za[d]](b);else console.log(b);if(c.consoleOnly)return!0}e=A("soundmanager-debug");if(!e)return!1;a=m.createElement("div");0===++sb%2&&(a.className=
+"sm2-alt");d=d===g?0:parseInt(d,10);a.appendChild(m.createTextNode(b));d&&(2<=d&&(a.style.fontWeight="bold"),3===d&&(a.style.color="#ff3333"));e.insertBefore(a,e.firstChild);return!0};-1!==U.indexOf("sm2-debug\x3dalert")&&(this._writeDebug=function(c){h.alert(c)});this._wD=this._writeDebug;this._debug=function(){var b,d;p("currentObj",1);b=0;for(d=c.soundIDs.length;b<d;b++)c.sounds[c.soundIDs[b]]._debug()};this.reboot=function(b,d){c.soundIDs.length&&c._wD("Destroying "+c.soundIDs.length+" SMSound object"+
+(1!==c.soundIDs.length?"s":"")+"...");var e,a,f;for(e=c.soundIDs.length-1;0<=e;e--)c.sounds[c.soundIDs[e]].destruct();if(k)try{L&&(Ha=k.innerHTML),Z=k.parentNode.removeChild(k)}catch(g){p("badRemove",2)}Ha=Z=u=k=null;c.enabled=Y=q=$=Ja=V=W=y=E=c.swfLoaded=!1;c.soundIDs=[];c.sounds={};kb=0;if(b)F=[];else for(e in F)if(F.hasOwnProperty(e)){a=0;for(f=F[e].length;a<f;a++)F[e][a].fired=!1}d||c._wD("soundManager: Rebooting...");c.html5={usingFlash:null};c.flash={};c.html5Only=!1;c.ignoreFlash=!1;h.setTimeout(function(){Da();
+d||c.beginDelayedInit()},20);return c};this.reset=function(){p("reset");return c.reboot(!0,!0)};this.getMoviePercent=function(){return k&&"PercentLoaded"in k?k.PercentLoaded():null};this.beginDelayedInit=function(){ha=!0;R();setTimeout(function(){if(Ja)return!1;la();ja();return Ja=!0},20);Q()};this.destruct=function(){c._wD("soundManager.destruct()");c.disable(!0)};Ua=function(b){var d,e,a=this,f,h,z,l,m,q,s=!1,D=[],t=0,Ta,y,u=null,A;e=d=null;this.sID=this.id=b.id;this.url=b.url;this._iO=this.instanceOptions=
+this.options=B(b);this.pan=this.options.pan;this.volume=this.options.volume;this.isHTML5=!1;this._a=null;A=this.url?!1:!0;this.id3={};this._debug=function(){c._wD(a.id+": Merged options:",a.options)};this.load=function(b){var d=null,e;b!==g?a._iO=B(b,a.options):(b=a.options,a._iO=b,u&&u!==a.url&&(p("manURL"),a._iO.url=a.url,a.url=null));a._iO.url||(a._iO.url=a.url);a._iO.url=pa(a._iO.url);e=a.instanceOptions=a._iO;c._wD(a.id+": load ("+e.url+")");if(!e.url&&!a.url)return c._wD(a.id+": load(): url is unassigned. Exiting.",
+2),a;!a.isHTML5&&(8===n&&!a.url&&!e.autoPlay)&&c._wD(a.id+": Flash 8 load() limitation: Wait for onload() before calling play().",1);if(e.url===a.url&&0!==a.readyState&&2!==a.readyState)return p("onURL",1),3===a.readyState&&e.onload&&ta(a,function(){e.onload.apply(a,[!!a.duration])}),a;a.loaded=!1;a.readyState=1;a.playState=0;a.id3={};if(ra(e))d=a._setup_html5(e),d._called_load?c._wD(a.id+": Ignoring request to load again"):(a._html5_canplay=!1,a.url!==e.url&&(c._wD(p("manURL")+": "+e.url),a._a.src=
+e.url,a.setPosition(0)),a._a.autobuffer="auto",a._a.preload="auto",a._a._called_load=!0,e.autoPlay&&a.play());else{if(c.html5Only)return c._wD(a.id+": No flash support. Exiting."),a;if(a._iO.url&&a._iO.url.match(/data\:/i))return c._wD(a.id+": data: URIs not supported via Flash. Exiting."),a;try{a.isHTML5=!1,a._iO=na(ma(e)),e=a._iO,8===n?k._load(a.id,e.url,e.stream,e.autoPlay,e.usePolicyFile):k._load(a.id,e.url,!!e.stream,!!e.autoPlay,e.loops||1,!!e.autoLoad,e.usePolicyFile)}catch(f){p("smError",
+2),C("onload",!1),S({type:"SMSOUND_LOAD_JS_EXCEPTION",fatal:!0})}}a.url=e.url;return a};this.unload=function(){0!==a.readyState&&(c._wD(a.id+": unload()"),a.isHTML5?(l(),a._a&&(a._a.pause(),u=sa(a._a))):8===n?k._unload(a.id,"about:blank"):k._unload(a.id),f());return a};this.destruct=function(b){c._wD(a.id+": Destruct");a.isHTML5?(l(),a._a&&(a._a.pause(),sa(a._a),E||z(),a._a._s=null,a._a=null)):(a._iO.onfailure=null,k._destroySound(a.id));b||c.destroySound(a.id,!0)};this.start=this.play=function(b,
+d){var e,f,l,z,h,x=!0,x=null;e=a.id+": play(): ";d=d===g?!0:d;b||(b={});a.url&&(a._iO.url=a.url);a._iO=B(a._iO,a.options);a._iO=B(b,a._iO);a._iO.url=pa(a._iO.url);a.instanceOptions=a._iO;if(!a.isHTML5&&a._iO.serverURL&&!a.connected)return a.getAutoPlay()||(c._wD(e+" Netstream not connected yet - setting autoPlay"),a.setAutoPlay(!0)),a;ra(a._iO)&&(a._setup_html5(a._iO),m());1===a.playState&&!a.paused&&((f=a._iO.multiShot)?c._wD(e+"Already playing (multi-shot)",1):(c._wD(e+"Already playing (one-shot)",
+1),a.isHTML5&&a.setPosition(a._iO.position),x=a));if(null!==x)return x;b.url&&b.url!==a.url&&(!a.readyState&&!a.isHTML5&&8===n&&A?A=!1:a.load(a._iO));a.loaded?c._wD(e.substr(0,e.lastIndexOf(":"))):0===a.readyState?(c._wD(e+"Attempting to load"),!a.isHTML5&&!c.html5Only?(a._iO.autoPlay=!0,a.load(a._iO)):a.isHTML5?a.load(a._iO):(c._wD(e+"Unsupported type. Exiting."),x=a),a.instanceOptions=a._iO):2===a.readyState?(c._wD(e+"Could not load - exiting",2),x=a):c._wD(e+"Loading - attempting to play...");
+if(null!==x)return x;!a.isHTML5&&(9===n&&0<a.position&&a.position===a.duration)&&(c._wD(e+"Sound at end, resetting to position:0"),b.position=0);if(a.paused&&0<=a.position&&(!a._iO.serverURL||0<a.position))c._wD(e+"Resuming from paused state",1),a.resume();else{a._iO=B(b,a._iO);if(null!==a._iO.from&&null!==a._iO.to&&0===a.instanceCount&&0===a.playState&&!a._iO.serverURL){f=function(){a._iO=B(b,a._iO);a.play(a._iO)};if(a.isHTML5&&!a._html5_canplay)c._wD(e+"Beginning load for from/to case"),a.load({oncanplay:f}),
+x=!1;else if(!a.isHTML5&&!a.loaded&&(!a.readyState||2!==a.readyState))c._wD(e+"Preloading for from/to case"),a.load({onload:f}),x=!1;if(null!==x)return x;a._iO=y()}(!a.instanceCount||a._iO.multiShotEvents||a.isHTML5&&a._iO.multiShot&&!E||!a.isHTML5&&8<n&&!a.getAutoPlay())&&a.instanceCount++;a._iO.onposition&&0===a.playState&&q(a);a.playState=1;a.paused=!1;a.position=a._iO.position!==g&&!isNaN(a._iO.position)?a._iO.position:0;a.isHTML5||(a._iO=na(ma(a._iO)));a._iO.onplay&&d&&(a._iO.onplay.apply(a),
+s=!0);a.setVolume(a._iO.volume,!0);a.setPan(a._iO.pan,!0);a.isHTML5?2>a.instanceCount?(m(),e=a._setup_html5(),a.setPosition(a._iO.position),e.play()):(c._wD(a.id+": Cloning Audio() for instance #"+a.instanceCount+"..."),l=new Audio(a._iO.url),z=function(){w.remove(l,"onended",z);a._onfinish(a);sa(l);l=null},h=function(){w.remove(l,"canplay",h);try{l.currentTime=a._iO.position/1E3}catch(c){J(a.id+": multiShot play() failed to apply position of "+a._iO.position/1E3)}l.play()},w.add(l,"ended",z),a._iO.position?
+w.add(l,"canplay",h):l.play()):(x=k._start(a.id,a._iO.loops||1,9===n?a.position:a.position/1E3,a._iO.multiShot||!1),9===n&&!x&&(c._wD(e+"No sound hardware, or 32-sound ceiling hit",2),a._iO.onplayerror&&a._iO.onplayerror.apply(a)))}return a};this.stop=function(b){var d=a._iO;1===a.playState&&(c._wD(a.id+": stop()"),a._onbufferchange(0),a._resetOnPosition(0),a.paused=!1,a.isHTML5||(a.playState=0),Ta(),d.to&&a.clearOnPosition(d.to),a.isHTML5?a._a&&(b=a.position,a.setPosition(0),a.position=b,a._a.pause(),
+a.playState=0,a._onTimer(),l()):(k._stop(a.id,b),d.serverURL&&a.unload()),a.instanceCount=0,a._iO={},d.onstop&&d.onstop.apply(a));return a};this.setAutoPlay=function(b){c._wD(a.id+": Autoplay turned "+(b?"on":"off"));a._iO.autoPlay=b;a.isHTML5||(k._setAutoPlay(a.id,b),b&&(!a.instanceCount&&1===a.readyState)&&(a.instanceCount++,c._wD(a.id+": Incremented instance count to "+a.instanceCount)))};this.getAutoPlay=function(){return a._iO.autoPlay};this.setPosition=function(b){b===g&&(b=0);var d=a.isHTML5?
+Math.max(b,0):Math.min(a.duration||a._iO.duration,Math.max(b,0));a.position=d;b=a.position/1E3;a._resetOnPosition(a.position);a._iO.position=d;if(a.isHTML5){if(a._a){if(a._html5_canplay){if(a._a.currentTime!==b){c._wD(a.id+": setPosition("+b+")");try{a._a.currentTime=b,(0===a.playState||a.paused)&&a._a.pause()}catch(e){c._wD(a.id+": setPosition("+b+") failed: "+e.message,2)}}}else if(b)return c._wD(a.id+": setPosition("+b+"): Cannot seek yet, sound not ready",2),a;a.paused&&a._onTimer(!0)}}else b=
+9===n?a.position:b,a.readyState&&2!==a.readyState&&k._setPosition(a.id,b,a.paused||!a.playState,a._iO.multiShot);return a};this.pause=function(b){if(a.paused||0===a.playState&&1!==a.readyState)return a;c._wD(a.id+": pause()");a.paused=!0;a.isHTML5?(a._setup_html5().pause(),l()):(b||b===g)&&k._pause(a.id,a._iO.multiShot);a._iO.onpause&&a._iO.onpause.apply(a);return a};this.resume=function(){var b=a._iO;if(!a.paused)return a;c._wD(a.id+": resume()");a.paused=!1;a.playState=1;a.isHTML5?(a._setup_html5().play(),
+m()):(b.isMovieStar&&!b.serverURL&&a.setPosition(a.position),k._pause(a.id,b.multiShot));!s&&b.onplay?(b.onplay.apply(a),s=!0):b.onresume&&b.onresume.apply(a);return a};this.togglePause=function(){c._wD(a.id+": togglePause()");if(0===a.playState)return a.play({position:9===n&&!a.isHTML5?a.position:a.position/1E3}),a;a.paused?a.resume():a.pause();return a};this.setPan=function(b,c){b===g&&(b=0);c===g&&(c=!1);a.isHTML5||k._setPan(a.id,b);a._iO.pan=b;c||(a.pan=b,a.options.pan=b);return a};this.setVolume=
+function(b,d){b===g&&(b=100);d===g&&(d=!1);a.isHTML5?a._a&&(a._a.volume=Math.max(0,Math.min(1,b/100))):k._setVolume(a.id,c.muted&&!a.muted||a.muted?0:b);a._iO.volume=b;d||(a.volume=b,a.options.volume=b);return a};this.mute=function(){a.muted=!0;a.isHTML5?a._a&&(a._a.muted=!0):k._setVolume(a.id,0);return a};this.unmute=function(){a.muted=!1;var b=a._iO.volume!==g;a.isHTML5?a._a&&(a._a.muted=!1):k._setVolume(a.id,b?a._iO.volume:a.options.volume);return a};this.toggleMute=function(){return a.muted?a.unmute():
+a.mute()};this.onposition=this.onPosition=function(b,c,d){D.push({position:parseInt(b,10),method:c,scope:d!==g?d:a,fired:!1});return a};this.clearOnPosition=function(a,b){var c;a=parseInt(a,10);if(isNaN(a))return!1;for(c=0;c<D.length;c++)if(a===D[c].position&&(!b||b===D[c].method))D[c].fired&&t--,D.splice(c,1)};this._processOnPosition=function(){var b,c;b=D.length;if(!b||!a.playState||t>=b)return!1;for(b-=1;0<=b;b--)c=D[b],!c.fired&&a.position>=c.position&&(c.fired=!0,t++,c.method.apply(c.scope,[c.position]));
+return!0};this._resetOnPosition=function(a){var b,c;b=D.length;if(!b)return!1;for(b-=1;0<=b;b--)c=D[b],c.fired&&a<=c.position&&(c.fired=!1,t--);return!0};y=function(){var b=a._iO,d=b.from,e=b.to,f,g;g=function(){c._wD(a.id+': "To" time of '+e+" reached.");a.clearOnPosition(e,g);a.stop()};f=function(){c._wD(a.id+': Playing "from" '+d);if(null!==e&&!isNaN(e))a.onPosition(e,g)};null!==d&&!isNaN(d)&&(b.position=d,b.multiShot=!1,f());return b};q=function(){var b,c=a._iO.onposition;if(c)for(b in c)if(c.hasOwnProperty(b))a.onPosition(parseInt(b,
+10),c[b])};Ta=function(){var b,c=a._iO.onposition;if(c)for(b in c)c.hasOwnProperty(b)&&a.clearOnPosition(parseInt(b,10))};m=function(){a.isHTML5&&cb(a)};l=function(){a.isHTML5&&db(a)};f=function(b){b||(D=[],t=0);s=!1;a._hasTimer=null;a._a=null;a._html5_canplay=!1;a.bytesLoaded=null;a.bytesTotal=null;a.duration=a._iO&&a._iO.duration?a._iO.duration:null;a.durationEstimate=null;a.buffered=[];a.eqData=[];a.eqData.left=[];a.eqData.right=[];a.failures=0;a.isBuffering=!1;a.instanceOptions={};a.instanceCount=
+0;a.loaded=!1;a.metadata={};a.readyState=0;a.muted=!1;a.paused=!1;a.peakData={left:0,right:0};a.waveformData={left:[],right:[]};a.playState=0;a.position=null;a.id3={}};f();this._onTimer=function(b){var c,f=!1,g={};if(a._hasTimer||b){if(a._a&&(b||(0<a.playState||1===a.readyState)&&!a.paused))c=a._get_html5_duration(),c!==d&&(d=c,a.duration=c,f=!0),a.durationEstimate=a.duration,c=1E3*a._a.currentTime||0,c!==e&&(e=c,f=!0),(f||b)&&a._whileplaying(c,g,g,g,g);return f}};this._get_html5_duration=function(){var b=
+a._iO;return(b=a._a&&a._a.duration?1E3*a._a.duration:b&&b.duration?b.duration:null)&&!isNaN(b)&&Infinity!==b?b:null};this._apply_loop=function(a,b){!a.loop&&1<b&&c._wD("Note: Native HTML5 looping is infinite.",1);a.loop=1<b?"loop":""};this._setup_html5=function(b){b=B(a._iO,b);var c=E?Va:a._a,d=decodeURI(b.url),e;E?d===decodeURI(La)&&(e=!0):d===decodeURI(u)&&(e=!0);if(c){if(c._s)if(E)c._s&&(c._s.playState&&!e)&&c._s.stop();else if(!E&&d===decodeURI(u))return a._apply_loop(c,b.loops),c;e||(f(!1),c.src=
+b.url,La=u=a.url=b.url,c._called_load=!1)}else a._a=b.autoLoad||b.autoPlay?new Audio(b.url):Oa&&10>opera.version()?new Audio(null):new Audio,c=a._a,c._called_load=!1,E&&(Va=c);a.isHTML5=!0;a._a=c;c._s=a;h();a._apply_loop(c,b.loops);b.autoLoad||b.autoPlay?a.load():(c.autobuffer=!1,c.preload="auto");return c};h=function(){if(a._a._added_events)return!1;var b;a._a._added_events=!0;for(b in G)G.hasOwnProperty(b)&&a._a&&a._a.addEventListener(b,G[b],!1);return!0};z=function(){var b;c._wD(a.id+": Removing event listeners");
+a._a._added_events=!1;for(b in G)G.hasOwnProperty(b)&&a._a&&a._a.removeEventListener(b,G[b],!1)};this._onload=function(b){var d=!!b||!a.isHTML5&&8===n&&a.duration;b=a.id+": ";c._wD(b+(d?"onload()":"Failed to load / invalid sound?"+(!a.duration?" Zero-length duration reported.":" -")+" ("+a.url+")"),d?1:2);!d&&!a.isHTML5&&(!0===c.sandbox.noRemote&&c._wD(b+r("noNet"),1),!0===c.sandbox.noLocal&&c._wD(b+r("noLocal"),1));a.loaded=d;a.readyState=d?3:2;a._onbufferchange(0);a._iO.onload&&ta(a,function(){a._iO.onload.apply(a,
+[d])});return!0};this._onbufferchange=function(b){if(0===a.playState||b&&a.isBuffering||!b&&!a.isBuffering)return!1;a.isBuffering=1===b;a._iO.onbufferchange&&(c._wD(a.id+": Buffer state change: "+b),a._iO.onbufferchange.apply(a));return!0};this._onsuspend=function(){a._iO.onsuspend&&(c._wD(a.id+": Playback suspended"),a._iO.onsuspend.apply(a));return!0};this._onfailure=function(b,d,e){a.failures++;c._wD(a.id+": Failures \x3d "+a.failures);if(a._iO.onfailure&&1===a.failures)a._iO.onfailure(a,b,d,e);
+else c._wD(a.id+": Ignoring failure")};this._onfinish=function(){var b=a._iO.onfinish;a._onbufferchange(0);a._resetOnPosition(0);if(a.instanceCount&&(a.instanceCount--,a.instanceCount||(Ta(),a.playState=0,a.paused=!1,a.instanceCount=0,a.instanceOptions={},a._iO={},l(),a.isHTML5&&(a.position=0)),(!a.instanceCount||a._iO.multiShotEvents)&&b))c._wD(a.id+": onfinish()"),ta(a,function(){b.apply(a)})};this._whileloading=function(b,c,d,e){var f=a._iO;a.bytesLoaded=b;a.bytesTotal=c;a.duration=Math.floor(d);
+a.bufferLength=e;a.durationEstimate=!a.isHTML5&&!f.isMovieStar?f.duration?a.duration>f.duration?a.duration:f.duration:parseInt(a.bytesTotal/a.bytesLoaded*a.duration,10):a.duration;a.isHTML5||(a.buffered=[{start:0,end:a.duration}]);(3!==a.readyState||a.isHTML5)&&f.whileloading&&f.whileloading.apply(a)};this._whileplaying=function(b,c,d,e,f){var l=a._iO;if(isNaN(b)||null===b)return!1;a.position=Math.max(0,b);a._processOnPosition();!a.isHTML5&&8<n&&(l.usePeakData&&(c!==g&&c)&&(a.peakData={left:c.leftPeak,
+right:c.rightPeak}),l.useWaveformData&&(d!==g&&d)&&(a.waveformData={left:d.split(","),right:e.split(",")}),l.useEQData&&(f!==g&&f&&f.leftEQ)&&(b=f.leftEQ.split(","),a.eqData=b,a.eqData.left=b,f.rightEQ!==g&&f.rightEQ&&(a.eqData.right=f.rightEQ.split(","))));1===a.playState&&(!a.isHTML5&&(8===n&&!a.position&&a.isBuffering)&&a._onbufferchange(0),l.whileplaying&&l.whileplaying.apply(a));return!0};this._oncaptiondata=function(b){c._wD(a.id+": Caption data received.");a.captiondata=b;a._iO.oncaptiondata&&
+a._iO.oncaptiondata.apply(a,[b])};this._onmetadata=function(b,d){c._wD(a.id+": Metadata received.");var e={},f,g;f=0;for(g=b.length;f<g;f++)e[b[f]]=d[f];a.metadata=e;a._iO.onmetadata&&a._iO.onmetadata.apply(a)};this._onid3=function(b,d){c._wD(a.id+": ID3 data received.");var e=[],f,g;f=0;for(g=b.length;f<g;f++)e[b[f]]=d[f];a.id3=B(a.id3,e);a._iO.onid3&&a._iO.onid3.apply(a)};this._onconnect=function(b){b=1===b;c._wD(a.id+": "+(b?"Connected.":"Failed to connect? - "+a.url),b?1:2);if(a.connected=b)a.failures=
+0,v(a.id)&&(a.getAutoPlay()?a.play(g,a.getAutoPlay()):a._iO.autoLoad&&a.load()),a._iO.onconnect&&a._iO.onconnect.apply(a,[b])};this._ondataerror=function(b){0<a.playState&&(c._wD(a.id+": Data error: "+b),a._iO.ondataerror&&a._iO.ondataerror.apply(a))};this._debug()};ka=function(){return m.body||m._docElement||m.getElementsByTagName("div")[0]};A=function(b){return m.getElementById(b)};B=function(b,d){var e=b||{},a,f;a=d===g?c.defaultOptions:d;for(f in a)a.hasOwnProperty(f)&&e[f]===g&&(e[f]="object"!==
+typeof a[f]||null===a[f]?a[f]:B(e[f],a[f]));return e};ta=function(b,c){!b.isHTML5&&8===n?h.setTimeout(c,0):c()};O={onready:1,ontimeout:1,defaultOptions:1,flash9Options:1,movieStarOptions:1};Aa=function(b,d){var e,a=!0,f=d!==g,x=c.setupOptions;if(b===g){a=[];for(e in x)x.hasOwnProperty(e)&&a.push(e);for(e in O)O.hasOwnProperty(e)&&("object"===typeof c[e]?a.push(e+": {...}"):c[e]instanceof Function?a.push(e+": function() {...}"):a.push(e));c._wD(r("setup",a.join(", ")));return!1}for(e in b)if(b.hasOwnProperty(e))if("object"!==
+typeof b[e]||null===b[e]||b[e]instanceof Array||b[e]instanceof RegExp)f&&O[d]!==g?c[d][e]=b[e]:x[e]!==g?(c.setupOptions[e]=b[e],c[e]=b[e]):O[e]===g?(J(r(c[e]===g?"setupUndef":"setupError",e),2),a=!1):c[e]instanceof Function?c[e].apply(c,b[e]instanceof Array?b[e]:[b[e]]):c[e]=b[e];else if(O[e]===g)J(r(c[e]===g?"setupUndef":"setupError",e),2),a=!1;else return Aa(b[e],e);return a};w=function(){function b(a){a=hb.call(a);var b=a.length;e?(a[1]="on"+a[1],3<b&&a.pop()):3===b&&a.push(!1);return a}function c(b,
+d){var g=b.shift(),l=[a[d]];if(e)g[l](b[0],b[1]);else g[l].apply(g,b)}var e=h.attachEvent,a={add:e?"attachEvent":"addEventListener",remove:e?"detachEvent":"removeEventListener"};return{add:function(){c(b(arguments),"add")},remove:function(){c(b(arguments),"remove")}}}();G={abort:s(function(){c._wD(this._s.id+": abort")}),canplay:s(function(){var b=this._s,d;if(b._html5_canplay)return!0;b._html5_canplay=!0;c._wD(b.id+": canplay");b._onbufferchange(0);d=b._iO.position!==g&&!isNaN(b._iO.position)?b._iO.position/
+1E3:null;if(b.position&&this.currentTime!==d){c._wD(b.id+": canplay: Setting position to "+d);try{this.currentTime=d}catch(e){c._wD(b.id+": canplay: Setting position of "+d+" failed: "+e.message,2)}}b._iO._oncanplay&&b._iO._oncanplay()}),canplaythrough:s(function(){var b=this._s;b.loaded||(b._onbufferchange(0),b._whileloading(b.bytesLoaded,b.bytesTotal,b._get_html5_duration()),b._onload(!0))}),ended:s(function(){var b=this._s;c._wD(b.id+": ended");b._onfinish()}),error:s(function(){c._wD(this._s.id+
+": HTML5 error, code "+this.error.code);this._s._onload(!1)}),loadeddata:s(function(){var b=this._s;c._wD(b.id+": loadeddata");!b._loaded&&!ua&&(b.duration=b._get_html5_duration())}),loadedmetadata:s(function(){c._wD(this._s.id+": loadedmetadata")}),loadstart:s(function(){c._wD(this._s.id+": loadstart");this._s._onbufferchange(1)}),play:s(function(){this._s._onbufferchange(0)}),playing:s(function(){c._wD(this._s.id+": playing");this._s._onbufferchange(0)}),progress:s(function(b){var d=this._s,e,a,
+f;e=0;var g="progress"===b.type,z=b.target.buffered,l=b.loaded||0,h=b.total||1;d.buffered=[];if(z&&z.length){e=0;for(a=z.length;e<a;e++)d.buffered.push({start:1E3*z.start(e),end:1E3*z.end(e)});e=1E3*(z.end(0)-z.start(0));l=Math.min(1,e/(1E3*b.target.duration));if(g&&1<z.length){f=[];a=z.length;for(e=0;e<a;e++)f.push(1E3*b.target.buffered.start(e)+"-"+1E3*b.target.buffered.end(e));c._wD(this._s.id+": progress, timeRanges: "+f.join(", "))}g&&!isNaN(l)&&c._wD(this._s.id+": progress, "+Math.floor(100*
+l)+"% loaded")}isNaN(l)||(d._onbufferchange(0),d._whileloading(l,h,d._get_html5_duration()),l&&(h&&l===h)&&G.canplaythrough.call(this,b))}),ratechange:s(function(){c._wD(this._s.id+": ratechange")}),suspend:s(function(b){var d=this._s;c._wD(this._s.id+": suspend");G.progress.call(this,b);d._onsuspend()}),stalled:s(function(){c._wD(this._s.id+": stalled")}),timeupdate:s(function(){this._s._onTimer()}),waiting:s(function(){var b=this._s;c._wD(this._s.id+": waiting");b._onbufferchange(1)})};ra=function(b){return!b||
+!b.type&&!b.url&&!b.serverURL?!1:b.serverURL||b.type&&ga(b.type)?!1:b.type?ba({type:b.type}):ba({url:b.url})||c.html5Only||b.url.match(/data\:/i)};sa=function(b){var c;b&&(c=ua&&!ca?null:ub?"about:blank":null,b.src=c,void 0!==b._called_unload&&(b._called_load=!1));E&&(La=null);return c};ba=function(b){if(!c.useHTML5Audio||!c.hasHTML5)return!1;var d=b.url||null;b=b.type||null;var e=c.audioFormats,a;if(b&&c.html5[b]!==g)return c.html5[b]&&!ga(b);if(!K){K=[];for(a in e)e.hasOwnProperty(a)&&(K.push(a),
+e[a].related&&(K=K.concat(e[a].related)));K=RegExp("\\.("+K.join("|")+")(\\?.*)?$","i")}a=d?d.toLowerCase().match(K):null;!a||!a.length?b&&(d=b.indexOf(";"),a=(-1!==d?b.substr(0,d):b).substr(6)):a=a[1];a&&c.html5[a]!==g?d=c.html5[a]&&!ga(a):(b="audio/"+a,d=c.html5.canPlayType({type:b}),d=(c.html5[a]=d)&&c.html5[b]&&!ga(b));return d};gb=function(){function b(a){var b,e,f=b=!1;if(!d||"function"!==typeof d.canPlayType)return b;if(a instanceof Array){b=0;for(e=a.length;b<e;b++)if(c.html5[a[b]]||d.canPlayType(a[b]).match(c.html5Test))f=
+!0,c.html5[a[b]]=!0,c.flash[a[b]]=!!a[b].match(nb);b=f}else a=d&&"function"===typeof d.canPlayType?d.canPlayType(a):!1,b=!(!a||!a.match(c.html5Test));return b}if(!c.useHTML5Audio||!c.hasHTML5)return u=c.html5.usingFlash=!0,!1;var d=Audio!==g?Oa&&10>opera.version()?new Audio(null):new Audio:null,e,a,f={},h;h=c.audioFormats;for(e in h)if(h.hasOwnProperty(e)&&(a="audio/"+e,f[e]=b(h[e].type),f[a]=f[e],e.match(nb)?(c.flash[e]=!0,c.flash[a]=!0):(c.flash[e]=!1,c.flash[a]=!1),h[e]&&h[e].related))for(a=h[e].related.length-
+1;0<=a;a--)f["audio/"+h[e].related[a]]=f[e],c.html5[h[e].related[a]]=f[e],c.flash[h[e].related[a]]=f[e];f.canPlayType=d?b:null;c.html5=B(c.html5,f);c.html5.usingFlash=fb();u=c.html5.usingFlash;return!0};I={notReady:"Unavailable - wait until onready() has fired.",notOK:"Audio support is not available.",domError:"soundManagerexception caught while appending SWF to DOM.",spcWmode:"Removing wmode, preventing known SWF loading issue(s)",swf404:"soundManager: Verify that %s is a valid path.",tryDebug:"Try soundManager.debugFlash \x3d true for more security details (output goes to SWF.)",
+checkSWF:"See SWF output for more debug info.",localFail:"soundManager: Non-HTTP page ("+m.location.protocol+" URL?) Review Flash player security settings for this special case:\nhttp://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04.html\nMay need to add/allow path, eg. c:/sm2/ or /users/me/sm2/",waitFocus:"soundManager: Special case: Waiting for SWF to load with window focus...",waitForever:"soundManager: Waiting indefinitely for Flash (will recover if unblocked)...",
+waitSWF:"soundManager: Waiting for 100% SWF load...",needFunction:"soundManager: Function object expected for %s",badID:'Sound ID "%s" should be a string, starting with a non-numeric character',currentObj:"soundManager: _debug(): Current sound objects",waitOnload:"soundManager: Waiting for window.onload()",docLoaded:"soundManager: Document already loaded",onload:"soundManager: initComplete(): calling soundManager.onload()",onloadOK:"soundManager.onload() complete",didInit:"soundManager: init(): Already called?",
+secNote:"Flash security note: Network/internet URLs will not load due to security restrictions. Access can be configured via Flash Player Global Security Settings Page: http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04.html",badRemove:"soundManager: Failed to remove Flash node.",shutdown:"soundManager.disable(): Shutting down",queue:"soundManager: Queueing %s handler",smError:"SMSound.load(): Exception: JS-Flash communication failed, or JS error.",fbTimeout:"No flash response, applying .swf_timedout CSS...",
+fbLoaded:"Flash loaded",fbHandler:"soundManager: flashBlockHandler()",manURL:"SMSound.load(): Using manually-assigned URL",onURL:"soundManager.load(): current URL already assigned.",badFV:'soundManager.flashVersion must be 8 or 9. "%s" is invalid. Reverting to %s.',as2loop:"Note: Setting stream:false so looping can work (flash 8 limitation)",noNSLoop:"Note: Looping not implemented for MovieStar formats",needfl9:"Note: Switching to flash 9, required for MP4 formats.",mfTimeout:"Setting flashLoadTimeout \x3d 0 (infinite) for off-screen, mobile flash case",
+needFlash:"soundManager: Fatal error: Flash is needed to play some required formats, but is not available.",gotFocus:"soundManager: Got window focus.",policy:"Enabling usePolicyFile for data access",setup:"soundManager.setup(): allowed parameters: %s",setupError:'soundManager.setup(): "%s" cannot be assigned with this method.',setupUndef:'soundManager.setup(): Could not find option "%s"',setupLate:"soundManager.setup(): url, flashVersion and html5Test property changes will not take effect until reboot().",
+noURL:"soundManager: Flash URL required. Call soundManager.setup({url:...}) to get started.",sm2Loaded:"SoundManager 2: Ready.",reset:"soundManager.reset(): Removing event callbacks",mobileUA:"Mobile UA detected, preferring HTML5 by default.",globalHTML5:"Using singleton HTML5 Audio() pattern for this device."};r=function(){var b=hb.call(arguments),c=b.shift(),c=I&&I[c]?I[c]:"",e,a;if(c&&b&&b.length){e=0;for(a=b.length;e<a;e++)c=c.replace("%s",b[e])}return c};ma=function(b){8===n&&(1<b.loops&&b.stream)&&
+(p("as2loop"),b.stream=!1);return b};na=function(b,d){if(b&&!b.usePolicyFile&&(b.onid3||b.usePeakData||b.useWaveformData||b.useEQData))c._wD((d||"")+r("policy")),b.usePolicyFile=!0;return b};J=function(b){da&&console.warn!==g?console.warn(b):c._wD(b)};xa=function(){return!1};$a=function(b){for(var c in b)b.hasOwnProperty(c)&&"function"===typeof b[c]&&(b[c]=xa)};Ga=function(b){b===g&&(b=!1);(y||b)&&c.disable(b)};ab=function(b){var d=null;if(b)if(b.match(/\.swf(\?.*)?$/i)){if(d=b.substr(b.toLowerCase().lastIndexOf(".swf?")+
+4))return b}else b.lastIndexOf("/")!==b.length-1&&(b+="/");b=(b&&-1!==b.lastIndexOf("/")?b.substr(0,b.lastIndexOf("/")+1):"./")+c.movieURL;c.noSWFCache&&(b+="?ts\x3d"+(new Date).getTime());return b};Ca=function(){n=parseInt(c.flashVersion,10);8!==n&&9!==n&&(c._wD(r("badFV",n,8)),c.flashVersion=n=8);var b=c.debugMode||c.debugFlash?"_debug.swf":".swf";c.useHTML5Audio&&(!c.html5Only&&c.audioFormats.mp4.required&&9>n)&&(c._wD(r("needfl9")),c.flashVersion=n=9);c.version=c.versionNumber+(c.html5Only?" (HTML5-only mode)":
+9===n?" (AS3/Flash 9)":" (AS2/Flash 8)");8<n?(c.defaultOptions=B(c.defaultOptions,c.flash9Options),c.features.buffering=!0,c.defaultOptions=B(c.defaultOptions,c.movieStarOptions),c.filePatterns.flash9=RegExp("\\.(mp3|"+qb.join("|")+")(\\?.*)?$","i"),c.features.movieStar=!0):c.features.movieStar=!1;c.filePattern=c.filePatterns[8!==n?"flash9":"flash8"];c.movieURL=(8===n?"soundmanager2.swf":"soundmanager2_flash9.swf").replace(".swf",b);c.features.peakData=c.features.waveformData=c.features.eqData=8<
+n};Ya=function(b,c){if(!k)return!1;k._setPolling(b,c)};Fa=function(){c.debugURLParam.test(U)&&(c.debugMode=!0);if(A(c.debugID))return!1;var b,d,e,a;if(c.debugMode&&!A(c.debugID)&&(!da||!c.useConsole||!c.consoleOnly)){b=m.createElement("div");b.id=c.debugID+"-toggle";d={position:"fixed",bottom:"0px",right:"0px",width:"1.2em",height:"1.2em",lineHeight:"1.2em",margin:"2px",textAlign:"center",border:"1px solid #999",cursor:"pointer",background:"#fff",color:"#333",zIndex:10001};b.appendChild(m.createTextNode("-"));
+b.onclick=bb;b.title="Toggle SM2 debug console";t.match(/msie 6/i)&&(b.style.position="absolute",b.style.cursor="hand");for(a in d)d.hasOwnProperty(a)&&(b.style[a]=d[a]);d=m.createElement("div");d.id=c.debugID;d.style.display=c.debugMode?"block":"none";if(c.debugMode&&!A(b.id)){try{e=ka(),e.appendChild(b)}catch(f){throw Error(r("domError")+" \n"+f.toString());}e.appendChild(d)}}};v=this.getSoundById;p=function(b,d){return!b?"":c._wD(r(b),d)};bb=function(){var b=A(c.debugID),d=A(c.debugID+"-toggle");
+if(!b)return!1;za?(d.innerHTML="+",b.style.display="none"):(d.innerHTML="-",b.style.display="block");za=!za};C=function(b,c,e){if(h.sm2Debugger!==g)try{sm2Debugger.handleEvent(b,c,e)}catch(a){return!1}return!0};T=function(){var b=[];c.debugMode&&b.push("sm2_debug");c.debugFlash&&b.push("flash_debug");c.useHighPerformance&&b.push("high_performance");return b.join(" ")};Ia=function(){var b=r("fbHandler"),d=c.getMoviePercent(),e={type:"FLASHBLOCK"};if(c.html5Only)return!1;c.ok()?(c.didFlashBlock&&c._wD(b+
+": Unblocked"),c.oMC&&(c.oMC.className=[T(),"movieContainer","swf_loaded"+(c.didFlashBlock?" swf_unblocked":"")].join(" "))):(u&&(c.oMC.className=T()+" movieContainer "+(null===d?"swf_timedout":"swf_error"),c._wD(b+": "+r("fbTimeout")+(d?" ("+r("fbLoaded")+")":""))),c.didFlashBlock=!0,M({type:"ontimeout",ignoreInit:!0,error:e}),S(e))};Ba=function(b,c,e){F[b]===g&&(F[b]=[]);F[b].push({method:c,scope:e||null,fired:!1})};M=function(b){b||(b={type:c.ok()?"onready":"ontimeout"});if(!q&&b&&!b.ignoreInit||
+"ontimeout"===b.type&&(c.ok()||y&&!b.ignoreInit))return!1;var d={success:b&&b.ignoreInit?c.ok():!y},e=b&&b.type?F[b.type]||[]:[],a=[],f,d=[d],g=u&&!c.ok();b.error&&(d[0].error=b.error);b=0;for(f=e.length;b<f;b++)!0!==e[b].fired&&a.push(e[b]);if(a.length){b=0;for(f=a.length;b<f;b++)a[b].scope?a[b].method.apply(a[b].scope,d):a[b].method.apply(this,d),g||(a[b].fired=!0)}return!0};P=function(){h.setTimeout(function(){c.useFlashBlock&&Ia();M();"function"===typeof c.onload&&(p("onload",1),c.onload.apply(h),
+p("onloadOK",1));c.waitForWindowLoad&&w.add(h,"load",P)},1)};Ma=function(){if(H!==g)return H;var b=!1,c=navigator,e=c.plugins,a,f=h.ActiveXObject;if(e&&e.length)(c=c.mimeTypes)&&(c["application/x-shockwave-flash"]&&c["application/x-shockwave-flash"].enabledPlugin&&c["application/x-shockwave-flash"].enabledPlugin.description)&&(b=!0);else if(f!==g&&!t.match(/MSAppHost/i)){try{a=new f("ShockwaveFlash.ShockwaveFlash")}catch(m){a=null}b=!!a}return H=b};fb=function(){var b,d,e=c.audioFormats;if(ca&&t.match(/os (1|2|3_0|3_1)/i))c.hasHTML5=
+!1,c.html5Only=!0,c.oMC&&(c.oMC.style.display="none");else if(c.useHTML5Audio){if(!c.html5||!c.html5.canPlayType)c._wD("SoundManager: No HTML5 Audio() support detected."),c.hasHTML5=!1;Qa&&c._wD("soundManager: Note: Buggy HTML5 Audio in Safari on this OS X release, see https://bugs.webkit.org/show_bug.cgi?id\x3d32159 - "+(!H?" would use flash fallback for MP3/MP4, but none detected.":"will use flash fallback for MP3/MP4, if available"),1)}if(c.useHTML5Audio&&c.hasHTML5)for(d in qa=!0,e)if(e.hasOwnProperty(d)&&
+e[d].required)if(c.html5.canPlayType(e[d].type)){if(c.preferFlash&&(c.flash[d]||c.flash[e[d].type]))b=!0}else qa=!1,b=!0;c.ignoreFlash&&(b=!1,qa=!0);c.html5Only=c.hasHTML5&&c.useHTML5Audio&&!b;return!c.html5Only};pa=function(b){var d,e,a=0;if(b instanceof Array){d=0;for(e=b.length;d<e;d++)if(b[d]instanceof Object){if(c.canPlayMIME(b[d].type)){a=d;break}}else if(c.canPlayURL(b[d])){a=d;break}b[a].url&&(b[a]=b[a].url);b=b[a]}return b};cb=function(b){b._hasTimer||(b._hasTimer=!0,!Pa&&c.html5PollingInterval&&
+(null===aa&&0===oa&&(aa=setInterval(eb,c.html5PollingInterval)),oa++))};db=function(b){b._hasTimer&&(b._hasTimer=!1,!Pa&&c.html5PollingInterval&&oa--)};eb=function(){var b;if(null!==aa&&!oa)return clearInterval(aa),aa=null,!1;for(b=c.soundIDs.length-1;0<=b;b--)c.sounds[c.soundIDs[b]].isHTML5&&c.sounds[c.soundIDs[b]]._hasTimer&&c.sounds[c.soundIDs[b]]._onTimer()};S=function(b){b=b!==g?b:{};"function"===typeof c.onerror&&c.onerror.apply(h,[{type:b.type!==g?b.type:null}]);b.fatal!==g&&b.fatal&&c.disable()};
+ib=function(){if(!Qa||!Ma())return!1;var b=c.audioFormats,d,e;for(e in b)if(b.hasOwnProperty(e)&&("mp3"===e||"mp4"===e))if(c._wD("soundManager: Using flash fallback for "+e+" format"),c.html5[e]=!1,b[e]&&b[e].related)for(d=b[e].related.length-1;0<=d;d--)c.html5[b[e].related[d]]=!1};this._setSandboxType=function(b){var d=c.sandbox;d.type=b;d.description=d.types[d.types[b]!==g?b:"unknown"];"localWithFile"===d.type?(d.noRemote=!0,d.noLocal=!1,p("secNote",2)):"localWithNetwork"===d.type?(d.noRemote=!1,
+d.noLocal=!0):"localTrusted"===d.type&&(d.noRemote=!1,d.noLocal=!1)};this._externalInterfaceOK=function(b){if(c.swfLoaded)return!1;var d;C("swf",!0);C("flashtojs",!0);c.swfLoaded=!0;va=!1;Qa&&ib();if(!b||b.replace(/\+dev/i,"")!==c.versionNumber.replace(/\+dev/i,""))return d='soundManager: Fatal: JavaScript file build "'+c.versionNumber+'" does not match Flash SWF build "'+b+'" at '+c.url+". Ensure both are up-to-date.",setTimeout(function(){throw Error(d);},0),!1;setTimeout(ya,L?100:1)};la=function(b,
+d){function e(){var a=[],b,d=[];b="SoundManager "+c.version+(!c.html5Only&&c.useHTML5Audio?c.hasHTML5?" + HTML5 audio":", no HTML5 audio support":"");c.html5Only?c.html5PollingInterval&&a.push("html5PollingInterval ("+c.html5PollingInterval+"ms)"):(c.preferFlash&&a.push("preferFlash"),c.useHighPerformance&&a.push("useHighPerformance"),c.flashPollingInterval&&a.push("flashPollingInterval ("+c.flashPollingInterval+"ms)"),c.html5PollingInterval&&a.push("html5PollingInterval ("+c.html5PollingInterval+
+"ms)"),c.wmode&&a.push("wmode ("+c.wmode+")"),c.debugFlash&&a.push("debugFlash"),c.useFlashBlock&&a.push("flashBlock"));a.length&&(d=d.concat([a.join(" + ")]));c._wD(b+(d.length?" + "+d.join(", "):""),1);jb()}function a(a,b){return'\x3cparam name\x3d"'+a+'" value\x3d"'+b+'" /\x3e'}if(V&&W)return!1;if(c.html5Only)return Ca(),e(),c.oMC=A(c.movieID),ya(),W=V=!0,!1;var f=d||c.url,h=c.altURL||f,k=ka(),l=T(),n=null,n=m.getElementsByTagName("html")[0],p,s,q,n=n&&n.dir&&n.dir.match(/rtl/i);b=b===g?c.id:b;
+Ca();c.url=ab(ea?f:h);d=c.url;c.wmode=!c.wmode&&c.useHighPerformance?"transparent":c.wmode;if(null!==c.wmode&&(t.match(/msie 8/i)||!L&&!c.useHighPerformance)&&navigator.platform.match(/win32|win64/i))N.push(I.spcWmode),c.wmode=null;k={name:b,id:b,src:d,quality:"high",allowScriptAccess:c.allowScriptAccess,bgcolor:c.bgColor,pluginspage:ob+"www.macromedia.com/go/getflashplayer",title:"JS/Flash audio component (SoundManager 2)",type:"application/x-shockwave-flash",wmode:c.wmode,hasPriority:"true"};c.debugFlash&&
+(k.FlashVars="debug\x3d1");c.wmode||delete k.wmode;if(L)f=m.createElement("div"),s=['\x3cobject id\x3d"'+b+'" data\x3d"'+d+'" type\x3d"'+k.type+'" title\x3d"'+k.title+'" classid\x3d"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase\x3d"'+ob+'download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version\x3d6,0,40,0"\x3e',a("movie",d),a("AllowScriptAccess",c.allowScriptAccess),a("quality",k.quality),c.wmode?a("wmode",c.wmode):"",a("bgcolor",c.bgColor),a("hasPriority","true"),c.debugFlash?
+a("FlashVars",k.FlashVars):"","\x3c/object\x3e"].join("");else for(p in f=m.createElement("embed"),k)k.hasOwnProperty(p)&&f.setAttribute(p,k[p]);Fa();l=T();if(k=ka())if(c.oMC=A(c.movieID)||m.createElement("div"),c.oMC.id)q=c.oMC.className,c.oMC.className=(q?q+" ":"movieContainer")+(l?" "+l:""),c.oMC.appendChild(f),L&&(p=c.oMC.appendChild(m.createElement("div")),p.className="sm2-object-box",p.innerHTML=s),W=!0;else{c.oMC.id=c.movieID;c.oMC.className="movieContainer "+l;p=l=null;c.useFlashBlock||(c.useHighPerformance?
+l={position:"fixed",width:"8px",height:"8px",bottom:"0px",left:"0px",overflow:"hidden"}:(l={position:"absolute",width:"6px",height:"6px",top:"-9999px",left:"-9999px"},n&&(l.left=Math.abs(parseInt(l.left,10))+"px")));tb&&(c.oMC.style.zIndex=1E4);if(!c.debugFlash)for(q in l)l.hasOwnProperty(q)&&(c.oMC.style[q]=l[q]);try{L||c.oMC.appendChild(f),k.appendChild(c.oMC),L&&(p=c.oMC.appendChild(m.createElement("div")),p.className="sm2-object-box",p.innerHTML=s),W=!0}catch(u){throw Error(r("domError")+" \n"+
+u.toString());}}V=!0;e();return!0};ja=function(){if(c.html5Only)return la(),!1;if(k)return!1;if(!c.url)return p("noURL"),!1;k=c.getMovie(c.id);k||(Z?(L?c.oMC.innerHTML=Ha:c.oMC.appendChild(Z),Z=null,V=!0):la(c.id,c.url),k=c.getMovie(c.id));"function"===typeof c.oninitmovie&&setTimeout(c.oninitmovie,1);Na();return!0};Q=function(){setTimeout(Xa,1E3)};Xa=function(){var b,d=!1;if(!c.url||$)return!1;$=!0;w.remove(h,"load",Q);if(va&&!Ra)return p("waitFocus"),!1;q||(b=c.getMoviePercent(),0<b&&100>b&&(d=
+!0));setTimeout(function(){b=c.getMoviePercent();if(d)return $=!1,c._wD(r("waitSWF")),h.setTimeout(Q,1),!1;q||(c._wD("soundManager: No Flash response within expected time. Likely causes: "+(0===b?"SWF load failed, ":"")+"Flash blocked or JS-Flash security error."+(c.debugFlash?" "+r("checkSWF"):""),2),!ea&&b&&(p("localFail",2),c.debugFlash||p("tryDebug",2)),0===b&&c._wD(r("swf404",c.url),1),C("flashtojs",!1,": Timed out"+ea?" (Check flash security or flash blockers)":" (No plugin/missing SWF?)"));
+!q&&mb&&(null===b?c.useFlashBlock||0===c.flashLoadTimeout?(c.useFlashBlock&&Ia(),p("waitForever")):!c.useFlashBlock&&qa?h.setTimeout(function(){J("soundManager: useFlashBlock is false, 100% HTML5 mode is possible. Rebooting with preferFlash: false...");c.setup({preferFlash:!1}).reboot();c.didFlashBlock=!0;c.beginDelayedInit()},1):(p("waitForever"),M({type:"ontimeout",ignoreInit:!0})):0===c.flashLoadTimeout?p("waitForever"):Ga(!0))},c.flashLoadTimeout)};ia=function(){if(Ra||!va)return w.remove(h,"focus",
+ia),!0;Ra=mb=!0;p("gotFocus");$=!1;Q();w.remove(h,"focus",ia);return!0};Na=function(){N.length&&(c._wD("SoundManager 2: "+N.join(" "),1),N=[])};jb=function(){Na();var b,d=[];if(c.useHTML5Audio&&c.hasHTML5){for(b in c.audioFormats)c.audioFormats.hasOwnProperty(b)&&d.push(b+" \x3d "+c.html5[b]+(!c.html5[b]&&u&&c.flash[b]?" (using flash)":c.preferFlash&&c.flash[b]&&u?" (preferring flash)":!c.html5[b]?" ("+(c.audioFormats[b].required?"required, ":"")+"and no flash support)":""));c._wD("SoundManager 2 HTML5 support: "+
+d.join(", "),1)}};X=function(b){if(q)return!1;if(c.html5Only)return p("sm2Loaded"),q=!0,P(),C("onload",!0),!0;var d=!0,e;if(!c.useFlashBlock||!c.flashLoadTimeout||c.getMoviePercent())q=!0,y&&(e={type:!H&&u?"NO_FLASH":"INIT_TIMEOUT"});c._wD("SoundManager 2 "+(y?"failed to load":"loaded")+" ("+(y?"Flash security/load error":"OK")+")",y?2:1);y||b?(c.useFlashBlock&&c.oMC&&(c.oMC.className=T()+" "+(null===c.getMoviePercent()?"swf_timedout":"swf_error")),M({type:"ontimeout",error:e,ignoreInit:!0}),C("onload",
+!1),S(e),d=!1):C("onload",!0);y||(c.waitForWindowLoad&&!ha?(p("waitOnload"),w.add(h,"load",P)):(c.waitForWindowLoad&&ha&&p("docLoaded"),P()));return d};Wa=function(){var b,d=c.setupOptions;for(b in d)d.hasOwnProperty(b)&&(c[b]===g?c[b]=d[b]:c[b]!==d[b]&&(c.setupOptions[b]=c[b]))};ya=function(){if(q)return p("didInit"),!1;if(c.html5Only)return q||(w.remove(h,"load",c.beginDelayedInit),c.enabled=!0,X()),!0;ja();try{k._externalInterfaceTest(!1),Ya(!0,c.flashPollingInterval||(c.useHighPerformance?10:
+50)),c.debugMode||k._disableDebug(),c.enabled=!0,C("jstoflash",!0),c.html5Only||w.add(h,"unload",xa)}catch(b){return c._wD("js/flash exception: "+b.toString()),C("jstoflash",!1),S({type:"JS_TO_FLASH_EXCEPTION",fatal:!0}),Ga(!0),X(),!1}X();w.remove(h,"load",c.beginDelayedInit);return!0};R=function(){if(Y)return!1;Y=!0;Wa();Fa();var b=null,b=null,d=U.toLowerCase();-1!==d.indexOf("sm2-usehtml5audio\x3d")&&(b="1"===d.charAt(d.indexOf("sm2-usehtml5audio\x3d")+18),da&&console.log((b?"Enabling ":"Disabling ")+
+"useHTML5Audio via URL parameter"),c.setup({useHTML5Audio:b}));-1!==d.indexOf("sm2-preferflash\x3d")&&(b="1"===d.charAt(d.indexOf("sm2-preferflash\x3d")+16),da&&console.log((b?"Enabling ":"Disabling ")+"preferFlash via URL parameter"),c.setup({preferFlash:b}));!H&&c.hasHTML5&&(c._wD("SoundManager: No Flash detected"+(!c.useHTML5Audio?", enabling HTML5.":". Trying HTML5-only mode."),1),c.setup({useHTML5Audio:!0,preferFlash:!1}));gb();!H&&u&&(N.push(I.needFlash),c.setup({flashLoadTimeout:1}));m.removeEventListener&&
+m.removeEventListener("DOMContentLoaded",R,!1);ja();return!0};Ka=function(){"complete"===m.readyState&&(R(),m.detachEvent("onreadystatechange",Ka));return!0};Ea=function(){ha=!0;w.remove(h,"load",Ea)};Da=function(){if(Pa&&((!c.setupOptions.useHTML5Audio||c.setupOptions.preferFlash)&&N.push(I.mobileUA),c.setupOptions.useHTML5Audio=!0,c.setupOptions.preferFlash=!1,ca||lb&&!t.match(/android\s2\.3/i)))N.push(I.globalHTML5),ca&&(c.ignoreFlash=!0),E=!0};Da();Ma();w.add(h,"focus",ia);w.add(h,"load",Q);w.add(h,
+"load",Ea);m.addEventListener?m.addEventListener("DOMContentLoaded",R,!1):m.attachEvent?m.attachEvent("onreadystatechange",Ka):(C("onload",!1),S({type:"NO_DOM2_EVENTS",fatal:!0}))}var wa=null;if(void 0===h.SM2_DEFER||!SM2_DEFER)wa=new fa;h.SoundManager=fa;h.soundManager=wa})(window);
\ No newline at end of file
diff --git a/backends/gdx-backends-gwt/src/com/badlogic/gdx/backends/gwt/resources/soundmanager2.swf b/backends/gdx-backends-gwt/src/com/badlogic/gdx/backends/gwt/resources/soundmanager2.swf
new file mode 100644 (file)
index 0000000..dc383ce
Binary files /dev/null and b/backends/gdx-backends-gwt/src/com/badlogic/gdx/backends/gwt/resources/soundmanager2.swf differ
diff --git a/backends/gdx-backends-gwt/src/com/badlogic/gdx/backends/gwt/resources/soundmanager2_debug.swf b/backends/gdx-backends-gwt/src/com/badlogic/gdx/backends/gwt/resources/soundmanager2_debug.swf
deleted file mode 100644 (file)
index ec2793a..0000000
Binary files a/backends/gdx-backends-gwt/src/com/badlogic/gdx/backends/gwt/resources/soundmanager2_debug.swf and /dev/null differ
diff --git a/backends/gdx-backends-gwt/src/com/badlogic/gdx/backends/gwt/resources/soundmanager2_flash9.swf b/backends/gdx-backends-gwt/src/com/badlogic/gdx/backends/gwt/resources/soundmanager2_flash9.swf
new file mode 100644 (file)
index 0000000..df23168
Binary files /dev/null and b/backends/gdx-backends-gwt/src/com/badlogic/gdx/backends/gwt/resources/soundmanager2_flash9.swf differ
diff --git a/backends/gdx-backends-gwt/src/com/badlogic/gdx/backends/gwt/resources/soundmanager2_flash9_debug.swf b/backends/gdx-backends-gwt/src/com/badlogic/gdx/backends/gwt/resources/soundmanager2_flash9_debug.swf
deleted file mode 100644 (file)
index 4be8716..0000000
Binary files a/backends/gdx-backends-gwt/src/com/badlogic/gdx/backends/gwt/resources/soundmanager2_flash9_debug.swf and /dev/null differ
index 4d54278..655fcf0 100644 (file)
@@ -24,59 +24,57 @@ public class SoundManager {
        }\r
 \r
        public static final native SoundManager getInstance () /*-{\r
-                                                                                                                                                               return $wnd.soundManager;\r
-                                                                                                                                                               }-*/;\r
+               return $wnd.soundManager;\r
+       }-*/;\r
 \r
        public static native String getVersion () /*-{\r
-                                                                                                                       return $wnd.soundManager.version;\r
-                                                                                                                       }-*/;\r
+               return $wnd.soundManager.version;\r
+       }-*/;\r
 \r
        public static native String getUrl () /*-{\r
-                                                                                                               return $wnd.soundManager.url;\r
-                                                                                                               }-*/;\r
+               return $wnd.soundManager.url;\r
+       }-*/;\r
 \r
        public static native void setUrl (String url) /*-{\r
-                                                                                                                                       $wnd.soundManager.url = url;\r
-                                                                                                                                       }-*/;\r
+               $wnd.soundManager.url = url;\r
+       }-*/;\r
 \r
        public static native void setDebugMode (boolean debug) /*-{\r
-                                                                                                                                                               $wnd.soundManager.debugMode = debug;\r
-                                                                                                                                                               }-*/;\r
+               $wnd.soundManager.debugMode = debug;\r
+       }-*/;\r
 \r
        public static native boolean getDebugMode () /*-{\r
-                                                                                                                               return $wnd.soundManager.debugMode;\r
-                                                                                                                               }-*/;\r
+               return $wnd.soundManager.debugMode;\r
+       }-*/;\r
 \r
        public static native void setFlashVersion (int version) /*-{\r
-                                                                                                                                                               $wnd.soundManager.flashVersion = version;\r
-                                                                                                                                                               }-*/;\r
+               $wnd.soundManager.flashVersion = version;\r
+       }-*/;\r
 \r
        public static native int getFlashVersion () /*-{\r
-                                                                                                                               return $wnd.soundManager.flashVersion;\r
-                                                                                                                               }-*/;\r
+               return $wnd.soundManager.flashVersion;\r
+       }-*/;\r
 \r
        public static native SMSound createSound (String id, String url) /*-{\r
-                                                                                                                                                                                       return $wnd.soundManager.createSound(id, url);\r
-                                                                                                                                                                                       }-*/;\r
+               return $wnd.soundManager.createSound(id, url);\r
+       }-*/;\r
 \r
        public static native void reboot () /*-{\r
-                                                                                                       $wnd.soundManager.reboot();\r
-                                                                                                       }-*/;\r
-\r
-       public static native boolean swfLoaded () /*-{\r
-                                                                                                                       return $wnd.soundManager.swfLoaded;\r
-                                                                                                                       }-*/;\r
+               $wnd.soundManager.reboot();\r
+       }-*/;\r
 \r
        public static native boolean ok () /*-{\r
                return $wnd.soundManager.ok();\r
        }-*/;\r
-       \r
-       public static native void init (String moduleBaseURL, int flashVersion) /*-{\r
-                                                                                                                                                                                                       $wnd.SM2_DEFER = true;\r
-                                                                                                                                                                                                       $wnd.soundManager = new $wnd.SoundManager();\r
-                                                                                                                                                                                                       $wnd.soundManager.url = moduleBaseURL;\r
-                                                                                                                                                                                                       $wnd.soundManager.flashVersion = flashVersion;\r
-                                                                                                                                                                                                       $wnd.soundManager.beginDelayedInit()\r
-                                                                                                                                                                                                       }-*/;\r
+\r
+       public static native void init (String moduleBaseURL, int flashVersion, boolean preferFlash) /*-{\r
+               $wnd.soundManager = new $wnd.SoundManager();\r
+               $wnd.soundManager.setup({\r
+                       url: moduleBaseURL,\r
+                       flashVersion: flashVersion,\r
+                       preferFlash: preferFlash\r
+               });\r
+               $wnd.soundManager.beginDelayedInit()\r
+       }-*/;\r
 \r
 }\r
index ee00445..1634852 100644 (file)
@@ -16,6 +16,7 @@
 \r
 package com.badlogic.gdx.graphics.glutils;\r
 \r
+import com.badlogic.gdx.Gdx;\r
 import com.badlogic.gdx.graphics.Color;\r
 import com.badlogic.gdx.graphics.Mesh;\r
 import com.badlogic.gdx.graphics.VertexAttribute;\r
@@ -179,13 +180,12 @@ public class ImmediateModeRenderer20 implements ImmediateModeRenderer {
                }\r
                shader += "   gl_PointSize = 1.0;\n";\r
                shader += "}\n";\r
-\r
                return shader;\r
        }\r
 \r
        static private String createFragmentShader (boolean hasNormals, boolean hasColors, int numTexCoords) {\r
-               String shader = "#ifdef GL_ES\n" + "precision highp float;\n" + "#endif\n";\r
-\r
+               String shader = "#ifdef GL_ES\n" + "precision mediump float;\n" + "#endif\n";\r
+             \r
                if (hasColors) shader += "varying vec4 v_col;\n";\r
                for (int i = 0; i < numTexCoords; i++) {\r
                        shader += "varying vec2 v_tex" + i + ";\n";\r
@@ -205,7 +205,6 @@ public class ImmediateModeRenderer20 implements ImmediateModeRenderer {
                }\r
 \r
                shader += ";\n}";\r
-\r
                return shader;\r
        }\r
 \r
@@ -213,6 +212,7 @@ public class ImmediateModeRenderer20 implements ImmediateModeRenderer {
        static public ShaderProgram createDefaultShader (boolean hasNormals, boolean hasColors, int numTexCoords) {\r
                String vertexShader = createVertexShader(hasNormals, hasColors, numTexCoords);\r
                String fragmentShader = createFragmentShader(hasNormals, hasColors, numTexCoords);\r
-               return new ShaderProgram(vertexShader, fragmentShader);\r
+               ShaderProgram program = new ShaderProgram(vertexShader, fragmentShader);\r
+               return program;\r
        }\r
 }\r