From f062b9fc3b25215b94cc5e2a3c6217a8f8fa2534 Mon Sep 17 00:00:00 2001
From: olivier <>
Date: Fri, 12 Dec 2008 18:45:01 +0000
Subject: [PATCH] revert to soundmanager v2.90a.20081028, soundManager.url is
broken in v2.91
---
telemeta/htdocs/js/soundmanager2.js | 652 ++++++-------------
telemeta/htdocs/swf/soundmanager2.swf | Bin 2433 -> 2435 bytes
telemeta/htdocs/swf/soundmanager2_flash9.swf | Bin 8079 -> 8079 bytes
3 files changed, 214 insertions(+), 438 deletions(-)
diff --git a/telemeta/htdocs/js/soundmanager2.js b/telemeta/htdocs/js/soundmanager2.js
index 631814fd..216115ce 100644
--- a/telemeta/htdocs/js/soundmanager2.js
+++ b/telemeta/htdocs/js/soundmanager2.js
@@ -7,11 +7,9 @@
Code licensed under the BSD License:
http://schillmania.com/projects/soundmanager2/license.txt
- V2.91a.20081205
+ V2.90a.20081028
*/
-var soundManager = null;
-
function SoundManager(smURL,smID) {
this.flashVersion = 8; // version of flash to require, either 8 or 9. Some API features require Flash 9.
@@ -23,7 +21,7 @@ function SoundManager(smURL,smID) {
this.allowPolling = true; // allow flash to poll for status update (required for "while playing", peak, sound spectrum functions to work.)
this.useMovieStar = false; // enable support for Flash 9.0r115+ (codename "MovieStar") MPEG4 audio + video formats (AAC, M4V, FLV, MOV etc.)
this.useHighPerformance = true; // flash positioning trick, improves JS/flash callback speed, minimizes delay
- this.bgColor = '#ffffff'; // movie (.swf) background color, useful if showing on-screen for video etc.
+ this.bgColor = '#ffffff'; // movie (.swf) background color, useful if showing on-screen for video etc.
this.defaultOptions = {
'autoLoad': false, // enable automatic loading (otherwise .load() will be called on demand with .play(), the latter being nicer on bandwidth - if you want to .load yourself, you also can)
@@ -50,25 +48,25 @@ function SoundManager(smURL,smID) {
};
this.flash9Options = { // flash 9-only options, merged into defaultOptions if flash 9 is being used
- 'isMovieStar': null, // "MovieStar" MPEG4 audio/video mode. Null (default) = auto detect MP4, AAC etc. based on URL. true = force on, ignore URL
+ 'isMovieStar': null, // "MovieStar" MPEG4 audio/video mode. Null (default) = auto detect MP4, AAC etc. based on URL. true = force on, ignore URL
'usePeakData': false, // enable left/right channel peak (level) data
'useWaveformData': false, // enable sound spectrum (raw waveform data) - WARNING: CPU-INTENSIVE: may set CPUs on fire.
'useEQData': false // enable sound EQ (frequency spectrum data) - WARNING: Also CPU-intensive.
};
this.movieStarOptions = { // flash 9.0r115+ MPEG4 audio/video options, merged into defaultOptions if flash 9 + movieStar mode is enabled
- 'onmetadata': null, // callback for when video width/height etc. are received
- 'useVideo': false // if loading movieStar content, whether to show video
- };
-
- // jslint global declarations
- /*global alert, console, document, navigator, setTimeout, window */
+ 'onmetadata': null, // callback for when video width/height etc. are received
+ 'useVideo': false // if loading movieStar content, whether to show video
+ }
- var SMSound = null; // defined later
+ this.flashBlockHelper = {
+ 'enabled': false, // experimental, removed with >v2.80
+ 'message': [] // "nag bar" to show when messaging the user, if SM2 fails on firefox etc.
+ };
- var _s = this;
+ var _s = this;
this.version = null;
- this.versionNumber = 'V2.91a.20081205';
+ this.versionNumber = 'V2.90a.20081028';
this.movieURL = null;
this.url = null;
this.altURL = null;
@@ -77,7 +75,7 @@ function SoundManager(smURL,smID) {
this.o = null;
this.id = (smID||'sm2movie');
this.oMC = null;
- this.sounds = {};
+ this.sounds = [];
this.soundIDs = [];
this.muted = false;
this.isIE = (navigator.userAgent.match(/MSIE/i));
@@ -93,12 +91,10 @@ function SoundManager(smURL,smID) {
this._hasConsole = (typeof console != 'undefined' && typeof console.log != 'undefined');
this._debugLevels = ['log','info','warn','error'];
this._defaultFlashVersion = 8;
-
this.filePatterns = {
- flash8: /.mp3/i,
- flash9: /.mp3/i
+ flash8: /\.(mp3)/i,
+ flash9: /\.(mp3)/i
};
-
this.netStreamTypes = ['aac','flv','mov','mp4','m4v','f4v','m4a','mp4v','3gp','3g2']; // Flash v9.0r115+ "moviestar" formats
this.netStreamPattern = new RegExp('.('+this.netStreamTypes.join('|')+')','i');
this.filePattern = null;
@@ -140,7 +136,7 @@ function SoundManager(smURL,smID) {
_s.filePattern = _s.filePatterns[(_s.flashVersion!=8?'flash9':'flash8')];
_s.movieURL = (_s.flashVersion==8?'soundmanager2.swf':'soundmanager2_flash9.swf');
_s.features.peakData = _s.features.waveformData = _s.features.eqData = (_s.flashVersion==9);
- };
+ }
this._overHTTP = (document.location?document.location.protocol.match(/http/i):null);
this._waitingforEI = false;
@@ -169,26 +165,24 @@ function SoundManager(smURL,smID) {
} catch(e) {
_s._failSafely();
return true;
- }
+ };
};
this.createSound = function(oOptions) {
- if (!_s._didInit) {
- throw new Error('soundManager.createSound(): Not loaded yet - wait for soundManager.onload() before calling sound-related methods');
- }
- if (arguments.length == 2) {
+ if (!_s._didInit) throw new Error('soundManager.createSound(): Not loaded yet - wait for soundManager.onload() before calling sound-related methods');
+ if (arguments.length==2) {
// function overloading in JS! :) ..assume simple createSound(id,url) use case
- oOptions = {'id':arguments[0],'url':arguments[1]};
- }
+ var oOptions = {'id':arguments[0],'url':arguments[1]};
+ };
var thisOptions = _s._mergeObjects(oOptions); // inherit SM2 defaults
var _tO = thisOptions; // alias
_s._wD('soundManager.createSound(): '+_tO.id+' ('+_tO.url+')',1);
if (_s._idCheck(_tO.id,true)) {
_s._wD('soundManager.createSound(): '+_tO.id+' exists',1);
return _s.sounds[_tO.id];
- }
+ };
if (_s.flashVersion > 8 && _s.useMovieStar) {
- if (_tO.isMovieStar === null) {
+ if (_tO.isMovieStar == null) {
_tO.isMovieStar = (_tO.url.match(_s.netStreamPattern)?true:false);
}
if (_tO.isMovieStar) {
@@ -200,7 +194,7 @@ function SoundManager(smURL,smID) {
_tO.useWaveformData = false;
_tO.useEQData = false;
}
- }
+ };
_s.sounds[_tO.id] = new SMSound(_tO);
_s.soundIDs[_s.soundIDs.length] = _tO.id;
// AS2:
@@ -208,7 +202,7 @@ function SoundManager(smURL,smID) {
_s.o._createSound(_tO.id,_tO.onjustbeforefinishtime);
} else {
_s.o._createSound(_tO.id,_tO.url,_tO.onjustbeforefinishtime,_tO.usePeakData,_tO.useWaveformData,_tO.useEQData,_tO.isMovieStar,(_tO.isMovieStar?_tO.useVideo:false));
- }
+ };
if (_tO.autoLoad || _tO.autoPlay) {
window.setTimeout(function() {
if (_s.sounds[_tO.id]) {
@@ -228,8 +222,8 @@ function SoundManager(smURL,smID) {
this.createVideo = function(oOptions) {
if (arguments.length==2) {
- oOptions = {'id':arguments[0],'url':arguments[1]};
- }
+ var oOptions = {'id':arguments[0],'url':arguments[1]};
+ };
if (_s.flashVersion >= 9) {
oOptions.isMovieStar = true;
oOptions.useVideo = true;
@@ -241,19 +235,17 @@ function SoundManager(smURL,smID) {
_s._wD('soundManager.createVideo(): MovieStar mode not enabled. Exiting.',2);
}
return _s.createSound(oOptions);
- };
+ }
this.destroySound = function(sID,bFromSound) {
// explicitly destroy a sound before normal page unload, etc.
- if (!_s._idCheck(sID)) {
- return false;
- }
+ if (!_s._idCheck(sID)) return false;
for (var i=0; i<_s.soundIDs.length; i++) {
if (_s.soundIDs[i] == sID) {
_s.soundIDs.splice(i,1);
continue;
- }
- }
+ };
+ };
// conservative option: avoid crash with ze flash 8
// calling destroySound() within a sound onload() might crash firefox, certain flavours of winXP + flash 8??
// if (_s.flashVersion != 8) {
@@ -262,31 +254,25 @@ function SoundManager(smURL,smID) {
if (!bFromSound) {
// ignore if being called from SMSound instance
_s.sounds[sID].destruct();
- }
+ };
delete _s.sounds[sID];
};
this.destroyVideo = this.destroySound;
this.load = function(sID,oOptions) {
- if (!_s._idCheck(sID)) {
- return false;
- }
+ if (!_s._idCheck(sID)) return false;
_s.sounds[sID].load(oOptions);
};
this.unload = function(sID) {
- if (!_s._idCheck(sID)) {
- return false;
- }
+ if (!_s._idCheck(sID)) return false;
_s.sounds[sID].unload();
};
this.play = function(sID,oOptions) {
if (!_s._idCheck(sID)) {
- if (typeof oOptions != 'Object') {
- oOptions = {url:oOptions}; // overloading use case: play('mySound','/path/to/some.mp3');
- }
+ if (typeof oOptions != 'Object') oOptions = {url:oOptions}; // overloading use case: play('mySound','/path/to/some.mp3');
if (oOptions && oOptions.url) {
// overloading use case, creation + playing of sound: .play('someID',{url:'/path/to.mp3'});
_s._wD('soundController.play(): attempting to create "'+sID+'"',1);
@@ -294,24 +280,21 @@ function SoundManager(smURL,smID) {
_s.createSound(oOptions);
} else {
return false;
- }
- }
+ };
+ };
_s.sounds[sID].play(oOptions);
};
this.start = this.play; // just for convenience
this.setPosition = function(sID,nMsecOffset) {
- if (!_s._idCheck(sID)) {
- return false;
- }
+ if (!_s._idCheck(sID)) return false;
+ nMsecOffset = Math.min((nMsecOffset||0),_s.duration); // don't allow seek past loaded duration
_s.sounds[sID].setPosition(nMsecOffset);
};
this.stop = function(sID) {
- if (!_s._idCheck(sID)) {
- return false;
- }
+ if (!_s._idCheck(sID)) return false;
_s._wD('soundManager.stop('+sID+')',1);
_s.sounds[sID].stop();
};
@@ -319,16 +302,12 @@ function SoundManager(smURL,smID) {
this.stopAll = function() {
_s._wD('soundManager.stopAll()',1);
for (var oSound in _s.sounds) {
- if (_s.sounds[oSound] instanceof SMSound) {
- _s.sounds[oSound].stop(); // apply only to sound objects
- }
- }
+ if (_s.sounds[oSound] instanceof SMSound) _s.sounds[oSound].stop(); // apply only to sound objects
+ };
};
this.pause = function(sID) {
- if (!_s._idCheck(sID)) {
- return false;
- }
+ if (!_s._idCheck(sID)) return false;
_s.sounds[sID].pause();
};
@@ -339,9 +318,7 @@ function SoundManager(smURL,smID) {
};
this.resume = function(sID) {
- if (!_s._idCheck(sID)) {
- return false;
- }
+ if (!_s._idCheck(sID)) return false;
_s.sounds[sID].resume();
};
@@ -352,40 +329,31 @@ function SoundManager(smURL,smID) {
};
this.togglePause = function(sID) {
- if (!_s._idCheck(sID)) {
- return false;
- }
+ if (!_s._idCheck(sID)) return false;
_s.sounds[sID].togglePause();
};
this.setPan = function(sID,nPan) {
- if (!_s._idCheck(sID)) {
- return false;
- }
+ if (!_s._idCheck(sID)) return false;
_s.sounds[sID].setPan(nPan);
};
this.setVolume = function(sID,nVol) {
- if (!_s._idCheck(sID)) {
- return false;
- }
+ if (!_s._idCheck(sID)) return false;
_s.sounds[sID].setVolume(nVol);
};
this.mute = function(sID) {
- if (typeof sID != 'string') {
- sID = null;
- }
+ if (typeof sID != 'string') sID = null;
if (!sID) {
+ var o = null;
_s._wD('soundManager.mute(): Muting all sounds');
for (var i=_s.soundIDs.length; i--;) {
_s.sounds[_s.soundIDs[i]].mute();
}
_s.muted = true;
} else {
- if (!_s._idCheck(sID)) {
- return false;
- }
+ if (!_s._idCheck(sID)) return false;
_s._wD('soundManager.mute(): Muting "'+sID+'"');
_s.sounds[sID].mute();
}
@@ -396,19 +364,16 @@ function SoundManager(smURL,smID) {
};
this.unmute = function(sID) {
- if (typeof sID != 'string') {
- sID = null;
- }
+ if (typeof sID != 'string') sID = null;
if (!sID) {
+ var o = null;
_s._wD('soundManager.unmute(): Unmuting all sounds');
for (var i=_s.soundIDs.length; i--;) {
_s.sounds[_s.soundIDs[i]].unmute();
}
_s.muted = false;
} else {
- if (!_s._idCheck(sID)) {
- return false;
- }
+ if (!_s._idCheck(sID)) return false;
_s._wD('soundManager.unmute(): Unmuting "'+sID+'"');
_s.sounds[sID].unmute();
}
@@ -419,40 +384,39 @@ function SoundManager(smURL,smID) {
};
this.setPolling = function(bPolling) {
- if (!_s.o || !_s.allowPolling) {
- return false;
- }
+ if (!_s.o || !_s.allowPolling) return false;
// _s._wD('soundManager.setPolling('+bPolling+')');
_s.o._setPolling(bPolling);
};
this.disable = function(bUnload) {
// destroy all functions
- if (_s._disabled) {
- return false;
- }
+ if (_s._disabled) return false;
_s._disabled = true;
_s._wD('soundManager.disable(): Disabling all functions - future calls will return false.',1);
for (var i=_s.soundIDs.length; i--;) {
_s._disableObject(_s.sounds[_s.soundIDs[i]]);
- }
+ };
_s.initComplete(); // fire "complete", despite fail
_s._disableObject(_s);
};
+ this.handleFlashBlock = function(bForce) {
+ // experimental, removed with >v2.80.
+ return false;
+ };
+
this.canPlayURL = function(sURL) {
return (sURL?(sURL.match(_s.filePattern)?true:false):null);
};
this.getSoundById = function(sID,suppressDebug) {
- if (!sID) {
- throw new Error('SoundManager.getSoundById(): sID is null/undefined');
- }
+ if (!sID) throw new Error('SoundManager.getSoundById(): sID is null/undefined');
var result = _s.sounds[sID];
if (!result && !suppressDebug) {
_s._wD('"'+sID+'" is an invalid sound ID.',2);
// soundManager._wD('trace: '+arguments.callee.caller);
- }
+ };
return result;
};
@@ -470,31 +434,27 @@ function SoundManager(smURL,smID) {
this._idCheck = this.getSoundById;
- var _doNothing = function() {
- return false;
- };
- _doNothing._protected = true;
-
this._disableObject = function(o) {
for (var oProp in o) {
- if (typeof o[oProp] == 'function' && typeof o[oProp]._protected == 'undefined') {
- o[oProp] = _doNothing;
- }
- }
+ if (typeof o[oProp] == 'function' && typeof o[oProp]._protected == 'undefined') o[oProp] = function(){return false;};
+ };
oProp = null;
};
this._failSafely = function() {
// exception handler for "object doesn't support this property or method" or general failure
+ var fpgssTitle = 'You may need to whitelist this location/domain eg. file:///C:/ or C:/ or mysite.com, or set ALWAYS ALLOW under the Flash Player Global Security Settings page. The latter is probably less-secure.';
+ var flashCPL = 'view/edit';
+ var FPGSS = 'FPGSS';
if (!_s._disabled) {
_s._wD('soundManager: Failed to initialise.',2);
_s.disable();
- }
+ };
};
this._normalizeMovieURL = function(smURL) {
if (smURL) {
- if (smURL.match(/.swf/)) {
+ if (smURL.match(/\.swf/)) {
smURL = smURL.substr(0,smURL.lastIndexOf('.swf'));
}
if (smURL.lastIndexOf('/') != smURL.length-1) {
@@ -511,12 +471,8 @@ function SoundManager(smURL,smID) {
this._getDocument._protected = true;
this._createMovie = function(smID,smURL) {
- if (_s._didAppend && _s._appendSuccess) {
- return false; // ignore if already succeeded
- }
- if (window.location.href.indexOf('debug=1')+1) {
- _s.debugMode = true; // allow force of debug mode via URL
- }
+ if (_s._didAppend && _s._appendSuccess) return false; // ignore if already succeeded
+ if (window.location.href.indexOf('debug=1')+1) _s.debugMode = true; // allow force of debug mode via URL
_s._didAppend = true;
// safety check for legacy (change to Flash 9 URL)
@@ -526,111 +482,18 @@ function SoundManager(smURL,smID) {
_s.url = _s._normalizeMovieURL(_s._overHTTP?remoteURL:localURL);
smURL = _s.url;
- var specialCase = null;
- if (_s.useHighPerformance && navigator.userAgent.match(/firefox\/2/i)) {
- // no highPerformance for firefox 2. Causes failure on some pages, exact cause unknown at this point.
- specialCase = 'Warning: disabling highPerformance, incompatible with Firefox 2.x';
- _s.useHighPerformance = false;
- }
-
- if (_s.useHighPerformance && _s.useMovieStar) {
- specialCase = 'Warning: disabling highPerformance, not applicable with movieStar mode on';
- _s.useHighPerformance = false;
- }
-
- var oEmbed = {
- name: smID,
- id: smID,
- src: smURL,
- width: '100%',
- height: '100%',
- quality: 'high',
- allowScriptAccess: 'always',
- bgcolor: _s.bgColor,
- pluginspage: 'http://www.macromedia.com/go/getflashplayer',
- type: 'application/x-shockwave-flash'
- };
-
- var oObject = {
- id: smID,
- data: smURL,
- type: 'application/x-shockwave-flash',
- width: '100%',
- height: '100%'
- };
-
- var oObjectParams = {
- movie: smURL,
- AllowScriptAccess: 'always',
- quality: 'high',
- bgcolor: _s.bgColor
- };
-
- if (_s.useHighPerformance && !_s.useMovieStar) {
- oEmbed.wmode = 'transparent';
- oObjectParams.wmode = 'transparent';
- }
-
- var oMovie = null;
- var tmp = null;
-
- if (_s.isIE) {
-
- // IE is "special".
- oMovie = document.createElement('div');
- var movieHTML = '';
-
- } else {
-
- oMovie = document.createElement('embed');
- for (tmp in oEmbed) {
- if (oEmbed.hasOwnProperty(tmp)) {
- oMovie.setAttribute(tmp,oEmbed[tmp]);
- }
- }
- }
-
- var oD = document.createElement('div');
- oD.id = _s.debugID+'-toggle';
- var oToggle = {
- 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
- };
-
- oD.appendChild(document.createTextNode('-'));
- oD.onclick = _s._toggleDebug;
- oD.title = 'Toggle SM2 debug console';
-
- if (navigator.userAgent.match(/msie 6/i)) {
- oD.style.position = 'absolute';
- oD.style.cursor = 'hand';
- }
-
- for (tmp in oToggle) {
- if (oToggle.hasOwnProperty(tmp)) {
- oD.style[tmp] = oToggle[tmp];
- }
- }
+ var htmlEmbed = '';
+ var htmlObject = '';
+ var html = (!_s.isIE?htmlEmbed:htmlObject);
+ var toggleElement = '
-
';
+ var debugHTML = '';
var appXHTML = 'soundManager._createMovie(): appendChild/innerHTML set failed. May be app/xhtml+xml DOM-related.';
var oTarget = _s._getDocument();
-
if (oTarget) {
_s.oMC = document.getElementById('sm2-container')?document.getElementById('sm2-container'):document.createElement('div');
-
if (!_s.oMC.id) {
_s.oMC.id = 'sm2-container';
_s.oMC.className = 'movieContainer';
@@ -638,122 +501,95 @@ function SoundManager(smURL,smID) {
var s = null;
if (_s.useHighPerformance) {
s = {
- position: 'fixed',
- width: '8px',
+ position: 'fixed',
+ width: '8px',
height: '8px', // must be at least 6px for flash to run fast. odd? yes.
bottom: '0px',
left: '0px',
- zIndex:-1 // sit behind everything else
- };
+ zIndex:-1 // sit behind everything else
+ }
} else {
s = {
position: 'absolute',
- width: '1px',
+ width: '1px',
height: '1px',
bottom: '0px',
left: '0px'
- };
+ }
}
var x = null;
for (x in s) {
- if (s.hasOwnProperty(x)) {
- _s.oMC.style[x] = s[x];
- }
+ _s.oMC.style[x] = s[x];
}
try {
- if (!_s.isIE) {
- _s.oMC.appendChild(oMovie);
- }
oTarget.appendChild(_s.oMC);
- if (_s.isIE) {
- _s.oMC.innerHTML = movieHTML;
- }
+ _s.oMC.innerHTML = html;
_s._appendSuccess = true;
} catch(e) {
throw new Error(appXHTML);
}
} else {
// it's already in the document.
- _s.oMC.appendChild(oMovie);
- if (_s.isIE) {
- // possibly destructive write
- _s.oMC.innerHTML = movieHTML;
- }
+ _s.oMC.innerHTML = html;
_s._appendSuccess = true;
}
-
if (!document.getElementById(_s.debugID) && ((!_s._hasConsole||!_s.useConsole)||(_s.useConsole && _s._hasConsole && !_s.consoleOnly))) {
var oDebug = document.createElement('div');
oDebug.id = _s.debugID;
oDebug.style.display = (_s.debugMode?'block':'none');
if (_s.debugMode) {
try {
- // var oD = document.createElement('div');
+ var oD = document.createElement('div');
oTarget.appendChild(oD);
- // oD.innerHTML = toggleElement;
- } catch(e2) {
+ oD.innerHTML = toggleElement;
+ } catch(e) {
throw new Error(appXHTML);
- }
- }
+ };
+ };
oTarget.appendChild(oDebug);
- }
+ };
oTarget = null;
- }
-
- if (specialCase) {
- _s._wD(specialCase);
- }
-
- _s._wD('-- SoundManager 2 '+_s.version+(_s.useMovieStar?', MovieStar mode':'')+(_s.useHighPerformance?', high performance mode':'')+' --',1);
+ };
+ _s._wD('-- SoundManager 2 '+_s.version+(_s.useMovieStar?', MovieStar mode':'')+(_s._wD?', high performance mode':'')+' --',1);
_s._wD('soundManager._createMovie(): Trying to load '+smURL+(!_s._overHTTP && _s.altURL?'(alternate URL)':''),1);
};
// aliased to this._wD()
this._writeDebug = function(sText,sType,bTimestamp) {
- if (!_s.debugMode) {
- return false;
- }
+ if (!_s.debugMode) return false;
if (typeof bTimestamp != 'undefined' && bTimestamp) {
sText = sText + ' | '+new Date().getTime();
- }
+ };
if (_s._hasConsole && _s.useConsole) {
var sMethod = _s._debugLevels[sType];
if (typeof console[sMethod] != 'undefined') {
console[sMethod](sText);
} else {
console.log(sText);
- }
- if (_s.useConsoleOnly) {
- return true;
- }
- }
+ };
+ if (_s.useConsoleOnly) return true;
+ };
var sDID = 'soundmanager-debug';
try {
var o = document.getElementById(sDID);
- if (!o) {
- return false;
- }
+ if (!o) return false;
var oItem = document.createElement('div');
- // sText = sText.replace(/\n/g,'
');
+ sText = sText.replace(/\n/g,'
');
if (typeof sType == 'undefined') {
- sType = 0;
+ var sType = 0;
} else {
- sType = parseInt(sType,10);
- }
- oItem.appendChild(document.createTextNode(sText));
+ sType = parseInt(sType);
+ };
+ oItem.innerHTML = sText;
if (sType) {
- if (sType >= 2) {
- oItem.style.fontWeight = 'bold';
- }
- if (sType == 3) {
- oItem.style.color = '#ff3333';
- }
- }
+ if (sType >= 2) oItem.style.fontWeight = 'bold';
+ if (sType == 3) oItem.style.color = '#ff3333';
+ };
// o.appendChild(oItem); // top-to-bottom
o.insertBefore(oItem,o.firstChild); // bottom-to-top
} catch(e) {
// oh well
- }
+ };
o = null;
};
this._writeDebug._protected = true;
@@ -763,14 +599,12 @@ function SoundManager(smURL,smID) {
if (window.location.href.indexOf('debug=alert')+1 && _s.debugMode) {
_s._wD = _s._wDAlert;
- }
+ };
this._toggleDebug = function() {
var o = document.getElementById(_s.debugID);
var oT = document.getElementById(_s.debugID+'-toggle');
- if (!o) {
- return false;
- }
+ if (!o) return false;
if (_s._debugOpen) {
// minimize
oT.innerHTML = '+';
@@ -778,7 +612,7 @@ function SoundManager(smURL,smID) {
} else {
oT.innerHTML = '-';
o.style.display = 'block';
- }
+ };
_s._debugOpen = !_s._debugOpen;
};
@@ -788,30 +622,24 @@ function SoundManager(smURL,smID) {
_s._wD('--- soundManager._debug(): Current sound objects ---',1);
for (var i=0,j=_s.soundIDs.length; i Flash either.
soundManager.onerror();
soundManager.disable();
- }
-
- if (document.addEventListener) {
- document.addEventListener('DOMContentLoaded',_s.domContentLoaded,false);
- }
+ };
-} // SoundManager()
+ if (document.addEventListener) document.addEventListener('DOMContentLoaded',_s.domContentLoaded,false);
-soundManager = new SoundManager();
+}; // SoundManager()
+var soundManager = new SoundManager();
diff --git a/telemeta/htdocs/swf/soundmanager2.swf b/telemeta/htdocs/swf/soundmanager2.swf
index e78fafae9609cf1df28311373ae4c0918a653e58..98ed98d5eb1088834f49de897b49a6d851160927 100644
GIT binary patch
literal 2435
zcmV-}34HcLS5pY%761Tv+KgCBQybY8K5AV_jj@>+JXSIm9tJ;v*d~r0Cw_o=2pcfa
zk`aDP99wBgjcB{+R&}>#%nz8#Y@+N`<;7G|smf+nld7z;&MrS8e;`%aW}71CoO`>~
zVvIE`TKDnYbH00C_g>xtOas850M4hNs2$?pP!ZapB)jB%9V+A3w)QM}Co8i5QN0o`v2F!jR
ziKFjdK8<{E)nzBVCq+nch_4(3p|uZzRc|BL0|-pFQS;vJ9JDOd5LjU)F;H#T0c}|B
zw68Zk1NA+t{-*4EP2UOva4feO?m^QEmk&ZK*!0W>8Y=4Ucp;jg(e};I_FS}WU~>a$
zg-=bVZ3R#x92yaV^%am%c(-Cf)wi||~UtnuWoT;#dLTFsIK99dtv33lTqw0y4xtu~_MG>!RI
z(?)ChCAaA9w;U_9Z~@0@+?QY_pUhj1c8D$oLWz%+&>jVyICaG%hp
zgtkgkQt8Ml3e9OKQvZkteq_-1G=E38^DKC*^Dzk)DA*1jvU919{gI>!jTFp7cL?+|
zIV$t|$@zRw!N;s1b*zGS8a(F3XZsfC8T(^K{lxek?kbPuMOsPyWB_g2Zt6ahKPSzu
z&A?gKQ|Reo+rc=)#wBcM2ENj|8DPVsS}mXGq>~+y>}2v?#9||x9L@1ovP|$iZ9=E*
z4zt;EWeLDd<%GUQMm(tzFjt5diJW0bnL|>h$m*YNOIE#+iS5`tS^YC(6D1A75vDvh
zX-KBzv`tbt0o+M*XAC=8oI&6PHseKOor9+YaygEo!7d7|)YU-7Eps67@6h*E=&PC>Z=xgM&k9UIsOMMGf=l
z)oApp5!taB6BV@i%y0x~GSLl)$5GjP>0KK{FU#~YsS*aszy8NjIolbHQo2@Y*Xwlb
z{u4+Jani>*h(!wB9tT7U10vD+bo(fw)DQMkBswwy?(-Bxy?0d7s6**=td5`kkot06
z<{s9Uf5hUK`;u=t4)K)!bK?p2fDU8Qmw#>o)|js2c^^J5j<~adSIfBIk^FQlm-S
z!ru;M(5K%|{})U@{h?5%gjGuns?*oC5;M8gIYq9+y2IC-D)f^3a)HD$KGhXBp;S
zDIP-Xon%#Ee-ER5*{z7VD^prf9*jU7dl~(n^6y+{3j2_YSOrhEH$l`Y^1#p3mfE3L
z#;YB?gTC5;@=nN;D=J(`)>)M?*Y)d#l5EcEvr+R3=27<)*D1*}tIzjx4CMBx49K)j
z)YE$$7(hcplNP@`&~qWNpo>nTr7Q`*a+krI4P4r=u1g`vUOQRY?tG)D{<>8o)-NF
zOsRXGCNAg~rP@jPbB9%M>J&=}Q_9ourizTBOp<7Kf9*3RDat@}vZm!()qkH!9&+)~
zD$4PpC*sqWPuP3VJ6nap@;J)Q0~tozL>4Q#Y=uMN+e7^PBoSXDZ@Kg!`h@d6ErT@aiAQSH
z#?e*yd^Bl3KNyIKZPv)}Q&rIw7=iLg)oP$@qGa;|rO7qClOSd|ln@yRPc`5Xa7V
zAwE{+Bx%FcNs3qSn4HaR^fJx_!^w+AzR=@=VatQ?+x7TJ$OE2bN;4h
zP7H&T>^+_*0eleZFJl0Ud(}A|C&%-B=Lx=n>l_SK^(gyo@02H@QM#Io(%>BWHA)q3
z&FU`-lm&X7mM0euNA(s_4GhKjrtw1igASQ%NKf6`<_ZK(>2t^3a;$B+9ge?Uyk^P6
zkxoOk^!^8ya&=U=2Lo`c3b#4{x2AAw18}z$?)CuOy27mwz-=hp#sJ)=!fg(~jVavN
z0Ngo+J2wFLs?a?Fn*M44Y(a@z7=SA(T=7G=A-v4Uup67t%PYI~K5WyVtQiG-I?95s
zrPVcy?($s9LEob+PvvFD?xo&-9nPr#s!&qBmPrANrBe4J8T1+^AG3TjpNEC?1~$LG
zgi^M4mMX>S*3!BG;hr5F`Ij>P1Bc}jiM;w(O_WEnRv=A0qXGU8009600|1v-L(;Vs
Bx;6j+
literal 2433
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
diff --git a/telemeta/htdocs/swf/soundmanager2_flash9.swf b/telemeta/htdocs/swf/soundmanager2_flash9.swf
index d10a9e5e5286eeb45bc74331c5d8b6a37eec7a97..14e45788e2deaa32b7daa420dd8b34d48d8025bb 100644
GIT binary patch
literal 8079
zcmV;AA8_D9S5pZVI{*N9+MPQIbQ{NY^Jf7J763^Qq^R3kTQsSIA}Ps|CEAumOQa-P
z5@b<_Wt$`xz^(ub1Q-AmrJRl&-}ezYabiclohWwV#CDvcvFkLg)5Hl#)mG}HX_6*w
z(k4BVHb+zS|CwDJq@34RKF#j@nLmI2{CgJmQRewEWA#rlHV4?2#<`5K4>Wxf7`rr|
zw0rh!={Js!X0nAIgf44O6^mm%U0o9s6P**QJ9GI%T`SkGU*FZes%zD%6^OB-a4cIi
zkFLlT7PoJZ1h!a(L_R%MOy{x&!Dc)+Uc9Wm-JzOHl!=aw=QEOIGSOvatWhglEOf2x
zT#1B|i5@$bA2o{`%(1adI$;vIuA?gosa)dlgn7hTVQ0)j>e8+XBCRQ=iy3P}Z!#CR
zjQ)&u)L3owR@O^wg+j>53ZomUj%m{B&O~msYb>8jjwg^O8%fE<)k}!P*myjXE~Kpd
zhVks-Y;HnrQ5hwiMBXxsxmpZ&jOH_D_RzR_$lB1iOU{*H$)j1cHbfIeW7WkS#;We_
zb&3rdy|inZw4D)D;0CrO{4?!Rwwd4b@u#m2XsBTyHjVuaYMK7VZ@Q;SB
zNNS?fIzsC6_R-51jbCRaigRm;5AKvOZ4w!@665)F@mOCzpUcZNq3zKM(9nx!m8ih=
zyR711(JYP^6#ZS}qj4**rL)Dx83(9S{3O$bv5a}lH#mm-Sl(QA`SVgOTOdZwPH$a&CbD8l`%hA}Vl}wvnNjhk~Yl~SlrE(h%S;Yew
zNho~KU}&NW&@Vq$v?Q8Hrjt@0QZJ3wNOInv9M8+>(u9Zu57@GRSfLgv%?)M^BTevm!+bQjM_Gm
z_W5<{cPTGCGaxNd(sY2|!Uv`HNweOD3%o-OE7k#b+sqS8T5qI=~tB9Bf&u<~T6
zXi|~E8ADoO`<5Wm-EEnNr3g{JYL5V(ytv=Y;E8!*)TcDb6A4}@)=N6&^LeF*=qO2b
z9OVp~QzjlH6B?`nd`goIqgK(R&NeffMDOtwP`GvI9_e>m&X5-&t0+1h$HpBFS@nbT
z988!QYiBNL`FBM}1~>Qa=+g`CP(WhzX3~eU{=L!NBRl%~_j*kN>z#P#_*G-ybO#Hf
zfp0c5nYfua9FXoQt=zkJ`_8^SVVsoU4l?7cm2bGFeWcApq4E4q3NN?2IJ`Y1!>vI^PRGw
zQW9W(>B2O;wktlK&J@#G$E&fl3CMMOb44@b%UIb%#T37$J={LjIWmz-XDsq83{qZ+
zHETvNCq4O#Ih9epG7f{~%Snsp@x7w3(<-KNNuJ%p<2yVQjsrwGC*$rywZ#s#MVB*b
zSVRTMjycK5pRw#Bd8eLFA4P=#r(z5;wvbSY?ATXI
z^krot){#pK1D2Jn9GEmj2}rR?aVjq3l!|M0xoT%_$XXNCVNFNa2~YXmJiD7`b_a3D
zjVzFc>$G%owP$R+kkZu#2)4=`Pm(+$X%0nK%3GU-0%ioVuu&wISn=ky6R0;2}Q9EmxI3389(-MYvrzR)ixP>i*L
zAtOHrcLi@ElPg$_^3a`S0zG(sGlNu<#|$-QB{#0Ans)daryylys|$>-tZN5`Bt5rk
zRRU!#R~(Tgg#>*Cx|LbJJ$-}QukP!sssCt=ste29sFNfO8!Ks}yj52X3mbz9Ycocl
zWV@tTMKCd4Dw3IvTW0M1e?OyvDmJp{qRu5MeH4QTg^S)yMjS~O(inrnRTfR9jj>o=
z0%)h1rL1A2!mVU5yR+b$uMe{WmWLOrn)uwyQ1xnISk}PAxKk51ZjmXjYQ!IRZU#CQ
zN~(UF(_6$EU`)D!YxQ_t!O%qArdk`76Y8py4a~|>T2e2LiepQ
zCjv9?o?Ncz$sy>^Mdd}fK%;o5e8aRFpsuFWXq-`)w4A%1@g0#Rx;AEJMM9ZFgSy1!
z(1?#wTnyy0JDp0jvFg^*ql)Q7CQUb73^x|;)jOU{=UhM**m_|U&yXVZQ0+*fX+T+-
ziBvhfEG3kbqKEa&khsG!ETldzq8>D*n&0+H@gq>Tbr2WdNPB_oQzBvvTd0_g&+1#60~
z)Y1Uul(8J%9Sij;V^Zx-CK4&6aub!aQ8x0R`HXsVB+~#TNTrd6X|;$>(V-uWu{f)I
zb0HUTjdfm)GuNQh7iumZ3tOPY+Y+AB&@!jxvN`^i?Orw;S|(a<056-@Fz+UqcQeep
z1?Jrf^KOHA!hbvX@4zYlz0h(Wq4?)L#(i~l5b)GDgc~DG&9hn>5aKR4d(K>dkPh<#
zbAnvVU(nR7>kyEgmixH?{HF=<2<{Ug1o#El1rG=w6g(uLPC&hY2B9?yhzMvB&@5n<
zfEEF>g?Fw%j$pok1p*cdI8VSL0fvAJ1S}TND!dm8XcN#bV2OaG0+tC_E}%oe3IUx0
zx&(9!SSetYfYkyn60k=m$2z<%LBAmAzi2Ziry0oMrMwE~6&
z3=0?$5EEbuhzm#vND7}Nz!q>wKuY-10*x9q*JE6N5P^@93LZkFkAVn$
z9NWX#9>GTNC$OEwxd*V_gYAB7k79cQ+mqOy0{uy(@f5Z`u5aY}6G$!aEUtPE+h?$S
z7TfdKK8Nk|*j~W)BIrA~KA-C^A@-avAe}FR{uNsJCpi06Y_EX66~Q6h=6Z_juM&@c
z2KsyP_2-EGI_Te^p%V5dvHcacH?h5i?JL+`1^o<>dmBl858L-a-_7-5u1C4PkL!cD
z^hb#HcR2MA*nWmBBLe$H;O98{PuTty#GHS__rGKN6$syd;rln(ehd0uqn$$t~Y3cf0PUDA#5MR_HkVL32Z01{wVhdcpUprV0#kVQ`nxy_6)X9Vf!?;
zXR$p;y7iz2kmU2&K8Nk|*j~UE6@g(9*oRW|=+APG{v7wr_v-zK{bii}3TXlHT%1@JJA9S#^BBvd`5;S%r(TnRqEeCqNU
zAS|68vgfCVj~2`v(?APyn!*7OXc}&eG&Q8`$7hJsAEC;vkUNG8LZR~JT97uRr{b17
zGm1&)&(G?JFi{GK5dHcOR0fHuG#ot`Fl2ogrHEI6E~tJiVI3mbq1
z!ocP<0$Uhitcf)QHbrWOk62>lNmr0xrjICoEX?7E1
zL8dtDC8Wz4+sw8AThm8SKd{xv#EPxJF5V_rZf7jS1{k}7$*p(D!JUMQtaa>?V3e`l
z>`Gu4?O|*%6xz$!KDM8*56J1OfUP{pn3rA6SY0S|4Y0M>5;(-zFdG53Dn{f?#^NkN
zEGL0=S+v{+ww$r0j4y#YROveKc^IrGL({cV_g2&tM+Jw57PmzgL+nsA#c+&!cp&sP
zl)4Wrd$ZdD<9cHhhF8ZHbmUH^Ru4z^vs7fbd1%(aES736ZD+A`>^l3fnZfs{oi%f@
zv5t;dd-Po#J1b)ysm-{V=6lCX+!;aG{osGbsIOnHQCmTMlsaYaXm!4Kq7w-
zPDaNeyig7wm%~RoZUlSc#<%4Bop2HfaU$g9pa;UGZbZC`5QkT^r&ge_eO^zX;U-SP
zeoG45JBoa^vQbSwJ@V>bXFr1V#c;FLoa?}?aLlC#fAgK(}$aql%1Rhxy@hLJM>^7*bCfB~-
z{=lgdk@Fc-5RIE3I47YnB9*$Qy02!-&MfO*J_;y@kATH9(0@I!lPHjder+o(`yu=U
zJ_yIbcLRn}FZ&QWdx+hLK|o_S0mHC#GrDw$-GWXXVnS$vhF=6KhUyy?QeGgRGvqi<
zN2iysjBH#VAN5P=>K3$*2Ivu_M@TNKLs3QSTcI#oAO5w6Ax^A07Qr*s*%S7JBB5mI
zjw)#)Vn#Hg$Aw??kZ^?E7eObMnh|!?z6~it8M+-IGTe}aHyvL_D^XR)`$OQWmhkR?
z3x6galNv^NcH5~F%OZ}3wO00-Ws!gar2bDuZk2iwZRTt=Mpxm&-Y;1!Gg9V(sGz2%
z<38qeH{lKuOlqxgJdBov+@WPFwN8>+-*VOZ_%yZh@YRYDd-jRrWm|&d$I+UEW1q(>
zmZcavSY=rV(YRw-x_dx}-|!!pD_2t~Q}(MRTr1yOVWxmH{>UMRjNiT!s+>j1`aonY
zO-l-X`!1;mT#K*ArBOK(ch^q%!u7PO+VH|YH6rOk#kKhVUjVf8k+LBmuSX*Na+%j5
zbPqH|s_1yldvJLh*}8O7Lb_
zQ2%oAuJYomDvNn#@iXUGyvtp@(P8sGXlkxv6DQ33B%?tIt#{DwpN_WPykDY)Iz9;<
zp91omuoKdpB@f_WM2E^EkNE)1^zBowZ`*xsO=#9-g%F)UWENu`PZIOqj;HA5+sBWG
zF}E1U5ePDxv5(52{tyQ8Ap00rhMdAV
zgxJTiq6@KyvFZy^;O8>%>l*WGTo25_JnclLNy=FmmRcFIiz!t1VU9k4sdavIKAWV>
z_|}yD2sC1KHq~Z+0^D^|POh7>k4@R{p0eMAaR7_jrBn8Mk5>i0DVIDb@&S)G(C`D8
zmZ6R7n<#M5%OmrL_Z-=IKT}xp?P+CaWS%?;#}l3~)@3O7xaahFa;=jo9|b69*OStc
z>eC)LtG%ws|Zd%pC#_74d~?Rgw2aKL^6HbpA1
z-+mD`HM#JBoR{6@IEHFMW5oOLtQkDD%;0JE44&o?PkY~ir&-aLpoXcIssYK>?D9Yj
zTQ5O{uelyypz%RjyeB;F9#iD`r^)SIFZuJe7Ug?2
zrJ7gnG_*!ul-59ap1T^VR{u39T<31!)E&spky^&K^7lOikI0zv9r!MMU-mp-#OM-a
zU&83Z*_Sb*_?YsfNd8BZ?PI>QD@mI_cb=))RLEip`ctGI77pQLC^Od0P>-6-iqW
zvlSWpRfsnFYmX|GsZQ9~qbfo-dG(gV2jwY$GKgZg{
z%l-oE6ls`V*Dx38-aym0G%~|8H7;HyYD%Y?w5p+(z?Cru3I$0SBNU!XhdM1~>~YWZ
zk4nZeeYcxC=~eb{t?c0%8fo=y&+a=xeJQQiF}q&iP=+eXzik-FGRNwIu1vp-!
z0LM!d;CP9{t@09QU)M{tikEoGUgA++;!$4WQC{LvUgA++;!$3*Rcqh8m8{@B55uD}
zD!lt(omoJy*_PE~hAYKMLo}kAWXa&4IVDBk>?DLuj
zCu5Np8u5x8i%e1th%xaz%@b&xE}O;uvrPR`_LXLl<*<7j8$
zIWvpW|A0y*iYC?WV52R43n~ksvf$U%3ocW48tl2|%N_G|SMtir|17Vh9Kw~r3{o0(
zuA5l8ReJ_L3ol3ucnf|6Kb5_k`N#MtxN8;MM;8=LUQqD*qO4*O_visEF_7+=DZ0wV
z-hk-0k&DZy^pqxX=CstpX_N?h)@fC_owoPTw-0=^o8N)3>`G~#Mnl2Yi@G*6EG}My
z|3`7rZkC`@T)1C5;JEp6Wmt1+4)?b4j>W?7-nm%#<8{LCojPGFzvj9uN%0|g9G+HQ
zHYu-nD*sPOsVaG%kM`a0Q+Nmat}$v<_|C>_lo7Paz)41DI972`*@k@wsB>~9_i&qQ
zx{(Dnn5KPa8B;1EJf!B^%cSee26tLTNhk1d`T4-wI
zWf8K0*xDnJr80J(mEWKj4H>be@>_XoQEZX?PTq>iIJPJ{!sx4ZY|#;S;R&i(>Ek!2
zuiT5|F9ql;3^;2er5&!(+0YpnI0NkZGoW;)vS16+MiMv3s@nO?!-qB#G_V<>-$lPa
z$7kXj`HauR7xitIV*6_p8*cM;DYtfkY`j$UCH-ws7xnLfx~a>=L@)UdpoCE@82Nl5_A@MtycGXLi2Yn<$R+d>
zxU0k
zrP+shYqH}JJ|p3F^cfu+jeUCR;P8f_bpz{IYC~ze%t?^CTBfGdepxrAEP8oT2V@DH
z+D0#5YF9}bvWAA7y1dlNQrk=Isa|X`Y_m&7$|O9I>MLO=`8}#c7E7sXOG8%-T)|QU
zC40b#{tG~9Xg78Tc0(#!vZHP0zv9U7z%WYezA4yf}3O$67rQ_z=eeJrG#Vxlb%Ab^kGT(8xM8
z%_o9{cJ<^`e;41z*a{6-Hpx#nZ@?sd1G$kqUvD}Y7lJxnUa!z!^O=yvuI?*_{GVM0ho|oOu=`-RTs6sF6
z_MjTB!0hz~(zv9(l|}F5T4_HsH@31jaRftStN-!BTjBHYfF*n5PzVS6@8YcL=M<`d
zUxUf1S>Hc<7FD#enq;D_LUO$%nV3d$J&{cOagwWunFd%N!(+#20qb%d$=?5a}vAA
z;}xO1VfrPLI9W#YFKcU>M>^?v6~`?4zE{hI+7XdfQ5ZD1ca_m)cb
z!O7O-8ADG>n)^OVdL${i)6k?%o22QnO`0B?cAKtjHldq#yKT4GZMW@q
zk9N1mcG>@*dAe-UZ@=Zs=*>U#&p-eC_l(;kO#caEwNEfM2Ut)2T*lZ38omvTU7C&C
zU3+@^LPthZ>0B2=m$fGH`LV8!j){qh_KDT)ne4%imFw59@913Bv1-){#8{C#n$DX?
zR-|)_TQ^7oJytH3O^)T0nRJL?GnyICU)I{{P>sh*M90RnDM>OO>#$PRsFlv=I##x?
zL_+acmz~Lun)wap*jOqVGl^WskrlZ_CU$7TJZ!D7Q)Vu4X-656*5s4g-&n
zxS+vHJEjTS8A1JRU_F7KX_vAs{DudfyvnPgg5B6O_IIdc`WJoRoBDa!pYjf5#?$eg
zW*Ya)t{UkcSj}E;{J}cL2+_`(qt;3mVC{@IGWIpj^uw8CTx`x{QkI!^59G7S^g+K=
zM7wpEwCC!jk2@T_){5olRudoCDPh_qIAF!bv&sC?-fT9Lm23Rl!)2hZ8?7oah4&p2YKm#cOlwc<)wJ~?V-U4!)Nk7vpf^C=EeDO66=h;<}yWz%MAdm6vC
z8M6khT;7*S6Df&a7td5_!>#6Al64pIoEfW;TS*Fs&6GZla`(kEC7pD*xFPX*&;Kcy9$9mT|
zp3YFrq^-Pn@17mS!4j{2JaI`X#z-b@O9HhN{f-W1&2)}-twXFzo|~?nwqe+|kt9#Y
zYLFNjRoaqv>cMsUl5s2JmZFUt_|tm@QQ+yEAr&e2B`qo)WF)#v{s!gINeEV!3>8f(
zI51;K%Wd!RA>G}Uc}R*7<*WAa;>q*-%oLuO=SJO1lROsVxqPjpQ#zkZdWeCNRL4=y
zuq9#QK~nyK3c#&2SvP9sP3mkj({c13J%_@rLH9_$+j53n2w8d2?l?B?aL}q9px=R*
znX-0f;+AJucw}Hp_l{m8R~+(6jP6wOVA?Yn-aWFTw{Os85?JfRJIAl;d#5{?4-I^a
znMy^?*decUPif_@!Rei96bF>Z_OZtfZ(yow>yrgO+6v}5p
z{R5%!<+IvnI&}E*73cQyB}fEU&coEi`
zX5h6Q(eY#|pG-RrjYW-Dt{cqc&6GQ3r4Qy4{OZ;~>rng1L?W58$f+^wQ9kxd><$le8brm=C%dSfX1?D*)CrJ*Io;1CLcl@3Kaz!!vAOw`=`oBpvq~Yjee<|&TiN!$@l>j5#%S;8SpH}Q@_=O>YTuQ~C+(ww
zbXAGe6>2D>?M8*P58!DQP)I@5go->%!I&W#8(lIt=sBdhc-q=N)GESQ3y){5?P)9m
zlJSKz=u;n=>64kZd*HyXEhD{q_JsF%cl8dA3=DP;?j7)K534aZ78xkx#rw@{8X4*e
zy|bKGR8~}^<1%Wo8bGvSIp9rWL{n+dlg#aw=?<_&A-`C%R76$nTA#IK(MPh7hYtnO
zP(qn3<})%L=|!HRD%UuxyF#(j)@Ck;$$%`ZBj#)!lJO^$PZoF2qfcRN!RQljl@u!o
z#->X}GPAK~#?JruGlo#bp)|UvbAL)6!5~86qC1rmhm*M^#-KojMN?H1TCD1S+G%DL
z8?sU1R@|4~nJb#F8?yseh8L=G_}t4-^=e^2mcPWfQx4bn$P`yG;)yz!0t0I#Rl3dT
z&SMQQCf%TD^>|ak&_vyaY8#ak>XwuBA<&bFjnkD~V1E||F(3K^M)~~-EEaT15?(u*
z&E=(1yk;KrTNIN?&KsivT9D((xP}$7hbsMTm>={6{~F8Ql{uWyRjb5_z|6ZR
zlgaBD1U;FsyaVTG6c3fHn^ptVRFxX_GYXTYbJsKO!?HTp#>}*cDRZb(_qPlh@llG4
z-b{L@Q-s!6TsXQ^9UV(0>2izV#=^b2$K%ON5scLU735$4?l^KOQD
zx4=B%xfMLO;gsiYXu5|`Jo6sm?wT6#>a}%&`d~xjtfo4IcoCdEXD)!>fO+0IJ}%}j
zXlOJH@XAipy<7nPrwPyncMA{#Jc1j7dj~nCp`NFTq)pya9<_hYT>>{z>t7p0V4t;
z0!#r>0Wkq_;kE?W0uBmD2zOGzwE_+aNC_Af-ev)50b@dYmw>Fm0zM%8AA#1k9NQCMJdQM;z}Cx+jof$)sd=BlRnKDkG`7!Rdk))Y
zv3(BP^VnVhV+S|pbK^zCp7VL6^Cd98Oe_BaXTO5&WiYlPIAqw|NO0p7;_>TXyca*;
zMD*9d_!bQnus@0IZ?L_A?M-Z7#`X#rXNcTeNb398egMX9ZVYoH%#FR=7{H}JMznvx
zsei)uGi)j0-6y<1$I)M4`&STi{tdtXj_o%f-2a8&-(mYb7=uXn3@-R@1pfp^lpB}h
z$OpOb97nPr!u}0h%)JrYO$gu2jaxW=Z^d>Sw%fUJ8|TIy*zUr1H@16l-uq!}C$Qa*
z?IYZ%(**x07uv_LeH_~Zxbzd)PIBX6t_ye+`;TFJ9NQDvp2YSPwx_Xu3fnW-o+aJt
zr~xGT9JbG5`y96Cv4w?qSa|oM6m{bnt{cyCeZI@+L+mf%?3YOsNZ~8kUgpMwi0}~Y
z`YJa(+Isnfs$Nn#=Ne}o@OpuBH430JjvWpd9VApaq~Q{93tS0qkNh>{ua~e4`jI^k
z{kUnt%rOl#AEzlC&_UC1W2C7eWe@)PIsGG4xfOE9aDm@n+FbL|hV-kr<<5*^()s6M
zHAI*wd4(VUc}xG~iOR=Tyt&j5mtq0h0C#kHn%u!h7`~F=aH6Kxz#T8F1Lh3?n^O;L
zVUV!~*2vf_)|HX?bwbAZjA3#?@xu+V&9VgVlLd{_vq_B>$jMT~{~{_}y=T>$LD
z#lZAtV4e$s)wBRJT7k`90&LMz#+HG$99W74|5~~I#lRN3*BOE>TfUyS>jKtEjIm1?yOdofaW*ivj%}pbO^o@N;;@^L
zHZ!(`^#EJbOHd!M)yTw(t-vncCRc7}%+LB6yPV0bcgVq=go~`T?UG=avEA$nU>EIS
zY{2gyWNa_nN7(!2^p(I?9$?JHu41gl@4p(@+G_|LVr-a=09zFyawcO@79*D9z&b2i
zZUbA+*iy!qKn<#N9k_J{>&egztUGBL^#MG#59*?co!5pBP;6B
zDO$Hh#_){qJK6UB$&;a}@VMTB`qMSU=`M7Ju77i~r4fx{sH5!|ggZbYe-KWF$04v#
z4j-4phuf|Pd*b>x<^1h%5(#l41BFgRyn_&jSF|Qpps?L8-CK79Ct<%Sh3y(e
zKAYL7CVzGL>%xiaN8J`o(uwF8_7R1MeQqDk5w`5UJ4Z`o_dU5~^%y>uO5nW+Xb3d3
z98rs`Zu>BtlrwnX6L50W9T`Iqw@4wW6w*k!Py_@XUKVsKGCFqaR9BO0-*125)QRBv
zj46o5%@3TDPymq%ol~7xv1MnLbuJ$Tl*32B;wk7m2J9pXWT8jf3d?>3KZOs%ad2OU
zq144bgwF0~*JBXS*bTriEZvAM?PoWkQ~Q|^nz!zk-m;;(M}?FZ$ln=q9H*nx$6Z1W
z9gB{7q;w4nT1UO~IrwCmR407UcjwJBwZ-G7XSYXfObAyG6dxHaIjAKu!A6&G)G*t`cC8Y|eu3G*Jws82%c9khF=qpdgZm1zF9PeR+%KzySJqQ&AOxzqT>zDVyx|PV&2vE1by6l`SAeeme6qo
zd_kYX)W-6lzcjes84QoR0)a}(p->3NBu=+2;%;M}L7{YxFgSv3DkIJC_F%0BB_HnEXIfZlZvj?!E
z^RoxB>hn|J=Q8jc8uMt}@Xo`#OJ8EE^q3^p~=%GAhT%^3L(#h!qyAzue)kmwcXzYC2WD7{v*8!`Tx
zipNPi9DWYa*2BoqX923%R3a-bo`O@$>ireF%@{Zhr-JAPg~@O;9id*s3x{{;{K$1M
z89tv58&o69<;ZdxX;32z<;X%BX(YYuuF#7VdpKg)pMy>HPVJ4b*M1&01YF)y5N)|$j#wu#
zj*op2BMxU@!YJcr$~)&3Rr;l(O6MEGTlbfU^w9kBB
zslVO)GL(S*=3kV7ZRS_Xz%KLUGSF*2R0ejKufWhsMK`<>hU#T9f1jgQVJq^sB5W&?
zwjyRLGWIJFuJ=?QRcce6u)a%GiN!P^eUKoG%q<8xs&+|3aTitn6QydmQ(tn^Qmh9t
z+ZJRB>r`n=T5$MP0F{x54ph+j>9kvdJFwGXM>^j;hn-TLdqvT3T~s!f>AWp-+sU?n
zoNl<1!&X_y=q(KlwX1!Lzs-LxYnS`AXSC-u>U~f9t@eA_6JL`C_;oZu&c1;rsj+Wj
zz2ahjiM5L~Ojpq`7Z@&Y!*?_?!!uQGUmTFO{2
zp6Q>JjAcr1HFwgdTCZWoy}+Ri6_kJJ81k>2IzU$ogL{?o
zv~WO{ADCWVbN1+$w2EBv3R?eC!KJ+;7?cU@*PyC*&E6CK7Lh1=iC(Nx94}FQ$4eC8
zc!>fWFHwNwB@VaBOPqa+UZRz~L@#-XuDnE7UZN{6(Uq6z%1dz_hP}Qis8ff+e
zVKvefM8cRfzKwRulx4{)fmXaP%=*^Zv$C`-S|?Z5S+J96YjtWqWN;ie2Xi2dF6kWR#Fb(N?;*U
z8g;InSh`hv3O)nROAB}tehhER-i`d@{1d!r72Hji7ENAS@JgesViDI3FP0rh_skSs
z?;@{5_`Ar(WmJwzlQ?r)YT-0W1U>7ts^(7Hd+0p`Kdt6pLqK+=G*6?UVCzO*hcqlW
zUWNZh!O?0Kpj>biUqIlv`BHgUbLx=d4dflGg+IJ=weaT)g+Drl!d8CuwP}*#$KX+T
zQhC{=yz;61KP9EAC^;at+Xpw=Fj4tF@#Q|j-_HCff$(7s#
zEk)A}E~vsZ?b}P3QW1e6HQ!nyU0X7^(<(|jfrrZ{1*h{8m0e}QoWt(_2Z|4%FT-o_
z9Vrj4>`Teu0*?2J8X0NqiK+14NXK7XJ@|$kYzFXp-7?K1bfJzV@SzIP4X-6O5^E!i
zLZ_Am$p#{84+odZ*nL*MOD`Gwb+XcSo__ey7J~Y>K=^y;
z_vd&zzMju`I=-lPyA<2sqS$boZ%Dbd3S{HOir4kGKwaLy59;BUVc)&yVIOo#%y=-
zwQttFXV0EXr1#Af>6*LveKOXGe?))$J~$5n|AZ1ov0&tL``OR1EOJr&6Mpt{nIV_Z
zpDmZ*-T0p&;_8h20y-nV#P%y}|AMU+|GSbcl>ZVnXroI3TyFK(sAUa4;s1@St71my
zISYFHl_HJ0=}1vQB8_@RJ>@@8nM2Y3C`*{bmkeFne<@2`GQ4pgOKcpDDKIv?9>Mj)
z2P)F+gSDAniH}Vs~c`{JGz*T@l(=u=1PUl97e=l-pp%kvO>}1>Lr`7IcBfdk;Wyh%`AL7*9!ZXxv`nOfg>0in>~-_-VB_F2Q1hdhx|C$cL!$`e`28u
z_*Iykn)QRTXHi8fD@n#$$|ToIlCfzd*AvOupC`GBNM1w6(i>clmR#X)lk^T#zua#CvlI}8n{Ir?ophPPfYA0
z-6i~Y!t_ffak7l)U)Itvk95-Z3XWOy=2y*y+PbomCY$4rns*kDwszXYUB!uu
zY2sq^xM7^K5ug4}#ruc(vEeu9ggz<3N%L+_e?u!^Z6;-E(g-eJNB_&4xw!luUd%D;
d@V_g8l8T$&2OH>rgEI5~`M3#3{}(t-zYJGl*tY-x
--
2.39.5