diff --git a/docs/assets/AudioEmitter-BuCRagwl.js b/docs/assets/AudioEmitter-BuCRagwl.js deleted file mode 100644 index 352ffac9..00000000 --- a/docs/assets/AudioEmitter-BuCRagwl.js +++ /dev/null @@ -1 +0,0 @@ -import{c as e,d as t,f as n,g as r,h as i,l as a,m as o,o as s,p as c,s as l,u}from"./SettingsProvider-DVIFsPwe.js";export{s as AudioEmitter,l as audioBufferCache,e as getCachedAudioBuffer,a as getEffectiveSoundRate,u as getSoundGeneration,t as playOneShotSound,n as resolveAudioProfile,c as setAdjustAudioSpeedFlag,o as stopAllTrackedSounds,i as trackSound,r as untrackSound}; \ No newline at end of file diff --git a/docs/assets/AudioEmitter-C10MNZ17.js b/docs/assets/AudioEmitter-C10MNZ17.js new file mode 100644 index 00000000..58d59b1a --- /dev/null +++ b/docs/assets/AudioEmitter-C10MNZ17.js @@ -0,0 +1 @@ +import{s as e}from"./SettingsProvider-D-grt5cc.js";import{a as t,c as n,i as r,l as i,n as a,o,r as s,s as c,t as l}from"./AudioEmitter-EsMJ6jds.js";export{l as AudioEmitter,a as audioBufferCache,s as getCachedAudioBuffer,e as getEffectiveSoundRate,r as getSoundGeneration,t as playOneShotSound,o as resolveAudioProfile,c as stopAllTrackedSounds,n as trackSound,i as untrackSound}; \ No newline at end of file diff --git a/docs/assets/SettingsProvider-DAQByNim.css b/docs/assets/AudioEmitter-DAQByNim.css similarity index 100% rename from docs/assets/SettingsProvider-DAQByNim.css rename to docs/assets/AudioEmitter-DAQByNim.css diff --git a/docs/assets/AudioEmitter-EsMJ6jds.js b/docs/assets/AudioEmitter-EsMJ6jds.js new file mode 100644 index 00000000..4f8739b6 --- /dev/null +++ b/docs/assets/AudioEmitter-EsMJ6jds.js @@ -0,0 +1 @@ +import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import{i,o as a}from"./react-three-fiber.esm-CD18QK1u.js";import{a as o,c as s,i as c,o as l}from"./SettingsProvider-D-grt5cc.js";import{r as u}from"./engineStore-Mono9lyt.js";import{t as d}from"./logger-B058WGzf.js";import{r as f}from"./cameraTourStore-DQ989o2x.js";import{Wt as p,c as m,l as h,u as g,xt as _}from"./three.module-C9W4LJrj.js";import{t as v}from"./Html-DcxB1JCg.js";import{r as y}from"./index-BEKjcnfN.js";import{n as b}from"./DebugBounds-BnJbEQUF.js";var x=t(),S=e(n(),1),C=r(),w=(0,S.createContext)(void 0);function T(e){let t=(0,x.c)(11),{children:n}=e,r=a(O),{audioVolume:i}=o(),s;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s={audioLoader:null,audioListener:null},t[0]=s):s=t[0];let[c,l]=(0,S.useState)(s),d,f;t[1]===r?(d=t[2],f=t[3]):(d=()=>{let e=new g,t=r.children.find(D);t||(t=new h,r.add(t)),l({audioLoader:e,audioListener:t});let n=()=>{let e=t.context;!e||e.state!==`suspended`||e.resume().finally(()=>{document.removeEventListener(`click`,n),document.removeEventListener(`keydown`,n),document.removeEventListener(`touchend`,n)})};document.addEventListener(`click`,n),document.addEventListener(`keydown`,n),document.addEventListener(`touchend`,n);let i=u.subscribe(E,e=>{let n=t.context;n&&(e===`paused`?n.suspend():n.state===`suspended`&&n.resume())});return()=>{document.removeEventListener(`click`,n),document.removeEventListener(`keydown`,n),document.removeEventListener(`touchend`,n),i(),t&&r.remove(t)}},f=[r],t[1]=r,t[2]=d,t[3]=f),(0,S.useEffect)(d,f);let p,m;t[4]!==c.audioListener||t[5]!==i?(p=()=>{c.audioListener?.setMasterVolume(i)},m=[i,c.audioListener],t[4]=c.audioListener,t[5]=i,t[6]=p,t[7]=m):(p=t[6],m=t[7]),(0,S.useEffect)(p,m);let _;return t[8]!==c||t[9]!==n?(_=(0,C.jsx)(w.Provider,{value:c,children:n}),t[8]=c,t[9]=n,t[10]=_):_=t[10],_}function E(e){return e.playback.status}function D(e){return e instanceof h}function O(e){return e.camera}function k(){let e=(0,S.useContext)(w);if(e===void 0)throw Error(`useAudio must be used within AudioProvider`);return e}var A={Label:`_Label_12q7d_1`},j=[0,0,0],M=new p;function N(e,t,n,r){let i=e.matrixWorld.elements;return(t-i[12])*-i[8]+(n-i[13])*-i[9]+(r-i[14])*-i[10]<0}var P=200;function F(e){let t=(0,x.c)(9),n;t[0]===e?n=t[1]:(n=e===void 0?{}:e,t[0]=e,t[1]=n);let{opacity:r,fadeDistance:a}=n,o=r===void 0?`fadeWithDistance`:r,s=a===void 0?P:a,c=o===`fadeWithDistance`,l=(0,S.useRef)(null),[u,d]=(0,S.useState)(o!==0),f=(0,S.useRef)(`0`),p;t[2]!==s||t[3]!==c||t[4]!==u||t[5]!==o?(p=e=>{let{camera:t}=e,n=l.current;if(!n)return;n.getWorldPosition(M);let r=N(t,M.x,M.y,M.z);if(c){let e=r?1/0:t.position.distanceTo(M),n=e{h.current&&(h.current.style.opacity=m.current)},t[3]=m,t[4]=g),i(g);let _;t[5]!==n||t[6]!==c||t[7]!==p||t[8]!==l?(_=p?(0,C.jsx)(v,{position:l,center:!0,children:(0,C.jsx)(`div`,{ref:h,className:A.Label,style:{color:c},children:n})}):null,t[5]=n,t[6]=c,t[7]=p,t[8]=l,t[9]=_):_=t[9];let y;return t[10]!==f||t[11]!==_?(y=(0,C.jsx)(`group`,{ref:f,children:_}),t[10]=f,t[11]=_,t[12]=y):y=t[12],y}),L=d(`AudioEmitter`),R=new Map,z=new Map;s(e=>{let t=u.getState().playback.rate;for(let[n,r]of z)try{n.setPlaybackRate(r*(e?t:1))}catch{}});function B(e,t=1){z.set(e,t)}function V(e){z.delete(e)}var H=0;function U(){return H}function W(){H++;for(let[e]of z){try{e.stop()}catch{}try{e.disconnect()}catch{}}z.clear()}u.subscribe(e=>e.playback.rate,e=>{for(let[t,n]of z)try{t.setPlaybackRate(n*(l()?e:1))}catch{}});function G(e,t){let n=t(e),r=n?.filename;if(!r)return null;let i=r.endsWith(`.wav`)?r:`${r}.wav`,a=n.description,o=a==null?void 0:t(a);return{filename:i,is3D:o?.is3D??!0,isLooping:o?.isLooping??!1,refDist:o?.referenceDistance??20,maxDist:o?.maxDistance??100,volume:o?.volume??1}}function K(e,t,n,r,i){let a;try{a=y(e.filename)}catch{return}let o=u.getState().playback.rate,s=H;q(a,n,n=>{if(s===H)try{if(e.is3D&&i){let a=new _(t);a.setBuffer(n),a.setDistanceModel(`inverse`),a.setRefDistance(e.refDist),a.setMaxDistance(e.maxDist),a.setRolloffFactor(1),a.setVolume(e.volume),a.setPlaybackRate(l()?o:1),r&&a.position.copy(r),i.add(a),z.set(a,1),a.play(),a.source.onended=()=>{z.delete(a);try{a.disconnect()}catch{}i.remove(a)}}else{let r=new m(t);r.setBuffer(n),r.setVolume(e.volume),r.setPlaybackRate(l()?o:1),z.set(r,1),r.play(),r.source.onended=()=>{z.delete(r);try{r.disconnect()}catch{}}}}catch{}})}function q(e,t,n){R.has(e)?n(R.get(e)):t.load(e,t=>{R.set(e,t),n(t)},void 0,t=>{L.error(`Audio load error %s: %o`,e,t)})}var J=(0,S.memo)(function({entity:e}){let{debugMode:t}=c(),n=e.audioFileName??``,r=e.audioVolume??1,s=e.audioMinDistance??1,l=e.audioMaxDistance??1,u=e.audioMinLoopGap??0,d=e.audioMaxLoopGap??0,h=e.audioIs3D??!0?1:0,g=e.audioIsLooping??!0,[v,x,w]=e.position??[0,0,0],T=a(e=>e.scene),E=a(e=>e.camera),{audioLoader:D,audioListener:O}=k(),{audioEnabled:A}=o(),j=(0,S.useRef)(null),M=(0,S.useRef)(null),N=(0,S.useRef)(null),P=(0,S.useRef)(!1),F=(0,S.useRef)(!1),L=(0,S.useRef)(new p(v,x,w)),R=(0,S.useRef)(0),z=()=>{M.current!=null&&(clearTimeout(M.current),M.current=null),N.current!=null&&(clearTimeout(N.current),N.current=null)},[B]=(0,S.useState)(()=>Math.random());(0,S.useEffect)(()=>{if(!D||!O)return;R.current++;let e;if(h){let t=new _(O);t.position.copy(L.current),t.setDistanceModel(`inverse`),t.setRefDistance(s),t.setMaxDistance(l),t.setRolloffFactor(1),t.setVolume(r),e=t,T.add(e)}else e=new m(O),e.setVolume(r);return j.current=e,()=>{z();try{e.stop()}catch{}try{e.disconnect()}catch{}h&&T.remove(e),j.current=null,P.current=!1,F.current=!1}},[D,O,h,s,l,r,T]);let V=(e,t)=>{if(g)if(u>0||d>0){let n=Math.max(0,u),r=Math.max(n,d),i=n===r?n:B*(r-n)+n;e.loop=!1;let a=()=>{t===R.current&&(e.isPlaying===!1?M.current=setTimeout(()=>{if(t===R.current)try{e.play(),V(e,t)}catch{}},i):N.current=setTimeout(a,100))};N.current=setTimeout(a,100)}else e.setLoop(!0)},H=(0,S.useEffectEvent)(e=>{if(!D)return;let t=R.current;if(P.current)try{e.isPlaying||(e.play(),V(e,t))}catch{}else{let r;try{r=y(n)}catch{return}q(r,D,n=>{if(t===R.current&&!e.buffer){e.setBuffer(n),P.current=!0;try{e.play(),V(e,t)}catch{}}})}});(0,S.useEffect)(()=>{let e=j.current;!e||h||!A||!n||H(e)},[A,h,n,D,O]),i(()=>{let e=j.current;if(!e||!h||!A||!n)return;let t=E.position.distanceTo(L.current),r=F.current,i=t<=l;if(i&&!r)F.current=!0,H(e);else if(!i&&r){F.current=!1,z();try{e.stop()}catch{}}}),(0,S.useEffect)(()=>{let e=j.current;if(e&&!A){z();try{e.stop()}catch{}F.current=!1}},[A]);let U=f(e.id);return(0,C.jsxs)(C.Fragment,{children:[t&&(0,C.jsxs)(`mesh`,{position:L.current,children:[(0,C.jsx)(`sphereGeometry`,{args:[s,12,12]}),(0,C.jsx)(`meshBasicMaterial`,{color:`#00ff00`,wireframe:!0,opacity:.05,transparent:!0,toneMapped:!1}),(0,C.jsx)(I,{color:`#00ff00`,position:[0,s+1,0],children:n})]}),U&&(0,C.jsx)(b,{radius:1.5})]})});export{K as a,B as c,F as d,T as f,U as i,V as l,R as n,G as o,k as p,q as r,W as s,J as t,I as u}; \ No newline at end of file diff --git a/docs/assets/ChatInput-ChN-ua63.js b/docs/assets/ChatInput-BJrhNHo9.js similarity index 86% rename from docs/assets/ChatInput-ChN-ua63.js rename to docs/assets/ChatInput-BJrhNHo9.js index ad0fcf2e..6f7aae33 100644 --- a/docs/assets/ChatInput-ChN-ua63.js +++ b/docs/assets/ChatInput-BJrhNHo9.js @@ -1 +1 @@ -import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import{k as i}from"./index-Ds_qp2Yy.js";var a=e(n(),1),o=t(),s={InputForm:`_InputForm_18kom_1`,Input:`_Input_18kom_1`},c=r();function l(){let e=(0,o.c)(8),[t,n]=(0,a.useState)(``),r;e[0]===t?r=e[1]:(r=e=>{e.preventDefault();let r=t.trim();r&&(i.getState().sendCommand(`messageSent`,r),n(``))},e[0]=t,e[1]=r);let l=r,f;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(f=e=>n(e.target.value),e[2]=f):f=e[2];let p;e[3]===t?p=e[4]:(p=(0,c.jsx)(`input`,{className:s.Input,type:`text`,placeholder:`Say something…`,value:t,onChange:f,onKeyDown:d,onKeyUp:u,maxLength:255}),e[3]=t,e[4]=p);let m;return e[5]!==l||e[6]!==p?(m=(0,c.jsx)(`form`,{className:s.InputForm,onSubmit:l,children:p}),e[5]=l,e[6]=p,e[7]=m):m=e[7],m}function u(e){return e.stopPropagation()}function d(e){return e.stopPropagation()}export{l as ChatInput}; \ No newline at end of file +import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import{U as i}from"./index-BEKjcnfN.js";var a=e(n(),1),o=t(),s={InputForm:`_InputForm_18kom_1`,Input:`_Input_18kom_1`},c=r();function l(){let e=(0,o.c)(8),[t,n]=(0,a.useState)(``),r;e[0]===t?r=e[1]:(r=e=>{e.preventDefault();let r=t.trim();r&&(i.getState().sendCommand(`messageSent`,r),n(``))},e[0]=t,e[1]=r);let l=r,f;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(f=e=>n(e.target.value),e[2]=f):f=e[2];let p;e[3]===t?p=e[4]:(p=(0,c.jsx)(`input`,{className:s.Input,type:`text`,placeholder:`Say something…`,value:t,onChange:f,onKeyDown:d,onKeyUp:u,maxLength:255}),e[3]=t,e[4]=p);let m;return e[5]!==l||e[6]!==p?(m=(0,c.jsx)(`form`,{className:s.InputForm,onSubmit:l,children:p}),e[5]=l,e[6]=p,e[7]=m):m=e[7],m}function u(e){return e.stopPropagation()}function d(e){return e.stopPropagation()}export{l as ChatInput}; \ No newline at end of file diff --git a/docs/assets/ChatSoundPlayer-CeH36_2V.js b/docs/assets/ChatSoundPlayer-CeH36_2V.js deleted file mode 100644 index 0e04e3a5..00000000 --- a/docs/assets/ChatSoundPlayer-CeH36_2V.js +++ /dev/null @@ -1 +0,0 @@ -import{r as e}from"./chunk-DECur_0Z.js";import{r as t}from"./jsx-runtime-BpGWiA-R.js";import{a as n,b as r,c as i,g as a,h as o,l as s,u as c}from"./SettingsProvider-DVIFsPwe.js";import{r as l}from"./loaders-BhaVxgpz.js";import{c as u}from"./three.module-DRRYkRPO.js";import{i as d,r as f}from"./engineStore-DeZJbWme.js";var p=e(t(),1);function m(){let{audioLoader:e,audioListener:t}=r(),{audioEnabled:m}=n(),h=d(e=>e.playback.streamSnapshot?.chatMessages),g=d(e=>e.playback.streamSnapshot?.timeSec),_=(0,p.useRef)(new WeakSet),v=(0,p.useRef)(new Map);return(0,p.useEffect)(()=>{if(!m||!e||!t||!h?.length||g==null)return;let n=_.current,r=v.current;for(let d of h)if(!n.has(d)&&(n.add(d),d.soundPath&&!(Math.abs(g-d.timeSec)>2)))try{let n=l(d.soundPath),p=d.soundPitch??1;f.getState().playback.rate;let m=d.sender,h=c();i(n,e,e=>{if(h!==c())return;if(m){let e=r.get(m);if(e){try{e.stop()}catch{}a(e);try{e.disconnect()}catch{}r.delete(m)}}let n=new u(t);n.setBuffer(e),n.setPlaybackRate(s(p)),o(n,p),m&&r.set(m,n),n.play(),n.source.onended=()=>{a(n);try{n.disconnect()}catch{}m&&r.get(m)===n&&r.delete(m)}})}catch{}},[m,e,t,h,g]),null}export{m as ChatSoundPlayer}; \ No newline at end of file diff --git a/docs/assets/ChatSoundPlayer-D4Cfif0J.js b/docs/assets/ChatSoundPlayer-D4Cfif0J.js new file mode 100644 index 00000000..fd840c97 --- /dev/null +++ b/docs/assets/ChatSoundPlayer-D4Cfif0J.js @@ -0,0 +1 @@ +import{r as e}from"./chunk-DECur_0Z.js";import{r as t}from"./jsx-runtime-BpGWiA-R.js";import{a as n,s as r}from"./SettingsProvider-D-grt5cc.js";import{i}from"./engineStore-Mono9lyt.js";import{c as a}from"./three.module-C9W4LJrj.js";import{r as o}from"./index-BEKjcnfN.js";import{c as s,i as c,l,p as u,r as d}from"./AudioEmitter-EsMJ6jds.js";var f=e(t(),1);function p(){let{audioLoader:e,audioListener:t}=u(),{audioEnabled:p}=n(),m=i(e=>e.playback.streamSnapshot?.chatMessages),h=i(e=>e.playback.streamSnapshot?.timeSec),g=(0,f.useRef)(new WeakSet),_=(0,f.useRef)(new Map);return(0,f.useEffect)(()=>{if(!p||!e||!t||!m?.length||h==null)return;let n=g.current,i=_.current;for(let u of m)if(!n.has(u)&&(n.add(u),u.soundPath&&!(Math.abs(h-u.timeSec)>2)))try{let n=o(u.soundPath),f=u.soundPitch??1,p=u.sender,m=c();d(n,e,e=>{if(m!==c())return;if(p){let e=i.get(p);if(e){try{e.stop()}catch{}l(e);try{e.disconnect()}catch{}i.delete(p)}}let n=new a(t);n.setBuffer(e),n.setPlaybackRate(r(f)),s(n,f),p&&i.set(p,n),n.play(),n.source.onended=()=>{l(n);try{n.disconnect()}catch{}p&&i.get(p)===n&&i.delete(p)}})}catch{}},[p,e,t,m,h]),null}export{p as ChatSoundPlayer}; \ No newline at end of file diff --git a/docs/assets/DebugBounds-BnJbEQUF.js b/docs/assets/DebugBounds-BnJbEQUF.js new file mode 100644 index 00000000..73d7cbe3 --- /dev/null +++ b/docs/assets/DebugBounds-BnJbEQUF.js @@ -0,0 +1 @@ +import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import{E as i,Ft as a,p as o}from"./three.module-C9W4LJrj.js";var s=t(),c=e(n(),1),l=r(),u=(0,l.jsx)(`lineBasicMaterial`,{color:`#ff0000`,depthTest:!1,depthWrite:!1,fog:!1,transparent:!0});function d({size:e}){return(0,l.jsx)(`lineSegments`,{geometry:(0,c.useMemo)(()=>new i(new o(...e)),[e[0],e[1],e[2]]),renderOrder:9999,children:u})}function f(e){let t=(0,s.c)(4),{radius:n}=e,r=n===void 0?1:n,o;t[0]===r?o=t[1]:(o=new i(new a(r,8,6)),t[0]=r,t[1]=o);let c=o,d;return t[2]===c?d=t[3]:(d=(0,l.jsx)(`lineSegments`,{geometry:c,renderOrder:9999,children:u}),t[2]=c,t[3]=d),d}export{f as n,d as t}; \ No newline at end of file diff --git a/docs/assets/DebugElements-BFAGz36f.js b/docs/assets/DebugElements-BFAGz36f.js new file mode 100644 index 00000000..3be1979c --- /dev/null +++ b/docs/assets/DebugElements-BFAGz36f.js @@ -0,0 +1 @@ +import{r as e,t}from"./chunk-DECur_0Z.js";import{n,r,t as i}from"./jsx-runtime-BpGWiA-R.js";import{n as a,r as o}from"./react-three-fiber.esm-CD18QK1u.js";import{t as s}from"./Html-DcxB1JCg.js";var c=t(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):n.Stats=r()})(e,function(){var e=function(){function t(e){return i.appendChild(e.dom),e}function n(e){for(var t=0;to+1e3&&(c.update(1e3*s/(e-o),100),o=e,s=0,u)){var t=performance.memory;u.update(t.usedJSHeapSize/1048576,t.jsHeapSizeLimit/1048576)}return e},update:function(){a=this.end()},domElement:i,setMode:n}};return e.Panel=function(e,t,n){var r=1/0,i=0,a=Math.round,o=a(window.devicePixelRatio||1),s=80*o,c=48*o,l=3*o,u=2*o,d=3*o,f=15*o,p=74*o,m=30*o,h=document.createElement(`canvas`);h.width=s,h.height=c,h.style.cssText=`width:80px;height:48px`;var g=h.getContext(`2d`);return g.font=`bold `+9*o+`px Helvetica,Arial,sans-serif`,g.textBaseline=`top`,g.fillStyle=n,g.fillRect(0,0,s,c),g.fillStyle=t,g.fillText(e,l,u),g.fillRect(d,f,p,m),g.fillStyle=n,g.globalAlpha=.9,g.fillRect(d,f,p,m),{dom:h,update:function(c,_){r=Math.min(r,c),i=Math.max(i,c),g.fillStyle=n,g.globalAlpha=1,g.fillRect(0,0,s,f),g.fillStyle=t,g.fillText(a(c)+` `+e+` (`+a(r)+`-`+a(i)+`)`,l,u),g.drawImage(h,d+o,f,p-o,m,d,f,p-o,m),g.fillRect(d+p-o,f,o,m),g.fillStyle=n,g.globalAlpha=.9,g.fillRect(d+p-o,f,o,a((1-c/_)*m))}}},e})})),l=e(r());function u(e,t){typeof e==`function`?e(t):e!=null&&(e.current=t)}function d(e,t=[],n){let[r,i]=l.useState();return l.useLayoutEffect(()=>{let t=e();return i(t),u(n,t),()=>u(n,null)},t),r}var f=e(c());function p({showPanel:e=0,className:t,parent:n}){let r=d(()=>new f.default,[]);return l.useEffect(()=>{if(r){let i=n&&n.current||document.body;r.showPanel(e),i?.appendChild(r.dom);let s=(t??``).split(` `).filter(e=>e);s.length&&r.dom.classList.add(...s);let c=o(()=>r.begin()),l=a(()=>r.end());return()=>{s.length&&r.dom.classList.remove(...s),i?.removeChild(r.dom),c(),l()}}},[n,r,t,e]),null}var m=n(),h={StatsPanel:`_StatsPanel_10m5i_1`,AxisLabel:`_AxisLabel_10m5i_8`},g=i();function _(){let e=(0,m.c)(10),t=(0,l.useRef)(null),n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=()=>{let e=t.current;e&&e.setColors(`rgb(153, 255, 0)`,`rgb(0, 153, 255)`,`rgb(255, 153, 0)`)},e[0]=n):n=e[0],(0,l.useEffect)(n);let r;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,g.jsx)(p,{className:h.StatsPanel}),e[1]=r):r=e[1];let i;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(i=[70],e[2]=i):i=e[2];let a;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,g.jsx)(`axesHelper`,{ref:t,args:i,renderOrder:999,children:(0,g.jsx)(`lineBasicMaterial`,{depthTest:!1,depthWrite:!1,fog:!1,vertexColors:!0})}),e[3]=a):a=e[3];let o;e[4]===Symbol.for(`react.memo_cache_sentinel`)?(o=[80,0,0],e[4]=o):o=e[4];let c;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,g.jsx)(s,{position:o,center:!0,children:(0,g.jsx)(`span`,{className:h.AxisLabel,"data-axis":`y`,children:`Y`})}),e[5]=c):c=e[5];let u;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(u=[0,80,0],e[6]=u):u=e[6];let d;e[7]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,g.jsx)(s,{position:u,center:!0,children:(0,g.jsx)(`span`,{className:h.AxisLabel,"data-axis":`z`,children:`Z`})}),e[7]=d):d=e[7];let f;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(f=[0,0,80],e[8]=f):f=e[8];let _;return e[9]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,g.jsxs)(g.Fragment,{children:[r,a,c,d,(0,g.jsx)(s,{position:f,center:!0,children:(0,g.jsx)(`span`,{className:h.AxisLabel,"data-axis":`x`,children:`X`})})]}),e[9]=_):_=e[9],_}export{_ as DebugElements}; \ No newline at end of file diff --git a/docs/assets/DebugElements-DXesdZsb.js b/docs/assets/DebugElements-DXesdZsb.js deleted file mode 100644 index 8d51a1de..00000000 --- a/docs/assets/DebugElements-DXesdZsb.js +++ /dev/null @@ -1 +0,0 @@ -import{r as e,t}from"./chunk-DECur_0Z.js";import{n,r,t as i}from"./jsx-runtime-BpGWiA-R.js";import{a,i as o,o as s,t as c}from"./Html-DrHEhPVE.js";import{Pt as l,Ut as u,at as d,b as f}from"./three.module-DRRYkRPO.js";import{o as p,t as m}from"./globalFogUniforms-CCW7odYy.js";import{n as h,t as g}from"./shapeMaterial-B0M2T1Ub.js";var _=t(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):n.Stats=r()})(e,function(){var e=function(){function t(e){return i.appendChild(e.dom),e}function n(e){for(var t=0;to+1e3&&(c.update(1e3*s/(e-o),100),o=e,s=0,u)){var t=performance.memory;u.update(t.usedJSHeapSize/1048576,t.jsHeapSizeLimit/1048576)}return e},update:function(){a=this.end()},domElement:i,setMode:n}};return e.Panel=function(e,t,n){var r=1/0,i=0,a=Math.round,o=a(window.devicePixelRatio||1),s=80*o,c=48*o,l=3*o,u=2*o,d=3*o,f=15*o,p=74*o,m=30*o,h=document.createElement(`canvas`);h.width=s,h.height=c,h.style.cssText=`width:80px;height:48px`;var g=h.getContext(`2d`);return g.font=`bold `+9*o+`px Helvetica,Arial,sans-serif`,g.textBaseline=`top`,g.fillStyle=n,g.fillRect(0,0,s,c),g.fillStyle=t,g.fillText(e,l,u),g.fillRect(d,f,p,m),g.fillStyle=n,g.globalAlpha=.9,g.fillRect(d,f,p,m),{dom:h,update:function(c,_){r=Math.min(r,c),i=Math.max(i,c),g.fillStyle=n,g.globalAlpha=1,g.fillRect(0,0,s,f),g.fillStyle=t,g.fillText(a(c)+` `+e+` (`+a(r)+`-`+a(i)+`)`,l,u),g.drawImage(h,d+o,f,p-o,m,d,f,p-o,m),g.fillRect(d+p-o,f,o,m),g.fillStyle=n,g.globalAlpha=.9,g.fillRect(d+p-o,f,o,a((1-c/_)*m))}}},e})})),v=e(r());function y(e,t){typeof e==`function`?e(t):e!=null&&(e.current=t)}function b(e,t=[],n){let[r,i]=v.useState();return v.useLayoutEffect(()=>{let t=e();return i(t),y(n,t),()=>y(n,null)},t),r}var x=e(_());function S({showPanel:e=0,className:t,parent:n}){let r=b(()=>new x.default,[]);return v.useEffect(()=>{if(r){let i=n&&n.current||document.body;r.showPanel(e),i?.appendChild(r.dom);let s=(t??``).split(` `).filter(e=>e);s.length&&r.dom.classList.add(...s);let c=a(()=>r.begin()),l=o(()=>r.end());return()=>{s.length&&r.dom.classList.remove(...s),i?.removeChild(r.dom),c(),l()}}},[n,r,t,e]),null}var C=n(),w={StatsPanel:`_StatsPanel_10m5i_1`,AxisLabel:`_AxisLabel_10m5i_8`},T=i(),E=new l(10,64,64);function D(){let e=(0,C.c)(4),t=(0,v.useRef)(null),n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=new d({color:new f(.5,.5,.5)}),n.customProgramCacheKey=k,n.onBeforeCompile=O,e[0]=n):n=e[0];let r=n,i;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(i=new u,e[1]=i):i=e[1];let a=i,o;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(o=e=>{let{camera:n}=e,r=t.current;r&&(n.getWorldDirection(a),r.position.copy(n.position).addScaledVector(a,80))},e[2]=o):o=e[2],s(o);let c;return e[3]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,T.jsx)(`mesh`,{ref:t,geometry:E,material:r}),e[3]=c):c=e[3],c}function O(e){p(e,m),h(e),g(e,1)}function k(){return`debug-envmap-sphere`}function A(){let e=(0,C.c)(10),t=(0,v.useRef)(null),n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=()=>{let e=t.current;e&&e.setColors(`rgb(153, 255, 0)`,`rgb(0, 153, 255)`,`rgb(255, 153, 0)`)},e[0]=n):n=e[0],(0,v.useEffect)(n);let r;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,T.jsx)(S,{className:w.StatsPanel}),e[1]=r):r=e[1];let i;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(i=[70],e[2]=i):i=e[2];let a;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,T.jsx)(`axesHelper`,{ref:t,args:i,renderOrder:999,children:(0,T.jsx)(`lineBasicMaterial`,{depthTest:!1,depthWrite:!1,fog:!1,vertexColors:!0})}),e[3]=a):a=e[3];let o;e[4]===Symbol.for(`react.memo_cache_sentinel`)?(o=[80,0,0],e[4]=o):o=e[4];let s;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,T.jsx)(c,{position:o,center:!0,children:(0,T.jsx)(`span`,{className:w.AxisLabel,"data-axis":`y`,children:`Y`})}),e[5]=s):s=e[5];let l;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(l=[0,80,0],e[6]=l):l=e[6];let u;e[7]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,T.jsx)(c,{position:l,center:!0,children:(0,T.jsx)(`span`,{className:w.AxisLabel,"data-axis":`z`,children:`Z`})}),e[7]=u):u=e[7];let d;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(d=[0,0,80],e[8]=d):d=e[8];let f;return e[9]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,T.jsxs)(T.Fragment,{children:[r,a,s,u,(0,T.jsx)(c,{position:d,center:!0,children:(0,T.jsx)(`span`,{className:w.AxisLabel,"data-axis":`x`,children:`X`})}),(0,T.jsx)(D,{})]}),e[9]=f):f=e[9],f}export{A as DebugElements}; \ No newline at end of file diff --git a/docs/assets/DebugSuspense-CNky_EQQ.js b/docs/assets/DebugSuspense-D7OBM5vj.js similarity index 100% rename from docs/assets/DebugSuspense-CNky_EQQ.js rename to docs/assets/DebugSuspense-D7OBM5vj.js diff --git a/docs/assets/DemoPlaybackControls-B1-1CC7d.js b/docs/assets/DemoPlaybackControls-B1-1CC7d.js deleted file mode 100644 index e370dd6f..00000000 --- a/docs/assets/DemoPlaybackControls-B1-1CC7d.js +++ /dev/null @@ -1 +0,0 @@ -import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import{C as i,D as a,E as o,O as s,S as c,T as l,u,w as d}from"./index-Ds_qp2Yy.js";import{n as f,t as p}from"./gr-P7ZS2BjD.js";var m=e(n(),1),h=t(),g={Root:`_Root_flggk_1`,PlayPause:`_PlayPause_flggk_16 _Button_p0g82_2`,Time:`_Time_flggk_36`,Seek:`_Seek_flggk_54`,Speed:`_Speed_flggk_61`,CameraMode:`_CameraMode_flggk_62`,Field:`_Field_flggk_80`},_=r();function v(e){return`${Math.floor(e/60)}:${Math.floor(e%60).toString().padStart(2,`0`)}`}function y(){let e=(0,h.c)(42),t=a(),n=l(),r=i(),y=d(),x=s(),{play:S,pause:C,seek:w,setSpeed:T}=o(),E,D;e[0]!==n||e[1]!==C||e[2]!==S||e[3]!==t?(E=()=>{if(!t)return;let e=e=>{if(e.code!==`Space`)return;let t=e.target;t.tagName===`INPUT`||t.tagName===`TEXTAREA`||t.tagName===`SELECT`||t.tagName===`BUTTON`||t.isContentEditable||(e.preventDefault(),n?C():S())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},D=[t,n,S,C],e[0]=n,e[1]=C,e[2]=S,e[3]=t,e[4]=E,e[5]=D):(E=e[4],D=e[5]),(0,m.useEffect)(E,D);let O;e[6]!==T||e[7]!==x?(O=()=>{let e=c.indexOf(x);e>0&&T(c[e-1])},e[6]=T,e[7]=x,e[8]=O):O=e[8],u(`decreasePlaybackSpeed`,O);let k;e[9]!==T||e[10]!==x?(k=()=>{let e=c.indexOf(x);e{w(parseFloat(e.target.value))},e[12]=w,e[13]=A);let j=A,M;e[14]===T?M=e[15]:(M=e=>{T(parseFloat(e.target.value))},e[14]=T,e[15]=M);let N=M;if(!t||!Number.isFinite(t.duration))return null;let P=n?C:S,F=n?`Pause`:`Play`,I;e[16]===n?I=e[17]:(I=n?(0,_.jsx)(p,{}):(0,_.jsx)(f,{}),e[16]=n,e[17]=I);let L;e[18]!==P||e[19]!==F||e[20]!==I?(L=(0,_.jsx)(`button`,{className:g.PlayPause,onClick:P,"aria-label":F,autoFocus:!0,children:I}),e[18]=P,e[19]=F,e[20]=I,e[21]=L):L=e[21];let R;e[22]===r?R=e[23]:(R=v(r),e[22]=r,e[23]=R);let z;e[24]===y?z=e[25]:(z=v(y),e[24]=y,e[25]=z);let B=`${R} / ${z}`,V;e[26]===B?V=e[27]:(V=(0,_.jsx)(`span`,{className:g.Time,children:B}),e[26]=B,e[27]=V);let H;e[28]!==r||e[29]!==y||e[30]!==j?(H=(0,_.jsx)(`input`,{className:g.Seek,type:`range`,min:0,max:y,step:.01,value:r,onChange:j}),e[28]=r,e[29]=y,e[30]=j,e[31]=H):H=e[31];let U;e[32]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,_.jsx)(`label`,{htmlFor:`playbackSpeed`,children:`Speed`}),e[32]=U):U=e[32];let W;e[33]===Symbol.for(`react.memo_cache_sentinel`)?(W=c.map(b),e[33]=W):W=e[33];let G;e[34]!==N||e[35]!==x?(G=(0,_.jsxs)(`div`,{className:g.Field,children:[U,(0,_.jsx)(`select`,{id:`playbackSpeed`,className:g.Speed,value:x,onChange:N,children:W})]}),e[34]=N,e[35]=x,e[36]=G):G=e[36];let K;return e[37]!==V||e[38]!==H||e[39]!==G||e[40]!==L?(K=(0,_.jsxs)(`div`,{className:g.Root,children:[L,V,H,G]}),e[37]=V,e[38]=H,e[39]=G,e[40]=L,e[41]=K):K=e[41],K}function b(e){return(0,_.jsxs)(`option`,{value:e,children:[e,`×`]},e)}export{y as DemoPlaybackControls}; \ No newline at end of file diff --git a/docs/assets/DemoPlaybackControls-q8VgZTNM.js b/docs/assets/DemoPlaybackControls-q8VgZTNM.js new file mode 100644 index 00000000..3b4b77a4 --- /dev/null +++ b/docs/assets/DemoPlaybackControls-q8VgZTNM.js @@ -0,0 +1 @@ +import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import{B as i,H as a,I as o,L as s,R as c,V as l,w as u,z as d}from"./index-BEKjcnfN.js";import{n as f,t as p}from"./gr-C6l4behh.js";var m=e(n(),1),h=t(),g={Root:`_Root_flggk_1`,PlayPause:`_PlayPause_flggk_16 _Button_p0g82_2`,Time:`_Time_flggk_36`,Seek:`_Seek_flggk_54`,Speed:`_Speed_flggk_61`,CameraMode:`_CameraMode_flggk_62`,Field:`_Field_flggk_80`},_=r();function v(e){return`${Math.floor(e/60)}:${Math.floor(e%60).toString().padStart(2,`0`)}`}function y(){let e=(0,h.c)(42),t=l(),n=d(),r=s(),y=c(),x=a(),{play:S,pause:C,seek:w,setSpeed:T}=i(),E,D;e[0]!==n||e[1]!==C||e[2]!==S||e[3]!==t?(E=()=>{if(!t)return;let e=e=>{if(e.code!==`Space`)return;let t=e.target;t.tagName===`INPUT`||t.tagName===`TEXTAREA`||t.tagName===`SELECT`||t.tagName===`BUTTON`||t.isContentEditable||(e.preventDefault(),n?C():S())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},D=[t,n,S,C],e[0]=n,e[1]=C,e[2]=S,e[3]=t,e[4]=E,e[5]=D):(E=e[4],D=e[5]),(0,m.useEffect)(E,D);let O;e[6]!==T||e[7]!==x?(O=()=>{let e=o.indexOf(x);e>0&&T(o[e-1])},e[6]=T,e[7]=x,e[8]=O):O=e[8],u(`decreasePlaybackSpeed`,O);let k;e[9]!==T||e[10]!==x?(k=()=>{let e=o.indexOf(x);e{w(parseFloat(e.target.value))},e[12]=w,e[13]=A);let j=A,M;e[14]===T?M=e[15]:(M=e=>{T(parseFloat(e.target.value))},e[14]=T,e[15]=M);let N=M;if(!t||!Number.isFinite(t.duration))return null;let P=n?C:S,F=n?`Pause`:`Play`,I;e[16]===n?I=e[17]:(I=n?(0,_.jsx)(p,{}):(0,_.jsx)(f,{}),e[16]=n,e[17]=I);let L;e[18]!==P||e[19]!==F||e[20]!==I?(L=(0,_.jsx)(`button`,{className:g.PlayPause,onClick:P,"aria-label":F,autoFocus:!0,children:I}),e[18]=P,e[19]=F,e[20]=I,e[21]=L):L=e[21];let R;e[22]===r?R=e[23]:(R=v(r),e[22]=r,e[23]=R);let z;e[24]===y?z=e[25]:(z=v(y),e[24]=y,e[25]=z);let B=`${R} / ${z}`,V;e[26]===B?V=e[27]:(V=(0,_.jsx)(`span`,{className:g.Time,children:B}),e[26]=B,e[27]=V);let H;e[28]!==r||e[29]!==y||e[30]!==j?(H=(0,_.jsx)(`input`,{className:g.Seek,type:`range`,min:0,max:y,step:.01,value:r,onChange:j}),e[28]=r,e[29]=y,e[30]=j,e[31]=H):H=e[31];let U;e[32]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,_.jsx)(`label`,{htmlFor:`playbackSpeed`,children:`Speed`}),e[32]=U):U=e[32];let W;e[33]===Symbol.for(`react.memo_cache_sentinel`)?(W=o.map(b),e[33]=W):W=e[33];let G;e[34]!==N||e[35]!==x?(G=(0,_.jsxs)(`div`,{className:g.Field,children:[U,(0,_.jsx)(`select`,{id:`playbackSpeed`,className:g.Speed,value:x,onChange:N,children:W})]}),e[34]=N,e[35]=x,e[36]=G):G=e[36];let K;return e[37]!==V||e[38]!==H||e[39]!==G||e[40]!==L?(K=(0,_.jsxs)(`div`,{className:g.Root,children:[L,V,H,G]}),e[37]=V,e[38]=H,e[39]=G,e[40]=L,e[41]=K):K=e[41],K}function b(e){return(0,_.jsxs)(`option`,{value:e,children:[e,`×`]},e)}export{y as DemoPlaybackControls}; \ No newline at end of file diff --git a/docs/assets/ForceFieldBare-Bpn0b911.js b/docs/assets/ForceFieldBare-Bpn0b911.js new file mode 100644 index 00000000..d20e6fba --- /dev/null +++ b/docs/assets/ForceFieldBare-Bpn0b911.js @@ -0,0 +1,75 @@ +import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import{i}from"./react-three-fiber.esm-CD18QK1u.js";import{a}from"./SettingsProvider-D-grt5cc.js";import{r as o}from"./cameraTourStore-DQ989o2x.js";import{Ot as s,Ut as c,b as l,jt as u,p as d}from"./three.module-C9W4LJrj.js";import{t as f}from"./Texture-D2i1vM3o.js";import{p}from"./index-BEKjcnfN.js";import{t as m}from"./DebugBounds-BnJbEQUF.js";import{t as h}from"./DebugSuspense-D7OBM5vj.js";var g=e(n(),1),_=t(),v=` +#include + +varying vec2 vUv; + +void main() { + vUv = uv; + vec4 mvPosition = modelViewMatrix * vec4(position, 1.0); + gl_Position = projectionMatrix * mvPosition; + #include +} +`,y=` +#include + +uniform sampler2D frame0; +uniform sampler2D frame1; +uniform sampler2D frame2; +uniform sampler2D frame3; +uniform sampler2D frame4; +uniform int currentFrame; +uniform float vScroll; +uniform vec2 uvScale; +uniform vec3 tintColor; +uniform float opacity; +uniform float opacityFactor; + +varying vec2 vUv; + +void main() { + // Scale and scroll UVs + vec2 scrolledUv = vec2(vUv.x * uvScale.x, vUv.y * uvScale.y + vScroll); + + // Sample the current frame + vec4 texColor; + if (currentFrame == 0) { + texColor = texture2D(frame0, scrolledUv); + } else if (currentFrame == 1) { + texColor = texture2D(frame1, scrolledUv); + } else if (currentFrame == 2) { + texColor = texture2D(frame2, scrolledUv); + } else if (currentFrame == 3) { + texColor = texture2D(frame3, scrolledUv); + } else { + texColor = texture2D(frame4, scrolledUv); + } + + // Tribes 2 GL_MODULATE: output = texture * vertexColor + // No gamma correction - textures use NoColorSpace and values pass through + // directly to display, matching how WaterBlock handles sRGB textures. + vec3 modulatedColor = texColor.rgb * tintColor; + + float adjustedOpacity = opacity * opacityFactor; + + gl_FragColor = vec4(modulatedColor, adjustedOpacity); + + // Custom fog for additive blending: fade out rather than blend to fog color. + // Standard fog (mix toward fogColor) doesn't work with additive blending + // because we'd still be adding fogColor to the framebuffer. + // Uses Torque's quadratic haze formula for consistency. + #ifdef USE_FOG + float dist = vFogDepth; + float fogFactor = 0.0; + if (dist > fogNear) { + if (dist >= fogFar) { + fogFactor = 1.0; + } else { + float fogScale = 1.0 / (fogFar - fogNear); + float distFactor = (dist - fogNear) * fogScale - 1.0; + fogFactor = 1.0 - distFactor * distFactor; + } + } + gl_FragColor.a *= 1.0 - fogFactor; + #endif +} +`;function b({textures:e,scale:t,umapping:n,vmapping:r,color:i,baseTranslucency:a}){let o=[...t].sort((e,t)=>t-e),s=new c(o[0]*n,o[1]*r),d=e[0];return new u({uniforms:{frame0:{value:d},frame1:{value:e[1]??d},frame2:{value:e[2]??d},frame3:{value:e[3]??d},frame4:{value:e[4]??d},currentFrame:{value:0},vScroll:{value:0},uvScale:{value:s},tintColor:{value:new l(...i)},opacity:{value:a},opacityFactor:{value:1},fogColor:{value:new l},fogNear:{value:1},fogFar:{value:2e3}},vertexShader:v,fragmentShader:y,transparent:!0,blending:2,side:2,depthWrite:!1,fog:!0})}var x=r();function S(e){e.wrapS=e.wrapT=s,e.colorSpace=``,e.flipY=!1,e.needsUpdate=!0}function C(e){let t=(0,_.c)(7),[n,r,i]=e,a;t[0]!==n||t[1]!==r||t[2]!==i?(a=new d(n,r,i),a.translate(n/2,r/2,i/2),t[0]=n,t[1]=r,t[2]=i,t[3]=a):a=t[3];let o=a,s,c;return t[4]===o?(s=t[5],c=t[6]):(s=()=>()=>o.dispose(),c=[o],t[4]=o,t[5]=s,t[6]=c),(0,g.useEffect)(s,c),o}function w(e){let t=(0,_.c)(10),{scale:n,color:r,baseTranslucency:i}=e,a=C(n),o;t[0]!==r[0]||t[1]!==r[1]||t[2]!==r[2]?(o=new l(r[0],r[1],r[2]),t[0]=r[0],t[1]=r[1],t[2]=r[2],t[3]=o):o=t[3];let s=o,c=i*1,u;t[4]!==s||t[5]!==c?(u=(0,x.jsx)(`meshBasicMaterial`,{color:s,transparent:!0,opacity:c,blending:2,side:2,depthWrite:!1,fog:!1}),t[4]=s,t[5]=c,t[6]=u):u=t[6];let d;return t[7]!==a||t[8]!==u?(d=(0,x.jsx)(`mesh`,{geometry:a,renderOrder:1,children:u}),t[7]=a,t[8]=u,t[9]=d):d=t[9],d}function T({scale:e,data:t}){let{animationEnabled:n}=a(),r=C(e),o=f((0,g.useMemo)(()=>t.textures.map(e=>p(e)),[t.textures]),e=>{e.forEach(e=>S(e))}),s=(0,g.useMemo)(()=>b({textures:o,scale:e,umapping:t.umapping,vmapping:t.vmapping,color:t.color,baseTranslucency:t.baseTranslucency}),[o,e,t]);(0,g.useEffect)(()=>()=>s.dispose(),[s]);let c=(0,g.useRef)(0);return i((e,r)=>{if(!n){c.current=0,s.uniforms.currentFrame.value=0,s.uniforms.vScroll.value=0;return}c.current+=r,s.uniforms.currentFrame.value=Math.floor(c.current*t.framesPerSec)%t.numFrames,s.uniforms.vScroll.value=c.current*t.scrollSpeed}),(0,x.jsx)(`mesh`,{geometry:r,material:s,renderOrder:1})}function E(e){let t=(0,_.c)(20),{entity:n}=e,r=n.forceFieldData,i=r.dimensions,a=o(n.id);if(r.textures.map(D).length===0){let e;return t[0]!==r.baseTranslucency||t[1]!==r.color||t[2]!==i?(e=(0,x.jsx)(w,{scale:i,color:r.color,baseTranslucency:r.baseTranslucency}),t[0]=r.baseTranslucency,t[1]=r.color,t[2]=i,t[3]=e):e=t[3],e}let s;t[4]!==r.baseTranslucency||t[5]!==r.color||t[6]!==i?(s=(0,x.jsx)(w,{scale:i,color:r.color,baseTranslucency:r.baseTranslucency}),t[4]=r.baseTranslucency,t[5]=r.color,t[6]=i,t[7]=s):s=t[7];let c;t[8]!==r||t[9]!==i?(c=(0,x.jsx)(T,{scale:i,data:r}),t[8]=r,t[9]=i,t[10]=c):c=t[10];let l;t[11]!==s||t[12]!==c?(l=(0,x.jsx)(h,{name:`ForceField`,fallback:s,children:c}),t[11]=s,t[12]=c,t[13]=l):l=t[13];let u;t[14]!==a||t[15]!==i?(u=a&&i&&(0,x.jsx)(m,{size:i}),t[14]=a,t[15]=i,t[16]=u):u=t[16];let d;return t[17]!==l||t[18]!==u?(d=(0,x.jsxs)(x.Fragment,{children:[l,u]}),t[17]=l,t[18]=u,t[19]=d):d=t[19],d}function D(e){return p(e)}export{E as ForceFieldBare}; \ No newline at end of file diff --git a/docs/assets/ForceFieldBare-DMinQDX-.js b/docs/assets/ForceFieldBare-DMinQDX-.js deleted file mode 100644 index 3442e388..00000000 --- a/docs/assets/ForceFieldBare-DMinQDX-.js +++ /dev/null @@ -1,75 +0,0 @@ -import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import{o as i}from"./Html-DrHEhPVE.js";import{a}from"./SettingsProvider-DVIFsPwe.js";import{p as o}from"./loaders-BhaVxgpz.js";import{At as s,Dt as c,Ht as l,b as u,p as d}from"./three.module-DRRYkRPO.js";import{t as f}from"./Texture-D7437V2F.js";import{t as p}from"./DebugSuspense-CNky_EQQ.js";var m=e(n(),1),h=t(),g=` -#include - -varying vec2 vUv; - -void main() { - vUv = uv; - vec4 mvPosition = modelViewMatrix * vec4(position, 1.0); - gl_Position = projectionMatrix * mvPosition; - #include -} -`,_=` -#include - -uniform sampler2D frame0; -uniform sampler2D frame1; -uniform sampler2D frame2; -uniform sampler2D frame3; -uniform sampler2D frame4; -uniform int currentFrame; -uniform float vScroll; -uniform vec2 uvScale; -uniform vec3 tintColor; -uniform float opacity; -uniform float opacityFactor; - -varying vec2 vUv; - -void main() { - // Scale and scroll UVs - vec2 scrolledUv = vec2(vUv.x * uvScale.x, vUv.y * uvScale.y + vScroll); - - // Sample the current frame - vec4 texColor; - if (currentFrame == 0) { - texColor = texture2D(frame0, scrolledUv); - } else if (currentFrame == 1) { - texColor = texture2D(frame1, scrolledUv); - } else if (currentFrame == 2) { - texColor = texture2D(frame2, scrolledUv); - } else if (currentFrame == 3) { - texColor = texture2D(frame3, scrolledUv); - } else { - texColor = texture2D(frame4, scrolledUv); - } - - // Tribes 2 GL_MODULATE: output = texture * vertexColor - // No gamma correction - textures use NoColorSpace and values pass through - // directly to display, matching how WaterBlock handles sRGB textures. - vec3 modulatedColor = texColor.rgb * tintColor; - - float adjustedOpacity = opacity * opacityFactor; - - gl_FragColor = vec4(modulatedColor, adjustedOpacity); - - // Custom fog for additive blending: fade out rather than blend to fog color. - // Standard fog (mix toward fogColor) doesn't work with additive blending - // because we'd still be adding fogColor to the framebuffer. - // Uses Torque's quadratic haze formula for consistency. - #ifdef USE_FOG - float dist = vFogDepth; - float fogFactor = 0.0; - if (dist > fogNear) { - if (dist >= fogFar) { - fogFactor = 1.0; - } else { - float fogScale = 1.0 / (fogFar - fogNear); - float distFactor = (dist - fogNear) * fogScale - 1.0; - fogFactor = 1.0 - distFactor * distFactor; - } - } - gl_FragColor.a *= 1.0 - fogFactor; - #endif -} -`;function v({textures:e,scale:t,umapping:n,vmapping:r,color:i,baseTranslucency:a}){let o=[...t].sort((e,t)=>t-e),c=new l(o[0]*n,o[1]*r),d=e[0];return new s({uniforms:{frame0:{value:d},frame1:{value:e[1]??d},frame2:{value:e[2]??d},frame3:{value:e[3]??d},frame4:{value:e[4]??d},currentFrame:{value:0},vScroll:{value:0},uvScale:{value:c},tintColor:{value:new u(...i)},opacity:{value:a},opacityFactor:{value:1},fogColor:{value:new u},fogNear:{value:1},fogFar:{value:2e3}},vertexShader:g,fragmentShader:_,transparent:!0,blending:2,side:2,depthWrite:!1,fog:!0})}var y=r();function b(e){e.wrapS=e.wrapT=c,e.colorSpace=``,e.flipY=!1,e.needsUpdate=!0}function x(e){let t=(0,h.c)(7),[n,r,i]=e,a;t[0]!==n||t[1]!==r||t[2]!==i?(a=new d(n,r,i),a.translate(n/2,r/2,i/2),t[0]=n,t[1]=r,t[2]=i,t[3]=a):a=t[3];let o=a,s,c;return t[4]===o?(s=t[5],c=t[6]):(s=()=>()=>o.dispose(),c=[o],t[4]=o,t[5]=s,t[6]=c),(0,m.useEffect)(s,c),o}function S(e){let t=(0,h.c)(10),{scale:n,color:r,baseTranslucency:i}=e,a=x(n),o;t[0]!==r[0]||t[1]!==r[1]||t[2]!==r[2]?(o=new u(r[0],r[1],r[2]),t[0]=r[0],t[1]=r[1],t[2]=r[2],t[3]=o):o=t[3];let s=o,c=i*1,l;t[4]!==s||t[5]!==c?(l=(0,y.jsx)(`meshBasicMaterial`,{color:s,transparent:!0,opacity:c,blending:2,side:2,depthWrite:!1,fog:!1}),t[4]=s,t[5]=c,t[6]=l):l=t[6];let d;return t[7]!==a||t[8]!==l?(d=(0,y.jsx)(`mesh`,{geometry:a,renderOrder:1,children:l}),t[7]=a,t[8]=l,t[9]=d):d=t[9],d}function C({scale:e,data:t}){let{animationEnabled:n}=a(),r=x(e),s=f((0,m.useMemo)(()=>t.textures.map(e=>o(e)),[t.textures]),e=>{e.forEach(e=>b(e))}),c=(0,m.useMemo)(()=>v({textures:s,scale:e,umapping:t.umapping,vmapping:t.vmapping,color:t.color,baseTranslucency:t.baseTranslucency}),[s,e,t]);(0,m.useEffect)(()=>()=>c.dispose(),[c]);let l=(0,m.useRef)(0);return i((e,r)=>{if(!n){l.current=0,c.uniforms.currentFrame.value=0,c.uniforms.vScroll.value=0;return}l.current+=r,c.uniforms.currentFrame.value=Math.floor(l.current*t.framesPerSec)%t.numFrames,c.uniforms.vScroll.value=l.current*t.scrollSpeed}),(0,y.jsx)(`mesh`,{geometry:r,material:c,renderOrder:1})}function w(e){let t=(0,h.c)(14),{entity:n}=e,r=n.forceFieldData,i=r.dimensions;if(r.textures.map(T).length===0){let e;return t[0]!==r.baseTranslucency||t[1]!==r.color||t[2]!==i?(e=(0,y.jsx)(S,{scale:i,color:r.color,baseTranslucency:r.baseTranslucency}),t[0]=r.baseTranslucency,t[1]=r.color,t[2]=i,t[3]=e):e=t[3],e}let a;t[4]!==r.baseTranslucency||t[5]!==r.color||t[6]!==i?(a=(0,y.jsx)(S,{scale:i,color:r.color,baseTranslucency:r.baseTranslucency}),t[4]=r.baseTranslucency,t[5]=r.color,t[6]=i,t[7]=a):a=t[7];let o;t[8]!==r||t[9]!==i?(o=(0,y.jsx)(C,{scale:i,data:r}),t[8]=r,t[9]=i,t[10]=o):o=t[10];let s;return t[11]!==a||t[12]!==o?(s=(0,y.jsx)(p,{name:`ForceField`,fallback:a,children:o}),t[11]=a,t[12]=o,t[13]=s):s=t[13],s}function T(e){return o(e)}export{w as ForceFieldBare}; \ No newline at end of file diff --git a/docs/assets/GameView-CAH9mw-8.js b/docs/assets/GameView-CAH9mw-8.js new file mode 100644 index 00000000..23f462bd --- /dev/null +++ b/docs/assets/GameView-CAH9mw-8.js @@ -0,0 +1,526 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/PlayerModel-DwsYOcG2.js","assets/chunk-DECur_0Z.js","assets/index-BEKjcnfN.js","assets/preload-helper-BPkniflS.js","assets/streamHelpers-CRhKrjgF.js","assets/three.module-C9W4LJrj.js","assets/mission-S3koG-vu.js","assets/logger-B058WGzf.js","assets/react-three-fiber.esm-CD18QK1u.js","assets/jsx-runtime-BpGWiA-R.js","assets/traditional-ec-lUAFC.js","assets/SettingsProvider-D-grt5cc.js","assets/engineStore-Mono9lyt.js","assets/manifest-MMwwguGo.js","assets/stringUtils-EmGsjr9D.js","assets/iconBase-BCRUFbxq.js","assets/JoystickContext-D1zeSnLk.js","assets/scene-BpfzP6B-.js","assets/cameraTourStore-DQ989o2x.js","assets/index-BD1vN1aq.css","assets/Html-DcxB1JCg.js","assets/extends-DPirtscy.js","assets/playbackUtils-C1ncI8YZ.js","assets/Texture-D2i1vM3o.js","assets/useBaseQuery-D-AnxeNl.js","assets/globalFogUniforms-BQRkMz5n.js","assets/GenericShape-C0Oq1K_N.js","assets/AudioEmitter-EsMJ6jds.js","assets/DebugBounds-BnJbEQUF.js","assets/AudioEmitter-DAQByNim.css","assets/useAnisotropy-Dq6cNuNI.js","assets/DebugSuspense-D7OBM5vj.js","assets/ShapeErrorBoundary-CKhGCR8M.js","assets/streamPlaybackStore-UQ4nn4bZ.js","assets/PlayerModel-Bi7C0zGW.css","assets/ShapeModel-B4Q8DxMd.js","assets/Projectiles-BEQnp7Nq.js","assets/ForceFieldBare-Bpn0b911.js","assets/AudioEmitter-C10MNZ17.js","assets/WaterBlock-BEenNkk_.js","assets/StreamingController-C-cd6zKq.js","assets/gameEntityTypes-6Vr_C_kI.js","assets/DebugElements-BFAGz36f.js","assets/DebugElements-BP0b5jan.css","assets/Mission-DazAbIp32.js","assets/useQuery-BomOZ8gL.js","assets/misToScene-CUofLla5.js","assets/ChatSoundPlayer-D4Cfif0J.js"])))=>i.map(i=>d[i]); +import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import{a as i,i as a,o,t as s}from"./react-three-fiber.esm-CD18QK1u.js";import{a as c,i as l}from"./SettingsProvider-D-grt5cc.js";import{t as u}from"./useQuery-BomOZ8gL.js";import{A as d,O as f,T as p,b as m,c as h,k as g,v as _,y as v}from"./playbackUtils-C1ncI8YZ.js";import{t as y}from"./stringUtils-EmGsjr9D.js";import{a as b}from"./engineStore-Mono9lyt.js";import{t as x}from"./logger-B058WGzf.js";import{n as S,r as C,t as w}from"./cameraTourStore-DQ989o2x.js";import{t as T,x as E}from"./streamHelpers-CRhKrjgF.js";import{A as D,C as ee,Ct as O,D as k,Dt as A,Ht as j,Kt as M,N,Ot as P,S as F,Ut as I,Wt as L,_ as te,b as R,f as z,h as ne,j as re,jt as ie,k as B,kt as ae,m as oe,q as se,rt as ce,ut as le,v as ue,w as de}from"./three.module-C9W4LJrj.js";import{n as fe,r as pe,t as me}from"./scene-BpfzP6B-.js";import"./mission-S3koG-vu.js";import{t as V}from"./preload-helper-BPkniflS.js";import{t as he}from"./extends-DPirtscy.js";import{t as ge}from"./Html-DcxB1JCg.js";import{t as H}from"./Texture-D2i1vM3o.js";import{$ as _e,A as ve,C as ye,D as be,G as xe,K as Se,O as Ce,Q as we,S as Te,U as Ee,V as De,W as Oe,X as ke,Y as Ae,_ as je,b as Me,f as Ne,g as Pe,h as Fe,j as Ie,m as Le,o as Re,p as U,q as ze,s as Be,t as Ve,u as He,v as Ue,w as We,x as Ge,y as Ke}from"./index-BEKjcnfN.js";import{n as qe,t as Je}from"./DebugBounds-BnJbEQUF.js";import{f as Ye,u as Xe}from"./AudioEmitter-EsMJ6jds.js";import{t as Ze}from"./DebugSuspense-D7OBM5vj.js";import{t as Qe}from"./gameEntityTypes-6Vr_C_kI.js";import{n as $e}from"./streamPlaybackStore-UQ4nn4bZ.js";import{n as et,o as tt,t as nt}from"./GenericShape-C0Oq1K_N.js";import{c as rt,d as it,i as at,n as ot,o as st,r as ct,s as lt,t as W,u as ut}from"./globalFogUniforms-BQRkMz5n.js";import{t as dt}from"./useAnisotropy-Dq6cNuNI.js";import{t as ft}from"./ShapeErrorBoundary-CKhGCR8M.js";var G=e(n());function pt(e,t,n){let r=o(e=>e.size),i=o(e=>e.viewport),a=typeof e==`number`?e:r.width*i.dpr,s=typeof t==`number`?t:r.height*i.dpr,c=(typeof e==`number`?n:e)||{},{samples:l=0,depth:u,...d}=c,f=u??c.depthBuffer,p=G.useMemo(()=>{let e=new M(a,s,{minFilter:se,magFilter:se,type:N,...d});return f&&(e.depthTexture=new de(a,s,D)),e.samples=l,e},[]);return G.useLayoutEffect(()=>{p.setSize(a,s),l&&(p.samples=l)},[l,p,a,s]),G.useEffect(()=>()=>p.dispose(),[]),p}var mt=e=>typeof e==`function`,ht=G.forwardRef(({envMap:e,resolution:t=256,frames:n=1/0,makeDefault:r,children:i,...s},c)=>{let l=o(({set:e})=>e),u=o(({camera:e})=>e),d=o(({size:e})=>e),f=G.useRef(null);G.useImperativeHandle(c,()=>f.current,[]);let p=G.useRef(null),m=pt(t);G.useLayoutEffect(()=>{s.manual||(f.current.aspect=d.width/d.height)},[d,s]),G.useLayoutEffect(()=>{f.current.updateProjectionMatrix()});let h=0,g=null,_=mt(i);return a(t=>{_&&(n===1/0||h{if(r){let e=u;return l(()=>({camera:f.current})),()=>l(()=>({camera:e}))}},[f,r,l]),G.createElement(G.Fragment,null,G.createElement(`perspectiveCamera`,he({ref:f},s),!_&&i),G.createElement(`group`,{ref:p},_&&i(m.texture)))});function gt(e,{path:t}){let[n]=i(F,[e],e=>e.setPath(t));return n}gt.preload=(e,{path:t})=>i.preload(F,[e],e=>e.setPath(t));var K=t(),_t={sunLightPointsDown:{value:!0}};function vt(e){_t.sunLightPointsDown.value=e}var q=r(),yt=x(`SceneLighting`);function bt(){let e=(0,K.c)(6),t=ke(),n,r;if(e[0]===t?(n=e[1],r=e[2]):(n=()=>{t?yt.debug(`sunData: dir=(%s, %s, %s) color=(%s, %s, %s) ambient=(%s, %s, %s)`,t.direction.x.toFixed(3),t.direction.y.toFixed(3),t.direction.z.toFixed(3),t.color.r.toFixed(3),t.color.g.toFixed(3),t.color.b.toFixed(3),t.ambient.r.toFixed(3),t.ambient.g.toFixed(3),t.ambient.b.toFixed(3)):yt.debug(`No sunData — using fallback ambient #888`)},r=[t],e[0]=t,e[1]=n,e[2]=r),(0,G.useEffect)(n,r),!t){let t;return e[3]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,q.jsx)(`ambientLight`,{color:`#888888`,intensity:1}),e[3]=t):t=e[3],t}let i;return e[4]===t?i=e[5]:(i=(0,q.jsx)(xt,{sunData:t}),e[4]=t,e[5]=i),i}function xt(e){let t=(0,K.c)(29),{sunData:n}=e,r;t[0]===n.direction?r=t[1]:(r=pe(n.direction),t[0]=n.direction,t[1]=r);let[i,a,o]=r,s=Math.sqrt(i*i+a*a+o*o),c=i/s,l=a/s,u=o/s,d;t[2]!==c||t[3]!==l||t[4]!==u?(d=new L(c,l,u),t[2]=c,t[3]=l,t[4]=u,t[5]=d):d=t[5];let f=d,p=-f.x*5e3,m=-f.y*5e3,h=-f.z*5e3,g;t[6]!==p||t[7]!==m||t[8]!==h?(g=new L(p,m,h),t[6]=p,t[7]=m,t[8]=h,t[9]=g):g=t[9];let _=g,v;t[10]!==n.color.b||t[11]!==n.color.g||t[12]!==n.color.r?(v=new R(n.color.r,n.color.g,n.color.b),t[10]=n.color.b,t[11]=n.color.g,t[12]=n.color.r,t[13]=v):v=t[13];let y=v,b;t[14]!==n.ambient.b||t[15]!==n.ambient.g||t[16]!==n.ambient.r?(b=new R(n.ambient.r,n.ambient.g,n.ambient.b),t[14]=n.ambient.b,t[15]=n.ambient.g,t[16]=n.ambient.r,t[17]=b):b=t[17];let x=b,S=f.y<0,C,w;t[18]===S?(C=t[19],w=t[20]):(C=()=>{vt(S)},w=[S],t[18]=S,t[19]=C,t[20]=w),(0,G.useEffect)(C,w);let T;t[21]!==y||t[22]!==_?(T=(0,q.jsx)(`directionalLight`,{position:_,color:y,intensity:1,castShadow:!0,"shadow-mapSize-width":8192,"shadow-mapSize-height":8192,"shadow-camera-left":-4096,"shadow-camera-right":4096,"shadow-camera-top":4096,"shadow-camera-bottom":-4096,"shadow-camera-near":100,"shadow-camera-far":12e3,"shadow-bias":-1e-5,"shadow-normalBias":.4,"shadow-radius":2}),t[21]=y,t[22]=_,t[23]=T):T=t[23];let E;t[24]===x?E=t[25]:(E=(0,q.jsx)(`ambientLight`,{color:x,intensity:1}),t[24]=x,t[25]=E);let D;return t[26]!==T||t[27]!==E?(D=(0,q.jsxs)(q.Fragment,{children:[T,E]}),t[26]=T,t[27]=E,t[28]=D):D=t[28],D}function St(){let e=(0,K.c)(4),{fpsLimit:t}=c(),n=o(Ct),r,i;return e[0]!==t||e[1]!==n?(r=()=>{if(t==null)return;let e=1e3/t,r=0,i;function a(t){i=requestAnimationFrame(a),t-r>=e&&(r=t-(t-r)%e,n())}return i=requestAnimationFrame(a),()=>cancelAnimationFrame(i)},i=[t,n],e[0]=t,e[1]=n,e[2]=r,e[3]=i):(r=e[2],i=e[3]),(0,G.useEffect)(r,i),t}function Ct(e){return e.invalidate}function wt(){return St(),null}var Tt={toneMapping:0,outputColorSpace:ae};function Et(e){let t=(0,K.c)(11),{children:n,renderOnDemand:r,dpr:i,onCreated:a}=e,o=r===void 0?!1:r,{renderOnDemand:u}=l(),d=o||u,{fpsLimit:f}=c(),p=f!=null&&!d,m=d||p?`demand`:`always`,h;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(h={type:1},t[0]=h):h=t[0];let g;t[1]===n?g=t[2]:(g=(0,q.jsx)(G.Suspense,{children:n}),t[1]=n,t[2]=g);let _;t[3]===p?_=t[4]:(_=p?(0,q.jsx)(wt,{}):null,t[3]=p,t[4]=_);let v;return t[5]!==i||t[6]!==a||t[7]!==m||t[8]!==g||t[9]!==_?(v=(0,q.jsxs)(s,{frameloop:m,dpr:i,gl:Tt,shadows:h,onCreated:a,children:[g,_]}),t[5]=i,t[6]=a,t[7]=m,t[8]=g,t[9]=_,t[10]=v):v=t[10],v}function Dt(e){let t=(0,K.c)(14),{entity:n}=e,{registerCamera:r,unregisterCamera:i}=Ie(),a=(0,G.useId)(),o=n.cameraDataBlock,s;t[0]===n.position?s=t[1]:(s=n.position?new L(...n.position):new L,t[0]=n.position,t[1]=s);let c=s,l;t[2]===n.rotation?l=t[3]:(l=n.rotation?new O(...n.rotation):new O,t[2]=n.rotation,t[3]=l);let u=l,d,f;t[4]!==o||t[5]!==a||t[6]!==c||t[7]!==r||t[8]!==u||t[9]!==i?(d=()=>{if(o===`Observer`){let e={id:a,position:c,rotation:u};return r(e),()=>{i(e)}}},f=[a,o,r,i,c,u],t[4]=o,t[5]=a,t[6]=c,t[7]=r,t[8]=u,t[9]=i,t[10]=d,t[11]=f):(d=t[10],f=t[11]),(0,G.useEffect)(d,f);let p=C(n.id),m;return t[12]===p?m=t[13]:(m=p?(0,q.jsx)(qe,{radius:1.5}):null,t[12]=p,t[13]=m),m}function Ot(e){let t=(0,K.c)(7),{entity:n}=e,r=C(n.id),i;t[0]===n.label?i=t[1]:(i=n.label?(0,q.jsx)(Xe,{opacity:.6,children:n.label}):null,t[0]=n.label,t[1]=i);let a;t[2]===r?a=t[3]:(a=r&&(0,q.jsx)(qe,{radius:1.5}),t[2]=r,t[3]=a);let o;return t[4]!==i||t[5]!==a?(o=(0,q.jsxs)(q.Fragment,{children:[i,a]}),t[4]=i,t[5]=a,t[6]=o):o=t[6],o}function kt(e){let t=new Float32Array(e.length);for(let n=0;n{e.uniforms[`albedo${n}`]={value:t}}),n.forEach((t,n)=>{e.uniforms[`mask${n}`]={value:t}}),r&&(e.uniforms.visibilityMask={value:r}),t.forEach((t,n)=>{e.uniforms[`tiling${n}`]={value:i[n]??32}}),o&&(e.uniforms.terrainLightmap={value:o}),a&&(e.uniforms.detailTexture={value:a},e.uniforms.detailTiling={value:Mt},e.uniforms.detailFadeDistance={value:Nt},e.vertexShader=e.vertexShader.replace(`#include `,`#include +varying vec3 vTerrainWorldPos;`),e.vertexShader=e.vertexShader.replace(`#include `,`#include +vec4 _terrainPos = vec4(transformed, 1.0); +#ifdef USE_INSTANCING + _terrainPos = instanceMatrix * _terrainPos; +#endif +vTerrainWorldPos = (modelMatrix * _terrainPos).xyz;`)),e.fragmentShader=` +uniform sampler2D albedo0; +uniform sampler2D albedo1; +uniform sampler2D albedo2; +uniform sampler2D albedo3; +uniform sampler2D albedo4; +uniform sampler2D albedo5; +uniform sampler2D mask0; +uniform sampler2D mask1; +uniform sampler2D mask2; +uniform sampler2D mask3; +uniform sampler2D mask4; +uniform sampler2D mask5; +uniform float tiling0; +uniform float tiling1; +uniform float tiling2; +uniform float tiling3; +uniform float tiling4; +uniform float tiling5; +${r?`uniform sampler2D visibilityMask;`:``} +${o?`uniform sampler2D terrainLightmap;`:``} +uniform bool sunLightPointsDown; +${a?`uniform sampler2D detailTexture; +uniform float detailTiling; +uniform float detailFadeDistance; +varying vec3 vTerrainWorldPos;`:``} + +${Pt} + +// Global variable to store shadow factor from RE_Direct for use in output calculation +float terrainShadowFactor = 1.0; +`+e.fragmentShader,r){let t=`#include `;e.fragmentShader=e.fragmentShader.replace(t,`${t} + // Early discard for invisible areas (before fog/lighting) + float visibility = texture2D(visibilityMask, vMapUv).r; + if (visibility < 0.5) { + discard; + } + `)}e.fragmentShader=e.fragmentShader.replace(`#include `,` + // Sample base albedo layers (sRGB textures auto-decoded to linear by Three.js) + vec2 baseUv = vMapUv; + vec3 c0 = texture2D(albedo0, baseUv * vec2(tiling0)).rgb; + ${s>1?`vec3 c1 = texture2D(albedo1, baseUv * vec2(tiling1)).rgb;`:``} + ${s>2?`vec3 c2 = texture2D(albedo2, baseUv * vec2(tiling2)).rgb;`:``} + ${s>3?`vec3 c3 = texture2D(albedo3, baseUv * vec2(tiling3)).rgb;`:``} + ${s>4?`vec3 c4 = texture2D(albedo4, baseUv * vec2(tiling4)).rgb;`:``} + ${s>5?`vec3 c5 = texture2D(albedo5, baseUv * vec2(tiling5)).rgb;`:``} + + // Sample alpha masks for all layers (use R channel) + // Add +0.5 texel offset: Torque samples alpha at grid corners (integer indices), + // but GPU linear filtering samples at texel centers. This offset aligns them. + vec2 alphaUv = baseUv + vec2(0.5 / ${At}.0); + float a0 = texture2D(mask0, alphaUv).r; + ${s>1?`float a1 = texture2D(mask1, alphaUv).r;`:``} + ${s>2?`float a2 = texture2D(mask2, alphaUv).r;`:``} + ${s>3?`float a3 = texture2D(mask3, alphaUv).r;`:``} + ${s>4?`float a4 = texture2D(mask4, alphaUv).r;`:``} + ${s>5?`float a5 = texture2D(mask5, alphaUv).r;`:``} + + // Torque-style additive weighted blending (blender.cc): + // result = tex0 * alpha0 + tex1 * alpha1 + tex2 * alpha2 + ... + // Each layer's alpha map defines its contribution weight. + vec3 blended = c0 * a0; + ${s>1?`blended += c1 * a1;`:``} + ${s>2?`blended += c2 * a2;`:``} + ${s>3?`blended += c3 * a3;`:``} + ${s>4?`blended += c4 * a4;`:``} + ${s>5?`blended += c5 * a5;`:``} + + // Assign to diffuseColor before lighting + vec3 textureColor = blended; + + ${a?`// Detail texture blending (Torque-style multiplicative blend) + // Sample detail texture at high frequency tiling + vec3 detailColor = texture2D(detailTexture, baseUv * detailTiling).rgb; + + // Calculate distance-based fade factor using world positions + // Torque: distFactor = (zeroDetailDistance - distance) / zeroDetailDistance + float distToCamera = distance(vTerrainWorldPos, cameraPosition); + float detailFade = clamp(1.0 - distToCamera / detailFadeDistance, 0.0, 1.0); + + // Torque blending: dst * lerp(1.0, detailTexel, fadeFactor) + // Detail textures are authored with bright values (~0.8 mean), not 0.5 gray + // Direct multiplication adds subtle darkening for surface detail + textureColor *= mix(vec3(1.0), detailColor, detailFade);`:``} + + // Store blended texture in diffuseColor (still in linear space here) + // We'll convert to sRGB in the output calculation + diffuseColor.rgb = textureColor; +`),o&&(e.fragmentShader=e.fragmentShader.replace(`#include `,`#include + +// Override RE_Direct to extract shadow factor for Torque-style gamma-space lighting +#undef RE_Direct +void RE_Direct_TerrainShadow( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in LambertMaterial material, inout ReflectedLight reflectedLight ) { + // Torque lighting (terrLighting.cc): if light points up, terrain gets only ambient + // This prevents shadow acne from light hitting terrain backfaces + if (!sunLightPointsDown) { + terrainShadowFactor = 0.0; + return; + } + // directLight.color = sunColor * shadowFactor (shadow already applied by Three.js) + // Extract shadow factor by comparing to original sun color + #if ( NUM_DIR_LIGHTS > 0 ) + vec3 originalSunColor = directionalLights[0].color; + float sunMax = max(max(originalSunColor.r, originalSunColor.g), originalSunColor.b); + float shadowedMax = max(max(directLight.color.r, directLight.color.g), directLight.color.b); + terrainShadowFactor = clamp(shadowedMax / max(sunMax, 0.001), 0.0, 1.0); + #endif + // Don't add to reflectedLight - we'll compute lighting in gamma space at output +} +#define RE_Direct RE_Direct_TerrainShadow + +`),e.fragmentShader=e.fragmentShader.replace(`#include `,`#include +// Clear indirect diffuse - we'll compute ambient in gamma space +#if defined( RE_IndirectDiffuse ) + irradiance = vec3(0.0); +#endif +`),e.fragmentShader=e.fragmentShader.replace(`#include `,`#include + // Clear Three.js lighting - we compute everything in gamma space + reflectedLight.directDiffuse = vec3(0.0); + reflectedLight.indirectDiffuse = vec3(0.0); +`)),e.fragmentShader=e.fragmentShader.replace(`#include `,`// Torque-style terrain lighting: output = clamp(lighting × texture, 0, 1) in sRGB space +{ + // Get texture in sRGB space (undo Three.js linear decode) + vec3 textureSRGB = terrainLinearToSRGB(diffuseColor.rgb); + + ${o?` + // Sample terrain lightmap for smooth NdotL + vec2 lightmapUv = vMapUv + vec2(0.5 / ${jt}.0); + float lightmapNdotL = texture2D(terrainLightmap, lightmapUv).r; + + // Get sun and ambient colors from Three.js lights (these ARE sRGB values from mission file) + // Three.js interprets them as linear, but the numerical values are preserved + #if ( NUM_DIR_LIGHTS > 0 ) + vec3 sunColorSRGB = directionalLights[0].color; + #else + vec3 sunColorSRGB = vec3(0.7); + #endif + vec3 ambientColorSRGB = ambientLightColor; + + // Torque formula (terrLighting.cc:471-483): + // lighting = ambient + NdotL * shadowFactor * sunColor + // Clamp lighting to [0,1] before multiplying by texture + vec3 lightingSRGB = clamp(ambientColorSRGB + lightmapNdotL * terrainShadowFactor * sunColorSRGB, 0.0, 1.0); + `:` + // No lightmap - use simple ambient lighting + vec3 lightingSRGB = ambientLightColor; + `} + + // Torque formula: output = clamp(lighting × texture, 0, 1) in sRGB/gamma space + vec3 resultSRGB = clamp(lightingSRGB * textureSRGB, 0.0, 1.0); + + // Convert back to linear for Three.js output pipeline + outgoingLight = terrainSRGBToLinear(resultSRGB) + totalEmissiveRadiance; +} +#include `),e.fragmentShader=e.fragmentShader.replace(`#include `,`#if DEBUG_MODE + // Debug mode: overlay green grid matching terrain grid squares (256x256) + float gridIntensity = terrainDebugGrid(vMapUv, 256.0, 1.5); + vec3 gridColor = vec3(0.0, 0.8, 0.4); // Green + gl_FragColor.rgb = mix(gl_FragColor.rgb, gridColor, gridIntensity * 0.1); +#endif + +#include `)}var It={0:32,1:32,2:32,3:32,4:32,5:32},Lt=(0,G.memo)(function({displacementMap:e,visibilityMask:t,textureNames:n,alphaTextures:r,detailTextureName:i,lightmap:a}){let{debugMode:o}=l(),s=dt(),c=H(n.map(e=>Ne(e)),e=>{e.forEach(e=>it(e,{anisotropy:s}))}),u=i?U(i):null,d=H(u??Ve,e=>{it(e,{anisotropy:s})}),f=(0,G.useCallback)(e=>{Ft({shader:e,baseTextures:c,alphaTextures:r,visibilityMask:t,tiling:It,detailTexture:u?d:null,lightmap:a}),st(e,W)},[c,r,t,d,u,a]),p=(0,G.useMemo)(()=>[n.join(`,`),u??`none`,a?a.id:`nolm`,c.map(e=>e.id).join(`,`)].join(`|`),[n,u,a,c]),m=(0,G.useRef)(null);return(0,G.useEffect)(()=>{let e=m.current;e&&(e.defines??={},e.defines.DEBUG_MODE=o?1:0,e.needsUpdate=!0)},[o]),(0,G.useEffect)(()=>{let e=m.current;e&&(e.customProgramCacheKey=()=>p,e.needsUpdate=!0)},[p]),(0,q.jsx)(`meshLambertMaterial`,{ref:m,map:e,depthWrite:!0,side:0,defines:{DEBUG_MODE:o?1:0},onBeforeCompile:f},`${u?`detail`:`nodetail`}-${a?`lightmap`:`nolightmap`}`)}),Rt=(0,G.memo)(function(e){let t=(0,K.c)(8),{displacementMap:n,visibilityMask:r,textureNames:i,alphaTextures:a,detailTextureName:o,lightmap:s}=e,c;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,q.jsx)(`meshLambertMaterial`,{color:`rgb(0, 109, 56)`,wireframe:!0}),t[0]=c):c=t[0];let l;return t[1]!==a||t[2]!==o||t[3]!==n||t[4]!==s||t[5]!==i||t[6]!==r?(l=(0,q.jsx)(G.Suspense,{fallback:c,children:(0,q.jsx)(Lt,{displacementMap:n,visibilityMask:r,textureNames:i,alphaTextures:a,detailTextureName:o,lightmap:s})}),t[1]=a,t[2]=o,t[3]=n,t[4]=s,t[5]=i,t[6]=r,t[7]=l):l=t[7],l}),zt=(0,G.memo)(function(e){let t=(0,K.c)(15),{tileX:n,tileZ:r,blockSize:i,basePosition:a,textureNames:o,geometry:s,displacementMap:c,visibilityMask:l,alphaTextures:u,detailTextureName:d,lightmap:f,visible:p}=e,m=p===void 0?!0:p,h=i/2,g=a.x+n*i+h,_=a.z+r*i+h,v;t[0]!==g||t[1]!==_?(v=[g,0,_],t[0]=g,t[1]=_,t[2]=v):v=t[2];let y=v,b;t[3]!==u||t[4]!==d||t[5]!==c||t[6]!==f||t[7]!==o||t[8]!==l?(b=(0,q.jsx)(Rt,{displacementMap:c,visibilityMask:l,textureNames:o,alphaTextures:u,detailTextureName:d,lightmap:f}),t[3]=u,t[4]=d,t[5]=c,t[6]=f,t[7]=o,t[8]=l,t[9]=b):b=t[9];let x;return t[10]!==s||t[11]!==y||t[12]!==b||t[13]!==m?(x=(0,q.jsx)(`mesh`,{position:y,geometry:s,castShadow:!0,receiveShadow:!0,visible:m,children:b}),t[10]=s,t[11]=y,t[12]=b,t[13]=m,t[14]=x):x=t[14],x}),Bt=x(`TerrainBlock`),Vt=8,Ht=600,J=256,Ut=512,Y=2048;function Wt(e,t){let n=new ne,r=(t+1)*(t+1),i=new Float32Array(r*3),a=new Float32Array(r*3),o=new Float32Array(r*2),s=t*t*6,c=new Uint32Array(s),l=0,u=e/t;for(let n=0;n<=t;n++)for(let r=0;r<=t;r++){let s=n*(t+1)+r;i[s*3]=r*u-e/2,i[s*3+1]=e/2-n*u,i[s*3+2]=0,a[s*3]=0,a[s*3+1]=0,a[s*3+2]=1,o[s*2]=r/t,o[s*2+1]=1-n/t}for(let e=0;e(e=Math.max(0,Math.min(J-1,e)),n=Math.max(0,Math.min(J-1,n)),t[n*J+e]/65535*Y),d=(e,n)=>{e=Math.max(0,Math.min(J-1,e)),n=Math.max(0,Math.min(J-1,n));let r=Math.floor(e),i=Math.floor(n),a=Math.min(r+1,J-1),o=Math.min(i+1,J-1),s=e-r,c=n-i,l=t[i*J+r]/65535*Y,u=t[i*J+a]/65535*Y,d=t[o*J+r]/65535*Y,f=t[o*J+a]/65535*Y,p=l*(1-s)+u*s,m=d*(1-s)+f*s;return p*(1-c)+m*c};for(let e=0;e0?(_/=b,v/=b,y/=b):(_=0,v=1,y=0),c[e*3]=_,c[e*3+1]=v,c[e*3+2]=y}r.needsUpdate=!0,a.needsUpdate=!0}function Kt(e,t,n,r,i,a){let o=r.z/i,s=r.x/i,c=r.y,l=Math.sqrt(o*o+s*s);if(l<1e-4)return 1;let u=.5/l,d=o*u,f=s*u,p=c*u,m=e,h=t,g=n+.1,_=J*3;for(let e=0;e<_;e++){if(m+=d,h+=f,g+=p,m<0||m>=J||h<0||h>=J||g>Y)return 1;let e=a(m,h);if(g{let r=Math.max(0,Math.min(J-1,t)),i=Math.max(0,Math.min(J-1,n)),a=Math.floor(r),o=Math.floor(i),s=Math.min(a+1,J-1),c=Math.min(o+1,J-1),l=r-a,u=i-o,d=e[o*J+a]/65535,f=e[o*J+s]/65535,p=e[c*J+a]/65535,m=e[c*J+s]/65535,h=d*(1-l)+f*l,g=p*(1-l)+m*l;return(h*(1-u)+g*u)*Y},i=new L(-t.x,-t.y,-t.z).normalize(),a=new Uint8Array(Ut*Ut),o=.5;for(let e=0;e0&&(b=Kt(s,c,l,i,n,r)),a[e*Ut+t]=Math.floor(y*b*255)}let s=new ee(a,Ut,Ut,A,j);return s.colorSpace=``,s.generateMipmaps=!0,s.wrapS=ue,s.wrapT=ue,s.magFilter=se,s.minFilter=se,s.needsUpdate=!0,s}function Jt(e){let t=(0,K.c)(8),n;t[0]===e?n=t[1]:(n={queryKey:[`terrain`,e],queryFn:()=>(Bt.debug(`Loading terrain: %s`,e),He(e))},t[0]=e,t[1]=n);let r=u(n),i,a;return t[2]!==r.data||t[3]!==r.error||t[4]!==r.status||t[5]!==e?(i=()=>{Bt.debug(`Query status: %s%s%s file=%s`,r.status,r.error?` error=${r.error.message}`:``,r.data?` (data ready)`:` (no data)`,e)},a=[r.status,r.error,r.data,e],t[2]=r.data,t[3]=r.error,t[4]=r.status,t[5]=e,t[6]=i,t[7]=a):(i=t[6],a=t[7]),(0,G.useEffect)(i,a),r}function Yt(){let e=Ae();return e&&e.visibleDistance>0?e.visibleDistance:Ht}function Xt(e){let t=new Uint8Array(J*J);t.fill(255);for(let n of e){let e=n&255,r=n>>8&255,i=n>>16,a=r*J;for(let n=0;n{if(v)return _e(we(v.heightMap,c)),en},S=[v,c],t[8]=c,t[9]=v,t[10]=x,t[11]=S):(x=t[10],S=t[11]),(0,G.useEffect)(x,S);let w=ke(),T;bb1:{if(!w){let e;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(e=new L(.57735,-.57735,.57735),t[12]=e):e=t[12],T=e;break bb1}let e;t[13]===w.direction?e=t[14]:(e=pe(w.direction),t[13]=w.direction,t[14]=e);let[n,r,i]=e,a=Math.sqrt(n*n+r*r+i*i),o=n/a,s=r/a,c=i/a,l;t[15]!==c||t[16]!==o||t[17]!==s?(l=new L(o,s,c),t[15]=c,t[16]=o,t[17]=s,t[18]=l):l=t[18],T=l}let E=T,O;bb2:{if(!v){O=null;break bb2}let e;t[19]!==c||t[20]!==E||t[21]!==v.heightMap?(e=qt(v.heightMap,E,c),t[19]=c,t[20]=E,t[21]=v.heightMap,t[22]=e):e=t[22],O=e}let k=O,j;bb3:{if(!v){j=null;break bb3}let e;t[23]===v.heightMap?e=t[24]:(e=new ee(kt(v.heightMap),J,J,A,D),e.colorSpace=``,e.generateMipmaps=!1,e.wrapS=P,e.wrapT=P,e.needsUpdate=!0,t[23]=v.heightMap,t[24]=e),j=e}let M=j,N;t[25]===_?N=t[26]:(N=Xt(_),t[25]=_,t[26]=N);let F=N,I;t[27]===Symbol.for(`react.memo_cache_sentinel`)?(I=Xt([]),t[27]=I):I=t[27];let te=I,R;bb4:{if(!v){R=null;break bb4}let e;t[28]===v.alphaMaps?e=t[29]:(e=v.alphaMaps.map(tn),t[28]=v.alphaMaps,t[29]=e),R=e}let z=R,ne=2*Math.ceil(d/u)+1,re=ne*ne-1,ie=(0,G.useRef)(null),B;t[30]===Symbol.for(`react.memo_cache_sentinel`)?(B=new ce,t[30]=B):B=t[30];let ae=B,oe;t[31]===Symbol.for(`react.memo_cache_sentinel`)?(oe={xStart:1/0,xEnd:-1/0,zStart:1/0,zEnd:-1/0},t[31]=oe):oe=t[31];let se=(0,G.useRef)(oe),le=(0,G.useRef)(null),ue;if(t[32]!==h||t[33]!==u||t[34]!==f||t[35]!==d?(ue=()=>{let e=ie.current;if(!e)return;let t=f.position.x-h.x,n=f.position.z-h.z,r=Math.floor((t-d)/u),i=Math.ceil((t+d)/u),a=Math.floor((n-d)/u),o=Math.ceil((n+d)/u),s=se.current;if(e===le.current&&r===s.xStart&&i===s.xEnd&&a===s.zStart&&o===s.zEnd)return;le.current=e,s.xStart=r,s.xEnd=i,s.zStart=a,s.zEnd=o;let c=u/2,l=0;for(let t=r;ta&&(a=t)}let o=i.x+r/2,s=a/2,c=i.z+r/2,l;t[0]!==o||t[1]!==s||t[2]!==c?(l=[o,s,c],t[0]=o,t[1]=s,t[2]=c,t[3]=l):l=t[3];let u=l,d;t[4]!==r||t[5]!==a?(d=[r,a,r],t[4]=r,t[5]=a,t[6]=d):d=t[6];let f=d,p;t[7]!==u||t[8]!==f?(p={center:u,size:f},t[7]=u,t[8]=f,t[9]=p):p=t[9];let m=p,h;t[10]===m.size?h=t[11]:(h=(0,q.jsx)(Je,{size:m.size}),t[10]=m.size,t[11]=h);let g;return t[12]!==m.center||t[13]!==h?(g=(0,q.jsx)(`group`,{position:m.center,children:h}),t[12]=m.center,t[13]=h,t[14]=g):g=t[14],g}function $t(e){return e.camera}function en(){return _e(null)}function tn(e){return ut(e)}var nn=` +vec3 interiorLinearToSRGB(vec3 linear) { + vec3 higher = pow(linear, vec3(1.0/2.4)) * 1.055 - 0.055; + vec3 lower = linear * 12.92; + return mix(lower, higher, step(vec3(0.0031308), linear)); +} + +vec3 interiorSRGBToLinear(vec3 srgb) { + vec3 higher = pow((srgb + 0.055) / 1.055, vec3(2.4)); + vec3 lower = srgb / 12.92; + return mix(lower, higher, step(vec3(0.04045), srgb)); +} + +// Debug grid overlay function using screen-space derivatives for sharp, anti-aliased lines +// Returns 1.0 on grid lines, 0.0 elsewhere +float debugGrid(vec2 uv, float gridSize, float lineWidth) { + vec2 scaledUV = uv * gridSize; + vec2 grid = abs(fract(scaledUV - 0.5) - 0.5) / fwidth(scaledUV); + float line = min(grid.x, grid.y); + return 1.0 - min(line / lineWidth, 1.0); +} +`;function rn(e,t){let n=t.surfaceOutsideVisible??!1;e.uniforms.useSceneLighting={value:n},e.uniforms.interiorDebugColor={value:n?new L(0,.4,1):new L(1,.2,0)},e.fragmentShader=e.fragmentShader.replace(`#include `,`#include +${nn} +uniform bool useSceneLighting; +uniform vec3 interiorDebugColor; +`),e.fragmentShader=e.fragmentShader.replace(`#include `,`// Lightmap handled in custom output calculation +#ifdef USE_LIGHTMAP + vec4 lightMapTexel = texture2D( lightMap, vLightMapUv ); +#endif`),e.fragmentShader=e.fragmentShader.replace(`#include `,`// Torque-style lighting: output = clamp(lighting × texture, 0, 1) in sRGB space +// Get texture in sRGB space (undo Three.js linear decode) +vec3 textureSRGB = interiorLinearToSRGB(diffuseColor.rgb); + +// Compute lighting in sRGB space +vec3 lightingSRGB = vec3(0.0); + +if (useSceneLighting) { + // Three.js computed: reflectedLight = lighting × texture_linear / PI + // Extract pure lighting: lighting = reflectedLight × PI / texture_linear + vec3 totalLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse; + vec3 safeTexLinear = max(diffuseColor.rgb, vec3(0.001)); + vec3 extractedLighting = totalLight * PI / safeTexLinear; + // NOTE: extractedLighting is ALREADY sRGB values because mission sun/ambient colors + // are sRGB values (Torque used them directly in gamma space). Three.js treats them + // as linear but the numerical values are the same. DO NOT convert to sRGB here! + // IMPORTANT: Torque clamps scene lighting to [0,1] BEFORE adding to lightmap + // (sceneLighting.cc line 1785: tmp.clamp()) + lightingSRGB = clamp(extractedLighting, 0.0, 1.0); +} + +// Add lightmap contribution (for BOTH outside and inside surfaces) +// In Torque, scene lighting is ADDED to lightmaps for outside surfaces at mission load +// (stored in .ml files). Inside surfaces only have base lightmap. Both need lightmap here. +#ifdef USE_LIGHTMAP + // Lightmap is stored as linear in Three.js (decoded from sRGB texture), convert back + lightingSRGB += interiorLinearToSRGB(lightMapTexel.rgb); +#endif +// Torque clamps the sum to [0,1] per channel (sceneLighting.cc lines 1817-1827) +lightingSRGB = clamp(lightingSRGB, 0.0, 1.0); + +// Torque formula: output = clamp(lighting × texture, 0, 1) in sRGB/gamma space +vec3 resultSRGB = clamp(lightingSRGB * textureSRGB, 0.0, 1.0); + +// Convert back to linear for Three.js output pipeline +vec3 resultLinear = interiorSRGBToLinear(resultSRGB); + +// Reassign outgoingLight before opaque_fragment consumes it +outgoingLight = resultLinear + totalEmissiveRadiance; + +#include `),e.fragmentShader=e.fragmentShader.replace(`#include `,`// Debug mode: overlay colored grid on top of normal rendering +// Blue grid = SurfaceOutsideVisible (receives scene ambient light) +// Red grid = inside surface (no scene ambient light) +#if DEBUG_MODE && defined(USE_MAP) + // gridSize=4 creates 4x4 grid per UV tile, lineWidth=1.5 is ~1.5 pixels wide + float gridIntensity = debugGrid(vMapUv, 4.0, 1.5); + gl_FragColor.rgb = mix(gl_FragColor.rgb, interiorDebugColor, gridIntensity * 0.1); +#endif + +#include `)}var an=x(`InteriorInstance`);function on(e){let t=(0,K.c)(2),n;return t[0]===e?n=t[1]:(n=Re(e),t[0]=e,t[1]=n),Le(n)}function sn({materialName:e,material:t,lightMap:n}){let r=l()?.debugMode??!1,i=dt(),a=H(U(e),e=>it(e,{anisotropy:i})),o=new Set(t?.userData?.flag_names??[]).has(`SelfIlluminating`),s=new Set(t?.userData?.surface_flag_names??[]).has(`SurfaceOutsideVisible`),c=(0,G.useCallback)(e=>{st(e,W),rn(e,{surfaceOutsideVisible:s})},[s]),u=(0,G.useRef)(null),d=(0,G.useRef)(null);(0,G.useEffect)(()=>{let e=u.current??d.current;e&&(e.defines??={},e.defines.DEBUG_MODE=r?1:0,e.needsUpdate=!0)},[r]);let f={DEBUG_MODE:r?1:0},p=`${s}`;return o?(0,q.jsx)(`meshBasicMaterial`,{ref:u,map:a,toneMapped:!1,defines:f,onBeforeCompile:c},p):(0,q.jsx)(`meshLambertMaterial`,{ref:d,map:a,lightMap:n,toneMapped:!1,defines:f,onBeforeCompile:c},p)}function cn(e){if(!e)return null;let t=e.emissiveMap;return t&&(t.colorSpace=ae),t??null}function ln(e){let t=(0,K.c)(13),{node:n}=e,r;bb0:{if(!n.material){let e;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=[],t[0]=e):e=t[0],r=e;break bb0}if(Array.isArray(n.material)){let e;t[1]===n.material?e=t[2]:(e=n.material.map(un),t[1]=n.material,t[2]=e),r=e;break bb0}let e;t[3]===n.material?e=t[4]:(e=cn(n.material),t[3]=n.material,t[4]=e);let i;t[5]===e?i=t[6]:(i=[e],t[5]=e,t[6]=i),r=i}let i=r,a;t[7]!==i||t[8]!==n.material?(a=n.material?(0,q.jsx)(Ze,{name:`InteriorTexture:${Array.isArray(n.material)?n.material[0]?.userData?.resource_path:n.material?.userData?.resource_path??`?`}`,fallback:(0,q.jsx)(`meshStandardMaterial`,{color:`yellow`,wireframe:!0}),children:Array.isArray(n.material)?n.material.map((e,t)=>(0,q.jsx)(sn,{materialName:e.userData.resource_path,material:e,lightMap:i[t]},t)):(0,q.jsx)(sn,{materialName:n.material.userData.resource_path,material:n.material,lightMap:i[0]})}):null,t[7]=i,t[8]=n.material,t[9]=a):a=t[9];let o;return t[10]!==n.geometry||t[11]!==a?(o=(0,q.jsx)(`mesh`,{geometry:n.geometry,castShadow:!0,receiveShadow:!0,children:a}),t[10]=n.geometry,t[11]=a,t[12]=o):o=t[12],o}function un(e){return cn(e)}var dn=(0,G.memo)(function(e){let t=(0,K.c)(27),{interiorFile:n,ghostIndex:r,isTarget:i}=e,a=on(n),{nodes:o}=a,s=l()?.debugMode??!1,c;bb0:{if(!i){c=null;break bb0}let e,n;if(t[0]!==a.scene){let r=new z().setFromObject(a.scene);e=new L,n=new L,r.getCenter(e),r.getSize(n),t[0]=a.scene,t[1]=e,t[2]=n}else e=t[1],n=t[2];let r;t[3]!==e.x||t[4]!==e.y||t[5]!==e.z?(r=[e.x,e.y,e.z],t[3]=e.x,t[4]=e.y,t[5]=e.z,t[6]=r):r=t[6];let o=r,s;t[7]!==n.x||t[8]!==n.y||t[9]!==n.z?(s=[n.x,n.y,n.z],t[7]=n.x,t[8]=n.y,t[9]=n.z,t[10]=s):s=t[10];let l=s,u;t[11]!==o||t[12]!==l?(u={center:o,size:l},t[11]=o,t[12]=l,t[13]=u):u=t[13],c=u}let u=c,d;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(d=[0,-Math.PI/2,0],t[14]=d):d=t[14];let f;t[15]===o?f=t[16]:(f=Object.entries(o).filter(hn).map(gn),t[15]=o,t[16]=f);let p;t[17]!==s||t[18]!==r||t[19]!==n?(p=s?(0,q.jsxs)(Xe,{children:[r,`: `,n]}):null,t[17]=s,t[18]=r,t[19]=n,t[20]=p):p=t[20];let m;t[21]===u?m=t[22]:(m=u&&(0,q.jsx)(`group`,{position:u.center,children:(0,q.jsx)(Je,{size:u.size})}),t[21]=u,t[22]=m);let h;return t[23]!==f||t[24]!==p||t[25]!==m?(h=(0,q.jsxs)(`group`,{rotation:d,children:[f,p,m]}),t[23]=f,t[24]=p,t[25]=m,t[26]=h):h=t[26],h});function fn(e){let t=(0,K.c)(9),{color:n,label:r}=e,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,q.jsx)(`boxGeometry`,{args:[10,10,10]}),t[0]=i):i=t[0];let a;t[1]===n?a=t[2]:(a=(0,q.jsx)(`meshStandardMaterial`,{color:n,wireframe:!0}),t[1]=n,t[2]=a);let o;t[3]!==n||t[4]!==r?(o=r?(0,q.jsx)(Xe,{color:n,children:r}):null,t[3]=n,t[4]=r,t[5]=o):o=t[5];let s;return t[6]!==a||t[7]!==o?(s=(0,q.jsxs)(`mesh`,{children:[i,a,o]}),t[6]=a,t[7]=o,t[8]=s):s=t[8],s}function pn(e){let t=(0,K.c)(3),{label:n}=e,r=l()?.debugMode??!1,i;return t[0]!==r||t[1]!==n?(i=r?(0,q.jsx)(fn,{color:`red`,label:n}):null,t[0]=r,t[1]=n,t[2]=i):i=t[2],i}var mn=(0,G.memo)(function(e){let t=(0,K.c)(27),{entity:n}=e,r=n.interiorData,i=C(n.id),a;t[0]===r.transform.position?a=t[1]:(a=pe(r.transform.position),t[0]=r.transform.position,t[1]=a);let o=a,s;t[2]===r.transform?s=t[3]:(s=me(r.transform),t[2]=r.transform,t[3]=s);let c=s,l;t[4]===r.scale?l=t[5]:(l=fe(r.scale),t[4]=r.scale,t[5]=l);let u=l,d=`${r.ghostIndex}: ${r.interiorFile}`,f;t[6]===d?f=t[7]:(f=(0,q.jsx)(pn,{label:d}),t[6]=d,t[7]=f);let p;t[8]===r.interiorFile?p=t[9]:(p=e=>{an.error(`Failed to load %s: %s`,r.interiorFile,e.message)},t[8]=r.interiorFile,t[9]=p);let m=`InteriorModel:${r.interiorFile}`,h;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,q.jsx)(fn,{color:`orange`}),t[10]=h):h=t[10];let g;t[11]!==i||t[12]!==r.ghostIndex||t[13]!==r.interiorFile?(g=(0,q.jsx)(dn,{interiorFile:r.interiorFile,ghostIndex:r.ghostIndex,isTarget:i}),t[11]=i,t[12]=r.ghostIndex,t[13]=r.interiorFile,t[14]=g):g=t[14];let _;t[15]!==m||t[16]!==g?(_=(0,q.jsx)(Ze,{name:m,fallback:h,children:g}),t[15]=m,t[16]=g,t[17]=_):_=t[17];let v;t[18]!==_||t[19]!==f||t[20]!==p?(v=(0,q.jsx)(tt,{fallback:f,onError:p,children:_}),t[18]=_,t[19]=f,t[20]=p,t[21]=v):v=t[21];let y;return t[22]!==o||t[23]!==c||t[24]!==u||t[25]!==v?(y=(0,q.jsx)(`group`,{position:o,quaternion:c,scale:u,children:v}),t[22]=o,t[23]=c,t[24]=u,t[25]=v,t[26]=y):y=t[26],y});function hn(e){let[,t]=e;return t.isMesh}function gn(e){let[t,n]=e;return(0,q.jsx)(ln,{node:n},t)}var _n=()=>{},X=5,vn=X*X,yn=.05;function bn(e,t,n){let r=e,i=t,a=n;return[a,a,a,a,a,a,i,i,i,a,a,i,r,i,a,a,i,i,i,a,a,a,a,a,a]}function xn(e,t){let n=new Float32Array(vn);for(let r=0;r.8&&(o=1),n[r]=o}return n}function Sn(e,t,n,r){let i=new ne,a=new Float32Array(vn*3),o=new Float32Array(vn*2),s=bn(t,n,r),c=e*2/(X-1);for(let t=0;t({x:e[t*3],y:e[t*3+1],z:e[t*3+2]}),n=(t,n,r,i)=>{e[t*3]=n,e[t*3+1]=r,e[t*3+2]=i},r=t(1),i=t(3),a=t(5),o=t(6),s=t(8),c=t(9),l=t(15),u=t(16),d=t(18),f=t(19),p=t(21),m=t(23),h=a.x+(r.x-a.x)*.5,g=a.y+(r.y-a.y)*.5,_=a.z+(r.z-a.z)*.5;n(0,o.x+(h-o.x)*2,o.y+(g-o.y)*2,o.z+(_-o.z)*2),h=c.x+(i.x-c.x)*.5,g=c.y+(i.y-c.y)*.5,_=c.z+(i.z-c.z)*.5,n(4,s.x+(h-s.x)*2,s.y+(g-s.y)*2,s.z+(_-s.z)*2),h=p.x+(l.x-p.x)*.5,g=p.y+(l.y-p.y)*.5,_=p.z+(l.z-p.z)*.5,n(20,u.x+(h-u.x)*2,u.y+(g-u.y)*2,u.z+(_-u.z)*2),h=m.x+(f.x-m.x)*.5,g=m.y+(f.y-m.y)*.5,_=m.z+(f.z-m.z)*.5,n(24,d.x+(h-d.x)*2,d.y+(g-d.y)*2,d.z+(_-d.z)*2)}function wn(e){return e.wrapS=P,e.wrapT=P,e.minFilter=se,e.magFilter=se,e.colorSpace=``,e.needsUpdate=!0,e}var Tn=` + attribute float alpha; + + uniform vec2 uvOffset; + + varying vec2 vUv; + varying float vAlpha; + + void main() { + // Apply UV offset for scrolling + vUv = uv + uvOffset; + vAlpha = alpha; + + vec4 pos = projectionMatrix * modelViewMatrix * vec4(position, 1.0); + // Set depth to far plane so clouds are always visible and behind other geometry + gl_Position = pos.xyww; + } +`,En=` + uniform sampler2D cloudTexture; + uniform float debugMode; + uniform int layerIndex; + + varying vec2 vUv; + varying float vAlpha; + + // Debug grid using screen-space derivatives for sharp, anti-aliased lines + float debugGrid(vec2 uv, float gridSize, float lineWidth) { + vec2 scaledUV = uv * gridSize; + vec2 grid = abs(fract(scaledUV - 0.5) - 0.5) / fwidth(scaledUV); + float line = min(grid.x, grid.y); + return 1.0 - min(line / lineWidth, 1.0); + } + + void main() { + vec4 texColor = texture2D(cloudTexture, vUv); + + // Tribes 2 uses GL_MODULATE: final = texture × vertex color + // Vertex color is white with varying alpha, so: + // Final RGB = Texture RGB × 1.0 = Texture RGB + // Final Alpha = Texture Alpha × Vertex Alpha + float finalAlpha = texColor.a * vAlpha; + vec3 color = texColor.rgb; + + // Debug mode: overlay R/G/B grid for layers 0/1/2 + if (debugMode > 0.5) { + float gridIntensity = debugGrid(vUv, 4.0, 1.5); + vec3 gridColor; + if (layerIndex == 0) { + gridColor = vec3(1.0, 0.0, 0.0); // Red + } else if (layerIndex == 1) { + gridColor = vec3(0.0, 1.0, 0.0); // Green + } else { + gridColor = vec3(0.0, 0.0, 1.0); // Blue + } + color = mix(color, gridColor, gridIntensity * 0.5); + } + + // Output clouds with texture color and combined alpha + gl_FragColor = vec4(color, finalAlpha); + } +`;function Dn({textureUrl:e,radius:t,heightPercent:n,speed:r,windDirection:i,layerIndex:o}){let{debugMode:s}=l(),{animationEnabled:u}=c(),d=(0,G.useRef)(null),f=H(e,wn),p=(0,G.useMemo)(()=>Sn(t,n,n-.05,yn),[t,n]);(0,G.useEffect)(()=>()=>{p.dispose()},[p]);let m=(0,G.useMemo)(()=>new ie({uniforms:{cloudTexture:{value:f},uvOffset:{value:new I(0,0)},debugMode:{value:s?1:0},layerIndex:{value:o}},vertexShader:Tn,fragmentShader:En,transparent:!0,depthWrite:!1,side:2}),[f,s,o]);return(0,G.useEffect)(()=>()=>{m.dispose()},[m]),a(u?(e,t)=>{let n=t*1e3/32;d.current??=new I(0,0),d.current.x+=i.x*r*n,d.current.y+=i.y*r*n,d.current.x-=Math.floor(d.current.x),d.current.y-=Math.floor(d.current.y),m.uniforms.uvOffset.value.copy(d.current)}:_n),(0,q.jsx)(`mesh`,{geometry:p,frustumCulled:!1,renderOrder:10,children:(0,q.jsx)(`primitive`,{object:m,attach:`material`})})}var On=7;function kn(e){let t=(0,K.c)(7),n,r;t[0]===e?(n=t[1],r=t[2]):(n=[`detailMapList`,e],r=()=>Be(e),t[0]=e,t[1]=n,t[2]=r);let i=!!e,a;return t[3]!==n||t[4]!==r||t[5]!==i?(a={queryKey:n,queryFn:r,enabled:i},t[3]=n,t[4]=r,t[5]=i,t[6]=a):a=t[6],u(a)}function An(e){let t=(0,K.c)(18),{scene:n}=e,{data:r}=kn(n.materialList||void 0),i=(n.visibleDistance>0?n.visibleDistance:500)*.95,o;t[0]===n.cloudLayers?o=t[1]:(o=n.cloudLayers.map(Mn),t[0]=n.cloudLayers,t[1]=o);let s=o,c;t[2]===n.cloudLayers?c=t[3]:(c=n.cloudLayers.map(jn),t[2]=n.cloudLayers,t[3]=c);let l=c,u;bb0:{let{x:e,y:r}=n.windVelocity;if(e!==0||r!==0){let n;t[4]!==e||t[5]!==r?(n=new I(r,-e).normalize(),t[4]=e,t[5]=r,t[6]=n):n=t[6],u=n;break bb0}let i;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(i=new I(1,0),t[7]=i):i=t[7],u=i}let d=u,f;bb1:{if(!r){let e;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(e=[],t[8]=e):e=t[8],f=e;break bb1}let e;if(t[9]!==l||t[10]!==s||t[11]!==r){e=[];for(let t=0;t<3;t++){let n=r[On+t];n&&e.push({texture:n,height:l[t],speed:s[t]})}t[9]=l,t[10]=s,t[11]=r,t[12]=e}else e=t[12];f=e}let p=f,m=(0,G.useRef)(null),h;if(t[13]===Symbol.for(`react.memo_cache_sentinel`)?(h=e=>{let{camera:t}=e;m.current&&m.current.position.copy(t.position)},t[13]=h):h=t[13],a(h),!p||p.length===0)return null;let g;return t[14]!==p||t[15]!==i||t[16]!==d?(g=(0,q.jsx)(`group`,{ref:m,children:p.map((e,t)=>(0,q.jsx)(G.Suspense,{children:(0,q.jsx)(Dn,{textureUrl:U(e.texture),radius:i,heightPercent:e.height,speed:e.speed,windDirection:d,layerIndex:t})},t))}),t[14]=p,t[15]=i,t[16]=d,t[17]=g):g=t[17],g}function jn(e,t){return e.heightPercent||[.35,.25,.2][t]}function Mn(e,t){return e.speed||[1e-4,2e-4,3e-4][t]}(0,G.createContext)(null),(0,G.createContext)(null);function Nn(e){let t=e.fogDistance,n=e.visibleDistance>0?e.visibleDistance:1e3,{r,g:i,b:a}=e.fogColor,o=new R().setRGB(r,i,a).convertSRGBToLinear(),s=[];for(let t of e.fogVolumes)t.visibleDistance<=0||t.maxHeight<=t.minHeight||s.push({visibleDistance:t.visibleDistance,minHeight:t.minHeight,maxHeight:t.maxHeight,percentage:1});return{fogDistance:t,visibleDistance:n,fogColor:o,fogVolumes:s,fogLine:s.reduce((e,t)=>Math.max(e,t.maxHeight),0),enabled:n>t}}var Pn=x(`Sky`),Fn=!1;function In(e){return[new R().setRGB(e.r,e.g,e.b),new R().setRGB(e.r,e.g,e.b).convertSRGBToLinear()]}function Ln(e){let t=(0,K.c)(8),n;t[0]===e?n=t[1]:(n={queryKey:[`detailMapList`,e],queryFn:()=>(Pn.debug(`Loading detail map list: %s`,e),Be(e))},t[0]=e,t[1]=n);let r=u(n),i,a;return t[2]!==e||t[3]!==r.data||t[4]!==r.error||t[5]!==r.status?(i=()=>{Pn.debug(`DML query status: %s%s%s file=%s`,r.status,r.error?` error=${r.error.message}`:``,r.data?` (${r.data.length} entries)`:` (no data)`,e)},a=[r.status,r.error,r.data,e],t[2]=e,t[3]=r.data,t[4]=r.error,t[5]=r.status,t[6]=i,t[7]=a):(i=t[6],a=t[7]),(0,G.useEffect)(i,a),r}var Rn=60;function zn({skyBoxFiles:e,fogColor:t,fogState:n}){let r=o(e=>e.camera),i=gt(e,{path:``}),a=!!t,s=(0,G.useMemo)(()=>r.projectionMatrixInverse,[r]),c=(0,G.useMemo)(()=>n?ot(n.fogVolumes):new Float32Array(12),[n]),l=(0,G.useRef)({skybox:{value:i},fogColor:{value:t??new R(0,0,0)},enableFog:{value:a},inverseProjectionMatrix:{value:s},cameraMatrixWorld:{value:r.matrixWorld},cameraHeight:W.cameraHeight,fogVolumeData:{value:c},horizonFogHeight:{value:.18}}),u=(0,G.useMemo)(()=>{if(!n)return .18;let e=n.visibleDistance*.95/Math.sqrt(3);return Rn/Math.sqrt(e*e+Rn*Rn)},[n]);return(0,G.useEffect)(()=>{l.current.skybox.value=i,l.current.fogColor.value=t??new R(0,0,0),l.current.enableFog.value=a,l.current.fogVolumeData.value=c,l.current.horizonFogHeight.value=u},[i,t,a,c,u]),(0,q.jsxs)(`mesh`,{renderOrder:-1e3,frustumCulled:!1,children:[(0,q.jsxs)(`bufferGeometry`,{children:[(0,q.jsx)(`bufferAttribute`,{attach:`attributes-position`,args:[new Float32Array([-1,-1,0,3,-1,0,-1,3,0]),3],count:3,itemSize:3}),(0,q.jsx)(`bufferAttribute`,{attach:`attributes-uv`,args:[new Float32Array([0,0,2,0,0,2]),2],count:3,itemSize:2})]}),(0,q.jsx)(`shaderMaterial`,{uniforms:l.current,vertexShader:` + varying vec2 vUv; + + void main() { + vUv = uv; + gl_Position = vec4(position.xy, 0.9999, 1.0); + } + `,fragmentShader:` + uniform samplerCube skybox; + uniform vec3 fogColor; + uniform bool enableFog; + uniform mat4 inverseProjectionMatrix; + uniform mat4 cameraMatrixWorld; + uniform float cameraHeight; + uniform float fogVolumeData[12]; + uniform float horizonFogHeight; + + varying vec2 vUv; + + // Convert linear to sRGB for display + // shaderMaterial does NOT get automatic linear->sRGB output conversion + // Use proper sRGB transfer function (not simplified gamma 2.2) to match Three.js + vec3 linearToSRGB(vec3 linear) { + vec3 low = linear * 12.92; + vec3 high = 1.055 * pow(linear, vec3(1.0 / 2.4)) - 0.055; + return mix(low, high, step(vec3(0.0031308), linear)); + } + + void main() { + vec2 ndc = vUv * 2.0 - 1.0; + vec4 viewPos = inverseProjectionMatrix * vec4(ndc, 1.0, 1.0); + viewPos.xyz /= viewPos.w; + vec3 direction = normalize((cameraMatrixWorld * vec4(viewPos.xyz, 0.0)).xyz); + direction = vec3(direction.z, direction.y, -direction.x); + // Sample skybox - Three.js CubeTexture with SRGBColorSpace auto-converts to linear + vec4 skyColor = textureCube(skybox, direction); + vec3 finalColor; + + if (enableFog) { + vec3 effectiveFogColor = fogColor; + + // Calculate how much fog volume the ray passes through + // For skybox at "infinite" distance, the relevant height is how much + // of the volume is above/below camera depending on view direction + float volumeFogInfluence = 0.0; + + for (int i = 0; i < 3; i++) { + int offset = i * 4; + float volVisDist = fogVolumeData[offset + 0]; + float volMinH = fogVolumeData[offset + 1]; + float volMaxH = fogVolumeData[offset + 2]; + float volPct = fogVolumeData[offset + 3]; + + if (volVisDist <= 0.0) continue; + + // Check if camera is inside this volume + if (cameraHeight >= volMinH && cameraHeight <= volMaxH) { + // Camera is inside the fog volume + // Looking horizontally or up at shallow angles means ray travels + // through more fog before exiting the volume + float heightAboveCamera = volMaxH - cameraHeight; + float heightBelowCamera = cameraHeight - volMinH; + float volumeHeight = volMaxH - volMinH; + + // For horizontal rays (direction.y ≈ 0), maximum fog influence + // For rays going up steeply, less fog (exits volume quickly) + // For rays going down, more fog (travels through volume below) + float rayInfluence; + if (direction.y >= 0.0) { + // Looking up: influence based on how steep we're looking + // Shallow angles = long path through fog = high influence + rayInfluence = 1.0 - smoothstep(0.0, 0.3, direction.y); + } else { + // Looking down: always high fog (into the volume) + rayInfluence = 1.0; + } + + // Scale by percentage and volume depth factor + volumeFogInfluence += rayInfluence * volPct; + } + } + + // Base fog factor from view direction (for haze at horizon) + // In Torque, the fog "bans" (bands) are rendered as geometry from + // height 0 (HORIZON) to height 60 (OFFSET_HEIGHT) on the skybox. + // The skybox corner is at mSkyBoxPt.x = mRadius / sqrt(3). + // + // horizonFogHeight is the direction.y value where the fog band ends: + // horizonFogHeight = 60 / sqrt(skyBoxPt.x^2 + 60^2) + // + // For Firestorm (visDist=600): mRadius=570, skyBoxPt.x=329, horizonFogHeight≈0.18 + // + // Torque renders the fog bands as geometry with linear vertex alpha + // interpolation. We use a squared curve (t^2) to create a gentler + // falloff at the top of the gradient, matching Tribes 2's appearance. + float baseFogFactor; + if (direction.y <= 0.0) { + // Looking at or below horizon: full fog + baseFogFactor = 1.0; + } else if (direction.y >= horizonFogHeight) { + // Above fog band: no fog + baseFogFactor = 0.0; + } else { + // Within fog band: squared curve for gentler falloff at top + float t = direction.y / horizonFogHeight; + baseFogFactor = (1.0 - t) * (1.0 - t); + } + + // Combine base fog with volume fog influence + // When inside a volume, increase fog intensity + float finalFogFactor = min(1.0, baseFogFactor + volumeFogInfluence * 0.5); + + finalColor = mix(skyColor.rgb, effectiveFogColor, finalFogFactor); + } else { + finalColor = skyColor.rgb; + } + // Convert linear result to sRGB for display + gl_FragColor = vec4(linearToSRGB(finalColor), 1.0); + } + `,depthWrite:!1,depthTest:!1})]})}function Bn(e){let t=(0,K.c)(13),{materialList:n,fogColor:r,fogState:i}=e,{data:a}=Ln(n),o;t[0]===a?o=t[1]:(o=a?[U(a[1]),U(a[3]),U(a[4]),U(a[5]),U(a[0]),U(a[2])]:null,t[0]=a,t[1]=o);let s=o,c;t[2]===a?.[6]?c=t[3]:(c=()=>{let e=a?.[6];if(!e)return;let t=U(e);if(t===Ve)return;let n=rt(t,Hn);return n.image&&(it(n,{noColorSpace:!0}),v(n)),Vn},t[2]=a?.[6],t[3]=c);let u;t[4]===a?u=t[5]:(u=[a],t[4]=a,t[5]=u),(0,G.useEffect)(c,u);let{debugMode:d}=l(),f,p;if(t[6]===d?(f=t[7],p=t[8]):(f=()=>{m.shapeEnvMapDebugUV.value=d},p=[d],t[6]=d,t[7]=f,t[8]=p),(0,G.useEffect)(f,p),!s)return null;let h;return t[9]!==r||t[10]!==i||t[11]!==s?(h=(0,q.jsx)(zn,{skyBoxFiles:s,fogColor:r,fogState:i}),t[9]=r,t[10]=i,t[11]=s,t[12]=h):h=t[12],h}function Vn(){return _()}function Hn(e){it(e,{noColorSpace:!0}),v(e)}function Un({skyColor:e,fogColor:t,fogState:n}){let r=o(e=>e.camera),i=!!t,a=(0,G.useMemo)(()=>r.projectionMatrixInverse,[r]),s=(0,G.useMemo)(()=>n?ot(n.fogVolumes):new Float32Array(12),[n]),c=(0,G.useMemo)(()=>{if(!n)return .18;let e=n.visibleDistance*.95/Math.sqrt(3);return Rn/Math.sqrt(e*e+Rn*Rn)},[n]),l=(0,G.useRef)({skyColor:{value:e},fogColor:{value:t??new R(0,0,0)},enableFog:{value:i},inverseProjectionMatrix:{value:a},cameraMatrixWorld:{value:r.matrixWorld},cameraHeight:W.cameraHeight,fogVolumeData:{value:s},horizonFogHeight:{value:c}});return(0,G.useEffect)(()=>{l.current.skyColor.value=e,l.current.fogColor.value=t??new R(0,0,0),l.current.enableFog.value=i,l.current.fogVolumeData.value=s,l.current.horizonFogHeight.value=c},[e,t,i,s,c]),(0,q.jsxs)(`mesh`,{renderOrder:-1e3,frustumCulled:!1,children:[(0,q.jsxs)(`bufferGeometry`,{children:[(0,q.jsx)(`bufferAttribute`,{attach:`attributes-position`,args:[new Float32Array([-1,-1,0,3,-1,0,-1,3,0]),3],count:3,itemSize:3}),(0,q.jsx)(`bufferAttribute`,{attach:`attributes-uv`,args:[new Float32Array([0,0,2,0,0,2]),2],count:3,itemSize:2})]}),(0,q.jsx)(`shaderMaterial`,{uniforms:l.current,vertexShader:` + varying vec2 vUv; + + void main() { + vUv = uv; + gl_Position = vec4(position.xy, 0.9999, 1.0); + } + `,fragmentShader:` + uniform vec3 skyColor; + uniform vec3 fogColor; + uniform bool enableFog; + uniform mat4 inverseProjectionMatrix; + uniform mat4 cameraMatrixWorld; + uniform float cameraHeight; + uniform float fogVolumeData[12]; + uniform float horizonFogHeight; + + varying vec2 vUv; + + // Convert linear to sRGB for display + vec3 linearToSRGB(vec3 linear) { + vec3 low = linear * 12.92; + vec3 high = 1.055 * pow(linear, vec3(1.0 / 2.4)) - 0.055; + return mix(low, high, step(vec3(0.0031308), linear)); + } + + void main() { + vec2 ndc = vUv * 2.0 - 1.0; + vec4 viewPos = inverseProjectionMatrix * vec4(ndc, 1.0, 1.0); + viewPos.xyz /= viewPos.w; + vec3 direction = normalize((cameraMatrixWorld * vec4(viewPos.xyz, 0.0)).xyz); + direction = vec3(direction.z, direction.y, -direction.x); + + vec3 finalColor; + + if (enableFog) { + // Calculate volume fog influence (same logic as SkyBoxTexture) + float volumeFogInfluence = 0.0; + + for (int i = 0; i < 3; i++) { + int offset = i * 4; + float volVisDist = fogVolumeData[offset + 0]; + float volMinH = fogVolumeData[offset + 1]; + float volMaxH = fogVolumeData[offset + 2]; + float volPct = fogVolumeData[offset + 3]; + + if (volVisDist <= 0.0) continue; + + if (cameraHeight >= volMinH && cameraHeight <= volMaxH) { + float rayInfluence; + if (direction.y >= 0.0) { + rayInfluence = 1.0 - smoothstep(0.0, 0.3, direction.y); + } else { + rayInfluence = 1.0; + } + volumeFogInfluence += rayInfluence * volPct; + } + } + + // Base fog factor from view direction + float baseFogFactor; + if (direction.y <= 0.0) { + baseFogFactor = 1.0; + } else if (direction.y >= horizonFogHeight) { + baseFogFactor = 0.0; + } else { + float t = direction.y / horizonFogHeight; + baseFogFactor = (1.0 - t) * (1.0 - t); + } + + // Combine base fog with volume fog influence + float finalFogFactor = min(1.0, baseFogFactor + volumeFogInfluence * 0.5); + + finalColor = mix(skyColor, fogColor, finalFogFactor); + } else { + finalColor = skyColor; + } + + gl_FragColor = vec4(linearToSRGB(finalColor), 1.0); + } + `,depthWrite:!1,depthTest:!1})]})}function Wn(e,t){let{fogDistance:n,visibleDistance:r}=e;return[n,r]}function Gn({fogState:e,enabled:t}){let n=o(e=>e.scene),r=o(e=>e.camera),i=(0,G.useRef)(null),s=(0,G.useMemo)(()=>ot(e.fogVolumes),[e.fogVolumes]);return(0,G.useEffect)(()=>{Fn||=(lt(),!0)},[]),(0,G.useEffect)(()=>{ct();let[t,a]=Wn(e,r.position.y),o=new re(e.fogColor,t,a);return n.fog=o,i.current=o,at(r.position.y,s),()=>{n.fog=null,i.current=null,ct()}},[n,r,e,s]),(0,G.useEffect)(()=>{let n=i.current;if(n)if(t){let[t,i]=Wn(e,r.position.y);n.near=t,n.far=i}else n.near=1e10,n.far=1e10},[t,e,r.position.y]),a(()=>{let n=i.current;if(!n)return;let a=r.position.y;if(at(a,s,t),t){let[t,r]=Wn(e,a),i=W.fogDistanceScale.value;n.near=i>1?Math.min(t,100):t,n.far=r*i,n.color.copy(e.fogColor)}}),null}var Kn=(0,G.memo)(function({entity:e}){let{skyData:t}=e;Pn.debug(`Rendering: materialList=%s, useSkyTextures=%s`,t.materialList,t.useSkyTextures);let{fogEnabled:n}=c(),r=t.materialList||void 0,i=(0,G.useMemo)(()=>In(t.skySolidColor),[t.skySolidColor]),a=t.useSkyTextures,s=(0,G.useMemo)(()=>Nn(t),[t]);Pn.debug(`fogState: fogColor=(%s, %s, %s) visibleDistance=%d fogDistance=%d enabled=%s volumes=%d`,t.fogColor.r.toFixed(3),t.fogColor.g.toFixed(3),t.fogColor.b.toFixed(3),t.visibleDistance,t.fogDistance,s.enabled,s.fogVolumes.length);let l=(0,G.useMemo)(()=>In(t.fogColor),[t.fogColor]),u=i||l,d=s.enabled&&n,f=s.fogColor,p=o(e=>e.scene),m=o(e=>e.gl);(0,G.useEffect)(()=>{if(d){let e=f.clone();p.background=e,m.setClearColor(e)}else if(u){let e=u[0].clone();p.background=e,m.setClearColor(e)}else p.background=null;return()=>{p.background=null}},[p,m,d,f,u]);let h=i?.[1];return(0,q.jsxs)(q.Fragment,{children:[r&&a&&r.length>0?(0,q.jsx)(G.Suspense,{children:(0,q.jsx)(Bn,{materialList:r,fogColor:d?f:void 0,fogState:d?s:void 0},r)}):h?(0,q.jsx)(Un,{skyColor:h,fogColor:d?f:void 0,fogState:d?s:void 0}):null,(0,q.jsx)(G.Suspense,{children:(0,q.jsx)(An,{scene:t})}),s.enabled?(0,q.jsx)(Gn,{fogState:s,enabled:n}):null]})});function qn(e){let t=(0,K.c)(3),{children:n}=e,{audioEnabled:r}=c(),i;return t[0]!==r||t[1]!==n?(i=r?(0,q.jsx)(G.Suspense,{children:n}):null,t[0]=r,t[1]=n,t[2]=i):i=t[2],i}function Z(e,t){let n=(0,G.lazy)(()=>t().then(t=>({default:t[e]}))),r=t=>{let r=(0,K.c)(5),{entity:i}=t,a=`${e}:${i.id}`,o;r[0]===i?o=r[1]:(o=(0,q.jsx)(n,{entity:i}),r[0]=i,r[1]=o);let s;return r[2]!==a||r[3]!==o?(s=(0,q.jsx)(Ze,{name:a,children:o}),r[2]=a,r[3]=o,r[4]=s):s=r[4],s};return r.displayName=`createLazy(${e})`,r}var Jn=Z(`PlayerModel`,()=>V(()=>import(`./PlayerModel-DwsYOcG2.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34]))),Yn=Z(`ExplosionShape`,()=>V(()=>import(`./ShapeModel-B4Q8DxMd.js`),__vite__mapDeps([35,1,8,9,5,10,22,2,3,4,6,7,11,12,13,14,15,16,17,18,19,23,24,25,26,27,20,21,28,29,30,33]))),Xn=Z(`TracerProjectile`,()=>V(()=>import(`./Projectiles-BEQnp7Nq.js`),__vite__mapDeps([36,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,23,22,24,25]))),Zn=Z(`SpriteProjectile`,()=>V(()=>import(`./Projectiles-BEQnp7Nq.js`),__vite__mapDeps([36,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,23,22,24,25]))),Qn=Z(`ForceFieldBare`,()=>V(()=>import(`./ForceFieldBare-Bpn0b911.js`),__vite__mapDeps([37,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,23,28,31]))),$n=Z(`AudioEmitter`,()=>V(()=>import(`./AudioEmitter-C10MNZ17.js`),__vite__mapDeps([38,11,1,9,12,10,13,14,27,2,3,4,5,6,7,8,15,16,17,18,19,20,21,28,29]))),er=Z(`WaterBlock`,()=>V(()=>import(`./WaterBlock-BEenNkk_.js`),__vite__mapDeps([39,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,21,23,28,30,25]))),tr=Z(`WeaponModel`,()=>V(()=>import(`./ShapeModel-B4Q8DxMd.js`),__vite__mapDeps([35,1,8,9,5,10,22,2,3,4,6,7,11,12,13,14,15,16,17,18,19,23,24,25,26,27,20,21,28,29,30,33]))),nr=(0,G.memo)(function(e){let t=(0,K.c)(26),{entity:n}=e;switch(n.renderType){case`Shape`:{let e;return t[0]===n?e=t[1]:(e=(0,q.jsx)(rr,{entity:n}),t[0]=n,t[1]=e),e}case`ForceFieldBare`:{let e;return t[2]===n?e=t[3]:(e=(0,q.jsx)(Qn,{entity:n}),t[2]=n,t[3]=e),e}case`Player`:{let e;return t[4]===n?e=t[5]:(e=(0,q.jsx)(Jn,{entity:n}),t[4]=n,t[5]=e),e}case`Explosion`:{let e;return t[6]===n?e=t[7]:(e=(0,q.jsx)(Yn,{entity:n}),t[6]=n,t[7]=e),e}case`Tracer`:{let e;return t[8]===n?e=t[9]:(e=(0,q.jsx)(Xn,{entity:n}),t[8]=n,t[9]=e),e}case`Sprite`:{let e;return t[10]===n?e=t[11]:(e=(0,q.jsx)(Zn,{entity:n}),t[10]=n,t[11]=e),e}case`AudioEmitter`:{let e;return t[12]===n?e=t[13]:(e=(0,q.jsx)(qn,{children:(0,q.jsx)($n,{entity:n})}),t[12]=n,t[13]=e),e}case`Camera`:{let e;return t[14]===n?e=t[15]:(e=(0,q.jsx)(Dt,{entity:n}),t[14]=n,t[15]=e),e}case`WayPoint`:{let e;return t[16]===n?e=t[17]:(e=(0,q.jsx)(Ot,{entity:n}),t[16]=n,t[17]=e),e}case`TerrainBlock`:{let e;return t[18]===n?e=t[19]:(e=(0,q.jsx)(Zt,{entity:n}),t[18]=n,t[19]=e),e}case`InteriorInstance`:{let e;return t[20]===n?e=t[21]:(e=(0,q.jsx)(mn,{entity:n}),t[20]=n,t[21]=e),e}case`Sky`:{let e;return t[22]===n?e=t[23]:(e=(0,q.jsx)(Kn,{entity:n}),t[22]=n,t[23]=e),e}case`Sun`:return null;case`WaterBlock`:{let e;return t[24]===n?e=t[25]:(e=(0,q.jsx)(er,{entity:n}),t[24]=n,t[25]=e),e}case`MissionArea`:return null;case`None`:return null;default:return null}});function rr(e){let t=(0,K.c)(26),{entity:n}=e,{animationEnabled:r}=c(),i=(0,G.useRef)(null),o;if(t[0]!==r||t[1]!==n.rotate?(o=()=>{if(!i.current||!n.rotate||!r)return;let e=performance.now()/1e3;i.current.rotation.y=e/3*Math.PI*2},t[0]=r,t[1]=n.rotate,t[2]=o):o=t[2],a(o),!n.shapeName)throw Error(`Shape entity missing shapeName: ${n.id}`);let s=n.runtimeObject,l=n.shapeType??`StaticShape`,u=n.dataBlock?.toLowerCase()===`flag`,d=n.teamId&&n.teamId>0?y[n.teamId]:null,f=u&&d?`${d} Flag`:null,m=n.shapeType===`Item`?`pink`:n.threads?`#00ff88`:`yellow`,h=n.rotate?i:void 0,g=s?void 0:n,_;t[3]===f?_=t[4]:(_=f?(0,q.jsx)(Xe,{opacity:.6,children:f}):null,t[3]=f,t[4]=_);let v;t[5]!==n.emap||t[6]!==n.id||t[7]!==m||t[8]!==g||t[9]!==_?(v=(0,q.jsx)(et,{loadingColor:m,streamEntity:g,emap:n.emap,entityId:n.id,children:_}),t[5]=n.emap,t[6]=n.id,t[7]=m,t[8]=g,t[9]=_,t[10]=v):v=t[10];let b;t[11]!==n.barrelShapeName||t[12]!==s?(b=n.barrelShapeName&&(0,q.jsx)(p,{object:s,shapeName:n.barrelShapeName,type:`Turret`,children:(0,q.jsx)(`group`,{position:[0,1.5,0],children:(0,q.jsx)(et,{})})}),t[11]=n.barrelShapeName,t[12]=s,t[13]=b):b=t[13];let x;t[14]===n?x=t[15]:(x=n.weaponShape&&(0,q.jsx)(ft,{fallback:(0,q.jsx)(nt,{color:`red`,label:n.weaponShape}),children:(0,q.jsx)(Ze,{name:`Weapon:${n.id}/${n.weaponShape}`,fallback:(0,q.jsx)(nt,{color:`cyan`,label:n.weaponShape}),children:(0,q.jsx)(tr,{entity:n})})}),t[14]=n,t[15]=x);let S;t[16]!==h||t[17]!==v||t[18]!==b||t[19]!==x?(S=(0,q.jsxs)(`group`,{ref:h,children:[v,b,x]}),t[16]=h,t[17]=v,t[18]=b,t[19]=x,t[20]=S):S=t[20];let C;return t[21]!==n.shapeName||t[22]!==l||t[23]!==S||t[24]!==s?(C=(0,q.jsx)(p,{object:s,shapeName:n.shapeName,type:l,children:S}),t[21]=n.shapeName,t[22]=l,t[23]=S,t[24]=s,t[25]=C):C=t[25],C}var ir={Root:`_Root_yuidw_1`,Distance:`_Distance_yuidw_9`,Icon:`_Icon_yuidw_18`},ar=1.5,or=U(`commander/MiniIcons/com_flag_grey`),sr=new L;function cr(e){let t=(0,K.c)(9),{entity:n}=e,r=(0,G.useRef)(null),i=(0,G.useRef)(null),s=(0,G.useRef)(null),c=o(lr),l;t[0]!==c||t[1]!==n.iffColor?(l=()=>{if(i.current&&n.iffColor){let{r:e,g:t,b:r}=n.iffColor;i.current.style.backgroundColor=`rgb(${e},${t},${r})`}if(s.current&&r.current){r.current.getWorldPosition(sr);let e=c.position.distanceTo(sr);s.current.textContent=e.toFixed(1)}},t[0]=c,t[1]=n.iffColor,t[2]=l):l=t[2],a(l);let u=n.iffColor?`rgb(${n.iffColor.r},${n.iffColor.g},${n.iffColor.b})`:`rgb(200,200,200)`,d;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(d=[0,ar,0],t[3]=d):d=t[3];let f;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,q.jsx)(`span`,{ref:s,className:ir.Distance}),t[4]=f):f=t[4];let p;t[5]===u?p=t[6]:(p={backgroundColor:u,"--flag-icon-url":`url(${or})`},t[5]=u,t[6]=p);let m=p,h;return t[7]===m?h=t[8]:(h=(0,q.jsx)(`group`,{ref:r,children:(0,q.jsx)(ge,{position:d,center:!0,children:(0,q.jsxs)(`div`,{className:ir.Root,children:[f,(0,q.jsx)(`div`,{ref:i,className:ir.Icon,style:m})]})})}),t[7]=m,t[8]=h),h}function lr(e){return e.camera}function ur(){let e=(0,K.c)(1),t=dr,n;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,q.jsx)(`group`,{ref:t,children:(0,q.jsx)(fr,{})}),e[0]=n):n=e[0],n}function dr(e){$e.setState({root:e})}var fr=(0,G.memo)(function(){let e=Se(),t=(0,G.useRef)(new Map).current,n=new Set;for(let r of e)n.add(r.id),t.set(r.id,r);for(let e of t.keys())n.has(e)||t.delete(e);return(0,q.jsx)(q.Fragment,{children:[...t.values()].map(e=>(0,q.jsx)(pr,{entity:e},e.id))})}),pr=(0,G.memo)(function(e){let t=(0,K.c)(7),{entity:n}=e;if(n.debugHidden)return null;if(Qe(n)){let e;t[0]===n?e=t[1]:(e=(0,q.jsx)(nr,{entity:n}),t[0]=n,t[1]=e);let r;return t[2]!==n.id||t[3]!==e?(r=(0,q.jsx)(`group`,{name:n.id,children:e}),t[2]=n.id,t[3]=e,t[4]=r):r=t[4],r}if(n.renderType===`None`)return null;let r;return t[5]===n?r=t[6]:(r=(0,q.jsx)(hr,{entity:n}),t[5]=n,t[6]=r),r});function mr({entity:e}){let t=(0,G.useRef)(!1),[n,r]=(0,G.useState)(()=>(((`targetRenderFlags`in e?e.targetRenderFlags:void 0)??0)&2)!=0);return t.current=n,a(()=>{let n=(((`targetRenderFlags`in e?e.targetRenderFlags:void 0)??0)&2)!=0;n!==t.current&&(t.current=n,r(n))}),n?(0,q.jsx)(cr,{entity:e}):null}function hr(e){let t=(0,K.c)(35),{entity:n}=e,r=n.position,i=n.scale,a;bb0:{if(!n.rotation){a=void 0;break bb0}let e;t[0]===n.rotation?e=t[1]:(e=new O(...n.rotation),t[0]=n.rotation,t[1]=e),a=e}let o=a;if(n.renderType===`Shape`&&!n.shapeName){let e=n.id,a;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,q.jsx)(`sphereGeometry`,{args:[.3,6,4]}),t[2]=a):a=t[2];let s;t[3]===n.className?s=t[4]:(s=h(n.className),t[3]=n.className,t[4]=s);let c;t[5]===s?c=t[6]:(c=(0,q.jsxs)(`mesh`,{children:[a,(0,q.jsx)(`meshBasicMaterial`,{color:s,wireframe:!0})]}),t[5]=s,t[6]=c);let l;t[7]===n?l=t[8]:(l=(0,q.jsx)(mr,{entity:n}),t[7]=n,t[8]=l);let u;return t[9]!==n.id||t[10]!==r||t[11]!==o||t[12]!==i||t[13]!==c||t[14]!==l?(u=(0,q.jsxs)(`group`,{name:e,position:r,quaternion:o,scale:i,children:[c,l]}),t[9]=n.id,t[10]=r,t[11]=o,t[12]=i,t[13]=c,t[14]=l,t[15]=u):u=t[15],u}let s;t[16]!==n.className||t[17]!==n.renderType?(s=n.renderType===`Explosion`?null:(0,q.jsxs)(`mesh`,{children:[(0,q.jsx)(`sphereGeometry`,{args:[.5,8,6]}),(0,q.jsx)(`meshBasicMaterial`,{color:h(n.className),wireframe:!0})]}),t[16]=n.className,t[17]=n.renderType,t[18]=s):s=t[18];let c=s,l;t[19]===n?l=t[20]:(l=(0,q.jsx)(nr,{entity:n}),t[19]=n,t[20]=l);let u;t[21]!==c||t[22]!==l?(u=(0,q.jsx)(ft,{fallback:c,children:l}),t[21]=c,t[22]=l,t[23]=u):u=t[23];let d;t[24]===n?d=t[25]:(d=(0,q.jsx)(mr,{entity:n}),t[24]=n,t[25]=d);let f;t[26]!==u||t[27]!==d?(f=(0,q.jsxs)(`group`,{name:`model`,children:[u,d]}),t[26]=u,t[27]=d,t[28]=f):f=t[28];let p;return t[29]!==n.id||t[30]!==r||t[31]!==o||t[32]!==i||t[33]!==f?(p=(0,q.jsx)(`group`,{name:n.id,position:r,quaternion:o,scale:i,children:f}),t[29]=n.id,t[30]=r,t[31]=o,t[32]=i,t[33]=f,t[34]=p):p=t[34],p}function gr(){let e=(0,K.c)(3),{fov:t}=c(),n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[0,256,0],e[0]=n):n=e[0];let r;return e[1]===t?r=e[2]:(r=(0,q.jsx)(ht,{makeDefault:!0,position:n,fov:t}),e[1]=t,e[2]=r),r}function _r(e){let t=(0,K.c)(3),{children:n}=e,{debugMode:r}=l(),i;return t[0]!==n||t[1]!==r?(i=r?(0,q.jsx)(G.Suspense,{children:n}):null,t[0]=n,t[1]=r,t[2]=i):i=t[2],i}var vr=x(`InputConsumer`),yr=200,br=Math.PI/2-.01,xr=45,Sr=31,Cr=40,wr=1/32,Tr=2*Math.PI;function Er(e){return((Math.round(e/Tr*65536)|0)<<16>>16)*Tr/65536}var Dr=new L,Or=new L,kr=new L,Ar=new k(0,0,0,`YXZ`);function jr(e,t,n,r,i,a,o){if(r===0&&i===0&&a===0)return;let s=Math.sin(t),c=Math.cos(t),l=Math.sin(n),u=Math.cos(n),d=o*wr;e.x+=(c*r+s*u*i+s*l*a)*d,e.y+=(-s*r+c*u*i+c*l*a)*d,e.z+=(-l*i+u*a)*d}function Mr(){let{moveQueue:e,mode:t,setMode:n}=be(),r=Oe(e=>e.adapter),i=Oe(e=>e.gameStatus),s=Oe(e=>e.liveReady),c=Oe(e=>e.sendMoves),l=b(),u=o(e=>e.camera),f=g(),p=(0,G.useRef)(null),m=(0,G.useRef)([]),h=(0,G.useRef)(0),_=(0,G.useRef)(0),v=(0,G.useRef)(null),y=(0,G.useRef)(0),x=(0,G.useRef)(0),S=(0,G.useRef)({x:0,y:0,z:0}),C=(0,G.useRef)(0),w=(0,G.useRef)(0),E=(0,G.useRef)({x:0,y:0,z:0}),D=(0,G.useRef)(!1),ee=(0,G.useRef)({x:0,y:0,z:0}),O=(0,G.useRef)({x:0,y:0,z:0}),k=(0,G.useRef)(!1),A=(0,G.useRef)(null),j=(0,G.useRef)(0),M=(0,G.useRef)(0),N=(0,G.useRef)(0),P=(0,G.useRef)(0),F=(0,G.useRef)(0),I=(0,G.useRef)([!1,!1,!1,!1,!1,!1]),L=!!r&&(i===`connected`||i===`authenticating`);return(0,G.useEffect)(()=>{if(L&&r){if(p.current===r)return;vr.info(`wiring adapter to engine store`);let e=Ee.getState(),t={source:`live`,duration:1/0,missionName:e.mapName??null,gameType:null,serverDisplayName:e.serverName??null,recorderName:e.warriorName??null,recordingDate:null,streamingPlayback:r};l.getState().setRecording(t),l.getState().setPlaybackStatus(`playing`),p.current=r,D.current=!1,k.current=!1,A.current=null,m.current.length=0,h.current=0,_.current=0,v.current=null,n(`fly`)}else !L&&p.current&&(l.getState().playback.recording?.source===`live`&&l.getState().setRecording(null),p.current=null,D.current=!1,k.current=!1,A.current=null,m.current.length=0,n(`local`))},[L,r,l,n]),(0,G.useEffect)(()=>{!s&&p.current&&(vr.info(`mission change: resetting prediction state and mode`),D.current=!1,k.current=!1,A.current=null,m.current.length=0,h.current=0,_.current=0,v.current=null,j.current=0,M.current=0,N.current=0,P.current=0,F.current=0,I.current.fill(!1),n(`fly`))},[s,n]),(0,G.useEffect)(()=>{if(!L)return $e.subscribe(e=>{n(e.cameraMode===`orbitOverride`?`follow`:`local`)})},[L,n]),d(()=>{if(!p.current||i!==`connected`||!s)return;let e=j.current,t=M.current;j.current=0,M.current=0;let n=N.current,r=P.current,a=F.current;N.current=0,P.current=0,F.current=0;let o=[...I.current];I.current.fill(!1);let l=Er(e),u=Er(t);y.current+=l-e,x.current+=u-t,C.current=y.current,w.current=x.current,E.current={...S.current};let d=Cr*2,f=y.current-l,g=x.current-u;jr(S.current,f,g,n,r,a,d),o[1]=!0;let _=h.current++,v={x:n,y:r,z:a,yaw:e,pitch:t,roll:0,trigger:o,freeLook:!1},b=m.current;b.push({moveIndex:_,move:v,yaw:l,pitch:u,x:n,y:r,z:a}),b.length>xr&&b.splice(0,b.length-xr);let T=p.current.lastMoveAck;for(;b.length>0&&b[0].moveIndex0){let e=b.slice(0,Sr);c(e.map(e=>e.move),e[0].moveIndex)}let D=p.current.getSnapshot();if(D!==A.current){A.current=D;let e=D?.camera;if(e?.orbitTargetId){let t=D.entities.find(t=>t.id===e.orbitTargetId);t?.position&&(ee.current={...O.current},O.current={x:t.position[0],y:t.position[1],z:t.position[2]},k.current||=(ee.current={...O.current},!0))}}}),a((r,a)=>{let o=e.current;if(o.length>0){let t=0,n=0,r=0,a=0,c=0,l=0,d=[!1,!1,!1,!1,!1,!1];for(let e of o){t+=e.deltaYaw,n+=e.deltaPitch,Math.abs(e.x)>Math.abs(r)&&(r=e.x),Math.abs(e.y)>Math.abs(a)&&(a=e.y),Math.abs(e.z)>Math.abs(c)&&(c=e.z),l+=e.delta;for(let t=0;t_.current){_.current=e;let t=m.current;for(;t.length>0&&t[0].moveIndexe.id===d.orbitTargetId);if(e?.position){let t={x:e.position[0],y:e.position[1],z:e.position[2]};O.current=t,ee.current={...t},k.current=!0}}}if(D.current){if(t===`fly`)Pr(r.camera,E.current,S.current,y.current,x.current,f());else if(t===`follow`){if(!k.current)return;Fr(r.camera,ee.current,O.current,y.current,x.current,f(),d?.orbitDistance??4,d?.orbitTargetId)}}}),(0,G.useEffect)(()=>()=>{p.current&&=(l.getState().playback.recording?.source===`live`&&l.getState().setRecording(null),null)},[l]),null}function Nr(e,t,n,r,i,a,o){if((t!==0||n!==0)&&(Ar.setFromQuaternion(e.quaternion,`YXZ`),Ar.y-=t,Ar.x-=n,Ar.x=Math.max(-br,Math.min(br,Ar.x)),e.quaternion.setFromEuler(Ar)),r!==0||i!==0||a!==0){e.getWorldDirection(Dr),Dr.normalize(),Or.crossVectors(e.up,Dr).normalize(),kr.set(0,0,0),i!==0&&kr.addScaledVector(Dr,i),r!==0&&kr.addScaledVector(Or,-r),a!==0&&(kr.y+=a);let t=kr.length();t>0&&(kr.multiplyScalar(Math.min(1,t)/t*yr*o),e.position.add(kr))}}function Pr(e,t,n,r,i,a){let o=t.x+(n.x-t.x)*a,s=t.y+(n.y-t.y)*a,c=t.z+(n.z-t.z)*a;e.position.set(s,c,o);let[l,u,d,f]=E(r,i);e.quaternion.set(l,u,d,f)}function Fr(e,t,n,r,i,a,o,s){let c=t.x+(n.x-t.x)*a,l=t.y+(n.y-t.y)*a,u=t.z+(n.z-t.z)*a+(s!=null&&xe.getState().streamEntities.get(s)?.renderType===`Player`?1:0),d=Math.sin(i),f=Math.cos(i),p=Math.sin(r),m=Math.cos(r),h=Math.max(.1,o),g=c-p*f*h,_=l-m*f*h,v=u+d*h;e.position.set(_,v,g);let[y,b,x,S]=E(r,i);e.quaternion.set(y,b,x,S)}var Ir=x(`CameraTourConsumer`);function Lr(e){return e<.5?4*e*e*e:1-(-2*e+2)**3/2}var Rr=3,zr=10,Br=2,Vr=1.8,Hr=50,Ur=200,Wr=2,Gr=1.8,Kr=1.2,qr=.6,Jr=3/4*(2*Math.PI),Yr=Jr/qr,Xr=1.5,Zr=1.5,Qr=6,$r=180,ei=1.4,ti=new z,ni=new z,ri=new z,ii=new ce,ai=new L,oi=new L,si=new L,ci=new L,li=new L,Q=new O,ui=new O,di=new ce,fi=new k;function pi(e){if(e.orbitCenter)return li.set(e.orbitCenter[0],e.orbitCenter[1],e.orbitCenter[2]);let t=e.targets[e.currentIndex];return li.set(t.position[0],t.position[1],t.position[2])}function mi(e){return e.orbitRadius??Rr}function hi(e){return mi(e)*(Br/Rr)}function gi(e,t,n){let r=pi(e),i=mi(e),a=hi(e);return n.set(r.x+Math.cos(t)*i,r.y+a,r.z+Math.sin(t)*i)}function _i(e,t,n){let r=e.getObjectByName(t.entityId),i=!1;if(r&&r.traverse(e=>{e.geometry&&(i=!0)}),r&&!i){n.orbitCenter=[...t.position],n.orbitRadius=zr;return}if(r&&i){ti.setFromObject(r),ti.getCenter(ai),n.orbitCenter=[ai.x,ai.y,ai.z];let e=di.copy(r.matrixWorld).invert();ni.makeEmpty(),r.traverse(t=>{t.geometry&&(t.geometry.boundingBox||t.geometry.computeBoundingBox(),ri.copy(t.geometry.boundingBox),ii.multiplyMatrices(e,t.matrixWorld),ri.applyMatrix4(ii),ni.union(ri))}),ni.getSize(oi);let i=oi.y,a=Math.max(oi.x,oi.z),o=i/2+Gr,s=a/2+Kr,c=Math.max(o,s);if(c>200){n.orbitCenter=[...t.position];let e=0;r.traverse(t=>{if(e>0||!t.geometry)return;t.geometry.boundingBox||t.geometry.computeBoundingBox();let n=t.geometry.boundingBox,r=n.max.x-n.min.x,i=n.max.y-n.min.y,a=n.max.z-n.min.z;e=Math.max(r,i,a)});let i=(e/2+Kr)*.75;n.orbitRadius=Math.max(Vr,i)}else n.orbitRadius=Math.max(Vr,c);let l=o>=s?`height`:`spread`,u=ci.distanceTo(r)&&o.lerp(r,.3),o.y+=a*.15,new te([e.clone(),o,i],!1,`centripetal`)}function xi(e,t){let n=pi(t);return Math.atan2(e.z-n.z,e.x-n.x)}function Si(e){return Math.max(Zr,Math.min(Qr,e/$r))}function Ci(e,t,n,r){let i=e.targets[e.currentIndex];if(!e.curve){e.startPos=[t.position.x,t.position.y,t.position.z],vi(Q.copy(t.quaternion)),e.startQuat=[Q.x,Q.y,Q.z,Q.w],_i(r,i,e);let n=t.position.clone();e.curve=bi(n,e,xi(n,e)),e.phaseDuration=Si(e.curve.getLength()),e.elapsed=0;return}e.elapsed+=n;let a=Math.min(1,Lr(e.elapsed/e.phaseDuration));e.curve.getPointAt(a,si),t.position.copy(si);let o=Lr(Math.min(1,e.elapsed/e.phaseDuration*ei)),s=yi(si,pi(e));o<1&&e.startQuat?(Q.set(e.startQuat[0],e.startQuat[1],e.startQuat[2],e.startQuat[3]),Q.slerp(s,o),t.quaternion.copy(Q)):t.quaternion.copy(s),e.elapsed>=e.phaseDuration&&(e.phase=`orbiting`,e.elapsed=0,e.orbitStartAngle=xi(t.position,e))}function wi(e,t,n){let r=e.targets.length===1,i=e.currentIndex>=e.targets.length-1;e.elapsed+=n;let a=e.orbitStartAngle,o=Yr+Xr,s;if(e.elapsed<=Yr)s=a+e.elapsed*qr;else{let t=e.elapsed-Yr,n=Math.min(1,t/Xr),r=t*qr*(1-n/2);s=a+Jr+r}gi(e,s,si),t.position.copy(si);let c=yi(si,pi(e));t.quaternion.copy(c),e.elapsed>=o&&(r||i?w.getState().cancel():w.getState().advanceTarget())}function Ti(){let e=(0,K.c)(3),t=o(ki),n=o(Oi),r=(0,G.useRef)(null);We(`nextStop`,Di),We(`exitTour`,Ei);let i;return e[0]!==t||e[1]!==n?(i=(e,i)=>{let a=w.getState().animation,o=a?mi(a):0,s=a&&o>=Hr?o/Ur:1,c=W.fogDistanceScale.value;if(c!==s){let e=Wr*i;s>c?W.fogDistanceScale.value=Math.min(c+e,s):W.fogDistanceScale.value=Math.max(c-e,s)}if(!a){r.current&&=(vi(t.quaternion),null);return}r.current=a,a.phase===`traveling`?Ci(a,t,i,n):wi(a,t,i)},e[0]=t,e[1]=n,e[2]=i):i=e[2],a(i),null}function Ei(){w.getState().cancel()}function Di(){let e=w.getState().animation;e&&(e.currentIndex>=e.targets.length-1?w.getState().cancel():w.getState().advanceTarget())}function Oi(e){return e.scene}function ki(e){return e.camera}var Ai=3;function $({map:e}){let t=Me,n=o(e=>e.gl.domElement),r=(0,G.useMemo)(()=>{let n=e.map(e=>{let t=Array.isArray(e.keys)?e.keys:[e.keys];return{name:e.name,bindings:t.map(ye)}}),r={};for(let e of n)r[e.name]=je(e.bindings[0]);let i=new Map,a=[],o=[],s=[],c=[],l=[];for(let e of n)for(let t of e.bindings)switch(t.type){case`key`:{let n=i.get(t.code);n||(n=[],i.set(t.code,n)),n.push({action:e,binding:t});break}case`click`:a.push({action:e,binding:t});break;case`drag`:o.push({action:e,binding:t});break;case`pointerLockMove`:s.push({action:e});break;case`scroll`:c.push({action:e});break;case`touch`:l.push({action:e});break}function u(e){return e==null?!0:e===!!document.pointerLockElement}function d(e){let{actions:n}=t.getState(),r={};for(let[,t]of i)for(let{action:i,binding:a}of t){let t=e.has(a.code)&&Ge(e,a.modifiers),o=n[i.name]?.pressed??!1;t&&!o?(r[i.name]={pressed:!0},Te(i.name)):!t&&o&&(r[i.name]={pressed:!1})}Object.keys(r).length>0&&t.setState(e=>({...e,actions:{...e.actions,...r}}))}let f=-1,p=0,m=0,h=!1;function g(e,n){t.setState(t=>({...t,actions:{...t.actions,[e]:n}}))}function _(e){let t=!!document.pointerLockElement;for(let{action:t,binding:n}of a){if(!u(n.whenPointerLocked))continue;let r=n.button??0;e.button===r&&Ke(e,n.modifiers)&&g(t.name,{pressed:!0})}t||(f=e.button,p=e.clientX,m=e.clientY,h=!1)}function v(e){if(document.pointerLockElement){if(s.length>0){let{actions:n}=t.getState(),r={};for(let{action:t}of s){let i=n[t.name];r[t.name]={...i,deltaX:i.deltaX+e.movementX,deltaY:i.deltaY+e.movementY}}t.setState(e=>({...e,actions:{...e.actions,...r}}))}return}if(f<0)return;if(!h){let n=e.clientX-p,r=e.clientY-m;if(Math.abs(n)0&&t.setState(e=>({...e,actions:{...e.actions,...r}}))}function y(e){let n=!!document.pointerLockElement;for(let{action:n,binding:r}of a){if(!u(r.whenPointerLocked))continue;let i=r.button??0;e.button===i&&t.getState().actions[n.name].pressed&&(Te(n.name),g(n.name,{pressed:!1}))}if(!n&&e.button===f){for(let{action:e,binding:n}of o)u(n.whenPointerLocked)&&(n.button??0)===f&&t.getState().actions[e.name].dragging&&g(e.name,Pe());f=-1,h=!1}}function b(e){for(let{action:t}of c)g(t.name,{deltaX:e.deltaX,deltaY:e.deltaY}),Te(t.name)}let x=null,S=0,C=0;function w(e){if(x!==null||l.length===0)return;let t=e.changedTouches[0];if(t){x=t.identifier,S=t.clientX,C=t.clientY;for(let{action:e}of l)g(e.name,{touching:!0,dragging:!1,deltaX:0,deltaY:0})}}function T(e){if(x!==null)for(let n=0;ne.name),initialActions:r,deriveKeyActions:d,hasKeyBindings:i.size>0,handleMouseDown:_,handleMouseMove:v,handleMouseUp:y,handleWheel:b,handleTouchStart:w,handleTouchMove:T,handleTouchEnd:E,hasMouseBindings:a.length>0||o.length>0||s.length>0,hasScrollBindings:c.length>0,hasTouchBindings:l.length>0}},[e,t]);return(0,G.useEffect)(()=>{t.setState(e=>({...e,actions:{...e.actions,...r.initialActions}}));let e;return r.hasKeyBindings&&(r.deriveKeyActions(t.getState().keys),e=t.subscribe(e=>e.keys,e=>r.deriveKeyActions(e))),r.hasMouseBindings&&(n.addEventListener(`mousedown`,r.handleMouseDown),document.addEventListener(`mousemove`,r.handleMouseMove),document.addEventListener(`mouseup`,r.handleMouseUp)),r.hasScrollBindings&&n.addEventListener(`wheel`,r.handleWheel,{passive:!0}),r.hasTouchBindings&&(n.addEventListener(`touchstart`,r.handleTouchStart,{passive:!0}),document.addEventListener(`touchmove`,r.handleTouchMove,{passive:!0}),document.addEventListener(`touchend`,r.handleTouchEnd,{passive:!0}),document.addEventListener(`touchcancel`,r.handleTouchEnd,{passive:!0})),()=>{e?.(),r.hasMouseBindings&&(n.removeEventListener(`mousedown`,r.handleMouseDown),document.removeEventListener(`mousemove`,r.handleMouseMove),document.removeEventListener(`mouseup`,r.handleMouseUp)),r.hasScrollBindings&&n.removeEventListener(`wheel`,r.handleWheel),r.hasTouchBindings&&(n.removeEventListener(`touchstart`,r.handleTouchStart),document.removeEventListener(`touchmove`,r.handleTouchMove),document.removeEventListener(`touchend`,r.handleTouchEnd),document.removeEventListener(`touchcancel`,r.handleTouchEnd)),t.setState(e=>{let t={...e.actions};for(let e of r.actionNames)delete t[e];return{...e,actions:t}})}},[r,t,n]),null}var ji=[{name:`moveForward`,keys:[`KeyW`]},{name:`moveBackward`,keys:[`KeyS`]},{name:`moveLeft`,keys:[`KeyA`]},{name:`moveRight`,keys:[`KeyD`]},{name:`moveUp`,keys:[`KeyE`]},{name:`moveDown`,keys:[`KeyQ`]},{name:`adjustSpeed`,keys:[{type:`scroll`}]}],Mi=[{name:`lookUp`,keys:[`ArrowUp`]},{name:`lookDown`,keys:[`ArrowDown`]},{name:`lookLeft`,keys:[`ArrowLeft`]},{name:`lookRight`,keys:[`ArrowRight`]},{name:`dragLook`,keys:[{type:`drag`,button:0}]},{name:`lockedLook`,keys:[{type:`pointerLockMove`}]},{name:`touchLook`,keys:[{type:`touch`}]}],Ni=[{name:`canvasClick`,keys:[{type:`click`,button:0,whenPointerLocked:!1}]}],Pi=[{name:`camera1`,keys:[`Digit1`]},{name:`camera2`,keys:[`Digit2`]},{name:`camera3`,keys:[`Digit3`]},{name:`camera4`,keys:[`Digit4`]},{name:`camera5`,keys:[`Digit5`]},{name:`camera6`,keys:[`Digit6`]},{name:`camera7`,keys:[`Digit7`]},{name:`camera8`,keys:[`Digit8`]},{name:`camera9`,keys:[`Digit9`]}],Fi=[{name:`playPause`,keys:[`Space`]},{name:`decreasePlaybackSpeed`,keys:[`Comma`,`Shift-Comma`]},{name:`increasePlaybackSpeed`,keys:[`Period`,`Shift-Period`]}],Ii=[{name:`toggleObserverMode`,keys:[`Space`]}],Li=[{name:`nextPlayer`,keys:[{type:`click`,button:0,whenPointerLocked:!0}]}],Ri=[{name:`nextStop`,keys:[{type:`click`,button:0}]},{name:`exitTour`,keys:[`Escape`]}];function zi(){let e=(0,K.c)(27),t=De(),n=Ce(),r=S(Bi),i=t?.source===`demo`,a=t?.source===`live`,o=!t,s=o&&!r||a&&n===`fly`,c=!r,l=!r,u;e[0]===s?u=e[1]:(u=s&&(0,q.jsx)($,{map:ji}),e[0]=s,e[1]=u);let d;e[2]===c?d=e[3]:(d=c&&(0,q.jsx)($,{map:Mi}),e[2]=c,e[3]=d);let f;e[4]===l?f=e[5]:(f=l&&(0,q.jsx)($,{map:Ni}),e[4]=l,e[5]=f);let p;e[6]!==o||e[7]!==r?(p=o&&!r&&(0,q.jsx)($,{map:Pi}),e[6]=o,e[7]=r,e[8]=p):p=e[8];let m;e[9]===i?m=e[10]:(m=i&&(0,q.jsx)($,{map:Fi}),e[9]=i,e[10]=m);let h;e[11]===a?h=e[12]:(h=a&&(0,q.jsx)($,{map:Ii}),e[11]=a,e[12]=h);let g;e[13]!==n||e[14]!==a?(g=a&&n===`follow`&&(0,q.jsx)($,{map:Li}),e[13]=n,e[14]=a,e[15]=g):g=e[15];let _;e[16]===r?_=e[17]:(_=r&&(0,q.jsx)($,{map:Ri}),e[16]=r,e[17]=_);let v;return e[18]!==u||e[19]!==d||e[20]!==f||e[21]!==p||e[22]!==m||e[23]!==h||e[24]!==g||e[25]!==_?(v=(0,q.jsxs)(q.Fragment,{children:[u,d,f,p,m,h,g,_]}),e[18]=u,e[19]=d,e[20]=f,e[21]=p,e[22]=m,e[23]=h,e[24]=g,e[25]=_,e[26]=v):v=e[26],v}function Bi(e){return e.animation!==null}function Vi(e,t){return(0,G.lazy)(()=>t().then(t=>({default:t[e]})))}var Hi=Vi(`StreamingController`,()=>V(()=>import(`./StreamingController-C-cd6zKq.js`),__vite__mapDeps([40,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,22,23,24,25,27,20,21,28,29,0,26,30,31,32,33,34,41]))),Ui=Vi(`DebugElements`,()=>V(()=>import(`./DebugElements-BFAGz36f.js`),__vite__mapDeps([42,1,20,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,21,43]))),Wi=Vi(`Mission`,()=>V(()=>import(`./Mission-DazAbIp32.js`),__vite__mapDeps([44,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,45,24,46]))),Gi=Vi(`ChatSoundPlayer`,()=>V(()=>import(`./ChatSoundPlayer-D4Cfif0J.js`),__vite__mapDeps([47,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,27,20,21,28,29]))),Ki=(0,G.memo)(function(e){let t=(0,K.c)(23),{dpr:n,onCreated:r,missionName:i,missionType:a,onLoadingChange:o}=e,s=De(),c=ze(),l=c===`demo`||c===`live`,u,d;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,q.jsx)(zi,{}),d=(0,q.jsx)(Fe,{}),t[0]=u,t[1]=d):(u=t[0],d=t[1]);let p;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,q.jsx)(bt,{}),t[2]=p):p=t[2];let m,h;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,q.jsx)(G.Suspense,{children:(0,q.jsx)(ur,{})}),h=(0,q.jsx)(gr,{}),t[3]=m,t[4]=h):(m=t[3],h=t[4]);let g;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,q.jsx)(qn,{children:(0,q.jsx)(Gi,{})}),t[5]=g):g=t[5];let _;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,q.jsx)(_r,{children:(0,q.jsx)(Ui,{})}),t[6]=_):_=t[6];let v;t[7]===s?v=t[8]:(v=s?(0,q.jsx)(G.Suspense,{children:(0,q.jsx)(Hi,{recording:s})}):null,t[7]=s,t[8]=v);let y;t[9]!==l||t[10]!==i||t[11]!==a||t[12]!==o?(y=l?null:(0,q.jsx)(G.Suspense,{children:(0,q.jsx)(Wi,{name:i,missionType:a,onLoadingChange:o},`${i}~${a}`)}),t[9]=l,t[10]=i,t[11]=a,t[12]=o,t[13]=y):y=t[13];let b,x;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,q.jsx)(Ti,{}),x=(0,q.jsx)(Mr,{}),t[14]=b,t[15]=x):(b=t[14],x=t[15]);let S;t[16]!==v||t[17]!==y?(S=(0,q.jsx)(f,{children:(0,q.jsxs)(ve,{children:[u,d,(0,q.jsxs)(Ye,{children:[p,m,h,g,_,v,y,b,x]})]})}),t[16]=v,t[17]=y,t[18]=S):S=t[18];let C;return t[19]!==n||t[20]!==r||t[21]!==S?(C=(0,q.jsx)(Et,{dpr:n,onCreated:r,children:S}),t[19]=n,t[20]=r,t[21]=S,t[22]=C):C=t[22],C});export{Ki as GameView}; \ No newline at end of file diff --git a/docs/assets/GameView-D0zu6Jmb.js b/docs/assets/GameView-D0zu6Jmb.js deleted file mode 100644 index 850bd76f..00000000 --- a/docs/assets/GameView-D0zu6Jmb.js +++ /dev/null @@ -1,526 +0,0 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/PlayerModel-C8bjGZ0F.js","assets/chunk-DECur_0Z.js","assets/Html-DrHEhPVE.js","assets/jsx-runtime-BpGWiA-R.js","assets/three.module-DRRYkRPO.js","assets/traditional-DhFuLw_p.js","assets/GenericShape-D0Move-Z.js","assets/Texture-D7437V2F.js","assets/useBaseQuery-DzUOlyvP.js","assets/index-Ds_qp2Yy.js","assets/preload-helper-yuLzSqLi.js","assets/streamHelpers-BvWKgQMn.js","assets/mission-JRomjECE.js","assets/logger-B058WGzf.js","assets/SettingsProvider-DVIFsPwe.js","assets/engineStore-DeZJbWme.js","assets/loaders-BhaVxgpz.js","assets/stringUtils-EmGsjr9D.js","assets/SettingsProvider-DAQByNim.css","assets/iconBase-BCRUFbxq.js","assets/JoystickContext-BJFVWHNC.js","assets/scene-6ZXksKVQ.js","assets/cameraTourStore-CDmCk75t.js","assets/index-BulUt8gq.css","assets/useAnisotropy-nhH7jNtm.js","assets/globalFogUniforms-CCW7odYy.js","assets/shapeMaterial-B0M2T1Ub.js","assets/DebugSuspense-CNky_EQQ.js","assets/ShapeErrorBoundary-75cvF0LI.js","assets/streamPlaybackStore-D-tkUWut.js","assets/PlayerModel-Bi7C0zGW.css","assets/ShapeModel-D7IFSOEM.js","assets/Projectiles-BzspbZOE.js","assets/ForceFieldBare-DMinQDX-.js","assets/AudioEmitter-BuCRagwl.js","assets/WaterBlock-D0vGBv3d.js","assets/StreamingController-BpO-kCrv.js","assets/gameEntityTypes-n-ppAY7z.js","assets/DebugElements-DXesdZsb.js","assets/DebugElements-BP0b5jan.css","assets/Mission-0eTBlQ14.js","assets/useQuery-DfKJ2xlM.js","assets/misToScene-BZgvLXYv.js","assets/ChatSoundPlayer-CeH36_2V.js"])))=>i.map(i=>d[i]); -import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import{c as i,n as a,o,r as s,s as c,t as l}from"./Html-DrHEhPVE.js";import{_ as u,a as d,i as f,y as p}from"./SettingsProvider-DVIFsPwe.js";import{t as m}from"./useQuery-DfKJ2xlM.js";import{D as h,E as g,O as _,S as v,T as y,d as b,n as x,t as S,w as C}from"./GenericShape-D0Move-Z.js";import{f as w,o as T,p as E,s as D,t as O,u as k}from"./loaders-BhaVxgpz.js";import{t as A}from"./stringUtils-EmGsjr9D.js";import{A as j,At as M,C as ee,Dt as N,E as P,Et as F,Gt as te,Ht as ne,K as I,M as re,O as L,Ot as ie,S as ae,St as oe,Ut as R,Vt as se,_ as ce,b as z,f as B,h as le,k as ue,lt as V,m as de,nt as fe,v as pe,w as me}from"./three.module-DRRYkRPO.js";import{t as he}from"./logger-B058WGzf.js";import"./mission-JRomjECE.js";import{a as ge}from"./engineStore-DeZJbWme.js";import{t as _e}from"./Texture-D7437V2F.js";import{t as H}from"./preload-helper-yuLzSqLi.js";import{n as ve,t as U}from"./cameraTourStore-CDmCk75t.js";import{t as W,x as ye}from"./streamHelpers-BvWKgQMn.js";import{n as be,r as xe,t as Se}from"./scene-6ZXksKVQ.js";import{A as Ce,D as we,F as Te,I as Ee,M as De,N as Oe,R as ke,_ as Ae,a as je,c as Me,g as Ne,i as Pe,k as Fe,l as Ie,m as Le,n as Re,o as ze,p as Be,r as Ve,s as He,t as Ue,u as We,z as Ge}from"./index-Ds_qp2Yy.js";import{i as Ke,n as qe,o as Je,r as Ye,s as Xe,t as Ze}from"./globalFogUniforms-CCW7odYy.js";import{a as Qe,i as $e,r as et}from"./shapeMaterial-B0M2T1Ub.js";import{t as tt}from"./DebugSuspense-CNky_EQQ.js";import{t as nt}from"./gameEntityTypes-n-ppAY7z.js";import{n as rt}from"./streamPlaybackStore-D-tkUWut.js";import{a as it,i as at,n as ot,t as st}from"./useAnisotropy-nhH7jNtm.js";import{t as ct}from"./ShapeErrorBoundary-75cvF0LI.js";var G=e(n());function lt(e,t,n){let r=i(e=>e.size),a=i(e=>e.viewport),o=typeof e==`number`?e:r.width*a.dpr,s=typeof t==`number`?t:r.height*a.dpr,c=(typeof e==`number`?n:e)||{},{samples:l=0,depth:u,...d}=c,f=u??c.depthBuffer,p=G.useMemo(()=>{let e=new te(o,s,{minFilter:I,magFilter:I,type:re,...d});return f&&(e.depthTexture=new me(o,s,ue)),e.samples=l,e},[]);return G.useLayoutEffect(()=>{p.setSize(o,s),l&&(p.samples=l)},[l,p,o,s]),G.useEffect(()=>()=>p.dispose(),[]),p}var ut=e=>typeof e==`function`,dt=G.forwardRef(({envMap:e,resolution:t=256,frames:n=1/0,makeDefault:r,children:s,...c},l)=>{let u=i(({set:e})=>e),d=i(({camera:e})=>e),f=i(({size:e})=>e),p=G.useRef(null);G.useImperativeHandle(l,()=>p.current,[]);let m=G.useRef(null),h=lt(t);G.useLayoutEffect(()=>{c.manual||(p.current.aspect=f.width/f.height)},[f,c]),G.useLayoutEffect(()=>{p.current.updateProjectionMatrix()});let g=0,_=null,v=ut(s);return o(t=>{v&&(n===1/0||g{if(r){let e=d;return u(()=>({camera:p.current})),()=>u(()=>({camera:e}))}},[p,r,u]),G.createElement(G.Fragment,null,G.createElement(`perspectiveCamera`,a({ref:p},c),!v&&s),G.createElement(`group`,{ref:m},v&&s(h.texture)))});function ft(e,{path:t}){let[n]=c(ae,[e],e=>e.setPath(t));return n}ft.preload=(e,{path:t})=>c.preload(ae,[e],e=>e.setPath(t));var K=t(),pt={sunLightPointsDown:{value:!0}};function mt(e){pt.sunLightPointsDown.value=e}var q=r(),ht=he(`SceneLighting`);function gt(){let e=(0,K.c)(6),t=Ee(),n,r;if(e[0]===t?(n=e[1],r=e[2]):(n=()=>{t?ht.debug(`sunData: dir=(%s, %s, %s) color=(%s, %s, %s) ambient=(%s, %s, %s)`,t.direction.x.toFixed(3),t.direction.y.toFixed(3),t.direction.z.toFixed(3),t.color.r.toFixed(3),t.color.g.toFixed(3),t.color.b.toFixed(3),t.ambient.r.toFixed(3),t.ambient.g.toFixed(3),t.ambient.b.toFixed(3)):ht.debug(`No sunData — using fallback ambient #888`)},r=[t],e[0]=t,e[1]=n,e[2]=r),(0,G.useEffect)(n,r),!t){let t;return e[3]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,q.jsx)(`ambientLight`,{color:`#888888`,intensity:1}),e[3]=t):t=e[3],t}let i;return e[4]===t?i=e[5]:(i=(0,q.jsx)(_t,{sunData:t}),e[4]=t,e[5]=i),i}function _t(e){let t=(0,K.c)(29),{sunData:n}=e,r;t[0]===n.direction?r=t[1]:(r=xe(n.direction),t[0]=n.direction,t[1]=r);let[i,a,o]=r,s=Math.sqrt(i*i+a*a+o*o),c=i/s,l=a/s,u=o/s,d;t[2]!==c||t[3]!==l||t[4]!==u?(d=new R(c,l,u),t[2]=c,t[3]=l,t[4]=u,t[5]=d):d=t[5];let f=d,p=-f.x*5e3,m=-f.y*5e3,h=-f.z*5e3,g;t[6]!==p||t[7]!==m||t[8]!==h?(g=new R(p,m,h),t[6]=p,t[7]=m,t[8]=h,t[9]=g):g=t[9];let _=g,v;t[10]!==n.color.b||t[11]!==n.color.g||t[12]!==n.color.r?(v=new z(n.color.r,n.color.g,n.color.b),t[10]=n.color.b,t[11]=n.color.g,t[12]=n.color.r,t[13]=v):v=t[13];let y=v,b;t[14]!==n.ambient.b||t[15]!==n.ambient.g||t[16]!==n.ambient.r?(b=new z(n.ambient.r,n.ambient.g,n.ambient.b),t[14]=n.ambient.b,t[15]=n.ambient.g,t[16]=n.ambient.r,t[17]=b):b=t[17];let x=b,S=f.y<0,C,w;t[18]===S?(C=t[19],w=t[20]):(C=()=>{mt(S)},w=[S],t[18]=S,t[19]=C,t[20]=w),(0,G.useEffect)(C,w);let T;t[21]!==y||t[22]!==_?(T=(0,q.jsx)(`directionalLight`,{position:_,color:y,intensity:1,castShadow:!0,"shadow-mapSize-width":8192,"shadow-mapSize-height":8192,"shadow-camera-left":-4096,"shadow-camera-right":4096,"shadow-camera-top":4096,"shadow-camera-bottom":-4096,"shadow-camera-near":100,"shadow-camera-far":12e3,"shadow-bias":-1e-5,"shadow-normalBias":.4,"shadow-radius":2}),t[21]=y,t[22]=_,t[23]=T):T=t[23];let E;t[24]===x?E=t[25]:(E=(0,q.jsx)(`ambientLight`,{color:x,intensity:1}),t[24]=x,t[25]=E);let D;return t[26]!==T||t[27]!==E?(D=(0,q.jsxs)(q.Fragment,{children:[T,E]}),t[26]=T,t[27]=E,t[28]=D):D=t[28],D}function vt(){let e=(0,K.c)(4),{fpsLimit:t}=d(),n=i(yt),r,a;return e[0]!==t||e[1]!==n?(r=()=>{if(t==null)return;let e=1e3/t,r=0,i;function a(t){i=requestAnimationFrame(a),t-r>=e&&(r=t-(t-r)%e,n())}return i=requestAnimationFrame(a),()=>cancelAnimationFrame(i)},a=[t,n],e[0]=t,e[1]=n,e[2]=r,e[3]=a):(r=e[2],a=e[3]),(0,G.useEffect)(r,a),t}function yt(e){return e.invalidate}function bt(){return vt(),null}var xt={toneMapping:0,outputColorSpace:ie};function St(e){let t=(0,K.c)(11),{children:n,renderOnDemand:r,dpr:i,onCreated:a}=e,o=r===void 0?!1:r,{renderOnDemand:c}=f(),l=o||c,{fpsLimit:u}=d(),p=u!=null&&!l,m=l||p?`demand`:`always`,h;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(h={type:1},t[0]=h):h=t[0];let g;t[1]===n?g=t[2]:(g=(0,q.jsx)(G.Suspense,{children:n}),t[1]=n,t[2]=g);let _;t[3]===p?_=t[4]:(_=p?(0,q.jsx)(bt,{}):null,t[3]=p,t[4]=_);let v;return t[5]!==i||t[6]!==a||t[7]!==m||t[8]!==g||t[9]!==_?(v=(0,q.jsxs)(s,{frameloop:m,dpr:i,gl:xt,shadows:h,onCreated:a,children:[g,_]}),t[5]=i,t[6]=a,t[7]=m,t[8]=g,t[9]=_,t[10]=v):v=t[10],v}function Ct(e){let t=(0,K.c)(12),{entity:n}=e,{registerCamera:r,unregisterCamera:i}=Ae(),a=(0,G.useId)(),o=n.cameraDataBlock,s;t[0]===n.position?s=t[1]:(s=n.position?new R(...n.position):new R,t[0]=n.position,t[1]=s);let c=s,l;t[2]===n.rotation?l=t[3]:(l=n.rotation?new oe(...n.rotation):new oe,t[2]=n.rotation,t[3]=l);let u=l,d,f;return t[4]!==o||t[5]!==a||t[6]!==c||t[7]!==r||t[8]!==u||t[9]!==i?(d=()=>{if(o===`Observer`){let e={id:a,position:c,rotation:u};return r(e),()=>{i(e)}}},f=[a,o,r,i,c,u],t[4]=o,t[5]=a,t[6]=c,t[7]=r,t[8]=u,t[9]=i,t[10]=d,t[11]=f):(d=t[10],f=t[11]),(0,G.useEffect)(d,f),null}function wt(e){let t=(0,K.c)(2),{entity:n}=e,r;return t[0]===n.label?r=t[1]:(r=n.label?(0,q.jsx)(u,{opacity:.6,children:n.label}):null,t[0]=n.label,t[1]=r),r}function Tt(e){let t=new Float32Array(e.length);for(let n=0;n{e.uniforms[`albedo${n}`]={value:t}}),n.forEach((t,n)=>{e.uniforms[`mask${n}`]={value:t}}),r&&(e.uniforms.visibilityMask={value:r}),t.forEach((t,n)=>{e.uniforms[`tiling${n}`]={value:i[n]??32}}),o&&(e.uniforms.terrainLightmap={value:o}),a&&(e.uniforms.detailTexture={value:a},e.uniforms.detailTiling={value:Ot},e.uniforms.detailFadeDistance={value:kt},e.vertexShader=e.vertexShader.replace(`#include `,`#include -varying vec3 vTerrainWorldPos;`),e.vertexShader=e.vertexShader.replace(`#include `,`#include -vec4 _terrainPos = vec4(transformed, 1.0); -#ifdef USE_INSTANCING - _terrainPos = instanceMatrix * _terrainPos; -#endif -vTerrainWorldPos = (modelMatrix * _terrainPos).xyz;`)),e.fragmentShader=` -uniform sampler2D albedo0; -uniform sampler2D albedo1; -uniform sampler2D albedo2; -uniform sampler2D albedo3; -uniform sampler2D albedo4; -uniform sampler2D albedo5; -uniform sampler2D mask0; -uniform sampler2D mask1; -uniform sampler2D mask2; -uniform sampler2D mask3; -uniform sampler2D mask4; -uniform sampler2D mask5; -uniform float tiling0; -uniform float tiling1; -uniform float tiling2; -uniform float tiling3; -uniform float tiling4; -uniform float tiling5; -${r?`uniform sampler2D visibilityMask;`:``} -${o?`uniform sampler2D terrainLightmap;`:``} -uniform bool sunLightPointsDown; -${a?`uniform sampler2D detailTexture; -uniform float detailTiling; -uniform float detailFadeDistance; -varying vec3 vTerrainWorldPos;`:``} - -${At} - -// Global variable to store shadow factor from RE_Direct for use in output calculation -float terrainShadowFactor = 1.0; -`+e.fragmentShader,r){let t=`#include `;e.fragmentShader=e.fragmentShader.replace(t,`${t} - // Early discard for invisible areas (before fog/lighting) - float visibility = texture2D(visibilityMask, vMapUv).r; - if (visibility < 0.5) { - discard; - } - `)}e.fragmentShader=e.fragmentShader.replace(`#include `,` - // Sample base albedo layers (sRGB textures auto-decoded to linear by Three.js) - vec2 baseUv = vMapUv; - vec3 c0 = texture2D(albedo0, baseUv * vec2(tiling0)).rgb; - ${s>1?`vec3 c1 = texture2D(albedo1, baseUv * vec2(tiling1)).rgb;`:``} - ${s>2?`vec3 c2 = texture2D(albedo2, baseUv * vec2(tiling2)).rgb;`:``} - ${s>3?`vec3 c3 = texture2D(albedo3, baseUv * vec2(tiling3)).rgb;`:``} - ${s>4?`vec3 c4 = texture2D(albedo4, baseUv * vec2(tiling4)).rgb;`:``} - ${s>5?`vec3 c5 = texture2D(albedo5, baseUv * vec2(tiling5)).rgb;`:``} - - // Sample alpha masks for all layers (use R channel) - // Add +0.5 texel offset: Torque samples alpha at grid corners (integer indices), - // but GPU linear filtering samples at texel centers. This offset aligns them. - vec2 alphaUv = baseUv + vec2(0.5 / ${Et}.0); - float a0 = texture2D(mask0, alphaUv).r; - ${s>1?`float a1 = texture2D(mask1, alphaUv).r;`:``} - ${s>2?`float a2 = texture2D(mask2, alphaUv).r;`:``} - ${s>3?`float a3 = texture2D(mask3, alphaUv).r;`:``} - ${s>4?`float a4 = texture2D(mask4, alphaUv).r;`:``} - ${s>5?`float a5 = texture2D(mask5, alphaUv).r;`:``} - - // Torque-style additive weighted blending (blender.cc): - // result = tex0 * alpha0 + tex1 * alpha1 + tex2 * alpha2 + ... - // Each layer's alpha map defines its contribution weight. - vec3 blended = c0 * a0; - ${s>1?`blended += c1 * a1;`:``} - ${s>2?`blended += c2 * a2;`:``} - ${s>3?`blended += c3 * a3;`:``} - ${s>4?`blended += c4 * a4;`:``} - ${s>5?`blended += c5 * a5;`:``} - - // Assign to diffuseColor before lighting - vec3 textureColor = blended; - - ${a?`// Detail texture blending (Torque-style multiplicative blend) - // Sample detail texture at high frequency tiling - vec3 detailColor = texture2D(detailTexture, baseUv * detailTiling).rgb; - - // Calculate distance-based fade factor using world positions - // Torque: distFactor = (zeroDetailDistance - distance) / zeroDetailDistance - float distToCamera = distance(vTerrainWorldPos, cameraPosition); - float detailFade = clamp(1.0 - distToCamera / detailFadeDistance, 0.0, 1.0); - - // Torque blending: dst * lerp(1.0, detailTexel, fadeFactor) - // Detail textures are authored with bright values (~0.8 mean), not 0.5 gray - // Direct multiplication adds subtle darkening for surface detail - textureColor *= mix(vec3(1.0), detailColor, detailFade);`:``} - - // Store blended texture in diffuseColor (still in linear space here) - // We'll convert to sRGB in the output calculation - diffuseColor.rgb = textureColor; -`),o&&(e.fragmentShader=e.fragmentShader.replace(`#include `,`#include - -// Override RE_Direct to extract shadow factor for Torque-style gamma-space lighting -#undef RE_Direct -void RE_Direct_TerrainShadow( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in LambertMaterial material, inout ReflectedLight reflectedLight ) { - // Torque lighting (terrLighting.cc): if light points up, terrain gets only ambient - // This prevents shadow acne from light hitting terrain backfaces - if (!sunLightPointsDown) { - terrainShadowFactor = 0.0; - return; - } - // directLight.color = sunColor * shadowFactor (shadow already applied by Three.js) - // Extract shadow factor by comparing to original sun color - #if ( NUM_DIR_LIGHTS > 0 ) - vec3 originalSunColor = directionalLights[0].color; - float sunMax = max(max(originalSunColor.r, originalSunColor.g), originalSunColor.b); - float shadowedMax = max(max(directLight.color.r, directLight.color.g), directLight.color.b); - terrainShadowFactor = clamp(shadowedMax / max(sunMax, 0.001), 0.0, 1.0); - #endif - // Don't add to reflectedLight - we'll compute lighting in gamma space at output -} -#define RE_Direct RE_Direct_TerrainShadow - -`),e.fragmentShader=e.fragmentShader.replace(`#include `,`#include -// Clear indirect diffuse - we'll compute ambient in gamma space -#if defined( RE_IndirectDiffuse ) - irradiance = vec3(0.0); -#endif -`),e.fragmentShader=e.fragmentShader.replace(`#include `,`#include - // Clear Three.js lighting - we compute everything in gamma space - reflectedLight.directDiffuse = vec3(0.0); - reflectedLight.indirectDiffuse = vec3(0.0); -`)),e.fragmentShader=e.fragmentShader.replace(`#include `,`// Torque-style terrain lighting: output = clamp(lighting × texture, 0, 1) in sRGB space -{ - // Get texture in sRGB space (undo Three.js linear decode) - vec3 textureSRGB = terrainLinearToSRGB(diffuseColor.rgb); - - ${o?` - // Sample terrain lightmap for smooth NdotL - vec2 lightmapUv = vMapUv + vec2(0.5 / ${Dt}.0); - float lightmapNdotL = texture2D(terrainLightmap, lightmapUv).r; - - // Get sun and ambient colors from Three.js lights (these ARE sRGB values from mission file) - // Three.js interprets them as linear, but the numerical values are preserved - #if ( NUM_DIR_LIGHTS > 0 ) - vec3 sunColorSRGB = directionalLights[0].color; - #else - vec3 sunColorSRGB = vec3(0.7); - #endif - vec3 ambientColorSRGB = ambientLightColor; - - // Torque formula (terrLighting.cc:471-483): - // lighting = ambient + NdotL * shadowFactor * sunColor - // Clamp lighting to [0,1] before multiplying by texture - vec3 lightingSRGB = clamp(ambientColorSRGB + lightmapNdotL * terrainShadowFactor * sunColorSRGB, 0.0, 1.0); - `:` - // No lightmap - use simple ambient lighting - vec3 lightingSRGB = ambientLightColor; - `} - - // Torque formula: output = clamp(lighting × texture, 0, 1) in sRGB/gamma space - vec3 resultSRGB = clamp(lightingSRGB * textureSRGB, 0.0, 1.0); - - // Convert back to linear for Three.js output pipeline - outgoingLight = terrainSRGBToLinear(resultSRGB) + totalEmissiveRadiance; -} -#include `),e.fragmentShader=e.fragmentShader.replace(`#include `,`#if DEBUG_MODE - // Debug mode: overlay green grid matching terrain grid squares (256x256) - float gridIntensity = terrainDebugGrid(vMapUv, 256.0, 1.5); - vec3 gridColor = vec3(0.0, 0.8, 0.4); // Green - gl_FragColor.rgb = mix(gl_FragColor.rgb, gridColor, gridIntensity * 0.1); -#endif - -#include `)}var Mt={0:32,1:32,2:32,3:32,4:32,5:32},Nt=(0,G.memo)(function({displacementMap:e,visibilityMask:t,textureNames:n,alphaTextures:r,detailTextureName:i,lightmap:a}){let{debugMode:o}=f(),s=st(),c=_e(n.map(e=>w(e)),e=>{e.forEach(e=>it(e,{anisotropy:s}))}),l=i?E(i):null,u=_e(l??O,e=>{it(e,{anisotropy:s})}),d=(0,G.useCallback)(e=>{jt({shader:e,baseTextures:c,alphaTextures:r,visibilityMask:t,tiling:Mt,detailTexture:l?u:null,lightmap:a}),Je(e,Ze)},[c,r,t,u,l,a]),p=(0,G.useMemo)(()=>[n.join(`,`),l??`none`,a?a.id:`nolm`,c.map(e=>e.id).join(`,`)].join(`|`),[n,l,a,c]),m=(0,G.useRef)(null);return(0,G.useEffect)(()=>{let e=m.current;e&&(e.defines??={},e.defines.DEBUG_MODE=o?1:0,e.needsUpdate=!0)},[o]),(0,G.useEffect)(()=>{let e=m.current;e&&(e.customProgramCacheKey=()=>p,e.needsUpdate=!0)},[p]),(0,q.jsx)(`meshLambertMaterial`,{ref:m,map:e,depthWrite:!0,side:0,defines:{DEBUG_MODE:o?1:0},onBeforeCompile:d},`${l?`detail`:`nodetail`}-${a?`lightmap`:`nolightmap`}`)}),Pt=(0,G.memo)(function(e){let t=(0,K.c)(8),{displacementMap:n,visibilityMask:r,textureNames:i,alphaTextures:a,detailTextureName:o,lightmap:s}=e,c;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,q.jsx)(`meshLambertMaterial`,{color:`rgb(0, 109, 56)`,wireframe:!0}),t[0]=c):c=t[0];let l;return t[1]!==a||t[2]!==o||t[3]!==n||t[4]!==s||t[5]!==i||t[6]!==r?(l=(0,q.jsx)(G.Suspense,{fallback:c,children:(0,q.jsx)(Nt,{displacementMap:n,visibilityMask:r,textureNames:i,alphaTextures:a,detailTextureName:o,lightmap:s})}),t[1]=a,t[2]=o,t[3]=n,t[4]=s,t[5]=i,t[6]=r,t[7]=l):l=t[7],l}),Ft=(0,G.memo)(function(e){let t=(0,K.c)(15),{tileX:n,tileZ:r,blockSize:i,basePosition:a,textureNames:o,geometry:s,displacementMap:c,visibilityMask:l,alphaTextures:u,detailTextureName:d,lightmap:f,visible:p}=e,m=p===void 0?!0:p,h=i/2,g=a.x+n*i+h,_=a.z+r*i+h,v;t[0]!==g||t[1]!==_?(v=[g,0,_],t[0]=g,t[1]=_,t[2]=v):v=t[2];let y=v,b;t[3]!==u||t[4]!==d||t[5]!==c||t[6]!==f||t[7]!==o||t[8]!==l?(b=(0,q.jsx)(Pt,{displacementMap:c,visibilityMask:l,textureNames:o,alphaTextures:u,detailTextureName:d,lightmap:f}),t[3]=u,t[4]=d,t[5]=c,t[6]=f,t[7]=o,t[8]=l,t[9]=b):b=t[9];let x;return t[10]!==s||t[11]!==y||t[12]!==b||t[13]!==m?(x=(0,q.jsx)(`mesh`,{position:y,geometry:s,castShadow:!0,receiveShadow:!0,visible:m,children:b}),t[10]=s,t[11]=y,t[12]=b,t[13]=m,t[14]=x):x=t[14],x}),It=he(`TerrainBlock`),Lt=8,Rt=600,J=256,zt=512,Bt=2048;function Vt(e,t){let n=new le,r=(t+1)*(t+1),i=new Float32Array(r*3),a=new Float32Array(r*3),o=new Float32Array(r*2),s=t*t*6,c=new Uint32Array(s),l=0,u=e/t;for(let n=0;n<=t;n++)for(let r=0;r<=t;r++){let s=n*(t+1)+r;i[s*3]=r*u-e/2,i[s*3+1]=e/2-n*u,i[s*3+2]=0,a[s*3]=0,a[s*3+1]=0,a[s*3+2]=1,o[s*2]=r/t,o[s*2+1]=1-n/t}for(let e=0;e(e=Math.max(0,Math.min(J-1,e)),n=Math.max(0,Math.min(J-1,n)),t[n*J+e]/65535*Bt),d=(e,n)=>{e=Math.max(0,Math.min(J-1,e)),n=Math.max(0,Math.min(J-1,n));let r=Math.floor(e),i=Math.floor(n),a=Math.min(r+1,J-1),o=Math.min(i+1,J-1),s=e-r,c=n-i,l=t[i*J+r]/65535*Bt,u=t[i*J+a]/65535*Bt,d=t[o*J+r]/65535*Bt,f=t[o*J+a]/65535*Bt,p=l*(1-s)+u*s,m=d*(1-s)+f*s;return p*(1-c)+m*c};for(let e=0;e0?(_/=b,v/=b,y/=b):(_=0,v=1,y=0),c[e*3]=_,c[e*3+1]=v,c[e*3+2]=y}r.needsUpdate=!0,a.needsUpdate=!0}function Ut(e,t,n,r,i,a){let o=r.z/i,s=r.x/i,c=r.y,l=Math.sqrt(o*o+s*s);if(l<1e-4)return 1;let u=.5/l,d=o*u,f=s*u,p=c*u,m=e,h=t,g=n+.1,_=J*3;for(let e=0;e<_;e++){if(m+=d,h+=f,g+=p,m<0||m>=J||h<0||h>=J||g>Bt)return 1;let e=a(m,h);if(g{let r=Math.max(0,Math.min(J-1,t)),i=Math.max(0,Math.min(J-1,n)),a=Math.floor(r),o=Math.floor(i),s=Math.min(a+1,J-1),c=Math.min(o+1,J-1),l=r-a,u=i-o,d=e[o*J+a]/65535,f=e[o*J+s]/65535,p=e[c*J+a]/65535,m=e[c*J+s]/65535,h=d*(1-l)+f*l,g=p*(1-l)+m*l;return(h*(1-u)+g*u)*Bt},i=new R(-t.x,-t.y,-t.z).normalize(),a=new Uint8Array(zt*zt),o=.5;for(let e=0;e0&&(b=Ut(s,c,l,i,n,r)),a[e*zt+t]=Math.floor(y*b*255)}let s=new ee(a,zt,zt,F,se);return s.colorSpace=``,s.generateMipmaps=!0,s.wrapS=pe,s.wrapT=pe,s.magFilter=I,s.minFilter=I,s.needsUpdate=!0,s}function Gt(e){let t=(0,K.c)(8),n;t[0]===e?n=t[1]:(n={queryKey:[`terrain`,e],queryFn:()=>(It.debug(`Loading terrain: %s`,e),k(e))},t[0]=e,t[1]=n);let r=m(n),i,a;return t[2]!==r.data||t[3]!==r.error||t[4]!==r.status||t[5]!==e?(i=()=>{It.debug(`Query status: %s%s%s file=%s`,r.status,r.error?` error=${r.error.message}`:``,r.data?` (data ready)`:` (no data)`,e)},a=[r.status,r.error,r.data,e],t[2]=r.data,t[3]=r.error,t[4]=r.status,t[5]=e,t[6]=i,t[7]=a):(i=t[6],a=t[7]),(0,G.useEffect)(i,a),r}function Kt(){let e=Te();return e&&e.visibleDistance>0?e.visibleDistance:Rt}function qt(e){let t=new Uint8Array(J*J);t.fill(255);for(let n of e){let e=n&255,r=n>>8&255,i=n>>16,a=r*J;for(let n=0;n{if(g)return Ge(ke(g.heightMap,a)),Xt},b=[g,a],t[8]=a,t[9]=g,t[10]=y,t[11]=b):(y=t[10],b=t[11]),(0,G.useEffect)(y,b);let x=Ee(),S;bb1:{if(!x){let e;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(e=new R(.57735,-.57735,.57735),t[12]=e):e=t[12],S=e;break bb1}let e;t[13]===x.direction?e=t[14]:(e=xe(x.direction),t[13]=x.direction,t[14]=e);let[n,r,i]=e,a=Math.sqrt(n*n+r*r+i*i),o=n/a,s=r/a,c=i/a,l;t[15]!==c||t[16]!==o||t[17]!==s?(l=new R(o,s,c),t[15]=c,t[16]=o,t[17]=s,t[18]=l):l=t[18],S=l}let C=S,w;bb2:{if(!g){w=null;break bb2}let e;t[19]!==a||t[20]!==C||t[21]!==g.heightMap?(e=Wt(g.heightMap,C,a),t[19]=a,t[20]=C,t[21]=g.heightMap,t[22]=e):e=t[22],w=e}let T=w,E;bb3:{if(!g){E=null;break bb3}let e;t[23]===g.heightMap?e=t[24]:(e=new ee(Tt(g.heightMap),J,J,F,ue),e.colorSpace=``,e.generateMipmaps=!1,e.wrapS=N,e.wrapT=N,e.needsUpdate=!0,t[23]=g.heightMap,t[24]=e),E=e}let D=E,O;t[25]===h?O=t[26]:(O=qt(h),t[25]=h,t[26]=O);let k=O,A;t[27]===Symbol.for(`react.memo_cache_sentinel`)?(A=qt([]),t[27]=A):A=t[27];let j=A,M;bb4:{if(!g){M=null;break bb4}let e;t[28]===g.alphaMaps?e=t[29]:(e=g.alphaMaps.map(Zt),t[28]=g.alphaMaps,t[29]=e),M=e}let P=M,te=2*Math.ceil(l/c)+1,ne=te*te-1,I=(0,G.useRef)(null),re;t[30]===Symbol.for(`react.memo_cache_sentinel`)?(re=new fe,t[30]=re):re=t[30];let L=re,ie;t[31]===Symbol.for(`react.memo_cache_sentinel`)?(ie={xStart:1/0,xEnd:-1/0,zStart:1/0,zEnd:-1/0},t[31]=ie):ie=t[31];let ae=(0,G.useRef)(ie),oe=(0,G.useRef)(null),se;if(t[32]!==p||t[33]!==c||t[34]!==u||t[35]!==l?(se=()=>{let e=I.current;if(!e)return;let t=u.position.x-p.x,n=u.position.z-p.z,r=Math.floor((t-l)/c),i=Math.ceil((t+l)/c),a=Math.floor((n-l)/c),o=Math.ceil((n+l)/c),s=ae.current;if(e===oe.current&&r===s.xStart&&i===s.xEnd&&a===s.zStart&&o===s.zEnd)return;oe.current=e,s.xStart=r,s.xEnd=i,s.zStart=a,s.zEnd=o;let d=c/2,f=0;for(let t=r;t`,`#include -${Qt} -uniform bool useSceneLighting; -uniform vec3 interiorDebugColor; -`),e.fragmentShader=e.fragmentShader.replace(`#include `,`// Lightmap handled in custom output calculation -#ifdef USE_LIGHTMAP - vec4 lightMapTexel = texture2D( lightMap, vLightMapUv ); -#endif`),e.fragmentShader=e.fragmentShader.replace(`#include `,`// Torque-style lighting: output = clamp(lighting × texture, 0, 1) in sRGB space -// Get texture in sRGB space (undo Three.js linear decode) -vec3 textureSRGB = interiorLinearToSRGB(diffuseColor.rgb); - -// Compute lighting in sRGB space -vec3 lightingSRGB = vec3(0.0); - -if (useSceneLighting) { - // Three.js computed: reflectedLight = lighting × texture_linear / PI - // Extract pure lighting: lighting = reflectedLight × PI / texture_linear - vec3 totalLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse; - vec3 safeTexLinear = max(diffuseColor.rgb, vec3(0.001)); - vec3 extractedLighting = totalLight * PI / safeTexLinear; - // NOTE: extractedLighting is ALREADY sRGB values because mission sun/ambient colors - // are sRGB values (Torque used them directly in gamma space). Three.js treats them - // as linear but the numerical values are the same. DO NOT convert to sRGB here! - // IMPORTANT: Torque clamps scene lighting to [0,1] BEFORE adding to lightmap - // (sceneLighting.cc line 1785: tmp.clamp()) - lightingSRGB = clamp(extractedLighting, 0.0, 1.0); -} - -// Add lightmap contribution (for BOTH outside and inside surfaces) -// In Torque, scene lighting is ADDED to lightmaps for outside surfaces at mission load -// (stored in .ml files). Inside surfaces only have base lightmap. Both need lightmap here. -#ifdef USE_LIGHTMAP - // Lightmap is stored as linear in Three.js (decoded from sRGB texture), convert back - lightingSRGB += interiorLinearToSRGB(lightMapTexel.rgb); -#endif -// Torque clamps the sum to [0,1] per channel (sceneLighting.cc lines 1817-1827) -lightingSRGB = clamp(lightingSRGB, 0.0, 1.0); - -// Torque formula: output = clamp(lighting × texture, 0, 1) in sRGB/gamma space -vec3 resultSRGB = clamp(lightingSRGB * textureSRGB, 0.0, 1.0); - -// Convert back to linear for Three.js output pipeline -vec3 resultLinear = interiorSRGBToLinear(resultSRGB); - -// Reassign outgoingLight before opaque_fragment consumes it -outgoingLight = resultLinear + totalEmissiveRadiance; - -#include `),e.fragmentShader=e.fragmentShader.replace(`#include `,`// Debug mode: overlay colored grid on top of normal rendering -// Blue grid = SurfaceOutsideVisible (receives scene ambient light) -// Red grid = inside surface (no scene ambient light) -#if DEBUG_MODE && defined(USE_MAP) - // gridSize=4 creates 4x4 grid per UV tile, lineWidth=1.5 is ~1.5 pixels wide - float gridIntensity = debugGrid(vMapUv, 4.0, 1.5); - gl_FragColor.rgb = mix(gl_FragColor.rgb, interiorDebugColor, gridIntensity * 0.1); -#endif - -#include `)}var en=he(`InteriorInstance`);function tn(e){let t=(0,K.c)(2),n;return t[0]===e?n=t[1]:(n=T(e),t[0]=e,t[1]=n),_(n)}function nn({materialName:e,material:t,lightMap:n}){let r=f()?.debugMode??!1,i=st(),a=_e(E(e),e=>it(e,{anisotropy:i})),o=new Set(t?.userData?.flag_names??[]).has(`SelfIlluminating`),s=new Set(t?.userData?.surface_flag_names??[]).has(`SurfaceOutsideVisible`),c=(0,G.useCallback)(e=>{Je(e,Ze),$t(e,{surfaceOutsideVisible:s})},[s]),l=(0,G.useRef)(null),u=(0,G.useRef)(null);(0,G.useEffect)(()=>{let e=l.current??u.current;e&&(e.defines??={},e.defines.DEBUG_MODE=r?1:0,e.needsUpdate=!0)},[r]);let d={DEBUG_MODE:r?1:0},p=`${s}`;return o?(0,q.jsx)(`meshBasicMaterial`,{ref:l,map:a,toneMapped:!1,defines:d,onBeforeCompile:c},p):(0,q.jsx)(`meshLambertMaterial`,{ref:u,map:a,lightMap:n,toneMapped:!1,defines:d,onBeforeCompile:c},p)}function rn(e){if(!e)return null;let t=e.emissiveMap;return t&&(t.colorSpace=ie),t??null}function an(e){let t=(0,K.c)(13),{node:n}=e,r;bb0:{if(!n.material){let e;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=[],t[0]=e):e=t[0],r=e;break bb0}if(Array.isArray(n.material)){let e;t[1]===n.material?e=t[2]:(e=n.material.map(on),t[1]=n.material,t[2]=e),r=e;break bb0}let e;t[3]===n.material?e=t[4]:(e=rn(n.material),t[3]=n.material,t[4]=e);let i;t[5]===e?i=t[6]:(i=[e],t[5]=e,t[6]=i),r=i}let i=r,a;t[7]!==i||t[8]!==n.material?(a=n.material?(0,q.jsx)(tt,{name:`InteriorTexture:${Array.isArray(n.material)?n.material[0]?.userData?.resource_path:n.material?.userData?.resource_path??`?`}`,fallback:(0,q.jsx)(`meshStandardMaterial`,{color:`yellow`,wireframe:!0}),children:Array.isArray(n.material)?n.material.map((e,t)=>(0,q.jsx)(nn,{materialName:e.userData.resource_path,material:e,lightMap:i[t]},t)):(0,q.jsx)(nn,{materialName:n.material.userData.resource_path,material:n.material,lightMap:i[0]})}):null,t[7]=i,t[8]=n.material,t[9]=a):a=t[9];let o;return t[10]!==n.geometry||t[11]!==a?(o=(0,q.jsx)(`mesh`,{geometry:n.geometry,castShadow:!0,receiveShadow:!0,children:a}),t[10]=n.geometry,t[11]=a,t[12]=o):o=t[12],o}function on(e){return rn(e)}var sn=(0,G.memo)(function(e){let t=(0,K.c)(10),{interiorFile:n,ghostIndex:r}=e,{nodes:i}=tn(n),a=f()?.debugMode??!1,o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=[0,-Math.PI/2,0],t[0]=o):o=t[0];let s;t[1]===i?s=t[2]:(s=Object.entries(i).filter(dn).map(fn),t[1]=i,t[2]=s);let c;t[3]!==a||t[4]!==r||t[5]!==n?(c=a?(0,q.jsxs)(u,{children:[r,`: `,n]}):null,t[3]=a,t[4]=r,t[5]=n,t[6]=c):c=t[6];let l;return t[7]!==s||t[8]!==c?(l=(0,q.jsxs)(`group`,{rotation:o,children:[s,c]}),t[7]=s,t[8]=c,t[9]=l):l=t[9],l});function cn(e){let t=(0,K.c)(9),{color:n,label:r}=e,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,q.jsx)(`boxGeometry`,{args:[10,10,10]}),t[0]=i):i=t[0];let a;t[1]===n?a=t[2]:(a=(0,q.jsx)(`meshStandardMaterial`,{color:n,wireframe:!0}),t[1]=n,t[2]=a);let o;t[3]!==n||t[4]!==r?(o=r?(0,q.jsx)(u,{color:n,children:r}):null,t[3]=n,t[4]=r,t[5]=o):o=t[5];let s;return t[6]!==a||t[7]!==o?(s=(0,q.jsxs)(`mesh`,{children:[i,a,o]}),t[6]=a,t[7]=o,t[8]=s):s=t[8],s}function ln(e){let t=(0,K.c)(3),{label:n}=e,r=f()?.debugMode??!1,i;return t[0]!==r||t[1]!==n?(i=r?(0,q.jsx)(cn,{color:`red`,label:n}):null,t[0]=r,t[1]=n,t[2]=i):i=t[2],i}var un=(0,G.memo)(function(e){let t=(0,K.c)(26),{scene:n}=e,r;t[0]===n.transform.position?r=t[1]:(r=xe(n.transform.position),t[0]=n.transform.position,t[1]=r);let i=r,a;t[2]===n.transform?a=t[3]:(a=Se(n.transform),t[2]=n.transform,t[3]=a);let o=a,s;t[4]===n.scale?s=t[5]:(s=be(n.scale),t[4]=n.scale,t[5]=s);let c=s,l=`${n.ghostIndex}: ${n.interiorFile}`,u;t[6]===l?u=t[7]:(u=(0,q.jsx)(ln,{label:l}),t[6]=l,t[7]=u);let d;t[8]===n.interiorFile?d=t[9]:(d=e=>{en.error(`Failed to load %s: %s`,n.interiorFile,e.message)},t[8]=n.interiorFile,t[9]=d);let f=`InteriorModel:${n.interiorFile}`,p;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,q.jsx)(cn,{color:`orange`}),t[10]=p):p=t[10];let m;t[11]!==n.ghostIndex||t[12]!==n.interiorFile?(m=(0,q.jsx)(sn,{interiorFile:n.interiorFile,ghostIndex:n.ghostIndex}),t[11]=n.ghostIndex,t[12]=n.interiorFile,t[13]=m):m=t[13];let h;t[14]!==f||t[15]!==m?(h=(0,q.jsx)(tt,{name:f,fallback:p,children:m}),t[14]=f,t[15]=m,t[16]=h):h=t[16];let g;t[17]!==h||t[18]!==u||t[19]!==d?(g=(0,q.jsx)(C,{fallback:u,onError:d,children:h}),t[17]=h,t[18]=u,t[19]=d,t[20]=g):g=t[20];let _;return t[21]!==i||t[22]!==o||t[23]!==c||t[24]!==g?(_=(0,q.jsx)(`group`,{position:i,quaternion:o,scale:c,children:g}),t[21]=i,t[22]=o,t[23]=c,t[24]=g,t[25]=_):_=t[25],_});function dn(e){let[,t]=e;return t.isMesh}function fn(e){let[t,n]=e;return(0,q.jsx)(an,{node:n},t)}var pn=()=>{},Y=5,mn=Y*Y,hn=.05;function gn(e,t,n){let r=e,i=t,a=n;return[a,a,a,a,a,a,i,i,i,a,a,i,r,i,a,a,i,i,i,a,a,a,a,a,a]}function _n(e,t){let n=new Float32Array(mn);for(let r=0;r.8&&(o=1),n[r]=o}return n}function vn(e,t,n,r){let i=new le,a=new Float32Array(mn*3),o=new Float32Array(mn*2),s=gn(t,n,r),c=e*2/(Y-1);for(let t=0;t({x:e[t*3],y:e[t*3+1],z:e[t*3+2]}),n=(t,n,r,i)=>{e[t*3]=n,e[t*3+1]=r,e[t*3+2]=i},r=t(1),i=t(3),a=t(5),o=t(6),s=t(8),c=t(9),l=t(15),u=t(16),d=t(18),f=t(19),p=t(21),m=t(23),h=a.x+(r.x-a.x)*.5,g=a.y+(r.y-a.y)*.5,_=a.z+(r.z-a.z)*.5;n(0,o.x+(h-o.x)*2,o.y+(g-o.y)*2,o.z+(_-o.z)*2),h=c.x+(i.x-c.x)*.5,g=c.y+(i.y-c.y)*.5,_=c.z+(i.z-c.z)*.5,n(4,s.x+(h-s.x)*2,s.y+(g-s.y)*2,s.z+(_-s.z)*2),h=p.x+(l.x-p.x)*.5,g=p.y+(l.y-p.y)*.5,_=p.z+(l.z-p.z)*.5,n(20,u.x+(h-u.x)*2,u.y+(g-u.y)*2,u.z+(_-u.z)*2),h=m.x+(f.x-m.x)*.5,g=m.y+(f.y-m.y)*.5,_=m.z+(f.z-m.z)*.5,n(24,d.x+(h-d.x)*2,d.y+(g-d.y)*2,d.z+(_-d.z)*2)}function bn(e){return e.wrapS=N,e.wrapT=N,e.minFilter=I,e.magFilter=I,e.colorSpace=``,e.needsUpdate=!0,e}var xn=` - attribute float alpha; - - uniform vec2 uvOffset; - - varying vec2 vUv; - varying float vAlpha; - - void main() { - // Apply UV offset for scrolling - vUv = uv + uvOffset; - vAlpha = alpha; - - vec4 pos = projectionMatrix * modelViewMatrix * vec4(position, 1.0); - // Set depth to far plane so clouds are always visible and behind other geometry - gl_Position = pos.xyww; - } -`,Sn=` - uniform sampler2D cloudTexture; - uniform float debugMode; - uniform int layerIndex; - - varying vec2 vUv; - varying float vAlpha; - - // Debug grid using screen-space derivatives for sharp, anti-aliased lines - float debugGrid(vec2 uv, float gridSize, float lineWidth) { - vec2 scaledUV = uv * gridSize; - vec2 grid = abs(fract(scaledUV - 0.5) - 0.5) / fwidth(scaledUV); - float line = min(grid.x, grid.y); - return 1.0 - min(line / lineWidth, 1.0); - } - - void main() { - vec4 texColor = texture2D(cloudTexture, vUv); - - // Tribes 2 uses GL_MODULATE: final = texture × vertex color - // Vertex color is white with varying alpha, so: - // Final RGB = Texture RGB × 1.0 = Texture RGB - // Final Alpha = Texture Alpha × Vertex Alpha - float finalAlpha = texColor.a * vAlpha; - vec3 color = texColor.rgb; - - // Debug mode: overlay R/G/B grid for layers 0/1/2 - if (debugMode > 0.5) { - float gridIntensity = debugGrid(vUv, 4.0, 1.5); - vec3 gridColor; - if (layerIndex == 0) { - gridColor = vec3(1.0, 0.0, 0.0); // Red - } else if (layerIndex == 1) { - gridColor = vec3(0.0, 1.0, 0.0); // Green - } else { - gridColor = vec3(0.0, 0.0, 1.0); // Blue - } - color = mix(color, gridColor, gridIntensity * 0.5); - } - - // Output clouds with texture color and combined alpha - gl_FragColor = vec4(color, finalAlpha); - } -`;function Cn({textureUrl:e,radius:t,heightPercent:n,speed:r,windDirection:i,layerIndex:a}){let{debugMode:s}=f(),{animationEnabled:c}=d(),l=(0,G.useRef)(null),u=_e(e,bn),p=(0,G.useMemo)(()=>vn(t,n,n-.05,hn),[t,n]);(0,G.useEffect)(()=>()=>{p.dispose()},[p]);let m=(0,G.useMemo)(()=>new M({uniforms:{cloudTexture:{value:u},uvOffset:{value:new ne(0,0)},debugMode:{value:s?1:0},layerIndex:{value:a}},vertexShader:xn,fragmentShader:Sn,transparent:!0,depthWrite:!1,side:2}),[u,s,a]);return(0,G.useEffect)(()=>()=>{m.dispose()},[m]),o(c?(e,t)=>{let n=t*1e3/32;l.current??=new ne(0,0),l.current.x+=i.x*r*n,l.current.y+=i.y*r*n,l.current.x-=Math.floor(l.current.x),l.current.y-=Math.floor(l.current.y),m.uniforms.uvOffset.value.copy(l.current)}:pn),(0,q.jsx)(`mesh`,{geometry:p,frustumCulled:!1,renderOrder:10,children:(0,q.jsx)(`primitive`,{object:m,attach:`material`})})}var wn=7;function Tn(e){let t=(0,K.c)(7),n,r;t[0]===e?(n=t[1],r=t[2]):(n=[`detailMapList`,e],r=()=>D(e),t[0]=e,t[1]=n,t[2]=r);let i=!!e,a;return t[3]!==n||t[4]!==r||t[5]!==i?(a={queryKey:n,queryFn:r,enabled:i},t[3]=n,t[4]=r,t[5]=i,t[6]=a):a=t[6],m(a)}function En(e){let t=(0,K.c)(18),{scene:n}=e,{data:r}=Tn(n.materialList||void 0),i=(n.visibleDistance>0?n.visibleDistance:500)*.95,a;t[0]===n.cloudLayers?a=t[1]:(a=n.cloudLayers.map(On),t[0]=n.cloudLayers,t[1]=a);let s=a,c;t[2]===n.cloudLayers?c=t[3]:(c=n.cloudLayers.map(Dn),t[2]=n.cloudLayers,t[3]=c);let l=c,u;bb0:{let{x:e,y:r}=n.windVelocity;if(e!==0||r!==0){let n;t[4]!==e||t[5]!==r?(n=new ne(r,-e).normalize(),t[4]=e,t[5]=r,t[6]=n):n=t[6],u=n;break bb0}let i;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(i=new ne(1,0),t[7]=i):i=t[7],u=i}let d=u,f;bb1:{if(!r){let e;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(e=[],t[8]=e):e=t[8],f=e;break bb1}let e;if(t[9]!==l||t[10]!==s||t[11]!==r){e=[];for(let t=0;t<3;t++){let n=r[wn+t];n&&e.push({texture:n,height:l[t],speed:s[t]})}t[9]=l,t[10]=s,t[11]=r,t[12]=e}else e=t[12];f=e}let p=f,m=(0,G.useRef)(null),h;if(t[13]===Symbol.for(`react.memo_cache_sentinel`)?(h=e=>{let{camera:t}=e;m.current&&m.current.position.copy(t.position)},t[13]=h):h=t[13],o(h),!p||p.length===0)return null;let g;return t[14]!==p||t[15]!==i||t[16]!==d?(g=(0,q.jsx)(`group`,{ref:m,children:p.map((e,t)=>(0,q.jsx)(G.Suspense,{children:(0,q.jsx)(Cn,{textureUrl:E(e.texture),radius:i,heightPercent:e.height,speed:e.speed,windDirection:d,layerIndex:t})},t))}),t[14]=p,t[15]=i,t[16]=d,t[17]=g):g=t[17],g}function Dn(e,t){return e.heightPercent||[.35,.25,.2][t]}function On(e,t){return e.speed||[1e-4,2e-4,3e-4][t]}(0,G.createContext)(null),(0,G.createContext)(null);function kn(e){let t=e.fogDistance,n=e.visibleDistance>0?e.visibleDistance:1e3,{r,g:i,b:a}=e.fogColor,o=new z().setRGB(r,i,a).convertSRGBToLinear(),s=[];for(let t of e.fogVolumes)t.visibleDistance<=0||t.maxHeight<=t.minHeight||s.push({visibleDistance:t.visibleDistance,minHeight:t.minHeight,maxHeight:t.maxHeight,percentage:1});return{fogDistance:t,visibleDistance:n,fogColor:o,fogVolumes:s,fogLine:s.reduce((e,t)=>Math.max(e,t.maxHeight),0),enabled:n>t}}var An=he(`Sky`),jn=!1;function Mn(e){return[new z().setRGB(e.r,e.g,e.b),new z().setRGB(e.r,e.g,e.b).convertSRGBToLinear()]}function Nn(e){let t=(0,K.c)(8),n;t[0]===e?n=t[1]:(n={queryKey:[`detailMapList`,e],queryFn:()=>(An.debug(`Loading detail map list: %s`,e),D(e))},t[0]=e,t[1]=n);let r=m(n),i,a;return t[2]!==e||t[3]!==r.data||t[4]!==r.error||t[5]!==r.status?(i=()=>{An.debug(`DML query status: %s%s%s file=%s`,r.status,r.error?` error=${r.error.message}`:``,r.data?` (${r.data.length} entries)`:` (no data)`,e)},a=[r.status,r.error,r.data,e],t[2]=e,t[3]=r.data,t[4]=r.error,t[5]=r.status,t[6]=i,t[7]=a):(i=t[6],a=t[7]),(0,G.useEffect)(i,a),r}var Pn=60;function Fn({skyBoxFiles:e,fogColor:t,fogState:n}){let r=i(e=>e.camera),a=ft(e,{path:``}),o=!!t,s=(0,G.useMemo)(()=>r.projectionMatrixInverse,[r]),c=(0,G.useMemo)(()=>n?qe(n.fogVolumes):new Float32Array(12),[n]),l=(0,G.useRef)({skybox:{value:a},fogColor:{value:t??new z(0,0,0)},enableFog:{value:o},inverseProjectionMatrix:{value:s},cameraMatrixWorld:{value:r.matrixWorld},cameraHeight:Ze.cameraHeight,fogVolumeData:{value:c},horizonFogHeight:{value:.18}}),u=(0,G.useMemo)(()=>{if(!n)return .18;let e=n.visibleDistance*.95/Math.sqrt(3);return Pn/Math.sqrt(e*e+Pn*Pn)},[n]);return(0,G.useEffect)(()=>{l.current.skybox.value=a,l.current.fogColor.value=t??new z(0,0,0),l.current.enableFog.value=o,l.current.fogVolumeData.value=c,l.current.horizonFogHeight.value=u},[a,t,o,c,u]),(0,q.jsxs)(`mesh`,{renderOrder:-1e3,frustumCulled:!1,children:[(0,q.jsxs)(`bufferGeometry`,{children:[(0,q.jsx)(`bufferAttribute`,{attach:`attributes-position`,args:[new Float32Array([-1,-1,0,3,-1,0,-1,3,0]),3],count:3,itemSize:3}),(0,q.jsx)(`bufferAttribute`,{attach:`attributes-uv`,args:[new Float32Array([0,0,2,0,0,2]),2],count:3,itemSize:2})]}),(0,q.jsx)(`shaderMaterial`,{uniforms:l.current,vertexShader:` - varying vec2 vUv; - - void main() { - vUv = uv; - gl_Position = vec4(position.xy, 0.9999, 1.0); - } - `,fragmentShader:` - uniform samplerCube skybox; - uniform vec3 fogColor; - uniform bool enableFog; - uniform mat4 inverseProjectionMatrix; - uniform mat4 cameraMatrixWorld; - uniform float cameraHeight; - uniform float fogVolumeData[12]; - uniform float horizonFogHeight; - - varying vec2 vUv; - - // Convert linear to sRGB for display - // shaderMaterial does NOT get automatic linear->sRGB output conversion - // Use proper sRGB transfer function (not simplified gamma 2.2) to match Three.js - vec3 linearToSRGB(vec3 linear) { - vec3 low = linear * 12.92; - vec3 high = 1.055 * pow(linear, vec3(1.0 / 2.4)) - 0.055; - return mix(low, high, step(vec3(0.0031308), linear)); - } - - void main() { - vec2 ndc = vUv * 2.0 - 1.0; - vec4 viewPos = inverseProjectionMatrix * vec4(ndc, 1.0, 1.0); - viewPos.xyz /= viewPos.w; - vec3 direction = normalize((cameraMatrixWorld * vec4(viewPos.xyz, 0.0)).xyz); - direction = vec3(direction.z, direction.y, -direction.x); - // Sample skybox - Three.js CubeTexture with SRGBColorSpace auto-converts to linear - vec4 skyColor = textureCube(skybox, direction); - vec3 finalColor; - - if (enableFog) { - vec3 effectiveFogColor = fogColor; - - // Calculate how much fog volume the ray passes through - // For skybox at "infinite" distance, the relevant height is how much - // of the volume is above/below camera depending on view direction - float volumeFogInfluence = 0.0; - - for (int i = 0; i < 3; i++) { - int offset = i * 4; - float volVisDist = fogVolumeData[offset + 0]; - float volMinH = fogVolumeData[offset + 1]; - float volMaxH = fogVolumeData[offset + 2]; - float volPct = fogVolumeData[offset + 3]; - - if (volVisDist <= 0.0) continue; - - // Check if camera is inside this volume - if (cameraHeight >= volMinH && cameraHeight <= volMaxH) { - // Camera is inside the fog volume - // Looking horizontally or up at shallow angles means ray travels - // through more fog before exiting the volume - float heightAboveCamera = volMaxH - cameraHeight; - float heightBelowCamera = cameraHeight - volMinH; - float volumeHeight = volMaxH - volMinH; - - // For horizontal rays (direction.y ≈ 0), maximum fog influence - // For rays going up steeply, less fog (exits volume quickly) - // For rays going down, more fog (travels through volume below) - float rayInfluence; - if (direction.y >= 0.0) { - // Looking up: influence based on how steep we're looking - // Shallow angles = long path through fog = high influence - rayInfluence = 1.0 - smoothstep(0.0, 0.3, direction.y); - } else { - // Looking down: always high fog (into the volume) - rayInfluence = 1.0; - } - - // Scale by percentage and volume depth factor - volumeFogInfluence += rayInfluence * volPct; - } - } - - // Base fog factor from view direction (for haze at horizon) - // In Torque, the fog "bans" (bands) are rendered as geometry from - // height 0 (HORIZON) to height 60 (OFFSET_HEIGHT) on the skybox. - // The skybox corner is at mSkyBoxPt.x = mRadius / sqrt(3). - // - // horizonFogHeight is the direction.y value where the fog band ends: - // horizonFogHeight = 60 / sqrt(skyBoxPt.x^2 + 60^2) - // - // For Firestorm (visDist=600): mRadius=570, skyBoxPt.x=329, horizonFogHeight≈0.18 - // - // Torque renders the fog bands as geometry with linear vertex alpha - // interpolation. We use a squared curve (t^2) to create a gentler - // falloff at the top of the gradient, matching Tribes 2's appearance. - float baseFogFactor; - if (direction.y <= 0.0) { - // Looking at or below horizon: full fog - baseFogFactor = 1.0; - } else if (direction.y >= horizonFogHeight) { - // Above fog band: no fog - baseFogFactor = 0.0; - } else { - // Within fog band: squared curve for gentler falloff at top - float t = direction.y / horizonFogHeight; - baseFogFactor = (1.0 - t) * (1.0 - t); - } - - // Combine base fog with volume fog influence - // When inside a volume, increase fog intensity - float finalFogFactor = min(1.0, baseFogFactor + volumeFogInfluence * 0.5); - - finalColor = mix(skyColor.rgb, effectiveFogColor, finalFogFactor); - } else { - finalColor = skyColor.rgb; - } - // Convert linear result to sRGB for display - gl_FragColor = vec4(linearToSRGB(finalColor), 1.0); - } - `,depthWrite:!1,depthTest:!1})]})}function In(e){let t=(0,K.c)(13),{materialList:n,fogColor:r,fogState:i}=e,{data:a}=Nn(n),o;t[0]===a?o=t[1]:(o=a?[E(a[1]),E(a[3]),E(a[4]),E(a[5]),E(a[0]),E(a[2])]:null,t[0]=a,t[1]=o);let s=o,c;t[2]===a?.[6]?c=t[3]:(c=()=>{let e=a?.[6];if(!e)return;let t=E(e);if(t===O)return;let n=ot(t,Rn);return n.image&&(it(n,{noColorSpace:!0}),$e(n)),Ln},t[2]=a?.[6],t[3]=c);let l;t[4]===a?l=t[5]:(l=[a],t[4]=a,t[5]=l),(0,G.useEffect)(c,l);let{debugMode:u}=f(),d,p;if(t[6]===u?(d=t[7],p=t[8]):(d=()=>{Qe.shapeEnvMapDebugUV.value=u},p=[u],t[6]=u,t[7]=d,t[8]=p),(0,G.useEffect)(d,p),!s)return null;let m;return t[9]!==r||t[10]!==i||t[11]!==s?(m=(0,q.jsx)(Fn,{skyBoxFiles:s,fogColor:r,fogState:i}),t[9]=r,t[10]=i,t[11]=s,t[12]=m):m=t[12],m}function Ln(){return et()}function Rn(e){it(e,{noColorSpace:!0}),$e(e)}function zn({skyColor:e,fogColor:t,fogState:n}){let r=i(e=>e.camera),a=!!t,o=(0,G.useMemo)(()=>r.projectionMatrixInverse,[r]),s=(0,G.useMemo)(()=>n?qe(n.fogVolumes):new Float32Array(12),[n]),c=(0,G.useMemo)(()=>{if(!n)return .18;let e=n.visibleDistance*.95/Math.sqrt(3);return Pn/Math.sqrt(e*e+Pn*Pn)},[n]),l=(0,G.useRef)({skyColor:{value:e},fogColor:{value:t??new z(0,0,0)},enableFog:{value:a},inverseProjectionMatrix:{value:o},cameraMatrixWorld:{value:r.matrixWorld},cameraHeight:Ze.cameraHeight,fogVolumeData:{value:s},horizonFogHeight:{value:c}});return(0,G.useEffect)(()=>{l.current.skyColor.value=e,l.current.fogColor.value=t??new z(0,0,0),l.current.enableFog.value=a,l.current.fogVolumeData.value=s,l.current.horizonFogHeight.value=c},[e,t,a,s,c]),(0,q.jsxs)(`mesh`,{renderOrder:-1e3,frustumCulled:!1,children:[(0,q.jsxs)(`bufferGeometry`,{children:[(0,q.jsx)(`bufferAttribute`,{attach:`attributes-position`,args:[new Float32Array([-1,-1,0,3,-1,0,-1,3,0]),3],count:3,itemSize:3}),(0,q.jsx)(`bufferAttribute`,{attach:`attributes-uv`,args:[new Float32Array([0,0,2,0,0,2]),2],count:3,itemSize:2})]}),(0,q.jsx)(`shaderMaterial`,{uniforms:l.current,vertexShader:` - varying vec2 vUv; - - void main() { - vUv = uv; - gl_Position = vec4(position.xy, 0.9999, 1.0); - } - `,fragmentShader:` - uniform vec3 skyColor; - uniform vec3 fogColor; - uniform bool enableFog; - uniform mat4 inverseProjectionMatrix; - uniform mat4 cameraMatrixWorld; - uniform float cameraHeight; - uniform float fogVolumeData[12]; - uniform float horizonFogHeight; - - varying vec2 vUv; - - // Convert linear to sRGB for display - vec3 linearToSRGB(vec3 linear) { - vec3 low = linear * 12.92; - vec3 high = 1.055 * pow(linear, vec3(1.0 / 2.4)) - 0.055; - return mix(low, high, step(vec3(0.0031308), linear)); - } - - void main() { - vec2 ndc = vUv * 2.0 - 1.0; - vec4 viewPos = inverseProjectionMatrix * vec4(ndc, 1.0, 1.0); - viewPos.xyz /= viewPos.w; - vec3 direction = normalize((cameraMatrixWorld * vec4(viewPos.xyz, 0.0)).xyz); - direction = vec3(direction.z, direction.y, -direction.x); - - vec3 finalColor; - - if (enableFog) { - // Calculate volume fog influence (same logic as SkyBoxTexture) - float volumeFogInfluence = 0.0; - - for (int i = 0; i < 3; i++) { - int offset = i * 4; - float volVisDist = fogVolumeData[offset + 0]; - float volMinH = fogVolumeData[offset + 1]; - float volMaxH = fogVolumeData[offset + 2]; - float volPct = fogVolumeData[offset + 3]; - - if (volVisDist <= 0.0) continue; - - if (cameraHeight >= volMinH && cameraHeight <= volMaxH) { - float rayInfluence; - if (direction.y >= 0.0) { - rayInfluence = 1.0 - smoothstep(0.0, 0.3, direction.y); - } else { - rayInfluence = 1.0; - } - volumeFogInfluence += rayInfluence * volPct; - } - } - - // Base fog factor from view direction - float baseFogFactor; - if (direction.y <= 0.0) { - baseFogFactor = 1.0; - } else if (direction.y >= horizonFogHeight) { - baseFogFactor = 0.0; - } else { - float t = direction.y / horizonFogHeight; - baseFogFactor = (1.0 - t) * (1.0 - t); - } - - // Combine base fog with volume fog influence - float finalFogFactor = min(1.0, baseFogFactor + volumeFogInfluence * 0.5); - - finalColor = mix(skyColor, fogColor, finalFogFactor); - } else { - finalColor = skyColor; - } - - gl_FragColor = vec4(linearToSRGB(finalColor), 1.0); - } - `,depthWrite:!1,depthTest:!1})]})}function Bn(e,t){let{fogDistance:n,visibleDistance:r}=e;return[n,r]}function Vn({fogState:e,enabled:t}){let n=i(e=>e.scene),r=i(e=>e.camera),a=(0,G.useRef)(null),s=(0,G.useMemo)(()=>qe(e.fogVolumes),[e.fogVolumes]);return(0,G.useEffect)(()=>{jn||=(Xe(),!0)},[]),(0,G.useEffect)(()=>{Ye();let[t,i]=Bn(e,r.position.y),o=new j(e.fogColor,t,i);return n.fog=o,a.current=o,Ke(r.position.y,s),()=>{n.fog=null,a.current=null,Ye()}},[n,r,e,s]),(0,G.useEffect)(()=>{let n=a.current;if(n)if(t){let[t,i]=Bn(e,r.position.y);n.near=t,n.far=i}else n.near=1e10,n.far=1e10},[t,e,r.position.y]),o(()=>{let n=a.current;if(!n)return;let i=r.position.y;if(Ke(i,s,t),t){let[t,r]=Bn(e,i);n.near=t,n.far=r,n.color.copy(e.fogColor)}}),null}var Hn=(0,G.memo)(function({entity:e}){let{skyData:t}=e;An.debug(`Rendering: materialList=%s, useSkyTextures=%s`,t.materialList,t.useSkyTextures);let{fogEnabled:n}=d(),r=t.materialList||void 0,a=(0,G.useMemo)(()=>Mn(t.skySolidColor),[t.skySolidColor]),o=t.useSkyTextures,s=(0,G.useMemo)(()=>kn(t),[t]);An.debug(`fogState: fogColor=(%s, %s, %s) visibleDistance=%d fogDistance=%d enabled=%s volumes=%d`,t.fogColor.r.toFixed(3),t.fogColor.g.toFixed(3),t.fogColor.b.toFixed(3),t.visibleDistance,t.fogDistance,s.enabled,s.fogVolumes.length);let c=(0,G.useMemo)(()=>Mn(t.fogColor),[t.fogColor]),l=a||c,u=s.enabled&&n,f=s.fogColor,p=i(e=>e.scene),m=i(e=>e.gl);(0,G.useEffect)(()=>{if(u){let e=f.clone();p.background=e,m.setClearColor(e)}else if(l){let e=l[0].clone();p.background=e,m.setClearColor(e)}else p.background=null;return()=>{p.background=null}},[p,m,u,f,l]);let h=a?.[1];return(0,q.jsxs)(q.Fragment,{children:[r&&o&&r.length>0?(0,q.jsx)(G.Suspense,{children:(0,q.jsx)(In,{materialList:r,fogColor:u?f:void 0,fogState:u?s:void 0},r)}):h?(0,q.jsx)(zn,{skyColor:h,fogColor:u?f:void 0,fogState:u?s:void 0}):null,(0,q.jsx)(G.Suspense,{children:(0,q.jsx)(En,{scene:t})}),s.enabled?(0,q.jsx)(Vn,{fogState:s,enabled:n}):null]})});function Un(e){let t=(0,K.c)(3),{children:n}=e,{audioEnabled:r}=d(),i;return t[0]!==r||t[1]!==n?(i=r?(0,q.jsx)(G.Suspense,{children:n}):null,t[0]=r,t[1]=n,t[2]=i):i=t[2],i}function X(e,t){let n=(0,G.lazy)(()=>t().then(t=>({default:t[e]}))),r=t=>{let r=(0,K.c)(5),{entity:i}=t,a=`${e}:${i.id}`,o;r[0]===i?o=r[1]:(o=(0,q.jsx)(n,{entity:i}),r[0]=i,r[1]=o);let s;return r[2]!==a||r[3]!==o?(s=(0,q.jsx)(tt,{name:a,children:o}),r[2]=a,r[3]=o,r[4]=s):s=r[4],s};return r.displayName=`createLazy(${e})`,r}var Wn=X(`PlayerModel`,()=>H(()=>import(`./PlayerModel-C8bjGZ0F.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30]))),Gn=X(`ExplosionShape`,()=>H(()=>import(`./ShapeModel-D7IFSOEM.js`),__vite__mapDeps([31,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,29]))),Kn=X(`TracerProjectile`,()=>H(()=>import(`./Projectiles-BzspbZOE.js`),__vite__mapDeps([32,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26]))),qn=X(`SpriteProjectile`,()=>H(()=>import(`./Projectiles-BzspbZOE.js`),__vite__mapDeps([32,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26]))),Jn=X(`ForceFieldBare`,()=>H(()=>import(`./ForceFieldBare-DMinQDX-.js`),__vite__mapDeps([33,1,2,3,4,5,7,14,13,15,16,12,17,18,27]))),Yn=X(`AudioEmitter`,()=>H(()=>import(`./AudioEmitter-BuCRagwl.js`),__vite__mapDeps([34,14,1,2,3,4,5,13,15,16,12,17,18]))),Xn=X(`WaterBlock`,()=>H(()=>import(`./WaterBlock-D0vGBv3d.js`),__vite__mapDeps([35,1,2,3,4,5,7,14,13,15,16,12,17,18,24,25,21]))),Zn=X(`WeaponModel`,()=>H(()=>import(`./ShapeModel-D7IFSOEM.js`),__vite__mapDeps([31,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,29]))),Qn=(0,G.memo)(function(e){let t=(0,K.c)(26),{entity:n}=e;switch(n.renderType){case`Shape`:{let e;return t[0]===n?e=t[1]:(e=(0,q.jsx)($n,{entity:n}),t[0]=n,t[1]=e),e}case`ForceFieldBare`:{let e;return t[2]===n?e=t[3]:(e=(0,q.jsx)(Jn,{entity:n}),t[2]=n,t[3]=e),e}case`Player`:{let e;return t[4]===n?e=t[5]:(e=(0,q.jsx)(Wn,{entity:n}),t[4]=n,t[5]=e),e}case`Explosion`:{let e;return t[6]===n?e=t[7]:(e=(0,q.jsx)(Gn,{entity:n}),t[6]=n,t[7]=e),e}case`Tracer`:{let e;return t[8]===n?e=t[9]:(e=(0,q.jsx)(Kn,{entity:n}),t[8]=n,t[9]=e),e}case`Sprite`:{let e;return t[10]===n?e=t[11]:(e=(0,q.jsx)(qn,{entity:n}),t[10]=n,t[11]=e),e}case`AudioEmitter`:{let e;return t[12]===n?e=t[13]:(e=(0,q.jsx)(Un,{children:(0,q.jsx)(Yn,{entity:n})}),t[12]=n,t[13]=e),e}case`Camera`:{let e;return t[14]===n?e=t[15]:(e=(0,q.jsx)(Ct,{entity:n}),t[14]=n,t[15]=e),e}case`WayPoint`:{let e;return t[16]===n?e=t[17]:(e=(0,q.jsx)(wt,{entity:n}),t[16]=n,t[17]=e),e}case`TerrainBlock`:{let e;return t[18]===n.terrainData?e=t[19]:(e=(0,q.jsx)(Jt,{scene:n.terrainData}),t[18]=n.terrainData,t[19]=e),e}case`InteriorInstance`:{let e;return t[20]===n.interiorData?e=t[21]:(e=(0,q.jsx)(un,{scene:n.interiorData}),t[20]=n.interiorData,t[21]=e),e}case`Sky`:{let e;return t[22]===n?e=t[23]:(e=(0,q.jsx)(Hn,{entity:n}),t[22]=n,t[23]=e),e}case`Sun`:return null;case`WaterBlock`:{let e;return t[24]===n?e=t[25]:(e=(0,q.jsx)(Xn,{entity:n}),t[24]=n,t[25]=e),e}case`MissionArea`:return null;case`None`:return null;default:return null}});function $n(e){let t=(0,K.c)(25),{entity:n}=e,{animationEnabled:r}=d(),i=(0,G.useRef)(null),a;if(t[0]!==r||t[1]!==n.rotate?(a=()=>{if(!i.current||!n.rotate||!r)return;let e=performance.now()/1e3;i.current.rotation.y=e/3*Math.PI*2},t[0]=r,t[1]=n.rotate,t[2]=a):a=t[2],o(a),!n.shapeName)throw Error(`Shape entity missing shapeName: ${n.id}`);let s=n.runtimeObject,c=n.shapeType??`StaticShape`,l=n.dataBlock?.toLowerCase()===`flag`,f=n.teamId&&n.teamId>0?A[n.teamId]:null,p=l&&f?`${f} Flag`:null,m=n.shapeType===`Item`?`pink`:n.threads?`#00ff88`:`yellow`,h=n.rotate?i:void 0,g=s?void 0:n,_;t[3]===p?_=t[4]:(_=p?(0,q.jsx)(u,{opacity:.6,children:p}):null,t[3]=p,t[4]=_);let y;t[5]!==n.emap||t[6]!==m||t[7]!==g||t[8]!==_?(y=(0,q.jsx)(x,{loadingColor:m,streamEntity:g,emap:n.emap,children:_}),t[5]=n.emap,t[6]=m,t[7]=g,t[8]=_,t[9]=y):y=t[9];let b;t[10]!==n.barrelShapeName||t[11]!==s?(b=n.barrelShapeName&&(0,q.jsx)(v,{object:s,shapeName:n.barrelShapeName,type:`Turret`,children:(0,q.jsx)(`group`,{position:[0,1.5,0],children:(0,q.jsx)(x,{})})}),t[10]=n.barrelShapeName,t[11]=s,t[12]=b):b=t[12];let C;t[13]===n?C=t[14]:(C=n.weaponShape&&(0,q.jsx)(ct,{fallback:(0,q.jsx)(S,{color:`red`,label:n.weaponShape}),children:(0,q.jsx)(tt,{name:`Weapon:${n.id}/${n.weaponShape}`,fallback:(0,q.jsx)(S,{color:`cyan`,label:n.weaponShape}),children:(0,q.jsx)(Zn,{entity:n})})}),t[13]=n,t[14]=C);let w;t[15]!==h||t[16]!==y||t[17]!==b||t[18]!==C?(w=(0,q.jsxs)(`group`,{ref:h,children:[y,b,C]}),t[15]=h,t[16]=y,t[17]=b,t[18]=C,t[19]=w):w=t[19];let T;return t[20]!==n.shapeName||t[21]!==c||t[22]!==w||t[23]!==s?(T=(0,q.jsx)(v,{object:s,shapeName:n.shapeName,type:c,children:w}),t[20]=n.shapeName,t[21]=c,t[22]=w,t[23]=s,t[24]=T):T=t[24],T}var er={Root:`_Root_yuidw_1`,Distance:`_Distance_yuidw_9`,Icon:`_Icon_yuidw_18`},tr=1.5,nr=E(`commander/MiniIcons/com_flag_grey`),rr=new R;function ir(e){let t=(0,K.c)(9),{entity:n}=e,r=(0,G.useRef)(null),a=(0,G.useRef)(null),s=(0,G.useRef)(null),c=i(ar),u;t[0]!==c||t[1]!==n.iffColor?(u=()=>{if(a.current&&n.iffColor){let{r:e,g:t,b:r}=n.iffColor;a.current.style.backgroundColor=`rgb(${e},${t},${r})`}if(s.current&&r.current){r.current.getWorldPosition(rr);let e=c.position.distanceTo(rr);s.current.textContent=e.toFixed(1)}},t[0]=c,t[1]=n.iffColor,t[2]=u):u=t[2],o(u);let d=n.iffColor?`rgb(${n.iffColor.r},${n.iffColor.g},${n.iffColor.b})`:`rgb(200,200,200)`,f;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(f=[0,tr,0],t[3]=f):f=t[3];let p;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,q.jsx)(`span`,{ref:s,className:er.Distance}),t[4]=p):p=t[4];let m;t[5]===d?m=t[6]:(m={backgroundColor:d,"--flag-icon-url":`url(${nr})`},t[5]=d,t[6]=m);let h=m,g;return t[7]===h?g=t[8]:(g=(0,q.jsx)(`group`,{ref:r,children:(0,q.jsx)(l,{position:f,center:!0,children:(0,q.jsxs)(`div`,{className:er.Root,children:[p,(0,q.jsx)(`div`,{ref:a,className:er.Icon,style:h})]})})}),t[7]=h,t[8]=g),g}function ar(e){return e.camera}function or(){let e=(0,K.c)(1),t=sr,n;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,q.jsx)(`group`,{ref:t,children:(0,q.jsx)(cr,{})}),e[0]=n):n=e[0],n}function sr(e){rt.setState({root:e})}var cr=(0,G.memo)(function(){let e=De(),t=(0,G.useRef)(new Map).current,n=new Set;for(let r of e)n.add(r.id),t.set(r.id,r);for(let e of t.keys())n.has(e)||t.delete(e);return(0,q.jsx)(q.Fragment,{children:[...t.values()].map(e=>(0,q.jsx)(lr,{entity:e},e.id))})}),lr=(0,G.memo)(function(e){let t=(0,K.c)(7),{entity:n}=e;if(nt(n)){let e;t[0]===n?e=t[1]:(e=(0,q.jsx)(Qn,{entity:n}),t[0]=n,t[1]=e);let r;return t[2]!==n.id||t[3]!==e?(r=(0,q.jsx)(`group`,{name:n.id,children:e}),t[2]=n.id,t[3]=e,t[4]=r):r=t[4],r}if(n.renderType===`None`)return null;let r;return t[5]===n?r=t[6]:(r=(0,q.jsx)(dr,{entity:n}),t[5]=n,t[6]=r),r});function ur({entity:e}){let t=(0,G.useRef)(!1),[n,r]=(0,G.useState)(()=>(((`targetRenderFlags`in e?e.targetRenderFlags:void 0)??0)&2)!=0);return t.current=n,o(()=>{let n=(((`targetRenderFlags`in e?e.targetRenderFlags:void 0)??0)&2)!=0;n!==t.current&&(t.current=n,r(n))}),n?(0,q.jsx)(ir,{entity:e}):null}function dr(e){let t=(0,K.c)(35),{entity:n}=e,r=n.position,i=n.scale,a;bb0:{if(!n.rotation){a=void 0;break bb0}let e;t[0]===n.rotation?e=t[1]:(e=new oe(...n.rotation),t[0]=n.rotation,t[1]=e),a=e}let o=a;if(n.renderType===`Shape`&&!n.shapeName){let e=n.id,a;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,q.jsx)(`sphereGeometry`,{args:[.3,6,4]}),t[2]=a):a=t[2];let s;t[3]===n.className?s=t[4]:(s=b(n.className),t[3]=n.className,t[4]=s);let c;t[5]===s?c=t[6]:(c=(0,q.jsxs)(`mesh`,{children:[a,(0,q.jsx)(`meshBasicMaterial`,{color:s,wireframe:!0})]}),t[5]=s,t[6]=c);let l;t[7]===n?l=t[8]:(l=(0,q.jsx)(ur,{entity:n}),t[7]=n,t[8]=l);let u;return t[9]!==n.id||t[10]!==r||t[11]!==o||t[12]!==i||t[13]!==c||t[14]!==l?(u=(0,q.jsxs)(`group`,{name:e,position:r,quaternion:o,scale:i,children:[c,l]}),t[9]=n.id,t[10]=r,t[11]=o,t[12]=i,t[13]=c,t[14]=l,t[15]=u):u=t[15],u}let s;t[16]!==n.className||t[17]!==n.renderType?(s=n.renderType===`Explosion`?null:(0,q.jsxs)(`mesh`,{children:[(0,q.jsx)(`sphereGeometry`,{args:[.5,8,6]}),(0,q.jsx)(`meshBasicMaterial`,{color:b(n.className),wireframe:!0})]}),t[16]=n.className,t[17]=n.renderType,t[18]=s):s=t[18];let c=s,l;t[19]===n?l=t[20]:(l=(0,q.jsx)(Qn,{entity:n}),t[19]=n,t[20]=l);let u;t[21]!==c||t[22]!==l?(u=(0,q.jsx)(ct,{fallback:c,children:l}),t[21]=c,t[22]=l,t[23]=u):u=t[23];let d;t[24]===n?d=t[25]:(d=(0,q.jsx)(ur,{entity:n}),t[24]=n,t[25]=d);let f;t[26]!==u||t[27]!==d?(f=(0,q.jsxs)(`group`,{name:`model`,children:[u,d]}),t[26]=u,t[27]=d,t[28]=f):f=t[28];let p;return t[29]!==n.id||t[30]!==r||t[31]!==o||t[32]!==i||t[33]!==f?(p=(0,q.jsx)(`group`,{name:n.id,position:r,quaternion:o,scale:i,children:f}),t[29]=n.id,t[30]=r,t[31]=o,t[32]=i,t[33]=f,t[34]=p):p=t[34],p}function fr(){let e=(0,K.c)(3),{fov:t}=d(),n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[0,256,0],e[0]=n):n=e[0];let r;return e[1]===t?r=e[2]:(r=(0,q.jsx)(dt,{makeDefault:!0,position:n,fov:t}),e[1]=t,e[2]=r),r}function pr(e){let t=(0,K.c)(3),{children:n}=e,{debugMode:r}=f(),i;return t[0]!==n||t[1]!==r?(i=r?(0,q.jsx)(G.Suspense,{children:n}):null,t[0]=n,t[1]=r,t[2]=i):i=t[2],i}var mr=he(`InputConsumer`),hr=200,gr=Math.PI/2-.01,_r=45,vr=31,yr=40,br=1/32,xr=2*Math.PI;function Sr(e){return((Math.round(e/xr*65536)|0)<<16>>16)*xr/65536}var Cr=new R,wr=new R,Z=new R,Tr=new P(0,0,0,`YXZ`);function Er(e,t,n,r,i,a,o){if(r===0&&i===0&&a===0)return;let s=Math.sin(t),c=Math.cos(t),l=Math.sin(n),u=Math.cos(n),d=o*br;e.x+=(c*r+s*u*i+s*l*a)*d,e.y+=(-s*r+c*u*i+c*l*a)*d,e.z+=(-l*i+u*a)*d}function Dr(){let{moveQueue:e,mode:t,setMode:n}=Be(),r=Ce(e=>e.adapter),a=Ce(e=>e.gameStatus),s=Ce(e=>e.liveReady),c=Ce(e=>e.sendMoves),l=ge(),u=i(e=>e.camera),d=g(),f=(0,G.useRef)(null),p=(0,G.useRef)([]),m=(0,G.useRef)(0),_=(0,G.useRef)(0),v=(0,G.useRef)(null),y=(0,G.useRef)(0),b=(0,G.useRef)(0),x=(0,G.useRef)({x:0,y:0,z:0}),S=(0,G.useRef)(0),C=(0,G.useRef)(0),w=(0,G.useRef)({x:0,y:0,z:0}),T=(0,G.useRef)(!1),E=(0,G.useRef)({x:0,y:0,z:0}),D=(0,G.useRef)({x:0,y:0,z:0}),O=(0,G.useRef)(!1),k=(0,G.useRef)(null),A=(0,G.useRef)(0),j=(0,G.useRef)(0),M=(0,G.useRef)(0),ee=(0,G.useRef)(0),N=(0,G.useRef)(0),P=(0,G.useRef)([!1,!1,!1,!1,!1,!1]),F=!!r&&(a===`connected`||a===`authenticating`);return(0,G.useEffect)(()=>{if(F&&r){if(f.current===r)return;mr.info(`wiring adapter to engine store`);let e=Fe.getState(),t={source:`live`,duration:1/0,missionName:e.mapName??null,gameType:null,serverDisplayName:e.serverName??null,recorderName:e.warriorName??null,recordingDate:null,streamingPlayback:r};l.getState().setRecording(t),l.getState().setPlaybackStatus(`playing`),f.current=r,T.current=!1,O.current=!1,k.current=null,p.current.length=0,m.current=0,_.current=0,v.current=null,n(`fly`)}else !F&&f.current&&(l.getState().playback.recording?.source===`live`&&l.getState().setRecording(null),f.current=null,T.current=!1,O.current=!1,k.current=null,p.current.length=0,n(`local`))},[F,r,l,n]),(0,G.useEffect)(()=>{!s&&f.current&&(mr.info(`mission change: resetting prediction state and mode`),T.current=!1,O.current=!1,k.current=null,p.current.length=0,m.current=0,_.current=0,v.current=null,A.current=0,j.current=0,M.current=0,ee.current=0,N.current=0,P.current.fill(!1),n(`fly`))},[s,n]),(0,G.useEffect)(()=>{if(!F)return rt.subscribe(e=>{n(e.cameraMode===`orbitOverride`?`follow`:`local`)})},[F,n]),h(()=>{if(!f.current||a!==`connected`||!s)return;let e=A.current,t=j.current;A.current=0,j.current=0;let n=M.current,r=ee.current,i=N.current;M.current=0,ee.current=0,N.current=0;let o=[...P.current];P.current.fill(!1);let l=Sr(e),u=Sr(t);y.current+=l-e,b.current+=u-t,S.current=y.current,C.current=b.current,w.current={...x.current};let d=yr*2,h=y.current-l,g=b.current-u;Er(x.current,h,g,n,r,i,d),o[1]=!0;let _=m.current++,v={x:n,y:r,z:i,yaw:e,pitch:t,roll:0,trigger:o,freeLook:!1},T=p.current;T.push({moveIndex:_,move:v,yaw:l,pitch:u,x:n,y:r,z:i}),T.length>_r&&T.splice(0,T.length-_r);let F=f.current.lastMoveAck;for(;T.length>0&&T[0].moveIndex0){let e=T.slice(0,vr);c(e.map(e=>e.move),e[0].moveIndex)}let te=f.current.getSnapshot();if(te!==k.current){k.current=te;let e=te?.camera;if(e?.orbitTargetId){let t=te.entities.find(t=>t.id===e.orbitTargetId);t?.position&&(E.current={...D.current},D.current={x:t.position[0],y:t.position[1],z:t.position[2]},O.current||=(E.current={...D.current},!0))}}}),o((r,i)=>{let o=e.current;if(o.length>0){let t=0,n=0,r=0,i=0,c=0,l=0,d=[!1,!1,!1,!1,!1,!1];for(let e of o){t+=e.deltaYaw,n+=e.deltaPitch,Math.abs(e.x)>Math.abs(r)&&(r=e.x),Math.abs(e.y)>Math.abs(i)&&(i=e.y),Math.abs(e.z)>Math.abs(c)&&(c=e.z),l+=e.delta;for(let t=0;t_.current){_.current=e;let t=p.current;for(;t.length>0&&t[0].moveIndexe.id===m.orbitTargetId);if(e?.position){let t={x:e.position[0],y:e.position[1],z:e.position[2]};D.current=t,E.current={...t},O.current=!0}}}if(T.current){if(t===`fly`)kr(r.camera,w.current,x.current,y.current,b.current,d());else if(t===`follow`){if(!O.current)return;Ar(r.camera,E.current,D.current,y.current,b.current,d(),m?.orbitDistance??4,m?.orbitTargetId)}}}),(0,G.useEffect)(()=>()=>{f.current&&=(l.getState().playback.recording?.source===`live`&&l.getState().setRecording(null),null)},[l]),null}function Or(e,t,n,r,i,a,o){if((t!==0||n!==0)&&(Tr.setFromQuaternion(e.quaternion,`YXZ`),Tr.y-=t,Tr.x-=n,Tr.x=Math.max(-gr,Math.min(gr,Tr.x)),e.quaternion.setFromEuler(Tr)),r!==0||i!==0||a!==0){e.getWorldDirection(Cr),Cr.normalize(),wr.crossVectors(e.up,Cr).normalize(),Z.set(0,0,0),i!==0&&Z.addScaledVector(Cr,i),r!==0&&Z.addScaledVector(wr,-r),a!==0&&(Z.y+=a);let t=Z.length();t>0&&(Z.multiplyScalar(Math.min(1,t)/t*hr*o),e.position.add(Z))}}function kr(e,t,n,r,i,a){let o=t.x+(n.x-t.x)*a,s=t.y+(n.y-t.y)*a,c=t.z+(n.z-t.z)*a;e.position.set(s,c,o);let[l,u,d,f]=ye(r,i);e.quaternion.set(l,u,d,f)}function Ar(e,t,n,r,i,a,o,s){let c=t.x+(n.x-t.x)*a,l=t.y+(n.y-t.y)*a,u=t.z+(n.z-t.z)*a+(s!=null&&rt.getState().entities.get(s)?.renderType===`Player`?1:0),d=Math.sin(i),f=Math.cos(i),p=Math.sin(r),m=Math.cos(r),h=Math.max(.1,o),g=c-p*f*h,_=l-m*f*h,v=u+d*h;e.position.set(_,v,g);let[y,b,x,S]=ye(r,i);e.quaternion.set(y,b,x,S)}var jr=he(`CameraTourConsumer`);function Mr(e){return e<.5?4*e*e*e:1-(-2*e+2)**3/2}var Nr=3,Pr=2,Fr=1.8,Ir=1.8,Lr=1.2,Rr=.6,zr=3/4*(2*Math.PI),Br=zr/Rr,Vr=1.5,Hr=1.5,Ur=6,Wr=180,Gr=1.4,Kr=new B,qr=new B,Jr=new B,Yr=new fe,Xr=new R,Zr=new R,Qr=new R,$r=new R,ei=new R,Q=new oe,ti=new oe,ni=new fe,ri=new P;function ii(e){if(e.orbitCenter)return ei.set(e.orbitCenter[0],e.orbitCenter[1],e.orbitCenter[2]);let t=e.targets[e.currentIndex];return ei.set(t.position[0],t.position[1],t.position[2])}function ai(e){return e.orbitRadius??Nr}function oi(e){return ai(e)*(Pr/Nr)}function si(e,t,n){let r=ii(e),i=ai(e),a=oi(e);return n.set(r.x+Math.cos(t)*i,r.y+a,r.z+Math.sin(t)*i)}function ci(e,t,n){let r=e.getObjectByName(t.entityId);if(r){Kr.setFromObject(r),Kr.getCenter(Xr),n.orbitCenter=[Xr.x,Xr.y,Xr.z];let e=ni.copy(r.matrixWorld).invert();qr.makeEmpty(),r.traverse(t=>{t.geometry&&(t.geometry.boundingBox||t.geometry.computeBoundingBox(),Jr.copy(t.geometry.boundingBox),Yr.multiplyMatrices(e,t.matrixWorld),Jr.applyMatrix4(Yr),qr.union(Jr))}),qr.getSize(Zr);let i=Zr.y,a=Math.max(Zr.x,Zr.z),o=i/2+Ir,s=a/2+Lr,c=Math.max(o,s);n.orbitRadius=Math.max(Fr,c);let l=o>=s?`height`:`spread`,u=c=e.phaseDuration&&(e.phase=`orbiting`,e.elapsed=0,e.orbitStartAngle=fi(t.position,e))}function hi(e,t,n){let r=e.targets.length===1,i=e.currentIndex>=e.targets.length-1;e.elapsed+=n;let a=e.orbitStartAngle,o=Br+Vr,s;if(e.elapsed<=Br)s=a+e.elapsed*Rr;else{let t=e.elapsed-Br,n=Math.min(1,t/Vr),r=t*Rr*(1-n/2);s=a+zr+r}si(e,s,Qr),t.position.copy(Qr);let c=ui(Qr,ii(e));t.quaternion.copy(c),e.elapsed>=o&&(r||i?U.getState().cancel():U.getState().advanceTarget())}function gi(){let e=(0,K.c)(4),t=i(xi),n=i(bi),r=i(yi),a=(0,G.useRef)(null);We(`nextStop`,vi),We(`exitTour`,_i);let s;return e[0]!==n||e[1]!==t||e[2]!==r?(s=(e,i)=>{let o=U.getState().animation;if(!o){a.current&&=(li(n.quaternion),null);return}t(),a.current=o,o.phase===`traveling`?mi(o,n,i,r):hi(o,n,i)},e[0]=n,e[1]=t,e[2]=r,e[3]=s):s=e[3],o(s),null}function _i(){U.getState().cancel()}function vi(){let e=U.getState().animation;e&&(e.currentIndex>=e.targets.length-1?U.getState().cancel():U.getState().advanceTarget())}function yi(e){return e.scene}function bi(e){return e.camera}function xi(e){return e.invalidate}var Si=3;function $({map:e}){let t=ze,n=i(e=>e.gl.domElement),r=(0,G.useMemo)(()=>{let n=e.map(e=>{let t=Array.isArray(e.keys)?e.keys:[e.keys];return{name:e.name,bindings:t.map(Ie)}}),r={};for(let e of n)r[e.name]=Ve(e.bindings[0]);let i=new Map,a=[],o=[],s=[],c=[],l=[];for(let e of n)for(let t of e.bindings)switch(t.type){case`key`:{let n=i.get(t.code);n||(n=[],i.set(t.code,n)),n.push({action:e,binding:t});break}case`click`:a.push({action:e,binding:t});break;case`drag`:o.push({action:e,binding:t});break;case`pointerLockMove`:s.push({action:e});break;case`scroll`:c.push({action:e});break;case`touch`:l.push({action:e});break}function u(e){return e==null?!0:e===!!document.pointerLockElement}function d(e){let{actions:n}=t.getState(),r={};for(let[,t]of i)for(let{action:i,binding:a}of t){let t=e.has(a.code)&&He(e,a.modifiers),o=n[i.name]?.pressed??!1;t&&!o?(r[i.name]={pressed:!0},Me(i.name)):!t&&o&&(r[i.name]={pressed:!1})}Object.keys(r).length>0&&t.setState(e=>({...e,actions:{...e.actions,...r}}))}let f=-1,p=0,m=0,h=!1;function g(e,n){t.setState(t=>({...t,actions:{...t.actions,[e]:n}}))}function _(e){let t=!!document.pointerLockElement;for(let{action:t,binding:n}of a){if(!u(n.whenPointerLocked))continue;let r=n.button??0;e.button===r&&je(e,n.modifiers)&&g(t.name,{pressed:!0})}t||(f=e.button,p=e.clientX,m=e.clientY,h=!1)}function v(e){if(document.pointerLockElement){if(s.length>0){let{actions:n}=t.getState(),r={};for(let{action:t}of s){let i=n[t.name];r[t.name]={...i,deltaX:i.deltaX+e.movementX,deltaY:i.deltaY+e.movementY}}t.setState(e=>({...e,actions:{...e.actions,...r}}))}return}if(f<0)return;if(!h){let n=e.clientX-p,r=e.clientY-m;if(Math.abs(n)0&&t.setState(e=>({...e,actions:{...e.actions,...r}}))}function y(e){let n=!!document.pointerLockElement;for(let{action:n,binding:r}of a){if(!u(r.whenPointerLocked))continue;let i=r.button??0;e.button===i&&t.getState().actions[n.name].pressed&&(Me(n.name),g(n.name,{pressed:!1}))}if(!n&&e.button===f){for(let{action:e,binding:n}of o)u(n.whenPointerLocked)&&(n.button??0)===f&&t.getState().actions[e.name].dragging&&g(e.name,Re());f=-1,h=!1}}function b(e){for(let{action:t}of c)g(t.name,{deltaX:e.deltaX,deltaY:e.deltaY}),Me(t.name)}let x=null,S=0,C=0;function w(e){if(x!==null||l.length===0)return;let t=e.changedTouches[0];if(t){x=t.identifier,S=t.clientX,C=t.clientY;for(let{action:e}of l)g(e.name,{touching:!0,dragging:!1,deltaX:0,deltaY:0})}}function T(e){if(x!==null)for(let n=0;ne.name),initialActions:r,deriveKeyActions:d,hasKeyBindings:i.size>0,handleMouseDown:_,handleMouseMove:v,handleMouseUp:y,handleWheel:b,handleTouchStart:w,handleTouchMove:T,handleTouchEnd:E,hasMouseBindings:a.length>0||o.length>0||s.length>0,hasScrollBindings:c.length>0,hasTouchBindings:l.length>0}},[e,t]);return(0,G.useEffect)(()=>{t.setState(e=>({...e,actions:{...e.actions,...r.initialActions}}));let e;return r.hasKeyBindings&&(r.deriveKeyActions(t.getState().keys),e=t.subscribe(e=>e.keys,e=>r.deriveKeyActions(e))),r.hasMouseBindings&&(n.addEventListener(`mousedown`,r.handleMouseDown),document.addEventListener(`mousemove`,r.handleMouseMove),document.addEventListener(`mouseup`,r.handleMouseUp)),r.hasScrollBindings&&n.addEventListener(`wheel`,r.handleWheel,{passive:!0}),r.hasTouchBindings&&(n.addEventListener(`touchstart`,r.handleTouchStart,{passive:!0}),document.addEventListener(`touchmove`,r.handleTouchMove,{passive:!0}),document.addEventListener(`touchend`,r.handleTouchEnd,{passive:!0}),document.addEventListener(`touchcancel`,r.handleTouchEnd,{passive:!0})),()=>{e?.(),r.hasMouseBindings&&(n.removeEventListener(`mousedown`,r.handleMouseDown),document.removeEventListener(`mousemove`,r.handleMouseMove),document.removeEventListener(`mouseup`,r.handleMouseUp)),r.hasScrollBindings&&n.removeEventListener(`wheel`,r.handleWheel),r.hasTouchBindings&&(n.removeEventListener(`touchstart`,r.handleTouchStart),document.removeEventListener(`touchmove`,r.handleTouchMove),document.removeEventListener(`touchend`,r.handleTouchEnd),document.removeEventListener(`touchcancel`,r.handleTouchEnd)),t.setState(e=>{let t={...e.actions};for(let e of r.actionNames)delete t[e];return{...e,actions:t}})}},[r,t,n]),null}var Ci=[{name:`moveForward`,keys:[`KeyW`]},{name:`moveBackward`,keys:[`KeyS`]},{name:`moveLeft`,keys:[`KeyA`]},{name:`moveRight`,keys:[`KeyD`]},{name:`moveUp`,keys:[`KeyE`]},{name:`moveDown`,keys:[`KeyQ`]},{name:`adjustSpeed`,keys:[{type:`scroll`}]}],wi=[{name:`lookUp`,keys:[`ArrowUp`]},{name:`lookDown`,keys:[`ArrowDown`]},{name:`lookLeft`,keys:[`ArrowLeft`]},{name:`lookRight`,keys:[`ArrowRight`]},{name:`dragLook`,keys:[{type:`drag`,button:0}]},{name:`lockedLook`,keys:[{type:`pointerLockMove`}]},{name:`touchLook`,keys:[{type:`touch`}]}],Ti=[{name:`canvasClick`,keys:[{type:`click`,button:0,whenPointerLocked:!1}]}],Ei=[{name:`camera1`,keys:[`Digit1`]},{name:`camera2`,keys:[`Digit2`]},{name:`camera3`,keys:[`Digit3`]},{name:`camera4`,keys:[`Digit4`]},{name:`camera5`,keys:[`Digit5`]},{name:`camera6`,keys:[`Digit6`]},{name:`camera7`,keys:[`Digit7`]},{name:`camera8`,keys:[`Digit8`]},{name:`camera9`,keys:[`Digit9`]}],Di=[{name:`playPause`,keys:[`Space`]},{name:`decreasePlaybackSpeed`,keys:[`Comma`,`Shift-Comma`]},{name:`increasePlaybackSpeed`,keys:[`Period`,`Shift-Period`]}],Oi=[{name:`toggleObserverMode`,keys:[`Space`]}],ki=[{name:`nextPlayer`,keys:[{type:`click`,button:0,whenPointerLocked:!0}]}],Ai=[{name:`nextStop`,keys:[{type:`click`,button:0}]},{name:`exitTour`,keys:[`Escape`]}];function ji(){let e=(0,K.c)(27),t=we(),n=Le(),r=ve(Mi),i=t?.source===`demo`,a=t?.source===`live`,o=!t,s=o&&!r||a&&n===`fly`,c=!r,l=!r,u;e[0]===s?u=e[1]:(u=s&&(0,q.jsx)($,{map:Ci}),e[0]=s,e[1]=u);let d;e[2]===c?d=e[3]:(d=c&&(0,q.jsx)($,{map:wi}),e[2]=c,e[3]=d);let f;e[4]===l?f=e[5]:(f=l&&(0,q.jsx)($,{map:Ti}),e[4]=l,e[5]=f);let p;e[6]!==o||e[7]!==r?(p=o&&!r&&(0,q.jsx)($,{map:Ei}),e[6]=o,e[7]=r,e[8]=p):p=e[8];let m;e[9]===i?m=e[10]:(m=i&&(0,q.jsx)($,{map:Di}),e[9]=i,e[10]=m);let h;e[11]===a?h=e[12]:(h=a&&(0,q.jsx)($,{map:Oi}),e[11]=a,e[12]=h);let g;e[13]!==n||e[14]!==a?(g=a&&n===`follow`&&(0,q.jsx)($,{map:ki}),e[13]=n,e[14]=a,e[15]=g):g=e[15];let _;e[16]===r?_=e[17]:(_=r&&(0,q.jsx)($,{map:Ai}),e[16]=r,e[17]=_);let v;return e[18]!==u||e[19]!==d||e[20]!==f||e[21]!==p||e[22]!==m||e[23]!==h||e[24]!==g||e[25]!==_?(v=(0,q.jsxs)(q.Fragment,{children:[u,d,f,p,m,h,g,_]}),e[18]=u,e[19]=d,e[20]=f,e[21]=p,e[22]=m,e[23]=h,e[24]=g,e[25]=_,e[26]=v):v=e[26],v}function Mi(e){return e.animation!==null}function Ni(e,t){return(0,G.lazy)(()=>t().then(t=>({default:t[e]})))}var Pi=Ni(`StreamingController`,()=>H(()=>import(`./StreamingController-BpO-kCrv.js`),__vite__mapDeps([36,1,9,10,11,4,12,13,2,3,5,14,15,16,17,18,19,20,21,22,23,6,7,8,24,25,26,0,27,28,29,30,37]))),Fi=Ni(`DebugElements`,()=>H(()=>import(`./DebugElements-DXesdZsb.js`),__vite__mapDeps([38,1,2,3,4,5,25,26,39]))),Ii=Ni(`Mission`,()=>H(()=>import(`./Mission-0eTBlQ14.js`),__vite__mapDeps([40,1,9,10,11,4,12,13,2,3,5,14,15,16,17,18,19,20,21,22,23,41,8,42]))),Li=Ni(`ChatSoundPlayer`,()=>H(()=>import(`./ChatSoundPlayer-CeH36_2V.js`),__vite__mapDeps([43,1,14,2,3,4,5,13,15,16,12,17,18]))),Ri=(0,G.memo)(function(e){let t=(0,K.c)(23),{dpr:n,onCreated:r,missionName:i,missionType:a,onLoadingChange:o}=e,s=we(),c=Oe(),l=c===`demo`||c===`live`,u,d;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,q.jsx)(ji,{}),d=(0,q.jsx)(Ue,{}),t[0]=u,t[1]=d):(u=t[0],d=t[1]);let f;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,q.jsx)(gt,{}),t[2]=f):f=t[2];let m,h;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,q.jsx)(G.Suspense,{children:(0,q.jsx)(or,{})}),h=(0,q.jsx)(fr,{}),t[3]=m,t[4]=h):(m=t[3],h=t[4]);let g;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,q.jsx)(Un,{children:(0,q.jsx)(Li,{})}),t[5]=g):g=t[5];let _;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,q.jsx)(pr,{children:(0,q.jsx)(Fi,{})}),t[6]=_):_=t[6];let v;t[7]===s?v=t[8]:(v=s?(0,q.jsx)(G.Suspense,{children:(0,q.jsx)(Pi,{recording:s})}):null,t[7]=s,t[8]=v);let b;t[9]!==l||t[10]!==i||t[11]!==a||t[12]!==o?(b=l?null:(0,q.jsx)(G.Suspense,{children:(0,q.jsx)(Ii,{name:i,missionType:a,onLoadingChange:o},`${i}~${a}`)}),t[9]=l,t[10]=i,t[11]=a,t[12]=o,t[13]=b):b=t[13];let x,S;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,q.jsx)(gi,{}),S=(0,q.jsx)(Dr,{}),t[14]=x,t[15]=S):(x=t[14],S=t[15]);let C;t[16]!==v||t[17]!==b?(C=(0,q.jsx)(y,{children:(0,q.jsxs)(Ne,{children:[u,d,(0,q.jsxs)(p,{children:[f,m,h,g,_,v,b,x,S]})]})}),t[16]=v,t[17]=b,t[18]=C):C=t[18];let w;return t[19]!==n||t[20]!==r||t[21]!==C?(w=(0,q.jsx)(St,{dpr:n,onCreated:r,children:C}),t[19]=n,t[20]=r,t[21]=C,t[22]=w):w=t[22],w});export{Ri as GameView}; \ No newline at end of file diff --git a/docs/assets/GenericShape-C0Oq1K_N.js b/docs/assets/GenericShape-C0Oq1K_N.js new file mode 100644 index 00000000..807a9d53 --- /dev/null +++ b/docs/assets/GenericShape-C0Oq1K_N.js @@ -0,0 +1 @@ +import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import{i}from"./react-three-fiber.esm-CD18QK1u.js";import{a,i as o,s}from"./SettingsProvider-D-grt5cc.js";import{C as c,D as l,E as u,S as d,_ as f,d as p,f as m,o as h,s as g,w as _,x as v}from"./playbackUtils-C1ncI8YZ.js";import{i as y,n as b,r as x}from"./engineStore-Mono9lyt.js";import{t as S}from"./logger-B058WGzf.js";import{r as C}from"./cameraTourStore-DQ989o2x.js";import{$ as w,Wt as T,et as E,f as D,i as O,o as k,s as A,xt as j}from"./three.module-C9W4LJrj.js";import{t as M}from"./Texture-D2i1vM3o.js";import{d as N,m as P,p as F,r as I,t as L}from"./index-BEKjcnfN.js";import{t as ee}from"./DebugBounds-BnJbEQUF.js";import{c as R,l as z,o as te,p as B,r as V,u as ne}from"./AudioEmitter-EsMJ6jds.js";import{d as H}from"./globalFogUniforms-BQRkMz5n.js";import{t as re}from"./useAnisotropy-Dq6cNuNI.js";var U=e(n(),1),W=(0,U.createContext)(null),G={didCatch:!1,error:null},K=class extends U.Component{constructor(e){super(e),this.resetErrorBoundary=this.resetErrorBoundary.bind(this),this.state=G}static getDerivedStateFromError(e){return{didCatch:!0,error:e}}resetErrorBoundary(...e){let{error:t}=this.state;t!==null&&(this.props.onReset?.({args:e,reason:`imperative-api`}),this.setState(G))}componentDidCatch(e,t){this.props.onError?.(e,t)}componentDidUpdate(e,t){let{didCatch:n}=this.state,{resetKeys:r}=this.props;n&&t.error!==null&&q(e.resetKeys,r)&&(this.props.onReset?.({next:r,prev:e.resetKeys,reason:`keys`}),this.setState(G))}render(){let{children:e,fallbackRender:t,FallbackComponent:n,fallback:r}=this.props,{didCatch:i,error:a}=this.state,o=e;if(i){let e={error:a,resetErrorBoundary:this.resetErrorBoundary};if(typeof t==`function`)o=t(e);else if(n)o=(0,U.createElement)(n,e);else if(r!==void 0)o=r;else throw a}return(0,U.createElement)(W.Provider,{value:{didCatch:i,error:a,resetErrorBoundary:this.resetErrorBoundary}},o)}};function q(e=[],t=[]){return e.length!==t.length||e.some((e,n)=>!Object.is(e,t[n]))}function ie(e){let t=new Map,n=new Map,r=e.clone();return J(e,r,function(e,r){t.set(r,e),n.set(e,r)}),r.traverse(function(e){if(!e.isSkinnedMesh)return;let r=e,i=t.get(e),a=i.skeleton.bones;r.skeleton=i.skeleton.clone(),r.bindMatrix.copy(i.bindMatrix),r.skeleton.bones=a.map(function(e){return n.get(e)}),r.bind(r.skeleton,r.bindMatrix)}),r}function J(e,t,n){n(e,t);for(let r=0;rnull)),l=(0,U.useRef)(new Map);(0,U.useEffect)(()=>()=>{for(let e of c.current)if(e){z(e.sound);try{e.sound.stop()}catch{}try{e.sound.disconnect()}catch{}e.sound.parent?.remove(e.sound)}c.current=Array.from({length:Y},()=>null)},[]),i(()=>{if(!o||!r||!n||!t)return;let i=e.current?.soundSlots,a=c.current,u=x.getState().playback.status===`playing`;for(let e=0;et.index===e),c=!!o?.playing&&o.profileId!=null,d=o?.profileId??-1,f=a[e];if(c&&u){if(f&&f.profileId===d&&f.sound.isPlaying)continue;if(f&&f.profileId!==d){z(f.sound);try{f.sound.stop()}catch{}f.sound.parent?.remove(f.sound),a[e]=null}let i=l.current.get(d);if(i){if(!a[e]){let n=new j(r);n.setDistanceModel(`inverse`),n.setRefDistance(i.profile.refDist),n.setMaxDistance(i.profile.maxDist),n.setRolloffFactor(1),n.setVolume(i.profile.volume),n.setBuffer(i.buffer),n.setLoop(i.profile.isLooping),n.setPlaybackRate(s()),t.add(n);try{n.play(),R(n,1)}catch{}a[e]={profileId:d,sound:n,profile:i.profile}}}else{let e=x.getState().playback.recording?.streamingPlayback;if(!e)continue;let t=te(d,e.getDataBlockData.bind(e));if(!t)continue;try{V(I(t.filename),n,e=>{l.current.set(d,{profile:t,buffer:e})})}catch{}}}else if(f){z(f.sound);try{f.sound.stop()}catch{}f.sound.parent?.remove(f.sound),a[e]=null}}})}var X=t(),Z=r(),Q=S(`GenericShape`);function $(){let{recording:e}=x.getState().playback;return e==null?performance.now()/1e3:b()/1e3}function oe(e){let t=(0,X.c)(2),n;return t[0]===e?n=t[1]:(n=N(e),t[0]=e,t[1]=n),P(n)}var se=(0,U.memo)(function(e){let t=(0,X.c)(35),{material:n,shapeName:r,geometry:i,backGeometry:a,castShadow:o,receiveShadow:s,vis:c,animated:l}=e,d=o===void 0?!1:o,p=s===void 0?!1:s,m=c===void 0?1:c,h=l===void 0?!1:l,g=n.userData.resource_path,v;t[0]===n.userData.flag_names?v=t[1]:(v=n.userData.flag_names?new Set(n.userData.flag_names):ue,t[0]=n.userData.flag_names,t[1]=v);let y=v,b=_(`textures/${g}.ifl`),x;t[2]===r?x=t[3]:(x=r&&u(r),t[2]=r,t[3]=x);let S=!!x,C;t[4]!==h||t[5]!==y||t[6]!==S||t[7]!==n||t[8]!==b||t[9]!==m?(C=f(n,b,y,S,m,h),t[4]=h,t[5]=y,t[6]=S,t[7]=n,t[8]=b,t[9]=m,t[10]=C):C=t[10];let w=C;if(ce(w),Array.isArray(w)){let e=a||i,n;t[11]===w[0]?n=t[12]:(n=(0,Z.jsx)(`primitive`,{object:w[0],attach:`material`}),t[11]=w[0],t[12]=n);let r;t[13]!==d||t[14]!==p||t[15]!==e||t[16]!==n?(r=(0,Z.jsx)(`mesh`,{geometry:e,castShadow:d,receiveShadow:p,children:n}),t[13]=d,t[14]=p,t[15]=e,t[16]=n,t[17]=r):r=t[17];let o;t[18]===w[1]?o=t[19]:(o=(0,Z.jsx)(`primitive`,{object:w[1],attach:`material`}),t[18]=w[1],t[19]=o);let s;t[20]!==d||t[21]!==i||t[22]!==p||t[23]!==o?(s=(0,Z.jsx)(`mesh`,{geometry:i,castShadow:d,receiveShadow:p,children:o}),t[20]=d,t[21]=i,t[22]=p,t[23]=o,t[24]=s):s=t[24];let c;return t[25]!==r||t[26]!==s?(c=(0,Z.jsxs)(Z.Fragment,{children:[r,s]}),t[25]=r,t[26]=s,t[27]=c):c=t[27],c}let T;t[28]===w?T=t[29]:(T=(0,Z.jsx)(`primitive`,{object:w,attach:`material`}),t[28]=w,t[29]=T);let E;return t[30]!==d||t[31]!==i||t[32]!==p||t[33]!==T?(E=(0,Z.jsx)(`mesh`,{geometry:i,castShadow:d,receiveShadow:p,children:T}),t[30]=d,t[31]=i,t[32]=p,t[33]=T,t[34]=E):E=t[34],E});function ce(e){let t=(0,X.c)(3),n,r;t[0]===e?(n=t[1],r=t[2]):(n=()=>()=>{Array.isArray(e)?e.forEach(le):e.dispose()},r=[e],t[0]=e,t[1]=n,t[2]=r),(0,U.useEffect)(n,r)}function le(e){return e.dispose()}var ue=new Set,de=(0,U.memo)(function(e){let t=(0,X.c)(43),{material:n,shapeName:r,geometry:i,backGeometry:a,castShadow:o,receiveShadow:s,vis:c,animated:l}=e,d=o===void 0?!1:o,p=s===void 0?!1:s,m=c===void 0?1:c,h=l===void 0?!1:l,g=n.userData.resource_path,_;t[0]===n.userData.flag_names?_=t[1]:(_=n.userData.flag_names?new Set(n.userData.flag_names):ue,t[0]=n.userData.flag_names,t[1]=_);let v=_;g||Q.warn(`No resource_path found on "%s" — rendering fallback`,r);let y;t[2]===g?y=t[3]:(y=g?F(g):L,t[2]=g,t[3]=y);let b=y,x;t[4]===r?x=t[5]:(x=r&&u(r),t[4]=r,t[5]=x);let S=!!x,C;t[6]===v?C=t[7]:(C=v.has(`Translucent`),t[6]=v,t[7]=C);let w=C,T=re(),E;t[8]!==T||t[9]!==S||t[10]!==w?(E=e=>S||w?H(e,{disableMipmaps:!0,anisotropy:T}):H(e,{anisotropy:T}),t[8]=T,t[9]=S,t[10]=w,t[11]=E):E=t[11];let D=M(b,E),O;t[12]!==h||t[13]!==v||t[14]!==S||t[15]!==n||t[16]!==D||t[17]!==m?(O=f(n,D,v,S,m,h),t[12]=h,t[13]=v,t[14]=S,t[15]=n,t[16]=D,t[17]=m,t[18]=O):O=t[18];let k=O;if(ce(k),Array.isArray(k)){let e=a||i,n;t[19]===k[0]?n=t[20]:(n=(0,Z.jsx)(`primitive`,{object:k[0],attach:`material`}),t[19]=k[0],t[20]=n);let r;t[21]!==d||t[22]!==p||t[23]!==e||t[24]!==n?(r=(0,Z.jsx)(`mesh`,{geometry:e,castShadow:d,receiveShadow:p,children:n}),t[21]=d,t[22]=p,t[23]=e,t[24]=n,t[25]=r):r=t[25];let o;t[26]===k[1]?o=t[27]:(o=(0,Z.jsx)(`primitive`,{object:k[1],attach:`material`}),t[26]=k[1],t[27]=o);let s;t[28]!==d||t[29]!==i||t[30]!==p||t[31]!==o?(s=(0,Z.jsx)(`mesh`,{geometry:i,castShadow:d,receiveShadow:p,children:o}),t[28]=d,t[29]=i,t[30]=p,t[31]=o,t[32]=s):s=t[32];let c;return t[33]!==r||t[34]!==s?(c=(0,Z.jsxs)(Z.Fragment,{children:[r,s]}),t[33]=r,t[34]=s,t[35]=c):c=t[35],c}let A;t[36]===k?A=t[37]:(A=(0,Z.jsx)(`primitive`,{object:k,attach:`material`}),t[36]=k,t[37]=A);let j;return t[38]!==d||t[39]!==i||t[40]!==p||t[41]!==A?(j=(0,Z.jsx)(`mesh`,{geometry:i,castShadow:d,receiveShadow:p,children:A}),t[38]=d,t[39]=i,t[40]=p,t[41]=A,t[42]=j):j=t[42],j});(0,U.memo)(function(e){let t=(0,X.c)(18),{material:n,shapeName:r,geometry:i,backGeometry:a,castShadow:o,receiveShadow:s,vis:c,animated:l}=e,u=o===void 0?!1:o,d=s===void 0?!1:s,f=c===void 0?1:c,p=l===void 0?!1:l,m=new Set(n.userData.flag_names??[]).has(`IflMaterial`),h=n.userData.resource_path;if(m&&h){let e;return t[0]!==p||t[1]!==a||t[2]!==u||t[3]!==i||t[4]!==n||t[5]!==d||t[6]!==r||t[7]!==f?(e=(0,Z.jsx)(se,{material:n,shapeName:r,geometry:i,backGeometry:a,castShadow:u,receiveShadow:d,vis:f,animated:p}),t[0]=p,t[1]=a,t[2]=u,t[3]=i,t[4]=n,t[5]=d,t[6]=r,t[7]=f,t[8]=e):e=t[8],e}else if(n.name){let e;return t[9]!==p||t[10]!==a||t[11]!==u||t[12]!==i||t[13]!==n||t[14]!==d||t[15]!==r||t[16]!==f?(e=(0,Z.jsx)(de,{material:n,shapeName:r,geometry:i,backGeometry:a,castShadow:u,receiveShadow:d,vis:f,animated:p}),t[9]=p,t[10]=a,t[11]=u,t[12]=i,t[13]=n,t[14]=d,t[15]=r,t[16]=f,t[17]=e):e=t[17],e}else return null});function fe(e){let t=(0,X.c)(9),{color:n,label:r}=e,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,Z.jsx)(`boxGeometry`,{args:[10,10,10]}),t[0]=i):i=t[0];let a;t[1]===n?a=t[2]:(a=(0,Z.jsx)(`meshStandardMaterial`,{color:n,wireframe:!0}),t[1]=n,t[2]=a);let o;t[3]!==n||t[4]!==r?(o=r?(0,Z.jsx)(ne,{color:n,children:r}):null,t[3]=n,t[4]=r,t[5]=o):o=t[5];let s;return t[6]!==a||t[7]!==o?(s=(0,Z.jsxs)(`mesh`,{children:[i,a,o]}),t[6]=a,t[7]=o,t[8]=s):s=t[8],s}function pe(e){let t=(0,X.c)(4),{color:n,label:r}=e,{debugMode:i}=o(),a;return t[0]!==n||t[1]!==i||t[2]!==r?(a=i?(0,Z.jsx)(fe,{color:n,label:r}):null,t[0]=n,t[1]=i,t[2]=r,t[3]=a):a=t[3],a}var me=(0,U.memo)(function(e){let t=(0,X.c)(20),{loadingColor:n,streamEntity:r,emap:i,entityId:a,children:o}=e,s=n===void 0?`yellow`:n,{object:c,shapeName:u}=l();if(!u){let e=`${c?._id}: `,n;return t[0]===e?n=t[1]:(n=(0,Z.jsx)(pe,{color:`orange`,label:e}),t[0]=e,t[1]=n),n}let d=`${c?._id}: ${u}`,f;t[2]===d?f=t[3]:(f=(0,Z.jsx)(pe,{color:`red`,label:d}),t[2]=d,t[3]=f);let p;t[4]===u?p=t[5]:(p=e=>{Q.error(`Shape error: %s: %o`,u,e)},t[4]=u,t[5]=p);let m;t[6]===s?m=t[7]:(m=(0,Z.jsx)(fe,{color:s}),t[6]=s,t[7]=m);let h;t[8]!==i||t[9]!==a||t[10]!==r?(h=(0,Z.jsx)(ge,{streamEntity:r,emap:i,entityId:a}),t[8]=i,t[9]=a,t[10]=r,t[11]=h):h=t[11];let g;t[12]!==o||t[13]!==m||t[14]!==h?(g=(0,Z.jsxs)(U.Suspense,{fallback:m,children:[h,o]}),t[12]=o,t[13]=m,t[14]=h,t[15]=g):g=t[15];let _;return t[16]!==f||t[17]!==p||t[18]!==g?(_=(0,Z.jsx)(K,{fallback:f,onError:p,children:g}),t[16]=f,t[17]=p,t[18]=g,t[19]=_):_=t[19],_}),he=(0,U.memo)(function({gltf:e,streamEntity:t,emap:n,entityId:r}){let{object:s,shapeName:u}=l(),{debugMode:f}=o(),{animationEnabled:_}=a(),b=y(e=>e.runtime.runtime),S=re(),{clonedScene:j,mixer:M,clipsByName:N,visNodesBySequence:P,iflMeshes:F}=(0,U.useMemo)(()=>{let r=ie(e.scene),i=[];r.traverse(e=>{if(!e.isMesh||!e.material)return;let t=Array.isArray(e.material)?e.material[0]:e.material;if(!t?.userData)return;let n=new Set(t.userData.flag_names??[]),r=t.userData.resource_path;if(n.has(`IflMaterial`)&&r){let t=e.userData,n=t?.ifl_sequence?String(t.ifl_sequence).toLowerCase():void 0,a=t?.ifl_duration?Number(t.ifl_duration):void 0,o=t?.ifl_sequence?!!t.ifl_cyclic:void 0,s=t?.ifl_tool_begin==null?void 0:Number(t.ifl_tool_begin);i.push({mesh:e,iflPath:`textures/${r}.ifl`,hasVisSequence:!!t?.vis_sequence,iflSequence:n,iflDuration:a,iflCyclic:o,iflToolBegin:s})}}),p(r,u??void 0,{anisotropy:S,emap:n??t?.emap});for(let{mesh:e,hasVisSequence:t}of i)t||(e.visible=!0);let a=new Map;r.traverse(e=>{if(!e.isMesh)return;let t=e.userData;if(!t)return;let n=t.vis_keyframes,r=t.vis_duration,i=(t.vis_sequence??``).toLowerCase();if(!i||!Array.isArray(n)||n.length<=1||!r||r<=0)return;let o=a.get(i);o||(o=[],a.set(i,o)),o.push({mesh:e,keyframes:n,duration:r,cyclic:!!t.vis_cyclic})});let o=new Set,s=r.userData?.dts_sequence_names,c=r.userData?.dts_sequence_blend;if(typeof s==`string`)try{let e=JSON.parse(s),t=typeof c==`string`?JSON.parse(c):[];for(let n=0;n0?new k(r):null,clipsByName:l,visNodesBySequence:a,iflMeshes:i}},[e,S,n]);(0,U.useEffect)(()=>()=>{g(j),M?.uncacheRoot(j)},[j,M]);let I=(0,U.useRef)(new Map),L=(0,U.useRef)(new Map),R=(0,U.useRef)([]),z=(0,U.useRef)(0),te=(0,U.useRef)(_);te.current=_;let B=(0,U.useRef)(null),V=(0,U.useRef)(t);V.current=t;let H=(0,U.useRef)(null),W=(0,U.useRef)(null),G=(0,U.useRef)(void 0);(0,U.useEffect)(()=>{R.current=[],L.current.clear();for(let e of F)d(e.iflPath).then(t=>{let n=Array.isArray(e.mesh.material)?e.mesh.material[0]:e.mesh.material;n&&(n.map=t.texture,n.needsUpdate=!0);let r={atlas:t,sequenceName:e.iflSequence,sequenceDuration:e.iflDuration,cyclic:e.iflCyclic,toolBegin:e.iflToolBegin};R.current.push(r),L.current.set(e.mesh,t)}).catch(t=>{Q.warn(`Failed to load IFL atlas for %s: %o`,e.iflPath,t)})},[F]);let{seqCyclicByName:K,seqBlendByName:q}=(0,U.useMemo)(()=>{let t=new Map,n=new Map,r=e.scene.userData?.dts_sequence_names,i=e.scene.userData?.dts_sequence_cyclic,a=e.scene.userData?.dts_sequence_blend;if(typeof r==`string`)try{let e=JSON.parse(r),o=typeof i==`string`?JSON.parse(i):[],s=typeof a==`string`?JSON.parse(a):[];for(let r=0;r{let e=I.current,t=V.current==null;function n(e){if(e.mesh.visible=!0,e.mesh.material?.isMeshStandardMaterial){let t=e.mesh.material,n=m(t,e.mesh.userData?.vis??0);e.mesh.material=n.material}e.mesh.material&&!Array.isArray(e.mesh.material)&&(e.mesh.material.transparent=!0,e.mesh.material.depthWrite=!1);let t=L.current.get(e.mesh);t&&e.mesh.material&&!Array.isArray(e.mesh.material)&&(e.mesh.material.map=t.texture,e.mesh.material.needsUpdate=!0)}function r(t,r){let a=r.toLowerCase();i(t);let o=N.get(a),s=P.get(a),c={sequence:a,startTime:$()};if(o&&M){let e=M.clipAction(o);K.get(a)??!0?e.setLoop(E,1/0):(e.setLoop(w,1),e.clampWhenFinished=!0),q.has(a)&&(e.blendMode=O),e.reset().play(),c.action=e}if(s){for(let e of s)n(e);c.visNodes=s}e.set(t,c)}function i(t){let n=e.get(t);if(n){if(n.action&&n.action.stop(),n.visNodes)for(let e of n.visNodes)e.mesh.visible=!1,e.mesh.material&&!Array.isArray(e.mesh.material)&&(e.mesh.material.opacity=e.keyframes[0]);e.delete(t)}}if(H.current=r,W.current=i,M&&N.has(`wheel0`)){let e=[];for(let t=0;t<6;t++){let n={rotation:0},r=N.get(`wheel${t}`);if(r){let e=M.clipAction(r);e.setLoop(w,1),e.clampWhenFinished=!0,e.paused=!0,e.play(),n.wheelAction=e}let i=N.get(`spring${t}`);if(i){let e=M.clipAction(i);e.setLoop(w,1),e.clampWhenFinished=!0,e.paused=!0,e.play(),e.time=0,n.springAction=e}let a=N.get(`turn${t}`);if(a){let e=M.clipAction(a);e.setLoop(w,1),e.clampWhenFinished=!0,e.paused=!0,e.play(),e.time=a.duration*.5,n.turnAction=e}e.push(n)}B.current=e}else B.current=null;if(!t)return()=>{H.current=null,W.current=null,G.current=void 0,B.current=null;for(let t of[...e.keys()])i(t)};let a=[];b&&(a.push(b.$.onMethodCalled(`ShapeBase`,`playThread`,(e,t,n)=>{e._id===s?._id&&r(Number(t),String(n))})),a.push(b.$.onMethodCalled(`ShapeBase`,`stopThread`,(e,t)=>{e._id===s?._id&&i(Number(t))})),a.push(b.$.onMethodCalled(`ShapeBase`,`pauseThread`,(t,n)=>{if(t._id!==s?._id)return;let r=e.get(Number(n));r?.action&&(r.action.paused=!0)})));for(let[e,t]of[[0,`power`],[1,`ambient`]])(N.has(t)||P.has(t))&&r(e,t);return()=>{a.forEach(e=>e()),H.current=null,W.current=null,G.current=void 0,B.current=null;for(let t of[...e.keys()])i(t)}},[M,N,P,K,q,s,b]);let J=(0,U.useMemo)(()=>{let t=e.scene.userData?.dts_sequence_names;if(typeof t==`string`)try{return JSON.parse(t).map(e=>e.toLowerCase())}catch{}return e.animations.map(e=>e.name.toLowerCase())},[e]);i((e,t)=>{let n=I.current,r=V.current!=null,i=x.getState().playback,a=r?i.status===`playing`?t*i.rate:0:t,o=V.current?.threads,s=G.current;if(o!==s){let e=H.current,t=W.current;if(e&&t){G.current=o;let r=[];if(o)for(let e of o)r[e.index]=e;let i=[];if(s)for(let e of s)i[e.index]=e;let a=Math.max(r.length,i.length);for(let o=0;o=2?1:0;for(let{mesh:t,keyframes:n}of u){let r=t.material;if(!r||Array.isArray(r))continue;let i=n.length;r.opacity=n[Math.min(Math.floor(e*i),i-1)],t.visible=r.opacity>.01}}let d=B.current;if(d&&_){let e=V.current,t=e?.wheels,n=e?.steeringYaw??0,r=e?.maxSteeringAngle??.3;for(let e=0;e0){z.current+=a;for(let e of f){if(!_){c(e.atlas,0);continue}if(e.sequenceName&&e.sequenceDuration){let t=0;for(let[,r]of n)if(r.sequence===e.sequenceName){let n=$()-r.startTime,i=e.sequenceDuration;t=(e.cyclic?n/i%1:Math.min(n/i,1))*i+(e.toolBegin??0);break}c(e.atlas,v(e.atlas,t))}else c(e.atlas,v(e.atlas,z.current))}}}),ae(V,j);let Y=C(r??``),X=(0,U.useMemo)(()=>{if(!Y)return null;let t=new D().setFromObject(e.scene),n=new T,r=new T;return t.getCenter(n),t.getSize(r),{center:[n.x,n.y,n.z],size:[r.x,r.y,r.z]}},[Y,e.scene]);return(0,Z.jsxs)(`group`,{rotation:[0,Math.PI/2,0],children:[(0,Z.jsx)(`primitive`,{object:j}),f?(0,Z.jsxs)(ne,{children:[s?._id,`: `,u]}):null,X&&(0,Z.jsx)(`group`,{position:X.center,children:(0,Z.jsx)(ee,{size:X.size})})]})});function ge(e){let t=(0,X.c)(5),{streamEntity:n,emap:r,entityId:i}=e,{shapeName:a}=l(),o=oe(a),s;return t[0]!==r||t[1]!==i||t[2]!==o||t[3]!==n?(s=(0,Z.jsx)(he,{gltf:o,streamEntity:n,emap:r,entityId:i}),t[0]=r,t[1]=i,t[2]=o,t[3]=n,t[4]=s):s=t[4],s}export{ie as a,ae as i,me as n,K as o,oe as r,fe as t}; \ No newline at end of file diff --git a/docs/assets/GenericShape-D0Move-Z.js b/docs/assets/GenericShape-D0Move-Z.js deleted file mode 100644 index 100419ea..00000000 --- a/docs/assets/GenericShape-D0Move-Z.js +++ /dev/null @@ -1,2 +0,0 @@ -import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import{o as i,s as a}from"./Html-DrHEhPVE.js";import{_ as o,a as s,i as c}from"./SettingsProvider-DVIFsPwe.js";import{n as l,r as u,t as d}from"./useBaseQuery-DzUOlyvP.js";import{a as f,c as p,d as m,p as h,t as g}from"./loaders-BhaVxgpz.js";import{$ as _,B as v,Ct as y,D as b,Dt as x,F as S,Ft as C,G as w,H as T,Ht as E,I as D,J as O,K as k,L as A,Mt as j,N as ee,Nt as te,Ot as ne,P as re,Q as M,R as ie,Rt as ae,St as oe,T as se,U as ce,Ut as N,W as le,Wt as ue,X as de,Z as P,_t as fe,a as pe,at as F,b as I,ct as me,d as he,dt as ge,et as _e,f as ve,ft as ye,g as be,h as xe,ht as Se,i as Ce,it as L,j as we,jt as Te,lt as Ee,m as De,mt as Oe,nt as ke,o as Ae,ot as R,pt as je,q as Me,rt as Ne,s as Pe,st as Fe,tt as Ie,ut as Le,v as z,vt as Re,xt as ze,yt as Be,z as Ve,zt as He}from"./three.module-DRRYkRPO.js";import{t as Ue}from"./logger-B058WGzf.js";import{i as We,n as Ge,r as Ke}from"./engineStore-DeZJbWme.js";import{t as qe}from"./Texture-D7437V2F.js";import{o as Je,t as Ye}from"./globalFogUniforms-CCW7odYy.js";import{n as Xe,t as Ze}from"./shapeMaterial-B0M2T1Ub.js";import{a as Qe,n as $e,r as et,t as tt}from"./useAnisotropy-nhH7jNtm.js";function nt(e,t){return d({...e,enabled:!0,suspense:!0,throwOnError:l,placeholderData:void 0},u,t)}var rt=parseInt(`182`.replace(/\D+/g,``));function it(e,t){if(t===0)return console.warn(`THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles.`),e;if(t===2||t===1){let n=e.getIndex();if(n===null){let t=[],r=e.getAttribute(`position`);if(r!==void 0){for(let e=0;e=2.0 are supported.`));return}let s=new Qt(i,{path:t||this.resourcePath||``,crossOrigin:this.crossOrigin,requestHeader:this.requestHeader,manager:this.manager,ktx2Loader:this.ktx2Loader,meshoptDecoder:this.meshoptDecoder});s.fileLoader.setRequestHeader(this.requestHeader);for(let e=0;e=0&&o[t]===void 0&&console.warn(`THREE.GLTFLoader: Unknown extension "`+t+`".`)}}s.setExtensions(a),s.setPlugins(o),s.parse(n,r)}parseAsync(e,t){let n=this;return new Promise(function(r,i){n.parse(e,t,r,i)})}};function lt(){let e={};return{get:function(t){return e[t]},add:function(t,n){e[t]=n},remove:function(t){delete e[t]},removeAll:function(){e={}}}}var H={KHR_BINARY_GLTF:`KHR_binary_glTF`,KHR_DRACO_MESH_COMPRESSION:`KHR_draco_mesh_compression`,KHR_LIGHTS_PUNCTUAL:`KHR_lights_punctual`,KHR_MATERIALS_CLEARCOAT:`KHR_materials_clearcoat`,KHR_MATERIALS_DISPERSION:`KHR_materials_dispersion`,KHR_MATERIALS_IOR:`KHR_materials_ior`,KHR_MATERIALS_SHEEN:`KHR_materials_sheen`,KHR_MATERIALS_SPECULAR:`KHR_materials_specular`,KHR_MATERIALS_TRANSMISSION:`KHR_materials_transmission`,KHR_MATERIALS_IRIDESCENCE:`KHR_materials_iridescence`,KHR_MATERIALS_ANISOTROPY:`KHR_materials_anisotropy`,KHR_MATERIALS_UNLIT:`KHR_materials_unlit`,KHR_MATERIALS_VOLUME:`KHR_materials_volume`,KHR_TEXTURE_BASISU:`KHR_texture_basisu`,KHR_TEXTURE_TRANSFORM:`KHR_texture_transform`,KHR_MESH_QUANTIZATION:`KHR_mesh_quantization`,KHR_MATERIALS_EMISSIVE_STRENGTH:`KHR_materials_emissive_strength`,EXT_MATERIALS_BUMP:`EXT_materials_bump`,EXT_TEXTURE_WEBP:`EXT_texture_webp`,EXT_TEXTURE_AVIF:`EXT_texture_avif`,EXT_MESHOPT_COMPRESSION:`EXT_meshopt_compression`,EXT_MESH_GPU_INSTANCING:`EXT_mesh_gpu_instancing`},ut=class{constructor(e){this.parser=e,this.name=H.KHR_LIGHTS_PUNCTUAL,this.cache={refs:{},uses:{}}}_markDefs(){let e=this.parser,t=this.parser.json.nodes||[];for(let n=0,r=t.length;n=0)throw Error(`THREE.GLTFLoader: setKTX2Loader must be called before loading KTX2 textures`);return null}return t.loadTextureImage(e,i.source,a)}},wt=class{constructor(e){this.parser=e,this.name=H.EXT_TEXTURE_WEBP,this.isSupported=null}loadTexture(e){let t=this.name,n=this.parser,r=n.json,i=r.textures[e];if(!i.extensions||!i.extensions[t])return null;let a=i.extensions[t],o=r.images[a.source],s=n.textureLoader;if(o.uri){let e=n.options.manager.getHandler(o.uri);e!==null&&(s=e)}return this.detectSupport().then(function(i){if(i)return n.loadTextureImage(e,a.source,s);if(r.extensionsRequired&&r.extensionsRequired.indexOf(t)>=0)throw Error(`THREE.GLTFLoader: WebP required by asset but unsupported.`);return n.loadTexture(e)})}detectSupport(){return this.isSupported||=new Promise(function(e){let t=new Image;t.src=`data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA`,t.onload=t.onerror=function(){e(t.height===1)}}),this.isSupported}},Tt=class{constructor(e){this.parser=e,this.name=H.EXT_TEXTURE_AVIF,this.isSupported=null}loadTexture(e){let t=this.name,n=this.parser,r=n.json,i=r.textures[e];if(!i.extensions||!i.extensions[t])return null;let a=i.extensions[t],o=r.images[a.source],s=n.textureLoader;if(o.uri){let e=n.options.manager.getHandler(o.uri);e!==null&&(s=e)}return this.detectSupport().then(function(i){if(i)return n.loadTextureImage(e,a.source,s);if(r.extensionsRequired&&r.extensionsRequired.indexOf(t)>=0)throw Error(`THREE.GLTFLoader: AVIF required by asset but unsupported.`);return n.loadTexture(e)})}detectSupport(){return this.isSupported||=new Promise(function(e){let t=new Image;t.src=`data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAABcAAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAEAAAABAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQAMAAAAABNjb2xybmNseAACAAIABoAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAAB9tZGF0EgAKCBgABogQEDQgMgkQAAAAB8dSLfI=`,t.onload=t.onerror=function(){e(t.height===1)}}),this.isSupported}},Et=class{constructor(e){this.name=H.EXT_MESHOPT_COMPRESSION,this.parser=e}loadBufferView(e){let t=this.parser.json,n=t.bufferViews[e];if(n.extensions&&n.extensions[this.name]){let e=n.extensions[this.name],r=this.parser.getDependency(`buffer`,e.buffer),i=this.parser.options.meshoptDecoder;if(!i||!i.supported){if(t.extensionsRequired&&t.extensionsRequired.indexOf(this.name)>=0)throw Error(`THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files`);return null}return r.then(function(t){let n=e.byteOffset||0,r=e.byteLength||0,a=e.count,o=e.byteStride,s=new Uint8Array(t,n,r);return i.decodeGltfBufferAsync?i.decodeGltfBufferAsync(a,o,s,e.mode,e.filter).then(function(e){return e.buffer}):i.ready.then(function(){let t=new ArrayBuffer(a*o);return i.decodeGltfBuffer(new Uint8Array(t),a,o,s,e.mode,e.filter),t})})}else return null}},Dt=class{constructor(e){this.name=H.EXT_MESH_GPU_INSTANCING,this.parser=e}createNodeMesh(e){let t=this.parser.json,n=t.nodes[e];if(!n.extensions||!n.extensions[this.name]||n.mesh===void 0)return null;let r=t.meshes[n.mesh];for(let e of r.primitives)if(e.mode!==U.TRIANGLES&&e.mode!==U.TRIANGLE_STRIP&&e.mode!==U.TRIANGLE_FAN&&e.mode!==void 0)return null;let i=n.extensions[this.name].attributes,a=[],o={};for(let e in i)a.push(this.parser.getDependency(`accessor`,i[e]).then(t=>(o[e]=t,o[e])));return a.length<1?null:(a.push(this.parser.createNodeMesh(e)),Promise.all(a).then(e=>{let t=e.pop(),n=t.isGroup?t.children:[t],r=e[0].count,i=[];for(let e of n){let t=new ke,n=new N,a=new oe,s=new N(1,1,1),c=new S(e.geometry,e.material,r);for(let e=0;e=152?{TEXCOORD_0:`uv`,TEXCOORD_1:`uv1`,TEXCOORD_2:`uv2`,TEXCOORD_3:`uv3`}:{TEXCOORD_0:`uv`,TEXCOORD_1:`uv2`},COLOR_0:`color`,WEIGHTS_0:`skinWeight`,JOINTS_0:`skinIndex`},G={scale:`scale`,translation:`position`,rotation:`quaternion`,weights:`morphTargetInfluences`},Ht={CUBICSPLINE:void 0,LINEAR:v,STEP:Ve},Ut={OPAQUE:`OPAQUE`,MASK:`MASK`,BLEND:`BLEND`};function Wt(e){return e.DefaultMaterial===void 0&&(e.DefaultMaterial=new Fe({color:16777215,emissive:0,metalness:1,roughness:1,transparent:!1,depthTest:!0,side:0})),e.DefaultMaterial}function K(e,t,n){for(let r in n.extensions)e[r]===void 0&&(t.userData.gltfExtensions=t.userData.gltfExtensions||{},t.userData.gltfExtensions[r]=n.extensions[r])}function q(e,t){t.extras!==void 0&&(typeof t.extras==`object`?Object.assign(e.userData,t.extras):console.warn(`THREE.GLTFLoader: Ignoring primitive type .extras, `+t.extras))}function Gt(e,t,n){let r=!1,i=!1,a=!1;for(let e=0,n=t.length;e0||e.search(/^data\:image\/jpeg/)===0?`image/jpeg`:e.search(/\.webp($|\?)/i)>0||e.search(/^data\:image\/webp/)===0?`image/webp`:`image/png`}var Zt=new ke,Qt=class{constructor(e={},t={}){this.json=e,this.extensions={},this.plugins={},this.options=t,this.cache=new lt,this.associations=new Map,this.primitiveCache={},this.nodeCache={},this.meshCache={refs:{},uses:{}},this.cameraCache={refs:{},uses:{}},this.lightCache={refs:{},uses:{}},this.sourceCache={},this.textureCache={},this.nodeNamesUsed={};let n=!1,r=!1,i=-1;typeof navigator<`u`&&navigator.userAgent!==void 0&&(n=/^((?!chrome|android).)*safari/i.test(navigator.userAgent)===!0,r=navigator.userAgent.indexOf(`Firefox`)>-1,i=r?navigator.userAgent.match(/Firefox\/([0-9]+)\./)[1]:-1),typeof createImageBitmap>`u`||n||r&&i<98?this.textureLoader=new He(this.options.manager):this.textureLoader=new ee(this.options.manager),this.textureLoader.setCrossOrigin(this.options.crossOrigin),this.textureLoader.setRequestHeader(this.options.requestHeader),this.fileLoader=new b(this.options.manager),this.fileLoader.setResponseType(`arraybuffer`),this.options.crossOrigin===`use-credentials`&&this.fileLoader.setWithCredentials(!0)}setExtensions(e){this.extensions=e}setPlugins(e){this.plugins=e}parse(e,t){let n=this,r=this.json,i=this.extensions;this.cache.removeAll(),this.nodeCache={},this._invokeAll(function(e){return e._markDefs&&e._markDefs()}),Promise.all(this._invokeAll(function(e){return e.beforeRoot&&e.beforeRoot()})).then(function(){return Promise.all([n.getDependencies(`scene`),n.getDependencies(`animation`),n.getDependencies(`camera`)])}).then(function(t){let a={scene:t[0][r.scene||0],scenes:t[0],animations:t[1],cameras:t[2],asset:r.asset,parser:n,userData:{}};return K(i,a,r),q(a,r),Promise.all(n._invokeAll(function(e){return e.afterRoot&&e.afterRoot(a)})).then(function(){for(let e of a.scenes)e.updateMatrixWorld();e(a)})}).catch(t)}_markDefs(){let e=this.json.nodes||[],t=this.json.skins||[],n=this.json.meshes||[];for(let n=0,r=t.length;n{let n=this.associations.get(e);n!=null&&this.associations.set(t,n);for(let[n,r]of e.children.entries())i(r,t.children[n])};return i(n,r),r.name+=`_instance_`+ e.uses[t]++,r}_invokeOne(e){let t=Object.values(this.plugins);t.push(this);for(let n=0;n=2&&p.setY(t,u[e*a+1]),a>=3&&p.setZ(t,u[e*a+2]),a>=4&&p.setW(t,u[e*a+3]),a>=5)throw Error(`THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.`)}}return p})}loadTexture(e){let t=this.json,n=this.options,r=t.textures[e].source,i=t.images[r],a=this.textureLoader;if(i.uri){let e=n.manager.getHandler(i.uri);e!==null&&(a=e)}return this.loadTextureImage(e,r,a)}loadTextureImage(e,t,n){let r=this,i=this.json,a=i.textures[e],o=i.images[t],s=(o.uri||o.bufferView)+`:`+a.sampler;if(this.textureCache[s])return this.textureCache[s];let c=this.loadImageSource(t,n).then(function(t){t.flipY=!1,t.name=a.name||o.name||``,t.name===``&&typeof o.uri==`string`&&o.uri.startsWith(`data:image/`)===!1&&(t.name=o.uri);let n=(i.samplers||{})[a.sampler]||{};return t.magFilter=Rt[n.magFilter]||1006,t.minFilter=Rt[n.minFilter]||1008,t.wrapS=zt[n.wrapS]||1e3,t.wrapT=zt[n.wrapT]||1e3,r.associations.set(t,{textures:e}),t}).catch(function(){return null});return this.textureCache[s]=c,c}loadImageSource(e,t){let n=this,r=this.json,i=this.options;if(this.sourceCache[e]!==void 0)return this.sourceCache[e].then(e=>e.clone());let a=r.images[e],o=self.URL||self.webkitURL,s=a.uri||``,c=!1;if(a.bufferView!==void 0)s=n.getDependency(`bufferView`,a.bufferView).then(function(e){c=!0;let t=new Blob([e],{type:a.mimeType});return s=o.createObjectURL(t),s});else if(a.uri===void 0)throw Error(`THREE.GLTFLoader: Image `+e+` is missing URI and bufferView`);let l=Promise.resolve(s).then(function(e){return new Promise(function(n,r){let a=n;t.isImageBitmapLoader===!0&&(a=function(e){let t=new ae(e);t.needsUpdate=!0,n(t)}),t.load(P.resolveURL(e,i.path),a,void 0,r)})}).then(function(e){return c===!0&&o.revokeObjectURL(s),q(e,a),e.userData.mimeType=a.mimeType||Xt(a.uri),e}).catch(function(e){throw console.error(`THREE.GLTFLoader: Couldn't load texture`,s),e});return this.sourceCache[e]=l,l}assignTexture(e,t,n,r){let i=this;return this.getDependency(`texture`,n.index).then(function(a){if(!a)return null;if(n.texCoord!==void 0&&n.texCoord>0&&(a=a.clone(),a.channel=n.texCoord),i.extensions[H.KHR_TEXTURE_TRANSFORM]){let e=n.extensions===void 0?void 0:n.extensions[H.KHR_TEXTURE_TRANSFORM];if(e){let t=i.associations.get(a);a=i.extensions[H.KHR_TEXTURE_TRANSFORM].extendTexture(a,e),i.associations.set(a,t)}}return r!==void 0&&(typeof r==`number`&&(r=r===ot?B:V),`colorSpace`in a?a.colorSpace=r:a.encoding=r===B?ot:st),e[t]=a,a})}assignFinalMaterial(e){let t=e.geometry,n=e.material,r=t.attributes.tangent===void 0,i=t.attributes.color!==void 0,a=t.attributes.normal===void 0;if(e.isPoints){let e=`PointsMaterial:`+n.uuid,t=this.cache.get(e);t||(t=new Be,_e.prototype.copy.call(t,n),t.color.copy(n.color),t.map=n.map,t.sizeAttenuation=!1,this.cache.add(e,t)),n=t}else if(e.isLine){let e=`LineBasicMaterial:`+n.uuid,t=this.cache.get(e);t||(t=new ce,_e.prototype.copy.call(t,n),t.color.copy(n.color),t.map=n.map,this.cache.add(e,t)),n=t}if(r||i||a){let e=`ClonedMaterial:`+n.uuid+`:`;r&&(e+=`derivative-tangents:`),i&&(e+=`vertex-colors:`),a&&(e+=`flat-shading:`);let t=this.cache.get(e);t||(t=n.clone(),i&&(t.vertexColors=!0),a&&(t.flatShading=!0),r&&(t.normalScale&&(t.normalScale.y*=-1),t.clearcoatNormalScale&&(t.clearcoatNormalScale.y*=-1)),this.cache.add(e,t),this.associations.set(t,this.associations.get(n))),n=t}e.material=n}getMaterialType(){return Fe}loadMaterial(e){let t=this,n=this.json,r=this.extensions,i=n.materials[e],a,o={},s=i.extensions||{},c=[];if(s[H.KHR_MATERIALS_UNLIT]){let e=r[H.KHR_MATERIALS_UNLIT];a=e.getMaterialType(),c.push(e.extendParams(o,i,t))}else{let n=i.pbrMetallicRoughness||{};if(o.color=new I(1,1,1),o.opacity=1,Array.isArray(n.baseColorFactor)){let e=n.baseColorFactor;o.color.setRGB(e[0],e[1],e[2],V),o.opacity=e[3]}n.baseColorTexture!==void 0&&c.push(t.assignTexture(o,`map`,n.baseColorTexture,B)),o.metalness=n.metallicFactor===void 0?1:n.metallicFactor,o.roughness=n.roughnessFactor===void 0?1:n.roughnessFactor,n.metallicRoughnessTexture!==void 0&&(c.push(t.assignTexture(o,`metalnessMap`,n.metallicRoughnessTexture)),c.push(t.assignTexture(o,`roughnessMap`,n.metallicRoughnessTexture))),a=this._invokeOne(function(t){return t.getMaterialType&&t.getMaterialType(e)}),c.push(Promise.all(this._invokeAll(function(t){return t.extendMaterialParams&&t.extendMaterialParams(e,o)})))}i.doubleSided===!0&&(o.side=2);let l=i.alphaMode||Ut.OPAQUE;if(l===Ut.BLEND?(o.transparent=!0,o.depthWrite=!1):(o.transparent=!1,l===Ut.MASK&&(o.alphaTest=i.alphaCutoff===void 0?.5:i.alphaCutoff)),i.normalTexture!==void 0&&a!==L&&(c.push(t.assignTexture(o,`normalMap`,i.normalTexture)),o.normalScale=new E(1,1),i.normalTexture.scale!==void 0)){let e=i.normalTexture.scale;o.normalScale.set(e,e)}if(i.occlusionTexture!==void 0&&a!==L&&(c.push(t.assignTexture(o,`aoMap`,i.occlusionTexture)),i.occlusionTexture.strength!==void 0&&(o.aoMapIntensity=i.occlusionTexture.strength)),i.emissiveFactor!==void 0&&a!==L){let e=i.emissiveFactor;o.emissive=new I().setRGB(e[0],e[1],e[2],V)}return i.emissiveTexture!==void 0&&a!==L&&c.push(t.assignTexture(o,`emissiveMap`,i.emissiveTexture,B)),Promise.all(c).then(function(){let n=new a(o);return i.name&&(n.name=i.name),q(n,i),t.associations.set(n,{materials:e}),i.extensions&&K(r,n,i),n})}createUniqueName(e){let t=ze.sanitizeNodeName(e||``);return t in this.nodeNamesUsed?t+`_`+ ++this.nodeNamesUsed[t]:(this.nodeNamesUsed[t]=0,t)}loadGeometries(e){let t=this,n=this.extensions,r=this.primitiveCache;function i(e){return n[H.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(e,t).then(function(n){return en(n,e,t)})}let a=[];for(let n=0,o=e.length;n0&&Kt(d,i),d.name=t.createUniqueName(i.name||`mesh_`+e),q(d,i),u.extensions&&K(r,d,u),t.assignFinalMaterial(d),c.push(d)}for(let n=0,r=c.length;n1?new we:t.length===1?t[0]:new je,o!==t[0])for(let e=0,n=t.length;e{let t=new Map;for(let[e,n]of r.associations)(e instanceof _e||e instanceof ae)&&t.set(e,n);return e.traverse(e=>{let n=r.associations.get(e);n!=null&&t.set(e,n)}),t})(i),i})}_createAnimationTracks(e,t,n,r,i){let a=[],o=e.name?e.name:e.uuid,s=[];G[i.path]===G.weights?e.traverse(function(e){e.morphTargetInfluences&&s.push(e.name?e.name:e.uuid)}):s.push(o);let c;switch(G[i.path]){case G.weights:c=ye;break;case G.rotation:c=y;break;case G.position:case G.scale:c=ue;break;default:switch(n.itemSize){case 1:c=ye;break;default:c=ue;break}break}let l=r.interpolation===void 0?v:Ht[r.interpolation],u=this._getArrayFromAccessor(n);for(let e=0,n=s.length;e{let n={attributeIDs:this.defaultAttributeIDs,attributeTypes:this.defaultAttributeTypes,useUniqueIDs:!1};this.decodeGeometry(e,n).then(t).catch(r)},n,r)}decodeDracoFile(e,t,n,r){let i={attributeIDs:n||this.defaultAttributeIDs,attributeTypes:r||this.defaultAttributeTypes,useUniqueIDs:!!n};this.decodeGeometry(e,i).then(t)}decodeGeometry(e,t){for(let e in t.attributeTypes){let n=t.attributeTypes[e];n.BYTES_PER_ELEMENT!==void 0&&(t.attributeTypes[e]=n.name)}let n=JSON.stringify(t);if(tn.has(e)){let t=tn.get(e);if(t.key===n)return t.promise;if(e.byteLength===0)throw Error(`THREE.DRACOLoader: Unable to re-decode a buffer with different settings. Buffer has already been transferred.`)}let r,i=this.workerNextTaskID++,a=e.byteLength,o=this._getWorker(i,a).then(n=>(r=n,new Promise((n,a)=>{r._callbacks[i]={resolve:n,reject:a},r.postMessage({type:`decode`,id:i,taskConfig:t,buffer:e},[e])}))).then(e=>this._createGeometry(e.geometry));return o.catch(()=>!0).then(()=>{r&&i&&this._releaseTask(r,i)}),tn.set(e,{key:n,promise:o}),o}_createGeometry(e){let t=new xe;e.index&&t.setIndex(new De(e.index.array,1));for(let n=0;n{n.load(e,t,void 0,r)})}preload(){return this._initDecoder(),this}_initDecoder(){if(this.decoderPending)return this.decoderPending;let e=typeof WebAssembly!=`object`||this.decoderConfig.type===`js`,t=[];return e?t.push(this._loadLibrary(`draco_decoder.js`,`text`)):(t.push(this._loadLibrary(`draco_wasm_wrapper.js`,`text`)),t.push(this._loadLibrary(`draco_decoder.wasm`,`arraybuffer`))),this.decoderPending=Promise.all(t).then(t=>{let n=t[0];e||(this.decoderConfig.wasmBinary=t[1]);let r=rn.toString(),i=[`/* draco decoder */`,n,``,`/* worker */`,r.substring(r.indexOf(`{`)+1,r.lastIndexOf(`}`))].join(` -`);this.workerSourceURL=URL.createObjectURL(new Blob([i]))}),this.decoderPending}_getWorker(e,t){return this._initDecoder().then(()=>{if(this.workerPool.lengtht._taskLoad?-1:1});let n=this.workerPool[this.workerPool.length-1];return n._taskCosts[e]=t,n._taskLoad+=t,n})}_releaseTask(e,t){e._taskLoad-=e._taskCosts[t],delete e._callbacks[t],delete e._taskCosts[t]}debug(){console.log(`Task load: `,this.workerPool.map(e=>e._taskLoad))}dispose(){for(let e=0;e{let t=e.draco,o=new t.Decoder,s=new t.DecoderBuffer;s.Init(new Int8Array(r),r.byteLength);try{let e=n(t,o,s,a),r=e.attributes.map(e=>e.array.buffer);e.index&&r.push(e.index.array.buffer),self.postMessage({type:`decode`,id:i.id,geometry:e},r)}catch(e){console.error(e),self.postMessage({type:`error`,id:i.id,error:e.message})}finally{t.destroy(s),t.destroy(o)}});break}};function n(e,t,n,a){let o=a.attributeIDs,s=a.attributeTypes,c,l,u=t.GetEncodedGeometryType(n);if(u===e.TRIANGULAR_MESH)c=new e.Mesh,l=t.DecodeBufferToMesh(n,c);else if(u===e.POINT_CLOUD)c=new e.PointCloud,l=t.DecodeBufferToPointCloud(n,c);else throw Error(`THREE.DRACOLoader: Unexpected geometry type.`);if(!l.ok()||c.ptr===0)throw Error(`THREE.DRACOLoader: Decoding failed: `+l.error_msg());let d={index:null,attributes:[]};for(let n in o){let r=self[s[n]],l,u;if(a.useUniqueIDs)u=o[n],l=t.GetAttributeByUniqueId(c,u);else{if(u=t.GetAttributeId(c,e[o[n]]),u===-1)continue;l=t.GetAttribute(c,u)}d.attributes.push(i(e,t,c,n,r,l))}return u===e.TRIANGULAR_MESH&&(d.index=r(e,t,c)),e.destroy(c),d}function r(e,t,n){let r=n.num_faces()*3,i=r*4,a=e._malloc(i);t.GetTrianglesUInt32Array(n,i,a);let o=new Uint32Array(e.HEAPF32.buffer,a,r).slice();return e._free(a),{array:o,itemSize:1}}function i(e,t,n,r,i,o){let s=o.num_components(),c=n.num_points()*s,l=c*i.BYTES_PER_ELEMENT,u=a(e,i),d=e._malloc(l);t.GetAttributeDataArrayForAllPoints(n,o,u,l,d);let f=new i(e.HEAPF32.buffer,d,c).slice();return e._free(d),{name:r,array:f,itemSize:s}}function a(e,t){switch(t){case Float32Array:return e.DT_FLOAT32;case Int8Array:return e.DT_INT8;case Int16Array:return e.DT_INT16;case Int32Array:return e.DT_INT32;case Uint8Array:return e.DT_UINT8;case Uint16Array:return e.DT_UINT16;case Uint32Array:return e.DT_UINT32}}}var an,on=()=>{if(an)return an;let e=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,3,2,0,0,5,3,1,0,1,12,1,0,10,22,2,12,0,65,0,65,0,65,0,252,10,0,0,11,7,0,65,0,253,15,26,11]),t=new Uint8Array([32,0,65,253,3,1,2,34,4,106,6,5,11,8,7,20,13,33,12,16,128,9,116,64,19,113,127,15,10,21,22,14,255,66,24,54,136,107,18,23,192,26,114,118,132,17,77,101,130,144,27,87,131,44,45,74,156,154,70,167]);if(typeof WebAssembly!=`object`)return{supported:!1};let n=`B9h9z9tFBBBF8fL9gBB9gLaaaaaFa9gEaaaB9gFaFa9gEaaaFaEMcBFFFGGGEIIILF9wFFFLEFBFKNFaFCx/IFMO/LFVK9tv9t9vq95GBt9f9f939h9z9t9f9j9h9s9s9f9jW9vq9zBBp9tv9z9o9v9wW9f9kv9j9v9kv9WvqWv94h919m9mvqBF8Z9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv94h919m9mvqBGy9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv949TvZ91v9u9jvBEn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9P9jWBIi9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9R919hWBLn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9F949wBKI9z9iqlBOc+x8ycGBM/qQFTa8jUUUUBCU/EBlHL8kUUUUBC9+RKGXAGCFJAI9LQBCaRKAE2BBC+gF9HQBALAEAIJHOAGlAGTkUUUBRNCUoBAG9uC/wgBZHKCUGAKCUG9JyRVAECFJRICBRcGXEXAcAF9PQFAVAFAclAcAVJAF9JyRMGXGXAG9FQBAMCbJHKC9wZRSAKCIrCEJCGrRQANCUGJRfCBRbAIRTEXGXAOATlAQ9PQBCBRISEMATAQJRIGXAS9FQBCBRtCBREEXGXAOAIlCi9PQBCBRISLMANCU/CBJAEJRKGXGXGXGXGXATAECKrJ2BBAtCKZrCEZfIBFGEBMAKhB83EBAKCNJhB83EBSEMAKAI2BIAI2BBHmCKrHYAYCE6HYy86BBAKCFJAICIJAYJHY2BBAmCIrCEZHPAPCE6HPy86BBAKCGJAYAPJHY2BBAmCGrCEZHPAPCE6HPy86BBAKCEJAYAPJHY2BBAmCEZHmAmCE6Hmy86BBAKCIJAYAmJHY2BBAI2BFHmCKrHPAPCE6HPy86BBAKCLJAYAPJHY2BBAmCIrCEZHPAPCE6HPy86BBAKCKJAYAPJHY2BBAmCGrCEZHPAPCE6HPy86BBAKCOJAYAPJHY2BBAmCEZHmAmCE6Hmy86BBAKCNJAYAmJHY2BBAI2BGHmCKrHPAPCE6HPy86BBAKCVJAYAPJHY2BBAmCIrCEZHPAPCE6HPy86BBAKCcJAYAPJHY2BBAmCGrCEZHPAPCE6HPy86BBAKCMJAYAPJHY2BBAmCEZHmAmCE6Hmy86BBAKCSJAYAmJHm2BBAI2BEHICKrHYAYCE6HYy86BBAKCQJAmAYJHm2BBAICIrCEZHYAYCE6HYy86BBAKCfJAmAYJHm2BBAICGrCEZHYAYCE6HYy86BBAKCbJAmAYJHK2BBAICEZHIAICE6HIy86BBAKAIJRISGMAKAI2BNAI2BBHmCIrHYAYCb6HYy86BBAKCFJAICNJAYJHY2BBAmCbZHmAmCb6Hmy86BBAKCGJAYAmJHm2BBAI2BFHYCIrHPAPCb6HPy86BBAKCEJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCIJAmAYJHm2BBAI2BGHYCIrHPAPCb6HPy86BBAKCLJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCKJAmAYJHm2BBAI2BEHYCIrHPAPCb6HPy86BBAKCOJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCNJAmAYJHm2BBAI2BIHYCIrHPAPCb6HPy86BBAKCVJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCcJAmAYJHm2BBAI2BLHYCIrHPAPCb6HPy86BBAKCMJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCSJAmAYJHm2BBAI2BKHYCIrHPAPCb6HPy86BBAKCQJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCfJAmAYJHm2BBAI2BOHICIrHYAYCb6HYy86BBAKCbJAmAYJHK2BBAICbZHIAICb6HIy86BBAKAIJRISFMAKAI8pBB83BBAKCNJAICNJ8pBB83BBAICTJRIMAtCGJRtAECTJHEAS9JQBMMGXAIQBCBRISEMGXAM9FQBANAbJ2BBRtCBRKAfREEXAEANCU/CBJAKJ2BBHTCFrCBATCFZl9zAtJHt86BBAEAGJREAKCFJHKAM9HQBMMAfCFJRfAIRTAbCFJHbAG9HQBMMABAcAG9sJANCUGJAMAG9sTkUUUBpANANCUGJAMCaJAG9sJAGTkUUUBpMAMCBAIyAcJRcAIQBMC9+RKSFMCBC99AOAIlAGCAAGCA9Ly6yRKMALCU/EBJ8kUUUUBAKM+OmFTa8jUUUUBCoFlHL8kUUUUBC9+RKGXAFCE9uHOCtJAI9LQBCaRKAE2BBHNC/wFZC/gF9HQBANCbZHVCF9LQBALCoBJCgFCUFT+JUUUBpALC84Jha83EBALC8wJha83EBALC8oJha83EBALCAJha83EBALCiJha83EBALCTJha83EBALha83ENALha83EBAEAIJC9wJRcAECFJHNAOJRMGXAF9FQBCQCbAVCF6yRSABRECBRVCBRQCBRfCBRICBRKEXGXAMAcuQBC9+RKSEMGXGXAN2BBHOC/vF9LQBALCoBJAOCIrCa9zAKJCbZCEWJHb8oGIRTAb8oGBRtGXAOCbZHbAS9PQBALAOCa9zAIJCbZCGWJ8oGBAVAbyROAb9FRbGXGXAGCG9HQBABAt87FBABCIJAO87FBABCGJAT87FBSFMAEAtjGBAECNJAOjGBAECIJATjGBMAVAbJRVALCoBJAKCEWJHmAOjGBAmATjGIALAICGWJAOjGBALCoBJAKCFJCbZHKCEWJHTAtjGBATAOjGIAIAbJRIAKCFJRKSGMGXGXAbCb6QBAQAbJAbC989zJCFJRQSFMAM1BBHbCgFZROGXGXAbCa9MQBAMCFJRMSFMAM1BFHbCgBZCOWAOCgBZqROGXAbCa9MQBAMCGJRMSFMAM1BGHbCgBZCfWAOqROGXAbCa9MQBAMCEJRMSFMAM1BEHbCgBZCdWAOqROGXAbCa9MQBAMCIJRMSFMAM2BIC8cWAOqROAMCLJRMMAOCFrCBAOCFZl9zAQJRQMGXGXAGCG9HQBABAt87FBABCIJAQ87FBABCGJAT87FBSFMAEAtjGBAECNJAQjGBAECIJATjGBMALCoBJAKCEWJHOAQjGBAOATjGIALAICGWJAQjGBALCoBJAKCFJCbZHKCEWJHOAtjGBAOAQjGIAICFJRIAKCFJRKSFMGXAOCDF9LQBALAIAcAOCbZJ2BBHbCIrHTlCbZCGWJ8oGBAVCFJHtATyROALAIAblCbZCGWJ8oGBAtAT9FHmJHtAbCbZHTyRbAT9FRTGXGXAGCG9HQBABAV87FBABCIJAb87FBABCGJAO87FBSFMAEAVjGBAECNJAbjGBAECIJAOjGBMALAICGWJAVjGBALCoBJAKCEWJHYAOjGBAYAVjGIALAICFJHICbZCGWJAOjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAIAmJCbZHICGWJAbjGBALCoBJAKCGJCbZHKCEWJHOAVjGBAOAbjGIAKCFJRKAIATJRIAtATJRVSFMAVCBAM2BBHYyHTAOC/+F6HPJROAYCbZRtGXGXAYCIrHmQBAOCFJRbSFMAORbALAIAmlCbZCGWJ8oGBROMGXGXAtQBAbCFJRVSFMAbRVALAIAYlCbZCGWJ8oGBRbMGXGXAP9FQBAMCFJRYSFMAM1BFHYCgFZRTGXGXAYCa9MQBAMCGJRYSFMAM1BGHYCgBZCOWATCgBZqRTGXAYCa9MQBAMCEJRYSFMAM1BEHYCgBZCfWATqRTGXAYCa9MQBAMCIJRYSFMAM1BIHYCgBZCdWATqRTGXAYCa9MQBAMCLJRYSFMAMCKJRYAM2BLC8cWATqRTMATCFrCBATCFZl9zAQJHQRTMGXGXAmCb6QBAYRPSFMAY1BBHMCgFZROGXGXAMCa9MQBAYCFJRPSFMAY1BFHMCgBZCOWAOCgBZqROGXAMCa9MQBAYCGJRPSFMAY1BGHMCgBZCfWAOqROGXAMCa9MQBAYCEJRPSFMAY1BEHMCgBZCdWAOqROGXAMCa9MQBAYCIJRPSFMAYCLJRPAY2BIC8cWAOqROMAOCFrCBAOCFZl9zAQJHQROMGXGXAtCb6QBAPRMSFMAP1BBHMCgFZRbGXGXAMCa9MQBAPCFJRMSFMAP1BFHMCgBZCOWAbCgBZqRbGXAMCa9MQBAPCGJRMSFMAP1BGHMCgBZCfWAbqRbGXAMCa9MQBAPCEJRMSFMAP1BEHMCgBZCdWAbqRbGXAMCa9MQBAPCIJRMSFMAPCLJRMAP2BIC8cWAbqRbMAbCFrCBAbCFZl9zAQJHQRbMGXGXAGCG9HQBABAT87FBABCIJAb87FBABCGJAO87FBSFMAEATjGBAECNJAbjGBAECIJAOjGBMALCoBJAKCEWJHYAOjGBAYATjGIALAICGWJATjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAICFJHICbZCGWJAOjGBALCoBJAKCGJCbZCEWJHOATjGBAOAbjGIALAIAm9FAmCb6qJHICbZCGWJAbjGBAIAt9FAtCb6qJRIAKCEJRKMANCFJRNABCKJRBAECSJREAKCbZRKAICbZRIAfCEJHfAF9JQBMMCBC99AMAc6yRKMALCoFJ8kUUUUBAKM/tIFGa8jUUUUBCTlRLC9+RKGXAFCLJAI9LQBCaRKAE2BBC/+FZC/QF9HQBALhB83ENAECFJRKAEAIJC98JREGXAF9FQBGXAGCG6QBEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMALCNJAICFZCGWqHGAICGrCBAICFrCFZl9zAG8oGBJHIjGBABAIjGBABCIJRBAFCaJHFQBSGMMEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMABAICGrCBAICFrCFZl9zALCNJAICFZCGWqHI8oGBJHG87FBAIAGjGBABCGJRBAFCaJHFQBMMCBC99AKAE6yRKMAKM+lLKFaF99GaG99FaG99GXGXAGCI9HQBAF9FQFEXGXGX9DBBB8/9DBBB+/ABCGJHG1BB+yAB1BBHE+yHI+L+TABCFJHL1BBHK+yHO+L+THN9DBBBB9gHVyAN9DBB/+hANAN+U9DBBBBANAVyHcAc+MHMAECa3yAI+SHIAI+UAcAMAKCa3yAO+SHcAc+U+S+S+R+VHO+U+SHN+L9DBBB9P9d9FQBAN+oRESFMCUUUU94REMAGAE86BBGXGX9DBBB8/9DBBB+/Ac9DBBBB9gyAcAO+U+SHN+L9DBBB9P9d9FQBAN+oRGSFMCUUUU94RGMALAG86BBGXGX9DBBB8/9DBBB+/AI9DBBBB9gyAIAO+U+SHN+L9DBBB9P9d9FQBAN+oRGSFMCUUUU94RGMABAG86BBABCIJRBAFCaJHFQBSGMMAF9FQBEXGXGX9DBBB8/9DBBB+/ABCIJHG8uFB+yAB8uFBHE+yHI+L+TABCGJHL8uFBHK+yHO+L+THN9DBBBB9gHVyAN9DB/+g6ANAN+U9DBBBBANAVyHcAc+MHMAECa3yAI+SHIAI+UAcAMAKCa3yAO+SHcAc+U+S+S+R+VHO+U+SHN+L9DBBB9P9d9FQBAN+oRESFMCUUUU94REMAGAE87FBGXGX9DBBB8/9DBBB+/Ac9DBBBB9gyAcAO+U+SHN+L9DBBB9P9d9FQBAN+oRGSFMCUUUU94RGMALAG87FBGXGX9DBBB8/9DBBB+/AI9DBBBB9gyAIAO+U+SHN+L9DBBB9P9d9FQBAN+oRGSFMCUUUU94RGMABAG87FBABCNJRBAFCaJHFQBMMM/SEIEaE99EaF99GXAF9FQBCBREABRIEXGXGX9D/zI818/AICKJ8uFBHLCEq+y+VHKAI8uFB+y+UHO9DB/+g6+U9DBBB8/9DBBB+/AO9DBBBB9gy+SHN+L9DBBB9P9d9FQBAN+oRVSFMCUUUU94RVMAICIJ8uFBRcAICGJ8uFBRMABALCFJCEZAEqCFWJAV87FBGXGXAKAM+y+UHN9DB/+g6+U9DBBB8/9DBBB+/AN9DBBBB9gy+SHS+L9DBBB9P9d9FQBAS+oRMSFMCUUUU94RMMABALCGJCEZAEqCFWJAM87FBGXGXAKAc+y+UHK9DB/+g6+U9DBBB8/9DBBB+/AK9DBBBB9gy+SHS+L9DBBB9P9d9FQBAS+oRcSFMCUUUU94RcMABALCaJCEZAEqCFWJAc87FBGXGX9DBBU8/AOAO+U+TANAN+U+TAKAK+U+THO9DBBBBAO9DBBBB9gy+R9DB/+g6+U9DBBB8/+SHO+L9DBBB9P9d9FQBAO+oRcSFMCUUUU94RcMABALCEZAEqCFWJAc87FBAICNJRIAECIJREAFCaJHFQBMMM9JBGXAGCGrAF9sHF9FQBEXABAB8oGBHGCNWCN91+yAGCi91CnWCUUU/8EJ+++U84GBABCIJRBAFCaJHFQBMMM9TFEaCBCB8oGUkUUBHFABCEJC98ZJHBjGUkUUBGXGXAB8/BCTWHGuQBCaREABAGlCggEJCTrXBCa6QFMAFREMAEM/lFFFaGXGXAFABqCEZ9FQBABRESFMGXGXAGCT9PQBABRESFMABREEXAEAF8oGBjGBAECIJAFCIJ8oGBjGBAECNJAFCNJ8oGBjGBAECSJAFCSJ8oGBjGBAECTJREAFCTJRFAGC9wJHGCb9LQBMMAGCI9JQBEXAEAF8oGBjGBAFCIJRFAECIJREAGC98JHGCE9LQBMMGXAG9FQBEXAEAF2BB86BBAECFJREAFCFJRFAGCaJHGQBMMABMoFFGaGXGXABCEZ9FQBABRESFMAFCgFZC+BwsN9sRIGXGXAGCT9PQBABRESFMABREEXAEAIjGBAECSJAIjGBAECNJAIjGBAECIJAIjGBAECTJREAGC9wJHGCb9LQBMMAGCI9JQBEXAEAIjGBAECIJREAGC98JHGCE9LQBMMGXAG9FQBEXAEAF86BBAECFJREAGCaJHGQBMMABMMMFBCUNMIT9kBB`;WebAssembly.validate(e)&&(n=`B9h9z9tFBBBFiI9gBB9gLaaaaaFa9gEaaaB9gFaFaEMcBBFBFFGGGEILF9wFFFLEFBFKNFaFCx/aFMO/LFVK9tv9t9vq95GBt9f9f939h9z9t9f9j9h9s9s9f9jW9vq9zBBp9tv9z9o9v9wW9f9kv9j9v9kv9WvqWv94h919m9mvqBG8Z9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv94h919m9mvqBIy9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv949TvZ91v9u9jvBLn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9P9jWBKi9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9R919hWBOn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9F949wBNI9z9iqlBVc+N9IcIBTEM9+FLa8jUUUUBCTlRBCBRFEXCBRGCBREEXABCNJAGJAECUaAFAGrCFZHIy86BBAEAIJREAGCFJHGCN9HQBMAFCx+YUUBJAE86BBAFCEWCxkUUBJAB8pEN83EBAFCFJHFCUG9HQBMMk8lLbaE97F9+FaL978jUUUUBCU/KBlHL8kUUUUBC9+RKGXAGCFJAI9LQBCaRKAE2BBC+gF9HQBALAEAIJHOAGlAG/8cBBCUoBAG9uC/wgBZHKCUGAKCUG9JyRNAECFJRKCBRVGXEXAVAF9PQFANAFAVlAVANJAF9JyRcGXGXAG9FQBAcCbJHIC9wZHMCE9sRSAMCFWRQAICIrCEJCGrRfCBRbEXAKRTCBRtGXEXGXAOATlAf9PQBCBRKSLMALCU/CBJAtAM9sJRmATAfJRKCBREGXAMCoB9JQBAOAKlC/gB9JQBCBRIEXAmAIJREGXGXGXGXGXATAICKrJ2BBHYCEZfIBFGEBMAECBDtDMIBSEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPAPDQBFGENVcMILKOSQfbHeD8dBh+BsxoxoUwN0AeD8dFhxoUwkwk+gUa0sHnhTkAnsHnhNkAnsHn7CgFZHiCEWCxkUUBJDBEBAiCx+YUUBJDBBBHeAeDQBBBBBBBBBBBBBBBBAnhAk7CgFZHiCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCIJAeDeBJAiCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPAPDQBFGENVcMILKOSQfbHeD8dBh+BsxoxoUwN0AeD8dFhxoUwkwk+gUa0sHnhTkAnsHnhNkAnsHn7CgFZHiCEWCxkUUBJDBEBAiCx+YUUBJDBBBHeAeDQBBBBBBBBBBBBBBBBAnhAk7CgFZHiCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCNJAeDeBJAiCx+YUUBJ2BBJRKSFMAEAKDBBBDMIBAKCTJRKMGXGXGXGXGXAYCGrCEZfIBFGEBMAECBDtDMITSEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPAPDQBFGENVcMILKOSQfbHeD8dBh+BsxoxoUwN0AeD8dFhxoUwkwk+gUa0sHnhTkAnsHnhNkAnsHn7CgFZHiCEWCxkUUBJDBEBAiCx+YUUBJDBBBHeAeDQBBBBBBBBBBBBBBBBAnhAk7CgFZHiCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMITAKCIJAeDeBJAiCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPAPDQBFGENVcMILKOSQfbHeD8dBh+BsxoxoUwN0AeD8dFhxoUwkwk+gUa0sHnhTkAnsHnhNkAnsHn7CgFZHiCEWCxkUUBJDBEBAiCx+YUUBJDBBBHeAeDQBBBBBBBBBBBBBBBBAnhAk7CgFZHiCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMITAKCNJAeDeBJAiCx+YUUBJ2BBJRKSFMAEAKDBBBDMITAKCTJRKMGXGXGXGXGXAYCIrCEZfIBFGEBMAECBDtDMIASEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPAPDQBFGENVcMILKOSQfbHeD8dBh+BsxoxoUwN0AeD8dFhxoUwkwk+gUa0sHnhTkAnsHnhNkAnsHn7CgFZHiCEWCxkUUBJDBEBAiCx+YUUBJDBBBHeAeDQBBBBBBBBBBBBBBBBAnhAk7CgFZHiCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIAAKCIJAeDeBJAiCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPAPDQBFGENVcMILKOSQfbHeD8dBh+BsxoxoUwN0AeD8dFhxoUwkwk+gUa0sHnhTkAnsHnhNkAnsHn7CgFZHiCEWCxkUUBJDBEBAiCx+YUUBJDBBBHeAeDQBBBBBBBBBBBBBBBBAnhAk7CgFZHiCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIAAKCNJAeDeBJAiCx+YUUBJ2BBJRKSFMAEAKDBBBDMIAAKCTJRKMGXGXGXGXGXAYCKrfIBFGEBMAECBDtDMI8wSEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPAPDQBFGENVcMILKOSQfbHeD8dBh+BsxoxoUwN0AeD8dFhxoUwkwk+gUa0sHnhTkAnsHnhNkAnsHn7CgFZHYCEWCxkUUBJDBEBAYCx+YUUBJDBBBHeAeDQBBBBBBBBBBBBBBBBAnhAk7CgFZHYCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMI8wAKCIJAeDeBJAYCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPAPDQBFGENVcMILKOSQfbHeD8dBh+BsxoxoUwN0AeD8dFhxoUwkwk+gUa0sHnhTkAnsHnhNkAnsHn7CgFZHYCEWCxkUUBJDBEBAYCx+YUUBJDBBBHeAeDQBBBBBBBBBBBBBBBBAnhAk7CgFZHYCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMI8wAKCNJAeDeBJAYCx+YUUBJ2BBJRKSFMAEAKDBBBDMI8wAKCTJRKMAICoBJREAICUFJAM9LQFAERIAOAKlC/fB9LQBMMGXAEAM9PQBAECErRIEXGXAOAKlCi9PQBCBRKSOMAmAEJRYGXGXGXGXGXATAECKrJ2BBAICKZrCEZfIBFGEBMAYCBDtDMIBSEMAYAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPAPDQBFGENVcMILKOSQfbHeD8dBh+BsxoxoUwN0AeD8dFhxoUwkwk+gUa0sHnhTkAnsHnhNkAnsHn7CgFZHiCEWCxkUUBJDBEBAiCx+YUUBJDBBBHeAeDQBBBBBBBBBBBBBBBBAnhAk7CgFZHiCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCIJAeDeBJAiCx+YUUBJ2BBJRKSGMAYAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPAPDQBFGENVcMILKOSQfbHeD8dBh+BsxoxoUwN0AeD8dFhxoUwkwk+gUa0sHnhTkAnsHnhNkAnsHn7CgFZHiCEWCxkUUBJDBEBAiCx+YUUBJDBBBHeAeDQBBBBBBBBBBBBBBBBAnhAk7CgFZHiCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCNJAeDeBJAiCx+YUUBJ2BBJRKSFMAYAKDBBBDMIBAKCTJRKMAICGJRIAECTJHEAM9JQBMMGXAK9FQBAKRTAtCFJHtCI6QGSFMMCBRKSEMGXAM9FQBALCUGJAbJREALAbJDBGBReCBRYEXAEALCU/CBJAYJHIDBIBHdCFD9tAdCFDbHPD9OD9hD9RHdAIAMJDBIBH8ZCFD9tA8ZAPD9OD9hD9RH8ZDQBTFtGmEYIPLdKeOnHpAIAQJDBIBHyCFD9tAyAPD9OD9hD9RHyAIASJDBIBH8cCFD9tA8cAPD9OD9hD9RH8cDQBTFtGmEYIPLdKeOnH8dDQBFTtGEmYILPdKOenHPAPDQBFGEBFGEBFGEBFGEAeD9uHeDyBjGBAEAGJHIAeAPAPDQILKOILKOILKOILKOD9uHeDyBjGBAIAGJHIAeAPAPDQNVcMNVcMNVcMNVcMD9uHeDyBjGBAIAGJHIAeAPAPDQSQfbSQfbSQfbSQfbD9uHeDyBjGBAIAGJHIAeApA8dDQNVi8ZcMpySQ8c8dfb8e8fHPAPDQBFGEBFGEBFGEBFGED9uHeDyBjGBAIAGJHIAeAPAPDQILKOILKOILKOILKOD9uHeDyBjGBAIAGJHIAeAPAPDQNVcMNVcMNVcMNVcMD9uHeDyBjGBAIAGJHIAeAPAPDQSQfbSQfbSQfbSQfbD9uHeDyBjGBAIAGJHIAeAdA8ZDQNiV8ZcpMyS8cQ8df8eb8fHdAyA8cDQNiV8ZcpMyS8cQ8df8eb8fH8ZDQBFTtGEmYILPdKOenHPAPDQBFGEBFGEBFGEBFGED9uHeDyBjGBAIAGJHIAeAPAPDQILKOILKOILKOILKOD9uHeDyBjGBAIAGJHIAeAPAPDQNVcMNVcMNVcMNVcMD9uHeDyBjGBAIAGJHIAeAPAPDQSQfbSQfbSQfbSQfbD9uHeDyBjGBAIAGJHIAeAdA8ZDQNVi8ZcMpySQ8c8dfb8e8fHPAPDQBFGEBFGEBFGEBFGED9uHeDyBjGBAIAGJHIAeAPAPDQILKOILKOILKOILKOD9uHeDyBjGBAIAGJHIAeAPAPDQNVcMNVcMNVcMNVcMD9uHeDyBjGBAIAGJHIAeAPAPDQSQfbSQfbSQfbSQfbD9uHeDyBjGBAIAGJREAYCTJHYAM9JQBMMAbCIJHbAG9JQBMMABAVAG9sJALCUGJAcAG9s/8cBBALALCUGJAcCaJAG9sJAG/8cBBMAcCBAKyAVJRVAKQBMC9+RKSFMCBC99AOAKlAGCAAGCA9Ly6yRKMALCU/KBJ8kUUUUBAKMNBT+BUUUBM+KmFTa8jUUUUBCoFlHL8kUUUUBC9+RKGXAFCE9uHOCtJAI9LQBCaRKAE2BBHNC/wFZC/gF9HQBANCbZHVCF9LQBALCoBJCgFCUF/8MBALC84Jha83EBALC8wJha83EBALC8oJha83EBALCAJha83EBALCiJha83EBALCTJha83EBALha83ENALha83EBAEAIJC9wJRcAECFJHNAOJRMGXAF9FQBCQCbAVCF6yRSABRECBRVCBRQCBRfCBRICBRKEXGXAMAcuQBC9+RKSEMGXGXAN2BBHOC/vF9LQBALCoBJAOCIrCa9zAKJCbZCEWJHb8oGIRTAb8oGBRtGXAOCbZHbAS9PQBALAOCa9zAIJCbZCGWJ8oGBAVAbyROAb9FRbGXGXAGCG9HQBABAt87FBABCIJAO87FBABCGJAT87FBSFMAEAtjGBAECNJAOjGBAECIJATjGBMAVAbJRVALCoBJAKCEWJHmAOjGBAmATjGIALAICGWJAOjGBALCoBJAKCFJCbZHKCEWJHTAtjGBATAOjGIAIAbJRIAKCFJRKSGMGXGXAbCb6QBAQAbJAbC989zJCFJRQSFMAM1BBHbCgFZROGXGXAbCa9MQBAMCFJRMSFMAM1BFHbCgBZCOWAOCgBZqROGXAbCa9MQBAMCGJRMSFMAM1BGHbCgBZCfWAOqROGXAbCa9MQBAMCEJRMSFMAM1BEHbCgBZCdWAOqROGXAbCa9MQBAMCIJRMSFMAM2BIC8cWAOqROAMCLJRMMAOCFrCBAOCFZl9zAQJRQMGXGXAGCG9HQBABAt87FBABCIJAQ87FBABCGJAT87FBSFMAEAtjGBAECNJAQjGBAECIJATjGBMALCoBJAKCEWJHOAQjGBAOATjGIALAICGWJAQjGBALCoBJAKCFJCbZHKCEWJHOAtjGBAOAQjGIAICFJRIAKCFJRKSFMGXAOCDF9LQBALAIAcAOCbZJ2BBHbCIrHTlCbZCGWJ8oGBAVCFJHtATyROALAIAblCbZCGWJ8oGBAtAT9FHmJHtAbCbZHTyRbAT9FRTGXGXAGCG9HQBABAV87FBABCIJAb87FBABCGJAO87FBSFMAEAVjGBAECNJAbjGBAECIJAOjGBMALAICGWJAVjGBALCoBJAKCEWJHYAOjGBAYAVjGIALAICFJHICbZCGWJAOjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAIAmJCbZHICGWJAbjGBALCoBJAKCGJCbZHKCEWJHOAVjGBAOAbjGIAKCFJRKAIATJRIAtATJRVSFMAVCBAM2BBHYyHTAOC/+F6HPJROAYCbZRtGXGXAYCIrHmQBAOCFJRbSFMAORbALAIAmlCbZCGWJ8oGBROMGXGXAtQBAbCFJRVSFMAbRVALAIAYlCbZCGWJ8oGBRbMGXGXAP9FQBAMCFJRYSFMAM1BFHYCgFZRTGXGXAYCa9MQBAMCGJRYSFMAM1BGHYCgBZCOWATCgBZqRTGXAYCa9MQBAMCEJRYSFMAM1BEHYCgBZCfWATqRTGXAYCa9MQBAMCIJRYSFMAM1BIHYCgBZCdWATqRTGXAYCa9MQBAMCLJRYSFMAMCKJRYAM2BLC8cWATqRTMATCFrCBATCFZl9zAQJHQRTMGXGXAmCb6QBAYRPSFMAY1BBHMCgFZROGXGXAMCa9MQBAYCFJRPSFMAY1BFHMCgBZCOWAOCgBZqROGXAMCa9MQBAYCGJRPSFMAY1BGHMCgBZCfWAOqROGXAMCa9MQBAYCEJRPSFMAY1BEHMCgBZCdWAOqROGXAMCa9MQBAYCIJRPSFMAYCLJRPAY2BIC8cWAOqROMAOCFrCBAOCFZl9zAQJHQROMGXGXAtCb6QBAPRMSFMAP1BBHMCgFZRbGXGXAMCa9MQBAPCFJRMSFMAP1BFHMCgBZCOWAbCgBZqRbGXAMCa9MQBAPCGJRMSFMAP1BGHMCgBZCfWAbqRbGXAMCa9MQBAPCEJRMSFMAP1BEHMCgBZCdWAbqRbGXAMCa9MQBAPCIJRMSFMAPCLJRMAP2BIC8cWAbqRbMAbCFrCBAbCFZl9zAQJHQRbMGXGXAGCG9HQBABAT87FBABCIJAb87FBABCGJAO87FBSFMAEATjGBAECNJAbjGBAECIJAOjGBMALCoBJAKCEWJHYAOjGBAYATjGIALAICGWJATjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAICFJHICbZCGWJAOjGBALCoBJAKCGJCbZCEWJHOATjGBAOAbjGIALAIAm9FAmCb6qJHICbZCGWJAbjGBAIAt9FAtCb6qJRIAKCEJRKMANCFJRNABCKJRBAECSJREAKCbZRKAICbZRIAfCEJHfAF9JQBMMCBC99AMAc6yRKMALCoFJ8kUUUUBAKM/tIFGa8jUUUUBCTlRLC9+RKGXAFCLJAI9LQBCaRKAE2BBC/+FZC/QF9HQBALhB83ENAECFJRKAEAIJC98JREGXAF9FQBGXAGCG6QBEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMALCNJAICFZCGWqHGAICGrCBAICFrCFZl9zAG8oGBJHIjGBABAIjGBABCIJRBAFCaJHFQBSGMMEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMABAICGrCBAICFrCFZl9zALCNJAICFZCGWqHI8oGBJHG87FBAIAGjGBABCGJRBAFCaJHFQBMMCBC99AKAE6yRKMAKM/dLEK97FaF97GXGXAGCI9HQBAF9FQFCBRGEXABABDBBBHECiD+rFCiD+sFD/6FHIAECND+rFCiD+sFD/6FAID/gFAECTD+rFCiD+sFD/6FHLD/gFD/kFD/lFHKCBDtD+2FHOAICUUUU94DtHND9OD9RD/kFHI9DBB/+hDYAIAID/mFAKAKD/mFALAOALAND9OD9RD/kFHIAID/mFD/kFD/kFD/jFD/nFHLD/mF9DBBX9LDYHOD/kFCgFDtD9OAECUUU94DtD9OD9QAIALD/mFAOD/kFCND+rFCU/+EDtD9OD9QAKALD/mFAOD/kFCTD+rFCUU/8ODtD9OD9QDMBBABCTJRBAGCIJHGAF9JQBSGMMAF9FQBCBRGEXABCTJHVAVDBBBHECBDtHOCUU98D8cFCUU98D8cEHND9OABDBBBHKAEDQILKOSQfbPden8c8d8e8fCggFDtD9OD/6FAKAEDQBFGENVcMTtmYi8ZpyHECTD+sFD/6FHID/gFAECTD+rFCTD+sFD/6FHLD/gFD/kFD/lFHE9DB/+g6DYALAEAOD+2FHOALCUUUU94DtHcD9OD9RD/kFHLALD/mFAEAED/mFAIAOAIAcD9OD9RD/kFHEAED/mFD/kFD/kFD/jFD/nFHID/mF9DBBX9LDYHOD/kFCTD+rFALAID/mFAOD/kFCggEDtD9OD9QHLAEAID/mFAOD/kFCaDbCBDnGCBDnECBDnKCBDnOCBDncCBDnMCBDnfCBDnbD9OHEDQNVi8ZcMpySQ8c8dfb8e8fD9QDMBBABAKAND9OALAEDQBFTtGEmYILPdKOenD9QDMBBABCAJRBAGCIJHGAF9JQBMMM/hEIGaF97FaL978jUUUUBCTlREGXAF9FQBCBRIEXAEABDBBBHLABCTJHKDBBBHODQILKOSQfbPden8c8d8e8fHNCTD+sFHVCID+rFDMIBAB9DBBU8/DY9D/zI818/DYAVCEDtD9QD/6FD/nFHVALAODQBFGENVcMTtmYi8ZpyHLCTD+rFCTD+sFD/6FD/mFHOAOD/mFAVALCTD+sFD/6FD/mFHcAcD/mFAVANCTD+rFCTD+sFD/6FD/mFHNAND/mFD/kFD/kFD/lFCBDtD+4FD/jF9DB/+g6DYHVD/mF9DBBX9LDYHLD/kFCggEDtHMD9OAcAVD/mFALD/kFCTD+rFD9QHcANAVD/mFALD/kFCTD+rFAOAVD/mFALD/kFAMD9OD9QHVDQBFTtGEmYILPdKOenHLD8dBAEDBIBDyB+t+J83EBABCNJALD8dFAEDBIBDyF+t+J83EBAKAcAVDQNVi8ZcMpySQ8c8dfb8e8fHVD8dBAEDBIBDyG+t+J83EBABCiJAVD8dFAEDBIBDyE+t+J83EBABCAJRBAICIJHIAF9JQBMMM9jFF97GXAGCGrAF9sHG9FQBCBRFEXABABDBBBHECND+rFCND+sFD/6FAECiD+sFCnD+rFCUUU/8EDtD+uFD/mFDMBBABCTJRBAFCIJHFAG9JQBMMM9TFEaCBCB8oGUkUUBHFABCEJC98ZJHBjGUkUUBGXGXAB8/BCTWHGuQBCaREABAGlCggEJCTrXBCa6QFMAFREMAEMMMFBCUNMIT9tBB`);let r,i=WebAssembly.instantiate(a(n),{}).then(e=>{r=e.instance,r.exports.__wasm_call_ctors()});function a(e){let n=new Uint8Array(e.length);for(let t=0;t96?r-71:r>64?r-65:r>47?r+4:r>46?63:62}let r=0;for(let i=0;i{n&&n(r),e&&(sn||=new nn,sn.setDecoderPath(typeof e==`string`?e:cn),r.setDRACOLoader(sn)),t&&r.setMeshoptDecoder(typeof on==`function`?on():on)}}var un=(e,t,n,r)=>a(ct,e,ln(t,n,r));un.preload=(e,t,n,r)=>a.preload(ct,e,ln(t,n,r)),un.clear=e=>a.clear(ct,e),un.setDecoderPath=e=>{cn=e};var Y=t(),X=r(),dn=1/32,fn=(0,J.createContext)(null);function pn({children:e}){let t=(0,J.useRef)(void 0),n=(0,J.useRef)(0),r=(0,J.useRef)(0);i((e,i)=>{for(n.current+=i;n.current>=dn;)if(n.current-=dn,r.current++,t.current)for(let e of t.current)e(r.current)});let a=(0,J.useCallback)(e=>(t.current??=new Set,t.current.add(e),()=>{t.current.delete(e)}),[]),o=(0,J.useCallback)(()=>r.current,[]),s=(0,J.useCallback)(()=>n.current/dn,[]),c=(0,J.useMemo)(()=>({subscribe:a,getTick:o,getTickFraction:s}),[a,o,s]);return(0,X.jsx)(fn.Provider,{value:c,children:e})}function mn(e){let t=(0,Y.c)(5),n=(0,J.useContext)(fn);if(!n)throw Error(`useTick must be used within a TickProvider`);let r=(0,J.useEffectEvent)(e),i;t[0]!==n||t[1]!==r?(i=()=>n.subscribe(r),t[0]=n,t[1]=r,t[2]=i):i=t[2];let a;t[3]===n?a=t[4]:(a=[n],t[3]=n,t[4]=a),(0,J.useEffect)(i,a)}function hn(){let e=(0,J.useContext)(fn);if(!e)throw Error(`useGetTickFraction must be used within a TickProvider`);return e.getTickFraction}var gn=(0,J.createContext)(null),_n={didCatch:!1,error:null},vn=class extends J.Component{constructor(e){super(e),this.resetErrorBoundary=this.resetErrorBoundary.bind(this),this.state=_n}static getDerivedStateFromError(e){return{didCatch:!0,error:e}}resetErrorBoundary(...e){let{error:t}=this.state;t!==null&&(this.props.onReset?.({args:e,reason:`imperative-api`}),this.setState(_n))}componentDidCatch(e,t){this.props.onError?.(e,t)}componentDidUpdate(e,t){let{didCatch:n}=this.state,{resetKeys:r}=this.props;n&&t.error!==null&&yn(e.resetKeys,r)&&(this.props.onReset?.({next:r,prev:e.resetKeys,reason:`keys`}),this.setState(_n))}render(){let{children:e,fallbackRender:t,FallbackComponent:n,fallback:r}=this.props,{didCatch:i,error:a}=this.state,o=e;if(i){let e={error:a,resetErrorBoundary:this.resetErrorBoundary};if(typeof t==`function`)o=t(e);else if(n)o=(0,J.createElement)(n,e);else if(r!==void 0)o=r;else throw a}return(0,J.createElement)(gn.Provider,{value:{didCatch:i,error:a,resetErrorBoundary:this.resetErrorBoundary}},o)}};function yn(e=[],t=[]){return e.length!==t.length||e.some((e,n)=>!Object.is(e,t[n]))}function bn(e){let t=new Map,n=new Map,r=e.clone();return xn(e,r,function(e,r){t.set(r,e),n.set(e,r)}),r.traverse(function(e){if(!e.isSkinnedMesh)return;let r=e,i=t.get(e),a=i.skeleton.bones;r.skeleton=i.skeleton.clone(),r.bindMatrix.copy(i.bindMatrix),r.skeleton.bones=a.map(function(e){return n.get(e)}),r.bind(r.skeleton,r.bindMatrix)}),r}function xn(e,t,n){n(e,t);for(let r=0;r{let n=t%o,a=Math.floor(t/o);l.drawImage(e.image,n*r,a*i)});let u=new be(c);return u.colorSpace=ne,u.generateMipmaps=!1,u.minFilter=Ee,u.magFilter=Ee,u.wrapS=z,u.wrapT=z,u.repeat.set(1/o,1/s),{texture:u,columns:o,rows:s,slotCount:a,frameToSlot:t,frameOffsetSeconds:[],totalDurationSeconds:0,lastSlot:-1}}function jn(e,t){let n=0;e.frameOffsetSeconds=t.map(e=>(n+=e.frameCount*Dn,n)),e.totalDurationSeconds=n}function Z(e,t){let n=e.frameToSlot[t]??0;if(n===e.lastSlot)return;e.lastSlot=n;let r=n%e.columns,i=e.rows-1-Math.floor(n/e.columns);e.texture.offset.set(r/e.columns,i/e.rows)}function Q(e,t){let n=e.totalDurationSeconds;if(n<=0)return 0;let r=t;r>n&&(r-=n*Math.floor(r/n));for(let t=0;tf(t,e)),o=An(await Promise.all(a.map(et)),i);return jn(o,n),On.set(e,o),o}function Nn(e){let t=(0,Y.c)(17),{animationEnabled:n}=s(),r;t[0]===e?r=t[1]:(r={queryKey:[`ifl`,e],queryFn:()=>p(e)},t[0]=e,t[1]=r);let{data:i}=nt(r),a;t[2]===i?a=t[3]:(a=kn(i),t[2]=i,t[3]=a);let{uniqueNames:o,frameToSlot:c}=a,l;if(t[4]!==e||t[5]!==o){let n;t[7]===e?n=t[8]:(n=t=>f(t,e),t[7]=e,t[8]=n),l=o.map(n),t[4]=e,t[5]=o,t[6]=l}else l=t[6];let u=qe(l),d;t[9]!==c||t[10]!==i||t[11]!==e||t[12]!==u?(d=On.get(e),d||(d=An(u,c),On.set(e,d)),jn(d,i),t[9]=c,t[10]=i,t[11]=e,t[12]=u,t[13]=d):d=t[13];let m=d,h;return t[14]!==n||t[15]!==m?(h=e=>{let t=e/32;Z(m,n?Q(m,t):0)},t[14]=n,t[15]=m,t[16]=h):h=t[16],mn(h),m.texture}var Pn=2.1,Fn=.25,In=32/1e3,$=new N,Ln=new N,Rn=new ke,zn=new N(0,1,0),Bn=new oe().setFromAxisAngle(new N(0,1,0),Math.PI/2),Vn=Bn.clone().invert();function Hn(e,t){let n=Number.isFinite(t)&&t>1e-6?t:4/3,r=Math.max(.01,Math.min(179.99,e))*Math.PI/180;return 2*Math.atan(Math.tan(r/2)/n)*180/Math.PI}function Un(e){e.wrapS=z,e.wrapT=z,e.minFilter=k,e.magFilter=k,e.colorSpace=``,e.flipY=!1,e.needsUpdate=!0}function Wn(e,t){return t.set(e[1],e[2],e[0])}function Gn(e,t){$.crossVectors(e,zn),$.lengthSq()<1e-8&&$.set(-1,0,0),$.normalize(),Ln.crossVectors($,e).normalize(),Rn.set($.x,e.x,Ln.x,0,$.y,e.y,Ln.y,0,$.z,e.z,Ln.z,0,0,0,0,1),t.setFromRotationMatrix(Rn)}function Kn(e,t){if(e.length===0)return null;if(t<=e[0].time)return e[0];if(t>=e[e.length-1].time)return e[e.length-1];let n=0,r=e.length-1;for(;r-n>1;){let i=n+r>>1;e[i].time<=t?n=i:r=i}return e[n]}function qn(e,t){let n=new Map;e.traverse(e=>{e.name&&n.set(e.name,e)});let r=[];for(let e of t.tracks){let t=e.name.lastIndexOf(`.`);if(t===-1)continue;let i=e.name.slice(0,t),a=e.name.slice(t+1),o=n.get(i);if(o){if(a===`quaternion`){let t=o.quaternion;r.push(new y(e.name,[0],[t.x,t.y,t.z,t.w]))}else if(a===`position`){let t=o.position;r.push(new ue(e.name,[0],[t.x,t.y,t.z]))}else if(a===`scale`){let t=o.scale;r.push(new ue(e.name,[0],[t.x,t.y,t.z]))}}}return new pe(`_restPose`,0,r)}function Jn(e,t,n,r){let i=e.clone(!0),a=t.find(e=>e.name===`Root`);if(a){let e=new Ae(i);if(e.clipAction(a).play(),r)for(let n of r){let r=t.find(e=>e.name.toLowerCase()===n.toLowerCase());if(r){let t=e.clipAction(r);t.time=r.duration/2,t.setEffectiveTimeScale(0),t.play()}}e.setTime(0)}i.updateMatrixWorld(!0);let o=null,s=null;return i.traverse(e=>{!o&&e.name===n&&(o=new N,s=new oe,e.getWorldPosition(o),e.getWorldQuaternion(s))}),!o||!s?null:{position:o,quaternion:s}}function Yn(e){e.computeVertexNormals();let t=e.attributes.position,n=e.attributes.normal;if(!t||!n)return;let r=t.array,i=n.array,a=new Map;for(let e=0;e1){let t=0,n=0,r=0;for(let a of e)t+=i[a*3],n+=i[a*3+1],r+=i[a*3+2];let a=Math.sqrt(t*t+n*n+r*r);a>0&&(t/=a,n/=a,r/=a);for(let a of e)i[a*3]=t,i[a*3+1]=n,i[a*3+2]=r}n.needsUpdate=!0}function Xn(e,t,n=!1,r={}){let i=e.userData?.resource_path,a=new Set(e.userData?.flag_names??[]),o=e.userData?.reflection_amount??1;if(!i){let t=new F({color:e.color,side:2,reflectivity:0});return ar(t),{material:t}}let s=r.emap?o:0;if(a.has(`IflMaterial`)){let r=or(e,null,a,n,t,!1,s);if(Array.isArray(r)){let e=r[1];return{material:e,backMaterial:r[0],initialize:(t,n)=>Zn(e,i,t,n)}}return{material:r,initialize:(e,t)=>Zn(r,i,e,t)}}let c=$e(h(i)),l=a.has(`Translucent`);n||l?Qe(c,{disableMipmaps:!0,anisotropy:r.anisotropy}):Qe(c,{anisotropy:r.anisotropy});let u=or(e,c,a,n,t,!1,s);return Array.isArray(u)?{material:u[1],backMaterial:u[0]}:{material:u}}async function Zn(e,t,n,r){let i=await Mn(`textures/${t}.ifl`);e.map=i.texture,e.needsUpdate=!0;let a=!1,o=n.onBeforeRender;return n.onBeforeRender=function(...e){o?.apply(this,e),!a&&Z(i,Q(i,r()))},()=>{a=!0,n.onBeforeRender=o??(()=>{})}}function Qn(e,t,n={}){let r=[],i=t?Cn(t):!1,a=[];e.traverse(e=>{if(!e.isMesh)return;if(e.material?.name===`Unassigned`){e.visible=!1;return}if(typeof e.userData?.dts_detail_size==`number`&&e.userData.dts_detail_size<0){e.visible=!1;return}(e.userData?.vis??1)<.01&&(e.visible=!1),e.geometry&&Yn(e.geometry);let t=e.userData?.vis_sequence?1:e.userData?.vis??1;if(Array.isArray(e.material))e.material=e.material.map(o=>{let s=Xn(o,t,i,n);if(s.initialize&&r.push({mesh:e,initialize:s.initialize}),s.backMaterial&&e.parent){let t=e.clone();t.material=s.backMaterial,a.push({parent:e.parent,mesh:t})}return s.material});else if(e.material){let o=Xn(e.material,t,i,n);if(o.initialize&&r.push({mesh:e,initialize:o.initialize}),e.material=o.material,o.backMaterial&&e.parent){let t=e.clone();t.material=o.backMaterial,a.push({parent:e.parent,mesh:t})}}});for(let{parent:e,mesh:t}of a)e.add(t);return r}function $n(e){e.traverse(e=>{if(e.geometry&&e.geometry.dispose(),e.material){let t=Array.isArray(e.material)?e.material:[e.material];for(let e of t)e.dispose()}})}function er(e){switch(e.toLowerCase()){case`player`:return`#00ff88`;case`vehicle`:return`#ff8800`;case`projectile`:return`#ff0044`;case`deployable`:return`#ffcc00`;default:return`#8888ff`}}var tr=Ue(`GenericShape`);function nr(){let{recording:e}=Ke.getState().playback;return e==null?performance.now()/1e3:Ge()/1e3}var rr=e=>{Je(e,Ye),Xe(e)},ir=e=>{Je(e,Ye)};function ar(e,t){if(!t){e.onBeforeCompile=e instanceof F?rr:ir;return}let n=e instanceof F?`lambert`:`basic`;e.customProgramCacheKey=()=>`shape-envmap-${n}`;let{reflectionAmount:r}=t;e.onBeforeCompile=e=>{Je(e,Ye),Xe(e),Ze(e,r)}}function or(e,t,n,r,i=1,a=!1,o=0){let s=n.has(`Translucent`),c=n.has(`Additive`),l=n.has(`SelfIlluminating`),u=i<1||a,d=!n.has(`NeverEnvMap`)&&o>0&&!u?{reflectionAmount:o}:void 0;if(l||c){let e=c||s||u,n=new L({map:t,side:2,transparent:e,depthWrite:!e,alphaTest:0,fog:!0,...u&&{opacity:i},...c&&{blending:2}});return ar(n,d),n}if(r||s){let e={map:t,transparent:u,alphaTest:u?0:.5,...u&&{opacity:i,depthWrite:!1},reflectivity:0},n=new F({...e,side:1,polygonOffset:!0,polygonOffsetFactor:1,polygonOffsetUnits:1}),r=new F({...e,side:0});return ar(n,d),ar(r,d),[n,r]}let f=new F({map:t,side:2,reflectivity:0,...u&&{transparent:!0,opacity:i,depthWrite:!1}});return ar(f,d),f}function sr(e){let t=(0,Y.c)(2),n;return t[0]===e?n=t[1]:(n=m(e),t[0]=e,t[1]=n),un(n)}var cr=(0,J.memo)(function(e){let t=(0,Y.c)(35),{material:n,shapeName:r,geometry:i,backGeometry:a,castShadow:o,receiveShadow:s,vis:c,animated:l}=e,u=o===void 0?!1:o,d=s===void 0?!1:s,f=c===void 0?1:c,p=l===void 0?!1:l,m=n.userData.resource_path,h;t[0]===n.userData.flag_names?h=t[1]:(h=n.userData.flag_names?new Set(n.userData.flag_names):dr,t[0]=n.userData.flag_names,t[1]=h);let g=h,_=Nn(`textures/${m}.ifl`),v;t[2]===r?v=t[3]:(v=r&&Cn(r),t[2]=r,t[3]=v);let y=!!v,b;t[4]!==p||t[5]!==g||t[6]!==y||t[7]!==n||t[8]!==_||t[9]!==f?(b=or(n,_,g,y,f,p),t[4]=p,t[5]=g,t[6]=y,t[7]=n,t[8]=_,t[9]=f,t[10]=b):b=t[10];let x=b;if(lr(x),Array.isArray(x)){let e=a||i,n;t[11]===x[0]?n=t[12]:(n=(0,X.jsx)(`primitive`,{object:x[0],attach:`material`}),t[11]=x[0],t[12]=n);let r;t[13]!==u||t[14]!==d||t[15]!==e||t[16]!==n?(r=(0,X.jsx)(`mesh`,{geometry:e,castShadow:u,receiveShadow:d,children:n}),t[13]=u,t[14]=d,t[15]=e,t[16]=n,t[17]=r):r=t[17];let o;t[18]===x[1]?o=t[19]:(o=(0,X.jsx)(`primitive`,{object:x[1],attach:`material`}),t[18]=x[1],t[19]=o);let s;t[20]!==u||t[21]!==i||t[22]!==d||t[23]!==o?(s=(0,X.jsx)(`mesh`,{geometry:i,castShadow:u,receiveShadow:d,children:o}),t[20]=u,t[21]=i,t[22]=d,t[23]=o,t[24]=s):s=t[24];let c;return t[25]!==r||t[26]!==s?(c=(0,X.jsxs)(X.Fragment,{children:[r,s]}),t[25]=r,t[26]=s,t[27]=c):c=t[27],c}let S;t[28]===x?S=t[29]:(S=(0,X.jsx)(`primitive`,{object:x,attach:`material`}),t[28]=x,t[29]=S);let C;return t[30]!==u||t[31]!==i||t[32]!==d||t[33]!==S?(C=(0,X.jsx)(`mesh`,{geometry:i,castShadow:u,receiveShadow:d,children:S}),t[30]=u,t[31]=i,t[32]=d,t[33]=S,t[34]=C):C=t[34],C});function lr(e){let t=(0,Y.c)(3),n,r;t[0]===e?(n=t[1],r=t[2]):(n=()=>()=>{Array.isArray(e)?e.forEach(ur):e.dispose()},r=[e],t[0]=e,t[1]=n,t[2]=r),(0,J.useEffect)(n,r)}function ur(e){return e.dispose()}var dr=new Set,fr=(0,J.memo)(function(e){let t=(0,Y.c)(43),{material:n,shapeName:r,geometry:i,backGeometry:a,castShadow:o,receiveShadow:s,vis:c,animated:l}=e,u=o===void 0?!1:o,d=s===void 0?!1:s,f=c===void 0?1:c,p=l===void 0?!1:l,m=n.userData.resource_path,_;t[0]===n.userData.flag_names?_=t[1]:(_=n.userData.flag_names?new Set(n.userData.flag_names):dr,t[0]=n.userData.flag_names,t[1]=_);let v=_;m||tr.warn(`No resource_path found on "%s" — rendering fallback`,r);let y;t[2]===m?y=t[3]:(y=m?h(m):g,t[2]=m,t[3]=y);let b=y,x;t[4]===r?x=t[5]:(x=r&&Cn(r),t[4]=r,t[5]=x);let S=!!x,C;t[6]===v?C=t[7]:(C=v.has(`Translucent`),t[6]=v,t[7]=C);let w=C,T=tt(),E;t[8]!==T||t[9]!==S||t[10]!==w?(E=e=>S||w?Qe(e,{disableMipmaps:!0,anisotropy:T}):Qe(e,{anisotropy:T}),t[8]=T,t[9]=S,t[10]=w,t[11]=E):E=t[11];let D=qe(b,E),O;t[12]!==p||t[13]!==v||t[14]!==S||t[15]!==n||t[16]!==D||t[17]!==f?(O=or(n,D,v,S,f,p),t[12]=p,t[13]=v,t[14]=S,t[15]=n,t[16]=D,t[17]=f,t[18]=O):O=t[18];let k=O;if(lr(k),Array.isArray(k)){let e=a||i,n;t[19]===k[0]?n=t[20]:(n=(0,X.jsx)(`primitive`,{object:k[0],attach:`material`}),t[19]=k[0],t[20]=n);let r;t[21]!==u||t[22]!==d||t[23]!==e||t[24]!==n?(r=(0,X.jsx)(`mesh`,{geometry:e,castShadow:u,receiveShadow:d,children:n}),t[21]=u,t[22]=d,t[23]=e,t[24]=n,t[25]=r):r=t[25];let o;t[26]===k[1]?o=t[27]:(o=(0,X.jsx)(`primitive`,{object:k[1],attach:`material`}),t[26]=k[1],t[27]=o);let s;t[28]!==u||t[29]!==i||t[30]!==d||t[31]!==o?(s=(0,X.jsx)(`mesh`,{geometry:i,castShadow:u,receiveShadow:d,children:o}),t[28]=u,t[29]=i,t[30]=d,t[31]=o,t[32]=s):s=t[32];let c;return t[33]!==r||t[34]!==s?(c=(0,X.jsxs)(X.Fragment,{children:[r,s]}),t[33]=r,t[34]=s,t[35]=c):c=t[35],c}let A;t[36]===k?A=t[37]:(A=(0,X.jsx)(`primitive`,{object:k,attach:`material`}),t[36]=k,t[37]=A);let j;return t[38]!==u||t[39]!==i||t[40]!==d||t[41]!==A?(j=(0,X.jsx)(`mesh`,{geometry:i,castShadow:u,receiveShadow:d,children:A}),t[38]=u,t[39]=i,t[40]=d,t[41]=A,t[42]=j):j=t[42],j});(0,J.memo)(function(e){let t=(0,Y.c)(18),{material:n,shapeName:r,geometry:i,backGeometry:a,castShadow:o,receiveShadow:s,vis:c,animated:l}=e,u=o===void 0?!1:o,d=s===void 0?!1:s,f=c===void 0?1:c,p=l===void 0?!1:l,m=new Set(n.userData.flag_names??[]).has(`IflMaterial`),h=n.userData.resource_path;if(m&&h){let e;return t[0]!==p||t[1]!==a||t[2]!==u||t[3]!==i||t[4]!==n||t[5]!==d||t[6]!==r||t[7]!==f?(e=(0,X.jsx)(cr,{material:n,shapeName:r,geometry:i,backGeometry:a,castShadow:u,receiveShadow:d,vis:f,animated:p}),t[0]=p,t[1]=a,t[2]=u,t[3]=i,t[4]=n,t[5]=d,t[6]=r,t[7]=f,t[8]=e):e=t[8],e}else if(n.name){let e;return t[9]!==p||t[10]!==a||t[11]!==u||t[12]!==i||t[13]!==n||t[14]!==d||t[15]!==r||t[16]!==f?(e=(0,X.jsx)(fr,{material:n,shapeName:r,geometry:i,backGeometry:a,castShadow:u,receiveShadow:d,vis:f,animated:p}),t[9]=p,t[10]=a,t[11]=u,t[12]=i,t[13]=n,t[14]=d,t[15]=r,t[16]=f,t[17]=e):e=t[17],e}else return null});function pr(e){let t=(0,Y.c)(9),{color:n,label:r}=e,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,X.jsx)(`boxGeometry`,{args:[10,10,10]}),t[0]=i):i=t[0];let a;t[1]===n?a=t[2]:(a=(0,X.jsx)(`meshStandardMaterial`,{color:n,wireframe:!0}),t[1]=n,t[2]=a);let s;t[3]!==n||t[4]!==r?(s=r?(0,X.jsx)(o,{color:n,children:r}):null,t[3]=n,t[4]=r,t[5]=s):s=t[5];let c;return t[6]!==a||t[7]!==s?(c=(0,X.jsxs)(`mesh`,{children:[i,a,s]}),t[6]=a,t[7]=s,t[8]=c):c=t[8],c}function mr(e){let t=(0,Y.c)(4),{color:n,label:r}=e,{debugMode:i}=c(),a;return t[0]!==n||t[1]!==i||t[2]!==r?(a=i?(0,X.jsx)(pr,{color:n,label:r}):null,t[0]=n,t[1]=i,t[2]=r,t[3]=a):a=t[3],a}var hr=(0,J.memo)(function(e){let t=(0,Y.c)(19),{loadingColor:n,streamEntity:r,emap:i,children:a}=e,o=n===void 0?`yellow`:n,{object:s,shapeName:c}=Tn();if(!c){let e=`${s?._id}: `,n;return t[0]===e?n=t[1]:(n=(0,X.jsx)(mr,{color:`orange`,label:e}),t[0]=e,t[1]=n),n}let l=`${s?._id}: ${c}`,u;t[2]===l?u=t[3]:(u=(0,X.jsx)(mr,{color:`red`,label:l}),t[2]=l,t[3]=u);let d;t[4]===c?d=t[5]:(d=e=>{tr.error(`Shape error: %s: %o`,c,e)},t[4]=c,t[5]=d);let f;t[6]===o?f=t[7]:(f=(0,X.jsx)(pr,{color:o}),t[6]=o,t[7]=f);let p;t[8]!==i||t[9]!==r?(p=(0,X.jsx)(_r,{streamEntity:r,emap:i}),t[8]=i,t[9]=r,t[10]=p):p=t[10];let m;t[11]!==a||t[12]!==f||t[13]!==p?(m=(0,X.jsxs)(J.Suspense,{fallback:f,children:[p,a]}),t[11]=a,t[12]=f,t[13]=p,t[14]=m):m=t[14];let h;return t[15]!==u||t[16]!==d||t[17]!==m?(h=(0,X.jsx)(vn,{fallback:u,onError:d,children:m}),t[15]=u,t[16]=d,t[17]=m,t[18]=h):h=t[18],h}),gr=(0,J.memo)(function({gltf:e,streamEntity:t,emap:n}){let{object:r,shapeName:a}=Tn(),{debugMode:l}=c(),{animationEnabled:u}=s(),d=We(e=>e.runtime.runtime),f=tt(),{clonedScene:p,mixer:m,clipsByName:h,visNodesBySequence:g,iflMeshes:v}=(0,J.useMemo)(()=>{let r=bn(e.scene),i=[];r.traverse(e=>{if(!e.isMesh||!e.material)return;let t=Array.isArray(e.material)?e.material[0]:e.material;if(!t?.userData)return;let n=new Set(t.userData.flag_names??[]),r=t.userData.resource_path;if(n.has(`IflMaterial`)&&r){let t=e.userData,n=t?.ifl_sequence?String(t.ifl_sequence).toLowerCase():void 0,a=t?.ifl_duration?Number(t.ifl_duration):void 0,o=t?.ifl_sequence?!!t.ifl_cyclic:void 0,s=t?.ifl_tool_begin==null?void 0:Number(t.ifl_tool_begin);i.push({mesh:e,iflPath:`textures/${r}.ifl`,hasVisSequence:!!t?.vis_sequence,iflSequence:n,iflDuration:a,iflCyclic:o,iflToolBegin:s})}}),Qn(r,a??void 0,{anisotropy:f,emap:n??t?.emap});for(let{mesh:e,hasVisSequence:t}of i)t||(e.visible=!0);let o=new Map;r.traverse(e=>{if(!e.isMesh)return;let t=e.userData;if(!t)return;let n=t.vis_keyframes,r=t.vis_duration,i=(t.vis_sequence??``).toLowerCase();if(!i||!Array.isArray(n)||n.length<=1||!r||r<=0)return;let a=o.get(i);a||(a=[],o.set(i,a)),a.push({mesh:e,keyframes:n,duration:r,cyclic:!!t.vis_cyclic})});let s=new Set,c=r.userData?.dts_sequence_names,l=r.userData?.dts_sequence_blend;if(typeof c==`string`)try{let e=JSON.parse(c),t=typeof l==`string`?JSON.parse(l):[];for(let n=0;n0?new Ae(r):null,clipsByName:u,visNodesBySequence:o,iflMeshes:i}},[e,f,n]);(0,J.useEffect)(()=>()=>{$n(p),m?.uncacheRoot(p)},[p,m]);let y=(0,J.useRef)(new Map),b=(0,J.useRef)(new Map),x=(0,J.useRef)([]),S=(0,J.useRef)(0),C=(0,J.useRef)(u);C.current=u;let w=(0,J.useRef)(null),T=(0,J.useRef)(t);T.current=t;let E=(0,J.useRef)(null),D=(0,J.useRef)(null),O=(0,J.useRef)(void 0);(0,J.useEffect)(()=>{x.current=[],b.current.clear();for(let e of v)Mn(e.iflPath).then(t=>{let n=Array.isArray(e.mesh.material)?e.mesh.material[0]:e.mesh.material;n&&(n.map=t.texture,n.needsUpdate=!0);let r={atlas:t,sequenceName:e.iflSequence,sequenceDuration:e.iflDuration,cyclic:e.iflCyclic,toolBegin:e.iflToolBegin};x.current.push(r),b.current.set(e.mesh,t)}).catch(t=>{tr.warn(`Failed to load IFL atlas for %s: %o`,e.iflPath,t)})},[v]);let{seqCyclicByName:k,seqBlendByName:A}=(0,J.useMemo)(()=>{let t=new Map,n=new Map,r=e.scene.userData?.dts_sequence_names,i=e.scene.userData?.dts_sequence_cyclic,a=e.scene.userData?.dts_sequence_blend;if(typeof r==`string`)try{let e=JSON.parse(r),o=typeof i==`string`?JSON.parse(i):[],s=typeof a==`string`?JSON.parse(a):[];for(let r=0;r{let e=y.current,t=T.current==null;function n(e){if(e.mesh.visible=!0,e.mesh.material?.isMeshStandardMaterial){let t=e.mesh.material,n=Xn(t,e.mesh.userData?.vis??0);e.mesh.material=n.material}e.mesh.material&&!Array.isArray(e.mesh.material)&&(e.mesh.material.transparent=!0,e.mesh.material.depthWrite=!1);let t=b.current.get(e.mesh);t&&e.mesh.material&&!Array.isArray(e.mesh.material)&&(e.mesh.material.map=t.texture,e.mesh.material.needsUpdate=!0)}function i(t,r){let i=r.toLowerCase();a(t);let o=h.get(i),s=g.get(i),c={sequence:i,startTime:nr()};if(o&&m){let e=m.clipAction(o);k.get(i)??!0?e.setLoop(_,1/0):(e.setLoop(M,1),e.clampWhenFinished=!0),A.has(i)&&(e.blendMode=Ce),e.reset().play(),c.action=e}if(s){for(let e of s)n(e);c.visNodes=s}e.set(t,c)}function a(t){let n=e.get(t);if(n){if(n.action&&n.action.stop(),n.visNodes)for(let e of n.visNodes)e.mesh.visible=!1,e.mesh.material&&!Array.isArray(e.mesh.material)&&(e.mesh.material.opacity=e.keyframes[0]);e.delete(t)}}if(E.current=i,D.current=a,m&&h.has(`wheel0`)){let e=[];for(let t=0;t<6;t++){let n={rotation:0},r=h.get(`wheel${t}`);if(r){let e=m.clipAction(r);e.setLoop(M,1),e.clampWhenFinished=!0,e.paused=!0,e.play(),n.wheelAction=e}let i=h.get(`spring${t}`);if(i){let e=m.clipAction(i);e.setLoop(M,1),e.clampWhenFinished=!0,e.paused=!0,e.play(),e.time=0,n.springAction=e}let a=h.get(`turn${t}`);if(a){let e=m.clipAction(a);e.setLoop(M,1),e.clampWhenFinished=!0,e.paused=!0,e.play(),e.time=a.duration*.5,n.turnAction=e}e.push(n)}w.current=e}else w.current=null;if(!t)return()=>{E.current=null,D.current=null,O.current=void 0,w.current=null;for(let t of[...e.keys()])a(t)};let o=[];d&&(o.push(d.$.onMethodCalled(`ShapeBase`,`playThread`,(e,t,n)=>{e._id===r?._id&&i(Number(t),String(n))})),o.push(d.$.onMethodCalled(`ShapeBase`,`stopThread`,(e,t)=>{e._id===r?._id&&a(Number(t))})),o.push(d.$.onMethodCalled(`ShapeBase`,`pauseThread`,(t,n)=>{if(t._id!==r?._id)return;let i=e.get(Number(n));i?.action&&(i.action.paused=!0)})));for(let[e,t]of[[0,`power`],[1,`ambient`]])(h.has(t)||g.has(t))&&i(e,t);return()=>{o.forEach(e=>e()),E.current=null,D.current=null,O.current=void 0,w.current=null;for(let t of[...e.keys()])a(t)}},[m,h,g,k,A,r,d]);let j=(0,J.useMemo)(()=>{let t=e.scene.userData?.dts_sequence_names;if(typeof t==`string`)try{return JSON.parse(t).map(e=>e.toLowerCase())}catch{}return e.animations.map(e=>e.name.toLowerCase())},[e]);return i((e,t)=>{let n=y.current,r=T.current!=null,i=Ke.getState().playback,a=r?i.status===`playing`?t*i.rate:0:t,o=T.current?.threads,s=O.current;if(o!==s){let e=E.current,t=D.current;if(e&&t){O.current=o;let r=[];if(o)for(let e of o)r[e.index]=e;let i=[];if(s)for(let e of s)i[e.index]=e;let a=Math.max(r.length,i.length);for(let o=0;o=2?1:0;for(let{mesh:t,keyframes:n}of l){let r=t.material;if(!r||Array.isArray(r))continue;let i=n.length;r.opacity=n[Math.min(Math.floor(e*i),i-1)],t.visible=r.opacity>.01}}let d=w.current;if(d&&u){let e=T.current,t=e?.wheels,n=e?.steeringYaw??0,r=e?.maxSteeringAngle??.3;for(let e=0;e0){S.current+=a;for(let e of f){if(!u){Z(e.atlas,0);continue}if(e.sequenceName&&e.sequenceDuration){let t=0;for(let[,r]of n)if(r.sequence===e.sequenceName){let n=nr()-r.startTime,i=e.sequenceDuration;t=(e.cyclic?n/i%1:Math.min(n/i,1))*i+(e.toolBegin??0);break}Z(e.atlas,Q(e.atlas,t))}else Z(e.atlas,Q(e.atlas,S.current))}}}),(0,X.jsxs)(`group`,{rotation:[0,Math.PI/2,0],children:[(0,X.jsx)(`primitive`,{object:p}),l?(0,X.jsxs)(o,{children:[r?._id,`: `,a]}):null]})});function _r(e){let t=(0,Y.c)(4),{streamEntity:n,emap:r}=e,{shapeName:i}=Tn(),a=sr(i),o;return t[0]!==r||t[1]!==a||t[2]!==n?(o=(0,X.jsx)(gr,{gltf:a,streamEntity:n,emap:r}),t[0]=r,t[1]=a,t[2]=n,t[3]=o):o=t[3],o}export{bn as C,mn as D,hn as E,un as O,En as S,pn as T,Hn as _,Pn as a,Mn as b,Vn as c,er as d,Kn as f,Un as g,Gn as h,Fn as i,qn as l,Qn as m,hr as n,In as o,Jn as p,sr as r,Bn as s,pr as t,$n as u,Wn as v,vn as w,Z as x,Q as y}; \ No newline at end of file diff --git a/docs/assets/Html-DcxB1JCg.js b/docs/assets/Html-DcxB1JCg.js new file mode 100644 index 00000000..ca15922b --- /dev/null +++ b/docs/assets/Html-DcxB1JCg.js @@ -0,0 +1,38 @@ +import{r as e}from"./chunk-DECur_0Z.js";import{r as t}from"./jsx-runtime-BpGWiA-R.js";import{i as n,o as r}from"./react-three-fiber.esm-CD18QK1u.js";import{Ut as i,Wt as a,gt as o,ht as s}from"./three.module-C9W4LJrj.js";import{t as c}from"./extends-DPirtscy.js";import{Tt as l}from"./index-BEKjcnfN.js";var u=e(t()),d=e(l()),f=new a,p=new a,m=new a,h=new i;function ee(e,t,n){let r=f.setFromMatrixPosition(e.matrixWorld);r.project(t);let i=n.width/2,a=n.height/2;return[r.x*i+i,-(r.y*a)+a]}function te(e,t){let n=f.setFromMatrixPosition(e.matrixWorld),r=p.setFromMatrixPosition(t.matrixWorld),i=n.sub(r),a=t.getWorldDirection(m);return i.angleTo(a)>Math.PI/2}function g(e,t,n,r){let i=f.setFromMatrixPosition(e.matrixWorld),a=i.clone();a.project(t),h.set(a.x,a.y),n.setFromCamera(h,t);let o=n.intersectObjects(r,!0);if(o.length){let e=o[0].distance;return i.distanceTo(n.ray.origin)Math.abs(e)<1e-10?0:e;function b(e,t,n=``){let r=`matrix3d(`;for(let n=0;n!==16;n++)r+=y(t[n]*e.elements[n])+(n===15?`)`:`,`);return n+r}var x=(e=>t=>b(t,e))([1,-1,1,1,1,-1,1,1,1,-1,1,1,1,-1,1,1]),S=(e=>(t,n)=>b(t,e(n),`translate(-50%,-50%)`))(e=>[1/e,1/e,1/e,1,-1/e,-1/e,-1/e,-1,1/e,1/e,1/e,1,1,1,1,1]);function ne(e){return e&&typeof e==`object`&&`current`in e}var C=u.forwardRef(({children:e,eps:t=.001,style:i,className:o,prepend:s,center:l,fullscreen:f,portal:p,distanceFactor:m,sprite:h=!1,transform:b=!1,occlude:C,onOcclude:w,castShadow:re,receiveShadow:ie,material:ae,geometry:T,zIndexRange:E=[16777271,0],calculatePosition:D=ee,as:O=`div`,wrapperClass:k,pointerEvents:A=`auto`,...j},M)=>{let{gl:N,camera:P,scene:F,size:I,raycaster:L,events:R,viewport:z}=r(),[B]=u.useState(()=>document.createElement(O)),V=u.useRef(null),H=u.useRef(null),U=u.useRef(0),W=u.useRef([0,0]),G=u.useRef(null),K=u.useRef(null),q=p?.current||R.connected||N.domElement.parentNode,J=u.useRef(null),Y=u.useRef(!1),X=u.useMemo(()=>C&&C!==`blending`||Array.isArray(C)&&C.length&&ne(C[0]),[C]);u.useLayoutEffect(()=>{let e=N.domElement;C&&C===`blending`?(e.style.zIndex=`${Math.floor(E[0]/2)}`,e.style.position=`absolute`,e.style.pointerEvents=`none`):(e.style.zIndex=null,e.style.position=null,e.style.pointerEvents=null)},[C]),u.useLayoutEffect(()=>{if(H.current){let e=V.current=d.createRoot(B);if(F.updateMatrixWorld(),b)B.style.cssText=`position:absolute;top:0;left:0;pointer-events:none;overflow:hidden;`;else{let e=D(H.current,P,I);B.style.cssText=`position:absolute;top:0;left:0;transform:translate3d(${e[0]}px,${e[1]}px,0);transform-origin:0 0;`}return q&&(s?q.prepend(B):q.appendChild(B)),()=>{q&&q.removeChild(B),e.unmount()}}},[q,b]),u.useLayoutEffect(()=>{k&&(B.className=k)},[k]);let Z=u.useMemo(()=>b?{position:`absolute`,top:0,left:0,width:I.width,height:I.height,transformStyle:`preserve-3d`,pointerEvents:`none`}:{position:`absolute`,transform:l?`translate3d(-50%,-50%,0)`:`none`,...f&&{top:-I.height/2,left:-I.width/2,width:I.width,height:I.height},...i},[i,l,f,I,b]),oe=u.useMemo(()=>({position:`absolute`,pointerEvents:A}),[A]);u.useLayoutEffect(()=>{if(Y.current=!1,b){var t;(t=V.current)==null||t.render(u.createElement(`div`,{ref:G,style:Z},u.createElement(`div`,{ref:K,style:oe},u.createElement(`div`,{ref:M,className:o,style:i,children:e}))))}else{var n;(n=V.current)==null||n.render(u.createElement(`div`,{ref:M,style:Z,className:o,children:e}))}});let Q=u.useRef(!0);n(e=>{if(H.current){P.updateMatrixWorld(),H.current.updateWorldMatrix(!0,!1);let e=b?W.current:D(H.current,P,I);if(b||Math.abs(U.current-P.zoom)>t||Math.abs(W.current[0]-e[0])>t||Math.abs(W.current[1]-e[1])>t){let t=te(H.current,P),n=!1;X&&(Array.isArray(C)?n=C.map(e=>e.current):C!==`blending`&&(n=[F]));let r=Q.current;n?Q.current=g(H.current,P,L,n)&&!t:Q.current=!t,r!==Q.current&&(w?w(!Q.current):B.style.display=Q.current?`block`:`none`);let i=Math.floor(E[0]/2),a=C?X?[E[0],i]:[i-1,0]:E;if(B.style.zIndex=`${v(H.current,P,a)}`,b){let[e,t]=[I.width/2,I.height/2],n=P.projectionMatrix.elements[5]*t,{isOrthographicCamera:r,top:i,left:a,bottom:o,right:s}=P,c=x(P.matrixWorldInverse),l=r?`scale(${n})translate(${y(-(s+a)/2)}px,${y((i+o)/2)}px)`:`translateZ(${n}px)`,u=H.current.matrixWorld;h&&(u=P.matrixWorldInverse.clone().transpose().copyPosition(u).scale(H.current.scale),u.elements[3]=u.elements[7]=u.elements[11]=0,u.elements[15]=1),B.style.width=I.width+`px`,B.style.height=I.height+`px`,B.style.perspective=r?``:`${n}px`,G.current&&K.current&&(G.current.style.transform=`${l}${c}translate(${e}px,${t}px)`,K.current.style.transform=S(u,1/((m||10)/400)))}else{let t=m===void 0?1:_(H.current,P)*m;B.style.transform=`translate3d(${e[0]}px,${e[1]}px,0) scale(${t})`}W.current=e,U.current=P.zoom}}if(!X&&J.current&&!Y.current)if(b){if(G.current){let e=G.current.children[0];if(e!=null&&e.clientWidth&&e!=null&&e.clientHeight){let{isOrthographicCamera:t}=P;if(t||T)j.scale&&(Array.isArray(j.scale)?j.scale instanceof a?J.current.scale.copy(j.scale.clone().divideScalar(1)):J.current.scale.set(1/j.scale[0],1/j.scale[1],1/j.scale[2]):J.current.scale.setScalar(1/j.scale));else{let t=(m||10)/400,n=e.clientWidth*t,r=e.clientHeight*t;J.current.scale.set(n,r,1)}Y.current=!0}}}else{let t=B.children[0];if(t!=null&&t.clientWidth&&t!=null&&t.clientHeight){let e=1/z.factor,n=t.clientWidth*e,r=t.clientHeight*e;J.current.scale.set(n,r,1),Y.current=!0}J.current.lookAt(e.camera.position)}});let $=u.useMemo(()=>({vertexShader:b?void 0:` + /* + This shader is from the THREE's SpriteMaterial. + We need to turn the backing plane into a Sprite + (make it always face the camera) if "transfrom" + is false. + */ + #include + + void main() { + vec2 center = vec2(0., 1.); + float rotation = 0.0; + + // This is somewhat arbitrary, but it seems to work well + // Need to figure out how to derive this dynamically if it even matters + float size = 0.03; + + vec4 mvPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 ); + vec2 scale; + scale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) ); + scale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) ); + + bool isPerspective = isPerspectiveMatrix( projectionMatrix ); + if ( isPerspective ) scale *= - mvPosition.z; + + vec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale * size; + vec2 rotatedPosition; + rotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y; + rotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y; + mvPosition.xy += rotatedPosition; + + gl_Position = projectionMatrix * mvPosition; + } + `,fragmentShader:` + void main() { + gl_FragColor = vec4(0.0, 0.0, 0.0, 0.0); + } + `}),[b]);return u.createElement(`group`,c({},j,{ref:H}),C&&!X&&u.createElement(`mesh`,{castShadow:re,receiveShadow:ie,ref:J},T||u.createElement(`planeGeometry`,null),ae||u.createElement(`shaderMaterial`,{side:2,vertexShader:$.vertexShader,fragmentShader:$.fragmentShader})))});export{C as t}; \ No newline at end of file diff --git a/docs/assets/Html-DrHEhPVE.js b/docs/assets/Html-DrHEhPVE.js deleted file mode 100644 index 5a54b216..00000000 --- a/docs/assets/Html-DrHEhPVE.js +++ /dev/null @@ -1,57 +0,0 @@ -import{r as e,t}from"./chunk-DECur_0Z.js";import{r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import{Ht as i,Ot as a,Tt as o,Ut as s,V as c,Y as l,b as u,ht as d,kt as f,mt as p,n as m,r as h,x as g,y as _}from"./three.module-DRRYkRPO.js";import{t as v}from"./traditional-DhFuLw_p.js";var y=t((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0>>1,a=e[r];if(0>>1;ri(c,n))li(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(li(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(e.unstable_now=void 0,typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=!1,_=typeof setTimeout==`function`?setTimeout:null,v=typeof clearTimeout==`function`?clearTimeout:null,y=typeof setImmediate<`u`?setImmediate:null;function ee(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function b(e){if(h=!1,ee(e),!m)if(n(c)!==null)m=!0,te||(te=!0,C());else{var t=n(l);t!==null&&se(b,t.startTime-e)}}var te=!1,x=-1,ne=5,re=-1;function S(){return g?!0:!(e.unstable_now()-ret&&S());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=t);if(t=e.unstable_now(),typeof s==`function`){d.callback=s,ee(t),i=!0;break b}d===n(c)&&r(c),ee(t)}else r(c);d=n(c)}if(d!==null)i=!0;else{var u=n(l);u!==null&&se(b,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}i=void 0}}finally{i?C():te=!1}}}var C;if(typeof y==`function`)C=function(){y(ie)};else if(typeof MessageChannel<`u`){var ae=new MessageChannel,oe=ae.port2;ae.port1.onmessage=ie,C=function(){oe.postMessage(null)}}else C=function(){_(ie,0)};function se(t,n){x=_(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_forceFrameRate=function(e){0>e||125o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(v(x),x=-1):h=!0,se(b,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,te||(te=!0,C()))),r},e.unstable_shouldYield=S,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),ee=t(((e,t)=>{t.exports=y()})),b=t((e=>{var t=n();function r(e){var t=`https://react.dev/errors/`+e;if(1{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=b()})),x=t((e=>{var t=ee(),r=n(),i=te();function a(e){var t=`https://react.dev/errors/`+e;if(1de||(e.current=ue[de],ue[de]=null,de--)}function k(e,t){de++,ue[de]=e.current,e.current=t}var me=fe(null),he=fe(null),ge=fe(null),_e=fe(null);function ve(e,t){switch(k(ge,t),k(he,e),k(me,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Vd(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Vd(t),e=Hd(t,e);else switch(e){case`svg`:e=1;break;case`math`:e=2;break;default:e=0}}pe(me),k(me,e)}function ye(){pe(me),pe(he),pe(ge)}function be(e){e.memoizedState!==null&&k(_e,e);var t=me.current,n=Hd(t,e.type);t!==n&&(k(he,e),k(me,n))}function xe(e){he.current===e&&(pe(me),pe(he)),_e.current===e&&(pe(_e),Qf._currentValue=le)}var Se,Ce;function we(e){if(Se===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);Se=t&&t[1]||``,Ce=-1)`:-1i||c[r]!==l[i]){var u=` -`+c[r].replace(` at new `,` at `);return e.displayName&&u.includes(``)&&(u=u.replace(``,e.displayName)),u}while(1<=r&&0<=i);break}}}finally{A=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:``)?we(n):``}function Ee(e,t){switch(e.tag){case 26:case 27:case 5:return we(e.type);case 16:return we(`Lazy`);case 13:return e.child!==t&&t!==null?we(`Suspense Fallback`):we(`Suspense`);case 19:return we(`SuspenseList`);case 0:case 15:return Te(e.type,!1);case 11:return Te(e.type.render,!1);case 1:return Te(e.type,!0);case 31:return we(`Activity`);default:return``}}function De(e){try{var t=``,n=null;do t+=Ee(e,n),n=e,e=e.return;while(e);return t}catch(e){return` -Error generating stack: `+e.message+` -`+e.stack}}var Oe=Object.prototype.hasOwnProperty,ke=t.unstable_scheduleCallback,Ae=t.unstable_cancelCallback,je=t.unstable_shouldYield,Me=t.unstable_requestPaint,Ne=t.unstable_now,Pe=t.unstable_getCurrentPriorityLevel,Fe=t.unstable_ImmediatePriority,Ie=t.unstable_UserBlockingPriority,Le=t.unstable_NormalPriority,Re=t.unstable_LowPriority,ze=t.unstable_IdlePriority,Be=t.log,Ve=t.unstable_setDisableYieldValue,He=null,j=null;function Ue(e){if(typeof Be==`function`&&Ve(e),j&&typeof j.setStrictMode==`function`)try{j.setStrictMode(He,e)}catch{}}var We=Math.clz32?Math.clz32:qe,Ge=Math.log,Ke=Math.LN2;function qe(e){return e>>>=0,e===0?32:31-(Ge(e)/Ke|0)|0}var Je=256,Ye=262144,Xe=4194304;function Ze(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function Qe(e,t,n){var r=e.pendingLanes;if(r===0)return 0;var i=0,a=e.suspendedLanes,o=e.pingedLanes;e=e.warmLanes;var s=r&134217727;return s===0?(s=r&~a,s===0?o===0?n||(n=r&~e,n!==0&&(i=Ze(n))):i=Ze(o):i=Ze(s)):(r=s&~a,r===0?(o&=s,o===0?n||(n=s&~e,n!==0&&(i=Ze(n))):i=Ze(o)):i=Ze(r)),i===0?0:t!==0&&t!==i&&(t&a)===0&&(a=i&-i,n=t&-t,a>=n||a===32&&n&4194048)?t:i}function $e(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function et(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function tt(){var e=Xe;return Xe<<=1,!(Xe&62914560)&&(Xe=4194304),e}function nt(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function rt(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function it(e,t,n,r,i,a){var o=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var s=e.entanglements,c=e.expirationTimes,l=e.hiddenUpdates;for(n=o&~n;0`u`||window.document===void 0||window.document.createElement===void 0),_n=!1;if(gn)try{var vn={};Object.defineProperty(vn,`passive`,{get:function(){_n=!0}}),window.addEventListener(`test`,vn,vn),window.removeEventListener(`test`,vn,vn)}catch{_n=!1}var yn=null,bn=null,xn=null;function Sn(){if(xn)return xn;var e,t=bn,n=t.length,r,i=`value`in yn?yn.value:yn.textContent,a=i.length;for(e=0;e=er),rr=` `,ir=!1;function ar(e,t){switch(e){case`keyup`:return Qn.indexOf(t.keyCode)!==-1;case`keydown`:return t.keyCode!==229;case`keypress`:case`mousedown`:case`focusout`:return!0;default:return!1}}function or(e){return e=e.detail,typeof e==`object`&&`data`in e?e.data:null}var sr=!1;function cr(e,t){switch(e){case`compositionend`:return or(t);case`keypress`:return t.which===32?(ir=!0,rr):null;case`textInput`:return e=t.data,e===rr&&ir?null:e;default:return null}}function lr(e,t){if(sr)return e===`compositionend`||!$n&&ar(e,t)?(e=Sn(),xn=bn=yn=null,sr=!1,e):null;switch(e){case`paste`:return null;case`keypress`:if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}a:{for(;n;){if(n.nextSibling){n=n.nextSibling;break a}n=n.parentNode}n=void 0}n=jr(n)}}function Nr(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Nr(e,t.parentNode):`contains`in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Pr(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Ut(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href==`string`}catch{n=!1}if(n)e=t.contentWindow;else break;t=Ut(e.document)}return t}function Fr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t===`input`&&(e.type===`text`||e.type===`search`||e.type===`tel`||e.type===`url`||e.type===`password`)||t===`textarea`||e.contentEditable===`true`)}var Ir=gn&&`documentMode`in document&&11>=document.documentMode,Lr=null,Rr=null,zr=null,Br=!1;function Vr(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Br||Lr==null||Lr!==Ut(r)||(r=Lr,`selectionStart`in r&&Fr(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),zr&&Ar(zr,r)||(zr=r,r=Td(Rr,`onSelect`),0>=o,i-=o,Ni=1<<32-We(t)+i|n<h?(g=d,d=null):g=d.sibling;var _=p(i,d,s[h],c);if(_===null){d===null&&(d=g);break}e&&d&&_.alternate===null&&t(i,d),a=o(_,a,h),u===null?l=_:u.sibling=_,u=_,d=g}if(h===s.length)return n(i,d),N&&Fi(i,h),l;if(d===null){for(;hg?(_=h,h=null):_=h.sibling;var y=p(i,h,v.value,l);if(y===null){h===null&&(h=_);break}e&&h&&y.alternate===null&&t(i,h),s=o(y,s,g),d===null?u=y:d.sibling=y,d=y,h=_}if(v.done)return n(i,h),N&&Fi(i,g),u;if(h===null){for(;!v.done;g++,v=c.next())v=f(i,v.value,l),v!==null&&(s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return N&&Fi(i,g),u}for(h=r(h);!v.done;g++,v=c.next())v=m(h,i,g,v.value,l),v!==null&&(e&&v.alternate!==null&&h.delete(v.key===null?g:v.key),s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return e&&h.forEach(function(e){return t(i,e)}),N&&Fi(i,g),u}function ee(e,r,o,c){if(typeof o==`object`&&o&&o.type===_&&o.key===null&&(o=o.props.children),typeof o==`object`&&o){switch(o.$$typeof){case h:a:{for(var l=o.key;r!==null;){if(r.key===l){if(l=o.type,l===_){if(r.tag===7){n(e,r.sibling),c=i(r,o.props.children),c.return=e,e=c;break a}}else if(r.elementType===l||typeof l==`object`&&l&&l.$$typeof===C&&Na(l)===r.type){n(e,r.sibling),c=i(r,o.props),za(c,o),c.return=e,e=c;break a}n(e,r);break}else t(e,r);r=r.sibling}o.type===_?(c=bi(o.props.children,e.mode,c,o.key),c.return=e,e=c):(c=yi(o.type,o.key,o.props,null,e.mode,c),za(c,o),c.return=e,e=c)}return s(e);case g:a:{for(l=o.key;r!==null;){if(r.key===l)if(r.tag===4&&r.stateNode.containerInfo===o.containerInfo&&r.stateNode.implementation===o.implementation){n(e,r.sibling),c=i(r,o.children||[]),c.return=e,e=c;break a}else{n(e,r);break}else t(e,r);r=r.sibling}c=Ci(o,e.mode,c),c.return=e,e=c}return s(e);case C:return o=Na(o),ee(e,r,o,c)}if(E(o))return v(e,r,o,c);if(w(o)){if(l=w(o),typeof l!=`function`)throw Error(a(150));return o=l.call(o),y(e,r,o,c)}if(typeof o.then==`function`)return ee(e,r,Ra(o),c);if(o.$$typeof===x)return ee(e,r,ca(e,o),c);Ba(e,o)}return typeof o==`string`&&o!==``||typeof o==`number`||typeof o==`bigint`?(o=``+o,r!==null&&r.tag===6?(n(e,r.sibling),c=i(r,o),c.return=e,e=c):(n(e,r),c=xi(o,e.mode,c),c.return=e,e=c),s(e)):n(e,r)}return function(e,t,n,r){try{La=0;var i=ee(e,t,n,r);return F=null,i}catch(t){if(t===Da||t===ka)throw t;var a=hi(29,t,null,e.mode);return a.lanes=r,a.return=e,a}}}var Ha=Va(!0),Ua=Va(!1),Wa=!1;function Ga(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Ka(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function qa(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Ja(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,B&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,t=fi(e),di(e,null,n),t}return ci(e,r,t,n),fi(e)}function Ya(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,n&4194048)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,ot(e,n)}}function Xa(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,a=null;if(n=n.firstBaseUpdate,n!==null){do{var o={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};a===null?i=a=o:a=a.next=o,n=n.next}while(n!==null);a===null?i=a=t:a=a.next=t}else i=a=t;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:a,shared:r.shared,callbacks:r.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var Za=!1;function Qa(){if(Za){var e=va;if(e!==null)throw e}}function $a(e,t,n,r){Za=!1;var i=e.updateQueue;Wa=!1;var a=i.firstBaseUpdate,o=i.lastBaseUpdate,s=i.shared.pending;if(s!==null){i.shared.pending=null;var c=s,l=c.next;c.next=null,o===null?a=l:o.next=l,o=c;var u=e.alternate;u!==null&&(u=u.updateQueue,s=u.lastBaseUpdate,s!==o&&(s===null?u.firstBaseUpdate=l:s.next=l,u.lastBaseUpdate=c))}if(a!==null){var d=i.baseState;o=0,u=l=c=null,s=a;do{var f=s.lane&-536870913,m=f!==s.lane;if(m?(U&f)===f:(r&f)===f){f!==0&&f===_a&&(Za=!0),u!==null&&(u=u.next={lane:0,tag:s.tag,payload:s.payload,callback:null,next:null});a:{var h=e,g=s;f=t;var _=n;switch(g.tag){case 1:if(h=g.payload,typeof h==`function`){d=h.call(_,d,f);break a}d=h;break a;case 3:h.flags=h.flags&-65537|128;case 0:if(h=g.payload,f=typeof h==`function`?h.call(_,d,f):h,f==null)break a;d=p({},d,f);break a;case 2:Wa=!0}}f=s.callback,f!==null&&(e.flags|=64,m&&(e.flags|=8192),m=i.callbacks,m===null?i.callbacks=[f]:m.push(f))}else m={lane:f,tag:s.tag,payload:s.payload,callback:s.callback,next:null},u===null?(l=u=m,c=d):u=u.next=m,o|=f;if(s=s.next,s===null){if(s=i.shared.pending,s===null)break;m=s,s=m.next,m.next=null,i.lastBaseUpdate=m,i.shared.pending=null}}while(1);u===null&&(c=d),i.baseState=c,i.firstBaseUpdate=l,i.lastBaseUpdate=u,a===null&&(i.shared.lanes=0),Jl|=o,e.lanes=o,e.memoizedState=d}}function eo(e,t){if(typeof e!=`function`)throw Error(a(191,e));e.call(t)}function to(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;ea?a:8;var o=D.T,s={};D.T=s,zs(e,!1,t,n);try{var c=i(),l=D.S;l!==null&&l(s,c),typeof c==`object`&&c&&typeof c.then==`function`?Rs(e,t,xa(c,r),gu(e)):Rs(e,t,r,gu(e))}catch(n){Rs(e,t,{then:function(){},status:`rejected`,reason:n},gu())}finally{O.p=a,o!==null&&s.types!==null&&(o.types=s.types),D.T=o}}function Os(){}function ks(e,t,n,r){if(e.tag!==5)throw Error(a(476));var i=As(e).queue;Ds(e,i,t,le,n===null?Os:function(){return js(e),n(r)})}function As(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:le,baseState:le,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Bo,lastRenderedState:le},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Bo,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function js(e){var t=As(e);t.next===null&&(t=e.alternate.memoizedState),Rs(e,t.next.queue,{},gu())}function Ms(){return sa(Qf)}function Ns(){return Fo().memoizedState}function Ps(){return Fo().memoizedState}function Fs(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=gu();e=qa(n);var r=Ja(t,e,n);r!==null&&(vu(r,t,n),Ya(r,t,n)),t={cache:ma()},e.payload=t;return}t=t.return}}function Is(e,t,n){var r=gu();n={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},Bs(e)?Vs(t,n):(n=li(e,t,n,r),n!==null&&(vu(n,e,r),Hs(n,t,r)))}function Ls(e,t,n){Rs(e,t,n,gu())}function Rs(e,t,n,r){var i={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(Bs(e))Vs(t,i);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var o=t.lastRenderedState,s=a(o,n);if(i.hasEagerState=!0,i.eagerState=s,kr(s,o))return ci(e,t,i,0),V===null&&si(),!1}catch{}if(n=li(e,t,i,r),n!==null)return vu(n,e,r),Hs(n,t,r),!0}return!1}function zs(e,t,n,r){if(r={lane:2,revertLane:ud(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},Bs(e)){if(t)throw Error(a(479))}else t=li(e,n,r,2),t!==null&&vu(t,e,2)}function Bs(e){var t=e.alternate;return e===L||t!==null&&t===L}function Vs(e,t){bo=yo=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Hs(e,t,n){if(n&4194048){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,ot(e,n)}}var Us={readContext:sa,use:Ro,useCallback:R,useContext:R,useEffect:R,useImperativeHandle:R,useLayoutEffect:R,useInsertionEffect:R,useMemo:R,useReducer:R,useRef:R,useState:R,useDebugValue:R,useDeferredValue:R,useTransition:R,useSyncExternalStore:R,useId:R,useHostTransitionStatus:R,useFormState:R,useActionState:R,useOptimistic:R,useMemoCache:R,useCacheRefresh:R};Us.useEffectEvent=R;var Ws={readContext:sa,use:Ro,useCallback:function(e,t){return Po().memoizedState=[e,t===void 0?null:t],e},useContext:sa,useEffect:ms,useImperativeHandle:function(e,t,n){n=n==null?null:n.concat([e]),fs(4194308,4,bs.bind(null,t,e),n)},useLayoutEffect:function(e,t){return fs(4194308,4,e,t)},useInsertionEffect:function(e,t){fs(4,2,e,t)},useMemo:function(e,t){var n=Po();t=t===void 0?null:t;var r=e();if(xo){Ue(!0);try{e()}finally{Ue(!1)}}return n.memoizedState=[r,t],r},useReducer:function(e,t,n){var r=Po();if(n!==void 0){var i=n(t);if(xo){Ue(!0);try{n(t)}finally{Ue(!1)}}}else i=t;return r.memoizedState=r.baseState=i,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:i},r.queue=e,e=e.dispatch=Is.bind(null,L,e),[r.memoizedState,e]},useRef:function(e){var t=Po();return e={current:e},t.memoizedState=e},useState:function(e){e=Xo(e);var t=e.queue,n=Ls.bind(null,L,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:Ss,useDeferredValue:function(e,t){return Ts(Po(),e,t)},useTransition:function(){var e=Xo(!1);return e=Ds.bind(null,L,e.queue,!0,!1),Po().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var r=L,i=Po();if(N){if(n===void 0)throw Error(a(407));n=n()}else{if(n=t(),V===null)throw Error(a(349));U&127||Go(r,t,n)}i.memoizedState=n;var o={value:n,getSnapshot:t};return i.queue=o,ms(qo.bind(null,r,o,e),[e]),r.flags|=2048,us(9,{destroy:void 0},Ko.bind(null,r,o,n,t),null),n},useId:function(){var e=Po(),t=V.identifierPrefix;if(N){var n=Pi,r=Ni;n=(r&~(1<<32-We(r)-1)).toString(32)+n,t=`_`+t+`R_`+n,n=So++,0<\/script>`,o=o.removeChild(o.firstChild);break;case`select`:o=typeof r.is==`string`?s.createElement(`select`,{is:r.is}):s.createElement(`select`),r.multiple?o.multiple=!0:r.size&&(o.size=r.size);break;default:o=typeof r.is==`string`?s.createElement(i,{is:r.is}):s.createElement(i)}}o[pt]=t,o[mt]=r;a:for(s=t.child;s!==null;){if(s.tag===5||s.tag===6)o.appendChild(s.stateNode);else if(s.tag!==4&&s.tag!==27&&s.child!==null){s.child.return=s,s=s.child;continue}if(s===t)break a;for(;s.sibling===null;){if(s.return===null||s.return===t)break a;s=s.return}s.sibling.return=s.return,s=s.sibling}t.stateNode=o;a:switch(Pd(o,i,r),i){case`button`:case`input`:case`select`:case`textarea`:r=!!r.autoFocus;break a;case`img`:r=!0;break a;default:r=!1}r&&Rc(t)}}return Uc(t),zc(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==r&&Rc(t);else{if(typeof r!=`string`&&t.stateNode===null)throw Error(a(166));if(e=ge.current,qi(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,i=Bi,i!==null)switch(i.tag){case 27:case 5:r=i.memoizedProps}e[pt]=t,e=!!(e.nodeValue===n||r!==null&&!0===r.suppressHydrationWarning||jd(e.nodeValue,n)),e||Wi(t,!0)}else e=Bd(e).createTextNode(r),e[pt]=t,t.stateNode=e}return Uc(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(r=qi(t),n!==null){if(e===null){if(!r)throw Error(a(318));if(e=t.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(a(557));e[pt]=t}else Ji(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Uc(t),e=!1}else n=Yi(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(po(t),t):(po(t),null);if(t.flags&128)throw Error(a(558))}return Uc(t),null;case 13:if(r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(i=qi(t),r!==null&&r.dehydrated!==null){if(e===null){if(!i)throw Error(a(318));if(i=t.memoizedState,i=i===null?null:i.dehydrated,!i)throw Error(a(317));i[pt]=t}else Ji(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Uc(t),i=!1}else i=Yi(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=i),i=!0;if(!i)return t.flags&256?(po(t),t):(po(t),null)}return po(t),t.flags&128?(t.lanes=n,t):(n=r!==null,e=e!==null&&e.memoizedState!==null,n&&(r=t.child,i=null,r.alternate!==null&&r.alternate.memoizedState!==null&&r.alternate.memoizedState.cachePool!==null&&(i=r.alternate.memoizedState.cachePool.pool),o=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(o=r.memoizedState.cachePool.pool),o!==i&&(r.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),Vc(t,t.updateQueue),Uc(t),null);case 4:return ye(),e===null&&xd(t.stateNode.containerInfo),Uc(t),null;case 10:return ta(t.type),Uc(t),null;case 19:if(pe(mo),r=t.memoizedState,r===null)return Uc(t),null;if(i=(t.flags&128)!=0,o=r.rendering,o===null)if(i)Hc(r,!1);else{if(ql!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(o=ho(e),o!==null){for(t.flags|=128,Hc(r,!1),e=o.updateQueue,t.updateQueue=e,Vc(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)vi(n,e),n=n.sibling;return k(mo,mo.current&1|2),N&&Fi(t,r.treeForkCount),t.child}e=e.sibling}r.tail!==null&&Ne()>iu&&(t.flags|=128,i=!0,Hc(r,!1),t.lanes=4194304)}else{if(!i)if(e=ho(o),e!==null){if(t.flags|=128,i=!0,e=e.updateQueue,t.updateQueue=e,Vc(t,e),Hc(r,!0),r.tail===null&&r.tailMode===`hidden`&&!o.alternate&&!N)return Uc(t),null}else 2*Ne()-r.renderingStartTime>iu&&n!==536870912&&(t.flags|=128,i=!0,Hc(r,!1),t.lanes=4194304);r.isBackwards?(o.sibling=t.child,t.child=o):(e=r.last,e===null?t.child=o:e.sibling=o,r.last=o)}return r.tail===null?(Uc(t),null):(e=r.tail,r.rendering=e,r.tail=e.sibling,r.renderingStartTime=Ne(),e.sibling=null,n=mo.current,k(mo,i?n&1|2:n&1),N&&Fi(t,r.treeForkCount),e);case 22:case 23:return po(t),ao(),r=t.memoizedState!==null,e===null?r&&(t.flags|=8192):e.memoizedState!==null!==r&&(t.flags|=8192),r?n&536870912&&!(t.flags&128)&&(Uc(t),t.subtreeFlags&6&&(t.flags|=8192)):Uc(t),n=t.updateQueue,n!==null&&Vc(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),r=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(r=t.memoizedState.cachePool.pool),r!==n&&(t.flags|=2048),e!==null&&pe(Ca),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),ta(pa),Uc(t),null;case 25:return null;case 30:return null}throw Error(a(156,t.tag))}function Gc(e,t){switch(Ri(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ta(pa),ye(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return xe(t),null;case 31:if(t.memoizedState!==null){if(po(t),t.alternate===null)throw Error(a(340));Ji()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(po(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(a(340));Ji()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return pe(mo),null;case 4:return ye(),null;case 10:return ta(t.type),null;case 22:case 23:return po(t),ao(),e!==null&&pe(Ca),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return ta(pa),null;case 25:return null;default:return null}}function Kc(e,t){switch(Ri(t),t.tag){case 3:ta(pa),ye();break;case 26:case 27:case 5:xe(t);break;case 4:ye();break;case 31:t.memoizedState!==null&&po(t);break;case 13:po(t);break;case 19:pe(mo);break;case 10:ta(t.type);break;case 22:case 23:po(t),ao(),e!==null&&pe(Ca);break;case 24:ta(pa)}}function qc(e,t){try{var n=t.updateQueue,r=n===null?null:n.lastEffect;if(r!==null){var i=r.next;n=i;do{if((n.tag&e)===e){r=void 0;var a=n.create,o=n.inst;r=a(),o.destroy=r}n=n.next}while(n!==i)}}catch(e){Q(t,t.return,e)}}function Jc(e,t,n){try{var r=t.updateQueue,i=r===null?null:r.lastEffect;if(i!==null){var a=i.next;r=a;do{if((r.tag&e)===e){var o=r.inst,s=o.destroy;if(s!==void 0){o.destroy=void 0,i=t;var c=n,l=s;try{l()}catch(e){Q(i,c,e)}}}r=r.next}while(r!==a)}}catch(e){Q(t,t.return,e)}}function Yc(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{to(t,n)}catch(t){Q(e,e.return,t)}}}function Xc(e,t,n){n.props=Zs(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(n){Q(e,t,n)}}function Zc(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var r=e.stateNode;break;case 30:r=e.stateNode;break;default:r=e.stateNode}typeof n==`function`?e.refCleanup=n(r):n.current=r}}catch(n){Q(e,t,n)}}function Qc(e,t){var n=e.ref,r=e.refCleanup;if(n!==null)if(typeof r==`function`)try{r()}catch(n){Q(e,t,n)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n==`function`)try{n(null)}catch(n){Q(e,t,n)}else n.current=null}function $c(e){var t=e.type,n=e.memoizedProps,r=e.stateNode;try{a:switch(t){case`button`:case`input`:case`select`:case`textarea`:n.autoFocus&&r.focus();break a;case`img`:n.src?r.src=n.src:n.srcSet&&(r.srcset=n.srcSet)}}catch(t){Q(e,e.return,t)}}function el(e,t,n){try{var r=e.stateNode;Fd(r,e.type,n,t),r[mt]=t}catch(t){Q(e,e.return,t)}}function tl(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Zd(e.type)||e.tag===4}function nl(e){a:for(;;){for(;e.sibling===null;){if(e.return===null||tl(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&Zd(e.type)||e.flags&2||e.child===null||e.tag===4)continue a;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function rl(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=sn));else if(r!==4&&(r===27&&Zd(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(rl(e,t,n),e=e.sibling;e!==null;)rl(e,t,n),e=e.sibling}function il(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(r===27&&Zd(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(il(e,t,n),e=e.sibling;e!==null;)il(e,t,n),e=e.sibling}function al(e){var t=e.stateNode,n=e.memoizedProps;try{for(var r=e.type,i=t.attributes;i.length;)t.removeAttributeNode(i[0]);Pd(t,r,n),t[pt]=e,t[mt]=n}catch(t){Q(e,e.return,t)}}var ol=!1,sl=!1,cl=!1,ll=typeof WeakSet==`function`?WeakSet:Set,z=null;function ul(e,t){if(e=e.containerInfo,Rd=sp,e=Pr(e),Fr(e)){if(`selectionStart`in e)var n={start:e.selectionStart,end:e.selectionEnd};else a:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var i=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break a}var s=0,c=-1,l=-1,u=0,d=0,f=e,p=null;b:for(;;){for(var m;f!==n||i!==0&&f.nodeType!==3||(c=s+i),f!==o||r!==0&&f.nodeType!==3||(l=s+r),f.nodeType===3&&(s+=f.nodeValue.length),(m=f.firstChild)!==null;)p=f,f=m;for(;;){if(f===e)break b;if(p===n&&++u===i&&(c=s),p===o&&++d===r&&(l=s),(m=f.nextSibling)!==null)break;f=p,p=f.parentNode}f=m}n=c===-1||l===-1?null:{start:c,end:l}}else n=null}n||={start:0,end:0}}else n=null;for(zd={focusedElem:e,selectionRange:n},sp=!1,z=t;z!==null;)if(t=z,e=t.child,t.subtreeFlags&1028&&e!==null)e.return=t,z=e;else for(;z!==null;){switch(t=z,o=t.alternate,e=t.flags,t.tag){case 0:if(e&4&&(e=t.updateQueue,e=e===null?null:e.events,e!==null))for(n=0;n title`))),Pd(o,r,n),o[pt]=e,Et(o),r=o;break a;case`link`:var s=Vf(`link`,`href`,i).get(r+(n.href||``));if(s){for(var c=0;cg&&(o=g,g=h,h=o);var _=Mr(s,h),v=Mr(s,g);if(_&&v&&(p.rangeCount!==1||p.anchorNode!==_.node||p.anchorOffset!==_.offset||p.focusNode!==v.node||p.focusOffset!==v.offset)){var y=d.createRange();y.setStart(_.node,_.offset),p.removeAllRanges(),h>g?(p.addRange(y),p.extend(v.node,v.offset)):(y.setEnd(v.node,v.offset),p.addRange(y))}}}}for(d=[],p=s;p=p.parentNode;)p.nodeType===1&&d.push({element:p,left:p.scrollLeft,top:p.scrollTop});for(typeof s.focus==`function`&&s.focus(),s=0;sn?32:n,D.T=null,n=fu,fu=null;var o=cu,s=uu;if(su=0,lu=cu=null,uu=0,B&6)throw Error(a(331));var c=B;if(B|=4,Bl(o.current),Ml(o,o.current,s,n),B=c,rd(0,!1),j&&typeof j.onPostCommitFiberRoot==`function`)try{j.onPostCommitFiberRoot(He,o)}catch{}return!0}finally{O.p=i,D.T=r,Bu(e,t)}}function Uu(e,t,n){t=Ti(n,t),t=rc(e.stateNode,t,2),e=Ja(e,t,2),e!==null&&(rt(e,2),nd(e))}function Q(e,t,n){if(e.tag===3)Uu(e,e,n);else for(;t!==null;){if(t.tag===3){Uu(t,e,n);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError==`function`||typeof r.componentDidCatch==`function`&&(ou===null||!ou.has(r))){e=Ti(n,e),n=ic(2),r=Ja(t,n,2),r!==null&&(ac(n,r,t,e),rt(r,2),nd(r));break}}t=t.return}}function Wu(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new Wl;var i=new Set;r.set(t,i)}else i=r.get(t),i===void 0&&(i=new Set,r.set(t,i));i.has(n)||(q=!0,i.add(n),e=Gu.bind(null,e,t,n),t.then(e,e))}function Gu(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,V===e&&(U&n)===n&&(ql===4||ql===3&&(U&62914560)===U&&300>Ne()-nu?!(B&2)&&J(e,0):Xl|=n,Ql===U&&(Ql=0)),nd(e)}function Ku(e,t){t===0&&(t=tt()),e=ui(e,t),e!==null&&(rt(e,t),nd(e))}function qu(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Ku(e,n)}function Ju(e,t){var n=0;switch(e.tag){case 31:case 13:var r=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(a(314))}r!==null&&r.delete(t),Ku(e,n)}function Yu(e,t){return ke(e,t)}var Xu=null,Zu=null,Qu=!1,$u=!1,ed=!1,td=0;function nd(e){e!==Zu&&e.next===null&&(Zu===null?Xu=Zu=e:Zu=Zu.next=e),$u=!0,Qu||(Qu=!0,ld())}function rd(e,t){if(!ed&&$u){ed=!0;do for(var n=!1,r=Xu;r!==null;){if(!t)if(e!==0){var i=r.pendingLanes;if(i===0)var a=0;else{var o=r.suspendedLanes,s=r.pingedLanes;a=(1<<31-We(42|e)+1)-1,a&=i&~(o&~s),a=a&201326741?a&201326741|1:a?a|2:0}a!==0&&(n=!0,cd(r,a))}else a=U,a=Qe(r,r===V?a:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),!(a&3)||$e(r,a)||(n=!0,cd(r,a));r=r.next}while(n);ed=!1}}function id(){ad()}function ad(){$u=Qu=!1;var e=0;td!==0&&Gd()&&(e=td);for(var t=Ne(),n=null,r=Xu;r!==null;){var i=r.next,a=od(r,t);a===0?(r.next=null,n===null?Xu=i:n.next=i,i===null&&(Zu=n)):(n=r,(e!==0||a&3)&&($u=!0)),r=i}su!==0&&su!==5||rd(e,!1),td!==0&&(td=0)}function od(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,a=e.pendingLanes&-62914561;0s)break;var u=c.transferSize,d=c.initiatorType;u&&Id(d)&&(c=c.responseEnd,o+=u*(c`u`?null:document;function xf(e,t,n){var r=bf;if(r&&typeof t==`string`&&t){var i=Gt(t);i=`link[rel="`+e+`"][href="`+i+`"]`,typeof n==`string`&&(i+=`[crossorigin="`+n+`"]`),hf.has(i)||(hf.add(i),e={rel:e,crossOrigin:n,href:t},r.querySelector(i)===null&&(t=r.createElement(`link`),Pd(t,`link`,e),Et(t),r.head.appendChild(t)))}}function Sf(e){_f.D(e),xf(`dns-prefetch`,e,null)}function Cf(e,t){_f.C(e,t),xf(`preconnect`,e,t)}function wf(e,t,n){_f.L(e,t,n);var r=bf;if(r&&e&&t){var i=`link[rel="preload"][as="`+Gt(t)+`"]`;t===`image`&&n&&n.imageSrcSet?(i+=`[imagesrcset="`+Gt(n.imageSrcSet)+`"]`,typeof n.imageSizes==`string`&&(i+=`[imagesizes="`+Gt(n.imageSizes)+`"]`)):i+=`[href="`+Gt(e)+`"]`;var a=i;switch(t){case`style`:a=Af(e);break;case`script`:a=Pf(e)}mf.has(a)||(e=p({rel:`preload`,href:t===`image`&&n&&n.imageSrcSet?void 0:e,as:t},n),mf.set(a,e),r.querySelector(i)!==null||t===`style`&&r.querySelector(jf(a))||t===`script`&&r.querySelector(Ff(a))||(t=r.createElement(`link`),Pd(t,`link`,e),Et(t),r.head.appendChild(t)))}}function Tf(e,t){_f.m(e,t);var n=bf;if(n&&e){var r=t&&typeof t.as==`string`?t.as:`script`,i=`link[rel="modulepreload"][as="`+Gt(r)+`"][href="`+Gt(e)+`"]`,a=i;switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:a=Pf(e)}if(!mf.has(a)&&(e=p({rel:`modulepreload`,href:e},t),mf.set(a,e),n.querySelector(i)===null)){switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:if(n.querySelector(Ff(a)))return}r=n.createElement(`link`),Pd(r,`link`,e),Et(r),n.head.appendChild(r)}}}function Ef(e,t,n){_f.S(e,t,n);var r=bf;if(r&&e){var i=Tt(r).hoistableStyles,a=Af(e);t||=`default`;var o=i.get(a);if(!o){var s={loading:0,preload:null};if(o=r.querySelector(jf(a)))s.loading=5;else{e=p({rel:`stylesheet`,href:e,"data-precedence":t},n),(n=mf.get(a))&&Rf(e,n);var c=o=r.createElement(`link`);Et(c),Pd(c,`link`,e),c._p=new Promise(function(e,t){c.onload=e,c.onerror=t}),c.addEventListener(`load`,function(){s.loading|=1}),c.addEventListener(`error`,function(){s.loading|=2}),s.loading|=4,Lf(o,t,r)}o={type:`stylesheet`,instance:o,count:1,state:s},i.set(a,o)}}}function Df(e,t){_f.X(e,t);var n=bf;if(n&&e){var r=Tt(n).hoistableScripts,i=Pf(e),a=r.get(i);a||(a=n.querySelector(Ff(i)),a||(e=p({src:e,async:!0},t),(t=mf.get(i))&&zf(e,t),a=n.createElement(`script`),Et(a),Pd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Of(e,t){_f.M(e,t);var n=bf;if(n&&e){var r=Tt(n).hoistableScripts,i=Pf(e),a=r.get(i);a||(a=n.querySelector(Ff(i)),a||(e=p({src:e,async:!0,type:`module`},t),(t=mf.get(i))&&zf(e,t),a=n.createElement(`script`),Et(a),Pd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function kf(e,t,n,r){var i=(i=ge.current)?gf(i):null;if(!i)throw Error(a(446));switch(e){case`meta`:case`title`:return null;case`style`:return typeof n.precedence==`string`&&typeof n.href==`string`?(t=Af(n.href),n=Tt(i).hoistableStyles,r=n.get(t),r||(r={type:`style`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};case`link`:if(n.rel===`stylesheet`&&typeof n.href==`string`&&typeof n.precedence==`string`){e=Af(n.href);var o=Tt(i).hoistableStyles,s=o.get(e);if(s||(i=i.ownerDocument||i,s={type:`stylesheet`,instance:null,count:0,state:{loading:0,preload:null}},o.set(e,s),(o=i.querySelector(jf(e)))&&!o._p&&(s.instance=o,s.state.loading=5),mf.has(e)||(n={rel:`preload`,as:`style`,href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},mf.set(e,n),o||Nf(i,e,n,s.state))),t&&r===null)throw Error(a(528,``));return s}if(t&&r!==null)throw Error(a(529,``));return null;case`script`:return t=n.async,n=n.src,typeof n==`string`&&t&&typeof t!=`function`&&typeof t!=`symbol`?(t=Pf(n),n=Tt(i).hoistableScripts,r=n.get(t),r||(r={type:`script`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};default:throw Error(a(444,e))}}function Af(e){return`href="`+Gt(e)+`"`}function jf(e){return`link[rel="stylesheet"][`+e+`]`}function Mf(e){return p({},e,{"data-precedence":e.precedence,precedence:null})}function Nf(e,t,n,r){e.querySelector(`link[rel="preload"][as="style"][`+t+`]`)?r.loading=1:(t=e.createElement(`link`),r.preload=t,t.addEventListener(`load`,function(){return r.loading|=1}),t.addEventListener(`error`,function(){return r.loading|=2}),Pd(t,`link`,n),Et(t),e.head.appendChild(t))}function Pf(e){return`[src="`+Gt(e)+`"]`}function Ff(e){return`script[async]`+e}function If(e,t,n){if(t.count++,t.instance===null)switch(t.type){case`style`:var r=e.querySelector(`style[data-href~="`+Gt(n.href)+`"]`);if(r)return t.instance=r,Et(r),r;var i=p({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return r=(e.ownerDocument||e).createElement(`style`),Et(r),Pd(r,`style`,i),Lf(r,n.precedence,e),t.instance=r;case`stylesheet`:i=Af(n.href);var o=e.querySelector(jf(i));if(o)return t.state.loading|=4,t.instance=o,Et(o),o;r=Mf(n),(i=mf.get(i))&&Rf(r,i),o=(e.ownerDocument||e).createElement(`link`),Et(o);var s=o;return s._p=new Promise(function(e,t){s.onload=e,s.onerror=t}),Pd(o,`link`,r),t.state.loading|=4,Lf(o,n.precedence,e),t.instance=o;case`script`:return o=Pf(n.src),(i=e.querySelector(Ff(o)))?(t.instance=i,Et(i),i):(r=n,(i=mf.get(o))&&(r=p({},n),zf(r,i)),e=e.ownerDocument||e,i=e.createElement(`script`),Et(i),Pd(i,`link`,r),e.head.appendChild(i),t.instance=i);case`void`:return null;default:throw Error(a(443,t.type))}else t.type===`stylesheet`&&!(t.state.loading&4)&&(r=t.instance,t.state.loading|=4,Lf(r,n.precedence,e));return t.instance}function Lf(e,t,n){for(var r=n.querySelectorAll(`link[rel="stylesheet"][data-precedence],style[data-precedence]`),i=r.length?r[r.length-1]:null,a=i,o=0;o title`):null)}function Uf(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case`meta`:case`title`:return!0;case`style`:if(typeof t.precedence!=`string`||typeof t.href!=`string`||t.href===``)break;return!0;case`link`:if(typeof t.rel!=`string`||typeof t.href!=`string`||t.href===``||t.onLoad||t.onError)break;switch(t.rel){case`stylesheet`:return e=t.disabled,typeof t.precedence==`string`&&e==null;default:return!0}case`script`:if(t.async&&typeof t.async!=`function`&&typeof t.async!=`symbol`&&!t.onLoad&&!t.onError&&t.src&&typeof t.src==`string`)return!0}return!1}function Wf(e){return!(e.type===`stylesheet`&&!(e.state.loading&3))}function Gf(e,t,n,r){if(n.type===`stylesheet`&&(typeof r.media!=`string`||!1!==matchMedia(r.media).matches)&&!(n.state.loading&4)){if(n.instance===null){var i=Af(r.href),a=t.querySelector(jf(i));if(a){t=a._p,typeof t==`object`&&t&&typeof t.then==`function`&&(e.count++,e=Jf.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=a,Et(a);return}a=t.ownerDocument||t,r=Mf(r),(i=mf.get(i))&&Rf(r,i),a=a.createElement(`link`),Et(a);var o=a;o._p=new Promise(function(e,t){o.onload=e,o.onerror=t}),Pd(a,`link`,r),n.instance=a}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&!(n.state.loading&3)&&(e.count++,n=Jf.bind(e),t.addEventListener(`load`,n),t.addEventListener(`error`,n))}}var Kf=0;function qf(e,t){return e.stylesheets&&e.count===0&&Xf(e,e.stylesheets),0Kf?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(i)}}:null}function Jf(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Xf(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Yf=null;function Xf(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Yf=new Map,t.forEach(Zf,e),Yf=null,Jf.call(e))}function Zf(e,t){if(!(t.state.loading&4)){var n=Yf.get(e);if(n)var r=n.get(null);else{n=new Map,Yf.set(e,n);for(var i=e.querySelectorAll(`link[data-precedence],style[data-precedence]`),a=0;a{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=x()})),re=e=>typeof e==`object`&&typeof e.then==`function`,S=[];function ie(e,t,n=(e,t)=>e===t){if(e===t)return!0;if(!e||!t)return!1;let r=e.length;if(t.length!==r)return!1;for(let i=0;i0&&(e.timeout&&clearTimeout(e.timeout),e.timeout=setTimeout(e.remove,r.lifespan)),e.response;if(!n)throw e.promise}let i={keys:t,equal:r.equal,remove:()=>{let e=S.indexOf(i);e!==-1&&S.splice(e,1)},promise:(re(e)?e:e(...t)).then(e=>{i.response=e,r.lifespan&&r.lifespan>0&&(i.timeout=setTimeout(i.remove,r.lifespan))}).catch(e=>i.error=e)};if(S.push(i),!n)throw i.promise}var ae=(e,t,n)=>C(e,t,!1,n),oe=(e,t,n)=>void C(e,t,!0,n),se=e=>{if(e===void 0||e.length===0)S.splice(0,S.length);else{let t=S.find(t=>ie(e,t.keys,t.equal));t&&t.remove()}},w=e(n(),1);typeof window<`u`&&(window.document?.createElement||window.navigator?.product===`ReactNative`)?w.useLayoutEffect:w.useEffect;function T(e,t,n){if(!e)return;if(n(e)===!0)return e;let r=t?e.return:e.child;for(;r;){let e=T(r,t,n);if(e)return e;r=t?null:r.sibling}}function ce(e){try{return Object.defineProperties(e,{_currentRenderer:{get(){return null},set(){}},_currentRenderer2:{get(){return null},set(){}}})}catch{return e}}var E=ce(w.createContext(null)),D=class extends w.Component{render(){return w.createElement(E.Provider,{value:this._reactInternals},this.props.children)}};function O(){let e=w.useContext(E);if(e===null)throw Error(`its-fine: useFiber must be called within a !`);let t=w.useId();return w.useMemo(()=>{for(let n of[e,e?.alternate]){if(!n)continue;let e=T(n,!1,e=>{let n=e.memoizedState;for(;n;){if(n.memoizedState===t)return!0;n=n.next}});if(e)return e}},[e,t])}var le=Symbol.for(`react.context`),ue=e=>typeof e==`object`&&!!e&&`$$typeof`in e&&e.$$typeof===le;function de(){let e=O(),[t]=w.useState(()=>new Map);t.clear();let n=e;for(;n;){let e=n.type;ue(e)&&e!==E&&!t.has(e)&&t.set(e,w.use(ce(e))),n=n.return}return t}function fe(){let e=de();return w.useMemo(()=>Array.from(e.keys()).reduce((t,n)=>r=>w.createElement(t,null,w.createElement(n.Provider,{...r,value:e.get(n)})),e=>w.createElement(D,{...e})),[e])}var pe=e(ee()),k=r();function me(e){let t=e.root;for(;t.getState().previousRoot;)t=t.getState().previousRoot;return t}w.act;var he=e=>e&&e.isOrthographicCamera,ge=e=>e&&e.hasOwnProperty(`current`),_e=e=>e!=null&&(typeof e==`string`||typeof e==`number`||e.isColor),ve=((e,t)=>typeof window<`u`&&((e=window.document)?.createElement||(t=window.navigator)?.product===`ReactNative`))()?w.useLayoutEffect:w.useEffect;function ye(e){let t=w.useRef(e);return ve(()=>void(t.current=e),[e]),t}function be(){let e=O(),t=fe();return w.useMemo(()=>({children:n})=>(0,k.jsx)(T(e,!0,e=>e.type===w.StrictMode)?w.StrictMode:w.Fragment,{children:(0,k.jsx)(t,{children:n})}),[e,t])}function xe({set:e}){return ve(()=>(e(new Promise(()=>null)),()=>e(!1)),[e]),null}var Se=(e=>(e=class extends w.Component{constructor(...e){super(...e),this.state={error:!1}}componentDidCatch(e){this.props.set(e)}render(){return this.state.error?null:this.props.children}},e.getDerivedStateFromError=()=>({error:!0}),e))();function Ce(e){let t=typeof window<`u`?window.devicePixelRatio??2:1;return Array.isArray(e)?Math.min(Math.max(e[0],t),e[1]):e}function we(e){return e.__r3f?.root.getState()}var A={obj:e=>e===Object(e)&&!A.arr(e)&&typeof e!=`function`,fun:e=>typeof e==`function`,str:e=>typeof e==`string`,num:e=>typeof e==`number`,boo:e=>typeof e==`boolean`,und:e=>e===void 0,nul:e=>e===null,arr:e=>Array.isArray(e),equ(e,t,{arrays:n=`shallow`,objects:r=`reference`,strict:i=!0}={}){if(typeof e!=typeof t||!!e!=!!t)return!1;if(A.str(e)||A.num(e)||A.boo(e))return e===t;let a=A.obj(e);if(a&&r===`reference`)return e===t;let o=A.arr(e);if(o&&n===`reference`)return e===t;if((o||a)&&e===t)return!0;let s;for(s in e)if(!(s in t))return!1;if(a&&n===`shallow`&&r===`shallow`){for(s in i?t:e)if(!A.equ(e[s],t[s],{strict:i,objects:`reference`}))return!1}else for(s in i?t:e)if(e[s]!==t[s])return!1;if(A.und(s)){if(o&&e.length===0&&t.length===0||a&&Object.keys(e).length===0&&Object.keys(t).length===0)return!0;if(e!==t)return!1}return!0}};function Te(e){let t={nodes:{},materials:{},meshes:{}};return e&&e.traverse(e=>{e.name&&(t.nodes[e.name]=e),e.material&&!t.materials[e.material.name]&&(t.materials[e.material.name]=e.material),e.isMesh&&!t.meshes[e.name]&&(t.meshes[e.name]=e)}),t}function Ee(e){e.type!==`Scene`&&(e.dispose==null||e.dispose());for(let t in e){let n=e[t];n?.type!==`Scene`&&(n==null||n.dispose==null||n.dispose())}}var De=[`children`,`key`,`ref`];function Oe(e){let t={};for(let n in e)De.includes(n)||(t[n]=e[n]);return t}function ke(e,t,n,r){let i=e,a=i?.__r3f;return a||(a={root:t,type:n,parent:null,children:[],props:Oe(r),object:i,eventCount:0,handlers:{},isHidden:!1},i&&(i.__r3f=a)),a}function Ae(e,t){if(!t.includes(`-`)||t in e)return{root:e,key:t,target:e[t]};let n=e,r=t.split(`-`);for(let i of r){if(typeof n!=`object`||!n){if(n!==void 0){let e=r.slice(r.indexOf(i)).join(`-`);return{root:n,key:e,target:void 0}}return{root:e,key:t,target:void 0}}t=i,e=n,n=n[t]}return{root:e,key:t,target:n}}var je=/-\d+$/;function Me(e,t){if(A.str(t.props.attach)){if(je.test(t.props.attach)){let n=t.props.attach.replace(je,``),{root:r,key:i}=Ae(e.object,n);Array.isArray(r[i])||(r[i]=[])}let{root:n,key:r}=Ae(e.object,t.props.attach);t.previousAttach=n[r],n[r]=t.object}else A.fun(t.props.attach)&&(t.previousAttach=t.props.attach(e.object,t.object))}function Ne(e,t){if(A.str(t.props.attach)){let{root:n,key:r}=Ae(e.object,t.props.attach),i=t.previousAttach;i===void 0?delete n[r]:n[r]=i}else t.previousAttach==null||t.previousAttach(e.object,t.object);delete t.previousAttach}var Pe=[...De,`args`,`dispose`,`attach`,`object`,`onUpdate`,`dispose`],Fe=new Map;function Ie(e){let t=Fe.get(e.constructor);try{t||(t=new e.constructor,Fe.set(e.constructor,t))}catch{}return t}function Le(e,t){let n={};for(let r in t)if(!Pe.includes(r)&&!A.equ(t[r],e.props[r])){n[r]=t[r];for(let e in t)e.startsWith(`${r}-`)&&(n[e]=t[e])}for(let r in e.props){if(Pe.includes(r)||t.hasOwnProperty(r))continue;let{root:i,key:a}=Ae(e.object,r);if(i.constructor&&i.constructor.length===0){let e=Ie(i);A.und(e)||(n[a]=e[a])}else n[a]=0}return n}var Re=[`map`,`emissiveMap`,`sheenColorMap`,`specularColorMap`,`envMap`],ze=/^on(Pointer|Click|DoubleClick|ContextMenu|Wheel)/;function Be(e,t){var n;let r=e.__r3f,i=r&&me(r).getState(),o=r?.eventCount;for(let n in t){let o=t[n];if(Pe.includes(n))continue;if(r&&ze.test(n)){typeof o==`function`?r.handlers[n]=o:delete r.handlers[n],r.eventCount=Object.keys(r.handlers).length;continue}if(o===void 0)continue;let{root:l,key:d,target:f}=Ae(e,n);if(f===void 0&&(typeof l!=`object`||!l))throw Error(`R3F: Cannot set "${n}". Ensure it is an object before setting "${d}".`);if(f instanceof c&&o instanceof c)f.mask=o.mask;else if(f instanceof u&&_e(o))f.set(o);else if(typeof f==`object`&&f&&typeof f.set==`function`&&typeof f.copy==`function`&&o!=null&&o.constructor&&f.constructor===o.constructor)f.copy(o);else if(typeof f==`object`&&f&&typeof f.set==`function`&&Array.isArray(o))typeof f.fromArray==`function`?f.fromArray(o):f.set(...o);else if(typeof f==`object`&&f&&typeof f.set==`function`&&typeof o==`number`)typeof f.setScalar==`function`?f.setScalar(o):f.set(o);else{var s;l[d]=o,i&&!i.linear&&Re.includes(d)&&(s=l[d])!=null&&s.isTexture&&l[d].format===1023&&l[d].type===1009&&(l[d].colorSpace=a)}}if(r!=null&&r.parent&&i!=null&&i.internal&&(n=r.object)!=null&&n.isObject3D&&o!==r.eventCount){let e=r.object,t=i.internal.interaction.indexOf(e);t>-1&&i.internal.interaction.splice(t,1),r.eventCount&&e.raycast!==null&&i.internal.interaction.push(e)}return r&&r.props.attach===void 0&&(r.object.isBufferGeometry?r.props.attach=`geometry`:r.object.isMaterial&&(r.props.attach=`material`)),r&&Ve(r),e}function Ve(e){var t;if(!e.parent)return;e.props.onUpdate==null||e.props.onUpdate(e.object);let n=(t=e.root)==null||t.getState==null?void 0:t.getState();n&&n.internal.frames===0&&n.invalidate()}function He(e,t){e.manual||(he(e)?(e.left=t.width/-2,e.right=t.width/2,e.top=t.height/2,e.bottom=t.height/-2):e.aspect=t.width/t.height,e.updateProjectionMatrix())}var j=e=>e?.isObject3D;function Ue(e){return(e.eventObject||e.object).uuid+`/`+e.index+e.instanceId}function We(e,t,n,r){let i=n.get(t);i&&(n.delete(t),n.size===0&&(e.delete(r),i.target.releasePointerCapture(r)))}function Ge(e,t){let{internal:n}=e.getState();n.interaction=n.interaction.filter(e=>e!==t),n.initialHits=n.initialHits.filter(e=>e!==t),n.hovered.forEach((e,r)=>{(e.eventObject===t||e.object===t)&&n.hovered.delete(r)}),n.capturedMap.forEach((e,r)=>{We(n.capturedMap,t,e,r)})}function Ke(e){function t(t){let{internal:n}=e.getState(),r=t.offsetX-n.initialClick[0],i=t.offsetY-n.initialClick[1];return Math.round(Math.sqrt(r*r+i*i))}function n(e){return e.filter(e=>[`Move`,`Over`,`Enter`,`Out`,`Leave`].some(t=>e.__r3f?.handlers[`onPointer`+t]))}function r(t,n){let r=e.getState(),i=new Set,a=[],o=n?n(r.internal.interaction):r.internal.interaction;for(let e=0;e{let n=we(e.object),r=we(t.object);return!n||!r?e.distance-t.distance:r.events.priority-n.events.priority||e.distance-t.distance}).filter(e=>{let t=Ue(e);return i.has(t)?!1:(i.add(t),!0)});r.events.filter&&(c=r.events.filter(c,r));for(let e of c){let t=e.object;for(;t;){var l;(l=t.__r3f)!=null&&l.eventCount&&a.push({...e,eventObject:t}),t=t.parent}}if(`pointerId`in t&&r.internal.capturedMap.has(t.pointerId))for(let e of r.internal.capturedMap.get(t.pointerId).values())i.has(Ue(e.intersection))||a.push(e.intersection);return a}function i(e,t,n,r){if(e.length){let i={stopped:!1};for(let o of e){let c=we(o.object);if(c||o.object.traverseAncestors(e=>{let t=we(e);if(t)return c=t,!1}),c){let{raycaster:l,pointer:u,camera:d,internal:f}=c,p=new s(u.x,u.y,0).unproject(d),m=e=>f.capturedMap.get(e)?.has(o.eventObject)??!1,h=e=>{let n={intersection:o,target:t.target};f.capturedMap.has(e)?f.capturedMap.get(e).set(o.eventObject,n):f.capturedMap.set(e,new Map([[o.eventObject,n]])),t.target.setPointerCapture(e)},g=e=>{let t=f.capturedMap.get(e);t&&We(f.capturedMap,o.eventObject,t,e)},_={};for(let e in t){let n=t[e];typeof n!=`function`&&(_[e]=n)}let v={...o,..._,pointer:u,intersections:e,stopped:i.stopped,delta:n,unprojectedPoint:p,ray:l.ray,camera:d,stopPropagation(){let n=`pointerId`in t&&f.capturedMap.get(t.pointerId);(!n||n.has(o.eventObject))&&(v.stopped=i.stopped=!0,f.hovered.size&&Array.from(f.hovered.values()).find(e=>e.eventObject===o.eventObject)&&a([...e.slice(0,e.indexOf(o)),o]))},target:{hasPointerCapture:m,setPointerCapture:h,releasePointerCapture:g},currentTarget:{hasPointerCapture:m,setPointerCapture:h,releasePointerCapture:g},nativeEvent:t};if(r(v),i.stopped===!0)break}}}return e}function a(t){let{internal:n}=e.getState();for(let e of n.hovered.values())if(!t.length||!t.find(t=>t.object===e.object&&t.index===e.index&&t.instanceId===e.instanceId)){let r=e.eventObject.__r3f;if(n.hovered.delete(Ue(e)),r!=null&&r.eventCount){let n=r.handlers,i={...e,intersections:t};n.onPointerOut==null||n.onPointerOut(i),n.onPointerLeave==null||n.onPointerLeave(i)}}}function o(e,t){for(let n=0;na([]);case`onLostPointerCapture`:return t=>{let{internal:n}=e.getState();`pointerId`in t&&n.capturedMap.has(t.pointerId)&&requestAnimationFrame(()=>{n.capturedMap.has(t.pointerId)&&(n.capturedMap.delete(t.pointerId),a([]))})}}return function(c){let{onPointerMissed:l,internal:u}=e.getState();u.lastEvent.current=c;let d=s===`onPointerMove`,f=s===`onClick`||s===`onContextMenu`||s===`onDoubleClick`,p=r(c,d?n:void 0),m=f?t(c):0;s===`onPointerDown`&&(u.initialClick=[c.offsetX,c.offsetY],u.initialHits=p.map(e=>e.eventObject)),f&&!p.length&&m<=2&&(o(c,u.interaction),l&&l(c)),d&&a(p);function h(e){let t=e.eventObject,n=t.__r3f;if(!(n!=null&&n.eventCount))return;let r=n.handlers;if(d){if(r.onPointerOver||r.onPointerEnter||r.onPointerOut||r.onPointerLeave){let t=Ue(e),n=u.hovered.get(t);n?n.stopped&&e.stopPropagation():(u.hovered.set(t,e),r.onPointerOver==null||r.onPointerOver(e),r.onPointerEnter==null||r.onPointerEnter(e))}r.onPointerMove==null||r.onPointerMove(e)}else{let n=r[s];n?(!f||u.initialHits.includes(t))&&(o(c,u.interaction.filter(e=>!u.initialHits.includes(e))),n(e)):f&&u.initialHits.includes(t)&&o(c,u.interaction.filter(e=>!u.initialHits.includes(e)))}}i(p,c,m,h)}}return{handlePointer:c}}var qe=e=>!!(e!=null&&e.render),Je=w.createContext(null),Ye=(e,t)=>{let n=v((n,r)=>{let a=new s,o=new s,c=new s;function l(e=r().camera,t=o,n=r().size){let{width:i,height:s,top:l,left:u}=n,d=i/s;t.isVector3?c.copy(t):c.set(...t);let f=e.getWorldPosition(a).distanceTo(c);if(he(e))return{width:i/e.zoom,height:s/e.zoom,top:l,left:u,factor:1,distance:f,aspect:d};{let t=e.fov*Math.PI/180,n=2*Math.tan(t/2)*f,r=i/s*n;return{width:r,height:n,top:l,left:u,factor:i/r,distance:f,aspect:d}}}let u,d=e=>n(t=>({performance:{...t.performance,current:e}})),f=new i;return{set:n,get:r,gl:null,camera:null,raycaster:null,events:{priority:1,enabled:!0,connected:!1},scene:null,xr:null,invalidate:(t=1)=>e(r(),t),advance:(e,n)=>t(e,n,r()),legacy:!1,linear:!1,flat:!1,controls:null,clock:new _,pointer:f,mouse:f,frameloop:`always`,onPointerMissed:void 0,performance:{current:1,min:.5,max:1,debounce:200,regress:()=>{let e=r();u&&clearTimeout(u),e.performance.current!==e.performance.min&&d(e.performance.min),u=setTimeout(()=>d(r().performance.max),e.performance.debounce)}},size:{width:0,height:0,top:0,left:0},viewport:{initialDpr:0,dpr:0,width:0,height:0,top:0,left:0,aspect:0,distance:0,factor:0,getCurrentViewport:l},setEvents:e=>n(t=>({...t,events:{...t.events,...e}})),setSize:(e,t,i=0,a=0)=>{let s=r().camera,c={width:e,height:t,top:i,left:a};n(e=>({size:c,viewport:{...e.viewport,...l(s,o,c)}}))},setDpr:e=>n(t=>{let n=Ce(e);return{viewport:{...t.viewport,dpr:n,initialDpr:t.viewport.initialDpr||n}}}),setFrameloop:(e=`always`)=>{let t=r().clock;t.stop(),t.elapsedTime=0,e!==`never`&&(t.start(),t.elapsedTime=0),n(()=>({frameloop:e}))},previousRoot:void 0,internal:{interaction:[],hovered:new Map,subscribers:[],initialClick:[0,0],initialHits:[],capturedMap:new Map,lastEvent:w.createRef(),active:!1,frames:0,priority:0,subscribe:(e,t,n)=>{let i=r().internal;return i.priority+=t>0?1:0,i.subscribers.push({ref:e,priority:t,store:n}),i.subscribers=i.subscribers.sort((e,t)=>e.priority-t.priority),()=>{let n=r().internal;n!=null&&n.subscribers&&(n.priority-=t>0?1:0,n.subscribers=n.subscribers.filter(t=>t.ref!==e))}}}}}),r=n.getState(),a=r.size,o=r.viewport.dpr,c=r.camera;return n.subscribe(()=>{let{camera:e,size:t,viewport:r,gl:i,set:s}=n.getState();if(t.width!==a.width||t.height!==a.height||r.dpr!==o){a=t,o=r.dpr,He(e,t),r.dpr>0&&i.setPixelRatio(r.dpr);let n=typeof HTMLCanvasElement<`u`&&i.domElement instanceof HTMLCanvasElement;i.setSize(t.width,t.height,n)}e!==c&&(c=e,s(t=>({viewport:{...t.viewport,...t.viewport.getCurrentViewport(e)}})))}),n.subscribe(t=>e(t)),n};function Xe(){let e=w.useContext(Je);if(!e)throw Error(`R3F: Hooks can only be used within the Canvas component!`);return e}function Ze(e=e=>e,t){return Xe()(e,t)}function Qe(e,t=0){let n=Xe(),r=n.getState().internal.subscribe,i=ye(e);return ve(()=>r(i,t,n),[t,r,n]),null}var $e=new WeakMap,et=e=>typeof e==`function`&&e?.prototype?.constructor===e;function tt(e,t){return function(n,...r){let i;return et(n)?(i=$e.get(n),i||(i=new n,$e.set(n,i))):i=n,e&&e(i),Promise.all(r.map(e=>new Promise((n,r)=>i.load(e,e=>{j(e?.scene)&&Object.assign(e,Te(e.scene)),n(e)},t,t=>r(Error(`Could not load ${e}: ${t?.message}`))))))}}function nt(e,t,n,r){let i=Array.isArray(t)?t:[t],a=ae(tt(n,r),[e,...i],{equal:A.equ});return Array.isArray(t)?a:a[0]}nt.preload=function(e,t,n){let r=Array.isArray(t)?t:[t];return oe(tt(n),[e,...r])},nt.clear=function(e,t){return se([e,...Array.isArray(t)?t:[t]])};var rt=1,it=8,at=32,ot=2,st={name:`@react-three/fiber`,version:`9.5.0`,description:`A React renderer for Threejs`,keywords:[`react`,`renderer`,`fiber`,`three`,`threejs`],author:`Paul Henschel (https://github.com/drcmda)`,license:`MIT`,maintainers:[`Josh Ellis (https://github.com/joshuaellis)`,`Cody Bennett (https://github.com/codyjasonbennett)`,`Kris Baumgarter (https://github.com/krispya)`],bugs:{url:`https://github.com/pmndrs/react-three-fiber/issues`},homepage:`https://github.com/pmndrs/react-three-fiber#readme`,repository:{type:`git`,url:`git+https://github.com/pmndrs/react-three-fiber.git`},collective:{type:`opencollective`,url:`https://opencollective.com/react-three-fiber`},main:`dist/react-three-fiber.cjs.js`,module:`dist/react-three-fiber.esm.js`,types:`dist/react-three-fiber.cjs.d.ts`,"react-native":`native/dist/react-three-fiber-native.cjs.js`,sideEffects:!1,preconstruct:{entrypoints:[`index.tsx`,`native.tsx`]},scripts:{prebuild:`cp ../../readme.md readme.md`},devDependencies:{"@types/react-reconciler":`^0.32.3`,"react-reconciler":`^0.33.0`},dependencies:{"@babel/runtime":`^7.17.8`,"@types/webxr":`*`,"base64-js":`^1.5.1`,buffer:`^6.0.3`,"its-fine":`^2.0.0`,"react-use-measure":`^2.1.7`,scheduler:`^0.27.0`,"suspend-react":`^0.1.3`,"use-sync-external-store":`^1.4.0`,zustand:`^5.0.3`},peerDependencies:{expo:`>=43.0`,"expo-asset":`>=8.4`,"expo-file-system":`>=11.0`,"expo-gl":`>=11.0`,react:`>=19 <19.3`,"react-dom":`>=19 <19.3`,"react-native":`>=0.78`,three:`>=0.156`},peerDependenciesMeta:{"react-dom":{optional:!0},"react-native":{optional:!0},expo:{optional:!0},"expo-asset":{optional:!0},"expo-file-system":{optional:!0},"expo-gl":{optional:!0}}};function ct(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,`default`)?e.default:e}var lt={exports:{}},ut={exports:{}};ut.exports;var dt;function ft(){return dt||(dt=1,function(e){e.exports=function(e){function t(e,t,n,r){return new xa(e,t,n,r)}function n(){}function r(e){var t=`https://react.dev/errors/`+e;if(1xc||(e.current=bc[xc],bc[xc]=null,xc--)}function p(e,t){xc++,bc[xc]=e.current,e.current=t}function m(e){return e>>>=0,e===0?32:31-(wc(e)/Tc|0)|0}function h(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function g(e,t,n){var r=e.pendingLanes;if(r===0)return 0;var i=0,a=e.suspendedLanes,o=e.pingedLanes;e=e.warmLanes;var s=r&134217727;return s===0?(s=r&~a,s===0?o===0?n||(n=r&~e,n!==0&&(i=h(n))):i=h(o):i=h(s)):(r=s&~a,r===0?(o&=s,o===0?n||(n=s&~e,n!==0&&(i=h(n))):i=h(o)):i=h(r)),i===0?0:t!==0&&t!==i&&(t&a)===0&&(a=i&-i,n=t&-t,a>=n||a===32&&n&4194048)?t:i}function _(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function v(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function y(){var e=Oc;return Oc<<=1,!(Oc&62914560)&&(Oc=4194304),e}function ee(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function b(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function te(e,t,n,r,i,a){var o=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var s=e.entanglements,c=e.expirationTimes,l=e.hiddenUpdates;for(n=o&~n;0)`:-1i||c[r]!==l[i]){var u=` -`+c[r].replace(` at new `,` at `);return e.displayName&&u.includes(``)&&(u=u.replace(``,e.displayName)),u}while(1<=r&&0<=i);break}}}finally{qc=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:``)?oe(n):``}function T(e,t){switch(e.tag){case 26:case 27:case 5:return oe(e.type);case 16:return oe(`Lazy`);case 13:return e.child!==t&&t!==null?oe(`Suspense Fallback`):oe(`Suspense`);case 19:return oe(`SuspenseList`);case 0:case 15:return se(e.type,!1);case 11:return se(e.type.render,!1);case 1:return se(e.type,!0);case 31:return oe(`Activity`);default:return``}}function ce(e){try{var t=``,n=null;do t+=T(e,n),n=e,e=e.return;while(e);return t}catch(e){return` -Error generating stack: `+e.message+` -`+e.stack}}function E(e,t){if(typeof e==`object`&&e){var n=Jc.get(e);return n===void 0?(t={value:e,source:t,stack:ce(t)},Jc.set(e,t),t):n}return{value:e,source:t,stack:ce(t)}}function D(e,t){Yc[Xc++]=Qc,Yc[Xc++]=Zc,Zc=e,Qc=t}function O(e,t,n){$c[el++]=nl,$c[el++]=rl,$c[el++]=tl,tl=e;var r=nl;e=rl;var i=32-Cc(r)-1;r&=~(1<>=o,i-=o,nl=1<<32-Cc(t)+i|n<f?(p=d,d=null):p=d.sibling;var _=h(t,d,o[f],c);if(_===null){d===null&&(d=p);break}e&&d&&_.alternate===null&&n(t,d),r=s(_,r,f),u===null?l=_:u.sibling=_,u=_,d=p}if(f===o.length)return i(t,d),z&&D(t,f),l;if(d===null){for(;fp?(_=f,f=null):_=f.sibling;var y=h(t,f,v.value,l);if(y===null){f===null&&(f=_);break}e&&f&&y.alternate===null&&n(t,f),o=s(y,o,p),d===null?u=y:d.sibling=y,d=y,f=_}if(v.done)return i(t,f),z&&D(t,p),u;if(f===null){for(;!v.done;p++,v=c.next())v=m(t,v.value,l),v!==null&&(o=s(v,o,p),d===null?u=v:d.sibling=v,d=v);return z&&D(t,p),u}for(f=a(f);!v.done;p++,v=c.next())v=g(f,t,p,v.value,l),v!==null&&(e&&v.alternate!==null&&f.delete(v.key===null?p:v.key),o=s(v,o,p),d===null?u=v:d.sibling=v,d=v);return e&&f.forEach(function(e){return n(t,e)}),z&&D(t,p),u}function y(e,t,a,s){if(typeof a==`object`&&a&&a.type===Ua&&a.key===null&&(a=a.props.children),typeof a==`object`&&a){switch(a.$$typeof){case Va:e:{for(var u=a.key;t!==null;){if(t.key===u){if(u=a.type,u===Ua){if(t.tag===7){i(e,t.sibling),s=o(t,a.props.children),s.return=e,e=s;break e}}else if(t.elementType===u||typeof u==`object`&&u&&u.$$typeof===Qa&&Qe(u)===t.type){i(e,t.sibling),s=o(t,a.props),nt(s,a),s.return=e,e=s;break e}i(e,t);break}else n(e,t);t=t.sibling}a.type===Ua?(s=Ea(a.props.children,e.mode,s,a.key),s.return=e,e=s):(s=Ta(a.type,a.key,a.props,null,e.mode,s),nt(s,a),s.return=e,e=s)}return c(e);case Ha:e:{for(u=a.key;t!==null;){if(t.key===u)if(t.tag===4&&t.stateNode.containerInfo===a.containerInfo&&t.stateNode.implementation===a.implementation){i(e,t.sibling),s=o(t,a.children||[]),s.return=e,e=s;break e}else{i(e,t);break}else n(e,t);t=t.sibling}s=ka(a,e.mode,s),s.return=e,e=s}return c(e);case Qa:return a=Qe(a),y(e,t,a,s)}if(ro(a))return _(e,t,a,s);if(l(a)){if(u=l(a),typeof u!=`function`)throw Error(r(150));return a=u.call(a),v(e,t,a,s)}if(typeof a.then==`function`)return y(e,t,tt(a),s);if(a.$$typeof===qa)return y(e,t,Ae(e,a),s);rt(e,a)}return typeof a==`string`&&a!==``||typeof a==`number`||typeof a==`bigint`?(a=``+a,t!==null&&t.tag===6?(i(e,t.sibling),s=o(t,a),s.return=e,e=s):(i(e,t),s=Da(a,e.mode,s),s.return=e,e=s),c(e)):i(e,t)}return function(e,n,r,i){try{Rl=0;var a=y(e,n,r,i);return Ll=null,a}catch(n){if(n===Ml||n===Pl)throw n;var o=t(29,n,null,e.mode);return o.lanes=i,o.return=e,o}}}function at(){for(var e=Hl,t=Ul=Hl=0;ta?a:8);var o=I.T,s={};I.T=s,Hn(e,!1,t,n);try{var c=i(),l=I.S;l!==null&&l(s,c),typeof c==`object`&&c&&typeof c.then==`function`?Vn(e,t,Ge(c,r),zi(e)):Vn(e,t,r,zi(e))}catch(n){Vn(e,t,{then:function(){},status:`rejected`,reason:n},zi())}finally{R(a),o!==null&&s.types!==null&&(o.types=s.types),I.T=o}}function Pn(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:Lo,baseState:Lo,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Gt,lastRenderedState:Lo},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Gt,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function Fn(){return ke(Ro)}function In(){return Bt().memoizedState}function Ln(){return Bt().memoizedState}function Rn(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=zi();e=pt(n);var r=mt(t,e,n);r!==null&&(M(r,t,n),ht(r,t,n)),t={cache:Me()},e.payload=t;return}t=t.return}}function zn(e,t,n){var r=zi();n={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},Un(e)?Wn(t,n):(n=st(e,t,n,r),n!==null&&(M(n,e,r),Gn(n,t,r)))}function Bn(e,t,n){Vn(e,t,n,zi())}function Vn(e,t,n,r){var i={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(Un(e))Wn(t,i);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var o=t.lastRenderedState,s=a(o,n);if(i.hasEagerState=!0,i.eagerState=s,Hc(s,o))return ot(e,t,i,0),Tu===null&&at(),!1}catch{}if(n=st(e,t,i,r),n!==null)return M(n,e,r),Gn(n,t,r),!0}return!1}function Hn(e,t,n,i){if(i={lane:2,revertLane:j(),gesture:null,action:i,hasEagerState:!1,eagerState:null,next:null},Un(e)){if(t)throw Error(r(479))}else t=st(e,n,i,2),t!==null&&M(t,e,2)}function Un(e){var t=e.alternate;return e===K||t!==null&&t===K}function Wn(e,t){Jl=ql=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Gn(e,t,n){if(n&4194048){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,ne(e,n)}}function Kn(e,t,n,r){t=e.memoizedState,n=n(r,t),n=n==null?t:za({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}function qn(e,t,n,r,i,a,o){return e=e.stateNode,typeof e.shouldComponentUpdate==`function`?e.shouldComponentUpdate(r,a,o):t.prototype&&t.prototype.isPureReactComponent?!Ye(n,r)||!Ye(i,a):!0}function Jn(e,t,n,r){e=t.state,typeof t.componentWillReceiveProps==`function`&&t.componentWillReceiveProps(n,r),typeof t.UNSAFE_componentWillReceiveProps==`function`&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&iu.enqueueReplaceState(t,t.state,null)}function Yn(e,t){var n=t;if(`ref`in t)for(var r in n={},t)r!==`ref`&&(n[r]=t[r]);if(e=e.defaultProps)for(var i in n===t&&(n=za({},n)),e)n[i]===void 0&&(n[i]=e[i]);return n}function Xn(e,t){try{var n=e.onUncaughtError;n(t.value,{componentStack:t.stack})}catch(e){setTimeout(function(){throw e})}}function Zn(e,t,n){try{var r=e.onCaughtError;r(n.value,{componentStack:n.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(e){setTimeout(function(){throw e})}}function Qn(e,t,n){return n=pt(n),n.tag=3,n.payload={element:null},n.callback=function(){Xn(e,t)},n}function $n(e){return e=pt(e),e.tag=3,e}function er(e,t,n,r){var i=n.type.getDerivedStateFromError;if(typeof i==`function`){var a=r.value;e.payload=function(){return i(a)},e.callback=function(){Zn(t,n,r)}}var o=n.stateNode;o!==null&&typeof o.componentDidCatch==`function`&&(e.callback=function(){Zn(t,n,r),typeof i!=`function`&&(Q===null?Q=new Set([this]):Q.add(this));var e=r.stack;this.componentDidCatch(r.value,{componentStack:e===null?``:e})})}function tr(e,t,n,i,a){if(n.flags|=32768,typeof i==`object`&&i&&typeof i.then==`function`){if(t=n.alternate,t!==null&&Ee(t,n,a,!0),n=U.current,n!==null){switch(n.tag){case 31:case 13:return W===null?Zi():n.alternate===null&&ju===0&&(ju=3),n.flags&=-257,n.flags|=65536,n.lanes=a,i===Fl?n.flags|=16384:(t=n.updateQueue,t===null?n.updateQueue=new Set([i]):t.add(i),ha(e,i,a)),!1;case 22:return n.flags|=65536,i===Fl?n.flags|=16384:(t=n.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([i])},n.updateQueue=t):(n=t.retryQueue,n===null?t.retryQueue=new Set([i]):n.add(i)),ha(e,i,a)),!1}throw Error(r(435,n.tag))}return ha(e,i,a),Zi(),!1}if(z)return t=U.current,t===null?(i!==fl&&(t=Error(r(423),{cause:i}),Se(E(t,n))),e=e.current.alternate,e.flags|=65536,a&=-a,e.lanes|=a,i=E(i,n),a=Qn(e.stateNode,i,a),gt(e,a),ju!==4&&(ju=2)):(!(t.flags&65536)&&(t.flags|=256),t.flags|=65536,t.lanes=a,i!==fl&&(e=Error(r(422),{cause:i}),Se(E(e,n)))),!1;var o=Error(r(520),{cause:i});if(o=E(o,n),Lu===null?Lu=[o]:Lu.push(o),ju!==4&&(ju=2),t===null)return!0;i=E(i,n),n=t;do{switch(n.tag){case 3:return n.flags|=65536,e=a&-a,n.lanes|=e,e=Qn(n.stateNode,i,e),gt(n,e),!1;case 1:if(t=n.type,o=n.stateNode,!(n.flags&128)&&(typeof t.getDerivedStateFromError==`function`||o!==null&&typeof o.componentDidCatch==`function`&&(Q===null||!Q.has(o))))return n.flags|=65536,a&=-a,n.lanes|=a,a=$n(a),er(a,e,n,i),gt(n,a),!1}n=n.return}while(n!==null);return!1}function nr(e,t,n,r){t.child=e===null?Bl(t,null,n,r):zl(t,e.child,n,r)}function rr(e,t,n,r,i){n=n.render;var a=t.ref;if(`ref`in r){var o={};for(var s in r)s!==`ref`&&(o[s]=r[s])}else o=r;return Oe(t),r=Mt(e,t,n,o,a,i),s=It(),e!==null&&!ou?(Lt(e,t,i),Er(e,t,i)):(z&&s&&le(t),t.flags|=1,nr(e,t,r,i),t.child)}function ir(e,t,n,r,i){if(e===null){var a=n.type;return typeof a==`function`&&!Sa(a)&&a.defaultProps===void 0&&n.compare===null?(t.tag=15,t.type=a,ar(e,t,a,r,i)):(e=Ta(n.type,null,r,t,t.mode,i),e.ref=t.ref,e.return=t,t.child=e)}if(a=e.child,!Dr(e,i)){var o=a.memoizedProps;if(n=n.compare,n=n===null?Ye:n,n(o,r)&&e.ref===t.ref)return Er(e,t,i)}return t.flags|=1,e=Ca(a,r),e.ref=t.ref,e.return=t,t.child=e}function ar(e,t,n,r,i){if(e!==null){var a=e.memoizedProps;if(Ye(a,r)&&e.ref===t.ref)if(ou=!1,t.pendingProps=r=a,Dr(e,i))e.flags&131072&&(ou=!0);else return t.lanes=e.lanes,Er(e,t,i)}return pr(e,t,n,r,i)}function or(e,t,n,r){var i=r.children,a=e===null?null:e.memoizedState;if(e===null&&t.stateNode===null&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),r.mode===`hidden`){if(t.flags&128){if(a=a===null?n:a.baseLanes|n,e!==null){for(r=t.child=e.child,i=0;r!==null;)i=i|r.lanes|r.childLanes,r=r.sibling;r=i&~a}else r=0,t.child=null;return cr(e,t,a,n,r)}if(n&536870912)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&qe(t,a===null?null:a.cachePool),a===null?St():xt(t,a),Et(t);else return r=t.lanes=536870912,cr(e,t,a===null?n:a.baseLanes|n,n,r)}else a===null?(e!==null&&qe(t,null),St(),Dt()):(qe(t,a.cachePool),xt(t,a),Dt(),t.memoizedState=null);return nr(e,t,i,n),t.child}function sr(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function cr(e,t,n,r,i){var a=Ke();return a=a===null?null:{parent:bo?yl._currentValue:yl._currentValue2,pool:a},t.memoizedState={baseLanes:n,cachePool:a},e!==null&&qe(t,null),St(),Et(t),e!==null&&Ee(e,t,r,!0),t.childLanes=i,null}function lr(e,t){return t=xr({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function ur(e,t,n){return zl(t,e.child,null,n),e=lr(t,t.pendingProps),e.flags|=2,Ot(t),t.memoizedState=null,e}function dr(e,t,n){var i=t.pendingProps,a=(t.flags&128)!=0;if(t.flags&=-129,e===null){if(z){if(i.mode===`hidden`)return e=lr(t,i),t.lanes=536870912,sr(null,e);if(Tt(t),(e=ll)?(e=Ns(e,dl),e!==null&&(t.memoizedState={dehydrated:e,treeContext:tl===null?null:{id:nl,overflow:rl},retryLane:536870912,hydrationErrors:null},n=Oa(e),n.return=t,t.child=n,cl=t,ll=null)):e=null,e===null)throw ge(t);return t.lanes=536870912,null}return lr(t,i)}var o=e.memoizedState;if(o!==null){var s=o.dehydrated;if(Tt(t),a)if(t.flags&256)t.flags&=-257,t=ur(e,t,n);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(r(558));else if(ou||Ee(e,t,n,!1),a=(n&e.childLanes)!==0,ou||a){if(i=Tu,i!==null&&(s=re(i,n),s!==0&&s!==o.retryLane))throw o.retryLane=s,ct(e,s),M(i,e,s),au;Zi(),t=ur(e,t,n)}else e=o.treeContext,Co&&(ll=Os(s),cl=t,z=!0,ul=null,dl=!1,e!==null&&de(t,e)),t=lr(t,i),t.flags|=4096;return t}return e=Ca(e.child,{mode:i.mode,children:i.children}),e.ref=t.ref,t.child=e,e.return=t,e}function fr(e,t){var n=t.ref;if(n===null)e!==null&&e.ref!==null&&(t.flags|=4194816);else{if(typeof n!=`function`&&typeof n!=`object`)throw Error(r(284));(e===null||e.ref!==n)&&(t.flags|=4194816)}}function pr(e,t,n,r,i){return Oe(t),n=Mt(e,t,n,r,void 0,i),r=It(),e!==null&&!ou?(Lt(e,t,i),Er(e,t,i)):(z&&r&&le(t),t.flags|=1,nr(e,t,n,i),t.child)}function mr(e,t,n,r,i,a){return Oe(t),t.updateQueue=null,n=Pt(t,r,n,i),Nt(e),r=It(),e!==null&&!ou?(Lt(e,t,a),Er(e,t,a)):(z&&r&&le(t),t.flags|=1,nr(e,t,n,a),t.child)}function hr(e,t,n,r,i){if(Oe(t),t.stateNode===null){var a=Sc,o=n.contextType;typeof o==`object`&&o&&(a=ke(o)),a=new n(r,a),t.memoizedState=a.state!==null&&a.state!==void 0?a.state:null,a.updater=iu,t.stateNode=a,a._reactInternals=t,a=t.stateNode,a.props=r,a.state=t.memoizedState,a.refs={},dt(t),o=n.contextType,a.context=typeof o==`object`&&o?ke(o):Sc,a.state=t.memoizedState,o=n.getDerivedStateFromProps,typeof o==`function`&&(Kn(t,n,o,r),a.state=t.memoizedState),typeof n.getDerivedStateFromProps==`function`||typeof a.getSnapshotBeforeUpdate==`function`||typeof a.UNSAFE_componentWillMount!=`function`&&typeof a.componentWillMount!=`function`||(o=a.state,typeof a.componentWillMount==`function`&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount==`function`&&a.UNSAFE_componentWillMount(),o!==a.state&&iu.enqueueReplaceState(a,a.state,null),vt(t,r,a,i),_t(),a.state=t.memoizedState),typeof a.componentDidMount==`function`&&(t.flags|=4194308),r=!0}else if(e===null){a=t.stateNode;var s=t.memoizedProps,c=Yn(n,s);a.props=c;var l=a.context,u=n.contextType;o=Sc,typeof u==`object`&&u&&(o=ke(u));var d=n.getDerivedStateFromProps;u=typeof d==`function`||typeof a.getSnapshotBeforeUpdate==`function`,s=t.pendingProps!==s,u||typeof a.UNSAFE_componentWillReceiveProps!=`function`&&typeof a.componentWillReceiveProps!=`function`||(s||l!==o)&&Jn(t,a,r,o),Wl=!1;var f=t.memoizedState;a.state=f,vt(t,r,a,i),_t(),l=t.memoizedState,s||f!==l||Wl?(typeof d==`function`&&(Kn(t,n,d,r),l=t.memoizedState),(c=Wl||qn(t,n,c,r,f,l,o))?(u||typeof a.UNSAFE_componentWillMount!=`function`&&typeof a.componentWillMount!=`function`||(typeof a.componentWillMount==`function`&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount==`function`&&a.UNSAFE_componentWillMount()),typeof a.componentDidMount==`function`&&(t.flags|=4194308)):(typeof a.componentDidMount==`function`&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=l),a.props=r,a.state=l,a.context=o,r=c):(typeof a.componentDidMount==`function`&&(t.flags|=4194308),r=!1)}else{a=t.stateNode,ft(e,t),o=t.memoizedProps,u=Yn(n,o),a.props=u,d=t.pendingProps,f=a.context,l=n.contextType,c=Sc,typeof l==`object`&&l&&(c=ke(l)),s=n.getDerivedStateFromProps,(l=typeof s==`function`||typeof a.getSnapshotBeforeUpdate==`function`)||typeof a.UNSAFE_componentWillReceiveProps!=`function`&&typeof a.componentWillReceiveProps!=`function`||(o!==d||f!==c)&&Jn(t,a,r,c),Wl=!1,f=t.memoizedState,a.state=f,vt(t,r,a,i),_t();var p=t.memoizedState;o!==d||f!==p||Wl||e!==null&&e.dependencies!==null&&De(e.dependencies)?(typeof s==`function`&&(Kn(t,n,s,r),p=t.memoizedState),(u=Wl||qn(t,n,u,r,f,p,c)||e!==null&&e.dependencies!==null&&De(e.dependencies))?(l||typeof a.UNSAFE_componentWillUpdate!=`function`&&typeof a.componentWillUpdate!=`function`||(typeof a.componentWillUpdate==`function`&&a.componentWillUpdate(r,p,c),typeof a.UNSAFE_componentWillUpdate==`function`&&a.UNSAFE_componentWillUpdate(r,p,c)),typeof a.componentDidUpdate==`function`&&(t.flags|=4),typeof a.getSnapshotBeforeUpdate==`function`&&(t.flags|=1024)):(typeof a.componentDidUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=p),a.props=r,a.state=p,a.context=c,r=u):(typeof a.componentDidUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),r=!1)}return a=r,fr(e,t),r=(t.flags&128)!=0,a||r?(a=t.stateNode,n=r&&typeof n.getDerivedStateFromError!=`function`?null:a.render(),t.flags|=1,e!==null&&r?(t.child=zl(t,e.child,null,i),t.child=zl(t,null,n,i)):nr(e,t,n,i),t.memoizedState=a.state,e=t.child):e=Er(e,t,i),e}function gr(e,t,n,r){return be(),t.flags|=256,nr(e,t,n,r),t.child}function _r(e){return{baseLanes:e,cachePool:Je()}}function vr(e,t,n){return e=e===null?0:e.childLanes&~n,t&&(e|=Fu),e}function yr(e,t,n){var i=t.pendingProps,a=!1,o=(t.flags&128)!=0,s;if((s=o)||(s=e!==null&&e.memoizedState===null?!1:(G.current&2)!=0),s&&(a=!0,t.flags&=-129),s=(t.flags&32)!=0,t.flags&=-33,e===null){if(z){if(a?wt(t):Dt(),(e=ll)?(e=Ps(e,dl),e!==null&&(t.memoizedState={dehydrated:e,treeContext:tl===null?null:{id:nl,overflow:rl},retryLane:536870912,hydrationErrors:null},n=Oa(e),n.return=t,t.child=n,cl=t,ll=null)):e=null,e===null)throw ge(t);return ys(e)?t.lanes=32:t.lanes=536870912,null}var c=i.children;return i=i.fallback,a?(Dt(),a=t.mode,c=xr({mode:`hidden`,children:c},a),i=Ea(i,a,n,null),c.return=t,i.return=t,c.sibling=i,t.child=c,i=t.child,i.memoizedState=_r(n),i.childLanes=vr(e,s,n),t.memoizedState=su,sr(null,i)):(wt(t),br(t,c))}var l=e.memoizedState;if(l!==null&&(c=l.dehydrated,c!==null)){if(o)t.flags&256?(wt(t),t.flags&=-257,t=Sr(e,t,n)):t.memoizedState===null?(Dt(),c=i.fallback,a=t.mode,i=xr({mode:`visible`,children:i.children},a),c=Ea(c,a,n,null),c.flags|=2,i.return=t,c.return=t,i.sibling=c,t.child=i,zl(t,e.child,null,n),i=t.child,i.memoizedState=_r(n),i.childLanes=vr(e,s,n),t.memoizedState=su,t=sr(null,i)):(Dt(),t.child=e.child,t.flags|=128,t=null);else if(wt(t),ys(c))s=bs(c).digest,i=Error(r(419)),i.stack=``,i.digest=s,Se({value:i,source:null,stack:null}),t=Sr(e,t,n);else if(ou||Ee(e,t,n,!1),s=(n&e.childLanes)!==0,ou||s){if(s=Tu,s!==null&&(i=re(s,n),i!==0&&i!==l.retryLane))throw l.retryLane=i,ct(e,i),M(s,e,i),au;vs(c)||Zi(),t=Sr(e,t,n)}else vs(c)?(t.flags|=192,t.child=e.child,t=null):(e=l.treeContext,Co&&(ll=ks(c),cl=t,z=!0,ul=null,dl=!1,e!==null&&de(t,e)),t=br(t,i.children),t.flags|=4096);return t}return a?(Dt(),c=i.fallback,a=t.mode,l=e.child,o=l.sibling,i=Ca(l,{mode:`hidden`,children:i.children}),i.subtreeFlags=l.subtreeFlags&65011712,o===null?(c=Ea(c,a,n,null),c.flags|=2):c=Ca(o,c),c.return=t,i.return=t,i.sibling=c,t.child=i,sr(null,i),i=t.child,c=e.child.memoizedState,c===null?c=_r(n):(a=c.cachePool,a===null?a=Je():(l=bo?yl._currentValue:yl._currentValue2,a=a.parent===l?a:{parent:l,pool:l}),c={baseLanes:c.baseLanes|n,cachePool:a}),i.memoizedState=c,i.childLanes=vr(e,s,n),t.memoizedState=su,sr(e.child,i)):(wt(t),n=e.child,e=n.sibling,n=Ca(n,{mode:`visible`,children:i.children}),n.return=t,n.sibling=null,e!==null&&(s=t.deletions,s===null?(t.deletions=[e],t.flags|=16):s.push(e)),t.child=n,t.memoizedState=null,n)}function br(e,t){return t=xr({mode:`visible`,children:t},e.mode),t.return=e,e.child=t}function xr(e,n){return e=t(22,e,null,n),e.lanes=0,e}function Sr(e,t,n){return zl(t,e.child,null,n),e=br(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Cr(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),A(e.return,t,n)}function wr(e,t,n,r,i,a){var o=e.memoizedState;o===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:i,treeForkCount:a}:(o.isBackwards=t,o.rendering=null,o.renderingStartTime=0,o.last=r,o.tail=n,o.tailMode=i,o.treeForkCount=a)}function Tr(e,t,n){var r=t.pendingProps,i=r.revealOrder,a=r.tail;r=r.children;var o=G.current,s=(o&2)!=0;if(s?(o=o&1|2,t.flags|=128):o&=1,p(G,o),nr(e,t,r,n),r=z?Qc:0,!s&&e!==null&&e.flags&128)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Cr(e,n,t);else if(e.tag===19)Cr(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(i){case`forwards`:for(n=t.child,i=null;n!==null;)e=n.alternate,e!==null&&kt(e)===null&&(i=n),n=n.sibling;n=i,n===null?(i=t.child,t.child=null):(i=n.sibling,n.sibling=null),wr(t,!1,i,n,a,r);break;case`backwards`:case`unstable_legacy-backwards`:for(n=null,i=t.child,t.child=null;i!==null;){if(e=i.alternate,e!==null&&kt(e)===null){t.child=i;break}e=i.sibling,i.sibling=n,n=i,i=e}wr(t,!0,n,null,a,r);break;case`together`:wr(t,!1,null,null,void 0,r);break;default:t.memoizedState=null}return t.child}function Er(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),Mu|=t.lanes,(n&t.childLanes)===0)if(e!==null){if(Ee(e,t,n,!1),(n&t.childLanes)===0)return null}else return null;if(e!==null&&t.child!==e.child)throw Error(r(153));if(t.child!==null){for(e=t.child,n=Ca(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=Ca(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function Dr(e,t){return(e.lanes&t)===0?(e=e.dependencies,!!(e!==null&&De(e))):!0}function Or(e,t,n){switch(t.tag){case 3:fe(t,t.stateNode.containerInfo),Ce(t,yl,e.memoizedState.cache),be();break;case 27:case 5:me(t);break;case 4:fe(t,t.stateNode.containerInfo);break;case 10:Ce(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,Tt(t),null;break;case 13:var r=t.memoizedState;if(r!==null)return r.dehydrated===null?(n&t.child.childLanes)===0?(wt(t),e=Er(e,t,n),e===null?null:e.sibling):yr(e,t,n):(wt(t),t.flags|=128,null);wt(t);break;case 19:var i=(e.flags&128)!=0;if(r=(n&t.childLanes)!==0,r||=(Ee(e,t,n,!1),(n&t.childLanes)!==0),i){if(r)return Tr(e,t,n);t.flags|=128}if(i=t.memoizedState,i!==null&&(i.rendering=null,i.tail=null,i.lastEffect=null),p(G,G.current),r)break;return null;case 22:return t.lanes=0,or(e,t,n,t.pendingProps);case 24:Ce(t,yl,e.memoizedState.cache)}return Er(e,t,n)}function kr(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps)ou=!0;else{if(!Dr(e,n)&&!(t.flags&128))return ou=!1,Or(e,t,n);ou=(e.flags&131072)!=0}else ou=!1,z&&t.flags&1048576&&O(t,Qc,t.index);switch(t.lanes=0,t.tag){case 16:e:{var i=t.pendingProps;if(e=Qe(t.elementType),t.type=e,typeof e==`function`)Sa(e)?(i=Yn(e,i),t.tag=1,t=hr(null,t,e,i,n)):(t.tag=0,t=pr(null,t,e,i,n));else{if(e!=null){var a=e.$$typeof;if(a===Ja){t.tag=11,t=rr(null,t,e,i,n);break e}else if(a===Za){t.tag=14,t=ir(null,t,e,i,n);break e}}throw t=u(e)||e,Error(r(306,t,``))}}return t;case 0:return pr(e,t,t.type,t.pendingProps,n);case 1:return i=t.type,a=Yn(i,t.pendingProps),hr(e,t,i,a,n);case 3:e:{if(fe(t,t.stateNode.containerInfo),e===null)throw Error(r(387));var o=t.pendingProps;a=t.memoizedState,i=a.element,ft(e,t),vt(t,o,null,n);var s=t.memoizedState;if(o=s.cache,Ce(t,yl,o),o!==a.cache&&Te(t,[yl],n,!0),_t(),o=s.element,Co&&a.isDehydrated)if(a={element:o,isDehydrated:!1,cache:s.cache},t.updateQueue.baseState=a,t.memoizedState=a,t.flags&256){t=gr(e,t,o,n);break e}else if(o!==i){i=E(Error(r(424)),t),Se(i),t=gr(e,t,o,n);break e}else for(Co&&(ll=Ds(t.stateNode.containerInfo),cl=t,z=!0,ul=null,dl=!0),n=Bl(t,null,o,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(be(),o===i){t=Er(e,t,n);break e}nr(e,t,o,n)}t=t.child}return t;case 26:if(ec)return fr(e,t),e===null?(n=rc(t.type,null,t.pendingProps,null))?t.memoizedState=n:z||(t.stateNode=lc(t.type,t.pendingProps,ol.current,t)):t.memoizedState=rc(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:if(mc)return me(t),e===null&&mc&&z&&(i=t.stateNode=hc(t.type,t.pendingProps,ol.current,il.current,!1),cl=t,dl=!0,ll=As(t.type,i,ll)),nr(e,t,t.pendingProps.children,n),fr(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&z&&(Qs(t.type,t.pendingProps,il.current),(a=i=ll)&&(i=js(i,t.type,t.pendingProps,dl),i===null?a=!1:(t.stateNode=i,cl=t,ll=Es(i),dl=!1,a=!0)),a||ge(t)),me(t),a=t.type,o=t.pendingProps,s=e===null?null:e.memoizedProps,i=o.children,go(a,o)?i=null:s!==null&&go(a,s)&&(t.flags|=32),t.memoizedState!==null&&(a=Mt(e,t,Ft,null,null,n),bo?Ro._currentValue=a:Ro._currentValue2=a),fr(e,t),nr(e,t,i,n),t.child;case 6:return e===null&&z&&($s(t.pendingProps,il.current),(e=n=ll)&&(n=Ms(n,t.pendingProps,dl),n===null?e=!1:(t.stateNode=n,cl=t,ll=null,e=!0)),e||ge(t)),null;case 13:return yr(e,t,n);case 4:return fe(t,t.stateNode.containerInfo),i=t.pendingProps,e===null?t.child=zl(t,null,i,n):nr(e,t,i,n),t.child;case 11:return rr(e,t,t.type,t.pendingProps,n);case 7:return nr(e,t,t.pendingProps,n),t.child;case 8:return nr(e,t,t.pendingProps.children,n),t.child;case 12:return nr(e,t,t.pendingProps.children,n),t.child;case 10:return i=t.pendingProps,Ce(t,t.type,i.value),nr(e,t,i.children,n),t.child;case 9:return a=t.type._context,i=t.pendingProps.children,Oe(t),a=ke(a),i=i(a),t.flags|=1,nr(e,t,i,n),t.child;case 14:return ir(e,t,t.type,t.pendingProps,n);case 15:return ar(e,t,t.type,t.pendingProps,n);case 19:return Tr(e,t,n);case 31:return dr(e,t,n);case 22:return or(e,t,n,t.pendingProps);case 24:return Oe(t),i=ke(yl),e===null?(a=Ke(),a===null&&(a=Tu,o=Me(),a.pooledCache=o,o.refCount++,o!==null&&(a.pooledCacheLanes|=n),a=o),t.memoizedState={parent:i,cache:a},dt(t),Ce(t,yl,a)):((e.lanes&n)!==0&&(ft(e,t),vt(t,null,null,n),_t()),a=e.memoizedState,o=t.memoizedState,a.parent===i?(i=o.cache,Ce(t,yl,i),i!==a.cache&&Te(t,[yl],n,!0)):(a={parent:i,cache:i},t.memoizedState=a,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=a),Ce(t,yl,i))),nr(e,t,t.pendingProps.children,n),t.child;case 29:throw t.pendingProps}throw Error(r(156,t.tag))}function Ar(e){e.flags|=4}function jr(e){So&&(e.flags|=8)}function Mr(e,t){if(e!==null&&e.child===t.child)return!1;if(t.flags&16)return!0;for(e=t.child;e!==null;){if(e.flags&8218||e.subtreeFlags&8218)return!0;e=e.sibling}return!1}function Nr(e,t,n,r){if(xo)for(n=t.child;n!==null;){if(n.tag===5||n.tag===6)mo(e,n.stateNode);else if(!(n.tag===4||mc&&n.tag===27)&&n.child!==null){n.child.return=n,n=n.child;continue}if(n===t)break;for(;n.sibling===null;){if(n.return===null||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}else if(So)for(var i=t.child;i!==null;){if(i.tag===5){var a=i.stateNode;n&&r&&(a=gs(a,i.type,i.memoizedProps)),mo(e,a)}else if(i.tag===6)a=i.stateNode,n&&r&&(a=_s(a,i.memoizedProps)),mo(e,a);else if(i.tag!==4){if(i.tag===22&&i.memoizedState!==null)a=i.child,a!==null&&(a.return=i),Nr(e,i,!0,!0);else if(i.child!==null){i.child.return=i,i=i.child;continue}}if(i===t)break;for(;i.sibling===null;){if(i.return===null||i.return===t)return;i=i.return}i.sibling.return=i.return,i=i.sibling}}function Pr(e,t,n,r){var i=!1;if(So)for(var a=t.child;a!==null;){if(a.tag===5){var o=a.stateNode;n&&r&&(o=gs(o,a.type,a.memoizedProps)),ps(e,o)}else if(a.tag===6)o=a.stateNode,n&&r&&(o=_s(o,a.memoizedProps)),ps(e,o);else if(a.tag!==4){if(a.tag===22&&a.memoizedState!==null)i=a.child,i!==null&&(i.return=a),Pr(e,a,!0,!0),i=!0;else if(a.child!==null){a.child.return=a,a=a.child;continue}}if(a===t)break;for(;a.sibling===null;){if(a.return===null||a.return===t)return i;a=a.return}a.sibling.return=a.return,a=a.sibling}return i}function Fr(e,t){if(So&&Mr(e,t)){e=t.stateNode;var n=e.containerInfo,r=fs();Pr(r,t,!1,!1),e.pendingChildren=r,Ar(t),ms(n,r)}}function Ir(e,t,n,r){if(xo)e.memoizedProps!==r&&Ar(t);else if(So){var i=e.stateNode,a=e.memoizedProps;if((e=Mr(e,t))||a!==r){var o=il.current;a=ds(i,n,a,r,!e,null),a===i?t.stateNode=i:(jr(t),ho(a,n,r,o)&&Ar(t),t.stateNode=a,e&&Nr(a,t,!1,!1))}else t.stateNode=i}}function Lr(e,t,n,r,i){if(e.mode&32&&(n===null?Ao(t,r):jo(t,n,r))){if(e.flags|=16777216,(i&335544128)===i||Mo(t,r))if(No(e.stateNode,t,r))e.flags|=8192;else if(Ji())e.flags|=8192;else throw Il=Fl,Nl}else e.flags&=-16777217}function Rr(e,t){if(dc(t)){if(e.flags|=16777216,!fc(t))if(Ji())e.flags|=8192;else throw Il=Fl,Nl}else e.flags&=-16777217}function zr(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag===22?536870912:y(),e.lanes|=t,Iu|=t)}function Br(e,t){if(!z)switch(e.tailMode){case`hidden`:t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case`collapsed`:n=e.tail;for(var r=null;n!==null;)n.alternate!==null&&(r=n),n=n.sibling;r===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function Vr(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,r=0;if(t)for(var i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags&65011712,r|=i.flags&65011712,i.return=e,i=i.sibling;else for(i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags,r|=i.flags,i.return=e,i=i.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function Hr(e,t,n){var i=t.pendingProps;switch(ue(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Vr(t),null;case 1:return Vr(t),null;case 3:return n=t.stateNode,i=null,e!==null&&(i=e.memoizedState.cache),t.memoizedState.cache!==i&&(t.flags|=2048),we(yl),k(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),(e===null||e.child===null)&&(ye(t)?Ar(t):e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,xe())),Fr(e,t),Vr(t),null;case 26:if(ec){var a=t.type,o=t.memoizedState;return e===null?(Ar(t),o===null?(Vr(t),Lr(t,a,null,i,n)):(Vr(t),Rr(t,o))):o?o===e.memoizedState?(Vr(t),t.flags&=-16777217):(Ar(t),Vr(t),Rr(t,o)):(o=e.memoizedProps,xo?o!==i&&Ar(t):Ir(e,t,a,i),Vr(t),Lr(t,a,o,i,n)),null}case 27:if(mc){if(he(t),n=ol.current,a=t.type,e!==null&&t.stateNode!=null)xo?e.memoizedProps!==i&&Ar(t):Ir(e,t,a,i);else{if(!i){if(t.stateNode===null)throw Error(r(166));return Vr(t),null}e=il.current,ye(t)?_e(t,e):(e=hc(a,i,n,e,!0),t.stateNode=e,Ar(t))}return Vr(t),null}case 5:if(he(t),a=t.type,e!==null&&t.stateNode!=null)Ir(e,t,a,i);else{if(!i){if(t.stateNode===null)throw Error(r(166));return Vr(t),null}if(o=il.current,ye(t))_e(t,o),Gs(t.stateNode,a,i,o)&&(t.flags|=64);else{var s=po(a,i,ol.current,o,t);jr(t),Nr(s,t,!1,!1),t.stateNode=s,ho(s,a,i,o)&&Ar(t)}}return Vr(t),Lr(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)n=e.memoizedProps,xo?n!==i&&Ar(t):So&&(n===i?t.stateNode=e.stateNode:(e=ol.current,n=il.current,jr(t),t.stateNode=L(i,e,n,t)));else{if(typeof i!=`string`&&t.stateNode===null)throw Error(r(166));if(e=ol.current,n=il.current,ye(t)){if(!Co)throw Error(r(176));if(e=t.stateNode,n=t.memoizedProps,i=null,a=cl,a!==null)switch(a.tag){case 27:case 5:i=a.memoizedProps}Is(e,n,t,i)||ge(t,!0)}else jr(t),t.stateNode=L(i,e,n,t)}return Vr(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(i=ye(t),n!==null){if(e===null){if(!i)throw Error(r(318));if(!Co)throw Error(r(556));if(e=t.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(r(557));Ls(e,t)}else be(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Vr(t),e=!1}else n=xe(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(Ot(t),t):(Ot(t),null);if(t.flags&128)throw Error(r(558))}return Vr(t),null;case 13:if(i=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(a=ye(t),i!==null&&i.dehydrated!==null){if(e===null){if(!a)throw Error(r(318));if(!Co)throw Error(r(344));if(a=t.memoizedState,a=a===null?null:a.dehydrated,!a)throw Error(r(317));Rs(a,t)}else be(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Vr(t),a=!1}else a=xe(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),a=!0;if(!a)return t.flags&256?(Ot(t),t):(Ot(t),null)}return Ot(t),t.flags&128?(t.lanes=n,t):(n=i!==null,e=e!==null&&e.memoizedState!==null,n&&(i=t.child,a=null,i.alternate!==null&&i.alternate.memoizedState!==null&&i.alternate.memoizedState.cachePool!==null&&(a=i.alternate.memoizedState.cachePool.pool),o=null,i.memoizedState!==null&&i.memoizedState.cachePool!==null&&(o=i.memoizedState.cachePool.pool),o!==a&&(i.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),zr(t,t.updateQueue),Vr(t),null);case 4:return k(),Fr(e,t),e===null&&To(t.stateNode.containerInfo),Vr(t),null;case 10:return we(t.type),Vr(t),null;case 19:if(f(G),i=t.memoizedState,i===null)return Vr(t),null;if(a=(t.flags&128)!=0,o=i.rendering,o===null)if(a)Br(i,!1);else{if(ju!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(o=kt(e),o!==null){for(t.flags|=128,Br(i,!1),e=o.updateQueue,t.updateQueue=e,zr(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)wa(n,e),n=n.sibling;return p(G,G.current&1|2),z&&D(t,i.treeForkCount),t.child}e=e.sibling}i.tail!==null&&Nc()>Hu&&(t.flags|=128,a=!0,Br(i,!1),t.lanes=4194304)}else{if(!a)if(e=kt(o),e!==null){if(t.flags|=128,a=!0,e=e.updateQueue,t.updateQueue=e,zr(t,e),Br(i,!0),i.tail===null&&i.tailMode===`hidden`&&!o.alternate&&!z)return Vr(t),null}else 2*Nc()-i.renderingStartTime>Hu&&n!==536870912&&(t.flags|=128,a=!0,Br(i,!1),t.lanes=4194304);i.isBackwards?(o.sibling=t.child,t.child=o):(e=i.last,e===null?t.child=o:e.sibling=o,i.last=o)}return i.tail===null?(Vr(t),null):(e=i.tail,i.rendering=e,i.tail=e.sibling,i.renderingStartTime=Nc(),e.sibling=null,n=G.current,p(G,a?n&1|2:n&1),z&&D(t,i.treeForkCount),e);case 22:case 23:return Ot(t),Ct(),i=t.memoizedState!==null,e===null?i&&(t.flags|=8192):e.memoizedState!==null!==i&&(t.flags|=8192),i?n&536870912&&!(t.flags&128)&&(Vr(t),t.subtreeFlags&6&&(t.flags|=8192)):Vr(t),n=t.updateQueue,n!==null&&zr(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),i=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(i=t.memoizedState.cachePool.pool),i!==n&&(t.flags|=2048),e!==null&&f(jl),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),we(yl),Vr(t),null;case 25:return null;case 30:return null}throw Error(r(156,t.tag))}function Ur(e,t){switch(ue(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return we(yl),k(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return he(t),null;case 31:if(t.memoizedState!==null){if(Ot(t),t.alternate===null)throw Error(r(340));be()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(Ot(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(r(340));be()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return f(G),null;case 4:return k(),null;case 10:return we(t.type),null;case 22:case 23:return Ot(t),Ct(),e!==null&&f(jl),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return we(yl),null;case 25:return null;default:return null}}function Wr(e,t){switch(ue(t),t.tag){case 3:we(yl),k();break;case 26:case 27:case 5:he(t);break;case 4:k();break;case 31:t.memoizedState!==null&&Ot(t);break;case 13:Ot(t);break;case 19:f(G);break;case 10:we(t.type);break;case 22:case 23:Ot(t),Ct(),e!==null&&f(jl);break;case 24:we(yl)}}function Gr(e,t){try{var n=t.updateQueue,r=n===null?null:n.lastEffect;if(r!==null){var i=r.next;n=i;do{if((n.tag&e)===e){r=void 0;var a=n.create,o=n.inst;r=a(),o.destroy=r}n=n.next}while(n!==i)}}catch(e){P(t,t.return,e)}}function Kr(e,t,n){try{var r=t.updateQueue,i=r===null?null:r.lastEffect;if(i!==null){var a=i.next;r=a;do{if((r.tag&e)===e){var o=r.inst,s=o.destroy;if(s!==void 0){o.destroy=void 0,i=t;var c=n,l=s;try{l()}catch(e){P(i,c,e)}}}r=r.next}while(r!==a)}}catch(e){P(t,t.return,e)}}function qr(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{bt(t,n)}catch(t){P(e,e.return,t)}}}function Jr(e,t,n){n.props=Yn(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(n){P(e,t,n)}}function Yr(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var r=so(e.stateNode);break;case 30:r=e.stateNode;break;default:r=e.stateNode}typeof n==`function`?e.refCleanup=n(r):n.current=r}}catch(n){P(e,t,n)}}function Xr(e,t){var n=e.ref,r=e.refCleanup;if(n!==null)if(typeof r==`function`)try{r()}catch(n){P(e,t,n)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n==`function`)try{n(null)}catch(n){P(e,t,n)}else n.current=null}function Zr(e){var t=e.type,n=e.memoizedProps,r=e.stateNode;try{$o(r,t,n,e)}catch(t){P(e,e.return,t)}}function Qr(e,t,n){try{es(e.stateNode,e.type,n,t,e)}catch(t){P(e,e.return,t)}}function $r(e){return e.tag===5||e.tag===3||(ec?e.tag===26:!1)||(mc?e.tag===27&&yc(e.type):!1)||e.tag===4}function ei(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||$r(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(mc&&e.tag===27&&yc(e.type)||e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function ti(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?ns(n,e,t):Zo(n,e);else if(r!==4&&(mc&&r===27&&yc(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(ti(e,t,n),e=e.sibling;e!==null;)ti(e,t,n),e=e.sibling}function ni(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?ts(n,e,t):Xo(n,e);else if(r!==4&&(mc&&r===27&&yc(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(ni(e,t,n),e=e.sibling;e!==null;)ni(e,t,n),e=e.sibling}function ri(e,t,n){e=e.containerInfo;try{hs(e,n)}catch(e){P(t,t.return,e)}}function ii(e){var t=e.stateNode,n=e.memoizedProps;try{gc(e.type,n,t,e)}catch(t){P(e,e.return,t)}}function ai(e,t){for(uo(e.containerInfo),fu=t;fu!==null;)if(e=fu,t=e.child,e.subtreeFlags&1028&&t!==null)t.return=e,fu=t;else for(;fu!==null;){e=fu;var n=e.alternate;switch(t=e.flags,e.tag){case 0:if(t&4&&(t=e.updateQueue,t=t===null?null:t.events,t!==null))for(var i=0;i`;case yu:return`:has(`+(Ii(e)||``)+`)`;case bu:return`[role="`+e.value+`"]`;case Su:return`"`+e.value+`"`;case xu:return`[data-testname="`+e.value+`"]`;default:throw Error(r(365))}}function Li(e,t){var n=[];e=[e,0];for(var r=0;rn?32:n;n=I.T;var a=Eo();try{R(i),I.T=null,i=Yu,Yu=null;var o=Gu,s=qu;if(Wu=0,Ku=Gu=null,qu=0,J&6)throw Error(r(331));var c=J;if(J|=4,ji(o.current),wi(o,o.current,s,i),J=c,Ie(0,!1),Vc&&typeof Vc.onPostCommitFiberRoot==`function`)try{Vc.onPostCommitFiberRoot(Bc,o)}catch{}return!0}finally{R(a),I.T=n,da(e,t)}}function ma(e,t,n){t=E(n,t),t=Qn(e.stateNode,t,2),e=mt(e,t,2),e!==null&&(b(e,2),Fe(e))}function P(e,t,n){if(e.tag===3)ma(e,e,n);else for(;t!==null;){if(t.tag===3){ma(t,e,n);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError==`function`||typeof r.componentDidCatch==`function`&&(Q===null||!Q.has(r))){e=E(n,e),n=$n(2),r=mt(t,n,2),r!==null&&(er(n,r,t,e),b(r,2),Fe(r));break}}t=t.return}}function ha(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new wu;var i=new Set;r.set(t,i)}else i=r.get(t),i===void 0&&(i=new Set,r.set(t,i));i.has(n)||(ku=!0,i.add(n),e=ga.bind(null,e,t,n),t.then(e,e))}function ga(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,Tu===e&&(X&n)===n&&(ju===4||ju===3&&(X&62914560)===X&&300>Nc()-Bu?!(J&2)&&Ki(e,0):Pu|=n,Iu===X&&(Iu=0)),Fe(e)}function _a(e,t){t===0&&(t=y()),e=ct(e,t),e!==null&&(b(e,t),Fe(e))}function va(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),_a(e,n)}function ya(e,t){var n=0;switch(e.tag){case 31:case 13:var i=e.stateNode,a=e.memoizedState;a!==null&&(n=a.retryLane);break;case 19:i=e.stateNode;break;case 22:i=e.stateNode._retryCache;break;default:throw Error(r(314))}i!==null&&i.delete(t),_a(e,n)}function ba(e,t){return kc(e,t)}function xa(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Sa(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Ca(e,n){var r=e.alternate;return r===null?(r=t(e.tag,n,e.key,e.mode),r.elementType=e.elementType,r.type=e.type,r.stateNode=e.stateNode,r.alternate=e,e.alternate=r):(r.pendingProps=n,r.type=e.type,r.flags=0,r.subtreeFlags=0,r.deletions=null),r.flags=e.flags&65011712,r.childLanes=e.childLanes,r.lanes=e.lanes,r.child=e.child,r.memoizedProps=e.memoizedProps,r.memoizedState=e.memoizedState,r.updateQueue=e.updateQueue,n=e.dependencies,r.dependencies=n===null?null:{lanes:n.lanes,firstContext:n.firstContext},r.sibling=e.sibling,r.index=e.index,r.ref=e.ref,r.refCleanup=e.refCleanup,r}function wa(e,t){e.flags&=65011714;var n=e.alternate;return n===null?(e.childLanes=0,e.lanes=t,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=n.childLanes,e.lanes=n.lanes,e.child=n.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=n.memoizedProps,e.memoizedState=n.memoizedState,e.updateQueue=n.updateQueue,e.type=n.type,t=n.dependencies,e.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),e}function Ta(e,n,i,a,o,s){var c=0;if(a=e,typeof e==`function`)Sa(e)&&(c=1);else if(typeof e==`string`)c=ec&&mc?tc(e,i,il.current)?26:vc(e)?27:5:ec?tc(e,i,il.current)?26:5:mc&&vc(e)?27:5;else e:switch(e){case $a:return e=t(31,i,n,o),e.elementType=$a,e.lanes=s,e;case Ua:return Ea(i.children,o,s,n);case Wa:c=8,o|=24;break;case Ga:return e=t(12,i,n,o|2),e.elementType=Ga,e.lanes=s,e;case Ya:return e=t(13,i,n,o),e.elementType=Ya,e.lanes=s,e;case Xa:return e=t(19,i,n,o),e.elementType=Xa,e.lanes=s,e;default:if(typeof e==`object`&&e)switch(e.$$typeof){case qa:c=10;break e;case Ka:c=9;break e;case Ja:c=11;break e;case Za:c=14;break e;case Qa:c=16,a=null;break e}c=29,i=Error(r(130,e===null?`null`:typeof e,``)),a=null}return n=t(c,i,n,o),n.elementType=e,n.type=a,n.lanes=s,n}function Ea(e,n,r,i){return e=t(7,e,i,n),e.lanes=r,e}function Da(e,n,r){return e=t(6,e,null,n),e.lanes=r,e}function Oa(e){var n=t(18,null,null,0);return n.stateNode=e,n}function ka(e,n,r){return n=t(4,e.children===null?[]:e.children,e.key,n),n.lanes=r,n.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},n}function Aa(e,t,n,r,i,a,o,s,c){this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=yo,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=ee(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=ee(0),this.hiddenUpdates=ee(null),this.identifierPrefix=r,this.onUncaughtError=i,this.onCaughtError=a,this.onRecoverableError=o,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=c,this.incompleteTransitions=new Map}function ja(e,n,r,i,a,o,s,c,l,u,d,f){return e=new Aa(e,n,r,s,l,u,d,f,c),n=1,o===!0&&(n|=24),o=t(3,null,null,n),e.current=o,o.stateNode=e,n=Me(),n.refCount++,e.pooledCache=n,n.refCount++,o.memoizedState={element:i,isDehydrated:r,cache:n},dt(o),e}function Ma(e){return e?(e=Sc,e):Sc}function Na(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render==`function`?Error(r(188)):(e=Object.keys(e).join(`,`),Error(r(268,e)));return e=o(t),e=e===null?null:s(e),e===null?null:so(e.stateNode)}function Pa(e,t,n,r,i,a){i=Ma(i),r.context===null?r.context=i:r.pendingContext=i,r=pt(t),r.payload={element:n},a=a===void 0?null:a,a!==null&&(r.callback=a),n=mt(e,r,t),n!==null&&(M(n,e,t),ht(n,e,t))}function Fa(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n=u&&o>=f&&a<=d&&s<=p){e.splice(t,1);break}else if(i!==u||n.width!==l.width||ps){if(!(o!==f||n.height!==l.height||da)){u>i&&(l.width+=u-i,l.x=i),do&&(l.height+=f-o,l.y=o),pn&&(n=c)),c `)+` - -No matching component was found for: - `)+e.join(` > `)}return null},F.getPublicRootInstance=function(e){if(e=e.current,!e.child)return null;switch(e.child.tag){case 27:case 5:return so(e.child.stateNode);default:return e.child.stateNode}},F.injectIntoDevTools=function(){var e={bundleType:0,version:io,rendererPackageName:ao,currentDispatcherRef:I,reconcilerVersion:`19.2.0`};if(oo!==null&&(e.rendererConfig=oo),typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`)e=!1;else{var t=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(t.isDisabled||!t.supportsFiber)e=!0;else{try{Bc=t.inject(e),Vc=t}catch{}e=!!t.checkDCE}}return e},F.isAlreadyRendering=function(){return(J&6)!=0},F.observeVisibleRects=function(e,t,n,i){if(!Ho)throw Error(r(363));e=Ri(e,t);var a=Yo(e,n,i).disconnect;return{disconnect:function(){a()}}},F.shouldError=function(){return null},F.shouldSuspend=function(){return!1},F.startHostTransition=function(e,t,i,a){if(e.tag!==5)throw Error(r(476));var o=Pn(e).queue;Nn(e,o,t,Lo,i===null?n:function(){var t=Pn(e);return t.next===null&&(t=e.alternate.memoizedState),Vn(e,t.next.queue,{},zi()),i(a)})},F.updateContainer=function(e,t,n,r){var i=t.current,a=zi();return Pa(i,a,e,t,n,r),a},F.updateContainerSync=function(e,t,n,r){return Pa(t.current,2,e,t,n,r),2},F},e.exports.default=e.exports,Object.defineProperty(e.exports,`__esModule`,{value:!0})}(ut)),ut.exports}({exports:{}}).exports;var pt;function mt(){return pt||(pt=1,lt.exports=ft()),lt.exports}var ht=ct(mt());function gt(e){let t=ht(e);return t.injectIntoDevTools(),t}var _t=0,vt={},yt=/^three(?=[A-Z])/,bt=e=>`${e[0].toUpperCase()}${e.slice(1)}`,xt=0,St=e=>typeof e==`function`;function Ct(e){if(St(e)){let t=`${xt++}`;return vt[t]=e,t}else Object.assign(vt,e)}function wt(e,t){let n=bt(e),r=vt[n];if(e!==`primitive`&&!r)throw Error(`R3F: ${n} is not part of the THREE namespace! Did you forget to extend? See: https://docs.pmnd.rs/react-three-fiber/api/objects#using-3rd-party-objects-declaratively`);if(e===`primitive`&&!t.object)throw Error(`R3F: Primitives without 'object' are invalid!`);if(t.args!==void 0&&!Array.isArray(t.args))throw Error(`R3F: The args prop must be an array!`)}function Tt(e,t,n){var r;return e=bt(e)in vt?e:e.replace(yt,``),wt(e,t),e===`primitive`&&(r=t.object)!=null&&r.__r3f&&delete t.object.__r3f,ke(t.object,n,e,t)}function Et(e){if(!e.isHidden){var t;e.props.attach&&(t=e.parent)!=null&&t.object?Ne(e.parent,e):j(e.object)&&(e.object.visible=!1),e.isHidden=!0,Ve(e)}}function Dt(e){if(e.isHidden){var t;e.props.attach&&(t=e.parent)!=null&&t.object?Me(e.parent,e):j(e.object)&&e.props.visible!==!1&&(e.object.visible=!0),e.isHidden=!1,Ve(e)}}function Ot(e,t,n){let r=t.root.getState();if(!(!e.parent&&e.object!==r.scene)){if(!t.object){let e=vt[bt(t.type)];t.object=t.props.object??new e(...t.props.args??[]),t.object.__r3f=t}if(Be(t.object,t.props),t.props.attach)Me(e,t);else if(j(t.object)&&j(e.object)){let r=e.object.children.indexOf(n?.object);if(n&&r!==-1){let n=e.object.children.indexOf(t.object);if(n!==-1){e.object.children.splice(n,1);let i=n{try{e.dispose()}catch{}};typeof IS_REACT_ACT_ENVIRONMENT<`u`?t():(0,pe.unstable_scheduleCallback)(pe.unstable_IdlePriority,t)}}function Mt(e,t,n){if(!t)return;t.parent=null;let r=e.children.indexOf(t);r!==-1&&e.children.splice(r,1),t.props.attach?Ne(e,t):j(t.object)&&j(e.object)&&(e.object.remove(t.object),Ge(me(t),t.object));let i=t.props.dispose!==null&&n!==!1;for(let e=t.children.length-1;e>=0;e--){let n=t.children[e];Mt(t,n,i)}t.children.length=0,delete t.object.__r3f,i&&t.type!==`primitive`&&t.object.type!==`Scene`&&jt(t.object),n===void 0&&Ve(t)}function Nt(e,t){for(let n of[e,e.alternate])if(n!==null)if(typeof n.ref==`function`){n.refCleanup==null||n.refCleanup();let e=n.ref(t);typeof e==`function`&&(n.refCleanup=e)}else n.ref&&(n.ref.current=t)}var Pt=[];function Ft(){for(let[e]of Pt){let t=e.parent;if(t){e.props.attach?Ne(t,e):j(e.object)&&j(t.object)&&t.object.remove(e.object);for(let t of e.children)t.props.attach?Ne(e,t):j(t.object)&&j(e.object)&&e.object.remove(t.object)}e.isHidden&&Dt(e),e.object.__r3f&&delete e.object.__r3f,e.type!==`primitive`&&jt(e.object)}for(let[e,t,n]of Pt){e.props=t;let r=e.parent;if(r){let t=vt[bt(e.type)];e.object=e.props.object??new t(...e.props.args??[]),e.object.__r3f=e,Nt(n,e.object),Be(e.object,e.props),e.props.attach?Me(r,e):j(e.object)&&j(r.object)&&r.object.add(e.object);for(let t of e.children)t.props.attach?Me(e,t):j(t.object)&&j(e.object)&&e.object.add(t.object);Ve(e)}}Pt.length=0}var It=()=>{},Lt={},Rt=_t,zt=0,Bt=4,Vt=gt({isPrimaryRenderer:!1,warnsIfNotActing:!1,supportsMutation:!0,supportsPersistence:!1,supportsHydration:!1,createInstance:Tt,removeChild:Mt,appendChild:kt,appendInitialChild:kt,insertBefore:At,appendChildToContainer(e,t){let n=e.getState().scene.__r3f;!t||!n||kt(n,t)},removeChildFromContainer(e,t){let n=e.getState().scene.__r3f;!t||!n||Mt(n,t)},insertInContainerBefore(e,t,n){let r=e.getState().scene.__r3f;!t||!n||!r||At(r,t,n)},getRootHostContext:()=>Lt,getChildHostContext:()=>Lt,commitUpdate(e,t,n,r,i){var a;wt(t,r);let o=!1;if(e.type===`primitive`&&n.object!==r.object?o=!0:r.args?.length===n.args?.length?(a=r.args)!=null&&a.some((e,t)=>e!==n.args?.[t])&&(o=!0):o=!0,o)Pt.push([e,{...r},i]);else{let t=Le(e,r);Object.keys(t).length&&(Object.assign(e.props,t),Be(e.object,t))}(i.sibling===null||(i.flags&Bt)===zt)&&Ft()},finalizeInitialChildren:()=>!1,commitMount(){},getPublicInstance:e=>e?.object,prepareForCommit:()=>null,preparePortalMount:e=>ke(e.getState().scene,e,``,{}),resetAfterCommit:()=>{},shouldSetTextContent:()=>!1,clearContainer:()=>!1,hideInstance:Et,unhideInstance:Dt,createTextInstance:It,hideTextInstance:It,unhideTextInstance:It,scheduleTimeout:typeof setTimeout==`function`?setTimeout:void 0,cancelTimeout:typeof clearTimeout==`function`?clearTimeout:void 0,noTimeout:-1,getInstanceFromNode:()=>null,beforeActiveInstanceBlur(){},afterActiveInstanceBlur(){},detachDeletedInstance(){},prepareScopeUpdate(){},getInstanceFromScope:()=>null,shouldAttemptEagerTransition:()=>!1,trackSchedulerEvent:()=>{},resolveEventType:()=>null,resolveEventTimeStamp:()=>-1.1,requestPostPaintCallback(){},maySuspendCommit:()=>!1,preloadInstance:()=>!0,suspendInstance(){},waitForCommitToBeReady:()=>null,NotPendingTransition:null,HostTransitionContext:w.createContext(null),setCurrentUpdatePriority(e){Rt=e},getCurrentUpdatePriority(){return Rt},resolveUpdatePriority(){if(Rt!==_t)return Rt;switch(typeof window<`u`&&window.event?.type){case`click`:case`contextmenu`:case`dblclick`:case`pointercancel`:case`pointerdown`:case`pointerup`:return ot;case`pointermove`:case`pointerout`:case`pointerover`:case`pointerenter`:case`pointerleave`:case`wheel`:return it;default:return at}},resetFormInstance(){},rendererPackageName:`@react-three/fiber`,rendererVersion:st.version,applyViewTransitionName(e,t,n){},restoreViewTransitionName(e,t){},cancelViewTransitionName(e,t,n){},cancelRootViewTransitionName(e){},restoreRootViewTransitionName(e){},InstanceMeasurement:null,measureInstance:e=>null,wasInstanceInViewport:e=>!0,hasInstanceChanged:(e,t)=>!1,hasInstanceAffectedParent:(e,t)=>!1,suspendOnActiveViewTransition(e,t){},startGestureTransition:()=>null,startViewTransition:()=>null,stopViewTransition(e){},createViewTransitionInstance:e=>null,getCurrentGestureOffset(e){throw Error(`startGestureTransition is not yet supported in react-three-fiber.`)},cloneMutableInstance(e,t){return e},cloneMutableTextInstance(e){return e},cloneRootViewTransitionContainer(e){throw Error(`Not implemented.`)},removeRootViewTransitionClone(e,t){throw Error(`Not implemented.`)},createFragmentInstance:e=>null,updateFragmentInstanceFiber(e,t){},commitNewChildToFragmentInstance(e,t){},deleteChildFromFragmentInstance(e,t){},measureClonedInstance:e=>null,maySuspendCommitOnUpdate:(e,t,n)=>!1,maySuspendCommitInSyncRender:(e,t)=>!1,startSuspendingCommit:()=>null,getSuspendedCommitReason:(e,t)=>null}),Ht=new Map,Ut={objects:`shallow`,strict:!1};function Wt(e,t){if(!t&&typeof HTMLCanvasElement<`u`&&e instanceof HTMLCanvasElement&&e.parentElement){let{width:t,height:n,top:r,left:i}=e.parentElement.getBoundingClientRect();return{width:t,height:n,top:r,left:i}}else if(!t&&typeof OffscreenCanvas<`u`&&e instanceof OffscreenCanvas)return{width:e.width,height:e.height,top:0,left:0};return{width:0,height:0,top:0,left:0,...t}}function Gt(e){let t=Ht.get(e),n=t?.fiber,r=t?.store;t&&console.warn(`R3F.createRoot should only be called once!`);let i=typeof reportError==`function`?reportError:console.error,s=r||Ye(fn,pn),c=n||Vt.createContainer(s,rt,null,!1,null,``,i,i,i,null);t||Ht.set(e,{fiber:c,store:s});let u,h,_=!1,v=null;return{async configure(t={}){let n;v=new Promise(e=>n=e);let{gl:r,size:i,scene:c,events:y,onCreated:ee,shadows:b=!1,linear:te=!1,flat:x=!1,legacy:ne=!1,orthographic:re=!1,frameloop:S=`always`,dpr:ie=[1,2],performance:C,raycaster:ae,camera:oe,onPointerMissed:se}=t,w=s.getState(),T=w.gl;if(!w.gl){let t={canvas:e,powerPreference:`high-performance`,antialias:!0,alpha:!0},n=typeof r==`function`?await r(t):r;T=qe(n)?n:new m({...t,...r}),w.set({gl:T})}let ce=w.raycaster;ce||w.set({raycaster:ce=new o});let{params:E,...D}=ae||{};if(A.equ(D,ce,Ut)||Be(ce,{...D}),A.equ(E,ce.params,Ut)||Be(ce,{params:{...ce.params,...E}}),!w.camera||w.camera===h&&!A.equ(h,oe,Ut)){h=oe;let e=oe?.isCamera,t=e?oe:re?new p(0,0,0,0,.1,1e3):new d(75,0,.1,1e3);e||(t.position.z=5,oe&&(Be(t,oe),t.manual||(`aspect`in oe||`left`in oe||`right`in oe||`bottom`in oe||`top`in oe)&&(t.manual=!0,t.updateProjectionMatrix())),!w.camera&&!(oe!=null&&oe.rotation)&&t.lookAt(0,0,0)),w.set({camera:t}),ce.camera=t}if(!w.scene){let e;c!=null&&c.isScene?(e=c,ke(e,s,``,{})):(e=new f,ke(e,s,``,{}),c&&Be(e,c)),w.set({scene:e})}y&&!w.events.handlers&&w.set({events:y(s)});let O=Wt(e,i);if(A.equ(O,w.size,Ut)||w.setSize(O.width,O.height,O.top,O.left),ie&&w.viewport.dpr!==Ce(ie)&&w.setDpr(ie),w.frameloop!==S&&w.setFrameloop(S),w.onPointerMissed||w.set({onPointerMissed:se}),C&&!A.equ(C,w.performance,Ut)&&w.set(e=>({performance:{...e.performance,...C}})),!w.xr){let e=(e,t)=>{let n=s.getState();n.frameloop!==`never`&&pn(e,!0,n,t)},t=()=>{let t=s.getState();t.gl.xr.enabled=t.gl.xr.isPresenting,t.gl.xr.setAnimationLoop(t.gl.xr.isPresenting?e:null),t.gl.xr.isPresenting||fn(t)},n={connect(){let e=s.getState().gl;e.xr.addEventListener(`sessionstart`,t),e.xr.addEventListener(`sessionend`,t)},disconnect(){let e=s.getState().gl;e.xr.removeEventListener(`sessionstart`,t),e.xr.removeEventListener(`sessionend`,t)}};typeof T.xr?.addEventListener==`function`&&n.connect(),w.set({xr:n})}if(T.shadowMap){let e=T.shadowMap.enabled,t=T.shadowMap.type;if(T.shadowMap.enabled=!!b,A.boo(b))T.shadowMap.type=2;else if(A.str(b)){let e={basic:0,percentage:1,soft:2,variance:3};T.shadowMap.type=e[b]??2}else A.obj(b)&&Object.assign(T.shadowMap,b);(e!==T.shadowMap.enabled||t!==T.shadowMap.type)&&(T.shadowMap.needsUpdate=!0)}return g.enabled=!ne,_||(T.outputColorSpace=te?l:a,T.toneMapping=x?0:4),w.legacy!==ne&&w.set(()=>({legacy:ne})),w.linear!==te&&w.set(()=>({linear:te})),w.flat!==x&&w.set(()=>({flat:x})),r&&!A.fun(r)&&!qe(r)&&!A.equ(r,T,Ut)&&Be(T,r),u=ee,_=!0,n(),this},render(t){return!_&&!v&&this.configure(),v.then(()=>{Vt.updateContainer((0,k.jsx)(Kt,{store:s,children:t,onCreated:u,rootElement:e}),c,null,()=>void 0)}),s},unmount(){qt(e)}}}function Kt({store:e,children:t,onCreated:n,rootElement:r}){return ve(()=>{let t=e.getState();t.set(e=>({internal:{...e.internal,active:!0}})),n&&n(t),e.getState().events.connected||t.events.connect==null||t.events.connect(r)},[]),(0,k.jsx)(Je.Provider,{value:e,children:t})}function qt(e,t){let n=Ht.get(e),r=n?.fiber;if(r){let i=n?.store.getState();i&&(i.internal.active=!1),Vt.updateContainer(null,r,null,()=>{i&&setTimeout(()=>{try{var n,r,a,o;i.events.disconnect==null||i.events.disconnect(),(n=i.gl)==null||(r=n.renderLists)==null||r.dispose==null||r.dispose(),(a=i.gl)==null||a.forceContextLoss==null||a.forceContextLoss(),(o=i.gl)!=null&&o.xr&&i.xr.disconnect(),Ee(i.scene),Ht.delete(e),t&&t(e)}catch{}},500)})}}function Jt(e,t){let n={callback:e};return t.add(n),()=>void t.delete(n)}var Yt=new Set,Xt=new Set,Zt=new Set,Qt=e=>Jt(e,Yt),$t=e=>Jt(e,Xt);function en(e,t){if(e.size)for(let{callback:n}of e.values())n(t)}function tn(e,t){switch(e){case`before`:return en(Yt,t);case`after`:return en(Xt,t);case`tail`:return en(Zt,t)}}var nn,rn;function an(e,t,n){let r=t.clock.getDelta();t.frameloop===`never`&&typeof e==`number`&&(r=e-t.clock.elapsedTime,t.clock.oldTime=t.clock.elapsedTime,t.clock.elapsedTime=e),nn=t.internal.subscribers;for(let e=0;e0)&&!((t=un.gl.xr)!=null&&t.isPresenting)&&(cn+=an(e,un))}if(sn=!1,tn(`after`,e),cn===0)return tn(`tail`,e),on=!1,cancelAnimationFrame(ln)}function fn(e,t=1){var n;if(!e)return Ht.forEach(e=>fn(e.store.getState(),t));(n=e.gl.xr)!=null&&n.isPresenting||!e.internal.active||e.frameloop===`never`||(t>1?e.internal.frames=Math.min(60,e.internal.frames+t):sn?e.internal.frames=2:e.internal.frames=1,on||(on=!0,requestAnimationFrame(dn)))}function pn(e,t=!0,n,r){if(t&&tn(`before`,e),n)an(e,n,r);else for(let t of Ht.values())an(e,t.store.getState());t&&tn(`after`,e)}var mn={onClick:[`click`,!1],onContextMenu:[`contextmenu`,!1],onDoubleClick:[`dblclick`,!1],onWheel:[`wheel`,!0],onPointerDown:[`pointerdown`,!0],onPointerUp:[`pointerup`,!0],onPointerLeave:[`pointerleave`,!0],onPointerMove:[`pointermove`,!0],onPointerCancel:[`pointercancel`,!0],onLostPointerCapture:[`lostpointercapture`,!0]};function hn(e){let{handlePointer:t}=Ke(e);return{priority:1,enabled:!0,compute(e,t,n){t.pointer.set(e.offsetX/t.size.width*2-1,-(e.offsetY/t.size.height)*2+1),t.raycaster.setFromCamera(t.pointer,t.camera)},connected:void 0,handlers:Object.keys(mn).reduce((e,n)=>({...e,[n]:t(n)}),{}),update:()=>{var t;let{events:n,internal:r}=e.getState();(t=r.lastEvent)!=null&&t.current&&n.handlers&&n.handlers.onPointerMove(r.lastEvent.current)},connect:t=>{let{set:n,events:r}=e.getState();if(r.disconnect==null||r.disconnect(),n(e=>({events:{...e.events,connected:t}})),r.handlers)for(let e in r.handlers){let n=r.handlers[e],[i,a]=mn[e];t.addEventListener(i,n,{passive:a})}},disconnect:()=>{let{set:t,events:n}=e.getState();if(n.connected){if(n.handlers)for(let e in n.handlers){let t=n.handlers[e],[r]=mn[e];n.connected.removeEventListener(r,t)}t(e=>({events:{...e.events,connected:void 0}}))}}}}function gn(e,t){let n;return(...r)=>{window.clearTimeout(n),n=window.setTimeout(()=>e(...r),t)}}function _n({debounce:e,scroll:t,polyfill:n,offsetSize:r}={debounce:0,scroll:!1,offsetSize:!1}){let i=n||(typeof window>`u`?class{}:window.ResizeObserver);if(!i)throw Error(`This browser does not support ResizeObserver out of the box. See: https://github.com/react-spring/react-use-measure/#resize-observer-polyfills`);let[a,o]=(0,w.useState)({left:0,top:0,width:0,height:0,bottom:0,right:0,x:0,y:0}),s=(0,w.useRef)({element:null,scrollContainers:null,resizeObserver:null,lastBounds:a,orientationHandler:null}),c=e?typeof e==`number`?e:e.scroll:null,l=e?typeof e==`number`?e:e.resize:null,u=(0,w.useRef)(!1);(0,w.useEffect)(()=>(u.current=!0,()=>void(u.current=!1)));let[d,f,p]=(0,w.useMemo)(()=>{let e=()=>{if(!s.current.element)return;let{left:e,top:t,width:n,height:i,bottom:a,right:c,x:l,y:d}=s.current.element.getBoundingClientRect(),f={left:e,top:t,width:n,height:i,bottom:a,right:c,x:l,y:d};s.current.element instanceof HTMLElement&&r&&(f.height=s.current.element.offsetHeight,f.width=s.current.element.offsetWidth),Object.freeze(f),u.current&&!Sn(s.current.lastBounds,f)&&o(s.current.lastBounds=f)};return[e,l?gn(e,l):e,c?gn(e,c):e]},[o,r,c,l]);function m(){s.current.scrollContainers&&(s.current.scrollContainers.forEach(e=>e.removeEventListener(`scroll`,p,!0)),s.current.scrollContainers=null),s.current.resizeObserver&&(s.current.resizeObserver.disconnect(),s.current.resizeObserver=null),s.current.orientationHandler&&(`orientation`in screen&&`removeEventListener`in screen.orientation?screen.orientation.removeEventListener(`change`,s.current.orientationHandler):`onorientationchange`in window&&window.removeEventListener(`orientationchange`,s.current.orientationHandler))}function h(){s.current.element&&(s.current.resizeObserver=new i(p),s.current.resizeObserver.observe(s.current.element),t&&s.current.scrollContainers&&s.current.scrollContainers.forEach(e=>e.addEventListener(`scroll`,p,{capture:!0,passive:!0})),s.current.orientationHandler=()=>{p()},`orientation`in screen&&`addEventListener`in screen.orientation?screen.orientation.addEventListener(`change`,s.current.orientationHandler):`onorientationchange`in window&&window.addEventListener(`orientationchange`,s.current.orientationHandler))}return yn(p,!!t),vn(f),(0,w.useEffect)(()=>{m(),h()},[t,p,f]),(0,w.useEffect)(()=>m,[]),[e=>{!e||e===s.current.element||(m(),s.current.element=e,s.current.scrollContainers=bn(e),h())},a,d]}function vn(e){(0,w.useEffect)(()=>{let t=e;return window.addEventListener(`resize`,t),()=>void window.removeEventListener(`resize`,t)},[e])}function yn(e,t){(0,w.useEffect)(()=>{if(t){let t=e;return window.addEventListener(`scroll`,t,{capture:!0,passive:!0}),()=>void window.removeEventListener(`scroll`,t,!0)}},[e,t])}function bn(e){let t=[];if(!e||e===document.body)return t;let{overflow:n,overflowX:r,overflowY:i}=window.getComputedStyle(e);return[n,r,i].some(e=>e===`auto`||e===`scroll`)&&t.push(e),[...t,...bn(e.parentElement)]}var xn=[`x`,`y`,`top`,`bottom`,`left`,`right`,`width`,`height`],Sn=(e,t)=>xn.every(n=>e[n]===t[n]);function Cn({ref:e,children:t,fallback:n,resize:r,style:i,gl:a,events:o=hn,eventSource:s,eventPrefix:c,shadows:l,linear:u,flat:d,legacy:f,orthographic:p,frameloop:m,dpr:g,performance:_,raycaster:v,camera:y,scene:ee,onPointerMissed:b,onCreated:te,...x}){w.useMemo(()=>Ct(h),[]);let ne=be(),[re,S]=_n({scroll:!0,debounce:{scroll:50,resize:0},...r}),ie=w.useRef(null),C=w.useRef(null);w.useImperativeHandle(e,()=>ie.current);let ae=ye(b),[oe,se]=w.useState(!1),[T,ce]=w.useState(!1);if(oe)throw oe;if(T)throw T;let E=w.useRef(null);return ve(()=>{let e=ie.current;if(S.width>0&&S.height>0&&e){E.current||=Gt(e);async function n(){await E.current.configure({gl:a,scene:ee,events:o,shadows:l,linear:u,flat:d,legacy:f,orthographic:p,frameloop:m,dpr:g,performance:_,raycaster:v,camera:y,size:S,onPointerMissed:(...e)=>ae.current==null?void 0:ae.current(...e),onCreated:e=>{e.events.connect==null||e.events.connect(s?ge(s)?s.current:s:C.current),c&&e.setEvents({compute:(e,t)=>{let n=e[c+`X`],r=e[c+`Y`];t.pointer.set(n/t.size.width*2-1,-(r/t.size.height)*2+1),t.raycaster.setFromCamera(t.pointer,t.camera)}}),te?.(e)}}),E.current.render((0,k.jsx)(ne,{children:(0,k.jsx)(Se,{set:ce,children:(0,k.jsx)(w.Suspense,{fallback:(0,k.jsx)(xe,{set:se}),children:t??null})})}))}n()}}),w.useEffect(()=>{let e=ie.current;if(e)return()=>qt(e)},[]),(0,k.jsx)(`div`,{ref:C,style:{position:`relative`,width:`100%`,height:`100%`,overflow:`hidden`,pointerEvents:s?`none`:`auto`,...i},...x,children:(0,k.jsx)(`div`,{ref:re,style:{width:`100%`,height:`100%`},children:(0,k.jsx)(`canvas`,{ref:ie,style:{display:`block`},children:n})})})}function wn(e){return(0,k.jsx)(D,{children:(0,k.jsx)(Cn,{...e})})}function Tn(){return Tn=Object.assign?Object.assign.bind():function(e){for(var t=1;tMath.PI/2}function Nn(e,t,n,r){let i=Dn.setFromMatrixPosition(e.matrixWorld),a=i.clone();a.project(t),An.set(a.x,a.y),n.setFromCamera(An,t);let o=n.intersectObjects(r,!0);if(o.length){let e=o[0].distance;return i.distanceTo(n.ray.origin)Math.abs(e)<1e-10?0:e;function Ln(e,t,n=``){let r=`matrix3d(`;for(let n=0;n!==16;n++)r+=In(t[n]*e.elements[n])+(n===15?`)`:`,`);return n+r}var Rn=(e=>t=>Ln(t,e))([1,-1,1,1,1,-1,1,1,1,-1,1,1,1,-1,1,1]),zn=(e=>(t,n)=>Ln(t,e(n),`translate(-50%,-50%)`))(e=>[1/e,1/e,1/e,1,-1/e,-1/e,-1/e,-1,1/e,1/e,1/e,1,1,1,1,1]);function Bn(e){return e&&typeof e==`object`&&`current`in e}var Vn=w.forwardRef(({children:e,eps:t=.001,style:n,className:r,prepend:i,center:a,fullscreen:o,portal:c,distanceFactor:l,sprite:u=!1,transform:d=!1,occlude:f,onOcclude:p,castShadow:m,receiveShadow:h,material:g,geometry:_,zIndexRange:v=[16777271,0],calculatePosition:y=jn,as:ee=`div`,wrapperClass:b,pointerEvents:te=`auto`,...x},ne)=>{let{gl:re,camera:S,scene:ie,size:C,raycaster:ae,events:oe,viewport:se}=Ze(),[T]=w.useState(()=>document.createElement(ee)),ce=w.useRef(null),E=w.useRef(null),D=w.useRef(0),O=w.useRef([0,0]),le=w.useRef(null),ue=w.useRef(null),de=c?.current||oe.connected||re.domElement.parentNode,fe=w.useRef(null),pe=w.useRef(!1),k=w.useMemo(()=>f&&f!==`blending`||Array.isArray(f)&&f.length&&Bn(f[0]),[f]);w.useLayoutEffect(()=>{let e=re.domElement;f&&f===`blending`?(e.style.zIndex=`${Math.floor(v[0]/2)}`,e.style.position=`absolute`,e.style.pointerEvents=`none`):(e.style.zIndex=null,e.style.position=null,e.style.pointerEvents=null)},[f]),w.useLayoutEffect(()=>{if(E.current){let e=ce.current=En.createRoot(T);if(ie.updateMatrixWorld(),d)T.style.cssText=`position:absolute;top:0;left:0;pointer-events:none;overflow:hidden;`;else{let e=y(E.current,S,C);T.style.cssText=`position:absolute;top:0;left:0;transform:translate3d(${e[0]}px,${e[1]}px,0);transform-origin:0 0;`}return de&&(i?de.prepend(T):de.appendChild(T)),()=>{de&&de.removeChild(T),e.unmount()}}},[de,d]),w.useLayoutEffect(()=>{b&&(T.className=b)},[b]);let me=w.useMemo(()=>d?{position:`absolute`,top:0,left:0,width:C.width,height:C.height,transformStyle:`preserve-3d`,pointerEvents:`none`}:{position:`absolute`,transform:a?`translate3d(-50%,-50%,0)`:`none`,...o&&{top:-C.height/2,left:-C.width/2,width:C.width,height:C.height},...n},[n,a,o,C,d]),he=w.useMemo(()=>({position:`absolute`,pointerEvents:te}),[te]);w.useLayoutEffect(()=>{if(pe.current=!1,d){var t;(t=ce.current)==null||t.render(w.createElement(`div`,{ref:le,style:me},w.createElement(`div`,{ref:ue,style:he},w.createElement(`div`,{ref:ne,className:r,style:n,children:e}))))}else{var i;(i=ce.current)==null||i.render(w.createElement(`div`,{ref:ne,style:me,className:r,children:e}))}});let ge=w.useRef(!0);Qe(e=>{if(E.current){S.updateMatrixWorld(),E.current.updateWorldMatrix(!0,!1);let e=d?O.current:y(E.current,S,C);if(d||Math.abs(D.current-S.zoom)>t||Math.abs(O.current[0]-e[0])>t||Math.abs(O.current[1]-e[1])>t){let t=Mn(E.current,S),n=!1;k&&(Array.isArray(f)?n=f.map(e=>e.current):f!==`blending`&&(n=[ie]));let r=ge.current;n?ge.current=Nn(E.current,S,ae,n)&&!t:ge.current=!t,r!==ge.current&&(p?p(!ge.current):T.style.display=ge.current?`block`:`none`);let i=Math.floor(v[0]/2),a=f?k?[v[0],i]:[i-1,0]:v;if(T.style.zIndex=`${Fn(E.current,S,a)}`,d){let[e,t]=[C.width/2,C.height/2],n=S.projectionMatrix.elements[5]*t,{isOrthographicCamera:r,top:i,left:a,bottom:o,right:s}=S,c=Rn(S.matrixWorldInverse),d=r?`scale(${n})translate(${In(-(s+a)/2)}px,${In((i+o)/2)}px)`:`translateZ(${n}px)`,f=E.current.matrixWorld;u&&(f=S.matrixWorldInverse.clone().transpose().copyPosition(f).scale(E.current.scale),f.elements[3]=f.elements[7]=f.elements[11]=0,f.elements[15]=1),T.style.width=C.width+`px`,T.style.height=C.height+`px`,T.style.perspective=r?``:`${n}px`,le.current&&ue.current&&(le.current.style.transform=`${d}${c}translate(${e}px,${t}px)`,ue.current.style.transform=zn(f,1/((l||10)/400)))}else{let t=l===void 0?1:Pn(E.current,S)*l;T.style.transform=`translate3d(${e[0]}px,${e[1]}px,0) scale(${t})`}O.current=e,D.current=S.zoom}}if(!k&&fe.current&&!pe.current)if(d){if(le.current){let e=le.current.children[0];if(e!=null&&e.clientWidth&&e!=null&&e.clientHeight){let{isOrthographicCamera:t}=S;if(t||_)x.scale&&(Array.isArray(x.scale)?x.scale instanceof s?fe.current.scale.copy(x.scale.clone().divideScalar(1)):fe.current.scale.set(1/x.scale[0],1/x.scale[1],1/x.scale[2]):fe.current.scale.setScalar(1/x.scale));else{let t=(l||10)/400,n=e.clientWidth*t,r=e.clientHeight*t;fe.current.scale.set(n,r,1)}pe.current=!0}}}else{let t=T.children[0];if(t!=null&&t.clientWidth&&t!=null&&t.clientHeight){let e=1/se.factor,n=t.clientWidth*e,r=t.clientHeight*e;fe.current.scale.set(n,r,1),pe.current=!0}fe.current.lookAt(e.camera.position)}});let _e=w.useMemo(()=>({vertexShader:d?void 0:` - /* - This shader is from the THREE's SpriteMaterial. - We need to turn the backing plane into a Sprite - (make it always face the camera) if "transfrom" - is false. - */ - #include - - void main() { - vec2 center = vec2(0., 1.); - float rotation = 0.0; - - // This is somewhat arbitrary, but it seems to work well - // Need to figure out how to derive this dynamically if it even matters - float size = 0.03; - - vec4 mvPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 ); - vec2 scale; - scale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) ); - scale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) ); - - bool isPerspective = isPerspectiveMatrix( projectionMatrix ); - if ( isPerspective ) scale *= - mvPosition.z; - - vec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale * size; - vec2 rotatedPosition; - rotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y; - rotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y; - mvPosition.xy += rotatedPosition; - - gl_Position = projectionMatrix * mvPosition; - } - `,fragmentShader:` - void main() { - gl_FragColor = vec4(0.0, 0.0, 0.0, 0.0); - } - `}),[d]);return w.createElement(`group`,Tn({},x,{ref:E}),f&&!k&&w.createElement(`mesh`,{castShadow:m,receiveShadow:h,ref:fe},_||w.createElement(`planeGeometry`,null),g||w.createElement(`shaderMaterial`,{side:2,vertexShader:_e.vertexShader,fragmentShader:_e.fragmentShader})))});export{Qt as a,Ze as c,$t as i,ne as l,Tn as n,Qe as o,wn as r,nt as s,Vn as t,te as u}; \ No newline at end of file diff --git a/docs/assets/JoystickContext-BJFVWHNC.js b/docs/assets/JoystickContext-D1zeSnLk.js similarity index 100% rename from docs/assets/JoystickContext-BJFVWHNC.js rename to docs/assets/JoystickContext-D1zeSnLk.js diff --git a/docs/assets/KeyboardOverlay-DKaTY3Tb.js b/docs/assets/KeyboardOverlay-DKaTY3Tb.js new file mode 100644 index 00000000..9382c283 --- /dev/null +++ b/docs/assets/KeyboardOverlay-DKaTY3Tb.js @@ -0,0 +1 @@ +import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import{r as i}from"./SettingsProvider-D-grt5cc.js";import{n as a}from"./cameraTourStore-DQ989o2x.js";import{F as o,H as s,I as c,J as l,O as u,P as d,T as f,V as p,at as m,ct as h,et as g,nt as _,ot as v,q as y,st as b,tt as x,z as S}from"./index-BEKjcnfN.js";import{n as C,t as w}from"./gr-C6l4behh.js";var T=t(),E=e(n(),1);function D(e){return document.addEventListener(`pointerlockchange`,e),()=>document.removeEventListener(`pointerlockchange`,e)}function O(){return document.pointerLockElement!==null}function k(){return(0,E.useSyncExternalStore)(D,O,A)}function A(){return!1}var j={Root:`_Root_88qkf_1`,Column:`_Column_88qkf_13`,Row:`_Row_88qkf_25`,Spacer:`_Spacer_88qkf_31`,Sep:`_Sep_88qkf_35`,Key:`_Key_88qkf_39`,Label:`_Label_88qkf_78`,MultiInput:`_MultiInput_88qkf_120`,Input:`_Input_88qkf_128`,ColumnLabel:`_ColumnLabel_88qkf_161`,PlayPauseIcon:`_PlayPauseIcon_88qkf_170`,MouseIcon:`_MouseIcon_88qkf_174`},M=r();function N(e,t){let n=e[t];return n!=null&&`pressed`in n&&n.pressed}function P(e){let t=(0,T.c)(24),{action:n,input:r,label:i,labelPosition:a,labelSize:o,inputSize:s,size:c,disabled:l,debounce:u}=e,d=a===void 0?`hidden`:a,p=o===void 0?`fill`:o,m=s===void 0?`fill`:s,h=c===void 0?`fill`:c,g=l===void 0?!1:l,_=(0,E.useRef)(void 0),[v,y]=(0,E.useState)(!1),b;t[0]===n?b=t[1]:(b=typeof n==`function`?n:e=>N(e,n),t[0]=n,t[1]=b);let x=f(b),S,C;t[2]!==u||t[3]!==x?(S=()=>{if(u)if(x)clearTimeout(_.current),_.current=void 0,y(!0);else return _.current=setTimeout(()=>{_.current=void 0,y(!1)},u),()=>clearTimeout(_.current)},C=[x,u],t[2]=u,t[3]=x,t[4]=S,t[5]=C):(S=t[4],C=t[5]),(0,E.useEffect)(S,C);let w=u?v:x,D;t[6]!==i||t[7]!==d||t[8]!==p?(D=d===`left`?(0,M.jsx)(`span`,{className:j.Label,"data-size":p,children:i}):null,t[6]=i,t[7]=d,t[8]=p,t[9]=D):D=t[9];let O;t[10]!==r||t[11]!==m?(O=Array.isArray(r)?(0,M.jsx)(`div`,{className:j.MultiInput,"data-size":m,children:r.map(F)}):(0,M.jsx)(`span`,{className:j.Input,"data-size":m,children:r}),t[10]=r,t[11]=m,t[12]=O):O=t[12];let k;t[13]!==i||t[14]!==d||t[15]!==p?(k=d===`right`?(0,M.jsx)(`span`,{className:j.Label,"data-size":p,children:i}):null,t[13]=i,t[14]=d,t[15]=p,t[16]=k):k=t[16];let A;return t[17]!==g||t[18]!==w||t[19]!==h||t[20]!==O||t[21]!==k||t[22]!==D?(A=(0,M.jsxs)(`div`,{className:j.Key,"data-pressed":w,"data-size":h,"data-disabled":g,children:[D,O,k]}),t[17]=g,t[18]=w,t[19]=h,t[20]=O,t[21]=k,t[22]=D,t[23]=A):A=t[23],A}function F(e,t){return(0,M.jsx)(`span`,{className:j.Input,children:e},t)}function I(){let e=(0,T.c)(12),t=k(),[n,r]=(0,E.useState)(!1),i=(0,E.useRef)(!1),a,o;e[0]===t?(a=e[1],o=e[2]):(a=()=>{if(i.current&&!t){r(!0);let e=setTimeout(()=>r(!1),150);return()=>clearTimeout(e)}i.current=t},o=[t],e[0]=t,e[1]=a,e[2]=o),(0,E.useEffect)(a,o);let s=t||n,c;e[3]!==n||e[4]!==s?(c=s?()=>n:`canvasClick`,e[3]=n,e[4]=s,e[5]=c):c=e[5];let l=s?`Unlock mouse`:`Capture mouse`,u;e[6]===s?u=e[7]:(u=s?`Esc`:(0,M.jsx)(d,{className:j.MouseIcon}),e[6]=s,e[7]=u);let f;return e[8]!==c||e[9]!==l||e[10]!==u?(f=(0,M.jsx)(P,{action:c,label:l,input:u,labelPosition:`right`,inputSize:`auto`}),e[8]=c,e[9]=l,e[10]=u,e[11]=f):f=e[11],f}function L(){let e=(0,T.c)(4),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,M.jsxs)(`div`,{className:j.Row,children:[(0,M.jsx)(`div`,{className:j.Spacer}),(0,M.jsx)(P,{action:`moveForward`,input:`W`,label:`Forward`}),(0,M.jsx)(`div`,{className:j.Spacer})]}),e[0]=t):t=e[0];let n;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,M.jsxs)(`div`,{className:j.Column,children:[t,(0,M.jsxs)(`div`,{className:j.Row,children:[(0,M.jsx)(P,{action:`moveLeft`,input:`A`,label:`Strafe left`}),(0,M.jsx)(P,{action:`moveBackward`,input:`S`,label:`Backward`}),(0,M.jsx)(P,{action:`moveRight`,input:`D`,label:`Strafe right`})]})]}),e[1]=n):n=e[1];let r;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,M.jsx)(`div`,{className:j.Row,children:(0,M.jsx)(P,{action:`moveUp`,input:`E`,label:(0,M.jsx)(_,{}),labelPosition:`left`,labelSize:`auto`})}),e[2]=r):r=e[2];let i;return e[3]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,M.jsxs)(M.Fragment,{children:[n,(0,M.jsxs)(`div`,{className:j.Column,children:[r,(0,M.jsx)(`div`,{className:j.Row,children:(0,M.jsx)(P,{action:`moveDown`,input:`Q`,label:(0,M.jsx)(x,{}),labelPosition:`left`,labelSize:`auto`})})]})]}),e[3]=i):i=e[3],i}function R(){let e=(0,T.c)(5),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,M.jsx)(`div`,{className:j.Spacer}),e[0]=t):t=e[0];let n;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,M.jsxs)(`div`,{className:j.Row,children:[t,(0,M.jsx)(P,{action:`lookUp`,input:(0,M.jsx)(h,{}),label:`Look up`}),(0,M.jsx)(`div`,{className:j.Spacer})]}),e[1]=n):n=e[1];let r;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,M.jsx)(P,{action:`lookLeft`,input:(0,M.jsx)(v,{}),label:`Look left`}),e[2]=r):r=e[2];let i;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,M.jsx)(P,{action:`lookDown`,input:(0,M.jsx)(m,{}),label:`Look down`}),e[3]=i):i=e[3];let a;return e[4]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,M.jsxs)(`div`,{className:j.Column,children:[n,(0,M.jsxs)(`div`,{className:j.Row,children:[r,i,(0,M.jsx)(P,{action:`lookRight`,input:(0,M.jsx)(b,{}),label:`Look right`})]})]}),e[4]=a):a=e[4],a}function z(){let e=(0,T.c)(8),{speedMultiplier:t}=i(),[n,r]=(0,E.useState)(null),a;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=()=>{r(B);let e=setTimeout(()=>{r(!1)},100);return()=>clearTimeout(e)},e[0]=a):a=e[0];let s;e[1]===t?s=e[2]:(s=[t],e[1]=t,e[2]=s),(0,E.useEffect)(a,s);let c;e[3]===n?c=e[4]:(c=e=>(e.adjustSpeed?.deltaY??0)!==0&&(n??!1),e[3]=n,e[4]=c);let l;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,M.jsx)(o,{className:j.MouseIcon}),e[5]=l):l=e[5];let u;return e[6]===c?u=e[7]:(u=(0,M.jsx)(P,{action:c,debounce:50,label:`Adjust speed`,input:l,labelPosition:`right`,inputSize:`auto`}),e[6]=c,e[7]=u),u}function B(e){return e!=null}function V(){let e=(0,T.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,M.jsx)(P,{action:H,input:(0,M.jsx)(g,{className:j.MouseIcon}),label:`Rotate camera`,labelPosition:`right`,inputSize:`auto`}),e[0]=t):t=e[0],t}function H(e){return e.dragLook?.dragging??!1}function U(){let e=(0,T.c)(6),t=y()===`map`,n=l(`Camera`),r=t?n.length:0,i,a;e[0]===r?(i=e[1],a=e[2]):(i=e=>Array.from({length:r},(t,n)=>N(e,`camera${n+1}`)).some(W),a=r===1?`1`:(0,M.jsxs)(M.Fragment,{children:[`1 – `,r]}),e[0]=r,e[1]=i,e[2]=a);let o;return e[3]!==i||e[4]!==a?(o=(0,M.jsx)(P,{action:i,input:a,label:`Select camera`,labelPosition:`right`}),e[3]=i,e[4]=a,e[5]=o):o=e[5],o}function W(e){return e}function G(){let e=(0,T.c)(11),t=k(),n=y()===`map`,r=l(`Camera`),i=n?r.length:0,a,o;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,M.jsx)(L,{}),o=(0,M.jsx)(R,{}),e[0]=a,e[1]=o):(a=e[0],o=e[1]);let s;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,M.jsx)(`div`,{className:j.Row,children:(0,M.jsx)(z,{})}),e[2]=s):s=e[2];let c;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,M.jsxs)(`div`,{className:j.Column,"data-height":`compact`,children:[s,(0,M.jsx)(`div`,{className:j.Row,children:(0,M.jsx)(I,{})})]}),e[3]=c):c=e[3];let u;e[4]===t?u=e[5]:(u=t?null:(0,M.jsx)(`div`,{className:j.Row,children:(0,M.jsx)(V,{})}),e[4]=t,e[5]=u);let d;e[6]===i?d=e[7]:(d=i>0&&(0,M.jsx)(`div`,{className:j.Row,children:(0,M.jsx)(U,{})}),e[6]=i,e[7]=d);let f;return e[8]!==u||e[9]!==d?(f=(0,M.jsxs)(M.Fragment,{children:[a,o,c,(0,M.jsxs)(`div`,{className:j.Column,"data-height":`compact`,children:[u,d]})]}),e[8]=u,e[9]=d,e[10]=f):f=e[10],f}function K(){let e=(0,T.c)(15),t=S(),n=s(),r=c.indexOf(n)+1,i=c.indexOf(n)-1,a=r>=c.length,o=i<0,l;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(l=[`<`,`,`],e[0]=l):l=e[0];let u;e[1]===o?u=e[2]:(u=(0,M.jsx)(P,{action:`decreasePlaybackSpeed`,label:`Slow down`,input:l,labelPosition:`right`,disabled:o}),e[1]=o,e[2]=u);let d;e[3]===t?d=e[4]:(d=(0,M.jsx)(P,{action:`playPause`,label:t?(0,M.jsx)(w,{className:j.PlayPauseIcon}):(0,M.jsx)(C,{className:j.PlayPauseIcon}),input:`Space`,labelPosition:`left`,size:`auto`}),e[3]=t,e[4]=d);let f;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(f=[`>`,`.`],e[5]=f):f=e[5];let p;e[6]===a?p=e[7]:(p=(0,M.jsx)(P,{action:`increasePlaybackSpeed`,input:f,label:`Speed up`,labelPosition:`left`,disabled:a}),e[6]=a,e[7]=p);let m;e[8]!==u||e[9]!==d||e[10]!==p?(m=(0,M.jsx)(`div`,{className:j.Column,children:(0,M.jsxs)(`div`,{className:j.Row,children:[u,d,p]})}),e[8]=u,e[9]=d,e[10]=p,e[11]=m):m=e[11];let h;e[12]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,M.jsx)(`div`,{className:j.Column,children:(0,M.jsx)(`div`,{className:j.Row,children:(0,M.jsx)(I,{})})}),e[12]=h):h=e[12];let g;return e[13]===m?g=e[14]:(g=(0,M.jsxs)(M.Fragment,{children:[m,h]}),e[13]=m,e[14]=g),g}function q(){let e=(0,T.c)(5),t=a(J),n;e[0]===t?n=e[1]:(n=!t&&(0,M.jsx)(P,{action:`nextStop`,label:`Skip to next stop`,input:(0,M.jsx)(d,{className:j.MouseIcon}),labelPosition:`right`}),e[0]=t,e[1]=n);let r;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,M.jsx)(P,{action:`exitTour`,label:`Exit tour`,input:`Esc`,labelPosition:`right`}),e[2]=r):r=e[2];let i;return e[3]===n?i=e[4]:(i=(0,M.jsx)(M.Fragment,{children:(0,M.jsx)(`div`,{className:j.Column,children:(0,M.jsxs)(`div`,{className:j.Row,children:[n,r]})})}),e[3]=n,e[4]=i),i}function J(e){return e.animation!=null&&e.animation.currentIndex>=e.animation.targets.length-1}function Y(){let e=(0,T.c)(23),t=u(),n=k(),r;e[0]===t?r=e[1]:(r=t===`fly`?(0,M.jsx)(L,{}):null,e[0]=t,e[1]=r);let i;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,M.jsx)(R,{}),e[2]=i):i=e[2];let a;e[3]===t?a=e[4]:(a=t===`fly`?(0,M.jsx)(`div`,{className:j.Row,children:(0,M.jsx)(z,{})}):null,e[3]=t,e[4]=a);let o;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,M.jsx)(`div`,{className:j.Row,children:(0,M.jsx)(I,{})}),e[5]=o):o=e[5];let s;e[6]===a?s=e[7]:(s=(0,M.jsxs)(`div`,{className:j.Column,"data-height":`compact`,children:[a,o]}),e[6]=a,e[7]=s);let c;e[8]===n?c=e[9]:(c=n?null:(0,M.jsx)(`div`,{className:j.Row,children:(0,M.jsx)(V,{})}),e[8]=n,e[9]=c);let l;e[10]!==t||e[11]!==n?(l=t===`follow`&&n?(0,M.jsx)(`div`,{className:j.Row,children:(0,M.jsx)(P,{action:`nextPlayer`,label:`Next player`,input:(0,M.jsx)(d,{className:j.MouseIcon}),labelPosition:`right`,inputSize:`auto`})}):null,e[10]=t,e[11]=n,e[12]=l):l=e[12];let f=t===`follow`?`Fly mode`:`Follow mode`,p;e[13]===f?p=e[14]:(p=(0,M.jsx)(`div`,{className:j.Row,children:(0,M.jsx)(P,{action:`toggleObserverMode`,label:f,input:`Space`,labelPosition:`right`,inputSize:`auto`})}),e[13]=f,e[14]=p);let m;e[15]!==c||e[16]!==l||e[17]!==p?(m=(0,M.jsxs)(`div`,{className:j.Column,"data-height":`compact`,children:[c,l,p]}),e[15]=c,e[16]=l,e[17]=p,e[18]=m):m=e[18];let h;return e[19]!==r||e[20]!==s||e[21]!==m?(h=(0,M.jsxs)(M.Fragment,{children:[r,i,s,m]}),e[19]=r,e[20]=s,e[21]=m,e[22]=h):h=e[22],h}function X(){let e=(0,T.c)(13),t=p(),n=u(),r=a(Z),i=t?.source===`demo`,o=t?.source===`live`,s=!t,c=o&&(n===`fly`||n===`follow`),l=s&&!r,d;e[0]===l?d=e[1]:(d=l&&(0,M.jsx)(G,{}),e[0]=l,e[1]=d);let f;e[2]===c?f=e[3]:(f=c&&(0,M.jsx)(Y,{}),e[2]=c,e[3]=f);let m;e[4]===i?m=e[5]:(m=i&&(0,M.jsx)(K,{}),e[4]=i,e[5]=m);let h;e[6]===r?h=e[7]:(h=r&&(0,M.jsx)(q,{}),e[6]=r,e[7]=h);let g;return e[8]!==d||e[9]!==f||e[10]!==m||e[11]!==h?(g=(0,M.jsxs)(`div`,{className:j.Root,children:[d,f,m,h]}),e[8]=d,e[9]=f,e[10]=m,e[11]=h,e[12]=g):g=e[12],g}function Z(e){return e.animation!==null}export{X as KeyboardOverlay}; \ No newline at end of file diff --git a/docs/assets/KeyboardOverlay-e8677eWT.js b/docs/assets/KeyboardOverlay-e8677eWT.js deleted file mode 100644 index 3230d88e..00000000 --- a/docs/assets/KeyboardOverlay-e8677eWT.js +++ /dev/null @@ -1 +0,0 @@ -import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import{r as i}from"./SettingsProvider-DVIFsPwe.js";import{n as a}from"./cameraTourStore-CDmCk75t.js";import{B as o,D as s,G as c,H as l,J as u,K as d,N as f,O as p,P as m,S as h,T as g,V as _,b as v,d as y,m as b,q as x,x as S}from"./index-Ds_qp2Yy.js";import{n as C,t as w}from"./gr-P7ZS2BjD.js";var T=t(),E=e(n(),1);function D(e){return document.addEventListener(`pointerlockchange`,e),()=>document.removeEventListener(`pointerlockchange`,e)}function O(){return document.pointerLockElement!==null}function k(){return(0,E.useSyncExternalStore)(D,O,A)}function A(){return!1}var j={Root:`_Root_88qkf_1`,Column:`_Column_88qkf_13`,Row:`_Row_88qkf_25`,Spacer:`_Spacer_88qkf_31`,Sep:`_Sep_88qkf_35`,Key:`_Key_88qkf_39`,Label:`_Label_88qkf_78`,MultiInput:`_MultiInput_88qkf_120`,Input:`_Input_88qkf_128`,ColumnLabel:`_ColumnLabel_88qkf_161`,PlayPauseIcon:`_PlayPauseIcon_88qkf_170`,MouseIcon:`_MouseIcon_88qkf_174`},M=r();function N(e,t){let n=e[t];return n!=null&&`pressed`in n&&n.pressed}function P(e){let t=(0,T.c)(24),{action:n,input:r,label:i,labelPosition:a,labelSize:o,inputSize:s,size:c,disabled:l,debounce:u}=e,d=a===void 0?`hidden`:a,f=o===void 0?`fill`:o,p=s===void 0?`fill`:s,m=c===void 0?`fill`:c,h=l===void 0?!1:l,g=(0,E.useRef)(void 0),[_,v]=(0,E.useState)(!1),b;t[0]===n?b=t[1]:(b=typeof n==`function`?n:e=>N(e,n),t[0]=n,t[1]=b);let x=y(b),S,C;t[2]!==u||t[3]!==x?(S=()=>{if(u)if(x)clearTimeout(g.current),g.current=void 0,v(!0);else return g.current=setTimeout(()=>{g.current=void 0,v(!1)},u),()=>clearTimeout(g.current)},C=[x,u],t[2]=u,t[3]=x,t[4]=S,t[5]=C):(S=t[4],C=t[5]),(0,E.useEffect)(S,C);let w=u?_:x,D;t[6]!==i||t[7]!==d||t[8]!==f?(D=d===`left`?(0,M.jsx)(`span`,{className:j.Label,"data-size":f,children:i}):null,t[6]=i,t[7]=d,t[8]=f,t[9]=D):D=t[9];let O;t[10]!==r||t[11]!==p?(O=Array.isArray(r)?(0,M.jsx)(`div`,{className:j.MultiInput,"data-size":p,children:r.map(F)}):(0,M.jsx)(`span`,{className:j.Input,"data-size":p,children:r}),t[10]=r,t[11]=p,t[12]=O):O=t[12];let k;t[13]!==i||t[14]!==d||t[15]!==f?(k=d===`right`?(0,M.jsx)(`span`,{className:j.Label,"data-size":f,children:i}):null,t[13]=i,t[14]=d,t[15]=f,t[16]=k):k=t[16];let A;return t[17]!==h||t[18]!==w||t[19]!==m||t[20]!==O||t[21]!==k||t[22]!==D?(A=(0,M.jsxs)(`div`,{className:j.Key,"data-pressed":w,"data-size":m,"data-disabled":h,children:[D,O,k]}),t[17]=h,t[18]=w,t[19]=m,t[20]=O,t[21]=k,t[22]=D,t[23]=A):A=t[23],A}function F(e,t){return(0,M.jsx)(`span`,{className:j.Input,children:e},t)}function I(){let e=(0,T.c)(12),t=k(),[n,r]=(0,E.useState)(!1),i=(0,E.useRef)(!1),a,o;e[0]===t?(a=e[1],o=e[2]):(a=()=>{if(i.current&&!t){r(!0);let e=setTimeout(()=>r(!1),150);return()=>clearTimeout(e)}i.current=t},o=[t],e[0]=t,e[1]=a,e[2]=o),(0,E.useEffect)(a,o);let s=t||n,c;e[3]!==n||e[4]!==s?(c=s?()=>n:`canvasClick`,e[3]=n,e[4]=s,e[5]=c):c=e[5];let l=s?`Unlock mouse`:`Capture mouse`,u;e[6]===s?u=e[7]:(u=s?`Esc`:(0,M.jsx)(v,{className:j.MouseIcon}),e[6]=s,e[7]=u);let d;return e[8]!==c||e[9]!==l||e[10]!==u?(d=(0,M.jsx)(P,{action:c,label:l,input:u,labelPosition:`right`,inputSize:`auto`}),e[8]=c,e[9]=l,e[10]=u,e[11]=d):d=e[11],d}function L(){let e=(0,T.c)(4),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,M.jsxs)(`div`,{className:j.Row,children:[(0,M.jsx)(`div`,{className:j.Spacer}),(0,M.jsx)(P,{action:`moveForward`,input:`W`,label:`Forward`}),(0,M.jsx)(`div`,{className:j.Spacer})]}),e[0]=t):t=e[0];let n;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,M.jsxs)(`div`,{className:j.Column,children:[t,(0,M.jsxs)(`div`,{className:j.Row,children:[(0,M.jsx)(P,{action:`moveLeft`,input:`A`,label:`Strafe left`}),(0,M.jsx)(P,{action:`moveBackward`,input:`S`,label:`Backward`}),(0,M.jsx)(P,{action:`moveRight`,input:`D`,label:`Strafe right`})]})]}),e[1]=n):n=e[1];let r;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,M.jsx)(`div`,{className:j.Row,children:(0,M.jsx)(P,{action:`moveUp`,input:`E`,label:(0,M.jsx)(l,{}),labelPosition:`left`,labelSize:`auto`})}),e[2]=r):r=e[2];let i;return e[3]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,M.jsxs)(M.Fragment,{children:[n,(0,M.jsxs)(`div`,{className:j.Column,children:[r,(0,M.jsx)(`div`,{className:j.Row,children:(0,M.jsx)(P,{action:`moveDown`,input:`Q`,label:(0,M.jsx)(_,{}),labelPosition:`left`,labelSize:`auto`})})]})]}),e[3]=i):i=e[3],i}function R(){let e=(0,T.c)(5),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,M.jsx)(`div`,{className:j.Spacer}),e[0]=t):t=e[0];let n;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,M.jsxs)(`div`,{className:j.Row,children:[t,(0,M.jsx)(P,{action:`lookUp`,input:(0,M.jsx)(u,{}),label:`Look up`}),(0,M.jsx)(`div`,{className:j.Spacer})]}),e[1]=n):n=e[1];let r;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,M.jsx)(P,{action:`lookLeft`,input:(0,M.jsx)(d,{}),label:`Look left`}),e[2]=r):r=e[2];let i;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,M.jsx)(P,{action:`lookDown`,input:(0,M.jsx)(c,{}),label:`Look down`}),e[3]=i):i=e[3];let a;return e[4]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,M.jsxs)(`div`,{className:j.Column,children:[n,(0,M.jsxs)(`div`,{className:j.Row,children:[r,i,(0,M.jsx)(P,{action:`lookRight`,input:(0,M.jsx)(x,{}),label:`Look right`})]})]}),e[4]=a):a=e[4],a}function z(){let e=(0,T.c)(8),{speedMultiplier:t}=i(),[n,r]=(0,E.useState)(null),a;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=()=>{r(B);let e=setTimeout(()=>{r(!1)},100);return()=>clearTimeout(e)},e[0]=a):a=e[0];let o;e[1]===t?o=e[2]:(o=[t],e[1]=t,e[2]=o),(0,E.useEffect)(a,o);let s;e[3]===n?s=e[4]:(s=e=>(e.adjustSpeed?.deltaY??0)!==0&&(n??!1),e[3]=n,e[4]=s);let c;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,M.jsx)(S,{className:j.MouseIcon}),e[5]=c):c=e[5];let l;return e[6]===s?l=e[7]:(l=(0,M.jsx)(P,{action:s,debounce:50,label:`Adjust speed`,input:c,labelPosition:`right`,inputSize:`auto`}),e[6]=s,e[7]=l),l}function B(e){return e!=null}function V(){let e=(0,T.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,M.jsx)(P,{action:H,input:(0,M.jsx)(o,{className:j.MouseIcon}),label:`Rotate camera`,labelPosition:`right`,inputSize:`auto`}),e[0]=t):t=e[0],t}function H(e){return e.dragLook?.dragging??!1}function U(){let e=(0,T.c)(6),t=f()===`map`,n=m(`Camera`),r=t?n.length:0,i,a;e[0]===r?(i=e[1],a=e[2]):(i=e=>Array.from({length:r},(t,n)=>N(e,`camera${n+1}`)).some(W),a=r===1?`1`:(0,M.jsxs)(M.Fragment,{children:[`1 – `,r]}),e[0]=r,e[1]=i,e[2]=a);let o;return e[3]!==i||e[4]!==a?(o=(0,M.jsx)(P,{action:i,input:a,label:`Select camera`,labelPosition:`right`}),e[3]=i,e[4]=a,e[5]=o):o=e[5],o}function W(e){return e}function G(){let e=(0,T.c)(11),t=k(),n=f()===`map`,r=m(`Camera`),i=n?r.length:0,a,o;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,M.jsx)(L,{}),o=(0,M.jsx)(R,{}),e[0]=a,e[1]=o):(a=e[0],o=e[1]);let s;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,M.jsx)(`div`,{className:j.Row,children:(0,M.jsx)(z,{})}),e[2]=s):s=e[2];let c;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,M.jsxs)(`div`,{className:j.Column,"data-height":`compact`,children:[s,(0,M.jsx)(`div`,{className:j.Row,children:(0,M.jsx)(I,{})})]}),e[3]=c):c=e[3];let l;e[4]===t?l=e[5]:(l=t?null:(0,M.jsx)(`div`,{className:j.Row,children:(0,M.jsx)(V,{})}),e[4]=t,e[5]=l);let u;e[6]===i?u=e[7]:(u=i>0&&(0,M.jsx)(`div`,{className:j.Row,children:(0,M.jsx)(U,{})}),e[6]=i,e[7]=u);let d;return e[8]!==l||e[9]!==u?(d=(0,M.jsxs)(M.Fragment,{children:[a,o,c,(0,M.jsxs)(`div`,{className:j.Column,"data-height":`compact`,children:[l,u]})]}),e[8]=l,e[9]=u,e[10]=d):d=e[10],d}function K(){let e=(0,T.c)(15),t=g(),n=p(),r=h.indexOf(n)+1,i=h.indexOf(n)-1,a=r>=h.length,o=i<0,s;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=[`<`,`,`],e[0]=s):s=e[0];let c;e[1]===o?c=e[2]:(c=(0,M.jsx)(P,{action:`decreasePlaybackSpeed`,label:`Slow down`,input:s,labelPosition:`right`,disabled:o}),e[1]=o,e[2]=c);let l;e[3]===t?l=e[4]:(l=(0,M.jsx)(P,{action:`playPause`,label:t?(0,M.jsx)(w,{className:j.PlayPauseIcon}):(0,M.jsx)(C,{className:j.PlayPauseIcon}),input:`Space`,labelPosition:`left`,size:`auto`}),e[3]=t,e[4]=l);let u;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(u=[`>`,`.`],e[5]=u):u=e[5];let d;e[6]===a?d=e[7]:(d=(0,M.jsx)(P,{action:`increasePlaybackSpeed`,input:u,label:`Speed up`,labelPosition:`left`,disabled:a}),e[6]=a,e[7]=d);let f;e[8]!==c||e[9]!==l||e[10]!==d?(f=(0,M.jsx)(`div`,{className:j.Column,children:(0,M.jsxs)(`div`,{className:j.Row,children:[c,l,d]})}),e[8]=c,e[9]=l,e[10]=d,e[11]=f):f=e[11];let m;e[12]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,M.jsx)(`div`,{className:j.Column,children:(0,M.jsx)(`div`,{className:j.Row,children:(0,M.jsx)(I,{})})}),e[12]=m):m=e[12];let _;return e[13]===f?_=e[14]:(_=(0,M.jsxs)(M.Fragment,{children:[f,m]}),e[13]=f,e[14]=_),_}function q(){let e=(0,T.c)(5),t=a(J),n;e[0]===t?n=e[1]:(n=!t&&(0,M.jsx)(P,{action:`nextStop`,label:`Skip to next stop`,input:(0,M.jsx)(v,{className:j.MouseIcon}),labelPosition:`right`}),e[0]=t,e[1]=n);let r;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,M.jsx)(P,{action:`exitTour`,label:`Exit tour`,input:`Esc`,labelPosition:`right`}),e[2]=r):r=e[2];let i;return e[3]===n?i=e[4]:(i=(0,M.jsx)(M.Fragment,{children:(0,M.jsx)(`div`,{className:j.Column,children:(0,M.jsxs)(`div`,{className:j.Row,children:[n,r]})})}),e[3]=n,e[4]=i),i}function J(e){return e.animation!=null&&e.animation.currentIndex>=e.animation.targets.length-1}function Y(){let e=(0,T.c)(23),t=b(),n=k(),r;e[0]===t?r=e[1]:(r=t===`fly`?(0,M.jsx)(L,{}):null,e[0]=t,e[1]=r);let i;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,M.jsx)(R,{}),e[2]=i):i=e[2];let a;e[3]===t?a=e[4]:(a=t===`fly`?(0,M.jsx)(`div`,{className:j.Row,children:(0,M.jsx)(z,{})}):null,e[3]=t,e[4]=a);let o;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,M.jsx)(`div`,{className:j.Row,children:(0,M.jsx)(I,{})}),e[5]=o):o=e[5];let s;e[6]===a?s=e[7]:(s=(0,M.jsxs)(`div`,{className:j.Column,"data-height":`compact`,children:[a,o]}),e[6]=a,e[7]=s);let c;e[8]===n?c=e[9]:(c=n?null:(0,M.jsx)(`div`,{className:j.Row,children:(0,M.jsx)(V,{})}),e[8]=n,e[9]=c);let l;e[10]!==t||e[11]!==n?(l=t===`follow`&&n?(0,M.jsx)(`div`,{className:j.Row,children:(0,M.jsx)(P,{action:`nextPlayer`,label:`Next player`,input:(0,M.jsx)(v,{className:j.MouseIcon}),labelPosition:`right`,inputSize:`auto`})}):null,e[10]=t,e[11]=n,e[12]=l):l=e[12];let u=t===`follow`?`Fly mode`:`Follow mode`,d;e[13]===u?d=e[14]:(d=(0,M.jsx)(`div`,{className:j.Row,children:(0,M.jsx)(P,{action:`toggleObserverMode`,label:u,input:`Space`,labelPosition:`right`,inputSize:`auto`})}),e[13]=u,e[14]=d);let f;e[15]!==c||e[16]!==l||e[17]!==d?(f=(0,M.jsxs)(`div`,{className:j.Column,"data-height":`compact`,children:[c,l,d]}),e[15]=c,e[16]=l,e[17]=d,e[18]=f):f=e[18];let p;return e[19]!==r||e[20]!==s||e[21]!==f?(p=(0,M.jsxs)(M.Fragment,{children:[r,i,s,f]}),e[19]=r,e[20]=s,e[21]=f,e[22]=p):p=e[22],p}function X(){let e=(0,T.c)(13),t=s(),n=b(),r=a(Z),i=t?.source===`demo`,o=t?.source===`live`,c=!t,l=o&&(n===`fly`||n===`follow`),u=c&&!r,d;e[0]===u?d=e[1]:(d=u&&(0,M.jsx)(G,{}),e[0]=u,e[1]=d);let f;e[2]===l?f=e[3]:(f=l&&(0,M.jsx)(Y,{}),e[2]=l,e[3]=f);let p;e[4]===i?p=e[5]:(p=i&&(0,M.jsx)(K,{}),e[4]=i,e[5]=p);let m;e[6]===r?m=e[7]:(m=r&&(0,M.jsx)(q,{}),e[6]=r,e[7]=m);let h;return e[8]!==d||e[9]!==f||e[10]!==p||e[11]!==m?(h=(0,M.jsxs)(`div`,{className:j.Root,children:[d,f,p,m]}),e[8]=d,e[9]=f,e[10]=p,e[11]=m,e[12]=h):h=e[12],h}function Z(e){return e.animation!==null}export{X as KeyboardOverlay}; \ No newline at end of file diff --git a/docs/assets/MapInfoDialog-C61PcuCl.js b/docs/assets/MapInfoDialog-DRDO-hEe.js similarity index 70% rename from docs/assets/MapInfoDialog-C61PcuCl.js rename to docs/assets/MapInfoDialog-DRDO-hEe.js index a0365f05..5e374e5e 100644 --- a/docs/assets/MapInfoDialog-C61PcuCl.js +++ b/docs/assets/MapInfoDialog-DRDO-hEe.js @@ -1,5 +1,5 @@ -import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import{t as i}from"./useQuery-DfKJ2xlM.js";import{b as a,i as o,l as s,n as c}from"./loaders-BhaVxgpz.js";import{U as l,W as u}from"./index-Ds_qp2Yy.js";var d=e(n(),1),f=t(),p={GuiMarkup:`_GuiMarkup_jg4va_1`,Bullet:`_Bullet_jg4va_12`},m=r(),h=new Set([`spop`,`spush`,`lmargin`,`font`,`color`,`bitmap`,`a`,`/a`]);function g(e){return e.split(/<([^><]+)>/g).map((e,t)=>{if(t%2==0)return e?{type:`text`,value:e}:null;{let[t,...n]=e.split(`:`);return h.has(t.toLowerCase())?{type:`tag`,name:t,args:n}:{type:`text`,value:`<${e}>`}}}).filter(e=>e!=null)}function _(e){let[t,n]=e;return{fontDescription:t,fontSize:n?Math.max(11,Math.min(parseInt(n.trim(),10),16)):void 0}}function v(e){let t=g(e),n={type:`span`,source:`root`,style:{},children:[]},r=n,i=[r],a=e=>e.children!=null&&e.children.some(e=>typeof e==`string`||a(e));for(let e of t)switch(e.type){case`text`:r.children.push(e.value);break;case`tag`:switch(e.name){case`spush`:{let e={type:`span`,source:`spush`,style:{},children:[]};r.children.push(e),r=e,i.push(r);break}case`spop`:if(r.source!==`root`){let e=i.pop();for(;e.source!==`spush`;)e=i.pop();r=i[i.length-1]}break;case`lmargin`:break;case`font`:{let t=_(e.args).fontSize;if(!a(r))r.style.fontSize=t;else{let e={type:`span`,source:`spush`,style:{fontSize:t},children:[]};r.children.push(e),r=e,i.push(r)}break}case`color`:if(!a(r))r.style.color=`#${e.args[0].trim()}`;else{let t={type:`span`,source:`spush`,style:{color:`#${e.args[0].trim()}`},children:[]};r.children.push(t),r=t,i.push(r)}break;case`bitmap`:{let t={type:`bitmap`,value:e.args[0]};r.children.push(t);break}case`a`:{let t=e.args[0].trim().split(` `),n={type:`a`,source:`a`,value:`http://${t.length===2&&t[0]===`wwwlink`?t[1]:t[0]}`,style:{},children:[]};r.children.push(n),r=n,i.push(r);break}case`/a`:{let e=i.pop();for(;e.source!==`a`;)e=i.pop();r=i[i.length-1];break}}}return y(n)}function y(e){switch(e.type){case`span`:return d.createElement(`span`,{style:Object.keys(e.style).length===0?void 0:e.style},...e.children.map(e=>typeof e==`string`?e:y(e)));case`a`:return d.createElement(`a`,{href:e.value,style:Object.keys(e.style).length===0?void 0:e.style,rel:`noopener noreferrer`,target:`_blank`},...e.children.map(e=>typeof e==`string`?e:y(e)));case`bitmap`:return(0,m.jsx)(S,{name:e.value})}}var b=new Map;function x(e){if(b.has(e))return b.get(e);let t;try{t=o(a(`textures/gui/${e}`))}catch{t=null}return b.set(e,t),t}function S(e){let t=(0,f.c)(5),{name:n}=e,r;t[0]===n?r=t[1]:(r=x(n),t[0]=n,t[1]=r);let i=r;if(i){let e;return t[2]===i?e=t[3]:(e=(0,m.jsx)(`img`,{src:i,alt:``,className:p.Bitmap}),t[2]=i,t[3]=e),e}if(/bullet/i.test(n)){let e;return t[4]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,m.jsx)(`span`,{className:p.Bullet,children:`•`}),t[4]=e):e=t[4],e}return null}var C=/<(?:font|color|bitmap|just|lmargin|a):/i;function w(e){return C.test(e)}function T(e,t){let n=t.toUpperCase();return e.split(` +import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import{t as i}from"./useQuery-BomOZ8gL.js";import{c as a}from"./manifest-MMwwguGo.js";import{i as o,it as s,l as c,n as l,rt as u}from"./index-BEKjcnfN.js";var d=e(n(),1),f=t(),p={GuiMarkup:`_GuiMarkup_jg4va_1`,Bullet:`_Bullet_jg4va_12`},m=r(),h=new Set([`spop`,`spush`,`lmargin`,`font`,`color`,`bitmap`,`a`,`/a`]);function g(e){return e.split(/<([^><]+)>/g).map((e,t)=>{if(t%2==0)return e?{type:`text`,value:e}:null;{let[t,...n]=e.split(`:`);return h.has(t.toLowerCase())?{type:`tag`,name:t,args:n}:{type:`text`,value:`<${e}>`}}}).filter(e=>e!=null)}function _(e){let[t,n]=e;return{fontDescription:t,fontSize:n?Math.max(11,Math.min(parseInt(n.trim(),10),16)):void 0}}function v(e){let t=g(e),n={type:`span`,source:`root`,style:{},children:[]},r=n,i=[r],a=e=>e.children!=null&&e.children.some(e=>typeof e==`string`||a(e));for(let e of t)switch(e.type){case`text`:r.children.push(e.value);break;case`tag`:switch(e.name){case`spush`:{let e={type:`span`,source:`spush`,style:{},children:[]};r.children.push(e),r=e,i.push(r);break}case`spop`:if(r.source!==`root`){let e=i.pop();for(;e.source!==`spush`;)e=i.pop();r=i[i.length-1]}break;case`lmargin`:break;case`font`:{let t=_(e.args).fontSize;if(!a(r))r.style.fontSize=t;else{let e={type:`span`,source:`spush`,style:{fontSize:t},children:[]};r.children.push(e),r=e,i.push(r)}break}case`color`:if(!a(r))r.style.color=`#${e.args[0].trim()}`;else{let t={type:`span`,source:`spush`,style:{color:`#${e.args[0].trim()}`},children:[]};r.children.push(t),r=t,i.push(r)}break;case`bitmap`:{let t={type:`bitmap`,value:e.args[0]};r.children.push(t);break}case`a`:{let t=e.args[0].trim().split(` `),n={type:`a`,source:`a`,value:`http://${t.length===2&&t[0]===`wwwlink`?t[1]:t[0]}`,style:{},children:[]};r.children.push(n),r=n,i.push(r);break}case`/a`:{let e=i.pop();for(;e.source!==`a`;)e=i.pop();r=i[i.length-1];break}}}return y(n)}function y(e){switch(e.type){case`span`:return d.createElement(`span`,{style:Object.keys(e.style).length===0?void 0:e.style},...e.children.map(e=>typeof e==`string`?e:y(e)));case`a`:return d.createElement(`a`,{href:e.value,style:Object.keys(e.style).length===0?void 0:e.style,rel:`noopener noreferrer`,target:`_blank`},...e.children.map(e=>typeof e==`string`?e:y(e)));case`bitmap`:return(0,m.jsx)(S,{name:e.value})}}var b=new Map;function x(e){if(b.has(e))return b.get(e);let t;try{t=o(a(`textures/gui/${e}`))}catch{t=null}return b.set(e,t),t}function S(e){let t=(0,f.c)(5),{name:n}=e,r;t[0]===n?r=t[1]:(r=x(n),t[0]=n,t[1]=r);let i=r;if(i){let e;return t[2]===i?e=t[3]:(e=(0,m.jsx)(`img`,{src:i,alt:``,className:p.Bitmap}),t[2]=i,t[3]=e),e}if(/bullet/i.test(n)){let e;return t[4]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,m.jsx)(`span`,{className:p.Bullet,children:`•`}),t[4]=e):e=t[4],e}return null}var C=/<(?:font|color|bitmap|just|lmargin|a):/i;function w(e){return C.test(e)}function T(e,t){let n=t.toUpperCase();return e.split(` `).flatMap(e=>{let t=e.match(/^\[([^\]]+)\]/);return t&&!t[1].toUpperCase().split(/\s+/).includes(n)?[]:[e.replace(/^\[[^\]]+\]/,``)]}).join(` -`)}function E(e){let t=(0,f.c)(4),{markup:n}=e,r;t[0]===n?r=t[1]:(r=v(n),t[0]=n,t[1]=r);let i=r,a;return t[2]===i?a=t[3]:(a=(0,m.jsx)(`div`,{className:p.GuiMarkup,children:i}),t[2]=i,t[3]=a),a}var D={Dialog:`_Dialog_tbn5d_1 _Dialog_1t9wa_1`,Overlay:`_Overlay_tbn5d_10 _Overlay_1t9wa_22`,Body:`_Body_tbn5d_14`,Left:`_Left_tbn5d_22`,PreviewImage:`_PreviewImage_tbn5d_29`,PreviewImageFloating:`_PreviewImageFloating_tbn5d_35`,Title:`_Title_tbn5d_45`,MapMeta:`_MapMeta_tbn5d_53`,MapPlanet:`_MapPlanet_tbn5d_63`,MapQuote:`_MapQuote_tbn5d_67`,MapBlurb:`_MapBlurb_tbn5d_86`,Section:`_Section_tbn5d_91`,SectionTitle:`_SectionTitle_tbn5d_95`,MusicTrack:`_MusicTrack_tbn5d_105`,MusicButton:`_MusicButton_tbn5d_119`,Footer:`_Footer_tbn5d_146`,CloseButton:`_CloseButton_tbn5d_158 _DialogButton_1t9wa_33`,Hint:`_Hint_tbn5d_162`,MusicTrackName:`_MusicTrackName_tbn5d_168`};function ee(e){let t=(0,f.c)(2),n;return t[0]===e?n=t[1]:(n={queryKey:[`parsedMission`,e],queryFn:()=>s(e)},t[0]=e,t[1]=n),i(n)}function te(e){for(let t of e.body){if(t.type!==`ObjectDeclaration`)continue;let{instanceName:e,body:n}=t;if(e&&e.type===`Identifier`&&e.name.toLowerCase()===`missiongroup`){let e={};for(let t of n){if(t.type!==`Assignment`)continue;let{target:n,value:r}=t;n.type===`Identifier`&&r.type===`StringLiteral`&&(e[n.name.toLowerCase()]=r.value)}return e}}return{}}function ne(e,t){if(e)try{return o(a(`textures/gui/${e}`))}catch{}try{return o(a(`textures/gui/Load_${t}`))}catch{}return null}function re(e){let t=(0,f.c)(7),{src:n,alt:r,className:i}=e,a=i===void 0?D.PreviewImage:i,[o,s]=(0,d.useState)(null),c,l;if(t[0]===n?(c=t[1],l=t[2]):(c=()=>{let e=!1,t;return fetch(n).then(j).then(A).then(k).then(n=>{e||!n||(t=URL.createObjectURL(n),s(t))}).catch(O),()=>{e=!0,t&&URL.revokeObjectURL(t)}},l=[n],t[0]=n,t[1]=c,t[2]=l),(0,d.useEffect)(c,l),!o)return null;let u;return t[3]!==r||t[4]!==a||t[5]!==o?(u=(0,m.jsx)(`img`,{src:o,alt:r,className:a}),t[3]=r,t[4]=a,t[5]=o,t[6]=u):u=t[6],u}function O(){}function k(e){return new Promise(t=>{let n=document.createElement(`canvas`);n.width=e.width,n.height=e.height,n.getContext(`2d`)?.drawImage(e,0,0),e.close(),n.toBlob(t)})}function A(e){return createImageBitmap(e,{colorSpaceConversion:`none`})}function j(e){return e.blob()}function ie(e){let t=(0,f.c)(22),{track:n}=e,[r,i]=(0,d.useState)(!1),[a,o]=(0,d.useState)(!0),s=(0,d.useRef)(null),p;t[0]===n?p=t[1]:(p=n.toLowerCase(),t[0]=n,t[1]=p);let h=`${c}music/${p}.mp3`,g,_;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(g=()=>{let e=s.current;if(e)return()=>{e.pause()}},_=[],t[2]=g,t[3]=_):(g=t[2],_=t[3]),(0,d.useEffect)(g,_);let v;t[4]===r?v=t[5]:(v=()=>{let e=s.current;e&&(r?e.pause():e.play().catch(()=>o(!1)))},t[4]=r,t[5]=v);let y=v,b,x,S;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(b=()=>i(!0),x=()=>i(!1),S=()=>o(!1),t[6]=b,t[7]=x,t[8]=S):(b=t[6],x=t[7],S=t[8]);let C;t[9]===h?C=t[10]:(C=(0,m.jsx)(`audio`,{ref:s,src:h,loop:!0,onPlay:b,onPause:x,onError:S}),t[9]=h,t[10]=C);let w;t[11]===n?w=t[12]:(w=(0,m.jsx)(`span`,{className:D.MusicTrackName,children:n}),t[11]=n,t[12]=w);let T;t[13]!==a||t[14]!==r||t[15]!==y?(T=a&&(0,m.jsx)(`button`,{className:D.MusicButton,onClick:y,"aria-label":r?`Pause music`:`Play music`,children:r?(0,m.jsx)(u,{}):(0,m.jsx)(l,{})}),t[13]=a,t[14]=r,t[15]=y,t[16]=T):T=t[16];let E;return t[17]!==r||t[18]!==T||t[19]!==C||t[20]!==w?(E=(0,m.jsxs)(`div`,{className:D.MusicTrack,"data-playing":r,children:[C,w,T]}),t[17]=r,t[18]=T,t[19]=C,t[20]=w,t[21]=E):E=t[21],E}function M(e){let t=(0,f.c)(100),{onClose:n,missionName:r,missionType:i}=e,{data:a}=ee(r),o=(0,d.useRef)(null),s,c;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=()=>{o.current?.focus();try{document.exitPointerLock()}catch{}},c=[],t[0]=s,t[1]=c):(s=t[0],c=t[1]),(0,d.useEffect)(s,c);let l,u;t[2]===n?(l=t[3],u=t[4]):(l=()=>{let e=e=>{if(e.key===`Escape`)n();else if(e.key===`k`&&(e.metaKey||e.ctrlKey)){n();return}e.stopImmediatePropagation()},t=se;return window.addEventListener(`keydown`,e,{capture:!0}),window.addEventListener(`keyup`,t,{capture:!0}),()=>{window.removeEventListener(`keydown`,e,{capture:!0}),window.removeEventListener(`keyup`,t,{capture:!0})}},u=[n],t[2]=n,t[3]=l,t[4]=u),(0,d.useEffect)(l,u);let p;t[5]===a?p=t[6]:(p=a?te(a.ast):{},t[5]=a,t[6]=p);let h=p,g;t[7]!==r||t[8]!==a?(g=a?ne(a.bitmap,r):null,t[7]=r,t[8]=a,t[9]=g):g=t[9];let _=g,v=a?.displayName??r,y;t[10]===i?y=t[11]:(y=i.toLowerCase(),t[10]=i,t[11]=y);let b=y===`singleplayer`,x=h.musictrack,S,C,O,k,A,j,M,N,P,F,I,L,R,z,B,V,H,U;if(t[12]!==_||t[13]!==v||t[14]!==b||t[15]!==i||t[16]!==n||t[17]!==a){let e=a?.missionString?T(a.missionString,i):null,r,s,c,l;if(t[36]!==a?.missionQuote){if(l=a?.missionQuote?.trim()??``,s=w(l),c=``,r=``,!s)for(let e of l.split(` +`)}function E(e){let t=(0,f.c)(4),{markup:n}=e,r;t[0]===n?r=t[1]:(r=v(n),t[0]=n,t[1]=r);let i=r,a;return t[2]===i?a=t[3]:(a=(0,m.jsx)(`div`,{className:p.GuiMarkup,children:i}),t[2]=i,t[3]=a),a}var D={Dialog:`_Dialog_tbn5d_1 _Dialog_1t9wa_1`,Overlay:`_Overlay_tbn5d_10 _Overlay_1t9wa_22`,Body:`_Body_tbn5d_14`,Left:`_Left_tbn5d_22`,PreviewImage:`_PreviewImage_tbn5d_29`,PreviewImageFloating:`_PreviewImageFloating_tbn5d_35`,Title:`_Title_tbn5d_45`,MapMeta:`_MapMeta_tbn5d_53`,MapPlanet:`_MapPlanet_tbn5d_63`,MapQuote:`_MapQuote_tbn5d_67`,MapBlurb:`_MapBlurb_tbn5d_86`,Section:`_Section_tbn5d_91`,SectionTitle:`_SectionTitle_tbn5d_95`,MusicTrack:`_MusicTrack_tbn5d_105`,MusicButton:`_MusicButton_tbn5d_119`,Footer:`_Footer_tbn5d_146`,CloseButton:`_CloseButton_tbn5d_158 _DialogButton_1t9wa_33`,Hint:`_Hint_tbn5d_162`,MusicTrackName:`_MusicTrackName_tbn5d_168`};function ee(e){let t=(0,f.c)(2),n;return t[0]===e?n=t[1]:(n={queryKey:[`parsedMission`,e],queryFn:()=>c(e)},t[0]=e,t[1]=n),i(n)}function te(e){for(let t of e.body){if(t.type!==`ObjectDeclaration`)continue;let{instanceName:e,body:n}=t;if(e&&e.type===`Identifier`&&e.name.toLowerCase()===`missiongroup`){let e={};for(let t of n){if(t.type!==`Assignment`)continue;let{target:n,value:r}=t;n.type===`Identifier`&&r.type===`StringLiteral`&&(e[n.name.toLowerCase()]=r.value)}return e}}return{}}function ne(e,t){if(e)try{return o(a(`textures/gui/${e}`))}catch{}try{return o(a(`textures/gui/Load_${t}`))}catch{}return null}function re(e){let t=(0,f.c)(7),{src:n,alt:r,className:i}=e,a=i===void 0?D.PreviewImage:i,[o,s]=(0,d.useState)(null),c,l;if(t[0]===n?(c=t[1],l=t[2]):(c=()=>{let e=!1,t;return fetch(n).then(j).then(A).then(k).then(n=>{e||!n||(t=URL.createObjectURL(n),s(t))}).catch(O),()=>{e=!0,t&&URL.revokeObjectURL(t)}},l=[n],t[0]=n,t[1]=c,t[2]=l),(0,d.useEffect)(c,l),!o)return null;let u;return t[3]!==r||t[4]!==a||t[5]!==o?(u=(0,m.jsx)(`img`,{src:o,alt:r,className:a}),t[3]=r,t[4]=a,t[5]=o,t[6]=u):u=t[6],u}function O(){}function k(e){return new Promise(t=>{let n=document.createElement(`canvas`);n.width=e.width,n.height=e.height,n.getContext(`2d`)?.drawImage(e,0,0),e.close(),n.toBlob(t)})}function A(e){return createImageBitmap(e,{colorSpaceConversion:`none`})}function j(e){return e.blob()}function ie(e){let t=(0,f.c)(22),{track:n}=e,[r,i]=(0,d.useState)(!1),[a,o]=(0,d.useState)(!0),c=(0,d.useRef)(null),p;t[0]===n?p=t[1]:(p=n.toLowerCase(),t[0]=n,t[1]=p);let h=`${l}music/${p}.mp3`,g,_;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(g=()=>{let e=c.current;if(e)return()=>{e.pause()}},_=[],t[2]=g,t[3]=_):(g=t[2],_=t[3]),(0,d.useEffect)(g,_);let v;t[4]===r?v=t[5]:(v=()=>{let e=c.current;e&&(r?e.pause():e.play().catch(()=>o(!1)))},t[4]=r,t[5]=v);let y=v,b,x,S;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(b=()=>i(!0),x=()=>i(!1),S=()=>o(!1),t[6]=b,t[7]=x,t[8]=S):(b=t[6],x=t[7],S=t[8]);let C;t[9]===h?C=t[10]:(C=(0,m.jsx)(`audio`,{ref:c,src:h,loop:!0,onPlay:b,onPause:x,onError:S}),t[9]=h,t[10]=C);let w;t[11]===n?w=t[12]:(w=(0,m.jsx)(`span`,{className:D.MusicTrackName,children:n}),t[11]=n,t[12]=w);let T;t[13]!==a||t[14]!==r||t[15]!==y?(T=a&&(0,m.jsx)(`button`,{className:D.MusicButton,onClick:y,"aria-label":r?`Pause music`:`Play music`,children:r?(0,m.jsx)(s,{}):(0,m.jsx)(u,{})}),t[13]=a,t[14]=r,t[15]=y,t[16]=T):T=t[16];let E;return t[17]!==r||t[18]!==T||t[19]!==C||t[20]!==w?(E=(0,m.jsxs)(`div`,{className:D.MusicTrack,"data-playing":r,children:[C,w,T]}),t[17]=r,t[18]=T,t[19]=C,t[20]=w,t[21]=E):E=t[21],E}function M(e){let t=(0,f.c)(100),{onClose:n,missionName:r,missionType:i}=e,{data:a}=ee(r),o=(0,d.useRef)(null),s,c;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=()=>{o.current?.focus();try{document.exitPointerLock()}catch{}},c=[],t[0]=s,t[1]=c):(s=t[0],c=t[1]),(0,d.useEffect)(s,c);let l,u;t[2]===n?(l=t[3],u=t[4]):(l=()=>{let e=e=>{if(e.key===`Escape`)n();else if(e.key===`k`&&(e.metaKey||e.ctrlKey)){n();return}e.stopImmediatePropagation()},t=se;return window.addEventListener(`keydown`,e,{capture:!0}),window.addEventListener(`keyup`,t,{capture:!0}),()=>{window.removeEventListener(`keydown`,e,{capture:!0}),window.removeEventListener(`keyup`,t,{capture:!0})}},u=[n],t[2]=n,t[3]=l,t[4]=u),(0,d.useEffect)(l,u);let p;t[5]===a?p=t[6]:(p=a?te(a.ast):{},t[5]=a,t[6]=p);let h=p,g;t[7]!==r||t[8]!==a?(g=a?ne(a.bitmap,r):null,t[7]=r,t[8]=a,t[9]=g):g=t[9];let _=g,v=a?.displayName??r,y;t[10]===i?y=t[11]:(y=i.toLowerCase(),t[10]=i,t[11]=y);let b=y===`singleplayer`,x=h.musictrack,S,C,O,k,A,j,M,N,P,F,I,L,R,z,B,V,H,U;if(t[12]!==_||t[13]!==v||t[14]!==b||t[15]!==i||t[16]!==n||t[17]!==a){let e=a?.missionString?T(a.missionString,i):null,r,s,c,l;if(t[36]!==a?.missionQuote){if(l=a?.missionQuote?.trim()??``,s=w(l),c=``,r=``,!s)for(let e of l.split(` `)){let t=e.trim();t.match(/^--[^-]/)?r=t.replace(/^-+\s*/,``).trim():t&&(c+=(c?` `:``)+t)}t[36]=a?.missionQuote,t[37]=r,t[38]=s,t[39]=c,t[40]=l}else r=t[37],s=t[38],c=t[39],l=t[40];B=D.Overlay,V=n,M=o,N=D.Dialog,P=oe,F=ae,I=`dialog`,L=`true`,R=`Map Information`,z=-1,j=D.Body,H=D.Left,t[41]!==_||t[42]!==v||t[43]!==b?(U=_&&b&&(0,m.jsx)(re,{className:D.PreviewImageFloating,src:_,alt:`${v} preview`},_),t[41]=_,t[42]=v,t[43]=b,t[44]=U):U=t[44],t[45]===v?S=t[46]:(S=(0,m.jsx)(`h1`,{className:D.Title,children:v}),t[45]=v,t[46]=S);let u;t[47]===a?u=t[48]:(u=a?.planetName&&(0,m.jsx)(`span`,{className:D.MapPlanet,children:a.planetName}),t[47]=a,t[48]=u),t[49]===u?C=t[50]:(C=(0,m.jsx)(`div`,{className:D.MapMeta,children:u}),t[49]=u,t[50]=C),t[51]!==r||t[52]!==s||t[53]!==c||t[54]!==l?(O=s?(0,m.jsx)(`blockquote`,{className:D.MapQuote,children:(0,m.jsx)(E,{markup:l})}):c?(0,m.jsxs)(`blockquote`,{className:D.MapQuote,children:[(0,m.jsx)(`p`,{children:c}),r&&(0,m.jsxs)(`cite`,{children:[`— `,r]})]}):null,t[51]=r,t[52]=s,t[53]=c,t[54]=l,t[55]=O):O=t[55],t[56]===a?k=t[57]:(k=a?.missionBlurb&&(0,m.jsx)(`div`,{className:D.MapBlurb,children:w(a.missionBlurb)?(0,m.jsx)(E,{markup:a.missionBlurb.trim()}):a.missionBlurb.trim()}),t[56]=a,t[57]=k),A=e&&e.trim()&&(0,m.jsx)(`div`,{className:D.Section,children:(0,m.jsx)(E,{markup:e})}),t[12]=_,t[13]=v,t[14]=b,t[15]=i,t[16]=n,t[17]=a,t[18]=S,t[19]=C,t[20]=O,t[21]=k,t[22]=A,t[23]=j,t[24]=M,t[25]=N,t[26]=P,t[27]=F,t[28]=I,t[29]=L,t[30]=R,t[31]=z,t[32]=B,t[33]=V,t[34]=H,t[35]=U}else S=t[18],C=t[19],O=t[20],k=t[21],A=t[22],j=t[23],M=t[24],N=t[25],P=t[26],F=t[27],I=t[28],L=t[29],R=t[30],z=t[31],B=t[32],V=t[33],H=t[34],U=t[35];let W;t[58]===a?W=t[59]:(W=a?.missionBriefing&&(0,m.jsxs)(`div`,{className:D.Section,children:[(0,m.jsx)(`h2`,{className:D.SectionTitle,children:`Mission Briefing`}),(0,m.jsx)(E,{markup:a.missionBriefing})]}),t[58]=a,t[59]=W);let G;t[60]===x?G=t[61]:(G=x&&(0,m.jsx)(ie,{track:x}),t[60]=x,t[61]=G);let K;t[62]!==S||t[63]!==C||t[64]!==O||t[65]!==k||t[66]!==A||t[67]!==W||t[68]!==G||t[69]!==H||t[70]!==U?(K=(0,m.jsxs)(`div`,{className:H,children:[U,S,C,O,k,A,W,G]}),t[62]=S,t[63]=C,t[64]=O,t[65]=k,t[66]=A,t[67]=W,t[68]=G,t[69]=H,t[70]=U,t[71]=K):K=t[71];let q;t[72]!==_||t[73]!==v||t[74]!==b?(q=_&&!b&&(0,m.jsx)(re,{src:_,alt:`${v} preview`},_),t[72]=_,t[73]=v,t[74]=b,t[75]=q):q=t[75];let J;t[76]!==j||t[77]!==K||t[78]!==q?(J=(0,m.jsxs)(`div`,{className:j,children:[K,q]}),t[76]=j,t[77]=K,t[78]=q,t[79]=J):J=t[79];let Y;t[80]===n?Y=t[81]:(Y=(0,m.jsx)(`button`,{className:D.CloseButton,onClick:n,children:`Close`}),t[80]=n,t[81]=Y);let X;t[82]===Symbol.for(`react.memo_cache_sentinel`)?(X=(0,m.jsx)(`span`,{className:D.Hint,children:`Esc to close`}),t[82]=X):X=t[82];let Z;t[83]===Y?Z=t[84]:(Z=(0,m.jsxs)(`div`,{className:D.Footer,children:[Y,X]}),t[83]=Y,t[84]=Z);let Q;t[85]!==M||t[86]!==N||t[87]!==P||t[88]!==F||t[89]!==I||t[90]!==L||t[91]!==R||t[92]!==z||t[93]!==J||t[94]!==Z?(Q=(0,m.jsxs)(`div`,{ref:M,className:N,onClick:P,onKeyDown:F,role:I,"aria-modal":L,"aria-label":R,tabIndex:z,children:[J,Z]}),t[85]=M,t[86]=N,t[87]=P,t[88]=F,t[89]=I,t[90]=L,t[91]=R,t[92]=z,t[93]=J,t[94]=Z,t[95]=Q):Q=t[95];let $;return t[96]!==B||t[97]!==V||t[98]!==Q?($=(0,m.jsx)(`div`,{className:B,onClick:V,children:Q}),t[96]=B,t[97]=V,t[98]=Q,t[99]=$):$=t[99],$}function ae(e){return e.stopPropagation()}function oe(e){return e.stopPropagation()}function se(e){e.stopImmediatePropagation()}export{M as MapInfoDialog}; \ No newline at end of file diff --git a/docs/assets/Mission-0eTBlQ14.js b/docs/assets/Mission-0eTBlQ14.js deleted file mode 100644 index ed7dafa5..00000000 --- a/docs/assets/Mission-0eTBlQ14.js +++ /dev/null @@ -1 +0,0 @@ -import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import{t as i}from"./useQuery-DfKJ2xlM.js";import{_ as a,g as o,i as s,l as c,v as l,y as u}from"./loaders-BhaVxgpz.js";import{t as d}from"./logger-B058WGzf.js";import{c as f,l as p,n as m,o as h,r as g,s as _,t as v}from"./mission-JRomjECE.js";import{r as y}from"./engineStore-DeZJbWme.js";import{a as b,i as x,n as S,o as C,r as w,s as T,t as E}from"./misToScene-BZgvLXYv.js";import{j as D}from"./index-Ds_qp2Yy.js";var O=t(),k=e(p(),1),A=d(`scriptLoader`);function j(){return async e=>{let t;try{t=s(e)}catch(t){return A.warn(`Script not in manifest: %s (%s)`,e,t),null}try{let n=await fetch(t);return n.ok?await n.text():(A.error(`Script fetch failed: %s (%d)`,e,n.status),null)}catch(t){return A.error(`Script fetch error: %s %o`,e,t),null}}}var M=e(n(),1),N=r(),P=(0,M.createContext)(null);function F(e){let t=(0,O.c)(3),{runtime:n,children:r}=e,i;return t[0]!==r||t[1]!==n?(i=(0,N.jsx)(P.Provider,{value:n,children:r}),t[0]=r,t[1]=n,t[2]=i):i=t[2],i}var I=(0,M.createContext)(null).Provider,L=[`scripts/admin.cs`,`scripts/ai.cs`,`scripts/aiBotProfiles.cs`,`scripts/aiBountyGame.cs`,`scripts/aiChat.cs`,`scripts/aiCnH.cs`,`scripts/aiCTF.cs`,`scripts/aiDeathMatch.cs`,`scripts/aiDebug.cs`,`scripts/aiDefaultTasks.cs`,`scripts/aiDnD.cs`,`scripts/aiHumanTasks.cs`,`scripts/aiHunters.cs`,`scripts/aiInventory.cs`,`scripts/aiObjectiveBuilder.cs`,`scripts/aiObjectives.cs`,`scripts/aiRabbit.cs`,`scripts/aiSiege.cs`,`scripts/aiTDM.cs`,`scripts/aiTeamHunters.cs`,`scripts/deathMessages.cs`,`scripts/graphBuild.cs`,`scripts/navGraph.cs`,`scripts/serverTasks.cs`,`scripts/spdialog.cs`];function R(e,t){if(t)return e.state.datablocks.get(t)}function z(e){if(typeof e==`string`){let t=e.toLowerCase();return t!==`0`&&t!==`false`&&t!==``}return!!e}function B(e){let[t,n,r,i]=e.split(` `).map(parseFloat),a=-(i||0)*Math.PI/360,o=Math.sin(a),s=Math.cos(a),c=Math.sqrt((n||0)*(n||0)+(r||0)*(r||0)+(t||0)*(t||0));return c<1e-8?[0,0,0,1]:[(n||0)/c*o,(r||0)/c*o,(t||0)/c*o,s]}function V(e,t,n){let r=e._className,i=`mission_${e._id}`,a=v(e),o=g(e),s=B(e.rotation??`1 0 0 0`),c=m(e,`dataBlock`)??``,l=R(t,c),u={id:i,className:r,runtimeObject:e,missionTypesList:m(e,`missionTypesList`)},d={...u,position:a,rotation:s,scale:o};switch(r){case`TerrainBlock`:return{...u,renderType:`TerrainBlock`,terrainData:b(e)};case`InteriorInstance`:return{...u,renderType:`InteriorInstance`,interiorData:E(e)};case`Sky`:return{...u,renderType:`Sky`,skyData:w(e)};case`Sun`:return{...u,renderType:`Sun`,sunData:x(e)};case`WaterBlock`:return{...u,renderType:`WaterBlock`,waterData:C(e)};case`MissionArea`:return{...u,renderType:`MissionArea`,missionAreaData:S(e)};case`StaticShape`:case`Item`:case`Turret`:case`TSStatic`:{let i=m(e,`team`);return H(d,e,l,t,r,i!=null&&i!==``?parseInt(i,10):n,c)}case`ForceFieldBare`:return U(d,e,l,o);case`AudioEmitter`:return{...d,renderType:`AudioEmitter`,audioFileName:m(e,`fileName`)??void 0,audioVolume:parseFloat(m(e,`volume`))||1,audioIs3D:(m(e,`is3D`)??`0`)!==`0`,audioIsLooping:(m(e,`isLooping`)??`0`)!==`0`,audioMinDistance:parseFloat(m(e,`minDistance`))||1,audioMaxDistance:parseFloat(m(e,`maxDistance`))||1,audioMinLoopGap:parseFloat(m(e,`minLoopGap`))||0,audioMaxLoopGap:parseFloat(m(e,`maxLoopGap`))||0};case`Camera`:return{...d,renderType:`Camera`,cameraDataBlock:c||void 0};case`WayPoint`:return{...d,renderType:`WayPoint`,label:m(e,`name`)||void 0};default:return null}}function H(e,t,n,r,i,a,o){let s=i===`TSStatic`?m(t,`shapeName`):m(n,`shapeFile`),c=i===`Turret`?`Turret`:i===`Item`?`Item`:i===`TSStatic`?`TSStatic`:`StaticShape`,l={...e,renderType:`Shape`,shapeName:s,shapeType:c,dataBlock:o||void 0,emap:m(n,`emap`)==null?void 0:z(m(n,`emap`)),teamId:a};if(i===`Item`&&(l.rotate=z(m(t,`rotate`)??m(n,`rotate`))),i===`Turret`){let e=m(t,`initialBarrel`);e&&(l.barrelShapeName=m(R(r,e),`shapeFile`))}return l}function U(e,t,n,r){let i=m(n,`color`),a=i?T(i):[1,1,1],o=parseFloat(m(n,`baseTranslucency`))||1,s=parseInt(m(n,`numFrames`),10)||1,c=parseFloat(m(n,`framesPerSec`))||1,l=parseFloat(m(n,`scrollSpeed`))||0,u=parseFloat(m(n,`umapping`))||1,d=parseFloat(m(n,`vmapping`))||1,f=[];for(let e=0;e{let t=(0,k.default)(e,{nocase:!0});return a().filter(e=>t(e)).map(e=>{let[,t]=u(e);return t})},isFile:e=>l()[o(e)]!=null};function X(e){let t=(0,O.c)(2),n;return t[0]===e?n=t[1]:(n={queryKey:[`parsedMission`,e],queryFn:()=>c(e)},t[0]=e,t[1]=n),i(n)}function Z(e,t,n){let r=(0,O.c)(6),i;r[0]===Symbol.for(`react.memo_cache_sentinel`)?(i={ready:!1,runtime:void 0,progress:0},r[0]=i):i=r[0];let[a,o]=(0,M.useState)(i),s,c;return r[1]!==e||r[2]!==t||r[3]!==n?(s=()=>{if(!n)return;let r=new AbortController,i=!1,a=null,s=_(),c=()=>{o(e=>({...e,progress:s.progress}))};s.on(`update`,c);let{runtime:l,ready:u}=h({missionName:e,missionType:t,runtimeOptions:{loadScript:q,fileSystem:Y,cache:J,signal:r.signal,progress:s,ignoreScripts:L}});return u.then(()=>{if(i||r.signal.aborted)return;y.getState().setRuntime(l);let n=l.getObjectByName(`MissionGroup`);if(n){let r=G(n,l,t);D.getState().setAllEntities(r),D.getState().setMissionInfo({missionName:e,missionType:t??void 0})}o({ready:!0,runtime:l,progress:1})}).catch($),a=l.subscribeRuntimeEvents(Q),y.getState().setRuntime(l),()=>{i=!0,s.off(`update`,c),r.abort(),a?.(),y.getState().clearRuntime(),D.getState().clearEntities(),l.destroy()}},c=[e,t,n],r[1]=e,r[2]=t,r[3]=n,r[4]=s,r[5]=c):(s=r[4],c=r[5]),(0,M.useEffect)(s,c),a}function Q(e){e.type===`batch.flushed`&&y.getState().applyRuntimeBatch(e.events,{tick:e.tick})}function $(e){e instanceof Error&&e.name===`AbortError`||K.error(`Mission runtime failed to become ready: %o`,e)}var ee=(0,M.memo)(function(e){let t=(0,O.c)(13),{name:n,missionType:r,onLoadingChange:i}=e,{data:a}=X(n),{ready:o,runtime:s,progress:c}=Z(n,r,a),l=!a||!o||!s,u;t[0]!==r||t[1]!==a?(u={metadata:a,missionType:r},t[0]=r,t[1]=a,t[2]=u):u=t[2];let d=u,f,p;if(t[3]!==l||t[4]!==i||t[5]!==c?(f=()=>{i?.(l,c)},p=[l,c,i],t[3]=l,t[4]=i,t[5]=c,t[6]=f,t[7]=p):(f=t[6],p=t[7]),(0,M.useEffect)(f,p),l)return null;let m;t[8]===s?m=t[9]:(m=(0,N.jsx)(F,{runtime:s}),t[8]=s,t[9]=m);let h;return t[10]!==d||t[11]!==m?(h=(0,N.jsx)(I,{value:d,children:m}),t[10]=d,t[11]=m,t[12]=h):h=t[12],h});export{ee as Mission}; \ No newline at end of file diff --git a/docs/assets/Mission-DazAbIp32.js b/docs/assets/Mission-DazAbIp32.js new file mode 100644 index 00000000..6eadae46 --- /dev/null +++ b/docs/assets/Mission-DazAbIp32.js @@ -0,0 +1 @@ +import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import{t as i}from"./useQuery-BomOZ8gL.js";import{a,i as o,o as s,s as c}from"./manifest-MMwwguGo.js";import{r as l}from"./engineStore-Mono9lyt.js";import{t as u}from"./logger-B058WGzf.js";import{a as d,i as f,n as p,o as m,r as h,s as g,t as _}from"./misToScene-CUofLla5.js";import{c as v,l as y,n as b,o as x,r as S,s as C,t as w}from"./mission-S3koG-vu.js";import{G as T,i as E,l as D}from"./index-BEKjcnfN.js";var O=t(),k=e(y(),1),A=u(`scriptLoader`);function j(){return async e=>{let t;try{t=E(e)}catch(t){return A.warn(`Script not in manifest: %s (%s)`,e,t),null}try{let n=await fetch(t);return n.ok?await n.text():(A.error(`Script fetch failed: %s (%d)`,e,n.status),null)}catch(t){return A.error(`Script fetch error: %s %o`,e,t),null}}}var M=e(n(),1),N=r(),P=(0,M.createContext)(null);function F(e){let t=(0,O.c)(3),{runtime:n,children:r}=e,i;return t[0]!==r||t[1]!==n?(i=(0,N.jsx)(P.Provider,{value:n,children:r}),t[0]=r,t[1]=n,t[2]=i):i=t[2],i}var I=(0,M.createContext)(null).Provider,L=[`scripts/admin.cs`,`scripts/ai.cs`,`scripts/aiBotProfiles.cs`,`scripts/aiBountyGame.cs`,`scripts/aiChat.cs`,`scripts/aiCnH.cs`,`scripts/aiCTF.cs`,`scripts/aiDeathMatch.cs`,`scripts/aiDebug.cs`,`scripts/aiDefaultTasks.cs`,`scripts/aiDnD.cs`,`scripts/aiHumanTasks.cs`,`scripts/aiHunters.cs`,`scripts/aiInventory.cs`,`scripts/aiObjectiveBuilder.cs`,`scripts/aiObjectives.cs`,`scripts/aiRabbit.cs`,`scripts/aiSiege.cs`,`scripts/aiTDM.cs`,`scripts/aiTeamHunters.cs`,`scripts/deathMessages.cs`,`scripts/graphBuild.cs`,`scripts/navGraph.cs`,`scripts/serverTasks.cs`,`scripts/spdialog.cs`];function R(e,t){if(t)return e.state.datablocks.get(t)}function z(e){if(typeof e==`string`){let t=e.toLowerCase();return t!==`0`&&t!==`false`&&t!==``}return!!e}function B(e){let[t,n,r,i]=e.split(` `).map(parseFloat),a=-(i||0)*Math.PI/360,o=Math.sin(a),s=Math.cos(a),c=Math.sqrt((n||0)*(n||0)+(r||0)*(r||0)+(t||0)*(t||0));return c<1e-8?[0,0,0,1]:[(n||0)/c*o,(r||0)/c*o,(t||0)/c*o,s]}function V(e,t,n){let r=e._className,i=String(e._id),a=w(e),o=S(e),s=B(e.rotation??`1 0 0 0`),c=b(e,`dataBlock`)??``,l=R(t,c),u={id:i,className:r,runtimeObject:e,missionTypesList:b(e,`missionTypesList`)},g={...u,position:a,rotation:s,scale:o};switch(r){case`TerrainBlock`:return{...u,renderType:`TerrainBlock`,terrainData:d(e)};case`InteriorInstance`:return{...u,renderType:`InteriorInstance`,interiorData:_(e)};case`Sky`:return{...u,renderType:`Sky`,skyData:h(e)};case`Sun`:return{...u,renderType:`Sun`,sunData:f(e)};case`WaterBlock`:return{...u,renderType:`WaterBlock`,waterData:m(e)};case`MissionArea`:return{...u,renderType:`MissionArea`,missionAreaData:p(e)};case`StaticShape`:case`Item`:case`Turret`:case`TSStatic`:{let i=b(e,`team`);return H(g,e,l,t,r,i!=null&&i!==``?parseInt(i,10):n,c)}case`ForceFieldBare`:return U(g,e,l,o);case`AudioEmitter`:return{...g,renderType:`AudioEmitter`,audioFileName:b(e,`fileName`)??void 0,audioVolume:parseFloat(b(e,`volume`))||1,audioIs3D:(b(e,`is3D`)??`0`)!==`0`,audioIsLooping:(b(e,`isLooping`)??`0`)!==`0`,audioMinDistance:parseFloat(b(e,`minDistance`))||1,audioMaxDistance:parseFloat(b(e,`maxDistance`))||1,audioMinLoopGap:parseFloat(b(e,`minLoopGap`))||0,audioMaxLoopGap:parseFloat(b(e,`maxLoopGap`))||0};case`Camera`:return{...g,renderType:`Camera`,cameraDataBlock:c||void 0};case`WayPoint`:return{...g,renderType:`WayPoint`,label:b(e,`name`)||void 0};default:return null}}function H(e,t,n,r,i,a,o){let s=i===`TSStatic`?b(t,`shapeName`):b(n,`shapeFile`),c=i===`Turret`?`Turret`:i===`Item`?`Item`:i===`TSStatic`?`TSStatic`:`StaticShape`,l={...e,renderType:`Shape`,shapeName:s,shapeType:c,dataBlock:o||void 0,emap:b(n,`emap`)==null?void 0:z(b(n,`emap`)),teamId:a};if(i===`Item`&&(l.rotate=z(b(t,`rotate`)??b(n,`rotate`))),i===`Turret`){let e=b(t,`initialBarrel`);e&&(l.barrelShapeName=b(R(r,e),`shapeFile`))}return l}function U(e,t,n,r){let i=b(n,`color`),a=i?g(i):[1,1,1],o=parseFloat(b(n,`baseTranslucency`))||1,s=parseInt(b(n,`numFrames`),10)||1,c=parseFloat(b(n,`framesPerSec`))||1,l=parseFloat(b(n,`scrollSpeed`))||0,u=parseFloat(b(n,`umapping`))||1,d=parseFloat(b(n,`vmapping`))||1,f=[];for(let e=0;e{let t=(0,k.default)(e,{nocase:!0});return a().filter(e=>t(e)).map(e=>{let[,t]=c(e);return t})},isFile:e=>s()[o(e)]!=null};function X(e){let t=(0,O.c)(2),n;return t[0]===e?n=t[1]:(n={queryKey:[`parsedMission`,e],queryFn:()=>D(e)},t[0]=e,t[1]=n),i(n)}function Z(e,t,n){let r=(0,O.c)(6),i;r[0]===Symbol.for(`react.memo_cache_sentinel`)?(i={ready:!1,runtime:void 0,progress:0},r[0]=i):i=r[0];let[a,o]=(0,M.useState)(i),s,c;return r[1]!==e||r[2]!==t||r[3]!==n?(s=()=>{if(!n)return;let r=new AbortController,i=!1,a=null,s=C(),c=()=>{o(e=>({...e,progress:s.progress}))};s.on(`update`,c);let{runtime:u,ready:d}=x({missionName:e,missionType:t,runtimeOptions:{loadScript:q,fileSystem:Y,cache:J,signal:r.signal,progress:s,ignoreScripts:L}});return d.then(()=>{if(i||r.signal.aborted)return;l.getState().setRuntime(u);let n=u.getObjectByName(`MissionGroup`);if(n){let r=G(n,u,t);T.getState().setAllEntities(r),T.getState().setMissionInfo({missionName:e,missionType:t??void 0})}o({ready:!0,runtime:u,progress:1})}).catch($),a=u.subscribeRuntimeEvents(Q),l.getState().setRuntime(u),()=>{i=!0,s.off(`update`,c),r.abort(),a?.(),l.getState().clearRuntime(),T.getState().clearEntities(),u.destroy()}},c=[e,t,n],r[1]=e,r[2]=t,r[3]=n,r[4]=s,r[5]=c):(s=r[4],c=r[5]),(0,M.useEffect)(s,c),a}function Q(e){e.type===`batch.flushed`&&l.getState().applyRuntimeBatch(e.events,{tick:e.tick})}function $(e){e instanceof Error&&e.name===`AbortError`||K.error(`Mission runtime failed to become ready: %o`,e)}var ee=(0,M.memo)(function(e){let t=(0,O.c)(13),{name:n,missionType:r,onLoadingChange:i}=e,{data:a}=X(n),{ready:o,runtime:s,progress:c}=Z(n,r,a),l=!a||!o||!s,u;t[0]!==r||t[1]!==a?(u={metadata:a,missionType:r},t[0]=r,t[1]=a,t[2]=u):u=t[2];let d=u,f,p;if(t[3]!==l||t[4]!==i||t[5]!==c?(f=()=>{i?.(l,c)},p=[l,c,i],t[3]=l,t[4]=i,t[5]=c,t[6]=f,t[7]=p):(f=t[6],p=t[7]),(0,M.useEffect)(f,p),l)return null;let m;t[8]===s?m=t[9]:(m=(0,N.jsx)(F,{runtime:s}),t[8]=s,t[9]=m);let h;return t[10]!==d||t[11]!==m?(h=(0,N.jsx)(I,{value:d,children:m}),t[10]=d,t[11]=m,t[12]=h):h=t[12],h});export{ee as Mission}; \ No newline at end of file diff --git a/docs/assets/PlayerHUD-B-3Ol8YW.js b/docs/assets/PlayerHUD-B-3Ol8YW.js new file mode 100644 index 00000000..1e836087 --- /dev/null +++ b/docs/assets/PlayerHUD-B-3Ol8YW.js @@ -0,0 +1,2 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ChatInput-BJrhNHo9.js","assets/chunk-DECur_0Z.js","assets/index-BEKjcnfN.js","assets/preload-helper-BPkniflS.js","assets/streamHelpers-CRhKrjgF.js","assets/three.module-C9W4LJrj.js","assets/mission-S3koG-vu.js","assets/logger-B058WGzf.js","assets/react-three-fiber.esm-CD18QK1u.js","assets/jsx-runtime-BpGWiA-R.js","assets/traditional-ec-lUAFC.js","assets/SettingsProvider-D-grt5cc.js","assets/engineStore-Mono9lyt.js","assets/manifest-MMwwguGo.js","assets/stringUtils-EmGsjr9D.js","assets/iconBase-BCRUFbxq.js","assets/JoystickContext-D1zeSnLk.js","assets/scene-BpfzP6B-.js","assets/cameraTourStore-DQ989o2x.js","assets/index-BD1vN1aq.css","assets/ChatInput-bC9wt42K.css"])))=>i.map(i=>d[i]); +import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import{t as i}from"./stringUtils-EmGsjr9D.js";import{i as a}from"./engineStore-Mono9lyt.js";import{t as o}from"./preload-helper-BPkniflS.js";import{p as s}from"./index-BEKjcnfN.js";import{n as c}from"./streamPlaybackStore-UQ4nn4bZ.js";var l=e(n(),1),u=e=>e;function d(e,t=u){let n=l.useSyncExternalStore(e.subscribe,l.useCallback(()=>t(e.getState()),[e,t]),l.useCallback(()=>t(e.getInitialState()),[e,t]));return l.useDebugValue(n),n}var f=t(),p={PlayerHUD:`_PlayerHUD_13ssv_1`,Compass:`_Compass_13ssv_11`,CompassRing:`_CompassRing_13ssv_20`,CompassNSEW:`_CompassNSEW_13ssv_29`,CompassClock:`_CompassClock_13ssv_38`,Bars:`_Bars_13ssv_51`,BarTrack:`_BarTrack_13ssv_63`,BarFillHealth:`_BarFillHealth_13ssv_71`,BarFillEnergy:`_BarFillEnergy_13ssv_77`,WeaponHUD:`_WeaponHUD_13ssv_85`,PackInvItem:`_PackInvItem_13ssv_95`,WeaponSeparator:`_WeaponSeparator_13ssv_105`,TeamScores:`_TeamScores_13ssv_111`,ObserverCount:`_ObserverCount_13ssv_126`,TeamRow:`_TeamRow_13ssv_136`,TeamName:`_TeamName_13ssv_145`,TeamNameFriendly:`_TeamNameFriendly_13ssv_152 _TeamName_13ssv_145`,TeamNameEnemy:`_TeamNameEnemy_13ssv_157 _TeamName_13ssv_145`,TeamScore:`_TeamScore_13ssv_111`,TeamCount:`_TeamCount_13ssv_170`,PackInventoryHUD:`_PackInventoryHUD_13ssv_179`,PackInvIcon:`_PackInvIcon_13ssv_210`,PackInvCount:`_PackInvCount_13ssv_215`,PackInvInfinity:`_PackInvInfinity_13ssv_222`,Reticle:`_Reticle_13ssv_230`,ReticleImage:`_ReticleImage_13ssv_237`,ReticleDot:`_ReticleDot_13ssv_242`},m={ChatContainer:`_ChatContainer_qc3qt_1`,ChatWindow:`_ChatWindow_qc3qt_14`,ChatMessage:`_ChatMessage_qc3qt_39`,ChatColor0:`_ChatColor0_qc3qt_46`,ChatColor1:`_ChatColor1_qc3qt_49`,ChatColor2:`_ChatColor2_qc3qt_52`,ChatColor3:`_ChatColor3_qc3qt_55`,ChatColor4:`_ChatColor4_qc3qt_58`,ChatColor5:`_ChatColor5_qc3qt_61`,ChatColor6:`_ChatColor6_qc3qt_64`,ChatColor7:`_ChatColor7_qc3qt_67`,ChatColor8:`_ChatColor8_qc3qt_70`,ChatColor9:`_ChatColor9_qc3qt_73`},h=r(),g=(0,l.lazy)(()=>o(()=>import(`./ChatInput-BJrhNHo9.js`).then(e=>({default:e.ChatInput})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]))),_=[],v={0:m.ChatColor0,1:m.ChatColor1,2:m.ChatColor2,3:m.ChatColor3,4:m.ChatColor4,5:m.ChatColor5,6:m.ChatColor6,7:m.ChatColor7,8:m.ChatColor8,9:m.ChatColor9};function ee(e){return v[e]??v[0]}function te(e){return e.colorCode!=null&&v[e.colorCode]?v[e.colorCode]:v[0]}var y=(0,l.memo)(function(){let e=(0,f.c)(12),t=a(b),n=a(x),r=(0,l.useRef)(null),i=n[n.length-1]?.id,o;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=()=>{r.current&&(r.current.scrollTop=r.current.scrollHeight)},e[0]=o):o=e[0];let s;e[1]===i?s=e[2]:(s=[i],e[1]=i,e[2]=s),(0,l.useEffect)(o,s);let c;e[3]===n?c=e[4]:(c=n.map(C),e[3]=n,e[4]=c);let u;e[5]===c?u=e[6]:(u=(0,h.jsx)(`div`,{ref:r,className:m.ChatWindow,children:c}),e[5]=c,e[6]=u);let d;e[7]===t?d=e[8]:(d=t&&(0,h.jsx)(l.Suspense,{children:(0,h.jsx)(g,{})}),e[7]=t,e[8]=d);let p;return e[9]!==u||e[10]!==d?(p=(0,h.jsxs)(`div`,{className:m.ChatContainer,children:[u,d]}),e[9]=u,e[10]=d,e[11]=p):p=e[11],p});function b(e){return e.playback.recording?.source===`live`}function x(e){return e.playback.streamSnapshot?.chatMessages??_}function S(e,t){return(0,h.jsx)(`span`,{className:ee(e.colorCode),children:e.text},t)}function C(e){return(0,h.jsx)(`div`,{className:m.ChatMessage,hidden:!e.text,children:e.segments?e.segments.map(S):(0,h.jsxs)(`span`,{className:te(e),children:[e.sender?`${e.sender}: `:``,e.text]})},e.id)}var w=s(`gui/hud_new_compass`),T=s(`gui/hud_new_NSEW`);function E(e){let t=Math.abs(e)/1e3,n=e<0?Math.ceil(t):Math.floor(t),r=Math.floor(n/60),i=n%60;return`${String(r).padStart(2,`0`)}:${String(i).padStart(2,`0`)}`}function D(){let e=(0,f.c)(8),t=a(k),n=a(O);if(t==null)return null;let r=t*180/Math.PI,i;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,h.jsx)(`img`,{src:w,alt:``,className:p.CompassRing}),e[0]=i):i=e[0];let o=`rotate(${-r}deg)`,s;e[1]===o?s=e[2]:(s=(0,h.jsx)(`img`,{src:T,alt:``,className:p.CompassNSEW,style:{transform:o}}),e[1]=o,e[2]=s);let c;e[3]===n?c=e[4]:(c=n!=null&&(0,h.jsx)(`span`,{className:p.CompassClock,children:E(n)}),e[3]=n,e[4]=c);let l;return e[5]!==s||e[6]!==c?(l=(0,h.jsxs)(`div`,{className:p.Compass,children:[i,s,c]}),e[5]=s,e[6]=c,e[7]=l):l=e[7],l}function O(e){return e.playback.streamSnapshot?.matchClockMs}function k(e){return e.playback.streamSnapshot?.camera?.yaw}function A(){let e=(0,f.c)(2),t=a(j);if(t==null)return null;let n=`${Math.max(0,Math.min(100,t*100))}%`,r;return e[0]===n?r=e[1]:(r=(0,h.jsx)(`div`,{className:p.BarTrack,children:(0,h.jsx)(`div`,{className:p.BarFillHealth,style:{width:n}})}),e[0]=n,e[1]=r),r}function j(e){return e.playback.streamSnapshot?.status?.health}function M(){let e=(0,f.c)(2),t=a(N);if(t==null)return null;let n=`${Math.max(0,Math.min(100,t*100))}%`,r;return e[0]===n?r=e[1]:(r=(0,h.jsx)(`div`,{className:p.BarTrack,children:(0,h.jsx)(`div`,{className:p.BarFillEnergy,style:{width:n}})}),e[0]=n,e[1]=r),r}function N(e){return e.playback.streamSnapshot?.status?.energy}var P={weapon_energy:`gui/ret_blaster`,weapon_plasma:`gui/ret_plasma`,weapon_chaingun:`gui/ret_chaingun`,weapon_disc:`gui/ret_disc`,weapon_grenade_launcher:`gui/ret_grenade`,weapon_sniper:`gui/hud_ret_sniper`,weapon_elf:`gui/ret_elf`,weapon_mortar:`gui/ret_mortor`,weapon_missile:`gui/ret_missile`,weapon_targeting:`gui/hud_ret_targlaser`,weapon_shocklance:`gui/hud_ret_shocklance`};function F(e){return e?e.replace(/\.dts$/i,``).toLowerCase():``}function I(){let e=(0,f.c)(5),t=a(L);if(t===void 0)return null;let n=P[F(t)];if(n){let t;e[0]===n?t=e[1]:(t=s(n),e[0]=n,e[1]=t);let r;return e[2]===t?r=e[3]:(r=(0,h.jsx)(`div`,{className:p.Reticle,children:(0,h.jsx)(`img`,{src:t,alt:``,className:p.ReticleImage})}),e[2]=t,e[3]=r),r}let r;return e[4]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,h.jsx)(`div`,{className:p.Reticle,children:(0,h.jsx)(`div`,{className:p.ReticleDot})}),e[4]=r):r=e[4],r}function L(e){let t=e.playback.streamSnapshot;if(!t||t.camera?.mode!==`first-person`)return;let n=t.controlPlayerGhostId;if(n)return t.entities.find(e=>e.id===n)?.weaponShape}var R={0:{icon:`gui/hud_blaster`,label:`Blaster`},1:{icon:`gui/hud_plasma`,label:`Plasma`},2:{icon:`gui/hud_chaingun`,label:`Chaingun`},3:{icon:`gui/hud_disc`,label:`Spinfusor`},4:{icon:`gui/hud_grenlaunch`,label:`GL`},5:{icon:`gui/hud_sniper`,label:`Laser Rifle`},6:{icon:`gui/hud_elfgun`,label:`ELF Gun`},7:{icon:`gui/hud_new_mortar`,label:`Mortar`},8:{icon:`gui/hud_missiles`,label:`Missile`},9:{icon:`gui/hud_targetlaser`,label:`Targeting`},10:{icon:`gui/hud_shocklance`,label:`Shocklance`},11:{icon:`gui/hud_disc`,label:`Spinfusor`},12:{icon:`gui/hud_grenlaunch`,label:`GL`},13:{icon:`gui/hud_chaingun`,label:`Chaingun`},14:{icon:`gui/hud_targetlaser`,label:`Targeting`},15:{icon:`gui/hud_targetlaser`,label:`Targeting`},16:{icon:`gui/hud_shocklance`,label:`Shocklance`},17:{icon:`gui/hud_new_mortar`,label:`Mortar`}},ne=new Map(Object.entries(R).map(([e,t])=>[Number(e),s(t.icon)])),z=new Set([9,14,15]),B=s(`gui/hud_infinity`);function V(e){let t=(0,f.c)(12),{slot:n,isSelected:r}=e,i=R[n.index];if(!i)return null;let a=n.ammo<0,o;t[0]===n.index?o=t[1]:(o=ne.get(n.index),t[0]=n.index,t[1]=o);let s;t[2]!==i.label||t[3]!==o?(s=(0,h.jsx)(`img`,{src:o,alt:i.label,className:p.PackInvIcon}),t[2]=i.label,t[3]=o,t[4]=s):s=t[4];let c;t[5]!==a||t[6]!==n.ammo?(c=a?(0,h.jsx)(`img`,{src:B,alt:`\\u221E`,className:p.PackInvInfinity}):(0,h.jsx)(`span`,{className:p.PackInvCount,children:n.ammo}),t[5]=a,t[6]=n.ammo,t[7]=c):c=t[7];let l;return t[8]!==r||t[9]!==s||t[10]!==c?(l=(0,h.jsxs)(`div`,{className:p.PackInvItem,"data-active":r,children:[s,c]}),t[8]=r,t[9]=s,t[10]=c,t[11]=l):l=t[11],l}function H(){let e=(0,f.c)(15),t=a(U);if(!t||!t.slots.length)return null;let n,r;if(e[0]!==t.slots){r=[],n=[];for(let e of t.slots)z.has(e.index)?n.push(e):r.push(e);e[0]=t.slots,e[1]=n,e[2]=r}else n=e[1],r=e[2];let i;e[3]!==r||e[4]!==t?(i=r.map(e=>(0,h.jsx)(V,{slot:e,isSelected:e.index===t.activeIndex},e.index)),e[3]=r,e[4]=t,e[5]=i):i=e[5];let o;e[6]===n.length?o=e[7]:(o=n.length>0&&(0,h.jsx)(`div`,{className:p.WeaponSeparator}),e[6]=n.length,e[7]=o);let s;e[8]!==n||e[9]!==t?(s=n.map(e=>(0,h.jsx)(V,{slot:e,isSelected:e.index===t.activeIndex},e.index)),e[8]=n,e[9]=t,e[10]=s):s=e[10];let c;return e[11]!==i||e[12]!==o||e[13]!==s?(c=(0,h.jsxs)(`div`,{className:p.WeaponHUD,children:[i,o,s]}),e[11]=i,e[12]=o,e[13]=s,e[14]=c):c=e[14],c}function U(e){return e.playback.streamSnapshot?.weaponsHud}function W(){let e=(0,f.c)(18),t=a(J),n=a(q),r=a(G);if(!t?.length)return null;let o,s,c;if(e[0]!==r||e[1]!==n||e[2]!==t){let a;e[6]===n?a=e[7]:(a=(e,t)=>{if(n){if(e.teamId===n)return-1;if(t.teamId===n)return 1}return e.teamId-t.teamId},e[6]=n,e[7]=a);let l=[...t].sort(a);c=p.TeamScores,e[8]===r?o=e[9]:(o=r>0&&(0,h.jsx)(`tr`,{children:(0,h.jsxs)(`td`,{className:p.ObserverCount,colSpan:3,children:[r,` `,r===1?`observer`:`observers`]})}),e[8]=r,e[9]=o);let u;e[10]===n?u=e[11]:(u=e=>{let t=n!=null&&n>0&&e.teamId===n,r=e.name||(i[e.teamId]??`Team ${e.teamId}`);return(0,h.jsxs)(`tr`,{className:p.TeamRow,children:[(0,h.jsx)(`td`,{className:t?p.TeamNameFriendly:p.TeamNameEnemy,children:r}),(0,h.jsxs)(`td`,{className:p.TeamCount,children:[`(`,e.playerCount.toLocaleString(),`)`]}),(0,h.jsx)(`td`,{className:p.TeamScore,children:e.score.toLocaleString()})]},e.teamId)},e[10]=n,e[11]=u),s=l.map(u),e[0]=r,e[1]=n,e[2]=t,e[3]=o,e[4]=s,e[5]=c}else o=e[3],s=e[4],c=e[5];let l;e[12]!==o||e[13]!==s?(l=(0,h.jsxs)(`tbody`,{children:[o,s]}),e[12]=o,e[13]=s,e[14]=l):l=e[14];let u;return e[15]!==c||e[16]!==l?(u=(0,h.jsx)(`table`,{className:c,children:l}),e[15]=c,e[16]=l,e[17]=u):u=e[17],u}function G(e){return e.playback.streamSnapshot?.playerRoster?.filter(K).length??0}function K(e){return e.teamId<=0}function q(e){return e.playback.streamSnapshot?.playerSensorGroup}function J(e){return e.playback.streamSnapshot?.teamScores}var Y={0:`gui/hud_new_packammo`,1:`gui/hud_new_packcloak`,2:`gui/hud_new_packenergy`,3:`gui/hud_new_packrepair`,4:`gui/hud_new_packsatchel`,5:`gui/hud_new_packshield`,6:`gui/hud_new_packinventory`,7:`gui/hud_new_packmotionsens`,8:`gui/hud_new_packradar`,9:`gui/hud_new_packturretout`,10:`gui/hud_new_packturretin`,11:`gui/hud_new_packsensjam`,12:`gui/hud_new_packturret`,13:`gui/hud_new_packturret`,14:`gui/hud_new_packturret`,15:`gui/hud_new_packturret`,16:`gui/hud_new_packturret`,17:`gui/hud_new_packturret`,18:`gui/hud_satchel_unarmed`,19:`gui/hud_new_packenergy`},X={1:`gui/hud_new_packcloak_armed`,3:`gui/hud_new_packrepair_armed`,4:`gui/hud_satchel_armed`,5:`gui/hud_new_packshield_armed`,11:`gui/hud_new_packsensjam_armed`},Z=new Map(Object.entries(Y).map(([e,t])=>[Number(e),s(t)])),re=new Map(Object.entries(X).map(([e,t])=>[Number(e),s(t)])),Q={0:{icon:`gui/hud_handgren`,label:`Grenade`},1:{icon:`gui/hud_mine`,label:`Mine`},2:{icon:`gui/hud_beacon`,label:`Beacon`},3:{icon:`gui/hud_medpack`,label:`Repair Kit`}},ie=new Map(Object.entries(Q).map(([e,t])=>[Number(e),s(t.icon)]));function ae(){let e=(0,f.c)(25),t=a(ce),n=a(se),r=t&&t.packIndex>=0,i;if(r){let n;e[0]!==t.active||e[1]!==t.packIndex?(n=t.active?re.get(t.packIndex):void 0,e[0]=t.active,e[1]=t.packIndex,e[2]=n):n=e[2];let r=n,a;e[3]!==r||e[4]!==t.packIndex?(a=r??Z.get(t.packIndex),e[3]=r,e[4]=t.packIndex,e[5]=a):a=e[5],i=a}let o;if(e[6]!==n){if(o=new Map,n)for(let e of n.slots)o.set(e.slot,e.count);e[6]=n,e[7]=o}else o=e[7];let s,c,l,u;if(e[8]!==t||e[9]!==o||e[10]!==r||e[11]!==i){u=Symbol.for(`react.early_return_sentinel`);bb0:{let n=Object.keys(Q).map(Number).sort(oe);if(!r&&!o.size){u=null;break bb0}s=p.PackInventoryHUD,e[16]!==t||e[17]!==i?(c=i&&(0,h.jsxs)(`div`,{className:p.PackInvItem,"data-active":t.active??!1,children:[(0,h.jsx)(`img`,{src:i,alt:``,className:p.PackInvIcon}),(0,h.jsx)(`span`,{className:p.PackInvCount,children:t.text||`\xA0`})]}),e[16]=t,e[17]=i,e[18]=c):c=e[18];let a;e[19]===o?a=e[20]:(a=e=>{let t=Q[e],n=ie.get(e);return!t||!n?null:(0,h.jsxs)(`div`,{className:p.PackInvItem,children:[(0,h.jsx)(`img`,{src:n,alt:t.label,className:p.PackInvIcon}),(0,h.jsx)(`span`,{className:p.PackInvCount,children:o.get(e)??0})]},e)},e[19]=o,e[20]=a),l=n.map(a)}e[8]=t,e[9]=o,e[10]=r,e[11]=i,e[12]=s,e[13]=c,e[14]=l,e[15]=u}else s=e[12],c=e[13],l=e[14],u=e[15];if(u!==Symbol.for(`react.early_return_sentinel`))return u;let d;return e[21]!==s||e[22]!==c||e[23]!==l?(d=(0,h.jsxs)(`div`,{className:s,children:[c,l]}),e[21]=s,e[22]=c,e[23]=l,e[24]=d):d=e[24],d}function oe(e,t){return e-t}function se(e){return e.playback.streamSnapshot?.inventoryHud}function ce(e){return e.playback.streamSnapshot?.backpackHud}function le(){let e=(0,f.c)(10),t=a(ue),n=d(c,$),r=t&&n!==`freeFly`,i;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,h.jsx)(y,{}),e[0]=i):i=e[0];let o;e[1]===r?o=e[2]:(o=r&&(0,h.jsxs)(`div`,{className:p.Bars,children:[(0,h.jsx)(A,{}),(0,h.jsx)(M,{})]}),e[1]=r,e[2]=o);let s;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,h.jsx)(D,{}),e[3]=s):s=e[3];let l;e[4]===r?l=e[5]:(l=r&&(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(H,{}),(0,h.jsx)(ae,{}),(0,h.jsx)(I,{})]}),e[4]=r,e[5]=l);let u;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,h.jsx)(W,{}),e[6]=u):u=e[6];let m;return e[7]!==o||e[8]!==l?(m=(0,h.jsxs)(`div`,{className:p.PlayerHUD,children:[i,o,s,l,u]}),e[7]=o,e[8]=l,e[9]=m):m=e[9],m}function $(e){return e.cameraMode}function ue(e){return!!e.playback.streamSnapshot?.controlPlayerGhostId}export{le as PlayerHUD}; \ No newline at end of file diff --git a/docs/assets/PlayerHUD-MXCuNHBU.js b/docs/assets/PlayerHUD-MXCuNHBU.js deleted file mode 100644 index 2f3bb3f2..00000000 --- a/docs/assets/PlayerHUD-MXCuNHBU.js +++ /dev/null @@ -1,2 +0,0 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ChatInput-ChN-ua63.js","assets/chunk-DECur_0Z.js","assets/index-Ds_qp2Yy.js","assets/preload-helper-yuLzSqLi.js","assets/streamHelpers-BvWKgQMn.js","assets/three.module-DRRYkRPO.js","assets/mission-JRomjECE.js","assets/logger-B058WGzf.js","assets/Html-DrHEhPVE.js","assets/jsx-runtime-BpGWiA-R.js","assets/traditional-DhFuLw_p.js","assets/SettingsProvider-DVIFsPwe.js","assets/engineStore-DeZJbWme.js","assets/loaders-BhaVxgpz.js","assets/stringUtils-EmGsjr9D.js","assets/SettingsProvider-DAQByNim.css","assets/iconBase-BCRUFbxq.js","assets/JoystickContext-BJFVWHNC.js","assets/scene-6ZXksKVQ.js","assets/cameraTourStore-CDmCk75t.js","assets/index-BulUt8gq.css","assets/ChatInput-bC9wt42K.css"])))=>i.map(i=>d[i]); -import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import{p as i}from"./loaders-BhaVxgpz.js";import{t as a}from"./stringUtils-EmGsjr9D.js";import{i as o}from"./engineStore-DeZJbWme.js";import{t as s}from"./preload-helper-yuLzSqLi.js";import{n as c}from"./streamPlaybackStore-D-tkUWut.js";var l=e(n(),1),u=e=>e;function d(e,t=u){let n=l.useSyncExternalStore(e.subscribe,l.useCallback(()=>t(e.getState()),[e,t]),l.useCallback(()=>t(e.getInitialState()),[e,t]));return l.useDebugValue(n),n}var f=t(),p={PlayerHUD:`_PlayerHUD_13ssv_1`,Compass:`_Compass_13ssv_11`,CompassRing:`_CompassRing_13ssv_20`,CompassNSEW:`_CompassNSEW_13ssv_29`,CompassClock:`_CompassClock_13ssv_38`,Bars:`_Bars_13ssv_51`,BarTrack:`_BarTrack_13ssv_63`,BarFillHealth:`_BarFillHealth_13ssv_71`,BarFillEnergy:`_BarFillEnergy_13ssv_77`,WeaponHUD:`_WeaponHUD_13ssv_85`,PackInvItem:`_PackInvItem_13ssv_95`,WeaponSeparator:`_WeaponSeparator_13ssv_105`,TeamScores:`_TeamScores_13ssv_111`,ObserverCount:`_ObserverCount_13ssv_126`,TeamRow:`_TeamRow_13ssv_136`,TeamName:`_TeamName_13ssv_145`,TeamNameFriendly:`_TeamNameFriendly_13ssv_152 _TeamName_13ssv_145`,TeamNameEnemy:`_TeamNameEnemy_13ssv_157 _TeamName_13ssv_145`,TeamScore:`_TeamScore_13ssv_111`,TeamCount:`_TeamCount_13ssv_170`,PackInventoryHUD:`_PackInventoryHUD_13ssv_179`,PackInvIcon:`_PackInvIcon_13ssv_210`,PackInvCount:`_PackInvCount_13ssv_215`,PackInvInfinity:`_PackInvInfinity_13ssv_222`,Reticle:`_Reticle_13ssv_230`,ReticleImage:`_ReticleImage_13ssv_237`,ReticleDot:`_ReticleDot_13ssv_242`},m={ChatContainer:`_ChatContainer_qc3qt_1`,ChatWindow:`_ChatWindow_qc3qt_14`,ChatMessage:`_ChatMessage_qc3qt_39`,ChatColor0:`_ChatColor0_qc3qt_46`,ChatColor1:`_ChatColor1_qc3qt_49`,ChatColor2:`_ChatColor2_qc3qt_52`,ChatColor3:`_ChatColor3_qc3qt_55`,ChatColor4:`_ChatColor4_qc3qt_58`,ChatColor5:`_ChatColor5_qc3qt_61`,ChatColor6:`_ChatColor6_qc3qt_64`,ChatColor7:`_ChatColor7_qc3qt_67`,ChatColor8:`_ChatColor8_qc3qt_70`,ChatColor9:`_ChatColor9_qc3qt_73`},h=r(),g=(0,l.lazy)(()=>s(()=>import(`./ChatInput-ChN-ua63.js`).then(e=>({default:e.ChatInput})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21]))),_=[],v={0:m.ChatColor0,1:m.ChatColor1,2:m.ChatColor2,3:m.ChatColor3,4:m.ChatColor4,5:m.ChatColor5,6:m.ChatColor6,7:m.ChatColor7,8:m.ChatColor8,9:m.ChatColor9};function ee(e){return v[e]??v[0]}function te(e){return e.colorCode!=null&&v[e.colorCode]?v[e.colorCode]:v[0]}var y=(0,l.memo)(function(){let e=(0,f.c)(12),t=o(b),n=o(x),r=(0,l.useRef)(null),i=n[n.length-1]?.id,a;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=()=>{r.current&&(r.current.scrollTop=r.current.scrollHeight)},e[0]=a):a=e[0];let s;e[1]===i?s=e[2]:(s=[i],e[1]=i,e[2]=s),(0,l.useEffect)(a,s);let c;e[3]===n?c=e[4]:(c=n.map(C),e[3]=n,e[4]=c);let u;e[5]===c?u=e[6]:(u=(0,h.jsx)(`div`,{ref:r,className:m.ChatWindow,children:c}),e[5]=c,e[6]=u);let d;e[7]===t?d=e[8]:(d=t&&(0,h.jsx)(l.Suspense,{children:(0,h.jsx)(g,{})}),e[7]=t,e[8]=d);let p;return e[9]!==u||e[10]!==d?(p=(0,h.jsxs)(`div`,{className:m.ChatContainer,children:[u,d]}),e[9]=u,e[10]=d,e[11]=p):p=e[11],p});function b(e){return e.playback.recording?.source===`live`}function x(e){return e.playback.streamSnapshot?.chatMessages??_}function S(e,t){return(0,h.jsx)(`span`,{className:ee(e.colorCode),children:e.text},t)}function C(e){return(0,h.jsx)(`div`,{className:m.ChatMessage,hidden:!e.text,children:e.segments?e.segments.map(S):(0,h.jsxs)(`span`,{className:te(e),children:[e.sender?`${e.sender}: `:``,e.text]})},e.id)}var w=i(`gui/hud_new_compass`),T=i(`gui/hud_new_NSEW`);function E(e){let t=Math.abs(e)/1e3,n=e<0?Math.ceil(t):Math.floor(t),r=Math.floor(n/60),i=n%60;return`${String(r).padStart(2,`0`)}:${String(i).padStart(2,`0`)}`}function D(){let e=(0,f.c)(8),t=o(k),n=o(O);if(t==null)return null;let r=t*180/Math.PI,i;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,h.jsx)(`img`,{src:w,alt:``,className:p.CompassRing}),e[0]=i):i=e[0];let a=`rotate(${-r}deg)`,s;e[1]===a?s=e[2]:(s=(0,h.jsx)(`img`,{src:T,alt:``,className:p.CompassNSEW,style:{transform:a}}),e[1]=a,e[2]=s);let c;e[3]===n?c=e[4]:(c=n!=null&&(0,h.jsx)(`span`,{className:p.CompassClock,children:E(n)}),e[3]=n,e[4]=c);let l;return e[5]!==s||e[6]!==c?(l=(0,h.jsxs)(`div`,{className:p.Compass,children:[i,s,c]}),e[5]=s,e[6]=c,e[7]=l):l=e[7],l}function O(e){return e.playback.streamSnapshot?.matchClockMs}function k(e){return e.playback.streamSnapshot?.camera?.yaw}function A(){let e=(0,f.c)(2),t=o(j);if(t==null)return null;let n=`${Math.max(0,Math.min(100,t*100))}%`,r;return e[0]===n?r=e[1]:(r=(0,h.jsx)(`div`,{className:p.BarTrack,children:(0,h.jsx)(`div`,{className:p.BarFillHealth,style:{width:n}})}),e[0]=n,e[1]=r),r}function j(e){return e.playback.streamSnapshot?.status?.health}function M(){let e=(0,f.c)(2),t=o(N);if(t==null)return null;let n=`${Math.max(0,Math.min(100,t*100))}%`,r;return e[0]===n?r=e[1]:(r=(0,h.jsx)(`div`,{className:p.BarTrack,children:(0,h.jsx)(`div`,{className:p.BarFillEnergy,style:{width:n}})}),e[0]=n,e[1]=r),r}function N(e){return e.playback.streamSnapshot?.status?.energy}var P={weapon_energy:`gui/ret_blaster`,weapon_plasma:`gui/ret_plasma`,weapon_chaingun:`gui/ret_chaingun`,weapon_disc:`gui/ret_disc`,weapon_grenade_launcher:`gui/ret_grenade`,weapon_sniper:`gui/hud_ret_sniper`,weapon_elf:`gui/ret_elf`,weapon_mortar:`gui/ret_mortor`,weapon_missile:`gui/ret_missile`,weapon_targeting:`gui/hud_ret_targlaser`,weapon_shocklance:`gui/hud_ret_shocklance`};function F(e){return e?e.replace(/\.dts$/i,``).toLowerCase():``}function I(){let e=(0,f.c)(5),t=o(L);if(t===void 0)return null;let n=P[F(t)];if(n){let t;e[0]===n?t=e[1]:(t=i(n),e[0]=n,e[1]=t);let r;return e[2]===t?r=e[3]:(r=(0,h.jsx)(`div`,{className:p.Reticle,children:(0,h.jsx)(`img`,{src:t,alt:``,className:p.ReticleImage})}),e[2]=t,e[3]=r),r}let r;return e[4]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,h.jsx)(`div`,{className:p.Reticle,children:(0,h.jsx)(`div`,{className:p.ReticleDot})}),e[4]=r):r=e[4],r}function L(e){let t=e.playback.streamSnapshot;if(!t||t.camera?.mode!==`first-person`)return;let n=t.controlPlayerGhostId;if(n)return t.entities.find(e=>e.id===n)?.weaponShape}var R={0:{icon:`gui/hud_blaster`,label:`Blaster`},1:{icon:`gui/hud_plasma`,label:`Plasma`},2:{icon:`gui/hud_chaingun`,label:`Chaingun`},3:{icon:`gui/hud_disc`,label:`Spinfusor`},4:{icon:`gui/hud_grenlaunch`,label:`GL`},5:{icon:`gui/hud_sniper`,label:`Laser Rifle`},6:{icon:`gui/hud_elfgun`,label:`ELF Gun`},7:{icon:`gui/hud_new_mortar`,label:`Mortar`},8:{icon:`gui/hud_missiles`,label:`Missile`},9:{icon:`gui/hud_targetlaser`,label:`Targeting`},10:{icon:`gui/hud_shocklance`,label:`Shocklance`},11:{icon:`gui/hud_disc`,label:`Spinfusor`},12:{icon:`gui/hud_grenlaunch`,label:`GL`},13:{icon:`gui/hud_chaingun`,label:`Chaingun`},14:{icon:`gui/hud_targetlaser`,label:`Targeting`},15:{icon:`gui/hud_targetlaser`,label:`Targeting`},16:{icon:`gui/hud_shocklance`,label:`Shocklance`},17:{icon:`gui/hud_new_mortar`,label:`Mortar`}},ne=new Map(Object.entries(R).map(([e,t])=>[Number(e),i(t.icon)])),z=new Set([9,14,15]),B=i(`gui/hud_infinity`);function V(e){let t=(0,f.c)(12),{slot:n,isSelected:r}=e,i=R[n.index];if(!i)return null;let a=n.ammo<0,o;t[0]===n.index?o=t[1]:(o=ne.get(n.index),t[0]=n.index,t[1]=o);let s;t[2]!==i.label||t[3]!==o?(s=(0,h.jsx)(`img`,{src:o,alt:i.label,className:p.PackInvIcon}),t[2]=i.label,t[3]=o,t[4]=s):s=t[4];let c;t[5]!==a||t[6]!==n.ammo?(c=a?(0,h.jsx)(`img`,{src:B,alt:`\\u221E`,className:p.PackInvInfinity}):(0,h.jsx)(`span`,{className:p.PackInvCount,children:n.ammo}),t[5]=a,t[6]=n.ammo,t[7]=c):c=t[7];let l;return t[8]!==r||t[9]!==s||t[10]!==c?(l=(0,h.jsxs)(`div`,{className:p.PackInvItem,"data-active":r,children:[s,c]}),t[8]=r,t[9]=s,t[10]=c,t[11]=l):l=t[11],l}function H(){let e=(0,f.c)(15),t=o(U);if(!t||!t.slots.length)return null;let n,r;if(e[0]!==t.slots){r=[],n=[];for(let e of t.slots)z.has(e.index)?n.push(e):r.push(e);e[0]=t.slots,e[1]=n,e[2]=r}else n=e[1],r=e[2];let i;e[3]!==r||e[4]!==t?(i=r.map(e=>(0,h.jsx)(V,{slot:e,isSelected:e.index===t.activeIndex},e.index)),e[3]=r,e[4]=t,e[5]=i):i=e[5];let a;e[6]===n.length?a=e[7]:(a=n.length>0&&(0,h.jsx)(`div`,{className:p.WeaponSeparator}),e[6]=n.length,e[7]=a);let s;e[8]!==n||e[9]!==t?(s=n.map(e=>(0,h.jsx)(V,{slot:e,isSelected:e.index===t.activeIndex},e.index)),e[8]=n,e[9]=t,e[10]=s):s=e[10];let c;return e[11]!==i||e[12]!==a||e[13]!==s?(c=(0,h.jsxs)(`div`,{className:p.WeaponHUD,children:[i,a,s]}),e[11]=i,e[12]=a,e[13]=s,e[14]=c):c=e[14],c}function U(e){return e.playback.streamSnapshot?.weaponsHud}function W(){let e=(0,f.c)(18),t=o(J),n=o(q),r=o(G);if(!t?.length)return null;let i,s,c;if(e[0]!==r||e[1]!==n||e[2]!==t){let o;e[6]===n?o=e[7]:(o=(e,t)=>{if(n){if(e.teamId===n)return-1;if(t.teamId===n)return 1}return e.teamId-t.teamId},e[6]=n,e[7]=o);let l=[...t].sort(o);c=p.TeamScores,e[8]===r?i=e[9]:(i=r>0&&(0,h.jsx)(`tr`,{children:(0,h.jsxs)(`td`,{className:p.ObserverCount,colSpan:3,children:[r,` `,r===1?`observer`:`observers`]})}),e[8]=r,e[9]=i);let u;e[10]===n?u=e[11]:(u=e=>{let t=n!=null&&n>0&&e.teamId===n,r=e.name||(a[e.teamId]??`Team ${e.teamId}`);return(0,h.jsxs)(`tr`,{className:p.TeamRow,children:[(0,h.jsx)(`td`,{className:t?p.TeamNameFriendly:p.TeamNameEnemy,children:r}),(0,h.jsxs)(`td`,{className:p.TeamCount,children:[`(`,e.playerCount.toLocaleString(),`)`]}),(0,h.jsx)(`td`,{className:p.TeamScore,children:e.score.toLocaleString()})]},e.teamId)},e[10]=n,e[11]=u),s=l.map(u),e[0]=r,e[1]=n,e[2]=t,e[3]=i,e[4]=s,e[5]=c}else i=e[3],s=e[4],c=e[5];let l;e[12]!==i||e[13]!==s?(l=(0,h.jsxs)(`tbody`,{children:[i,s]}),e[12]=i,e[13]=s,e[14]=l):l=e[14];let u;return e[15]!==c||e[16]!==l?(u=(0,h.jsx)(`table`,{className:c,children:l}),e[15]=c,e[16]=l,e[17]=u):u=e[17],u}function G(e){return e.playback.streamSnapshot?.playerRoster?.filter(K).length??0}function K(e){return e.teamId<=0}function q(e){return e.playback.streamSnapshot?.playerSensorGroup}function J(e){return e.playback.streamSnapshot?.teamScores}var Y={0:`gui/hud_new_packammo`,1:`gui/hud_new_packcloak`,2:`gui/hud_new_packenergy`,3:`gui/hud_new_packrepair`,4:`gui/hud_new_packsatchel`,5:`gui/hud_new_packshield`,6:`gui/hud_new_packinventory`,7:`gui/hud_new_packmotionsens`,8:`gui/hud_new_packradar`,9:`gui/hud_new_packturretout`,10:`gui/hud_new_packturretin`,11:`gui/hud_new_packsensjam`,12:`gui/hud_new_packturret`,13:`gui/hud_new_packturret`,14:`gui/hud_new_packturret`,15:`gui/hud_new_packturret`,16:`gui/hud_new_packturret`,17:`gui/hud_new_packturret`,18:`gui/hud_satchel_unarmed`,19:`gui/hud_new_packenergy`},X={1:`gui/hud_new_packcloak_armed`,3:`gui/hud_new_packrepair_armed`,4:`gui/hud_satchel_armed`,5:`gui/hud_new_packshield_armed`,11:`gui/hud_new_packsensjam_armed`},Z=new Map(Object.entries(Y).map(([e,t])=>[Number(e),i(t)])),re=new Map(Object.entries(X).map(([e,t])=>[Number(e),i(t)])),Q={0:{icon:`gui/hud_handgren`,label:`Grenade`},1:{icon:`gui/hud_mine`,label:`Mine`},2:{icon:`gui/hud_beacon`,label:`Beacon`},3:{icon:`gui/hud_medpack`,label:`Repair Kit`}},ie=new Map(Object.entries(Q).map(([e,t])=>[Number(e),i(t.icon)]));function ae(){let e=(0,f.c)(25),t=o(ce),n=o(se),r=t&&t.packIndex>=0,i;if(r){let n;e[0]!==t.active||e[1]!==t.packIndex?(n=t.active?re.get(t.packIndex):void 0,e[0]=t.active,e[1]=t.packIndex,e[2]=n):n=e[2];let r=n,a;e[3]!==r||e[4]!==t.packIndex?(a=r??Z.get(t.packIndex),e[3]=r,e[4]=t.packIndex,e[5]=a):a=e[5],i=a}let a;if(e[6]!==n){if(a=new Map,n)for(let e of n.slots)a.set(e.slot,e.count);e[6]=n,e[7]=a}else a=e[7];let s,c,l,u;if(e[8]!==t||e[9]!==a||e[10]!==r||e[11]!==i){u=Symbol.for(`react.early_return_sentinel`);bb0:{let n=Object.keys(Q).map(Number).sort(oe);if(!r&&!a.size){u=null;break bb0}s=p.PackInventoryHUD,e[16]!==t||e[17]!==i?(c=i&&(0,h.jsxs)(`div`,{className:p.PackInvItem,"data-active":t.active??!1,children:[(0,h.jsx)(`img`,{src:i,alt:``,className:p.PackInvIcon}),(0,h.jsx)(`span`,{className:p.PackInvCount,children:t.text||`\xA0`})]}),e[16]=t,e[17]=i,e[18]=c):c=e[18];let o;e[19]===a?o=e[20]:(o=e=>{let t=Q[e],n=ie.get(e);return!t||!n?null:(0,h.jsxs)(`div`,{className:p.PackInvItem,children:[(0,h.jsx)(`img`,{src:n,alt:t.label,className:p.PackInvIcon}),(0,h.jsx)(`span`,{className:p.PackInvCount,children:a.get(e)??0})]},e)},e[19]=a,e[20]=o),l=n.map(o)}e[8]=t,e[9]=a,e[10]=r,e[11]=i,e[12]=s,e[13]=c,e[14]=l,e[15]=u}else s=e[12],c=e[13],l=e[14],u=e[15];if(u!==Symbol.for(`react.early_return_sentinel`))return u;let d;return e[21]!==s||e[22]!==c||e[23]!==l?(d=(0,h.jsxs)(`div`,{className:s,children:[c,l]}),e[21]=s,e[22]=c,e[23]=l,e[24]=d):d=e[24],d}function oe(e,t){return e-t}function se(e){return e.playback.streamSnapshot?.inventoryHud}function ce(e){return e.playback.streamSnapshot?.backpackHud}function le(){let e=(0,f.c)(10),t=o(ue),n=d(c,$),r=t&&n!==`freeFly`,i;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,h.jsx)(y,{}),e[0]=i):i=e[0];let a;e[1]===r?a=e[2]:(a=r&&(0,h.jsxs)(`div`,{className:p.Bars,children:[(0,h.jsx)(A,{}),(0,h.jsx)(M,{})]}),e[1]=r,e[2]=a);let s;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,h.jsx)(D,{}),e[3]=s):s=e[3];let l;e[4]===r?l=e[5]:(l=r&&(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(H,{}),(0,h.jsx)(ae,{}),(0,h.jsx)(I,{})]}),e[4]=r,e[5]=l);let u;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,h.jsx)(W,{}),e[6]=u):u=e[6];let m;return e[7]!==a||e[8]!==l?(m=(0,h.jsxs)(`div`,{className:p.PlayerHUD,children:[i,a,s,l,u]}),e[7]=a,e[8]=l,e[9]=m):m=e[9],m}function $(e){return e.cameraMode}function ue(e){return!!e.playback.streamSnapshot?.controlPlayerGhostId}export{le as PlayerHUD}; \ No newline at end of file diff --git a/docs/assets/PlayerModel-C8bjGZ0F.js b/docs/assets/PlayerModel-C8bjGZ0F.js deleted file mode 100644 index 761b03d5..00000000 --- a/docs/assets/PlayerModel-C8bjGZ0F.js +++ /dev/null @@ -1 +0,0 @@ -import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import{o as i,t as a}from"./Html-DrHEhPVE.js";import{a as o,b as s,c,d as l,f as u,g as d,h as f,l as p,u as m,v as h}from"./SettingsProvider-DVIFsPwe.js";import{C as g,a as _,f as ee,i as v,l as y,m as b,p as x,r as S,t as C,u as w}from"./GenericShape-D0Move-Z.js";import{p as T,r as E}from"./loaders-BhaVxgpz.js";import{$ as D,Q as O,a as k,bt as te,f as A,i as j,o as M,s as N}from"./three.module-DRRYkRPO.js";import{a as ne,i as re,o as P}from"./engineStore-DeZJbWme.js";import{t as F}from"./DebugSuspense-CNky_EQQ.js";import{n as I}from"./streamPlaybackStore-D-tkUWut.js";import{t as ie}from"./useAnisotropy-nhH7jNtm.js";import{t as ae}from"./ShapeErrorBoundary-75cvF0LI.js";var L=e(n(),1),R=t(),z=.1,B=20;function V(e){return-2*Math.atan2(e[1],e[3])}function oe(e,t,n,r){if(n)return{animation:`fall`,timeScale:1};if(!e)return{animation:`root`,timeScale:1};let[i,a,o]=e,s=i*i+a*a;if(Math.abs(o)>2||s>B*B)return r?{animation:`jet`,timeScale:1}:{animation:`root`,timeScale:1};let c=V(t),l=Math.cos(c),u=Math.sin(c),d=i*l+a*u,f=-i*u+a*l,p=f,m=-f,h=-d,g=Math.max(p,m,h,d);return g0&&(this.delayTime=e[0].timeoutValue??0)}get stateIndex(){return this.currentStateIndex}reset(){this.currentStateIndex=0,this.delayTime=this.states.length>0?this.states[0].timeoutValue??0:0,this.lastFireCount=-1}tick(e,t){if(this.states.length===0)return{sequenceName:null,isFiring:!1,spinTimeScale:0,reverse:!1,scaleAnimation:!1,timeoutValue:0,transitioned:!1,soundDataBlockIds:[],stateIndex:-1};let n=this.lastFireCount>=0&&t.fireCount!==this.lastFireCount;this.lastFireCount=t.fireCount;let r=[];if(n){let e=this.states.findIndex(e=>e.fire);if(e>=0&&e!==this.currentStateIndex){this.currentStateIndex=e,this.delayTime=this.states[e].timeoutValue??0;let t=this.states[e].soundDataBlockId;t>=0&&r.push(t)}}this.delayTime-=e;let i=n,a=this.evaluateTickTransitions(t),o=0;for(;a>=0&&o=0&&r.push(c),this.states[a].spin){case W:this.spinTimeScale=0;break;case se:this.spinTimeScale=1;break;case G:e===K&&s>0&&(this.delayTime*=1-n/s);break;case K:e===G&&s>0&&(this.delayTime*=1-n/s);break}a=this.evaluateEntryTransitions(t)}let s=this.states[this.currentStateIndex],c=s.timeoutValue??0;switch(s.spin){case W:this.spinTimeScale=0;break;case G:this.spinTimeScale=c>0?Math.max(0,1-this.delayTime/c):1;break;case se:this.spinTimeScale=1;break;case K:this.spinTimeScale=c>0?Math.max(0,this.delayTime/c):0;break}return{sequenceName:this.resolveSequenceName(s),isFiring:s.fire,spinTimeScale:this.spinTimeScale,reverse:!s.direction,scaleAnimation:s.scaleAnimation,timeoutValue:s.timeoutValue??0,transitioned:i,soundDataBlockIds:r,stateIndex:this.currentStateIndex}}evaluateTickTransitions(e){let t=this.states[this.currentStateIndex],n=this.delayTime<=0;if(!(n||!t.waitForTimeout))return-1;let r=this.evaluateConditions(t,e);if(r!==-1)return r;if(n){let e=t.transitionOnTimeout;if(e!==H)return e}return-1}evaluateEntryTransitions(e){let t=this.states[this.currentStateIndex];return this.evaluateConditions(t,e)}evaluateConditions(e,t){let n=t.loaded?e.transitionOnLoaded:e.transitionOnNotLoaded;if(n!==H)return n;let r=t.ammo?e.transitionOnAmmo:e.transitionOnNoAmmo;if(r!==H)return r;let i=t.target?e.transitionOnTarget:e.transitionOnNoTarget;if(i!==H)return i;let a=t.wet?e.transitionOnWet:e.transitionOnNotWet;if(a!==H)return a;let o=t.triggerDown?e.transitionOnTriggerDown:e.transitionOnTriggerUp;return o===H?-1:o}resolveSequenceName(e){return e.sequence==null||e.sequence<0?null:this.seqIndexToName[e.sequence]??null}},q={Root:`_Root_1i0cm_1`,Top:`_Top_1i0cm_10 _Root_1i0cm_1`,Bottom:`_Bottom_1i0cm_15 _Root_1i0cm_1`,IffArrow:`_IffArrow_1i0cm_20`,Name:`_Name_1i0cm_27`,HealthBar:`_HealthBar_1i0cm_35`,HealthFill:`_HealthFill_1i0cm_44`},J=r(),le=150,ue=.1,Y=-.2,de=T(`gui/hud_alliedtriangle`),fe=T(`gui/hud_enemytriangle`),X=[];function pe(e){let t=(0,R.c)(23),{entity:n}=e,r=S(n.shapeName),o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o={fadeDistance:le},t[0]=o):o=t[0];let{groupRef:s,isVisible:c,opacityRef:l}=h(o),u=(0,L.useRef)(null),d=(0,L.useRef)(null),f=(0,L.useRef)(null),p=(0,L.useRef)(null),m=(0,L.useRef)(null),g;t[1]===r.scene?g=t[2]:(g=new A().setFromObject(r.scene),t[1]=r.scene,t[2]=g);let _=g.max.y+ue,v=n.keyframes??X,y;t[3]===v?y=t[4]:(y=v.some(me),t[3]=v,t[4]=y);let b=y,x;t[5]!==n.id||t[6]!==n.iffColor||t[7]!==n.playerName||t[8]!==b||t[9]!==c||t[10]!==v||t[11]!==l?(x=()=>{if(!c)return;let e=ee(v,I.getState().time),t=e?.health??1;if(e?.damageState!=null&&e.damageState>=1){u.current&&(u.current.style.opacity=`0`),d.current&&(d.current.style.opacity=`0`);return}let r=l.current;if(u.current&&(u.current.style.opacity=r),d.current&&(d.current.style.opacity=r),m.current){let e=n.playerName??n.id;m.current.textContent!==e&&(m.current.textContent=e)}if(p.current&&n.iffColor){let e=n.iffColor.r>n.iffColor.g?fe:de;p.current.getAttribute(`src`)!==e&&(p.current.src=e)}f.current&&b&&(f.current.style.width=`${Math.max(0,Math.min(100,t*100))}%`,f.current.style.background=n.iffColor?`rgb(${n.iffColor.r}, ${n.iffColor.g}, ${n.iffColor.b})`:``)},t[5]=n.id,t[6]=n.iffColor,t[7]=n.playerName,t[8]=b,t[9]=c,t[10]=v,t[11]=l,t[12]=x):x=t[12],i(x);let C=n.iffColor&&n.iffColor.r>n.iffColor.g?fe:de,w;t[13]!==n.id||t[14]!==n.playerName||t[15]!==b||t[16]!==_||t[17]!==C||t[18]!==c?(w=c&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(a,{position:[0,_,0],center:!0,children:(0,J.jsx)(`div`,{ref:u,className:q.Top,children:(0,J.jsx)(`img`,{ref:p,className:q.IffArrow,src:C,alt:``})})}),(0,J.jsx)(a,{position:[0,Y,0],center:!0,children:(0,J.jsxs)(`div`,{ref:d,className:q.Bottom,children:[(0,J.jsx)(`div`,{ref:m,className:q.Name,children:n.playerName??n.id}),b&&(0,J.jsx)(`div`,{className:q.HealthBar,children:(0,J.jsx)(`div`,{ref:f,className:q.HealthFill})})]})})]}),t[13]=n.id,t[14]=n.playerName,t[15]=b,t[16]=_,t[17]=C,t[18]=c,t[19]=w):w=t[19];let T;return t[20]!==s||t[21]!==w?(T=(0,J.jsx)(`group`,{ref:s,children:w}),t[20]=s,t[21]=w,t[22]=T):T=t[22],T}function me(e){return e.health!=null}var Z=8,Q=[`root`,`run`,`back`,`side`,`fall`,`jet`,`jump`,`land`];function he(e,t,n=0){let r=new Map,i=[];for(let n of e){let e=n.indexOf(` `);if(e===-1)continue;let r=n.slice(0,e).toLowerCase(),a=n.slice(e+1).trim().toLowerCase();if(!a||!r.startsWith(t)||!r.endsWith(`.dsq`))continue;let o=r.slice(t.length,-4);o&&i.push({clipName:o,alias:a})}let a=new Set;for(let e=0;e{let t=n?.toLowerCase();return t?e.runtime.sequenceAliases.get(t):void 0}),l=ie(),m=re(e=>e.playback.streamSnapshot?.controlPlayerGhostId),{clonedScene:h,mixer:_,mount0:x,mount1:T,mount2:A,iflInitializers:R}=(0,L.useMemo)(()=>{let t=g(r.scene),n=b(t,void 0,{anisotropy:l,emap:e.emap});t.traverse(e=>{if(e.isMesh&&e.material){let t=Array.isArray(e.material)?e.material:[e.material];for(let e of t)e.side=0}});let i=new M(t),a=null,o=null,s=null;return t.traverse(e=>{!a&&e.name===`Mount0`&&(a=e),!o&&e.name===`Mount1`&&(o=e),!s&&e.name===`Mount2`&&(s=e)}),{clonedScene:t,mixer:i,mount0:a,mount1:o,mount2:s,iflInitializers:n}},[r.scene,l,e.emap]);(0,L.useEffect)(()=>()=>{w(h),_.uncacheRoot(h)},[h,_]);let z=(0,L.useRef)(new Map),B=(0,L.useRef)({head:null,headside:null}),V=(0,L.useRef)(new Map),H=(0,L.useRef)(null),U=(0,L.useRef)({name:`root`,timeScale:1}),W=(0,L.useRef)(!1),G=(0,L.useRef)(void 0),K=(0,L.useMemo)(()=>{let e=t.getState().playback.recording?.streamingPlayback,i=n?.toLowerCase();if(!e||!i)return new Map;let a=e.getShapeConstructorSequences(i);if(!a)return new Map;let o=i.replace(/\.dts$/i,``)+`_`;return he(a,o,_e(r.scene,a,o))},[t,n,r.scene]),se=(0,L.useMemo)(()=>{let e=new Map,t=r.scene.userData?.dts_sequence_names,n=r.scene.userData?.dts_sequence_cyclic;if(typeof t==`string`&&typeof n==`string`)try{let r=JSON.parse(t),i=JSON.parse(n),o=new Map;for(let e=0;e{let e=P(r.animations,_,a);z.current=e;let t=e.get(`root`);t&&t.play(),U.current={name:`root`,timeScale:1};let n={head:null,headside:null};for(let{key:e,names:t}of[{key:`head`,names:[`head`]},{key:`headside`,names:[`headside`]}]){let i=r.animations.find(e=>t.includes(e.name.toLowerCase()));if(!i)continue;let a=i.clone(),o=Math.round(i.duration*30/2);N.makeClipAdditive(a,o,i,30);let s=_.clipAction(a);s.blendMode=j,s.timeScale=0,s.weight=1,s.play(),n[e]=s}B.current=n;let i=r.animations.find(e=>e.name.toLowerCase()===`root`);if(i){let e=new Set;for(let t of r.animations){let n=t.name.toLowerCase();if([`forward`,`back`,`side`,`fall`].includes(n))for(let n of t.tracks)e.add(n.name.slice(0,n.name.lastIndexOf(`.`)))}let t=i.tracks.filter(t=>{let n=t.name.slice(0,t.name.lastIndexOf(`.`));return!e.has(n)});if(t.length>0){let e=new k(`root_arms`,i.duration,t);_.clipAction(e).play()}}let o=new Map,s=r.scene.userData?.dts_sequence_names,c=r.scene.userData?.dts_sequence_blend;if(typeof s==`string`&&typeof c==`string`)try{let e=JSON.parse(s),t=JSON.parse(c);for(let n=0;ne.name.toLowerCase()===i);if(!a)continue;let s=a.clone(),c=y(r.scene,s);N.makeClipAdditive(s,0,c,30);let l=_.clipAction(s);l.blendMode=j,l.timeScale=0,l.weight=0,l.play(),o.set(i,l)}}catch{}V.current=o;let l=o.get(`lookde`);return l&&(l.weight=1,H.current=`lookde`),_.update(0),()=>{_.stopAllAction(),z.current=new Map,B.current={head:null,headside:null},V.current=new Map,H.current=null}},[_,r.animations,a]),(0,L.useEffect)(()=>{let e=[];for(let{mesh:t,initialize:n}of R)n(t,()=>I.getState().time).then(t=>e.push(t)).catch(()=>{});return()=>e.forEach(e=>e())},[R]);let ce=(0,L.useRef)(e.weaponShape),[q,le]=(0,L.useState)(e.weaponShape),ue=(0,L.useRef)(e.packShape),[Y,de]=(0,L.useState)(e.packShape),fe=(0,L.useRef)(e.flagShape),[X,me]=(0,L.useState)(e.flagShape),{audioLoader:Q,audioListener:ge}=s(),ve=o()?.audioEnabled??!1,$=(0,L.useRef)(null),ye=(0,L.useRef)(null),xe=(0,L.useRef)(null);return(0,L.useEffect)(()=>{if(!Q)return;let n=t.getState().playback.recording?.streamingPlayback;if(!n||!e.dataBlockId)return;let r=n.getDataBlockData.bind(n),i=r(e.dataBlockId)?.sounds?.[0];if(i==null)return;let a=u(i,r);if(a){xe.current=a;try{c(E(a.filename),Q,e=>{ye.current=e})}catch{}}},[Q,t,e.dataBlockId]),(0,L.useEffect)(()=>()=>{let e=$.current;if(e){d(e);try{e.stop()}catch{}try{e.disconnect()}catch{}e.parent?.remove(e),$.current=null}},[]),i((n,r)=>{e.weaponShape!==ce.current&&(ce.current=e.weaponShape,le(e.weaponShape)),e.packShape!==ue.current&&(ue.current=e.packShape,de(e.packShape)),e.flagShape!==fe.current&&(fe.current=e.flagShape,me(e.flagShape));let i=t.getState().playback,a=i.status===`playing`,o=I.getState().time,s=ee(e.keyframes??[],o),c=s?.damageState!=null&&s.damageState>=1,l=z.current;if(c&&!W.current){W.current=!0;let e=s.actionAnim==null?void 0:K.get(s.actionAnim);if(e){let t=l.get(e.clipName);if(t){let n=l.get(U.current.name.toLowerCase());n&&n.fadeOut(v),t.setLoop(O,1),t.clampWhenFinished=!0,t.reset().fadeIn(v).play(),U.current={name:e.clipName,timeScale:1},G.current=s.actionAnim}}}if(!c&&W.current){W.current=!1,G.current=void 0;let e=l.get(U.current.name.toLowerCase());e&&(e.stop(),e.setLoop(D,1/0),e.clampWhenFinished=!1),U.current={name:`root`,timeScale:1};let t=l.get(`root`);t&&t.reset().play()}let u=s?.actionAnim,m=G.current;if(!W.current&&u!==m){G.current=u;let e=u!=null&&u>=Z,t=m!=null&&m>=Z;if(e){let e=K.get(u);if(e){let t=l.get(e.clipName);if(t){let n=l.get(U.current.name.toLowerCase());n&&n.fadeOut(v),t.setLoop(O,1),t.clampWhenFinished=!0,t.reset().fadeIn(v).play(),U.current={name:e.clipName,timeScale:1}}}}else if(t){let e=K.get(m);if(e){let t=l.get(e.clipName);t&&(t.fadeOut(v),t.setLoop(D,1/0),t.clampWhenFinished=!1)}U.current={name:`root`,timeScale:1};let t=l.get(`root`);t&&t.reset().fadeIn(v).play()}}if(u!=null&&u>=Z&&s?.actionAtEnd){let e=K.get(u);if(e){let t=l.get(e.clipName);t&&(t.paused=!0)}}let g=G.current!=null&&G.current>=Z;if(!W.current&&!g){let t=oe(s?.velocity,s?.rotation??[0,0,0,1],e.falling,e.jetting),n=U.current;if(t.animation!==n.name||t.timeScale!==n.timeScale){let e=l.get(n.name.toLowerCase()),r=l.get(t.animation.toLowerCase());r&&(se.get(t.animation)??!0?(r.setLoop(D,1/0),r.clampWhenFinished=!1):(r.setLoop(O,1),r.clampWhenFinished=!0),a&&e&&e!==r?(e.fadeOut(v),r.reset().fadeIn(v).play()):(e&&e!==r&&e.stop(),r.reset().play()),r.timeScale=t.timeScale,U.current={name:t.animation,timeScale:t.timeScale})}}let y=(e.armAction==null?void 0:K.get(e.armAction))?.clipName??`lookde`;if(y!==H.current){let e=V.current,t=H.current?e.get(H.current):null,n=e.get(y);n&&(t&&(t.weight=0),n.weight=c?0:1,H.current=y)}let{head:b,headside:x}=B.current,S=H.current?V.current.get(H.current):null,C=c?0:1,w=e.headPitch??0,T=e.headYaw??0,E=(w+1)/2,k=(T+1)/2;S&&(S.time=E*S.getClip().duration,S.weight=C),b&&(b.time=E*b.getClip().duration,b.weight=C),x&&(x.time=k*x.getClip().duration,x.weight=C);let A=!!e.jetting&&!c,j=xe.current,M=$.current,N=M?.isPlaying??!1;if(A&&!N){if(ve&&ge&&ye.current&&j){let e=M;e||(e=new te(ge),e.setDistanceModel(`inverse`),e.setRefDistance(j.refDist),e.setMaxDistance(j.maxDist),e.setRolloffFactor(1),e.setVolume(j.volume),h.add(e),$.current=e);try{e.setBuffer(ye.current),e.setLoop(!0),e.setPlaybackRate(p()),e.play(),f(e,1)}catch{}}}else if(!A&&N&&M){d(M);try{M.stop()}catch{}}a?_.update(r*i.rate):_.update(0)}),(0,J.jsxs)(J.Fragment,{children:[e.id!==m&&(0,J.jsx)(pe,{entity:e}),(0,J.jsx)(`group`,{rotation:[0,Math.PI/2,0],children:(0,J.jsx)(`primitive`,{object:h})}),q&&x&&(0,J.jsx)(ae,{fallback:(0,J.jsx)(C,{color:`red`,label:q}),children:(0,J.jsx)(F,{name:`Weapon:${e.id}/${q}`,fallback:(0,J.jsx)(C,{color:`cyan`,label:q}),children:(0,J.jsx)(be,{entity:e,weaponShape:q,mount0:x})})},q),Y&&T&&(0,J.jsx)(ae,{fallback:(0,J.jsx)(C,{color:`red`,label:Y}),children:(0,J.jsx)(F,{name:`Pack:${e.id}/${Y}`,fallback:(0,J.jsx)(C,{color:`cyan`,label:Y}),children:(0,J.jsx)(Se,{packShape:Y,mountBone:T,emap:e.emap})})},Y),X&&A&&(0,J.jsx)(ae,{fallback:(0,J.jsx)(C,{color:`red`,label:X}),children:(0,J.jsx)(F,{name:`Flag:${e.id}/${X}`,fallback:(0,J.jsx)(C,{color:`cyan`,label:X}),children:(0,J.jsx)(Se,{packShape:X,mountBone:A,emap:e.emap})})},X)]})}function ye(e,t){let n=e.userData?.dts_sequence_names;if(typeof n==`string`)try{return JSON.parse(n).map(e=>e.toLowerCase())}catch{}return t.map(e=>e.name.toLowerCase())}function be({entity:e,weaponShape:t,mount0:n}){let r=ne(),a=S(t),d=ie(),{weaponClone:h,weaponMixer:_,seqIndexToName:ee,visNodesBySequence:v,weaponIflInitializers:y}=(0,L.useMemo)(()=>{let t=g(a.scene),n=b(t,void 0,{anisotropy:d,emap:e.emap}),r=x(a.scene,a.animations,`Mountpoint`);if(r){let e=r.quaternion.clone().invert(),n=r.position.clone().negate().applyQuaternion(e);t.position.copy(n),t.quaternion.copy(e)}let i=new Map;return t.traverse(e=>{if(!e.isMesh)return;let t=(e.userData?.vis_sequence??``).toLowerCase();if(!t)return;let n=i.get(t);n||(n=[],i.set(t,n)),n.push(e)}),{weaponClone:t,weaponMixer:new M(t),seqIndexToName:ye(a.scene,a.animations),visNodesBySequence:i,weaponIflInitializers:n}},[a,d]);(0,L.useEffect)(()=>()=>{w(h),_.uncacheRoot(h)},[h,_]);let C=(0,L.useRef)(new Map),T=(0,L.useRef)(null);(0,L.useEffect)(()=>{let e=new Map;for(let t of a.animations)e.set(t.name.toLowerCase(),_.clipAction(t));C.current=e;let t=e.get(`spin`);return t&&(t.setLoop(D,1/0),t.timeScale=0,t.play()),T.current=t??null,_.update(0),()=>{_.stopAllAction(),C.current=new Map,T.current=null,ve(P,F)}},[_,a.animations]),(0,L.useEffect)(()=>{let e=[];for(let{mesh:t,initialize:n}of y)n(t,()=>I.getState().time).then(t=>e.push(t)).catch(()=>{});return()=>e.forEach(e=>e())},[y]);let{audioLoader:O,audioListener:k}=s(),A=o()?.audioEnabled??!1,j=(0,L.useRef)(null),N=(0,L.useRef)(null),re=(0,L.useRef)(e.weaponImageStates),P=(0,L.useRef)(null),F=(0,L.useRef)(-1);return(0,L.useEffect)(()=>(n.add(h),()=>{n.remove(h)}),[h,n]),i((t,n)=>{let i=r.getState().playback,a=i.status===`playing`,o=C.current,s=e.weaponImageState,d=e.weaponImageStates;d!==re.current&&(re.current=d,d&&d.length>0?j.current=new ce(d,ee):j.current=null,N.current=null,ve(P,F,h)),!j.current&&d&&d.length>0&&(j.current=new ce(d,ee));let g=j.current;if(g&&s&&a){let e=n*i.rate,t=g.tick(e,s);if(xe(t,o,N,v),P.current&&t.stateIndex!==F.current&&ve(P,F,h),A&&O&&k&&t.soundDataBlockIds.length>0){let e=i.recording?.streamingPlayback.getDataBlockData.bind(i.recording.streamingPlayback);if(e)for(let n of t.soundDataBlockIds){let t=u(n,e);if(t)if(t.isLooping){if(!P.current)try{let e=E(t.filename),n=m();c(e,O,e=>{if(n!==m()||P.current)return;let r=g.stateIndex,i=new te(k);i.setBuffer(e),i.setDistanceModel(`inverse`),i.setRefDistance(t.refDist),i.setMaxDistance(t.maxDist),i.setRolloffFactor(1),i.setVolume(t.volume),i.setPlaybackRate(p()),i.setLoop(!0),h.add(i),f(i),i.play(),P.current=i,F.current=r})}catch{}}else l(t,k,O,void 0,h)}}T.current&&(T.current.timeScale=t.spinTimeScale)}a?_.update(n*i.rate):_.update(0)}),null}function xe(e,t,n,r){let i=e.sequenceName,a=n.current;if(i===a&&!e.transitioned)return;if(i!==a){if(a){let e=r.get(a);if(e)for(let t of e)t.visible=!1}if(i){let e=r.get(i);if(e)for(let t of e)t.visible=!0}}if(!i){if(a){let e=t.get(a);e&&e.fadeOut(v),n.current=null}return}let o=t.get(i);if(o&&(e.transitioned||i!==a)){let r=a?t.get(a):null;if(e.isFiring||e.timeoutValue>0?(o.setLoop(O,1),o.clampWhenFinished=!0):(o.setLoop(D,1/0),o.clampWhenFinished=!1),e.scaleAnimation&&e.timeoutValue>0){let t=o.getClip().duration;o.timeScale=t>0?t/e.timeoutValue:1}else o.timeScale=e.reverse?-1:1;r&&r!==o?(r.fadeOut(v),o.reset().fadeIn(v).play()):o.reset().play(),n.current=i}}function Se({packShape:e,mountBone:t,emap:n}){let r=S(e),i=ie(),{packClone:a,packIflInitializers:o}=(0,L.useMemo)(()=>{let e=g(r.scene),t=b(e,void 0,{anisotropy:i,emap:n}),a=x(r.scene,r.animations,`Mountpoint`);if(a){let t=a.quaternion.clone().invert(),n=a.position.clone().negate().applyQuaternion(t);e.position.copy(n),e.quaternion.copy(t)}return{packClone:e,packIflInitializers:t}},[r,i]);return(0,L.useEffect)(()=>(t.add(a),()=>{t.remove(a),w(a)}),[a,t]),(0,L.useEffect)(()=>{let e=[];for(let{mesh:t,initialize:n}of o)n(t,()=>I.getState().time).then(t=>e.push(t)).catch(()=>{});return()=>e.forEach(e=>e())},[o]),null}function Ce(e){let t=(0,R.c)(7),{shapeName:n,eyeOffsetRef:r}=e,i=S(n),a;t[0]!==r||t[1]!==i.animations||t[2]!==i.scene?(a=()=>{let e=x(i.scene,i.animations,`Eye`);e?r.current.set(e.position.z,e.position.y,-e.position.x):r.current.set(0,_,0)},t[0]=r,t[1]=i.animations,t[2]=i.scene,t[3]=a):a=t[3];let o;return t[4]!==r||t[5]!==i?(o=[i,r],t[4]=r,t[5]=i,t[6]=o):o=t[6],(0,L.useEffect)(a,o),null}export{Ce as PlayerEyeOffset,$ as PlayerModel}; \ No newline at end of file diff --git a/docs/assets/PlayerModel-DwsYOcG2.js b/docs/assets/PlayerModel-DwsYOcG2.js new file mode 100644 index 00000000..3c4beb14 --- /dev/null +++ b/docs/assets/PlayerModel-DwsYOcG2.js @@ -0,0 +1 @@ +import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import{i}from"./react-three-fiber.esm-CD18QK1u.js";import{a,s as o}from"./SettingsProvider-D-grt5cc.js";import{d as s,l as c,n as l,o as u,s as d,t as f,u as p}from"./playbackUtils-C1ncI8YZ.js";import{a as m,i as h,o as g}from"./engineStore-Mono9lyt.js";import{r as _}from"./cameraTourStore-DQ989o2x.js";import{$ as v,Wt as y,a as b,et as x,f as S,i as C,o as w,s as T,xt as ee}from"./three.module-C9W4LJrj.js";import{t as E}from"./Html-DcxB1JCg.js";import{p as D,r as te}from"./index-BEKjcnfN.js";import{t as O}from"./DebugBounds-BnJbEQUF.js";import{a as k,c as ne,d as A,i as j,l as re,o as M,p as N,r as ie}from"./AudioEmitter-EsMJ6jds.js";import{t as ae}from"./DebugSuspense-D7OBM5vj.js";import{n as P}from"./streamPlaybackStore-UQ4nn4bZ.js";import{a as oe,i as se,r as F,t as I}from"./GenericShape-C0Oq1K_N.js";import{t as ce}from"./useAnisotropy-Dq6cNuNI.js";import{t as le}from"./ShapeErrorBoundary-CKhGCR8M.js";var L=e(n(),1),R=t(),z=.1,B=20;function V(e){return-2*Math.atan2(e[1],e[3])}function ue(e,t,n,r){if(n)return{animation:`fall`,timeScale:1};if(!e)return{animation:`root`,timeScale:1};let[i,a,o]=e,s=i*i+a*a;if(Math.abs(o)>2||s>B*B)return r?{animation:`jet`,timeScale:1}:{animation:`root`,timeScale:1};let c=V(t),l=Math.cos(c),u=Math.sin(c),d=i*l+a*u,f=-i*u+a*l,p=f,m=-f,h=-d,g=Math.max(p,m,h,d);return g0&&(this.delayTime=e[0].timeoutValue??0)}get stateIndex(){return this.currentStateIndex}reset(){this.currentStateIndex=0,this.delayTime=this.states.length>0?this.states[0].timeoutValue??0:0,this.lastFireCount=-1}tick(e,t){if(this.states.length===0)return{sequenceName:null,isFiring:!1,spinTimeScale:0,reverse:!1,scaleAnimation:!1,timeoutValue:0,transitioned:!1,soundDataBlockIds:[],stateIndex:-1};let n=this.lastFireCount>=0&&t.fireCount!==this.lastFireCount;this.lastFireCount=t.fireCount;let r=[];if(n){let e=this.states.findIndex(e=>e.fire);if(e>=0&&e!==this.currentStateIndex){this.currentStateIndex=e,this.delayTime=this.states[e].timeoutValue??0;let t=this.states[e].soundDataBlockId;t>=0&&r.push(t)}}this.delayTime-=e;let i=n,a=this.evaluateTickTransitions(t),o=0;for(;a>=0&&o=0&&r.push(c),this.states[a].spin){case de:this.spinTimeScale=0;break;case fe:this.spinTimeScale=1;break;case W:e===G&&s>0&&(this.delayTime*=1-n/s);break;case G:e===W&&s>0&&(this.delayTime*=1-n/s);break}a=this.evaluateEntryTransitions(t)}let s=this.states[this.currentStateIndex],c=s.timeoutValue??0;switch(s.spin){case de:this.spinTimeScale=0;break;case W:this.spinTimeScale=c>0?Math.max(0,1-this.delayTime/c):1;break;case fe:this.spinTimeScale=1;break;case G:this.spinTimeScale=c>0?Math.max(0,this.delayTime/c):0;break}return{sequenceName:this.resolveSequenceName(s),isFiring:s.fire,spinTimeScale:this.spinTimeScale,reverse:!s.direction,scaleAnimation:s.scaleAnimation,timeoutValue:s.timeoutValue??0,transitioned:i,soundDataBlockIds:r,stateIndex:this.currentStateIndex}}evaluateTickTransitions(e){let t=this.states[this.currentStateIndex],n=this.delayTime<=0;if(!(n||!t.waitForTimeout))return-1;let r=this.evaluateConditions(t,e);if(r!==-1)return r;if(n){let e=t.transitionOnTimeout;if(e!==H)return e}return-1}evaluateEntryTransitions(e){let t=this.states[this.currentStateIndex];return this.evaluateConditions(t,e)}evaluateConditions(e,t){let n=t.loaded?e.transitionOnLoaded:e.transitionOnNotLoaded;if(n!==H)return n;let r=t.ammo?e.transitionOnAmmo:e.transitionOnNoAmmo;if(r!==H)return r;let i=t.target?e.transitionOnTarget:e.transitionOnNoTarget;if(i!==H)return i;let a=t.wet?e.transitionOnWet:e.transitionOnNotWet;if(a!==H)return a;let o=t.triggerDown?e.transitionOnTriggerDown:e.transitionOnTriggerUp;return o===H?-1:o}resolveSequenceName(e){return e.sequence==null||e.sequence<0?null:this.seqIndexToName[e.sequence]??null}},q={Root:`_Root_1i0cm_1`,Top:`_Top_1i0cm_10 _Root_1i0cm_1`,Bottom:`_Bottom_1i0cm_15 _Root_1i0cm_1`,IffArrow:`_IffArrow_1i0cm_20`,Name:`_Name_1i0cm_27`,HealthBar:`_HealthBar_1i0cm_35`,HealthFill:`_HealthFill_1i0cm_44`},J=r(),pe=150,me=.1,Y=-.2,he=D(`gui/hud_alliedtriangle`),X=D(`gui/hud_enemytriangle`),ge=[];function _e(e){let t=(0,R.c)(23),{entity:n}=e,r=F(n.shapeName),a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a={fadeDistance:pe},t[0]=a):a=t[0];let{groupRef:o,isVisible:s,opacityRef:l}=A(a),u=(0,L.useRef)(null),d=(0,L.useRef)(null),f=(0,L.useRef)(null),p=(0,L.useRef)(null),m=(0,L.useRef)(null),h;t[1]===r.scene?h=t[2]:(h=new S().setFromObject(r.scene),t[1]=r.scene,t[2]=h);let g=h.max.y+me,_=n.keyframes??ge,v;t[3]===_?v=t[4]:(v=_.some(ve),t[3]=_,t[4]=v);let y=v,b;t[5]!==n.id||t[6]!==n.iffColor||t[7]!==n.playerName||t[8]!==y||t[9]!==s||t[10]!==_||t[11]!==l?(b=()=>{if(!s)return;let e=c(_,P.getState().time),t=e?.health??1;if(e?.damageState!=null&&e.damageState>=1){u.current&&(u.current.style.opacity=`0`),d.current&&(d.current.style.opacity=`0`);return}let r=l.current;if(u.current&&(u.current.style.opacity=r),d.current&&(d.current.style.opacity=r),m.current){let e=n.playerName??n.id;m.current.textContent!==e&&(m.current.textContent=e)}if(p.current&&n.iffColor){let e=n.iffColor.r>n.iffColor.g?X:he;p.current.getAttribute(`src`)!==e&&(p.current.src=e)}f.current&&y&&(f.current.style.width=`${Math.max(0,Math.min(100,t*100))}%`,f.current.style.background=n.iffColor?`rgb(${n.iffColor.r}, ${n.iffColor.g}, ${n.iffColor.b})`:``)},t[5]=n.id,t[6]=n.iffColor,t[7]=n.playerName,t[8]=y,t[9]=s,t[10]=_,t[11]=l,t[12]=b):b=t[12],i(b);let x=n.iffColor&&n.iffColor.r>n.iffColor.g?X:he,C;t[13]!==n.id||t[14]!==n.playerName||t[15]!==y||t[16]!==g||t[17]!==x||t[18]!==s?(C=s&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(E,{position:[0,g,0],center:!0,children:(0,J.jsx)(`div`,{ref:u,className:q.Top,children:(0,J.jsx)(`img`,{ref:p,className:q.IffArrow,src:x,alt:``})})}),(0,J.jsx)(E,{position:[0,Y,0],center:!0,children:(0,J.jsxs)(`div`,{ref:d,className:q.Bottom,children:[(0,J.jsx)(`div`,{ref:m,className:q.Name,children:n.playerName??n.id}),y&&(0,J.jsx)(`div`,{className:q.HealthBar,children:(0,J.jsx)(`div`,{ref:f,className:q.HealthFill})})]})})]}),t[13]=n.id,t[14]=n.playerName,t[15]=y,t[16]=g,t[17]=x,t[18]=s,t[19]=C):C=t[19];let w;return t[20]!==o||t[21]!==C?(w=(0,J.jsx)(`group`,{ref:o,children:C}),t[20]=o,t[21]=C,t[22]=w):w=t[22],w}function ve(e){return e.health!=null}var Z=8,ye=[`root`,`run`,`back`,`side`,`fall`,`jet`,`jump`,`land`];function be(e,t,n=0){let r=new Map,i=[];for(let n of e){let e=n.indexOf(` `);if(e===-1)continue;let r=n.slice(0,e).toLowerCase(),a=n.slice(e+1).trim().toLowerCase();if(!a||!r.startsWith(t)||!r.endsWith(`.dsq`))continue;let o=r.slice(t.length,-4);o&&i.push({clipName:o,alias:a})}let a=new Set;for(let e=0;e{let t=n?.toLowerCase();return t?e.runtime.sequenceAliases.get(t):void 0}),p=ce(),_=h(e=>e.playback.streamSnapshot?.controlPlayerGhostId),{clonedScene:y,mixer:S,mount0:E,mount1:D,mount2:O,iflInitializers:k}=(0,L.useMemo)(()=>{let t=oe(r.scene),n=s(t,void 0,{anisotropy:p,emap:e.emap});t.traverse(e=>{if(e.isMesh&&e.material){let t=Array.isArray(e.material)?e.material:[e.material];for(let e of t)e.side=0}});let i=new w(t),a=null,o=null,c=null;return t.traverse(e=>{!a&&e.name===`Mount0`&&(a=e),!o&&e.name===`Mount1`&&(o=e),!c&&e.name===`Mount2`&&(c=e)}),{clonedScene:t,mixer:i,mount0:a,mount1:o,mount2:c,iflInitializers:n}},[r.scene,p,e.emap]);(0,L.useEffect)(()=>()=>{d(y),S.uncacheRoot(y)},[y,S]);let A=(0,L.useRef)(new Map),j=(0,L.useRef)({head:null,headside:null}),R=(0,L.useRef)(new Map),z=(0,L.useRef)(null),B=(0,L.useRef)({name:`root`,timeScale:1}),V=(0,L.useRef)(!1),H=(0,L.useRef)(void 0),U=(0,L.useMemo)(()=>{let e=t.getState().playback.recording?.streamingPlayback,i=n?.toLowerCase();if(!e||!i)return new Map;let a=e.getShapeConstructorSequences(i);if(!a)return new Map;let o=i.replace(/\.dts$/i,``)+`_`;return be(a,o,xe(r.scene,a,o))},[t,n,r.scene]),de=(0,L.useMemo)(()=>{let e=new Map,t=r.scene.userData?.dts_sequence_names,n=r.scene.userData?.dts_sequence_cyclic;if(typeof t==`string`&&typeof n==`string`)try{let r=JSON.parse(t),i=JSON.parse(n),a=new Map;for(let e=0;e{let e=g(r.animations,S,l);A.current=e;let t=e.get(`root`);t&&t.play(),B.current={name:`root`,timeScale:1};let n={head:null,headside:null};for(let{key:e,names:t}of[{key:`head`,names:[`head`]},{key:`headside`,names:[`headside`]}]){let i=r.animations.find(e=>t.includes(e.name.toLowerCase()));if(!i)continue;let a=i.clone(),o=Math.round(i.duration*30/2);T.makeClipAdditive(a,o,i,30);let s=S.clipAction(a);s.blendMode=C,s.timeScale=0,s.weight=1,s.play(),n[e]=s}j.current=n;let i=r.animations.find(e=>e.name.toLowerCase()===`root`);if(i){let e=new Set;for(let t of r.animations){let n=t.name.toLowerCase();if([`forward`,`back`,`side`,`fall`].includes(n))for(let n of t.tracks)e.add(n.name.slice(0,n.name.lastIndexOf(`.`)))}let t=i.tracks.filter(t=>{let n=t.name.slice(0,t.name.lastIndexOf(`.`));return!e.has(n)});if(t.length>0){let e=new b(`root_arms`,i.duration,t);S.clipAction(e).play()}}let a=new Map,o=r.scene.userData?.dts_sequence_names,s=r.scene.userData?.dts_sequence_blend;if(typeof o==`string`&&typeof s==`string`)try{let e=JSON.parse(o),t=JSON.parse(s);for(let n=0;ne.name.toLowerCase()===i);if(!o)continue;let s=o.clone(),c=u(r.scene,s);T.makeClipAdditive(s,0,c,30);let l=S.clipAction(s);l.blendMode=C,l.timeScale=0,l.weight=0,l.play(),a.set(i,l)}}catch{}R.current=a;let c=a.get(`lookde`);return c&&(c.weight=1,z.current=`lookde`),S.update(0),()=>{S.stopAllAction(),A.current=new Map,j.current={head:null,headside:null},R.current=new Map,z.current=null}},[S,r.animations,l]),(0,L.useEffect)(()=>{let e=[];for(let{mesh:t,initialize:n}of k)n(t,()=>P.getState().time).then(t=>e.push(t)).catch(()=>{});return()=>e.forEach(e=>e())},[k]);let W=(0,L.useRef)(e.weaponShape),[G,fe]=(0,L.useState)(e.weaponShape),K=(0,L.useRef)(e.packShape),[q,pe]=(0,L.useState)(e.packShape),me=(0,L.useRef)(e.flagShape),[Y,he]=(0,L.useState)(e.flagShape),X=(0,L.useRef)(e);X.current=e,se(X,y);let{audioLoader:ge,audioListener:ve}=N(),{audioEnabled:ye}=a(),Q=(0,L.useRef)(null),$=(0,L.useRef)(null),Se=(0,L.useRef)(null);return(0,L.useEffect)(()=>{if(!ge)return;let n=t.getState().playback.recording?.streamingPlayback;if(!n||!e.dataBlockId)return;let r=n.getDataBlockData.bind(n),i=r(e.dataBlockId)?.sounds?.[0];if(i==null)return;let a=M(i,r);if(a){Se.current=a;try{ie(te(a.filename),ge,e=>{$.current=e})}catch{}}},[ge,t,e.dataBlockId]),(0,L.useEffect)(()=>()=>{let e=Q.current;if(e){re(e);try{e.stop()}catch{}try{e.disconnect()}catch{}e.parent?.remove(e),Q.current=null}},[]),i((n,r)=>{e.weaponShape!==W.current&&(W.current=e.weaponShape,fe(e.weaponShape)),e.packShape!==K.current&&(K.current=e.packShape,pe(e.packShape)),e.flagShape!==me.current&&(me.current=e.flagShape,he(e.flagShape));let i=t.getState().playback,a=i.status===`playing`,s=P.getState().time,l=c(e.keyframes??[],s),u=l?.damageState!=null&&l.damageState>=1,d=A.current;if(u&&!V.current){V.current=!0;let e=l.actionAnim==null?void 0:U.get(l.actionAnim);if(e){let t=d.get(e.clipName);if(t){let n=d.get(B.current.name.toLowerCase());n&&n.fadeOut(f),t.setLoop(v,1),t.clampWhenFinished=!0,t.reset().fadeIn(f).play(),B.current={name:e.clipName,timeScale:1},H.current=l.actionAnim}}}if(!u&&V.current){V.current=!1,H.current=void 0;let e=d.get(B.current.name.toLowerCase());e&&(e.stop(),e.setLoop(x,1/0),e.clampWhenFinished=!1),B.current={name:`root`,timeScale:1};let t=d.get(`root`);t&&t.reset().play()}let p=l?.actionAnim,m=H.current;if(!V.current&&p!==m){H.current=p;let e=p!=null&&p>=Z,t=m!=null&&m>=Z;if(e){let e=U.get(p);if(e){let t=d.get(e.clipName);if(t){let n=d.get(B.current.name.toLowerCase());n&&n.fadeOut(f),t.setLoop(v,1),t.clampWhenFinished=!0,t.reset().fadeIn(f).play(),B.current={name:e.clipName,timeScale:1}}}}else if(t){let e=U.get(m);if(e){let t=d.get(e.clipName);t&&(t.fadeOut(f),t.setLoop(x,1/0),t.clampWhenFinished=!1)}B.current={name:`root`,timeScale:1};let t=d.get(`root`);t&&t.reset().fadeIn(f).play()}}if(p!=null&&p>=Z&&l?.actionAtEnd){let e=U.get(p);if(e){let t=d.get(e.clipName);t&&(t.paused=!0)}}let h=H.current!=null&&H.current>=Z;if(!V.current&&!h){let t=ue(l?.velocity,l?.rotation??[0,0,0,1],e.falling,e.jetting),n=B.current;if(t.animation!==n.name||t.timeScale!==n.timeScale){let e=d.get(n.name.toLowerCase()),r=d.get(t.animation.toLowerCase());r&&(de.get(t.animation)??!0?(r.setLoop(x,1/0),r.clampWhenFinished=!1):(r.setLoop(v,1),r.clampWhenFinished=!0),a&&e&&e!==r?(e.fadeOut(f),r.reset().fadeIn(f).play()):(e&&e!==r&&e.stop(),r.reset().play()),r.timeScale=t.timeScale,B.current={name:t.animation,timeScale:t.timeScale})}}let g=(e.armAction==null?void 0:U.get(e.armAction))?.clipName??`lookde`;if(g!==z.current){let e=R.current,t=z.current?e.get(z.current):null,n=e.get(g);n&&(t&&(t.weight=0),n.weight=u?0:1,z.current=g)}let{head:_,headside:b}=j.current,C=z.current?R.current.get(z.current):null,w=u?0:1,T=e.headPitch??0,E=e.headYaw??0,D=(T+1)/2,te=(E+1)/2;C&&(C.time=D*C.getClip().duration,C.weight=w),_&&(_.time=D*_.getClip().duration,_.weight=w),b&&(b.time=te*b.getClip().duration,b.weight=w);let O=!!e.jetting&&!u,k=Se.current,M=Q.current,N=M?.isPlaying??!1;if(O&&!N){if(ye&&ve&&$.current&&k){let e=M;e||(e=new ee(ve),e.setDistanceModel(`inverse`),e.setRefDistance(k.refDist),e.setMaxDistance(k.maxDist),e.setRolloffFactor(1),e.setVolume(k.volume),y.add(e),Q.current=e);try{e.setBuffer($.current),e.setLoop(!0),e.setPlaybackRate(o()),e.play(),ne(e,1)}catch{}}}else if(!O&&N&&M){re(M);try{M.stop()}catch{}}a?S.update(r*i.rate):S.update(0)}),(0,J.jsxs)(J.Fragment,{children:[e.id!==_&&(0,J.jsx)(_e,{entity:e}),(0,J.jsxs)(`group`,{rotation:[0,Math.PI/2,0],children:[(0,J.jsx)(`primitive`,{object:y}),(0,J.jsx)(Ce,{entityId:e.id,scene:r.scene})]}),G&&E&&(0,J.jsx)(le,{fallback:(0,J.jsx)(I,{color:`red`,label:G}),children:(0,J.jsx)(ae,{name:`Weapon:${e.id}/${G}`,fallback:(0,J.jsx)(I,{color:`cyan`,label:G}),children:(0,J.jsx)(Te,{entity:e,weaponShape:G,mount0:E})})},G),q&&D&&(0,J.jsx)(le,{fallback:(0,J.jsx)(I,{color:`red`,label:q}),children:(0,J.jsx)(ae,{name:`Pack:${e.id}/${q}`,fallback:(0,J.jsx)(I,{color:`cyan`,label:q}),children:(0,J.jsx)(De,{packShape:q,mountBone:D,emap:e.emap})})},q),Y&&O&&(0,J.jsx)(le,{fallback:(0,J.jsx)(I,{color:`red`,label:Y}),children:(0,J.jsx)(ae,{name:`Flag:${e.id}/${Y}`,fallback:(0,J.jsx)(I,{color:`cyan`,label:Y}),children:(0,J.jsx)(De,{packShape:Y,mountBone:O,emap:e.emap})})},Y)]})}function Ce(e){let t=(0,R.c)(19),{entityId:n,scene:r}=e,i=_(n),a;bb0:{if(!i){a=null;break bb0}let e,n;if(t[0]!==r){let i=new S().setFromObject(r);e=new y,n=new y,i.getCenter(e),i.getSize(n),t[0]=r,t[1]=e,t[2]=n}else e=t[1],n=t[2];let o;t[3]!==e.x||t[4]!==e.y||t[5]!==e.z?(o=[e.x,e.y,e.z],t[3]=e.x,t[4]=e.y,t[5]=e.z,t[6]=o):o=t[6];let s=o,c;t[7]!==n.x||t[8]!==n.y||t[9]!==n.z?(c=[n.x,n.y,n.z],t[7]=n.x,t[8]=n.y,t[9]=n.z,t[10]=c):c=t[10];let l=c,u;t[11]!==s||t[12]!==l?(u={center:s,size:l},t[11]=s,t[12]=l,t[13]=u):u=t[13],a=u}let o=a;if(!o)return null;let s;t[14]===o.size?s=t[15]:(s=(0,J.jsx)(O,{size:o.size}),t[14]=o.size,t[15]=s);let c;return t[16]!==o.center||t[17]!==s?(c=(0,J.jsx)(`group`,{position:o.center,children:s}),t[16]=o.center,t[17]=s,t[18]=c):c=t[18],c}function we(e,t){let n=e.userData?.dts_sequence_names;if(typeof n==`string`)try{return JSON.parse(n).map(e=>e.toLowerCase())}catch{}return t.map(e=>e.name.toLowerCase())}function Te({entity:e,weaponShape:t,mount0:n}){let r=m(),c=F(t),l=ce(),{weaponClone:u,weaponMixer:f,seqIndexToName:h,visNodesBySequence:g,weaponIflInitializers:_}=(0,L.useMemo)(()=>{let t=oe(c.scene),n=s(t,void 0,{anisotropy:l,emap:e.emap}),r=p(c.scene,c.animations,`Mountpoint`);if(r){let e=r.quaternion.clone().invert(),n=r.position.clone().negate().applyQuaternion(e);t.position.copy(n),t.quaternion.copy(e)}let i=new Map;return t.traverse(e=>{if(!e.isMesh)return;let t=(e.userData?.vis_sequence??``).toLowerCase();if(!t)return;let n=i.get(t);n||(n=[],i.set(t,n)),n.push(e)}),{weaponClone:t,weaponMixer:new w(t),seqIndexToName:we(c.scene,c.animations),visNodesBySequence:i,weaponIflInitializers:n}},[c,l]);(0,L.useEffect)(()=>()=>{d(u),f.uncacheRoot(u)},[u,f]);let v=(0,L.useRef)(new Map),y=(0,L.useRef)(null);(0,L.useEffect)(()=>{let e=new Map;for(let t of c.animations)e.set(t.name.toLowerCase(),f.clipAction(t));v.current=e;let t=e.get(`spin`);return t&&(t.setLoop(x,1/0),t.timeScale=0,t.play()),y.current=t??null,f.update(0),()=>{f.stopAllAction(),v.current=new Map,y.current=null,$(O,A)}},[f,c.animations]),(0,L.useEffect)(()=>{let e=[];for(let{mesh:t,initialize:n}of _)n(t,()=>P.getState().time).then(t=>e.push(t)).catch(()=>{});return()=>e.forEach(e=>e())},[_]);let{audioLoader:b,audioListener:S}=N(),C=a()?.audioEnabled??!1,T=(0,L.useRef)(null),E=(0,L.useRef)(null),D=(0,L.useRef)(e.weaponImageStates),O=(0,L.useRef)(null),A=(0,L.useRef)(-1);return(0,L.useEffect)(()=>(n.add(u),()=>{n.remove(u)}),[u,n]),i((t,n)=>{let i=r.getState().playback,a=i.status===`playing`,s=v.current,c=e.weaponImageState,l=e.weaponImageStates;l!==D.current&&(D.current=l,l&&l.length>0?T.current=new K(l,h):T.current=null,E.current=null,$(O,A,u)),!T.current&&l&&l.length>0&&(T.current=new K(l,h));let d=T.current;if(d&&c&&a){let e=n*i.rate,t=d.tick(e,c);if(Ee(t,s,E,g),O.current&&t.stateIndex!==A.current&&$(O,A,u),C&&b&&S&&t.soundDataBlockIds.length>0){let e=i.recording?.streamingPlayback.getDataBlockData.bind(i.recording.streamingPlayback);if(e)for(let n of t.soundDataBlockIds){let t=M(n,e);if(t)if(t.isLooping){if(!O.current)try{let e=te(t.filename),n=j();ie(e,b,e=>{if(n!==j()||O.current)return;let r=d.stateIndex,i=new ee(S);i.setBuffer(e),i.setDistanceModel(`inverse`),i.setRefDistance(t.refDist),i.setMaxDistance(t.maxDist),i.setRolloffFactor(1),i.setVolume(t.volume),i.setPlaybackRate(o()),i.setLoop(!0),u.add(i),ne(i),i.play(),O.current=i,A.current=r})}catch{}}else k(t,S,b,void 0,u)}}y.current&&(y.current.timeScale=t.spinTimeScale)}a?f.update(n*i.rate):f.update(0)}),null}function Ee(e,t,n,r){let i=e.sequenceName,a=n.current;if(i===a&&!e.transitioned)return;if(i!==a){if(a){let e=r.get(a);if(e)for(let t of e)t.visible=!1}if(i){let e=r.get(i);if(e)for(let t of e)t.visible=!0}}if(!i){if(a){let e=t.get(a);e&&e.fadeOut(f),n.current=null}return}let o=t.get(i);if(o&&(e.transitioned||i!==a)){let r=a?t.get(a):null;if(e.isFiring||e.timeoutValue>0?(o.setLoop(v,1),o.clampWhenFinished=!0):(o.setLoop(x,1/0),o.clampWhenFinished=!1),e.scaleAnimation&&e.timeoutValue>0){let t=o.getClip().duration;o.timeScale=t>0?t/e.timeoutValue:1}else o.timeScale=e.reverse?-1:1;r&&r!==o?(r.fadeOut(f),o.reset().fadeIn(f).play()):o.reset().play(),n.current=i}}function De({packShape:e,mountBone:t,emap:n}){let r=F(e),i=ce(),{packClone:a,packIflInitializers:o}=(0,L.useMemo)(()=>{let e=oe(r.scene),t=s(e,void 0,{anisotropy:i,emap:n}),a=p(r.scene,r.animations,`Mountpoint`);if(a){let t=a.quaternion.clone().invert(),n=a.position.clone().negate().applyQuaternion(t);e.position.copy(n),e.quaternion.copy(t)}return{packClone:e,packIflInitializers:t}},[r,i]);return(0,L.useEffect)(()=>(t.add(a),()=>{t.remove(a),d(a)}),[a,t]),(0,L.useEffect)(()=>{let e=[];for(let{mesh:t,initialize:n}of o)n(t,()=>P.getState().time).then(t=>e.push(t)).catch(()=>{});return()=>e.forEach(e=>e())},[o]),null}function Oe(e){let t=(0,R.c)(7),{shapeName:n,eyeOffsetRef:r}=e,i=F(n),a;t[0]!==r||t[1]!==i.animations||t[2]!==i.scene?(a=()=>{let e=p(i.scene,i.animations,`Eye`);e?r.current.set(e.position.z,e.position.y,-e.position.x):r.current.set(0,l,0)},t[0]=r,t[1]=i.animations,t[2]=i.scene,t[3]=a):a=t[3];let o;return t[4]!==r||t[5]!==i?(o=[i,r],t[4]=r,t[5]=i,t[6]=o):o=t[6],(0,L.useEffect)(a,o),null}export{Oe as PlayerEyeOffset,Se as PlayerModel}; \ No newline at end of file diff --git a/docs/assets/Projectiles-BEQnp7Nq.js b/docs/assets/Projectiles-BEQnp7Nq.js new file mode 100644 index 00000000..dfc9eb1b --- /dev/null +++ b/docs/assets/Projectiles-BEQnp7Nq.js @@ -0,0 +1 @@ +import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import{i}from"./react-three-fiber.esm-CD18QK1u.js";import{g as a,m as o,p as s}from"./playbackUtils-C1ncI8YZ.js";import{Ct as c,Wt as l,b as u,kt as d}from"./three.module-C9W4LJrj.js";import{t as f}from"./Texture-D2i1vM3o.js";import{p}from"./index-BEKjcnfN.js";var m=t(),h=e(n(),1),g=r(),_=new l,v=new l,y=new l,b=new l,x=new l,S=new l,C=new l(0,1,0);function w(e){let t=(0,m.c)(14),{entity:n}=e,{visual:r}=n,i;t[0]===r.texture?i=t[1]:(i=p(r.texture),t[0]=r.texture,t[1]=i);let a=f(i,T),o=Array.isArray(a)?a[0]:a,s;t[2]!==r.color.b||t[3]!==r.color.g||t[4]!==r.color.r?(s=new u().setRGB(r.color.r,r.color.g,r.color.b,d),t[2]=r.color.b,t[3]=r.color.g,t[4]=r.color.r,t[5]=s):s=t[5];let c=s,l;t[6]===r.size?l=t[7]:(l=[r.size,r.size,1],t[6]=r.size,t[7]=l);let h;t[8]!==c||t[9]!==o?(h=(0,g.jsx)(`spriteMaterial`,{map:o,color:c,transparent:!0,blending:2,depthWrite:!1,toneMapped:!1}),t[8]=c,t[9]=o,t[10]=h):h=t[10];let _;return t[11]!==l||t[12]!==h?(_=(0,g.jsx)(`sprite`,{scale:l,children:h}),t[11]=l,t[12]=h,t[13]=_):_=t[13],_}function T(e){o(Array.isArray(e)?e[0]:e)}function E(e){let t=(0,m.c)(29),{entity:n}=e,{visual:r}=n,o=(0,h.useRef)(null),l=(0,h.useRef)(null),u=(0,h.useRef)(null),d;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(d=new c,t[0]=d):d=t[0];let w=(0,h.useRef)(d),T;t[1]===r.texture?T=t[2]:(T=p(r.texture),t[1]=r.texture,t[2]=T);let E=r.crossTexture??r.texture,O;t[3]===E?O=t[4]:(O=p(E),t[3]=E,t[4]=O);let k;t[5]!==T||t[6]!==O?(k=[T,O],t[5]=T,t[6]=O,t[7]=k):k=t[7];let A=f(k,D),j;t[8]===A?j=t[9]:(j=Array.isArray(A)?A:[A,A],t[8]=A,t[9]=j);let[M,N]=j,P;t[10]!==n.direction||t[11]!==n.keyframes?.[0]||t[12]!==r.crossSize||t[13]!==r.crossViewAng||t[14]!==r.renderCross||t[15]!==r.tracerLength||t[16]!==r.tracerWidth?(P=e=>{let{camera:t}=e,i=o.current,c=l.current;if(!i||!c)return;let d=n.keyframes?.[0],f=d?.position,p=n.direction??d?.velocity;if(!f||!p){i.visible=!1,u.current&&(u.current.visible=!1);return}if(a(p,_),_.lengthSq()<1e-8){i.visible=!1,u.current&&(u.current.visible=!1);return}_.normalize(),i.visible=!0,a(f,S),v.copy(S).sub(t.position),y.crossVectors(v,_),y.lengthSq()<1e-8&&(y.crossVectors(C,_),y.lengthSq()<1e-8&&y.set(1,0,0)),y.normalize().multiplyScalar(r.tracerWidth);let m=r.tracerLength*.5;b.copy(_).multiplyScalar(-m),x.copy(_).multiplyScalar(m);let h=c.array;h[0]=b.x+y.x,h[1]=b.y+y.y,h[2]=b.z+y.z,h[3]=b.x-y.x,h[4]=b.y-y.y,h[5]=b.z-y.z,h[6]=x.x-y.x,h[7]=x.y-y.y,h[8]=x.z-y.z,h[9]=x.x+y.x,h[10]=x.y+y.y,h[11]=x.z+y.z,c.needsUpdate=!0;let g=u.current;if(!g)return;if(!r.renderCross){g.visible=!1;return}v.normalize();let T=_.dot(v);if(T>-r.crossViewAng&&T{let{camera:t}=e,i=a.current,c=l.current;if(!i||!c)return;let u=n.keyframes?.[0],f=u?.position,p=n.direction??u?.velocity;if(!f||!p){i.visible=!1,d.current&&(d.current.visible=!1);return}if(s(p,_),_.lengthSq()<1e-8){i.visible=!1,d.current&&(d.current.visible=!1);return}_.normalize(),i.visible=!0,s(f,S),v.copy(S).sub(t.position),y.crossVectors(v,_),y.lengthSq()<1e-8&&(y.crossVectors(C,_),y.lengthSq()<1e-8&&y.set(1,0,0)),y.normalize().multiplyScalar(r.tracerWidth);let m=r.tracerLength*.5;b.copy(_).multiplyScalar(-m),x.copy(_).multiplyScalar(m);let h=c.array;h[0]=b.x+y.x,h[1]=b.y+y.y,h[2]=b.z+y.z,h[3]=b.x-y.x,h[4]=b.y-y.y,h[5]=b.z-y.z,h[6]=x.x-y.x,h[7]=x.y-y.y,h[8]=x.z-y.z,h[9]=x.x+y.x,h[10]=x.y+y.y,h[11]=x.z+y.z,c.needsUpdate=!0;let g=d.current;if(!g)return;if(!r.renderCross){g.visible=!1;return}v.normalize();let T=_.dot(v);if(T>-r.crossViewAng&&Te.ping),n=t.reduce((e,t)=>e+t,0)/t.length,r=t.reduce((e,t)=>e+(t-n)**2,0)/t.length;return{avg:Math.round(n),dev:Math.round(Math.sqrt(r))}}function m(e){let t=e<0?`-`:``,n=Math.abs(e),r=Math.floor(n/60),i=Math.floor(n%60);return`${t}${String(r).padStart(2,`0`)}:${String(i).padStart(2,`0`)}`}function h(e){let t=(0,u.c)(5),{clockMs:n}=e,r=Math.abs(n)/1e3,i=n<0?Math.ceil(r):Math.floor(r),a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,f.jsx)(c,{className:d.ClockIcon}),t[0]=a):a=t[0];let o;t[1]===i?o=t[2]:(o=m(i),t[1]=i,t[2]=o);let s;return t[3]===o?s=t[4]:(s=(0,f.jsxs)(`span`,{className:d.MatchClock,children:[a,` `,(0,f.jsx)(`span`,{className:d.Time,children:o})]}),t[3]=o,t[4]=s),s}function g(e){return e.name||i[e.teamId]||`Team ${e.teamId}`}function _(e){let t=(0,u.c)(56),{onClose:n}=e,r=(0,l.useRef)(null),i=o()===`live`,{connectedClientId:s,teamScores:c,playerRoster:m,matchClockMs:_}=a(se,oe),y,b;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(y=()=>{r.current?.focus();try{document.exitPointerLock()}catch{}},b=[],t[0]=y,t[1]=b):(y=t[0],b=t[1]),(0,l.useEffect)(y,b);let x,S;t[2]===n?(x=t[3],S=t[4]):(x=()=>{let e=e=>{e.key===`Escape`&&n(),e.stopImmediatePropagation()},t=ae;return window.addEventListener(`keydown`,e,{capture:!0}),window.addEventListener(`keyup`,t,{capture:!0}),()=>{window.removeEventListener(`keydown`,e,{capture:!0}),window.removeEventListener(`keyup`,t,{capture:!0})}},S=[n],t[2]=n,t[3]=x,t[4]=S),(0,l.useEffect)(x,S);let C,w;t[5]===i?(C=t[6],w=t[7]):(C=()=>{if(!i)return;let e=ie;e();let t=setInterval(e,4e3);return()=>clearInterval(t)},w=[i],t[5]=i,t[6]=C,t[7]=w),(0,l.useEffect)(C,w);let T;if(t[8]!==m){let e=new Map,n=[];if(m)for(let t of m)if(t.teamId>0){let n=e.get(t.teamId);n?n.push(t):e.set(t.teamId,[t])}else n.push(t);for(let t of e.values())t.sort(re);n.sort(ne),T={teamPlayers:e,observers:n},t[8]=m,t[9]=T}else T=t[9];let{teamPlayers:E,observers:D}=T,O;bb0:{if(!c?.length){let e;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(e=[],t[10]=e):e=t[10],O=e;break bb0}let e;t[11]===c?e=t[12]:(e=[...c].sort(te),t[11]=c,t[12]=e),O=e}let k=O,A=k.length>=2,j=k[0],M=k[1],N;t[13]!==j||t[14]!==E?(N=j?E.get(j.teamId)??[]:[],t[13]=j,t[14]=E,t[15]=N):N=t[15];let P=N,F;t[16]!==M||t[17]!==E?(F=M?E.get(M.teamId)??[]:[],t[16]=M,t[17]=E,t[18]=F):F=t[18];let I=F,L;t[19]===P?L=t[20]:(L=p(P),t[19]=P,t[20]=L);let R=L,z;t[21]===I?z=t[22]:(z=p(I),t[21]=I,t[22]=z);let B=z,V=Math.max(P.length,I.length),H;t[23]===Symbol.for(`react.memo_cache_sentinel`)?(H=(0,f.jsx)(`h2`,{className:d.Title,children:`Score`}),t[23]=H):H=t[23];let U;t[24]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,f.jsx)(ee,{className:d.PlayersIcon}),t[24]=U):U=t[24];let W=m?.length??0,G;t[25]===W?G=t[26]:(G=(0,f.jsxs)(`span`,{className:d.PlayerTotal,children:[U,` `,W,` players`]}),t[25]=W,t[26]=G);let K;t[27]===_?K=t[28]:(K=_!=null&&(0,f.jsx)(h,{clockMs:_}),t[27]=_,t[28]=K);let q;t[29]!==G||t[30]!==K?(q=(0,f.jsxs)(`header`,{className:d.TitleBar,children:[H,` `,G,` `,K]}),t[29]=G,t[30]=K,t[31]=q):q=t[31];let J;t[32]!==s||t[33]!==A||t[34]!==V||t[35]!==D||t[36]!==m?.length||t[37]!==j||t[38]!==R||t[39]!==P||t[40]!==M||t[41]!==B||t[42]!==I?(J=A?(0,f.jsx)(`div`,{className:d.TableWrapper,children:(0,f.jsxs)(`table`,{className:d.Table,children:[(0,f.jsxs)(`thead`,{children:[(0,f.jsxs)(`tr`,{className:d.TeamHeaderRow,children:[(0,f.jsx)(`th`,{className:d.TeamName,children:g(j)}),(0,f.jsx)(`th`,{className:d.TeamScore,children:j.score}),(0,f.jsx)(`th`,{className:d.TeamName,children:g(M)}),(0,f.jsx)(`th`,{className:d.TeamScore,children:M.score})]}),(0,f.jsxs)(`tr`,{className:d.ColumnHeaderRow,children:[(0,f.jsxs)(`th`,{className:d.ColumnHeader,children:[(0,f.jsxs)(`span`,{children:[`Players (`,P.length,`)`]}),P.length>0&&(0,f.jsxs)(`span`,{className:d.ColumnPing,children:[` `,`PING: `,R.avg,` ± `,R.dev,` ms`]})]}),(0,f.jsx)(`th`,{className:d.ColumnHeaderScore,children:`Score`}),(0,f.jsxs)(`th`,{className:d.ColumnHeader,children:[(0,f.jsxs)(`span`,{children:[`Players (`,I.length,`)`]}),I.length>0&&(0,f.jsxs)(`span`,{className:d.ColumnPing,children:[` `,`PING: `,B.avg,` ± `,B.dev,` ms`]})]}),(0,f.jsx)(`th`,{className:d.ColumnHeaderScore,children:`Score`})]})]}),(0,f.jsx)(`tbody`,{className:d.PlayerBody,children:Array.from({length:V},(e,t)=>{let n=P[t],r=I[t],i=s!=null&&n?.clientId===s,a=s!=null&&r?.clientId===s;return(0,f.jsxs)(`tr`,{children:[(0,f.jsx)(`td`,{className:i?d.PlayerNameLocal:d.PlayerName,children:n?.name||(n?`...`:``)}),(0,f.jsx)(`td`,{className:i?d.PlayerScoreLocal:d.PlayerScore,children:n==null?``:n.score}),(0,f.jsx)(`td`,{className:a?d.PlayerNameLocal:d.PlayerName,children:r?.name||(r?`...`:``)}),(0,f.jsx)(`td`,{className:a?d.PlayerScoreLocal:d.PlayerScore,children:r==null?``:r.score})]},`${n?.clientId??``}-${r?.clientId??``}`)})}),D.length>0&&(()=>{let e=Math.ceil(D.length/2),t=Math.ceil(D.length/2);return(0,f.jsxs)(`tbody`,{className:d.ObserverBody,children:[(0,f.jsxs)(`tr`,{className:d.ColumnHeaderRow,children:[(0,f.jsxs)(`th`,{colSpan:2,className:d.ColumnHeader,children:[`Observers (`,D.length,`)`]}),(0,f.jsx)(`th`,{colSpan:2,className:d.ColumnHeader,children:`\xA0`})]}),Array.from({length:t},(t,n)=>{let r=D[n],i=D[n+e],a=s!=null&&r?.clientId===s,o=s!=null&&i?.clientId===s;return(0,f.jsxs)(`tr`,{children:[(0,f.jsx)(`td`,{className:a?d.PlayerNameLocal:d.PlayerName,children:r?.name||(r?`...`:``)}),(0,f.jsx)(`td`,{className:a?d.PlayerScoreLocal:d.PlayerScore,children:r==null?``:r.score}),(0,f.jsx)(`td`,{className:o?d.PlayerNameLocal:d.PlayerName,children:i?.name||``}),(0,f.jsx)(`td`,{className:o?d.PlayerScoreLocal:d.PlayerScore,children:i==null?``:i.score})]},`${r?.clientId??``}-${i?.clientId??``}`)})]})})()]})}):(0,f.jsx)(`div`,{className:d.Empty,children:m?.length?`No team data available`:`Waiting for player data…`}),t[32]=s,t[33]=A,t[34]=V,t[35]=D,t[36]=m?.length,t[37]=j,t[38]=R,t[39]=P,t[40]=M,t[41]=B,t[42]=I,t[43]=J):J=t[43];let Y;t[44]===n?Y=t[45]:(Y=(0,f.jsx)(`button`,{className:d.CloseButton,onClick:n,children:`Close`}),t[44]=n,t[45]=Y);let X;t[46]===Symbol.for(`react.memo_cache_sentinel`)?(X=(0,f.jsx)(`span`,{className:d.Hint,children:`Esc to close`}),t[46]=X):X=t[46];let Z;t[47]===Y?Z=t[48]:(Z=(0,f.jsxs)(`div`,{className:d.Footer,children:[Y,X]}),t[47]=Y,t[48]=Z);let Q;t[49]!==q||t[50]!==J||t[51]!==Z?(Q=(0,f.jsxs)(`div`,{ref:r,className:d.Dialog,onClick:v,role:`dialog`,"aria-modal":`true`,"aria-label":`Score Screen`,tabIndex:-1,children:[q,J,Z]}),t[49]=q,t[50]=J,t[51]=Z,t[52]=Q):Q=t[52];let $;return t[53]!==n||t[54]!==Q?($=(0,f.jsx)(`div`,{className:d.Overlay,onClick:n,children:Q}),t[53]=n,t[54]=Q,t[55]=$):$=t[55],$}function v(e){return e.stopPropagation()}function te(e,t){return e.teamId-t.teamId}function ne(e,t){return(e.name??``).localeCompare(t.name??``)}function re(e,t){return t.score-e.score||(e.name??``).localeCompare(t.name??``)}function ie(){s.getState().sendCommand(`getScores`)}function ae(e){e.stopImmediatePropagation()}function oe(e,t){return e.connectedClientId===t.connectedClientId&&e.teamScores===t.teamScores&&e.playerRoster===t.playerRoster&&e.matchClockMs===t.matchClockMs}function se(e){let t=e.playback.streamSnapshot;return{connectedClientId:t?.connectedClientId,teamScores:t?.teamScores,playerRoster:t?.playerRoster,matchClockMs:t?.matchClockMs}}export{_ as ScoreScreen}; \ No newline at end of file +import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import{t as i}from"./stringUtils-EmGsjr9D.js";import{i as a}from"./engineStore-Mono9lyt.js";import{M as o,N as s,U as c,q as ee}from"./index-BEKjcnfN.js";var l=e(n(),1),u=t(),d={Dialog:`_Dialog_4rdu6_1 _Dialog_1t9wa_1`,Overlay:`_Overlay_4rdu6_11 _Overlay_1t9wa_22`,TitleBar:`_TitleBar_4rdu6_15`,PlayerTotal:`_PlayerTotal_4rdu6_27`,Title:`_Title_4rdu6_15`,MatchClock:`_MatchClock_4rdu6_46`,Time:`_Time_4rdu6_56`,PlayersIcon:`_PlayersIcon_4rdu6_60`,ClockIcon:`_ClockIcon_4rdu6_64`,TableWrapper:`_TableWrapper_4rdu6_69`,Table:`_Table_4rdu6_69`,TeamHeaderRow:`_TeamHeaderRow_4rdu6_92`,TeamName:`_TeamName_4rdu6_99`,TeamScore:`_TeamScore_4rdu6_109`,ColumnHeaderRow:`_ColumnHeaderRow_4rdu6_117`,ColumnHeader:`_ColumnHeader_4rdu6_117`,ColumnHeaderScore:`_ColumnHeaderScore_4rdu6_134`,PlayerScore:`_PlayerScore_4rdu6_141`,ColumnPing:`_ColumnPing_4rdu6_145`,PlayerBody:`_PlayerBody_4rdu6_154`,PlayerName:`_PlayerName_4rdu6_168`,PlayerNameLocal:`_PlayerNameLocal_4rdu6_179 _PlayerName_4rdu6_168`,PlayerScoreLocal:`_PlayerScoreLocal_4rdu6_193 _PlayerScore_4rdu6_141`,ObserverBody:`_ObserverBody_4rdu6_202`,Footer:`_Footer_4rdu6_223`,CloseButton:`_CloseButton_4rdu6_233 _DialogButton_1t9wa_33`,Hint:`_Hint_4rdu6_237`,Empty:`_Empty_4rdu6_243`},f=r();function p(e){if(!e.length)return{avg:0,dev:0};let t=e.map(e=>e.ping),n=t.reduce((e,t)=>e+t,0)/t.length,r=t.reduce((e,t)=>e+(t-n)**2,0)/t.length;return{avg:Math.round(n),dev:Math.round(Math.sqrt(r))}}function m(e){let t=e<0?`-`:``,n=Math.abs(e),r=Math.floor(n/60),i=Math.floor(n%60);return`${t}${String(r).padStart(2,`0`)}:${String(i).padStart(2,`0`)}`}function h(e){let t=(0,u.c)(5),{clockMs:n}=e,r=Math.abs(n)/1e3,i=n<0?Math.ceil(r):Math.floor(r),a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,f.jsx)(o,{className:d.ClockIcon}),t[0]=a):a=t[0];let s;t[1]===i?s=t[2]:(s=m(i),t[1]=i,t[2]=s);let c;return t[3]===s?c=t[4]:(c=(0,f.jsxs)(`span`,{className:d.MatchClock,children:[a,` `,(0,f.jsx)(`span`,{className:d.Time,children:s})]}),t[3]=s,t[4]=c),c}function g(e){return e.name||i[e.teamId]||`Team ${e.teamId}`}function _(e){let t=(0,u.c)(56),{onClose:n}=e,r=(0,l.useRef)(null),i=ee()===`live`,{connectedClientId:o,teamScores:c,playerRoster:m,matchClockMs:_}=a(se,oe),y,b;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(y=()=>{r.current?.focus();try{document.exitPointerLock()}catch{}},b=[],t[0]=y,t[1]=b):(y=t[0],b=t[1]),(0,l.useEffect)(y,b);let x,S;t[2]===n?(x=t[3],S=t[4]):(x=()=>{let e=e=>{e.key===`Escape`&&n(),e.stopImmediatePropagation()},t=ae;return window.addEventListener(`keydown`,e,{capture:!0}),window.addEventListener(`keyup`,t,{capture:!0}),()=>{window.removeEventListener(`keydown`,e,{capture:!0}),window.removeEventListener(`keyup`,t,{capture:!0})}},S=[n],t[2]=n,t[3]=x,t[4]=S),(0,l.useEffect)(x,S);let C,w;t[5]===i?(C=t[6],w=t[7]):(C=()=>{if(!i)return;let e=ie;e();let t=setInterval(e,4e3);return()=>clearInterval(t)},w=[i],t[5]=i,t[6]=C,t[7]=w),(0,l.useEffect)(C,w);let T;if(t[8]!==m){let e=new Map,n=[];if(m)for(let t of m)if(t.teamId>0){let n=e.get(t.teamId);n?n.push(t):e.set(t.teamId,[t])}else n.push(t);for(let t of e.values())t.sort(re);n.sort(ne),T={teamPlayers:e,observers:n},t[8]=m,t[9]=T}else T=t[9];let{teamPlayers:E,observers:D}=T,O;bb0:{if(!c?.length){let e;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(e=[],t[10]=e):e=t[10],O=e;break bb0}let e;t[11]===c?e=t[12]:(e=[...c].sort(te),t[11]=c,t[12]=e),O=e}let k=O,A=k.length>=2,j=k[0],M=k[1],N;t[13]!==j||t[14]!==E?(N=j?E.get(j.teamId)??[]:[],t[13]=j,t[14]=E,t[15]=N):N=t[15];let P=N,F;t[16]!==M||t[17]!==E?(F=M?E.get(M.teamId)??[]:[],t[16]=M,t[17]=E,t[18]=F):F=t[18];let I=F,L;t[19]===P?L=t[20]:(L=p(P),t[19]=P,t[20]=L);let R=L,z;t[21]===I?z=t[22]:(z=p(I),t[21]=I,t[22]=z);let B=z,V=Math.max(P.length,I.length),H;t[23]===Symbol.for(`react.memo_cache_sentinel`)?(H=(0,f.jsx)(`h2`,{className:d.Title,children:`Score`}),t[23]=H):H=t[23];let U;t[24]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,f.jsx)(s,{className:d.PlayersIcon}),t[24]=U):U=t[24];let W=m?.length??0,G;t[25]===W?G=t[26]:(G=(0,f.jsxs)(`span`,{className:d.PlayerTotal,children:[U,` `,W,` players`]}),t[25]=W,t[26]=G);let K;t[27]===_?K=t[28]:(K=_!=null&&(0,f.jsx)(h,{clockMs:_}),t[27]=_,t[28]=K);let q;t[29]!==G||t[30]!==K?(q=(0,f.jsxs)(`header`,{className:d.TitleBar,children:[H,` `,G,` `,K]}),t[29]=G,t[30]=K,t[31]=q):q=t[31];let J;t[32]!==o||t[33]!==A||t[34]!==V||t[35]!==D||t[36]!==m?.length||t[37]!==j||t[38]!==R||t[39]!==P||t[40]!==M||t[41]!==B||t[42]!==I?(J=A?(0,f.jsx)(`div`,{className:d.TableWrapper,children:(0,f.jsxs)(`table`,{className:d.Table,children:[(0,f.jsxs)(`thead`,{children:[(0,f.jsxs)(`tr`,{className:d.TeamHeaderRow,children:[(0,f.jsx)(`th`,{className:d.TeamName,children:g(j)}),(0,f.jsx)(`th`,{className:d.TeamScore,children:j.score}),(0,f.jsx)(`th`,{className:d.TeamName,children:g(M)}),(0,f.jsx)(`th`,{className:d.TeamScore,children:M.score})]}),(0,f.jsxs)(`tr`,{className:d.ColumnHeaderRow,children:[(0,f.jsxs)(`th`,{className:d.ColumnHeader,children:[(0,f.jsxs)(`span`,{children:[`Players (`,P.length,`)`]}),P.length>0&&(0,f.jsxs)(`span`,{className:d.ColumnPing,children:[` `,`PING: `,R.avg,` ± `,R.dev,` ms`]})]}),(0,f.jsx)(`th`,{className:d.ColumnHeaderScore,children:`Score`}),(0,f.jsxs)(`th`,{className:d.ColumnHeader,children:[(0,f.jsxs)(`span`,{children:[`Players (`,I.length,`)`]}),I.length>0&&(0,f.jsxs)(`span`,{className:d.ColumnPing,children:[` `,`PING: `,B.avg,` ± `,B.dev,` ms`]})]}),(0,f.jsx)(`th`,{className:d.ColumnHeaderScore,children:`Score`})]})]}),(0,f.jsx)(`tbody`,{className:d.PlayerBody,children:Array.from({length:V},(e,t)=>{let n=P[t],r=I[t],i=o!=null&&n?.clientId===o,a=o!=null&&r?.clientId===o;return(0,f.jsxs)(`tr`,{children:[(0,f.jsx)(`td`,{className:i?d.PlayerNameLocal:d.PlayerName,children:n?.name||(n?`...`:``)}),(0,f.jsx)(`td`,{className:i?d.PlayerScoreLocal:d.PlayerScore,children:n==null?``:n.score}),(0,f.jsx)(`td`,{className:a?d.PlayerNameLocal:d.PlayerName,children:r?.name||(r?`...`:``)}),(0,f.jsx)(`td`,{className:a?d.PlayerScoreLocal:d.PlayerScore,children:r==null?``:r.score})]},`${n?.clientId??``}-${r?.clientId??``}`)})}),D.length>0&&(()=>{let e=Math.ceil(D.length/2),t=Math.ceil(D.length/2);return(0,f.jsxs)(`tbody`,{className:d.ObserverBody,children:[(0,f.jsxs)(`tr`,{className:d.ColumnHeaderRow,children:[(0,f.jsxs)(`th`,{colSpan:2,className:d.ColumnHeader,children:[`Observers (`,D.length,`)`]}),(0,f.jsx)(`th`,{colSpan:2,className:d.ColumnHeader,children:`\xA0`})]}),Array.from({length:t},(t,n)=>{let r=D[n],i=D[n+e],a=o!=null&&r?.clientId===o,s=o!=null&&i?.clientId===o;return(0,f.jsxs)(`tr`,{children:[(0,f.jsx)(`td`,{className:a?d.PlayerNameLocal:d.PlayerName,children:r?.name||(r?`...`:``)}),(0,f.jsx)(`td`,{className:a?d.PlayerScoreLocal:d.PlayerScore,children:r==null?``:r.score}),(0,f.jsx)(`td`,{className:s?d.PlayerNameLocal:d.PlayerName,children:i?.name||``}),(0,f.jsx)(`td`,{className:s?d.PlayerScoreLocal:d.PlayerScore,children:i==null?``:i.score})]},`${r?.clientId??``}-${i?.clientId??``}`)})]})})()]})}):(0,f.jsx)(`div`,{className:d.Empty,children:m?.length?`No team data available`:`Waiting for player data…`}),t[32]=o,t[33]=A,t[34]=V,t[35]=D,t[36]=m?.length,t[37]=j,t[38]=R,t[39]=P,t[40]=M,t[41]=B,t[42]=I,t[43]=J):J=t[43];let Y;t[44]===n?Y=t[45]:(Y=(0,f.jsx)(`button`,{className:d.CloseButton,onClick:n,children:`Close`}),t[44]=n,t[45]=Y);let X;t[46]===Symbol.for(`react.memo_cache_sentinel`)?(X=(0,f.jsx)(`span`,{className:d.Hint,children:`Esc to close`}),t[46]=X):X=t[46];let Z;t[47]===Y?Z=t[48]:(Z=(0,f.jsxs)(`div`,{className:d.Footer,children:[Y,X]}),t[47]=Y,t[48]=Z);let Q;t[49]!==q||t[50]!==J||t[51]!==Z?(Q=(0,f.jsxs)(`div`,{ref:r,className:d.Dialog,onClick:v,role:`dialog`,"aria-modal":`true`,"aria-label":`Score Screen`,tabIndex:-1,children:[q,J,Z]}),t[49]=q,t[50]=J,t[51]=Z,t[52]=Q):Q=t[52];let $;return t[53]!==n||t[54]!==Q?($=(0,f.jsx)(`div`,{className:d.Overlay,onClick:n,children:Q}),t[53]=n,t[54]=Q,t[55]=$):$=t[55],$}function v(e){return e.stopPropagation()}function te(e,t){return e.teamId-t.teamId}function ne(e,t){return(e.name??``).localeCompare(t.name??``)}function re(e,t){return t.score-e.score||(e.name??``).localeCompare(t.name??``)}function ie(){c.getState().sendCommand(`getScores`)}function ae(e){e.stopImmediatePropagation()}function oe(e,t){return e.connectedClientId===t.connectedClientId&&e.teamScores===t.teamScores&&e.playerRoster===t.playerRoster&&e.matchClockMs===t.matchClockMs}function se(e){let t=e.playback.streamSnapshot;return{connectedClientId:t?.connectedClientId,teamScores:t?.teamScores,playerRoster:t?.playerRoster,matchClockMs:t?.matchClockMs}}export{_ as ScoreScreen}; \ No newline at end of file diff --git a/docs/assets/ServerBrowser-brKJ17WH.js b/docs/assets/ServerBrowser-DJO_Cg9j.js similarity index 98% rename from docs/assets/ServerBrowser-brKJ17WH.js rename to docs/assets/ServerBrowser-DJO_Cg9j.js index a0c28a1f..9dc76f52 100644 --- a/docs/assets/ServerBrowser-brKJ17WH.js +++ b/docs/assets/ServerBrowser-DJO_Cg9j.js @@ -1 +1 @@ -import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import{a as ee}from"./SettingsProvider-DVIFsPwe.js";import{A as i,y as te}from"./index-Ds_qp2Yy.js";var a=e(n(),1),ne=t(),o={Dialog:`_Dialog_1s844_1 _Dialog_1t9wa_1`,Overlay:`_Overlay_1s844_10 _Overlay_1t9wa_22`,Header:`_Header_1s844_14`,Title:`_Title_1s844_22`,HiddenRadio:`_HiddenRadio_1s844_31`,RefreshButton:`_RefreshButton_1s844_41 _DialogButton_1t9wa_33`,ServerCount:`_ServerCount_1s844_47`,TableWrapper:`_TableWrapper_1s844_52`,Table:`_Table_1s844_52`,CompactHidden:`_CompactHidden_1s844_118`,EmptyServer:`_EmptyServer_1s844_169`,Empty:`_Empty_1s844_169`,PasswordIcon:`_PasswordIcon_1s844_186`,PlayersIcon:`_PlayersIcon_1s844_198`,Footer:`_Footer_1s844_209`,JoinButton:`_JoinButton_1s844_220 _DialogButton_1t9wa_33`,CloseButton:`_CloseButton_1s844_225 _Secondary_1t9wa_72 _DialogButton_1t9wa_33`,WarriorField:`_WarriorField_1s844_229`,WarriorLabel:`_WarriorLabel_1s844_235`,WarriorInput:`_WarriorInput_1s844_241`,Hint:`_Hint_1s844_261`,Actions:`_Actions_1s844_267 _Actions_1t9wa_86`},s=r();function c(e){let t=(0,ne.c)(102),{onClose:n}=e,r=i(le),c=i(ce),l=i(se),u=i(oe),d=i(ae),{warriorName:f,setWarriorName:ue}=ee(),[p,de]=(0,a.useState)(null),m;t[0]!==d||t[1]!==n||t[2]!==p||t[3]!==f?(m=()=>{p&&(d(p,f),n())},t[0]=d,t[1]=n,t[2]=p,t[3]=f,t[4]=m):m=t[4];let h=m,g;t[5]!==d||t[6]!==n||t[7]!==f?(g=e=>{d(e,f),n()},t[5]=d,t[6]=n,t[7]=f,t[8]=g):g=t[8];let _=g,[v,fe]=(0,a.useState)(`ping`),[y,pe]=(0,a.useState)(`asc`),me=(0,a.useRef)(null),b,x;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(b=()=>{me.current?.focus();try{document.exitPointerLock()}catch{}},x=[],t[9]=b,t[10]=x):(b=t[9],x=t[10]),(0,a.useEffect)(b,x);let S,C;t[11]===u?(S=t[12],C=t[13]):(S=()=>{u()},C=[u],t[11]=u,t[12]=S,t[13]=C),(0,a.useEffect)(S,C);let w,he;t[14]===n?(w=t[15],he=t[16]):(w=()=>{let e=e=>{e.stopPropagation(),e.key===`Escape`&&n()};return window.addEventListener(`keydown`,e,!0),()=>window.removeEventListener(`keydown`,e,!0)},he=[n],t[14]=n,t[15]=w,t[16]=he),(0,a.useEffect)(w,he);let T;t[17]===v?T=t[18]:(T=e=>{v===e?pe(ie):(fe(e),pe(`desc`))},t[17]=v,t[18]=T);let E=T,D;if(t[19]!==r||t[20]!==y||t[21]!==v){let e;t[23]!==y||t[24]!==v?(e=(e,t)=>{let n=e[v],r=t[v],ee=typeof n==`number`&&typeof r==`number`?n-r:String(n).localeCompare(String(r));return y===`asc`?ee:-ee},t[23]=y,t[24]=v,t[25]=e):e=t[25],D=[...r].sort(e),t[19]=r,t[20]=y,t[21]=v,t[22]=D}else D=t[22];let ge=D,O;t[26]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,s.jsx)(`h2`,{className:o.Title,children:`Server Browser`}),t[26]=O):O=t[26];let _e=r.length===1?``:`s`,k;t[27]!==r.length||t[28]!==_e?(k=(0,s.jsxs)(`span`,{className:o.ServerCount,children:[r.length,` server`,_e]}),t[27]=r.length,t[28]=_e,t[29]=k):k=t[29];let A;t[30]!==u||t[31]!==c?(A=(0,s.jsx)(`button`,{className:o.RefreshButton,onClick:u,disabled:c,children:`Refresh`}),t[30]=u,t[31]=c,t[32]=A):A=t[32];let j;t[33]!==k||t[34]!==A?(j=(0,s.jsxs)(`div`,{className:o.Header,children:[O,k,A]}),t[33]=k,t[34]=A,t[35]=j):j=t[35];let M;t[36]===E?M=t[37]:(M=(0,s.jsx)(`th`,{"data-column":`server`,onClick:()=>E(`name`),children:`Server Name`}),t[36]=E,t[37]=M);let N;t[38]===E?N=t[39]:(N=()=>E(`playerCount`),t[38]=E,t[39]=N);let P;t[40]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,s.jsx)(te,{className:o.PlayersIcon,title:`Players`,"aria-label":`Players`}),t[40]=P):P=t[40];let F;t[41]===N?F=t[42]:(F=(0,s.jsx)(`th`,{"data-column":`players`,onClick:N,children:P}),t[41]=N,t[42]=F);let I;t[43]===E?I=t[44]:(I=(0,s.jsx)(`th`,{"data-column":`ping`,onClick:()=>E(`ping`),children:`Ping`}),t[43]=E,t[44]=I);let L;t[45]===E?L=t[46]:(L=(0,s.jsx)(`th`,{"data-column":`map`,onClick:()=>E(`mapName`),children:`Map`}),t[45]=E,t[46]=L);let R;t[47]===E?R=t[48]:(R=(0,s.jsx)(`th`,{"data-column":`gameType`,onClick:()=>E(`gameType`),children:`Type`}),t[47]=E,t[48]=R);let z;t[49]===E?z=t[50]:(z=(0,s.jsx)(`th`,{"data-column":`mod`,onClick:()=>E(`mod`),children:`Mod`}),t[49]=E,t[50]=z);let B;t[51]!==M||t[52]!==F||t[53]!==I||t[54]!==L||t[55]!==R||t[56]!==z?(B=(0,s.jsx)(`thead`,{children:(0,s.jsxs)(`tr`,{children:[M,F,I,L,R,z]})}),t[51]=M,t[52]=F,t[53]=I,t[54]=L,t[55]=R,t[56]=z,t[57]=B):B=t[57];let V;if(t[58]!==l||t[59]!==_||t[60]!==n||t[61]!==p||t[62]!==ge){let e;t[64]!==l||t[65]!==_||t[66]!==n||t[67]!==p?(e=e=>(0,s.jsxs)(`tr`,{onClick:()=>{de(e.address);let t=document.forms.namedItem(`serverList`).elements.namedItem(`serverAddress`);Array.from(t).find(t=>t.value===e.address).focus()},onDoubleClick:()=>{de(e.address),_(e.address),n()},children:[(0,s.jsxs)(`td`,{"data-column":`server`,children:[(0,s.jsx)(`input`,{type:`radio`,className:o.HiddenRadio,name:`serverAddress`,value:e.address,checked:p===e.address,onChange:e=>{de(e.target.value)}}),e.passwordRequired&&(0,s.jsx)(`span`,{className:o.PasswordIcon,children:`🔒`}),e.name]}),(0,s.jsxs)(`td`,{className:e.playerCount===0?o.EmptyServer:void 0,"data-column":`players`,children:[e.playerCount,(0,s.jsxs)(`span`,{className:o.CompactHidden,children:[` / `,e.maxPlayers]})]}),(0,s.jsx)(`td`,{"data-column":`ping`,children:l==null?`—`:(e.ping+l).toLocaleString()}),(0,s.jsx)(`td`,{"data-column":`map`,children:e.mapName}),(0,s.jsx)(`td`,{"data-column":`gameType`,children:e.gameType}),(0,s.jsx)(`td`,{"data-column":`mod`,children:e.mod})]},e.address),t[64]=l,t[65]=_,t[66]=n,t[67]=p,t[68]=e):e=t[68],V=ge.map(e),t[58]=l,t[59]=_,t[60]=n,t[61]=p,t[62]=ge,t[63]=V}else V=t[63];let H;t[69]===V?H=t[70]:(H=(0,s.jsx)(`tbody`,{children:V}),t[69]=V,t[70]=H);let U;t[71]!==B||t[72]!==H?(U=(0,s.jsxs)(`table`,{className:o.Table,children:[B,H]}),t[71]=B,t[72]=H,t[73]=U):U=t[73];let W;t[74]!==h||t[75]!==U?(W=(0,s.jsx)(`div`,{className:o.TableWrapper,children:(0,s.jsx)(`form`,{name:`serverList`,onSubmit:h,children:U})}),t[74]=h,t[75]=U,t[76]=W):W=t[76];let G;t[77]===Symbol.for(`react.memo_cache_sentinel`)?(G=(0,s.jsx)(`label`,{className:o.WarriorLabel,htmlFor:`warriorName`,children:`Warrior`}),t[77]=G):G=t[77];let K;t[78]===ue?K=t[79]:(K=e=>ue(e.target.value),t[78]=ue,t[79]=K);let q;t[80]!==K||t[81]!==f?(q=(0,s.jsxs)(`div`,{className:o.WarriorField,children:[G,(0,s.jsx)(`input`,{id:`warriorName`,className:o.WarriorInput,type:`text`,value:f,onChange:K,placeholder:`Name thyself…`,maxLength:24})]}),t[80]=K,t[81]=f,t[82]=q):q=t[82];let J;t[83]===Symbol.for(`react.memo_cache_sentinel`)?(J=(0,s.jsx)(`span`,{className:o.Hint,children:`Double-click a server to join`}),t[83]=J):J=t[83];let Y;t[84]===n?Y=t[85]:(Y=(0,s.jsx)(`button`,{onClick:n,className:o.CloseButton,children:`Cancel`}),t[84]=n,t[85]=Y);let ve=!p,X;t[86]!==h||t[87]!==ve?(X=(0,s.jsx)(`button`,{onClick:h,disabled:ve,className:o.JoinButton,children:`Join`}),t[86]=h,t[87]=ve,t[88]=X):X=t[88];let Z;t[89]!==Y||t[90]!==X?(Z=(0,s.jsxs)(`div`,{className:o.Actions,children:[Y,X]}),t[89]=Y,t[90]=X,t[91]=Z):Z=t[91];let Q;t[92]!==q||t[93]!==Z?(Q=(0,s.jsxs)(`div`,{className:o.Footer,children:[q,J,Z]}),t[92]=q,t[93]=Z,t[94]=Q):Q=t[94];let $;t[95]!==j||t[96]!==W||t[97]!==Q?($=(0,s.jsxs)(`div`,{className:o.Dialog,ref:me,tabIndex:-1,onClick:re,children:[j,W,Q]}),t[95]=j,t[96]=W,t[97]=Q,t[98]=$):$=t[98];let ye;return t[99]!==n||t[100]!==$?(ye=(0,s.jsx)(`div`,{className:o.Overlay,onClick:n,children:$}),t[99]=n,t[100]=$,t[101]=ye):ye=t[101],ye}function re(e){return e.stopPropagation()}function ie(e){return e===`asc`?`desc`:`asc`}function ae(e){return e.joinServer}function oe(e){return e.listServers}function se(e){return e.browserToRelayPing}function ce(e){return e.serversLoading}function le(e){return e.servers}export{c as ServerBrowser}; \ No newline at end of file +import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import{a as ee}from"./SettingsProvider-D-grt5cc.js";import{N as te,W as i}from"./index-BEKjcnfN.js";var a=e(n(),1),ne=t(),o={Dialog:`_Dialog_1s844_1 _Dialog_1t9wa_1`,Overlay:`_Overlay_1s844_10 _Overlay_1t9wa_22`,Header:`_Header_1s844_14`,Title:`_Title_1s844_22`,HiddenRadio:`_HiddenRadio_1s844_31`,RefreshButton:`_RefreshButton_1s844_41 _DialogButton_1t9wa_33`,ServerCount:`_ServerCount_1s844_47`,TableWrapper:`_TableWrapper_1s844_52`,Table:`_Table_1s844_52`,CompactHidden:`_CompactHidden_1s844_118`,EmptyServer:`_EmptyServer_1s844_169`,Empty:`_Empty_1s844_169`,PasswordIcon:`_PasswordIcon_1s844_186`,PlayersIcon:`_PlayersIcon_1s844_198`,Footer:`_Footer_1s844_209`,JoinButton:`_JoinButton_1s844_220 _DialogButton_1t9wa_33`,CloseButton:`_CloseButton_1s844_225 _Secondary_1t9wa_72 _DialogButton_1t9wa_33`,WarriorField:`_WarriorField_1s844_229`,WarriorLabel:`_WarriorLabel_1s844_235`,WarriorInput:`_WarriorInput_1s844_241`,Hint:`_Hint_1s844_261`,Actions:`_Actions_1s844_267 _Actions_1t9wa_86`},s=r();function c(e){let t=(0,ne.c)(102),{onClose:n}=e,r=i(le),c=i(ce),l=i(se),u=i(oe),d=i(ae),{warriorName:f,setWarriorName:ue}=ee(),[p,de]=(0,a.useState)(null),m;t[0]!==d||t[1]!==n||t[2]!==p||t[3]!==f?(m=()=>{p&&(d(p,f),n())},t[0]=d,t[1]=n,t[2]=p,t[3]=f,t[4]=m):m=t[4];let h=m,g;t[5]!==d||t[6]!==n||t[7]!==f?(g=e=>{d(e,f),n()},t[5]=d,t[6]=n,t[7]=f,t[8]=g):g=t[8];let _=g,[v,fe]=(0,a.useState)(`ping`),[y,pe]=(0,a.useState)(`asc`),me=(0,a.useRef)(null),b,x;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(b=()=>{me.current?.focus();try{document.exitPointerLock()}catch{}},x=[],t[9]=b,t[10]=x):(b=t[9],x=t[10]),(0,a.useEffect)(b,x);let S,C;t[11]===u?(S=t[12],C=t[13]):(S=()=>{u()},C=[u],t[11]=u,t[12]=S,t[13]=C),(0,a.useEffect)(S,C);let w,he;t[14]===n?(w=t[15],he=t[16]):(w=()=>{let e=e=>{e.stopPropagation(),e.key===`Escape`&&n()};return window.addEventListener(`keydown`,e,!0),()=>window.removeEventListener(`keydown`,e,!0)},he=[n],t[14]=n,t[15]=w,t[16]=he),(0,a.useEffect)(w,he);let T;t[17]===v?T=t[18]:(T=e=>{v===e?pe(ie):(fe(e),pe(`desc`))},t[17]=v,t[18]=T);let E=T,D;if(t[19]!==r||t[20]!==y||t[21]!==v){let e;t[23]!==y||t[24]!==v?(e=(e,t)=>{let n=e[v],r=t[v],ee=typeof n==`number`&&typeof r==`number`?n-r:String(n).localeCompare(String(r));return y===`asc`?ee:-ee},t[23]=y,t[24]=v,t[25]=e):e=t[25],D=[...r].sort(e),t[19]=r,t[20]=y,t[21]=v,t[22]=D}else D=t[22];let ge=D,O;t[26]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,s.jsx)(`h2`,{className:o.Title,children:`Server Browser`}),t[26]=O):O=t[26];let _e=r.length===1?``:`s`,k;t[27]!==r.length||t[28]!==_e?(k=(0,s.jsxs)(`span`,{className:o.ServerCount,children:[r.length,` server`,_e]}),t[27]=r.length,t[28]=_e,t[29]=k):k=t[29];let A;t[30]!==u||t[31]!==c?(A=(0,s.jsx)(`button`,{className:o.RefreshButton,onClick:u,disabled:c,children:`Refresh`}),t[30]=u,t[31]=c,t[32]=A):A=t[32];let j;t[33]!==k||t[34]!==A?(j=(0,s.jsxs)(`div`,{className:o.Header,children:[O,k,A]}),t[33]=k,t[34]=A,t[35]=j):j=t[35];let M;t[36]===E?M=t[37]:(M=(0,s.jsx)(`th`,{"data-column":`server`,onClick:()=>E(`name`),children:`Server Name`}),t[36]=E,t[37]=M);let N;t[38]===E?N=t[39]:(N=()=>E(`playerCount`),t[38]=E,t[39]=N);let P;t[40]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,s.jsx)(te,{className:o.PlayersIcon,title:`Players`,"aria-label":`Players`}),t[40]=P):P=t[40];let F;t[41]===N?F=t[42]:(F=(0,s.jsx)(`th`,{"data-column":`players`,onClick:N,children:P}),t[41]=N,t[42]=F);let I;t[43]===E?I=t[44]:(I=(0,s.jsx)(`th`,{"data-column":`ping`,onClick:()=>E(`ping`),children:`Ping`}),t[43]=E,t[44]=I);let L;t[45]===E?L=t[46]:(L=(0,s.jsx)(`th`,{"data-column":`map`,onClick:()=>E(`mapName`),children:`Map`}),t[45]=E,t[46]=L);let R;t[47]===E?R=t[48]:(R=(0,s.jsx)(`th`,{"data-column":`gameType`,onClick:()=>E(`gameType`),children:`Type`}),t[47]=E,t[48]=R);let z;t[49]===E?z=t[50]:(z=(0,s.jsx)(`th`,{"data-column":`mod`,onClick:()=>E(`mod`),children:`Mod`}),t[49]=E,t[50]=z);let B;t[51]!==M||t[52]!==F||t[53]!==I||t[54]!==L||t[55]!==R||t[56]!==z?(B=(0,s.jsx)(`thead`,{children:(0,s.jsxs)(`tr`,{children:[M,F,I,L,R,z]})}),t[51]=M,t[52]=F,t[53]=I,t[54]=L,t[55]=R,t[56]=z,t[57]=B):B=t[57];let V;if(t[58]!==l||t[59]!==_||t[60]!==n||t[61]!==p||t[62]!==ge){let e;t[64]!==l||t[65]!==_||t[66]!==n||t[67]!==p?(e=e=>(0,s.jsxs)(`tr`,{onClick:()=>{de(e.address);let t=document.forms.namedItem(`serverList`).elements.namedItem(`serverAddress`);Array.from(t).find(t=>t.value===e.address).focus()},onDoubleClick:()=>{de(e.address),_(e.address),n()},children:[(0,s.jsxs)(`td`,{"data-column":`server`,children:[(0,s.jsx)(`input`,{type:`radio`,className:o.HiddenRadio,name:`serverAddress`,value:e.address,checked:p===e.address,onChange:e=>{de(e.target.value)}}),e.passwordRequired&&(0,s.jsx)(`span`,{className:o.PasswordIcon,children:`🔒`}),e.name]}),(0,s.jsxs)(`td`,{className:e.playerCount===0?o.EmptyServer:void 0,"data-column":`players`,children:[e.playerCount,(0,s.jsxs)(`span`,{className:o.CompactHidden,children:[` / `,e.maxPlayers]})]}),(0,s.jsx)(`td`,{"data-column":`ping`,children:l==null?`—`:(e.ping+l).toLocaleString()}),(0,s.jsx)(`td`,{"data-column":`map`,children:e.mapName}),(0,s.jsx)(`td`,{"data-column":`gameType`,children:e.gameType}),(0,s.jsx)(`td`,{"data-column":`mod`,children:e.mod})]},e.address),t[64]=l,t[65]=_,t[66]=n,t[67]=p,t[68]=e):e=t[68],V=ge.map(e),t[58]=l,t[59]=_,t[60]=n,t[61]=p,t[62]=ge,t[63]=V}else V=t[63];let H;t[69]===V?H=t[70]:(H=(0,s.jsx)(`tbody`,{children:V}),t[69]=V,t[70]=H);let U;t[71]!==B||t[72]!==H?(U=(0,s.jsxs)(`table`,{className:o.Table,children:[B,H]}),t[71]=B,t[72]=H,t[73]=U):U=t[73];let W;t[74]!==h||t[75]!==U?(W=(0,s.jsx)(`div`,{className:o.TableWrapper,children:(0,s.jsx)(`form`,{name:`serverList`,onSubmit:h,children:U})}),t[74]=h,t[75]=U,t[76]=W):W=t[76];let G;t[77]===Symbol.for(`react.memo_cache_sentinel`)?(G=(0,s.jsx)(`label`,{className:o.WarriorLabel,htmlFor:`warriorName`,children:`Warrior`}),t[77]=G):G=t[77];let K;t[78]===ue?K=t[79]:(K=e=>ue(e.target.value),t[78]=ue,t[79]=K);let q;t[80]!==K||t[81]!==f?(q=(0,s.jsxs)(`div`,{className:o.WarriorField,children:[G,(0,s.jsx)(`input`,{id:`warriorName`,className:o.WarriorInput,type:`text`,value:f,onChange:K,placeholder:`Name thyself…`,maxLength:24})]}),t[80]=K,t[81]=f,t[82]=q):q=t[82];let J;t[83]===Symbol.for(`react.memo_cache_sentinel`)?(J=(0,s.jsx)(`span`,{className:o.Hint,children:`Double-click a server to join`}),t[83]=J):J=t[83];let Y;t[84]===n?Y=t[85]:(Y=(0,s.jsx)(`button`,{onClick:n,className:o.CloseButton,children:`Cancel`}),t[84]=n,t[85]=Y);let ve=!p,X;t[86]!==h||t[87]!==ve?(X=(0,s.jsx)(`button`,{onClick:h,disabled:ve,className:o.JoinButton,children:`Join`}),t[86]=h,t[87]=ve,t[88]=X):X=t[88];let Z;t[89]!==Y||t[90]!==X?(Z=(0,s.jsxs)(`div`,{className:o.Actions,children:[Y,X]}),t[89]=Y,t[90]=X,t[91]=Z):Z=t[91];let Q;t[92]!==q||t[93]!==Z?(Q=(0,s.jsxs)(`div`,{className:o.Footer,children:[q,J,Z]}),t[92]=q,t[93]=Z,t[94]=Q):Q=t[94];let $;t[95]!==j||t[96]!==W||t[97]!==Q?($=(0,s.jsxs)(`div`,{className:o.Dialog,ref:me,tabIndex:-1,onClick:re,children:[j,W,Q]}),t[95]=j,t[96]=W,t[97]=Q,t[98]=$):$=t[98];let ye;return t[99]!==n||t[100]!==$?(ye=(0,s.jsx)(`div`,{className:o.Overlay,onClick:n,children:$}),t[99]=n,t[100]=$,t[101]=ye):ye=t[101],ye}function re(e){return e.stopPropagation()}function ie(e){return e===`asc`?`desc`:`asc`}function ae(e){return e.joinServer}function oe(e){return e.listServers}function se(e){return e.browserToRelayPing}function ce(e){return e.serversLoading}function le(e){return e.servers}export{c as ServerBrowser}; \ No newline at end of file diff --git a/docs/assets/SettingsProvider-D-grt5cc.js b/docs/assets/SettingsProvider-D-grt5cc.js new file mode 100644 index 00000000..cf4d61ff --- /dev/null +++ b/docs/assets/SettingsProvider-D-grt5cc.js @@ -0,0 +1,2 @@ +import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import{n as i}from"./manifest-MMwwguGo.js";import{r as a}from"./engineStore-Mono9lyt.js";var o=e(n(),1),s=d();function c(e,...t){if(!s)return;let n=u(e,...t);performance.mark(n);try{console.log(e,...t)}catch{console.log(n)}}function l(e,...t){s&&console.warn(e,...t)}function u(e,...t){return e.replace(/%[sfdO]/g,e=>{let n=t.shift();return e===`%O`&&n?JSON.stringify(n).replace(/"([^"]+)":/g,`$1:`):String(n)})}function d(){if(typeof window>`u`)return({}.DEBUG||``).includes(`nuqs`);try{let e=`nuqs-localStorage-test`;if(typeof localStorage>`u`)return!1;localStorage.setItem(e,e);let t=localStorage.getItem(e)===e;return localStorage.removeItem(e),t&&(localStorage.getItem(`debug`)||``).includes(`nuqs`)}catch{return!1}}var f={303:`Multiple adapter contexts detected. This might happen in monorepos.`,404:`nuqs requires an adapter to work with your framework.`,409:"Multiple versions of the library are loaded. This may lead to unexpected behavior. Currently using `%s`, but `%s` (via the %s adapter) was about to load on top.",414:`Max safe URL length exceeded. Some browsers may not be able to accept this URL. Consider limiting the amount of state stored in the URL.`,422:"Invalid options combination: `limitUrlUpdates: debounce` should be used in SSR scenarios, with `shallow: false`",429:"URL update rate-limited by the browser. Consider increasing `throttleMs` for key(s) `%s`. %O",500:`Empty search params cache. Search params can't be accessed in Layouts.`,501:"Search params cache already populated. Have you called `parse` twice?"};function p(e){return`[nuqs] ${f[e]} + See https://nuqs.dev/NUQS-${e}`}function m(e){if(e.size===0)return``;let t=[];for(let[n,r]of e.entries()){let e=n.replace(/#/g,`%23`).replace(/&/g,`%26`).replace(/\+/g,`%2B`).replace(/=/g,`%3D`).replace(/\?/g,`%3F`);t.push(`${e}=${h(r)}`)}return`?`+t.join(`&`)}function h(e){return e.replace(/%/g,`%25`).replace(/\+/g,`%2B`).replace(/ /g,`+`).replace(/#/g,`%23`).replace(/&/g,`%26`).replace(/"/g,`%22`).replace(/'/g,`%27`).replace(/`/g,`%60`).replace(//g,`%3E`).replace(/[\x00-\x1F]/g,e=>encodeURIComponent(e))}var g=(0,o.createContext)({useAdapter(){throw Error(p(404))}});g.displayName=`NuqsAdapterContext`,s&&typeof window<`u`&&(window.__NuqsAdapterContext&&window.__NuqsAdapterContext!==g&&console.error(p(303)),window.__NuqsAdapterContext=g);function _(e){return({children:t,defaultOptions:n,processUrlSearchParams:r,...i})=>(0,o.createElement)(g.Provider,{...i,value:{useAdapter:e,defaultOptions:n,processUrlSearchParams:r}},t)}function v(e){let t=(0,o.useContext)(g);if(!(`useAdapter`in t))throw Error(p(404));return t.useAdapter(e)}var y=()=>(0,o.useContext)(g).defaultOptions,b=()=>(0,o.useContext)(g).processUrlSearchParams;function x(){if(typeof window>`u`||!window.GestureEvent)return 50;try{let e=navigator.userAgent?.match(/version\/([\d\.]+) safari/i);return parseFloat(e[1])>=17?120:320}catch{return 320}}function S(e){return{method:`throttle`,timeMs:e}}var C=S(x());function w(e){return e===null||Array.isArray(e)&&e.length===0}function T(e,t,n){if(typeof e==`string`)n.set(t,e);else{n.delete(t);for(let r of e)n.append(t,r);n.has(t)||n.set(t,``)}return n}function E(){let e=new Map;return{on(t,n){let r=e.get(t)||[];return r.push(n),e.set(t,r),()=>this.off(t,n)},off(t,n){let r=e.get(t);r&&e.set(t,r.filter(e=>e!==n))},emit(t,n){e.get(t)?.forEach(e=>e(n))}}}function D(e,t,n){function r(){e(),n.removeEventListener(`abort`,a)}let i=setTimeout(r,t);function a(){clearTimeout(i),n.removeEventListener(`abort`,a)}n.addEventListener(`abort`,a)}function O(){let e=Promise;if(Promise.hasOwnProperty(`withResolvers`))return Promise.withResolvers();let t=()=>{},n=()=>{};return{promise:new e((e,r)=>{t=e,n=r}),resolve:t,reject:n}}function k(e,t){let n=t;for(let t=e.length-1;t>=0;t--){let r=e[t];if(!r)continue;let i=n;n=()=>r(i)}n()}function A(){return new URLSearchParams(location.search)}var j=class{updateMap=new Map;options={history:`replace`,scroll:!1,shallow:!0};timeMs=C.timeMs;transitions=new Set;resolvers=null;controller=null;lastFlushedAt=0;resetQueueOnNextPush=!1;push({key:e,query:t,options:n},r=C.timeMs){this.resetQueueOnNextPush&&=(this.reset(),!1),c(`[nuqs gtq] Enqueueing %s=%s %O`,e,t,n),this.updateMap.set(e,t),n.history===`push`&&(this.options.history=`push`),n.scroll&&(this.options.scroll=!0),n.shallow===!1&&(this.options.shallow=!1),n.startTransition&&this.transitions.add(n.startTransition),(!Number.isFinite(this.timeMs)||r>this.timeMs)&&(this.timeMs=r)}getQueuedQuery(e){return this.updateMap.get(e)}getPendingPromise({getSearchParamsSnapshot:e=A}){return this.resolvers?.promise??Promise.resolve(e())}flush({getSearchParamsSnapshot:e=A,rateLimitFactor:t=1,...n},r){if(this.controller??=new AbortController,!Number.isFinite(this.timeMs))return c(`[nuqs gtq] Skipping flush due to throttleMs=Infinity`),Promise.resolve(e());if(this.resolvers)return this.resolvers.promise;this.resolvers=O();let i=()=>{this.lastFlushedAt=performance.now();let[t,i]=this.applyPendingUpdates({...n,autoResetQueueOnUpdate:n.autoResetQueueOnUpdate??!0,getSearchParamsSnapshot:e},r);i===null?(this.resolvers.resolve(t),this.resetQueueOnNextPush=!0):this.resolvers.reject(t),this.resolvers=null};return D(()=>{let e=performance.now()-this.lastFlushedAt,n=this.timeMs,r=t*Math.max(0,n-e);c(`[nuqs gtq] Scheduling flush in %f ms. Throttled at %f ms (x%f)`,r,n,t),r===0?i():D(i,r,this.controller.signal)},0,this.controller.signal),this.resolvers.promise}abort(){return this.controller?.abort(),this.controller=new AbortController,this.resolvers?.resolve(new URLSearchParams),this.resolvers=null,this.reset()}reset(){let e=Array.from(this.updateMap.keys());return c(`[nuqs gtq] Resetting queue %s`,JSON.stringify(Object.fromEntries(this.updateMap))),this.updateMap.clear(),this.transitions.clear(),this.options={history:`replace`,scroll:!1,shallow:!0},this.timeMs=C.timeMs,e}applyPendingUpdates(e,t){let{updateUrl:n,getSearchParamsSnapshot:r}=e,i=r();if(c(`[nuqs gtq] Applying %d pending update(s) on top of %s`,this.updateMap.size,i.toString()),this.updateMap.size===0)return[i,null];let a=Array.from(this.updateMap.entries()),o={...this.options},s=Array.from(this.transitions);e.autoResetQueueOnUpdate&&this.reset(),c(`[nuqs gtq] Flushing queue %O with options %O`,a,o);for(let[e,t]of a)t===null?i.delete(e):i=T(t,e,i);t&&(i=t(i));try{return k(s,()=>{n(i,o)}),[i,null]}catch(e){return console.error(p(429),a.map(([e])=>e).join(),e),[i,e]}}},M=new j;function N(e,t,n){let r=(0,o.useCallback)(()=>{let t=Object.fromEntries(e.map(e=>[e,n(e)]));return[JSON.stringify(t),t]},[e.join(`,`),n]),i=(0,o.useRef)(null);return i.current===null&&(i.current=r()),(0,o.useSyncExternalStore)((0,o.useCallback)(n=>{let r=e.map(e=>t(e,n));return()=>r.forEach(e=>e())},[e.join(`,`),t]),()=>{let[e,t]=r();return i.current[0]===e?i.current[1]:(i.current=[e,t],t)},()=>i.current[1])}var P=class{callback;resolvers=O();controller=new AbortController;queuedValue=void 0;constructor(e){this.callback=e}abort(){this.controller.abort(),this.queuedValue=void 0}push(e,t){return this.queuedValue=e,this.controller.abort(),this.controller=new AbortController,D(()=>{let t=this.resolvers;try{c(`[nuqs dq] Flushing debounce queue`,e);let n=this.callback(e);c(`[nuqs dq] Reset debounce queue %O`,this.queuedValue),this.queuedValue=void 0,this.resolvers=O(),n.then(e=>t.resolve(e)).catch(e=>t.reject(e))}catch(e){this.queuedValue=void 0,t.reject(e)}},t,this.controller.signal),this.resolvers.promise}},F=new class{throttleQueue;queues=new Map;queuedQuerySync=E();constructor(e=new j){this.throttleQueue=e}useQueuedQueries(e){return N(e,(e,t)=>this.queuedQuerySync.on(e,t),e=>this.getQueuedQuery(e))}push(e,t,n,r){if(!Number.isFinite(t)){let e=n.getSearchParamsSnapshot??A;return Promise.resolve(e())}let i=e.key;if(!this.queues.has(i)){c("[nuqs dqc] Creating debounce queue for `%s`",i);let e=new P(e=>(this.throttleQueue.push(e),this.throttleQueue.flush(n,r).finally(()=>{this.queues.get(e.key)?.queuedValue===void 0&&(c("[nuqs dqc] Cleaning up empty queue for `%s`",e.key),this.queues.delete(e.key)),this.queuedQuerySync.emit(e.key)})));this.queues.set(i,e)}c(`[nuqs dqc] Enqueueing debounce update %O`,e);let a=this.queues.get(i).push(e,t);return this.queuedQuerySync.emit(i),a}abort(e){let t=this.queues.get(e);return t?(c(`[nuqs dqc] Aborting debounce queue %s=%s`,e,t.queuedValue?.query),this.queues.delete(e),t.abort(),this.queuedQuerySync.emit(e),e=>(e.then(t.resolvers.resolve,t.resolvers.reject),e)):e=>e}abortAll(){for(let[e,t]of this.queues.entries())c(`[nuqs dqc] Aborting debounce queue %s=%s`,e,t.queuedValue?.query),t.abort(),t.resolvers.resolve(new URLSearchParams),this.queuedQuerySync.emit(e);this.queues.clear()}getQueuedQuery(e){let t=this.queues.get(e)?.queuedValue?.query;return t===void 0?this.throttleQueue.getQueuedQuery(e):t}}(M);function I(e,t){return e===t?!0:e===null||t===null||typeof e==`string`||typeof t==`string`||e.length!==t.length?!1:e.every((e,n)=>e===t[n])}function L(e,t,n){try{return e(t)}catch(e){return l("[nuqs] Error while parsing value `%s`: %O"+(n?" (for key `%s`)":``),t,e,n),null}}function R(e){function t(t){if(t===void 0)return null;let n=``;if(Array.isArray(t)){if(t[0]===void 0)return null;n=t[0]}return typeof t==`string`&&(n=t),L(e.parse,n)}return{type:`single`,eq:(e,t)=>e===t,...e,parseServerSide:t,withDefault(e){return{...this,defaultValue:e,parseServerSide(n){return t(n)??e}}},withOptions(e){return{...this,...e}}}}var z=R({parse:e=>e,serialize:String});R({parse:e=>{let t=parseInt(e);return t==t?t:null},serialize:e=>``+Math.round(e)}),R({parse:e=>{let t=parseInt(e);return t==t?t-1:null},serialize:e=>``+Math.round(e+1)}),R({parse:e=>{let t=parseInt(e,16);return t==t?t:null},serialize:e=>{let t=Math.round(e).toString(16);return(t.length&1?`0`:``)+t}}),R({parse:e=>{let t=parseFloat(e);return t==t?t:null},serialize:String});var B=R({parse:e=>e.toLowerCase()===`true`,serialize:String});function V(e,t){return e.valueOf()===t.valueOf()}R({parse:e=>{let t=parseInt(e);return t==t?new Date(t):null},serialize:e=>``+e.valueOf(),eq:V}),R({parse:e=>{let t=new Date(e);return t.valueOf()==t.valueOf()?t:null},serialize:e=>e.toISOString(),eq:V}),R({parse:e=>{let t=new Date(e.slice(0,10));return t.valueOf()==t.valueOf()?t:null},serialize:e=>e.toISOString().slice(0,10),eq:V});var H=E(),U={};function W(e,t={}){let n=(0,o.useId)(),r=y(),i=b(),{history:a=`replace`,scroll:s=r?.scroll??!1,shallow:l=r?.shallow??!0,throttleMs:u=C.timeMs,limitUrlUpdates:d=r?.limitUrlUpdates,clearOnDefault:f=r?.clearOnDefault??!0,startTransition:m,urlKeys:h=U}=t,g=Object.keys(e).join(`,`),_=(0,o.useMemo)(()=>Object.fromEntries(Object.keys(e).map(e=>[e,h[e]??e])),[g,JSON.stringify(h)]),x=v(Object.values(_)),S=x.searchParams,w=(0,o.useRef)({}),T=(0,o.useMemo)(()=>Object.fromEntries(Object.keys(e).map(t=>[t,e[t].defaultValue??null])),[Object.values(e).map(({defaultValue:e})=>e).join(`,`)]),E=F.useQueuedQueries(Object.values(_)),[D,O]=(0,o.useState)(()=>G(e,h,S??new URLSearchParams,E).state),k=(0,o.useRef)(D);if(c("[nuq+ %s `%s`] render - state: %O, iSP: %s",n,g,D,S),Object.keys(w.current).join(`&`)!==Object.values(_).join(`&`)){let{state:t,hasChanged:r}=G(e,h,S,E,w.current,k.current);r&&(c("[nuq+ %s `%s`] State changed: %O",n,g,{state:t,initialSearchParams:S,queuedQueries:E,queryRef:w.current,stateRef:k.current}),k.current=t,O(t)),w.current=Object.fromEntries(Object.entries(_).map(([t,n])=>[n,e[t]?.type===`multi`?S?.getAll(n):S?.get(n)??null]))}(0,o.useEffect)(()=>{let{state:t,hasChanged:r}=G(e,h,S,E,w.current,k.current);r&&(c("[nuq+ %s `%s`] State changed: %O",n,g,{state:t,initialSearchParams:S,queuedQueries:E,queryRef:w.current,stateRef:k.current}),k.current=t,O(t))},[Object.values(_).map(e=>`${e}=${S?.getAll(e)}`).join(`&`),JSON.stringify(E)]),(0,o.useEffect)(()=>{let t=Object.keys(e).reduce((t,r)=>(t[r]=({state:t,query:i})=>{O(a=>{let{defaultValue:o}=e[r],s=_[r],l=t??o??null,u=a[r]??o??null;return Object.is(u,l)?(c("[nuq+ %s `%s`] Cross-hook key sync %s: %O (default: %O). no change, skipping, resolved: %O",n,g,s,t,o,k.current),a):(k.current={...k.current,[r]:l},w.current[s]=i,c("[nuq+ %s `%s`] Cross-hook key sync %s: %O (default: %O). updateInternalState, resolved: %O",n,g,s,t,o,k.current),k.current)})},t),{});for(let r of Object.keys(e)){let e=_[r];c("[nuq+ %s `%s`] Subscribing to sync for `%s`",n,e,g),H.on(e,t[r])}return()=>{for(let r of Object.keys(e)){let e=_[r];c("[nuq+ %s `%s`] Unsubscribing to sync for `%s`",n,e,g),H.off(e,t[r])}}},[g,_]);let A=(0,o.useCallback)((t,r={})=>{let o=Object.fromEntries(Object.keys(e).map(e=>[e,null])),h=typeof t==`function`?t(K(k.current,T))??o:t??o;c("[nuq+ %s `%s`] setState: %O",n,g,h);let v,y=0,b=!1,S=[];for(let[t,n]of Object.entries(h)){let o=e[t],c=_[t];if(!o||n===void 0)continue;(r.clearOnDefault??o.clearOnDefault??f)&&n!==null&&o.defaultValue!==void 0&&(o.eq??((e,t)=>e===t))(n,o.defaultValue)&&(n=null);let h=n===null?null:(o.serialize??String)(n);H.emit(c,{state:n,query:h});let g={key:c,query:h,options:{history:r.history??o.history??a,shallow:r.shallow??o.shallow??l,scroll:r.scroll??o.scroll??s,startTransition:r.startTransition??o.startTransition??m}};if(r?.limitUrlUpdates?.method===`debounce`||d?.method===`debounce`||o.limitUrlUpdates?.method===`debounce`){g.options.shallow===!0&&console.warn(p(422));let e=r?.limitUrlUpdates?.timeMs??d?.timeMs??o.limitUrlUpdates?.timeMs??C.timeMs,t=F.push(g,e,x,i);yt(e),b?M.flush(x,i):M.getPendingPromise(x));return v??w},[g,a,l,s,u,d?.method,d?.timeMs,m,_,x.updateUrl,x.getSearchParamsSnapshot,x.rateLimitFactor,i,T]);return[(0,o.useMemo)(()=>K(D,T),[D,T]),A]}function G(e,t,n,r,i,a){let o=!1,s=Object.entries(e).reduce((e,[s,c])=>{let l=t?.[s]??s,u=r[l],d=c.type===`multi`?[]:null,f=u===void 0?(c.type===`multi`?n?.getAll(l):n?.get(l))??d:u;return i&&a&&I(i[l]??d,f)?(e[s]=a[s]??null,e):(o=!0,e[s]=(w(f)?null:L(c.parse,f,l))??null,i&&(i[l]=f),e)},{});if(!o){let t=Object.keys(e),n=Object.keys(a??{});o=t.length!==n.length||t.some(e=>!n.includes(e))}return{state:s,hasChanged:o}}function K(e,t){return Object.fromEntries(Object.keys(e).map(n=>[n,e[n]??t[n]??null]))}function q(e,t={}){let{parse:n,type:r,serialize:i,eq:a,defaultValue:s,...c}=t,[{[e]:l},u]=W({[e]:{parse:n??(e=>e),type:r,serialize:i,eq:a,defaultValue:s}},c);return[l,(0,o.useCallback)((t,n={})=>u(n=>({[e]:typeof t==`function`?t(n[e]):t}),n),[e,u])]}var J=t(),ee=R({parse(e){let[t,n]=e.split(`~`),r=n,a=i(t).missionTypes;return(!n||!a.includes(n))&&(r=a[0]),{missionName:t,missionType:r}},serialize({missionName:e,missionType:t}){let n=i(e).missionTypes;return!t||n.length===1?e:`${e}~${t}`},eq(e,t){return e.missionName===t.missionName&&e.missionType===t.missionType}}).withDefault({missionName:`RiverDance`,missionType:`CTF`});function te(){let e=(0,J.c)(3),[t,n]=q(`mission`,ee),r;return e[0]!==t||e[1]!==n?(r=[t,n],e[0]=t,e[1]=n,e[2]=r):r=e[2],r}function ne(){let e=(0,J.c)(3),[t,n]=q(`fog`,B),r;return e[0]!==t||e[1]!==n?(r=[t,n],e[0]=t,e[1]=n,e[2]=r):r=e[2],r}var Y=`(pointer: coarse)`,re=()=>null;function ie(e){let t=window.matchMedia(Y);return t.addEventListener(`change`,e),()=>{t.removeEventListener(`change`,e)}}function ae(){return window.matchMedia(Y).matches}function X(){return(0,o.useSyncExternalStore)(ie,ae,re)}var Z=!0,Q=[];function oe(e){Z=e;for(let t of Q)t(e)}function se(){return Z}function ce(e){Q.push(e)}function le(e=1){let t=a.getState().playback.rate;return e*(Z?t:1)}var $=r(),ue=.01,de=32/16e3,fe=1/16e3,pe=256/16e3,me=(0,o.createContext)(null),he=(0,o.createContext)(null),ge=(0,o.createContext)(null);function _e(){let e=(0,o.useContext)(me);if(!e)throw Error(`No SettingsContext found. Did you remember to add a ?`);return e}function ve(){let e=(0,o.useContext)(he);if(!e)throw Error(`No DebugContext found. Did you remember to add a ?`);return e}function ye(){let e=(0,o.useContext)(ge);if(!e)throw Error(`No ControlsContext found. Did you remember to add a ?`);return e}function be({children:e}){let[t,n]=(0,o.useState)(!0),[r,i]=(0,o.useState)(!1),[a,s]=(0,o.useState)(.15),[c,l]=(0,o.useState)(de),[u,d]=(0,o.useState)(90),[f,p]=(0,o.useState)(!1),[m,h]=(0,o.useState)(.75),[g,_]=(0,o.useState)(!0),[v,y]=(0,o.useState)(!0),[b,x]=(0,o.useState)(!1),[S,C]=(0,o.useState)(`moveLookStick`),[w,T]=(0,o.useState)(`MapGenius`),[E,D]=(0,o.useState)(!1),[O,k]=(0,o.useState)(!1),[A,j]=(0,o.useState)(!1),[M,N]=(0,o.useState)(!1),[P,F]=(0,o.useState)(null),[I,L]=(0,o.useState)(!0),[R,z]=(0,o.useState)(!1),[B,V]=ne(),H=(0,o.useCallback)(()=>{V(null)},[V]),U=(0,o.useCallback)(e=>{n(e),H()},[H]),W=(0,o.useMemo)(()=>({fogEnabled:B??t,setFogEnabled:U,clearFogEnabledOverride:H,highQualityFog:r,setHighQualityFog:i,fov:u,setFov:d,audioEnabled:f,setAudioEnabled:p,animationEnabled:v,setAnimationEnabled:y,warriorName:w,setWarriorName:T,audioVolume:m,setAudioVolume:h,adjustAudioSpeed:g,setAdjustAudioSpeed:_,sidebarOpen:M,setSidebarOpen:N,fpsLimit:P,setFpsLimit:F,showInputOverlay:I,setShowInputOverlay:L}),[t,B,U,H,r,u,f,v,w,m,g,M,P,I]),G=(0,o.useMemo)(()=>({debugMode:b,setDebugMode:x,renderOnDemand:R,setRenderOnDemand:z}),[b,x,R]),K=(0,o.useMemo)(()=>({speedMultiplier:a,setSpeedMultiplier:s,mouseSensitivity:c,setMouseSensitivity:l,touchMode:S,setTouchMode:C,invertScroll:E,setInvertScroll:D,invertDrag:O,setInvertDrag:k,invertJoystick:A,setInvertJoystick:j}),[a,s,c,S,C,E,O,A]),q=X();(0,o.useEffect)(()=>{if(q==null)return;let e={};try{e=JSON.parse(localStorage.getItem(`settings`)??`{}`)||{}}catch{}e.debugMode!=null&&x(e.debugMode),e.audioEnabled!=null&&p(e.audioEnabled),e.animationEnabled!=null&&y(e.animationEnabled),e.fogEnabled!=null&&n(e.fogEnabled),e.highQualityFog!=null&&i(e.highQualityFog),e.speedMultiplier!=null&&s(Math.max(ue,Math.min(1,e.speedMultiplier))),e.mouseSensitivity!=null&&l(Math.max(fe,Math.min(pe,e.mouseSensitivity))),e.fov!=null&&d(e.fov),e.touchMode!=null&&C(e.touchMode),e.warriorName!=null&&T(e.warriorName),e.audioVolume!=null&&h(e.audioVolume),e.adjustAudioSpeed!=null&&_(e.adjustAudioSpeed),e.invertScroll!=null&&D(e.invertScroll),e.invertDrag!=null&&k(e.invertDrag),e.invertJoystick!=null&&j(e.invertJoystick),(e.fpsLimit===null||Number.isInteger(e.fpsLimit))&&F(e.fpsLimit),e.showInputOverlay!=null&&L(e.showInputOverlay),e.sidebarOpen!=null&&(q||N(e.sidebarOpen))},[q]),(0,o.useEffect)(()=>{oe(g)},[g]);let J=(0,o.useRef)(null);return(0,o.useEffect)(()=>(J.current&&clearTimeout(J.current),J.current=setTimeout(()=>{let e={fogEnabled:t,highQualityFog:r,speedMultiplier:a,mouseSensitivity:c,fov:u,audioEnabled:f,animationEnabled:v,debugMode:b,touchMode:S,warriorName:w,audioVolume:m,adjustAudioSpeed:g,invertScroll:E,invertDrag:O,invertJoystick:A,sidebarOpen:M,fpsLimit:P,showInputOverlay:I};try{localStorage.setItem(`settings`,JSON.stringify(e))}catch{}},500),()=>{J.current&&clearTimeout(J.current)}),[t,r,a,c,u,f,v,b,S,w,m,g,E,O,A,M,P,I]),(0,$.jsx)(me.Provider,{value:W,children:(0,$.jsx)(he.Provider,{value:G,children:(0,$.jsx)(ge.Provider,{value:K,children:e})})})}export{m as _,_e as a,ce as c,z as d,q as f,c as g,_ as h,ve as i,X as l,E as m,be as n,se as o,I as p,ye as r,le as s,ue as t,te as u}; \ No newline at end of file diff --git a/docs/assets/SettingsProvider-DVIFsPwe.js b/docs/assets/SettingsProvider-DVIFsPwe.js deleted file mode 100644 index 3872ecfd..00000000 --- a/docs/assets/SettingsProvider-DVIFsPwe.js +++ /dev/null @@ -1,2 +0,0 @@ -import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import{c as i,o as a,t as o}from"./Html-DrHEhPVE.js";import{m as s,r as c}from"./loaders-BhaVxgpz.js";import{Ut as l,bt as u,c as d,l as f,u as p}from"./three.module-DRRYkRPO.js";import{t as m}from"./logger-B058WGzf.js";import{r as h}from"./engineStore-DeZJbWme.js";var g=e(n(),1),_=x();function v(e,...t){if(!_)return;let n=b(e,...t);performance.mark(n);try{console.log(e,...t)}catch{console.log(n)}}function y(e,...t){_&&console.warn(e,...t)}function b(e,...t){return e.replace(/%[sfdO]/g,e=>{let n=t.shift();return e===`%O`&&n?JSON.stringify(n).replace(/"([^"]+)":/g,`$1:`):String(n)})}function x(){if(typeof window>`u`)return({}.DEBUG||``).includes(`nuqs`);try{let e=`nuqs-localStorage-test`;if(typeof localStorage>`u`)return!1;localStorage.setItem(e,e);let t=localStorage.getItem(e)===e;return localStorage.removeItem(e),t&&(localStorage.getItem(`debug`)||``).includes(`nuqs`)}catch{return!1}}var S={303:`Multiple adapter contexts detected. This might happen in monorepos.`,404:`nuqs requires an adapter to work with your framework.`,409:"Multiple versions of the library are loaded. This may lead to unexpected behavior. Currently using `%s`, but `%s` (via the %s adapter) was about to load on top.",414:`Max safe URL length exceeded. Some browsers may not be able to accept this URL. Consider limiting the amount of state stored in the URL.`,422:"Invalid options combination: `limitUrlUpdates: debounce` should be used in SSR scenarios, with `shallow: false`",429:"URL update rate-limited by the browser. Consider increasing `throttleMs` for key(s) `%s`. %O",500:`Empty search params cache. Search params can't be accessed in Layouts.`,501:"Search params cache already populated. Have you called `parse` twice?"};function C(e){return`[nuqs] ${S[e]} - See https://nuqs.dev/NUQS-${e}`}function w(e){if(e.size===0)return``;let t=[];for(let[n,r]of e.entries()){let e=n.replace(/#/g,`%23`).replace(/&/g,`%26`).replace(/\+/g,`%2B`).replace(/=/g,`%3D`).replace(/\?/g,`%3F`);t.push(`${e}=${T(r)}`)}return`?`+t.join(`&`)}function T(e){return e.replace(/%/g,`%25`).replace(/\+/g,`%2B`).replace(/ /g,`+`).replace(/#/g,`%23`).replace(/&/g,`%26`).replace(/"/g,`%22`).replace(/'/g,`%27`).replace(/`/g,`%60`).replace(//g,`%3E`).replace(/[\x00-\x1F]/g,e=>encodeURIComponent(e))}var E=(0,g.createContext)({useAdapter(){throw Error(C(404))}});E.displayName=`NuqsAdapterContext`,_&&typeof window<`u`&&(window.__NuqsAdapterContext&&window.__NuqsAdapterContext!==E&&console.error(C(303)),window.__NuqsAdapterContext=E);function D(e){return({children:t,defaultOptions:n,processUrlSearchParams:r,...i})=>(0,g.createElement)(E.Provider,{...i,value:{useAdapter:e,defaultOptions:n,processUrlSearchParams:r}},t)}function O(e){let t=(0,g.useContext)(E);if(!(`useAdapter`in t))throw Error(C(404));return t.useAdapter(e)}var k=()=>(0,g.useContext)(E).defaultOptions,A=()=>(0,g.useContext)(E).processUrlSearchParams;function j(){if(typeof window>`u`||!window.GestureEvent)return 50;try{let e=navigator.userAgent?.match(/version\/([\d\.]+) safari/i);return parseFloat(e[1])>=17?120:320}catch{return 320}}function M(e){return{method:`throttle`,timeMs:e}}var N=M(j());function P(e){return e===null||Array.isArray(e)&&e.length===0}function F(e,t,n){if(typeof e==`string`)n.set(t,e);else{n.delete(t);for(let r of e)n.append(t,r);n.has(t)||n.set(t,``)}return n}function I(){let e=new Map;return{on(t,n){let r=e.get(t)||[];return r.push(n),e.set(t,r),()=>this.off(t,n)},off(t,n){let r=e.get(t);r&&e.set(t,r.filter(e=>e!==n))},emit(t,n){e.get(t)?.forEach(e=>e(n))}}}function L(e,t,n){function r(){e(),n.removeEventListener(`abort`,a)}let i=setTimeout(r,t);function a(){clearTimeout(i),n.removeEventListener(`abort`,a)}n.addEventListener(`abort`,a)}function R(){let e=Promise;if(Promise.hasOwnProperty(`withResolvers`))return Promise.withResolvers();let t=()=>{},n=()=>{};return{promise:new e((e,r)=>{t=e,n=r}),resolve:t,reject:n}}function ee(e,t){let n=t;for(let t=e.length-1;t>=0;t--){let r=e[t];if(!r)continue;let i=n;n=()=>r(i)}n()}function z(){return new URLSearchParams(location.search)}var B=class{updateMap=new Map;options={history:`replace`,scroll:!1,shallow:!0};timeMs=N.timeMs;transitions=new Set;resolvers=null;controller=null;lastFlushedAt=0;resetQueueOnNextPush=!1;push({key:e,query:t,options:n},r=N.timeMs){this.resetQueueOnNextPush&&=(this.reset(),!1),v(`[nuqs gtq] Enqueueing %s=%s %O`,e,t,n),this.updateMap.set(e,t),n.history===`push`&&(this.options.history=`push`),n.scroll&&(this.options.scroll=!0),n.shallow===!1&&(this.options.shallow=!1),n.startTransition&&this.transitions.add(n.startTransition),(!Number.isFinite(this.timeMs)||r>this.timeMs)&&(this.timeMs=r)}getQueuedQuery(e){return this.updateMap.get(e)}getPendingPromise({getSearchParamsSnapshot:e=z}){return this.resolvers?.promise??Promise.resolve(e())}flush({getSearchParamsSnapshot:e=z,rateLimitFactor:t=1,...n},r){if(this.controller??=new AbortController,!Number.isFinite(this.timeMs))return v(`[nuqs gtq] Skipping flush due to throttleMs=Infinity`),Promise.resolve(e());if(this.resolvers)return this.resolvers.promise;this.resolvers=R();let i=()=>{this.lastFlushedAt=performance.now();let[t,i]=this.applyPendingUpdates({...n,autoResetQueueOnUpdate:n.autoResetQueueOnUpdate??!0,getSearchParamsSnapshot:e},r);i===null?(this.resolvers.resolve(t),this.resetQueueOnNextPush=!0):this.resolvers.reject(t),this.resolvers=null};return L(()=>{let e=performance.now()-this.lastFlushedAt,n=this.timeMs,r=t*Math.max(0,n-e);v(`[nuqs gtq] Scheduling flush in %f ms. Throttled at %f ms (x%f)`,r,n,t),r===0?i():L(i,r,this.controller.signal)},0,this.controller.signal),this.resolvers.promise}abort(){return this.controller?.abort(),this.controller=new AbortController,this.resolvers?.resolve(new URLSearchParams),this.resolvers=null,this.reset()}reset(){let e=Array.from(this.updateMap.keys());return v(`[nuqs gtq] Resetting queue %s`,JSON.stringify(Object.fromEntries(this.updateMap))),this.updateMap.clear(),this.transitions.clear(),this.options={history:`replace`,scroll:!1,shallow:!0},this.timeMs=N.timeMs,e}applyPendingUpdates(e,t){let{updateUrl:n,getSearchParamsSnapshot:r}=e,i=r();if(v(`[nuqs gtq] Applying %d pending update(s) on top of %s`,this.updateMap.size,i.toString()),this.updateMap.size===0)return[i,null];let a=Array.from(this.updateMap.entries()),o={...this.options},s=Array.from(this.transitions);e.autoResetQueueOnUpdate&&this.reset(),v(`[nuqs gtq] Flushing queue %O with options %O`,a,o);for(let[e,t]of a)t===null?i.delete(e):i=F(t,e,i);t&&(i=t(i));try{return ee(s,()=>{n(i,o)}),[i,null]}catch(e){return console.error(C(429),a.map(([e])=>e).join(),e),[i,e]}}},V=new B;function H(e,t,n){let r=(0,g.useCallback)(()=>{let t=Object.fromEntries(e.map(e=>[e,n(e)]));return[JSON.stringify(t),t]},[e.join(`,`),n]),i=(0,g.useRef)(null);return i.current===null&&(i.current=r()),(0,g.useSyncExternalStore)((0,g.useCallback)(n=>{let r=e.map(e=>t(e,n));return()=>r.forEach(e=>e())},[e.join(`,`),t]),()=>{let[e,t]=r();return i.current[0]===e?i.current[1]:(i.current=[e,t],t)},()=>i.current[1])}var te=class{callback;resolvers=R();controller=new AbortController;queuedValue=void 0;constructor(e){this.callback=e}abort(){this.controller.abort(),this.queuedValue=void 0}push(e,t){return this.queuedValue=e,this.controller.abort(),this.controller=new AbortController,L(()=>{let t=this.resolvers;try{v(`[nuqs dq] Flushing debounce queue`,e);let n=this.callback(e);v(`[nuqs dq] Reset debounce queue %O`,this.queuedValue),this.queuedValue=void 0,this.resolvers=R(),n.then(e=>t.resolve(e)).catch(e=>t.reject(e))}catch(e){this.queuedValue=void 0,t.reject(e)}},t,this.controller.signal),this.resolvers.promise}},U=new class{throttleQueue;queues=new Map;queuedQuerySync=I();constructor(e=new B){this.throttleQueue=e}useQueuedQueries(e){return H(e,(e,t)=>this.queuedQuerySync.on(e,t),e=>this.getQueuedQuery(e))}push(e,t,n,r){if(!Number.isFinite(t)){let e=n.getSearchParamsSnapshot??z;return Promise.resolve(e())}let i=e.key;if(!this.queues.has(i)){v("[nuqs dqc] Creating debounce queue for `%s`",i);let e=new te(e=>(this.throttleQueue.push(e),this.throttleQueue.flush(n,r).finally(()=>{this.queues.get(e.key)?.queuedValue===void 0&&(v("[nuqs dqc] Cleaning up empty queue for `%s`",e.key),this.queues.delete(e.key)),this.queuedQuerySync.emit(e.key)})));this.queues.set(i,e)}v(`[nuqs dqc] Enqueueing debounce update %O`,e);let a=this.queues.get(i).push(e,t);return this.queuedQuerySync.emit(i),a}abort(e){let t=this.queues.get(e);return t?(v(`[nuqs dqc] Aborting debounce queue %s=%s`,e,t.queuedValue?.query),this.queues.delete(e),t.abort(),this.queuedQuerySync.emit(e),e=>(e.then(t.resolvers.resolve,t.resolvers.reject),e)):e=>e}abortAll(){for(let[e,t]of this.queues.entries())v(`[nuqs dqc] Aborting debounce queue %s=%s`,e,t.queuedValue?.query),t.abort(),t.resolvers.resolve(new URLSearchParams),this.queuedQuerySync.emit(e);this.queues.clear()}getQueuedQuery(e){let t=this.queues.get(e)?.queuedValue?.query;return t===void 0?this.throttleQueue.getQueuedQuery(e):t}}(V);function W(e,t){return e===t?!0:e===null||t===null||typeof e==`string`||typeof t==`string`||e.length!==t.length?!1:e.every((e,n)=>e===t[n])}function G(e,t,n){try{return e(t)}catch(e){return y("[nuqs] Error while parsing value `%s`: %O"+(n?" (for key `%s`)":``),t,e,n),null}}function K(e){function t(t){if(t===void 0)return null;let n=``;if(Array.isArray(t)){if(t[0]===void 0)return null;n=t[0]}return typeof t==`string`&&(n=t),G(e.parse,n)}return{type:`single`,eq:(e,t)=>e===t,...e,parseServerSide:t,withDefault(e){return{...this,defaultValue:e,parseServerSide(n){return t(n)??e}}},withOptions(e){return{...this,...e}}}}var ne=K({parse:e=>e,serialize:String});K({parse:e=>{let t=parseInt(e);return t==t?t:null},serialize:e=>``+Math.round(e)}),K({parse:e=>{let t=parseInt(e);return t==t?t-1:null},serialize:e=>``+Math.round(e+1)}),K({parse:e=>{let t=parseInt(e,16);return t==t?t:null},serialize:e=>{let t=Math.round(e).toString(16);return(t.length&1?`0`:``)+t}}),K({parse:e=>{let t=parseFloat(e);return t==t?t:null},serialize:String});var re=K({parse:e=>e.toLowerCase()===`true`,serialize:String});function ie(e,t){return e.valueOf()===t.valueOf()}K({parse:e=>{let t=parseInt(e);return t==t?new Date(t):null},serialize:e=>``+e.valueOf(),eq:ie}),K({parse:e=>{let t=new Date(e);return t.valueOf()==t.valueOf()?t:null},serialize:e=>e.toISOString(),eq:ie}),K({parse:e=>{let t=new Date(e.slice(0,10));return t.valueOf()==t.valueOf()?t:null},serialize:e=>e.toISOString().slice(0,10),eq:ie});var ae=I(),oe={};function se(e,t={}){let n=(0,g.useId)(),r=k(),i=A(),{history:a=`replace`,scroll:o=r?.scroll??!1,shallow:s=r?.shallow??!0,throttleMs:c=N.timeMs,limitUrlUpdates:l=r?.limitUrlUpdates,clearOnDefault:u=r?.clearOnDefault??!0,startTransition:d,urlKeys:f=oe}=t,p=Object.keys(e).join(`,`),m=(0,g.useMemo)(()=>Object.fromEntries(Object.keys(e).map(e=>[e,f[e]??e])),[p,JSON.stringify(f)]),h=O(Object.values(m)),_=h.searchParams,y=(0,g.useRef)({}),b=(0,g.useMemo)(()=>Object.fromEntries(Object.keys(e).map(t=>[t,e[t].defaultValue??null])),[Object.values(e).map(({defaultValue:e})=>e).join(`,`)]),x=U.useQueuedQueries(Object.values(m)),[S,w]=(0,g.useState)(()=>ce(e,f,_??new URLSearchParams,x).state),T=(0,g.useRef)(S);if(v("[nuq+ %s `%s`] render - state: %O, iSP: %s",n,p,S,_),Object.keys(y.current).join(`&`)!==Object.values(m).join(`&`)){let{state:t,hasChanged:r}=ce(e,f,_,x,y.current,T.current);r&&(v("[nuq+ %s `%s`] State changed: %O",n,p,{state:t,initialSearchParams:_,queuedQueries:x,queryRef:y.current,stateRef:T.current}),T.current=t,w(t)),y.current=Object.fromEntries(Object.entries(m).map(([t,n])=>[n,e[t]?.type===`multi`?_?.getAll(n):_?.get(n)??null]))}(0,g.useEffect)(()=>{let{state:t,hasChanged:r}=ce(e,f,_,x,y.current,T.current);r&&(v("[nuq+ %s `%s`] State changed: %O",n,p,{state:t,initialSearchParams:_,queuedQueries:x,queryRef:y.current,stateRef:T.current}),T.current=t,w(t))},[Object.values(m).map(e=>`${e}=${_?.getAll(e)}`).join(`&`),JSON.stringify(x)]),(0,g.useEffect)(()=>{let t=Object.keys(e).reduce((t,r)=>(t[r]=({state:t,query:i})=>{w(a=>{let{defaultValue:o}=e[r],s=m[r],c=t??o??null,l=a[r]??o??null;return Object.is(l,c)?(v("[nuq+ %s `%s`] Cross-hook key sync %s: %O (default: %O). no change, skipping, resolved: %O",n,p,s,t,o,T.current),a):(T.current={...T.current,[r]:c},y.current[s]=i,v("[nuq+ %s `%s`] Cross-hook key sync %s: %O (default: %O). updateInternalState, resolved: %O",n,p,s,t,o,T.current),T.current)})},t),{});for(let r of Object.keys(e)){let e=m[r];v("[nuq+ %s `%s`] Subscribing to sync for `%s`",n,e,p),ae.on(e,t[r])}return()=>{for(let r of Object.keys(e)){let e=m[r];v("[nuq+ %s `%s`] Unsubscribing to sync for `%s`",n,e,p),ae.off(e,t[r])}}},[p,m]);let E=(0,g.useCallback)((t,r={})=>{let f=Object.fromEntries(Object.keys(e).map(e=>[e,null])),g=typeof t==`function`?t(le(T.current,b))??f:t??f;v("[nuq+ %s `%s`] setState: %O",n,p,g);let _,y=0,x=!1,S=[];for(let[t,n]of Object.entries(g)){let f=e[t],p=m[t];if(!f||n===void 0)continue;(r.clearOnDefault??f.clearOnDefault??u)&&n!==null&&f.defaultValue!==void 0&&(f.eq??((e,t)=>e===t))(n,f.defaultValue)&&(n=null);let g=n===null?null:(f.serialize??String)(n);ae.emit(p,{state:n,query:g});let v={key:p,query:g,options:{history:r.history??f.history??a,shallow:r.shallow??f.shallow??s,scroll:r.scroll??f.scroll??o,startTransition:r.startTransition??f.startTransition??d}};if(r?.limitUrlUpdates?.method===`debounce`||l?.method===`debounce`||f.limitUrlUpdates?.method===`debounce`){v.options.shallow===!0&&console.warn(C(422));let e=r?.limitUrlUpdates?.timeMs??l?.timeMs??f.limitUrlUpdates?.timeMs??N.timeMs,t=U.push(v,e,h,i);yt(e),x?V.flush(h,i):V.getPendingPromise(h));return _??w},[p,a,s,o,c,l?.method,l?.timeMs,d,m,h.updateUrl,h.getSearchParamsSnapshot,h.rateLimitFactor,i,b]);return[(0,g.useMemo)(()=>le(S,b),[S,b]),E]}function ce(e,t,n,r,i,a){let o=!1,s=Object.entries(e).reduce((e,[s,c])=>{let l=t?.[s]??s,u=r[l],d=c.type===`multi`?[]:null,f=u===void 0?(c.type===`multi`?n?.getAll(l):n?.get(l))??d:u;return i&&a&&W(i[l]??d,f)?(e[s]=a[s]??null,e):(o=!0,e[s]=(P(f)?null:G(c.parse,f,l))??null,i&&(i[l]=f),e)},{});if(!o){let t=Object.keys(e),n=Object.keys(a??{});o=t.length!==n.length||t.some(e=>!n.includes(e))}return{state:s,hasChanged:o}}function le(e,t){return Object.fromEntries(Object.keys(e).map(n=>[n,e[n]??t[n]??null]))}function ue(e,t={}){let{parse:n,type:r,serialize:i,eq:a,defaultValue:o,...s}=t,[{[e]:c},l]=se({[e]:{parse:n??(e=>e),type:r,serialize:i,eq:a,defaultValue:o}},s);return[c,(0,g.useCallback)((t,n={})=>l(n=>({[e]:typeof t==`function`?t(n[e]):t}),n),[e,l])]}var q=t(),de=K({parse(e){let[t,n]=e.split(`~`),r=n,i=s(t).missionTypes;return(!n||!i.includes(n))&&(r=i[0]),{missionName:t,missionType:r}},serialize({missionName:e,missionType:t}){let n=s(e).missionTypes;return!t||n.length===1?e:`${e}~${t}`},eq(e,t){return e.missionName===t.missionName&&e.missionType===t.missionType}}).withDefault({missionName:`RiverDance`,missionType:`CTF`});function fe(){let e=(0,q.c)(3),[t,n]=ue(`mission`,de),r;return e[0]!==t||e[1]!==n?(r=[t,n],e[0]=t,e[1]=n,e[2]=r):r=e[2],r}function pe(){let e=(0,q.c)(3),[t,n]=ue(`fog`,re),r;return e[0]!==t||e[1]!==n?(r=[t,n],e[0]=t,e[1]=n,e[2]=r):r=e[2],r}var me=`(pointer: coarse)`,he=()=>null;function ge(e){let t=window.matchMedia(me);return t.addEventListener(`change`,e),()=>{t.removeEventListener(`change`,e)}}function _e(){return window.matchMedia(me).matches}function ve(){return(0,g.useSyncExternalStore)(ge,_e,he)}var J=r(),ye=(0,g.createContext)(void 0);function be(e){let t=(0,q.c)(11),{children:n}=e,r=i(Ce),{audioVolume:a}=Ye(),o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o={audioLoader:null,audioListener:null},t[0]=o):o=t[0];let[s,c]=(0,g.useState)(o),l,u;t[1]===r?(l=t[2],u=t[3]):(l=()=>{let e=new p,t=r.children.find(Se);t||(t=new f,r.add(t)),c({audioLoader:e,audioListener:t});let n=()=>{let e=t.context;!e||e.state!==`suspended`||e.resume().finally(()=>{document.removeEventListener(`click`,n),document.removeEventListener(`keydown`,n),document.removeEventListener(`touchend`,n)})};document.addEventListener(`click`,n),document.addEventListener(`keydown`,n),document.addEventListener(`touchend`,n);let i=h.subscribe(xe,e=>{let n=t.context;n&&(e===`paused`?n.suspend():n.state===`suspended`&&n.resume())});return()=>{document.removeEventListener(`click`,n),document.removeEventListener(`keydown`,n),document.removeEventListener(`touchend`,n),i(),t&&r.remove(t)}},u=[r],t[1]=r,t[2]=l,t[3]=u),(0,g.useEffect)(l,u);let d,m;t[4]!==s.audioListener||t[5]!==a?(d=()=>{s.audioListener?.setMasterVolume(a)},m=[a,s.audioListener],t[4]=s.audioListener,t[5]=a,t[6]=d,t[7]=m):(d=t[6],m=t[7]),(0,g.useEffect)(d,m);let _;return t[8]!==s||t[9]!==n?(_=(0,J.jsx)(ye.Provider,{value:s,children:n}),t[8]=s,t[9]=n,t[10]=_):_=t[10],_}function xe(e){return e.playback.status}function Se(e){return e instanceof f}function Ce(e){return e.camera}function we(){let e=(0,g.useContext)(ye);if(e===void 0)throw Error(`useAudio must be used within AudioProvider`);return e}var Te={Label:`_Label_12q7d_1`},Ee=[0,0,0],Y=new l;function De(e,t,n,r){let i=e.matrixWorld.elements;return(t-i[12])*-i[8]+(n-i[13])*-i[9]+(r-i[14])*-i[10]<0}var Oe=200;function ke(e){let t=(0,q.c)(9),n;t[0]===e?n=t[1]:(n=e===void 0?{}:e,t[0]=e,t[1]=n);let{opacity:r,fadeDistance:i}=n,o=r===void 0?`fadeWithDistance`:r,s=i===void 0?Oe:i,c=o===`fadeWithDistance`,l=(0,g.useRef)(null),[u,d]=(0,g.useState)(o!==0),f=(0,g.useRef)(`0`),p;t[2]!==s||t[3]!==c||t[4]!==u||t[5]!==o?(p=e=>{let{camera:t}=e,n=l.current;if(!n)return;n.getWorldPosition(Y);let r=De(t,Y.x,Y.y,Y.z);if(c){let e=r?1/0:t.position.distanceTo(Y),n=e{_.current&&(_.current.style.opacity=h.current)},t[3]=h,t[4]=v),a(v);let y;t[5]!==n||t[6]!==l||t[7]!==m||t[8]!==u?(y=m?(0,J.jsx)(o,{position:u,center:!0,children:(0,J.jsx)(`div`,{ref:_,className:Te.Label,style:{color:l},children:n})}):null,t[5]=n,t[6]=l,t[7]=m,t[8]=u,t[9]=y):y=t[9];let b;return t[10]!==p||t[11]!==y?(b=(0,J.jsx)(`group`,{ref:p,children:y}),t[10]=p,t[11]=y,t[12]=b):b=t[12],b}),je=m(`AudioEmitter`),X=new Map,Z=new Map,Q=!0;function Me(e){Q=e;let t=h.getState().playback.rate;for(let[e,n]of Z)try{e.setPlaybackRate(n*(Q?t:1))}catch{}}function Ne(e,t=1){Z.set(e,t)}function Pe(e){Z.delete(e)}var $=0;function Fe(){return $}function Ie(e=1){let t=h.getState().playback.rate;return e*(Q?t:1)}function Le(){$++;for(let[e]of Z){try{e.stop()}catch{}try{e.disconnect()}catch{}}Z.clear()}h.subscribe(e=>e.playback.rate,e=>{for(let[t,n]of Z)try{t.setPlaybackRate(n*(Q?e:1))}catch{}});function Re(e,t){let n=t(e),r=n?.filename;if(!r)return null;let i=r.endsWith(`.wav`)?r:`${r}.wav`,a=n.description,o=a==null?void 0:t(a);return{filename:i,is3D:o?.is3D??!0,isLooping:o?.isLooping??!1,refDist:o?.referenceDistance??20,maxDist:o?.maxDistance??100,volume:o?.volume??1}}function ze(e,t,n,r,i){let a;try{a=c(e.filename)}catch{return}let o=h.getState().playback.rate,s=$;Be(a,n,n=>{if(s===$)try{if(e.is3D&&i){let a=new u(t);a.setBuffer(n),a.setDistanceModel(`inverse`),a.setRefDistance(e.refDist),a.setMaxDistance(e.maxDist),a.setRolloffFactor(1),a.setVolume(e.volume),a.setPlaybackRate(Q?o:1),r&&a.position.copy(r),i.add(a),Z.set(a,1),a.play(),a.source.onended=()=>{Z.delete(a);try{a.disconnect()}catch{}i.remove(a)}}else{let r=new d(t);r.setBuffer(n),r.setVolume(e.volume),r.setPlaybackRate(Q?o:1),Z.set(r,1),r.play(),r.source.onended=()=>{Z.delete(r);try{r.disconnect()}catch{}}}}catch{}})}function Be(e,t,n){X.has(e)?n(X.get(e)):t.load(e,t=>{X.set(e,t),n(t)},void 0,t=>{je.error(`Audio load error %s: %o`,e,t)})}var Ve=(0,g.memo)(function({entity:e}){let{debugMode:t}=Xe(),n=e.audioFileName??``,r=e.audioVolume??1,o=e.audioMinDistance??1,s=e.audioMaxDistance??1,f=e.audioMinLoopGap??0,p=e.audioMaxLoopGap??0,m=e.audioIs3D??!0?1:0,h=e.audioIsLooping??!0,[_,v,y]=e.position??[0,0,0],b=i(e=>e.scene),x=i(e=>e.camera),{audioLoader:S,audioListener:C}=we(),{audioEnabled:w}=Ye(),T=(0,g.useRef)(null),E=(0,g.useRef)(null),D=(0,g.useRef)(null),O=(0,g.useRef)(!1),k=(0,g.useRef)(!1),A=(0,g.useRef)(new l(_,v,y)),j=(0,g.useRef)(0),M=()=>{E.current!=null&&(clearTimeout(E.current),E.current=null),D.current!=null&&(clearTimeout(D.current),D.current=null)},[N]=(0,g.useState)(()=>Math.random());(0,g.useEffect)(()=>{if(!S||!C)return;j.current++;let e;if(m){let t=new u(C);t.position.copy(A.current),t.setDistanceModel(`inverse`),t.setRefDistance(o),t.setMaxDistance(s),t.setRolloffFactor(1),t.setVolume(r),e=t,b.add(e)}else e=new d(C),e.setVolume(r);return T.current=e,()=>{M();try{e.stop()}catch{}try{e.disconnect()}catch{}m&&b.remove(e),T.current=null,O.current=!1,k.current=!1}},[S,C,m,o,s,r,b]);let P=(e,t)=>{if(h)if(f>0||p>0){let n=Math.max(0,f),r=Math.max(n,p),i=n===r?n:N*(r-n)+n;e.loop=!1;let a=()=>{t===j.current&&(e.isPlaying===!1?E.current=setTimeout(()=>{if(t===j.current)try{e.play(),P(e,t)}catch{}},i):D.current=setTimeout(a,100))};D.current=setTimeout(a,100)}else e.setLoop(!0)},F=(0,g.useEffectEvent)(e=>{if(!S)return;let t=j.current;if(O.current)try{e.isPlaying||(e.play(),P(e,t))}catch{}else{let r;try{r=c(n)}catch{return}Be(r,S,n=>{if(t===j.current&&!e.buffer){e.setBuffer(n),O.current=!0;try{e.play(),P(e,t)}catch{}}})}});return(0,g.useEffect)(()=>{let e=T.current;!e||m||!w||!n||F(e)},[w,m,n,S,C]),a(()=>{let e=T.current;if(!e||!m||!w||!n)return;let t=x.position.distanceTo(A.current),r=k.current,i=t<=s;if(i&&!r)k.current=!0,F(e);else if(!i&&r){k.current=!1,M();try{e.stop()}catch{}}}),(0,g.useEffect)(()=>{let e=T.current;if(e&&!w){M();try{e.stop()}catch{}k.current=!1}},[w]),t?(0,J.jsxs)(`mesh`,{position:A.current,children:[(0,J.jsx)(`sphereGeometry`,{args:[o,12,12]}),(0,J.jsx)(`meshBasicMaterial`,{color:`#00ff00`,wireframe:!0,opacity:.05,transparent:!0,toneMapped:!1}),(0,J.jsx)(Ae,{color:`#00ff00`,position:[0,o+1,0],children:n})]}):null}),He=.01,Ue=32/16e3,We=1/16e3,Ge=256/16e3,Ke=(0,g.createContext)(null),qe=(0,g.createContext)(null),Je=(0,g.createContext)(null);function Ye(){let e=(0,g.useContext)(Ke);if(!e)throw Error(`No SettingsContext found. Did you remember to add a ?`);return e}function Xe(){let e=(0,g.useContext)(qe);if(!e)throw Error(`No DebugContext found. Did you remember to add a ?`);return e}function Ze(){let e=(0,g.useContext)(Je);if(!e)throw Error(`No ControlsContext found. Did you remember to add a ?`);return e}function Qe({children:e}){let[t,n]=(0,g.useState)(!0),[r,i]=(0,g.useState)(!1),[a,o]=(0,g.useState)(.15),[s,c]=(0,g.useState)(Ue),[l,u]=(0,g.useState)(90),[d,f]=(0,g.useState)(!1),[p,m]=(0,g.useState)(.75),[h,_]=(0,g.useState)(!0),[v,y]=(0,g.useState)(!0),[b,x]=(0,g.useState)(!1),[S,C]=(0,g.useState)(`moveLookStick`),[w,T]=(0,g.useState)(`MapGenius`),[E,D]=(0,g.useState)(!1),[O,k]=(0,g.useState)(!1),[A,j]=(0,g.useState)(!1),[M,N]=(0,g.useState)(!1),[P,F]=(0,g.useState)(null),[I,L]=(0,g.useState)(!0),[R,ee]=(0,g.useState)(!1),[z,B]=pe(),V=(0,g.useCallback)(()=>{B(null)},[B]),H=(0,g.useCallback)(e=>{n(e),V()},[V]),te=(0,g.useMemo)(()=>({fogEnabled:z??t,setFogEnabled:H,clearFogEnabledOverride:V,highQualityFog:r,setHighQualityFog:i,fov:l,setFov:u,audioEnabled:d,setAudioEnabled:f,animationEnabled:v,setAnimationEnabled:y,warriorName:w,setWarriorName:T,audioVolume:p,setAudioVolume:m,adjustAudioSpeed:h,setAdjustAudioSpeed:_,sidebarOpen:M,setSidebarOpen:N,fpsLimit:P,setFpsLimit:F,showInputOverlay:I,setShowInputOverlay:L}),[t,z,H,V,r,l,d,v,w,p,h,M,P,I]),U=(0,g.useMemo)(()=>({debugMode:b,setDebugMode:x,renderOnDemand:R,setRenderOnDemand:ee}),[b,x,R]),W=(0,g.useMemo)(()=>({speedMultiplier:a,setSpeedMultiplier:o,mouseSensitivity:s,setMouseSensitivity:c,touchMode:S,setTouchMode:C,invertScroll:E,setInvertScroll:D,invertDrag:O,setInvertDrag:k,invertJoystick:A,setInvertJoystick:j}),[a,o,s,S,C,E,O,A]),G=ve();(0,g.useEffect)(()=>{if(G==null)return;let e={};try{e=JSON.parse(localStorage.getItem(`settings`)??`{}`)||{}}catch{}e.debugMode!=null&&x(e.debugMode),e.audioEnabled!=null&&f(e.audioEnabled),e.animationEnabled!=null&&y(e.animationEnabled),e.fogEnabled!=null&&n(e.fogEnabled),e.highQualityFog!=null&&i(e.highQualityFog),e.speedMultiplier!=null&&o(Math.max(He,Math.min(1,e.speedMultiplier))),e.mouseSensitivity!=null&&c(Math.max(We,Math.min(Ge,e.mouseSensitivity))),e.fov!=null&&u(e.fov),e.touchMode!=null&&C(e.touchMode),e.warriorName!=null&&T(e.warriorName),e.audioVolume!=null&&m(e.audioVolume),e.adjustAudioSpeed!=null&&_(e.adjustAudioSpeed),e.invertScroll!=null&&D(e.invertScroll),e.invertDrag!=null&&k(e.invertDrag),e.invertJoystick!=null&&j(e.invertJoystick),(e.fpsLimit===null||Number.isInteger(e.fpsLimit))&&F(e.fpsLimit),e.showInputOverlay!=null&&L(e.showInputOverlay),e.sidebarOpen!=null&&(G||N(e.sidebarOpen))},[G]),(0,g.useEffect)(()=>{Me(h)},[h]);let K=(0,g.useRef)(null);return(0,g.useEffect)(()=>(K.current&&clearTimeout(K.current),K.current=setTimeout(()=>{let e={fogEnabled:t,highQualityFog:r,speedMultiplier:a,mouseSensitivity:s,fov:l,audioEnabled:d,animationEnabled:v,debugMode:b,touchMode:S,warriorName:w,audioVolume:p,adjustAudioSpeed:h,invertScroll:E,invertDrag:O,invertJoystick:A,sidebarOpen:M,fpsLimit:P,showInputOverlay:I};try{localStorage.setItem(`settings`,JSON.stringify(e))}catch{}},500),()=>{K.current&&clearTimeout(K.current)}),[t,r,a,s,l,d,v,b,S,w,p,h,E,O,A,M,P,I]),(0,J.jsx)(Ke.Provider,{value:te,children:(0,J.jsx)(qe.Provider,{value:U,children:(0,J.jsx)(Je.Provider,{value:W,children:e})})})}export{ne as C,D,I as E,v as O,fe as S,W as T,Ae as _,Ye as a,we as b,Be as c,ze as d,Re as f,Pe as g,Ne as h,Xe as i,w as k,Ie as l,Le as m,Qe as n,Ve as o,Me as p,Ze as r,X as s,He as t,Fe as u,ke as v,ue as w,ve as x,be as y}; \ No newline at end of file diff --git a/docs/assets/ShapeErrorBoundary-75cvF0LI.js b/docs/assets/ShapeErrorBoundary-CKhGCR8M.js similarity index 100% rename from docs/assets/ShapeErrorBoundary-75cvF0LI.js rename to docs/assets/ShapeErrorBoundary-CKhGCR8M.js diff --git a/docs/assets/ShapeModel-B4Q8DxMd.js b/docs/assets/ShapeModel-B4Q8DxMd.js new file mode 100644 index 00000000..9e7087f2 --- /dev/null +++ b/docs/assets/ShapeModel-B4Q8DxMd.js @@ -0,0 +1 @@ +import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import{i}from"./react-three-fiber.esm-CD18QK1u.js";import{C as a,S as o,T as s,a as c,d as l,i as u,s as d,u as f,x as p}from"./playbackUtils-C1ncI8YZ.js";import{n as m,r as h}from"./engineStore-Mono9lyt.js";import{$ as g,o as _}from"./three.module-C9W4LJrj.js";import{n as v}from"./streamPlaybackStore-UQ4nn4bZ.js";import{a as y,n as b,r as x}from"./GenericShape-C0Oq1K_N.js";import{t as S}from"./useAnisotropy-Dq6cNuNI.js";var C=t(),w=e(n(),1),T=r();function E(e){let t=(0,C.c)(17),{entity:n}=e,r=n.weaponShape,i=n.shapeName,a=x(i),o=x(r),l;if(t[0]!==a.animations||t[1]!==a.scene||t[2]!==o.animations||t[3]!==o.scene){bb0:{let e=f(a.scene,a.animations,`Mount0`,[`lookde`]);if(!e){let e;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(e={position:void 0,quaternion:void 0},t[5]=e):e=t[5],l=e;break bb0}let n=f(o.scene,o.animations,`Mountpoint`),r,i;if(n){let t=n.quaternion.clone().invert(),a=n.position.clone().negate().applyQuaternion(t);i=e.quaternion.clone().multiply(t),r=a.clone().applyQuaternion(e.quaternion).add(e.position)}else r=e.position.clone(),i=e.quaternion.clone();let s=r.applyQuaternion(u),d=u.clone().multiply(i).multiply(c),p;t[6]!==s||t[7]!==d?(p={position:s,quaternion:d},t[6]=s,t[7]=d,t[8]=p):p=t[8],l=p}t[0]=a.animations,t[1]=a.scene,t[2]=o.animations,t[3]=o.scene,t[4]=l}else l=t[4];let d=l,p;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(p={_class:`weapon`,_className:`Weapon`,_id:0},t[9]=p):p=t[9];let m=p,h;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,T.jsx)(b,{loadingColor:`#4488ff`}),t[10]=h):h=t[10];let g;t[11]!==d.position||t[12]!==d.quaternion?(g=(0,T.jsx)(`group`,{position:d.position,quaternion:d.quaternion,children:h}),t[11]=d.position,t[12]=d.quaternion,t[13]=g):g=t[13];let _;return t[14]!==r||t[15]!==g?(_=(0,T.jsx)(s,{object:m,shapeName:r,type:`Item`,children:g}),t[14]=r,t[15]=g,t[16]=_):_=t[16],_}function D(e){let t=e.sizes,n=e.times;if(!Array.isArray(t)||t.length===0)return{times:[0,1],sizes:[[1,1,1],[1,1,1]]};let r=t.map(e=>[e.x/100,e.y/100,e.z/100]);return{times:Array.isArray(n)?n:r.map((e,t)=>t/Math.max(r.length-1,1)),sizes:r}}function O(e,t){let{times:n,sizes:r}=e;if(n.length===0)return[1,1,1];if(t<=n[0])return r[0];if(t>=n[n.length-1])return r[r.length-1];for(let e=0;e=n[e]&&t<=n[e+1]){let i=(t-n[e])/(n[e+1]-n[e]);return[r[e][0]+(r[e+1][0]-r[e][0])*i,r[e][1]+(r[e+1][1]-r[e][1])*i,r[e][2]+(r[e+1][2]-r[e][2])*i]}return r[r.length-1]}function k({entity:e}){let t=v.getState().playback,n=x(e.shapeName),r=S(),s=(0,w.useRef)(null),c=(0,w.useRef)(m()),u=(0,w.useRef)(Math.random()*Math.PI*2),f=(0,w.useRef)([]),b=(0,w.useMemo)(()=>{if(e.explosionDataBlockId)return t.getDataBlockData(e.explosionDataBlockId)},[e.explosionDataBlockId,t]),C=(0,w.useMemo)(()=>b?D(b):void 0,[b]),E=(0,w.useMemo)(()=>{let e=b?.explosionScale;return e?[e.x/100,e.y/100,e.z/100]:[1,1,1]},[b]),k=(b?.lifetimeMS??31)*32,A=e.faceViewer!==!1,{scene:j,mixer:M,visNodes:N,iflInfos:P,materials:F}=(0,w.useMemo)(()=>{let t=y(n.scene),i=[];t.traverse(e=>{if(!e.isMesh||!e.material)return;let t=Array.isArray(e.material)?e.material[0]:e.material;if(!t?.userData)return;let n=new Set(t.userData.flag_names??[]),r=t.userData.resource_path;if(n.has(`IflMaterial`)&&r){let t=e.userData;i.push({mesh:e,iflPath:`textures/${r}.ifl`,sequenceName:t?.ifl_sequence?String(t.ifl_sequence).toLowerCase():void 0,duration:t?.ifl_duration?Number(t.ifl_duration):void 0,cyclic:t?.ifl_sequence?!!t.ifl_cyclic:void 0,toolBegin:t?.ifl_tool_begin==null?void 0:Number(t.ifl_tool_begin)})}}),l(t,e.shapeName,{anisotropy:r,emap:`emap`in e?e.emap:void 0});let a=[];t.traverse(e=>{if(!e.isMesh)return;let t=e.userData;if(!t)return;let n=t.vis_keyframes,r=t.vis_duration,i=(t.vis_sequence??``).toLowerCase();!i||!Array.isArray(n)||n.length<=1||!r||r<=0||i===`ambient`&&a.push({mesh:e,keyframes:n,duration:r,cyclic:!!t.vis_cyclic})});for(let e of a)e.mesh.visible=!0,e.mesh.material&&!Array.isArray(e.mesh.material)&&(e.mesh.material.transparent=!0,e.mesh.material.depthWrite=!1);for(let e of i)e.mesh.userData?.vis_sequence||(e.mesh.visible=!0);let o=new Map;for(let e of n.animations)o.set(e.name.toLowerCase(),e);let s=o.get(`ambient`),c=null;if(s){c=new _(t);let e=c.clipAction(s);e.setLoop(g,1),e.clampWhenFinished=!0,e.timeScale=(b?.playSpeed??20)/20,e.play()}let u=[];return t.traverse(e=>{e.isMesh&&(Array.isArray(e.material)?u.push(...e.material):e.material&&u.push(e.material))}),t.traverse(e=>{e.frustumCulled=!1}),{scene:t,mixer:c,visNodes:a,iflInfos:i,materials:u}},[n,b,r]);return(0,w.useEffect)(()=>()=>{d(j),M?.uncacheRoot(j)},[j,M]),(0,w.useEffect)(()=>{f.current=[];for(let e of P)o(e.iflPath).then(t=>{let n=Array.isArray(e.mesh.material)?e.mesh.material[0]:e.mesh.material;n&&(n.map=t.texture,n.needsUpdate=!0),f.current.push({atlas:t,info:e})}).catch(()=>{})},[P]),i((e,t)=>{let n=s.current;if(!n)return;let r=h.getState().playback,i=r.status===`playing`?t*r.rate:0,o=m()-c.current,l=Math.min(o/k,1),d=o/1e3;M&&M.update(i);let g=l>.8?1-(l-.8)/.2:1;for(let{mesh:e,keyframes:t,duration:n,cyclic:r}of N){let i=e.material;if(!i||Array.isArray(i))continue;let a=d/n,o=r?a%1:Math.min(a,1),s=t.length,c=o*s,l=Math.floor(c)%s,u=(l+1)%s,f=c-Math.floor(c);i.opacity=(t[l]+(t[u]-t[l])*f)*g}if(g<1)for(let e of F)`opacity`in e&&(e.transparent=!0,e.opacity*=g);for(let{atlas:e,info:t}of f.current){let n;n=t.sequenceName&&t.duration?(t.cyclic?d/t.duration%1:Math.min(d/t.duration,1))*t.duration+(t.toolBegin??0):d,a(e,p(e,n))}if(C){let e=O(C,l);n.scale.set(e[0]*E[0],e[1]*E[1],e[2]*E[2])}A&&(n.lookAt(e.camera.position),n.rotateZ(u.current))}),(0,T.jsx)(`group`,{ref:s,children:(0,T.jsx)(`group`,{rotation:[0,Math.PI,0],children:(0,T.jsx)(`primitive`,{object:j})})})}export{k as ExplosionShape,E as WeaponModel}; \ No newline at end of file diff --git a/docs/assets/ShapeModel-D7IFSOEM.js b/docs/assets/ShapeModel-D7IFSOEM.js deleted file mode 100644 index 9bf88357..00000000 --- a/docs/assets/ShapeModel-D7IFSOEM.js +++ /dev/null @@ -1 +0,0 @@ -import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import{o as i}from"./Html-DrHEhPVE.js";import{C as a,S as o,b as s,c,m as l,n as u,p as d,r as f,s as p,u as m,x as h,y as g}from"./GenericShape-D0Move-Z.js";import{Q as _,o as v}from"./three.module-DRRYkRPO.js";import{n as y,r as b}from"./engineStore-DeZJbWme.js";import{n as x}from"./streamPlaybackStore-D-tkUWut.js";import{t as S}from"./useAnisotropy-nhH7jNtm.js";var C=t(),w=e(n(),1),T=r();function E(e){let t=(0,C.c)(17),{entity:n}=e,r=n.weaponShape,i=n.shapeName,a=f(i),s=f(r),l;if(t[0]!==a.animations||t[1]!==a.scene||t[2]!==s.animations||t[3]!==s.scene){bb0:{let e=d(a.scene,a.animations,`Mount0`,[`lookde`]);if(!e){let e;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(e={position:void 0,quaternion:void 0},t[5]=e):e=t[5],l=e;break bb0}let n=d(s.scene,s.animations,`Mountpoint`),r,i;if(n){let t=n.quaternion.clone().invert(),a=n.position.clone().negate().applyQuaternion(t);i=e.quaternion.clone().multiply(t),r=a.clone().applyQuaternion(e.quaternion).add(e.position)}else r=e.position.clone(),i=e.quaternion.clone();let o=r.applyQuaternion(p),u=p.clone().multiply(i).multiply(c),f;t[6]!==o||t[7]!==u?(f={position:o,quaternion:u},t[6]=o,t[7]=u,t[8]=f):f=t[8],l=f}t[0]=a.animations,t[1]=a.scene,t[2]=s.animations,t[3]=s.scene,t[4]=l}else l=t[4];let m=l,h;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(h={_class:`weapon`,_className:`Weapon`,_id:0},t[9]=h):h=t[9];let g=h,_;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,T.jsx)(u,{loadingColor:`#4488ff`}),t[10]=_):_=t[10];let v;t[11]!==m.position||t[12]!==m.quaternion?(v=(0,T.jsx)(`group`,{position:m.position,quaternion:m.quaternion,children:_}),t[11]=m.position,t[12]=m.quaternion,t[13]=v):v=t[13];let y;return t[14]!==r||t[15]!==v?(y=(0,T.jsx)(o,{object:g,shapeName:r,type:`Item`,children:v}),t[14]=r,t[15]=v,t[16]=y):y=t[16],y}function D(e){let t=e.sizes,n=e.times;if(!Array.isArray(t)||t.length===0)return{times:[0,1],sizes:[[1,1,1],[1,1,1]]};let r=t.map(e=>[e.x/100,e.y/100,e.z/100]);return{times:Array.isArray(n)?n:r.map((e,t)=>t/Math.max(r.length-1,1)),sizes:r}}function O(e,t){let{times:n,sizes:r}=e;if(n.length===0)return[1,1,1];if(t<=n[0])return r[0];if(t>=n[n.length-1])return r[r.length-1];for(let e=0;e=n[e]&&t<=n[e+1]){let i=(t-n[e])/(n[e+1]-n[e]);return[r[e][0]+(r[e+1][0]-r[e][0])*i,r[e][1]+(r[e+1][1]-r[e][1])*i,r[e][2]+(r[e+1][2]-r[e][2])*i]}return r[r.length-1]}function k({entity:e}){let t=x.getState().playback,n=f(e.shapeName),r=S(),o=(0,w.useRef)(null),c=(0,w.useRef)(y()),u=(0,w.useRef)(Math.random()*Math.PI*2),d=(0,w.useRef)([]),p=(0,w.useMemo)(()=>{if(e.explosionDataBlockId)return t.getDataBlockData(e.explosionDataBlockId)},[e.explosionDataBlockId,t]),C=(0,w.useMemo)(()=>p?D(p):void 0,[p]),E=(0,w.useMemo)(()=>{let e=p?.explosionScale;return e?[e.x/100,e.y/100,e.z/100]:[1,1,1]},[p]),k=(p?.lifetimeMS??31)*32,A=e.faceViewer!==!1,{scene:j,mixer:M,visNodes:N,iflInfos:P,materials:F}=(0,w.useMemo)(()=>{let t=a(n.scene),i=[];t.traverse(e=>{if(!e.isMesh||!e.material)return;let t=Array.isArray(e.material)?e.material[0]:e.material;if(!t?.userData)return;let n=new Set(t.userData.flag_names??[]),r=t.userData.resource_path;if(n.has(`IflMaterial`)&&r){let t=e.userData;i.push({mesh:e,iflPath:`textures/${r}.ifl`,sequenceName:t?.ifl_sequence?String(t.ifl_sequence).toLowerCase():void 0,duration:t?.ifl_duration?Number(t.ifl_duration):void 0,cyclic:t?.ifl_sequence?!!t.ifl_cyclic:void 0,toolBegin:t?.ifl_tool_begin==null?void 0:Number(t.ifl_tool_begin)})}}),l(t,e.shapeName,{anisotropy:r,emap:`emap`in e?e.emap:void 0});let o=[];t.traverse(e=>{if(!e.isMesh)return;let t=e.userData;if(!t)return;let n=t.vis_keyframes,r=t.vis_duration,i=(t.vis_sequence??``).toLowerCase();!i||!Array.isArray(n)||n.length<=1||!r||r<=0||i===`ambient`&&o.push({mesh:e,keyframes:n,duration:r,cyclic:!!t.vis_cyclic})});for(let e of o)e.mesh.visible=!0,e.mesh.material&&!Array.isArray(e.mesh.material)&&(e.mesh.material.transparent=!0,e.mesh.material.depthWrite=!1);for(let e of i)e.mesh.userData?.vis_sequence||(e.mesh.visible=!0);let s=new Map;for(let e of n.animations)s.set(e.name.toLowerCase(),e);let c=s.get(`ambient`),u=null;if(c){u=new v(t);let e=u.clipAction(c);e.setLoop(_,1),e.clampWhenFinished=!0,e.timeScale=(p?.playSpeed??20)/20,e.play()}let d=[];return t.traverse(e=>{e.isMesh&&(Array.isArray(e.material)?d.push(...e.material):e.material&&d.push(e.material))}),t.traverse(e=>{e.frustumCulled=!1}),{scene:t,mixer:u,visNodes:o,iflInfos:i,materials:d}},[n,p,r]);return(0,w.useEffect)(()=>()=>{m(j),M?.uncacheRoot(j)},[j,M]),(0,w.useEffect)(()=>{d.current=[];for(let e of P)s(e.iflPath).then(t=>{let n=Array.isArray(e.mesh.material)?e.mesh.material[0]:e.mesh.material;n&&(n.map=t.texture,n.needsUpdate=!0),d.current.push({atlas:t,info:e})}).catch(()=>{})},[P]),i((e,t)=>{let n=o.current;if(!n)return;let r=b.getState().playback,i=r.status===`playing`?t*r.rate:0,a=y()-c.current,s=Math.min(a/k,1),l=a/1e3;M&&M.update(i);let f=s>.8?1-(s-.8)/.2:1;for(let{mesh:e,keyframes:t,duration:n,cyclic:r}of N){let i=e.material;if(!i||Array.isArray(i))continue;let a=l/n,o=r?a%1:Math.min(a,1),s=t.length,c=o*s,u=Math.floor(c)%s,d=(u+1)%s,p=c-Math.floor(c);i.opacity=(t[u]+(t[d]-t[u])*p)*f}if(f<1)for(let e of F)`opacity`in e&&(e.transparent=!0,e.opacity*=f);for(let{atlas:e,info:t}of d.current){let n;n=t.sequenceName&&t.duration?(t.cyclic?l/t.duration%1:Math.min(l/t.duration,1))*t.duration+(t.toolBegin??0):l,h(e,g(e,n))}if(C){let e=O(C,s);n.scale.set(e[0]*E[0],e[1]*E[1],e[2]*E[2])}A&&(n.lookAt(e.camera.position),n.rotateZ(u.current))}),(0,T.jsx)(`group`,{ref:o,children:(0,T.jsx)(`group`,{rotation:[0,Math.PI,0],children:(0,T.jsx)(`primitive`,{object:j})})})}export{k as ExplosionShape,E as WeaponModel}; \ No newline at end of file diff --git a/docs/assets/StreamingController-BpO-kCrv.js b/docs/assets/StreamingController-BpO-kCrv.js deleted file mode 100644 index 050655fb..00000000 --- a/docs/assets/StreamingController-BpO-kCrv.js +++ /dev/null @@ -1,89 +0,0 @@ -import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import{c as i,o as a}from"./Html-DrHEhPVE.js";import{a as o,b as s,c,d as l,f as u,g as d,h as f,i as p,l as m,m as h,u as g}from"./SettingsProvider-DVIFsPwe.js";import{_,a as v,g as y,o as b}from"./GenericShape-D0Move-Z.js";import{p as x,r as S}from"./loaders-BhaVxgpz.js";import{At as C,Bt as w,C as T,It as E,Lt as D,O,Pt as k,St as A,Ut as j,Vt as M,bt as N,g as P,h as F,it as ee,m as I,p as L,rt as R,wt as z}from"./three.module-DRRYkRPO.js";import{t as B}from"./logger-B058WGzf.js";import{a as V,n as te,r as ne,t as H}from"./engineStore-DeZJbWme.js";import{j as U}from"./index-Ds_qp2Yy.js";import{t as re}from"./gameEntityTypes-n-ppAY7z.js";import{n as W,t as ie}from"./streamPlaybackStore-D-tkUWut.js";import{n as ae}from"./useAnisotropy-nhH7jNtm.js";import{PlayerEyeOffset as oe}from"./PlayerModel-C8bjGZ0F.js";var G=e(n(),1),se=t(),ce=Math.PI/180,le=-9.81,ue=Math.PI/(180*1e3),de=1/100,fe=-1e3,pe=50,K=5,me=5,he=10;function q(e,t,n){let r=e[t];return typeof r==`number`&&Number.isFinite(r)?r:n}function ge(e,t,n){let r=e[t];return typeof r==`boolean`?r:typeof r==`number`?r!==0:n}function _e(e){let t=e.keys,n=[];if(Array.isArray(t)&&t.length>0)for(let e=0;e0&&t[0]&&(r=t[0])}return{dragCoefficient:q(e,`dragCoefficient`,0)*me,windCoefficient:q(e,`windCoefficient`,1),gravityCoefficient:q(e,`gravityCoefficient`,0)*he,inheritedVelFactor:q(e,`inheritedVelFactor`,0),constantAcceleration:q(e,`constantAcceleration`,0),lifetimeMS:q(e,`lifetimeMS`,31)<=t){let r=e[n-1],i=e[n],a=i.time-r.time,o=a>0?(t-r.time)/a:0;return{r:r.r+(i.r-r.r)*o,g:r.g+(i.g-r.g)*o,b:r.b+(i.b-r.b)*o,a:r.a+(i.a-r.a)*o,size:r.size+(i.size-r.size)*o}}let n=e[e.length-1];return{r:n.r,g:n.g,b:n.b,a:n.a,size:n.size}}var we=class{data;particles=[];maxParticles;internalClock=0;nextParticleTime=0;emitterAge=0;emitterLifetime;emitterDead=!1;constructor(e,t=256,n){this.data=e,this.maxParticles=t;let r=n??e.lifetimeMS;!n&&e.lifetimeVarianceMS>0&&(r+=Math.round(be(0,e.lifetimeVarianceMS))),this.emitterLifetime=r}emitBurst(e,t,n=[0,0,1]){for(let r=0;r0;){if(this.nextParticleTime>0){let e=Math.min(r,this.nextParticleTime);this.nextParticleTime-=e,r-=e,this.internalClock+=e;continue}if(this.particles.length0)){let e=this.particles[this.particles.length-1];e.currentAge+=r,e.currentAge>=e.totalLifetime&&this.particles.pop()}let t=this.data.ejectionPeriodMS;this.data.periodVarianceMS>0&&(t+=Math.round(be(0,this.data.periodVarianceMS))),this.nextParticleTime=Math.max(1,t)}}update(e){this.emitterAge+=e,this.emitterLifetime>0&&this.emitterAge>this.emitterLifetime&&(this.emitterDead=!0);let t=e/1e3,n=this.data.particles;for(let r=this.particles.length-1;r>=0;r--){let i=this.particles[r];if(i.currentAge+=e,i.currentAge>=i.totalLifetime){this.particles[r]=this.particles[this.particles.length-1],this.particles.pop();continue}let a=n.dragCoefficient,o=n.gravityCoefficient,s=i.acc[0]-i.vel[0]*a,c=i.acc[1]-i.vel[1]*a,l=i.acc[2]-i.vel[2]*a+le*o;i.vel[0]+=s*t,i.vel[1]+=c*t,i.vel[2]+=l*t,i.pos[0]+=i.vel[0]*t,i.pos[1]+=i.vel[1]*t,i.pos[2]+=i.vel[2]*t;let u=i.currentAge/i.totalLifetime,d=Ce(n.keys,u);i.r=d.r,i.g=d.g,i.b=d.b,i.a=d.a,i.size=d.size,i.currentSpin=i.spinSpeed*i.currentAge*ue}}isDead(){return this.emitterDead&&this.particles.length===0}kill(){this.emitterDead=!0}addParticle(e,t){let n=this.data,r=n.particles,i=t[0],a=t[1],o=t[2],s=xe(i,a,o),c=(n.thetaMin+Math.random()*(n.thetaMax-n.thetaMin))*ce,l=(this.internalClock/1e3*n.phiReferenceVel+Math.random()*n.phiVariance)*ce;[i,a,o]=Se(i,a,o,s[0],s[1],s[2],c),[i,a,o]=Se(i,a,o,t[0],t[1],t[2],l);let u=Math.sqrt(i*i+a*a+o*o);u>1e-8&&(i/=u,a/=u,o/=u);let d=be(n.ejectionVelocity,n.velocityVariance),f=[e[0]+i*n.ejectionOffset,e[1]+a*n.ejectionOffset,e[2]+o*n.ejectionOffset],p=[i*d,a*d,o*d],m=r.constantAcceleration,h=[p[0]*m,p[1]*m,p[2]*m],g=r.lifetimeMS;r.lifetimeVarianceMS>0&&(g+=Math.round(be(0,r.lifetimeVarianceMS))),g=Math.max(1,g);let _=r.spinSpeed+ye(r.spinRandomMin,r.spinRandomMax),v=r.keys[0];this.particles.push({pos:f,vel:p,acc:h,orientDir:[i,a,o],currentAge:0,totalLifetime:g,dataIndex:0,spinSpeed:_,currentSpin:0,r:v.r,g:v.g,b:v.b,a:v.a,size:v.size})}},Te=` -// 'position' is auto-declared by Three.js for ShaderMaterial. -attribute vec4 particleColor; -attribute float particleSize; -attribute float particleSpin; -attribute vec2 quadCorner; // (-0.5,-0.5) to (0.5,0.5) -attribute vec3 orientDir; - -uniform bool uOrientParticles; -// cameraPosition is a built-in Three.js uniform. - -varying vec2 vUv; -varying vec4 vColor; - -void main() { - vUv = quadCorner + 0.5; // [0,1] range - vColor = particleColor; - - if (uOrientParticles) { - if (length(orientDir) < 0.0001) { - // V12: don't render oriented particles with zero velocity. - gl_Position = vec4(0.0, 0.0, 0.0, 0.0); - return; - } - // V12 oriented particle: quad aligned along direction, facing camera. - vec3 worldPos = (modelMatrix * vec4(position, 1.0)).xyz; - vec3 dir = normalize(orientDir); - vec3 dirFromCam = worldPos - cameraPosition; - vec3 crossDir = normalize(cross(dirFromCam, dir)); - - // V12 maps U along dir (velocity) — match by using quadCorner.x for dir. - vec3 offset = dir * quadCorner.x + crossDir * quadCorner.y; - worldPos += offset * particleSize; - - gl_Position = projectionMatrix * viewMatrix * vec4(worldPos, 1.0); - } else { - // Standard camera-facing billboard. - vec3 viewPos = (modelViewMatrix * vec4(position, 1.0)).xyz; - - // Apply spin rotation to quad corner. - float c = cos(particleSpin); - float s = sin(particleSpin); - vec2 rotated = vec2( - c * quadCorner.x - s * quadCorner.y, - s * quadCorner.x + c * quadCorner.y - ); - - // Offset in view space (camera-facing billboard). - viewPos.xy += rotated * particleSize; - - gl_Position = projectionMatrix * vec4(viewPos, 1.0); - } -} -`,Ee=` -uniform sampler2D particleTexture; -uniform bool hasTexture; -uniform float debugOpacity; - -varying vec2 vUv; -varying vec4 vColor; - -void main() { - if (hasTexture) { - vec4 texColor = texture2D(particleTexture, vUv); - gl_FragColor = texColor * vColor; - } else { - gl_FragColor = vColor; - } - gl_FragColor.a *= debugOpacity; -} -`,J=r(),De=B(`ParticleEffects`),Y=256,Oe=new Float32Array([-.5,-.5,.5,-.5,.5,.5,-.5,.5]),ke=new Map,Ae=new Set,je=new T(new Uint8Array([255,255,255,255]),1,1,z,M);je.needsUpdate=!0;function Me(e){if(!e)return je;let t=ke.get(e);if(t)return t;try{let t=ae(x(e),e=>{y(e),Ae.add(e)});return y(t),ke.set(e,t),t}catch{return je}}var Ne=new k(1,6,6),Pe=new ee({color:16711680,wireframe:!0}),Fe=new L(.3,.3,.3),Ie=new ee({color:65280,wireframe:!0}),Le=new k(1,12,8);function Re(e,t){let n=document.createElement(`canvas`),r=n.getContext(`2d`);r.font=`bold 32px monospace`;let i=r.measureText(e);n.width=Math.ceil(i.width)+16,n.height=48,r.font=`bold 32px monospace`,r.fillStyle=`#${t.toString(16).padStart(6,`0`)}`,r.textBaseline=`middle`,r.fillText(e,8,n.height/2);let a=new D({map:new P(n),transparent:!0,depthTest:!1,depthWrite:!1}),o=new E(a),s=n.width/n.height;return o.scale.set(s*2,2,1),{sprite:o,material:a}}function ze(e,t){let n=t(e);if(!n)return null;let r=n.colors??[],i=n.times??[0,.5,1,1];return{width:n.width??1,numSegments:Math.max(n.numSegments??16,4),velocity:n.velocity??0,height:n.height??0,verticalCurve:n.verticalCurve??0,acceleration:n.acceleration??0,texWrap:n.texWrap??1,lifetimeMS:n.lifetimeMS??500,is2D:!!n.is2D,renderSquare:!!n.renderSquare,renderBottom:!!n.renderBottom,mapToTerrain:!!n.mapToTerrain,colors:r,times:i,textureName:n.textureName??``,mapToTexture:n.mapToTexture??``}}function Be(e,t){let{colors:n,times:r}=e;if(n.length===0)return[1,1,1,1];let i=0;for(let e=0;e=r[e]&&(i=e);let a=Math.min(i+1,n.length-1),o=r[i]??0,s=(r[a]??1)-o,c=s>0?Math.min((t-o)/s,1):0,l=n[i]??n[0],u=n[a]??n[0];return[l.r+(u.r-l.r)*c,l.g+(u.g-l.g)*c,l.b+(u.b-l.b)*c,l.a+(u.a-l.a)*c]}var Ve=` - attribute vec4 vertexColor; - attribute vec2 texCoord; - varying vec4 vColor; - varying vec2 vUV; - void main() { - vColor = vertexColor; - vUV = texCoord; - gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0); - } -`,He=` - uniform sampler2D uTexture; - varying vec4 vColor; - varying vec2 vUV; - void main() { - vec4 tex = texture2D(uTexture, vUV); - gl_FragColor = vec4(vColor.rgb * tex.rgb, vColor.a * tex.a); - } -`;function Ue(e){let t=(e+1)*2,n=new Float32Array(t*3),r=new Float32Array(t*2),i=new Float32Array(t*4),a=e*6,o=new Uint16Array(a);for(let t=0;t0){let e=0;for(let n of t)e=Math.max(e,n.x,n.y,n.z);if(e>0)return e/1e3}let n=e.particleRadius;return typeof n==`number`&&n>0?n:5}function Je(e){let t=new F,n=e*4,r=e*6,i=new Float32Array(n*2);for(let t=0;t{let i=x.current,a=r.current;if(!i||!a)return;let o=ne.getState().playback,s=o.status===`playing`,p=s?t*o.rate:0,C=p*1e3,T=n.getDataBlockData.bind(n);for(let e of a.entities){if(e.type!==`Explosion`||!e.explosionDataBlockId||!e.position||E.current.has(e.id))continue;E.current.add(e.id);let t=Ze(e.explosionDataBlockId,T);if(!t)continue;let n=[...e.position];for(let e of t.burstEmitters){let t=new we(e.data,Y);t.emitBurst(n,e.density);let r=Me(e.data.particles.textureName),a=Je(Y),o=Ye(r,e.data.particles.useInvAlpha,e.data.orientParticles),s=new R(a,o);s.frustumCulled=!1,i.add(s),w.current.push({emitter:t,mesh:s,geometry:a,material:o,targetTexture:r,origin:n,isBurst:!0,hasBurst:!0})}for(let e of t.streamingEmitters){let r=new we(e,Y,t.lifetimeMS),a=Me(e.particles.textureName),o=Je(Y),s=Ye(a,e.particles.useInvAlpha,e.orientParticles),c=new R(o,s);c.frustumCulled=!1,i.add(c),w.current.push({emitter:r,mesh:c,geometry:o,material:s,targetTexture:a,origin:n,isBurst:!1,hasBurst:!1})}let r=T(e.explosionDataBlockId);if(h){let a=r?qe(r):5,o=Ke(e.dataBlock),s=new ee({color:o,wireframe:!0,transparent:!0,opacity:1,depthWrite:!1}),c=new R(Le,s);c.frustumCulled=!1,c.scale.setScalar(a),c.position.set(n[1],n[2],n[0]),i.add(c);let{sprite:l,material:u}=Re(`${e.id}: ${e.dataBlock??`expId:${e.explosionDataBlockId}`}`,o);l.position.set(n[1],n[2]+a+2,n[0]),l.frustumCulled=!1,i.add(l),I.current.push({entityId:e.id,mesh:c,material:s,label:l,labelMaterial:u,creationTime:te(),lifetimeMS:Math.max(t.lifetimeMS,3e3),targetRadius:a})}let a=r?.shockwave;if(typeof a==`number`){let t=ze(a,T);if(t){let r=Me(t.textureName),a=Ue(t.numSegments),o=Ge(r),s=new R(a,o);s.frustumCulled=!1,s.position.set(n[1],n[2],n[0]),i.add(s);let c=null,l=null;t.renderBottom&&(l=Ue(t.numSegments),c=new R(l,o),c.frustumCulled=!1,c.position.set(n[1],n[2],n[0]),c.scale.y=-1,i.add(c));let u=Math.abs(t.velocity)>1e-10?t.velocity:0;z.current.push({entityId:e.id,mesh:s,bottomMesh:c,geometry:a,bottomGeometry:l,material:o,creationTime:te(),lifetimeMS:t.lifetimeMS,data:t,radius:0,velocity:u})}}}let D=new Set;for(let e of a.entities){if(D.add(e.id),!e.maintainEmitterId||O.current.has(e.id))continue;O.current.add(e.id);let t=T(e.maintainEmitterId);if(!t)continue;let n=ve(t,T);if(!n)continue;let r=e.position?[...e.position]:[0,0,0],a=new we(n,Y),o=Me(n.particles.textureName),s=Je(Y),c=Ye(o,n.particles.useInvAlpha,n.orientParticles),l=new R(s,c);l.frustumCulled=!1,i.add(l),w.current.push({emitter:a,mesh:l,geometry:s,material:c,targetTexture:o,origin:r,isBurst:!1,hasBurst:!1,followEntityId:e.id})}for(let e of w.current)e.followEntityId&&!D.has(e.followEntityId)&&e.emitter.kill();for(let e of O.current)D.has(e)||O.current.delete(e);let k=w.current;for(let e=k.length-1;e>=0;e--){let t=k[e];if(t.shaderChecked||=(Xe(b,t.material,t.isBurst?`burst`:`stream`),!0),t.followEntityId){let e=a.entities.find(e=>e.id===t.followEntityId);e?.position&&(t.origin[0]=e.position[0],t.origin[1]=e.position[1],t.origin[2]=e.position[2]),e?.direction&&(t.emitAxis=e.direction)}if(t.isBurst||t.emitter.emitPeriodic(t.origin,C,t.emitAxis),t.emitter.update(C),Ae.has(t.targetTexture)&&t.material.uniforms.particleTexture.value!==t.targetTexture&&(t.material.uniforms.particleTexture.value=t.targetTexture),t.material.uniforms.debugOpacity.value=h?.2:1,Qe(t),h){t.debugOriginMesh||(t.debugOriginMesh=new R(Ne,Pe),t.debugOriginMesh.frustumCulled=!1,i.add(t.debugOriginMesh)),t.debugOriginMesh.position.set(t.origin[1],t.origin[2],t.origin[0]),t.debugParticleMeshes||=[];let e=Math.min(t.emitter.particles.length,8);for(;t.debugParticleMeshes.length=0;e--){let t=M[e],n=F-t.creationTime,r=Math.min(n/t.lifetimeMS,1),a=Math.min(r/.1,1);t.mesh.scale.setScalar(t.targetRadius*a),t.material.opacity=1-r,t.labelMaterial.opacity=1-r,r>=1&&(i.remove(t.mesh),i.remove(t.label),t.material.dispose(),t.labelMaterial.dispose(),M.splice(e,1))}let L=z.current;for(let t=L.length-1;t>=0;t--){let n=L[t],r=F-n.creationTime,a=Math.min(r/n.lifetimeMS,1),o=p;n.velocity+=n.data.acceleration*o,n.radius+=n.velocity*o;let s=Be(n.data,a);We(n.geometry,n.data,n.radius,s,n.data.is2D),n.bottomGeometry&&We(n.bottomGeometry,n.data,n.radius,s,n.data.is2D),n.data.is2D&&n.mesh.lookAt(e.camera.position),a>=1&&(i.remove(n.mesh),n.bottomMesh&&i.remove(n.bottomMesh),n.geometry.dispose(),n.bottomGeometry?.dispose(),n.material.dispose(),L.splice(t,1))}if(s&&_&&v&&y&&x.current){for(let e of a.entities){if(e.type!==`Explosion`||!e.explosionDataBlockId||!e.position)continue;let t=`snd:${e.id}`;if(P.current.has(t))continue;P.current.add(t);let n=T(e.explosionDataBlockId);if(!n)continue;let r=n.soundProfile;if(typeof r!=`number`)continue;let i=u(r,T);i&&l(i,y,v,new j(e.position[1],e.position[2],e.position[0]),x.current)}let e=A.current;for(let t of a.entities){if(t.type!==`Projectile`||!t.dataBlockId||!t.position)continue;if(e.has(t.id)){e.get(t.id).position.set(t.position[1],t.position[2],t.position[0]);continue}if(e.size>=$e)continue;let n=T(t.dataBlockId);if(!n)continue;let r=n.sound;if(typeof r!=`number`)continue;let i=u(r,T);if(!(!i||!i.isLooping||!i.is3D))try{let n=S(i.filename),r=g();c(n,v,n=>{if(r!==g()||!D.has(t.id)||e.has(t.id))return;let a=x.current;if(!a)return;let o=new N(y);o.setBuffer(n),o.setDistanceModel(`inverse`),o.setRefDistance(i.refDist),o.setMaxDistance(i.maxDist),o.setRolloffFactor(1),o.setVolume(i.volume),o.setPlaybackRate(m()),o.setLoop(!0),o.position.set(t.position[1],t.position[2],t.position[0]),a.add(o),f(o),o.play(),e.set(t.id,o)})}catch{}}for(let[t,n]of e)if(!D.has(t)){d(n);try{n.stop()}catch{}try{n.disconnect()}catch{}x.current?.remove(n),e.delete(t)}for(let e of a.audioEvents){let t=`${e.timeSec}:${e.profileId}:${e.position?.x??``}`;if(P.current.has(t))continue;P.current.add(t);let n=u(e.profileId,T);n&&l(n,y,v,e.position?new j(e.position.y,e.position.z,e.position.x):void 0,x.current)}}if(E.current.size>500){let e=new Set(a.entities.map(nt));for(let t of E.current)e.has(t)||E.current.delete(t)}if(P.current.size>500){let e=new Set(a.entities.map(tt));for(let t of P.current)t.startsWith(`snd:`)&&e.has(t.slice(4))||P.current.delete(t)}},t[7]=_,t[8]=y,t[9]=v,t[10]=h,t[11]=b,t[12]=n,t[13]=r,t[14]=B):B=t[14],a(B);let V,H;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(H=()=>()=>{let e=x.current;for(let t of w.current){if(e&&(e.remove(t.mesh),t.debugOriginMesh&&e.remove(t.debugOriginMesh),t.debugParticleMeshes))for(let n of t.debugParticleMeshes)e.remove(n);t.geometry.dispose(),t.material.dispose()}w.current=[];for(let t of I.current)e&&(e.remove(t.mesh),e.remove(t.label)),t.material.dispose(),t.labelMaterial.dispose();I.current=[];for(let t of z.current)e&&(e.remove(t.mesh),t.bottomMesh&&e.remove(t.bottomMesh)),t.geometry.dispose(),t.bottomGeometry?.dispose(),t.material.dispose();z.current=[],E.current.clear(),O.current.clear();for(let[,t]of A.current){d(t);try{t.stop()}catch{}try{t.disconnect()}catch{}e&&e.remove(t)}A.current.clear(),P.current.clear()},V=[],t[15]=V,t[16]=H):(V=t[15],H=t[16]),(0,G.useEffect)(H,V);let U;return t[17]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,J.jsx)(`group`,{ref:x}),t[17]=U):U=t[17],U}function tt(e){return e.id}function nt(e){return e.id}function rt(e){return e.gl}function X(e,t){return{id:e.id,className:e.className??e.type,ghostIndex:e.ghostIndex,dataBlockId:e.dataBlockId,shapeHint:e.shapeHint,spawnTime:t,position:e.position,rotation:e.rotation,velocity:e.velocity,keyframes:[{time:t??0,position:e.position??[0,0,0],rotation:e.rotation??[0,0,0,1]}]}}function it(e,t){if(e.sceneData){let n={id:e.id,className:e.className??e.type,ghostIndex:e.ghostIndex,dataBlockId:e.dataBlockId,shapeHint:e.shapeHint,spawnTime:t};switch(e.sceneData.className){case`TerrainBlock`:return{...n,renderType:`TerrainBlock`,terrainData:e.sceneData};case`InteriorInstance`:return{...n,renderType:`InteriorInstance`,interiorData:e.sceneData};case`Sky`:return{...n,renderType:`Sky`,skyData:e.sceneData};case`Sun`:return{...n,renderType:`Sun`,sunData:e.sceneData};case`WaterBlock`:return{...n,renderType:`WaterBlock`,waterData:e.sceneData};case`MissionArea`:return{...n,renderType:`MissionArea`,missionAreaData:e.sceneData};case`TSStatic`:return{...X(e,t),renderType:`Shape`,shapeName:e.sceneData.shapeName,shapeType:`TSStatic`,dataBlock:e.dataBlock}}}return e.visual?.kind===`tracer`?{...X(e,t),renderType:`Tracer`,visual:e.visual,dataBlock:e.dataBlock,direction:e.direction}:e.visual?.kind===`sprite`?{...X(e,t),renderType:`Sprite`,visual:e.visual}:e.type===`Player`?{...X(e,t),renderType:`Player`,shapeName:e.dataBlock,dataBlock:e.dataBlock,emap:e.emap,weaponShape:e.weaponShape,armAction:e.armAction,packShape:e.packShape,flagShape:e.flagShape,falling:e.falling,jetting:e.jetting,playerName:e.playerName,iffColor:e.iffColor,threads:e.threads,weaponImageState:e.weaponImageState,weaponImageStates:e.weaponImageStates,headPitch:e.headPitch,headYaw:e.headYaw,targetRenderFlags:e.targetRenderFlags}:e.type===`Explosion`?e.dataBlock?{...X(e,t),renderType:`Explosion`,shapeName:e.dataBlock,dataBlock:e.dataBlock,explosionDataBlockId:e.explosionDataBlockId,faceViewer:e.faceViewer}:{...X(e,t),renderType:`None`}:e.className===`ForceFieldBare`?{...X(e,t),renderType:`ForceFieldBare`,forceFieldData:e.forceFieldData?{textures:e.forceFieldData.textures,color:e.forceFieldData.color,baseTranslucency:e.forceFieldData.baseTranslucency,numFrames:e.forceFieldData.textures.length,framesPerSec:e.forceFieldData.framesPerSec,scrollSpeed:e.forceFieldData.scrollSpeed,umapping:e.forceFieldData.umapping,vmapping:e.forceFieldData.vmapping,dimensions:e.forceFieldData.dimensions}:void 0}:e.className===`AudioEmitter`?{...X(e,t),renderType:`AudioEmitter`,audioFileName:e.audioFileName,audioVolume:e.audioVolume,audioIs3D:e.audioIs3D,audioIsLooping:e.audioIsLooping??!0,audioMinDistance:e.audioMinDistance,audioMaxDistance:e.audioMaxDistance,audioMinLoopGap:e.audioMinLoopGap,audioMaxLoopGap:e.audioMaxLoopGap}:e.className===`WayPoint`?{...X(e,t),renderType:`WayPoint`,label:e.label}:e.className===`Camera`?{...X(e,t),renderType:`Camera`}:{...X(e,t),renderType:`Shape`,shapeName:e.dataBlock,shapeType:e.className===`Turret`?`Turret`:e.className===`Item`?`Item`:`StaticShape`,dataBlock:e.dataBlock,emap:e.emap,damageState:e.damageState,weaponShape:e.weaponShape,armAction:e.armAction,threads:e.threads,targetRenderFlags:e.targetRenderFlags,iffColor:e.iffColor,wheels:e.wheels,steeringYaw:e.steeringYaw,frozen:e.frozen,maxSteeringAngle:e.maxSteeringAngle}}function at(e,t){return e[t]}function ot(e,t){switch(e.renderType){case`Player`:{let n=e;n.threads=t.threads,n.weaponShape=t.weaponShape,n.armAction=t.armAction,n.packShape=t.packShape,n.flagShape=t.flagShape,n.falling=t.falling,n.jetting=t.jetting,n.weaponImageState=t.weaponImageState,n.weaponImageStates=t.weaponImageStates,n.playerName=t.playerName,n.iffColor=t.iffColor,n.headPitch=t.headPitch,n.headYaw=t.headYaw,n.targetRenderFlags=t.targetRenderFlags;break}case`Shape`:{let n=e;n.threads=t.threads,n.damageState=t.damageState,n.targetRenderFlags=t.targetRenderFlags,n.iffColor=t.iffColor;break}}}var st=new WeakMap;function ct(e){let t=st.get(e);return t||(t=new Map(e.entities.map(e=>[e.id,e])),st.set(e,t)),t}function lt(e){U.getState().setAllStreamEntities(Array.from(e.values()))}var ut=new j,Z=new A,dt=new A,ft=new A(0,1,0,0),Q=new j,$=new j,pt=new j;function mt(e){let t=(0,se.c)(26),{recording:n}=e,r=V(),{fov:i}=o(),s=(0,G.useRef)(0),c=(0,G.useRef)(null),l=(0,G.useRef)(null),u;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(u=new j(0,v,0),t[0]=u):u=t[0];let d=(0,G.useRef)(u),f=(0,G.useRef)(n.streamingPlayback??null),p=(0,G.useRef)(null),m;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(m=new Map,t[1]=m):m=t[1];let g=(0,G.useRef)(m),y=(0,G.useRef)(null),[x,S]=(0,G.useState)(null),C;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(C=e=>{if(e===y.current)return;y.current=e;let t=g.current,n=new Map;for(let r of e.entities){let i=t.get(r.id),a=i&&(i.renderType===`Shape`||i.renderType===`Player`||i.renderType===`Explosion`);if(!i||i.className!==(r.className??r.type)||i.ghostIndex!==r.ghostIndex||i.dataBlockId!==r.dataBlockId||i.shapeHint!==r.shapeHint||a&&r.dataBlock!=null&&at(i,`shapeName`)!==r.dataBlock||i.renderType!==`Player`&&a&&at(i,`weaponShape`)!==r.weaponShape?i=it(r,e.timeSec):ot(i,r),n.set(r.id,i),re(i)||i.renderType===`None`)continue;let o=i.keyframes;o.length===0&&o.push({time:e.timeSec,position:r.position??[0,0,0],rotation:r.rotation??[0,0,0,1]});let s=o[0];s.time=e.timeSec,r.position&&(s.position=r.position),r.rotation&&(s.rotation=r.rotation),s.velocity=r.velocity,s.health=r.health,s.energy=r.energy,s.actionAnim=r.actionAnim,s.actionAtEnd=r.actionAtEnd,s.damageState=r.damageState}for(let[r,i]of t)if(!n.has(r)&&i.renderType===`Explosion`&&i.shapeName&&i.spawnTime!=null&&e.timeSec-i.spawnTime<5){n.set(r,i);continue}let r=n.size!==t.size||[...n.keys()].some(e=>!t.has(e));g.current=n,r&<(n);let i=null;if(e.camera?.mode===`first-person`&&e.camera.controlEntityId){let t=n.get(e.camera.controlEntityId),r=t?at(t,`shapeName`):void 0;r&&(i=r)}S(e=>e===i?e:i)},t[2]=C):C=t[2];let w=C,T;t[3]!==r||t[4]!==n.gameType||t[5]!==n.missionName||t[6]!==n.recorderName||t[7]!==n.recordingDate||t[8]!==n.serverDisplayName||t[9]!==n.source||t[10]!==n.streamingPlayback?(T=()=>{h(),f.current=n.streamingPlayback??null,g.current=new Map,y.current=null,p.current=null,ie(),s.current=0,c.current=null,l.current=null;let e=f.current;if(W.setState({playback:e}),U.getState().beginStreaming(n.source),!e){r.getState().setPlaybackStreamSnapshot(null);return}e.onMissionInfoChange=()=>{U.getState().setMissionInfo({missionDisplayName:e.missionDisplayName??void 0,missionTypeDisplayName:e.missionTypeDisplayName??void 0,gameClassName:e.gameClassName??void 0,recorderName:e.connectedPlayerName??void 0})};let t=e.missionDisplayName,i=e.missionTypeDisplayName,a=e.gameClassName,o=e.serverDisplayName,u=e.connectedPlayerName;n.source!==`live`&&e.reset(),e.missionDisplayName=t,e.missionTypeDisplayName=i,e.gameClassName=a,e.serverDisplayName=o,e.connectedPlayerName=u,U.getState().setMissionInfo({missionName:n.missionName??void 0,missionTypeDisplayName:n.gameType??void 0,missionDisplayName:t??void 0,gameClassName:a??void 0,serverDisplayName:o??n.serverDisplayName??void 0,recorderName:u??n.recorderName??void 0,recordingDate:n.recordingDate??void 0});let d=e.getSnapshot();return W.setState({time:d.timeSec}),s.current=d.timeSec,c.current=d,l.current=d,w(d),r.getState().setPlaybackStreamSnapshot(d),p.current=d,()=>{h(),f.current=null,ie()}},t[3]=r,t[4]=n.gameType,t[5]=n.missionName,t[6]=n.recorderName,t[7]=n.recordingDate,t[8]=n.serverDisplayName,t[9]=n.source,t[10]=n.streamingPlayback,t[11]=T):T=t[11];let E;t[12]!==r||t[13]!==n?(E=[n,r,w],t[12]=r,t[13]=n,t[14]=E):E=t[14],(0,G.useEffect)(T,E);let D;t[15]!==r||t[16]!==n.source||t[17]!==i?(D=(e,t)=>{let a=f.current;if(!a)return;let o=r.getState(),u=o.playback,m=u.status===`playing`,h=u.timeMs/1e3,v=!m&&Math.abs(h-s.current)>5e-4,y=m&&Math.abs(h-W.getState().time)>.05,x=v||y;x&&(s.current=h),m&&(H(t,u.rate),s.current+=t*u.rate);let S=Math.max(1,Math.ceil(t*1e3*Math.max(u.rate,.01)/32)+2),C=s.current+b,T=a.stepToTime(C,m&&!x?S:1/0),E=l.current;!E||T.timeSec.032*1.5?(c.current=T,l.current=T):T.timeSec!==E.timeSec&&(c.current=E,l.current=T);let D=l.current??T,O=c.current??D,k=D.timeSec-b,A=Math.max(0,Math.min(1,(s.current-k)/b));W.setState({time:s.current}),T.exhausted&&m&&(s.current=Math.min(s.current,T.timeSec)),w(D),W.getState().entities=g.current,D!==p.current&&(p.current=D,o.setPlaybackStreamSnapshot(D));let j=D.camera,M=j&&O.camera&&O.camera.mode===j.mode&&O.camera.controlEntityId===j.controlEntityId&&O.camera.orbitTargetId===j.orbitTargetId?O.camera:null,N=W.getState().cameraMode,P=n.source===`live`;if(j&&N!==`freeFly`){if(!P&&N!==`orbitOverride`)if(M){let t=M.position[0],n=M.position[1],r=M.position[2],i=j.position[0],a=j.position[1],o=j.position[2],s=t+(i-t)*A,c=n+(a-n)*A,l=r+(o-r)*A;e.camera.position.set(c,l,s),Z.set(...M.rotation),dt.set(...j.rotation),Z.slerp(dt,A),e.camera.quaternion.copy(Z)}else e.camera.position.set(j.position[1],j.position[2],j.position[0]),e.camera.quaternion.set(...j.rotation);if(`isPerspectiveCamera`in e.camera&&e.camera.isPerspectiveCamera){let t=e.camera,n=_(i,t.aspect);Math.abs(t.fov-n)>.01&&(t.fov=n,t.updateProjectionMatrix())}}let F=ct(D),ee=ct(O),I=g.current,L=W.getState().root;if(L)for(let t of L.children){let n=I.get(t.name);if(n&&re(n))continue;let r=F.get(t.name);if(!r){let e=n&&`keyframes`in n?n.keyframes:void 0;if(e?.[0]?.position){let n=e[0];t.visible=!0,t.position.set(n.position[1],n.position[2],n.position[0]);continue}}if(!r?.position){t.visible=!1;continue}t.visible=!0;let i=ee.get(t.name);if(i?.position){let e=i.position[0],n=i.position[1],a=i.position[2],o=r.position[0],s=r.position[1],c=r.position[2],l=e+(o-e)*A,u=n+(s-n)*A,d=a+(c-a)*A;t.position.set(u,d,l)}else t.position.set(r.position[1],r.position[2],r.position[0]);r.faceViewer?t.quaternion.copy(e.camera.quaternion).multiply(ft):r.visual?.kind===`tracer`?t.quaternion.identity():r.rotation&&(i?.rotation?(Z.set(...i.rotation),dt.set(...r.rotation),Z.slerp(dt,A),t.quaternion.copy(Z)):t.quaternion.set(...r.rotation))}let R=j?.mode,z=N===`orbitOverride`&&!P&&j?.orbitTargetId!=null;if(N!==`freeFly`&&!P&&(R===`third-person`||z)&&L&&j?.orbitTargetId){let t=L.children.find(e=>e.name===j.orbitTargetId);if(t){let n=F.get(j.orbitTargetId);$.copy(t.position),n?.type===`Player`&&($.y+=1);let r=!1;if(z){let e=W.getState(),t=Math.sin(e.orbitOverridePitch),n=Math.cos(e.orbitOverridePitch),i=Math.sin(e.orbitOverrideYaw),a=Math.cos(e.orbitOverrideYaw);Q.set(-a*n,-t,-i*n),r=Q.lengthSq()>1e-8}else if(j.orbitDirection)Q.set(j.orbitDirection[0],j.orbitDirection[1],j.orbitDirection[2]),r=Q.lengthSq()>1e-8;else if(typeof j.yaw==`number`&&typeof j.pitch==`number`){let e=Math.sin(j.pitch),t=Math.cos(j.pitch),n=Math.sin(j.yaw),i=Math.cos(j.yaw);Q.set(-i*t,-e,-n*t),r=Q.lengthSq()>1e-8}if(r||=(Q.copy(e.camera.position).sub($),Q.lengthSq()>1e-8),r){Q.normalize();let t=Math.max(.1,j.orbitDistance??4);pt.copy($).addScaledVector(Q,t),e.camera.position.copy(pt),e.camera.lookAt($)}}}if(N===`original`&&R===`first-person`&&L&&j?.controlEntityId){let t=L.children.find(e=>e.name===j.controlEntityId);t?(ut.copy(d.current).applyQuaternion(t.quaternion),e.camera.position.add(ut)):e.camera.position.y=e.camera.position.y+d.current.y}m&&T.exhausted&&o.setPlaybackStatus(`paused`);let B=s.current*1e3;Math.abs(B-u.timeMs)>.5&&o.setPlaybackTime(B)},t[15]=r,t[16]=n.source,t[17]=i,t[18]=D):D=t[18],a(D);let O;t[19]===n.streamingPlayback?O=t[20]:(O=(0,J.jsx)(et,{playback:n.streamingPlayback,snapshotRef:l}),t[19]=n.streamingPlayback,t[20]=O);let k;t[21]===x?k=t[22]:(k=x&&(0,J.jsx)(G.Suspense,{children:(0,J.jsx)(oe,{shapeName:x,eyeOffsetRef:d})}),t[21]=x,t[22]=k);let A;return t[23]!==O||t[24]!==k?(A=(0,J.jsxs)(J.Fragment,{children:[O,k]}),t[23]=O,t[24]=k,t[25]=A):A=t[25],A}export{mt as StreamingController}; \ No newline at end of file diff --git a/docs/assets/StreamingController-C-cd6zKq.js b/docs/assets/StreamingController-C-cd6zKq.js new file mode 100644 index 00000000..1b0a4da9 --- /dev/null +++ b/docs/assets/StreamingController-C-cd6zKq.js @@ -0,0 +1,89 @@ +import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import{i,o as a}from"./react-three-fiber.esm-CD18QK1u.js";import{a as o,i as s,s as c}from"./SettingsProvider-D-grt5cc.js";import{h as l,m as u,n as d,r as f}from"./playbackUtils-C1ncI8YZ.js";import{a as p,n as m,r as h,t as g}from"./engineStore-Mono9lyt.js";import{t as _}from"./logger-B058WGzf.js";import{C as v,Ct as y,Ft as b,Ht as x,Lt as S,Rt as C,Tt as w,Vt as T,Wt as E,at as D,g as O,h as k,it as A,jt as j,k as M,m as N,p as P,xt as ee}from"./three.module-C9W4LJrj.js";import{G as F,p as I,r as te}from"./index-BEKjcnfN.js";import{a as L,c as ne,i as R,l as z,o as re,p as ie,r as ae,s as B}from"./AudioEmitter-EsMJ6jds.js";import{t as oe}from"./gameEntityTypes-6Vr_C_kI.js";import{n as V,t as se}from"./streamPlaybackStore-UQ4nn4bZ.js";import{c as ce}from"./globalFogUniforms-BQRkMz5n.js";import{PlayerEyeOffset as le}from"./PlayerModel-DwsYOcG2.js";var H=e(n(),1),ue=t(),de=Math.PI/180,fe=-9.81,pe=Math.PI/(180*1e3),me=1/100,he=-1e3,ge=50,U=5,_e=5,ve=10;function W(e,t,n){let r=e[t];return typeof r==`number`&&Number.isFinite(r)?r:n}function G(e,t,n){let r=e[t];return typeof r==`boolean`?r:typeof r==`number`?r!==0:n}function ye(e){let t=e.keys,n=[];if(Array.isArray(t)&&t.length>0)for(let e=0;e0&&t[0]&&(r=t[0])}return{dragCoefficient:W(e,`dragCoefficient`,0)*_e,windCoefficient:W(e,`windCoefficient`,1),gravityCoefficient:W(e,`gravityCoefficient`,0)*ve,inheritedVelFactor:W(e,`inheritedVelFactor`,0),constantAcceleration:W(e,`constantAcceleration`,0),lifetimeMS:W(e,`lifetimeMS`,31)<=t){let r=e[n-1],i=e[n],a=i.time-r.time,o=a>0?(t-r.time)/a:0;return{r:r.r+(i.r-r.r)*o,g:r.g+(i.g-r.g)*o,b:r.b+(i.b-r.b)*o,a:r.a+(i.a-r.a)*o,size:r.size+(i.size-r.size)*o}}let n=e[e.length-1];return{r:n.r,g:n.g,b:n.b,a:n.a,size:n.size}}var Te=class{data;particles=[];maxParticles;internalClock=0;nextParticleTime=0;emitterAge=0;emitterLifetime;emitterDead=!1;constructor(e,t=256,n){this.data=e,this.maxParticles=t;let r=n??e.lifetimeMS;!n&&e.lifetimeVarianceMS>0&&(r+=Math.round(K(0,e.lifetimeVarianceMS))),this.emitterLifetime=r}emitBurst(e,t,n=[0,0,1]){for(let r=0;r0;){if(this.nextParticleTime>0){let e=Math.min(r,this.nextParticleTime);this.nextParticleTime-=e,r-=e,this.internalClock+=e;continue}if(this.particles.length0)){let e=this.particles[this.particles.length-1];e.currentAge+=r,e.currentAge>=e.totalLifetime&&this.particles.pop()}let t=this.data.ejectionPeriodMS;this.data.periodVarianceMS>0&&(t+=Math.round(K(0,this.data.periodVarianceMS))),this.nextParticleTime=Math.max(1,t)}}update(e){this.emitterAge+=e,this.emitterLifetime>0&&this.emitterAge>this.emitterLifetime&&(this.emitterDead=!0);let t=e/1e3,n=this.data.particles;for(let r=this.particles.length-1;r>=0;r--){let i=this.particles[r];if(i.currentAge+=e,i.currentAge>=i.totalLifetime){this.particles[r]=this.particles[this.particles.length-1],this.particles.pop();continue}let a=n.dragCoefficient,o=n.gravityCoefficient,s=i.acc[0]-i.vel[0]*a,c=i.acc[1]-i.vel[1]*a,l=i.acc[2]-i.vel[2]*a+fe*o;i.vel[0]+=s*t,i.vel[1]+=c*t,i.vel[2]+=l*t,i.pos[0]+=i.vel[0]*t,i.pos[1]+=i.vel[1]*t,i.pos[2]+=i.vel[2]*t;let u=i.currentAge/i.totalLifetime,d=we(n.keys,u);i.r=d.r,i.g=d.g,i.b=d.b,i.a=d.a,i.size=d.size,i.currentSpin=i.spinSpeed*i.currentAge*pe}}isDead(){return this.emitterDead&&this.particles.length===0}kill(){this.emitterDead=!0}addParticle(e,t){let n=this.data,r=n.particles,i=t[0],a=t[1],o=t[2],s=Se(i,a,o),c=(n.thetaMin+Math.random()*(n.thetaMax-n.thetaMin))*de,l=(this.internalClock/1e3*n.phiReferenceVel+Math.random()*n.phiVariance)*de;[i,a,o]=Ce(i,a,o,s[0],s[1],s[2],c),[i,a,o]=Ce(i,a,o,t[0],t[1],t[2],l);let u=Math.sqrt(i*i+a*a+o*o);u>1e-8&&(i/=u,a/=u,o/=u);let d=K(n.ejectionVelocity,n.velocityVariance),f=[e[0]+i*n.ejectionOffset,e[1]+a*n.ejectionOffset,e[2]+o*n.ejectionOffset],p=[i*d,a*d,o*d],m=r.constantAcceleration,h=[p[0]*m,p[1]*m,p[2]*m],g=r.lifetimeMS;r.lifetimeVarianceMS>0&&(g+=Math.round(K(0,r.lifetimeVarianceMS))),g=Math.max(1,g);let _=r.spinSpeed+xe(r.spinRandomMin,r.spinRandomMax),v=r.keys[0];this.particles.push({pos:f,vel:p,acc:h,orientDir:[i,a,o],currentAge:0,totalLifetime:g,dataIndex:0,spinSpeed:_,currentSpin:0,r:v.r,g:v.g,b:v.b,a:v.a,size:v.size})}},Ee=` +// 'position' is auto-declared by Three.js for ShaderMaterial. +attribute vec4 particleColor; +attribute float particleSize; +attribute float particleSpin; +attribute vec2 quadCorner; // (-0.5,-0.5) to (0.5,0.5) +attribute vec3 orientDir; + +uniform bool uOrientParticles; +// cameraPosition is a built-in Three.js uniform. + +varying vec2 vUv; +varying vec4 vColor; + +void main() { + vUv = quadCorner + 0.5; // [0,1] range + vColor = particleColor; + + if (uOrientParticles) { + if (length(orientDir) < 0.0001) { + // V12: don't render oriented particles with zero velocity. + gl_Position = vec4(0.0, 0.0, 0.0, 0.0); + return; + } + // V12 oriented particle: quad aligned along direction, facing camera. + vec3 worldPos = (modelMatrix * vec4(position, 1.0)).xyz; + vec3 dir = normalize(orientDir); + vec3 dirFromCam = worldPos - cameraPosition; + vec3 crossDir = normalize(cross(dirFromCam, dir)); + + // V12 maps U along dir (velocity) — match by using quadCorner.x for dir. + vec3 offset = dir * quadCorner.x + crossDir * quadCorner.y; + worldPos += offset * particleSize; + + gl_Position = projectionMatrix * viewMatrix * vec4(worldPos, 1.0); + } else { + // Standard camera-facing billboard. + vec3 viewPos = (modelViewMatrix * vec4(position, 1.0)).xyz; + + // Apply spin rotation to quad corner. + float c = cos(particleSpin); + float s = sin(particleSpin); + vec2 rotated = vec2( + c * quadCorner.x - s * quadCorner.y, + s * quadCorner.x + c * quadCorner.y + ); + + // Offset in view space (camera-facing billboard). + viewPos.xy += rotated * particleSize; + + gl_Position = projectionMatrix * vec4(viewPos, 1.0); + } +} +`,De=` +uniform sampler2D particleTexture; +uniform bool hasTexture; +uniform float debugOpacity; + +varying vec2 vUv; +varying vec4 vColor; + +void main() { + if (hasTexture) { + vec4 texColor = texture2D(particleTexture, vUv); + gl_FragColor = texColor * vColor; + } else { + gl_FragColor = vColor; + } + gl_FragColor.a *= debugOpacity; +} +`,q=r(),Oe=_(`ParticleEffects`),J=256,ke=new Float32Array([-.5,-.5,.5,-.5,.5,.5,-.5,.5]),Ae=new Map,je=new Set,Y=new v(new Uint8Array([255,255,255,255]),1,1,w,x);Y.needsUpdate=!0;function Me(e){if(!e)return Y;let t=Ae.get(e);if(t)return t;try{let t=ce(I(e),e=>{u(e),je.add(e)});return u(t),Ae.set(e,t),t}catch{return Y}}var Ne=new b(1,6,6),Pe=new D({color:16711680,wireframe:!0}),Fe=new P(.3,.3,.3),Ie=new D({color:65280,wireframe:!0}),Le=new b(1,12,8);function Re(e,t){let n=document.createElement(`canvas`),r=n.getContext(`2d`);r.font=`bold 32px monospace`;let i=r.measureText(e);n.width=Math.ceil(i.width)+16,n.height=48,r.font=`bold 32px monospace`,r.fillStyle=`#${t.toString(16).padStart(6,`0`)}`,r.textBaseline=`middle`,r.fillText(e,8,n.height/2);let a=new C({map:new O(n),transparent:!0,depthTest:!1,depthWrite:!1}),o=new S(a),s=n.width/n.height;return o.scale.set(s*2,2,1),{sprite:o,material:a}}function ze(e,t){let n=t(e);if(!n)return null;let r=n.colors??[],i=n.times??[0,.5,1,1];return{width:n.width??1,numSegments:Math.max(n.numSegments??16,4),velocity:n.velocity??0,height:n.height??0,verticalCurve:n.verticalCurve??0,acceleration:n.acceleration??0,texWrap:n.texWrap??1,lifetimeMS:n.lifetimeMS??500,is2D:!!n.is2D,renderSquare:!!n.renderSquare,renderBottom:!!n.renderBottom,mapToTerrain:!!n.mapToTerrain,colors:r,times:i,textureName:n.textureName??``,mapToTexture:n.mapToTexture??``}}function Be(e,t){let{colors:n,times:r}=e;if(n.length===0)return[1,1,1,1];let i=0;for(let e=0;e=r[e]&&(i=e);let a=Math.min(i+1,n.length-1),o=r[i]??0,s=(r[a]??1)-o,c=s>0?Math.min((t-o)/s,1):0,l=n[i]??n[0],u=n[a]??n[0];return[l.r+(u.r-l.r)*c,l.g+(u.g-l.g)*c,l.b+(u.b-l.b)*c,l.a+(u.a-l.a)*c]}var Ve=` + attribute vec4 vertexColor; + attribute vec2 texCoord; + varying vec4 vColor; + varying vec2 vUV; + void main() { + vColor = vertexColor; + vUV = texCoord; + gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0); + } +`,He=` + uniform sampler2D uTexture; + varying vec4 vColor; + varying vec2 vUV; + void main() { + vec4 tex = texture2D(uTexture, vUV); + gl_FragColor = vec4(vColor.rgb * tex.rgb, vColor.a * tex.a); + } +`;function Ue(e){let t=(e+1)*2,n=new Float32Array(t*3),r=new Float32Array(t*2),i=new Float32Array(t*4),a=e*6,o=new Uint16Array(a);for(let t=0;t0){let e=0;for(let n of t)e=Math.max(e,n.x,n.y,n.z);if(e>0)return e/1e3}let n=e.particleRadius;return typeof n==`number`&&n>0?n:5}function Je(e){let t=new k,n=e*4,r=e*6,i=new Float32Array(n*2);for(let t=0;t{let i=g.current,a=r.current;if(!i||!a)return;let o=h.getState().playback,s=o.status===`playing`,_=s?t*o.rate:0,y=_*1e3,x=n.getDataBlockData.bind(n);for(let e of a.entities){if(e.type!==`Explosion`||!e.explosionDataBlockId||!e.position||b.current.has(e.id))continue;b.current.add(e.id);let t=Ze(e.explosionDataBlockId,x);if(!t)continue;let n=[...e.position];for(let e of t.burstEmitters){let t=new Te(e.data,J);t.emitBurst(n,e.density);let r=Me(e.data.particles.textureName),a=Je(J),o=Ye(r,e.data.particles.useInvAlpha,e.data.orientParticles),s=new A(a,o);s.frustumCulled=!1,i.add(s),v.current.push({emitter:t,mesh:s,geometry:a,material:o,targetTexture:r,origin:n,isBurst:!0,hasBurst:!0})}for(let e of t.streamingEmitters){let r=new Te(e,J,t.lifetimeMS),a=Me(e.particles.textureName),o=Je(J),s=Ye(a,e.particles.useInvAlpha,e.orientParticles),c=new A(o,s);c.frustumCulled=!1,i.add(c),v.current.push({emitter:r,mesh:c,geometry:o,material:s,targetTexture:a,origin:n,isBurst:!1,hasBurst:!1})}let r=x(e.explosionDataBlockId);if(l){let a=r?qe(r):5,o=Ke(e.dataBlock),s=new D({color:o,wireframe:!0,transparent:!0,opacity:1,depthWrite:!1}),c=new A(Le,s);c.frustumCulled=!1,c.scale.setScalar(a),c.position.set(n[1],n[2],n[0]),i.add(c);let{sprite:l,material:u}=Re(`${e.id}: ${e.dataBlock??`expId:${e.explosionDataBlockId}`}`,o);l.position.set(n[1],n[2]+a+2,n[0]),l.frustumCulled=!1,i.add(l),j.current.push({entityId:e.id,mesh:c,material:s,label:l,labelMaterial:u,creationTime:m(),lifetimeMS:Math.max(t.lifetimeMS,3e3),targetRadius:a})}let a=r?.shockwave;if(typeof a==`number`){let t=ze(a,x);if(t){let r=Me(t.textureName),a=Ue(t.numSegments),o=Ge(r),s=new A(a,o);s.frustumCulled=!1,s.position.set(n[1],n[2],n[0]),i.add(s);let c=null,l=null;t.renderBottom&&(l=Ue(t.numSegments),c=new A(l,o),c.frustumCulled=!1,c.position.set(n[1],n[2],n[0]),c.scale.y=-1,i.add(c));let u=Math.abs(t.velocity)>1e-10?t.velocity:0;N.current.push({entityId:e.id,mesh:s,bottomMesh:c,geometry:a,bottomGeometry:l,material:o,creationTime:m(),lifetimeMS:t.lifetimeMS,data:t,radius:0,velocity:u})}}}let C=new Set;for(let e of a.entities){if(C.add(e.id),!e.maintainEmitterId||S.current.has(e.id))continue;S.current.add(e.id);let t=x(e.maintainEmitterId);if(!t)continue;let n=be(t,x);if(!n)continue;let r=e.position?[...e.position]:[0,0,0],a=new Te(n,J),o=Me(n.particles.textureName),s=Je(J),c=Ye(o,n.particles.useInvAlpha,n.orientParticles),l=new A(s,c);l.frustumCulled=!1,i.add(l),v.current.push({emitter:a,mesh:l,geometry:s,material:c,targetTexture:o,origin:r,isBurst:!1,hasBurst:!1,followEntityId:e.id})}for(let e of v.current)e.followEntityId&&!C.has(e.followEntityId)&&e.emitter.kill();for(let e of S.current)C.has(e)||S.current.delete(e);let T=v.current;for(let e=T.length-1;e>=0;e--){let t=T[e];if(t.shaderChecked||=(Xe(p,t.material,t.isBurst?`burst`:`stream`),!0),t.followEntityId){let e=a.entities.find(e=>e.id===t.followEntityId);e?.position&&(t.origin[0]=e.position[0],t.origin[1]=e.position[1],t.origin[2]=e.position[2]),e?.direction&&(t.emitAxis=e.direction)}if(t.isBurst||t.emitter.emitPeriodic(t.origin,y,t.emitAxis),t.emitter.update(y),je.has(t.targetTexture)&&t.material.uniforms.particleTexture.value!==t.targetTexture&&(t.material.uniforms.particleTexture.value=t.targetTexture),t.material.uniforms.debugOpacity.value=l?.2:1,Qe(t),l){t.debugOriginMesh||(t.debugOriginMesh=new A(Ne,Pe),t.debugOriginMesh.frustumCulled=!1,i.add(t.debugOriginMesh)),t.debugOriginMesh.position.set(t.origin[1],t.origin[2],t.origin[0]),t.debugParticleMeshes||=[];let e=Math.min(t.emitter.particles.length,8);for(;t.debugParticleMeshes.length=0;e--){let t=k[e],n=M-t.creationTime,r=Math.min(n/t.lifetimeMS,1),a=Math.min(r/.1,1);t.mesh.scale.setScalar(t.targetRadius*a),t.material.opacity=1-r,t.labelMaterial.opacity=1-r,r>=1&&(i.remove(t.mesh),i.remove(t.label),t.material.dispose(),t.labelMaterial.dispose(),k.splice(e,1))}let P=N.current;for(let t=P.length-1;t>=0;t--){let n=P[t],r=M-n.creationTime,a=Math.min(r/n.lifetimeMS,1),o=_;n.velocity+=n.data.acceleration*o,n.radius+=n.velocity*o;let s=Be(n.data,a);We(n.geometry,n.data,n.radius,s,n.data.is2D),n.bottomGeometry&&We(n.bottomGeometry,n.data,n.radius,s,n.data.is2D),n.data.is2D&&n.mesh.lookAt(e.camera.position),a>=1&&(i.remove(n.mesh),n.bottomMesh&&i.remove(n.bottomMesh),n.geometry.dispose(),n.bottomGeometry?.dispose(),n.material.dispose(),P.splice(t,1))}if(s&&u&&d&&f&&g.current){for(let e of a.entities){if(e.type!==`Explosion`||!e.explosionDataBlockId||!e.position)continue;let t=`snd:${e.id}`;if(O.current.has(t))continue;O.current.add(t);let n=x(e.explosionDataBlockId);if(!n)continue;let r=n.soundProfile;if(typeof r!=`number`)continue;let i=re(r,x);i&&L(i,f,d,new E(e.position[1],e.position[2],e.position[0]),g.current)}let e=w.current;for(let t of a.entities){if(t.type!==`Projectile`||!t.dataBlockId||!t.position)continue;if(e.has(t.id)){e.get(t.id).position.set(t.position[1],t.position[2],t.position[0]);continue}if(e.size>=$e)continue;let n=x(t.dataBlockId);if(!n)continue;let r=n.sound;if(typeof r!=`number`)continue;let i=re(r,x);if(!(!i||!i.isLooping||!i.is3D))try{let n=te(i.filename),r=R();ae(n,d,n=>{if(r!==R()||!C.has(t.id)||e.has(t.id))return;let a=g.current;if(!a)return;let o=new ee(f);o.setBuffer(n),o.setDistanceModel(`inverse`),o.setRefDistance(i.refDist),o.setMaxDistance(i.maxDist),o.setRolloffFactor(1),o.setVolume(i.volume),o.setPlaybackRate(c()),o.setLoop(!0),o.position.set(t.position[1],t.position[2],t.position[0]),a.add(o),ne(o),o.play(),e.set(t.id,o)})}catch{}}for(let[t,n]of e)if(!C.has(t)){z(n);try{n.stop()}catch{}try{n.disconnect()}catch{}g.current?.remove(n),e.delete(t)}for(let e of a.audioEvents){let t=`${e.timeSec}:${e.profileId}:${e.position?.x??``}`;if(O.current.has(t))continue;O.current.add(t);let n=re(e.profileId,x);n&&L(n,f,d,e.position?new E(e.position.y,e.position.z,e.position.x):void 0,g.current)}}if(b.current.size>500){let e=new Set(a.entities.map(nt));for(let t of b.current)e.has(t)||b.current.delete(t)}if(O.current.size>500){let e=new Set(a.entities.map(tt));for(let t of O.current)t.startsWith(`snd:`)&&e.has(t.slice(4))||O.current.delete(t)}},t[7]=u,t[8]=f,t[9]=d,t[10]=l,t[11]=p,t[12]=n,t[13]=r,t[14]=P):P=t[14],i(P);let F,I;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(I=()=>()=>{let e=g.current;for(let t of v.current){if(e&&(e.remove(t.mesh),t.debugOriginMesh&&e.remove(t.debugOriginMesh),t.debugParticleMeshes))for(let n of t.debugParticleMeshes)e.remove(n);t.geometry.dispose(),t.material.dispose()}v.current=[];for(let t of j.current)e&&(e.remove(t.mesh),e.remove(t.label)),t.material.dispose(),t.labelMaterial.dispose();j.current=[];for(let t of N.current)e&&(e.remove(t.mesh),t.bottomMesh&&e.remove(t.bottomMesh)),t.geometry.dispose(),t.bottomGeometry?.dispose(),t.material.dispose();N.current=[],b.current.clear(),S.current.clear();for(let[,t]of w.current){z(t);try{t.stop()}catch{}try{t.disconnect()}catch{}e&&e.remove(t)}w.current.clear(),O.current.clear()},F=[],t[15]=F,t[16]=I):(F=t[15],I=t[16]),(0,H.useEffect)(I,F);let B;return t[17]===Symbol.for(`react.memo_cache_sentinel`)?(B=(0,q.jsx)(`group`,{ref:g}),t[17]=B):B=t[17],B}function tt(e){return e.id}function nt(e){return e.id}function rt(e){return e.gl}function X(e,t){return{id:e.id,className:e.className??e.type,ghostIndex:e.ghostIndex,dataBlockId:e.dataBlockId,shapeHint:e.shapeHint,spawnTime:t,position:e.position,rotation:e.rotation,velocity:e.velocity,keyframes:[{time:t??0,position:e.position??[0,0,0],rotation:e.rotation??[0,0,0,1]}]}}function it(e,t){if(e.sceneData){let n={id:e.id,className:e.className??e.type,ghostIndex:e.ghostIndex,dataBlockId:e.dataBlockId,shapeHint:e.shapeHint,spawnTime:t};switch(e.sceneData.className){case`TerrainBlock`:return{...n,renderType:`TerrainBlock`,terrainData:e.sceneData};case`InteriorInstance`:return{...n,renderType:`InteriorInstance`,interiorData:e.sceneData};case`Sky`:return{...n,renderType:`Sky`,skyData:e.sceneData};case`Sun`:return{...n,renderType:`Sun`,sunData:e.sceneData};case`WaterBlock`:return{...n,renderType:`WaterBlock`,waterData:e.sceneData};case`MissionArea`:return{...n,renderType:`MissionArea`,missionAreaData:e.sceneData};case`TSStatic`:return{...X(e,t),renderType:`Shape`,shapeName:e.sceneData.shapeName,shapeType:`TSStatic`,dataBlock:e.dataBlock}}}return e.visual?.kind===`tracer`?{...X(e,t),renderType:`Tracer`,visual:e.visual,dataBlock:e.dataBlock,direction:e.direction}:e.visual?.kind===`sprite`?{...X(e,t),renderType:`Sprite`,visual:e.visual}:e.type===`Player`?{...X(e,t),renderType:`Player`,shapeName:e.dataBlock,dataBlock:e.dataBlock,emap:e.emap,weaponShape:e.weaponShape,armAction:e.armAction,packShape:e.packShape,flagShape:e.flagShape,falling:e.falling,jetting:e.jetting,playerName:e.playerName,iffColor:e.iffColor,threads:e.threads,weaponImageState:e.weaponImageState,weaponImageStates:e.weaponImageStates,headPitch:e.headPitch,headYaw:e.headYaw,targetRenderFlags:e.targetRenderFlags,soundSlots:e.soundSlots}:e.type===`Explosion`?e.dataBlock?{...X(e,t),renderType:`Explosion`,shapeName:e.dataBlock,dataBlock:e.dataBlock,explosionDataBlockId:e.explosionDataBlockId,faceViewer:e.faceViewer}:{...X(e,t),renderType:`None`}:e.className===`ForceFieldBare`?{...X(e,t),renderType:`ForceFieldBare`,forceFieldData:e.forceFieldData?{textures:e.forceFieldData.textures,color:e.forceFieldData.color,baseTranslucency:e.forceFieldData.baseTranslucency,numFrames:e.forceFieldData.textures.length,framesPerSec:e.forceFieldData.framesPerSec,scrollSpeed:e.forceFieldData.scrollSpeed,umapping:e.forceFieldData.umapping,vmapping:e.forceFieldData.vmapping,dimensions:e.forceFieldData.dimensions}:void 0}:e.className===`AudioEmitter`?{...X(e,t),renderType:`AudioEmitter`,audioFileName:e.audioFileName,audioVolume:e.audioVolume,audioIs3D:e.audioIs3D,audioIsLooping:e.audioIsLooping??!0,audioMinDistance:e.audioMinDistance,audioMaxDistance:e.audioMaxDistance,audioMinLoopGap:e.audioMinLoopGap,audioMaxLoopGap:e.audioMaxLoopGap}:e.className===`WayPoint`?{...X(e,t),renderType:`WayPoint`,label:e.label}:e.className===`MissionMarker`||e.className===`SpawnSphere`||e.className===`AIObjective`||e.className===`VehicleBlocker`?{id:e.id,className:e.className??e.type,ghostIndex:e.ghostIndex,dataBlockId:e.dataBlockId,shapeHint:e.shapeHint,spawnTime:t,renderType:`None`}:e.className===`Camera`?{...X(e,t),renderType:`Camera`}:{...X(e,t),renderType:`Shape`,shapeName:e.dataBlock,shapeType:e.className===`Turret`?`Turret`:e.className===`Item`?`Item`:`StaticShape`,dataBlock:e.dataBlock,emap:e.emap,damageState:e.damageState,weaponShape:e.weaponShape,armAction:e.armAction,threads:e.threads,targetRenderFlags:e.targetRenderFlags,iffColor:e.iffColor,wheels:e.wheels,steeringYaw:e.steeringYaw,frozen:e.frozen,maxSteeringAngle:e.maxSteeringAngle,soundSlots:e.soundSlots}}function at(e,t){return e[t]}function ot(e,t){switch(e.renderType){case`Player`:{let n=e;n.threads=t.threads,n.weaponShape=t.weaponShape,n.armAction=t.armAction,n.packShape=t.packShape,n.flagShape=t.flagShape,n.falling=t.falling,n.jetting=t.jetting,n.weaponImageState=t.weaponImageState,n.weaponImageStates=t.weaponImageStates,n.playerName=t.playerName,n.iffColor=t.iffColor,n.headPitch=t.headPitch,n.headYaw=t.headYaw,n.targetRenderFlags=t.targetRenderFlags,n.soundSlots=t.soundSlots;break}case`Shape`:{let n=e;n.threads=t.threads,n.damageState=t.damageState,n.targetRenderFlags=t.targetRenderFlags,n.iffColor=t.iffColor,n.soundSlots=t.soundSlots;break}}}var st=new WeakMap;function ct(e){let t=st.get(e);return t||(t=new Map(e.entities.map(e=>[e.id,e])),st.set(e,t)),t}var lt=new E,Z=new y,ut=new y,dt=new y(0,1,0,0),Q=new E,$=new E,ft=new E;function pt(e){let t=(0,ue.c)(25),{recording:n}=e,r=p(),{fov:a}=o(),s=(0,H.useRef)(0),c=(0,H.useRef)(null),u=(0,H.useRef)(null),m;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(m=new E(0,d,0),t[0]=m):m=t[0];let h=(0,H.useRef)(m),_=(0,H.useRef)(n.streamingPlayback??null),v=(0,H.useRef)(null),y=(0,H.useRef)(null),[b,x]=(0,H.useState)(null),S;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(S=e=>{if(e===y.current)return;y.current=e;let t=F.getState().streamEntities,n=!1,r=new Set;for(let i of e.entities){r.add(i.id);let a=t.get(i.id),o=a&&(a.renderType===`Shape`||a.renderType===`Player`||a.renderType===`Explosion`);if(!a||a.className!==(i.className??i.type)||a.ghostIndex!==i.ghostIndex||a.dataBlockId!==i.dataBlockId||a.shapeHint!==i.shapeHint||o&&i.dataBlock!=null&&at(a,`shapeName`)!==i.dataBlock||a.renderType!==`Player`&&o&&at(a,`weaponShape`)!==i.weaponShape){let r=a?.debugHidden;a=it(i,e.timeSec),r&&(a.debugHidden=!0),t.set(i.id,a),n=!0}else ot(a,i);if(oe(a)||a.renderType===`None`)continue;let s=a.keyframes;s.length===0&&s.push({time:e.timeSec,position:i.position??[0,0,0],rotation:i.rotation??[0,0,0,1]});let c=s[0];c.time=e.timeSec,i.position&&(c.position=i.position),i.rotation&&(c.rotation=i.rotation),c.velocity=i.velocity,c.health=i.health,c.energy=i.energy,c.actionAnim=i.actionAnim,c.actionAtEnd=i.actionAtEnd,c.damageState=i.damageState}for(let[i,a]of t)r.has(i)||a.renderType===`Explosion`&&a.shapeName&&a.spawnTime!=null&&e.timeSec-a.spawnTime<5||(t.delete(i),n=!0);n&&F.getState().bumpStreamVersion();let i=null;if(e.camera?.mode===`first-person`&&e.camera.controlEntityId){let n=t.get(e.camera.controlEntityId),r=n?at(n,`shapeName`):void 0;r&&(i=r)}x(e=>e===i?e:i)},t[1]=S):S=t[1];let C=S,w;t[2]!==r||t[3]!==n.gameType||t[4]!==n.missionName||t[5]!==n.recorderName||t[6]!==n.recordingDate||t[7]!==n.serverDisplayName||t[8]!==n.source||t[9]!==n.streamingPlayback?(w=()=>{B(),_.current=n.streamingPlayback??null,y.current=null,v.current=null,se(),s.current=0,c.current=null,u.current=null;let e=_.current;if(V.setState({playback:e}),F.getState().beginStreaming(n.source),!e){r.getState().setPlaybackStreamSnapshot(null);return}e.onMissionInfoChange=()=>{F.getState().setMissionInfo({missionDisplayName:e.missionDisplayName??void 0,missionTypeDisplayName:e.missionTypeDisplayName??void 0,gameClassName:e.gameClassName??void 0,recorderName:e.connectedPlayerName??void 0})};let t=e.missionDisplayName,i=e.missionTypeDisplayName,a=e.gameClassName,o=e.serverDisplayName,l=e.connectedPlayerName;n.source!==`live`&&e.reset(),e.missionDisplayName=t,e.missionTypeDisplayName=i,e.gameClassName=a,e.serverDisplayName=o,e.connectedPlayerName=l,F.getState().setMissionInfo({missionName:n.missionName??void 0,missionTypeDisplayName:n.gameType??void 0,missionDisplayName:t??void 0,gameClassName:a??void 0,serverDisplayName:o??n.serverDisplayName??void 0,recorderName:l??n.recorderName??void 0,recordingDate:n.recordingDate??void 0});let d=e.getSnapshot();return V.setState({time:d.timeSec}),s.current=d.timeSec,c.current=d,u.current=d,C(d),r.getState().setPlaybackStreamSnapshot(d),v.current=d,()=>{B(),_.current=null,se()}},t[2]=r,t[3]=n.gameType,t[4]=n.missionName,t[5]=n.recorderName,t[6]=n.recordingDate,t[7]=n.serverDisplayName,t[8]=n.source,t[9]=n.streamingPlayback,t[10]=w):w=t[10];let T;t[11]!==r||t[12]!==n?(T=[n,r,C],t[11]=r,t[12]=n,t[13]=T):T=t[13],(0,H.useEffect)(w,T);let D;t[14]!==r||t[15]!==n.source||t[16]!==a?(D=(e,t)=>{let i=_.current;if(!i)return;let o=r.getState(),d=o.playback,p=d.status===`playing`,m=d.timeMs/1e3,y=!p&&Math.abs(m-s.current)>5e-4,b=p&&Math.abs(m-V.getState().time)>.05,x=y||b;x&&(s.current=m),p&&(g(t,d.rate),s.current+=t*d.rate);let S=Math.max(1,Math.ceil(t*1e3*Math.max(d.rate,.01)/32)+2),w=s.current+f,T=i.stepToTime(w,p&&!x?S:1/0),E=u.current;!E||T.timeSec.032*1.5?(c.current=T,u.current=T):T.timeSec!==E.timeSec&&(c.current=E,u.current=T);let D=u.current??T,O=c.current??D,k=D.timeSec-f,A=Math.max(0,Math.min(1,(s.current-k)/f));V.setState({time:s.current}),T.exhausted&&p&&(s.current=Math.min(s.current,T.timeSec)),C(D),D!==v.current&&(v.current=D,o.setPlaybackStreamSnapshot(D));let j=D.camera,M=j&&O.camera&&O.camera.mode===j.mode&&O.camera.controlEntityId===j.controlEntityId&&O.camera.orbitTargetId===j.orbitTargetId?O.camera:null,N=V.getState().cameraMode,P=n.source===`live`;if(j&&N!==`freeFly`){if(!P&&N!==`orbitOverride`)if(M){let t=M.position[0],n=M.position[1],r=M.position[2],i=j.position[0],a=j.position[1],o=j.position[2],s=t+(i-t)*A,c=n+(a-n)*A,l=r+(o-r)*A;e.camera.position.set(c,l,s),Z.set(...M.rotation),ut.set(...j.rotation),Z.slerp(ut,A),e.camera.quaternion.copy(Z)}else e.camera.position.set(j.position[1],j.position[2],j.position[0]),e.camera.quaternion.set(...j.rotation);if(`isPerspectiveCamera`in e.camera&&e.camera.isPerspectiveCamera){let t=e.camera,n=l(a,t.aspect);Math.abs(t.fov-n)>.01&&(t.fov=n,t.updateProjectionMatrix())}}let ee=ct(D),I=ct(O),te=F.getState().streamEntities,L=V.getState().root;if(L)for(let t of L.children){let n=te.get(t.name);if(n&&oe(n))continue;let r=ee.get(t.name);if(!r){let e=n&&`keyframes`in n?n.keyframes:void 0;if(e?.[0]?.position){let n=e[0];t.visible=!0,t.position.set(n.position[1],n.position[2],n.position[0]);continue}}if(!r?.position){t.visible=!1;continue}t.visible=!0;let i=I.get(t.name);if(i?.position){let e=i.position[0],n=i.position[1],a=i.position[2],o=r.position[0],s=r.position[1],c=r.position[2],l=e+(o-e)*A,u=n+(s-n)*A,d=a+(c-a)*A;t.position.set(u,d,l)}else t.position.set(r.position[1],r.position[2],r.position[0]);r.faceViewer?t.quaternion.copy(e.camera.quaternion).multiply(dt):r.visual?.kind===`tracer`?t.quaternion.identity():r.rotation&&(i?.rotation?(Z.set(...i.rotation),ut.set(...r.rotation),Z.slerp(ut,A),t.quaternion.copy(Z)):t.quaternion.set(...r.rotation))}let ne=j?.mode,R=N===`orbitOverride`&&!P&&j?.orbitTargetId!=null;if(N!==`freeFly`&&!P&&(ne===`third-person`||R)&&L&&j?.orbitTargetId){let t=L.children.find(e=>e.name===j.orbitTargetId);if(t){let n=ee.get(j.orbitTargetId);$.copy(t.position),n?.type===`Player`&&($.y+=1);let r=!1;if(R){let e=V.getState(),t=Math.sin(e.orbitOverridePitch),n=Math.cos(e.orbitOverridePitch),i=Math.sin(e.orbitOverrideYaw),a=Math.cos(e.orbitOverrideYaw);Q.set(-a*n,-t,-i*n),r=Q.lengthSq()>1e-8}else if(j.orbitDirection)Q.set(j.orbitDirection[0],j.orbitDirection[1],j.orbitDirection[2]),r=Q.lengthSq()>1e-8;else if(typeof j.yaw==`number`&&typeof j.pitch==`number`){let e=Math.sin(j.pitch),t=Math.cos(j.pitch),n=Math.sin(j.yaw),i=Math.cos(j.yaw);Q.set(-i*t,-e,-n*t),r=Q.lengthSq()>1e-8}if(r||=(Q.copy(e.camera.position).sub($),Q.lengthSq()>1e-8),r){Q.normalize();let t=Math.max(.1,j.orbitDistance??4);ft.copy($).addScaledVector(Q,t),e.camera.position.copy(ft),e.camera.lookAt($)}}}if(N===`original`&&ne===`first-person`&&L&&j?.controlEntityId){let t=L.children.find(e=>e.name===j.controlEntityId);t?(lt.copy(h.current).applyQuaternion(t.quaternion),e.camera.position.add(lt)):e.camera.position.y=e.camera.position.y+h.current.y}p&&T.exhausted&&o.setPlaybackStatus(`paused`);let z=s.current*1e3;Math.abs(z-d.timeMs)>.5&&o.setPlaybackTime(z)},t[14]=r,t[15]=n.source,t[16]=a,t[17]=D):D=t[17],i(D);let O;t[18]===n.streamingPlayback?O=t[19]:(O=(0,q.jsx)(et,{playback:n.streamingPlayback,snapshotRef:u}),t[18]=n.streamingPlayback,t[19]=O);let k;t[20]===b?k=t[21]:(k=b&&(0,q.jsx)(H.Suspense,{children:(0,q.jsx)(le,{shapeName:b,eyeOffsetRef:h})}),t[20]=b,t[21]=k);let A;return t[22]!==O||t[23]!==k?(A=(0,q.jsxs)(q.Fragment,{children:[O,k]}),t[22]=O,t[23]=k,t[24]=A):A=t[24],A}export{pt as StreamingController}; \ No newline at end of file diff --git a/docs/assets/Texture-D2i1vM3o.js b/docs/assets/Texture-D2i1vM3o.js new file mode 100644 index 00000000..641fff22 --- /dev/null +++ b/docs/assets/Texture-D2i1vM3o.js @@ -0,0 +1 @@ +import{r as e}from"./chunk-DECur_0Z.js";import{r as t}from"./jsx-runtime-BpGWiA-R.js";import{a as n,o as r}from"./react-three-fiber.esm-CD18QK1u.js";import{Bt as i,zt as a}from"./three.module-C9W4LJrj.js";var o=e(t()),s=e=>e===Object(e)&&!Array.isArray(e)&&typeof e!=`function`;function c(e,t){let c=r(e=>e.gl),l=n(i,s(e)?Object.values(e):e);return(0,o.useLayoutEffect)(()=>{t?.(l)},[t]),(0,o.useEffect)(()=>{if(`initTexture`in c){let e=[];Array.isArray(l)?e=l:l instanceof a?e=[l]:s(l)&&(e=Object.values(l)),e.forEach(e=>{e instanceof a&&c.initTexture(e)})}},[c,l]),(0,o.useMemo)(()=>{if(s(e)){let t={},n=0;for(let r in e)t[r]=l[n++];return t}else return l},[e,l])}c.preload=e=>n.preload(i,e),c.clear=e=>n.clear(i,e);export{c as t}; \ No newline at end of file diff --git a/docs/assets/Texture-D7437V2F.js b/docs/assets/Texture-D7437V2F.js deleted file mode 100644 index 2ea65056..00000000 --- a/docs/assets/Texture-D7437V2F.js +++ /dev/null @@ -1 +0,0 @@ -import{r as e}from"./chunk-DECur_0Z.js";import{r as t}from"./jsx-runtime-BpGWiA-R.js";import{c as n,s as r}from"./Html-DrHEhPVE.js";import{Rt as i,zt as a}from"./three.module-DRRYkRPO.js";var o=e(t()),s=e=>e===Object(e)&&!Array.isArray(e)&&typeof e!=`function`;function c(e,t){let c=n(e=>e.gl),l=r(a,s(e)?Object.values(e):e);return(0,o.useLayoutEffect)(()=>{t?.(l)},[t]),(0,o.useEffect)(()=>{if(`initTexture`in c){let e=[];Array.isArray(l)?e=l:l instanceof i?e=[l]:s(l)&&(e=Object.values(l)),e.forEach(e=>{e instanceof i&&c.initTexture(e)})}},[c,l]),(0,o.useMemo)(()=>{if(s(e)){let t={},n=0;for(let r in e)t[r]=l[n++];return t}else return l},[e,l])}c.preload=e=>r.preload(a,e),c.clear=e=>r.clear(a,e);export{c as t}; \ No newline at end of file diff --git a/docs/assets/TouchHandler--H5QPJbJ.js b/docs/assets/TouchHandler--H5QPJbJ.js deleted file mode 100644 index 22bc6ca3..00000000 --- a/docs/assets/TouchHandler--H5QPJbJ.js +++ /dev/null @@ -1 +0,0 @@ -import{n as e}from"./jsx-runtime-BpGWiA-R.js";import{o as t}from"./Html-DrHEhPVE.js";import{r as n}from"./SettingsProvider-DVIFsPwe.js";import{n as r}from"./JoystickContext-BJFVWHNC.js";import{f as i,h as a}from"./index-Ds_qp2Yy.js";var o=e(),s=.004,c=2.5,l=.08,u=.15,d=.15;function f(){let e=(0,o.c)(9),{speedMultiplier:f,touchMode:p,invertDrag:m,invertJoystick:h}=n(),{moveState:g,lookState:_}=r(),v=a(),[,y]=i(),b;return e[0]!==y||e[1]!==m||e[2]!==h||e[3]!==_.current||e[4]!==g.current||e[5]!==v||e[6]!==f||e[7]!==p?(b=(e,t)=>{let{force:n,angle:r}=g.current,{force:i,angle:a}=_.current,o=y().touchLook,b=m?1:-1,x=0,S=0;p===`moveLookStick`&&o&&o.dragging&&(x=b*o.deltaX*s,S=b*o.deltaY*s);let C=0,w=0;if(p===`dualStick`){if(i>u){let e=(i-u)/(1-u),n=Math.cos(a),r=Math.sin(a),o=h?1:-1;x-=o*n*e*c*t,S+=o*r*e*c*t}if(n>l){let e=(n-l)/(1-l),t=Math.cos(r),i=Math.sin(r);C=Math.max(-1,Math.min(1,t*e*(.8*f+.05))),w=Math.max(-1,Math.min(1,i*e*(.8*f+.05)))}}else if(p===`moveLookStick`&&n>0&&(w=Math.min(1,.5*f+.05),n>=d)){let e=Math.cos(r),i=Math.sin(r),a=(n-d)/(1-d),o=h?1:-1;x-=o*e*a*c*.5*t,S+=o*i*a*c*.5*t}!(x!==0||S!==0)&&!(C!==0||w!==0)||v({deltaYaw:x,deltaPitch:S,x:C,y:w,z:0,triggers:[],delta:t})},e[0]=y,e[1]=m,e[2]=h,e[3]=_.current,e[4]=g.current,e[5]=v,e[6]=f,e[7]=p,e[8]=b):b=e[8],t(b),null}export{f as TouchHandler}; \ No newline at end of file diff --git a/docs/assets/TouchHandler-DHnTaPUe.js b/docs/assets/TouchHandler-DHnTaPUe.js new file mode 100644 index 00000000..dc0271ce --- /dev/null +++ b/docs/assets/TouchHandler-DHnTaPUe.js @@ -0,0 +1 @@ +import{n as e}from"./jsx-runtime-BpGWiA-R.js";import{i as t}from"./react-three-fiber.esm-CD18QK1u.js";import{r as n}from"./SettingsProvider-D-grt5cc.js";import{n as r}from"./JoystickContext-D1zeSnLk.js";import{E as i,k as a}from"./index-BEKjcnfN.js";var o=e(),s=.004,c=2.5,l=.08,u=.15,d=.15;function f(){let e=(0,o.c)(9),{speedMultiplier:f,touchMode:p,invertDrag:m,invertJoystick:h}=n(),{moveState:g,lookState:_}=r(),v=a(),[,y]=i(),b;return e[0]!==y||e[1]!==m||e[2]!==h||e[3]!==_.current||e[4]!==g.current||e[5]!==v||e[6]!==f||e[7]!==p?(b=(e,t)=>{let{force:n,angle:r}=g.current,{force:i,angle:a}=_.current,o=y().touchLook,b=m?1:-1,x=0,S=0;p===`moveLookStick`&&o&&o.dragging&&(x=b*o.deltaX*s,S=b*o.deltaY*s);let C=0,w=0;if(p===`dualStick`){if(i>u){let e=(i-u)/(1-u),n=Math.cos(a),r=Math.sin(a),o=h?1:-1;x-=o*n*e*c*t,S+=o*r*e*c*t}if(n>l){let e=(n-l)/(1-l),t=Math.cos(r),i=Math.sin(r);C=Math.max(-1,Math.min(1,t*e*(.8*f+.05))),w=Math.max(-1,Math.min(1,i*e*(.8*f+.05)))}}else if(p===`moveLookStick`&&n>0&&(w=Math.min(1,.5*f+.05),n>=d)){let e=Math.cos(r),i=Math.sin(r),a=(n-d)/(1-d),o=h?1:-1;x-=o*e*a*c*.5*t,S+=o*i*a*c*.5*t}!(x!==0||S!==0)&&!(C!==0||w!==0)||v({deltaYaw:x,deltaPitch:S,x:C,y:w,z:0,triggers:[],delta:t})},e[0]=y,e[1]=m,e[2]=h,e[3]=_.current,e[4]=g.current,e[5]=v,e[6]=f,e[7]=p,e[8]=b):b=e[8],t(b),null}export{f as TouchHandler}; \ No newline at end of file diff --git a/docs/assets/TouchJoystick-CG4pSMHq.js b/docs/assets/TouchJoystick-CGPWexYp.js similarity index 84% rename from docs/assets/TouchJoystick-CG4pSMHq.js rename to docs/assets/TouchJoystick-CGPWexYp.js index 7eff86c2..3d667f9a 100644 --- a/docs/assets/TouchJoystick-CG4pSMHq.js +++ b/docs/assets/TouchJoystick-CGPWexYp.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/nipplejs-BmryTG2V.js","assets/chunk-DECur_0Z.js"])))=>i.map(i=>d[i]); -import{r as e}from"./chunk-DECur_0Z.js";import{r as t,t as n}from"./jsx-runtime-BpGWiA-R.js";import{r}from"./SettingsProvider-DVIFsPwe.js";import{t as i}from"./preload-helper-yuLzSqLi.js";import{n as a}from"./JoystickContext-BJFVWHNC.js";var o=e(t(),1),s={Joystick:`_Joystick_155b9_1`,Left:`_Left_155b9_11 _Joystick_155b9_1`,Right:`_Right_155b9_17 _Joystick_155b9_1`},c=n();function l(e){let t=e.querySelector(`.back`);t&&(t.style.background=`rgba(3, 79, 76, 0.6)`,t.style.border=`1px solid rgba(0, 219, 223, 0.5)`,t.style.boxShadow=`inset 0 0 10px rgba(0, 0, 0, 0.7)`);let n=e.querySelector(`.front`);n&&(n.style.background=`radial-gradient(circle at 50% 50%, rgba(23, 247, 198, 0.9) 0%, rgba(9, 184, 170, 0.95) 100%)`,n.style.border=`2px solid rgba(255, 255, 255, 0.4)`,n.style.boxShadow=`0 2px 4px rgba(0, 0, 0, 0.5), 0 1px 1px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.15), inset 0 -1px 2px rgba(0, 0, 0, 0.3)`)}function u(){let{touchMode:t}=r(),[n,u]=(0,o.useState)(null),[d,f]=(0,o.useState)(null),{moveState:p,lookState:m,setMoveState:h,setLookState:g}=a();(0,o.useEffect)(()=>{if(!n)return;let t=null,r=!1;return i(()=>import(`./nipplejs-BmryTG2V.js`).then(t=>e(t.default,1)).then(e=>{r||(t=e.default.create({zone:n,mode:`static`,position:{left:`70px`,bottom:`70px`},size:120,restOpacity:.9,dynamicPage:!0}),l(n),t.on(`move`,(e,t)=>{h({angle:t.angle.radian,force:Math.min(1,t.force)})}),t.on(`end`,()=>{h({force:0})}))}),__vite__mapDeps([0,1])),()=>{r=!0,t?.destroy()}},[p,n,h]),(0,o.useEffect)(()=>{if(!d)return;let t=null,n=!1;return i(()=>import(`./nipplejs-BmryTG2V.js`).then(t=>e(t.default,1)).then(e=>{n||(t=e.default.create({zone:d,mode:`static`,position:{right:`70px`,bottom:`70px`},size:120,restOpacity:.9,dynamicPage:!0}),l(d),t.on(`move`,(e,t)=>{g({angle:t.angle.radian,force:Math.min(1,t.force)})}),t.on(`end`,()=>{g({force:0})}))}),__vite__mapDeps([0,1])),()=>{n=!0,t?.destroy()}},[m,d,g]);let _=()=>{document.activeElement instanceof HTMLElement&&document.activeElement.blur()};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(`div`,{ref:u,className:t===`dualStick`?s.Left:s.Joystick,onContextMenu:e=>e.preventDefault(),onTouchStart:_},t),t===`dualStick`?(0,c.jsx)(`div`,{ref:f,className:s.Right,onContextMenu:e=>e.preventDefault(),onTouchStart:_}):null]})}export{u as TouchJoystick}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/nipplejs-cKsequWj.js","assets/chunk-DECur_0Z.js"])))=>i.map(i=>d[i]); +import{r as e}from"./chunk-DECur_0Z.js";import{r as t,t as n}from"./jsx-runtime-BpGWiA-R.js";import{r}from"./SettingsProvider-D-grt5cc.js";import{t as i}from"./preload-helper-BPkniflS.js";import{n as a}from"./JoystickContext-D1zeSnLk.js";var o=e(t(),1),s={Joystick:`_Joystick_155b9_1`,Left:`_Left_155b9_11 _Joystick_155b9_1`,Right:`_Right_155b9_17 _Joystick_155b9_1`},c=n();function l(e){let t=e.querySelector(`.back`);t&&(t.style.background=`rgba(3, 79, 76, 0.6)`,t.style.border=`1px solid rgba(0, 219, 223, 0.5)`,t.style.boxShadow=`inset 0 0 10px rgba(0, 0, 0, 0.7)`);let n=e.querySelector(`.front`);n&&(n.style.background=`radial-gradient(circle at 50% 50%, rgba(23, 247, 198, 0.9) 0%, rgba(9, 184, 170, 0.95) 100%)`,n.style.border=`2px solid rgba(255, 255, 255, 0.4)`,n.style.boxShadow=`0 2px 4px rgba(0, 0, 0, 0.5), 0 1px 1px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.15), inset 0 -1px 2px rgba(0, 0, 0, 0.3)`)}function u(){let{touchMode:t}=r(),[n,u]=(0,o.useState)(null),[d,f]=(0,o.useState)(null),{moveState:p,lookState:m,setMoveState:h,setLookState:g}=a();(0,o.useEffect)(()=>{if(!n)return;let t=null,r=!1;return i(()=>import(`./nipplejs-cKsequWj.js`).then(t=>e(t.default,1)).then(e=>{r||(t=e.default.create({zone:n,mode:`static`,position:{left:`70px`,bottom:`70px`},size:120,restOpacity:.9,dynamicPage:!0}),l(n),t.on(`move`,(e,t)=>{h({angle:t.angle.radian,force:Math.min(1,t.force)})}),t.on(`end`,()=>{h({force:0})}))}),__vite__mapDeps([0,1])),()=>{r=!0,t?.destroy()}},[p,n,h]),(0,o.useEffect)(()=>{if(!d)return;let t=null,n=!1;return i(()=>import(`./nipplejs-cKsequWj.js`).then(t=>e(t.default,1)).then(e=>{n||(t=e.default.create({zone:d,mode:`static`,position:{right:`70px`,bottom:`70px`},size:120,restOpacity:.9,dynamicPage:!0}),l(d),t.on(`move`,(e,t)=>{g({angle:t.angle.radian,force:Math.min(1,t.force)})}),t.on(`end`,()=>{g({force:0})}))}),__vite__mapDeps([0,1])),()=>{n=!0,t?.destroy()}},[m,d,g]);let _=()=>{document.activeElement instanceof HTMLElement&&document.activeElement.blur()};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(`div`,{ref:u,className:t===`dualStick`?s.Left:s.Joystick,onContextMenu:e=>e.preventDefault(),onTouchStart:_},t),t===`dualStick`?(0,c.jsx)(`div`,{ref:f,className:s.Right,onContextMenu:e=>e.preventDefault(),onTouchStart:_}):null]})}export{u as TouchJoystick}; \ No newline at end of file diff --git a/docs/assets/WaterBlock-BEenNkk_.js b/docs/assets/WaterBlock-BEenNkk_.js new file mode 100644 index 00000000..d53ba3cb --- /dev/null +++ b/docs/assets/WaterBlock-BEenNkk_.js @@ -0,0 +1,174 @@ +import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import{i,o as a}from"./react-three-fiber.esm-CD18QK1u.js";import{a as o,i as s}from"./SettingsProvider-D-grt5cc.js";import{r as c}from"./cameraTourStore-DQ989o2x.js";import{Ot as l,_t as ee,b as u,jt as d,rt as f}from"./three.module-C9W4LJrj.js";import{n as te,r as p,t as ne}from"./scene-BpfzP6B-.js";import{t as m}from"./extends-DPirtscy.js";import{t as h}from"./Texture-D2i1vM3o.js";import{p as g}from"./index-BEKjcnfN.js";import{t as _}from"./DebugBounds-BnJbEQUF.js";import{a as v,d as y,t as b}from"./globalFogUniforms-BQRkMz5n.js";import{t as x}from"./useAnisotropy-Dq6cNuNI.js";var S=e(n());function C(e,t){let n=e+`Geometry`;return S.forwardRef(({args:e,children:r,...i},a)=>{let o=S.useRef(null);return S.useImperativeHandle(a,()=>o.current),S.useLayoutEffect(()=>void t?.(o.current)),S.createElement(`mesh`,m({ref:o},i),S.createElement(n,{attach:`geometry`,args:e}),r)})}var w=C(`box`),T=t(),E=` + #include + + #ifdef USE_FOG + #define USE_FOG_WORLD_POSITION + varying vec3 vFogWorldPosition; + #endif + + uniform float uTime; + uniform float uWaveMagnitude; + + varying vec3 vWorldPosition; + varying vec3 vViewVector; + varying float vDistance; + + // Wave function matching Tribes 2 engine + // Z = surfaceZ + (sin(X*0.05 + time) + sin(Y*0.05 + time)) * waveFactor + // waveFactor = waveAmplitude * 0.25 + // Note: Using xz for Three.js Y-up (Torque uses XY with Z-up) + float getWaveHeight(vec3 worldPos) { + float waveFactor = uWaveMagnitude * 0.25; + return (sin(worldPos.x * 0.05 + uTime) + sin(worldPos.z * 0.05 + uTime)) * waveFactor; + } + + void main() { + // Apply instance transform when using InstancedMesh. + #ifdef USE_INSTANCING + mat4 localModel = modelMatrix * instanceMatrix; + #else + mat4 localModel = modelMatrix; + #endif + + // Get world position for wave calculation + vec4 worldPos = localModel * vec4(position, 1.0); + vWorldPosition = worldPos.xyz; + + // Apply wave displacement to Y (vertical axis in Three.js) + vec3 displaced = position; + displaced.y += getWaveHeight(worldPos.xyz); + + // Calculate final world position after displacement for fog + #ifdef USE_FOG + vec4 displacedWorldPos = localModel * vec4(displaced, 1.0); + vFogWorldPosition = displacedWorldPos.xyz; + #endif + + // Calculate view vector for environment mapping + vViewVector = cameraPosition - worldPos.xyz; + vDistance = length(vViewVector); + + vec4 mvPosition = viewMatrix * localModel * vec4(displaced, 1.0); + gl_Position = projectionMatrix * mvPosition; + + // Set fog depth (distance from camera) - normally done by fog_vertex include + // but we can't use that include because it references 'transformed' which we don't have + #ifdef USE_FOG + vFogDepth = length(mvPosition.xyz); + #endif + } +`,re=` + #define HAS_FOG_DISTANCE_SCALE + #include + + // Enable volumetric fog (must be defined before fog uniforms) + #ifdef USE_FOG + #define USE_VOLUMETRIC_FOG + #define USE_FOG_WORLD_POSITION + #endif + + uniform float uTime; + uniform float uOpacity; + uniform float uEnvMapIntensity; + uniform sampler2D uBaseTexture; + uniform sampler2D uEnvMapTexture; + + // Volumetric fog uniforms + #ifdef USE_FOG + uniform float fogVolumeData[12]; + uniform float cameraHeight; + uniform bool fogEnabled; + varying vec3 vFogWorldPosition; + #endif + + varying vec3 vWorldPosition; + varying vec3 vViewVector; + varying float vDistance; + + #define TWO_PI 6.283185307179586 + + // Constants from Tribes 2 engine + #define BASE_DRIFT_CYCLE_TIME 8.0 + #define BASE_DRIFT_RATE 0.02 + #define BASE_DRIFT_SCALAR 0.03 + #define TEXTURE_SCALE (1.0 / 48.0) + + // Environment map UV wobble constants + #define Q1 150.0 + #define Q2 2.0 + #define Q3 0.01 + + // Rotate UV coordinates + vec2 rotateUV(vec2 uv, float angle) { + float c = cos(angle); + float s = sin(angle); + return vec2( + uv.x * c - uv.y * s, + uv.x * s + uv.y * c + ); + } + + void main() { + // Calculate base texture UVs using world position (1/48 tiling) + vec2 baseUV = vWorldPosition.xz * TEXTURE_SCALE; + + // Phase (time in radians for drift cycle) + float phase = mod(uTime * (TWO_PI / BASE_DRIFT_CYCLE_TIME), TWO_PI); + + // Base texture drift + float baseDriftX = uTime * BASE_DRIFT_RATE; + float baseDriftY = cos(phase) * BASE_DRIFT_SCALAR; + + // === Phase 1a: First base texture pass (rotated 30 degrees) === + vec2 uv1a = rotateUV(baseUV, radians(30.0)); + + // === Phase 1b: Second base texture pass (rotated 60 degrees total, with drift) === + vec2 uv1b = rotateUV(baseUV + vec2(baseDriftX, baseDriftY), radians(60.0)); + + // Calculate cross-fade swing value + float A1 = cos(((vWorldPosition.x / Q1) + (uTime / Q2)) * 6.0); + float A2 = sin(((vWorldPosition.z / Q1) + (uTime / Q2)) * TWO_PI); + float swing = (A1 + A2) * 0.15 + 0.5; + + // Cross-fade alpha calculation from engine + float alpha1a = ((1.0 - swing) * uOpacity) / max(1.0 - (swing * uOpacity), 0.001); + float alpha1b = swing * uOpacity; + + // Sample base texture for both passes + vec4 texColor1a = texture2D(uBaseTexture, uv1a); + vec4 texColor1b = texture2D(uBaseTexture, uv1b); + + // Combined alpha and color + float combinedAlpha = 1.0 - (1.0 - alpha1a) * (1.0 - alpha1b); + vec3 baseColor = (texColor1a.rgb * alpha1a * (1.0 - alpha1b) + texColor1b.rgb * alpha1b) / max(combinedAlpha, 0.001); + + // === Phase 3: Environment map / specular === + vec3 reflectVec = -vViewVector; + reflectVec.y = abs(reflectVec.y); + if (reflectVec.y < 0.001) reflectVec.y = 0.001; + + vec2 envUV; + if (vDistance < 0.001) { + envUV = vec2(0.0); + } else { + float value = (vDistance - reflectVec.y) / (vDistance * vDistance); + envUV.x = reflectVec.x * value; + envUV.y = reflectVec.z * value; + } + + envUV = envUV * 0.5 + 0.5; + envUV.x += A1 * Q3; + envUV.y += A2 * Q3; + + vec4 envColor = texture2D(uEnvMapTexture, envUV); + vec3 finalColor = baseColor + envColor.rgb * envColor.a * uEnvMapIntensity; + + // Note: Tribes 2 water does NOT use lighting - Phase 2 (lightmap) is disabled + // in the original engine. Water colors come directly from textures. + + gl_FragColor = vec4(finalColor, combinedAlpha); + + // Apply volumetric fog using shared Torque-style fog shader + ${v} + } +`;function D(e){return new d({uniforms:{uTime:{value:0},uOpacity:{value:e?.opacity??.75},uWaveMagnitude:{value:e?.waveMagnitude??1},uEnvMapIntensity:{value:e?.envMapIntensity??1},uBaseTexture:{value:e?.baseTexture??null},uEnvMapTexture:{value:e?.envMapTexture??null},fogColor:{value:new u},fogNear:{value:1},fogFar:{value:2e3},fogVolumeData:b.fogVolumeData,cameraHeight:b.cameraHeight,fogEnabled:b.fogEnabled,fogDistanceScale:b.fogDistanceScale},vertexShader:E,fragmentShader:re,transparent:!0,side:2,depthWrite:!0,fog:!0})}function ie(){let e=(0,T.c)(1),t=(0,S.useRef)(null),n;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=e=>{if(!t.current)return t.current=e.clone(),!0;let n=t.current.x===e.x&&t.current.y===e.y&&t.current.z===e.z;return n||t.current.copy(e),n},e[0]=n):n=e[0],n}var O=r(),k=2048,A=1024;function ae(e,t){let n=e<=1024&&t<=1024?8:16;return[Math.max(4,Math.ceil(e/n)),Math.max(4,Math.ceil(t/n))]}function oe(e){let t=(0,T.c)(7),{surfaceTexture:n,attach:r}=e,i;t[0]===n?i=t[1]:(i=g(n),t[0]=n,t[1]=i);let a=i,o=x(),s;t[2]===o?s=t[3]:(s=e=>y(e,{anisotropy:o}),t[2]=o,t[3]=s);let c=h(a,s),l;return t[4]!==r||t[5]!==c?(l=(0,O.jsx)(`meshStandardMaterial`,{attach:r,map:c,transparent:!0,opacity:.8,side:2}),t[4]=r,t[5]=c,t[6]=l):l=t[6],l}var j=(0,S.memo)(function(e){let t=(0,T.c)(68),{entity:n}=e,r=n.waterData,o=c(n.id),{debugMode:l}=s(),u;t[0]===r.transform?u=t[1]:(u=ne(r.transform),t[0]=r.transform,t[1]=u);let d=u,f;t[2]===r.transform.position?f=t[3]:(f=p(r.transform.position),t[2]=r.transform.position,t[3]=f);let m=f,h;t[4]===r.scale?h=t[5]:(h=te(r.scale),t[4]=r.scale,t[5]=h);let g=h,[v,y,b]=g,x=a(ce),C=ie(),E=r.waveMagnitude,[re,D,oe]=m,j=re+A,M=oe+A,N;t[6]===j?N=t[7]:(N=Math.round(j/8),t[6]=j,t[7]=N);let ue=N,P;t[8]===M?P=t[9]:(P=Math.round(M/8),t[8]=M,t[9]=P);let de=P;ue=Math.max(0,Math.min(2040,ue)),de=Math.max(0,Math.min(2040,de));let fe=ue*8,F=de*8,I;t[10]!==fe||t[11]!==F||t[12]!==D?(I=[fe,D,F],t[10]=fe,t[11]=F,t[12]=D,t[13]=I):I=t[13];let L=I,pe=le,R;t[14]!==x.position.x||t[15]!==x.position.z?(R=()=>pe(x.position.x,x.position.z),t[14]=x.position.x,t[15]=x.position.z,t[16]=R):R=t[16];let[z,me]=(0,S.useState)(R),B;t[17]!==x.position||t[18]!==C?(B=()=>{if(!C(x.position))return;let e=pe(x.position.x,x.position.z);me(t=>t.length===e.length&&t.every((t,n)=>t[0]===e[n][0]&&t[1]===e[n][1])?t:e)},t[17]=x.position,t[18]=C,t[19]=B):B=t[19],i(B);let V=r.surfaceName||`liquidTiles/BlueWater`,H=r.envMapName||void 0,U=r.surfaceOpacity,he=r.envMapIntensity,W;if(t[20]!==v||t[21]!==y||t[22]!==b){let[e,n]=ae(v,b);W=new ee(v,b,e,n),W.rotateX(-Math.PI/2),W.translate(v/2,y,b/2),t[20]=v,t[21]=y,t[22]=b,t[23]=W}else W=t[23];let G=W,K,q;t[24]===G?(K=t[25],q=t[26]):(q=()=>()=>{G.dispose()},K=[G],t[24]=G,t[25]=K,t[26]=q),(0,S.useEffect)(q,K);let J;t[27]!==l||t[28]!==m[0]||t[29]!==m[1]||t[30]!==m[2]||t[31]!==g||t[32]!==v||t[33]!==y||t[34]!==b?(J=l&&(0,O.jsx)(w,{args:g,position:[m[0]+v/2,m[1]+y/2,m[2]+b/2],children:(0,O.jsx)(`meshBasicMaterial`,{color:`#00fbff`,wireframe:!0})}),t[27]=l,t[28]=m[0],t[29]=m[1],t[30]=m[2],t[31]=g,t[32]=v,t[33]=y,t[34]=b,t[35]=J):J=t[35];let Y;t[36]!==o||t[37]!==m[0]||t[38]!==m[1]||t[39]!==m[2]||t[40]!==v||t[41]!==y||t[42]!==b?(Y=o&&(0,O.jsx)(`group`,{position:[m[0]+v/2,m[1]+y/2,m[2]+b/2],children:(0,O.jsx)(_,{size:[v,y,b]})}),t[36]=o,t[37]=m[0],t[38]=m[1],t[39]=m[2],t[40]=v,t[41]=y,t[42]=b,t[43]=Y):Y=t[43];let X;if(t[44]!==L||t[45]!==z||t[46]!==G){let e;t[48]!==L||t[49]!==G?(e=e=>{let[t,n]=e,r=L[0]+t*k-A,i=L[2]+n*k-A;return(0,O.jsx)(`mesh`,{geometry:G,position:[r,L[1],i],children:(0,O.jsx)(`meshStandardMaterial`,{color:`#00fbff`,transparent:!0,opacity:.4,wireframe:!0,side:2})},`${t},${n}`)},t[48]=L,t[49]=G,t[50]=e):e=t[50],X=z.map(e),t[44]=L,t[45]=z,t[46]=G,t[47]=X}else X=t[47];let Z;t[51]!==L||t[52]!==he||t[53]!==H||t[54]!==U||t[55]!==z||t[56]!==G||t[57]!==V||t[58]!==E?(Z=(0,O.jsx)(se,{reps:z,basePosition:L,surfaceGeometry:G,surfaceTexture:V,envMapTexture:H,opacity:U,waveMagnitude:E,envMapIntensity:he}),t[51]=L,t[52]=he,t[53]=H,t[54]=U,t[55]=z,t[56]=G,t[57]=V,t[58]=E,t[59]=Z):Z=t[59];let Q;t[60]!==X||t[61]!==Z?(Q=(0,O.jsx)(S.Suspense,{fallback:X,children:Z}),t[60]=X,t[61]=Z,t[62]=Q):Q=t[62];let $;return t[63]!==d||t[64]!==J||t[65]!==Y||t[66]!==Q?($=(0,O.jsxs)(`group`,{quaternion:d,children:[J,Y,Q]}),t[63]=d,t[64]=J,t[65]=Y,t[66]=Q,t[67]=$):$=t[67],$}),se=(0,S.memo)(function({reps:e,basePosition:t,surfaceGeometry:n,surfaceTexture:r,envMapTexture:a,opacity:s,waveMagnitude:c,envMapIntensity:ee}){let u=g(r),d=g(a??`special/lush_env`),te=x(),[p,ne]=h([u,d],e=>{(Array.isArray(e)?e:[e]).forEach(e=>{y(e,{anisotropy:te}),e.colorSpace=``,e.wrapS=l,e.wrapT=l})}),{animationEnabled:m}=o(),_=(0,S.useMemo)(()=>D({opacity:s,waveMagnitude:c,envMapIntensity:ee,baseTexture:p,envMapTexture:ne}),[s,c,ee,p,ne]),v=(0,S.useRef)(0),b=(0,S.useRef)(null),C=(0,S.useRef)(new f),w=(0,S.useRef)(null),T=(0,S.useRef)(null);return i((n,r)=>{m?(v.current+=r,_.uniforms.uTime.value=v.current):(v.current=0,_.uniforms.uTime.value=0);let i=b.current;if(!i||i===w.current&&e===T.current)return;w.current=i,T.current=e;let a=C.current;for(let n=0;n()=>{_.dispose()},[_]),(0,O.jsx)(`instancedMesh`,{ref:b,args:[n,_,9],frustumCulled:!1,renderOrder:-1})});function ce(e){return e.camera}function le(e,t){let n=e+A,r=t+A,i=Math.trunc(n/k),a=Math.trunc(r/k);n<0&&i--,r<0&&a--;let o=[];for(let e=a-1;e<=a+1;e++)for(let t=i-1;t<=i+1;t++)o.push([t,e]);return o}export{j as WaterBlock,oe as WaterMaterial}; \ No newline at end of file diff --git a/docs/assets/WaterBlock-D0vGBv3d.js b/docs/assets/WaterBlock-D0vGBv3d.js deleted file mode 100644 index 20db3e1a..00000000 --- a/docs/assets/WaterBlock-D0vGBv3d.js +++ /dev/null @@ -1,173 +0,0 @@ -import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import{c as i,n as a,o}from"./Html-DrHEhPVE.js";import{a as s,i as c}from"./SettingsProvider-DVIFsPwe.js";import{p as l}from"./loaders-BhaVxgpz.js";import{At as u,Dt as d,b as f,gt as ee,nt as p}from"./three.module-DRRYkRPO.js";import{t as m}from"./Texture-D7437V2F.js";import{n as te,r as ne,t as re}from"./scene-6ZXksKVQ.js";import{a as h,t as g}from"./globalFogUniforms-CCW7odYy.js";import{a as _,t as v}from"./useAnisotropy-nhH7jNtm.js";var y=e(n());function b(e,t){let n=e+`Geometry`;return y.forwardRef(({args:e,children:r,...i},o)=>{let s=y.useRef(null);return y.useImperativeHandle(o,()=>s.current),y.useLayoutEffect(()=>void t?.(s.current)),y.createElement(`mesh`,a({ref:s},i),y.createElement(n,{attach:`geometry`,args:e}),r)})}var x=b(`box`),S=t(),C=` - #include - - #ifdef USE_FOG - #define USE_FOG_WORLD_POSITION - varying vec3 vFogWorldPosition; - #endif - - uniform float uTime; - uniform float uWaveMagnitude; - - varying vec3 vWorldPosition; - varying vec3 vViewVector; - varying float vDistance; - - // Wave function matching Tribes 2 engine - // Z = surfaceZ + (sin(X*0.05 + time) + sin(Y*0.05 + time)) * waveFactor - // waveFactor = waveAmplitude * 0.25 - // Note: Using xz for Three.js Y-up (Torque uses XY with Z-up) - float getWaveHeight(vec3 worldPos) { - float waveFactor = uWaveMagnitude * 0.25; - return (sin(worldPos.x * 0.05 + uTime) + sin(worldPos.z * 0.05 + uTime)) * waveFactor; - } - - void main() { - // Apply instance transform when using InstancedMesh. - #ifdef USE_INSTANCING - mat4 localModel = modelMatrix * instanceMatrix; - #else - mat4 localModel = modelMatrix; - #endif - - // Get world position for wave calculation - vec4 worldPos = localModel * vec4(position, 1.0); - vWorldPosition = worldPos.xyz; - - // Apply wave displacement to Y (vertical axis in Three.js) - vec3 displaced = position; - displaced.y += getWaveHeight(worldPos.xyz); - - // Calculate final world position after displacement for fog - #ifdef USE_FOG - vec4 displacedWorldPos = localModel * vec4(displaced, 1.0); - vFogWorldPosition = displacedWorldPos.xyz; - #endif - - // Calculate view vector for environment mapping - vViewVector = cameraPosition - worldPos.xyz; - vDistance = length(vViewVector); - - vec4 mvPosition = viewMatrix * localModel * vec4(displaced, 1.0); - gl_Position = projectionMatrix * mvPosition; - - // Set fog depth (distance from camera) - normally done by fog_vertex include - // but we can't use that include because it references 'transformed' which we don't have - #ifdef USE_FOG - vFogDepth = length(mvPosition.xyz); - #endif - } -`,w=` - #include - - // Enable volumetric fog (must be defined before fog uniforms) - #ifdef USE_FOG - #define USE_VOLUMETRIC_FOG - #define USE_FOG_WORLD_POSITION - #endif - - uniform float uTime; - uniform float uOpacity; - uniform float uEnvMapIntensity; - uniform sampler2D uBaseTexture; - uniform sampler2D uEnvMapTexture; - - // Volumetric fog uniforms - #ifdef USE_FOG - uniform float fogVolumeData[12]; - uniform float cameraHeight; - uniform bool fogEnabled; - varying vec3 vFogWorldPosition; - #endif - - varying vec3 vWorldPosition; - varying vec3 vViewVector; - varying float vDistance; - - #define TWO_PI 6.283185307179586 - - // Constants from Tribes 2 engine - #define BASE_DRIFT_CYCLE_TIME 8.0 - #define BASE_DRIFT_RATE 0.02 - #define BASE_DRIFT_SCALAR 0.03 - #define TEXTURE_SCALE (1.0 / 48.0) - - // Environment map UV wobble constants - #define Q1 150.0 - #define Q2 2.0 - #define Q3 0.01 - - // Rotate UV coordinates - vec2 rotateUV(vec2 uv, float angle) { - float c = cos(angle); - float s = sin(angle); - return vec2( - uv.x * c - uv.y * s, - uv.x * s + uv.y * c - ); - } - - void main() { - // Calculate base texture UVs using world position (1/48 tiling) - vec2 baseUV = vWorldPosition.xz * TEXTURE_SCALE; - - // Phase (time in radians for drift cycle) - float phase = mod(uTime * (TWO_PI / BASE_DRIFT_CYCLE_TIME), TWO_PI); - - // Base texture drift - float baseDriftX = uTime * BASE_DRIFT_RATE; - float baseDriftY = cos(phase) * BASE_DRIFT_SCALAR; - - // === Phase 1a: First base texture pass (rotated 30 degrees) === - vec2 uv1a = rotateUV(baseUV, radians(30.0)); - - // === Phase 1b: Second base texture pass (rotated 60 degrees total, with drift) === - vec2 uv1b = rotateUV(baseUV + vec2(baseDriftX, baseDriftY), radians(60.0)); - - // Calculate cross-fade swing value - float A1 = cos(((vWorldPosition.x / Q1) + (uTime / Q2)) * 6.0); - float A2 = sin(((vWorldPosition.z / Q1) + (uTime / Q2)) * TWO_PI); - float swing = (A1 + A2) * 0.15 + 0.5; - - // Cross-fade alpha calculation from engine - float alpha1a = ((1.0 - swing) * uOpacity) / max(1.0 - (swing * uOpacity), 0.001); - float alpha1b = swing * uOpacity; - - // Sample base texture for both passes - vec4 texColor1a = texture2D(uBaseTexture, uv1a); - vec4 texColor1b = texture2D(uBaseTexture, uv1b); - - // Combined alpha and color - float combinedAlpha = 1.0 - (1.0 - alpha1a) * (1.0 - alpha1b); - vec3 baseColor = (texColor1a.rgb * alpha1a * (1.0 - alpha1b) + texColor1b.rgb * alpha1b) / max(combinedAlpha, 0.001); - - // === Phase 3: Environment map / specular === - vec3 reflectVec = -vViewVector; - reflectVec.y = abs(reflectVec.y); - if (reflectVec.y < 0.001) reflectVec.y = 0.001; - - vec2 envUV; - if (vDistance < 0.001) { - envUV = vec2(0.0); - } else { - float value = (vDistance - reflectVec.y) / (vDistance * vDistance); - envUV.x = reflectVec.x * value; - envUV.y = reflectVec.z * value; - } - - envUV = envUV * 0.5 + 0.5; - envUV.x += A1 * Q3; - envUV.y += A2 * Q3; - - vec4 envColor = texture2D(uEnvMapTexture, envUV); - vec3 finalColor = baseColor + envColor.rgb * envColor.a * uEnvMapIntensity; - - // Note: Tribes 2 water does NOT use lighting - Phase 2 (lightmap) is disabled - // in the original engine. Water colors come directly from textures. - - gl_FragColor = vec4(finalColor, combinedAlpha); - - // Apply volumetric fog using shared Torque-style fog shader - ${h} - } -`;function ie(e){return new u({uniforms:{uTime:{value:0},uOpacity:{value:e?.opacity??.75},uWaveMagnitude:{value:e?.waveMagnitude??1},uEnvMapIntensity:{value:e?.envMapIntensity??1},uBaseTexture:{value:e?.baseTexture??null},uEnvMapTexture:{value:e?.envMapTexture??null},fogColor:{value:new f},fogNear:{value:1},fogFar:{value:2e3},fogVolumeData:g.fogVolumeData,cameraHeight:g.cameraHeight,fogEnabled:g.fogEnabled},vertexShader:C,fragmentShader:w,transparent:!0,side:2,depthWrite:!0,fog:!0})}function ae(){let e=(0,S.c)(1),t=(0,y.useRef)(null),n;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=e=>{if(!t.current)return t.current=e.clone(),!0;let n=t.current.x===e.x&&t.current.y===e.y&&t.current.z===e.z;return n||t.current.copy(e),n},e[0]=n):n=e[0],n}var T=r(),E=2048,D=1024;function oe(e,t){let n=e<=1024&&t<=1024?8:16;return[Math.max(4,Math.ceil(e/n)),Math.max(4,Math.ceil(t/n))]}function O(e){let t=(0,S.c)(7),{surfaceTexture:n,attach:r}=e,i;t[0]===n?i=t[1]:(i=l(n),t[0]=n,t[1]=i);let a=i,o=v(),s;t[2]===o?s=t[3]:(s=e=>_(e,{anisotropy:o}),t[2]=o,t[3]=s);let c=m(a,s),u;return t[4]!==r||t[5]!==c?(u=(0,T.jsx)(`meshStandardMaterial`,{attach:r,map:c,transparent:!0,opacity:.8,side:2}),t[4]=r,t[5]=c,t[6]=u):u=t[6],u}var k=(0,y.memo)(function(e){let t=(0,S.c)(59),{entity:n}=e,r=n.waterData,{debugMode:a}=c(),s;t[0]===r.transform?s=t[1]:(s=re(r.transform),t[0]=r.transform,t[1]=s);let l=s,u;t[2]===r.transform.position?u=t[3]:(u=ne(r.transform.position),t[2]=r.transform.position,t[3]=u);let d=u,f;t[4]===r.scale?f=t[5]:(f=te(r.scale),t[4]=r.scale,t[5]=f);let p=f,[m,h,g]=p,_=i(ce),v=ae(),b=r.waveMagnitude,[C,w,ie]=d,O=C+D,k=ie+D,A;t[6]===O?A=t[7]:(A=Math.round(O/8),t[6]=O,t[7]=A);let j=A,M;t[8]===k?M=t[9]:(M=Math.round(k/8),t[8]=k,t[9]=M);let N=M;j=Math.max(0,Math.min(2040,j)),N=Math.max(0,Math.min(2040,N));let P=j*8,F=N*8,I;t[10]!==P||t[11]!==F||t[12]!==w?(I=[P,w,F],t[10]=P,t[11]=F,t[12]=w,t[13]=I):I=t[13];let L=I,ue=le,R;t[14]!==_.position.x||t[15]!==_.position.z?(R=()=>ue(_.position.x,_.position.z),t[14]=_.position.x,t[15]=_.position.z,t[16]=R):R=t[16];let[z,de]=(0,y.useState)(R),B;t[17]!==_.position||t[18]!==v?(B=()=>{if(!v(_.position))return;let e=ue(_.position.x,_.position.z);de(t=>t.length===e.length&&t.every((t,n)=>t[0]===e[n][0]&&t[1]===e[n][1])?t:e)},t[17]=_.position,t[18]=v,t[19]=B):B=t[19],o(B);let V=r.surfaceName||`liquidTiles/BlueWater`,H=r.envMapName||void 0,U=r.surfaceOpacity,W=r.envMapIntensity,G;if(t[20]!==m||t[21]!==h||t[22]!==g){let[e,n]=oe(m,g);G=new ee(m,g,e,n),G.rotateX(-Math.PI/2),G.translate(m/2,h,g/2),t[20]=m,t[21]=h,t[22]=g,t[23]=G}else G=t[23];let K=G,q,J;t[24]===K?(q=t[25],J=t[26]):(J=()=>()=>{K.dispose()},q=[K],t[24]=K,t[25]=q,t[26]=J),(0,y.useEffect)(J,q);let Y;t[27]!==a||t[28]!==d[0]||t[29]!==d[1]||t[30]!==d[2]||t[31]!==p||t[32]!==m||t[33]!==h||t[34]!==g?(Y=a&&(0,T.jsx)(x,{args:p,position:[d[0]+m/2,d[1]+h/2,d[2]+g/2],children:(0,T.jsx)(`meshBasicMaterial`,{color:`#00fbff`,wireframe:!0})}),t[27]=a,t[28]=d[0],t[29]=d[1],t[30]=d[2],t[31]=p,t[32]=m,t[33]=h,t[34]=g,t[35]=Y):Y=t[35];let X;if(t[36]!==L||t[37]!==z||t[38]!==K){let e;t[40]!==L||t[41]!==K?(e=e=>{let[t,n]=e,r=L[0]+t*E-D,i=L[2]+n*E-D;return(0,T.jsx)(`mesh`,{geometry:K,position:[r,L[1],i],children:(0,T.jsx)(`meshStandardMaterial`,{color:`#00fbff`,transparent:!0,opacity:.4,wireframe:!0,side:2})},`${t},${n}`)},t[40]=L,t[41]=K,t[42]=e):e=t[42],X=z.map(e),t[36]=L,t[37]=z,t[38]=K,t[39]=X}else X=t[39];let Z;t[43]!==L||t[44]!==W||t[45]!==H||t[46]!==U||t[47]!==z||t[48]!==K||t[49]!==V||t[50]!==b?(Z=(0,T.jsx)(se,{reps:z,basePosition:L,surfaceGeometry:K,surfaceTexture:V,envMapTexture:H,opacity:U,waveMagnitude:b,envMapIntensity:W}),t[43]=L,t[44]=W,t[45]=H,t[46]=U,t[47]=z,t[48]=K,t[49]=V,t[50]=b,t[51]=Z):Z=t[51];let Q;t[52]!==X||t[53]!==Z?(Q=(0,T.jsx)(y.Suspense,{fallback:X,children:Z}),t[52]=X,t[53]=Z,t[54]=Q):Q=t[54];let $;return t[55]!==l||t[56]!==Y||t[57]!==Q?($=(0,T.jsxs)(`group`,{quaternion:l,children:[Y,Q]}),t[55]=l,t[56]=Y,t[57]=Q,t[58]=$):$=t[58],$}),se=(0,y.memo)(function({reps:e,basePosition:t,surfaceGeometry:n,surfaceTexture:r,envMapTexture:i,opacity:a,waveMagnitude:c,envMapIntensity:u}){let f=l(r),ee=l(i??`special/lush_env`),te=v(),[ne,re]=m([f,ee],e=>{(Array.isArray(e)?e:[e]).forEach(e=>{_(e,{anisotropy:te}),e.colorSpace=``,e.wrapS=d,e.wrapT=d})}),{animationEnabled:h}=s(),g=(0,y.useMemo)(()=>ie({opacity:a,waveMagnitude:c,envMapIntensity:u,baseTexture:ne,envMapTexture:re}),[a,c,u,ne,re]),b=(0,y.useRef)(0),x=(0,y.useRef)(null),S=(0,y.useRef)(new p),C=(0,y.useRef)(null),w=(0,y.useRef)(null);return o((n,r)=>{h?(b.current+=r,g.uniforms.uTime.value=b.current):(b.current=0,g.uniforms.uTime.value=0);let i=x.current;if(!i||i===C.current&&e===w.current)return;C.current=i,w.current=e;let a=S.current;for(let n=0;n()=>{g.dispose()},[g]),(0,T.jsx)(`instancedMesh`,{ref:x,args:[n,g,9],frustumCulled:!1,renderOrder:-1})});function ce(e){return e.camera}function le(e,t){let n=e+D,r=t+D,i=Math.trunc(n/E),a=Math.trunc(r/E);n<0&&i--,r<0&&a--;let o=[];for(let e=a-1;e<=a+1;e++)for(let t=i-1;t<=i+1;t++)o.push([t,e]);return o}export{k as WaterBlock,O as WaterMaterial}; \ No newline at end of file diff --git a/docs/assets/cameraTourStore-CDmCk75t.js b/docs/assets/cameraTourStore-CDmCk75t.js deleted file mode 100644 index ca9f1ae3..00000000 --- a/docs/assets/cameraTourStore-CDmCk75t.js +++ /dev/null @@ -1 +0,0 @@ -import{n as e,r as t}from"./traditional-DhFuLw_p.js";function n(e,t=null){return{targets:e,categoryName:t,currentIndex:0,phase:`traveling`,elapsed:0,phaseDuration:0,curve:null,startPos:null,startQuat:null,orbitCenter:null,orbitRadius:null,orbitStartAngle:0}}var r=t(e=>({animation:null,flyTo(t){e({animation:n([t])})},startTour(t,r){t.length!==0&&e({animation:n(t,r)})},advanceTarget(){e(e=>e.animation?{animation:{...e.animation,currentIndex:e.animation.currentIndex+1,phase:`traveling`,elapsed:0,curve:null,startPos:null,startQuat:null,orbitCenter:null,orbitRadius:null,orbitStartAngle:0}}:e)},cancel(){e({animation:null})}}));function i(t,n){return e(r,t,n)}export{i as n,r as t}; \ No newline at end of file diff --git a/docs/assets/cameraTourStore-DQ989o2x.js b/docs/assets/cameraTourStore-DQ989o2x.js new file mode 100644 index 00000000..0b1aa090 --- /dev/null +++ b/docs/assets/cameraTourStore-DQ989o2x.js @@ -0,0 +1 @@ +import{n as e}from"./jsx-runtime-BpGWiA-R.js";import{i as t,n}from"./traditional-ec-lUAFC.js";var r=e();function i(e,t=null,n=`feature`){return{targets:e,categoryName:t,tourType:n,currentIndex:0,phase:`traveling`,elapsed:0,phaseDuration:0,curve:null,startPos:null,startQuat:null,orbitCenter:null,orbitRadius:null,orbitStartAngle:0}}var a=t(e=>({animation:null,flyTo(t,n=`feature`){e({animation:i([t],null,n)})},startTour(t,n,r=`feature`){t.length!==0&&e({animation:i(t,n,r)})},advanceTarget(){e(e=>e.animation?{animation:{...e.animation,currentIndex:e.animation.currentIndex+1,phase:`traveling`,elapsed:0,curve:null,startPos:null,startQuat:null,orbitCenter:null,orbitRadius:null,orbitStartAngle:0}}:e)},cancel(){e({animation:null})}}));function o(e,t){return n(a,e,t)}function s(e){let t=(0,r.c)(2),n;return t[0]===e?n=t[1]:(n=t=>{let n=t.animation;return!n||n.tourType!==`debug`?!1:n.targets[n.currentIndex]?.entityId===e},t[0]=e,t[1]=n),o(n)}export{o as n,s as r,a as t}; \ No newline at end of file diff --git a/docs/assets/demoStreaming-B6DJigkO.js b/docs/assets/demoStreaming-B6DJigkO.js new file mode 100644 index 00000000..fb000881 --- /dev/null +++ b/docs/assets/demoStreaming-B6DJigkO.js @@ -0,0 +1 @@ +import{A as e,M as t,T as n,_ as r,a as i,b as a,d as o,l as s,n as c,r as l,t as u,v as d,y as f}from"./streamHelpers-CRhKrjgF.js";import{i as p}from"./scene-BpfzP6B-.js";import{Z as m}from"./index-BEKjcnfN.js";function h(e){let t=null,n=null,i=null,a=null,o=null,s=null,c=NaN,l=null;for(let u=0;u=3&&d[1]?.endsWith(`Game`)&&(i=d[1]),e[u]!==`readplayerinfo`)continue;let f=e[u+1];if(f){if(f.startsWith(`1 `)){let e=f.split(` `);e[1]&&(c=parseInt(e[1],10)),e[2]&&(s=r(e[2]).trim());continue}if(f.startsWith(`2 `)){let e=f.split(` `);e[1]&&(a=e[1]),e[3]&&(l=e[3]),e[4]&&(t=e[4]);continue}if(f.startsWith(`3 `)){let e=f.split(` `);e[1]&&(o=e[1]),e[2]&&(n=e[2])}}}return{missionDisplayName:t,missionType:n,gameClassName:i,serverDisplayName:a,mod:o,recorderName:s,recorderClientId:Number.isFinite(c)?c:null,recordingDate:l}}function g(e){let t={weaponsHud:null,backpackHud:null,inventoryHud:null,teamScores:[],playerRoster:new Map,chatMessages:[],clockTimeMin:null,gravity:-20};if(!e.length)return t;let n=0,i=()=>{let t=e[n++];return t===``?``:t??``};if(i(),n>=e.length)return t;let a=parseInt(i(),10)||0,o=new Map;for(let e=0;e0&&o.set(s,(o.get(s)??0)+1)}if(n>=e.length||(i(),n>=e.length))return t;{let e=i().split(` `),n=e[0]??``,r=e[1]===`1`||e[1]===`true`,a=e[2]??``,o=e[4]===`1`||e[4]===`true`;r&&n&&(t.backpackHud={packIndex:c(n),active:o,text:a})}if(n>=e.length)return t;let s=i().split(` `),l=parseInt(s[4],10)||0,u=parseInt(s[5],10)||0,d=parseInt(s[6],10);for(let e=0;e=e.length)return t;let p=i().split(` `),m=parseInt(p[4],10)||0,h=parseInt(p[5],10)||0,g=parseInt(p[6],10);for(let e=0;e0&&e.set(n,r)}e.size>0&&(t.inventoryHud={slots:e,activeSlot:isNaN(g)?-1:g})}if(n>=e.length)return t;let _=i().split(` `),v=_[1]??``,y=parseInt(_[2],10)||0,b=[];for(let e=0;e=8)for(let e=0;e<2;e++){let n=e*4,r=e+1;t.teamScores.push({teamId:r,name:b[n]??``,score:parseInt(b[n+1],10)||0,playerCount:o.get(r)??0})}else if(v===`TR2Game`&&y>=4)for(let e=0;e<2;e++){let n=e*2,r=e+1;t.teamScores.push({teamId:r,name:b[n+1]??``,score:parseInt(b[n],10)||0,playerCount:o.get(r)??0})}if(n>=e.length)return t;{let e=i().split(` `),n=parseFloat(e[1]??``);Number.isFinite(n)&&(t.clockTimeMin=n)}for(let r=0;r<10&&!(n>=e.length);r++){let e=i();e&&t.chatMessages.push(e)}if(n=0?this.entityIdByGhostIndex.get(this.initialBlock.controlObjectGhostIndex):void 0,this.playerSensorGroup===0&&this.lastControlType===`player`&&this.latestControl.ghostIndex>=0){let e=this.entityIdByGhostIndex.get(this.latestControl.ghostIndex),t=e?this.entities.get(e):void 0;t?.sensorGroup!=null&&t.sensorGroup>0&&(this.playerSensorGroup=t.sensorGroup)}for(let e of this.initialBlock.initialEvents){let t=this.registry.getEventParser(e.classId)?.name;if(t===`SetSensorGroupEvent`&&e.parsedData){let t=e.parsedData.sensorGroup;t!=null&&(this.playerSensorGroup=t)}else if(t===`RemoteCommandEvent`&&e.parsedData){let t=this.resolveNetString(e.parsedData.funcName),n=e.parsedData.args;t===`ServerMessage`&&this.handleServerMessage(n),this.handleHudRemoteCommand(t,n)}}let c=g(this.initialBlock.demoValues);c.weaponsHud&&(this.weaponsHud.slots=c.weaponsHud.slots,this.weaponsHud.activeIndex=c.weaponsHud.activeIndex),c.backpackHud&&(this.backpackHud.packIndex=c.backpackHud.packIndex,this.backpackHud.active=c.backpackHud.active,this.backpackHud.text=c.backpackHud.text),c.inventoryHud&&(this.inventoryHud.slots=c.inventoryHud.slots,this.inventoryHud.activeSlot=c.inventoryHud.activeSlot),this.teamScores=c.teamScores,this.playerRoster=new Map(c.playerRoster),c.clockTimeMin!=null&&(this.clockAnchorStreamSec=0,this.clockDurationMs=c.clockTimeMin*60*1e3);for(let e of c.chatMessages){let t=o(e);if(!t.length)continue;let n=t.map(e=>e.text).join(``);if(!n.trim())continue;let r=t[0].colorCode;if(t.some(e=>e.colorCode===3||e.colorCode===4)&&n.includes(`: `)){let e=n.indexOf(`: `);this.pushChatMessage({timeSec:0,sender:n.slice(0,e),text:n.slice(e+2),kind:`chat`,colorCode:r,segments:t})}else this.pushChatMessage({timeSec:0,sender:``,text:n,kind:`server`,colorCode:r,segments:t})}this.updateCameraAndHud()}getSnapshot(){if(this._cachedSnapshot&&this._cachedSnapshotTick===this.moveTicks&&this._cachedSnapshotGen===this.entityGeneration)return this._cachedSnapshot;let e=this.buildSnapshot();return this._cachedSnapshot=e,this._cachedSnapshotTick=this.moveTicks,this._cachedSnapshotGen=this.entityGeneration,e}getEffectShapes(){let e=new Set,t=t=>{let n=t.dtsFileName;n&&e.add(n);let r=t.subExplosions;if(Array.isArray(r))for(let t of r){if(t==null)continue;let n=this.getDataBlockData(t);n?.dtsFileName&&e.add(n.dtsFileName)}};for(let[,e]of this.initialBlock.dataBlocks){let n=e.data?.explosion;if(n==null)continue;let r=this.getDataBlockData(n);r&&t(r)}return[...e]}stepToTime(e,t=1/0){let n=Math.floor((Number.isFinite(e)?Math.max(0,e):0)*1e3/32),r=!1;n({index:e,ammo:t})),activeIndex:this.weaponsHud.activeIndex},o=n&&n.inventoryHudGen===this._inventoryHudGen?n.inventoryHud:{slots:Array.from(this.inventoryHud.slots.entries()).map(([e,t])=>({slot:e,count:t})),activeSlot:this.inventoryHud.activeSlot},s=n&&n.backpackPackIndex===this.backpackHud.packIndex&&n.backpackActive===this.backpackHud.active&&n.backpackText===this.backpackHud.text?n.backpackHud:this.backpackHud.packIndex>=0?{...this.backpackHud}:null,c,l;if(n&&n.teamScoresGen===this._teamScoresGen&&n.rosterGen===this._rosterGen)c=n.teamScores,l=n.playerRoster;else{c=this.teamScores.map(e=>({...e}));let e=new Map;for(let{teamId:t}of this.playerRoster.values())t>0&&e.set(t,(e.get(t)??0)+1);for(let t of c)t.playerCount=e.get(t.teamId)??0;l=[];for(let[e,t]of this.playerRoster)l.push({clientId:e,...t})}return this._snap={teamScoresGen:this._teamScoresGen,rosterGen:this._rosterGen,teamScores:c,playerRoster:l,weaponsHudGen:this._weaponsHudGen,weaponsHud:a,inventoryHudGen:this._inventoryHudGen,inventoryHud:o,backpackPackIndex:this.backpackHud.packIndex,backpackActive:this.backpackHud.active,backpackText:this.backpackHud.text,backpackHud:s},{timeSec:t,exhausted:this.exhausted,camera:this.camera,entities:e,controlPlayerGhostId:this.controlPlayerGhostId,playerSensorGroup:this.playerSensorGroup,status:this.lastStatus,chatMessages:r,audioEvents:i,weaponsHud:a,backpackHud:s,inventoryHud:o,teamScores:c,playerRoster:l,connectedClientId:this.connectedClientId,matchClockMs:this.computeMatchClockMs(t)}}isPacketData(e){return!!e&&typeof e==`object`&&`gameState`in e&&`events`in e&&`ghosts`in e}isMoveData(e){return!!e&&typeof e==`object`&&`yaw`in e}isInfoData(e){return!!e&&typeof e==`object`&&`value1`in e&&typeof e.value1==`number`&&`value2`in e&&typeof e.value2==`number`}};async function v(e){let n=new t(new Uint8Array(e)),{header:r,initialBlock:i}=await n.load(),a=h(i.demoValues),o=new _(n);return o.missionDisplayName=a.missionDisplayName,o.missionTypeDisplayName=a.missionType,o.gameClassName=a.gameClassName,o.serverDisplayName=a.serverDisplayName,o.connectedPlayerName=a.recorderName,o.connectedClientId=a.recorderClientId,{source:`demo`,duration:r.demoLengthMs/1e3,missionName:i.missionName??null,gameType:a.missionType,serverDisplayName:a.serverDisplayName,recorderName:a.recorderName,recordingDate:a.recordingDate,streamingPlayback:o}}export{v as createDemoStreamingRecording}; \ No newline at end of file diff --git a/docs/assets/demoStreaming-DnO_dp2r.js b/docs/assets/demoStreaming-DnO_dp2r.js deleted file mode 100644 index 984bf55a..00000000 --- a/docs/assets/demoStreaming-DnO_dp2r.js +++ /dev/null @@ -1 +0,0 @@ -import{A as e,D as t,O as n,_ as r,a as i,b as a,d as o,l as s,n as c,r as l,t as u,v as d,y as f}from"./streamHelpers-BvWKgQMn.js";import{i as p}from"./scene-6ZXksKVQ.js";import{L as m}from"./index-Ds_qp2Yy.js";function h(e){let t=null,n=null,i=null,a=null,o=null,s=null,c=NaN,l=null;for(let u=0;u=3&&d[1]?.endsWith(`Game`)&&(i=d[1]),e[u]!==`readplayerinfo`)continue;let f=e[u+1];if(f){if(f.startsWith(`1 `)){let e=f.split(` `);e[1]&&(c=parseInt(e[1],10)),e[2]&&(s=r(e[2]).trim());continue}if(f.startsWith(`2 `)){let e=f.split(` `);e[1]&&(a=e[1]),e[3]&&(l=e[3]),e[4]&&(t=e[4]);continue}if(f.startsWith(`3 `)){let e=f.split(` `);e[1]&&(o=e[1]),e[2]&&(n=e[2])}}}return{missionDisplayName:t,missionType:n,gameClassName:i,serverDisplayName:a,mod:o,recorderName:s,recorderClientId:Number.isFinite(c)?c:null,recordingDate:l}}function g(e){let t={weaponsHud:null,backpackHud:null,inventoryHud:null,teamScores:[],playerRoster:new Map,chatMessages:[],clockTimeMin:null,gravity:-20};if(!e.length)return t;let n=0,i=()=>{let t=e[n++];return t===``?``:t??``};if(i(),n>=e.length)return t;let a=parseInt(i(),10)||0,o=new Map;for(let e=0;e0&&o.set(s,(o.get(s)??0)+1)}if(n>=e.length||(i(),n>=e.length))return t;{let e=i().split(` `),n=e[0]??``,r=e[1]===`1`||e[1]===`true`,a=e[2]??``,o=e[4]===`1`||e[4]===`true`;r&&n&&(t.backpackHud={packIndex:c(n),active:o,text:a})}if(n>=e.length)return t;let s=i().split(` `),l=parseInt(s[4],10)||0,u=parseInt(s[5],10)||0,d=parseInt(s[6],10);for(let e=0;e=e.length)return t;let p=i().split(` `),m=parseInt(p[4],10)||0,h=parseInt(p[5],10)||0,g=parseInt(p[6],10);for(let e=0;e0&&e.set(n,r)}e.size>0&&(t.inventoryHud={slots:e,activeSlot:isNaN(g)?-1:g})}if(n>=e.length)return t;let _=i().split(` `),v=_[1]??``,y=parseInt(_[2],10)||0,b=[];for(let e=0;e=8)for(let e=0;e<2;e++){let n=e*4,r=e+1;t.teamScores.push({teamId:r,name:b[n]??``,score:parseInt(b[n+1],10)||0,playerCount:o.get(r)??0})}else if(v===`TR2Game`&&y>=4)for(let e=0;e<2;e++){let n=e*2,r=e+1;t.teamScores.push({teamId:r,name:b[n+1]??``,score:parseInt(b[n],10)||0,playerCount:o.get(r)??0})}if(n>=e.length)return t;{let e=i().split(` `),n=parseFloat(e[1]??``);Number.isFinite(n)&&(t.clockTimeMin=n)}for(let r=0;r<10&&!(n>=e.length);r++){let e=i();e&&t.chatMessages.push(e)}if(n=0?t(`Player`,this.initialBlock.controlObjectGhostIndex):void 0;for(let e of this.initialBlock.initialGhosts){if(e.type!==`create`||e.classId==null)continue;let r=this.registry.getGhostParser(e.classId)?.name;if(!r)throw Error(`No ghost parser for classId ${e.classId} (ghost index ${e.index})`);let i=t(r,e.index),a={id:i,ghostIndex:e.index,className:r,spawnTick:0,type:n(r),rotation:[0,0,0,1]};if(this.applyGhostData(a,e.parsedData),e.parsedData){let t=p(r,e.index,e.parsedData);t&&(a.sceneData=t)}this.entities.set(i,a),this.entityIdByGhostIndex.set(e.index,i)}if(this.playerSensorGroup===0&&this.lastControlType===`player`&&this.latestControl.ghostIndex>=0){let e=this.entityIdByGhostIndex.get(this.latestControl.ghostIndex),t=e?this.entities.get(e):void 0;t?.sensorGroup!=null&&t.sensorGroup>0&&(this.playerSensorGroup=t.sensorGroup)}for(let e of this.initialBlock.initialEvents){let t=this.registry.getEventParser(e.classId)?.name;if(t===`SetSensorGroupEvent`&&e.parsedData){let t=e.parsedData.sensorGroup;t!=null&&(this.playerSensorGroup=t)}else if(t===`RemoteCommandEvent`&&e.parsedData){let t=this.resolveNetString(e.parsedData.funcName),n=e.parsedData.args;t===`ServerMessage`&&this.handleServerMessage(n),this.handleHudRemoteCommand(t,n)}}let c=g(this.initialBlock.demoValues);c.weaponsHud&&(this.weaponsHud.slots=c.weaponsHud.slots,this.weaponsHud.activeIndex=c.weaponsHud.activeIndex),c.backpackHud&&(this.backpackHud.packIndex=c.backpackHud.packIndex,this.backpackHud.active=c.backpackHud.active,this.backpackHud.text=c.backpackHud.text),c.inventoryHud&&(this.inventoryHud.slots=c.inventoryHud.slots,this.inventoryHud.activeSlot=c.inventoryHud.activeSlot),this.teamScores=c.teamScores,this.playerRoster=new Map(c.playerRoster),c.clockTimeMin!=null&&(this.clockAnchorStreamSec=0,this.clockDurationMs=c.clockTimeMin*60*1e3);for(let e of c.chatMessages){let t=o(e);if(!t.length)continue;let n=t.map(e=>e.text).join(``);if(!n.trim())continue;let r=t[0].colorCode;if(t.some(e=>e.colorCode===3||e.colorCode===4)&&n.includes(`: `)){let e=n.indexOf(`: `);this.pushChatMessage({timeSec:0,sender:n.slice(0,e),text:n.slice(e+2),kind:`chat`,colorCode:r,segments:t})}else this.pushChatMessage({timeSec:0,sender:``,text:n,kind:`server`,colorCode:r,segments:t})}this.updateCameraAndHud()}getSnapshot(){if(this._cachedSnapshot&&this._cachedSnapshotTick===this.moveTicks)return this._cachedSnapshot;let e=this.buildSnapshot();return this._cachedSnapshot=e,this._cachedSnapshotTick=this.moveTicks,e}getEffectShapes(){let e=new Set,t=t=>{let n=t.dtsFileName;n&&e.add(n);let r=t.subExplosions;if(Array.isArray(r))for(let t of r){if(t==null)continue;let n=this.getDataBlockData(t);n?.dtsFileName&&e.add(n.dtsFileName)}};for(let[,e]of this.initialBlock.dataBlocks){let n=e.data?.explosion;if(n==null)continue;let r=this.getDataBlockData(n);r&&t(r)}return[...e]}stepToTime(e,t=1/0){let n=Math.floor((Number.isFinite(e)?Math.max(0,e):0)*1e3/32),r=!1;n({index:e,ammo:t})),activeIndex:this.weaponsHud.activeIndex},o=n&&n.inventoryHudGen===this._inventoryHudGen?n.inventoryHud:{slots:Array.from(this.inventoryHud.slots.entries()).map(([e,t])=>({slot:e,count:t})),activeSlot:this.inventoryHud.activeSlot},s=n&&n.backpackPackIndex===this.backpackHud.packIndex&&n.backpackActive===this.backpackHud.active&&n.backpackText===this.backpackHud.text?n.backpackHud:this.backpackHud.packIndex>=0?{...this.backpackHud}:null,c,l;if(n&&n.teamScoresGen===this._teamScoresGen&&n.rosterGen===this._rosterGen)c=n.teamScores,l=n.playerRoster;else{c=this.teamScores.map(e=>({...e}));let e=new Map;for(let{teamId:t}of this.playerRoster.values())t>0&&e.set(t,(e.get(t)??0)+1);for(let t of c)t.playerCount=e.get(t.teamId)??0;l=[];for(let[e,t]of this.playerRoster)l.push({clientId:e,...t})}return this._snap={teamScoresGen:this._teamScoresGen,rosterGen:this._rosterGen,teamScores:c,playerRoster:l,weaponsHudGen:this._weaponsHudGen,weaponsHud:a,inventoryHudGen:this._inventoryHudGen,inventoryHud:o,backpackPackIndex:this.backpackHud.packIndex,backpackActive:this.backpackHud.active,backpackText:this.backpackHud.text,backpackHud:s},{timeSec:t,exhausted:this.exhausted,camera:this.camera,entities:e,controlPlayerGhostId:this.controlPlayerGhostId,playerSensorGroup:this.playerSensorGroup,status:this.lastStatus,chatMessages:r,audioEvents:i,weaponsHud:a,backpackHud:s,inventoryHud:o,teamScores:c,playerRoster:l,connectedClientId:this.connectedClientId,matchClockMs:this.computeMatchClockMs(t)}}isPacketData(e){return!!e&&typeof e==`object`&&`gameState`in e&&`events`in e&&`ghosts`in e}isMoveData(e){return!!e&&typeof e==`object`&&`yaw`in e}isInfoData(e){return!!e&&typeof e==`object`&&`value1`in e&&typeof e.value1==`number`&&`value2`in e&&typeof e.value2==`number`}};async function v(t){let n=new e(new Uint8Array(t)),{header:r,initialBlock:i}=await n.load(),a=h(i.demoValues),o=new _(n);return o.missionDisplayName=a.missionDisplayName,o.missionTypeDisplayName=a.missionType,o.gameClassName=a.gameClassName,o.serverDisplayName=a.serverDisplayName,o.connectedPlayerName=a.recorderName,o.connectedClientId=a.recorderClientId,{source:`demo`,duration:r.demoLengthMs/1e3,missionName:i.missionName??null,gameType:a.missionType,serverDisplayName:a.serverDisplayName,recorderName:a.recorderName,recordingDate:a.recordingDate,streamingPlayback:o}}export{v as createDemoStreamingRecording}; \ No newline at end of file diff --git a/docs/assets/demoTimelineScanner-DKjwgmKz.js b/docs/assets/demoTimelineScanner-9_uygULI.js similarity index 97% rename from docs/assets/demoTimelineScanner-DKjwgmKz.js rename to docs/assets/demoTimelineScanner-9_uygULI.js index aab291d6..f86e080b 100644 --- a/docs/assets/demoTimelineScanner-DKjwgmKz.js +++ b/docs/assets/demoTimelineScanner-9_uygULI.js @@ -1 +1 @@ -import{t as e}from"./logger-B058WGzf.js";import{A as t,_ as n}from"./streamHelpers-BvWKgQMn.js";var r=e(`demoTimelineScanner`),i=500,a=new Set([`msglegitkill`,`msgheadshotkill`,`msgteamkill`,`msgselfkill`,`msgexplosionkill`,`msgvehiclekill`,`msgvehiclecrash`,`msgvehiclespawnkill`,`msgturretkill`,`msgcturretkill`,`msgturretselfkill`,`msgoobkill`,`msgcampkill`,`msgrogueminekill`,`msglavakill`,`msglightningkill`]),o=new Set([`msgselfkill`,`msgturretselfkill`,`msgvehiclecrash`,`msgvehiclespawnkill`,`msgoobkill`,`msglavakill`,`msglightningkill`,`msgcampkill`]),s={msgoobkill:`Out of bounds`,msglavakill:`Killed by lava`,msglightningkill:`Struck by lightning`,msgcampkill:`Nexus camping`,msgturretselfkill:`Killed by own turret`,msgvehiclecrash:`Vehicle crash`,msgvehiclespawnkill:`Crushed by vehicle`},c={turret:`base turret`,"plasma turret":`plasma turret`,"aa turret":`AA turret`,"elf turret":`ELF turret`,"mortar turret":`mortar turret`,"missile turret":`missile turret`,"clamp turret":`indoor deployable turret`,"spike turret":`outdoor deployable turret`,"sentry turret":`sentry turret`,"shrike blaster":`Shrike`,"belly turret":`Havoc belly turret`,"bomber bomb":`bomber`,"tank chaingun":`tank chaingun`,"tank mortar":`tank mortar`,"mpb missile":`MPB missile`,forcefield:`force field`,impact:`vehicle impact`,crash:`vehicle crash`,explosion:`explosion`},l={ground:`Cratered`,mine:`Killed by own mine`,satchelcharge:`Killed by own satchel`,grenade:`Killed by own grenade`,mortar:`Killed by own mortar`,disc:`Killed by own disc`,plasma:`Killed by own plasma`,blaster:`Killed by own blaster`,missile:`Killed by own missile`,explosion:`Killed by explosion`};function u(e,t){if(e.length>=2&&e.charCodeAt(0)===1){let n=parseInt(e.slice(1),10);if(Number.isFinite(n))return t.get(n)??e}return e}function d(e,t,r){let i=u(e,r);for(let e=0;e`?`0`:e[1]??`0`,10)||0;for(let n=0;n=6&&parseInt(u(i[4],_),10)===b){let e=parseInt(u(i[5],_),10);isNaN(e)||(x=e)}if(p===`msgmissionstart`&&!w){w=!0,S.push({timeSec:f,type:`match-start`,description:`Match started`});continue}if(p===`msggameover`){S.push({timeSec:f,type:`match-end`,description:`Match ended`});continue}if(p===`msgctfflagtaken`&&i.length>=3){let e=n(u(i[2],_)).trim();if(y&&e.toLowerCase()===y){let e=i.length>=4?n(u(i[3],_)).trim():void 0;S.push({timeSec:f,type:`flag-grab`,description:`You took the ${e??`enemy`} flag`,teamAffinity:`friendly`,flagTeamName:e||void 0})}continue}if(p===`msgctfflagreturned`&&i.length>=3){let e=n(u(i[2],_)).trim();y&&e.toLowerCase()===y&&S.push({timeSec:f,type:`flag-return`,description:`You returned your flag`,teamAffinity:`friendly`});continue}if(p===`msgctfflagcapped`&&i.length>=2){let e=d(i[1],i.slice(2),_),t=i.length>=3?n(u(i[2],_)).trim():void 0,r=i.length>=4?n(u(i[3],_)).trim():void 0,a=`neutral`;if(x!=null&&x>0&&i.length>=6){let e=parseInt(u(i[5],_),10);e===x?a=`friendly`:isNaN(e)||(a=`enemy`)}S.push({timeSec:f,type:`flag-cap`,description:e||`Flag captured`,teamAffinity:a,capturer:t,flagTeamName:r||void 0});continue}if(a.has(p)&&i.length>=6){let e=n(u(i[5],_)).trim(),t=n(u(i[2],_)).trim(),r=i.length>=10?n(u(i[9],_)).trim():void 0;if(y){let n=e.toLowerCase(),a=t.toLowerCase(),u=o.has(p);if(!u&&n===y&&a!==y){let n=d(i[1],i.slice(2),_);S.push({timeSec:f,type:`kill`,description:n||`${e} got a kill`,killer:e,victim:t,weapon:r||void 0})}if(a===y)if(u){let e=s[p],t=p===`msgselfkill`&&r?l[r.toLowerCase()]:void 0;S.push({timeSec:f,type:`death`,description:e??t??`Died`,weapon:r||void 0})}else if(n!==y&&e)S.push({timeSec:f,type:`death`,description:`Killed by ${e}`,killer:e,victim:t,weapon:r||void 0});else{let e=r?.toLowerCase();S.push({timeSec:f,type:`death`,description:r?`Killed by ${c[e]??r}`:`Died`,weapon:r||void 0})}}}}catch(e){r.warn(`Skipping malformed event in block %d: %o`,T,e)}T%i===0&&(E&&p&&p(Math.min(T/E,1)),await new Promise(e=>setTimeout(e,0)))}return r.info(`Scanned %d blocks, found %d events`,T,S.length),S}export{f as scanDemoTimeline}; \ No newline at end of file +import{t as e}from"./logger-B058WGzf.js";import{M as t,_ as n}from"./streamHelpers-CRhKrjgF.js";var r=e(`demoTimelineScanner`),i=500,a=new Set([`msglegitkill`,`msgheadshotkill`,`msgteamkill`,`msgselfkill`,`msgexplosionkill`,`msgvehiclekill`,`msgvehiclecrash`,`msgvehiclespawnkill`,`msgturretkill`,`msgcturretkill`,`msgturretselfkill`,`msgoobkill`,`msgcampkill`,`msgrogueminekill`,`msglavakill`,`msglightningkill`]),o=new Set([`msgselfkill`,`msgturretselfkill`,`msgvehiclecrash`,`msgvehiclespawnkill`,`msgoobkill`,`msglavakill`,`msglightningkill`,`msgcampkill`]),s={msgoobkill:`Out of bounds`,msglavakill:`Killed by lava`,msglightningkill:`Struck by lightning`,msgcampkill:`Nexus camping`,msgturretselfkill:`Killed by own turret`,msgvehiclecrash:`Vehicle crash`,msgvehiclespawnkill:`Crushed by vehicle`},c={turret:`base turret`,"plasma turret":`plasma turret`,"aa turret":`AA turret`,"elf turret":`ELF turret`,"mortar turret":`mortar turret`,"missile turret":`missile turret`,"clamp turret":`indoor deployable turret`,"spike turret":`outdoor deployable turret`,"sentry turret":`sentry turret`,"shrike blaster":`Shrike`,"belly turret":`Havoc belly turret`,"bomber bomb":`bomber`,"tank chaingun":`tank chaingun`,"tank mortar":`tank mortar`,"mpb missile":`MPB missile`,forcefield:`force field`,impact:`vehicle impact`,crash:`vehicle crash`,explosion:`explosion`},l={ground:`Cratered`,mine:`Killed by own mine`,satchelcharge:`Killed by own satchel`,grenade:`Killed by own grenade`,mortar:`Killed by own mortar`,disc:`Killed by own disc`,plasma:`Killed by own plasma`,blaster:`Killed by own blaster`,missile:`Killed by own missile`,explosion:`Killed by explosion`};function u(e,t){if(e.length>=2&&e.charCodeAt(0)===1){let n=parseInt(e.slice(1),10);if(Number.isFinite(n))return t.get(n)??e}return e}function d(e,t,r){let i=u(e,r);for(let e=0;e`?`0`:e[1]??`0`,10)||0;for(let n=0;n=6&&parseInt(u(i[4],_),10)===b){let e=parseInt(u(i[5],_),10);isNaN(e)||(x=e)}if(p===`msgmissionstart`&&!w){w=!0,S.push({timeSec:f,type:`match-start`,description:`Match started`});continue}if(p===`msggameover`){S.push({timeSec:f,type:`match-end`,description:`Match ended`});continue}if(p===`msgctfflagtaken`&&i.length>=3){let e=n(u(i[2],_)).trim();if(y&&e.toLowerCase()===y){let e=i.length>=4?n(u(i[3],_)).trim():void 0;S.push({timeSec:f,type:`flag-grab`,description:`You took the ${e??`enemy`} flag`,teamAffinity:`friendly`,flagTeamName:e||void 0})}continue}if(p===`msgctfflagreturned`&&i.length>=3){let e=n(u(i[2],_)).trim();y&&e.toLowerCase()===y&&S.push({timeSec:f,type:`flag-return`,description:`You returned your flag`,teamAffinity:`friendly`});continue}if(p===`msgctfflagcapped`&&i.length>=2){let e=d(i[1],i.slice(2),_),t=i.length>=3?n(u(i[2],_)).trim():void 0,r=i.length>=4?n(u(i[3],_)).trim():void 0,a=`neutral`;if(x!=null&&x>0&&i.length>=6){let e=parseInt(u(i[5],_),10);e===x?a=`friendly`:isNaN(e)||(a=`enemy`)}S.push({timeSec:f,type:`flag-cap`,description:e||`Flag captured`,teamAffinity:a,capturer:t,flagTeamName:r||void 0});continue}if(a.has(p)&&i.length>=6){let e=n(u(i[5],_)).trim(),t=n(u(i[2],_)).trim(),r=i.length>=10?n(u(i[9],_)).trim():void 0;if(y){let n=e.toLowerCase(),a=t.toLowerCase(),u=o.has(p);if(!u&&n===y&&a!==y){let n=d(i[1],i.slice(2),_);S.push({timeSec:f,type:`kill`,description:n||`${e} got a kill`,killer:e,victim:t,weapon:r||void 0})}if(a===y)if(u){let e=s[p],t=p===`msgselfkill`&&r?l[r.toLowerCase()]:void 0;S.push({timeSec:f,type:`death`,description:e??t??`Died`,weapon:r||void 0})}else if(n!==y&&e)S.push({timeSec:f,type:`death`,description:`Killed by ${e}`,killer:e,victim:t,weapon:r||void 0});else{let e=r?.toLowerCase();S.push({timeSec:f,type:`death`,description:r?`Killed by ${c[e]??r}`:`Died`,weapon:r||void 0})}}}}catch(e){r.warn(`Skipping malformed event in block %d: %o`,T,e)}T%i===0&&(E&&p&&p(Math.min(T/E,1)),await new Promise(e=>setTimeout(e,0)))}return r.info(`Scanned %d blocks, found %d events`,T,S.length),S}export{f as scanDemoTimeline}; \ No newline at end of file diff --git a/docs/assets/engineStore-DeZJbWme.js b/docs/assets/engineStore-DeZJbWme.js deleted file mode 100644 index 53ce6be6..00000000 --- a/docs/assets/engineStore-DeZJbWme.js +++ /dev/null @@ -1 +0,0 @@ -import{n as e}from"./jsx-runtime-BpGWiA-R.js";import{n as t,r as n}from"./traditional-DhFuLw_p.js";var r=e=>(t,n,r)=>{let i=r.subscribe;return r.subscribe=((e,t,n)=>{let a=e;if(t){let i=n?.equalityFn||Object.is,o=e(r.getState());a=n=>{let r=e(n);if(!i(o,r)){let e=o;t(o=r,e)}},n?.fireImmediately&&t(o,o)}return i(a)}),e(t,n,r)};function i(e){let t=new Map;for(let n of e.state.datablocks.values()){if(n._class!==`tsshapeconstructor`)continue;let e=n.baseshape;if(typeof e!=`string`)continue;let r=e.toLowerCase(),i=r.replace(/\.dts$/i,``)+`_`,a=new Map;for(let e=0;e<=127;e++){let t=n[`sequence${e}`];if(typeof t!=`string`)continue;let r=t.indexOf(` `);if(r===-1)continue;let o=t.slice(0,r).toLowerCase(),s=t.slice(r+1).trim().toLowerCase();if(!s||!o.startsWith(i)||!o.endsWith(`.dsq`))continue;let c=o.slice(i.length,-4);c&&a.set(s,c)}a.size>0&&t.set(r,a)}return t}function a(e,t,n){let r=new Map;for(let n of e){let e=t.clipAction(n);r.set(n.name.toLowerCase(),e)}if(n)for(let[e,t]of n){let n=r.get(t);n&&!r.has(e)&&r.set(e,n)}return r}e();function o(e){return e.toLowerCase()}function s(e){let t=o(e.trim());return t.startsWith(`$`)?t.slice(1):t}function c(e,t,n){return en?n:e}function l(e){let t={},n={},r={},i={};for(let n of e.state.objectsById.values())t[n._id]=0,n._name&&(r[o(n._name)]=n._id,n._isDatablock&&(i[o(n._name)]=n._id));for(let t of e.state.globals.keys())n[s(t)]=0;return{objectVersionById:t,globalVersionByName:n,objectIdsByName:r,datablockIdsByName:i}}var u={runtime:{runtime:null,sequenceAliases:new Map,objectVersionById:{},globalVersionByName:{},objectIdsByName:{},datablockIdsByName:{},lastRuntimeTick:0},playback:{recording:null,status:`stopped`,timeMs:0,rate:1,durationMs:0,streamSnapshot:null}},d=n()(r(e=>({...u,setRuntime(t){let n=l(t),r=i(t);e(e=>({...e,runtime:{runtime:t,sequenceAliases:r,objectVersionById:n.objectVersionById,globalVersionByName:n.globalVersionByName,objectIdsByName:n.objectIdsByName,datablockIdsByName:n.datablockIdsByName,lastRuntimeTick:0}}))},clearRuntime(){e(e=>({...e,runtime:{runtime:null,sequenceAliases:new Map,objectVersionById:{},globalVersionByName:{},objectIdsByName:{},datablockIdsByName:{},lastRuntimeTick:0}}))},applyRuntimeBatch(t,n){t.length!==0&&e(e=>{let r={...e.runtime.objectVersionById},i={...e.runtime.globalVersionByName},a={...e.runtime.objectIdsByName},c={...e.runtime.datablockIdsByName},l=e=>{e!=null&&(r[e]=(r[e]??0)+1)};for(let e of t){if(e.type===`object.created`){let t=e.object;if(l(e.objectId),t._name){let n=o(t._name);a[n]=e.objectId,t._isDatablock&&(c[n]=e.objectId)}l(t._parent?._id);continue}if(e.type===`object.deleted`){let t=e.object;if(delete r[e.objectId],t?._name){let e=o(t._name);delete a[e],t._isDatablock&&delete c[e]}l(t?._parent?._id);continue}if(e.type===`field.changed`){l(e.objectId);continue}if(e.type===`global.changed`){let t=s(e.name);i[t]=(i[t]??0)+1;continue}}let u=n?.tick??(e.runtime.lastRuntimeTick>0?e.runtime.lastRuntimeTick+1:1);return{...e,runtime:{...e.runtime,objectVersionById:r,globalVersionByName:i,objectIdsByName:a,datablockIdsByName:c,lastRuntimeTick:u}}})},setRecording(t){let n=Math.max(0,(t?.duration??0)*1e3);e(e=>({...e,playback:{recording:t,status:t?`stopped`:e.playback.status,timeMs:t?0:e.playback.timeMs,rate:t?1:e.playback.rate,durationMs:n,streamSnapshot:t?null:e.playback.streamSnapshot}}))},setPlaybackTime(t){e(e=>{let n=c(t,0,e.playback.durationMs);return{...e,playback:{...e.playback,timeMs:n}}})},setPlaybackStatus(t){e(e=>({...e,playback:{...e.playback,status:t}}))},setPlaybackRate(t){let n=Number.isFinite(t)?c(t,.01,16):1;e(e=>({...e,playback:{...e.playback,rate:n}}))},setPlaybackStreamSnapshot(t){e(e=>({...e,playback:{...e.playback,streamSnapshot:t}}))}}))),f=0;function p(){return f}function m(e,t){f+=e*t*1e3}function h(){f=0}d.subscribe(e=>e.playback.status,e=>{e===`stopped`&&h()});function g(){return d}function _(e,n){return t(d,e,n)}export{g as a,_ as i,p as n,a as o,d as r,r as s,m as t}; \ No newline at end of file diff --git a/docs/assets/engineStore-Mono9lyt.js b/docs/assets/engineStore-Mono9lyt.js new file mode 100644 index 00000000..37890a1d --- /dev/null +++ b/docs/assets/engineStore-Mono9lyt.js @@ -0,0 +1 @@ +import{n as e}from"./jsx-runtime-BpGWiA-R.js";import{i as t,n}from"./traditional-ec-lUAFC.js";var r=e=>(t,n,r)=>{let i=r.subscribe;return r.subscribe=((e,t,n)=>{let a=e;if(t){let i=n?.equalityFn||Object.is,o=e(r.getState());a=n=>{let r=e(n);if(!i(o,r)){let e=o;t(o=r,e)}},n?.fireImmediately&&t(o,o)}return i(a)}),e(t,n,r)};function i(e){let t=new Map;for(let n of e.state.datablocks.values()){if(n._class!==`tsshapeconstructor`)continue;let e=n.baseshape;if(typeof e!=`string`)continue;let r=e.toLowerCase(),i=r.replace(/\.dts$/i,``)+`_`,a=new Map;for(let e=0;e<=127;e++){let t=n[`sequence${e}`];if(typeof t!=`string`)continue;let r=t.indexOf(` `);if(r===-1)continue;let o=t.slice(0,r).toLowerCase(),s=t.slice(r+1).trim().toLowerCase();if(!s||!o.startsWith(i)||!o.endsWith(`.dsq`))continue;let c=o.slice(i.length,-4);c&&a.set(s,c)}a.size>0&&t.set(r,a)}return t}function a(e,t,n){let r=new Map;for(let n of e){let e=t.clipAction(n);r.set(n.name.toLowerCase(),e)}if(n)for(let[e,t]of n){let n=r.get(t);n&&!r.has(e)&&r.set(e,n)}return r}e();function o(e){return e.toLowerCase()}function s(e){let t=o(e.trim());return t.startsWith(`$`)?t.slice(1):t}function c(e,t,n){return en?n:e}function l(e){let t={},n={},r={},i={};for(let n of e.state.objectsById.values())t[n._id]=0,n._name&&(r[o(n._name)]=n._id,n._isDatablock&&(i[o(n._name)]=n._id));for(let t of e.state.globals.keys())n[s(t)]=0;return{objectVersionById:t,globalVersionByName:n,objectIdsByName:r,datablockIdsByName:i}}var u={runtime:{runtime:null,sequenceAliases:new Map,objectVersionById:{},globalVersionByName:{},objectIdsByName:{},datablockIdsByName:{},lastRuntimeTick:0},playback:{recording:null,status:`stopped`,timeMs:0,rate:1,durationMs:0,streamSnapshot:null}},d=t()(r(e=>({...u,setRuntime(t){let n=l(t),r=i(t);e(e=>({...e,runtime:{runtime:t,sequenceAliases:r,objectVersionById:n.objectVersionById,globalVersionByName:n.globalVersionByName,objectIdsByName:n.objectIdsByName,datablockIdsByName:n.datablockIdsByName,lastRuntimeTick:0}}))},clearRuntime(){e(e=>({...e,runtime:{runtime:null,sequenceAliases:new Map,objectVersionById:{},globalVersionByName:{},objectIdsByName:{},datablockIdsByName:{},lastRuntimeTick:0}}))},applyRuntimeBatch(t,n){t.length!==0&&e(e=>{let r={...e.runtime.objectVersionById},i={...e.runtime.globalVersionByName},a={...e.runtime.objectIdsByName},c={...e.runtime.datablockIdsByName},l=e=>{e!=null&&(r[e]=(r[e]??0)+1)};for(let e of t){if(e.type===`object.created`){let t=e.object;if(l(e.objectId),t._name){let n=o(t._name);a[n]=e.objectId,t._isDatablock&&(c[n]=e.objectId)}l(t._parent?._id);continue}if(e.type===`object.deleted`){let t=e.object;if(delete r[e.objectId],t?._name){let e=o(t._name);delete a[e],t._isDatablock&&delete c[e]}l(t?._parent?._id);continue}if(e.type===`field.changed`){l(e.objectId);continue}if(e.type===`global.changed`){let t=s(e.name);i[t]=(i[t]??0)+1;continue}}let u=n?.tick??(e.runtime.lastRuntimeTick>0?e.runtime.lastRuntimeTick+1:1);return{...e,runtime:{...e.runtime,objectVersionById:r,globalVersionByName:i,objectIdsByName:a,datablockIdsByName:c,lastRuntimeTick:u}}})},setRecording(t){let n=Math.max(0,(t?.duration??0)*1e3);e(e=>({...e,playback:{recording:t,status:t?`stopped`:e.playback.status,timeMs:t?0:e.playback.timeMs,rate:t?1:e.playback.rate,durationMs:n,streamSnapshot:t?null:e.playback.streamSnapshot}}))},setPlaybackTime(t){e(e=>{let n=c(t,0,e.playback.durationMs);return{...e,playback:{...e.playback,timeMs:n}}})},setPlaybackStatus(t){e(e=>({...e,playback:{...e.playback,status:t}}))},setPlaybackRate(t){let n=Number.isFinite(t)?c(t,.01,16):1;e(e=>({...e,playback:{...e.playback,rate:n}}))},setPlaybackStreamSnapshot(t){e(e=>({...e,playback:{...e.playback,streamSnapshot:t}}))}}))),f=0;function p(){return f}function m(e,t){f+=e*t*1e3}function h(){f=0}d.subscribe(e=>e.playback.status,e=>{e===`stopped`&&h()});function g(){return d}function _(e,t){return n(d,e,t)}export{g as a,_ as i,p as n,a as o,d as r,r as s,m as t}; \ No newline at end of file diff --git a/docs/assets/extends-DPirtscy.js b/docs/assets/extends-DPirtscy.js new file mode 100644 index 00000000..5e352fc2 --- /dev/null +++ b/docs/assets/extends-DPirtscy.js @@ -0,0 +1 @@ +function e(){return e=Object.assign?Object.assign.bind():function(e){for(var t=1;t{r.image=e,r.needsUpdate=!0,t?.(r)}),r}function p(e){let t=d.get(e);return t?t.image?Promise.resolve(t):new Promise(e=>{let n=()=>{t.image?e(t):setTimeout(n,16)};n()}):new Promise((t,n)=>{let r=new l;r.flipY=!1,d.set(e,r),u.load(e,e=>{r.image=e,r.needsUpdate=!0,t(r)},void 0,n)})}function m(e,t={}){let{repeat:n=[1,1],disableMipmaps:a=!1,anisotropy:c,noColorSpace:l=!1}=t;return e.wrapS=e.wrapT=i,l||(e.colorSpace=o),e.repeat.set(...n),e.flipY=!1,e.anisotropy=c??1,a?(e.generateMipmaps=!1,e.minFilter=s):(e.generateMipmaps=!0,e.minFilter=r),e.magFilter=s,e.needsUpdate=!0,e}function h(r){let a=new e(r,256,256,t,n);return a.colorSpace=``,a.wrapS=a.wrapT=i,a.generateMipmaps=!1,a.minFilter=s,a.magFilter=s,a.needsUpdate=!0,a}var g=` #ifdef USE_FOG // Check fog enabled uniform - allows toggling without shader recompilation #ifdef USE_VOLUMETRIC_FOG @@ -7,7 +7,9 @@ import{t as e}from"./three.module-DRRYkRPO.js";var t=` } else { #endif - float dist = vFogDepth; + // Scale distance for fog calculations — makes everything appear closer/further + // for fog purposes without changing actual geometry positions. + float dist = vFogDepth / fogDistanceScale; // Discard fragments at or beyond visible distance - matches Torque's behavior // where objects beyond visibleDistance are not rendered at all. @@ -117,7 +119,7 @@ import{t as e}from"./three.module-DRRYkRPO.js";var t=` } // end fogEnabled check #endif #endif -`;function n(){e.fog_pars_fragment=` +`;function _(){c.fog_pars_fragment=` #ifdef USE_FOG uniform vec3 fogColor; varying float vFogDepth; @@ -138,15 +140,24 @@ import{t as e}from"./three.module-DRRYkRPO.js";var t=` #ifdef USE_FOG_WORLD_POSITION varying vec3 vFogWorldPosition; #endif + + // Fog distance scale — multiplies all distance-based fog calculations. + // 1.0 = normal, >1 = less fog. Set by camera tour for distant orbits. + #ifdef HAS_FOG_DISTANCE_SCALE + uniform float fogDistanceScale; + #else + #define fogDistanceScale 1.0 + #endif + #endif -`,e.fog_fragment=t,e.fog_pars_vertex=` +`,c.fog_fragment=g,c.fog_pars_vertex=` #ifdef USE_FOG varying float vFogDepth; #ifdef USE_FOG_WORLD_POSITION varying vec3 vFogWorldPosition; #endif #endif -`,e.fog_vertex=` +`,c.fog_vertex=` #ifdef USE_FOG // Use Euclidean distance from camera, not view-space z-depth // This ensures fog doesn't change when rotating the camera @@ -159,7 +170,7 @@ import{t as e}from"./three.module-DRRYkRPO.js";var t=` vFogWorldPosition = (modelMatrix * _fogPos2).xyz; #endif #endif -`}function r(e,t){e.uniforms.fogVolumeData=t.fogVolumeData,e.uniforms.cameraHeight=t.cameraHeight,e.uniforms.fogEnabled=t.fogEnabled}function i(e,n){r(e,n),e.vertexShader=e.vertexShader.replace(`#include `,`#include +`}function v(e,t){e.uniforms.fogVolumeData=t.fogVolumeData,e.uniforms.cameraHeight=t.cameraHeight,e.uniforms.fogEnabled=t.fogEnabled,e.uniforms.fogDistanceScale=t.fogDistanceScale}function y(e,t){v(e,t),e.vertexShader=e.vertexShader.replace(`#include `,`#include #ifdef USE_FOG #define USE_FOG_WORLD_POSITION #define USE_VOLUMETRIC_FOG @@ -171,7 +182,8 @@ import{t as e}from"./three.module-DRRYkRPO.js";var t=` _fogPos3 = instanceMatrix * _fogPos3; #endif vFogWorldPosition = (modelMatrix * _fogPos3).xyz; -#endif`),e.fragmentShader=e.fragmentShader.replace(`#include `,`#include +#endif`),e.fragmentShader=e.fragmentShader.replace(`#include `,`#define HAS_FOG_DISTANCE_SCALE +#include #ifdef USE_FOG #define USE_VOLUMETRIC_FOG uniform float fogVolumeData[12]; @@ -179,4 +191,4 @@ import{t as e}from"./three.module-DRRYkRPO.js";var t=` uniform bool fogEnabled; #define USE_FOG_WORLD_POSITION varying vec3 vFogWorldPosition; -#endif`),e.fragmentShader=e.fragmentShader.replace(`#include `,t)}var a=3,o=4,s={fogVolumeData:{value:new Float32Array(a*o)},cameraHeight:{value:0},fogEnabled:{value:!0}};function c(e,t,n=!0){s.cameraHeight.value=e,s.fogVolumeData.value.set(t),s.fogEnabled.value=n}function l(){s.cameraHeight.value=0,s.fogVolumeData.value.fill(0),s.fogEnabled.value=!0}function u(e){let t=new Float32Array(a*o);for(let n=0;n`,g)}var b=3,x=4,S={fogVolumeData:{value:new Float32Array(b*x)},cameraHeight:{value:0},fogEnabled:{value:!0},fogDistanceScale:{value:1}};function C(e,t,n=!0){S.cameraHeight.value=e,S.fogVolumeData.value.set(t),S.fogEnabled.value=n}function w(){S.cameraHeight.value=0,S.fogVolumeData.value.fill(0),S.fogEnabled.value=!0,S.fogDistanceScale.value=1}function T(e){let t=new Float32Array(b*x);for(let n=0;n._GroupHeader_1780h_20:before{content:"[-] "}._GroupCount_1780h_44{opacity:.5;font-weight:400}._List_1780h_49{background:#0003;border:1px solid #fff3;border-radius:3px;margin:4px 0 8px;padding:0;list-style:none;overflow:hidden}._ListItem_1780h_59{flex-direction:column;margin:0;padding:0;display:flex}._EntityRow_1780h_66{align-items:center;gap:6px;padding:6px 8px;display:flex}._EntityRow_1780h_66 input[type=checkbox]{flex-shrink:0;margin-top:2px}._EntityInfo_1780h_78{flex:auto;min-width:0}._LocateButton_1780h_83{color:#ffffff80;cursor:pointer;background:0 0;border:0;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;margin:0;padding:8px 9px 8px 7px;display:flex}._LocateButton_1780h_83:hover:not(:disabled){color:#ffffffe6;background:#ffffff1a}._LocateButton_1780h_83:disabled{opacity:.25;cursor:default}._EntityRow_1780h_66[data-disabled]{opacity:.4}._ListItem_1780h_59:not(:last-child){border-bottom:1px solid #ffffff1a}._Type_1780h_115{color:#fff;font-size:12px;font-weight:700}._ID_1780h_121{color:#ffffffb3;background:#9fa6a933;border-radius:3px;margin:0 0 0 4px;padding:3px 5px;font-size:11px}._Detail_1780h_130{color:#ffffffb3;margin:4px 0 0;font-size:13px;display:block}._InspectorControls_ukzik_1{z-index:2;font-size:13px;line-height:1.231;position:relative}._Dropdown_ukzik_8{flex-direction:column;justify-content:center;align-items:stretch;gap:0;display:flex}._Group_ukzik_16{flex-wrap:wrap;justify-content:center;align-items:center;gap:20px;display:flex}._CheckboxField_ukzik_24{grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;gap:0 6px;margin:0 0 8px;display:grid}._CheckboxField_ukzik_24 input[type=checkbox]{grid-area:1/1;margin-left:0}._CheckboxField_ukzik_24 ._Label_ukzik_39{grid-area:1/2;align-items:center;gap:6px;display:flex}._Description_ukzik_47{opacity:.6;margin:2px 0 0;padding:0;font-size:12px;line-height:1.5}._CheckboxField_ukzik_24 ._Description_ukzik_47{grid-area:2/2}._Control_ukzik_60{justify-content:flex-end;align-items:center;gap:8px;display:flex}._Field_ukzik_67{grid-template-rows:auto auto;grid-template-columns:1fr auto;align-items:center;margin:0 0 12px;display:grid}._Field_ukzik_67:has(._Description_ukzik_47){margin:0 0 10px}._Field_ukzik_67 select{margin-bottom:6px}._Field_ukzik_67 input[type=range]{max-width:100px}._Field_ukzik_67 output{opacity:.7}._Tools_ukzik_91{flex-wrap:wrap;align-items:center;gap:8px;padding:10px;display:flex}._Field_ukzik_67 label{grid-area:1/1}._Field_ukzik_67 ._Control_ukzik_60{grid-area:1/2}._Field_ukzik_67 ._Description_ukzik_47{grid-area:2/1/auto/-1}._ForceRenderButton_ukzik_119{color:#4cb5ff;cursor:pointer;background:0 0;border:0;place-content:center;margin:0;padding:0 2px;font-size:16px;display:grid}._CloseSidebarButton_ukzik_131{margin:20px 12px;padding-top:10px;padding-bottom:10px;font-size:15px}@media (width>=900px){._CloseSidebarButton_ukzik_131{display:none}}@media (pointer:coarse){._Tools_ukzik_91{padding-top:12px;padding-bottom:13px}._Field_ukzik_67{grid-template-columns:auto minmax(0,70%);gap:0 20px;margin-bottom:20px}._CheckboxField_ukzik_24{margin-bottom:16px}._Description_ukzik_47{font-size:14px;line-height:1.42857}._Field_ukzik_67 label,._CheckboxField_ukzik_24 ._Label_ukzik_39{font-size:15px}._CheckboxField_ukzik_24 input[type=checkbox]{min-width:19px;min-height:19px;padding-right:6px}._Field_ukzik_67 select{width:100%;max-width:none;padding:4px 6px;font-size:15px}._Field_ukzik_67 input[type=range]{width:100%;max-width:none;padding-top:10px;padding-bottom:10px}}@media (width<=499px){._PopoverWrapper_avklz_97{width:auto!important;max-width:none!important;left:8px!important;right:8px!important;transform:translateY(44px)!important}._Popover_avklz_83{min-width:0}}@media (pointer:fine){._CloseButton_avklz_215{visibility:hidden}}@media (width<=899px){._InputWrapper_avklz_1{flex:1 1 0;max-width:460px;margin-left:4px}._Input_avklz_1{width:100%}}._InputWrapper_avklz_1{z-index:2;align-items:center;margin:10px 10px 10px 8px;display:flex;position:relative}._Shortcut_avklz_9{color:#fff9;pointer-events:none;background:#ffffff26;border-radius:3px;padding:1px 4px;font-family:system-ui,sans-serif;font-size:11px;position:absolute;right:7px}._Input_avklz_1[aria-expanded=true]~._Shortcut_avklz_9{display:none}._Input_avklz_1{color:#fff;-webkit-user-select:text;user-select:text;background:#0009;border:1px solid #ffffff4d;border-radius:3px;outline:none;width:280px;padding:6px 36px 6px 8px;font-size:14px}._Input_avklz_1[aria-expanded=true]{padding-right:8px}._Input_avklz_1:focus{border-color:#fff9}._Input_avklz_1::placeholder{color:#777;font-family:inherit;font-size:12px}._SelectedValue_avklz_52{pointer-events:none;align-items:center;gap:6px;display:flex;position:absolute;left:8px;right:36px;overflow:hidden}._Input_avklz_1[aria-expanded=true]~._SelectedValue_avklz_52{display:none}._SelectedName_avklz_67{color:#fff;white-space:nowrap;text-overflow:ellipsis;flex-shrink:1;min-width:0;font-size:14px;font-weight:600;line-height:1.28571;overflow:hidden}._SelectedValue_avklz_52>._ItemType_avklz_79{flex-shrink:0}._Popover_avklz_83{z-index:100;min-width:360px;max-height:var(--popover-available-height,90vh);overscroll-behavior:contain;background:#141414f2;border:1px solid #ffffff80;border-radius:3px;overflow:hidden auto;box-shadow:0 8px 24px #0009}@media (width<=499px){._PopoverWrapper_avklz_97{width:auto!important;max-width:none!important;left:8px!important;right:8px!important;transform:translateY(44px)!important}._Popover_avklz_83{min-width:0}}._List_avklz_110{padding:4px 0}._List_avklz_110:has(>._Group_avklz_114:first-child){padding-top:0}._Group_avklz_114{padding-bottom:4px}._GroupLabel_avklz_122{color:#c6caca;z-index:1;background:#3a4548f2;border-bottom:1px solid #ffffff4d;padding:6px 8px 6px 12px;font-size:13px;font-weight:600;position:sticky;top:0}._Group_avklz_114:not(:last-child){border-bottom:1px solid #ffffff4d}._Item_avklz_79{cursor:pointer;border-radius:4px;outline:none;flex-direction:column;gap:1px;margin:4px 4px 0;padding:6px 8px;scroll-margin-top:32px;display:flex}._List_avklz_110>._Item_avklz_79:first-child{margin-top:0}._Item_avklz_79[data-active-item]{background:#ffffff26}._Item_avklz_79[aria-selected=true]{background:#6496ff4d}._ItemHeader_avklz_162{align-items:center;gap:6px;display:flex}._ItemName_avklz_168{color:#fff;font-size:14px;font-weight:600}._ItemTypes_avklz_174{gap:3px;display:flex}._ItemType_avklz_79{color:#fff;background:#ff9d0066;border-radius:3px;padding:2px 5px;font-size:10px;font-weight:600;line-height:1.3}._ItemType_avklz_79:hover{background:#ff9d00b3}._ItemMissionName_avklz_193{color:#ffffff80;font-size:12px}._NoResults_avklz_198{color:#ffffff80;text-align:center;padding:12px 8px;font-size:13px}._Backdrop_avklz_205{z-index:1;background:#00000080;position:fixed;inset:0}._CloseButton_avklz_215{z-index:101;color:#ffffff80;background:0 0;border:0;flex:none;place-content:center;align-self:stretch;margin:0 0 0 -8px;padding:6px 12px 6px 8px;font-size:24px;display:grid;position:relative}@media (pointer:fine){._CloseButton_avklz_215{visibility:hidden}}._CloseButton_avklz_215[data-open=false]{visibility:hidden}@media (width<=899px){._InputWrapper_avklz_1{flex:1 1 0;max-width:460px;margin-left:4px}._Input_avklz_1{width:100%}}._Header_klnnn_1{flex:auto;justify-content:flex-start;align-items:center;gap:12px;display:flex}._MissionInfo_klnnn_9{color:#fff;background:0 0;border:1px solid #fff0;border-radius:3px;align-items:center;gap:6px;margin:10px auto 10px 4px;padding:5px 8px;display:flex}._MissionType_klnnn_25{pointer-events:none}._MissionTypeDisplayName_klnnn_30{opacity:.5;font-size:12px}._Metadata_klnnn_35{text-align:right;flex-direction:column;gap:2px;margin-left:4px;padding:8px 0;font-size:12px;line-height:1.16667;display:flex}._Attribution_klnnn_46,._ServerInfo_klnnn_47{color:#83938b}._PlayerName_klnnn_51,._RecordingDate_klnnn_52,._ServerName_klnnn_53{color:#eceae7}._EjectIcon_klnnn_62{margin-top:-.5px;font-size:21px}._Error_klnnn_67{color:#ff6a45}@media (width<=899px){._Metadata_klnnn_35{display:none}._MissionInfo_klnnn_9{margin-left:0}}._Pulsing_klnnn_81{animation:1.2s ease-out infinite _blink_klnnn_1}._ConnectionPing_klnnn_85{background:#ffffff1a;border-radius:12px;align-items:center;gap:6px;padding:5px 8px;font-size:12px;display:inline-flex}._PingDot_klnnn_95{background:currentColor;border-radius:3px;width:6px;height:6px;display:inline-block}._ConnectionPing_klnnn_85[data-quality=good] ._PingDot_klnnn_95{color:#74ff45}._ConnectionPing_klnnn_85[data-quality=fine] ._PingDot_klnnn_95{color:#ff9e2f}._ConnectionPing_klnnn_85[data-quality=poor] ._PingDot_klnnn_95{color:#e83f25}@keyframes _blink_klnnn_1{0%{opacity:1}to{opacity:.25}}._LoadingIndicator_8ijel_1{pointer-events:none;z-index:1;opacity:.8;flex-direction:column;align-items:center;gap:16px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}._LoadingIndicator_8ijel_1[data-complete=true]{animation:.3s ease-out forwards _loadingComplete_8ijel_1}._Spinner_8ijel_19{border:4px solid #fff3;border-top-color:#fff;border-radius:50%;width:48px;height:48px;animation:1s linear infinite _spin_8ijel_1}._Progress_8ijel_28{background:#fff3;border-radius:2px;width:200px;height:4px;overflow:hidden}._ProgressBar_8ijel_36{background:#fff;border-radius:2px;height:100%;transition:width .1s ease-out}._ProgressText_8ijel_43{color:#ffffffb3;font-variant-numeric:tabular-nums;font-size:14px}._LoadingIndicator_8ijel_1[data-indeterminate=true] ._Progress_8ijel_28,._LoadingIndicator_8ijel_1[data-indeterminate=true] ._ProgressText_8ijel_43{display:none}@keyframes _spin_8ijel_1{to{transform:rotate(360deg)}}@keyframes _loadingComplete_8ijel_1{0%{opacity:1}to{opacity:0}}._Dialog_1t9wa_1{color:#b0d5c9;-webkit-user-select:text;user-select:text;-webkit-touch-callout:default;background:#142526cc;border:1px solid #41838b99;border-radius:4px;outline:none;min-width:120px;max-width:calc(100dvw - 40px);min-height:120px;max-height:calc(100dvh - 40px);font-size:14px;line-height:1.5;position:relative;overflow:hidden;box-shadow:0 0 50px #0006,inset 0 0 60px #01070d99}._Overlay_1t9wa_22{z-index:10;background:#000000b3;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}._DialogButton_1t9wa_33{color:#99fff1;text-shadow:0 -1px 1px #0006;cursor:pointer;background:linear-gradient(#30a497cc,#1f9688cc 33%,#218377cc 67%,#046564cc);border:1px solid #387c74cc;border-top-color:#57b7b9cc;border-radius:4px;padding:4px 18px;font-family:inherit;font-size:14px;font-weight:500;box-shadow:inset 0 0 4px #02808e80}._DialogButton_1t9wa_33:hover:not(:disabled){color:#b1fff5;border:1px solid #409188e6;border-top-color:#5ac6c2e6;box-shadow:inset 0 0 4px #02808e80,0 0 5px #3effbf80}._DialogButton_1t9wa_33:active:not(:disabled){transform:translateY(1px)}._DialogButton_1t9wa_33:disabled{opacity:.4;cursor:not-allowed}._Secondary_1t9wa_72{box-shadow:none;color:#a2e2cfcc;text-shadow:none;background:0 0;border:1px solid #387c74cc}._Secondary_1t9wa_72:hover:not(:disabled){color:#a9ffe5cc;border:1px solid #3f9087e6}._Actions_1t9wa_86{align-items:center;gap:10px;display:flex}@media (width<=719px){._Dialog_1t9wa_1{border-radius:0;max-width:calc(100dvw - 20px);max-height:calc(100dvh - 20px)}}@media (width<=639px){._Overlay_1t9wa_22{padding:10px}}._Button_n870r_1{color:#fff;cursor:pointer;opacity:.6;background:0 0;border:0;border-radius:0;flex:none;place-content:center;align-self:stretch;min-width:30px;min-height:30px;margin:0 0 0 2px;padding:2px 4px 2px 8px;font-size:24px;display:grid}._Button_n870r_1:active,._Button_n870r_1[data-active=true]{opacity:1;transform:translateY(1px)}._Button_n870r_1[data-orientation=top]{min-width:48px;min-height:48px;margin:0;display:none}@media (hover:hover){._Button_n870r_1:not(:disabled):hover{opacity:1}}._Button_n870r_1 svg{pointer-events:none}@media (width<=899px){._Button_n870r_1[data-orientation=left]{display:none}._Button_n870r_1[data-orientation=top]{display:grid}}@media (pointer:coarse){._Button_n870r_1{font-size:28px}}._Button_17xa1_1{gap:6px;margin:0 10px 0 auto;padding:4px 10px 4px 6px;font-size:20px}._ButtonLabel_17xa1_9{font-size:13px;font-weight:500}@media (width<=799px){._Button_17xa1_1{margin:0 6px 0 0;padding-left:8px;padding-right:8px}._Button_17xa1_1 ._ButtonLabel_17xa1_9{display:none}}._Frame_1u5rk_1{grid-template:"sidebar toolbar""sidebar content"1fr"sidebar footer"/auto 1fr;width:100dvw;height:100dvh;display:grid;overflow:hidden}._Toolbar_1u5rk_16{color:#fff;z-index:3;view-transition-class:layout;background:#191f1f;border-bottom:1px solid #465555;grid-area:toolbar;align-items:center;display:flex;position:relative;box-shadow:0 0 3px 1px #0006}._Sidebar_1u5rk_29{color:#fff;z-index:2;background:#191f1f;border-right:1px solid #465555;grid-area:sidebar;width:320px;height:100%;min-height:0;position:relative;overflow-y:auto;box-shadow:0 0 3px 1px #0006}._Content_1u5rk_43{z-index:0;grid-area:content;min-width:0;min-height:0;position:relative;overflow:hidden}._ThreeView_1u5rk_52{z-index:0;position:absolute;inset:0}._PlayerBar_1u5rk_61{color:#fff;z-index:1;background:#191f1f;border-top:1px solid #465555;grid-area:footer;position:relative;box-shadow:0 0 3px 1px #0006}._Backdrop_1u5rk_71{display:none}@media (width<=899px){._Frame_1u5rk_1{grid-template:"toolbar""content"1fr"footer"/1fr;display:grid}._Sidebar_1u5rk_29{border:1px solid #465555;border-top:0;grid-area:content-start/content/footer-end;justify-self:center;width:auto;max-width:500px;height:calc(100% + 1px);margin:0 -1px}._Toolbar_1u5rk_16{justify-content:space-between}._Backdrop_1u5rk_71{z-index:2;background:#000000b3;display:block;position:fixed;inset:0}} diff --git a/docs/assets/index-BEKjcnfN.js b/docs/assets/index-BEKjcnfN.js new file mode 100644 index 00000000..5be86682 --- /dev/null +++ b/docs/assets/index-BEKjcnfN.js @@ -0,0 +1,13 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/demoStreaming-B6DJigkO.js","assets/streamHelpers-CRhKrjgF.js","assets/chunk-DECur_0Z.js","assets/three.module-C9W4LJrj.js","assets/scene-BpfzP6B-.js","assets/logger-B058WGzf.js","assets/demoTimelineScanner-9_uygULI.js","assets/TouchHandler-DHnTaPUe.js","assets/react-three-fiber.esm-CD18QK1u.js","assets/jsx-runtime-BpGWiA-R.js","assets/traditional-ec-lUAFC.js","assets/SettingsProvider-D-grt5cc.js","assets/engineStore-Mono9lyt.js","assets/manifest-MMwwguGo.js","assets/stringUtils-EmGsjr9D.js","assets/JoystickContext-D1zeSnLk.js","assets/TouchJoystick-CGPWexYp.js","assets/preload-helper-BPkniflS.js","assets/TouchJoystick-Dn73xHvm.css","assets/KeyboardOverlay-DKaTY3Tb.js","assets/gr-C6l4behh.js","assets/iconBase-BCRUFbxq.js","assets/cameraTourStore-DQ989o2x.js","assets/KeyboardOverlay-CpSto9KR.css","assets/GameView-CAH9mw-8.js","assets/mission-S3koG-vu.js","assets/extends-DPirtscy.js","assets/Texture-D2i1vM3o.js","assets/Html-DcxB1JCg.js","assets/useQuery-BomOZ8gL.js","assets/useBaseQuery-D-AnxeNl.js","assets/playbackUtils-C1ncI8YZ.js","assets/globalFogUniforms-BQRkMz5n.js","assets/GenericShape-C0Oq1K_N.js","assets/AudioEmitter-EsMJ6jds.js","assets/DebugBounds-BnJbEQUF.js","assets/AudioEmitter-DAQByNim.css","assets/useAnisotropy-Dq6cNuNI.js","assets/DebugSuspense-D7OBM5vj.js","assets/ShapeErrorBoundary-CKhGCR8M.js","assets/gameEntityTypes-6Vr_C_kI.js","assets/streamPlaybackStore-UQ4nn4bZ.js","assets/GameView-DxG7zBut.css","assets/DemoPlaybackControls-q8VgZTNM.js","assets/DemoPlaybackControls-D1aGRzqE.css","assets/PlayerHUD-B-3Ol8YW.js","assets/PlayerHUD-DWa6gIym.css","assets/MapInfoDialog-DRDO-hEe.js","assets/MapInfoDialog-qPSE5ow_.css","assets/ServerBrowser-DJO_Cg9j.js","assets/ServerBrowser-B1ZZ25fp.css","assets/ScoreScreen-B4ikofMT.js","assets/ScoreScreen-FWyMMObP.css"])))=>i.map(i=>d[i]); +import{r as e,t}from"./chunk-DECur_0Z.js";import{n,r,t as i}from"./jsx-runtime-BpGWiA-R.js";import{a,i as o,o as s,s as c}from"./react-three-fiber.esm-CD18QK1u.js";import{_ as l,a as u,d,f,g as p,h as m,i as h,l as g,m as _,n as v,p as y,r as b,t as x,u as S}from"./SettingsProvider-D-grt5cc.js";import{t as C}from"./iconBase-BCRUFbxq.js";import{a as w,c as T,l as E,n as D,r as O,s as k,t as A}from"./manifest-MMwwguGo.js";import{i as j,n as M,r as ee,t as te}from"./stringUtils-EmGsjr9D.js";import{i as N,n as P,r as ne}from"./traditional-ec-lUAFC.js";import{i as F,r as re,s as ie}from"./engineStore-Mono9lyt.js";import{t as I}from"./logger-B058WGzf.js";import{n as L,t as R}from"./cameraTourStore-DQ989o2x.js";import{A as z,C as ae,D as oe,E as se,O as ce,S as le,T as ue,_ as de,a as fe,b as pe,c as me,f as he,g as ge,h as _e,i as ve,j as ye,k as be,l as xe,m as Se,o as Ce,p as we,r as Te,s as Ee,t as De,u as Oe,v as ke,w as Ae,x as je,y as Me}from"./streamHelpers-CRhKrjgF.js";import{B as Ne,Bt as Pe,Ct as Fe,F as Ie,G as Le,Gt as Re,I as ze,It as Be,J as Ve,K as He,L as Ue,M as We,Mt as Ge,Nt as Ke,O as qe,Ot as Je,P as Ye,Pt as Xe,Q as Ze,R as Qe,St as $e,T as et,U as tt,Ut as nt,V as rt,W as it,Wt as at,Y as ot,Z as st,a as ct,at as lt,b as ut,bt as dt,ct as ft,d as pt,dt as mt,f as ht,ft as gt,gt as _t,h as vt,ht as yt,it as bt,lt as xt,m as St,mt as Ct,nt as wt,pt as Tt,q as Et,rt as Dt,st as Ot,tt as kt,ut as At,v as jt,vt as Mt,wt as Nt,yt as Pt,z as Ft,zt as It}from"./three.module-C9W4LJrj.js";import{i as Lt,r as Rt}from"./scene-BpfzP6B-.js";import{a as zt,i as Bt}from"./mission-S3koG-vu.js";import{t as Vt}from"./preload-helper-BPkniflS.js";import{t as Ht}from"./JoystickContext-D1zeSnLk.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var Ut=t((e=>{var t=r();function n(e){var t=`https://react.dev/errors/`+e;if(1{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=Ut()})),Gt=t((e=>{var t=c(),n=r(),i=Wt();function a(e){var t=`https://react.dev/errors/`+e;if(1re||(e.current=F[re],F[re]=null,re--)}function L(e,t){re++,F[re]=e.current,e.current=t}var R=ie(null),z=ie(null),ae=ie(null),oe=ie(null);function se(e,t){switch(L(ae,t),L(z,e),L(R,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Hd(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Hd(t),e=Ud(t,e);else switch(e){case`svg`:e=1;break;case`math`:e=2;break;default:e=0}}I(R),L(R,e)}function ce(){I(R),I(z),I(ae)}function le(e){e.memoizedState!==null&&L(oe,e);var t=R.current,n=Ud(t,e.type);t!==n&&(L(z,e),L(R,n))}function ue(e){z.current===e&&(I(R),I(z)),oe.current===e&&(I(oe),$f._currentValue=ne)}var de,fe;function pe(e){if(de===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);de=t&&t[1]||``,fe=-1)`:-1i||c[r]!==l[i]){var u=` +`+c[r].replace(` at new `,` at `);return e.displayName&&u.includes(``)&&(u=u.replace(``,e.displayName)),u}while(1<=r&&0<=i);break}}}finally{me=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:``)?pe(n):``}function ge(e,t){switch(e.tag){case 26:case 27:case 5:return pe(e.type);case 16:return pe(`Lazy`);case 13:return e.child!==t&&t!==null?pe(`Suspense Fallback`):pe(`Suspense`);case 19:return pe(`SuspenseList`);case 0:case 15:return he(e.type,!1);case 11:return he(e.type.render,!1);case 1:return he(e.type,!0);case 31:return pe(`Activity`);default:return``}}function _e(e){try{var t=``,n=null;do t+=ge(e,n),n=e,e=e.return;while(e);return t}catch(e){return` +Error generating stack: `+e.message+` +`+e.stack}}var ve=Object.prototype.hasOwnProperty,ye=t.unstable_scheduleCallback,be=t.unstable_cancelCallback,xe=t.unstable_shouldYield,Se=t.unstable_requestPaint,Ce=t.unstable_now,we=t.unstable_getCurrentPriorityLevel,Te=t.unstable_ImmediatePriority,Ee=t.unstable_UserBlockingPriority,De=t.unstable_NormalPriority,Oe=t.unstable_LowPriority,ke=t.unstable_IdlePriority,Ae=t.log,je=t.unstable_setDisableYieldValue,Me=null,Ne=null;function Pe(e){if(typeof Ae==`function`&&je(e),Ne&&typeof Ne.setStrictMode==`function`)try{Ne.setStrictMode(Me,e)}catch{}}var Fe=Math.clz32?Math.clz32:Re,Ie=Math.log,Le=Math.LN2;function Re(e){return e>>>=0,e===0?32:31-(Ie(e)/Le|0)|0}var ze=256,Be=262144,Ve=4194304;function He(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function Ue(e,t,n){var r=e.pendingLanes;if(r===0)return 0;var i=0,a=e.suspendedLanes,o=e.pingedLanes;e=e.warmLanes;var s=r&134217727;return s===0?(s=r&~a,s===0?o===0?n||(n=r&~e,n!==0&&(i=He(n))):i=He(o):i=He(s)):(r=s&~a,r===0?(o&=s,o===0?n||(n=s&~e,n!==0&&(i=He(n))):i=He(o)):i=He(r)),i===0?0:t!==0&&t!==i&&(t&a)===0&&(a=i&-i,n=t&-t,a>=n||a===32&&n&4194048)?t:i}function We(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function Ge(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Ke(){var e=Ve;return Ve<<=1,!(Ve&62914560)&&(Ve=4194304),e}function qe(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function Je(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function Ye(e,t,n,r,i,a){var o=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var s=e.entanglements,c=e.expirationTimes,l=e.hiddenUpdates;for(n=o&~n;0`u`||window.document===void 0||window.document.createElement===void 0),sn=!1;if(on)try{var cn={};Object.defineProperty(cn,`passive`,{get:function(){sn=!0}}),window.addEventListener(`test`,cn,cn),window.removeEventListener(`test`,cn,cn)}catch{sn=!1}var ln=null,un=null,dn=null;function fn(){if(dn)return dn;var e,t=un,n=t.length,r,i=`value`in ln?ln.value:ln.textContent,a=i.length;for(e=0;e=Wn),qn=` `,Jn=!1;function Yn(e,t){switch(e){case`keyup`:return Hn.indexOf(t.keyCode)!==-1;case`keydown`:return t.keyCode!==229;case`keypress`:case`mousedown`:case`focusout`:return!0;default:return!1}}function Xn(e){return e=e.detail,typeof e==`object`&&`data`in e?e.data:null}var Zn=!1;function Qn(e,t){switch(e){case`compositionend`:return Xn(t);case`keypress`:return t.which===32?(Jn=!0,qn):null;case`textInput`:return e=t.data,e===qn&&Jn?null:e;default:return null}}function $n(e,t){if(Zn)return e===`compositionend`||!Un&&Yn(e,t)?(e=fn(),dn=un=ln=null,Zn=!1,e):null;switch(e){case`paste`:return null;case`keypress`:if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}a:{for(;n;){if(n.nextSibling){n=n.nextSibling;break a}n=n.parentNode}n=void 0}n=br(n)}}function Sr(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Sr(e,t.parentNode):`contains`in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Cr(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Pt(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href==`string`}catch{n=!1}if(n)e=t.contentWindow;else break;t=Pt(e.document)}return t}function wr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t===`input`&&(e.type===`text`||e.type===`search`||e.type===`tel`||e.type===`url`||e.type===`password`)||t===`textarea`||e.contentEditable===`true`)}var Tr=on&&`documentMode`in document&&11>=document.documentMode,Er=null,Dr=null,Or=null,kr=!1;function Ar(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;kr||Er==null||Er!==Pt(r)||(r=Er,`selectionStart`in r&&wr(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Or&&yr(Or,r)||(Or=r,r=Ed(Dr,`onSelect`),0>=o,i-=o,Si=1<<32-Fe(t)+i|n<h?(g=d,d=null):g=d.sibling;var _=p(i,d,s[h],c);if(_===null){d===null&&(d=g);break}e&&d&&_.alternate===null&&t(i,d),a=o(_,a,h),u===null?l=_:u.sibling=_,u=_,d=g}if(h===s.length)return n(i,d),U&&wi(i,h),l;if(d===null){for(;hg?(_=h,h=null):_=h.sibling;var y=p(i,h,v.value,l);if(y===null){h===null&&(h=_);break}e&&h&&y.alternate===null&&t(i,h),s=o(y,s,g),d===null?u=y:d.sibling=y,d=y,h=_}if(v.done)return n(i,h),U&&wi(i,g),u;if(h===null){for(;!v.done;g++,v=c.next())v=f(i,v.value,l),v!==null&&(s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return U&&wi(i,g),u}for(h=r(h);!v.done;g++,v=c.next())v=m(h,i,g,v.value,l),v!==null&&(e&&v.alternate!==null&&h.delete(v.key===null?g:v.key),s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return e&&h.forEach(function(e){return t(i,e)}),U&&wi(i,g),u}function b(e,r,o,c){if(typeof o==`object`&&o&&o.type===v&&o.key===null&&(o=o.props.children),typeof o==`object`&&o){switch(o.$$typeof){case g:a:{for(var l=o.key;r!==null;){if(r.key===l){if(l=o.type,l===v){if(r.tag===7){n(e,r.sibling),c=i(r,o.props.children),c.return=e,e=c;break a}}else if(r.elementType===l||typeof l==`object`&&l&&l.$$typeof===D&&wa(l)===r.type){n(e,r.sibling),c=i(r,o.props),ja(c,o),c.return=e,e=c;break a}n(e,r);break}else t(e,r);r=r.sibling}o.type===v?(c=li(o.props.children,e.mode,c,o.key),c.return=e,e=c):(c=ci(o.type,o.key,o.props,null,e.mode,c),ja(c,o),c.return=e,e=c)}return s(e);case _:a:{for(l=o.key;r!==null;){if(r.key===l)if(r.tag===4&&r.stateNode.containerInfo===o.containerInfo&&r.stateNode.implementation===o.implementation){n(e,r.sibling),c=i(r,o.children||[]),c.return=e,e=c;break a}else{n(e,r);break}else t(e,r);r=r.sibling}c=fi(o,e.mode,c),c.return=e,e=c}return s(e);case D:return o=wa(o),b(e,r,o,c)}if(te(o))return h(e,r,o,c);if(j(o)){if(l=j(o),typeof l!=`function`)throw Error(a(150));return o=l.call(o),y(e,r,o,c)}if(typeof o.then==`function`)return b(e,r,Aa(o),c);if(o.$$typeof===S)return b(e,r,Qi(e,o),c);Ma(e,o)}return typeof o==`string`&&o!==``||typeof o==`number`||typeof o==`bigint`?(o=``+o,r!==null&&r.tag===6?(n(e,r.sibling),c=i(r,o),c.return=e,e=c):(n(e,r),c=ui(o,e.mode,c),c.return=e,e=c),s(e)):n(e,r)}return function(e,t,n,r){try{ka=0;var i=b(e,t,n,r);return Oa=null,i}catch(t){if(t===va||t===ba)throw t;var a=ii(29,t,null,e.mode);return a.lanes=r,a.return=e,a}}}var Pa=Na(!0),Fa=Na(!1),Ia=!1;function La(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Ra(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function za(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Ba(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,Il&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,t=ti(e),ei(e,null,n),t}return Zr(e,r,t,n),ti(e)}function Va(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,n&4194048)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Ze(e,n)}}function Ha(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,a=null;if(n=n.firstBaseUpdate,n!==null){do{var o={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};a===null?i=a=o:a=a.next=o,n=n.next}while(n!==null);a===null?i=a=t:a=a.next=t}else i=a=t;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:a,shared:r.shared,callbacks:r.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var Ua=!1;function Wa(){if(Ua){var e=la;if(e!==null)throw e}}function Ga(e,t,n,r){Ua=!1;var i=e.updateQueue;Ia=!1;var a=i.firstBaseUpdate,o=i.lastBaseUpdate,s=i.shared.pending;if(s!==null){i.shared.pending=null;var c=s,l=c.next;c.next=null,o===null?a=l:o.next=l,o=c;var u=e.alternate;u!==null&&(u=u.updateQueue,s=u.lastBaseUpdate,s!==o&&(s===null?u.firstBaseUpdate=l:s.next=l,u.lastBaseUpdate=c))}if(a!==null){var d=i.baseState;o=0,u=l=c=null,s=a;do{var f=s.lane&-536870913,p=f!==s.lane;if(p?(X&f)===f:(r&f)===f){f!==0&&f===ca&&(Ua=!0),u!==null&&(u=u.next={lane:0,tag:s.tag,payload:s.payload,callback:null,next:null});a:{var h=e,g=s;f=t;var _=n;switch(g.tag){case 1:if(h=g.payload,typeof h==`function`){d=h.call(_,d,f);break a}d=h;break a;case 3:h.flags=h.flags&-65537|128;case 0:if(h=g.payload,f=typeof h==`function`?h.call(_,d,f):h,f==null)break a;d=m({},d,f);break a;case 2:Ia=!0}}f=s.callback,f!==null&&(e.flags|=64,p&&(e.flags|=8192),p=i.callbacks,p===null?i.callbacks=[f]:p.push(f))}else p={lane:f,tag:s.tag,payload:s.payload,callback:s.callback,next:null},u===null?(l=u=p,c=d):u=u.next=p,o|=f;if(s=s.next,s===null){if(s=i.shared.pending,s===null)break;p=s,s=p.next,p.next=null,i.lastBaseUpdate=p,i.shared.pending=null}}while(1);u===null&&(c=d),i.baseState=c,i.firstBaseUpdate=l,i.lastBaseUpdate=u,a===null&&(i.shared.lanes=0),Gl|=o,e.lanes=o,e.memoizedState=d}}function Ka(e,t){if(typeof e!=`function`)throw Error(a(191,e));e.call(t)}function qa(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;ea?a:8;var o=N.T,s={};N.T=s,Ms(e,!1,t,n);try{var c=i(),l=N.S;l!==null&&l(s,c),typeof c==`object`&&c&&typeof c.then==`function`?js(e,t,fa(c,r),pu(e)):js(e,t,r,pu(e))}catch(n){js(e,t,{then:function(){},status:`rejected`,reason:n},pu())}finally{P.p=a,o!==null&&s.types!==null&&(o.types=s.types),N.T=o}}function xs(){}function Ss(e,t,n,r){if(e.tag!==5)throw Error(a(476));var i=Cs(e).queue;bs(e,i,t,ne,n===null?xs:function(){return ws(e),n(r)})}function Cs(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:ne,baseState:ne,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Po,lastRenderedState:ne},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Po,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function ws(e){var t=Cs(e);t.next===null&&(t=e.alternate.memoizedState),js(e,t.next.queue,{},pu())}function Ts(){return Zi($f)}function Es(){return ko().memoizedState}function Ds(){return ko().memoizedState}function Os(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=pu();e=za(n);var r=Ba(t,e,n);r!==null&&(Z(r,t,n),Va(r,t,n)),t={cache:ia()},e.payload=t;return}t=t.return}}function ks(e,t,n){var r=pu();n={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},Ns(e)?Ps(t,n):(n=Qr(e,t,n,r),n!==null&&(Z(n,e,r),Fs(n,t,r)))}function As(e,t,n){js(e,t,n,pu())}function js(e,t,n,r){var i={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(Ns(e))Ps(t,i);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var o=t.lastRenderedState,s=a(o,n);if(i.hasEagerState=!0,i.eagerState=s,vr(s,o))return Zr(e,t,i,0),Ll===null&&Xr(),!1}catch{}if(n=Qr(e,t,i,r),n!==null)return Z(n,e,r),Fs(n,t,r),!0}return!1}function Ms(e,t,n,r){if(r={lane:2,revertLane:dd(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},Ns(e)){if(t)throw Error(a(479))}else t=Qr(e,n,r,2),t!==null&&Z(t,e,2)}function Ns(e){var t=e.alternate;return e===W||t!==null&&t===W}function Ps(e,t){po=fo=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Fs(e,t,n){if(n&4194048){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Ze(e,n)}}var K={readContext:Zi,use:Mo,useCallback:yo,useContext:yo,useEffect:yo,useImperativeHandle:yo,useLayoutEffect:yo,useInsertionEffect:yo,useMemo:yo,useReducer:yo,useRef:yo,useState:yo,useDebugValue:yo,useDeferredValue:yo,useTransition:yo,useSyncExternalStore:yo,useId:yo,useHostTransitionStatus:yo,useFormState:yo,useActionState:yo,useOptimistic:yo,useMemoCache:yo,useCacheRefresh:yo};K.useEffectEvent=yo;var Is={readContext:Zi,use:Mo,useCallback:function(e,t){return Oo().memoizedState=[e,t===void 0?null:t],e},useContext:Zi,useEffect:cs,useImperativeHandle:function(e,t,n){n=n==null?null:n.concat([e]),os(4194308,4,ms.bind(null,t,e),n)},useLayoutEffect:function(e,t){return os(4194308,4,e,t)},useInsertionEffect:function(e,t){os(4,2,e,t)},useMemo:function(e,t){var n=Oo();t=t===void 0?null:t;var r=e();if(mo){Pe(!0);try{e()}finally{Pe(!1)}}return n.memoizedState=[r,t],r},useReducer:function(e,t,n){var r=Oo();if(n!==void 0){var i=n(t);if(mo){Pe(!0);try{n(t)}finally{Pe(!1)}}}else i=t;return r.memoizedState=r.baseState=i,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:i},r.queue=e,e=e.dispatch=ks.bind(null,W,e),[r.memoizedState,e]},useRef:function(e){var t=Oo();return e={current:e},t.memoizedState=e},useState:function(e){e=Wo(e);var t=e.queue,n=As.bind(null,W,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:gs,useDeferredValue:function(e,t){return vs(Oo(),e,t)},useTransition:function(){var e=Wo(!1);return e=bs.bind(null,W,e.queue,!0,!1),Oo().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var r=W,i=Oo();if(U){if(n===void 0)throw Error(a(407));n=n()}else{if(n=t(),Ll===null)throw Error(a(349));X&127||zo(r,t,n)}i.memoizedState=n;var o={value:n,getSnapshot:t};return i.queue=o,cs(Vo.bind(null,r,o,e),[e]),r.flags|=2048,is(9,{destroy:void 0},Bo.bind(null,r,o,n,t),null),n},useId:function(){var e=Oo(),t=Ll.identifierPrefix;if(U){var n=Ci,r=Si;n=(r&~(1<<32-Fe(r)-1)).toString(32)+n,t=`_`+t+`R_`+n,n=ho++,0<\/script>`,o=o.removeChild(o.firstChild);break;case`select`:o=typeof r.is==`string`?s.createElement(`select`,{is:r.is}):s.createElement(`select`),r.multiple?o.multiple=!0:r.size&&(o.size=r.size);break;default:o=typeof r.is==`string`?s.createElement(i,{is:r.is}):s.createElement(i)}}o[it]=t,o[at]=r;a:for(s=t.child;s!==null;){if(s.tag===5||s.tag===6)o.appendChild(s.stateNode);else if(s.tag!==4&&s.tag!==27&&s.child!==null){s.child.return=s,s=s.child;continue}if(s===t)break a;for(;s.sibling===null;){if(s.return===null||s.return===t)break a;s=s.return}s.sibling.return=s.return,s=s.sibling}t.stateNode=o;a:switch(Fd(o,i,r),i){case`button`:case`input`:case`select`:case`textarea`:r=!!r.autoFocus;break a;case`img`:r=!0;break a;default:r=!1}r&&kc(t)}}return J(t),Ac(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==r&&kc(t);else{if(typeof r!=`string`&&t.stateNode===null)throw Error(a(166));if(e=ae.current,Li(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,i=ki,i!==null)switch(i.tag){case 27:case 5:r=i.memoizedProps}e[it]=t,e=!!(e.nodeValue===n||r!==null&&!0===r.suppressHydrationWarning||Md(e.nodeValue,n)),e||Pi(t,!0)}else e=Vd(e).createTextNode(r),e[it]=t,t.stateNode=e}return J(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(r=Li(t),n!==null){if(e===null){if(!r)throw Error(a(318));if(e=t.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(a(557));e[it]=t}else Ri(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;J(t),e=!1}else n=zi(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(ao(t),t):(ao(t),null);if(t.flags&128)throw Error(a(558))}return J(t),null;case 13:if(r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(i=Li(t),r!==null&&r.dehydrated!==null){if(e===null){if(!i)throw Error(a(318));if(i=t.memoizedState,i=i===null?null:i.dehydrated,!i)throw Error(a(317));i[it]=t}else Ri(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;J(t),i=!1}else i=zi(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=i),i=!0;if(!i)return t.flags&256?(ao(t),t):(ao(t),null)}return ao(t),t.flags&128?(t.lanes=n,t):(n=r!==null,e=e!==null&&e.memoizedState!==null,n&&(r=t.child,i=null,r.alternate!==null&&r.alternate.memoizedState!==null&&r.alternate.memoizedState.cachePool!==null&&(i=r.alternate.memoizedState.cachePool.pool),o=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(o=r.memoizedState.cachePool.pool),o!==i&&(r.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),Mc(t,t.updateQueue),J(t),null);case 4:return ce(),e===null&&Sd(t.stateNode.containerInfo),J(t),null;case 10:return Gi(t.type),J(t),null;case 19:if(I(oo),r=t.memoizedState,r===null)return J(t),null;if(i=(t.flags&128)!=0,o=r.rendering,o===null)if(i)Nc(r,!1);else{if(Wl!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(o=so(e),o!==null){for(t.flags|=128,Nc(r,!1),e=o.updateQueue,t.updateQueue=e,Mc(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)si(n,e),n=n.sibling;return L(oo,oo.current&1|2),U&&wi(t,r.treeForkCount),t.child}e=e.sibling}r.tail!==null&&Ce()>tu&&(t.flags|=128,i=!0,Nc(r,!1),t.lanes=4194304)}else{if(!i)if(e=so(o),e!==null){if(t.flags|=128,i=!0,e=e.updateQueue,t.updateQueue=e,Mc(t,e),Nc(r,!0),r.tail===null&&r.tailMode===`hidden`&&!o.alternate&&!U)return J(t),null}else 2*Ce()-r.renderingStartTime>tu&&n!==536870912&&(t.flags|=128,i=!0,Nc(r,!1),t.lanes=4194304);r.isBackwards?(o.sibling=t.child,t.child=o):(e=r.last,e===null?t.child=o:e.sibling=o,r.last=o)}return r.tail===null?(J(t),null):(e=r.tail,r.rendering=e,r.tail=e.sibling,r.renderingStartTime=Ce(),e.sibling=null,n=oo.current,L(oo,i?n&1|2:n&1),U&&wi(t,r.treeForkCount),e);case 22:case 23:return ao(t),Qa(),r=t.memoizedState!==null,e===null?r&&(t.flags|=8192):e.memoizedState!==null!==r&&(t.flags|=8192),r?n&536870912&&!(t.flags&128)&&(J(t),t.subtreeFlags&6&&(t.flags|=8192)):J(t),n=t.updateQueue,n!==null&&Mc(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),r=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(r=t.memoizedState.cachePool.pool),r!==n&&(t.flags|=2048),e!==null&&I(ma),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),Gi(ra),J(t),null;case 25:return null;case 30:return null}throw Error(a(156,t.tag))}function Fc(e,t){switch(Di(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Gi(ra),ce(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return ue(t),null;case 31:if(t.memoizedState!==null){if(ao(t),t.alternate===null)throw Error(a(340));Ri()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(ao(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(a(340));Ri()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return I(oo),null;case 4:return ce(),null;case 10:return Gi(t.type),null;case 22:case 23:return ao(t),Qa(),e!==null&&I(ma),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return Gi(ra),null;case 25:return null;default:return null}}function Ic(e,t){switch(Di(t),t.tag){case 3:Gi(ra),ce();break;case 26:case 27:case 5:ue(t);break;case 4:ce();break;case 31:t.memoizedState!==null&&ao(t);break;case 13:ao(t);break;case 19:I(oo);break;case 10:Gi(t.type);break;case 22:case 23:ao(t),Qa(),e!==null&&I(ma);break;case 24:Gi(ra)}}function Lc(e,t){try{var n=t.updateQueue,r=n===null?null:n.lastEffect;if(r!==null){var i=r.next;n=i;do{if((n.tag&e)===e){r=void 0;var a=n.create,o=n.inst;r=a(),o.destroy=r}n=n.next}while(n!==i)}}catch(e){Wu(t,t.return,e)}}function Rc(e,t,n){try{var r=t.updateQueue,i=r===null?null:r.lastEffect;if(i!==null){var a=i.next;r=a;do{if((r.tag&e)===e){var o=r.inst,s=o.destroy;if(s!==void 0){o.destroy=void 0,i=t;var c=n,l=s;try{l()}catch(e){Wu(i,c,e)}}}r=r.next}while(r!==a)}}catch(e){Wu(t,t.return,e)}}function zc(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{qa(t,n)}catch(t){Wu(e,e.return,t)}}}function Bc(e,t,n){n.props=Us(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(n){Wu(e,t,n)}}function Vc(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var r=e.stateNode;break;case 30:r=e.stateNode;break;default:r=e.stateNode}typeof n==`function`?e.refCleanup=n(r):n.current=r}}catch(n){Wu(e,t,n)}}function Hc(e,t){var n=e.ref,r=e.refCleanup;if(n!==null)if(typeof r==`function`)try{r()}catch(n){Wu(e,t,n)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n==`function`)try{n(null)}catch(n){Wu(e,t,n)}else n.current=null}function Uc(e){var t=e.type,n=e.memoizedProps,r=e.stateNode;try{a:switch(t){case`button`:case`input`:case`select`:case`textarea`:n.autoFocus&&r.focus();break a;case`img`:n.src?r.src=n.src:n.srcSet&&(r.srcset=n.srcSet)}}catch(t){Wu(e,e.return,t)}}function Wc(e,t,n){try{var r=e.stateNode;Id(r,e.type,n,t),r[at]=t}catch(t){Wu(e,e.return,t)}}function Gc(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Qd(e.type)||e.tag===4}function Kc(e){a:for(;;){for(;e.sibling===null;){if(e.return===null||Gc(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&Qd(e.type)||e.flags&2||e.child===null||e.tag===4)continue a;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function qc(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Xt));else if(r!==4&&(r===27&&Qd(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(qc(e,t,n),e=e.sibling;e!==null;)qc(e,t,n),e=e.sibling}function Jc(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(r===27&&Qd(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(Jc(e,t,n),e=e.sibling;e!==null;)Jc(e,t,n),e=e.sibling}function Yc(e){var t=e.stateNode,n=e.memoizedProps;try{for(var r=e.type,i=t.attributes;i.length;)t.removeAttributeNode(i[0]);Fd(t,r,n),t[it]=e,t[at]=n}catch(t){Wu(e,e.return,t)}}var Xc=!1,Zc=!1,Qc=!1,$c=typeof WeakSet==`function`?WeakSet:Set,el=null;function tl(e,t){if(e=e.containerInfo,zd=cp,e=Cr(e),wr(e)){if(`selectionStart`in e)var n={start:e.selectionStart,end:e.selectionEnd};else a:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var i=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break a}var s=0,c=-1,l=-1,u=0,d=0,f=e,p=null;b:for(;;){for(var m;f!==n||i!==0&&f.nodeType!==3||(c=s+i),f!==o||r!==0&&f.nodeType!==3||(l=s+r),f.nodeType===3&&(s+=f.nodeValue.length),(m=f.firstChild)!==null;)p=f,f=m;for(;;){if(f===e)break b;if(p===n&&++u===i&&(c=s),p===o&&++d===r&&(l=s),(m=f.nextSibling)!==null)break;f=p,p=f.parentNode}f=m}n=c===-1||l===-1?null:{start:c,end:l}}else n=null}n||={start:0,end:0}}else n=null;for(Bd={focusedElem:e,selectionRange:n},cp=!1,el=t;el!==null;)if(t=el,e=t.child,t.subtreeFlags&1028&&e!==null)e.return=t,el=e;else for(;el!==null;){switch(t=el,o=t.alternate,e=t.flags,t.tag){case 0:if(e&4&&(e=t.updateQueue,e=e===null?null:e.events,e!==null))for(n=0;n title`))),Fd(o,r,n),o[it]=e,_t(o),r=o;break a;case`link`:var s=Hf(`link`,`href`,i).get(r+(n.href||``));if(s){for(var c=0;cg&&(o=g,g=h,h=o);var _=xr(s,h),v=xr(s,g);if(_&&v&&(p.rangeCount!==1||p.anchorNode!==_.node||p.anchorOffset!==_.offset||p.focusNode!==v.node||p.focusOffset!==v.offset)){var y=d.createRange();y.setStart(_.node,_.offset),p.removeAllRanges(),h>g?(p.addRange(y),p.extend(v.node,v.offset)):(y.setEnd(v.node,v.offset),p.addRange(y))}}}}for(d=[],p=s;p=p.parentNode;)p.nodeType===1&&d.push({element:p,left:p.scrollLeft,top:p.scrollTop});for(typeof s.focus==`function`&&s.focus(),s=0;sn?32:n,N.T=null,n=lu,lu=null;var o=au,s=su;if(iu=0,ou=au=null,su=0,Il&6)throw Error(a(331));var c=Il;if(Il|=4,jl(o.current),Cl(o,o.current,s,n),Il=c,id(0,!1),Ne&&typeof Ne.onPostCommitFiberRoot==`function`)try{Ne.onPostCommitFiberRoot(Me,o)}catch{}return!0}finally{P.p=i,N.T=r,Bu(e,t)}}function Uu(e,t,n){t=mi(n,t),t=Ys(e.stateNode,t,2),e=Ba(e,t,2),e!==null&&(Je(e,2),rd(e))}function Wu(e,t,n){if(e.tag===3)Uu(e,e,n);else for(;t!==null;){if(t.tag===3){Uu(t,e,n);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError==`function`||typeof r.componentDidCatch==`function`&&(ru===null||!ru.has(r))){e=mi(n,e),n=Xs(2),r=Ba(t,n,2),r!==null&&(Zs(n,r,t,e),Je(r,2),rd(r));break}}t=t.return}}function Gu(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new Fl;var i=new Set;r.set(t,i)}else i=r.get(t),i===void 0&&(i=new Set,r.set(t,i));i.has(n)||(Hl=!0,i.add(n),e=Ku.bind(null,e,t,n),t.then(e,e))}function Ku(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,Ll===e&&(X&n)===n&&(Wl===4||Wl===3&&(X&62914560)===X&&300>Ce()-$l?!(Il&2)&&xu(e,0):ql|=n,Yl===X&&(Yl=0)),rd(e)}function qu(e,t){t===0&&(t=Ke()),e=$r(e,t),e!==null&&(Je(e,t),rd(e))}function Ju(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),qu(e,n)}function Yu(e,t){var n=0;switch(e.tag){case 31:case 13:var r=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(a(314))}r!==null&&r.delete(t),qu(e,n)}function Xu(e,t){return ye(e,t)}var Zu=null,Qu=null,$u=!1,ed=!1,td=!1,nd=0;function rd(e){e!==Qu&&e.next===null&&(Qu===null?Zu=Qu=e:Qu=Qu.next=e),ed=!0,$u||($u=!0,ud())}function id(e,t){if(!td&&ed){td=!0;do for(var n=!1,r=Zu;r!==null;){if(!t)if(e!==0){var i=r.pendingLanes;if(i===0)var a=0;else{var o=r.suspendedLanes,s=r.pingedLanes;a=(1<<31-Fe(42|e)+1)-1,a&=i&~(o&~s),a=a&201326741?a&201326741|1:a?a|2:0}a!==0&&(n=!0,ld(r,a))}else a=X,a=Ue(r,r===Ll?a:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),!(a&3)||We(r,a)||(n=!0,ld(r,a));r=r.next}while(n);td=!1}}function ad(){od()}function od(){ed=$u=!1;var e=0;nd!==0&&Kd()&&(e=nd);for(var t=Ce(),n=null,r=Zu;r!==null;){var i=r.next,a=sd(r,t);a===0?(r.next=null,n===null?Zu=i:n.next=i,i===null&&(Qu=n)):(n=r,(e!==0||a&3)&&(ed=!0)),r=i}iu!==0&&iu!==5||id(e,!1),nd!==0&&(nd=0)}function sd(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,a=e.pendingLanes&-62914561;0s)break;var u=c.transferSize,d=c.initiatorType;u&&Ld(d)&&(c=c.responseEnd,o+=u*(c`u`?null:document;function Sf(e,t,n){var r=xf;if(r&&typeof t==`string`&&t){var i=It(t);i=`link[rel="`+e+`"][href="`+i+`"]`,typeof n==`string`&&(i+=`[crossorigin="`+n+`"]`),gf.has(i)||(gf.add(i),e={rel:e,crossOrigin:n,href:t},r.querySelector(i)===null&&(t=r.createElement(`link`),Fd(t,`link`,e),_t(t),r.head.appendChild(t)))}}function Cf(e){vf.D(e),Sf(`dns-prefetch`,e,null)}function wf(e,t){vf.C(e,t),Sf(`preconnect`,e,t)}function Tf(e,t,n){vf.L(e,t,n);var r=xf;if(r&&e&&t){var i=`link[rel="preload"][as="`+It(t)+`"]`;t===`image`&&n&&n.imageSrcSet?(i+=`[imagesrcset="`+It(n.imageSrcSet)+`"]`,typeof n.imageSizes==`string`&&(i+=`[imagesizes="`+It(n.imageSizes)+`"]`)):i+=`[href="`+It(e)+`"]`;var a=i;switch(t){case`style`:a=jf(e);break;case`script`:a=Ff(e)}hf.has(a)||(e=m({rel:`preload`,href:t===`image`&&n&&n.imageSrcSet?void 0:e,as:t},n),hf.set(a,e),r.querySelector(i)!==null||t===`style`&&r.querySelector(Mf(a))||t===`script`&&r.querySelector(If(a))||(t=r.createElement(`link`),Fd(t,`link`,e),_t(t),r.head.appendChild(t)))}}function Ef(e,t){vf.m(e,t);var n=xf;if(n&&e){var r=t&&typeof t.as==`string`?t.as:`script`,i=`link[rel="modulepreload"][as="`+It(r)+`"][href="`+It(e)+`"]`,a=i;switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:a=Ff(e)}if(!hf.has(a)&&(e=m({rel:`modulepreload`,href:e},t),hf.set(a,e),n.querySelector(i)===null)){switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:if(n.querySelector(If(a)))return}r=n.createElement(`link`),Fd(r,`link`,e),_t(r),n.head.appendChild(r)}}}function Df(e,t,n){vf.S(e,t,n);var r=xf;if(r&&e){var i=gt(r).hoistableStyles,a=jf(e);t||=`default`;var o=i.get(a);if(!o){var s={loading:0,preload:null};if(o=r.querySelector(Mf(a)))s.loading=5;else{e=m({rel:`stylesheet`,href:e,"data-precedence":t},n),(n=hf.get(a))&&zf(e,n);var c=o=r.createElement(`link`);_t(c),Fd(c,`link`,e),c._p=new Promise(function(e,t){c.onload=e,c.onerror=t}),c.addEventListener(`load`,function(){s.loading|=1}),c.addEventListener(`error`,function(){s.loading|=2}),s.loading|=4,Rf(o,t,r)}o={type:`stylesheet`,instance:o,count:1,state:s},i.set(a,o)}}}function Of(e,t){vf.X(e,t);var n=xf;if(n&&e){var r=gt(n).hoistableScripts,i=Ff(e),a=r.get(i);a||(a=n.querySelector(If(i)),a||(e=m({src:e,async:!0},t),(t=hf.get(i))&&Bf(e,t),a=n.createElement(`script`),_t(a),Fd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function kf(e,t){vf.M(e,t);var n=xf;if(n&&e){var r=gt(n).hoistableScripts,i=Ff(e),a=r.get(i);a||(a=n.querySelector(If(i)),a||(e=m({src:e,async:!0,type:`module`},t),(t=hf.get(i))&&Bf(e,t),a=n.createElement(`script`),_t(a),Fd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Af(e,t,n,r){var i=(i=ae.current)?_f(i):null;if(!i)throw Error(a(446));switch(e){case`meta`:case`title`:return null;case`style`:return typeof n.precedence==`string`&&typeof n.href==`string`?(t=jf(n.href),n=gt(i).hoistableStyles,r=n.get(t),r||(r={type:`style`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};case`link`:if(n.rel===`stylesheet`&&typeof n.href==`string`&&typeof n.precedence==`string`){e=jf(n.href);var o=gt(i).hoistableStyles,s=o.get(e);if(s||(i=i.ownerDocument||i,s={type:`stylesheet`,instance:null,count:0,state:{loading:0,preload:null}},o.set(e,s),(o=i.querySelector(Mf(e)))&&!o._p&&(s.instance=o,s.state.loading=5),hf.has(e)||(n={rel:`preload`,as:`style`,href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},hf.set(e,n),o||Pf(i,e,n,s.state))),t&&r===null)throw Error(a(528,``));return s}if(t&&r!==null)throw Error(a(529,``));return null;case`script`:return t=n.async,n=n.src,typeof n==`string`&&t&&typeof t!=`function`&&typeof t!=`symbol`?(t=Ff(n),n=gt(i).hoistableScripts,r=n.get(t),r||(r={type:`script`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};default:throw Error(a(444,e))}}function jf(e){return`href="`+It(e)+`"`}function Mf(e){return`link[rel="stylesheet"][`+e+`]`}function Nf(e){return m({},e,{"data-precedence":e.precedence,precedence:null})}function Pf(e,t,n,r){e.querySelector(`link[rel="preload"][as="style"][`+t+`]`)?r.loading=1:(t=e.createElement(`link`),r.preload=t,t.addEventListener(`load`,function(){return r.loading|=1}),t.addEventListener(`error`,function(){return r.loading|=2}),Fd(t,`link`,n),_t(t),e.head.appendChild(t))}function Ff(e){return`[src="`+It(e)+`"]`}function If(e){return`script[async]`+e}function Lf(e,t,n){if(t.count++,t.instance===null)switch(t.type){case`style`:var r=e.querySelector(`style[data-href~="`+It(n.href)+`"]`);if(r)return t.instance=r,_t(r),r;var i=m({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return r=(e.ownerDocument||e).createElement(`style`),_t(r),Fd(r,`style`,i),Rf(r,n.precedence,e),t.instance=r;case`stylesheet`:i=jf(n.href);var o=e.querySelector(Mf(i));if(o)return t.state.loading|=4,t.instance=o,_t(o),o;r=Nf(n),(i=hf.get(i))&&zf(r,i),o=(e.ownerDocument||e).createElement(`link`),_t(o);var s=o;return s._p=new Promise(function(e,t){s.onload=e,s.onerror=t}),Fd(o,`link`,r),t.state.loading|=4,Rf(o,n.precedence,e),t.instance=o;case`script`:return o=Ff(n.src),(i=e.querySelector(If(o)))?(t.instance=i,_t(i),i):(r=n,(i=hf.get(o))&&(r=m({},n),Bf(r,i)),e=e.ownerDocument||e,i=e.createElement(`script`),_t(i),Fd(i,`link`,r),e.head.appendChild(i),t.instance=i);case`void`:return null;default:throw Error(a(443,t.type))}else t.type===`stylesheet`&&!(t.state.loading&4)&&(r=t.instance,t.state.loading|=4,Rf(r,n.precedence,e));return t.instance}function Rf(e,t,n){for(var r=n.querySelectorAll(`link[rel="stylesheet"][data-precedence],style[data-precedence]`),i=r.length?r[r.length-1]:null,a=i,o=0;o title`):null)}function Wf(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case`meta`:case`title`:return!0;case`style`:if(typeof t.precedence!=`string`||typeof t.href!=`string`||t.href===``)break;return!0;case`link`:if(typeof t.rel!=`string`||typeof t.href!=`string`||t.href===``||t.onLoad||t.onError)break;switch(t.rel){case`stylesheet`:return e=t.disabled,typeof t.precedence==`string`&&e==null;default:return!0}case`script`:if(t.async&&typeof t.async!=`function`&&typeof t.async!=`symbol`&&!t.onLoad&&!t.onError&&t.src&&typeof t.src==`string`)return!0}return!1}function Gf(e){return!(e.type===`stylesheet`&&!(e.state.loading&3))}function Kf(e,t,n,r){if(n.type===`stylesheet`&&(typeof r.media!=`string`||!1!==matchMedia(r.media).matches)&&!(n.state.loading&4)){if(n.instance===null){var i=jf(r.href),a=t.querySelector(Mf(i));if(a){t=a._p,typeof t==`object`&&t&&typeof t.then==`function`&&(e.count++,e=Yf.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=a,_t(a);return}a=t.ownerDocument||t,r=Nf(r),(i=hf.get(i))&&zf(r,i),a=a.createElement(`link`),_t(a);var o=a;o._p=new Promise(function(e,t){o.onload=e,o.onerror=t}),Fd(a,`link`,r),n.instance=a}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&!(n.state.loading&3)&&(e.count++,n=Yf.bind(e),t.addEventListener(`load`,n),t.addEventListener(`error`,n))}}var qf=0;function Jf(e,t){return e.stylesheets&&e.count===0&&Zf(e,e.stylesheets),0qf?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(i)}}:null}function Yf(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Zf(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Xf=null;function Zf(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Xf=new Map,t.forEach(Qf,e),Xf=null,Yf.call(e))}function Qf(e,t){if(!(t.state.loading&4)){var n=Xf.get(e);if(n)var r=n.get(null);else{n=new Map,Xf.set(e,n);for(var i=e.querySelectorAll(`link[data-precedence],style[data-precedence]`),a=0;a{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=Gt()})),B=e(r(),1),qt=e(Kt(),1),V=n();function Jt(e,t,n){return r=>{if(!(t.length===0||t.some(t=>!y(r.getAll(t),e.getAll(t)))))return p("[nuqs `%s`] no change, returning previous",t.join(`,`),r),r;let i=Yt(e,t,n);return p(`[nuqs \`%s\`] subbed search params change + from %O + to %O`,t.join(`,`),r,i),i}}function Yt(e,t,n){if(t.length===0)return e;let r=n?new URLSearchParams(e):e;for(let n of e.keys())t.includes(n)||r.delete(n);return r}var Xt=`__nuqs__`,Zt=_();function Qt(e){return function(t,n){let r=new URL(location.href);r.search=l(t),p(`[nuqs react] Updating url: %s`,r),e&&n.shallow===!1?(n.history===`push`?location.assign:location.replace).call(location,r):(n.history===`push`?history.pushState:history.replaceState).call(history,history.state,Xt,r),Zt.emit(`update`,t),n.scroll===!0&&window.scrollTo({top:0})}}var $t=(0,B.createContext)({fullPageNavigationOnShallowFalseUpdates:!1});function en(e){let{fullPageNavigationOnShallowFalseUpdates:t}=(0,B.useContext)($t),[n,r]=(0,B.useState)(()=>typeof location>`u`?new URLSearchParams:Yt(new URLSearchParams(location.search),e,!1));return(0,B.useEffect)(()=>{let t=()=>{r(Jt(new URLSearchParams(location.search),e,!1))},n=t=>{r(Jt(t,e,!0))};return Zt.on(`update`,n),window.addEventListener(`popstate`,t),()=>{Zt.off(`update`,n),window.removeEventListener(`popstate`,t)}},[e.join(`&`)]),{searchParams:n,updateUrl:(0,B.useMemo)(()=>Qt(t),[t])}}var tn=m(en);function nn({children:e,fullPageNavigationOnShallowFalseUpdates:t=!1,...n}){return(0,B.createElement)($t.Provider,{value:{fullPageNavigationOnShallowFalseUpdates:t}},(0,B.createElement)(tn,{...n,children:e}))}var rn=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},an=new class extends rn{#e;#t;#n;constructor(){super(),this.#n=e=>{if(typeof window<`u`&&window.addEventListener){let t=()=>e();return window.addEventListener(`visibilitychange`,t,!1),()=>{window.removeEventListener(`visibilitychange`,t)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#n=e,this.#t?.(),this.#t=e(e=>{typeof e==`boolean`?this.setFocused(e):this.onFocus()})}setFocused(e){this.#e!==e&&(this.#e=e,this.onFocus())}onFocus(){let e=this.isFocused();this.listeners.forEach(t=>{t(e)})}isFocused(){return typeof this.#e==`boolean`?this.#e:globalThis.document?.visibilityState!==`hidden`}},on={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},sn=new class{#e=on;setTimeoutProvider(e){this.#e=e}setTimeout(e,t){return this.#e.setTimeout(e,t)}clearTimeout(e){this.#e.clearTimeout(e)}setInterval(e,t){return this.#e.setInterval(e,t)}clearInterval(e){this.#e.clearInterval(e)}};function cn(e){setTimeout(e,0)}var ln=typeof window>`u`||`Deno`in globalThis;function un(){}function dn(e,t){return typeof e==`function`?e(t):e}function fn(e){return typeof e==`number`&&e>=0&&e!==1/0}function pn(e,t){return Math.max(e+(t||0)-Date.now(),0)}function mn(e,t){return typeof e==`function`?e(t):e}function hn(e,t){return typeof e==`function`?e(t):e}function gn(e,t){let{type:n=`all`,exact:r,fetchStatus:i,predicate:a,queryKey:o,stale:s}=e;if(o){if(r){if(t.queryHash!==vn(o,t.options))return!1}else if(!bn(t.queryKey,o))return!1}if(n!==`all`){let e=t.isActive();if(n===`active`&&!e||n===`inactive`&&e)return!1}return!(typeof s==`boolean`&&t.isStale()!==s||i&&i!==t.state.fetchStatus||a&&!a(t))}function _n(e,t){let{exact:n,status:r,predicate:i,mutationKey:a}=e;if(a){if(!t.options.mutationKey)return!1;if(n){if(yn(t.options.mutationKey)!==yn(a))return!1}else if(!bn(t.options.mutationKey,a))return!1}return!(r&&t.state.status!==r||i&&!i(t))}function vn(e,t){return(t?.queryKeyHashFn||yn)(e)}function yn(e){return JSON.stringify(e,(e,t)=>Tn(t)?Object.keys(t).sort().reduce((e,n)=>(e[n]=t[n],e),{}):t)}function bn(e,t){return e===t?!0:typeof e==typeof t&&e&&t&&typeof e==`object`&&typeof t==`object`?Object.keys(t).every(n=>bn(e[n],t[n])):!1}var xn=Object.prototype.hasOwnProperty;function Sn(e,t,n=0){if(e===t)return e;if(n>500)return t;let r=wn(e)&&wn(t);if(!r&&!(Tn(e)&&Tn(t)))return t;let i=(r?e:Object.keys(e)).length,a=r?t:Object.keys(t),o=a.length,s=r?Array(o):{},c=0;for(let l=0;l{sn.setTimeout(t,e)})}function On(e,t,n){return typeof n.structuralSharing==`function`?n.structuralSharing(e,t):n.structuralSharing===!1?t:Sn(e,t)}function kn(e,t,n=0){let r=[...e,t];return n&&r.length>n?r.slice(1):r}function An(e,t,n=0){let r=[t,...e];return n&&r.length>n?r.slice(0,-1):r}var jn=Symbol();function Mn(e,t){return!e.queryFn&&t?.initialPromise?()=>t.initialPromise:!e.queryFn||e.queryFn===jn?()=>Promise.reject(Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}function Nn(e,t){return typeof e==`function`?e(...t):!!e}function Pn(e,t,n){let r=!1,i;return Object.defineProperty(e,`signal`,{enumerable:!0,get:()=>(i??=t(),r?i:(r=!0,i.aborted?n():i.addEventListener(`abort`,n,{once:!0}),i))}),e}var Fn=(()=>{let e=()=>ln;return{isServer(){return e()},setIsServer(t){e=t}}})();function In(){let e,t,n=new Promise((n,r)=>{e=n,t=r});n.status=`pending`,n.catch(()=>{});function r(e){Object.assign(n,e),delete n.resolve,delete n.reject}return n.resolve=t=>{r({status:`fulfilled`,value:t}),e(t)},n.reject=e=>{r({status:`rejected`,reason:e}),t(e)},n}var Ln=cn;function Rn(){let e=[],t=0,n=e=>{e()},r=e=>{e()},i=Ln,a=r=>{t?e.push(r):i(()=>{n(r)})},o=()=>{let t=e;e=[],t.length&&i(()=>{r(()=>{t.forEach(e=>{n(e)})})})};return{batch:e=>{let n;t++;try{n=e()}finally{t--,t||o()}return n},batchCalls:e=>(...t)=>{a(()=>{e(...t)})},schedule:a,setNotifyFunction:e=>{n=e},setBatchNotifyFunction:e=>{r=e},setScheduler:e=>{i=e}}}var zn=Rn(),Bn=new class extends rn{#e=!0;#t;#n;constructor(){super(),this.#n=e=>{if(typeof window<`u`&&window.addEventListener){let t=()=>e(!0),n=()=>e(!1);return window.addEventListener(`online`,t,!1),window.addEventListener(`offline`,n,!1),()=>{window.removeEventListener(`online`,t),window.removeEventListener(`offline`,n)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#n=e,this.#t?.(),this.#t=e(this.setOnline.bind(this))}setOnline(e){this.#e!==e&&(this.#e=e,this.listeners.forEach(t=>{t(e)}))}isOnline(){return this.#e}};function Vn(e){return Math.min(1e3*2**e,3e4)}function Hn(e){return(e??`online`)===`online`?Bn.isOnline():!0}var Un=class extends Error{constructor(e){super(`CancelledError`),this.revert=e?.revert,this.silent=e?.silent}};function Wn(e){let t=!1,n=0,r,i=In(),a=()=>i.status!==`pending`,o=t=>{if(!a()){let n=new Un(t);f(n),e.onCancel?.(n)}},s=()=>{t=!0},c=()=>{t=!1},l=()=>an.isFocused()&&(e.networkMode===`always`||Bn.isOnline())&&e.canRun(),u=()=>Hn(e.networkMode)&&e.canRun(),d=e=>{a()||(r?.(),i.resolve(e))},f=e=>{a()||(r?.(),i.reject(e))},p=()=>new Promise(t=>{r=e=>{(a()||l())&&t(e)},e.onPause?.()}).then(()=>{r=void 0,a()||e.onContinue?.()}),m=()=>{if(a())return;let r,i=n===0?e.initialPromise:void 0;try{r=i??e.fn()}catch(e){r=Promise.reject(e)}Promise.resolve(r).then(d).catch(r=>{if(a())return;let i=e.retry??(Fn.isServer()?0:3),o=e.retryDelay??Vn,s=typeof o==`function`?o(n,r):o,c=i===!0||typeof i==`number`&&nl()?void 0:p()).then(()=>{t?f(r):m()})})};return{promise:i,status:()=>i.status,cancel:o,continue:()=>(r?.(),i),cancelRetry:s,continueRetry:c,canStart:u,start:()=>(u()?m():p().then(m),i)}}var Gn=class{#e;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),fn(this.gcTime)&&(this.#e=sn.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(Fn.isServer()?1/0:300*1e3))}clearGcTimeout(){this.#e&&=(sn.clearTimeout(this.#e),void 0)}},Kn=class extends Gn{#e;#t;#n;#r;#i;#a;#o;constructor(e){super(),this.#o=!1,this.#a=e.defaultOptions,this.setOptions(e.options),this.observers=[],this.#r=e.client,this.#n=this.#r.getQueryCache(),this.queryKey=e.queryKey,this.queryHash=e.queryHash,this.#e=Yn(this.options),this.state=e.state??this.#e,this.scheduleGc()}get meta(){return this.options.meta}get promise(){return this.#i?.promise}setOptions(e){if(this.options={...this.#a,...e},this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){let e=Yn(this.options);e.data!==void 0&&(this.setState(Jn(e.data,e.dataUpdatedAt)),this.#e=e)}}optionalRemove(){!this.observers.length&&this.state.fetchStatus===`idle`&&this.#n.remove(this)}setData(e,t){let n=On(this.state.data,e,this.options);return this.#c({data:n,type:`success`,dataUpdatedAt:t?.updatedAt,manual:t?.manual}),n}setState(e,t){this.#c({type:`setState`,state:e,setStateOptions:t})}cancel(e){let t=this.#i?.promise;return this.#i?.cancel(e),t?t.then(un).catch(un):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return this.#e}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(e=>hn(e.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===jn||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0?this.observers.some(e=>mn(e.options.staleTime,this)===`static`):!1}isStale(){return this.getObserversCount()>0?this.observers.some(e=>e.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(e=0){return this.state.data===void 0?!0:e===`static`?!1:this.state.isInvalidated?!0:!pn(this.state.dataUpdatedAt,e)}onFocus(){this.observers.find(e=>e.shouldFetchOnWindowFocus())?.refetch({cancelRefetch:!1}),this.#i?.continue()}onOnline(){this.observers.find(e=>e.shouldFetchOnReconnect())?.refetch({cancelRefetch:!1}),this.#i?.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),this.#n.notify({type:`observerAdded`,query:this,observer:e}))}removeObserver(e){this.observers.includes(e)&&(this.observers=this.observers.filter(t=>t!==e),this.observers.length||(this.#i&&(this.#o||this.#s()?this.#i.cancel({revert:!0}):this.#i.cancelRetry()),this.scheduleGc()),this.#n.notify({type:`observerRemoved`,query:this,observer:e}))}getObserversCount(){return this.observers.length}#s(){return this.state.fetchStatus===`paused`&&this.state.status===`pending`}invalidate(){this.state.isInvalidated||this.#c({type:`invalidate`})}async fetch(e,t){if(this.state.fetchStatus!==`idle`&&this.#i?.status()!==`rejected`){if(this.state.data!==void 0&&t?.cancelRefetch)this.cancel({silent:!0});else if(this.#i)return this.#i.continueRetry(),this.#i.promise}if(e&&this.setOptions(e),!this.options.queryFn){let e=this.observers.find(e=>e.options.queryFn);e&&this.setOptions(e.options)}let n=new AbortController,r=e=>{Object.defineProperty(e,`signal`,{enumerable:!0,get:()=>(this.#o=!0,n.signal)})},i=()=>{let e=Mn(this.options,t),n=(()=>{let e={client:this.#r,queryKey:this.queryKey,meta:this.meta};return r(e),e})();return this.#o=!1,this.options.persister?this.options.persister(e,n,this):e(n)},a=(()=>{let e={fetchOptions:t,options:this.options,queryKey:this.queryKey,client:this.#r,state:this.state,fetchFn:i};return r(e),e})();this.options.behavior?.onFetch(a,this),this.#t=this.state,(this.state.fetchStatus===`idle`||this.state.fetchMeta!==a.fetchOptions?.meta)&&this.#c({type:`fetch`,meta:a.fetchOptions?.meta}),this.#i=Wn({initialPromise:t?.initialPromise,fn:a.fetchFn,onCancel:e=>{e instanceof Un&&e.revert&&this.setState({...this.#t,fetchStatus:`idle`}),n.abort()},onFail:(e,t)=>{this.#c({type:`failed`,failureCount:e,error:t})},onPause:()=>{this.#c({type:`pause`})},onContinue:()=>{this.#c({type:`continue`})},retry:a.options.retry,retryDelay:a.options.retryDelay,networkMode:a.options.networkMode,canRun:()=>!0});try{let e=await this.#i.start();if(e===void 0)throw Error(`${this.queryHash} data is undefined`);return this.setData(e),this.#n.config.onSuccess?.(e,this),this.#n.config.onSettled?.(e,this.state.error,this),e}catch(e){if(e instanceof Un){if(e.silent)return this.#i.promise;if(e.revert){if(this.state.data===void 0)throw e;return this.state.data}}throw this.#c({type:`error`,error:e}),this.#n.config.onError?.(e,this),this.#n.config.onSettled?.(this.state.data,e,this),e}finally{this.scheduleGc()}}#c(e){this.state=(t=>{switch(e.type){case`failed`:return{...t,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case`pause`:return{...t,fetchStatus:`paused`};case`continue`:return{...t,fetchStatus:`fetching`};case`fetch`:return{...t,...qn(t.data,this.options),fetchMeta:e.meta??null};case`success`:let n={...t,...Jn(e.data,e.dataUpdatedAt),dataUpdateCount:t.dataUpdateCount+1,...!e.manual&&{fetchStatus:`idle`,fetchFailureCount:0,fetchFailureReason:null}};return this.#t=e.manual?n:void 0,n;case`error`:let r=e.error;return{...t,error:r,errorUpdateCount:t.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:t.fetchFailureCount+1,fetchFailureReason:r,fetchStatus:`idle`,status:`error`,isInvalidated:!0};case`invalidate`:return{...t,isInvalidated:!0};case`setState`:return{...t,...e.state}}})(this.state),zn.batch(()=>{this.observers.forEach(e=>{e.onQueryUpdate()}),this.#n.notify({query:this,type:`updated`,action:e})})}};function qn(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:Hn(t.networkMode)?`fetching`:`paused`,...e===void 0&&{error:null,status:`pending`}}}function Jn(e,t){return{data:e,dataUpdatedAt:t??Date.now(),error:null,isInvalidated:!1,status:`success`}}function Yn(e){let t=typeof e.initialData==`function`?e.initialData():e.initialData,n=t!==void 0,r=n?typeof e.initialDataUpdatedAt==`function`?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:n?r??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:n?`success`:`pending`,fetchStatus:`idle`}}function Xn(e){return{onFetch:(t,n)=>{let r=t.options,i=t.fetchOptions?.meta?.fetchMore?.direction,a=t.state.data?.pages||[],o=t.state.data?.pageParams||[],s={pages:[],pageParams:[]},c=0,l=async()=>{let n=!1,l=e=>{Pn(e,()=>t.signal,()=>n=!0)},u=Mn(t.options,t.fetchOptions),d=async(e,r,i)=>{if(n)return Promise.reject();if(r==null&&e.pages.length)return Promise.resolve(e);let a=await u((()=>{let e={client:t.client,queryKey:t.queryKey,pageParam:r,direction:i?`backward`:`forward`,meta:t.options.meta};return l(e),e})()),{maxPages:o}=t.options,s=i?An:kn;return{pages:s(e.pages,a,o),pageParams:s(e.pageParams,r,o)}};if(i&&a.length){let e=i===`backward`,t=e?Qn:Zn,n={pages:a,pageParams:o};s=await d(n,t(r,n),e)}else{let t=e??a.length;do{let e=c===0?o[0]??r.initialPageParam:Zn(r,s);if(c>0&&e==null)break;s=await d(s,e),c++}while(ct.options.persister?.(l,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},n):t.fetchFn=l}}}function Zn(e,{pages:t,pageParams:n}){let r=t.length-1;return t.length>0?e.getNextPageParam(t[r],t,n[r],n):void 0}function Qn(e,{pages:t,pageParams:n}){return t.length>0?e.getPreviousPageParam?.(t[0],t,n[0],n):void 0}var $n=class extends Gn{#e;#t;#n;#r;constructor(e){super(),this.#e=e.client,this.mutationId=e.mutationId,this.#n=e.mutationCache,this.#t=[],this.state=e.state||er(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){this.#t.includes(e)||(this.#t.push(e),this.clearGcTimeout(),this.#n.notify({type:`observerAdded`,mutation:this,observer:e}))}removeObserver(e){this.#t=this.#t.filter(t=>t!==e),this.scheduleGc(),this.#n.notify({type:`observerRemoved`,mutation:this,observer:e})}optionalRemove(){this.#t.length||(this.state.status===`pending`?this.scheduleGc():this.#n.remove(this))}continue(){return this.#r?.continue()??this.execute(this.state.variables)}async execute(e){let t=()=>{this.#i({type:`continue`})},n={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};this.#r=Wn({fn:()=>this.options.mutationFn?this.options.mutationFn(e,n):Promise.reject(Error(`No mutationFn found`)),onFail:(e,t)=>{this.#i({type:`failed`,failureCount:e,error:t})},onPause:()=>{this.#i({type:`pause`})},onContinue:t,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#n.canRun(this)});let r=this.state.status===`pending`,i=!this.#r.canStart();try{if(r)t();else{this.#i({type:`pending`,variables:e,isPaused:i}),this.#n.config.onMutate&&await this.#n.config.onMutate(e,this,n);let t=await this.options.onMutate?.(e,n);t!==this.state.context&&this.#i({type:`pending`,context:t,variables:e,isPaused:i})}let a=await this.#r.start();return await this.#n.config.onSuccess?.(a,e,this.state.context,this,n),await this.options.onSuccess?.(a,e,this.state.context,n),await this.#n.config.onSettled?.(a,null,this.state.variables,this.state.context,this,n),await this.options.onSettled?.(a,null,e,this.state.context,n),this.#i({type:`success`,data:a}),a}catch(t){try{await this.#n.config.onError?.(t,e,this.state.context,this,n)}catch(e){Promise.reject(e)}try{await this.options.onError?.(t,e,this.state.context,n)}catch(e){Promise.reject(e)}try{await this.#n.config.onSettled?.(void 0,t,this.state.variables,this.state.context,this,n)}catch(e){Promise.reject(e)}try{await this.options.onSettled?.(void 0,t,e,this.state.context,n)}catch(e){Promise.reject(e)}throw this.#i({type:`error`,error:t}),t}finally{this.#n.runNext(this)}}#i(e){this.state=(t=>{switch(e.type){case`failed`:return{...t,failureCount:e.failureCount,failureReason:e.error};case`pause`:return{...t,isPaused:!0};case`continue`:return{...t,isPaused:!1};case`pending`:return{...t,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:`pending`,variables:e.variables,submittedAt:Date.now()};case`success`:return{...t,data:e.data,failureCount:0,failureReason:null,error:null,status:`success`,isPaused:!1};case`error`:return{...t,data:void 0,error:e.error,failureCount:t.failureCount+1,failureReason:e.error,isPaused:!1,status:`error`}}})(this.state),zn.batch(()=>{this.#t.forEach(t=>{t.onMutationUpdate(e)}),this.#n.notify({mutation:this,type:`updated`,action:e})})}};function er(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:`idle`,variables:void 0,submittedAt:0}}var tr=class extends rn{constructor(e={}){super(),this.config=e,this.#e=new Set,this.#t=new Map,this.#n=0}#e;#t;#n;build(e,t,n){let r=new $n({client:e,mutationCache:this,mutationId:++this.#n,options:e.defaultMutationOptions(t),state:n});return this.add(r),r}add(e){this.#e.add(e);let t=nr(e);if(typeof t==`string`){let n=this.#t.get(t);n?n.push(e):this.#t.set(t,[e])}this.notify({type:`added`,mutation:e})}remove(e){if(this.#e.delete(e)){let t=nr(e);if(typeof t==`string`){let n=this.#t.get(t);if(n)if(n.length>1){let t=n.indexOf(e);t!==-1&&n.splice(t,1)}else n[0]===e&&this.#t.delete(t)}}this.notify({type:`removed`,mutation:e})}canRun(e){let t=nr(e);if(typeof t==`string`){let n=this.#t.get(t)?.find(e=>e.state.status===`pending`);return!n||n===e}else return!0}runNext(e){let t=nr(e);return typeof t==`string`?(this.#t.get(t)?.find(t=>t!==e&&t.state.isPaused))?.continue()??Promise.resolve():Promise.resolve()}clear(){zn.batch(()=>{this.#e.forEach(e=>{this.notify({type:`removed`,mutation:e})}),this.#e.clear(),this.#t.clear()})}getAll(){return Array.from(this.#e)}find(e){let t={exact:!0,...e};return this.getAll().find(e=>_n(t,e))}findAll(e={}){return this.getAll().filter(t=>_n(e,t))}notify(e){zn.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){let e=this.getAll().filter(e=>e.state.isPaused);return zn.batch(()=>Promise.all(e.map(e=>e.continue().catch(un))))}};function nr(e){return e.options.scope?.id}var rr=class extends rn{constructor(e={}){super(),this.config=e,this.#e=new Map}#e;build(e,t,n){let r=t.queryKey,i=t.queryHash??vn(r,t),a=this.get(i);return a||(a=new Kn({client:e,queryKey:r,queryHash:i,options:e.defaultQueryOptions(t),state:n,defaultOptions:e.getQueryDefaults(r)}),this.add(a)),a}add(e){this.#e.has(e.queryHash)||(this.#e.set(e.queryHash,e),this.notify({type:`added`,query:e}))}remove(e){let t=this.#e.get(e.queryHash);t&&(e.destroy(),t===e&&this.#e.delete(e.queryHash),this.notify({type:`removed`,query:e}))}clear(){zn.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#e.get(e)}getAll(){return[...this.#e.values()]}find(e){let t={exact:!0,...e};return this.getAll().find(e=>gn(t,e))}findAll(e={}){let t=this.getAll();return Object.keys(e).length>0?t.filter(t=>gn(e,t)):t}notify(e){zn.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){zn.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){zn.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},ir=class{#e;#t;#n;#r;#i;#a;#o;#s;constructor(e={}){this.#e=e.queryCache||new rr,this.#t=e.mutationCache||new tr,this.#n=e.defaultOptions||{},this.#r=new Map,this.#i=new Map,this.#a=0}mount(){this.#a++,this.#a===1&&(this.#o=an.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#s=Bn.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onOnline())}))}unmount(){this.#a--,this.#a===0&&(this.#o?.(),this.#o=void 0,this.#s?.(),this.#s=void 0)}isFetching(e){return this.#e.findAll({...e,fetchStatus:`fetching`}).length}isMutating(e){return this.#t.findAll({...e,status:`pending`}).length}getQueryData(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state.data}ensureQueryData(e){let t=this.defaultQueryOptions(e),n=this.#e.build(this,t),r=n.state.data;return r===void 0?this.fetchQuery(e):(e.revalidateIfStale&&n.isStaleByTime(mn(t.staleTime,n))&&this.prefetchQuery(t),Promise.resolve(r))}getQueriesData(e){return this.#e.findAll(e).map(({queryKey:e,state:t})=>[e,t.data])}setQueryData(e,t,n){let r=this.defaultQueryOptions({queryKey:e}),i=this.#e.get(r.queryHash)?.state.data,a=dn(t,i);if(a!==void 0)return this.#e.build(this,r).setData(a,{...n,manual:!0})}setQueriesData(e,t,n){return zn.batch(()=>this.#e.findAll(e).map(({queryKey:e})=>[e,this.setQueryData(e,t,n)]))}getQueryState(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state}removeQueries(e){let t=this.#e;zn.batch(()=>{t.findAll(e).forEach(e=>{t.remove(e)})})}resetQueries(e,t){let n=this.#e;return zn.batch(()=>(n.findAll(e).forEach(e=>{e.reset()}),this.refetchQueries({type:`active`,...e},t)))}cancelQueries(e,t={}){let n={revert:!0,...t},r=zn.batch(()=>this.#e.findAll(e).map(e=>e.cancel(n)));return Promise.all(r).then(un).catch(un)}invalidateQueries(e,t={}){return zn.batch(()=>(this.#e.findAll(e).forEach(e=>{e.invalidate()}),e?.refetchType===`none`?Promise.resolve():this.refetchQueries({...e,type:e?.refetchType??e?.type??`active`},t)))}refetchQueries(e,t={}){let n={...t,cancelRefetch:t.cancelRefetch??!0},r=zn.batch(()=>this.#e.findAll(e).filter(e=>!e.isDisabled()&&!e.isStatic()).map(e=>{let t=e.fetch(void 0,n);return n.throwOnError||(t=t.catch(un)),e.state.fetchStatus===`paused`?Promise.resolve():t}));return Promise.all(r).then(un)}fetchQuery(e){let t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);let n=this.#e.build(this,t);return n.isStaleByTime(mn(t.staleTime,n))?n.fetch(t):Promise.resolve(n.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(un).catch(un)}fetchInfiniteQuery(e){return e.behavior=Xn(e.pages),this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(un).catch(un)}ensureInfiniteQueryData(e){return e.behavior=Xn(e.pages),this.ensureQueryData(e)}resumePausedMutations(){return Bn.isOnline()?this.#t.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#e}getMutationCache(){return this.#t}getDefaultOptions(){return this.#n}setDefaultOptions(e){this.#n=e}setQueryDefaults(e,t){this.#r.set(yn(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){let t=[...this.#r.values()],n={};return t.forEach(t=>{bn(e,t.queryKey)&&Object.assign(n,t.defaultOptions)}),n}setMutationDefaults(e,t){this.#i.set(yn(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){let t=[...this.#i.values()],n={};return t.forEach(t=>{bn(e,t.mutationKey)&&Object.assign(n,t.defaultOptions)}),n}defaultQueryOptions(e){if(e._defaulted)return e;let t={...this.#n.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||=vn(t.queryKey,t),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!==`always`),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode=`offlineFirst`),t.queryFn===jn&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...this.#n.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#e.clear(),this.#t.clear()}},H=i(),ar=B.createContext(void 0),or=e=>{let t=B.useContext(ar);if(e)return e;if(!t)throw Error(`No QueryClient set, use QueryClientProvider to set one`);return t},sr=({client:e,children:t})=>(B.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),(0,H.jsx)(ar.Provider,{value:e,children:t})),cr=(0,B.createContext)({live:!1});function lr(){return(0,B.useContext)(cr)}function ur(e){let t=(0,V.c)(5),{children:n}=e,[r]=f(`features`,d),i;t[0]===r?i=t[1]:(i=()=>({live:new Set((r??``).split(`,`).map(dr).filter(Boolean)).has(`live`)}),t[0]=r,t[1]=i);let[a]=(0,B.useState)(i),o;return t[2]!==n||t[3]!==a?(o=(0,H.jsx)(cr.Provider,{value:a,children:n}),t[2]=n,t[3]=a,t[4]=o):o=t[4],o}function dr(e){return e.trim().toLowerCase()}function fr(e){return C({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M463.5 224l8.5 0c13.3 0 24-10.7 24-24l0-128c0-9.7-5.8-18.5-14.8-22.2s-19.3-1.7-26.2 5.2L413.4 96.6c-87.6-86.5-228.7-86.2-315.8 1c-87.5 87.5-87.5 229.3 0 316.8s229.3 87.5 316.8 0c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0c-62.5 62.5-163.8 62.5-226.3 0s-62.5-163.8 0-226.3c62.2-62.2 162.7-62.5 225.3-1L327 183c-6.9 6.9-8.9 17.2-5.2 26.2s12.5 14.8 22.2 14.8l119.5 0z`},child:[]}]})(e)}function pr(e){return C({tag:`svg`,attr:{viewBox:`0 0 448 512`},child:[{tag:`path`,attr:{d:`M429.6 92.1c4.9-11.9 2.1-25.6-7-34.7s-22.8-11.9-34.7-7l-352 144c-14.2 5.8-22.2 20.8-19.3 35.8s16.1 25.8 31.4 25.8l176 0 0 176c0 15.3 10.8 28.4 25.8 31.4s30-5.1 35.8-19.3l144-352z`},child:[]}]})(e)}function mr(e){return C({tag:`svg`,attr:{viewBox:`0 0 384 512`},child:[{tag:`path`,attr:{d:`M192 0c-41.8 0-77.4 26.7-90.5 64L64 64C28.7 64 0 92.7 0 128L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64l-37.5 0C269.4 26.7 233.8 0 192 0zm0 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM305 273L177 401c-9.4 9.4-24.6 9.4-33.9 0L79 337c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L271 239c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z`},child:[]}]})(e)}function hr(e){return C({tag:`svg`,attr:{viewBox:`0 0 384 512`},child:[{tag:`path`,attr:{d:`M214.6 41.4c-12.5-12.5-32.8-12.5-45.3 0l-160 160c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L160 141.2 160 448c0 17.7 14.3 32 32 32s32-14.3 32-32l0-306.7L329.4 246.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-160-160z`},child:[]}]})(e)}function gr(e){return C({tag:`svg`,attr:{viewBox:`0 0 448 512`},child:[{tag:`path`,attr:{d:`M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z`},child:[]}]})(e)}function _r(e){return C({tag:`svg`,attr:{viewBox:`0 0 448 512`},child:[{tag:`path`,attr:{d:`M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.2 288 416 288c17.7 0 32-14.3 32-32s-14.3-32-32-32l-306.7 0L214.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160z`},child:[]}]})(e)}function vr(e){return C({tag:`svg`,attr:{viewBox:`0 0 384 512`},child:[{tag:`path`,attr:{d:`M169.4 470.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 370.8 224 64c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 306.7L54.6 265.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z`},child:[]}]})(e)}function yr(e){return C({tag:`svg`,attr:{viewBox:`0 0 576 512`},child:[{tag:`path`,attr:{d:`M215.03 71.05L126.06 160H24c-13.26 0-24 10.74-24 24v144c0 13.25 10.74 24 24 24h102.06l88.97 88.95c15.03 15.03 40.97 4.47 40.97-16.97V88.02c0-21.46-25.96-31.98-40.97-16.97zm233.32-51.08c-11.17-7.33-26.18-4.24-33.51 6.95-7.34 11.17-4.22 26.18 6.95 33.51 66.27 43.49 105.82 116.6 105.82 195.58 0 78.98-39.55 152.09-105.82 195.58-11.17 7.32-14.29 22.34-6.95 33.5 7.04 10.71 21.93 14.56 33.51 6.95C528.27 439.58 576 351.33 576 256S528.27 72.43 448.35 19.97zM480 256c0-63.53-32.06-121.94-85.77-156.24-11.19-7.14-26.03-3.82-33.12 7.46s-3.78 26.21 7.41 33.36C408.27 165.97 432 209.11 432 256s-23.73 90.03-63.48 115.42c-11.19 7.14-14.5 22.07-7.41 33.36 6.51 10.36 21.12 15.14 33.12 7.46C447.94 377.94 480 319.54 480 256zm-141.77-76.87c-11.58-6.33-26.19-2.16-32.61 9.45-6.39 11.61-2.16 26.2 9.45 32.61C327.98 228.28 336 241.63 336 256c0 14.38-8.02 27.72-20.92 34.81-11.61 6.41-15.84 21-9.45 32.61 6.43 11.66 21.05 15.8 32.61 9.45 28.23-15.55 45.77-45 45.77-76.88s-17.54-61.32-45.78-76.86z`},child:[]}]})(e)}function br(e){return C({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M215.03 71.05L126.06 160H24c-13.26 0-24 10.74-24 24v144c0 13.25 10.74 24 24 24h102.06l88.97 88.95c15.03 15.03 40.97 4.47 40.97-16.97V88.02c0-21.46-25.96-31.98-40.97-16.97zM461.64 256l45.64-45.64c6.3-6.3 6.3-16.52 0-22.82l-22.82-22.82c-6.3-6.3-16.52-6.3-22.82 0L416 210.36l-45.64-45.64c-6.3-6.3-16.52-6.3-22.82 0l-22.82 22.82c-6.3 6.3-6.3 16.52 0 22.82L370.36 256l-45.63 45.63c-6.3 6.3-6.3 16.52 0 22.82l22.82 22.82c6.3 6.3 16.52 6.3 22.82 0L416 301.64l45.64 45.64c6.3 6.3 16.52 6.3 22.82 0l22.82-22.82c6.3-6.3 6.3-16.52 0-22.82L461.64 256z`},child:[]}]})(e)}function xr(e){return C({tag:`svg`,attr:{viewBox:`0 0 288 512`},child:[{tag:`path`,attr:{d:`M112 316.94v156.69l22.02 33.02c4.75 7.12 15.22 7.12 19.97 0L176 473.63V316.94c-10.39 1.92-21.06 3.06-32 3.06s-21.61-1.14-32-3.06zM144 0C64.47 0 0 64.47 0 144s64.47 144 144 144 144-64.47 144-144S223.53 0 144 0zm0 76c-37.5 0-68 30.5-68 68 0 6.62-5.38 12-12 12s-12-5.38-12-12c0-50.73 41.28-92 92-92 6.62 0 12 5.38 12 12s-5.38 12-12 12z`},child:[]}]})(e)}function Sr(e){return C({tag:`svg`,attr:{viewBox:`0 0 320 512`},child:[{tag:`path`,attr:{d:`M177 255.7l136 136c9.4 9.4 9.4 24.6 0 33.9l-22.6 22.6c-9.4 9.4-24.6 9.4-33.9 0L160 351.9l-96.4 96.4c-9.4 9.4-24.6 9.4-33.9 0L7 425.7c-9.4-9.4-9.4-24.6 0-33.9l136-136c9.4-9.5 24.6-9.5 34-.1zm-34-192L7 199.7c-9.4 9.4-9.4 24.6 0 33.9l22.6 22.6c9.4 9.4 24.6 9.4 33.9 0l96.4-96.4 96.4 96.4c9.4 9.4 24.6 9.4 33.9 0l22.6-22.6c9.4-9.4 9.4-24.6 0-33.9l-136-136c-9.2-9.4-24.4-9.4-33.8 0z`},child:[]}]})(e)}function Cr(e){return C({tag:`svg`,attr:{viewBox:`0 0 320 512`},child:[{tag:`path`,attr:{d:`M143 256.3L7 120.3c-9.4-9.4-9.4-24.6 0-33.9l22.6-22.6c9.4-9.4 24.6-9.4 33.9 0l96.4 96.4 96.4-96.4c9.4-9.4 24.6-9.4 33.9 0L313 86.3c9.4 9.4 9.4 24.6 0 33.9l-136 136c-9.4 9.5-24.6 9.5-34 .1zm34 192l136-136c9.4-9.4 9.4-24.6 0-33.9l-22.6-22.6c-9.4-9.4-24.6-9.4-33.9 0L160 352.1l-96.4-96.4c-9.4-9.4-24.6-9.4-33.9 0L7 278.3c-9.4 9.4-9.4 24.6 0 33.9l136 136c9.4 9.5 24.6 9.5 34 .1z`},child:[]}]})(e)}var wr={Button:`_Button_p0g82_2`,ButtonLabel:`_ButtonLabel_p0g82_37`,Icon:`_Icon_p0g82_85`,ButtonHint:`_ButtonHint_p0g82_92`,ButtonGroup:`_ButtonGroup_p0g82_97`,DestructiveActionButton:`_DestructiveActionButton_p0g82_141 _Button_p0g82_2`},Tr={Button:`_Button_1xmvi_1 _Button_p0g82_2`,ClipboardIcon:`_ClipboardIcon_1xmvi_10`,showClipboardCheck:`_showClipboardCheck_1xmvi_1`,PinIcon:`_PinIcon_1xmvi_20`};function Er({position:e,quaternion:t}){let n=e=>parseFloat(e.toFixed(3));return`#c${`${n(e.x)},${n(e.y)},${n(e.z)}`}~${`${n(t.x)},${n(t.y)},${n(t.z)},${n(t.w)}`}`}function Dr(e){let t=(0,V.c)(12),{cameraRef:n,missionName:r,missionType:i,disabled:a}=e,{fogEnabled:o}=u(),[s,c]=(0,B.useState)(!1),l=(0,B.useRef)(null),d;t[0]!==n||t[1]!==o||t[2]!==r||t[3]!==i?(d=async()=>{l.current&&clearTimeout(l.current);let e=n.current;if(!e)return;let t=Er(e),a=new URLSearchParams,s=i?`${r}~${i}`:r;a.set(`mission`,s),a.set(`fog`,o.toString());let u=`${window.location.pathname}?${a}${t}`,d=`${window.location.origin}${u}`;window.history.replaceState(null,``,u);try{await navigator.clipboard.writeText(d),c(!0),l.current=setTimeout(()=>{c(!1)},1100)}catch(e){console.error(e)}},t[0]=n,t[1]=o,t[2]=r,t[3]=i,t[4]=d):d=t[4];let f=d,p=s?`true`:`false`,m,h,g;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,H.jsx)(xr,{className:Tr.PinIcon}),h=(0,H.jsx)(mr,{className:Tr.ClipboardIcon}),g=(0,H.jsx)(`span`,{className:wr.ButtonLabel,children:` Link to coordinates`}),t[5]=m,t[6]=h,t[7]=g):(m=t[5],h=t[6],g=t[7]);let _;return t[8]!==a||t[9]!==f||t[10]!==p?(_=(0,H.jsxs)(`button`,{type:`button`,className:Tr.Button,"aria-label":`Link to coordinates`,title:`Copy the current coordinates to URL`,onClick:f,disabled:a,"data-copied":p,id:`copyCoordinatesButton`,children:[m,h,g]}),t[8]=a,t[9]=f,t[10]=p,t[11]=_):_=t[11],_}function Or(e){return C({tag:`svg`,attr:{viewBox:`0 0 24 24`},child:[{tag:`path`,attr:{fill:`none`,d:`M0 0h24v24H0V0z`},child:[]},{tag:`path`,attr:{d:`M21 3H3c-1.11 0-2 .89-2 2v12a2 2 0 0 0 2 2h5v2h8v-2h5c1.1 0 1.99-.9 1.99-2L23 5a2 2 0 0 0-2-2zm0 14H3V5h18v12zm-5-6-7 4V7z`},child:[]}]})(e)}function kr(e){return C({tag:`svg`,attr:{viewBox:`0 0 24 24`},child:[{tag:`path`,attr:{fill:`none`,d:`M0 0h24v24H0z`},child:[]},{tag:`path`,attr:{d:`m18.89 14.75-4.09-2.04c-.28-.14-.58-.21-.89-.21H13v-6c0-.83-.67-1.5-1.5-1.5S10 5.67 10 6.5v10.74l-3.25-.74a.99.99 0 0 0-.92.28l-.83.84 4.54 4.79c.38.38 1.14.59 1.67.59h6.16c1 0 1.84-.73 1.98-1.72l.63-4.46c.12-.85-.32-1.68-1.09-2.07z`},child:[]},{tag:`path`,attr:{d:`M20.13 3.87C18.69 2.17 15.6 1 12 1S5.31 2.17 3.87 3.87L2 2v5h5L4.93 4.93c1-1.29 3.7-2.43 7.07-2.43s6.07 1.14 7.07 2.43L17 7h5V2l-1.87 1.87z`},child:[]}]})(e)}var Ar=N(e=>({events:null,scanProgress:null,setEvents(t){e({events:t})},setScanProgress(t){e({scanProgress:t})},reset(){e({events:null,scanProgress:null})}}));function jr(e,t){return P(Ar,e,t)}var Mr=I(`relayClient`),Nr=class{ws=null;handlers;url;_connected=!1;wsPingInterval=null;smoothedWsPing=0;constructor(e,t){this.url=e,this.handlers=t}get connected(){return this._connected}connect(){this.ws=new WebSocket(this.url),this.ws.binaryType=`arraybuffer`,this.ws.onopen=()=>{Mr.info(`WebSocket connected to %s`,this.url),this._connected=!0,this.startWsPing(),this.handlers.onOpen?.()},this.ws.onmessage=e=>{if(e.data instanceof ArrayBuffer)this.handlers.onGamePacket?.(new Uint8Array(e.data));else try{let t=JSON.parse(e.data);this.handleMessage(t)}catch(e){Mr.error(`Failed to parse relay message: %o`,e)}},this.ws.onclose=()=>{Mr.info(`WebSocket disconnected`),this._connected=!1,this.stopWsPing(),this.handlers.onClose?.()},this.ws.onerror=()=>{Mr.error(`WebSocket error`),this.handlers.onError?.(`WebSocket connection error`)}}handleMessage(e){switch(e.type){case`serverList`:this.handlers.onServerList?.(e.servers);break;case`status`:this.handlers.onStatus?.(e.status,e.message,e.connectSequence,e.mapName);break;case`ping`:this.handlers.onPing?.(e.ms);break;case`wsPong`:{let t=Date.now()-e.ts;this.smoothedWsPing=this.smoothedWsPing===0?t:this.smoothedWsPing*.5+t*.5,this.handlers.onWsPing?.(Math.round(this.smoothedWsPing));break}case`error`:this.handlers.onError?.(e.message);break}}listServers(){this.send({type:`listServers`})}sendWsPing(){this.send({type:`wsPing`,ts:Date.now()})}joinServer(e,t){Mr.info(`Joining server: %s`,e),this.send({type:`joinServer`,address:e,warriorName:t})}sendAuthEvent(e,t){this.send({type:`sendCommand`,command:e,args:t})}sendCommand(e,t){this.send({type:`sendCommand`,command:e,args:t})}sendCRCResponse(e,t,n){this.send({type:`sendCRCResponse`,crcValue:e,field1:t,field2:n})}sendCRCCompute(e,t,n,r){this.send({type:`sendCRCCompute`,seed:e,field2:t,includeTextures:r,datablocks:n})}sendGhostAck(e,t){this.send({type:`sendGhostAck`,sequence:e,ghostCount:t})}sendMoves(e,t){this.send({type:`sendMoves`,moves:e,moveStartIndex:t})}close(){this.stopWsPing(),this.ws&&=(this.ws.close(),null),this._connected=!1}startWsPing(){this.smoothedWsPing=0,this.send({type:`wsPing`,ts:Date.now()}),this.wsPingInterval=setInterval(()=>{this.send({type:`wsPing`,ts:Date.now()})},7e3)}stopWsPing(){this.wsPingInterval!=null&&(clearInterval(this.wsPingInterval),this.wsPingInterval=null)}send(e){this.ws?.readyState===WebSocket.OPEN?this.ws.send(JSON.stringify(e)):Mr.warn(`send dropped (ws not open): %s`,e.type)}},Pr=256,Fr=Pr/2,Ir=2048,Lr=null;function Rr(e){Lr=e}function zr(e,t){return Lr?Lr(e,t):null}function Br(e,t){return(n,r)=>{let i=n/t+Fr,a=r/t+Fr,o=Math.max(0,Math.min(Pr-1,i)),s=Math.max(0,Math.min(Pr-1,a)),c=Math.floor(o),l=Math.floor(s),u=Math.min(c+1,Pr-1),d=Math.min(l+1,Pr-1),f=o-c,p=s-l,m=e[l*Pr+c],h=e[l*Pr+u],g=e[d*Pr+c],_=e[d*Pr+u],v=m*(1-f)+h*f,y=g*(1-f)+_*f;return(v*(1-p)+y*p)/65535*Ir}}var Vr=I(`StreamEngine`),Hr=class{registry;ghostTracker;entities=new Map;entityIdByGhostIndex=new Map;entityGeneration=0;tickCount=0;camera=null;chatMessages=[];chatMessageIdCounter=0;_chatGen=0;_chatSnapshotGen=-1;_chatSnapshot=[];audioEvents=[];netStrings=new Map;targetNames=new Map;targetTeams=new Map;targetRenderFlags=new Map;pendingNameTags=new Map;sensorGroupColors=new Map;playerSensorGroup=0;lastStatus={health:1,energy:1};latestControl={ghostIndex:-1};controlPlayerGhostId;lastControlType=`camera`;isPiloting=!1;lastPilotGhostIndex;lastVehicleHeading=0;lastVehiclePitch=0;lastVehicleOrbitDir;lastVehicleVelocity;lastVehiclePosTime=0;lastVehiclePos;firstPerson=!0;lastCameraMode;lastOrbitGhostIndex;lastOrbitDistance;latestFov=90;weaponsHud={slots:new Map,activeIndex:-1};backpackHud={packIndex:-1,active:!1,text:``};inventoryHud={slots:new Map,activeSlot:-1};teamScores=[];playerRoster=new Map;clockAnchorStreamSec=null;clockDurationMs=0;missionDisplayName=null;missionTypeDisplayName=null;gameClassName=null;serverDisplayName=null;connectedPlayerName=null;connectedClientId=null;onMissionInfoChange;nextExplosionId=0;resolveGhostClassName(e,t){if(typeof t==`number`){let e=this.registry.getGhostParser(t)?.name;if(e)return e}let n=this.entityIdByGhostIndex.get(e);if(n){let e=this.entities.get(n);if(e?.className)return e.className}let r=this.ghostTracker.getGhost(e);if(r?.className)return r.className}resolveEntityIdForGhostIndex(e){let t=this.entityIdByGhostIndex.get(e);if(t)return t;if(this.ghostTracker.getGhost(e)){let t=ue();return this.entityIdByGhostIndex.set(e,t),t}}clearAllEntities(){this.entities.clear(),this.entityIdByGhostIndex.clear(),this.entityGeneration++,ce()}resetSharedState(){this.clearAllEntities(),this.tickCount=0,this.camera=null,this.chatMessages=[],this.chatMessageIdCounter=0,this._chatGen=0,this._chatSnapshotGen=-1,this._chatSnapshot=[],this.audioEvents=[],this.netStrings.clear(),this.targetNames.clear(),this.targetTeams.clear(),this.targetRenderFlags.clear(),this.sensorGroupColors.clear(),this.playerSensorGroup=0,this.lastStatus={health:1,energy:1},this.latestControl={ghostIndex:-1},this.controlPlayerGhostId=void 0,this.lastControlType=`camera`,this.isPiloting=!1,this.lastPilotGhostIndex=void 0,this.lastVehicleHeading=0,this.lastVehiclePitch=0,this.lastVehicleOrbitDir=void 0,this.lastVehicleVelocity=void 0,this.lastVehiclePosTime=0,this.lastVehiclePos=void 0,this.firstPerson=!0,this.lastCameraMode=void 0,this.lastOrbitGhostIndex=void 0,this.lastOrbitDistance=void 0,this.latestFov=90,this.weaponsHud={slots:new Map,activeIndex:-1},this.backpackHud={packIndex:-1,active:!1,text:``},this.inventoryHud={slots:new Map,activeSlot:-1},this.teamScores=[],this.playerRoster.clear(),this.clockAnchorStreamSec=null,this.clockDurationMs=0,this.nextExplosionId=0,this.missionDisplayName=null,this.missionTypeDisplayName=null,this.gameClassName=null,this.serverDisplayName=null}resolveNetString(e){if(e.length>=2&&e.charCodeAt(0)===1){let t=parseInt(e.slice(1),10);if(Number.isFinite(t))return this.netStrings.get(t)??e}return e}formatRemoteArgs(e,t){let n=this.resolveNetString(e);for(let e=0;e0&&(this.playerSensorGroup=t.sensorGroup)}if(t){let e=fe(t);if(e&&(this.lastControlType=e),this.lastControlType===`player`)this.isPiloting=!!(t.pilot||t.controlObjectGhost!=null),this.isPiloting&&typeof t.controlObjectGhost==`number`?this.lastPilotGhostIndex=t.controlObjectGhost:this.isPiloting||(this.lastPilotGhostIndex=void 0,this.lastVehicleHeading=0,this.lastVehiclePitch=0,this.lastVehicleOrbitDir=void 0,this.lastVehicleVelocity=void 0,this.lastVehiclePosTime=0,this.lastVehiclePos=void 0);else if(this.isPiloting=!1,typeof t.cameraMode==`number`)if(this.lastCameraMode=t.cameraMode,t.cameraMode===3){typeof t.orbitObjectGhostIndex==`number`&&(this.lastOrbitGhostIndex=t.orbitObjectGhostIndex);let e=t.minOrbitDist,n=t.maxOrbitDist,r=t.curOrbitDist;typeof e==`number`&&typeof n==`number`&&Number.isFinite(e)&&Number.isFinite(n)?this.lastOrbitDistance=Math.max(0,n-e):typeof r==`number`&&Number.isFinite(r)&&(this.lastOrbitDistance=Math.max(0,r))}else this.lastOrbitGhostIndex=void 0,this.lastOrbitDistance=void 0}e.cameraFov!==void 0&&(this.latestFov=e.cameraFov)}processEvent(e,t){let n=e.parsedData;if(!n)return;let r=n.type;if(r===`GhostAlwaysObjectEvent`){let e=n.ghostIndex,t=n.classId,r=n.objectData,i=n._hasObjectData,a=typeof t==`number`?this.registry.getGhostParser(t)?.name??`classId=${t}`:`?`;Vr.debug(`GhostAlwaysObjectEvent: ghost=%d class=%s hasData=%s %s`,e,a,i,r?`keys=[${Object.keys(r).join(`,`)}]`:`(no data)`),e!=null&&t!=null&&this.processGhostUpdate({index:e,type:`create`,classId:t,parsedData:r});return}if(r===`NetStringEvent`||t===`NetStringEvent`){let e=n.id,t=n.value;if(e!=null&&typeof t==`string`){this.netStrings.set(e,t);let n=this.pendingNameTags.get(e);if(n!=null){this.pendingNameTags.delete(e);let r=de(t).trim();this.targetNames.set(n,r);for(let e of this.entities.values())e.targetId===n&&(e.playerName=r)}}return}if(r===`TargetInfoEvent`||t===`TargetInfoEvent`){let e=n.targetId,t=n.nameTag;if(e!=null&&t!=null){let n=this.netStrings.get(t);n?this.targetNames.set(e,de(n).trim()):this.pendingNameTags.set(t,e)}let r=n.sensorGroup;e!=null&&r!=null&&this.targetTeams.set(e,r);let i=n.renderFlags;if(e!=null&&i!=null&&this.targetRenderFlags.set(e,i),e!=null){let t=this.targetNames.get(e),n=this.targetTeams.get(e),r=this.targetRenderFlags.get(e);for(let i of this.entities.values())i.targetId===e&&(t&&(i.playerName=t),n!=null&&(i.sensorGroup=n),r!=null&&(i.targetRenderFlags=r))}return}if(r===`SetSensorGroupEvent`||t===`SetSensorGroupEvent`){let e=n.sensorGroup;e!=null&&(this.playerSensorGroup=e);return}if(r===`SensorGroupColorEvent`||t===`SensorGroupColorEvent`){let e=n.sensorGroup,t=n.colors;if(t){let n=this.sensorGroupColors.get(e);n||(n=new Map,this.sensorGroupColors.set(e,n));for(let e of t)e.default?n.delete(e.index):n.set(e.index,{r:e.r??0,g:e.g??0,b:e.b??0})}return}if(r===`GhostingMessageEvent`){n.message===le.EndGhosting&&this.clearAllEntities();return}if(r===`RemoteCommandEvent`||t===`RemoteCommandEvent`){let e=this.resolveNetString(n.funcName),t=n.args,r=this.getTimeSec();if(e===`ChatMessage`&&t.length>=4){let e=ve(this.resolveNetString(t[3])),n=t[4]?de(this.resolveNetString(t[4])):``,i=this.formatRemoteArgs(t[3],t.slice(4));if(i){let a=i.indexOf(`: `),{text:o,wavPath:s}=Ce(a>=0?i.slice(a+2):i),c,l;if(s){let e=this.resolveNetString(t[1]);c=e?`voice/${e}/${s}.wav`:s;let n=this.resolveNetString(t[2]);if(n){let e=parseFloat(n);Number.isFinite(e)&&(l=Math.max(.5,Math.min(2,e)))}}let u=e??0;this.pushChatMessage({timeSec:r,sender:n,text:o,kind:`chat`,colorCode:u,segments:[{text:n?`${n}: ${o}`:o,colorCode:u}],soundPath:c,soundPitch:l})}}else if(e===`CannedChatMessage`&&t.length>=6){let e=ve(this.resolveNetString(t[1])),n=de(this.resolveNetString(t[2])),i=de(this.resolveNetString(t[4])),a=this.formatRemoteArgs(t[1],t.slice(2));if(a){let{wavPath:o}=Ce(a),s=Ce(de(this.resolveNetString(t[3]))).text,c,l;if(o){let e=this.resolveNetString(t[5]);if(c=e?`voice/${e}/${o}.wav`:o,t[6]){let e=parseFloat(this.resolveNetString(t[6]));Number.isFinite(e)&&(l=Math.max(.5,Math.min(2,e)))}}let u=e??0,d=[];i&&d.push({text:`[${i}] `,colorCode:0}),d.push({text:n?`${n}: ${s}`:s,colorCode:u}),this.pushChatMessage({timeSec:r,sender:n,text:s,kind:`chat`,colorCode:u,segments:d,soundPath:c,soundPitch:l})}}else if(e===`ServerMessage`&&t.length>=2){this.handleServerMessage(t);let e=ve(this.resolveNetString(t[1])),n=this.formatRemoteArgs(t[1],t.slice(2));if(n){let{text:t,wavPath:i}=Ce(n),a=e??0;this.pushChatMessage({timeSec:r,sender:``,text:t,kind:`server`,colorCode:a,segments:[{text:t,colorCode:a}],soundPath:i??void 0})}}else this.handleHudRemoteCommand(e,t);return}if(r===`Sim3DAudioEvent`||r===`Sim2DAudioEvent`||t===`Sim3DAudioEvent`||t===`Sim2DAudioEvent`){let e=n.profileId;if(typeof e==`number`){let i=this.getTimeSec(),a=r===`Sim3DAudioEvent`||t===`Sim3DAudioEvent`?n.position:void 0;this.audioEvents.push({profileId:e,position:a,timeSec:i}),this.audioEvents.length>100&&this.audioEvents.splice(0,this.audioEvents.length-100)}}}processGhostUpdate(e){let t=e.index,n=this.entityIdByGhostIndex.get(t);if(n){let t=this.entities.get(n);t&&t.type===`Projectile`&&!t.hasExploded&&t.explosionDataBlockId!=null&&t.position&&(e.type===`delete`||e.type===`create`)&&this.spawnExplosion(t,[...t.position])}if(e.type===`delete`){n&&(this.entities.delete(n),this.entityIdByGhostIndex.delete(t),this.entityGeneration++);return}let r=this.resolveGhostClassName(t,e.classId);if(!r){if(e.type===`create`)throw Error(`No ghost parser for classId ${e.classId} (ghost index ${t})`);return}let i=n??ue();n&&n!==i&&this.entities.delete(n);let a,o=this.entities.get(i);if(o&&e.type===`create`?(o.spawnTick=this.tickCount,this.resetEntity(o),a=o):o?a=o:(a={id:i,ghostIndex:t,className:r,spawnTick:this.tickCount,type:z(r),rotation:[0,0,0,1]},this.entities.set(i,a),this.entityGeneration++),a.ghostIndex=t,a.className=r,a.type=z(r),this.entityIdByGhostIndex.set(t,i),this.applyGhostData(a,e.parsedData),e.type===`create`&&e.parsedData){let n=Lt(r,t,e.parsedData);n&&(a.sceneData=n)}}resetEntity(e){e.rotation=[0,0,0,1],e.hasExploded=void 0,e.explosionShape=void 0,e.explosionLifetimeTicks=void 0,e.faceViewer=void 0,e.simulatedVelocity=void 0,e.projectilePhysics=void 0,e.gravityMod=void 0,e.direction=void 0,e.velocity=void 0,e.position=void 0,e.dataBlock=void 0,e.dataBlockId=void 0,e.shapeHint=void 0,e.visual=void 0,e.targetId=void 0,e.targetRenderFlags=void 0,e.carryingFlag=void 0,e.sensorGroup=void 0,e.playerName=void 0,e.weaponShape=void 0,e.packShape=void 0,e.falling=void 0,e.jetting=void 0,e.weaponImageState=void 0,e.weaponImageStates=void 0,e.weaponImageStatesDbId=void 0,e.itemPhysics=void 0,e.threads=void 0,e.headPitch=void 0,e.headYaw=void 0,e.health=void 0,e.energy=void 0,e.maxEnergy=void 0,e.damageState=void 0,e.actionAnim=void 0,e.actionAtEnd=void 0,e.armAction=void 0,e.explosionDataBlockId=void 0,e.maintainEmitterId=void 0,e.soundSlots=void 0}applyGhostData(e,t){if(!t)return;let n=t,r=n.dataBlockId;if(r!=null){e.dataBlockId=r;let t=this.getDataBlockData(r),i=Se(e.className,t);if(e.visual=ge(e.className,t)??_e(e.className,t),typeof i==`string`&&(e.shapeHint=i,e.dataBlock=i),t&&`emap`in t&&(e.emap=!!t.emap),e.type===`Player`&&typeof t?.maxEnergy==`number`&&(e.maxEnergy=t.maxEnergy),e.type===`Projectile`&&(oe.has(e.className)?e.projectilePhysics=`linear`:se.has(e.className)?(e.projectilePhysics=`ballistic`,e.gravityMod=Ee(t,[`gravityMod`])??1):be.has(e.className)&&(e.projectilePhysics=`seeker`)),e.type===`Projectile`&&e.explosionDataBlockId==null){let t=this.resolveExplosionInfo(r);t&&(e.explosionShape=t.shape,e.faceViewer=t.faceViewer,e.explosionLifetimeTicks=t.lifetimeTicks,e.explosionDataBlockId=t.explosionDataBlockId)}if(e.type===`Projectile`&&e.maintainEmitterId==null){let n=t?.baseEmitter;typeof n==`number`&&n>0&&(e.maintainEmitterId=n)}if(e.className===`WheeledVehicle`&&typeof t?.maxSteeringAngle==`number`&&(e.maxSteeringAngle=t.maxSteeringAngle),e.className===`ForceFieldBare`&&t){let r=t.color1,i=[];for(let e=0;e<5;e++){let n=t[`texture${e}`];n&&i.push(n)}let a=n.scale;e.forceFieldData={textures:i,color:r?[r.r,r.g,r.b]:[1,1,1],baseTranslucency:t.baseTranslucency??1,dimensions:a?[a.y,a.z,a.x]:[1,1,1],framesPerSec:t.framesPerSec??1,scrollSpeed:t.scrollSpeed??0,umapping:t.umapping??1,vmapping:t.vmapping??1}}}if(Array.isArray(n.wheels)){let t=n.wheels;if(!e.wheels||e.wheels.length!==t.length)e.wheels=t.map(e=>({speed:e.avel,lateralSlip:e.Dx,longitudinalSlip:e.Dy}));else for(let n=0;n0){let n=t.find(e=>e.index===0);if(n?.dataBlockId&&n.dataBlockId>0){let t=this.getDataBlockData(n.dataBlockId),r=Se(`ShapeBaseImageData`,t);if(r){let n=t?.mountPoint;(n==null||n<=0)&&!/pack_/i.test(r)&&(e.weaponShape=r)}let i=e.weaponImageState;e.weaponImageState={dataBlockId:n.dataBlockId,triggerDown:n.triggerDown??i?.triggerDown??!1,ammo:n.ammo??i?.ammo??!0,loaded:n.loaded??i?.loaded??!0,target:n.target??i?.target??!1,wet:n.wet??i?.wet??!1,fireCount:n.fireCount??i?.fireCount??0},t&&e.weaponImageStatesDbId!==n.dataBlockId&&(e.weaponImageStates=he(t),e.weaponImageStatesDbId=n.dataBlockId)}else n&&!n.dataBlockId&&(e.weaponShape=void 0,e.weaponImageState=void 0,e.weaponImageStates=void 0);let r=t.find(e=>e.index===2);if(r?.dataBlockId&&r.dataBlockId>0){let t=Se(`ShapeBaseImageData`,this.getDataBlockData(r.dataBlockId));t&&(e.packShape=t)}else r&&!r.dataBlockId&&(e.packShape=void 0);let i=t.find(e=>e.index===3);if(i?.dataBlockId&&i.dataBlockId>0){e.carryingFlag=!0;let t=Se(`ShapeBaseImageData`,this.getDataBlockData(i.dataBlockId));if(t&&(e.flagShape=t),e.targetId!=null&&e.targetId>=0){let t=this.targetRenderFlags.get(e.targetId)??0,n=t|2;n!==t&&(this.targetRenderFlags.set(e.targetId,n),e.targetRenderFlags=n)}}else if(i&&!i.dataBlockId&&(e.carryingFlag=!1,e.flagShape=void 0,e.targetId!=null&&e.targetId>=0)){let t=this.targetRenderFlags.get(e.targetId)??0,n=t&-3;n!==t&&(this.targetRenderFlags.set(e.targetId,n),e.targetRenderFlags=n)}}}let i=xe(n.position)?n.position:xe(n.initialPosition)?n.initialPosition:xe(n.explodePosition)?n.explodePosition:xe(n.endPoint)?n.endPoint:xe(n.transform?.position)?n.transform.position:void 0;i&&(e.position=[i.x,i.y,i.z]);let a=Oe(n.direction)?n.direction:void 0;if(a&&(e.direction=[a.x,a.y,a.z]),e.type===`Player`&&typeof n.rotationZ==`number`&&(e.rotation=we(n.rotationZ)),e.type===`Player`&&(typeof n.headX==`number`&&(e.headPitch=n.headX),typeof n.headZ==`number`&&(e.headYaw=n.headZ)),me(n.angPosition)){let t=pe(n.angPosition);t&&(e.rotation=t)}else if(me(n.transform?.rotation)){let t=pe(n.transform.rotation);t&&(e.rotation=t)}else if(e.type===`Item`&&typeof n.rotation?.angle==`number`){let t=n.rotation;e.rotation=we((t.zSign??1)*t.angle)}else if(e.type===`Projectile`){let t=n.velocity??n.direction??(xe(n.initialPosition)&&xe(n.endPos)?{x:n.endPos.x-n.initialPosition.x,y:n.endPos.y-n.initialPosition.y,z:n.endPos.z-n.initialPosition.z}:void 0);Oe(t)&&(t.x!==0||t.y!==0)&&(e.rotation=we(Math.atan2(t.x,t.y)))}if(Oe(n.velocity)&&(e.velocity=[n.velocity.x,n.velocity.y,n.velocity.z],e.direction||=[n.velocity.x,n.velocity.y,n.velocity.z]),typeof n.moveFlag0==`boolean`&&(e.falling=n.moveFlag0),typeof n.moveFlag1==`boolean`&&(e.jetting=n.moveFlag1),e.type===`Item`){let t=n.atRest;if(t===!1&&Oe(n.velocity)){let t=n.velocity;e.itemPhysics={velocity:[t.x,t.y,t.z],atRest:!1},Vr.debug(`Item %s (%s): atRest=false pos=%s vel=%s`,e.id,e.shapeHint??e.dataBlock??`db#${e.dataBlockId}`,n.position?`${n.position.x.toFixed(1)},${n.position.y.toFixed(1)},${n.position.z.toFixed(1)}`:`none`,`${t.x.toFixed(1)},${t.y.toFixed(1)},${t.z.toFixed(1)}`)}else t===!0&&(Vr.debug(`Item %s (%s): atRest=true pos=%s`,e.id,e.shapeHint??e.dataBlock??`db#${e.dataBlockId}`,e.position?`${e.position[0].toFixed(1)},${e.position[1].toFixed(1)},${e.position[2].toFixed(1)}`:`none`),e.itemPhysics=void 0)}if(e.projectilePhysics){if(e.projectilePhysics===`linear`){let t=Ee(e.dataBlockId==null?void 0:this.getDataBlockData(e.dataBlockId),[`dryVelocity`,`muzzleVelocity`,`bulletVelocity`])??80,r=e.direction??[0,1,0],i=r[0]*t,a=r[1]*t,o=r[2]*t,s=n.excessVel,c=n.excessDir;typeof s==`number`&&s>0&&Oe(c)&&(i+=c.x*s,a+=c.y*s,o+=c.z*s),e.simulatedVelocity=[i,a,o]}else Oe(n.velocity)&&(e.simulatedVelocity=[n.velocity.x,n.velocity.y,n.velocity.z]);let t=n.currTick;if(typeof t==`number`&&t>0&&e.simulatedVelocity&&e.position){let n=32/1e3*t,r=e.simulatedVelocity;if(e.position[0]+=r[0]*n,e.position[1]+=r[1]*n,e.position[2]+=r[2]*n,e.projectilePhysics===`ballistic`){let t=-9.81*(e.gravityMod??1);e.position[2]+=.5*t*n*n,r[2]+=t*n}}}let o=xe(n.explodePosition)?n.explodePosition:xe(n.explodePoint)?n.explodePoint:void 0;if(e.type===`Projectile`&&!e.hasExploded&&o&&e.explosionDataBlockId!=null&&this.spawnExplosion(e,[o.x,o.y,o.z]),typeof n.damageLevel==`number`&&(e.health=Te(1-n.damageLevel,0,1)),typeof n.damageState==`number`&&(e.damageState=n.damageState),typeof n.action==`number`&&(e.actionAnim=n.action,e.actionAtEnd=!!n.actionAtEnd),typeof n.armAction==`number`&&(e.armAction=n.armAction),Array.isArray(n.threads)){let t=n.threads;if(e.threads){let n=[...e.threads];for(let e of t){let t=n.findIndex(t=>t.index===e.index);t>=0?n[t]=e:n.push(e)}e.threads=n}else e.threads=t}if(typeof n.energy==`number`&&(e.energy=Te(n.energy,0,1)),typeof n.targetId==`number`){e.targetId=n.targetId;let t=this.targetNames.get(n.targetId);t&&(e.playerName=t);let r=this.targetTeams.get(n.targetId);r!=null&&(e.sensorGroup=r,e.ghostIndex===this.latestControl.ghostIndex&&this.lastControlType===`player`&&(this.playerSensorGroup=r));let i=this.targetRenderFlags.get(n.targetId);i!=null&&(e.targetRenderFlags=i)}let s=n.sounds;Array.isArray(s)&&(e.soundSlots=s),e.className===`WayPoint`&&typeof n.name==`string`&&(e.label=n.name),e.className===`AudioEmitter`&&(typeof n.filename==`string`&&(e.audioFileName=n.filename),typeof n.volume==`number`&&(e.audioVolume=n.volume),typeof n.is3D==`boolean`&&(e.audioIs3D=n.is3D),typeof n.isLooping==`boolean`&&(e.audioIsLooping=n.isLooping),typeof n.minDistance==`number`&&(e.audioMinDistance=n.minDistance),typeof n.maxDistance==`number`&&(e.audioMaxDistance=n.maxDistance),typeof n.minLoopGap==`number`&&(e.audioMinLoopGap=n.minLoopGap),typeof n.maxLoopGap==`number`&&(e.audioMaxLoopGap=n.maxLoopGap))}resolveExplosionInfo(e){let t=this.getDataBlockData(e);if(!t)return;let n=t.explosion;if(n==null)return;let r=this.getDataBlockData(n);if(!r)return;let i=r.dtsFileName||void 0,a=r.lifetimeMS??31;return{shape:i,faceViewer:r.faceViewer!==!1&&r.faceViewer!==0,lifetimeTicks:a,explosionDataBlockId:n}}spawnExplosion(e,t){e.hasExploded=!0;let n=e.explosionLifetimeTicks??31,r=`fx_${this.nextExplosionId++}`,i={id:r,ghostIndex:-1,className:`Explosion`,spawnTick:this.tickCount,type:`Explosion`,dataBlock:e.explosionShape,explosionDataBlockId:e.explosionDataBlockId,position:t,rotation:[0,0,0,1],isExplosion:!0,faceViewer:e.faceViewer!==!1,expiryTick:this.tickCount+n};if(this.entities.set(r,i),e.explosionDataBlockId!=null){let n=this.getDataBlockData(e.explosionDataBlockId)?.subExplosions;if(Array.isArray(n))for(let e of n){if(e==null)continue;let n=this.getDataBlockData(e);if(!n)continue;let r=n.dtsFileName||void 0,i=n.lifetimeMS??31,a=n.offset??0,o=Math.random()*Math.PI*2,s=[t[0]+Math.cos(o)*a,t[1]+Math.sin(o)*a,t[2]],c=`fx_${this.nextExplosionId++}`,l={id:c,ghostIndex:-1,className:`Explosion`,spawnTick:this.tickCount,type:`Explosion`,dataBlock:r,explosionDataBlockId:e,position:s,rotation:[0,0,0,1],isExplosion:!0,faceViewer:n.faceViewer!==!1&&n.faceViewer!==0,expiryTick:this.tickCount+i};this.entities.set(c,l)}}e.position=void 0,e.simulatedVelocity=void 0}advanceProjectiles(){let e=32/1e3;for(let t of this.entities.values()){if(!t.simulatedVelocity||!t.position)continue;let n=t.simulatedVelocity,r=t.position;t.projectilePhysics===`ballistic`&&(n[2]+=-9.81*(t.gravityMod??1)*e),r[0]+=n[0]*e,r[1]+=n[1]*e,r[2]+=n[2]*e,(n[0]!==0||n[1]!==0)&&(t.rotation=we(Math.atan2(n[0],n[1])))}}advanceItems(){let e=32/1e3;for(let t of this.entities.values()){let n=t.itemPhysics;if(!n||n.atRest||!t.position)continue;let r=n.velocity,i=t.position;r[2]+=-20*e,i[0]+=r[0]*e,i[1]+=r[1]*e,i[2]+=r[2]*e;let a=zr(i[0],i[1]);if(a!=null&&i[2]0){let e=Math.max(0,1-t/o);r[0]*=e,r[1]*=e}r[2]=e*.2,Math.sqrt(r[0]*r[0]+r[1]*r[1]+r[2]*r[2])<.15&&(r[0]=r[1]=r[2]=0,n.atRest=!0)}i[2]<-1e3&&(n.atRest=!0)}}removeExpiredExplosions(){for(let[e,t]of this.entities)t.isExplosion&&t.expiryTick!=null&&this.tickCount>=t.expiryTick&&this.entities.delete(e)}updateCameraAndHud(){let e=this.latestControl,t=this.getTimeSec(),n=e.data,r=this.lastControlType;if(this.removeExpiredExplosions(),e.position){let{yaw:i,pitch:a}=this.getCameraYawPitch(n);if(this.isPiloting){if(n){let e=n.controlObjectData?.angPosition;if(e&&typeof e.w==`number`){this.lastVehicleHeading=ke(e),this.lastVehiclePitch=Me(e);let t=pe(e);if(t){let[e,n,r,i]=t,a=1-2*(n*n+r*r),o=2*(e*n+r*i),s=2*(e*r-n*i);this.lastVehicleOrbitDir=[-a,-o,-s]}}}i=this.lastVehicleHeading,a=this.lastVehiclePitch}if(this.camera={time:t,position:[e.position.x,e.position.y,e.position.z],rotation:je(i,Te(a,-De,De)),fov:this.latestFov,mode:`observer`,yaw:i,pitch:a},r===`camera`)if((typeof n?.cameraMode==`number`?n.cameraMode:this.lastCameraMode)===3){this.camera.mode=`third-person`,typeof this.lastOrbitDistance==`number`&&(this.camera.orbitDistance=this.lastOrbitDistance);let e=typeof n?.orbitObjectGhostIndex==`number`?n.orbitObjectGhostIndex:this.lastOrbitGhostIndex;typeof e==`number`&&e>=0&&(this.camera.orbitTargetId=this.resolveEntityIdForGhostIndex(e))}else this.camera.mode=`observer`;else e.ghostIndex>=0&&(this.controlPlayerGhostId=this.resolveEntityIdForGhostIndex(e.ghostIndex)),this.firstPerson?this.camera.mode=`first-person`:(this.camera.mode=`third-person`,this.isPiloting&&this.lastPilotGhostIndex!=null?(this.camera.orbitTargetId=this.resolveEntityIdForGhostIndex(this.lastPilotGhostIndex),this.camera.orbitDistance=15,this.lastVehicleOrbitDir&&(this.camera.orbitDirection=this.lastVehicleOrbitDir)):(this.camera.orbitTargetId=this.controlPlayerGhostId,this.camera.orbitDistance=3)),this.controlPlayerGhostId&&(this.camera.controlEntityId=this.controlPlayerGhostId);if(r===`player`&&e.position){if(this.isPiloting&&this.lastPilotGhostIndex!=null){let r=this.resolveEntityIdForGhostIndex(this.lastPilotGhostIndex),i=r?this.entities.get(r):void 0;if(i){let r=n?.controlObjectData;if(r){i.position=[e.position.x,e.position.y,e.position.z],this.lastVehiclePos=i.position.slice(),this.lastVehiclePosTime=t;let n=r.linMomentum;if(n&&xe(n)){let e=i.dataBlockId,t=(e==null?void 0:this.getDataBlockData(e))?.mass??200,r=t>0?1/t:1/200;this.lastVehicleVelocity=[n.x*r,n.y*r,n.z*r],i.velocity=this.lastVehicleVelocity}let a=r.angPosition;if(a&&typeof a.w==`number`){let e=pe(a);e&&(i.rotation=e)}}else if(this.lastVehiclePos&&this.lastVehicleVelocity&&this.lastVehiclePosTime>0){let e=t-this.lastVehiclePosTime;if(e>0&&e<1){let[t,n,r]=this.lastVehicleVelocity;i.position=[this.lastVehiclePos[0]+t*e,this.lastVehiclePos[1]+n*e,this.lastVehiclePos[2]+r*e]}}}}else if(this.controlPlayerGhostId){let t=this.entities.get(this.controlPlayerGhostId);if(t){t.position=[e.position.x,e.position.y,e.position.z],t.rotation=we(i),t.headPitch=this.getControlPlayerHeadPitch(a);let r=n?.velocity;Oe(r)&&(t.velocity=[r.x,r.y,r.z])}}}}else this.camera&&={...this.camera,time:t,fov:this.latestFov};let i={health:1,energy:1};if(this.camera?.mode===`first-person`){let e=this.controlPlayerGhostId,t=e?this.entities.get(e):void 0;i.health=t?.health??1;let r=n?.energyLevel;if(typeof r==`number`){let e=t?.maxEnergy??60;e>0&&(i.energy=Te(r/e,0,1))}else i.energy=t?.energy??1}else if(this.camera?.mode===`third-person`&&this.camera.orbitTargetId){let e=this.entities.get(this.camera.orbitTargetId);i.health=e?.health??1,i.energy=e?.energy??1}this.lastStatus=i}getControlPlayerHeadPitch(e){return Te(e/De,-1,1)}getAbsoluteRotation(e){return e?typeof e.rotationZ==`number`&&typeof e.headX==`number`?{yaw:e.rotationZ,pitch:e.headX}:typeof e.rotZ==`number`&&typeof e.rotX==`number`?{yaw:e.rotZ,pitch:e.rotX}:null:null}resolveIffColor(e){if(this.playerSensorGroup===0)return;let t=this.sensorGroupColors.get(this.playerSensorGroup);if(t){let n=t.get(e);if(n)return n}if(e===this.playerSensorGroup)return ae;if(e!==0)return Ae}pushChatMessage(e){this.chatMessages.push({...e,id:++this.chatMessageIdCounter}),this.chatMessages.length>200&&this.chatMessages.splice(0,this.chatMessages.length-200),this._chatGen++}handleServerMessage(e){if(e.length<2)return;let t=this.resolveNetString(e[0]);if((t===`MsgTeamScoreIs`||t===`MsgTeamScore`)&&e.length>=4){let t=parseInt(this.resolveNetString(e[2]),10),n=parseInt(this.resolveNetString(e[3]),10);if(!isNaN(t)&&!isNaN(n)){let e=this.teamScores.find(e=>e.teamId===t);e&&(e.score=n,this.onTeamScoresChanged())}}else if(t===`MsgCTFAddTeam`&&e.length>=6){let t=parseInt(this.resolveNetString(e[2]),10),n=de(this.resolveNetString(e[3])),r=parseInt(this.resolveNetString(e[5]),10);if(!isNaN(t)&&t>0){let e=this.teamScores.find(e=>e.teamId===t);e?(e.name=n,e.score=isNaN(r)?e.score:r):this.teamScores.push({teamId:t,name:n,score:isNaN(r)?0:r,playerCount:0}),this.onTeamScoresChanged()}}else if(t===`MsgClientJoin`&&e.length>=4){let t=de(this.resolveNetString(e[2])).trim(),n=parseInt(this.resolveNetString(e[3]),10);isNaN(n)||(this.playerRoster.set(n,{name:t,teamId:0,score:0,ping:0,packetLoss:0}),this.onRosterChanged()),!this.connectedPlayerName&&t&&de(this.resolveNetString(e[1])).includes(`Welcome to Tribes`)&&(this.connectedPlayerName=t,this.connectedClientId=n,this.onMissionInfoChange?.())}else if(t===`MsgClientDrop`&&e.length>=4){let t=parseInt(this.resolveNetString(e[3]),10);isNaN(t)||(this.playerRoster.delete(t),this.onRosterChanged())}else if(t===`MsgClientJoinTeam`&&e.length>=6){let t=parseInt(this.resolveNetString(e[4]),10),n=parseInt(this.resolveNetString(e[5]),10);if(!isNaN(t)&&!isNaN(n)){let e=this.playerRoster.get(t);e?e.teamId=n:this.playerRoster.set(t,{name:``,teamId:n,score:0,ping:0,packetLoss:0}),this.onRosterChanged()}}else if(t===`MsgPlayerScore`&&e.length>=5){let t=parseInt(this.resolveNetString(e[2]),10);if(!isNaN(t)){let n=this.playerRoster.get(t);if(n){let t=parseInt(this.resolveNetString(e[3]),10),r=parseInt(this.resolveNetString(e[4]),10),i=parseInt(this.resolveNetString(e[5]??``),10);isNaN(t)||(n.score=t),isNaN(r)||(n.ping=r),isNaN(i)||(n.packetLoss=i),this.onRosterChanged()}}}else if(t===`MsgSystemClock`&&e.length>=4){let t=parseFloat(this.resolveNetString(e[3]));this.clockAnchorStreamSec=this.getTimeSec(),this.clockDurationMs=Number.isFinite(t)?t:0}else if(t===`MsgMissionDropInfo`&&e.length>=5){let t=de(this.resolveNetString(e[2])),n=de(this.resolveNetString(e[3])),r=de(this.resolveNetString(e[4]));Vr.info(`mission drop info: mission=%s gameType=%s server=%s`,t,n,r),this.missionDisplayName=t||this.missionDisplayName,this.missionTypeDisplayName=n||this.missionTypeDisplayName,this.serverDisplayName=r||this.serverDisplayName,this.onMissionInfoChange?.()}else if(t===`MsgLoadInfo`&&e.length>=5){let t=de(this.resolveNetString(e[3])),n=de(this.resolveNetString(e[4]));Vr.info(`load info: mission=%s gameType=%s`,t,n),this.missionDisplayName=t||this.missionDisplayName,this.missionTypeDisplayName=n||this.missionTypeDisplayName,this.onMissionInfoChange?.()}else if(t===`MsgClientReady`&&e.length>=3){let t=this.resolveNetString(e[2]);Vr.info(`client ready: gameClass=%s`,t),this.gameClassName=t||this.gameClassName,this.onMissionInfoChange?.()}}onTeamScoresChanged(){}onRosterChanged(){}handleHudRemoteCommand(e,t){if(e===`setWeaponsHudItem`&&t.length>=3){let e=parseInt(t[0],10),n=parseInt(t[1],10),r=t[2]===`1`||t[2]===`true`;isNaN(e)||(r?this.weaponsHud.slots.set(e,isNaN(n)?-1:n):this.weaponsHud.slots.delete(e),this.onWeaponsHudChanged())}else if(e===`setWeaponsHudAmmo`&&t.length>=2){let e=parseInt(t[0],10),n=parseInt(t[1],10);isNaN(e)||(this.weaponsHud.slots.set(e,isNaN(n)?-1:n),this.onWeaponsHudChanged())}else if(e===`setWeaponsHudActive`&&t.length>=1){let e=parseInt(t[0],10);this.weaponsHud.activeIndex=isNaN(e)?-1:e,!isNaN(e)&&e>=0&&!this.weaponsHud.slots.has(e)&&this.weaponsHud.slots.set(e,-1),this.onWeaponsHudChanged()}else if(e===`setWeaponsHudClearAll`)this.weaponsHud.slots.clear(),this.weaponsHud.activeIndex=-1,this.onWeaponsHudChanged();else if(e===`setBackpackHudItem`&&t.length>=2){let e=parseInt(t[0],10);(t[1]===`1`||t[1]===`true`)&&!isNaN(e)?(this.backpackHud.packIndex=e,this.backpackHud.active=!1,this.backpackHud.text=``):(this.backpackHud.packIndex=-1,this.backpackHud.active=!1,this.backpackHud.text=``)}else if(e===`setSatchelArmed`)this.backpackHud.active=!0;else if(e===`setCloakIconOn`||e===`setRepairPackIconOn`||e===`setShieldIconOn`||e===`setSenJamIconOn`)this.backpackHud.active=!0;else if(e===`setCloakIconOff`||e===`setRepairPackIconOff`||e===`setShieldIconOff`||e===`setSenJamIconOff`)this.backpackHud.active=!1;else if(e===`updatePackText`&&t.length>=1)this.backpackHud.text=t[0]??``;else if(e===`setInventoryHudItem`&&t.length>=3){let e=parseInt(t[0],10),n=parseInt(t[1],10),r=t[2]===`1`||t[2]===`true`;isNaN(e)||(r&&!isNaN(n)?this.inventoryHud.slots.set(e,n):this.inventoryHud.slots.delete(e),this.onInventoryHudChanged())}else if(e===`setInventoryHudAmount`&&t.length>=2){let e=parseInt(t[0],10),n=parseInt(t[1],10);!isNaN(e)&&!isNaN(n)&&(this.inventoryHud.slots.set(e,n),this.onInventoryHudChanged())}else e===`setInventoryHudClearAll`&&(this.inventoryHud.slots.clear(),this.inventoryHud.activeSlot=-1,this.onInventoryHudChanged())}onWeaponsHudChanged(){}onInventoryHudChanged(){}buildEntityList(e){let t=[];for(let n of this.entities.values()){if(e&&!e(n))continue;let r=n.targetId!=null&&n.targetId>=0?this.targetRenderFlags.get(n.targetId)??n.targetRenderFlags:n.targetRenderFlags;n.type===`Player`&&!n.carryingFlag&&(r=r==null?r:r&-3),t.push({id:n.id,type:n.type,visual:n.visual,direction:n.direction,ghostIndex:n.ghostIndex,className:n.className,dataBlockId:n.dataBlockId,shapeHint:n.shapeHint,dataBlock:n.dataBlock,weaponShape:n.weaponShape,packShape:n.packShape,flagShape:n.flagShape,falling:n.falling,jetting:n.jetting,playerName:n.playerName,targetRenderFlags:r,iffColor:(n.type===`Player`||(r??0)&2)&&n.sensorGroup!=null?this.resolveIffColor(n.sensorGroup):void 0,position:n.position&&(n.simulatedVelocity||n.itemPhysics&&!n.itemPhysics.atRest)?[...n.position]:n.position,rotation:n.rotation,velocity:n.velocity,health:n.health,energy:n.energy,actionAnim:n.actionAnim,actionAtEnd:n.actionAtEnd,armAction:n.armAction,damageState:n.damageState,faceViewer:n.faceViewer,threads:n.threads,explosionDataBlockId:n.explosionDataBlockId,maintainEmitterId:n.maintainEmitterId,weaponImageState:n.weaponImageState,weaponImageStates:n.weaponImageStates,headPitch:n.headPitch,headYaw:n.headYaw,label:n.label,audioFileName:n.audioFileName,audioVolume:n.audioVolume,audioIs3D:n.audioIs3D,audioIsLooping:n.audioIsLooping,audioMinDistance:n.audioMinDistance,audioMaxDistance:n.audioMaxDistance,audioMinLoopGap:n.audioMinLoopGap,audioMaxLoopGap:n.audioMaxLoopGap,wheels:n.wheels,steeringYaw:n.steeringYaw,frozen:n.frozen,maxSteeringAngle:n.maxSteeringAngle,soundSlots:n.soundSlots,sceneData:n.sceneData,forceFieldData:n.forceFieldData})}return t}computeMatchClockMs(e){if(this.clockAnchorStreamSec==null)return null;let t=(e-this.clockAnchorStreamSec)*1e3;return-this.clockDurationMs+t}buildHudState(){let e={slots:Array.from(this.weaponsHud.slots.entries()).map(([e,t])=>({index:e,ammo:t})),activeIndex:this.weaponsHud.activeIndex},t={slots:Array.from(this.inventoryHud.slots.entries()).map(([e,t])=>({slot:e,count:t})),activeSlot:this.inventoryHud.activeSlot},n=this.backpackHud.packIndex>=0?{...this.backpackHud}:null,r=this.teamScores.map(e=>({...e})),i=new Map;for(let{teamId:e}of this.playerRoster.values())e>0&&i.set(e,(i.get(e)??0)+1);for(let e of r)e.playerCount=i.get(e.teamId)??0;let a=[];for(let[e,t]of this.playerRoster)a.push({clientId:e,...t});return{weaponsHud:e,inventoryHud:t,backpackHud:n,teamScores:r,playerRoster:a}}buildTimeFilteredEvents(e){return this._chatSnapshotGen!==this._chatGen&&(this._chatSnapshot=this.chatMessages.slice(),this._chatSnapshotGen=this._chatGen),{chatMessages:this._chatSnapshot,audioEvents:this.audioEvents.filter(t=>t.timeSec>e-.5&&t.timeSec<=e)}}},Ur=I(`liveStreaming`),Wr=class extends Hr{packetParser;relay;currentTimeSec=0;connectSynced=!1;_snapshot=null;_snapshotTick=-1;_ready=!1;_teamScoresGen=0;_rosterGen=0;_weaponsHudGen=0;_inventoryHudGen=0;_cachedHud=null;dataBlockClassNames=new Map;onReady;onMissionChange;missionName=null;lastMoveAck=0;constructor(e){super(),this.relay=e;let{registry:t,ghostTracker:n,packetParser:r}=ye();this.packetParser=r,this.ghostTracker=n,this.registry=t}getDataBlockData(e){return this.packetParser.getDataBlockDataMap()?.get(e)}_shapeConstructorCache=null;getShapeConstructorSequences(e){this._shapeConstructorCache=new Map;let t=this.packetParser.getDataBlockDataMap();if(t){for(let[,e]of t){let t=e.shape,n=e.sequences;t&&n&&this._shapeConstructorCache.set(t.toLowerCase(),n)}return this._shapeConstructorCache.get(e.toLowerCase())}}getTimeSec(){return this.currentTimeSec}getCameraYawPitch(e){return this.getAbsoluteRotation(e)??{yaw:0,pitch:0}}getEffectShapes(){let e=new Set,t=this.packetParser.getDataBlockDataMap();if(!t)return[];for(let[,n]of t){let r=n.explosion;if(r==null)continue;let i=t.get(r);i?.dtsFileName&&e.add(i.dtsFileName)}return[...e]}onTeamScoresChanged(){this._teamScoresGen++}onRosterChanged(){this._rosterGen++}onWeaponsHudChanged(){this._weaponsHudGen++}onInventoryHudChanged(){this._inventoryHudGen++}reset(){this.resetSharedState(),this.ghostTracker.clear?.(),this.currentTimeSec=0,this._snapshot=null,this._snapshotTick=-1,this._cachedHud=null,this.dataBlockClassNames.clear(),this.observerMode=`fly`,this.missionName=null}getSnapshot(){return this._snapshot&&this._snapshotTick===this.tickCount?this._snapshot:this.buildSnapshot()}stepToTime(e,t){return this.currentTimeSec=e,this.getSnapshot()}syncConnectSequence(e){if(this.connectSynced||e.length<1)return;this.connectSynced=!0;let t=e[0]>>1&1;this.packetParser.setConnectionProtocolState({lastSeqRecvdAtSend:Array(32).fill(0),lastSeqRecvd:0,highestAckedSeq:0,lastSendSeq:536870911,ackMask:0,connectSequence:t,lastRecvAckAck:0,connectionEstablished:!0})}feedPacket(e){this.syncConnectSequence(e),this.processPacket(e)}handleRelayCommands(e){if(e.type!==`RemoteCommandEvent`)return;let t=e.funcName;if(!t)return;let n=this.resolveNetString(t);if([`t2csri_pokeClient`,`t2csri_getChallengeChunk`,`t2csri_decryptChallenge`].includes(n)){let t=(e.args??[]).map(e=>this.resolveNetString(e)).filter(e=>e!==``);Ur.info(`auth event: %s %o`,n,t),this.relay.sendAuthEvent(n,t);return}let r=(e.args??[]).map(e=>this.resolveNetString(e));if(n===`MissionStartPhase1`){let e=r[0]??``,t=r[1]??null;Ur.info(`mission phase 1, seq=%s mission=%s resolvedArgs=%o`,e,t,r),t&&t!==this.missionName&&(this.missionName=t,this.entities.clear(),this.entityIdByGhostIndex.clear(),this._ready=!1,this._snapshot=null,this._snapshotTick=-1,this._cachedHud=null,this.observerMode=`fly`,this.lastMoveAck=0,this.missionDisplayName=null,this.missionTypeDisplayName=null,this.gameClassName=null,this.serverDisplayName=null,this.onMissionChange?.(t)),this.relay.sendCommand(`MissionStartPhase1Done`,[e])}else if(n===`MissionStartPhase2`){let e=r[0]??``;Ur.info(`mission phase 2 (datablocks), seq=%s`,e),this.relay.sendCommand(`MissionStartPhase2Done`,[e])}else if(n===`MissionStartPhase3`){let e=r[0]??``,t=r[1]??null;Ur.info(`mission phase 3 (ghosting), seq=%s mission=%s`,e,t),t&&(this.missionName=t),this.relay.sendCommand(`setClientFav`,[``]),this.relay.sendCommand(`MissionStartPhase3Done`,[e])}}handleCRCChallenge(e){if(e.type!==`CRCChallengeEvent`)return;let t=e.crcValue,n=e.field1,r=e.field2,i=(n&1)!=0;Ur.info(`CRC challenge: seed=0x%s f1=0x%s f2=0x%s includeTextures=%s`,(t>>>0).toString(16),(n>>>0).toString(16),(r>>>0).toString(16),i);let a=this.packetParser.getDataBlockDataMap(),o=[];if(a)for(let[e,t]of a){let n=this.dataBlockClassNames.get(e);if(!n)continue;let r=Se(n,t);o.push({objectId:e,className:n,shapeName:r??``})}Ur.info(`CRC: sending %d datablocks for computation`,o.length),this.relay.sendCRCCompute(t,r,o,i)}handleGhostingMessage(e){if(e.type!==`GhostingMessageEvent`)return;let t=e.message,n=e.sequence,r=e.ghostCount;Ur.info(`GhostingMessageEvent: message=%d sequence=%d ghostCount=%d`,t,n,r),t===le.GhostAlwaysDone&&(Ur.info(`Sending ghost ack for sequence %d`,n),this.relay.sendGhostAck(n,r))}observerMode=`fly`;requestScores(){this.relay.sendCommand(`getScores`,[])}getPlayerList(){let e=[];for(let[t,n]of this.targetNames){let r=this.targetTeams.get(t)??0;e.push({targetId:t,name:n,sensorGroup:r})}return e}processPacket(e){try{let t=this.packetParser.protocolRejected,n=this.packetParser.protocolNoDispatch,r=this.packetParser.parsePacket(e),i=this.packetParser.protocolRejected>t,a=this.packetParser.protocolNoDispatch>n;(i||a)&&Ur.warn(`packet #%d %s: %d bytes (total rejected=%d, noDispatch=%d)`,this.tickCount,i?`REJECTED`:`no-dispatch`,e.length,this.packetParser.protocolRejected,this.packetParser.protocolNoDispatch);let o=this.tickCount<20,s=this.tickCount%100==0,c=o||s;c&&Ur.debug(`packet #%d: %d events, %d ghosts, %d bytes%s%s`,this.tickCount,r.events.length,r.ghosts.length,e.length,r.gameState.controlObjectGhostIndex===void 0?``:`, control=${r.gameState.controlObjectGhostIndex}`,r.gameState.cameraFov===void 0?``:`, fov=${r.gameState.cameraFov}`),this.lastMoveAck=r.gameState.lastMoveAck,this.processControlObject(r.gameState);for(let e of r.events)if(e.parsedData){this.handleRelayCommands(e.parsedData),this.handleCRCChallenge(e.parsedData),this.handleGhostingMessage(e.parsedData);let t=e.parsedData.type;if(t===`RemoteCommandEvent`){let t=this.resolveNetString(e.parsedData.funcName??``);Ur.debug(`remote: %s`,t)}if(o&&t!==`NetStringEvent`&&t!==`RemoteCommandEvent`&&Ur.debug(`event: %s%s`,t,t===`SimDataBlockEvent`?` id=${e.parsedData.objectId} class=${e.parsedData.dataBlockClassName}`:``),t===`SimDataBlockEvent`){let t=e.parsedData.objectId,n=e.parsedData.dataBlockClassName;if(t!=null&&n&&this.dataBlockClassNames.set(t,n),c){let r=e.parsedData.dataBlockData,i=Se(n??``,r);Ur.debug(`datablock: id=%d class=%s%s`,t,n??`?`,i?` shape=${i}`:``)}}let n=this.registry.getEventParser(e.classId)?.name;if(this.processEvent(e,n),o&&t===`NetStringEvent`){let t=e.parsedData.id,n=e.parsedData.value;t!=null&&typeof n==`string`&&Ur.trace(`netString #%d = "%s"`,t,n.length>60?n.slice(0,60)+`…`:n)}if(t===`TargetInfoEvent`){let t=e.parsedData.targetId,n=e.parsedData.nameTag;if(t!=null&&n!=null){let r=this.netStrings.get(n);if(r){let n=de(r);Ur.info(`target #%d: "%s" team=%s`,t,n,e.parsedData.sensorGroup??`?`)}}}if(t===`SetSensorGroupEvent`){let t=e.parsedData.sensorGroup;t!=null&&Ur.info(`sensor group changed: → %d`,t)}if(t===`SensorGroupColorEvent`){let t=e.parsedData.sensorGroup,n=e.parsedData.colors;n&&Ur.debug(`sensor group colors: group=%d, %d entries`,t,n.length)}}for(let e of r.ghosts){if(e.type===`create`){let t=e.parsedData?.position,n=t&&typeof t.x==`number`&&typeof t.y==`number`&&typeof t.z==`number`,r=this.resolveGhostClassName(e.index,e.classId);Ur.debug(`ghost create: #%d %s%s (%d entities total)`,e.index,r??`?`,n?` at (${t.x.toFixed(1)}, ${t.y.toFixed(1)}, ${t.z.toFixed(1)})`:``,this.entities.size+1),this._ready||(this._ready=!0,this.onReady?.())}else if(e.type===`delete`){let t=this.entityIdByGhostIndex.get(e.index),n=t?this.entities.get(t):void 0;(this.tickCount<50||this.tickCount%200==0)&&Ur.debug(`ghost delete: #%d %s (%d entities remaining)`,e.index,n?.className??`?`,this.entities.size-1)}this.processGhostUpdate(e)}if(this.tickCount++,this.advanceProjectiles(),this.advanceItems(),s&&this.tickCount>1){let e=this.packetParser.getDataBlockDataMap();Ur.info(`status @ tick %d: %d entities, %d datablocks, rejected=%d, noDispatch=%d`,this.tickCount,this.entities.size,e?.size??0,this.packetParser.protocolRejected,this.packetParser.protocolNoDispatch)}let l=this.entities.size;if(this.tickCount===1||l>0&&l%25==0&&this.tickCount<100){let e=new Map;for(let t of this.entities.values())e.set(t.type,(e.get(t.type)??0)+1);let t=[...e.entries()].map(([e,t])=>`${e}=${t}`).join(` `);Ur.info(`entity count: %d (%s)`,l,t)}let u=this.camera?.mode;if(this.updateCameraAndHud(),this.camera&&this.camera.mode!==u&&Ur.info(`camera mode: %s → %s%s`,u??`none`,this.camera.mode,this.camera.mode===`third-person`?` orbit=${this.camera.orbitTargetId??`?`} dist=${this.camera.orbitDistance??`?`}`:``),this.tickCount<=5&&this.camera){let[e,t,n]=this.camera.position;Ur.debug(`camera: mode=%s pos=(%s, %s, %s) fov=%s`,this.camera.mode,e.toFixed(1),t.toFixed(1),n.toFixed(1),this.camera.fov)}}catch(t){let n={tickCount:this.tickCount,entityCount:this.entities.size,dataLength:e.length,controlGhost:this.latestControl.ghostIndex,connectSynced:this.connectSynced};Ur.error(`Failed to process live packet: %o %o`,t,n)}}buildSnapshot(){let e=this.buildEntityList(),t=this.currentTimeSec,{chatMessages:n,audioEvents:r}=this.buildTimeFilteredEvents(t),i=this._cachedHud,a,o,s,c,l;i&&i.weaponsHudGen===this._weaponsHudGen&&i.inventoryHudGen===this._inventoryHudGen&&i.teamScoresGen===this._teamScoresGen&&i.rosterGen===this._rosterGen&&i.backpackPackIndex===this.backpackHud.packIndex&&i.backpackActive===this.backpackHud.active?(a=i.weaponsHud,o=i.inventoryHud,s=i.backpackHud,c=i.teamScores,l=i.playerRoster):({weaponsHud:a,inventoryHud:o,backpackHud:s,teamScores:c,playerRoster:l}=this.buildHudState(),this._cachedHud={weaponsHudGen:this._weaponsHudGen,inventoryHudGen:this._inventoryHudGen,teamScoresGen:this._teamScoresGen,rosterGen:this._rosterGen,backpackPackIndex:this.backpackHud.packIndex,backpackActive:this.backpackHud.active,weaponsHud:a,inventoryHud:o,backpackHud:s,teamScores:c,playerRoster:l}),this.camera||={time:t,position:[0,0,200],rotation:[0,0,0,1],fov:90,mode:`observer`};let u={timeSec:t,exhausted:!1,camera:this.camera,entities:e,controlPlayerGhostId:this.controlPlayerGhostId,playerSensorGroup:this.playerSensorGroup,status:this.lastStatus,chatMessages:n,audioEvents:r,weaponsHud:a,backpackHud:s,inventoryHud:o,teamScores:c,playerRoster:l,connectedClientId:this.connectedClientId,matchClockMs:this.computeMatchClockMs(t)};return this._snapshot=u,this._snapshotTick=this.tickCount,u}},Gr=N()((e,t)=>({missionEntities:new Map,streamEntities:new Map,isStreaming:!1,dataSource:null,missionName:null,missionType:null,missionTypeDisplayName:null,missionDisplayName:null,gameClassName:null,serverDisplayName:null,recorderName:null,recordingDate:null,version:0,setEntity(t){e(e=>{let n=new Map(e.missionEntities);return n.set(t.id,t),{missionEntities:n,version:e.version+1}})},deleteEntity(t){e(e=>{if(!e.missionEntities.has(t))return e;let n=new Map(e.missionEntities);return n.delete(t),{missionEntities:n,version:e.version+1}})},setEntities(t){e(e=>{let n=new Map(e.missionEntities);for(let e of t)n.set(e.id,e);return{missionEntities:n,version:e.version+1}})},setAllEntities(t){e(e=>{let n=new Map;for(let e of t)n.set(e.id,e);return{missionEntities:n,dataSource:e.isStreaming?e.dataSource:`map`}})},clearEntities(){e(e=>e.missionEntities.size===0?e:e.isStreaming?{missionEntities:new Map,version:e.version+1}:{missionEntities:new Map,dataSource:null,missionName:null,missionType:null,missionTypeDisplayName:null,missionDisplayName:null,gameClassName:null,serverDisplayName:null,recorderName:null,recordingDate:null,version:e.version+1})},setMissionInfo(t){let n={};if(t.missionName!==void 0&&(n.missionName=t.missionName),t.missionType!==void 0&&(n.missionType=t.missionType),t.missionTypeDisplayName!==void 0&&(n.missionTypeDisplayName=t.missionTypeDisplayName),t.missionDisplayName!==void 0&&(n.missionDisplayName=t.missionDisplayName),t.gameClassName!==void 0&&(n.gameClassName=t.gameClassName,t.missionType===void 0))if(t.gameClassName){let e=t.gameClassName.replace(/Game$/i,``);n.missionType=Bt[e.toLowerCase()]??e}else n.missionType=null;t.serverDisplayName!==void 0&&(n.serverDisplayName=t.serverDisplayName),t.recorderName!==void 0&&(n.recorderName=t.recorderName),t.recordingDate!==void 0&&(n.recordingDate=t.recordingDate),e(e=>({...n,version:e.version+1}))},beginStreaming(t){e(e=>({isStreaming:!0,dataSource:t,streamEntities:new Map,missionName:null,missionType:null,missionTypeDisplayName:null,missionDisplayName:null,gameClassName:null,serverDisplayName:null,recorderName:null,recordingDate:null,version:e.version+1}))},endStreaming(){e(e=>e.isStreaming?{isStreaming:!1,dataSource:e.missionEntities.size>0?`map`:null,missionName:null,missionType:null,missionTypeDisplayName:null,missionDisplayName:null,gameClassName:null,serverDisplayName:null,recorderName:null,recordingDate:null,streamEntities:new Map,version:e.version+1}:e)},setStreamEntity(t){e(e=>{let n=new Map(e.streamEntities);return n.set(t.id,t),{streamEntities:n,version:e.version+1}})},deleteStreamEntity(t){e(e=>{if(!e.streamEntities.has(t))return e;let n=new Map(e.streamEntities);return n.delete(t),{streamEntities:n,version:e.version+1}})},setStreamEntities(t){e(e=>{let n=new Map(e.streamEntities);for(let e of t)n.set(e.id,e);return{streamEntities:n,version:e.version+1}})},setAllStreamEntities(t){e(e=>{let n=new Map;for(let e of t)n.set(e.id,e);let r=e.streamEntities;return n.size===r.size&&[...n.keys()].every(e=>r.has(e))?e:{streamEntities:n,version:e.version+1}})},clearStreamEntities(){e(e=>e.streamEntities.size===0?e:{streamEntities:new Map,version:e.version+1})},getStreamEntitiesMap(){return t().streamEntities},bumpStreamVersion(){e(e=>({version:e.version+1}))}}));function Kr(e){return e.isStreaming?e.streamEntities:e.missionEntities}function qr(e){return e.version}function Jr(){return P(Gr,qr),P(Gr,Kr)}function Yr(){return Jr()}function Xr(e){let t=e.isStreaming?e.streamEntities:e.missionEntities,n=[];for(let e of t.values())e.renderType!==`None`&&n.push(e);return n}function Zr(e,t){if(e.length!==t.length)return!1;for(let n=0;n(t.isStreaming?t.streamEntities:t.missionEntities).get(e)?.debugHidden??!1,t[0]=e,t[1]=n),P(Gr,n)}function pi(){return P(Gr,mi)}function mi(e){return e.missionDisplayName}function hi(){return P(Gr,gi)}function gi(e){return e.serverDisplayName}function _i(){return P(Gr,vi)}function vi(e){return e.recorderName}function yi(){return P(Gr,bi)}function bi(e){return e.recordingDate}var xi=I(`liveConnectionStore`),Si=`wss://t2-relay.fly.dev`,Ci=N((e,t)=>({relayConnected:!1,gameStatus:null,gameStatusMessage:void 0,mapName:void 0,serverName:void 0,relayToGameServerPing:null,browserToRelayPing:null,servers:[],serversLoading:!1,adapter:null,liveReady:!1,_relay:null,_adapter:null,_pending:[],_listInFlight:!1,connectRelay(n=Si){let r=t();r._relay&&r._relay.close();let i=new Nr(n,{onOpen(){e({relayConnected:!0});let n=t();for(let e of n._pending)e();n._pending=[]},onStatus(t,n,r,i){xi.info(`game status: %s%s%s`,t,n?` — ${n}`:``,i?` map=${i}`:``),e({gameStatus:t,gameStatusMessage:n,...i?{mapName:i}:{}})},onServerList(n){t()._listInFlight=!1,e({servers:n,serversLoading:!1})},onGamePacket(e){let n=t()._adapter;n||xi.warn(`received game packet but no adapter is active`),n?.feedPacket(e)},onPing(t){e({relayToGameServerPing:t})},onWsPing(t){e({browserToRelayPing:t})},onError(n){xi.error(`error: %s`,n),t()._listInFlight=!1,e({serversLoading:!1})},onClose(){let n=t();n._relay===i&&(n._relay=null,n._adapter=null,n._pending=[],n._listInFlight=!1,e({relayConnected:!1,gameStatus:null,gameStatusMessage:void 0,mapName:void 0,serverName:void 0,relayToGameServerPing:null,browserToRelayPing:null,adapter:null,liveReady:!1}))}});i.connect(),t()._relay=i},disconnectRelay(){let n=t();n._relay?.close(),n._relay=null,n._adapter=null,n._pending=[],n._listInFlight=!1,e({relayConnected:!1,gameStatus:null,gameStatusMessage:void 0,mapName:void 0,serverName:void 0,relayToGameServerPing:null,browserToRelayPing:null,adapter:null,liveReady:!1})},listServers(){let n=t();if(n._listInFlight)return;n._listInFlight=!0;let r=()=>{let e=t();e._relay?.sendWsPing(),e._relay?.listServers()};e({serversLoading:!0}),n._relay?.connected?r():(n._pending.push(r),n._relay||t().connectRelay())},joinServer(n,r){let i=t();if(!i._relay)return;let a=i.servers.find(e=>e.address===n),o=new Wr(i._relay);o.onReady=()=>e({liveReady:!0}),o.onMissionChange=t=>{xi.info(`mission changed: %s`,t),e({mapName:t,liveReady:!1}),Gr.getState().setMissionInfo({missionName:t,missionType:null,missionTypeDisplayName:null,missionDisplayName:null,gameClassName:null})},o.onMissionInfoChange=()=>{Gr.getState().setMissionInfo({missionDisplayName:o.missionDisplayName??void 0,missionTypeDisplayName:o.missionTypeDisplayName??void 0,gameClassName:o.gameClassName??void 0,serverDisplayName:o.serverDisplayName??void 0,recorderName:o.connectedPlayerName??void 0})},i._adapter=o,e({mapName:a?.mapName??i.mapName,serverName:a?.name,warriorName:r,liveReady:!1,gameStatus:null,adapter:o}),Gr.getState().setMissionInfo({missionName:a?.mapName??void 0,missionTypeDisplayName:a?.gameType??void 0,serverDisplayName:a?.name??void 0,recorderName:r??void 0}),i._relay.joinServer(n,r)},disconnectServer(){t().disconnectRelay()},sendMoves(e,n){t()._relay?.sendMoves(e,n)},sendCommand(e,...n){t()._relay?.sendCommand(e,n)}}));function wi(e,t){return P(Ci,e,t)}function Ti(e){return e.relayToGameServerPing!=null&&e.browserToRelayPing!=null?e.relayToGameServerPing+e.browserToRelayPing:e.relayToGameServerPing??null}var Ei=[.25,.5,1,1.5,2,3,4];function Di(){return F(Oi)}function Oi(e){return e.playback.recording}function ki(){return F(Ai)}function Ai(e){return e.playback.status===`playing`}function U(){return F(ji)}function ji(e){return e.playback.timeMs/1e3}function Mi(){return F(Ni)}function Ni(e){return e.playback.durationMs/1e3}function Pi(){return F(Fi)}function Fi(e){return e.playback.rate}function Ii(){let e=(0,V.c)(17),t=Di(),n=F(Bi),r=F(zi),i=F(Ri),a=F(Li),o;e[0]===n?o=e[1]:(o=e=>{n(e)},e[0]=n,e[1]=o);let s=o,c;e[2]!==t||e[3]!==r?(c=()=>{t&&r(`playing`)},e[2]=t,e[3]=r,e[4]=c):c=e[4];let l=c,u;e[5]===r?u=e[6]:(u=()=>{r(`paused`)},e[5]=r,e[6]=u);let d=u,f;e[7]===i?f=e[8]:(f=e=>{i(e*1e3)},e[7]=i,e[8]=f);let p=f,m;e[9]===a?m=e[10]:(m=e=>{a(e)},e[9]=a,e[10]=m);let h=m,g;return e[11]!==d||e[12]!==l||e[13]!==p||e[14]!==s||e[15]!==h?(g={setRecording:s,play:l,pause:d,seek:p,setSpeed:h},e[11]=d,e[12]=l,e[13]=p,e[14]=s,e[15]=h,e[16]=g):g=e[16],g}function Li(e){return e.setPlaybackRate}function Ri(e){return e.setPlaybackTime}function zi(e){return e.setPlaybackStatus}function Bi(e){return e.setRecording}var Vi=I(`LoadDemoButton`);function Hi({isActive:e=!1,choosingMap:t=!1,onCancelChoosingMap:n}){let r=Di()?.source===`demo`,{setRecording:i}=Ii(),a=(0,B.useRef)(null),o=(0,B.useRef)(0),s=(0,B.useRef)(null),c=(0,B.useCallback)(()=>{if(R.getState().cancel(),t&&r){n?.();return}if(r){o.current+=1,s.current?.abort(),s.current=null,i(null),Ar.getState().reset();return}a.current?.click()},[r,t,n,i]);return(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(`input`,{ref:a,type:`file`,accept:`.rec`,style:{display:`none`},onChange:(0,B.useCallback)(async e=>{let t=e.target.files?.[0];if(t){e.target.value=``;try{let e=await t.arrayBuffer(),n=o.current+1;o.current=n;let{createDemoStreamingRecording:r}=await Vt(async()=>{let{createDemoStreamingRecording:e}=await import(`./demoStreaming-B6DJigkO.js`);return{createDemoStreamingRecording:e}},__vite__mapDeps([0,1,2,3,4,5])),a=await r(e);if(o.current!==n)return;Ci.getState().disconnectServer(),i(a),s.current?.abort();let c=new AbortController;s.current=c;let l=Ar.getState();l.reset(),l.setScanProgress(0),Vt(async()=>{let{scanDemoTimeline:e}=await import(`./demoTimelineScanner-9_uygULI.js`);return{scanDemoTimeline:e}},__vite__mapDeps([6,1,2,3,5])).then(({scanDemoTimeline:t})=>t(e,a.recorderName,e=>{o.current===n&&Ar.getState().setScanProgress(e)},c.signal)).then(e=>{if(o.current!==n)return;let t=Ar.getState();t.setEvents(e),t.setScanProgress(null)}).catch(e=>{o.current===n&&(e instanceof Error&&e.name===`AbortError`||(Vi.error(`Timeline scan failed: %o`,e),Ar.getState().setScanProgress(null)))})}catch(e){Vi.error(`Failed to load demo: %o`,e)}}},[i])}),(0,H.jsxs)(`button`,{type:`button`,className:wr.Button,"aria-label":r?`Unload demo`:`Load demo (.rec)`,title:r?`Unload demo`:`Load demo (.rec)`,onClick:c,"data-active":e,children:[(0,H.jsx)(Or,{className:wr.DemoIcon}),(0,H.jsx)(`span`,{className:wr.ButtonLabel,children:`Demo`}),(0,H.jsx)(`span`,{className:wr.ButtonHint,children:t&&r?`Return to demo`:r?`Click to unload`:`Load a .rec file`})]})]})}function Ui(e){return C({tag:`svg`,attr:{fill:`currentColor`,viewBox:`0 0 16 16`},child:[{tag:`path`,attr:{d:`M11.251.068a.5.5 0 0 1 .227.58L9.677 6.5H13a.5.5 0 0 1 .364.843l-8 8.5a.5.5 0 0 1-.842-.49L6.323 9.5H3a.5.5 0 0 1-.364-.843l8-8.5a.5.5 0 0 1 .615-.09z`},child:[]}]})(e)}function Wi(e){return C({tag:`svg`,attr:{fill:`currentColor`,viewBox:`0 0 16 16`},child:[{tag:`path`,attr:{d:`m11.596 8.697-6.363 3.692c-.54.313-1.233-.066-1.233-.697V4.308c0-.63.692-1.01 1.233-.696l6.363 3.692a.802.802 0 0 1 0 1.393`},child:[]}]})(e)}var Gi={JoinServerButton:`_JoinServerButton_cz8os_1 _Button_p0g82_2`,Icon:`_Icon_cz8os_5 _Icon_p0g82_85`,blink:`_blink_cz8os_1`};function Ki(e){let t=(0,V.c)(15),{isActive:n,onOpenServerBrowser:r}=e,i=wi(Ji),a=wi(qi),o=i===`connected`,s=i===`connecting`||i===`challenging`||i===`authenticating`,c=o?`Connected –\xA0click to disconnect`:`Join server`,l=o?`Connected –\xA0click to disconnect`:`Join server`,u;t[0]!==a||t[1]!==o||t[2]!==r?(u=()=>{R.getState().cancel(),o?a():r()},t[0]=a,t[1]=o,t[2]=r,t[3]=u):u=t[3];let d,f;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,H.jsx)(Ui,{className:Gi.Icon}),f=(0,H.jsx)(`span`,{className:wr.ButtonLabel,children:`Live`}),t[4]=d,t[5]=f):(d=t[4],f=t[5]);let p=s?`Connecting…`:o?`Connected`:`Join a game`,m;t[6]===p?m=t[7]:(m=(0,H.jsxs)(H.Fragment,{children:[f,(0,H.jsx)(`span`,{className:wr.ButtonHint,children:p})]}),t[6]=p,t[7]=m);let h;return t[8]!==n||t[9]!==o||t[10]!==c||t[11]!==l||t[12]!==u||t[13]!==m?(h=(0,H.jsxs)(`button`,{type:`button`,className:Gi.JoinServerButton,"aria-label":c,title:l,"data-connected":o,onClick:u,"data-active":n,children:[d,m]}),t[8]=n,t[9]=o,t[10]=c,t[11]=l,t[12]=u,t[13]=m,t[14]=h):h=t[14],h}function qi(e){return e.disconnectServer}function Ji(e){return e.gameStatus}function Yi(e,t=[]){let n=[];function r(t,r){let i=B.createContext(r),a=n.length;n=[...n,r];let o=t=>{let{scope:n,children:r,...o}=t,s=n?.[e]?.[a]||i,c=B.useMemo(()=>o,Object.values(o));return(0,H.jsx)(s.Provider,{value:c,children:r})};o.displayName=t+`Provider`;function s(n,o){let s=o?.[e]?.[a]||i,c=B.useContext(s);if(c)return c;if(r!==void 0)return r;throw Error(`\`${n}\` must be used within \`${t}\``)}return[o,s]}let i=()=>{let t=n.map(e=>B.createContext(e));return function(n){let r=n?.[e]||t;return B.useMemo(()=>({[`__scope${e}`]:{...n,[e]:r}}),[n,r])}};return i.scopeName=e,[r,Xi(i,...t)]}function Xi(...e){let t=e[0];if(e.length===1)return t;let n=()=>{let n=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){let r=n.reduce((t,{useScope:n,scopeName:r})=>{let i=n(e)[`__scope${r}`];return{...t,...i}},{});return B.useMemo(()=>({[`__scope${t.scopeName}`]:r}),[r])}};return n.scopeName=t.scopeName,n}function Zi(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}function Qi(...e){return t=>{let n=!1,r=e.map(e=>{let r=Zi(e,t);return!n&&typeof r==`function`&&(n=!0),r});if(n)return()=>{for(let t=0;t{let{children:r,...i}=e,a=B.Children.toArray(r),o=a.find(ra);if(o){let e=o.props.children,r=a.map(t=>t===o?B.Children.count(e)>1?B.Children.only(null):B.isValidElement(e)?e.props.children:null:t);return(0,H.jsx)(t,{...i,ref:n,children:B.isValidElement(e)?B.cloneElement(e,void 0,r):null})}return(0,H.jsx)(t,{...i,ref:n,children:r})});return n.displayName=`${e}.Slot`,n}function ta(e){let t=B.forwardRef((e,t)=>{let{children:n,...r}=e;if(B.isValidElement(n)){let e=aa(n),i=ia(r,n.props);return n.type!==B.Fragment&&(i.ref=t?Qi(t,e):e),B.cloneElement(n,i)}return B.Children.count(n)>1?B.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var na=Symbol(`radix.slottable`);function ra(e){return B.isValidElement(e)&&typeof e.type==`function`&&`__radixId`in e.type&&e.type.__radixId===na}function ia(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{let t=a(...e);return i(...e),t}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}function aa(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}function oa(e){let t=e+`CollectionProvider`,[n,r]=Yi(t),[i,a]=n(t,{collectionRef:{current:null},itemMap:new Map}),o=e=>{let{scope:t,children:n}=e,r=B.useRef(null),a=B.useRef(new Map).current;return(0,H.jsx)(i,{scope:t,itemMap:a,collectionRef:r,children:n})};o.displayName=t;let s=e+`CollectionSlot`,c=ea(s),l=B.forwardRef((e,t)=>{let{scope:n,children:r}=e;return(0,H.jsx)(c,{ref:$i(t,a(s,n).collectionRef),children:r})});l.displayName=s;let u=e+`CollectionItemSlot`,d=`data-radix-collection-item`,f=ea(u),p=B.forwardRef((e,t)=>{let{scope:n,children:r,...i}=e,o=B.useRef(null),s=$i(t,o),c=a(u,n);return B.useEffect(()=>(c.itemMap.set(o,{ref:o,...i}),()=>void c.itemMap.delete(o))),(0,H.jsx)(f,{[d]:``,ref:s,children:r})});p.displayName=u;function m(t){let n=a(e+`CollectionConsumer`,t);return B.useCallback(()=>{let e=n.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${d}]`));return Array.from(n.itemMap.values()).sort((e,n)=>t.indexOf(e.ref.current)-t.indexOf(n.ref.current))},[n.collectionRef,n.itemMap])}return[{Provider:o,Slot:l,ItemSlot:p},m,r]}typeof window<`u`&&window.document&&window.document.createElement;function sa(e,t,{checkForDefaultPrevented:n=!0}={}){return function(r){if(e?.(r),n===!1||!r.defaultPrevented)return t?.(r)}}var ca=globalThis?.document?B.useLayoutEffect:()=>{},la=B.useInsertionEffect||ca;function ua({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){let[i,a,o]=da({defaultProp:t,onChange:n}),s=e!==void 0,c=s?e:i;{let t=B.useRef(e!==void 0);B.useEffect(()=>{let e=t.current;e!==s&&console.warn(`${r} is changing from ${e?`controlled`:`uncontrolled`} to ${s?`controlled`:`uncontrolled`}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),t.current=s},[s,r])}return[c,B.useCallback(t=>{if(s){let n=fa(t)?t(e):t;n!==e&&o.current?.(n)}else a(t)},[s,e,a,o])]}function da({defaultProp:e,onChange:t}){let[n,r]=B.useState(e),i=B.useRef(n),a=B.useRef(t);return la(()=>{a.current=t},[t]),B.useEffect(()=>{i.current!==n&&(a.current?.(n),i.current=n)},[n,i]),[n,r,a]}function fa(e){return typeof e==`function`}var pa=e(Wt(),1),ma=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=ea(`Primitive.${t}`),r=B.forwardRef((e,r)=>{let{asChild:i,...a}=e,o=i?n:t;return typeof window<`u`&&(window[Symbol.for(`radix-ui`)]=!0),(0,H.jsx)(o,{...a,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function ha(e,t){return B.useReducer((e,n)=>t[e][n]??e,e)}var ga=e=>{let{present:t,children:n}=e,r=_a(t),i=typeof n==`function`?n({present:r.isPresent}):B.Children.only(n),a=$i(r.ref,ya(i));return typeof n==`function`||r.isPresent?B.cloneElement(i,{ref:a}):null};ga.displayName=`Presence`;function _a(e){let[t,n]=B.useState(),r=B.useRef(null),i=B.useRef(e),a=B.useRef(`none`),[o,s]=ha(e?`mounted`:`unmounted`,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}});return B.useEffect(()=>{let e=va(r.current);a.current=o===`mounted`?e:`none`},[o]),ca(()=>{let t=r.current,n=i.current;if(n!==e){let r=a.current,o=va(t);e?s(`MOUNT`):o===`none`||t?.display===`none`?s(`UNMOUNT`):s(n&&r!==o?`ANIMATION_OUT`:`UNMOUNT`),i.current=e}},[e,s]),ca(()=>{if(t){let e,n=t.ownerDocument.defaultView??window,o=a=>{let o=va(r.current).includes(CSS.escape(a.animationName));if(a.target===t&&o&&(s(`ANIMATION_END`),!i.current)){let r=t.style.animationFillMode;t.style.animationFillMode=`forwards`,e=n.setTimeout(()=>{t.style.animationFillMode===`forwards`&&(t.style.animationFillMode=r)})}},c=e=>{e.target===t&&(a.current=va(r.current))};return t.addEventListener(`animationstart`,c),t.addEventListener(`animationcancel`,o),t.addEventListener(`animationend`,o),()=>{n.clearTimeout(e),t.removeEventListener(`animationstart`,c),t.removeEventListener(`animationcancel`,o),t.removeEventListener(`animationend`,o)}}else s(`ANIMATION_END`)},[t,s]),{isPresent:[`mounted`,`unmountSuspended`].includes(o),ref:B.useCallback(e=>{r.current=e?getComputedStyle(e):null,n(e)},[])}}function va(e){return e?.animationName||`none`}function ya(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var ba=B.useId||(()=>void 0),xa=0;function Sa(e){let[t,n]=B.useState(ba());return ca(()=>{e||n(e=>e??String(xa++))},[e]),e||(t?`radix-${t}`:``)}var Ca=`Collapsible`,[wa,Ta]=Yi(Ca),[Ea,Da]=wa(Ca),Oa=B.forwardRef((e,t)=>{let{__scopeCollapsible:n,open:r,defaultOpen:i,disabled:a,onOpenChange:o,...s}=e,[c,l]=ua({prop:r,defaultProp:i??!1,onChange:o,caller:Ca});return(0,H.jsx)(Ea,{scope:n,disabled:a,contentId:Sa(),open:c,onOpenToggle:B.useCallback(()=>l(e=>!e),[l]),children:(0,H.jsx)(ma.div,{"data-state":Pa(c),"data-disabled":a?``:void 0,...s,ref:t})})});Oa.displayName=Ca;var ka=`CollapsibleTrigger`,Aa=B.forwardRef((e,t)=>{let{__scopeCollapsible:n,...r}=e,i=Da(ka,n);return(0,H.jsx)(ma.button,{type:`button`,"aria-controls":i.contentId,"aria-expanded":i.open||!1,"data-state":Pa(i.open),"data-disabled":i.disabled?``:void 0,disabled:i.disabled,...r,ref:t,onClick:sa(e.onClick,i.onOpenToggle)})});Aa.displayName=ka;var ja=`CollapsibleContent`,Ma=B.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=Da(ja,e.__scopeCollapsible);return(0,H.jsx)(ga,{present:n||i.open,children:({present:e})=>(0,H.jsx)(Na,{...r,ref:t,present:e})})});Ma.displayName=ja;var Na=B.forwardRef((e,t)=>{let{__scopeCollapsible:n,present:r,children:i,...a}=e,o=Da(ja,n),[s,c]=B.useState(r),l=B.useRef(null),u=$i(t,l),d=B.useRef(0),f=d.current,p=B.useRef(0),m=p.current,h=o.open||s,g=B.useRef(h),_=B.useRef(void 0);return B.useEffect(()=>{let e=requestAnimationFrame(()=>g.current=!1);return()=>cancelAnimationFrame(e)},[]),ca(()=>{let e=l.current;if(e){_.current=_.current||{transitionDuration:e.style.transitionDuration,animationName:e.style.animationName},e.style.transitionDuration=`0s`,e.style.animationName=`none`;let t=e.getBoundingClientRect();d.current=t.height,p.current=t.width,g.current||(e.style.transitionDuration=_.current.transitionDuration,e.style.animationName=_.current.animationName),c(r)}},[o.open,r]),(0,H.jsx)(ma.div,{"data-state":Pa(o.open),"data-disabled":o.disabled?``:void 0,id:o.contentId,hidden:!h,...a,ref:u,style:{"--radix-collapsible-content-height":f?`${f}px`:void 0,"--radix-collapsible-content-width":m?`${m}px`:void 0,...e.style},children:h&&i})});function Pa(e){return e?`open`:`closed`}var Fa=Oa,Ia=Aa,La=Ma,Ra=B.createContext(void 0);function za(e){let t=B.useContext(Ra);return e||t||`ltr`}var Ba=`Accordion`,Va=[`Home`,`End`,`ArrowDown`,`ArrowUp`,`ArrowLeft`,`ArrowRight`],[Ha,Ua,Wa]=oa(Ba),[Ga,Ka]=Yi(Ba,[Wa,Ta]),qa=Ta(),Ja=B.forwardRef((e,t)=>{let{type:n,...r}=e,i=r,a=r;return(0,H.jsx)(Ha.Provider,{scope:e.__scopeAccordion,children:n===`multiple`?(0,H.jsx)(eo,{...a,ref:t}):(0,H.jsx)($a,{...i,ref:t})})});Ja.displayName=Ba;var[Ya,Xa]=Ga(Ba),[Za,Qa]=Ga(Ba,{collapsible:!1}),$a=B.forwardRef((e,t)=>{let{value:n,defaultValue:r,onValueChange:i=()=>{},collapsible:a=!1,...o}=e,[s,c]=ua({prop:n,defaultProp:r??``,onChange:i,caller:Ba});return(0,H.jsx)(Ya,{scope:e.__scopeAccordion,value:B.useMemo(()=>s?[s]:[],[s]),onItemOpen:c,onItemClose:B.useCallback(()=>a&&c(``),[a,c]),children:(0,H.jsx)(Za,{scope:e.__scopeAccordion,collapsible:a,children:(0,H.jsx)(ro,{...o,ref:t})})})}),eo=B.forwardRef((e,t)=>{let{value:n,defaultValue:r,onValueChange:i=()=>{},...a}=e,[o,s]=ua({prop:n,defaultProp:r??[],onChange:i,caller:Ba}),c=B.useCallback(e=>s((t=[])=>[...t,e]),[s]),l=B.useCallback(e=>s((t=[])=>t.filter(t=>t!==e)),[s]);return(0,H.jsx)(Ya,{scope:e.__scopeAccordion,value:o,onItemOpen:c,onItemClose:l,children:(0,H.jsx)(Za,{scope:e.__scopeAccordion,collapsible:!0,children:(0,H.jsx)(ro,{...a,ref:t})})})}),[to,no]=Ga(Ba),ro=B.forwardRef((e,t)=>{let{__scopeAccordion:n,disabled:r,dir:i,orientation:a=`vertical`,...o}=e,s=$i(B.useRef(null),t),c=Ua(n),l=za(i)===`ltr`,u=sa(e.onKeyDown,e=>{if(!Va.includes(e.key))return;let t=e.target,n=c().filter(e=>!e.ref.current?.disabled),r=n.findIndex(e=>e.ref.current===t),i=n.length;if(r===-1)return;e.preventDefault();let o=r,s=i-1,u=()=>{o=r+1,o>s&&(o=0)},d=()=>{o=r-1,o<0&&(o=s)};switch(e.key){case`Home`:o=0;break;case`End`:o=s;break;case`ArrowRight`:a===`horizontal`&&(l?u():d());break;case`ArrowDown`:a===`vertical`&&u();break;case`ArrowLeft`:a===`horizontal`&&(l?d():u());break;case`ArrowUp`:a===`vertical`&&d();break}n[o%i].ref.current?.focus()});return(0,H.jsx)(to,{scope:n,disabled:r,direction:i,orientation:a,children:(0,H.jsx)(Ha.Slot,{scope:n,children:(0,H.jsx)(ma.div,{...o,"data-orientation":a,ref:s,onKeyDown:r?void 0:u})})})}),io=`AccordionItem`,[ao,oo]=Ga(io),so=B.forwardRef((e,t)=>{let{__scopeAccordion:n,value:r,...i}=e,a=no(io,n),o=Xa(io,n),s=qa(n),c=Sa(),l=r&&o.value.includes(r)||!1,u=a.disabled||e.disabled;return(0,H.jsx)(ao,{scope:n,open:l,disabled:u,triggerId:c,children:(0,H.jsx)(Fa,{"data-orientation":a.orientation,"data-state":mo(l),...s,...i,ref:t,disabled:u,open:l,onOpenChange:e=>{e?o.onItemOpen(r):o.onItemClose(r)}})})});so.displayName=io;var co=`AccordionHeader`,W=B.forwardRef((e,t)=>{let{__scopeAccordion:n,...r}=e,i=no(Ba,n),a=oo(co,n);return(0,H.jsx)(ma.h3,{"data-orientation":i.orientation,"data-state":mo(a.open),"data-disabled":a.disabled?``:void 0,...r,ref:t})});W.displayName=co;var lo=`AccordionTrigger`,uo=B.forwardRef((e,t)=>{let{__scopeAccordion:n,...r}=e,i=no(Ba,n),a=oo(lo,n),o=Qa(lo,n),s=qa(n);return(0,H.jsx)(Ha.ItemSlot,{scope:n,children:(0,H.jsx)(Ia,{"aria-disabled":a.open&&!o.collapsible||void 0,"data-orientation":i.orientation,id:a.triggerId,...s,...r,ref:t})})});uo.displayName=lo;var fo=`AccordionContent`,po=B.forwardRef((e,t)=>{let{__scopeAccordion:n,...r}=e,i=no(Ba,n),a=oo(fo,n),o=qa(n);return(0,H.jsx)(La,{role:`region`,"aria-labelledby":a.triggerId,"data-orientation":i.orientation,...o,...r,ref:t,style:{"--radix-accordion-content-height":`var(--radix-collapsible-content-height)`,"--radix-accordion-content-width":`var(--radix-collapsible-content-width)`,...e.style}})});po.displayName=fo;function mo(e){return e?`open`:`closed`}var ho=Ja,go=so,_o=uo,vo=po;function yo(e){return C({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M256 16C141.31 16 48 109.31 48 224v154.83l82 32.81L146.88 496H192v-64h32v64h16v-64h32v64h16v-64h32v64h45.12L382 411.64l82-32.81V224c0-114.69-93.31-208-208-208zm-88 320a56 56 0 1 1 56-56 56.06 56.06 0 0 1-56 56zm51.51 64L244 320h24l24.49 80zM344 336a56 56 0 1 1 56-56 56.06 56.06 0 0 1-56 56zm104 32z`},child:[]}]})(e)}function bo(e){return C({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`m190.06 414 163.12-139.78a24 24 0 0 0 0-36.44L190.06 98c-15.57-13.34-39.62-2.28-39.62 18.22v279.6c0 20.5 24.05 31.56 39.62 18.18z`},child:[]}]})(e)}var xo={AccordionGroup:`_AccordionGroup_b0qoe_1`,Trigger:`_Trigger_b0qoe_7`,TriggerIcon:`_TriggerIcon_b0qoe_24`,Content:`_Content_b0qoe_35`,slideDown:`_slideDown_b0qoe_1`,slideUp:`_slideUp_b0qoe_1`,Body:`_Body_b0qoe_47`,BodyNoPadding:`_BodyNoPadding_b0qoe_51`};function So(e){let t=(0,V.c)(2),n;return t[0]===e?n=t[1]:(n=(0,H.jsx)(ho,{className:xo.AccordionGroup,...e}),t[0]=e,t[1]=n),n}function Co(e){let t=(0,V.c)(10),{value:n,label:r,children:i,noPadding:a}=e,o=a===void 0?!1:a,s;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,H.jsx)(bo,{className:xo.TriggerIcon}),t[0]=s):s=t[0];let c;t[1]===r?c=t[2]:(c=(0,H.jsxs)(_o,{className:xo.Trigger,children:[s,` `,r]}),t[1]=r,t[2]=c);let l=o?xo.BodyNoPadding:xo.Body,u;t[3]!==i||t[4]!==l?(u=(0,H.jsx)(vo,{className:xo.Content,children:(0,H.jsx)(`div`,{className:l,children:i})}),t[3]=i,t[4]=l,t[5]=u):u=t[5];let d;return t[6]!==c||t[7]!==u||t[8]!==n?(d=(0,H.jsxs)(go,{value:n,children:[c,u]}),t[6]=c,t[7]=u,t[8]=n,t[9]=d):d=t[9],d}function wo(e){return C({tag:`svg`,attr:{viewBox:`0 0 256 256`,fill:`currentColor`},child:[{tag:`path`,attr:{d:`M144,16H112A64.07,64.07,0,0,0,48,80v96a64.07,64.07,0,0,0,64,64h32a64.07,64.07,0,0,0,64-64V80A64.07,64.07,0,0,0,144,16Zm48,160a48.05,48.05,0,0,1-48,48H112a48.05,48.05,0,0,1-48-48V80a48.05,48.05,0,0,1,48-48h32a48.05,48.05,0,0,1,48,48ZM136,83.31v89.38l10.34-10.35a8,8,0,0,1,11.32,11.32l-24,24a8,8,0,0,1-11.32,0l-24-24a8,8,0,0,1,11.32-11.32L120,172.69V83.31L109.66,93.66A8,8,0,0,1,98.34,82.34l24-24a8,8,0,0,1,11.32,0l24,24a8,8,0,0,1-11.32,11.32Z`},child:[]}]})(e)}function To(e){return C({tag:`svg`,attr:{viewBox:`0 0 256 256`,fill:`currentColor`},child:[{tag:`path`,attr:{d:`M144,16H112A64.07,64.07,0,0,0,48,80v96a64.07,64.07,0,0,0,64,64h32a64.07,64.07,0,0,0,64-64V80A64.07,64.07,0,0,0,144,16Zm48,64v24H128V32h16A48.05,48.05,0,0,1,192,80ZM144,224H112a48.05,48.05,0,0,1-48-48V120H192v56A48.05,48.05,0,0,1,144,224Z`},child:[]}]})(e)}function Eo(e){return C({tag:`svg`,attr:{viewBox:`0 0 256 256`,fill:`currentColor`},child:[{tag:`path`,attr:{d:`M239.22,59.44l-45.63,95.82a3.54,3.54,0,0,1-.16.34l-34.21,71.84a8,8,0,1,1-14.44-6.88L173.62,160H40a8,8,0,0,1-5.66-13.66L76.69,104,34.34,61.66A8,8,0,0,1,40,48H232a8,8,0,0,1,7.22,11.44Z`},child:[]}]})(e)}function Do(e){return C({tag:`svg`,attr:{viewBox:`0 0 1024 1024`},child:[{tag:`path`,attr:{d:`M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm234.8 736.5L223.5 277.2c16-19.7 34-37.7 53.7-53.7l523.3 523.3c-16 19.6-34 37.7-53.7 53.7z`},child:[]}]})(e)}function Oo(e){return C({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`path`,attr:{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`},child:[]},{tag:`circle`,attr:{cx:`9`,cy:`7`,r:`4`},child:[]},{tag:`path`,attr:{d:`M22 21v-2a4 4 0 0 0-3-3.87`},child:[]},{tag:`path`,attr:{d:`M16 3.13a4 4 0 0 1 0 7.75`},child:[]}]})(e)}function ko(e){return C({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`rect`,attr:{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`},child:[]},{tag:`path`,attr:{d:`M3 9h18`},child:[]},{tag:`path`,attr:{d:`m15 14-3 3-3-3`},child:[]}]})(e)}function Ao(e){return C({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`rect`,attr:{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`},child:[]},{tag:`path`,attr:{d:`M3 9h18`},child:[]},{tag:`path`,attr:{d:`m9 16 3-3 3 3`},child:[]}]})(e)}function jo(e){return C({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`rect`,attr:{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`},child:[]},{tag:`path`,attr:{d:`M9 3v18`},child:[]},{tag:`path`,attr:{d:`m14 9 3 3-3 3`},child:[]}]})(e)}function Mo(e){return C({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`rect`,attr:{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`},child:[]},{tag:`path`,attr:{d:`M9 3v18`},child:[]},{tag:`path`,attr:{d:`m16 15-3-3 3-3`},child:[]}]})(e)}function No(e){return C({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`circle`,attr:{cx:`12`,cy:`12`,r:`10`},child:[]},{tag:`line`,attr:{x1:`22`,x2:`18`,y1:`12`,y2:`12`},child:[]},{tag:`line`,attr:{x1:`6`,x2:`2`,y1:`12`,y2:`12`},child:[]},{tag:`line`,attr:{x1:`12`,x2:`12`,y1:`6`,y2:`2`},child:[]},{tag:`line`,attr:{x1:`12`,x2:`12`,y1:`22`,y2:`18`},child:[]}]})(e)}function Po(e){return C({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`rect`,attr:{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`},child:[]},{tag:`path`,attr:{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`},child:[]},{tag:`path`,attr:{d:`M12 11h4`},child:[]},{tag:`path`,attr:{d:`M12 16h4`},child:[]},{tag:`path`,attr:{d:`M8 11h.01`},child:[]},{tag:`path`,attr:{d:`M8 16h.01`},child:[]}]})(e)}function Fo(e){return C({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`path`,attr:{d:`M2 8V2h6`},child:[]},{tag:`path`,attr:{d:`m2 2 10 10`},child:[]},{tag:`path`,attr:{d:`M12 2A10 10 0 1 1 2 12`},child:[]}]})(e)}var Io={Root:`_Root_cfjcw_1`,ProgressWrap:`_ProgressWrap_cfjcw_6`,ProgressLabel:`_ProgressLabel_cfjcw_13`,ProgressBar:`_ProgressBar_cfjcw_19`,ProgressFill:`_ProgressFill_cfjcw_27`,Filters:`_Filters_cfjcw_33`,FilterButton:`_FilterButton_cfjcw_40`,EventList:`_EventList_cfjcw_57`,EventRow:`_EventRow_cfjcw_63`,EventTime:`_EventTime_cfjcw_120`,EventIcon:`_EventIcon_cfjcw_129`,EventDescription:`_EventDescription_cfjcw_172`,Killer:`_Killer_cfjcw_177`,Victim:`_Victim_cfjcw_180`,DamageType:`_DamageType_cfjcw_183`,Empty:`_Empty_cfjcw_186`};function Lo(e){return`${Math.floor(e/60)}:${Math.floor(e%60).toString().padStart(2,`0`)}`}var Ro={kill:(0,H.jsx)(No,{}),death:(0,H.jsx)(yo,{}),"flag-grab":(0,H.jsx)(Eo,{}),"flag-return":(0,H.jsx)(Eo,{}),"flag-cap":(0,H.jsx)(Eo,{}),"match-start":(0,H.jsx)(Wi,{}),"match-end":(0,H.jsx)(Do,{})},zo={chaingun:`chaingunned`,plasma:`plasma rifled`};function Bo(e){if(e.type===`kill`&&e.killer&&e.victim)return(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(`span`,{className:Io.Killer,title:e.killer,children:`You`}),` `,(0,H.jsx)(`span`,{className:Io.DamageType,children:e.weapon?zo[e.weapon]??`${e.weapon}${e.weapon.endsWith(`e`)?`d`:`ed`}`:`killed`}),` `,(0,H.jsx)(`span`,{className:Io.Victim,children:e.victim})]});if(e.type===`death`)return e.killer?(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(`span`,{className:Io.Killer,children:e.killer}),` `,(0,H.jsx)(`span`,{className:Io.DamageType,children:e.weapon?zo[e.weapon]??`${e.weapon}${e.weapon.endsWith(`e`)?`d`:`ed`}`:`killed`}),` `,(0,H.jsx)(`span`,{className:Io.Victim,title:e.victim,children:`you`})]}):(0,H.jsx)(H.Fragment,{children:e.description});if(e.type===`flag-grab`)return(0,H.jsxs)(H.Fragment,{children:[`You grabbed `,e.flagTeamName?`the ${e.flagTeamName} flag`:`the enemy flag`]});if(e.type===`flag-return`)return(0,H.jsx)(H.Fragment,{children:`You returned your flag`});if(e.type===`flag-cap`&&e.capturer){let t=e.teamAffinity===`friendly`?`the enemy flag`:e.teamAffinity===`enemy`?`your flag`:e.flagTeamName?`the ${e.flagTeamName} flag`:`a flag`;return(0,H.jsxs)(H.Fragment,{children:[e.capturer,` captured `,t]})}return e.type===`match-start`?`Match started`:e.type===`match-end`?`Match ended`:e.description}function Vo(){let e=(0,V.c)(58),t=jr(Jo),n=jr(qo),{seek:r}=Ii(),[i,a]=(0,B.useState)(`all`),o,s;if(e[0]!==t||e[1]!==i||e[2]!==n||e[3]!==r){s=Symbol.for(`react.early_return_sentinel`);bb0:{let c=t?.filter(e=>i===`all`||e.type===i)??[],l;e[6]===r?l=e[7]:(l=e=>{r(Math.max(0,e-3)),document.activeElement instanceof HTMLElement&&document.activeElement.blur()},e[6]=r,e[7]=l);let u=l;if(n!=null&&t==null){let t;e[8]===n?t=e[9]:(t=Math.round(n*100),e[8]=n,e[9]=t);let r;e[10]===t?r=e[11]:(r=(0,H.jsxs)(`span`,{className:Io.ProgressLabel,children:[`Scanning… `,t,`%`]}),e[10]=t,e[11]=r);let i=`${n*100}%`,a;e[12]===i?a=e[13]:(a=(0,H.jsx)(`div`,{className:Io.ProgressBar,children:(0,H.jsx)(`div`,{className:Io.ProgressFill,style:{width:i}})}),e[12]=i,e[13]=a);let o;e[14]!==r||e[15]!==a?(o=(0,H.jsx)(`div`,{className:Io.Root,children:(0,H.jsxs)(`div`,{className:Io.ProgressWrap,children:[r,a]})}),e[14]=r,e[15]=a,e[16]=o):o=e[16],s=o;break bb0}if(!t){s=null;break bb0}let d;e[17]===t?d=e[18]:(d=t.filter(Ko),e[17]=t,e[18]=d);let f=d.length,p;e[19]===t?p=e[20]:(p=t.filter(Go),e[19]=t,e[20]=p);let m=p.length,h;e[21]===t?h=e[22]:(h=t.filter(Wo),e[21]=t,e[22]=h);let g=h.length,_;e[23]===t?_=e[24]:(_=t.filter(Uo),e[23]=t,e[24]=_);let v=_.length,y;e[25]===t?y=e[26]:(y=t.filter(Ho),e[25]=t,e[26]=y);let b=y.length,x=i===`all`,S;e[27]===Symbol.for(`react.memo_cache_sentinel`)?(S=()=>a(`all`),e[27]=S):S=e[27];let C;e[28]!==t.length||e[29]!==x?(C=(0,H.jsxs)(`button`,{type:`button`,className:Io.FilterButton,"data-active":x,onClick:S,children:[`All (`,t.length,`)`]}),e[28]=t.length,e[29]=x,e[30]=C):C=e[30];let w=i===`kill`,T;e[31]===Symbol.for(`react.memo_cache_sentinel`)?(T=()=>a(`kill`),e[31]=T):T=e[31];let E;e[32]!==f||e[33]!==w?(E=(0,H.jsxs)(`button`,{type:`button`,className:Io.FilterButton,"data-active":w,onClick:T,children:[`Kills (`,f,`)`]}),e[32]=f,e[33]=w,e[34]=E):E=e[34];let D=i===`death`,O;e[35]===Symbol.for(`react.memo_cache_sentinel`)?(O=()=>a(`death`),e[35]=O):O=e[35];let k;e[36]!==m||e[37]!==D?(k=(0,H.jsxs)(`button`,{type:`button`,className:Io.FilterButton,"data-active":D,onClick:O,children:[`Deaths (`,m,`)`]}),e[36]=m,e[37]=D,e[38]=k):k=e[38];let A=i===`flag-grab`,j;e[39]===Symbol.for(`react.memo_cache_sentinel`)?(j=()=>a(`flag-grab`),e[39]=j):j=e[39];let M;e[40]!==g||e[41]!==A?(M=(0,H.jsxs)(`button`,{type:`button`,className:Io.FilterButton,"data-active":A,onClick:j,children:[`Grabs (`,g,`)`]}),e[40]=g,e[41]=A,e[42]=M):M=e[42];let ee=i===`flag-return`,te;e[43]===Symbol.for(`react.memo_cache_sentinel`)?(te=()=>a(`flag-return`),e[43]=te):te=e[43];let N;e[44]!==v||e[45]!==ee?(N=(0,H.jsxs)(`button`,{type:`button`,className:Io.FilterButton,"data-active":ee,onClick:te,children:[`Returns (`,v,`)`]}),e[44]=v,e[45]=ee,e[46]=N):N=e[46];let P=i===`flag-cap`,ne;e[47]===Symbol.for(`react.memo_cache_sentinel`)?(ne=()=>a(`flag-cap`),e[47]=ne):ne=e[47];let F;e[48]!==b||e[49]!==P?(F=(0,H.jsxs)(`button`,{type:`button`,className:Io.FilterButton,"data-active":P,onClick:ne,children:[`Caps (`,b,`)`]}),e[48]=b,e[49]=P,e[50]=F):F=e[50];let re;e[51]!==C||e[52]!==E||e[53]!==k||e[54]!==M||e[55]!==N||e[56]!==F?(re=(0,H.jsxs)(`div`,{className:Io.Filters,children:[C,E,k,M,N,F]}),e[51]=C,e[52]=E,e[53]=k,e[54]=M,e[55]=N,e[56]=F,e[57]=re):re=e[57],o=(0,H.jsxs)(`div`,{className:Io.Root,children:[re,c.length===0?(0,H.jsx)(`div`,{className:Io.Empty,children:`No events found.`}):(0,H.jsx)(`div`,{className:Io.EventList,children:c.map((e,t)=>(0,H.jsxs)(`button`,{type:`button`,className:Io.EventRow,onClick:()=>u(e.timeSec),children:[(0,H.jsx)(`span`,{className:Io.EventTime,children:Lo(e.timeSec)}),(0,H.jsx)(`span`,{className:Io.EventIcon,"data-type":e.type,"data-affinity":e.teamAffinity,children:Ro[e.type]}),(0,H.jsx)(`span`,{className:Io.EventDescription,children:Bo(e)})]},`${e.timeSec}-${e.type}-${t}`))})]})}e[0]=t,e[1]=i,e[2]=n,e[3]=r,e[4]=o,e[5]=s}else o=e[4],s=e[5];return s===Symbol.for(`react.early_return_sentinel`)?o:s}function Ho(e){return e.type===`flag-cap`}function Uo(e){return e.type===`flag-return`}function Wo(e){return e.type===`flag-grab`}function Go(e){return e.type===`death`}function Ko(e){return e.type===`kill`}function qo(e){return e.scanProgress}function Jo(e){return e.events}var Yo=new Map([[`flag`,`Flags`],[`huntersflag1`,`Flags`],[`huntersflag2`,`Flags`],[`huntersflag4`,`Flags`],[`huntersflag8`,`Flags`],[`stationinventory`,`Inventory Stations`],[`stationammo`,`Inventory Stations`],[`mobileinvstation`,`Inventory Stations`],[`stationvehiclepad`,`Vehicle Pads`],[`stationvehicle`,`Vehicle Pads`],[`generatorlarge`,`Generators`],[`solarpanel`,`Generators`],[`sensorlargepulse`,`Sensors`],[`sensormediumpulse`,`Sensors`],[`turretbaselarge`,`Turrets`],[`sentryturret`,`Turrets`],[`repairpatch`,`Health`],[`repairkit`,`Health`],[`ammopack`,`Packs`],[`energypack`,`Packs`],[`shieldpack`,`Packs`],[`repairpack`,`Packs`],[`cloakingpack`,`Packs`],[`sensorjammerpack`,`Packs`],[`aabarrelpack`,`Packs`],[`elfbarrelpack`,`Packs`],[`missilebarrelpack`,`Packs`],[`mortarbarrelpack`,`Packs`],[`plasmabarrelpack`,`Packs`],[`inventorydeployable`,`Packs`],[`motionsensordeployable`,`Packs`],[`pulsesensordeployable`,`Packs`],[`turretoutdoordeployable`,`Packs`],[`turretindoordeployable`,`Packs`],[`satchelcharge`,`Weapons`],[`blaster`,`Weapons`],[`chaingun`,`Weapons`],[`disc`,`Weapons`],[`grenadelauncher`,`Weapons`],[`elfgun`,`Weapons`],[`missilelauncher`,`Weapons`],[`mortar`,`Weapons`],[`plasma`,`Weapons`],[`shocklance`,`Weapons`],[`sniperrifle`,`Weapons`],[`targetinglaser`,`Weapons`],[`chaingunammo`,`Ammo`],[`discammo`,`Ammo`],[`grenadelauncherammo`,`Ammo`],[`missilelauncherammo`,`Ammo`],[`mortarammo`,`Ammo`],[`plasmaammo`,`Ammo`],[`bombammo`,`Ammo`],[`assaultmortarammo`,`Ammo`],[`grenade`,`Ammo`],[`concussiongrenade`,`Ammo`],[`flashgrenade`,`Ammo`],[`flaregrenade`,`Ammo`],[`cameragrenade`,`Ammo`],[`mine`,`Ammo`],[`beacon`,`Ammo`],[`flipflop`,`Switches`],[`nexus`,`Nexus`],[`nexusbase`,`Nexus`],[`nexuscap`,`Nexus`]]),Xo=[`Flags`,`Inventory Stations`,`Generators`,`Vehicle Pads`,`Turrets`,`Sensors`,`Nexus`,`Switches`,`Packs`,`Health`,`Weapons`,`Ammo`];function Zo(e){return e.renderType===`Shape`&&typeof e.dataBlock==`string`&&e.dataBlock!==``&&Array.isArray(e.position)}function Qo(e,t){let n=new Map;for(let r of e.values()){if(!Zo(r))continue;let e=Yo.get(r.dataBlock.toLowerCase());if(!e)continue;let i=r.dataBlock;if(t&&r.runtimeObject){let e=ee(r.runtimeObject,t);e&&(i=e)}let a=n.get(e);a||(a=[],n.set(e,a)),a.push({entityId:r.id,label:i,position:r.position,teamId:r.teamId})}let r=[];for(let e of Xo){let t=n.get(e);t&&t.length>0&&(t.sort((e,t)=>{let n=(e.teamId??0)-(t.teamId??0);return n===0?e.label.localeCompare(t.label):n}),r.push({name:e,targets:t}))}return r}var $o={Root:`_Root_pb9qa_1`,Empty:`_Empty_pb9qa_6`,TourAllButton:`_TourAllButton_pb9qa_13`,CategoryHeader:`_CategoryHeader_pb9qa_40`,CategoryCount:`_CategoryCount_pb9qa_58`,TourButton:`_TourButton_pb9qa_63`,PlayIcon:`_PlayIcon_pb9qa_83`,ExitIcon:`_ExitIcon_pb9qa_87`,ItemList:`_ItemList_pb9qa_100`,ItemRow:`_ItemRow_pb9qa_106`,ItemLabel:`_ItemLabel_pb9qa_151`,TeamBadge:`_TeamBadge_pb9qa_156`};function es(e){return C({tag:`svg`,attr:{viewBox:`0 0 20 20`,fill:`currentColor`,"aria-hidden":`true`},child:[{tag:`path`,attr:{fillRule:`evenodd`,d:`M3 4.25A2.25 2.25 0 0 1 5.25 2h5.5A2.25 2.25 0 0 1 13 4.25v2a.75.75 0 0 1-1.5 0v-2a.75.75 0 0 0-.75-.75h-5.5a.75.75 0 0 0-.75.75v11.5c0 .414.336.75.75.75h5.5a.75.75 0 0 0 .75-.75v-2a.75.75 0 0 1 1.5 0v2A2.25 2.25 0 0 1 10.75 18h-5.5A2.25 2.25 0 0 1 3 15.75V4.25Z`,clipRule:`evenodd`},child:[]},{tag:`path`,attr:{fillRule:`evenodd`,d:`M19 10a.75.75 0 0 0-.75-.75H8.704l1.048-.943a.75.75 0 1 0-1.004-1.114l-2.5 2.25a.75.75 0 0 0 0 1.114l2.5 2.25a.75.75 0 1 0 1.004-1.114l-1.048-.943h9.546A.75.75 0 0 0 19 10Z`,clipRule:`evenodd`},child:[]}]})(e)}var ts=`__all__`;function ns(e){return e.animation?{targets:e.animation.targets,categoryName:e.animation.categoryName,currentIndex:e.animation.currentIndex}:null}function rs(e,t){return e===t?!0:!e||!t?!1:e.categoryName===t.categoryName&&e.currentIndex===t.currentIndex&&e.targets===t.targets}function is(){let e=(0,V.c)(28),t=Yr(),n=F(os),r;e[0]!==n||e[1]!==t?(r=Qo(t,n),e[0]=n,e[1]=t,e[2]=r):r=e[2];let i=r,a=L(ns,rs),o;if(e[3]!==i){o=new Map;for(let e=0;e{let n=e.teamId!=null&&e.teamId>0?e.teamId:1/0,r=t.teamId!=null&&t.teamId>0?t.teamId:1/0;if(n!==r)return n-r;let i=o.get(e)??0,a=o.get(t)??0;return i===a?e.label.localeCompare(t.label):i-a},e[8]=o,e[9]=t),s=i.flatMap(as).sort(t),e[5]=i,e[6]=o,e[7]=s}else s=e[7];let c=s;if(i.length===0){let t;return e[10]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,H.jsx)(`div`,{className:$o.Root,children:(0,H.jsx)(`p`,{className:$o.Empty,children:`No map features found`})}),e[10]=t):t=e[10],t}let l=a!==null&&a.categoryName===ts,u;e[11]!==c||e[12]!==l?(u=()=>{l?R.getState().cancel():R.getState().startTour(c,ts)},e[11]=c,e[12]=l,e[13]=u):u=e[13];let d=u,f;e[14]===l?f=e[15]:(f=l?(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(es,{className:$o.ExitIcon}),` Exit tour`]}):(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(Wi,{className:$o.PlayIcon}),` `,(0,H.jsx)(`span`,{className:$o.ButtonLabel,children:`Tour all features`})]}),e[14]=l,e[15]=f);let p;e[16]!==d||e[17]!==l||e[18]!==f?(p=(0,H.jsx)(`button`,{type:`button`,className:$o.TourAllButton,"data-active":l,onClick:d,children:f}),e[16]=d,e[17]=l,e[18]=f,e[19]=p):p=e[19];let m;if(e[20]!==i||e[21]!==a){let t;e[23]===a?t=e[24]:(t=e=>(0,H.jsx)(ss,{category:e,tourState:a},e.name),e[23]=a,e[24]=t),m=i.map(t),e[20]=i,e[21]=a,e[22]=m}else m=e[22];let h;return e[25]!==p||e[26]!==m?(h=(0,H.jsxs)(`div`,{className:$o.Root,children:[p,m]}),e[25]=p,e[26]=m,e[27]=h):h=e[27],h}function as(e){return e.targets}function os(e){return e.runtime.runtime?.state.datablocks}function ss(e){let t=(0,V.c)(30),{category:n,tourState:r}=e,i=r!==null&&r.categoryName===n.name,a;t[0]!==n.name||t[1]!==n.targets||t[2]!==i?(a=()=>{i?R.getState().cancel():R.getState().startTour(n.targets,n.name)},t[0]=n.name,t[1]=n.targets,t[2]=i,t[3]=a):a=t[3];let o=a,s;t[4]===n.name?s=t[5]:(s=(0,H.jsx)(`span`,{children:n.name}),t[4]=n.name,t[5]=s);let c;t[6]===n.targets.length?c=t[7]:(c=(0,H.jsxs)(`span`,{className:$o.CategoryCount,children:[`(`,n.targets.length,`)`]}),t[6]=n.targets.length,t[7]=c);let l;t[8]===i?l=t[9]:(l=i?(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(es,{className:$o.ExitIcon}),` Exit tour`]}):(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(Wi,{className:$o.PlayIcon}),` Tour all`]}),t[8]=i,t[9]=l);let u;t[10]!==o||t[11]!==i||t[12]!==l?(u=(0,H.jsx)(`button`,{type:`button`,className:$o.TourButton,"data-active":i,onClick:o,children:l}),t[10]=o,t[11]=i,t[12]=l,t[13]=u):u=t[13];let d;t[14]!==s||t[15]!==c||t[16]!==u?(d=(0,H.jsxs)(`div`,{className:$o.CategoryHeader,children:[s,c,u]}),t[14]=s,t[15]=c,t[16]=u,t[17]=d):d=t[17];let f;if(t[18]!==n.targets||t[19]!==i||t[20]!==r){let e;t[22]!==i||t[23]!==r?(e=(e,t)=>{let n=i&&r.currentIndex===t||r!==null&&r.targets[r.currentIndex]?.entityId===e.entityId;return(0,H.jsxs)(`button`,{type:`button`,className:$o.ItemRow,"data-active":n,onClick:()=>R.getState().flyTo(e),children:[(0,H.jsx)(Wi,{className:$o.PlayIcon}),` `,(0,H.jsx)(`span`,{className:$o.ItemLabel,children:e.label}),e.teamId!=null&&e.teamId>0&&(0,H.jsx)(`span`,{className:$o.TeamBadge,"data-team":e.teamId,children:te[e.teamId]??`Team ${e.teamId}`})]},e.entityId)},t[22]=i,t[23]=r,t[24]=e):e=t[24],f=n.targets.map(e),t[18]=n.targets,t[19]=i,t[20]=r,t[21]=f}else f=t[21];let p;t[25]===f?p=t[26]:(p=(0,H.jsx)(`div`,{className:$o.ItemList,children:f}),t[25]=f,t[26]=p);let m;return t[27]!==d||t[28]!==p?(m=(0,H.jsxs)(H.Fragment,{children:[d,p]}),t[27]=d,t[28]=p,t[29]=m):m=t[29],m}function cs(e){return C({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`currentColor`},child:[{tag:`path`,attr:{d:`M16 21L11.2381 12.2698L15 6L23 21H16ZM8 10L14 21H2L8 10ZM5.5 8C4.11929 8 3 6.88071 3 5.5C3 4.11929 4.11929 3 5.5 3C6.88071 3 8 4.11929 8 5.5C8 6.88071 6.88071 8 5.5 8Z`},child:[]}]})(e)}function ls(e){let t=(0,V.c)(6),{isActive:n,onClick:r}=e,i=n===void 0?!1:n,a,o,s;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,H.jsx)(cs,{}),o=(0,H.jsx)(`span`,{className:wr.ButtonLabel,children:`Explore`}),s=(0,H.jsx)(`span`,{className:wr.ButtonHint,children:`Browse maps`}),t[0]=a,t[1]=o,t[2]=s):(a=t[0],o=t[1],s=t[2]);let c;return t[3]!==i||t[4]!==r?(c=(0,H.jsxs)(`button`,{type:`button`,className:wr.Button,onClick:r,"data-active":i,children:[a,o,s]}),t[3]=i,t[4]=r,t[5]=c):c=t[5],c}function us(e){let t=(0,V.c)(7),{missionName:n,onClick:r}=e,i=ii(),a=oi(),o=i===`demo`||i===`live`?a:n,s;t[0]===o?s=t[1]:(s=o?E(o):!1,t[0]=o,t[1]=s);let c=!s,l,u;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,H.jsx)(Po,{}),u=(0,H.jsx)(`span`,{className:wr.ButtonLabel,children:`Show map info`}),t[2]=l,t[3]=u):(l=t[2],u=t[3]);let d;return t[4]!==r||t[5]!==c?(d=(0,H.jsxs)(`button`,{type:`button`,className:wr.Button,"aria-label":`Show map info`,onClick:r,disabled:c,children:[l,u]}),t[4]=r,t[5]=c,t[6]=d):d=t[6],d}function ds(e){let t=(0,V.c)(4),{onClick:n}=e,r,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,H.jsx)(Oo,{}),i=(0,H.jsx)(`span`,{className:wr.ButtonLabel,children:`Show scores`}),t[0]=r,t[1]=i):(r=t[0],i=t[1]);let a;return t[2]===n?a=t[3]:(a=(0,H.jsxs)(`button`,{type:`button`,className:wr.Button,"aria-label":`Show scores`,onClick:n,children:[r,i]}),t[2]=n,t[3]=a),a}var fs={Container:`_Container_1780h_1`,Title:`_Title_1780h_4`,Header:`_Header_1780h_10`,Group:`_Group_1780h_16`,GroupHeader:`_GroupHeader_1780h_20`,GroupCount:`_GroupCount_1780h_44`,List:`_List_1780h_49`,ListItem:`_ListItem_1780h_59`,EntityRow:`_EntityRow_1780h_66`,EntityInfo:`_EntityInfo_1780h_78`,LocateButton:`_LocateButton_1780h_83`,Type:`_Type_1780h_115`,ID:`_ID_1780h_121`,Detail:`_Detail_1780h_130`};function ps(e){return e.renderType===`Player`&&`playerName`in e?e.playerName??e.className:e.renderType===`WayPoint`&&`label`in e?e.label??e.className:e.className}function ms(e){if(`shapeName`in e&&e.shapeName)return e.shapeName;if(e.renderType===`InteriorInstance`&&`interiorData`in e)return e.interiorData.interiorFile;if(`dataBlock`in e&&e.dataBlock)return e.dataBlock;if(e.renderType===`TerrainBlock`&&`terrainData`in e)return e.terrainData.terrFileName;if(e.renderType===`WaterBlock`&&`waterData`in e)return e.waterData.surfaceName;if(`audioFileName`in e&&e.audioFileName)return e.audioFileName}function hs(e){if(`position`in e&&e.position)return e.position;if(e.renderType===`InteriorInstance`&&`interiorData`in e)return Rt(e.interiorData.transform.position);if(e.renderType===`WaterBlock`&&`waterData`in e){let t=Rt(e.waterData.transform.position),n=e.waterData.scale;return[t[0]+n.y/2,t[1]+n.z/2,t[2]+n.x/2]}if(e.renderType===`TerrainBlock`)return[0,0,0]}function gs(e){let t=(0,V.c)(39),{entity:n}=e,r;t[0]===n?r=t[1]:(r=hs(n),t[0]=n,t[1]=r);let i=r,a;t[2]===n?a=t[3]:(a=ms(n),t[2]=n,t[3]=a);let o=a,s;t[4]===n?s=t[5]:(s=ps(n),t[4]=n,t[5]=s);let c=s,l=fi(n.id),{audioEnabled:d}=u(),f=n.renderType===`AudioEmitter`&&!d,p=!!i&&!l&&!f,m;t[6]!==n.id||t[7]!==c||t[8]!==i?(m=()=>{i&&R.getState().flyTo({entityId:n.id,label:c,position:i},`debug`)},t[6]=n.id,t[7]=c,t[8]=i,t[9]=m):m=t[9];let h=m,g;t[10]===n.id?g=t[11]:(g=()=>{let e=Gr.getState(),t=e.isStreaming?e.streamEntities:e.missionEntities,r=t.get(n.id);r&&(t.set(n.id,{...r,debugHidden:!r.debugHidden}),Gr.setState({version:e.version+1}))},t[10]=n.id,t[11]=g);let _=g,v=f||void 0,y=!l,b=l?`Show entity`:`Hide entity`,x;t[12]!==f||t[13]!==_||t[14]!==y||t[15]!==b?(x=(0,H.jsx)(`input`,{type:`checkbox`,checked:y,onChange:_,disabled:f,title:b}),t[12]=f,t[13]=_,t[14]=y,t[15]=b,t[16]=x):x=t[16];let S;t[17]===c?S=t[18]:(S=(0,H.jsx)(`span`,{className:fs.Type,children:c}),t[17]=c,t[18]=S);let C;t[19]===n.id?C=t[20]:(C=(0,H.jsx)(`span`,{className:fs.ID,children:n.id}),t[19]=n.id,t[20]=C);let w;t[21]!==S||t[22]!==C?(w=(0,H.jsxs)(`div`,{children:[S,` `,C]}),t[21]=S,t[22]=C,t[23]=w):w=t[23];let T;t[24]===o?T=t[25]:(T=o&&(0,H.jsx)(`span`,{className:fs.Detail,children:o}),t[24]=o,t[25]=T);let E;t[26]!==w||t[27]!==T?(E=(0,H.jsxs)(`div`,{className:fs.EntityInfo,children:[w,T]}),t[26]=w,t[27]=T,t[28]=E):E=t[28];let D;t[29]!==p||t[30]!==h||t[31]!==c||t[32]!==i?(D=i&&(0,H.jsx)(`button`,{type:`button`,className:fs.LocateButton,onClick:h,disabled:!p,title:`Fly to ${c}`,children:(0,H.jsx)(pr,{})}),t[29]=p,t[30]=h,t[31]=c,t[32]=i,t[33]=D):D=t[33];let O;return t[34]!==E||t[35]!==D||t[36]!==v||t[37]!==x?(O=(0,H.jsxs)(`div`,{className:fs.EntityRow,"data-disabled":v,children:[x,E,D]}),t[34]=E,t[35]=D,t[36]=v,t[37]=x,t[38]=O):O=t[38],O}var _s=(0,B.memo)(function(){let e=Yr(),t=Gr.getState().version,n=(0,B.useMemo)(()=>{let t=new Map;for(let n of e.values()){if(n.renderType===`Sky`||n.renderType===`Sun`||n.renderType===`MissionArea`||n.renderType===`None`)continue;let e=n.className,r=t.get(e);r||(r=[],t.set(e,r)),r.push(n)}let n=[...t.entries()].sort(([e],[t])=>e.localeCompare(t));for(let[,e]of n)e.sort((e,t)=>e.id.localeCompare(t.id));return n},[e,t]);return(0,H.jsxs)(`div`,{className:fs.Container,children:[(0,H.jsx)(`h4`,{className:fs.Title,children:`Entity list`}),n.map(([e,t])=>(0,H.jsxs)(`details`,{className:fs.Group,children:[(0,H.jsxs)(`summary`,{className:fs.GroupHeader,children:[e,` `,(0,H.jsxs)(`span`,{className:fs.GroupCount,children:[`(`,t.length,`)`]})]}),(0,H.jsx)(`ul`,{className:fs.List,children:t.map(e=>(0,H.jsx)(`li`,{className:fs.ListItem,children:(0,H.jsx)(gs,{entity:e})},e.id))})]},e))]})}),G={InspectorControls:`_InspectorControls_ukzik_1`,Dropdown:`_Dropdown_ukzik_8`,Group:`_Group_ukzik_16`,CheckboxField:`_CheckboxField_ukzik_24`,Label:`_Label_ukzik_39`,Description:`_Description_ukzik_47`,Control:`_Control_ukzik_60`,Field:`_Field_ukzik_67`,Tools:`_Tools_ukzik_91`,MapInfoButton:`_MapInfoButton_ukzik_114 _Button_p0g82_2`,ShowScoresButton:`_ShowScoresButton_ukzik_115 _Button_p0g82_2`,ForceRenderButton:`_ForceRenderButton_ukzik_119`,CloseSidebarButton:`_CloseSidebarButton_ukzik_131 _Button_p0g82_2`},vs=[`controls`,`preferences`,`audio`,`timeline`],ys=(0,B.memo)(function(e){let t=(0,V.c)(220),{missionName:n,missionType:r,onOpenMapInfo:i,onOpenScoreScreen:a,onOpenServerBrowser:o,onChooseMap:s,onCancelChoosingMap:c,choosingMap:l,cameraRef:d,invalidateRef:f,onClose:p}=e,m=g(),_=ii(),v=Di(),y=oi(),x=_===`demo`||_===`live`?y:n,S;t[0]===x?S=t[1]:(S=x?E(x):!1,t[0]=x,t[1]=S);let C=S,w=wi(bs),{fogEnabled:T,setFogEnabled:D,fov:O,setFov:k,audioEnabled:A,setAudioEnabled:j,audioVolume:M,setAudioVolume:ee,adjustAudioSpeed:te,setAdjustAudioSpeed:N,animationEnabled:P,setAnimationEnabled:ne,fpsLimit:F,setFpsLimit:re,showInputOverlay:ie,setShowInputOverlay:I}=u(),{speedMultiplier:L,setSpeedMultiplier:R,mouseSensitivity:z,setMouseSensitivity:ae,touchMode:oe,setTouchMode:se,invertScroll:ce,setInvertScroll:le,invertDrag:ue,setInvertDrag:de,invertJoystick:fe,setInvertJoystick:pe}=b(),{debugMode:me,setDebugMode:he,renderOnDemand:ge,setRenderOnDemand:_e}=h(),[ve,ye]=(0,B.useState)(!1),be=(0,B.useRef)(null),xe=(0,B.useRef)(null),Se=(0,B.useRef)(null),Ce,we;t[2]===ve?(Ce=t[3],we=t[4]):(Ce=()=>{ve&&be.current?.focus()},we=[ve],t[2]=ve,t[3]=Ce,t[4]=we),(0,B.useEffect)(Ce,we);let Te;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(Te=e=>{let t=e.relatedTarget;t&&Se.current?.contains(t)||ye(!1)},t[5]=Te):Te=t[5];let Ee=Te,De;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(De=e=>{e.key===`Escape`&&(ye(!1),xe.current?.focus())},t[6]=De):De=t[6];let Oe=De,ke=_===`map`&&!v||(l??!1),Ae;t[7]!==s||t[8]!==ke?(Ae=(0,H.jsx)(ls,{isActive:ke,onClick:s}),t[7]=s,t[8]=ke,t[9]=Ae):Ae=t[9];let je=!l&&v?.source===`demo`,Me;t[10]!==l||t[11]!==c||t[12]!==je?(Me=(0,H.jsx)(Hi,{isActive:je,choosingMap:l,onCancelChoosingMap:c}),t[10]=l,t[11]=c,t[12]=je,t[13]=Me):Me=t[13];let Ne;t[14]!==l||t[15]!==w||t[16]!==o?(Ne=o&&(0,H.jsx)(Ki,{isActive:!l&&w,onOpenServerBrowser:o}),t[14]=l,t[15]=w,t[16]=o,t[17]=Ne):Ne=t[17];let Pe;t[18]!==Ne||t[19]!==Ae||t[20]!==Me?(Pe=(0,H.jsxs)(`div`,{className:wr.ButtonGroup,children:[Ae,Me,Ne]}),t[18]=Ne,t[19]=Ae,t[20]=Me,t[21]=Pe):Pe=t[21];let Fe=!C,Ie;t[22]!==d||t[23]!==n||t[24]!==r||t[25]!==Fe?(Ie=(0,H.jsx)(Dr,{missionName:n,missionType:r,cameraRef:d,disabled:Fe}),t[22]=d,t[23]=n,t[24]=r,t[25]=Fe,t[26]=Ie):Ie=t[26];let Le;t[27]!==n||t[28]!==i?(Le=(0,H.jsx)(us,{missionName:n,onClick:i}),t[27]=n,t[28]=i,t[29]=Le):Le=t[29];let Re;t[30]===a?Re=t[31]:(Re=a&&(0,H.jsx)(ds,{onClick:a}),t[30]=a,t[31]=Re);let ze;t[32]!==Pe||t[33]!==Ie||t[34]!==Le||t[35]!==Re?(ze=(0,H.jsxs)(`div`,{className:G.Tools,children:[Pe,Ie,Le,Re]}),t[32]=Pe,t[33]=Ie,t[34]=Le,t[35]=Re,t[36]=ze):ze=t[36];let Be;t[37]===v?.source?Be=t[38]:(Be=v?.source===`demo`&&(0,H.jsx)(Co,{value:`timeline`,label:`Timeline`,noPadding:!0,children:(0,H.jsx)(Vo,{})}),t[37]=v?.source,t[38]=Be);let Ve;t[39]!==_||t[40]!==v?(Ve=_===`map`&&!v&&(0,H.jsx)(Co,{value:`mapFeatures`,label:`Map Features`,noPadding:!0,children:(0,H.jsx)(is,{})}),t[39]=_,t[40]=v,t[41]=Ve):Ve=t[41];let He;t[42]===Symbol.for(`react.memo_cache_sentinel`)?(He=(0,H.jsx)(`label`,{htmlFor:`speedInput`,children:`Fly speed`}),t[42]=He):He=t[42];let Ue;t[43]===L?Ue=t[44]:(Ue=Math.round(L*100),t[43]=L,t[44]=Ue);let We;t[45]===R?We=t[46]:(We=e=>R(parseFloat(e.target.value)/100),t[45]=R,t[46]=We);let Ge;t[47]!==Ue||t[48]!==We?(Ge=(0,H.jsx)(`div`,{className:G.Control,children:(0,H.jsx)(`input`,{id:`speedInput`,type:`range`,min:1,max:100,step:1,value:Ue,onChange:We})}),t[47]=Ue,t[48]=We,t[49]=Ge):Ge=t[49];let Ke=m===!1?` Use your scroll wheel or trackpad to adjust while flying.`:``,qe;t[50]===Ke?qe=t[51]:(qe=(0,H.jsxs)(`p`,{className:G.Description,children:[`How fast you move in free-flying mode.`,Ke]}),t[50]=Ke,t[51]=qe);let Je;t[52]!==Ge||t[53]!==qe?(Je=(0,H.jsxs)(`div`,{className:G.Field,children:[He,Ge,qe]}),t[52]=Ge,t[53]=qe,t[54]=Je):Je=t[54];let Ye;t[55]!==m||t[56]!==se||t[57]!==oe?(Ye=m?(0,H.jsxs)(`div`,{className:G.Field,children:[(0,H.jsx)(`label`,{htmlFor:`touchModeInput`,children:`Joystick`}),` `,(0,H.jsx)(`div`,{className:G.Control,children:(0,H.jsxs)(`select`,{id:`touchModeInput`,value:oe,onChange:e=>se(e.target.value),children:[(0,H.jsx)(`option`,{value:`dualStick`,children:`Dual stick`}),(0,H.jsx)(`option`,{value:`moveLookStick`,children:`Single stick`})]})}),(0,H.jsx)(`p`,{className:G.Description,children:`Single stick has a unified move + look control. Dual stick has independent move + look.`})]}):null,t[55]=m,t[56]=se,t[57]=oe,t[58]=Ye):Ye=t[58];let Xe;t[59]!==ce||t[60]!==m||t[61]!==le?(Xe=m===!1?(0,H.jsxs)(`div`,{className:G.CheckboxField,children:[(0,H.jsx)(`input`,{id:`invertScroll`,type:`checkbox`,checked:ce,onChange:e=>{le(e.target.checked)}}),(0,H.jsx)(`label`,{className:G.Label,htmlFor:`invertScroll`,children:`Invert scroll direction`}),(0,H.jsx)(`p`,{className:G.Description,children:`Reverse which scroll direction increases and decreases fly speed.`})]}):null,t[59]=ce,t[60]=m,t[61]=le,t[62]=Xe):Xe=t[62];let Ze;t[63]!==fe||t[64]!==m||t[65]!==pe?(Ze=m?(0,H.jsxs)(`div`,{className:G.CheckboxField,children:[(0,H.jsx)(`input`,{id:`invertJoystick`,type:`checkbox`,checked:fe,onChange:e=>{pe(e.target.checked)}}),(0,H.jsx)(`label`,{className:G.Label,htmlFor:`invertJoystick`,children:`Invert joystick direction`}),(0,H.jsx)(`p`,{className:G.Description,children:`Reverse joystick look direction.`})]}):null,t[63]=fe,t[64]=m,t[65]=pe,t[66]=Ze):Ze=t[66];let Qe;t[67]===de?Qe=t[68]:(Qe=e=>{de(e.target.checked)},t[67]=de,t[68]=Qe);let $e;t[69]!==ue||t[70]!==Qe?($e=(0,H.jsx)(`input`,{id:`invertDrag`,type:`checkbox`,checked:ue,onChange:Qe}),t[69]=ue,t[70]=Qe,t[71]=$e):$e=t[71];let et,tt;t[72]===Symbol.for(`react.memo_cache_sentinel`)?(et=(0,H.jsx)(`label`,{className:G.Label,htmlFor:`invertDrag`,children:`Invert drag direction`}),tt=(0,H.jsx)(`p`,{className:G.Description,children:`Reverse how dragging the viewport aims the camera.`}),t[72]=et,t[73]=tt):(et=t[72],tt=t[73]);let nt;t[74]===$e?nt=t[75]:(nt=(0,H.jsxs)(`div`,{className:G.CheckboxField,children:[$e,et,tt]}),t[74]=$e,t[75]=nt);let rt;t[76]!==m||t[77]!==z||t[78]!==ae?(rt=m===!1&&(0,H.jsxs)(`div`,{className:G.Field,children:[(0,H.jsx)(`label`,{htmlFor:`mouseSensitivityInput`,children:`Mouse sensitivity`}),(0,H.jsx)(`div`,{className:G.Control,children:(0,H.jsx)(`input`,{id:`mouseSensitivityInput`,type:`range`,min:1,max:256,step:2,value:Math.round(z*16e3),onChange:e=>{ae(parseInt(e.target.value)/16e3)}})})]}),t[76]=m,t[77]=z,t[78]=ae,t[79]=rt):rt=t[79];let it;t[80]!==Je||t[81]!==Ye||t[82]!==Xe||t[83]!==Ze||t[84]!==nt||t[85]!==rt?(it=(0,H.jsxs)(Co,{value:`controls`,label:`Controls`,children:[Je,Ye,Xe,Ze,nt,rt]}),t[80]=Je,t[81]=Ye,t[82]=Xe,t[83]=Ze,t[84]=nt,t[85]=rt,t[86]=it):it=t[86];let at;t[87]===Symbol.for(`react.memo_cache_sentinel`)?(at=(0,H.jsx)(`label`,{htmlFor:`fovInput`,children:`FOV`}),t[87]=at):at=t[87];let ot;t[88]===O?ot=t[89]:(ot=(0,H.jsxs)(`output`,{htmlFor:`fovInput`,children:[O,`°`]}),t[88]=O,t[89]=ot);let st;t[90]===k?st=t[91]:(st=e=>k(parseInt(e.target.value)),t[90]=k,t[91]=st);let ct;t[92]!==O||t[93]!==st?(ct=(0,H.jsx)(`input`,{id:`fovInput`,type:`range`,min:75,max:120,step:5,value:O,onChange:st}),t[92]=O,t[93]=st,t[94]=ct):ct=t[94];let lt;t[95]!==ot||t[96]!==ct?(lt=(0,H.jsxs)(`div`,{className:G.Field,children:[at,(0,H.jsxs)(`div`,{className:G.Control,children:[ot,ct]})]}),t[95]=ot,t[96]=ct,t[97]=lt):lt=t[97];let ut;t[98]===I?ut=t[99]:(ut=e=>{I(e.target.checked)},t[98]=I,t[99]=ut);let dt;t[100]!==ie||t[101]!==ut?(dt=(0,H.jsx)(`input`,{id:`showInputOverlayInput`,type:`checkbox`,checked:ie,onChange:ut}),t[100]=ie,t[101]=ut,t[102]=dt):dt=t[102];let ft;t[103]===Symbol.for(`react.memo_cache_sentinel`)?(ft=(0,H.jsx)(`label`,{className:G.Label,htmlFor:`showInputOverlayInput`,children:`Show input overlay`}),t[103]=ft):ft=t[103];let pt;t[104]===dt?pt=t[105]:(pt=(0,H.jsxs)(`div`,{className:G.CheckboxField,children:[dt,ft]}),t[104]=dt,t[105]=pt);let mt;t[106]!==lt||t[107]!==pt?(mt=(0,H.jsxs)(Co,{value:`preferences`,label:`Preferences`,children:[lt,pt]}),t[106]=lt,t[107]=pt,t[108]=mt):mt=t[108];let ht;t[109]===j?ht=t[110]:(ht=e=>{j(e.target.checked)},t[109]=j,t[110]=ht);let gt;t[111]!==A||t[112]!==ht?(gt=(0,H.jsx)(`input`,{id:`audioInput`,type:`checkbox`,checked:A,onChange:ht}),t[111]=A,t[112]=ht,t[113]=gt):gt=t[113];let _t;t[114]===Symbol.for(`react.memo_cache_sentinel`)?(_t=(0,H.jsx)(`label`,{className:G.Label,htmlFor:`audioInput`,children:`Enable audio`}),t[114]=_t):_t=t[114];let vt;t[115]===gt?vt=t[116]:(vt=(0,H.jsxs)(`div`,{className:G.CheckboxField,children:[gt,_t]}),t[115]=gt,t[116]=vt);let yt;t[117]===Symbol.for(`react.memo_cache_sentinel`)?(yt=(0,H.jsx)(`label`,{htmlFor:`volumeInput`,children:`Master volume`}),t[117]=yt):yt=t[117];let bt;t[118]===M?bt=t[119]:(bt=Math.round(M*100),t[118]=M,t[119]=bt);let xt;t[120]===bt?xt=t[121]:(xt=(0,H.jsxs)(`output`,{htmlFor:`volumeInput`,children:[bt,`%`]}),t[120]=bt,t[121]=xt);let St;t[122]===ee?St=t[123]:(St=e=>ee(parseFloat(e.target.value)),t[122]=ee,t[123]=St);let Ct;t[124]!==M||t[125]!==St?(Ct=(0,H.jsx)(`input`,{id:`volumeInput`,type:`range`,min:0,max:1,step:.05,value:M,onChange:St}),t[124]=M,t[125]=St,t[126]=Ct):Ct=t[126];let wt;t[127]!==xt||t[128]!==Ct?(wt=(0,H.jsxs)(`div`,{className:G.Field,children:[yt,(0,H.jsxs)(`div`,{className:G.Control,children:[xt,Ct]})]}),t[127]=xt,t[128]=Ct,t[129]=wt):wt=t[129];let Tt;t[130]===N?Tt=t[131]:(Tt=e=>{N(e.target.checked)},t[130]=N,t[131]=Tt);let Et;t[132]!==te||t[133]!==Tt?(Et=(0,H.jsx)(`input`,{id:`adjustAudioSpeedInput`,type:`checkbox`,checked:te,onChange:Tt}),t[132]=te,t[133]=Tt,t[134]=Et):Et=t[134];let Dt;t[135]===Symbol.for(`react.memo_cache_sentinel`)?(Dt=(0,H.jsx)(`label`,{className:G.Label,htmlFor:`adjustAudioSpeedInput`,children:`Adjust audio speed to match demo playback`}),t[135]=Dt):Dt=t[135];let Ot;t[136]===Et?Ot=t[137]:(Ot=(0,H.jsxs)(`div`,{className:G.CheckboxField,children:[Et,Dt]}),t[136]=Et,t[137]=Ot);let kt;t[138]!==vt||t[139]!==wt||t[140]!==Ot?(kt=(0,H.jsxs)(Co,{value:`audio`,label:`Audio`,children:[vt,wt,Ot]}),t[138]=vt,t[139]=wt,t[140]=Ot,t[141]=kt):kt=t[141];let At;t[142]===D?At=t[143]:(At=e=>{D(e.target.checked)},t[142]=D,t[143]=At);let jt;t[144]!==T||t[145]!==At?(jt=(0,H.jsx)(`input`,{id:`fogInput`,type:`checkbox`,checked:T,onChange:At}),t[144]=T,t[145]=At,t[146]=jt):jt=t[146];let Mt;t[147]===Symbol.for(`react.memo_cache_sentinel`)?(Mt=(0,H.jsx)(`label`,{className:G.Label,htmlFor:`fogInput`,children:`Enable fog`}),t[147]=Mt):Mt=t[147];let Nt;t[148]===jt?Nt=t[149]:(Nt=(0,H.jsxs)(`div`,{className:G.CheckboxField,children:[jt,Mt]}),t[148]=jt,t[149]=Nt);let Pt;t[150]===ne?Pt=t[151]:(Pt=e=>{ne(e.target.checked)},t[150]=ne,t[151]=Pt);let Ft;t[152]!==P||t[153]!==Pt?(Ft=(0,H.jsx)(`input`,{id:`animationInput`,type:`checkbox`,checked:P,onChange:Pt}),t[152]=P,t[153]=Pt,t[154]=Ft):Ft=t[154];let It;t[155]===Symbol.for(`react.memo_cache_sentinel`)?(It=(0,H.jsx)(`label`,{className:G.Label,htmlFor:`animationInput`,children:`Enable animations`}),t[155]=It):It=t[155];let Lt;t[156]===Ft?Lt=t[157]:(Lt=(0,H.jsxs)(`div`,{className:G.CheckboxField,children:[Ft,It]}),t[156]=Ft,t[157]=Lt);let Rt;t[158]===Symbol.for(`react.memo_cache_sentinel`)?(Rt=(0,H.jsx)(`label`,{htmlFor:`fpsLimitInput`,children:`FPS limit`}),t[158]=Rt):Rt=t[158];let zt=F??``,Bt;t[159]===re?Bt=t[160]:(Bt=e=>{let t=e.target.value;re(t===``?null:parseInt(t))},t[159]=re,t[160]=Bt);let Vt,Ht,Ut,Wt,Gt,Kt;t[161]===Symbol.for(`react.memo_cache_sentinel`)?(Vt=null,Ht=(0,H.jsx)(`option`,{value:`30`,children:`30`}),Ut=(0,H.jsx)(`option`,{value:`60`,children:`60`}),Wt=(0,H.jsx)(`option`,{value:`120`,children:`120`}),Gt=(0,H.jsx)(`option`,{value:`144`,children:`144`}),Kt=(0,H.jsx)(`option`,{value:``,children:`No limit`}),t[161]=Vt,t[162]=Ht,t[163]=Ut,t[164]=Wt,t[165]=Gt,t[166]=Kt):(Vt=t[161],Ht=t[162],Ut=t[163],Wt=t[164],Gt=t[165],Kt=t[166]);let qt;t[167]!==zt||t[168]!==Bt?(qt=(0,H.jsx)(`div`,{className:G.Control,children:(0,H.jsxs)(`select`,{id:`fpsLimitInput`,value:zt,onChange:Bt,children:[Vt,Ht,Ut,Wt,Gt,Kt]})}),t[167]=zt,t[168]=Bt,t[169]=qt):qt=t[169];let Jt;t[170]===Symbol.for(`react.memo_cache_sentinel`)?(Jt=(0,H.jsx)(`p`,{className:G.Description,children:`Give your device a break by capping the framerate.`}),t[170]=Jt):Jt=t[170];let Yt;t[171]===qt?Yt=t[172]:(Yt=(0,H.jsxs)(`div`,{className:G.Field,children:[Rt,qt,Jt]}),t[171]=qt,t[172]=Yt);let Xt;t[173]!==Nt||t[174]!==Lt||t[175]!==Yt?(Xt=(0,H.jsxs)(Co,{value:`graphics`,label:`Graphics`,children:[Nt,Lt,Yt]}),t[173]=Nt,t[174]=Lt,t[175]=Yt,t[176]=Xt):Xt=t[176];let Zt;t[177]===he?Zt=t[178]:(Zt=e=>{he(e.target.checked)},t[177]=he,t[178]=Zt);let Qt;t[179]!==me||t[180]!==Zt?(Qt=(0,H.jsx)(`input`,{id:`debugInput`,type:`checkbox`,checked:me,onChange:Zt}),t[179]=me,t[180]=Zt,t[181]=Qt):Qt=t[181];let $t;t[182]===Symbol.for(`react.memo_cache_sentinel`)?($t=(0,H.jsx)(`label`,{className:G.Label,htmlFor:`debugInput`,children:`Render debug visuals`}),t[182]=$t):$t=t[182];let en;t[183]===Qt?en=t[184]:(en=(0,H.jsxs)(`div`,{className:G.CheckboxField,children:[Qt,$t]}),t[183]=Qt,t[184]=en);let tn;t[185]===_e?tn=t[186]:(tn=e=>{_e(e.target.checked)},t[185]=_e,t[186]=tn);let nn;t[187]!==ge||t[188]!==tn?(nn=(0,H.jsx)(`input`,{id:`onDemandInput`,type:`checkbox`,checked:ge,onChange:tn}),t[187]=ge,t[188]=tn,t[189]=nn):nn=t[189];let rn;t[190]===Symbol.for(`react.memo_cache_sentinel`)?(rn=(0,H.jsx)(`label`,{htmlFor:`onDemandInput`,children:`Render on demand `}),t[190]=rn):rn=t[190];let an;t[191]===f?an=t[192]:(an=()=>f.current?.(),t[191]=f,t[192]=an);let on;t[193]===Symbol.for(`react.memo_cache_sentinel`)?(on=(0,H.jsx)(fr,{}),t[193]=on):on=t[193];let sn;t[194]===an?sn=t[195]:(sn=(0,H.jsxs)(`div`,{className:G.Label,children:[rn,(0,H.jsx)(`button`,{type:`button`,className:G.ForceRenderButton,title:`Force render`,"aria-label":`Force render`,onClick:an,children:on})]}),t[194]=an,t[195]=sn);let cn;t[196]===Symbol.for(`react.memo_cache_sentinel`)?(cn=(0,H.jsx)(`p`,{className:G.Description,children:`Significantly decreases CPU and GPU usage by only rendering frames when requested. Helpful when developing parts of the app unrelated to rendering.`}),t[196]=cn):cn=t[196];let ln;t[197]!==nn||t[198]!==sn?(ln=(0,H.jsxs)(`div`,{className:G.CheckboxField,children:[nn,sn,cn]}),t[197]=nn,t[198]=sn,t[199]=ln):ln=t[199];let un;t[200]===Symbol.for(`react.memo_cache_sentinel`)?(un=(0,H.jsx)(_s,{}),t[200]=un):un=t[200];let dn;t[201]!==en||t[202]!==ln?(dn=(0,H.jsxs)(Co,{value:`debug`,label:`Debug`,children:[en,ln,un]}),t[201]=en,t[202]=ln,t[203]=dn):dn=t[203];let fn;t[204]!==Be||t[205]!==Ve||t[206]!==it||t[207]!==mt||t[208]!==kt||t[209]!==Xt||t[210]!==dn?(fn=(0,H.jsx)(`div`,{className:G.Accordions,children:(0,H.jsxs)(So,{type:`multiple`,defaultValue:vs,children:[Be,Ve,it,mt,kt,Xt,dn]})}),t[204]=Be,t[205]=Ve,t[206]=it,t[207]=mt,t[208]=kt,t[209]=Xt,t[210]=dn,t[211]=fn):fn=t[211];let pn;t[212]===Symbol.for(`react.memo_cache_sentinel`)?(pn=(0,H.jsx)(`span`,{className:wr.ButtonLabel,children:`Close`}),t[212]=pn):pn=t[212];let mn;t[213]===p?mn=t[214]:(mn=(0,H.jsx)(`button`,{className:G.CloseSidebarButton,onClick:p,children:pn}),t[213]=p,t[214]=mn);let hn;return t[215]!==ve||t[216]!==ze||t[217]!==fn||t[218]!==mn?(hn=(0,H.jsx)(`div`,{className:G.InspectorControls,children:(0,H.jsx)(`div`,{ref:Se,children:(0,H.jsxs)(`div`,{className:G.Dropdown,ref:be,id:`settingsPanel`,tabIndex:-1,onKeyDown:Oe,onBlur:Ee,"data-open":ve,children:[ze,fn,mn]})})}),t[215]=ve,t[216]=ze,t[217]=fn,t[218]=mn,t[219]=hn):hn=t[219],hn});function bs(e){return e.gameStatus===`connected`||e.gameStatus===`authenticating`}function xs(...e){}function Ss(e,t){return Cs(e)?e(ws(t)?t():t):e}function Cs(e){return typeof e==`function`}function ws(e){return typeof e==`function`}function Ts(e,t){return typeof Object.hasOwn==`function`?Object.hasOwn(e,t):Object.prototype.hasOwnProperty.call(e,t)}function Es(...e){return(...t)=>{for(let n of e)typeof n==`function`&&n(...t)}}function Ds(e){return e.normalize(`NFD`).replace(/[\u0300-\u036f]/g,``)}function Os(e,t){let n={...e};for(let e of t)Ts(n,e)&&delete n[e];return n}function ks(e,t){let n={};for(let r of t)Ts(e,r)&&(n[r]=e[r]);return n}function As(e){return e}function js(e,t){if(!e)throw Error(typeof t==`string`?t:`Invariant failed`)}function Ms(e){return Object.keys(e)}function Ns(e,...t){let n=typeof e==`function`?e(...t):e;return n==null?!1:!n}function Ps(e){return e.disabled||e[`aria-disabled`]===!0||e[`aria-disabled`]===`true`}function Fs(e){let t={};for(let n in e)e[n]!==void 0&&(t[n]=e[n]);return t}function K(...e){for(let t of e)if(t!==void 0)return t}function Is(e,t){typeof e==`function`?e(t):e&&(e.current=t)}function Ls(e){return!e||!(0,B.isValidElement)(e)?!1:`ref`in e.props||`ref`in e}function Rs(e){return Ls(e)?{...e.props}.ref||e.ref:null}function zs(e,t){let n={...e};for(let r in t){if(!Ts(t,r))continue;if(r===`className`){let r=`className`;n[r]=e[r]?`${e[r]} ${t[r]}`:t[r];continue}if(r===`style`){let r=`style`;n[r]=e[r]?{...e[r],...t[r]}:t[r];continue}let i=t[r];if(typeof i==`function`&&r.startsWith(`on`)){let t=e[r];if(typeof t==`function`){n[r]=(...e)=>{i(...e),t(...e)};continue}}n[r]=i}return n}var Bs=Vs();function Vs(){return typeof window<`u`&&!!window.document?.createElement}function Hs(e){return e?`self`in e?e.document:e.ownerDocument||document:document}function Us(e){return e?`self`in e?e.self:Hs(e).defaultView||window:self}function Ws(e,t=!1){let{activeElement:n}=Hs(e);if(!n?.nodeName)return null;if(Ks(n)&&n.contentDocument?.body)return Ws(n.contentDocument.body,t);if(t){let e=n.getAttribute(`aria-activedescendant`);if(e){let t=Hs(n).getElementById(e);if(t)return t}}return n}function Gs(e,t){return e===t||e.contains(t)}function Ks(e){return e.tagName===`IFRAME`}function qs(e){let t=e.tagName.toLowerCase();return t===`button`?!0:t===`input`&&e.type?Js.indexOf(e.type)!==-1:!1}var Js=[`button`,`color`,`file`,`image`,`reset`,`submit`];function Ys(e){if(typeof e.checkVisibility==`function`)return e.checkVisibility();let t=e;return t.offsetWidth>0||t.offsetHeight>0||e.getClientRects().length>0}function Xs(e){try{let t=e instanceof HTMLInputElement&&e.selectionStart!==null,n=e.tagName===`TEXTAREA`;return t||n||!1}catch{return!1}}function Zs(e){return e.isContentEditable||Xs(e)}function Qs(e){if(Xs(e))return e.value;if(e.isContentEditable){let t=Hs(e).createRange();return t.selectNodeContents(e),t.toString()}return``}function $s(e){let t=0,n=0;if(Xs(e))t=e.selectionStart||0,n=e.selectionEnd||0;else if(e.isContentEditable){let r=Hs(e).getSelection();if(r?.rangeCount&&r.anchorNode&&Gs(e,r.anchorNode)&&r.focusNode&&Gs(e,r.focusNode)){let i=r.getRangeAt(0),a=i.cloneRange();a.selectNodeContents(e),a.setEnd(i.startContainer,i.startOffset),t=a.toString().length,a.setEnd(i.endContainer,i.endOffset),n=a.toString().length}}return{start:t,end:n}}function ec(e,t){let n=[`dialog`,`menu`,`listbox`,`tree`,`grid`],r=e?.getAttribute(`role`);return r&&n.indexOf(r)!==-1?r:t}function tc(e){if(!e)return null;let t=e=>e===`auto`||e===`scroll`;if(e.clientHeight&&e.scrollHeight>e.clientHeight){let{overflowY:n}=getComputedStyle(e);if(t(n))return e}else if(e.clientWidth&&e.scrollWidth>e.clientWidth){let{overflowX:n}=getComputedStyle(e);if(t(n))return e}return tc(e.parentElement)||document.scrollingElement||document.body}function nc(e,...t){/text|search|password|tel|url/i.test(e.type)&&e.setSelectionRange(...t)}function rc(e,t){let n=e.map((e,t)=>[t,e]),r=!1;return n.sort(([e,n],[i,a])=>{let o=t(n),s=t(a);return o===s||!o||!s?0:ic(o,s)?(e>i&&(r=!0),-1):(et):e}function ic(e,t){return!!(t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_PRECEDING)}function ac(){return Bs&&!!navigator.maxTouchPoints}function oc(){return Bs?/mac|iphone|ipad|ipod/i.test(navigator.platform):!1}function sc(){return Bs&&oc()&&/apple/i.test(navigator.vendor)}function cc(){return Bs&&/firefox\//i.test(navigator.userAgent)}function lc(){return Bs&&navigator.platform.startsWith(`Mac`)&&!ac()}function uc(e){return!!(e.currentTarget&&!Gs(e.currentTarget,e.target))}function dc(e){return e.target===e.currentTarget}function fc(e){let t=e.currentTarget;if(!t)return!1;let n=oc();if(n&&!e.metaKey||!n&&!e.ctrlKey)return!1;let r=t.tagName.toLowerCase();return r===`a`||r===`button`&&t.type===`submit`||r===`input`&&t.type===`submit`}function pc(e){let t=e.currentTarget;if(!t)return!1;let n=t.tagName.toLowerCase();return e.altKey?n===`a`||n===`button`&&t.type===`submit`||n===`input`&&t.type===`submit`:!1}function mc(e,t){let n=new FocusEvent(`blur`,t),r=e.dispatchEvent(n),i={...t,bubbles:!0};return e.dispatchEvent(new FocusEvent(`focusout`,i)),r}function hc(e,t,n){let r=new KeyboardEvent(t,n);return e.dispatchEvent(r)}function gc(e,t){let n=new MouseEvent(`click`,t);return e.dispatchEvent(n)}function _c(e,t){let n=t||e.currentTarget,r=e.relatedTarget;return!r||!Gs(n,r)}function vc(e,t,n,r){let i=(e=>{if(r){let t=setTimeout(e,r);return()=>clearTimeout(t)}let t=requestAnimationFrame(e);return()=>cancelAnimationFrame(t)})(()=>{e.removeEventListener(t,a,!0),n()}),a=()=>{i(),n()};return e.addEventListener(t,a,{once:!0,capture:!0}),i}function yc(e,t,n,r=window){let i=[];try{r.document.addEventListener(e,t,n);for(let a of Array.from(r.frames))i.push(yc(e,t,n,a))}catch{}return()=>{try{r.document.removeEventListener(e,t,n)}catch{}for(let e of i)e()}}var bc={...B},xc=bc.useId;bc.useDeferredValue;var Sc=bc.useInsertionEffect,Cc=Bs?B.useLayoutEffect:B.useEffect;function wc(e){let[t]=(0,B.useState)(e);return t}function Tc(e){let t=(0,B.useRef)(e);return Cc(()=>{t.current=e}),t}function q(e){let t=(0,B.useRef)(()=>{throw Error(`Cannot call an event handler while rendering.`)});return Sc?Sc(()=>{t.current=e}):t.current=e,(0,B.useCallback)((...e)=>t.current?.call(t,...e),[])}function Ec(e){let[t,n]=(0,B.useState)(null);return Cc(()=>{if(t==null||!e)return;let n=null;return e(e=>(n=e,t)),()=>{e(n)}},[t,e]),[t,n]}function Dc(...e){return(0,B.useMemo)(()=>{if(e.some(Boolean))return t=>{for(let n of e)Is(n,t)}},e)}function Oc(e){if(xc){let t=xc();return e||t}let[t,n]=(0,B.useState)(e);return Cc(()=>{e||t||n(`id-${Math.random().toString(36).slice(2,8)}`)},[e,t]),e||t}function kc(e,t){let n=e=>{if(typeof e==`string`)return e},[r,i]=(0,B.useState)(()=>n(t));return Cc(()=>{i((e&&`current`in e?e.current:e)?.tagName.toLowerCase()||n(t))},[e,t]),r}function Ac(e,t,n){let r=wc(n),[i,a]=(0,B.useState)(r);return(0,B.useEffect)(()=>{let n=e&&`current`in e?e.current:e;if(!n)return;let i=()=>{a(n.getAttribute(t)??r)},o=new MutationObserver(i);return o.observe(n,{attributeFilter:[t]}),i(),()=>o.disconnect()},[e,t,r]),i}function jc(e,t){let n=(0,B.useRef)(!1);(0,B.useEffect)(()=>{if(n.current)return e();n.current=!0},t),(0,B.useEffect)(()=>()=>{n.current=!1},[])}function Mc(e,t){let n=(0,B.useRef)(!1);Cc(()=>{if(n.current)return e();n.current=!0},t),Cc(()=>()=>{n.current=!1},[])}function Nc(){return(0,B.useReducer)(()=>[],[])}function J(e){return q(typeof e==`function`?e:()=>e)}function Pc(e,t,n=[]){let r=(0,B.useCallback)(n=>(e.wrapElement&&(n=e.wrapElement(n)),t(n)),[...n,e.wrapElement]);return{...e,wrapElement:r}}function Fc(e=!1,t){let[n,r]=(0,B.useState)(null);return{portalRef:Dc(r,t),portalNode:n,domReady:!e||n}}function Ic(e,t,n){let r=e.onLoadedMetadataCapture,i=(0,B.useMemo)(()=>Object.assign(()=>{},r,{[t]:n}),[r,t,n]);return[r?.[t],{onLoadedMetadataCapture:i}]}var Lc=!1;function Rc(){return(0,B.useEffect)(()=>{Lc||=(yc(`mousemove`,Uc,!0),yc(`mousedown`,Wc,!0),yc(`mouseup`,Wc,!0),yc(`keydown`,Wc,!0),yc(`scroll`,Wc,!0),!0)},[]),q(()=>zc)}var zc=!1,Bc=0,Vc=0;function Hc(e){let t=e.movementX||e.screenX-Bc,n=e.movementY||e.screenY-Vc;return Bc=e.screenX,Vc=e.screenY,t||n||!1}function Uc(e){Hc(e)&&(zc=!0)}function Wc(){zc=!1}function Gc(e){let t=B.forwardRef((t,n)=>e({...t,ref:n}));return t.displayName=e.displayName||e.name,t}function Kc(e,t){return B.memo(e,t)}function qc(e,t){let{wrapElement:n,render:r,...i}=t,a=Dc(t.ref,Rs(r)),o;if(B.isValidElement(r)){let e={...r.props,ref:a};o=B.cloneElement(r,zs(i,e))}else o=r?r(i):(0,H.jsx)(e,{...i});return n?n(o):o}function Jc(e){let t=(t={})=>e(t);return t.displayName=e.name,t}function Yc(e=[],t=[]){let n=B.createContext(void 0),r=B.createContext(void 0),i=()=>B.useContext(n),a=(e=!1)=>{let t=B.useContext(r),n=i();return e?t:t||n},o=()=>{let e=B.useContext(r),t=i();if(!(e&&e===t))return t},s=t=>e.reduceRight((e,n)=>(0,H.jsx)(n,{...t,children:e}),(0,H.jsx)(n.Provider,{...t}));return{context:n,scopedContext:r,useContext:i,useScopedContext:a,useProviderContext:o,ContextProvider:s,ScopedContextProvider:e=>(0,H.jsx)(s,{...e,children:t.reduceRight((t,n)=>(0,H.jsx)(n,{...e,children:t}),(0,H.jsx)(r.Provider,{...e}))})}}var Xc=Yc(),Zc=Xc.useContext;Xc.useScopedContext,Xc.useProviderContext;var Qc=Xc.ContextProvider,$c=Xc.ScopedContextProvider,el=Yc([Qc],[$c]),tl=el.useContext;el.useScopedContext;var nl=el.useProviderContext,rl=el.ContextProvider,il=el.ScopedContextProvider,al=(0,B.createContext)(void 0),ol=(0,B.createContext)(void 0);function sl(e,t){return e.find(e=>t?!e.disabled&&e.id!==t:!e.disabled)}function cl(e,t){return t&&e.item(t)||null}function ll(e){let t=[];for(let n of e){let e=t.find(e=>e[0]?.rowId===n.rowId);e?e.push(n):t.push([n])}return t}function ul(e,t=!1){if(Xs(e))e.setSelectionRange(t?e.value.length:0,e.value.length);else if(e.isContentEditable){let n=Hs(e).getSelection();n?.selectAllChildren(e),t&&n?.collapseToEnd()}}var dl=Symbol(`FOCUS_SILENTLY`);function fl(e){e[dl]=!0,e.focus({preventScroll:!0})}function pl(e){let t=e[dl];return delete e[dl],t}function ml(e,t,n){if(!t||t===n)return!1;let r=e.item(t.id);return!(!r||n&&r.element===n)}var hl=`div`,gl=Jc(function({store:e,shouldRegisterItem:t=!0,getItem:n=As,element:r,...i}){let a=Zc();e||=a;let o=Oc(i.id),s=(0,B.useRef)(r);return(0,B.useEffect)(()=>{let r=s.current;if(!o||!r||!t)return;let i=n({id:o,element:r});return e?.renderItem(i)},[o,t,n,e]),i={...i,ref:Dc(s,i.ref)},Fs(i)});Gc(function(e){return qc(hl,gl(e))});var _l=(0,B.createContext)(!0),vl=`input:not([type='hidden']):not([disabled]), select:not([disabled]), textarea:not([disabled]), a[href], button:not([disabled]), [tabindex], summary, iframe, object, embed, area[href], audio[controls], video[controls], [contenteditable]:not([contenteditable='false'])`;function yl(e){return Number.parseInt(e.getAttribute(`tabindex`)||`0`,10)<0}function bl(e){return!(!e.matches(vl)||!Ys(e)||e.closest(`[inert]`))}function xl(e){if(!bl(e)||yl(e))return!1;if(!(`form`in e)||!e.form||e.checked||e.type!==`radio`)return!0;let t=e.form.elements.namedItem(e.name);if(!t||!(`length`in t))return!0;let n=Ws(e);return!n||n===e||!(`form`in n)||n.form!==e.form||n.name!==e.name}function Sl(e,t){let n=Array.from(e.querySelectorAll(vl));t&&n.unshift(e);let r=n.filter(bl);return r.forEach((e,t)=>{if(!Ks(e))return;let n=e.contentDocument?.body;n&&r.splice(t,1,...Sl(n))}),r}function Cl(e,t,n){let r=Array.from(e.querySelectorAll(vl)),i=r.filter(xl);return t&&xl(e)&&i.unshift(e),i.forEach((e,t)=>{if(!Ks(e))return;let r=e.contentDocument?.body;if(!r)return;let a=Cl(r,!1,n);i.splice(t,1,...a)}),!i.length&&n?r:i}function wl(e,t,n){let[r]=Cl(e,t,n);return r||null}function Tl(e,t,n,r){let i=Ws(e),a=Sl(e,t),o=a.indexOf(i),s=a.slice(o+1);return s.find(xl)||(n?a.find(xl):null)||(r?s[0]:null)||null}function El(e,t){return Tl(document.body,!1,e,t)}function Dl(e,t,n,r){let i=Ws(e),a=Sl(e,t).reverse(),o=a.indexOf(i),s=a.slice(o+1);return s.find(xl)||(n?a.find(xl):null)||(r?s[0]:null)||null}function Ol(e,t){return Dl(document.body,!1,e,t)}function kl(e){for(;e&&!bl(e);)e=e.closest(vl);return e||null}function Al(e){let t=Ws(e);if(!t)return!1;if(t===e)return!0;let n=t.getAttribute(`aria-activedescendant`);return n?n===e.id:!1}function jl(e){let t=Ws(e);if(!t)return!1;if(Gs(e,t))return!0;let n=t.getAttribute(`aria-activedescendant`);return!n||!(`id`in e)?!1:n===e.id?!0:!!e.querySelector(`#${CSS.escape(n)}`)}function Ml(e){!jl(e)&&bl(e)&&e.focus()}function Nl(e){let t=e.getAttribute(`tabindex`)??``;e.setAttribute(`data-tabindex`,t),e.setAttribute(`tabindex`,`-1`)}function Pl(e,t){let n=Cl(e,t);for(let e of n)Nl(e)}function Fl(e){let t=e.querySelectorAll(`[data-tabindex]`),n=e=>{let t=e.getAttribute(`data-tabindex`);e.removeAttribute(`data-tabindex`),t?e.setAttribute(`tabindex`,t):e.removeAttribute(`tabindex`)};e.hasAttribute(`data-tabindex`)&&n(e);for(let e of t)n(e)}function Il(e,t){`scrollIntoView`in e?(e.focus({preventScroll:!0}),e.scrollIntoView({block:`nearest`,inline:`nearest`,...t})):e.focus()}var Ll=`div`,Y=sc(),X=[`text`,`search`,`url`,`tel`,`email`,`password`,`number`,`date`,`month`,`week`,`time`,`datetime`,`datetime-local`],Rl=Symbol(`safariFocusAncestor`);function zl(e){return e?!!e[Rl]:!1}function Bl(e,t){e&&(e[Rl]=t)}function Vl(e){let{tagName:t,readOnly:n,type:r}=e;return t===`TEXTAREA`&&!n||t===`SELECT`&&!n?!0:t===`INPUT`&&!n?X.includes(r):!!(e.isContentEditable||e.getAttribute(`role`)===`combobox`&&e.dataset.name)}function Hl(e){return`labels`in e?e.labels:null}function Ul(e){return e.tagName.toLowerCase()===`input`&&e.type?e.type===`radio`||e.type===`checkbox`:!1}function Wl(e){return e?e===`button`||e===`summary`||e===`input`||e===`select`||e===`textarea`||e===`a`:!0}function Gl(e){return e?e===`button`||e===`input`||e===`select`||e===`textarea`:!0}function Kl(e,t,n,r,i){return e?t?n&&!r?-1:void 0:n?i:i||0:i}function ql(e,t){return q(n=>{e?.(n),!n.defaultPrevented&&t&&(n.stopPropagation(),n.preventDefault())})}var Jl=!1,Yl=!0;function Xl(e){let t=e.target;t&&`hasAttribute`in t&&(t.hasAttribute(`data-focus-visible`)||(Yl=!1))}function Zl(e){e.metaKey||e.ctrlKey||e.altKey||(Yl=!0)}var Ql=Jc(function({focusable:e=!0,accessibleWhenDisabled:t,autoFocus:n,onFocusVisible:r,...i}){let a=(0,B.useRef)(null);(0,B.useEffect)(()=>{e&&(Jl||=(yc(`mousedown`,Xl,!0),yc(`keydown`,Zl,!0),!0))},[e]),Y&&(0,B.useEffect)(()=>{if(!e)return;let t=a.current;if(!t||!Ul(t))return;let n=Hl(t);if(!n)return;let r=()=>queueMicrotask(()=>t.focus());for(let e of n)e.addEventListener(`mouseup`,r);return()=>{for(let e of n)e.removeEventListener(`mouseup`,r)}},[e]);let o=e&&Ps(i),s=!!o&&!t,[c,l]=(0,B.useState)(!1);(0,B.useEffect)(()=>{e&&s&&c&&l(!1)},[e,s,c]),(0,B.useEffect)(()=>{if(!e||!c)return;let t=a.current;if(!t||typeof IntersectionObserver>`u`)return;let n=new IntersectionObserver(()=>{bl(t)||l(!1)});return n.observe(t),()=>n.disconnect()},[e,c]);let u=ql(i.onKeyPressCapture,o),d=ql(i.onMouseDownCapture,o),f=ql(i.onClickCapture,o),p=i.onMouseDown,m=q(t=>{if(p?.(t),t.defaultPrevented||!e)return;let n=t.currentTarget;if(!Y||uc(t)||!qs(n)&&!Ul(n))return;let r=!1,i=()=>{r=!0};n.addEventListener(`focusin`,i,{capture:!0,once:!0});let a=kl(n.parentElement);Bl(a,!0),vc(n,`mouseup`,()=>{n.removeEventListener(`focusin`,i,!0),Bl(a,!1),!r&&Ml(n)})}),h=(t,n)=>{if(n&&(t.currentTarget=n),!e)return;let i=t.currentTarget;i&&Al(i)&&(r?.(t),!t.defaultPrevented&&(i.dataset.focusVisible=`true`,l(!0)))},g=i.onKeyDownCapture,_=q(t=>{if(g?.(t),t.defaultPrevented||!e||c||t.metaKey||t.altKey||t.ctrlKey||!dc(t))return;let n=t.currentTarget;vc(n,`focusout`,()=>h(t,n))}),v=i.onFocusCapture,y=q(t=>{if(v?.(t),t.defaultPrevented||!e)return;if(!dc(t)){l(!1);return}let n=t.currentTarget;Yl||Vl(t.target)?vc(t.target,`focusout`,()=>h(t,n)):l(!1)}),b=i.onBlur,x=q(t=>{b?.(t),e&&_c(t)&&(t.currentTarget.removeAttribute(`data-focus-visible`),l(!1))}),S=(0,B.useContext)(_l),C=q(t=>{e&&n&&t&&S&&queueMicrotask(()=>{Al(t)||bl(t)&&t.focus()})}),w=kc(a),T=e&&Wl(w),E=e&&Gl(w),D=i.style,O=(0,B.useMemo)(()=>s?{pointerEvents:`none`,...D}:D,[s,D]);return i={"data-focus-visible":e&&c||void 0,"data-autofocus":n||void 0,"aria-disabled":o||void 0,...i,ref:Dc(a,C,i.ref),style:O,tabIndex:Kl(e,s,T,E,i.tabIndex),disabled:E&&s?!0:void 0,contentEditable:o?void 0:i.contentEditable,onKeyPressCapture:u,onClickCapture:f,onMouseDownCapture:d,onMouseDown:m,onKeyDownCapture:_,onFocusCapture:y,onBlur:x},Fs(i)});Gc(function(e){return qc(Ll,Ql(e))});var $l=`button`;function eu(e){if(!e.isTrusted)return!1;let t=e.currentTarget;return e.key===`Enter`?qs(t)||t.tagName===`SUMMARY`||t.tagName===`A`:e.key===` `?qs(t)||t.tagName===`SUMMARY`||t.tagName===`INPUT`||t.tagName===`SELECT`:!1}var tu=Symbol(`command`),nu=Jc(function({clickOnEnter:e=!0,clickOnSpace:t=!0,...n}){let r=(0,B.useRef)(null),[i,a]=(0,B.useState)(!1);(0,B.useEffect)(()=>{r.current&&a(qs(r.current))},[]);let[o,s]=(0,B.useState)(!1),c=(0,B.useRef)(!1),l=Ps(n),[u,d]=Ic(n,tu,!0),f=n.onKeyDown,p=q(n=>{f?.(n);let r=n.currentTarget;if(n.defaultPrevented||u||l||!dc(n)||Xs(r)||r.isContentEditable)return;let i=e&&n.key===`Enter`,a=t&&n.key===` `,o=n.key===`Enter`&&!e,d=n.key===` `&&!t;if(o||d){n.preventDefault();return}if(i||a){let e=eu(n);if(i){if(!e){n.preventDefault();let{view:e,...t}=n,i=()=>gc(r,t);cc()?vc(r,`keyup`,i):queueMicrotask(i)}}else a&&(c.current=!0,e||(n.preventDefault(),s(!0)))}}),m=n.onKeyUp,h=q(e=>{if(m?.(e),e.defaultPrevented||u||l||e.metaKey)return;let n=t&&e.key===` `;if(c.current&&n&&(c.current=!1,!eu(e))){e.preventDefault(),s(!1);let t=e.currentTarget,{view:n,...r}=e;queueMicrotask(()=>gc(t,r))}});return n={"data-active":o||void 0,type:i?`button`:void 0,...d,...n,ref:Dc(r,n.ref),onKeyDown:p,onKeyUp:h},n=Ql(n),n});Gc(function(e){return qc($l,nu(e))});function ru(e,t){let n=e.__unstableInternals;return js(n,`Invalid store`),n[t]}function iu(e,...t){let n=e,r=n,i=Symbol(),a=xs,o=new Set,s=new Set,c=new Set,l=new Set,u=new Set,d=new WeakMap,f=new WeakMap,p=e=>(c.add(e),()=>c.delete(e)),m=()=>{let e=o.size,r=Symbol();o.add(r);let i=()=>{o.delete(r),!o.size&&a()};if(e)return i;let s=Ms(n).map(e=>Es(...t.map(t=>{let n=(t?.getState)?.call(t);if(n&&Ts(n,e))return cu(t,[e],t=>{S(e,t[e],!0)})}))),l=[];for(let e of c)l.push(e());let u=t.map(ou);return a=Es(...s,...l,...u),i},h=(e,t,n=l)=>(n.add(t),f.set(t,e),()=>{var e;(e=d.get(t))==null||e(),d.delete(t),f.delete(t),n.delete(t)}),g=(e,t)=>h(e,t),_=(e,t)=>(d.set(t,t(n,n)),h(e,t)),v=(e,t)=>(d.set(t,t(n,r)),h(e,t,u)),y=e=>iu(ks(n,e),C),b=e=>iu(Os(n,e),C),x=()=>n,S=(e,a,o=!1)=>{var c;if(!Ts(n,e))return;let p=Ss(a,n[e]);if(p===n[e])return;if(!o)for(let n of t)(c=n?.setState)==null||c.call(n,e,p);let m=n;n={...n,[e]:p};let h=Symbol();i=h,s.add(e);let g=(t,r,i)=>{var a;let o=f.get(t);(!o||o.some(t=>i?i.has(t):t===e))&&((a=d.get(t))==null||a(),d.set(t,t(n,r)))};for(let e of l)g(e,m);queueMicrotask(()=>{if(i!==h)return;let e=n;for(let e of u)g(e,r,s);r=e,s.clear()})},C={getState:x,setState:S,__unstableInternals:{setup:p,init:m,subscribe:g,sync:_,batch:v,pick:y,omit:b}};return C}function au(e,...t){if(e)return ru(e,`setup`)(...t)}function ou(e,...t){if(e)return ru(e,`init`)(...t)}function su(e,...t){if(e)return ru(e,`subscribe`)(...t)}function cu(e,...t){if(e)return ru(e,`sync`)(...t)}function lu(e,...t){if(e)return ru(e,`batch`)(...t)}function uu(e,...t){if(e)return ru(e,`omit`)(...t)}function du(e,...t){if(e)return ru(e,`pick`)(...t)}function fu(...e){let t={};for(let n of e){let e=(n?.getState)?.call(n);e&&Object.assign(t,e)}let n=iu(t,...e);return Object.assign({},...e,n)}var{useSyncExternalStore:pu}=e(ne(),1).default,mu=()=>()=>{};function Z(e,t=As){let n=B.useCallback(t=>e?su(e,null,t):mu(),[e]),r=()=>{let n=typeof t==`string`?t:null,r=typeof t==`function`?t:null,i=e?.getState();if(r)return r(i);if(i&&n&&Ts(i,n))return i[n]};return pu(n,r,r)}function hu(e,t){let n=B.useRef({}),r=B.useCallback(t=>e?su(e,null,t):mu(),[e]),i=()=>{let r=e?.getState(),i=!1,a=n.current;for(let e in t){let n=t[e];if(typeof n==`function`){let t=n(r);t!==a[e]&&(a[e]=t,i=!0)}if(typeof n==`string`){if(!r||!Ts(r,n))continue;let t=r[n];t!==a[e]&&(a[e]=t,i=!0)}}return i&&(n.current={...a}),n.current};return pu(r,i,i)}function gu(e,t,n,r){let i=Ts(t,n)?t[n]:void 0,a=Tc({value:i,setValue:r?t[r]:void 0});Cc(()=>cu(e,[n],(e,t)=>{let{value:r,setValue:i}=a.current;i&&e[n]!==t[n]&&e[n]!==r&&i(e[n])}),[e,n]),Cc(()=>{if(i!==void 0)return e.setState(n,i),lu(e,[n],()=>{i!==void 0&&e.setState(n,i)})})}function _u(e,t){let[n,r]=B.useState(()=>e(t));Cc(()=>ou(n),[n]);let i=B.useCallback(e=>Z(n,e),[n]);return[B.useMemo(()=>({...n,useState:i}),[n,i]),q(()=>{r(n=>e({...t,...n.getState()}))})]}var vu=`button`;function yu(e){return Zs(e)?!0:e.tagName===`INPUT`&&!qs(e)}function bu(e,t=!1){let n=e.clientHeight,{top:r}=e.getBoundingClientRect(),i=Math.max(n*.875,n-40)*1.5,a=t?n-i+r:i+r;return e.tagName===`HTML`?a+e.scrollTop:a}function xu(e,t=!1){let{top:n}=e.getBoundingClientRect();return t?n+e.clientHeight:n}function Su(e,t,n,r=!1){if(!t||!n)return;let{renderedItems:i}=t.getState(),a=tc(e);if(!a)return;let o=bu(a,r),s,c;for(let e=0;e=0){c!==void 0&&ce.rowId===m);return f.ariaPosInSet+t.findIndex(e=>e.id===u)},isTabbable(t){if(!t?.renderedItems.length)return!0;if(t.virtualFocus)return!1;if(i)return!0;if(t.activeId===null)return!1;let n=e?.item(t.activeId);return n?.disabled||!n?.element?!0:t.activeId===u}}),b=(0,B.useCallback)(e=>{let t={...e,id:u||e.id,rowId:m,disabled:!!p,children:e.element?.textContent};return a?a(t):t},[u,m,p,a]),x=c.onFocus,S=(0,B.useRef)(!1),C=q(t=>{if(x?.(t),t.defaultPrevented||uc(t)||!u||!e||Cu(t,e))return;let{virtualFocus:n,baseElement:r}=e.getState();e.setActiveId(u),Zs(t.currentTarget)&&ul(t.currentTarget),n&&dc(t)&&(yu(t.currentTarget)||r?.isConnected&&(sc()&&t.currentTarget.hasAttribute(`data-autofocus`)&&t.currentTarget.scrollIntoView({block:`nearest`,inline:`nearest`}),S.current=!0,t.relatedTarget===r||ml(e,t.relatedTarget)?fl(r):r.focus()))}),w=c.onBlurCapture,T=q(t=>{w?.(t),!t.defaultPrevented&&e?.getState()?.virtualFocus&&S.current&&(S.current=!1,t.preventDefault(),t.stopPropagation())}),E=c.onKeyDown,D=J(n),O=J(r),k=q(t=>{if(E?.(t),t.defaultPrevented||!dc(t)||!e)return;let{currentTarget:n}=t,r=e.getState(),i=!!e.item(u)?.rowId,a=r.orientation!==`horizontal`,o=r.orientation!==`vertical`,s=()=>!!(i||o||!r.baseElement||!Xs(r.baseElement)),c={ArrowUp:(i||a)&&e.up,ArrowRight:(i||o)&&e.next,ArrowDown:(i||a)&&e.down,ArrowLeft:(i||o)&&e.previous,Home:()=>{if(s())return!i||t.ctrlKey?e?.first():e?.previous(-1)},End:()=>{if(s())return!i||t.ctrlKey?e?.last():e?.next(-1)},PageUp:()=>Su(n,e,e?.up,!0),PageDown:()=>Su(n,e,e?.down)}[t.key];if(c){if(Zs(n)){let e=$s(n),r=o&&t.key===`ArrowLeft`,i=o&&t.key===`ArrowRight`,s=a&&t.key===`ArrowUp`,c=a&&t.key===`ArrowDown`;if(i||c){let{length:t}=Qs(n);if(e.end!==t)return}else if((r||s)&&e.start!==0)return}let r=c();if(D(t)||r!==void 0){if(!O(t))return;t.preventDefault(),e.move(r)}}}),A=(0,B.useMemo)(()=>({id:u,baseElement:h}),[u,h]);return c=Pc(c,e=>(0,H.jsx)(al.Provider,{value:A,children:e}),[A]),c={"data-active-item":g||void 0,...c,id:u,ref:Dc(d,c.ref),tabIndex:y?c.tabIndex:-1,onFocus:C,onBlurCapture:T,onKeyDown:k},c=nu(c),c=gl({store:e,...c,getItem:b,shouldRegisterItem:u?c.shouldRegisterItem:!1}),Fs({...c,"aria-setsize":_,"aria-posinset":v})});Kc(Gc(function(e){return qc(vu,wu(e))}));function Tu(e){let t=[];for(let n of e)t.push(...n);return t}function Eu(e){return e.slice().reverse()}var Du=`div`;function Ou(e){return e.some(e=>!!e.rowId)}function ku(e){let t=e.target;return t&&!Xs(t)?!1:e.key.length===1&&!e.ctrlKey&&!e.metaKey}function Au(e){return e.key===`Shift`||e.key===`Control`||e.key===`Alt`||e.key===`Meta`}function ju(e,t,n){return q(r=>{if(t?.(r),r.defaultPrevented||r.isPropagationStopped()||!dc(r)||Au(r)||ku(r))return;let i=cl(e,e.getState().activeId)?.element;if(!i)return;let{view:a,...o}=r;i!==n?.current&&i.focus(),hc(i,r.type,o)||r.preventDefault(),r.currentTarget.contains(i)&&r.stopPropagation()})}function Mu(e){return sl(Tu(Eu(ll(e))))}function Nu(e,t){let{virtualFocus:n,baseElement:r}=e.getState();if(!n||!r||!Xs(r)){t();return}let i=r.scrollLeft,a=r.scrollTop;t(),r.scrollLeft=i,r.scrollTop=a}function Pu(e){let[t,n]=(0,B.useState)(!1),r=(0,B.useCallback)(()=>n(!0),[]),i=Z(e,t=>cl(e,t.activeId));return(0,B.useEffect)(()=>{let r=i?.element;t&&r&&(n(!1),Nu(e,()=>{r.focus({preventScroll:!0})}))},[e,i,t]),r}var Fu=Jc(function({store:e,composite:t=!0,focusOnMove:n=t,moveOnKeyPress:r=!0,...i}){let a=nl();e||=a,js(e,!1);let o=(0,B.useRef)(null),s=(0,B.useRef)(null),c=Pu(e),l=Z(e,`moves`),[,u]=Ec(t?e.setBaseElement:null);(0,B.useEffect)(()=>{if(!e||!l||!t||!n)return;let{activeId:r}=e.getState(),i=cl(e,r)?.element;i&&Nu(e,()=>Il(i))},[e,l,t,n]),Cc(()=>{if(!e||!l||!t)return;let{baseElement:n,activeId:r}=e.getState();if(r!==null||!n)return;let i=s.current;s.current=null,i&&mc(i,{relatedTarget:n}),Al(n)||n.focus()},[e,l,t]);let d=Z(e,`activeId`),f=Z(e,`virtualFocus`);Cc(()=>{if(!e||!t||!f)return;let n=s.current;if(s.current=null,!n)return;let r=cl(e,d)?.element||Ws(n);r!==n&&mc(n,{relatedTarget:r})},[e,d,f,t]);let p=ju(e,i.onKeyDownCapture,s),m=ju(e,i.onKeyUpCapture,s),h=i.onFocusCapture,g=q(t=>{if(h?.(t),t.defaultPrevented||!e)return;let{virtualFocus:n}=e.getState();if(!n)return;let r=t.relatedTarget,i=pl(t.currentTarget);dc(t)&&i&&(t.stopPropagation(),s.current=r)}),_=i.onFocus,v=q(n=>{if(_?.(n),n.defaultPrevented||!t||!e)return;let{relatedTarget:r}=n,{virtualFocus:i}=e.getState();i?dc(n)&&!ml(e,r)&&queueMicrotask(c):dc(n)&&e.setActiveId(null)}),y=i.onBlurCapture,b=q(t=>{if(y?.(t),t.defaultPrevented||!e)return;let{virtualFocus:n,activeId:r}=e.getState();if(!n)return;let i=cl(e,r)?.element,a=t.relatedTarget,o=ml(e,a),c=s.current;s.current=null,dc(t)&&o?(a===i?c&&c!==a&&mc(c,t):i?mc(i,t):c&&mc(c,t),t.stopPropagation()):!ml(e,t.target)&&i&&mc(i,t)}),x=i.onKeyDown,S=J(r),C=q(t=>{if(x?.(t),t.nativeEvent.isComposing||t.defaultPrevented||!e||!dc(t))return;let{orientation:n,renderedItems:r,activeId:i}=e.getState();if(cl(e,i)?.element?.isConnected)return;let a=n!==`horizontal`,o=n!==`vertical`,s=Ou(r);if((t.key===`ArrowLeft`||t.key===`ArrowRight`||t.key===`Home`||t.key===`End`)&&Xs(t.currentTarget))return;let c={ArrowUp:(s||a)&&(()=>s?Mu(r)?.id:e?.last()),ArrowRight:(s||o)&&e.first,ArrowDown:(s||a)&&e.first,ArrowLeft:(s||o)&&e.last,Home:e.first,End:e.last,PageUp:e.first,PageDown:e.last}[t.key];if(c){let n=c();if(n!==void 0){if(!S(t))return;t.preventDefault(),e.move(n)}}});i=Pc(i,t=>(0,H.jsx)(rl,{value:e,children:t}),[e]);let w=Z(e,n=>{if(e&&t&&n.virtualFocus)return cl(e,n.activeId)?.id});return i={"aria-activedescendant":w,...i,ref:Dc(o,u,i.ref),onKeyDownCapture:p,onKeyUpCapture:m,onFocusCapture:g,onFocus:v,onBlurCapture:b,onKeyDown:C},i=Ql({focusable:Z(e,e=>t&&(e.virtualFocus||e.activeId===null)),...i}),i});Gc(function(e){return qc(Du,Fu(e))});var Iu=Yc();Iu.useContext,Iu.useScopedContext;var Lu=Iu.useProviderContext,Ru=Iu.ContextProvider,zu=Iu.ScopedContextProvider,Bu=Yc([Ru],[zu]);Bu.useContext,Bu.useScopedContext;var Vu=Bu.useProviderContext,Hu=Bu.ContextProvider,Uu=Bu.ScopedContextProvider,Wu=(0,B.createContext)(void 0),Gu=(0,B.createContext)(void 0),Ku=`div`;function qu(e,t){let n=setTimeout(t,e);return()=>clearTimeout(n)}function Ju(e){let t=requestAnimationFrame(()=>{t=requestAnimationFrame(e)});return()=>cancelAnimationFrame(t)}function Yu(...e){return e.join(`, `).split(`, `).reduce((e,t)=>{let n=t.endsWith(`ms`)?1:1e3,r=Number.parseFloat(t||`0s`)*n;return r>e?r:e},0)}function Xu(e,t,n){return!n&&t!==!1&&(!e||!!t)}var Zu=Jc(function({store:e,alwaysVisible:t,...n}){let r=Lu();e||=r,js(e,!1);let i=(0,B.useRef)(null),a=Oc(n.id),[o,s]=(0,B.useState)(null),c=Z(e,`open`),l=Z(e,`mounted`),u=Z(e,`animated`),d=Z(e,`contentElement`),f=Z(e.disclosure,`contentElement`);Cc(()=>{i.current&&e?.setContentElement(i.current)},[e]),Cc(()=>{let t;return e?.setState(`animated`,e=>(t=e,!0)),()=>{t!==void 0&&e?.setState(`animated`,t)}},[e]),Cc(()=>{if(u){if(!d?.isConnected){s(null);return}return Ju(()=>{s(c?`enter`:l?`leave`:null)})}},[u,d,c,l]),Cc(()=>{if(!e||!u||!o||!d)return;let t=()=>e?.setState(`animating`,!1),n=()=>(0,pa.flushSync)(t);if(o===`leave`&&c||o===`enter`&&!c)return;if(typeof u==`number`)return qu(u,n);let{transitionDuration:r,animationDuration:i,transitionDelay:a,animationDelay:s}=getComputedStyle(d),{transitionDuration:l=`0`,animationDuration:p=`0`,transitionDelay:m=`0`,animationDelay:h=`0`}=f?getComputedStyle(f):{},g=Yu(a,s,m,h)+Yu(r,i,l,p);if(!g){o===`enter`&&e.setState(`animated`,!1),t();return}return qu(Math.max(g-1e3/60,0),n)},[e,u,d,f,c,o]),n=Pc(n,t=>(0,H.jsx)(Uu,{value:e,children:t}),[e]);let p=Xu(l,n.hidden,t),m=n.style,h=(0,B.useMemo)(()=>p?{...m,display:`none`}:m,[p,m]);return n={"data-open":c||void 0,"data-enter":o===`enter`||void 0,"data-leave":o===`leave`||void 0,hidden:p,...n,id:a,ref:Dc(a?e.setContentElement:null,i,n.ref),style:h},Fs(n)}),Qu=Gc(function(e){return qc(Ku,Zu(e))});Gc(function({unmountOnHide:e,...t}){let n=Lu();return Z(t.store||n,t=>!e||t?.mounted)===!1?null:(0,H.jsx)(Qu,{...t})});function $u(e={}){let t=fu(e.store,uu(e.disclosure,[`contentElement`,`disclosureElement`])),n=t?.getState(),r=K(e.open,n?.open,e.defaultOpen,!1),i=K(e.animated,n?.animated,!1),a=iu({open:r,animated:i,animating:!!i&&r,mounted:r,contentElement:K(n?.contentElement,null),disclosureElement:K(n?.disclosureElement,null)},t);return au(a,()=>cu(a,[`animated`,`animating`],e=>{e.animated||a.setState(`animating`,!1)})),au(a,()=>su(a,[`open`],()=>{a.getState().animated&&a.setState(`animating`,!0)})),au(a,()=>cu(a,[`open`,`animating`],e=>{a.setState(`mounted`,e.open||e.animating)})),{...a,disclosure:e.disclosure,setOpen:e=>a.setState(`open`,e),show:()=>a.setState(`open`,!0),hide:()=>a.setState(`open`,!1),toggle:()=>a.setState(`open`,e=>!e),stopAnimation:()=>a.setState(`animating`,!1),setContentElement:e=>a.setState(`contentElement`,e),setDisclosureElement:e=>a.setState(`disclosureElement`,e)}}function ed(e,t,n){return jc(t,[n.store,n.disclosure]),gu(e,n,`open`,`setOpen`),gu(e,n,`mounted`,`setMounted`),gu(e,n,`animated`),Object.assign(e,{disclosure:n.disclosure})}function td(e={}){let[t,n]=_u($u,e);return ed(t,n,e)}var nd=Yc([Hu],[Uu]);nd.useContext,nd.useScopedContext;var rd=nd.useProviderContext,id=nd.ContextProvider,ad=nd.ScopedContextProvider;function od(e){let t=e.find(e=>!!e.element),n=[...e].reverse().find(e=>!!e.element),r=t?.element?.parentElement;for(;r&&n?.element;){if(n&&r.contains(n.element))return r;r=r.parentElement}return Hs(r).body}function sd(e){return e?.__unstablePrivateStore}function cd(e={}){e.store;let t=e.store?.getState(),n=K(e.items,t?.items,e.defaultItems,[]),r=new Map(n.map(e=>[e.id,e])),i={items:n,renderedItems:K(t?.renderedItems,[])},a=sd(e.store),o=iu({items:n,renderedItems:i.renderedItems},a),s=iu(i,e.store),c=e=>{let t=rc(e,e=>e.element);o.setState(`renderedItems`,t),s.setState(`renderedItems`,t)};au(s,()=>ou(o)),au(o,()=>lu(o,[`items`],e=>{s.setState(`items`,e.items)})),au(o,()=>lu(o,[`renderedItems`],e=>{let t=!0,n=requestAnimationFrame(()=>{let{renderedItems:t}=s.getState();e.renderedItems!==t&&c(e.renderedItems)});if(typeof IntersectionObserver!=`function`)return()=>cancelAnimationFrame(n);let r=()=>{if(t){t=!1;return}cancelAnimationFrame(n),n=requestAnimationFrame(()=>c(e.renderedItems))},i=od(e.renderedItems),a=new IntersectionObserver(r,{root:i});for(let t of e.renderedItems)t.element&&a.observe(t.element);return()=>{cancelAnimationFrame(n),a.disconnect()}}));let l=(e,t,n=!1)=>{let i;return t(t=>{let n=t.findIndex(({id:t})=>t===e.id),a=t.slice();if(n!==-1){i=t[n];let o={...i,...e};a[n]=o,r.set(e.id,o)}else a.push(e),r.set(e.id,e);return a}),()=>{t(t=>{if(!i)return n&&r.delete(e.id),t.filter(({id:t})=>t!==e.id);let a=t.findIndex(({id:t})=>t===e.id);if(a===-1)return t;let o=t.slice();return o[a]=i,r.set(e.id,i),o})}},u=e=>l(e,e=>o.setState(`items`,e),!0);return{...s,registerItem:u,renderItem:e=>Es(u(e),l(e,e=>o.setState(`renderedItems`,e))),item:e=>{if(!e)return null;let t=r.get(e);if(!t){let{items:n}=o.getState();t=n.find(t=>t.id===e),t&&r.set(e,t)}return t||null},__unstablePrivateStore:o}}function ld(e,t,n){return jc(t,[n.store]),gu(e,n,`items`,`setItems`),e}var ud={id:null};function dd(e,t){return e.find(e=>t?!e.disabled&&e.id!==t:!e.disabled)}function fd(e,t){return e.filter(e=>t?!e.disabled&&e.id!==t:!e.disabled)}function pd(e,t){return e.filter(e=>e.rowId===t)}function md(e,t,n=!1){let r=e.findIndex(e=>e.id===t);return[...e.slice(r+1),...n?[ud]:[],...e.slice(0,r)]}function hd(e){let t=[];for(let n of e){let e=t.find(e=>e[0]?.rowId===n.rowId);e?e.push(n):t.push([n])}return t}function gd(e){let t=0;for(let{length:n}of e)n>t&&(t=n);return t}function _d(e){return{id:`__EMPTY_ITEM__`,disabled:!0,rowId:e}}function vd(e,t,n){let r=gd(e);for(let i of e)for(let e=0;ecu(i,[`renderedItems`,`activeId`],e=>{i.setState(`activeId`,t=>t===void 0?dd(e.renderedItems)?.id:t)}));let a=(e=`next`,t={})=>{let n=i.getState(),{skip:r=0,activeId:a=n.activeId,focusShift:o=n.focusShift,focusLoop:s=n.focusLoop,focusWrap:c=n.focusWrap,includesBaseElement:l=n.includesBaseElement,renderedItems:u=n.renderedItems,rtl:d=n.rtl}=t,f=e===`up`||e===`down`,p=e===`next`||e===`down`,m=p?d&&!f:!d||f,h=o&&!r,g=f?Tu(vd(hd(u),a,h)):u;if(g=m?Eu(g):g,g=f?yd(g):g,a==null)return dd(g)?.id;let _=g.find(e=>e.id===a);if(!_)return dd(g)?.id;let v=g.some(e=>e.rowId),y=g.indexOf(_),b=g.slice(y+1),x=pd(b,_.rowId);if(r){let e=fd(x,a);return(e.slice(r)[0]||e[e.length-1])?.id}let S=s&&(f?s!==`horizontal`:s!==`vertical`),C=v&&c&&(f?c!==`horizontal`:c!==`vertical`),w=p?(!v||f)&&S&&l:f?l:!1;if(S)return dd(md(C&&!w?g:pd(g,_.rowId),a,w),a)?.id;if(C){let e=dd(w?x:b,a);return w?e?.id||null:e?.id}let T=dd(x,a);return!T&&w?null:T?.id};return{...n,...i,setBaseElement:e=>i.setState(`baseElement`,e),setActiveId:e=>i.setState(`activeId`,e),move:e=>{e!==void 0&&(i.setState(`activeId`,e),i.setState(`moves`,e=>e+1))},first:()=>dd(i.getState().renderedItems)?.id,last:()=>dd(Eu(i.getState().renderedItems))?.id,next:e=>(e!==void 0&&typeof e==`number`&&(e={skip:e}),a(`next`,e)),previous:e=>(e!==void 0&&typeof e==`number`&&(e={skip:e}),a(`previous`,e)),down:e=>(e!==void 0&&typeof e==`number`&&(e={skip:e}),a(`down`,e)),up:e=>(e!==void 0&&typeof e==`number`&&(e={skip:e}),a(`up`,e))}}function bd(e){return{id:Oc(e.id),...e}}function xd(e,t,n){return e=ld(e,t,n),gu(e,n,`activeId`,`setActiveId`),gu(e,n,`includesBaseElement`),gu(e,n,`virtualFocus`),gu(e,n,`orientation`),gu(e,n,`rtl`),gu(e,n,`focusLoop`),gu(e,n,`focusWrap`),gu(e,n,`focusShift`),e}var Sd=(0,B.createContext)(void 0),Cd=Yc([id,rl],[ad,il]),wd=Cd.useContext,Td=Cd.useScopedContext,Ed=Cd.useProviderContext,Dd=Cd.ContextProvider,Od=Cd.ScopedContextProvider,kd=(0,B.createContext)(void 0),Ad=(0,B.createContext)(!1),jd=(0,B.createContext)(null),Md=`span`,Nd=Jc(function(e){return e={...e,style:{border:0,clip:`rect(0 0 0 0)`,height:`1px`,margin:`-1px`,overflow:`hidden`,padding:0,position:`absolute`,whiteSpace:`nowrap`,width:`1px`,...e.style}},e});Gc(function(e){return qc(Md,Nd(e))});var Pd=`span`,Fd=Jc(function(e){return e={"data-focus-trap":``,tabIndex:0,"aria-hidden":!0,...e,style:{position:`fixed`,top:0,left:0,...e.style}},e=Nd(e),e}),Id=Gc(function(e){return qc(Pd,Fd(e))}),Ld=`div`;function Rd(e){return Hs(e).body}function zd(e,t){return t?typeof t==`function`?t(e):t:Hs(e).createElement(`div`)}function Bd(e=`id`){return`${e?`${e}-`:``}${Math.random().toString(36).slice(2,8)}`}function Vd(e){queueMicrotask(()=>{e?.focus()})}var Hd=Jc(function({preserveTabOrder:e,preserveTabOrderAnchor:t,portalElement:n,portalRef:r,portal:i=!0,...a}){let o=(0,B.useRef)(null),s=Dc(o,a.ref),c=(0,B.useContext)(jd),[l,u]=(0,B.useState)(null),[d,f]=(0,B.useState)(null),p=(0,B.useRef)(null),m=(0,B.useRef)(null),h=(0,B.useRef)(null),g=(0,B.useRef)(null);return Cc(()=>{let e=o.current;if(!e||!i){u(null);return}let t=zd(e,n);if(!t){u(null);return}let a=t.isConnected;if(a||(c||Rd(e)).appendChild(t),t.id||=e.id?`portal/${e.id}`:Bd(),u(t),Is(r,t),!a)return()=>{t.remove(),Is(r,null)}},[i,n,c,r]),Cc(()=>{if(!i||!e||!t)return;let n=Hs(t).createElement(`span`);return n.style.position=`fixed`,t.insertAdjacentElement(`afterend`,n),f(n),()=>{n.remove(),f(null)}},[i,e,t]),(0,B.useEffect)(()=>{if(!l||!e)return;let t=0,n=e=>{if(!_c(e))return;let n=e.type===`focusin`;if(cancelAnimationFrame(t),n)return Fl(l);t=requestAnimationFrame(()=>{Pl(l,!0)})};return l.addEventListener(`focusin`,n,!0),l.addEventListener(`focusout`,n,!0),()=>{cancelAnimationFrame(t),l.removeEventListener(`focusin`,n,!0),l.removeEventListener(`focusout`,n,!0)}},[l,e]),a=Pc(a,t=>{if(t=(0,H.jsx)(jd.Provider,{value:l||c,children:t}),!i)return t;if(!l)return(0,H.jsx)(`span`,{ref:s,id:a.id,style:{position:`fixed`},hidden:!0});t=(0,H.jsxs)(H.Fragment,{children:[e&&l&&(0,H.jsx)(Id,{ref:m,"data-focus-trap":a.id,className:`__focus-trap-inner-before`,onFocus:e=>{_c(e,l)?Vd(El()):Vd(p.current)}}),t,e&&l&&(0,H.jsx)(Id,{ref:h,"data-focus-trap":a.id,className:`__focus-trap-inner-after`,onFocus:e=>{_c(e,l)?Vd(Ol()):Vd(g.current)}})]}),l&&(t=(0,pa.createPortal)(t,l));let n=(0,H.jsxs)(H.Fragment,{children:[e&&l&&(0,H.jsx)(Id,{ref:p,"data-focus-trap":a.id,className:`__focus-trap-outer-before`,onFocus:e=>{e.relatedTarget!==g.current&&_c(e,l)?Vd(m.current):Vd(Ol())}}),e&&(0,H.jsx)(`span`,{"aria-owns":l?.id,style:{position:`fixed`}}),e&&l&&(0,H.jsx)(Id,{ref:g,"data-focus-trap":a.id,className:`__focus-trap-outer-after`,onFocus:e=>{if(_c(e,l))Vd(h.current);else{let e=El();if(e===m.current){requestAnimationFrame(()=>El()?.focus());return}Vd(e)}}})]});return d&&e&&(n=(0,pa.createPortal)(n,d)),(0,H.jsxs)(H.Fragment,{children:[n,t]})},[l,c,i,a.id,e,d]),a={...a,ref:s},a});Gc(function(e){return qc(Ld,Hd(e))});var Ud=(0,B.createContext)(0);function Wd({level:e,children:t}){let n=(0,B.useContext)(Ud),r=Math.max(Math.min(e||n+1,6),1);return(0,H.jsx)(Ud.Provider,{value:r,children:t})}var Gd=`div`,Kd=Jc(function({autoFocusOnShow:e=!0,...t}){return t=Pc(t,t=>(0,H.jsx)(_l.Provider,{value:e,children:t}),[e]),t});Gc(function(e){return qc(Gd,Kd(e))});function qd(e,t){let n=Hs(e).createElement(`button`);return n.type=`button`,n.tabIndex=-1,n.textContent=`Dismiss popup`,Object.assign(n.style,{border:`0px`,clip:`rect(0 0 0 0)`,height:`1px`,margin:`-1px`,overflow:`hidden`,padding:`0px`,position:`absolute`,whiteSpace:`nowrap`,width:`1px`}),n.addEventListener(`click`,t),e.prepend(n),()=>{n.removeEventListener(`click`,t),n.remove()}}function Jd(e){let t=(0,B.useRef)(null);return(0,B.useEffect)(()=>{if(!e){t.current=null;return}return yc(`mousedown`,e=>{t.current=e.target},!0)},[e]),t}var Yd=new WeakMap;function Xd(e,t,n){Yd.has(e)||Yd.set(e,new Map);let r=Yd.get(e),i=r.get(t);if(!i)return r.set(t,n()),()=>{var e;(e=r.get(t))==null||e(),r.delete(t)};let a=n(),o=()=>{a(),i(),r.delete(t)};return r.set(t,o),()=>{r.get(t)===o&&(a(),r.set(t,i))}}function Zd(e,t,n){return Xd(e,t,()=>{let r=e.getAttribute(t);return e.setAttribute(t,n),()=>{r==null?e.removeAttribute(t):e.setAttribute(t,r)}})}function Qd(e,t,n){return Xd(e,t,()=>{let r=t in e,i=e[t];return e[t]=n,()=>{r?e[t]=i:delete e[t]}})}function $d(e,t){return e?Xd(e,`style`,()=>{let n=e.style.cssText;return Object.assign(e.style,t),()=>{e.style.cssText=n}}):()=>{}}function ef(e,t,n){return e?Xd(e,t,()=>{let r=e.style.getPropertyValue(t);return e.style.setProperty(t,n),()=>{r?e.style.setProperty(t,r):e.style.removeProperty(t)}}):()=>{}}var tf=[`SCRIPT`,`STYLE`];function nf(e){return`__ariakit-dialog-snapshot-${e}`}function rf(e,t){let n=Hs(t),r=nf(e);if(!n.body[r])return!0;do{if(t===n.body)return!1;if(t[r])return!0;if(!t.parentElement)return!1;t=t.parentElement}while(!0)}function af(e,t,n){return tf.includes(t.tagName)||!rf(e,t)?!1:!n.some(e=>e&&Gs(t,e))}function of(e,t,n,r){for(let i of t){if(!i?.isConnected)continue;let a=t.some(e=>!e||e===i?!1:e.contains(i)),o=Hs(i),s=i;for(;i.parentElement&&i!==o.body;){if(r?.(i.parentElement,s),!a)for(let r of i.parentElement.children)af(e,r,t)&&n(r,s);i=i.parentElement}}}function sf(e,t){let{body:n}=Hs(t[0]),r=[];return of(e,t,t=>{r.push(Qd(t,nf(e),!0))}),Es(Qd(n,nf(e),!0),()=>{for(let e of r)e()})}function cf(e,...t){if(!e)return!1;let n=e.getAttribute(`data-backdrop`);return n==null?!1:n===``||n===`true`||!t.length?!0:t.some(e=>n===e)}function lf(e=``,t=!1){return`__ariakit-dialog-${t?`ancestor`:`outside`}${e?`-${e}`:``}`}function uf(e,t=``){return Es(Qd(e,lf(),!0),Qd(e,lf(t),!0))}function df(e,t=``){return Es(Qd(e,lf(``,!0),!0),Qd(e,lf(t,!0),!0))}function ff(e,t){let n=lf(t,!0);if(e[n])return!0;let r=lf(t);do{if(e[r])return!0;if(!e.parentElement)return!1;e=e.parentElement}while(!0)}function pf(e,t){let n=[],r=t.map(e=>e?.id);return of(e,t,t=>{cf(t,...r)||n.unshift(uf(t,e))},(t,r)=>{r.hasAttribute(`data-dialog`)&&r.id!==e||n.unshift(df(t,e))}),()=>{for(let e of n)e()}}function mf(e){return e.tagName===`HTML`?!0:Gs(Hs(e).body,e)}function hf(e,t){if(!e)return!1;if(Gs(e,t))return!0;let n=t.getAttribute(`aria-activedescendant`);if(n){let t=Hs(e).getElementById(n);if(t)return Gs(e,t)}return!1}function gf(e,t){if(!(`clientY`in e))return!1;let n=t.getBoundingClientRect();return n.width===0||n.height===0?!1:n.top<=e.clientY&&e.clientY<=n.top+n.height&&n.left<=e.clientX&&e.clientX<=n.left+n.width}function _f({store:e,type:t,listener:n,capture:r,domReady:i}){let a=q(n),o=Z(e,`open`),s=(0,B.useRef)(!1);Cc(()=>{if(!o||!i)return;let{contentElement:t}=e.getState();if(!t)return;let n=()=>{s.current=!0};return t.addEventListener(`focusin`,n,!0),()=>t.removeEventListener(`focusin`,n,!0)},[e,o,i]),(0,B.useEffect)(()=>o?yc(t,t=>{let{contentElement:n,disclosureElement:r}=e.getState(),i=t.target;n&&i&&mf(i)&&(Gs(n,i)||hf(r,i)||i.hasAttribute(`data-focus-trap`)||gf(t,n)||s.current&&!ff(i,n.id)||zl(i)||a(t))},r):void 0,[o,r,e,t,a])}function vf(e,t){return typeof e==`function`?e(t):!!e}function yf(e,t,n){let r=Jd(Z(e,`open`)),i={store:e,domReady:n,capture:!0};_f({...i,type:`click`,listener:n=>{let{contentElement:i}=e.getState(),a=r.current;a&&Ys(a)&&ff(a,i?.id)&&vf(t,n)&&e.hide()}}),_f({...i,type:`focusin`,listener:n=>{let{contentElement:r}=e.getState();r&&n.target!==Hs(r)&&vf(t,n)&&e.hide()}}),_f({...i,type:`contextmenu`,listener:n=>{vf(t,n)&&e.hide()}})}var bf=(0,B.createContext)({});function xf(e){let t=(0,B.useContext)(bf),[n,r]=(0,B.useState)([]),i=(0,B.useCallback)(e=>(r(t=>[...t,e]),Es(t.add?.call(t,e),()=>{r(t=>t.filter(t=>t!==e))})),[t]);Cc(()=>cu(e,[`open`,`contentElement`],n=>{if(n.open&&n.contentElement)return t.add?.call(t,e)}),[e,t]);let a=(0,B.useMemo)(()=>({store:e,add:i}),[e,i]);return{wrapElement:(0,B.useCallback)(e=>(0,H.jsx)(bf.Provider,{value:a,children:e}),[a]),nestedDialogs:n}}function Sf({attribute:e,contentId:t,contentElement:n,enabled:r}){let[i,a]=Nc(),o=(0,B.useCallback)(()=>{if(!r||!n)return!1;let{body:i}=Hs(n),a=i.getAttribute(e);return!a||a===t},[i,r,n,e,t]);return(0,B.useEffect)(()=>{if(!r||!t||!n)return;let{body:i}=Hs(n);if(o())return i.setAttribute(e,t),()=>i.removeAttribute(e);let s=new MutationObserver(()=>(0,pa.flushSync)(a));return s.observe(i,{attributeFilter:[e]}),()=>s.disconnect()},[i,r,t,n,o,e]),o}function Cf(e){let t=e.getBoundingClientRect().left;return Math.round(t)+e.scrollLeft?`paddingLeft`:`paddingRight`}function wf(e,t,n){let r=Sf({attribute:`data-dialog-prevent-body-scroll`,contentElement:e,contentId:t,enabled:n});(0,B.useEffect)(()=>{if(!r()||!e)return;let t=Hs(e),n=Us(e),{documentElement:i,body:a}=t,o=i.style.getPropertyValue(`--scrollbar-width`),s=o?Number.parseInt(o,10):n.innerWidth-i.clientWidth,c=()=>ef(i,`--scrollbar-width`,`${s}px`),l=Cf(i),u=()=>$d(a,{overflow:`hidden`,[l]:`${s}px`}),d=()=>{let{scrollX:e,scrollY:t,visualViewport:r}=n,i=r?.offsetLeft??0,o=r?.offsetTop??0,c=$d(a,{position:`fixed`,overflow:`hidden`,top:`${-(t-Math.floor(o))}px`,left:`${-(e-Math.floor(i))}px`,right:`0`,[l]:`${s}px`});return()=>{c(),n.scrollTo({left:e,top:t,behavior:`instant`})}},f=oc()&&!lc();return Es(c(),f?d():u())},[r,e])}function Tf(e,...t){if(!e)return!1;let n=e.getAttribute(`data-focus-trap`);return n==null?!1:t.length?n===``?!1:t.some(e=>n===e):!0}function Ef(){return`inert`in HTMLElement.prototype}function Df(e){return Zd(e,`aria-hidden`,`true`)}function Of(e,t){return`style`in e?Ef()?Qd(e,`inert`,!0):Es(...Cl(e,!0).map(e=>{if(t?.some(t=>t&&Gs(t,e)))return xs;let n=Xd(e,`focus`,()=>(e.focus=xs,()=>{delete e.focus}));return Es(Zd(e,`tabindex`,`-1`),n)}),Df(e),$d(e,{pointerEvents:`none`,userSelect:`none`,cursor:`default`})):xs}function kf(e,t){let n=[],r=t.map(e=>e?.id);return of(e,t,e=>{cf(e,...r)||Tf(e,...r)||n.unshift(Of(e,t))},e=>{e.hasAttribute(`role`)&&(t.some(t=>t&&Gs(t,e))||n.unshift(Zd(e,`role`,`none`)))}),()=>{for(let e of n)e()}}var Af=`div`,jf=`a.button.details.dialog.div.form.h1.h2.h3.h4.h5.h6.header.img.input.label.li.nav.ol.p.section.select.span.summary.textarea.ul.svg`.split(`.`);Jc(function(e){return e});var Mf=Gc(function(e){return qc(Af,e)});Object.assign(Mf,jf.reduce((e,t)=>(e[t]=Gc(function(e){return qc(t,e)}),e),{}));function Nf({store:e,backdrop:t,alwaysVisible:n,hidden:r}){let i=(0,B.useRef)(null),a=td({disclosure:e}),o=Z(e,`contentElement`);(0,B.useEffect)(()=>{let e=i.current,t=o;e&&t&&(e.style.zIndex=getComputedStyle(t).zIndex)},[o]),Cc(()=>{let e=o?.id;if(!e)return;let t=i.current;if(t)return df(t,e)},[o]);let s=Zu({ref:i,store:a,role:`presentation`,"data-backdrop":o?.id||``,alwaysVisible:n,hidden:r??void 0,style:{position:`fixed`,top:0,right:0,bottom:0,left:0}});if(!t)return null;if((0,B.isValidElement)(t))return(0,H.jsx)(Mf,{...s,render:t});let c=typeof t==`boolean`?`div`:t;return(0,H.jsx)(Mf,{...s,render:(0,H.jsx)(c,{})})}function Pf(e={}){return $u(e)}function Ff(e,t,n){return ed(e,t,n)}function If(e={}){let[t,n]=_u(Pf,e);return Ff(t,n,e)}var Lf=`div`,Rf=sc();function zf(e){let t=Ws();return!t||e&&Gs(e,t)?!1:!!bl(t)}function Bf(e,t=!1){if(!e)return null;let n=`current`in e?e.current:e;return n?t?bl(n)?n:null:n:null}var Vf=Jc(function({store:e,open:t,onClose:n,focusable:r=!0,modal:i=!0,portal:a=!!i,backdrop:o=!!i,hideOnEscape:s=!0,hideOnInteractOutside:c=!0,getPersistentElements:l,preventBodyScroll:u=!!i,autoFocusOnShow:d=!0,autoFocusOnHide:f=!0,initialFocus:p,finalFocus:m,unmountOnHide:h,unstable_treeSnapshotKey:g,..._}){let v=Vu(),y=(0,B.useRef)(null),b=If({store:e||v,open:t,setOpen(e){if(e)return;let t=y.current;if(!t)return;let r=new Event(`close`,{bubbles:!1,cancelable:!0});n&&t.addEventListener(`close`,n,{once:!0}),t.dispatchEvent(r),r.defaultPrevented&&b.setOpen(!0)}}),{portalRef:x,domReady:S}=Fc(a,_.portalRef),C=_.preserveTabOrder,w=Z(b,e=>C&&!i&&e.mounted),T=Oc(_.id),E=Z(b,`open`),D=Z(b,`mounted`),O=Z(b,`contentElement`),k=Xu(D,_.hidden,_.alwaysVisible);wf(O,T,u&&!k),yf(b,c,S);let{wrapElement:A,nestedDialogs:j}=xf(b);_=Pc(_,A,[A]),Cc(()=>{if(!E)return;let e=y.current,t=Ws(e,!0);t&&t.tagName!==`BODY`&&(e&&Gs(e,t)||b.setDisclosureElement(t))},[b,E]),Rf&&(0,B.useEffect)(()=>{if(!D)return;let{disclosureElement:e}=b.getState();if(!e||!qs(e))return;let t=()=>{let t=!1,n=()=>{t=!0};e.addEventListener(`focusin`,n,{capture:!0,once:!0}),vc(e,`mouseup`,()=>{e.removeEventListener(`focusin`,n,!0),!t&&Ml(e)})};return e.addEventListener(`mousedown`,t),()=>{e.removeEventListener(`mousedown`,t)}},[b,D]),(0,B.useEffect)(()=>{if(!D||!S)return;let e=y.current;if(!e)return;let t=Us(e),n=t.visualViewport||t,r=()=>{let n=t.visualViewport?.height??t.innerHeight;e.style.setProperty(`--dialog-viewport-height`,`${n}px`)};return r(),n.addEventListener(`resize`,r),()=>{n.removeEventListener(`resize`,r)}},[D,S]),(0,B.useEffect)(()=>{if(!i||!D||!S)return;let e=y.current;if(e&&!e.querySelector(`[data-dialog-dismiss]`))return qd(e,b.hide)},[b,i,D,S]),Cc(()=>{if(!Ef()||E||!D||!S)return;let e=y.current;if(e)return Of(e)},[E,D,S]);let M=E&&S;Cc(()=>{if(!T||!M)return;let e=y.current;return sf(T,[e])},[T,M,g]);let ee=q(l);Cc(()=>{if(!T||!M)return;let{disclosureElement:e}=b.getState(),t=[y.current,...ee()||[],...j.map(e=>e.getState().contentElement)];return i?Es(pf(T,t),kf(T,t)):pf(T,[e,...t])},[T,b,M,ee,j,i,g]);let te=!!d,N=J(d),[P,ne]=(0,B.useState)(!1);(0,B.useEffect)(()=>{if(!E||!te||!S||!O?.isConnected)return;let e=Bf(p,!0)||O.querySelector(`[data-autofocus=true],[autofocus]`)||wl(O,!0,a&&w)||O,t=bl(e);N(t?e:null)&&(ne(!0),queueMicrotask(()=>{e.focus(),Rf&&t&&e.scrollIntoView({block:`nearest`,inline:`nearest`})}))},[E,te,S,O,p,a,w,N]);let F=!!f,re=J(f),[ie,I]=(0,B.useState)(!1);(0,B.useEffect)(()=>{if(E)return I(!0),()=>I(!1)},[E]);let L=(0,B.useCallback)((e,t=!0)=>{let{disclosureElement:n}=b.getState();if(zf(e))return;let r=Bf(m)||n;if(r?.id){let e=Hs(r),t=`[aria-activedescendant="${r.id}"]`,n=e.querySelector(t);n&&(r=n)}if(r&&!bl(r)){let e=r.closest(`[data-dialog]`);if(e?.id){let t=Hs(e),n=`[aria-controls~="${e.id}"]`,i=t.querySelector(n);i&&(r=i)}}let i=r&&bl(r);if(!i&&t){requestAnimationFrame(()=>L(e,!1));return}re(i?r:null)&&i&&r?.focus({preventScroll:!0})},[b,m,re]),R=(0,B.useRef)(!1);Cc(()=>{if(E||!ie||!F)return;let e=y.current;R.current=!0,L(e)},[E,ie,S,F,L]),(0,B.useEffect)(()=>{if(!ie||!F)return;let e=y.current;return()=>{if(R.current){R.current=!1;return}L(e)}},[ie,F,L]);let z=J(s);(0,B.useEffect)(()=>!S||!D?void 0:yc(`keydown`,e=>{if(e.key!==`Escape`||e.defaultPrevented)return;let t=y.current;if(!t||ff(t))return;let n=e.target;if(!n)return;let{disclosureElement:r}=b.getState();(n.tagName===`BODY`||Gs(t,n)||!r||Gs(r,n))&&z(e)&&b.hide()},!0),[b,S,D,z]),_=Pc(_,e=>(0,H.jsx)(Wd,{level:i?1:void 0,children:e}),[i]);let ae=_.hidden,oe=_.alwaysVisible;_=Pc(_,e=>o?(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(Nf,{store:b,backdrop:o,hidden:ae,alwaysVisible:oe}),e]}):e,[b,o,ae,oe]);let[se,ce]=(0,B.useState)(),[le,ue]=(0,B.useState)();return _=Pc(_,e=>(0,H.jsx)(Uu,{value:b,children:(0,H.jsx)(Wu.Provider,{value:ce,children:(0,H.jsx)(Gu.Provider,{value:ue,children:e})})}),[b]),_={"data-dialog":``,role:`dialog`,tabIndex:r?-1:void 0,"aria-labelledby":se,"aria-describedby":le,..._,id:T,ref:Dc(y,_.ref)},_=Kd({..._,autoFocusOnShow:P}),_=Zu({store:b,..._}),_=Ql({..._,focusable:r}),_=Hd({portal:a,..._,portalRef:x,preserveTabOrder:w}),_});function Hf(e,t=Vu){return Gc(function(n){let r=t();return Z(n.store||r,e=>!n.unmountOnHide||e?.mounted||!!n.open)?(0,H.jsx)(e,{...n}):null})}Hf(Gc(function(e){return qc(Lf,Vf(e))}),Vu);var Uf=Math.min,Wf=Math.max,Gf=Math.round,Kf=Math.floor,qf=e=>({x:e,y:e}),Jf={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function Yf(e,t,n){return Wf(e,Uf(t,n))}function Xf(e,t){return typeof e==`function`?e(t):e}function Zf(e){return e.split(`-`)[0]}function Qf(e){return e.split(`-`)[1]}function $f(e){return e===`x`?`y`:`x`}function ep(e){return e===`y`?`height`:`width`}function tp(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function np(e){return $f(tp(e))}function rp(e,t,n){n===void 0&&(n=!1);let r=Qf(e),i=np(e),a=ep(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=fp(o)),[o,fp(o)]}function ip(e){let t=fp(e);return[ap(e),t,ap(t)]}function ap(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var op=[`left`,`right`],sp=[`right`,`left`],cp=[`top`,`bottom`],lp=[`bottom`,`top`];function up(e,t,n){switch(e){case`top`:case`bottom`:return n?t?sp:op:t?op:sp;case`left`:case`right`:return t?cp:lp;default:return[]}}function dp(e,t,n,r){let i=Qf(e),a=up(Zf(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(ap)))),a}function fp(e){let t=Zf(e);return Jf[t]+e.slice(t.length)}function pp(e){return{top:0,right:0,bottom:0,left:0,...e}}function mp(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:pp(e)}function hp(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function gp(e,t,n){let{reference:r,floating:i}=e,a=tp(t),o=np(t),s=ep(o),c=Zf(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}switch(Qf(t)){case`start`:p[o]-=f*(n&&l?-1:1);break;case`end`:p[o]+=f*(n&&l?-1:1);break}return p}async function _p(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=Xf(t,e),p=mp(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=hp(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=hp(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}var vp=50,yp=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:_p},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=gp(l,r,c),f=r,p=0,m={};for(let n=0;n({name:`arrow`,options:e,async fn(t){let{x:n,y:r,placement:i,rects:a,platform:o,elements:s,middlewareData:c}=t,{element:l,padding:u=0}=Xf(e,t)||{};if(l==null)return{};let d=mp(u),f={x:n,y:r},p=np(i),m=ep(p),h=await o.getDimensions(l),g=p===`y`,_=g?`top`:`left`,v=g?`bottom`:`right`,y=g?`clientHeight`:`clientWidth`,b=a.reference[m]+a.reference[p]-f[p]-a.floating[m],x=f[p]-a.reference[p],S=await(o.getOffsetParent==null?void 0:o.getOffsetParent(l)),C=S?S[y]:0;(!C||!await(o.isElement==null?void 0:o.isElement(S)))&&(C=s.floating[y]||a.floating[m]);let w=b/2-x/2,T=C/2-h[m]/2-1,E=Uf(d[_],T),D=Uf(d[v],T),O=E,k=C-h[m]-D,A=C/2-h[m]/2+w,j=Yf(O,A,k),M=!c.arrow&&Qf(i)!=null&&A!==j&&a.reference[m]/2-(Ae<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(!(u===`alignment`&&_!==tp(t))||T.every(e=>tp(e.placement)===_?e.overflows[0]>0:!0)))return{data:{index:e,overflows:T},reset:{placement:t}};let n=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=T.filter(e=>{if(x){let t=tp(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o;break}if(r!==n)return{reset:{placement:n}}}return{}}}},Sp=new Set([`left`,`top`]);async function Cp(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=Zf(n),s=Qf(n),c=tp(n)===`y`,l=Sp.has(o)?-1:1,u=a&&c?-1:1,d=Xf(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var wp=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await Cp(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},Tp=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=Xf(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=tp(Zf(i)),p=$f(f),m=u[p],h=u[f];if(o){let e=p===`y`?`top`:`left`,t=p===`y`?`bottom`:`right`,n=m+d[e],r=m-d[t];m=Yf(n,m,r)}if(s){let e=f===`y`?`top`:`left`,t=f===`y`?`bottom`:`right`,n=h+d[e],r=h-d[t];h=Yf(n,h,r)}let g=c.fn({...t,[p]:m,[f]:h});return{...g,data:{x:g.x-n,y:g.y-r,enabled:{[p]:o,[f]:s}}}}}},Ep=function(e){return e===void 0&&(e={}),{options:e,fn(t){let{x:n,y:r,placement:i,rects:a,middlewareData:o}=t,{offset:s=0,mainAxis:c=!0,crossAxis:l=!0}=Xf(e,t),u={x:n,y:r},d=tp(i),f=$f(d),p=u[f],m=u[d],h=Xf(s,t),g=typeof h==`number`?{mainAxis:h,crossAxis:0}:{mainAxis:0,crossAxis:0,...h};if(c){let e=f===`y`?`height`:`width`,t=a.reference[f]-a.floating[e]+g.mainAxis,n=a.reference[f]+a.reference[e]-g.mainAxis;pn&&(p=n)}if(l){let e=f===`y`?`width`:`height`,t=Sp.has(Zf(i)),n=a.reference[d]-a.floating[e]+(t&&o.offset?.[d]||0)+(t?0:g.crossAxis),r=a.reference[d]+a.reference[e]+(t?0:o.offset?.[d]||0)-(t?g.crossAxis:0);mr&&(m=r)}return{[f]:p,[d]:m}}}},Dp=function(e){return e===void 0&&(e={}),{name:`size`,options:e,async fn(t){var n,r;let{placement:i,rects:a,platform:o,elements:s}=t,{apply:c=()=>{},...l}=Xf(e,t),u=await o.detectOverflow(t,l),d=Zf(i),f=Qf(i),p=tp(i)===`y`,{width:m,height:h}=a.floating,g,_;d===`top`||d===`bottom`?(g=d,_=f===(await(o.isRTL==null?void 0:o.isRTL(s.floating))?`start`:`end`)?`left`:`right`):(_=d,g=f===`end`?`top`:`bottom`);let v=h-u.top-u.bottom,y=m-u.left-u.right,b=Uf(h-u[g],v),x=Uf(m-u[_],y),S=!t.middlewareData.shift,C=b,w=x;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(w=y),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(C=v),S&&!f){let e=Wf(u.left,0),t=Wf(u.right,0),n=Wf(u.top,0),r=Wf(u.bottom,0);p?w=m-2*(e!==0||t!==0?e+t:Wf(u.left,u.right)):C=h-2*(n!==0||r!==0?n+r:Wf(u.top,u.bottom))}await c({...t,availableWidth:w,availableHeight:C});let T=await o.getDimensions(s.floating);return m!==T.width||h!==T.height?{reset:{rects:!0}}:{}}}};function Op(){return typeof window<`u`}function kp(e){return Mp(e)?(e.nodeName||``).toLowerCase():`#document`}function Ap(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function jp(e){return((Mp(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function Mp(e){return Op()?e instanceof Node||e instanceof Ap(e).Node:!1}function Np(e){return Op()?e instanceof Element||e instanceof Ap(e).Element:!1}function Pp(e){return Op()?e instanceof HTMLElement||e instanceof Ap(e).HTMLElement:!1}function Fp(e){return!Op()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof Ap(e).ShadowRoot}function Ip(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=qp(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function Lp(e){return/^(table|td|th)$/.test(kp(e))}function Rp(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var zp=/transform|translate|scale|rotate|perspective|filter/,Bp=/paint|layout|strict|content/,Vp=e=>!!e&&e!==`none`,Hp;function Up(e){let t=Np(e)?qp(e):e;return Vp(t.transform)||Vp(t.translate)||Vp(t.scale)||Vp(t.rotate)||Vp(t.perspective)||!Gp()&&(Vp(t.backdropFilter)||Vp(t.filter))||zp.test(t.willChange||``)||Bp.test(t.contain||``)}function Wp(e){let t=Yp(e);for(;Pp(t)&&!Kp(t);){if(Up(t))return t;if(Rp(t))return null;t=Yp(t)}return null}function Gp(){return Hp??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),Hp}function Kp(e){return/^(html|body|#document)$/.test(kp(e))}function qp(e){return Ap(e).getComputedStyle(e)}function Jp(e){return Np(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Yp(e){if(kp(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||Fp(e)&&e.host||jp(e);return Fp(t)?t.host:t}function Xp(e){let t=Yp(e);return Kp(t)?e.ownerDocument?e.ownerDocument.body:e.body:Pp(t)&&Ip(t)?t:Xp(t)}function Zp(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=Xp(e),i=r===e.ownerDocument?.body,a=Ap(r);if(i){let e=Qp(a);return t.concat(a,a.visualViewport||[],Ip(r)?r:[],e&&n?Zp(e):[])}else return t.concat(r,Zp(r,[],n))}function Qp(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function $p(e){let t=qp(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=Pp(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=Gf(n)!==a||Gf(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function em(e){return Np(e)?e:e.contextElement}function tm(e){let t=em(e);if(!Pp(t))return qf(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=$p(t),o=(a?Gf(n.width):n.width)/r,s=(a?Gf(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var nm=qf(0);function rm(e){let t=Ap(e);return!Gp()||!t.visualViewport?nm:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function im(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==Ap(e)?!1:t}function am(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=em(e),o=qf(1);t&&(r?Np(r)&&(o=tm(r)):o=tm(e));let s=im(a,n,r)?rm(a):qf(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a){let e=Ap(a),t=r&&Np(r)?Ap(r):r,n=e,i=Qp(n);for(;i&&r&&t!==n;){let e=tm(i),t=i.getBoundingClientRect(),r=qp(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=Ap(i),i=Qp(n)}}return hp({width:u,height:d,x:c,y:l})}function om(e,t){let n=Jp(e).scrollLeft;return t?t.left+n:am(jp(e)).left+n}function sm(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-om(e,n),y:n.top+t.scrollTop}}function cm(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=jp(r),s=t?Rp(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=qf(1),u=qf(0),d=Pp(r);if((d||!d&&!a)&&((kp(r)!==`body`||Ip(o))&&(c=Jp(r)),d)){let e=am(r);l=tm(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?sm(o,c):qf(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function lm(e){return Array.from(e.getClientRects())}function um(e){let t=jp(e),n=Jp(e),r=e.ownerDocument.body,i=Wf(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=Wf(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),o=-n.scrollLeft+om(e),s=-n.scrollTop;return qp(r).direction===`rtl`&&(o+=Wf(t.clientWidth,r.clientWidth)-i),{width:i,height:a,x:o,y:s}}var dm=25;function fm(e,t){let n=Ap(e),r=jp(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,c=0;if(i){a=i.width,o=i.height;let e=Gp();(!e||e&&t===`fixed`)&&(s=i.offsetLeft,c=i.offsetTop)}let l=om(r);if(l<=0){let e=r.ownerDocument,t=e.body,n=getComputedStyle(t),i=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,o=Math.abs(r.clientWidth-t.clientWidth-i);o<=dm&&(a-=o)}else l<=dm&&(a+=l);return{width:a,height:o,x:s,y:c}}function pm(e,t){let n=am(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=Pp(e)?tm(e):qf(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function mm(e,t,n){let r;if(t===`viewport`)r=fm(e,n);else if(t===`document`)r=um(jp(e));else if(Np(t))r=pm(t,n);else{let n=rm(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return hp(r)}function hm(e,t){let n=Yp(e);return n===t||!Np(n)||Kp(n)?!1:qp(n).position===`fixed`||hm(n,t)}function gm(e,t){let n=t.get(e);if(n)return n;let r=Zp(e,[],!1).filter(e=>Np(e)&&kp(e)!==`body`),i=null,a=qp(e).position===`fixed`,o=a?Yp(e):e;for(;Np(o)&&!Kp(o);){let t=qp(o),n=Up(o);!n&&t.position===`fixed`&&(i=null),(a?!n&&!i:!n&&t.position===`static`&&i&&(i.position===`absolute`||i.position===`fixed`)||Ip(o)&&!n&&hm(e,o))?r=r.filter(e=>e!==o):i=t,o=Yp(o)}return t.set(e,r),r}function _m(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?Rp(t)?[]:gm(t,this._c):[].concat(n),r],o=mm(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e{o(!1,1e-7)},1e3)}n===1&&!Em(l,e.getBoundingClientRect())&&o(),y=!1}try{n=new IntersectionObserver(b,{...v,root:i.ownerDocument})}catch{n=new IntersectionObserver(b,v)}n.observe(e)}return o(!0),a}function Om(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver==`function`,layoutShift:s=typeof IntersectionObserver==`function`,animationFrame:c=!1}=r,l=em(e),u=i||a?[...l?Zp(l):[],...t?Zp(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n,{passive:!0}),a&&e.addEventListener(`resize`,n)});let d=l&&s?Dm(l,n):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&t&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),t&&p.observe(t));let m,h=c?am(e):null;c&&g();function g(){let t=am(e);h&&!Em(h,t)&&n(),h=t,m=requestAnimationFrame(g)}return n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(`scroll`,n),a&&e.removeEventListener(`resize`,n)}),d?.(),(e=p)==null||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}var km=wp,Am=Tp,jm=xp,Mm=Dp,Nm=bp,Pm=Ep,Fm=(e,t,n)=>{let r=new Map,i={platform:Tm,...n},a={...i.platform,_c:r};return yp(e,t,{...i,platform:a})},Im=`div`;function Lm(e=0,t=0,n=0,r=0){if(typeof DOMRect==`function`)return new DOMRect(e,t,n,r);let i={x:e,y:t,width:n,height:r,top:t,right:e+n,bottom:t+r,left:e};return{...i,toJSON:()=>i}}function Rm(e){if(!e)return Lm();let{x:t,y:n,width:r,height:i}=e;return Lm(t,n,r,i)}function zm(e,t){return{contextElement:e||void 0,getBoundingClientRect:()=>{let n=e,r=t?.(n);return r||!n?Rm(r):n.getBoundingClientRect()}}}function Bm(e){return/^(?:top|bottom|left|right)(?:-(?:start|end))?$/.test(e)}function Vm(e){let t=window.devicePixelRatio||1;return Math.round(e*t)/t}function Hm(e,t){return km(({placement:n})=>{let r=(e?.clientHeight||0)/2,i=typeof t.gutter==`number`?t.gutter+r:t.gutter??r;return{crossAxis:n.split(`-`)[1]?void 0:t.shift,mainAxis:i,alignmentAxis:t.shift}})}function Um(e){if(e.flip===!1)return;let t=typeof e.flip==`string`?e.flip.split(` `):void 0;return js(!t||t.every(Bm),!1),jm({padding:e.overflowPadding,fallbackPlacements:t})}function Wm(e){if(!(!e.slide&&!e.overlap))return Am({mainAxis:e.slide,crossAxis:e.overlap,padding:e.overflowPadding,limiter:Pm()})}function Gm(e){return Mm({padding:e.overflowPadding,apply({elements:t,availableWidth:n,availableHeight:r,rects:i}){let a=t.floating,o=Math.round(i.reference.width);n=Math.floor(n),r=Math.floor(r),a.style.setProperty(`--popover-anchor-width`,`${o}px`),a.style.setProperty(`--popover-available-width`,`${n}px`),a.style.setProperty(`--popover-available-height`,`${r}px`),e.sameWidth&&(a.style.width=`${o}px`),e.fitViewport&&(a.style.maxWidth=`${n}px`,a.style.maxHeight=`${r}px`)}})}function Km(e,t){if(e)return Nm({element:e,padding:t.arrowPadding})}var qm=Jc(function({store:e,modal:t=!1,portal:n=!!t,preserveTabOrder:r=!0,autoFocusOnShow:i=!0,wrapperProps:a,fixed:o=!1,flip:s=!0,shift:c=0,slide:l=!0,overlap:u=!1,sameWidth:d=!1,fitViewport:f=!1,gutter:p,arrowPadding:m=4,overflowPadding:h=8,getAnchorRect:g,updatePosition:_,...v}){let y=rd();e||=y,js(e,!1);let b=Z(e,`arrowElement`),x=Z(e,`anchorElement`),S=Z(e,`disclosureElement`),C=Z(e,`popoverElement`),w=Z(e,`contentElement`),T=Z(e,`placement`),E=Z(e,`mounted`),D=Z(e,`rendered`),O=(0,B.useRef)(null),[k,A]=(0,B.useState)(!1),{portalRef:j,domReady:M}=Fc(n,v.portalRef),ee=q(g),te=q(_),N=!!_;Cc(()=>{if(!C?.isConnected)return;C.style.setProperty(`--popover-overflow-padding`,`${h}px`);let t=zm(x,ee),n=async()=>{if(!E)return;b||(O.current=O.current||document.createElement(`div`));let n=b||O.current,r=[Hm(n,{gutter:p,shift:c}),Um({flip:s,overflowPadding:h}),Wm({slide:l,shift:c,overlap:u,overflowPadding:h}),Km(n,{arrowPadding:m}),Gm({sameWidth:d,fitViewport:f,overflowPadding:h})],i=await Fm(t,C,{placement:T,strategy:o?`fixed`:`absolute`,middleware:r});e?.setState(`currentPlacement`,i.placement),A(!0);let a=Vm(i.x),g=Vm(i.y);if(Object.assign(C.style,{top:`0`,left:`0`,transform:`translate3d(${a}px,${g}px,0)`}),n&&i.middlewareData.arrow){let{x:e,y:t}=i.middlewareData.arrow,r=i.placement.split(`-`)[0],a=n.clientWidth/2,o=n.clientHeight/2,s=e==null?-a:e+a,c=t==null?-o:t+o;C.style.setProperty(`--popover-transform-origin`,{top:`${s}px calc(100% + ${o}px)`,bottom:`${s}px ${-o}px`,left:`calc(100% + ${a}px) ${c}px`,right:`${-a}px ${c}px`}[r]),Object.assign(n.style,{left:e==null?``:`${e}px`,top:t==null?``:`${t}px`,[r]:`100%`})}},r=Om(t,C,async()=>{N?(await te({updatePosition:n}),A(!0)):await n()},{elementResize:typeof ResizeObserver==`function`});return()=>{A(!1),r()}},[e,D,C,b,x,C,T,E,M,o,s,c,l,u,d,f,p,m,h,ee,N,te]),Cc(()=>{if(!E||!M||!C?.isConnected||!w?.isConnected)return;let e=()=>{C.style.zIndex=getComputedStyle(w).zIndex};e();let t=requestAnimationFrame(()=>{t=requestAnimationFrame(e)});return()=>cancelAnimationFrame(t)},[E,M,C,w]);let P=o?`fixed`:`absolute`;return v=Pc(v,t=>(0,H.jsx)(`div`,{...a,style:{position:P,top:0,left:0,width:`max-content`,...a?.style},ref:e?.setPopoverElement,children:t}),[e,P,a]),v=Pc(v,t=>(0,H.jsx)(ad,{value:e,children:t}),[e]),v={"data-placing":!k||void 0,...v,style:{position:`relative`,...v.style}},v=Vf({store:e,modal:t,portal:n,preserveTabOrder:r,preserveTabOrderAnchor:S||x,autoFocusOnShow:k&&i,...v,portalRef:j}),v});Hf(Gc(function(e){return qc(Im,qm(e))}),rd);function Jm({popover:e,...t}={}){let n=fu(t.store,uu(e,[`arrowElement`,`anchorElement`,`contentElement`,`popoverElement`,`disclosureElement`])),r=n?.getState(),i=Pf({...t,store:n}),a=K(t.placement,r?.placement,`bottom`),o=iu({...i.getState(),placement:a,currentPlacement:a,anchorElement:K(r?.anchorElement,null),popoverElement:K(r?.popoverElement,null),arrowElement:K(r?.arrowElement,null),rendered:Symbol(`rendered`)},i,n);return{...i,...o,setAnchorElement:e=>o.setState(`anchorElement`,e),setPopoverElement:e=>o.setState(`popoverElement`,e),setArrowElement:e=>o.setState(`arrowElement`,e),render:()=>o.setState(`rendered`,Symbol(`rendered`))}}function Ym(e,t,n){return jc(t,[n.popover]),gu(e,n,`placement`),Ff(e,t,n)}var Xm=`div`,Zm=Jc(function({store:e,...t}){let n=rd();return e||=n,t={...t,ref:Dc(e?.setAnchorElement,t.ref)},t});Gc(function(e){return qc(Xm,Zm(e))});var Qm=(0,B.createContext)(void 0),$m=`div`,eh=Jc(function(e){let[t,n]=(0,B.useState)();return e=Pc(e,e=>(0,H.jsx)(Qm.Provider,{value:n,children:e}),[]),e={role:`group`,"aria-labelledby":t,...e},Fs(e)});Gc(function(e){return qc($m,eh(e))});var th=`div`,nh=Jc(function({store:e,...t}){return t=eh(t),t});Gc(function(e){return qc(th,nh(e))});var rh=`div`,ih=Jc(function(e){let t=(0,B.useContext)(Qm),n=Oc(e.id);return Cc(()=>(t?.(n),()=>t?.(void 0)),[t,n]),e={"aria-hidden":!0,...e,id:n},Fs(e)});Gc(function(e){return qc(rh,ih(e))});var ah=`div`,oh=Jc(function({store:e,...t}){return t=ih(t),t});Gc(function(e){return qc(ah,oh(e))});var sh=`div`;function ch(e){let t=e.relatedTarget;return t?.nodeType===Node.ELEMENT_NODE?t:null}function lh(e){let t=ch(e);return t?Gs(e.currentTarget,t):!1}var uh=Symbol(`composite-hover`);function dh(e){let t=ch(e);if(!t)return!1;do{if(Ts(t,uh)&&t[uh])return!0;t=t.parentElement}while(t);return!1}var fh=Jc(function({store:e,focusOnHover:t=!0,blurOnHoverEnd:n=!!t,...r}){let i=tl();e||=i,js(e,!1);let a=Rc(),o=r.onMouseMove,s=J(t),c=q(t=>{if(o?.(t),!t.defaultPrevented&&a()&&s(t)){if(!jl(t.currentTarget)){let t=e?.getState().baseElement;t&&!Al(t)&&t.focus()}e?.setActiveId(t.currentTarget.id)}}),l=r.onMouseLeave,u=J(n),d=q(t=>{var n;l?.(t),!t.defaultPrevented&&a()&&(lh(t)||dh(t)||s(t)&&u(t)&&(e?.setActiveId(null),(n=e?.getState().baseElement)==null||n.focus()))}),f=(0,B.useCallback)(e=>{e&&(e[uh]=!0)},[]);return r={...r,ref:Dc(f,r.ref),onMouseMove:c,onMouseLeave:d},Fs(r)});Kc(Gc(function(e){return qc(sh,fh(e))}));var ph=`input`;function mh(e,t,n){return n?e.find(e=>!e.disabled&&e.value)?.value===t:!1}function hh(e,t){return!t||e==null?!1:(e=Ds(e),t.length>e.length&&t.toLowerCase().indexOf(e.toLowerCase())===0)}function gh(e){return e.type===`input`}function _h(e){return e===`inline`||e===`list`||e===`both`||e===`none`}function vh(e){return e.find(e=>e.disabled?!1:e.element?.getAttribute(`role`)!==`tab`)?.id}var yh=Jc(function({store:e,focusable:t=!0,autoSelect:n=!1,getAutoSelectId:r,setValueOnChange:i,showMinLength:a=0,showOnChange:o,showOnMouseDown:s,showOnClick:c=s,showOnKeyDown:l,showOnKeyPress:u=l,blurActiveItemOnClick:d,setValueOnClick:f=!0,moveOnKeyPress:p=!0,autoComplete:m=`list`,...h}){let g=Ed();e||=g,js(e,!1);let _=(0,B.useRef)(null),[v,y]=Nc(),b=(0,B.useRef)(!1),x=(0,B.useRef)(!1),S=Z(e,e=>e.virtualFocus&&n),C=m===`inline`||m===`both`,[w,T]=(0,B.useState)(C);Mc(()=>{C&&T(!0)},[C]);let E=Z(e,`value`),D=(0,B.useRef)(void 0);(0,B.useEffect)(()=>cu(e,[`selectedValue`,`activeId`],(e,t)=>{D.current=t.selectedValue}),[e]);let O=Z(e,e=>{if(C&&w&&!(e.activeValue&&Array.isArray(e.selectedValue)&&(e.selectedValue.includes(e.activeValue)||D.current?.includes(e.activeValue))))return e.activeValue}),k=Z(e,`renderedItems`),A=Z(e,`open`),j=Z(e,`contentElement`),M=(0,B.useMemo)(()=>!C||!w?E:mh(k,O,S)?hh(E,O)?E+(O?.slice(E.length)||``):E:O||E,[C,w,k,O,S,E]);(0,B.useEffect)(()=>{let e=_.current;if(!e)return;let t=()=>T(!0);return e.addEventListener(`combobox-item-move`,t),()=>{e.removeEventListener(`combobox-item-move`,t)}},[]),(0,B.useEffect)(()=>{if(!C||!w||!O||!mh(k,O,S)||!hh(E,O))return;let e=xs;return queueMicrotask(()=>{let t=_.current;if(!t)return;let{start:n,end:r}=$s(t),i=E.length,a=O.length;nc(t,i,a),e=()=>{if(!Al(t))return;let{start:e,end:o}=$s(t);e===i&&o===a&&nc(t,n,r)}}),()=>e()},[v,C,w,O,k,S,E]);let ee=(0,B.useRef)(null),te=q(r),N=(0,B.useRef)(null),P=(0,B.useRef)(!1),ne=(0,B.useRef)(!1);(0,B.useEffect)(()=>{if(!A||!j)return;let t=tc(j);if(!t)return;ee.current=t;let n=()=>{b.current=!1,P.current=!0},r=()=>{if(ne.current||(P.current=!0),!e||!b.current)return;let{activeId:t}=e.getState();t!==null&&t!==N.current&&(b.current=!1)},i={passive:!0,capture:!0};return t.addEventListener(`wheel`,n,i),t.addEventListener(`touchmove`,n,i),t.addEventListener(`scroll`,r,i),()=>{t.removeEventListener(`wheel`,n,!0),t.removeEventListener(`touchmove`,n,!0),t.removeEventListener(`scroll`,r,!0)}},[A,j,e]),Cc(()=>{P.current=!1,E&&(x.current||(b.current=!0))},[E]),Cc(()=>{S!==`always`&&A||(b.current=A)},[S,A]);let F=Z(e,`resetValueOnSelect`);jc(()=>{let t=b.current;if(!e||!A||!t&&(!F||P.current))return;let{baseElement:n,contentElement:r,activeId:i}=e.getState();if(!(n&&!Al(n))){if(r?.hasAttribute(`data-placing`)){let e=new MutationObserver(y);return e.observe(r,{attributeFilter:[`data-placing`]}),()=>e.disconnect()}if(S&&t){let t=te(k),n=t===void 0?vh(k)??e.first():t;N.current=n,e.move(n??null)}else{let t=e.item(i||e.first())?.element;t&&`scrollIntoView`in t&&(ne.current=!0,t.scrollIntoView({block:`nearest`,inline:`nearest`}),requestAnimationFrame(()=>{ne.current=!1}))}}},[e,A,v,E,S,F,te,k]),(0,B.useEffect)(()=>{if(!C)return;let t=_.current;if(!t)return;let n=[t,j].filter(e=>!!e),r=t=>{n.every(e=>_c(t,e))&&e?.setValue(M)};for(let e of n)e.addEventListener(`focusout`,r);return()=>{for(let e of n)e.removeEventListener(`focusout`,r)}},[C,j,e,M]);let re=e=>e.currentTarget.value.length>=a,ie=h.onChange,I=J(o??re),L=J(i??!e.tag),R=q(t=>{if(ie?.(t),t.defaultPrevented||!e)return;let n=t.currentTarget,{value:r,selectionStart:i,selectionEnd:a}=n,o=t.nativeEvent;if(b.current=!0,gh(o)&&(o.isComposing&&(b.current=!1,x.current=!0),C)){let e=o.inputType===`insertText`||o.inputType===`insertCompositionText`,t=i===r.length;T(e&&t)}if(L(t)){let t=r===e.getState().value;e.setValue(r),queueMicrotask(()=>{nc(n,i,a)}),C&&S&&t&&y()}I(t)&&e.show(),(!S||!b.current)&&e.setActiveId(null)}),z=h.onCompositionEnd,ae=q(e=>{b.current=!0,x.current=!1,z?.(e),!e.defaultPrevented&&S&&y()}),oe=h.onMouseDown,se=J(d??(()=>!!e?.getState().includesBaseElement)),ce=J(f),le=J(c??re),ue=q(t=>{oe?.(t),!t.defaultPrevented&&(t.button||t.ctrlKey||e&&(se(t)&&e.setActiveId(null),ce(t)&&e.setValue(M),le(t)&&vc(t.currentTarget,`mouseup`,e.show)))}),de=h.onKeyDown,fe=J(u??re),pe=q(t=>{if(de?.(t),t.repeat||(b.current=!1),t.defaultPrevented||t.ctrlKey||t.altKey||t.shiftKey||t.metaKey||!e)return;let{open:n}=e.getState();n||(t.key===`ArrowUp`||t.key===`ArrowDown`)&&fe(t)&&(t.preventDefault(),e.show())}),me=h.onBlur,he=q(e=>{b.current=!1,me?.(e),e.defaultPrevented}),ge=Oc(h.id),_e=_h(m)?m:void 0,ve=Z(e,e=>e.activeId===null);return h={role:`combobox`,"aria-autocomplete":_e,"aria-haspopup":ec(j,`listbox`),"aria-expanded":A,"aria-controls":j?.id,"data-active-item":ve||void 0,value:M,...h,id:ge,ref:Dc(_,h.ref),onChange:R,onCompositionEnd:ae,onMouseDown:ue,onKeyDown:pe,onBlur:he},h=Fu({store:e,focusable:t,...h,moveOnKeyPress:e=>Ns(p,e)?!1:(C&&T(!0),!0)}),h=Zm({store:e,...h}),{autoComplete:`off`,...h}}),bh=Gc(function(e){return qc(ph,yh(e))}),xh=`div`,Sh=Jc(function({store:e,...t}){let n=Td();return e||=n,js(e,!1),ec(Z(e,`contentElement`))===`grid`&&(t={role:`rowgroup`,...t}),t=nh({store:e,...t}),t}),Ch=Gc(function(e){return qc(xh,Sh(e))}),wh=`div`,Th=Jc(function(e){return e=oh(e),e}),Eh=Gc(function(e){return qc(wh,Th(e))}),Dh=`div`;function Oh(e,t){if(t!=null)return e==null?!1:Array.isArray(e)?e.includes(t):e===t}function kh(e){return{menu:`menuitem`,listbox:`option`,tree:`treeitem`}[e]??`option`}var Ah=Jc(function({store:e,value:t,hideOnClick:n,setValueOnClick:r,selectValueOnClick:i=!0,resetValueOnSelect:a,focusOnHover:o=!1,moveOnKeyPress:s=!0,getItem:c,...l}){let u=Td();e||=u,js(e,!1);let{resetValueOnSelectState:d,multiSelectable:f,selected:p}=hu(e,{resetValueOnSelectState:`resetValueOnSelect`,multiSelectable(e){return Array.isArray(e.selectedValue)},selected(e){return Oh(e.selectedValue,t)}}),m=(0,B.useCallback)(e=>{let n={...e,value:t};return c?c(n):n},[t,c]);r??=!f,n??=t!=null&&!f;let h=l.onClick,g=J(r),_=J(i),v=J(a??d??f),y=J(n),b=q(n=>{h?.(n),!n.defaultPrevented&&(pc(n)||fc(n)||(t!=null&&(_(n)&&(v(n)&&e?.resetValue(),e?.setSelectedValue(e=>Array.isArray(e)?e.includes(t)?e.filter(e=>e!==t):[...e,t]:t)),g(n)&&e?.setValue(t)),y(n)&&e?.hide()))}),x=l.onKeyDown,S=q(t=>{if(x?.(t),t.defaultPrevented)return;let n=e?.getState().baseElement;n&&(Al(n)||(t.key.length===1||t.key===`Backspace`||t.key===`Delete`)&&(queueMicrotask(()=>n.focus()),Xs(n)&&e?.setValue(n.value)))});f&&p!=null&&(l={"aria-selected":p,...l}),l=Pc(l,e=>(0,H.jsx)(kd.Provider,{value:t,children:(0,H.jsx)(Ad.Provider,{value:p??!1,children:e})}),[t,p]),l={role:kh((0,B.useContext)(Sd)),children:t,...l,onClick:b,onKeyDown:S};let C=J(s);return l=wu({store:e,...l,getItem:m,moveOnKeyPress:t=>{if(!C(t))return!1;let n=new Event(`combobox-item-move`);return(e?.getState().baseElement)?.dispatchEvent(n),!0}}),l=fh({store:e,focusOnHover:o,...l}),l}),jh=Kc(Gc(function(e){return qc(Dh,Ah(e))})),Mh=`div`,Nh=Jc(function({store:e,alwaysVisible:t,...n}){let r=Td(!0),i=wd();e||=i;let a=!!e&&e===r;js(e,!1);let o=(0,B.useRef)(null),s=Oc(n.id),c=Z(e,`mounted`),l=Xu(c,n.hidden,t),u=l?{...n.style,display:`none`}:n.style,d=Z(e,e=>Array.isArray(e.selectedValue)),f=Ac(o,`role`,n.role),p=(f===`listbox`||f===`tree`||f===`grid`)&&d||void 0,[m,h]=(0,B.useState)(!1),g=Z(e,`contentElement`);Cc(()=>{if(!c)return;let e=o.current;if(!e||g!==e)return;let t=()=>{h(!!e.querySelector(`[role='listbox']`))},n=new MutationObserver(t);return n.observe(e,{subtree:!0,childList:!0,attributeFilter:[`role`]}),t(),()=>n.disconnect()},[c,g]),m||(n={role:`listbox`,"aria-multiselectable":p,...n}),n=Pc(n,t=>(0,H.jsx)(Od,{value:e,children:(0,H.jsx)(Sd.Provider,{value:f,children:t})}),[e,f]);let _=s&&(!r||!a)?e.setContentElement:null;return n={hidden:l,...n,id:s,ref:Dc(_,o,n.ref),style:u},Fs(n)}),Ph=Gc(function(e){return qc(Mh,Nh(e))}),Fh=`div`;function Ih(e,...t){if(!e)return!1;if(`id`in e){let n=t.filter(Boolean).map(e=>`[aria-controls~="${e}"]`).join(`, `);return n?e.matches(n):!1}return!1}var Lh=Jc(function({store:e,modal:t,tabIndex:n,alwaysVisible:r,autoFocusOnHide:i=!0,hideOnInteractOutside:a=!0,...o}){let s=Ed();e||=s,js(e,!1);let c=Z(e,`baseElement`),l=(0,B.useRef)(!1),u=Z(e.tag,e=>e?.renderedItems.length);return o=Nh({store:e,alwaysVisible:r,...o}),o=qm({store:e,modal:t,alwaysVisible:r,backdrop:!1,autoFocusOnShow:!1,finalFocus:c,preserveTabOrderAnchor:null,unstable_treeSnapshotKey:u,...o,getPersistentElements(){let n=o.getPersistentElements?.call(o)||[];if(!t||!e)return n;let{contentElement:r,baseElement:i}=e.getState();if(!i)return n;let a=Hs(i),s=[];if(r?.id&&s.push(`[aria-controls~="${r.id}"]`),i?.id&&s.push(`[aria-controls~="${i.id}"]`),!s.length)return[...n,i];let c=s.join(`,`),l=a.querySelectorAll(c);return[...n,...l]},autoFocusOnHide(e){return Ns(i,e)?!1:l.current?(l.current=!1,!1):!0},hideOnInteractOutside(t){let n=e?.getState(),r=n?.contentElement?.id,i=n?.baseElement?.id;if(Ih(t.target,r,i))return!1;let o=typeof a==`function`?a(t):a;return o&&(l.current=t.type===`click`),o}}),o}),Rh=Hf(Gc(function(e){return qc(Fh,Lh(e))}),Ed);(0,B.createContext)(null),(0,B.createContext)(null);var zh=Yc([rl],[il]),Bh=zh.useContext;zh.useScopedContext,zh.useProviderContext,zh.ContextProvider,zh.ScopedContextProvider;var Vh=sc()&&ac();function Hh({tag:e,...t}={}){let n=fu(t.store,du(e,[`value`,`rtl`])),r=e?.getState(),i=n?.getState(),a=K(t.activeId,i?.activeId,t.defaultActiveId,null),o=Q({...t,activeId:a,includesBaseElement:K(t.includesBaseElement,i?.includesBaseElement,!0),orientation:K(t.orientation,i?.orientation,`vertical`),focusLoop:K(t.focusLoop,i?.focusLoop,!0),focusWrap:K(t.focusWrap,i?.focusWrap,!0),virtualFocus:K(t.virtualFocus,i?.virtualFocus,!0)}),s=Jm({...t,placement:K(t.placement,i?.placement,`bottom-start`)}),c=K(t.value,i?.value,t.defaultValue,``),l=K(t.selectedValue,i?.selectedValue,r?.values,t.defaultSelectedValue,``),u=Array.isArray(l),d={...o.getState(),...s.getState(),value:c,selectedValue:l,resetValueOnSelect:K(t.resetValueOnSelect,i?.resetValueOnSelect,u),resetValueOnHide:K(t.resetValueOnHide,i?.resetValueOnHide,u&&!e),activeValue:i?.activeValue},f=iu(d,o,s,n);return Vh&&au(f,()=>cu(f,[`virtualFocus`],()=>{f.setState(`virtualFocus`,!1)})),au(f,()=>{if(e)return Es(cu(f,[`selectedValue`],t=>{Array.isArray(t.selectedValue)&&e.setValues(t.selectedValue)}),cu(e,[`values`],e=>{f.setState(`selectedValue`,e.values)}))}),au(f,()=>cu(f,[`resetValueOnHide`,`mounted`],e=>{e.resetValueOnHide&&(e.mounted||f.setState(`value`,c))})),au(f,()=>cu(f,[`open`],e=>{e.open||(f.setState(`activeId`,a),f.setState(`moves`,0))})),au(f,()=>cu(f,[`moves`,`activeId`],(e,t)=>{e.moves===t.moves&&f.setState(`activeValue`,void 0)})),au(f,()=>lu(f,[`moves`,`renderedItems`],(e,t)=>{if(e.moves===t.moves)return;let{activeId:n}=f.getState(),r=o.item(n);f.setState(`activeValue`,r?.value)})),{...s,...o,...f,tag:e,setValue:e=>f.setState(`value`,e),resetValue:()=>f.setState(`value`,d.value),setSelectedValue:e=>f.setState(`selectedValue`,e)}}function Uh(e){let t=Bh();return e={...e,tag:e.tag===void 0?t:e.tag},bd(e)}function Wh(e,t,n){return jc(t,[n.tag]),gu(e,n,`value`,`setValue`),gu(e,n,`selectedValue`,`setSelectedValue`),gu(e,n,`resetValueOnHide`),gu(e,n,`resetValueOnSelect`),Object.assign(xd(Ym(e,t,n),t,n),{tag:n.tag})}function Gh(e={}){e=Uh(e);let[t,n]=_u(Hh,e);return Wh(t,n,e)}function Kh(e={}){return(0,H.jsx)(Dd,{value:Gh(e),children:e.children})}var qh=e(t(((e,t)=>{var n={À:`A`,Á:`A`,Â:`A`,Ã:`A`,Ä:`A`,Å:`A`,Ấ:`A`,Ắ:`A`,Ẳ:`A`,Ẵ:`A`,Ặ:`A`,Æ:`AE`,Ầ:`A`,Ằ:`A`,Ȃ:`A`,Ả:`A`,Ạ:`A`,Ẩ:`A`,Ẫ:`A`,Ậ:`A`,Ç:`C`,Ḉ:`C`,È:`E`,É:`E`,Ê:`E`,Ë:`E`,Ế:`E`,Ḗ:`E`,Ề:`E`,Ḕ:`E`,Ḝ:`E`,Ȇ:`E`,Ẻ:`E`,Ẽ:`E`,Ẹ:`E`,Ể:`E`,Ễ:`E`,Ệ:`E`,Ì:`I`,Í:`I`,Î:`I`,Ï:`I`,Ḯ:`I`,Ȋ:`I`,Ỉ:`I`,Ị:`I`,Ð:`D`,Ñ:`N`,Ò:`O`,Ó:`O`,Ô:`O`,Õ:`O`,Ö:`O`,Ø:`O`,Ố:`O`,Ṍ:`O`,Ṓ:`O`,Ȏ:`O`,Ỏ:`O`,Ọ:`O`,Ổ:`O`,Ỗ:`O`,Ộ:`O`,Ờ:`O`,Ở:`O`,Ỡ:`O`,Ớ:`O`,Ợ:`O`,Ù:`U`,Ú:`U`,Û:`U`,Ü:`U`,Ủ:`U`,Ụ:`U`,Ử:`U`,Ữ:`U`,Ự:`U`,Ý:`Y`,à:`a`,á:`a`,â:`a`,ã:`a`,ä:`a`,å:`a`,ấ:`a`,ắ:`a`,ẳ:`a`,ẵ:`a`,ặ:`a`,æ:`ae`,ầ:`a`,ằ:`a`,ȃ:`a`,ả:`a`,ạ:`a`,ẩ:`a`,ẫ:`a`,ậ:`a`,ç:`c`,ḉ:`c`,è:`e`,é:`e`,ê:`e`,ë:`e`,ế:`e`,ḗ:`e`,ề:`e`,ḕ:`e`,ḝ:`e`,ȇ:`e`,ẻ:`e`,ẽ:`e`,ẹ:`e`,ể:`e`,ễ:`e`,ệ:`e`,ì:`i`,í:`i`,î:`i`,ï:`i`,ḯ:`i`,ȋ:`i`,ỉ:`i`,ị:`i`,ð:`d`,ñ:`n`,ò:`o`,ó:`o`,ô:`o`,õ:`o`,ö:`o`,ø:`o`,ố:`o`,ṍ:`o`,ṓ:`o`,ȏ:`o`,ỏ:`o`,ọ:`o`,ổ:`o`,ỗ:`o`,ộ:`o`,ờ:`o`,ở:`o`,ỡ:`o`,ớ:`o`,ợ:`o`,ù:`u`,ú:`u`,û:`u`,ü:`u`,ủ:`u`,ụ:`u`,ử:`u`,ữ:`u`,ự:`u`,ý:`y`,ÿ:`y`,Ā:`A`,ā:`a`,Ă:`A`,ă:`a`,Ą:`A`,ą:`a`,Ć:`C`,ć:`c`,Ĉ:`C`,ĉ:`c`,Ċ:`C`,ċ:`c`,Č:`C`,č:`c`,C̆:`C`,c̆:`c`,Ď:`D`,ď:`d`,Đ:`D`,đ:`d`,Ē:`E`,ē:`e`,Ĕ:`E`,ĕ:`e`,Ė:`E`,ė:`e`,Ę:`E`,ę:`e`,Ě:`E`,ě:`e`,Ĝ:`G`,Ǵ:`G`,ĝ:`g`,ǵ:`g`,Ğ:`G`,ğ:`g`,Ġ:`G`,ġ:`g`,Ģ:`G`,ģ:`g`,Ĥ:`H`,ĥ:`h`,Ħ:`H`,ħ:`h`,Ḫ:`H`,ḫ:`h`,Ĩ:`I`,ĩ:`i`,Ī:`I`,ī:`i`,Ĭ:`I`,ĭ:`i`,Į:`I`,į:`i`,İ:`I`,ı:`i`,IJ:`IJ`,ij:`ij`,Ĵ:`J`,ĵ:`j`,Ķ:`K`,ķ:`k`,Ḱ:`K`,ḱ:`k`,K̆:`K`,k̆:`k`,Ĺ:`L`,ĺ:`l`,Ļ:`L`,ļ:`l`,Ľ:`L`,ľ:`l`,Ŀ:`L`,ŀ:`l`,Ł:`l`,ł:`l`,Ḿ:`M`,ḿ:`m`,M̆:`M`,m̆:`m`,Ń:`N`,ń:`n`,Ņ:`N`,ņ:`n`,Ň:`N`,ň:`n`,ʼn:`n`,N̆:`N`,n̆:`n`,Ō:`O`,ō:`o`,Ŏ:`O`,ŏ:`o`,Ő:`O`,ő:`o`,Œ:`OE`,œ:`oe`,P̆:`P`,p̆:`p`,Ŕ:`R`,ŕ:`r`,Ŗ:`R`,ŗ:`r`,Ř:`R`,ř:`r`,R̆:`R`,r̆:`r`,Ȓ:`R`,ȓ:`r`,Ś:`S`,ś:`s`,Ŝ:`S`,ŝ:`s`,Ş:`S`,Ș:`S`,ș:`s`,ş:`s`,Š:`S`,š:`s`,Ţ:`T`,ţ:`t`,ț:`t`,Ț:`T`,Ť:`T`,ť:`t`,Ŧ:`T`,ŧ:`t`,T̆:`T`,t̆:`t`,Ũ:`U`,ũ:`u`,Ū:`U`,ū:`u`,Ŭ:`U`,ŭ:`u`,Ů:`U`,ů:`u`,Ű:`U`,ű:`u`,Ų:`U`,ų:`u`,Ȗ:`U`,ȗ:`u`,V̆:`V`,v̆:`v`,Ŵ:`W`,ŵ:`w`,Ẃ:`W`,ẃ:`w`,X̆:`X`,x̆:`x`,Ŷ:`Y`,ŷ:`y`,Ÿ:`Y`,Y̆:`Y`,y̆:`y`,Ź:`Z`,ź:`z`,Ż:`Z`,ż:`z`,Ž:`Z`,ž:`z`,ſ:`s`,ƒ:`f`,Ơ:`O`,ơ:`o`,Ư:`U`,ư:`u`,Ǎ:`A`,ǎ:`a`,Ǐ:`I`,ǐ:`i`,Ǒ:`O`,ǒ:`o`,Ǔ:`U`,ǔ:`u`,Ǖ:`U`,ǖ:`u`,Ǘ:`U`,ǘ:`u`,Ǚ:`U`,ǚ:`u`,Ǜ:`U`,ǜ:`u`,Ứ:`U`,ứ:`u`,Ṹ:`U`,ṹ:`u`,Ǻ:`A`,ǻ:`a`,Ǽ:`AE`,ǽ:`ae`,Ǿ:`O`,ǿ:`o`,Þ:`TH`,þ:`th`,Ṕ:`P`,ṕ:`p`,Ṥ:`S`,ṥ:`s`,X́:`X`,x́:`x`,Ѓ:`Г`,ѓ:`г`,Ќ:`К`,ќ:`к`,A̋:`A`,a̋:`a`,E̋:`E`,e̋:`e`,I̋:`I`,i̋:`i`,Ǹ:`N`,ǹ:`n`,Ồ:`O`,ồ:`o`,Ṑ:`O`,ṑ:`o`,Ừ:`U`,ừ:`u`,Ẁ:`W`,ẁ:`w`,Ỳ:`Y`,ỳ:`y`,Ȁ:`A`,ȁ:`a`,Ȅ:`E`,ȅ:`e`,Ȉ:`I`,ȉ:`i`,Ȍ:`O`,ȍ:`o`,Ȑ:`R`,ȑ:`r`,Ȕ:`U`,ȕ:`u`,B̌:`B`,b̌:`b`,Č̣:`C`,č̣:`c`,Ê̌:`E`,ê̌:`e`,F̌:`F`,f̌:`f`,Ǧ:`G`,ǧ:`g`,Ȟ:`H`,ȟ:`h`,J̌:`J`,ǰ:`j`,Ǩ:`K`,ǩ:`k`,M̌:`M`,m̌:`m`,P̌:`P`,p̌:`p`,Q̌:`Q`,q̌:`q`,Ř̩:`R`,ř̩:`r`,Ṧ:`S`,ṧ:`s`,V̌:`V`,v̌:`v`,W̌:`W`,w̌:`w`,X̌:`X`,x̌:`x`,Y̌:`Y`,y̌:`y`,A̧:`A`,a̧:`a`,B̧:`B`,b̧:`b`,Ḑ:`D`,ḑ:`d`,Ȩ:`E`,ȩ:`e`,Ɛ̧:`E`,ɛ̧:`e`,Ḩ:`H`,ḩ:`h`,I̧:`I`,i̧:`i`,Ɨ̧:`I`,ɨ̧:`i`,M̧:`M`,m̧:`m`,O̧:`O`,o̧:`o`,Q̧:`Q`,q̧:`q`,U̧:`U`,u̧:`u`,X̧:`X`,x̧:`x`,Z̧:`Z`,z̧:`z`,й:`и`,Й:`И`,ё:`е`,Ё:`Е`},r=Object.keys(n).join(`|`),i=new RegExp(r,`g`),a=new RegExp(r,``);function o(e){return n[e]}var s=function(e){return e.replace(i,o)},c=function(e){return!!e.match(a)};t.exports=s,t.exports.has=c,t.exports.remove=s}))()),Jh={CASE_SENSITIVE_EQUAL:7,EQUAL:6,STARTS_WITH:5,WORD_STARTS_WITH:4,CONTAINS:3,ACRONYM:2,MATCHES:1,NO_MATCH:0},Yh=(e,t)=>String(e.rankedValue).localeCompare(String(t.rankedValue));function Xh(e,t,n={}){let{keys:r,threshold:i=Jh.MATCHES,baseSort:a=Yh,sorter:o=e=>e.sort((e,t)=>ng(e,t,a))}=n;return o(e.reduce(s,[])).map(({item:e})=>e);function s(e,a,o){let s=Zh(a,r,t,n),{rank:c,keyThreshold:l=i}=s;return c>=l&&e.push({...s,item:a,index:o}),e}}Xh.rankings=Jh;function Zh(e,t,n,r){if(!t){let t=e;return{rankedValue:t,rank:$h(t,n,r),keyIndex:-1,keyThreshold:r.threshold}}return og(e,t).reduce(({rank:e,rankedValue:t,keyIndex:i,keyThreshold:a},{itemValue:o,attributes:s},c)=>{let l=$h(o,n,r),u=t,{minRanking:d,maxRanking:f,threshold:p}=s;return l=Jh.MATCHES?l=d:l>f&&(l=f),l>e&&(e=l,i=c,a=p,u=o),{rankedValue:u,rank:e,keyIndex:i,keyThreshold:a}},{rankedValue:e,rank:Jh.NO_MATCH,keyIndex:-1,keyThreshold:r.threshold})}function*Qh(e,t){let n=-1;for(;(n=e.indexOf(t,n+1))>-1;)yield n;return-1}function $h(e,t,n){if(e=rg(e,n),t=rg(t,n),t.length>e.length)return Jh.NO_MATCH;if(e===t)return Jh.CASE_SENSITIVE_EQUAL;e=e.toLowerCase(),t=t.toLowerCase();let r=Qh(e,t),i=r.next(),a=i.value;if(e.length===t.length&&a===0)return Jh.EQUAL;if(a===0)return Jh.STARTS_WITH;let o=i;for(;!o.done;){if(o.value>0&&e[o.value-1]===` `)return Jh.WORD_STARTS_WITH;o=r.next()}return a>0?Jh.CONTAINS:t.length===1?Jh.NO_MATCH:eg(e).includes(t)?Jh.ACRONYM:tg(e,t)}function eg(e){let t=``,n=` `;for(let r=0;r-1))return Jh.NO_MATCH}return a(r-o)}function ng(e,t,n){let{rank:r,keyIndex:i}=e,{rank:a,keyIndex:o}=t;return r===a?i===o?n(e,t):ia?-1:1}function rg(e,{keepDiacritics:t}){return e=`${e}`,t||(e=(0,qh.default)(e)),e}function ig(e,t){typeof t==`object`&&(t=t.key);let n;if(typeof t==`function`)n=t(e);else if(e==null)n=null;else if(Object.hasOwnProperty.call(e,t))n=e[t];else if(t.includes(`.`))return ag(t,e);else n=null;return n==null?[]:Array.isArray(n)?n:[String(n)]}function ag(e,t){let n=e.split(`.`),r=[t];for(let e=0,t=n.length;e{var n=200,r=`Expected a function`,i=`__lodash_hash_undefined__`,a=1,o=2,s=1/0,c=9007199254740991,l=`[object Arguments]`,u=`[object Array]`,d=`[object Boolean]`,f=`[object Date]`,p=`[object Error]`,m=`[object Function]`,h=`[object GeneratorFunction]`,g=`[object Map]`,_=`[object Number]`,v=`[object Object]`,y=`[object Promise]`,b=`[object RegExp]`,x=`[object Set]`,S=`[object String]`,C=`[object Symbol]`,w=`[object WeakMap]`,T=`[object ArrayBuffer]`,E=`[object DataView]`,D=`[object Float32Array]`,O=`[object Float64Array]`,k=`[object Int8Array]`,A=`[object Int16Array]`,j=`[object Int32Array]`,M=`[object Uint8Array]`,ee=`[object Uint8ClampedArray]`,te=`[object Uint16Array]`,N=`[object Uint32Array]`,P=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ne=/^\w*$/,F=/^\./,re=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ie=/[\\^$.*+?()[\]{}|]/g,I=/\\(\\)?/g,L=/^\[object .+?Constructor\]$/,R=/^(?:0|[1-9]\d*)$/,z={};z[D]=z[O]=z[k]=z[A]=z[j]=z[M]=z[ee]=z[te]=z[N]=!0,z[l]=z[u]=z[T]=z[d]=z[E]=z[f]=z[p]=z[m]=z[g]=z[_]=z[v]=z[b]=z[x]=z[S]=z[w]=!1;var ae=typeof global==`object`&&global&&global.Object===Object&&global,oe=typeof self==`object`&&self&&self.Object===Object&&self,se=ae||oe||Function(`return this`)(),ce=typeof e==`object`&&e&&!e.nodeType&&e,le=ce&&typeof t==`object`&&t&&!t.nodeType&&t,ue=le&&le.exports===ce&&ae.process,de=function(){try{return ue&&ue.binding(`util`)}catch{}}(),fe=de&&de.isTypedArray;function pe(e,t){for(var n=-1,r=e?e.length:0,i=Array(r);++n-1}function lt(e,t){var n=this.__data__,r=Et(n,e);return r<0?n.push([e,t]):n[r][1]=t,this}it.prototype.clear=at,it.prototype.delete=ot,it.prototype.get=st,it.prototype.has=ct,it.prototype.set=lt;function ut(e){var t=-1,n=e?e.length:0;for(this.clear();++tt||a&&o&&c&&!s&&!l||r&&o&&c||!n&&c||!i)return 1;if(!r&&!a&&!l&&e=s?c:c*(n[r]==`desc`?-1:1)}return e.index-t.index}function V(e,t){return function(n,r){if(n==null)return n;if(!yn(n))return e(n,r);for(var i=n.length,a=t?i:-1,o=Object(n);(t?a--:++al))return!1;var d=s.get(e);if(d&&s.get(t))return d==t;var f=-1,p=!0,m=i&a?new gt:void 0;for(s.set(e,t),s.set(t,e);++f-1&&e%1==0&&e-1&&e%1==0&&e<=c}function Cn(e){var t=typeof e;return!!e&&(t==`object`||t==`function`)}function wn(e){return!!e&&typeof e==`object`}function Tn(e){return typeof e==`symbol`||wn(e)&&je.call(e)==C}var En=fe?ve(fe):Lt;function Dn(e){return e==null?``:Gt(e)}function On(e,t,n){var r=e==null?void 0:At(e,t);return r===void 0?n:r}function kn(e,t){return e!=null&&nn(e,t,Mt)}function An(e){return yn(e)?Tt(e):zt(e)}function jn(e){return e}function Mn(e){return an(e)?he(fn(e)):Wt(e)}t.exports=mn}))(),1),fg={InputWrapper:`_InputWrapper_avklz_1`,Shortcut:`_Shortcut_avklz_9`,Input:`_Input_avklz_1`,SelectedValue:`_SelectedValue_avklz_52`,SelectedName:`_SelectedName_avklz_67`,ItemType:`_ItemType_avklz_79`,Popover:`_Popover_avklz_83`,PopoverWrapper:`_PopoverWrapper_avklz_97`,List:`_List_avklz_110`,Group:`_Group_avklz_114`,GroupLabel:`_GroupLabel_avklz_122`,Item:`_Item_avklz_79`,ItemHeader:`_ItemHeader_avklz_162`,ItemName:`_ItemName_avklz_168`,ItemTypes:`_ItemTypes_avklz_174`,ItemMissionName:`_ItemMissionName_avklz_193`,NoResults:`_NoResults_avklz_198`,Backdrop:`_Backdrop_avklz_205`,CloseButton:`_CloseButton_avklz_215`},pg=new Set([`SkiFree`,`SkiFree_Daily`,`SkiFree_Randomizer`]),mg={"missions.vl2":`Official`,"TR2final105-client.vl2":`Team Rabbit 2`,"z_mappacks/CTF/Classic_maps_v1.vl2":`Classic`,"z_mappacks/CTF/DynamixFinalPack.vl2":`Official`,"z_mappacks/CTF/KryMapPack_b3EDIT.vl2":`KryMapPack`,"z_mappacks/CTF/S5maps.vl2":`S5`,"z_mappacks/CTF/S8maps.vl2":`S8`,"z_mappacks/CTF/TWL-MapPack.vl2":`TWL`,"z_mappacks/CTF/TWL-MapPackEDIT.vl2":`TWL`,"z_mappacks/CTF/TWL2-MapPack.vl2":`TWL2`,"z_mappacks/CTF/TWL2-MapPackEDIT.vl2":`TWL2`,"z_mappacks/TWL_T2arenaOfficialMaps.vl2":`Arena`,"z_mappacks/xPack2.vl2":`xPack2`,"z_mappacks/z_DMP2-V0.6.vl2":`DMP2 (Discord Map Pack)`,"z_mappacks/zDMP-4.7.3DX.vl2":`DMP (Discord Map Pack)`,"z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2":`DMP (Discord Map Pack)`},hg={"z_mappacks/DM":`DM`,"z_mappacks/LCTF":`LCTF`,"z_mappacks/Lak":`LakRabbit`},gg=e=>{let t=e.match(/^(.*)(\/[^/]+)$/);return t?t[1]:``},_g=O().filter(e=>!pg.has(e)).map(e=>{let t=D(e),[n]=k(t.resourcePath),r=gg(n),i=mg[n]??hg[r]??null;return{resourcePath:t.resourcePath,missionName:e,displayName:t.displayName,sourcePath:n,groupName:i,missionTypes:t.missionTypes}}),vg=new Map(_g.map(e=>[e.missionName,e]));function yg(e){let t=new Map;for(let n of e){let e=t.get(n.groupName)??[];e.push(n),t.set(n.groupName,e)}return t.forEach((e,n)=>{t.set(n,(0,dg.default)(e,[e=>(e.displayName||e.missionName).toLowerCase()],[`asc`]))}),(0,dg.default)(Array.from(t.entries()),[([e])=>e===`Official`?0:e==null?2:1,([e])=>e?e.toLowerCase():``],[`asc`,`asc`])}var bg=yg(_g),xg=typeof navigator<`u`&&/Mac|iPhone|iPad|iPod/.test(navigator.platform);function Sg(e){let t=(0,V.c)(12),{mission:n}=e,r=n.displayName||n.missionName,i;t[0]===r?i=t[1]:(i=(0,H.jsx)(`span`,{className:fg.ItemName,children:r}),t[0]=r,t[1]=i);let a;t[2]===n.missionTypes?a=t[3]:(a=n.missionTypes.length>0&&(0,H.jsx)(`span`,{className:fg.ItemTypes,children:n.missionTypes.map(Cg)}),t[2]=n.missionTypes,t[3]=a);let o;t[4]!==i||t[5]!==a?(o=(0,H.jsxs)(`span`,{className:fg.ItemHeader,children:[i,a]}),t[4]=i,t[5]=a,t[6]=o):o=t[6];let s;t[7]===n.missionName?s=t[8]:(s=(0,H.jsx)(`span`,{className:fg.ItemMissionName,children:n.missionName}),t[7]=n.missionName,t[8]=s);let c;return t[9]!==o||t[10]!==s?(c=(0,H.jsxs)(H.Fragment,{children:[o,s]}),t[9]=o,t[10]=s,t[11]=c):c=t[11],c}function Cg(e){return(0,H.jsx)(`span`,{className:fg.ItemType,"data-mission-type":e,children:e},e)}function wg(e){let t=(0,V.c)(65),{value:n,missionType:r,onChange:i,disabled:a,autoFocus:o,onCancel:s}=e,[c,l]=(0,B.useState)(``),u=(0,B.useRef)(null),d=(0,B.useRef)(r),f;t[0]===s?f=t[1]:(f=e=>{e||s?.()},t[0]=s,t[1]=f);let p;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(p=e=>{(0,B.startTransition)(()=>l(e))},t[2]=p):p=t[2];let m=Gh({resetValueOnHide:!0,selectedValue:n,setOpen:f,setSelectedValue:e=>{if(e){let t=d.current,n=D(e).missionTypes;(!t||!n.includes(t))&&(t=n[0]),i({missionName:e,missionType:t}),u.current?.blur()}},setValue:p}),h=Z(m,`open`),g,_;t[3]!==o||t[4]!==m?(g=()=>{o&&(u.current?.focus(),m.show())},_=[o,m],t[3]=o,t[4]=m,t[5]=g,t[6]=_):(g=t[5],_=t[6]),(0,B.useEffect)(g,_);let v,y;t[7]===m?(v=t[8],y=t[9]):(v=()=>{let e=e=>{e.code===`KeyK`&&(e.metaKey||e.ctrlKey)&&(e.stopPropagation(),e.preventDefault(),u.current?.focus(),m.show())};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},y=[m],t[7]=m,t[8]=v,t[9]=y),(0,B.useEffect)(v,y);let b;t[10]===n?b=t[11]:(b=vg.get(n),t[10]=n,t[11]=b);let x=b,S;bb0:{if(!c){let e;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(e={type:`grouped`,groups:bg},t[12]=e):e=t[12],S=e;break bb0}let e;t[13]===c?e=t[14]:(e=Xh(_g,c,{keys:[`displayName`,`missionName`,`missionTypes`,`groupName`]}),t[13]=c,t[14]=e);let n=e,r;t[15]===n?r=t[16]:(r={type:`flat`,missions:n},t[15]=n,t[16]=r),S=r}let C=S,w=x?x.displayName||x.missionName:n,T=C.type===`flat`?C.missions.length===0:C.groups.length===0,E=e=>(0,H.jsx)(jh,{value:e.missionName,className:fg.Item,focusOnHover:!0,onClick:t=>{if(t.target&&t.target instanceof HTMLElement){let r=t.target.dataset.missionType;r?(d.current=r,e.missionName===n&&i({missionName:e.missionName,missionType:r})):d.current=null}else d.current=null},children:(0,H.jsx)(Sg,{mission:e})},e.missionName),O=Kh,k=h?`visible`:`hidden`,A;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,H.jsx)(`div`,{className:fg.Backdrop}),t[17]=A):A=t[17];let j;t[18]===k?j=t[19]:(j=(0,H.jsx)(B.Activity,{mode:k,children:A}),t[18]=k,t[19]=j);let M=x?void 0:`Choose a map…`,ee,te;t[20]===m?(ee=t[21],te=t[22]):(ee=()=>{try{document.exitPointerLock()}catch{}m.show()},te=e=>{e.key===`Escape`&&!m.getState().open&&u.current?.blur()},t[20]=m,t[21]=ee,t[22]=te);let N;t[23]!==o||t[24]!==a||t[25]!==M||t[26]!==ee||t[27]!==te?(N=(0,H.jsx)(bh,{ref:u,autoSelect:!0,autoFocus:o,disabled:a,placeholder:M,className:fg.Input,onFocus:ee,onKeyDown:te}),t[23]=o,t[24]=a,t[25]=M,t[26]=ee,t[27]=te,t[28]=N):N=t[28];let P;t[29]!==w||t[30]!==r||t[31]!==x?(P=x&&(0,H.jsxs)(`div`,{className:fg.SelectedValue,children:[(0,H.jsx)(`span`,{className:fg.SelectedName,children:w}),r&&(0,H.jsx)(`span`,{className:fg.ItemType,"data-mission-type":r,children:r})]}),t[29]=w,t[30]=r,t[31]=x,t[32]=P):P=t[32];let ne;t[33]===Symbol.for(`react.memo_cache_sentinel`)?(ne=(0,H.jsx)(`kbd`,{className:fg.Shortcut,children:xg?`⌘K`:`^K`}),t[33]=ne):ne=t[33];let F;t[34]!==N||t[35]!==P?(F=(0,H.jsxs)(`div`,{className:fg.InputWrapper,onKeyDown:Eg,children:[N,P,ne]}),t[34]=N,t[35]=P,t[36]=F):F=t[36];let re;t[37]!==m||t[38]!==s?(re=()=>{m.hide(),s?.()},t[37]=m,t[38]=s,t[39]=re):re=t[39];let ie;t[40]===Symbol.for(`react.memo_cache_sentinel`)?(ie=(0,H.jsx)(ug,{}),t[40]=ie):ie=t[40];let I;t[41]!==h||t[42]!==re?(I=(0,H.jsx)(`button`,{type:`button`,className:fg.CloseButton,"data-open":h,onClick:re,children:ie}),t[41]=h,t[42]=re,t[43]=I):I=t[43];let L=Rh,R=fg,z;t[44]===Symbol.for(`react.memo_cache_sentinel`)?(z={className:fg.PopoverWrapper},t[44]=z):z=t[44];let ae=Tg,oe=Ph,se=fg,ce=C.type===`flat`?C.missions.map(E):C.groups.map(e=>{let[t,n]=e;return t?(0,H.jsxs)(Ch,{className:fg.Group,children:[(0,H.jsx)(Eh,{className:fg.GroupLabel,children:t}),n.map(E)]},t):(0,H.jsx)(B.Fragment,{children:n.map(E)},`ungrouped`)}),le;t[45]===T?le=t[46]:(le=T&&(0,H.jsx)(`div`,{className:fg.NoResults,children:`No missions found`}),t[45]=T,t[46]=le);let ue;t[47]!==oe||t[48]!==se.List||t[49]!==ce||t[50]!==le?(ue=(0,H.jsxs)(oe,{className:se.List,children:[ce,le]}),t[47]=oe,t[48]=se.List,t[49]=ce,t[50]=le,t[51]=ue):ue=t[51];let de;t[52]!==L||t[53]!==R.Popover||t[54]!==z||t[55]!==ae||t[56]!==ue?(de=(0,H.jsx)(L,{gutter:4,fitViewport:!0,sameWidth:!0,fixed:!0,autoFocusOnHide:!1,className:R.Popover,wrapperProps:z,onKeyDown:ae,children:ue}),t[52]=L,t[53]=R.Popover,t[54]=z,t[55]=ae,t[56]=ue,t[57]=de):de=t[57];let fe;return t[58]!==O||t[59]!==m||t[60]!==j||t[61]!==F||t[62]!==I||t[63]!==de?(fe=(0,H.jsxs)(O,{store:m,children:[j,F,I,de]}),t[58]=O,t[59]=m,t[60]=j,t[61]=F,t[62]=I,t[63]=de,t[64]=fe):fe=t[64],fe}function Tg(e){e.metaKey||e.stopPropagation()}function Eg(e){e.metaKey||e.stopPropagation()}function Dg(e){return C({tag:`svg`,attr:{viewBox:`0 0 24 24`},child:[{tag:`path`,attr:{d:`m12 6-6 8h12zM6 16h12v2H6z`},child:[]}]})(e)}var Og={Header:`_Header_klnnn_1`,MissionInfo:`_MissionInfo_klnnn_9`,MissionName:`_MissionName_klnnn_21 _SelectedName_avklz_67`,MissionType:`_MissionType_klnnn_25 _ItemType_avklz_79`,MissionTypeDisplayName:`_MissionTypeDisplayName_klnnn_30`,Metadata:`_Metadata_klnnn_35`,Attribution:`_Attribution_klnnn_46`,ServerInfo:`_ServerInfo_klnnn_47`,PlayerName:`_PlayerName_klnnn_51`,RecordingDate:`_RecordingDate_klnnn_52`,ServerName:`_ServerName_klnnn_53`,EjectButton:`_EjectButton_klnnn_57 _DestructiveActionButton_p0g82_141 _Button_p0g82_2`,DisconnectButton:`_DisconnectButton_klnnn_58 _DestructiveActionButton_p0g82_141 _Button_p0g82_2`,EjectIcon:`_EjectIcon_klnnn_62`,Error:`_Error_klnnn_67`,Pulsing:`_Pulsing_klnnn_81`,blink:`_blink_klnnn_1`,ConnectionPing:`_ConnectionPing_klnnn_85`,PingDot:`_PingDot_klnnn_95 _Pulsing_klnnn_81`};function kg(){let e=(0,V.c)(28),t=ii(),n=pi(),r=ci(),i=ui(),a=hi(),o=_i(),s=yi(),[c,l]=s?s.split(` `):[null,null],u=t===`live`,d=Di(),f=wi(Mg),p=wi(Ti),m=jg,h=Ag,g=Og,_;e[0]!==n||e[1]!==r||e[2]!==i?(_=n&&r?(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(`span`,{className:Og.MissionName,children:n}),r&&(0,H.jsxs)(H.Fragment,{children:[` `,(0,H.jsx)(`span`,{className:Og.MissionType,"data-mission-type":r,children:i===`LCTF`?`LCTF`:r})]})]}):null,e[0]=n,e[1]=r,e[2]=i,e[3]=_):_=e[3];let v;e[4]===_?v=e[5]:(v=(0,H.jsx)(`div`,{className:Og.MissionInfo,children:_}),e[4]=_,e[5]=v);let y;e[6]!==f||e[7]!==p?(y=f&&p!=null?(0,H.jsxs)(`span`,{className:Og.ConnectionPing,"data-quality":p<150?`good`:p<300?`fine`:`poor`,children:[(0,H.jsx)(`span`,{className:Og.PingDot}),` `,M(p)]}):null,e[6]=f,e[7]=p,e[8]=y):y=e[8];let b=Og,x=u?f?o?(0,H.jsxs)(`div`,{className:Og.Attribution,children:[`Connected as`,` `,(0,H.jsx)(`span`,{className:Og.PlayerName,children:o})]}):null:(0,H.jsx)(`div`,{className:Og.Error,children:`Disconnected`}):o&&s?(0,H.jsxs)(`div`,{className:Og.Attribution,children:[`Recorded by `,(0,H.jsx)(`span`,{className:Og.PlayerName,children:o}),` `,`on`,` `,(0,H.jsx)(`span`,{className:Og.RecordingDate,children:c.replace(/-/g,` `)}),` `,`at`,` `,(0,H.jsx)(`span`,{className:Og.RecordingDate,children:(l??``).replace(/(AM|PM)$/,` $1`)})]}):null,S;e[9]===a?S=e[10]:(S=a?(0,H.jsxs)(`div`,{className:Og.ServerInfo,children:[`Server: `,(0,H.jsx)(`span`,{className:Og.ServerName,children:a})]}):null,e[9]=a,e[10]=S);let C;e[11]!==b.Metadata||e[12]!==x||e[13]!==S?(C=(0,H.jsxs)(`div`,{className:b.Metadata,children:[x,S]}),e[11]=b.Metadata,e[12]=x,e[13]=S,e[14]=C):C=e[14];let w;e[15]!==t||e[16]!==h||e[17]!==m||e[18]!==u||e[19]!==f||e[20]!==d?(w=t===`demo`?(0,H.jsx)(`button`,{type:`button`,className:Og.EjectButton,title:`Unload demo`,"aria-label":`Unload demo`,onClick:m,disabled:!d,children:(0,H.jsx)(Dg,{className:Og.EjectIcon})}):u?(0,H.jsx)(`button`,{type:`button`,className:Og.DisconnectButton,title:`Disconnect`,"aria-label":`Disconnect`,onClick:h,disabled:!f,children:(0,H.jsx)(Fo,{})}):null,e[15]=t,e[16]=h,e[17]=m,e[18]=u,e[19]=f,e[20]=d,e[21]=w):w=e[21];let T;return e[22]!==g.Header||e[23]!==v||e[24]!==y||e[25]!==C||e[26]!==w?(T=(0,H.jsxs)(`div`,{className:g.Header,children:[v,y,C,w]}),e[22]=g.Header,e[23]=v,e[24]=y,e[25]=C,e[26]=w,e[27]=T):T=e[27],T}function Ag(){Ci.getState().disconnectServer(),re.getState().setRecording(null)}function jg(){re.getState().setRecording(null)}function Mg(e){return e.gameStatus===`connected`||e.gameStatus===`authenticating`}function Ng(e){let t=(0,V.c)(5),{onChangeMission:n}=e,{setRecording:r}=Ii(),i=(0,B.useEffectEvent)(n),a;t[0]!==i||t[1]!==r?(a=()=>(window.setMissionName=e=>{let t=D(e).missionTypes;i({missionName:e,missionType:t[0]})},window.getMissionList=O,window.getMissionInfo=D,window.loadDemoRecording=r,Pg),t[0]=i,t[1]=r,t[2]=a):a=t[2];let o;t[3]===r?o=t[4]:(o=[r],t[3]=r,t[4]=o),(0,B.useEffect)(a,o)}function Pg(){delete window.setMissionName,delete window.getMissionList,delete window.getMissionInfo,delete window.loadDemoRecording}var Fg=(0,B.createContext)(null);function Ig(){let e=(0,B.useContext)(Fg);if(!e)throw Error(`useCameras must be used within CamerasProvider`);return e}function Lg({children:e}){let t=s(e=>e.camera),[n,r]=(0,B.useState)(-1),[i,a]=(0,B.useState)({}),[o,c]=(0,B.useState)(()=>({initialized:!1,position:null,quarternion:null})),l=(0,B.useCallback)(e=>{a(t=>({...t,[e.id]:e}))},[]),u=(0,B.useCallback)(e=>{a(t=>{let{[e.id]:n,...r}=t;return r})},[]),d=Object.keys(i).length,f=(0,B.useCallback)(e=>{if(e>=0&&e{f(d?(n+1)%d:-1)},[d,n,f]);(0,B.useEffect)(()=>{let e=()=>{let e=window.location.hash;if(e.startsWith(`#c`)){let[t,n]=e.slice(2).split(`~`),r=t.split(`,`).map(e=>parseFloat(e)),i=n.split(`,`).map(e=>parseFloat(e));c({initialized:!0,position:new at(...r),quarternion:new Fe(...i)})}else c({initialized:!0,position:null,quarternion:null})};return window.addEventListener(`hashchange`,e),e(),()=>{window.removeEventListener(`hashchange`,e)}},[]),(0,B.useEffect)(()=>{o.initialized&&o.position&&(t.position.copy(o.position),o.quarternion&&t.quaternion.copy(o.quarternion))},[t,o]),(0,B.useEffect)(()=>{!o.initialized||o.position||d>0&&n===-1&&f(0)},[d,f,n,o]);let m=(0,B.useMemo)(()=>({registerCamera:l,unregisterCamera:u,nextCamera:p,setCameraIndex:f,cameraCount:d}),[l,u,p,f,d]);return d===0&&n!==-1&&r(-1),(0,H.jsx)(Fg.Provider,{value:m,children:e})}var Rg=(0,B.createContext)(null);function zg(){let e=(0,B.useContext)(Rg);if(!e)throw Error(`useInputContext must be used within an InputProvider`);return e}function Bg(){return zg().onInput}function Vg(){return zg().mode}var Hg=new Set([`Ctrl`,`Shift`,`Alt`]),Ug=new Set([`MetaLeft`,`MetaRight`,`ControlLeft`,`ControlRight`,`ShiftLeft`,`ShiftRight`,`AltLeft`,`AltRight`]);function Wg(e){if(typeof e!=`string`)return e;let t=e.split(`-`),n=t.pop(),r=[];for(let e of t)Hg.has(e)&&r.push(e);return{type:`key`,code:n,modifiers:r.length>0?r:void 0}}function Gg(e,t){let n=e.has(`ControlLeft`)||e.has(`ControlRight`),r=e.has(`ShiftLeft`)||e.has(`ShiftRight`),i=e.has(`AltLeft`)||e.has(`AltRight`);return n===(t?.includes(`Ctrl`)??!1)&&r===(t?.includes(`Shift`)??!1)&&i===(t?.includes(`Alt`)??!1)}function Kg(e,t){let n=t?.includes(`Ctrl`)??!1,r=t?.includes(`Shift`)??!1,i=t?.includes(`Alt`)??!1;return e.ctrlKey===n&&e.shiftKey===r&&e.altKey===i}function qg(){return{pressed:!1}}function Jg(){return{dragging:!1,deltaX:0,deltaY:0,startX:0,startY:0}}function Yg(){return{deltaX:0,deltaY:0}}function Xg(){return{touching:!1,dragging:!1,deltaX:0,deltaY:0}}function Zg(e){switch(e.type){case`key`:case`click`:return qg();case`drag`:case`pointerLockMove`:return Jg();case`scroll`:return Yg();case`touch`:return Xg()}}var Qg=N()(ie(()=>({keys:new Set,actions:{}}))),$g=new Map;function e_(e,t){let n=$g.get(e);return n||(n=new Set,$g.set(e,n)),n.add(t),()=>{n.delete(t),n.size===0&&$g.delete(e)}}function t_(e){let t=$g.get(e);if(t)for(let e of t)e()}var n_=new Set([`text`,`search`,`url`,`tel`,`email`,`password`,`number`,`date`,`datetime-local`,`month`,`week`,`time`]),r_=new Set([`Space`,`Enter`,`NumpadEnter`,`ArrowUp`,`ArrowDown`,`ArrowLeft`,`ArrowRight`]);function i_(e){if(e.code===`Tab`)return document.pointerLockElement?(e.preventDefault(),!1):!0;let t=document.activeElement;if(!t||t===document.body)return!1;let n=t.tagName;if(t.isContentEditable||n===`TEXTAREA`)return!0;if(n===`INPUT`){let n=t.type.toLowerCase();return n_.has(n)?!0:r_.has(e.code)}return n===`BUTTON`||n===`SELECT`||n===`A`||n===`SUMMARY`?r_.has(e.code):!1}function a_(e){if(e.metaKey||i_(e))return;let{keys:t}=Qg.getState();if(t.has(e.code))return;let n=new Set(t);n.add(e.code),Qg.setState(e=>({...e,keys:n}))}function o_(e){let{keys:t}=Qg.getState();if(!t.has(e.code))return;let n=new Set(t);if(n.delete(e.code),e.code===`MetaLeft`||e.code===`MetaRight`)for(let e of n)Ug.has(e)||n.delete(e);Qg.setState(e=>({...e,keys:n}))}function s_(){let{keys:e}=Qg.getState();e.size!==0&&Qg.setState(e=>({...e,keys:new Set}))}window.addEventListener(`keydown`,a_),window.addEventListener(`keyup`,o_),window.addEventListener(`blur`,s_);function c_(e){let t=(0,V.c)(2),n;return t[0]===e?n=t[1]:(n=t=>e(t.actions),t[0]=e,t[1]=n),P(Qg,n)}function l_(){let e=(0,V.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=[Qg.subscribe,u_],e[0]=t):t=e[0],t}function u_(){return Qg.getState().actions}function d_(){let{actions:e}=Qg.getState(),t={};for(let[n,r]of Object.entries(e))`deltaX`in r&&(r.deltaX!==0||r.deltaY!==0)&&(t[n]={...r,deltaX:0,deltaY:0});Object.keys(t).length>0&&Qg.setState(e=>({...e,actions:{...e.actions,...t}}))}function f_(e,t){let n=(0,V.c)(5),r=(0,B.useEffectEvent)(t),i;n[0]!==e||n[1]!==r?(i=()=>e_(e,r),n[0]=e,n[1]=r,n[2]=i):i=n[2];let a;n[3]===e?a=n[4]:(a=[e],n[3]=e,n[4]=a),(0,B.useEffect)(i,a)}var p_=1,m_=11,h_=.002;function g_(e){let t=(e-x)/(1-x);return(Math.round(t*15)+1)/16}function __(e,t){let n=e[t];return n!=null&&`pressed`in n&&n.pressed}function v_(){let e=(0,V.c)(41),t=g(),{speedMultiplier:n,setSpeedMultiplier:r,mouseSensitivity:i,invertScroll:a,invertDrag:c}=b(),{onInput:l,mode:u}=zg(),[,d]=l_(),f=s(x_),{setCameraIndex:p,cameraCount:m}=Ig(),h=(0,B.useRef)(!1),_=(0,B.useRef)(!1),v,y;e[0]===t?(v=e[1],y=e[2]):(v=()=>{t&&document.pointerLockElement&&document.exitPointerLock()},y=[t],e[0]=t,e[1]=v,e[2]=y),(0,B.useEffect)(v,y);let S;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(S=[],e[3]=S):S=e[3],(0,B.useEffect)(y_,S);let C;e[4]!==f||e[5]!==t?(C=()=>{!t&&!R.getState().animation&&f.domElement.requestPointerLock()},e[4]=f,e[5]=t,e[6]=C):C=e[6],f_(`canvasClick`,C);let w;e[7]===Symbol.for(`react.memo_cache_sentinel`)?(w=()=>{h.current=!0},e[7]=w):w=e[7],f_(`nextPlayer`,w);let T;e[8]!==d||e[9]!==a||e[10]!==r?(T=()=>{let e=d().adjustSpeed;if(!e||e.deltaY===0)return;let t=a?-1:1,n=(e.deltaY>0?-1:1)*t,i=Math.ceil(Math.log2(Math.abs(e.deltaY)+1)),o=Math.max(p_,Math.min(m_,i))*n;r(e=>{let t=Math.round(e*100)+o;return Math.max(x,Math.min(1,t/100))})},e[8]=d,e[9]=a,e[10]=r,e[11]=T):T=e[11],f_(`adjustSpeed`,T);let E;e[12]!==m||e[13]!==p?(E=e=>{eD(0),e[15]=D,e[16]=O),f_(`camera1`,O);let k;e[17]===D?k=e[18]:(k=()=>D(1),e[17]=D,e[18]=k),f_(`camera2`,k);let A;e[19]===D?A=e[20]:(A=()=>D(2),e[19]=D,e[20]=A),f_(`camera3`,A);let j;e[21]===D?j=e[22]:(j=()=>D(3),e[21]=D,e[22]=j),f_(`camera4`,j);let M;e[23]===D?M=e[24]:(M=()=>D(4),e[23]=D,e[24]=M),f_(`camera5`,M);let ee;e[25]===D?ee=e[26]:(ee=()=>D(5),e[25]=D,e[26]=ee),f_(`camera6`,ee);let te;e[27]===D?te=e[28]:(te=()=>D(6),e[27]=D,e[28]=te),f_(`camera7`,te);let N;e[29]===D?N=e[30]:(N=()=>D(7),e[29]=D,e[30]=N),f_(`camera8`,N);let P;e[31]===D?P=e[32]:(P=()=>D(8),e[31]=D,e[32]=P),f_(`camera9`,P);let ne;e[33]===Symbol.for(`react.memo_cache_sentinel`)?(ne=()=>{_.current=!0},e[33]=ne):ne=e[33],f_(`toggleObserverMode`,ne);let F;return e[34]!==d||e[35]!==c||e[36]!==u||e[37]!==i||e[38]!==l||e[39]!==n?(F=(e,t)=>{if(R.getState().animation)return;let r=d(),a=0,o=0,s=r.lockedLook;s&&(s.deltaX!==0||s.deltaY!==0)&&(a=s.deltaX*i,o=s.deltaY*i);let f=r.dragLook;if(f?.dragging&&(f.deltaX!==0||f.deltaY!==0)){let e=(c?1:-1)*(u===`follow`?-1:1);a+=e*f.deltaX*h_,o+=e*f.deltaY*h_}__(r,`lookLeft`)&&(a-=1*t),__(r,`lookRight`)&&(a+=1*t),__(r,`lookUp`)&&(o-=1*t),__(r,`lookDown`)&&(o+=1*t);let p=0,m=0,g=0;__(r,`moveLeft`)&&(p=-1),__(r,`moveRight`)&&(p+=1),__(r,`moveForward`)&&(m=1),__(r,`moveBackward`)&&--m,__(r,`moveUp`)&&(g=1),__(r,`moveDown`)&&--g;let v=g_(n);p=Math.max(-1,Math.min(1,p*v)),m=Math.max(-1,Math.min(1,m*v)),g=Math.max(-1,Math.min(1,g*v));let y=[!1,!1,!1,!1,!1,!1];h.current&&=(y[0]=!0,!1),_.current&&=(y[2]=!0,!1),d_();let b=a!==0||o!==0,x=p!==0||m!==0||g!==0,S=y.some(Boolean);!b&&!x&&!S||l({deltaYaw:a,deltaPitch:o,x:p,y:m,z:g,triggers:y,delta:t})},e[34]=d,e[35]=c,e[36]=u,e[37]=i,e[38]=l,e[39]=n,e[40]=F):F=e[40],o(F),null}function y_(){return R.subscribe(b_)}function b_(e){e.animation&&document.pointerLockElement&&document.exitPointerLock()}function x_(e){return e.gl}var S_=(0,B.lazy)(()=>Vt(()=>import(`./TouchHandler-DHnTaPUe.js`).then(e=>({default:e.TouchHandler})),__vite__mapDeps([7,8,2,9,3,10,11,12,13,14,15])));function C_(e){let t=(0,V.c)(9),{children:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=[],t[0]=r):r=t[0];let i=(0,B.useRef)(r),[a,o]=(0,B.useState)(`local`),s;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(s=e=>{i.current.push(e)},t[1]=s):s=t[1];let c=s,l;t[2]===a?l=t[3]:(l={moveQueue:i,onInput:c,mode:a,setMode:o},t[2]=a,t[3]=l);let u;t[4]===n?u=t[5]:(u=(0,H.jsx)(Ht,{children:n}),t[4]=n,t[5]=u);let d;return t[6]!==l||t[7]!==u?(d=(0,H.jsx)(Rg.Provider,{value:l,children:u}),t[6]=l,t[7]=u,t[8]=d):d=t[8],d}function w_(){let e=(0,V.c)(5),t=g(),n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,H.jsx)(v_,{}),e[0]=n):n=e[0];let r;e[1]===t?r=e[2]:(r=t?(0,H.jsx)(B.Suspense,{children:(0,H.jsx)(S_,{})}):null,e[1]=t,e[2]=r);let i;return e[3]===r?i=e[4]:(i=(0,H.jsxs)(H.Fragment,{children:[n,r]}),e[3]=r,e[4]=i),i}var T_=(0,B.lazy)(()=>Vt(()=>import(`./TouchJoystick-CGPWexYp.js`).then(e=>({default:e.TouchJoystick})),__vite__mapDeps([16,2,17,11,9,12,10,13,14,15,18]))),E_=(0,B.lazy)(()=>Vt(()=>import(`./KeyboardOverlay-DKaTY3Tb.js`).then(e=>({default:e.KeyboardOverlay})),__vite__mapDeps([19,2,11,9,12,10,13,14,20,21,22,23])));function D_(){let e=(0,V.c)(9),t=g(),n=L(O_),{showInputOverlay:r}=u(),i;e[0]!==t||e[1]!==n?(i=t&&!n?(0,H.jsx)(T_,{}):null,e[0]=t,e[1]=n,e[2]=i):i=e[2];let a;e[3]!==t||e[4]!==r?(a=t===!1&&r?(0,H.jsx)(E_,{}):null,e[3]=t,e[4]=r,e[5]=a):a=e[5];let o;return e[6]!==i||e[7]!==a?(o=(0,H.jsxs)(B.Suspense,{children:[i,a]}),e[6]=i,e[7]=a,e[8]=o):o=e[8],o}function O_(e){return e.animation!==null}var k_={LoadingIndicator:`_LoadingIndicator_8ijel_1`,loadingComplete:`_loadingComplete_8ijel_1`,Spinner:`_Spinner_8ijel_19`,spin:`_spin_8ijel_1`,Progress:`_Progress_8ijel_28`,ProgressBar:`_ProgressBar_8ijel_36`,ProgressText:`_ProgressText_8ijel_43`};function A_(e){let t=(0,V.c)(12),{isLoading:n,progress:r}=e,i=r===void 0?null:r,a=(i??0)*100,o=!n,s=i==null,c;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,H.jsx)(`div`,{className:k_.Spinner}),t[0]=c):c=t[0];let l=`${a}%`,u;t[1]===l?u=t[2]:(u=(0,H.jsx)(`div`,{className:k_.Progress,children:(0,H.jsx)(`div`,{className:k_.ProgressBar,style:{width:l}})}),t[1]=l,t[2]=u);let d;t[3]===a?d=t[4]:(d=Math.round(a),t[3]=a,t[4]=d);let f;t[5]===d?f=t[6]:(f=(0,H.jsxs)(`div`,{className:k_.ProgressText,children:[d,`%`]}),t[5]=d,t[6]=f);let p;return t[7]!==o||t[8]!==s||t[9]!==u||t[10]!==f?(p=(0,H.jsxs)(`div`,{className:k_.LoadingIndicator,"data-complete":o,"data-indeterminate":s,children:[c,u,f]}),t[7]=o,t[8]=s,t[9]=u,t[10]=f,t[11]=p):p=t[11],p}var j_={Dialog:`_Dialog_1t9wa_1`,Overlay:`_Overlay_1t9wa_22`,DialogButton:`_DialogButton_1t9wa_33`,Secondary:`_Secondary_1t9wa_72 _DialogButton_1t9wa_33`,Actions:`_Actions_1t9wa_86`};function M_(e){let t=(0,V.c)(5),{onClose:n}=e,r;t[0]===n?r=t[1]:(r=e=>{n?.()},t[0]=n,t[1]=r);let i;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,H.jsx)(`div`,{className:j_.Dialog,children:(0,H.jsx)(A_,{isLoading:!0})}),t[2]=i):i=t[2];let a;return t[3]===r?a=t[4]:(a=(0,H.jsx)(`div`,{className:j_.Overlay,onClick:r,children:i}),t[3]=r,t[4]=a),a}var N_={Button:`_Button_n870r_1`};function P_(e){let t=(0,V.c)(9),{isOpen:n,orientation:r,onClick:i}=e,a=n?`Close sidebar`:`Open sidebar`,o=n?`Close sidebar`:`Open sidebar`,s;t[0]!==n||t[1]!==r?(s=r===`top`?n?(0,H.jsx)(Ao,{}):(0,H.jsx)(ko,{}):n?(0,H.jsx)(Mo,{}):(0,H.jsx)(jo,{}),t[0]=n,t[1]=r,t[2]=s):s=t[2];let c;return t[3]!==i||t[4]!==r||t[5]!==a||t[6]!==o||t[7]!==s?(c=(0,H.jsx)(`button`,{type:`button`,className:N_.Button,"data-orientation":r,"aria-label":a,title:o,onClick:i,children:s}),t[3]=i,t[4]=r,t[5]=a,t[6]=o,t[7]=s,t[8]=c):c=t[8],c}var F_={Button:`_Button_17xa1_1 _DestructiveActionButton_p0g82_141 _Button_p0g82_2`,ButtonLabel:`_ButtonLabel_17xa1_9 _ButtonLabel_p0g82_37`};function I_(){let e=(0,V.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,H.jsxs)(`button`,{type:`button`,className:F_.Button,onClick:L_,children:[(0,H.jsx)(es,{}),(0,H.jsx)(`span`,{className:F_.ButtonLabel,children:`Exit tour`})]}),e[0]=t):t=e[0],t}function L_(){return R.getState().cancel()}var R_=parseInt(`182`.replace(/\D+/g,``));function z_(e,t){if(t===0)return console.warn(`THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles.`),e;if(t===2||t===1){let n=e.getIndex();if(n===null){let t=[],r=e.getAttribute(`position`);if(r!==void 0){for(let e=0;e=2.0 are supported.`));return}let s=new Bv(i,{path:t||this.resourcePath||``,crossOrigin:this.crossOrigin,requestHeader:this.requestHeader,manager:this.manager,ktx2Loader:this.ktx2Loader,meshoptDecoder:this.meshoptDecoder});s.fileLoader.setRequestHeader(this.requestHeader);for(let e=0;e=0&&o[t]===void 0&&console.warn(`THREE.GLTFLoader: Unknown extension "`+t+`".`)}}s.setExtensions(a),s.setPlugins(o),s.parse(n,r)}parseAsync(e,t){let n=this;return new Promise(function(r,i){n.parse(e,t,r,i)})}};function K_(){let e={};return{get:function(t){return e[t]},add:function(t,n){e[t]=n},remove:function(t){delete e[t]},removeAll:function(){e={}}}}var $={KHR_BINARY_GLTF:`KHR_binary_glTF`,KHR_DRACO_MESH_COMPRESSION:`KHR_draco_mesh_compression`,KHR_LIGHTS_PUNCTUAL:`KHR_lights_punctual`,KHR_MATERIALS_CLEARCOAT:`KHR_materials_clearcoat`,KHR_MATERIALS_DISPERSION:`KHR_materials_dispersion`,KHR_MATERIALS_IOR:`KHR_materials_ior`,KHR_MATERIALS_SHEEN:`KHR_materials_sheen`,KHR_MATERIALS_SPECULAR:`KHR_materials_specular`,KHR_MATERIALS_TRANSMISSION:`KHR_materials_transmission`,KHR_MATERIALS_IRIDESCENCE:`KHR_materials_iridescence`,KHR_MATERIALS_ANISOTROPY:`KHR_materials_anisotropy`,KHR_MATERIALS_UNLIT:`KHR_materials_unlit`,KHR_MATERIALS_VOLUME:`KHR_materials_volume`,KHR_TEXTURE_BASISU:`KHR_texture_basisu`,KHR_TEXTURE_TRANSFORM:`KHR_texture_transform`,KHR_MESH_QUANTIZATION:`KHR_mesh_quantization`,KHR_MATERIALS_EMISSIVE_STRENGTH:`KHR_materials_emissive_strength`,EXT_MATERIALS_BUMP:`EXT_materials_bump`,EXT_TEXTURE_WEBP:`EXT_texture_webp`,EXT_TEXTURE_AVIF:`EXT_texture_avif`,EXT_MESHOPT_COMPRESSION:`EXT_meshopt_compression`,EXT_MESH_GPU_INSTANCING:`EXT_mesh_gpu_instancing`},q_=class{constructor(e){this.parser=e,this.name=$.KHR_LIGHTS_PUNCTUAL,this.cache={refs:{},uses:{}}}_markDefs(){let e=this.parser,t=this.parser.json.nodes||[];for(let n=0,r=t.length;n=0)throw Error(`THREE.GLTFLoader: setKTX2Loader must be called before loading KTX2 textures`);return null}return t.loadTextureImage(e,i.source,a)}},sv=class{constructor(e){this.parser=e,this.name=$.EXT_TEXTURE_WEBP,this.isSupported=null}loadTexture(e){let t=this.name,n=this.parser,r=n.json,i=r.textures[e];if(!i.extensions||!i.extensions[t])return null;let a=i.extensions[t],o=r.images[a.source],s=n.textureLoader;if(o.uri){let e=n.options.manager.getHandler(o.uri);e!==null&&(s=e)}return this.detectSupport().then(function(i){if(i)return n.loadTextureImage(e,a.source,s);if(r.extensionsRequired&&r.extensionsRequired.indexOf(t)>=0)throw Error(`THREE.GLTFLoader: WebP required by asset but unsupported.`);return n.loadTexture(e)})}detectSupport(){return this.isSupported||=new Promise(function(e){let t=new Image;t.src=`data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA`,t.onload=t.onerror=function(){e(t.height===1)}}),this.isSupported}},cv=class{constructor(e){this.parser=e,this.name=$.EXT_TEXTURE_AVIF,this.isSupported=null}loadTexture(e){let t=this.name,n=this.parser,r=n.json,i=r.textures[e];if(!i.extensions||!i.extensions[t])return null;let a=i.extensions[t],o=r.images[a.source],s=n.textureLoader;if(o.uri){let e=n.options.manager.getHandler(o.uri);e!==null&&(s=e)}return this.detectSupport().then(function(i){if(i)return n.loadTextureImage(e,a.source,s);if(r.extensionsRequired&&r.extensionsRequired.indexOf(t)>=0)throw Error(`THREE.GLTFLoader: AVIF required by asset but unsupported.`);return n.loadTexture(e)})}detectSupport(){return this.isSupported||=new Promise(function(e){let t=new Image;t.src=`data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAABcAAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAEAAAABAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQAMAAAAABNjb2xybmNseAACAAIABoAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAAB9tZGF0EgAKCBgABogQEDQgMgkQAAAAB8dSLfI=`,t.onload=t.onerror=function(){e(t.height===1)}}),this.isSupported}},lv=class{constructor(e){this.name=$.EXT_MESHOPT_COMPRESSION,this.parser=e}loadBufferView(e){let t=this.parser.json,n=t.bufferViews[e];if(n.extensions&&n.extensions[this.name]){let e=n.extensions[this.name],r=this.parser.getDependency(`buffer`,e.buffer),i=this.parser.options.meshoptDecoder;if(!i||!i.supported){if(t.extensionsRequired&&t.extensionsRequired.indexOf(this.name)>=0)throw Error(`THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files`);return null}return r.then(function(t){let n=e.byteOffset||0,r=e.byteLength||0,a=e.count,o=e.byteStride,s=new Uint8Array(t,n,r);return i.decodeGltfBufferAsync?i.decodeGltfBufferAsync(a,o,s,e.mode,e.filter).then(function(e){return e.buffer}):i.ready.then(function(){let t=new ArrayBuffer(a*o);return i.decodeGltfBuffer(new Uint8Array(t),a,o,s,e.mode,e.filter),t})})}else return null}},uv=class{constructor(e){this.name=$.EXT_MESH_GPU_INSTANCING,this.parser=e}createNodeMesh(e){let t=this.parser.json,n=t.nodes[e];if(!n.extensions||!n.extensions[this.name]||n.mesh===void 0)return null;let r=t.meshes[n.mesh];for(let e of r.primitives)if(e.mode!==xv.TRIANGLES&&e.mode!==xv.TRIANGLE_STRIP&&e.mode!==xv.TRIANGLE_FAN&&e.mode!==void 0)return null;let i=n.extensions[this.name].attributes,a=[],o={};for(let e in i)a.push(this.parser.getDependency(`accessor`,i[e]).then(t=>(o[e]=t,o[e])));return a.length<1?null:(a.push(this.parser.createNodeMesh(e)),Promise.all(a).then(e=>{let t=e.pop(),n=t.isGroup?t.children:[t],r=e[0].count,i=[];for(let e of n){let t=new Dt,n=new at,a=new Fe,s=new at(1,1,1),c=new ze(e.geometry,e.material,r);for(let e=0;e=152?{TEXCOORD_0:`uv`,TEXCOORD_1:`uv1`,TEXCOORD_2:`uv2`,TEXCOORD_3:`uv3`}:{TEXCOORD_0:`uv`,TEXCOORD_1:`uv2`},COLOR_0:`color`,WEIGHTS_0:`skinWeight`,JOINTS_0:`skinIndex`},Dv={scale:`scale`,translation:`position`,rotation:`quaternion`,weights:`morphTargetInfluences`},Ov={CUBICSPLINE:void 0,LINEAR:rt,STEP:Ne},kv={OPAQUE:`OPAQUE`,MASK:`MASK`,BLEND:`BLEND`};function Av(e){return e.DefaultMaterial===void 0&&(e.DefaultMaterial=new ft({color:16777215,emissive:0,metalness:1,roughness:1,transparent:!1,depthTest:!0,side:0})),e.DefaultMaterial}function jv(e,t,n){for(let r in n.extensions)e[r]===void 0&&(t.userData.gltfExtensions=t.userData.gltfExtensions||{},t.userData.gltfExtensions[r]=n.extensions[r])}function Mv(e,t){t.extras!==void 0&&(typeof t.extras==`object`?Object.assign(e.userData,t.extras):console.warn(`THREE.GLTFLoader: Ignoring primitive type .extras, `+t.extras))}function Nv(e,t,n){let r=!1,i=!1,a=!1;for(let e=0,n=t.length;e0||e.search(/^data\:image\/jpeg/)===0?`image/jpeg`:e.search(/\.webp($|\?)/i)>0||e.search(/^data\:image\/webp/)===0?`image/webp`:`image/png`}var zv=new Dt,Bv=class{constructor(e={},t={}){this.json=e,this.extensions={},this.plugins={},this.options=t,this.cache=new K_,this.associations=new Map,this.primitiveCache={},this.nodeCache={},this.meshCache={refs:{},uses:{}},this.cameraCache={refs:{},uses:{}},this.lightCache={refs:{},uses:{}},this.sourceCache={},this.textureCache={},this.nodeNamesUsed={};let n=!1,r=!1,i=-1;typeof navigator<`u`&&navigator.userAgent!==void 0&&(n=/^((?!chrome|android).)*safari/i.test(navigator.userAgent)===!0,r=navigator.userAgent.indexOf(`Firefox`)>-1,i=r?navigator.userAgent.match(/Firefox\/([0-9]+)\./)[1]:-1),typeof createImageBitmap>`u`||n||r&&i<98?this.textureLoader=new Pe(this.options.manager):this.textureLoader=new Ye(this.options.manager),this.textureLoader.setCrossOrigin(this.options.crossOrigin),this.textureLoader.setRequestHeader(this.options.requestHeader),this.fileLoader=new qe(this.options.manager),this.fileLoader.setResponseType(`arraybuffer`),this.options.crossOrigin===`use-credentials`&&this.fileLoader.setWithCredentials(!0)}setExtensions(e){this.extensions=e}setPlugins(e){this.plugins=e}parse(e,t){let n=this,r=this.json,i=this.extensions;this.cache.removeAll(),this.nodeCache={},this._invokeAll(function(e){return e._markDefs&&e._markDefs()}),Promise.all(this._invokeAll(function(e){return e.beforeRoot&&e.beforeRoot()})).then(function(){return Promise.all([n.getDependencies(`scene`),n.getDependencies(`animation`),n.getDependencies(`camera`)])}).then(function(t){let a={scene:t[0][r.scene||0],scenes:t[0],animations:t[1],cameras:t[2],asset:r.asset,parser:n,userData:{}};return jv(i,a,r),Mv(a,r),Promise.all(n._invokeAll(function(e){return e.afterRoot&&e.afterRoot(a)})).then(function(){for(let e of a.scenes)e.updateMatrixWorld();e(a)})}).catch(t)}_markDefs(){let e=this.json.nodes||[],t=this.json.skins||[],n=this.json.meshes||[];for(let n=0,r=t.length;n{let n=this.associations.get(e);n!=null&&this.associations.set(t,n);for(let[n,r]of e.children.entries())i(r,t.children[n])};return i(n,r),r.name+=`_instance_`+ e.uses[t]++,r}_invokeOne(e){let t=Object.values(this.plugins);t.push(this);for(let n=0;n=2&&p.setY(t,u[e*a+1]),a>=3&&p.setZ(t,u[e*a+2]),a>=4&&p.setW(t,u[e*a+3]),a>=5)throw Error(`THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.`)}}return p})}loadTexture(e){let t=this.json,n=this.options,r=t.textures[e].source,i=t.images[r],a=this.textureLoader;if(i.uri){let e=n.manager.getHandler(i.uri);e!==null&&(a=e)}return this.loadTextureImage(e,r,a)}loadTextureImage(e,t,n){let r=this,i=this.json,a=i.textures[e],o=i.images[t],s=(o.uri||o.bufferView)+`:`+a.sampler;if(this.textureCache[s])return this.textureCache[s];let c=this.loadImageSource(t,n).then(function(t){t.flipY=!1,t.name=a.name||o.name||``,t.name===``&&typeof o.uri==`string`&&o.uri.startsWith(`data:image/`)===!1&&(t.name=o.uri);let n=(i.samplers||{})[a.sampler]||{};return t.magFilter=Cv[n.magFilter]||1006,t.minFilter=Cv[n.minFilter]||1008,t.wrapS=wv[n.wrapS]||1e3,t.wrapT=wv[n.wrapT]||1e3,r.associations.set(t,{textures:e}),t}).catch(function(){return null});return this.textureCache[s]=c,c}loadImageSource(e,t){let n=this,r=this.json,i=this.options;if(this.sourceCache[e]!==void 0)return this.sourceCache[e].then(e=>e.clone());let a=r.images[e],o=self.URL||self.webkitURL,s=a.uri||``,c=!1;if(a.bufferView!==void 0)s=n.getDependency(`bufferView`,a.bufferView).then(function(e){c=!0;let t=new Blob([e],{type:a.mimeType});return s=o.createObjectURL(t),s});else if(a.uri===void 0)throw Error(`THREE.GLTFLoader: Image `+e+` is missing URI and bufferView`);let l=Promise.resolve(s).then(function(e){return new Promise(function(n,r){let a=n;t.isImageBitmapLoader===!0&&(a=function(e){let t=new It(e);t.needsUpdate=!0,n(t)}),t.load(Ze.resolveURL(e,i.path),a,void 0,r)})}).then(function(e){return c===!0&&o.revokeObjectURL(s),Mv(e,a),e.userData.mimeType=a.mimeType||Rv(a.uri),e}).catch(function(e){throw console.error(`THREE.GLTFLoader: Couldn't load texture`,s),e});return this.sourceCache[e]=l,l}assignTexture(e,t,n,r){let i=this;return this.getDependency(`texture`,n.index).then(function(a){if(!a)return null;if(n.texCoord!==void 0&&n.texCoord>0&&(a=a.clone(),a.channel=n.texCoord),i.extensions[$.KHR_TEXTURE_TRANSFORM]){let e=n.extensions===void 0?void 0:n.extensions[$.KHR_TEXTURE_TRANSFORM];if(e){let t=i.associations.get(a);a=i.extensions[$.KHR_TEXTURE_TRANSFORM].extendTexture(a,e),i.associations.set(a,t)}}return r!==void 0&&(typeof r==`number`&&(r=r===U_?V_:H_),`colorSpace`in a?a.colorSpace=r:a.encoding=r===V_?U_:W_),e[t]=a,a})}assignFinalMaterial(e){let t=e.geometry,n=e.material,r=t.attributes.tangent===void 0,i=t.attributes.color!==void 0,a=t.attributes.normal===void 0;if(e.isPoints){let e=`PointsMaterial:`+n.uuid,t=this.cache.get(e);t||(t=new dt,kt.prototype.copy.call(t,n),t.color.copy(n.color),t.map=n.map,t.sizeAttenuation=!1,this.cache.add(e,t)),n=t}else if(e.isLine){let e=`LineBasicMaterial:`+n.uuid,t=this.cache.get(e);t||(t=new it,kt.prototype.copy.call(t,n),t.color.copy(n.color),t.map=n.map,this.cache.add(e,t)),n=t}if(r||i||a){let e=`ClonedMaterial:`+n.uuid+`:`;r&&(e+=`derivative-tangents:`),i&&(e+=`vertex-colors:`),a&&(e+=`flat-shading:`);let t=this.cache.get(e);t||(t=n.clone(),i&&(t.vertexColors=!0),a&&(t.flatShading=!0),r&&(t.normalScale&&(t.normalScale.y*=-1),t.clearcoatNormalScale&&(t.clearcoatNormalScale.y*=-1)),this.cache.add(e,t),this.associations.set(t,this.associations.get(n))),n=t}e.material=n}getMaterialType(){return ft}loadMaterial(e){let t=this,n=this.json,r=this.extensions,i=n.materials[e],a,o={},s=i.extensions||{},c=[];if(s[$.KHR_MATERIALS_UNLIT]){let e=r[$.KHR_MATERIALS_UNLIT];a=e.getMaterialType(),c.push(e.extendParams(o,i,t))}else{let n=i.pbrMetallicRoughness||{};if(o.color=new ut(1,1,1),o.opacity=1,Array.isArray(n.baseColorFactor)){let e=n.baseColorFactor;o.color.setRGB(e[0],e[1],e[2],H_),o.opacity=e[3]}n.baseColorTexture!==void 0&&c.push(t.assignTexture(o,`map`,n.baseColorTexture,V_)),o.metalness=n.metallicFactor===void 0?1:n.metallicFactor,o.roughness=n.roughnessFactor===void 0?1:n.roughnessFactor,n.metallicRoughnessTexture!==void 0&&(c.push(t.assignTexture(o,`metalnessMap`,n.metallicRoughnessTexture)),c.push(t.assignTexture(o,`roughnessMap`,n.metallicRoughnessTexture))),a=this._invokeOne(function(t){return t.getMaterialType&&t.getMaterialType(e)}),c.push(Promise.all(this._invokeAll(function(t){return t.extendMaterialParams&&t.extendMaterialParams(e,o)})))}i.doubleSided===!0&&(o.side=2);let l=i.alphaMode||kv.OPAQUE;if(l===kv.BLEND?(o.transparent=!0,o.depthWrite=!1):(o.transparent=!1,l===kv.MASK&&(o.alphaTest=i.alphaCutoff===void 0?.5:i.alphaCutoff)),i.normalTexture!==void 0&&a!==lt&&(c.push(t.assignTexture(o,`normalMap`,i.normalTexture)),o.normalScale=new nt(1,1),i.normalTexture.scale!==void 0)){let e=i.normalTexture.scale;o.normalScale.set(e,e)}if(i.occlusionTexture!==void 0&&a!==lt&&(c.push(t.assignTexture(o,`aoMap`,i.occlusionTexture)),i.occlusionTexture.strength!==void 0&&(o.aoMapIntensity=i.occlusionTexture.strength)),i.emissiveFactor!==void 0&&a!==lt){let e=i.emissiveFactor;o.emissive=new ut().setRGB(e[0],e[1],e[2],H_)}return i.emissiveTexture!==void 0&&a!==lt&&c.push(t.assignTexture(o,`emissiveMap`,i.emissiveTexture,V_)),Promise.all(c).then(function(){let n=new a(o);return i.name&&(n.name=i.name),Mv(n,i),t.associations.set(n,{materials:e}),i.extensions&&jv(r,n,i),n})}createUniqueName(e){let t=$e.sanitizeNodeName(e||``);return t in this.nodeNamesUsed?t+`_`+ ++this.nodeNamesUsed[t]:(this.nodeNamesUsed[t]=0,t)}loadGeometries(e){let t=this,n=this.extensions,r=this.primitiveCache;function i(e){return n[$.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(e,t).then(function(n){return Hv(n,e,t)})}let a=[];for(let n=0,o=e.length;n0&&Pv(d,i),d.name=t.createUniqueName(i.name||`mesh_`+e),Mv(d,i),u.extensions&&jv(r,d,u),t.assignFinalMaterial(d),c.push(d)}for(let n=0,r=c.length;n1?new We:t.length===1?t[0]:new Ct,o!==t[0])for(let e=0,n=t.length;e{let t=new Map;for(let[e,n]of r.associations)(e instanceof kt||e instanceof It)&&t.set(e,n);return e.traverse(e=>{let n=r.associations.get(e);n!=null&&t.set(e,n)}),t})(i),i})}_createAnimationTracks(e,t,n,r,i){let a=[],o=e.name?e.name:e.uuid,s=[];Dv[i.path]===Dv.weights?e.traverse(function(e){e.morphTargetInfluences&&s.push(e.name?e.name:e.uuid)}):s.push(o);let c;switch(Dv[i.path]){case Dv.weights:c=Tt;break;case Dv.rotation:c=Nt;break;case Dv.position:case Dv.scale:c=Re;break;default:switch(n.itemSize){case 1:c=Tt;break;default:c=Re;break}break}let l=r.interpolation===void 0?rt:Ov[r.interpolation],u=this._getArrayFromAccessor(n);for(let e=0,n=s.length;e{let n={attributeIDs:this.defaultAttributeIDs,attributeTypes:this.defaultAttributeTypes,useUniqueIDs:!1};this.decodeGeometry(e,n).then(t).catch(r)},n,r)}decodeDracoFile(e,t,n,r){let i={attributeIDs:n||this.defaultAttributeIDs,attributeTypes:r||this.defaultAttributeTypes,useUniqueIDs:!!n};this.decodeGeometry(e,i).then(t)}decodeGeometry(e,t){for(let e in t.attributeTypes){let n=t.attributeTypes[e];n.BYTES_PER_ELEMENT!==void 0&&(t.attributeTypes[e]=n.name)}let n=JSON.stringify(t);if(Uv.has(e)){let t=Uv.get(e);if(t.key===n)return t.promise;if(e.byteLength===0)throw Error(`THREE.DRACOLoader: Unable to re-decode a buffer with different settings. Buffer has already been transferred.`)}let r,i=this.workerNextTaskID++,a=e.byteLength,o=this._getWorker(i,a).then(n=>(r=n,new Promise((n,a)=>{r._callbacks[i]={resolve:n,reject:a},r.postMessage({type:`decode`,id:i,taskConfig:t,buffer:e},[e])}))).then(e=>this._createGeometry(e.geometry));return o.catch(()=>!0).then(()=>{r&&i&&this._releaseTask(r,i)}),Uv.set(e,{key:n,promise:o}),o}_createGeometry(e){let t=new vt;e.index&&t.setIndex(new St(e.index.array,1));for(let n=0;n{n.load(e,t,void 0,r)})}preload(){return this._initDecoder(),this}_initDecoder(){if(this.decoderPending)return this.decoderPending;let e=typeof WebAssembly!=`object`||this.decoderConfig.type===`js`,t=[];return e?t.push(this._loadLibrary(`draco_decoder.js`,`text`)):(t.push(this._loadLibrary(`draco_wasm_wrapper.js`,`text`)),t.push(this._loadLibrary(`draco_decoder.wasm`,`arraybuffer`))),this.decoderPending=Promise.all(t).then(t=>{let n=t[0];e||(this.decoderConfig.wasmBinary=t[1]);let r=Gv.toString(),i=[`/* draco decoder */`,n,``,`/* worker */`,r.substring(r.indexOf(`{`)+1,r.lastIndexOf(`}`))].join(` +`);this.workerSourceURL=URL.createObjectURL(new Blob([i]))}),this.decoderPending}_getWorker(e,t){return this._initDecoder().then(()=>{if(this.workerPool.lengtht._taskLoad?-1:1});let n=this.workerPool[this.workerPool.length-1];return n._taskCosts[e]=t,n._taskLoad+=t,n})}_releaseTask(e,t){e._taskLoad-=e._taskCosts[t],delete e._callbacks[t],delete e._taskCosts[t]}debug(){console.log(`Task load: `,this.workerPool.map(e=>e._taskLoad))}dispose(){for(let e=0;e{let t=e.draco,o=new t.Decoder,s=new t.DecoderBuffer;s.Init(new Int8Array(r),r.byteLength);try{let e=n(t,o,s,a),r=e.attributes.map(e=>e.array.buffer);e.index&&r.push(e.index.array.buffer),self.postMessage({type:`decode`,id:i.id,geometry:e},r)}catch(e){console.error(e),self.postMessage({type:`error`,id:i.id,error:e.message})}finally{t.destroy(s),t.destroy(o)}});break}};function n(e,t,n,a){let o=a.attributeIDs,s=a.attributeTypes,c,l,u=t.GetEncodedGeometryType(n);if(u===e.TRIANGULAR_MESH)c=new e.Mesh,l=t.DecodeBufferToMesh(n,c);else if(u===e.POINT_CLOUD)c=new e.PointCloud,l=t.DecodeBufferToPointCloud(n,c);else throw Error(`THREE.DRACOLoader: Unexpected geometry type.`);if(!l.ok()||c.ptr===0)throw Error(`THREE.DRACOLoader: Decoding failed: `+l.error_msg());let d={index:null,attributes:[]};for(let n in o){let r=self[s[n]],l,u;if(a.useUniqueIDs)u=o[n],l=t.GetAttributeByUniqueId(c,u);else{if(u=t.GetAttributeId(c,e[o[n]]),u===-1)continue;l=t.GetAttribute(c,u)}d.attributes.push(i(e,t,c,n,r,l))}return u===e.TRIANGULAR_MESH&&(d.index=r(e,t,c)),e.destroy(c),d}function r(e,t,n){let r=n.num_faces()*3,i=r*4,a=e._malloc(i);t.GetTrianglesUInt32Array(n,i,a);let o=new Uint32Array(e.HEAPF32.buffer,a,r).slice();return e._free(a),{array:o,itemSize:1}}function i(e,t,n,r,i,o){let s=o.num_components(),c=n.num_points()*s,l=c*i.BYTES_PER_ELEMENT,u=a(e,i),d=e._malloc(l);t.GetAttributeDataArrayForAllPoints(n,o,u,l,d);let f=new i(e.HEAPF32.buffer,d,c).slice();return e._free(d),{name:r,array:f,itemSize:s}}function a(e,t){switch(t){case Float32Array:return e.DT_FLOAT32;case Int8Array:return e.DT_INT8;case Int16Array:return e.DT_INT16;case Int32Array:return e.DT_INT32;case Uint8Array:return e.DT_UINT8;case Uint16Array:return e.DT_UINT16;case Uint32Array:return e.DT_UINT32}}}var Kv,qv=()=>{if(Kv)return Kv;let e=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,3,2,0,0,5,3,1,0,1,12,1,0,10,22,2,12,0,65,0,65,0,65,0,252,10,0,0,11,7,0,65,0,253,15,26,11]),t=new Uint8Array([32,0,65,253,3,1,2,34,4,106,6,5,11,8,7,20,13,33,12,16,128,9,116,64,19,113,127,15,10,21,22,14,255,66,24,54,136,107,18,23,192,26,114,118,132,17,77,101,130,144,27,87,131,44,45,74,156,154,70,167]);if(typeof WebAssembly!=`object`)return{supported:!1};let n=`B9h9z9tFBBBF8fL9gBB9gLaaaaaFa9gEaaaB9gFaFa9gEaaaFaEMcBFFFGGGEIIILF9wFFFLEFBFKNFaFCx/IFMO/LFVK9tv9t9vq95GBt9f9f939h9z9t9f9j9h9s9s9f9jW9vq9zBBp9tv9z9o9v9wW9f9kv9j9v9kv9WvqWv94h919m9mvqBF8Z9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv94h919m9mvqBGy9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv949TvZ91v9u9jvBEn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9P9jWBIi9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9R919hWBLn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9F949wBKI9z9iqlBOc+x8ycGBM/qQFTa8jUUUUBCU/EBlHL8kUUUUBC9+RKGXAGCFJAI9LQBCaRKAE2BBC+gF9HQBALAEAIJHOAGlAGTkUUUBRNCUoBAG9uC/wgBZHKCUGAKCUG9JyRVAECFJRICBRcGXEXAcAF9PQFAVAFAclAcAVJAF9JyRMGXGXAG9FQBAMCbJHKC9wZRSAKCIrCEJCGrRQANCUGJRfCBRbAIRTEXGXAOATlAQ9PQBCBRISEMATAQJRIGXAS9FQBCBRtCBREEXGXAOAIlCi9PQBCBRISLMANCU/CBJAEJRKGXGXGXGXGXATAECKrJ2BBAtCKZrCEZfIBFGEBMAKhB83EBAKCNJhB83EBSEMAKAI2BIAI2BBHmCKrHYAYCE6HYy86BBAKCFJAICIJAYJHY2BBAmCIrCEZHPAPCE6HPy86BBAKCGJAYAPJHY2BBAmCGrCEZHPAPCE6HPy86BBAKCEJAYAPJHY2BBAmCEZHmAmCE6Hmy86BBAKCIJAYAmJHY2BBAI2BFHmCKrHPAPCE6HPy86BBAKCLJAYAPJHY2BBAmCIrCEZHPAPCE6HPy86BBAKCKJAYAPJHY2BBAmCGrCEZHPAPCE6HPy86BBAKCOJAYAPJHY2BBAmCEZHmAmCE6Hmy86BBAKCNJAYAmJHY2BBAI2BGHmCKrHPAPCE6HPy86BBAKCVJAYAPJHY2BBAmCIrCEZHPAPCE6HPy86BBAKCcJAYAPJHY2BBAmCGrCEZHPAPCE6HPy86BBAKCMJAYAPJHY2BBAmCEZHmAmCE6Hmy86BBAKCSJAYAmJHm2BBAI2BEHICKrHYAYCE6HYy86BBAKCQJAmAYJHm2BBAICIrCEZHYAYCE6HYy86BBAKCfJAmAYJHm2BBAICGrCEZHYAYCE6HYy86BBAKCbJAmAYJHK2BBAICEZHIAICE6HIy86BBAKAIJRISGMAKAI2BNAI2BBHmCIrHYAYCb6HYy86BBAKCFJAICNJAYJHY2BBAmCbZHmAmCb6Hmy86BBAKCGJAYAmJHm2BBAI2BFHYCIrHPAPCb6HPy86BBAKCEJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCIJAmAYJHm2BBAI2BGHYCIrHPAPCb6HPy86BBAKCLJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCKJAmAYJHm2BBAI2BEHYCIrHPAPCb6HPy86BBAKCOJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCNJAmAYJHm2BBAI2BIHYCIrHPAPCb6HPy86BBAKCVJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCcJAmAYJHm2BBAI2BLHYCIrHPAPCb6HPy86BBAKCMJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCSJAmAYJHm2BBAI2BKHYCIrHPAPCb6HPy86BBAKCQJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCfJAmAYJHm2BBAI2BOHICIrHYAYCb6HYy86BBAKCbJAmAYJHK2BBAICbZHIAICb6HIy86BBAKAIJRISFMAKAI8pBB83BBAKCNJAICNJ8pBB83BBAICTJRIMAtCGJRtAECTJHEAS9JQBMMGXAIQBCBRISEMGXAM9FQBANAbJ2BBRtCBRKAfREEXAEANCU/CBJAKJ2BBHTCFrCBATCFZl9zAtJHt86BBAEAGJREAKCFJHKAM9HQBMMAfCFJRfAIRTAbCFJHbAG9HQBMMABAcAG9sJANCUGJAMAG9sTkUUUBpANANCUGJAMCaJAG9sJAGTkUUUBpMAMCBAIyAcJRcAIQBMC9+RKSFMCBC99AOAIlAGCAAGCA9Ly6yRKMALCU/EBJ8kUUUUBAKM+OmFTa8jUUUUBCoFlHL8kUUUUBC9+RKGXAFCE9uHOCtJAI9LQBCaRKAE2BBHNC/wFZC/gF9HQBANCbZHVCF9LQBALCoBJCgFCUFT+JUUUBpALC84Jha83EBALC8wJha83EBALC8oJha83EBALCAJha83EBALCiJha83EBALCTJha83EBALha83ENALha83EBAEAIJC9wJRcAECFJHNAOJRMGXAF9FQBCQCbAVCF6yRSABRECBRVCBRQCBRfCBRICBRKEXGXAMAcuQBC9+RKSEMGXGXAN2BBHOC/vF9LQBALCoBJAOCIrCa9zAKJCbZCEWJHb8oGIRTAb8oGBRtGXAOCbZHbAS9PQBALAOCa9zAIJCbZCGWJ8oGBAVAbyROAb9FRbGXGXAGCG9HQBABAt87FBABCIJAO87FBABCGJAT87FBSFMAEAtjGBAECNJAOjGBAECIJATjGBMAVAbJRVALCoBJAKCEWJHmAOjGBAmATjGIALAICGWJAOjGBALCoBJAKCFJCbZHKCEWJHTAtjGBATAOjGIAIAbJRIAKCFJRKSGMGXGXAbCb6QBAQAbJAbC989zJCFJRQSFMAM1BBHbCgFZROGXGXAbCa9MQBAMCFJRMSFMAM1BFHbCgBZCOWAOCgBZqROGXAbCa9MQBAMCGJRMSFMAM1BGHbCgBZCfWAOqROGXAbCa9MQBAMCEJRMSFMAM1BEHbCgBZCdWAOqROGXAbCa9MQBAMCIJRMSFMAM2BIC8cWAOqROAMCLJRMMAOCFrCBAOCFZl9zAQJRQMGXGXAGCG9HQBABAt87FBABCIJAQ87FBABCGJAT87FBSFMAEAtjGBAECNJAQjGBAECIJATjGBMALCoBJAKCEWJHOAQjGBAOATjGIALAICGWJAQjGBALCoBJAKCFJCbZHKCEWJHOAtjGBAOAQjGIAICFJRIAKCFJRKSFMGXAOCDF9LQBALAIAcAOCbZJ2BBHbCIrHTlCbZCGWJ8oGBAVCFJHtATyROALAIAblCbZCGWJ8oGBAtAT9FHmJHtAbCbZHTyRbAT9FRTGXGXAGCG9HQBABAV87FBABCIJAb87FBABCGJAO87FBSFMAEAVjGBAECNJAbjGBAECIJAOjGBMALAICGWJAVjGBALCoBJAKCEWJHYAOjGBAYAVjGIALAICFJHICbZCGWJAOjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAIAmJCbZHICGWJAbjGBALCoBJAKCGJCbZHKCEWJHOAVjGBAOAbjGIAKCFJRKAIATJRIAtATJRVSFMAVCBAM2BBHYyHTAOC/+F6HPJROAYCbZRtGXGXAYCIrHmQBAOCFJRbSFMAORbALAIAmlCbZCGWJ8oGBROMGXGXAtQBAbCFJRVSFMAbRVALAIAYlCbZCGWJ8oGBRbMGXGXAP9FQBAMCFJRYSFMAM1BFHYCgFZRTGXGXAYCa9MQBAMCGJRYSFMAM1BGHYCgBZCOWATCgBZqRTGXAYCa9MQBAMCEJRYSFMAM1BEHYCgBZCfWATqRTGXAYCa9MQBAMCIJRYSFMAM1BIHYCgBZCdWATqRTGXAYCa9MQBAMCLJRYSFMAMCKJRYAM2BLC8cWATqRTMATCFrCBATCFZl9zAQJHQRTMGXGXAmCb6QBAYRPSFMAY1BBHMCgFZROGXGXAMCa9MQBAYCFJRPSFMAY1BFHMCgBZCOWAOCgBZqROGXAMCa9MQBAYCGJRPSFMAY1BGHMCgBZCfWAOqROGXAMCa9MQBAYCEJRPSFMAY1BEHMCgBZCdWAOqROGXAMCa9MQBAYCIJRPSFMAYCLJRPAY2BIC8cWAOqROMAOCFrCBAOCFZl9zAQJHQROMGXGXAtCb6QBAPRMSFMAP1BBHMCgFZRbGXGXAMCa9MQBAPCFJRMSFMAP1BFHMCgBZCOWAbCgBZqRbGXAMCa9MQBAPCGJRMSFMAP1BGHMCgBZCfWAbqRbGXAMCa9MQBAPCEJRMSFMAP1BEHMCgBZCdWAbqRbGXAMCa9MQBAPCIJRMSFMAPCLJRMAP2BIC8cWAbqRbMAbCFrCBAbCFZl9zAQJHQRbMGXGXAGCG9HQBABAT87FBABCIJAb87FBABCGJAO87FBSFMAEATjGBAECNJAbjGBAECIJAOjGBMALCoBJAKCEWJHYAOjGBAYATjGIALAICGWJATjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAICFJHICbZCGWJAOjGBALCoBJAKCGJCbZCEWJHOATjGBAOAbjGIALAIAm9FAmCb6qJHICbZCGWJAbjGBAIAt9FAtCb6qJRIAKCEJRKMANCFJRNABCKJRBAECSJREAKCbZRKAICbZRIAfCEJHfAF9JQBMMCBC99AMAc6yRKMALCoFJ8kUUUUBAKM/tIFGa8jUUUUBCTlRLC9+RKGXAFCLJAI9LQBCaRKAE2BBC/+FZC/QF9HQBALhB83ENAECFJRKAEAIJC98JREGXAF9FQBGXAGCG6QBEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMALCNJAICFZCGWqHGAICGrCBAICFrCFZl9zAG8oGBJHIjGBABAIjGBABCIJRBAFCaJHFQBSGMMEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMABAICGrCBAICFrCFZl9zALCNJAICFZCGWqHI8oGBJHG87FBAIAGjGBABCGJRBAFCaJHFQBMMCBC99AKAE6yRKMAKM+lLKFaF99GaG99FaG99GXGXAGCI9HQBAF9FQFEXGXGX9DBBB8/9DBBB+/ABCGJHG1BB+yAB1BBHE+yHI+L+TABCFJHL1BBHK+yHO+L+THN9DBBBB9gHVyAN9DBB/+hANAN+U9DBBBBANAVyHcAc+MHMAECa3yAI+SHIAI+UAcAMAKCa3yAO+SHcAc+U+S+S+R+VHO+U+SHN+L9DBBB9P9d9FQBAN+oRESFMCUUUU94REMAGAE86BBGXGX9DBBB8/9DBBB+/Ac9DBBBB9gyAcAO+U+SHN+L9DBBB9P9d9FQBAN+oRGSFMCUUUU94RGMALAG86BBGXGX9DBBB8/9DBBB+/AI9DBBBB9gyAIAO+U+SHN+L9DBBB9P9d9FQBAN+oRGSFMCUUUU94RGMABAG86BBABCIJRBAFCaJHFQBSGMMAF9FQBEXGXGX9DBBB8/9DBBB+/ABCIJHG8uFB+yAB8uFBHE+yHI+L+TABCGJHL8uFBHK+yHO+L+THN9DBBBB9gHVyAN9DB/+g6ANAN+U9DBBBBANAVyHcAc+MHMAECa3yAI+SHIAI+UAcAMAKCa3yAO+SHcAc+U+S+S+R+VHO+U+SHN+L9DBBB9P9d9FQBAN+oRESFMCUUUU94REMAGAE87FBGXGX9DBBB8/9DBBB+/Ac9DBBBB9gyAcAO+U+SHN+L9DBBB9P9d9FQBAN+oRGSFMCUUUU94RGMALAG87FBGXGX9DBBB8/9DBBB+/AI9DBBBB9gyAIAO+U+SHN+L9DBBB9P9d9FQBAN+oRGSFMCUUUU94RGMABAG87FBABCNJRBAFCaJHFQBMMM/SEIEaE99EaF99GXAF9FQBCBREABRIEXGXGX9D/zI818/AICKJ8uFBHLCEq+y+VHKAI8uFB+y+UHO9DB/+g6+U9DBBB8/9DBBB+/AO9DBBBB9gy+SHN+L9DBBB9P9d9FQBAN+oRVSFMCUUUU94RVMAICIJ8uFBRcAICGJ8uFBRMABALCFJCEZAEqCFWJAV87FBGXGXAKAM+y+UHN9DB/+g6+U9DBBB8/9DBBB+/AN9DBBBB9gy+SHS+L9DBBB9P9d9FQBAS+oRMSFMCUUUU94RMMABALCGJCEZAEqCFWJAM87FBGXGXAKAc+y+UHK9DB/+g6+U9DBBB8/9DBBB+/AK9DBBBB9gy+SHS+L9DBBB9P9d9FQBAS+oRcSFMCUUUU94RcMABALCaJCEZAEqCFWJAc87FBGXGX9DBBU8/AOAO+U+TANAN+U+TAKAK+U+THO9DBBBBAO9DBBBB9gy+R9DB/+g6+U9DBBB8/+SHO+L9DBBB9P9d9FQBAO+oRcSFMCUUUU94RcMABALCEZAEqCFWJAc87FBAICNJRIAECIJREAFCaJHFQBMMM9JBGXAGCGrAF9sHF9FQBEXABAB8oGBHGCNWCN91+yAGCi91CnWCUUU/8EJ+++U84GBABCIJRBAFCaJHFQBMMM9TFEaCBCB8oGUkUUBHFABCEJC98ZJHBjGUkUUBGXGXAB8/BCTWHGuQBCaREABAGlCggEJCTrXBCa6QFMAFREMAEM/lFFFaGXGXAFABqCEZ9FQBABRESFMGXGXAGCT9PQBABRESFMABREEXAEAF8oGBjGBAECIJAFCIJ8oGBjGBAECNJAFCNJ8oGBjGBAECSJAFCSJ8oGBjGBAECTJREAFCTJRFAGC9wJHGCb9LQBMMAGCI9JQBEXAEAF8oGBjGBAFCIJRFAECIJREAGC98JHGCE9LQBMMGXAG9FQBEXAEAF2BB86BBAECFJREAFCFJRFAGCaJHGQBMMABMoFFGaGXGXABCEZ9FQBABRESFMAFCgFZC+BwsN9sRIGXGXAGCT9PQBABRESFMABREEXAEAIjGBAECSJAIjGBAECNJAIjGBAECIJAIjGBAECTJREAGC9wJHGCb9LQBMMAGCI9JQBEXAEAIjGBAECIJREAGC98JHGCE9LQBMMGXAG9FQBEXAEAF86BBAECFJREAGCaJHGQBMMABMMMFBCUNMIT9kBB`;WebAssembly.validate(e)&&(n=`B9h9z9tFBBBFiI9gBB9gLaaaaaFa9gEaaaB9gFaFaEMcBBFBFFGGGEILF9wFFFLEFBFKNFaFCx/aFMO/LFVK9tv9t9vq95GBt9f9f939h9z9t9f9j9h9s9s9f9jW9vq9zBBp9tv9z9o9v9wW9f9kv9j9v9kv9WvqWv94h919m9mvqBG8Z9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv94h919m9mvqBIy9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv949TvZ91v9u9jvBLn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9P9jWBKi9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9R919hWBOn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9F949wBNI9z9iqlBVc+N9IcIBTEM9+FLa8jUUUUBCTlRBCBRFEXCBRGCBREEXABCNJAGJAECUaAFAGrCFZHIy86BBAEAIJREAGCFJHGCN9HQBMAFCx+YUUBJAE86BBAFCEWCxkUUBJAB8pEN83EBAFCFJHFCUG9HQBMMk8lLbaE97F9+FaL978jUUUUBCU/KBlHL8kUUUUBC9+RKGXAGCFJAI9LQBCaRKAE2BBC+gF9HQBALAEAIJHOAGlAG/8cBBCUoBAG9uC/wgBZHKCUGAKCUG9JyRNAECFJRKCBRVGXEXAVAF9PQFANAFAVlAVANJAF9JyRcGXGXAG9FQBAcCbJHIC9wZHMCE9sRSAMCFWRQAICIrCEJCGrRfCBRbEXAKRTCBRtGXEXGXAOATlAf9PQBCBRKSLMALCU/CBJAtAM9sJRmATAfJRKCBREGXAMCoB9JQBAOAKlC/gB9JQBCBRIEXAmAIJREGXGXGXGXGXATAICKrJ2BBHYCEZfIBFGEBMAECBDtDMIBSEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPAPDQBFGENVcMILKOSQfbHeD8dBh+BsxoxoUwN0AeD8dFhxoUwkwk+gUa0sHnhTkAnsHnhNkAnsHn7CgFZHiCEWCxkUUBJDBEBAiCx+YUUBJDBBBHeAeDQBBBBBBBBBBBBBBBBAnhAk7CgFZHiCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCIJAeDeBJAiCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPAPDQBFGENVcMILKOSQfbHeD8dBh+BsxoxoUwN0AeD8dFhxoUwkwk+gUa0sHnhTkAnsHnhNkAnsHn7CgFZHiCEWCxkUUBJDBEBAiCx+YUUBJDBBBHeAeDQBBBBBBBBBBBBBBBBAnhAk7CgFZHiCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCNJAeDeBJAiCx+YUUBJ2BBJRKSFMAEAKDBBBDMIBAKCTJRKMGXGXGXGXGXAYCGrCEZfIBFGEBMAECBDtDMITSEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPAPDQBFGENVcMILKOSQfbHeD8dBh+BsxoxoUwN0AeD8dFhxoUwkwk+gUa0sHnhTkAnsHnhNkAnsHn7CgFZHiCEWCxkUUBJDBEBAiCx+YUUBJDBBBHeAeDQBBBBBBBBBBBBBBBBAnhAk7CgFZHiCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMITAKCIJAeDeBJAiCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPAPDQBFGENVcMILKOSQfbHeD8dBh+BsxoxoUwN0AeD8dFhxoUwkwk+gUa0sHnhTkAnsHnhNkAnsHn7CgFZHiCEWCxkUUBJDBEBAiCx+YUUBJDBBBHeAeDQBBBBBBBBBBBBBBBBAnhAk7CgFZHiCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMITAKCNJAeDeBJAiCx+YUUBJ2BBJRKSFMAEAKDBBBDMITAKCTJRKMGXGXGXGXGXAYCIrCEZfIBFGEBMAECBDtDMIASEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPAPDQBFGENVcMILKOSQfbHeD8dBh+BsxoxoUwN0AeD8dFhxoUwkwk+gUa0sHnhTkAnsHnhNkAnsHn7CgFZHiCEWCxkUUBJDBEBAiCx+YUUBJDBBBHeAeDQBBBBBBBBBBBBBBBBAnhAk7CgFZHiCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIAAKCIJAeDeBJAiCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPAPDQBFGENVcMILKOSQfbHeD8dBh+BsxoxoUwN0AeD8dFhxoUwkwk+gUa0sHnhTkAnsHnhNkAnsHn7CgFZHiCEWCxkUUBJDBEBAiCx+YUUBJDBBBHeAeDQBBBBBBBBBBBBBBBBAnhAk7CgFZHiCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIAAKCNJAeDeBJAiCx+YUUBJ2BBJRKSFMAEAKDBBBDMIAAKCTJRKMGXGXGXGXGXAYCKrfIBFGEBMAECBDtDMI8wSEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPAPDQBFGENVcMILKOSQfbHeD8dBh+BsxoxoUwN0AeD8dFhxoUwkwk+gUa0sHnhTkAnsHnhNkAnsHn7CgFZHYCEWCxkUUBJDBEBAYCx+YUUBJDBBBHeAeDQBBBBBBBBBBBBBBBBAnhAk7CgFZHYCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMI8wAKCIJAeDeBJAYCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPAPDQBFGENVcMILKOSQfbHeD8dBh+BsxoxoUwN0AeD8dFhxoUwkwk+gUa0sHnhTkAnsHnhNkAnsHn7CgFZHYCEWCxkUUBJDBEBAYCx+YUUBJDBBBHeAeDQBBBBBBBBBBBBBBBBAnhAk7CgFZHYCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMI8wAKCNJAeDeBJAYCx+YUUBJ2BBJRKSFMAEAKDBBBDMI8wAKCTJRKMAICoBJREAICUFJAM9LQFAERIAOAKlC/fB9LQBMMGXAEAM9PQBAECErRIEXGXAOAKlCi9PQBCBRKSOMAmAEJRYGXGXGXGXGXATAECKrJ2BBAICKZrCEZfIBFGEBMAYCBDtDMIBSEMAYAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPAPDQBFGENVcMILKOSQfbHeD8dBh+BsxoxoUwN0AeD8dFhxoUwkwk+gUa0sHnhTkAnsHnhNkAnsHn7CgFZHiCEWCxkUUBJDBEBAiCx+YUUBJDBBBHeAeDQBBBBBBBBBBBBBBBBAnhAk7CgFZHiCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCIJAeDeBJAiCx+YUUBJ2BBJRKSGMAYAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPAPDQBFGENVcMILKOSQfbHeD8dBh+BsxoxoUwN0AeD8dFhxoUwkwk+gUa0sHnhTkAnsHnhNkAnsHn7CgFZHiCEWCxkUUBJDBEBAiCx+YUUBJDBBBHeAeDQBBBBBBBBBBBBBBBBAnhAk7CgFZHiCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCNJAeDeBJAiCx+YUUBJ2BBJRKSFMAYAKDBBBDMIBAKCTJRKMAICGJRIAECTJHEAM9JQBMMGXAK9FQBAKRTAtCFJHtCI6QGSFMMCBRKSEMGXAM9FQBALCUGJAbJREALAbJDBGBReCBRYEXAEALCU/CBJAYJHIDBIBHdCFD9tAdCFDbHPD9OD9hD9RHdAIAMJDBIBH8ZCFD9tA8ZAPD9OD9hD9RH8ZDQBTFtGmEYIPLdKeOnHpAIAQJDBIBHyCFD9tAyAPD9OD9hD9RHyAIASJDBIBH8cCFD9tA8cAPD9OD9hD9RH8cDQBTFtGmEYIPLdKeOnH8dDQBFTtGEmYILPdKOenHPAPDQBFGEBFGEBFGEBFGEAeD9uHeDyBjGBAEAGJHIAeAPAPDQILKOILKOILKOILKOD9uHeDyBjGBAIAGJHIAeAPAPDQNVcMNVcMNVcMNVcMD9uHeDyBjGBAIAGJHIAeAPAPDQSQfbSQfbSQfbSQfbD9uHeDyBjGBAIAGJHIAeApA8dDQNVi8ZcMpySQ8c8dfb8e8fHPAPDQBFGEBFGEBFGEBFGED9uHeDyBjGBAIAGJHIAeAPAPDQILKOILKOILKOILKOD9uHeDyBjGBAIAGJHIAeAPAPDQNVcMNVcMNVcMNVcMD9uHeDyBjGBAIAGJHIAeAPAPDQSQfbSQfbSQfbSQfbD9uHeDyBjGBAIAGJHIAeAdA8ZDQNiV8ZcpMyS8cQ8df8eb8fHdAyA8cDQNiV8ZcpMyS8cQ8df8eb8fH8ZDQBFTtGEmYILPdKOenHPAPDQBFGEBFGEBFGEBFGED9uHeDyBjGBAIAGJHIAeAPAPDQILKOILKOILKOILKOD9uHeDyBjGBAIAGJHIAeAPAPDQNVcMNVcMNVcMNVcMD9uHeDyBjGBAIAGJHIAeAPAPDQSQfbSQfbSQfbSQfbD9uHeDyBjGBAIAGJHIAeAdA8ZDQNVi8ZcMpySQ8c8dfb8e8fHPAPDQBFGEBFGEBFGEBFGED9uHeDyBjGBAIAGJHIAeAPAPDQILKOILKOILKOILKOD9uHeDyBjGBAIAGJHIAeAPAPDQNVcMNVcMNVcMNVcMD9uHeDyBjGBAIAGJHIAeAPAPDQSQfbSQfbSQfbSQfbD9uHeDyBjGBAIAGJREAYCTJHYAM9JQBMMAbCIJHbAG9JQBMMABAVAG9sJALCUGJAcAG9s/8cBBALALCUGJAcCaJAG9sJAG/8cBBMAcCBAKyAVJRVAKQBMC9+RKSFMCBC99AOAKlAGCAAGCA9Ly6yRKMALCU/KBJ8kUUUUBAKMNBT+BUUUBM+KmFTa8jUUUUBCoFlHL8kUUUUBC9+RKGXAFCE9uHOCtJAI9LQBCaRKAE2BBHNC/wFZC/gF9HQBANCbZHVCF9LQBALCoBJCgFCUF/8MBALC84Jha83EBALC8wJha83EBALC8oJha83EBALCAJha83EBALCiJha83EBALCTJha83EBALha83ENALha83EBAEAIJC9wJRcAECFJHNAOJRMGXAF9FQBCQCbAVCF6yRSABRECBRVCBRQCBRfCBRICBRKEXGXAMAcuQBC9+RKSEMGXGXAN2BBHOC/vF9LQBALCoBJAOCIrCa9zAKJCbZCEWJHb8oGIRTAb8oGBRtGXAOCbZHbAS9PQBALAOCa9zAIJCbZCGWJ8oGBAVAbyROAb9FRbGXGXAGCG9HQBABAt87FBABCIJAO87FBABCGJAT87FBSFMAEAtjGBAECNJAOjGBAECIJATjGBMAVAbJRVALCoBJAKCEWJHmAOjGBAmATjGIALAICGWJAOjGBALCoBJAKCFJCbZHKCEWJHTAtjGBATAOjGIAIAbJRIAKCFJRKSGMGXGXAbCb6QBAQAbJAbC989zJCFJRQSFMAM1BBHbCgFZROGXGXAbCa9MQBAMCFJRMSFMAM1BFHbCgBZCOWAOCgBZqROGXAbCa9MQBAMCGJRMSFMAM1BGHbCgBZCfWAOqROGXAbCa9MQBAMCEJRMSFMAM1BEHbCgBZCdWAOqROGXAbCa9MQBAMCIJRMSFMAM2BIC8cWAOqROAMCLJRMMAOCFrCBAOCFZl9zAQJRQMGXGXAGCG9HQBABAt87FBABCIJAQ87FBABCGJAT87FBSFMAEAtjGBAECNJAQjGBAECIJATjGBMALCoBJAKCEWJHOAQjGBAOATjGIALAICGWJAQjGBALCoBJAKCFJCbZHKCEWJHOAtjGBAOAQjGIAICFJRIAKCFJRKSFMGXAOCDF9LQBALAIAcAOCbZJ2BBHbCIrHTlCbZCGWJ8oGBAVCFJHtATyROALAIAblCbZCGWJ8oGBAtAT9FHmJHtAbCbZHTyRbAT9FRTGXGXAGCG9HQBABAV87FBABCIJAb87FBABCGJAO87FBSFMAEAVjGBAECNJAbjGBAECIJAOjGBMALAICGWJAVjGBALCoBJAKCEWJHYAOjGBAYAVjGIALAICFJHICbZCGWJAOjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAIAmJCbZHICGWJAbjGBALCoBJAKCGJCbZHKCEWJHOAVjGBAOAbjGIAKCFJRKAIATJRIAtATJRVSFMAVCBAM2BBHYyHTAOC/+F6HPJROAYCbZRtGXGXAYCIrHmQBAOCFJRbSFMAORbALAIAmlCbZCGWJ8oGBROMGXGXAtQBAbCFJRVSFMAbRVALAIAYlCbZCGWJ8oGBRbMGXGXAP9FQBAMCFJRYSFMAM1BFHYCgFZRTGXGXAYCa9MQBAMCGJRYSFMAM1BGHYCgBZCOWATCgBZqRTGXAYCa9MQBAMCEJRYSFMAM1BEHYCgBZCfWATqRTGXAYCa9MQBAMCIJRYSFMAM1BIHYCgBZCdWATqRTGXAYCa9MQBAMCLJRYSFMAMCKJRYAM2BLC8cWATqRTMATCFrCBATCFZl9zAQJHQRTMGXGXAmCb6QBAYRPSFMAY1BBHMCgFZROGXGXAMCa9MQBAYCFJRPSFMAY1BFHMCgBZCOWAOCgBZqROGXAMCa9MQBAYCGJRPSFMAY1BGHMCgBZCfWAOqROGXAMCa9MQBAYCEJRPSFMAY1BEHMCgBZCdWAOqROGXAMCa9MQBAYCIJRPSFMAYCLJRPAY2BIC8cWAOqROMAOCFrCBAOCFZl9zAQJHQROMGXGXAtCb6QBAPRMSFMAP1BBHMCgFZRbGXGXAMCa9MQBAPCFJRMSFMAP1BFHMCgBZCOWAbCgBZqRbGXAMCa9MQBAPCGJRMSFMAP1BGHMCgBZCfWAbqRbGXAMCa9MQBAPCEJRMSFMAP1BEHMCgBZCdWAbqRbGXAMCa9MQBAPCIJRMSFMAPCLJRMAP2BIC8cWAbqRbMAbCFrCBAbCFZl9zAQJHQRbMGXGXAGCG9HQBABAT87FBABCIJAb87FBABCGJAO87FBSFMAEATjGBAECNJAbjGBAECIJAOjGBMALCoBJAKCEWJHYAOjGBAYATjGIALAICGWJATjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAICFJHICbZCGWJAOjGBALCoBJAKCGJCbZCEWJHOATjGBAOAbjGIALAIAm9FAmCb6qJHICbZCGWJAbjGBAIAt9FAtCb6qJRIAKCEJRKMANCFJRNABCKJRBAECSJREAKCbZRKAICbZRIAfCEJHfAF9JQBMMCBC99AMAc6yRKMALCoFJ8kUUUUBAKM/tIFGa8jUUUUBCTlRLC9+RKGXAFCLJAI9LQBCaRKAE2BBC/+FZC/QF9HQBALhB83ENAECFJRKAEAIJC98JREGXAF9FQBGXAGCG6QBEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMALCNJAICFZCGWqHGAICGrCBAICFrCFZl9zAG8oGBJHIjGBABAIjGBABCIJRBAFCaJHFQBSGMMEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMABAICGrCBAICFrCFZl9zALCNJAICFZCGWqHI8oGBJHG87FBAIAGjGBABCGJRBAFCaJHFQBMMCBC99AKAE6yRKMAKM/dLEK97FaF97GXGXAGCI9HQBAF9FQFCBRGEXABABDBBBHECiD+rFCiD+sFD/6FHIAECND+rFCiD+sFD/6FAID/gFAECTD+rFCiD+sFD/6FHLD/gFD/kFD/lFHKCBDtD+2FHOAICUUUU94DtHND9OD9RD/kFHI9DBB/+hDYAIAID/mFAKAKD/mFALAOALAND9OD9RD/kFHIAID/mFD/kFD/kFD/jFD/nFHLD/mF9DBBX9LDYHOD/kFCgFDtD9OAECUUU94DtD9OD9QAIALD/mFAOD/kFCND+rFCU/+EDtD9OD9QAKALD/mFAOD/kFCTD+rFCUU/8ODtD9OD9QDMBBABCTJRBAGCIJHGAF9JQBSGMMAF9FQBCBRGEXABCTJHVAVDBBBHECBDtHOCUU98D8cFCUU98D8cEHND9OABDBBBHKAEDQILKOSQfbPden8c8d8e8fCggFDtD9OD/6FAKAEDQBFGENVcMTtmYi8ZpyHECTD+sFD/6FHID/gFAECTD+rFCTD+sFD/6FHLD/gFD/kFD/lFHE9DB/+g6DYALAEAOD+2FHOALCUUUU94DtHcD9OD9RD/kFHLALD/mFAEAED/mFAIAOAIAcD9OD9RD/kFHEAED/mFD/kFD/kFD/jFD/nFHID/mF9DBBX9LDYHOD/kFCTD+rFALAID/mFAOD/kFCggEDtD9OD9QHLAEAID/mFAOD/kFCaDbCBDnGCBDnECBDnKCBDnOCBDncCBDnMCBDnfCBDnbD9OHEDQNVi8ZcMpySQ8c8dfb8e8fD9QDMBBABAKAND9OALAEDQBFTtGEmYILPdKOenD9QDMBBABCAJRBAGCIJHGAF9JQBMMM/hEIGaF97FaL978jUUUUBCTlREGXAF9FQBCBRIEXAEABDBBBHLABCTJHKDBBBHODQILKOSQfbPden8c8d8e8fHNCTD+sFHVCID+rFDMIBAB9DBBU8/DY9D/zI818/DYAVCEDtD9QD/6FD/nFHVALAODQBFGENVcMTtmYi8ZpyHLCTD+rFCTD+sFD/6FD/mFHOAOD/mFAVALCTD+sFD/6FD/mFHcAcD/mFAVANCTD+rFCTD+sFD/6FD/mFHNAND/mFD/kFD/kFD/lFCBDtD+4FD/jF9DB/+g6DYHVD/mF9DBBX9LDYHLD/kFCggEDtHMD9OAcAVD/mFALD/kFCTD+rFD9QHcANAVD/mFALD/kFCTD+rFAOAVD/mFALD/kFAMD9OD9QHVDQBFTtGEmYILPdKOenHLD8dBAEDBIBDyB+t+J83EBABCNJALD8dFAEDBIBDyF+t+J83EBAKAcAVDQNVi8ZcMpySQ8c8dfb8e8fHVD8dBAEDBIBDyG+t+J83EBABCiJAVD8dFAEDBIBDyE+t+J83EBABCAJRBAICIJHIAF9JQBMMM9jFF97GXAGCGrAF9sHG9FQBCBRFEXABABDBBBHECND+rFCND+sFD/6FAECiD+sFCnD+rFCUUU/8EDtD+uFD/mFDMBBABCTJRBAFCIJHFAG9JQBMMM9TFEaCBCB8oGUkUUBHFABCEJC98ZJHBjGUkUUBGXGXAB8/BCTWHGuQBCaREABAGlCggEJCTrXBCa6QFMAFREMAEMMMFBCUNMIT9tBB`);let r,i=WebAssembly.instantiate(a(n),{}).then(e=>{r=e.instance,r.exports.__wasm_call_ctors()});function a(e){let n=new Uint8Array(e.length);for(let t=0;t96?r-71:r>64?r-65:r>47?r+4:r>46?63:62}let r=0;for(let i=0;i{n&&n(r),e&&(Jv||=new Wv,Jv.setDecoderPath(typeof e==`string`?e:Yv),r.setDRACOLoader(Jv)),t&&r.setMeshoptDecoder(typeof qv==`function`?qv():qv)}}var Zv=(e,t,n,r)=>a(G_,e,Xv(t,n,r));Zv.preload=(e,t,n,r)=>a.preload(G_,e,Xv(t,n,r)),Zv.clear=e=>a.clear(G_,e),Zv.setDecoderPath=e=>{Yv=e};function Qv(e){return e.split(/(?:\r\n|\r|\n)/g).map(e=>e.trim()).filter(Boolean).filter(e=>!e.startsWith(`;`)).map(e=>{let t=e.match(/^(.+)\s(\d+)$/);if(t){let e=parseInt(t[2],10);return{name:t[1],frameCount:e}}else return{name:e,frameCount:1}})}var $v=256;function ey(e){let t=new DataView(e),n=0,r=t.getUint8(n++),i=new Uint16Array($v*$v),a=[],o=e=>{let r=``;for(let i=0;i0&&a.push(i)}let c=[];for(let e of a){let e=new Uint8Array($v*$v);for(let r=0;r<$v*$v;r++)e[r]=t.getUint8(n++);c.push(e)}return{version:r,textureNames:a,heightMap:s,alphaMaps:c}}var ty=I(`loaders`),ny=`/t2-mapper`,ry=`${ny}/base/`,iy=`${ny}/white.png`;function ay(e,t){let n;try{n=A(e)}catch(n){if(t)return ty.warn(`Resource "%s" not found — rendering fallback`,e),t;throw n}let[r,i]=k(n);return r?`${ry}@vl2/${r}/${i}`:`${ry}${i}`}function oy(e){return ay(`interiors/${e}`).replace(/\.dif$/i,`.glb`)}function sy(e){return ay(`shapes/${e}`).replace(/\.dts$/i,`.glb`)}function cy(e){return e=e.replace(/^terrain\./,``),ay(T(`textures/terrain/${e}`),iy)}function ly(e,t){let n=j(t).split(`/`);return ay(T(`${n.length>1?n.slice(0,-1).join(`/`)+`/`:``}${e}`),iy)}function uy(e){return ay(T(`textures/${e}`),iy)}function dy(e){return ay(`audio/${/\.\w+$/.test(e)?e:`${e}.wav`}`).replace(/\.wav$/i,`.m4a`)}async function fy(e){let t=ay(`textures/${e}`);return(await(await fetch(t)).text()).split(/(?:\r\n|\r|\n)/).map(e=>{if(e=e.trim(),!e.startsWith(`;`))return e}).filter(Boolean)}async function py(e){let t=D(e),n=await(await fetch(ay(t.resourcePath))).arrayBuffer(),r;try{r=new TextDecoder(`utf-8`,{fatal:!0}).decode(n)}catch{r=new TextDecoder(`windows-1252`).decode(n)}return r=r.replaceAll(`�`,`'`),zt(r)}async function my(e){let t=ay(`terrains/${e}`);ty.debug(`Fetching terrain: %s`,t);let n=await fetch(t);if(!n.ok)throw Error(`[loadTerrain] Failed to fetch ${t}: ${n.status} ${n.statusText}`);let r=await n.arrayBuffer();return ty.debug(`Loaded terrain %s: %d bytes`,e,r.byteLength),ey(r)}async function hy(e){let t=ay(e);return Qv(await(await fetch(t)).text())}var gy=I(`shapePreloader`),_y=200,vy=2,yy=!1;function by(e){let t=e.toLowerCase();return t.startsWith(`bioderm_`)||t.endsWith(`_male.dts`)||t.endsWith(`_female.dts`)?0:t.startsWith(`weapon_`)?1:t.startsWith(`pack_`)?2:3}function xy(){return w().filter(e=>e.startsWith(`shapes/`)&&e.endsWith(`.dts`)).filter(e=>{let[t]=k(e);return t===`shapes.vl2`}).sort((e,t)=>by(e)-by(t)).map(e=>{let[t,n]=k(e);return`${ry}@vl2/${t}/${n.replace(/\.dts$/i,`.glb`)}`})}function Sy(){if(yy)return;yy=!0;let e=xy();gy.info(`Preloading %d shapes from shapes.vl2`,e.length);let t=0;function n(){let r=Math.min(t+vy,e.length);for(let n=t;nt().then(t=>({default:t[e]})))}var Ey=Ty(`GameView`,()=>Vt(()=>import(`./GameView-CAH9mw-8.js`),__vite__mapDeps([24,2,17,1,3,25,5,26,27,8,9,10,28,29,30,31,11,12,13,14,32,33,34,35,22,36,37,38,39,4,40,41,42]))),Dy=Ty(`DemoPlaybackControls`,()=>Vt(()=>import(`./DemoPlaybackControls-q8VgZTNM.js`),__vite__mapDeps([43,2,20,21,9,44]))),Oy=Ty(`PlayerHUD`,()=>Vt(()=>import(`./PlayerHUD-B-3Ol8YW.js`),__vite__mapDeps([45,2,17,9,12,10,41,14,46]))),ky=Ty(`MapInfoDialog`,()=>Vt(()=>import(`./MapInfoDialog-DRDO-hEe.js`),__vite__mapDeps([47,2,29,30,9,13,14,48]))),Ay=Ty(`ServerBrowser`,()=>Vt(()=>import(`./ServerBrowser-DJO_Cg9j.js`),__vite__mapDeps([49,2,11,9,12,10,13,14,50]))),jy=Ty(`ScoreScreen`,()=>Vt(()=>import(`./ScoreScreen-B4ikofMT.js`),__vite__mapDeps([51,2,9,12,10,14,52])));function My(){let[e,t]=S(),n=lr(),{clearFogEnabledOverride:r,sidebarOpen:i,setSidebarOpen:a}=u(),{missionName:o,missionType:s}=e,[c,l]=(0,B.useState)(!1),[d,f]=(0,B.useState)(!1),[p,m]=(0,B.useState)(!1),[h,_]=(0,B.useState)(!1),[v,y]=(0,B.useState)(0),[b,x]=(0,B.useState)(!0),C=g(),w=L(e=>e.animation!==null),T=(0,B.useCallback)(e=>{window.location.hash=``,r(),_(!1),R.getState().cancel(),Ci.getState().disconnectServer(),re.getState().setRecording(null),Gr.getState().endStreaming(),t(e),C&&a(!1)},[r,t,C,a]);Ng({onChangeMission:T});let E=Di(),O=ii(),k=O===`demo`||O===`live`;(0,B.useEffect)(()=>{k&&Sy()},[k]);let A=oi(),j=ci();(0,B.useEffect)(()=>{if(!(!k||!A))try{let e=D(A);t({missionName:A,missionType:j&&e.missionTypes.includes(j)?j:void 0})}catch{t(null)}},[k,A,j,t]),(0,B.useEffect)(()=>{E&&_(!1)},[E]);let M=wi(e=>e.gameStatus);(0,B.useEffect)(()=>{M===`connected`&&C&&a(!1)},[M,C,a]),(0,B.useEffect)(()=>{E&&C&&a(!1)},[C,E,a]),(0,B.useEffect)(()=>{w&&C&&a(!1)},[C,w,a]),(0,B.useEffect)(()=>{let e=e=>{e.code===`Backslash`&&(e.metaKey||e.ctrlKey)&&(e.stopPropagation(),e.preventDefault(),a(e=>!e))};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[a]);let ee=v,te=ee<1;(0,B.useEffect)(()=>{if(te)x(!0);else{let e=setTimeout(()=>x(!1),500);return()=>clearTimeout(e)}},[te]);let N=(0,B.useCallback)((e,t=0)=>{y(t)},[]),P=(0,B.useRef)(null),ne=(0,B.useRef)(null),F=(0,B.useCallback)(()=>l(!0),[]),ie=(0,B.useCallback)(()=>m(!0),[]),I=(0,B.useCallback)(()=>{f(!0)},[]),z=(0,B.useCallback)(()=>_(!0),[]),ae=(0,B.useCallback)(()=>{_(!1)},[]),oe=(0,B.useCallback)(e=>{P.current=e.camera,ne.current=e.invalidate},[]);return(0,H.jsx)(`main`,{className:Cy.Frame,children:(0,H.jsxs)(H.Fragment,{children:[(0,H.jsxs)(`header`,{className:Cy.Toolbar,children:[(0,H.jsx)(P_,{orientation:`top`,isOpen:i,onClick:()=>{a(e=>!e)}}),(0,H.jsx)(P_,{orientation:`left`,isOpen:i,onClick:()=>{a(e=>!e)}}),(0,H.jsx)(B.Activity,{mode:k&&!h?`visible`:`hidden`,children:(0,H.jsx)(kg,{})}),(0,H.jsx)(B.Activity,{mode:!k||h?`visible`:`hidden`,children:(0,H.jsx)(wg,{value:h?``:o,missionType:h?``:s??``,onChange:T,autoFocus:h,onCancel:ae})}),w&&(0,H.jsx)(I_,{})]}),i?(0,H.jsx)(`div`,{className:Cy.Backdrop}):null,(0,H.jsx)(B.Activity,{mode:i?`visible`:`hidden`,children:(0,H.jsx)(`div`,{className:Cy.Sidebar,"data-open":i,children:(0,H.jsx)(ys,{missionName:o,missionType:s,choosingMap:h,cameraRef:P,invalidateRef:ne,onOpenMapInfo:F,onOpenScoreScreen:k?ie:void 0,onOpenServerBrowser:n.live?I:void 0,onChooseMap:z,onCancelChoosingMap:ae,onClose:()=>{a(!1)}})})}),(0,H.jsx)(C_,{children:(0,H.jsxs)(`div`,{className:Cy.Content,children:[(0,H.jsx)(`div`,{className:Cy.ThreeView,children:(0,H.jsx)(B.Suspense,{children:(0,H.jsx)(Ey,{missionName:o,missionType:s,dpr:c||d||p?.25:void 0,onCreated:oe,onLoadingChange:N})})}),k&&!p?(0,H.jsx)(B.Suspense,{children:(0,H.jsx)(Oy,{})}):null,(0,H.jsx)(D_,{}),b&&(0,H.jsx)(A_,{isLoading:te,progress:ee})]})}),(0,H.jsx)(`footer`,{className:Cy.PlayerBar,children:E?.source===`demo`?(0,H.jsx)(B.Suspense,{children:(0,H.jsx)(Dy,{})}):null}),c?(0,H.jsx)(wy,{children:(0,H.jsx)(B.Suspense,{fallback:(0,H.jsx)(M_,{onClose:()=>l(!1)}),children:(0,H.jsx)(ky,{onClose:()=>l(!1),missionName:o,missionType:s??``})})}):null,d?(0,H.jsx)(wy,{children:(0,H.jsx)(B.Suspense,{fallback:(0,H.jsx)(M_,{onClose:()=>f(!1)}),children:(0,H.jsx)(Ay,{onClose:()=>f(!1)})})}):null,p?(0,H.jsx)(wy,{children:(0,H.jsx)(B.Suspense,{fallback:(0,H.jsx)(M_,{onClose:()=>m(!1)}),children:(0,H.jsx)(jy,{onClose:()=>m(!1)})})}):null]})})}var Ny=new ir;function Py(){let e=(0,V.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,H.jsx)(B.Suspense,{children:(0,H.jsx)(nn,{children:(0,H.jsx)(ur,{children:(0,H.jsx)(sr,{client:Ny,children:(0,H.jsx)(v,{children:(0,H.jsx)(My,{})})})})})}),e[0]=t):t=e[0],t}(0,qt.createRoot)(document.getElementById(`root`)).render((0,H.jsx)(B.StrictMode,{children:(0,H.jsx)(Py,{})}));export{Rr as $,Lg as A,Ii as B,Wg as C,an as Ct,zg as D,l_ as E,wo as F,Gr as G,Pi as H,Ei as I,$r as J,Qr as K,U as L,lg as M,Oo as N,Vg as O,To as P,Br as Q,Mi as R,t_ as S,sn as St,c_ as T,Kt as Tt,Ci as U,Di as V,wi as W,ri as X,ni as Y,Hr as Z,Zg as _,hn as _t,ly as a,vr as at,Qg as b,Nn as bt,hy as c,hr as ct,sy as d,zn as dt,kr as et,cy as f,In as ft,Jg as g,On as gt,w_ as h,un as ht,ay as i,yr as it,Ig as j,Bg as k,py as l,or as lt,Zv as m,fn as mt,ry as n,Sr as nt,oy as o,_r as ot,uy as p,Fn as pt,ii as q,dy as r,br as rt,fy as s,gr as st,iy as t,Cr as tt,my as u,qn as ut,Xg as v,mn as vt,f_ as w,rn as wt,Gg as x,pn as xt,Kg as y,Cn as yt,ki as z}; \ No newline at end of file diff --git a/docs/assets/index-BulUt8gq.css b/docs/assets/index-BulUt8gq.css deleted file mode 100644 index 22c60937..00000000 --- a/docs/assets/index-BulUt8gq.css +++ /dev/null @@ -1 +0,0 @@ -@layer button{@media (hover:hover){._Button_p0g82_2{color:#ffffffe6;background:#03529399;border:1px solid #c8c8c84d;border-color:#ffffff4d #c8c8c84d #c8c8c84d #ffffff4d}._Button_p0g82_2:not(:disabled):hover{color:#fff;background:#0062b3cc;border-color:#fff6}._Button_p0g82_2 svg{opacity:.6}._Button_p0g82_2:not(:disabled):hover svg{opacity:1}}@media (hover:hover){._DestructiveActionButton_p0g82_141:not(:disabled):hover{background:#e5463be6}}@media (pointer:coarse){._DestructiveActionButton_p0g82_141{min-width:36px;min-height:36px;margin-right:6px;font-size:20px}}@media (hover:hover){._Button_p0g82_2{color:#ffffffe6;background:#03529399;border:1px solid #c8c8c84d;border-color:#ffffff4d #c8c8c84d #c8c8c84d #ffffff4d}._Button_p0g82_2:not(:disabled):hover{color:#fff;background:#0062b3cc;border-color:#fff6}._Button_p0g82_2 svg{opacity:.6}._Button_p0g82_2:not(:disabled):hover svg{opacity:1}}@media (hover:hover){._DestructiveActionButton_p0g82_141:not(:disabled):hover{background:#e5463be6}}@media (pointer:coarse){._DestructiveActionButton_p0g82_141{min-width:36px;min-height:36px;margin-right:6px;font-size:20px}}@media (hover:hover){._Button_p0g82_2{color:#ffffffe6;background:#03529399;border:1px solid #c8c8c84d;border-color:#ffffff4d #c8c8c84d #c8c8c84d #ffffff4d}._Button_p0g82_2:not(:disabled):hover{color:#fff;background:#0062b3cc;border-color:#fff6}._Button_p0g82_2 svg{opacity:.6}._Button_p0g82_2:not(:disabled):hover svg{opacity:1}}@media (hover:hover){._DestructiveActionButton_p0g82_141:not(:disabled):hover{background:#e5463be6}}@media (pointer:coarse){._DestructiveActionButton_p0g82_141{min-width:36px;min-height:36px;margin-right:6px;font-size:20px}}@media (hover:hover){._Button_p0g82_2{color:#ffffffe6;background:#03529399;border:1px solid #c8c8c84d;border-color:#ffffff4d #c8c8c84d #c8c8c84d #ffffff4d}._Button_p0g82_2:not(:disabled):hover{color:#fff;background:#0062b3cc;border-color:#fff6}._Button_p0g82_2 svg{opacity:.6}._Button_p0g82_2:not(:disabled):hover svg{opacity:1}}@media (hover:hover){._DestructiveActionButton_p0g82_141:not(:disabled):hover{background:#e5463be6}}@media (pointer:coarse){._DestructiveActionButton_p0g82_141{min-width:36px;min-height:36px;margin-right:6px;font-size:20px}}@media (hover:hover){._Button_p0g82_2{color:#ffffffe6;background:#03529399;border:1px solid #c8c8c84d;border-color:#ffffff4d #c8c8c84d #c8c8c84d #ffffff4d}._Button_p0g82_2:not(:disabled):hover{color:#fff;background:#0062b3cc;border-color:#fff6}._Button_p0g82_2 svg{opacity:.6}._Button_p0g82_2:not(:disabled):hover svg{opacity:1}}@media (hover:hover){._DestructiveActionButton_p0g82_141:not(:disabled):hover{background:#e5463be6}}@media (pointer:coarse){._DestructiveActionButton_p0g82_141{min-width:36px;min-height:36px;margin-right:6px;font-size:20px}}._Button_p0g82_2{color:#fff;cursor:pointer;background:#0062b3cc;border:1px solid #fff6;border-radius:5px;flex:auto;justify-content:center;align-items:center;gap:8px;width:auto;min-width:28px;height:auto;min-height:32px;margin:0;padding:4px 8px;font-family:inherit;font-size:18px;font-weight:500;transition:background .2s,border-color .2s;display:flex;position:relative;transform:translate(0);box-shadow:0 1px 2px #0006}._Button_p0g82_2 svg{opacity:.8;pointer-events:none;flex:none;transition:opacity .2s}._Button_p0g82_2:not(:has(._ButtonLabel_p0g82_37)) svg{opacity:1}._Button_p0g82_2:disabled{opacity:.6;color:#fffc;cursor:default;box-shadow:inset 0 0 12px 1px #36363680}@media (hover:hover){._Button_p0g82_2{color:#ffffffe6;background:#03529399;border:1px solid #c8c8c84d;border-color:#ffffff4d #c8c8c84d #c8c8c84d #ffffff4d}._Button_p0g82_2:not(:disabled):hover{color:#fff;background:#0062b3cc;border-color:#fff6}._Button_p0g82_2 svg{opacity:.6}._Button_p0g82_2:not(:disabled):hover svg{opacity:1}}._Button_p0g82_2:not(:disabled):active,._Button_p0g82_2[aria-expanded=true]{background:#0062b3b3;border-color:#ffffff4d;transform:translateY(1px)}._Button_p0g82_2[data-active=true]{background:#0075d5e6;border-color:#fff6}._ButtonLabel_p0g82_37{font-size:14px}._ButtonHint_p0g82_92{opacity:.7;font-size:10px}._ButtonGroup_p0g82_97{flex:1 0 auto;align-items:stretch;width:100%;display:flex}._ButtonGroup_p0g82_97 ._Button_p0g82_2{background:#1b4f87b3;flex-direction:column;flex:1 0 0;gap:1px;padding-top:8px;padding-bottom:8px;font-size:22px;box-shadow:inset 0 0 10px #04284780}._ButtonGroup_p0g82_97 ._Button_p0g82_2 svg{margin-bottom:3px}._ButtonGroup_p0g82_97 ._Button_p0g82_2[data-active=true]{background:#0065cbcc;box-shadow:inset 0 2px 3px #08bdff80,inset 0 -2px 6px #00122880}._ButtonGroup_p0g82_97 ._Button_p0g82_2[data-active=true] svg{opacity:1}._ButtonGroup_p0g82_97 ._Button_p0g82_2:not(:first-child){border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}._ButtonGroup_p0g82_97 ._Button_p0g82_2:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}._DestructiveActionButton_p0g82_141{background:#d5423ab3;flex:none;min-width:28px;min-height:28px;margin:0 10px 0 0;padding:2px;font-size:16px}@media (hover:hover){._DestructiveActionButton_p0g82_141:not(:disabled):hover{background:#e5463be6}}@media (pointer:coarse){._DestructiveActionButton_p0g82_141{min-width:36px;min-height:36px;margin-right:6px;font-size:20px}}}:root{--monospace-font:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace}html{box-sizing:border-box;background:#000;margin:0;padding:0;overflow:hidden}*,:before,:after{box-sizing:inherit}body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}html{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-size:100%}body{margin:0;padding:0;overflow:hidden}._Button_1xmvi_1[data-copied=true]{background:#0075d5e6;border-color:#fff6}._ClipboardIcon_1xmvi_10{opacity:1;display:none}._Button_1xmvi_1[data-copied=true] ._ClipboardIcon_1xmvi_10{animation:.22s linear infinite _showClipboardCheck_1xmvi_1;display:block}._Button_1xmvi_1[data-copied=true] ._PinIcon_1xmvi_20{display:none}@keyframes _showClipboardCheck_1xmvi_1{0%{opacity:1}to{opacity:.2}}._JoinServerButton_cz8os_1[data-connected=true] ._Icon_cz8os_5{animation:1.2s ease-out infinite _blink_cz8os_1}@keyframes _blink_cz8os_1{0%{opacity:1}to{opacity:.25}}._AccordionGroup_b0qoe_1{flex-direction:column;gap:1px;display:flex}._Trigger_b0qoe_7{color:#fff;text-align:left;text-transform:uppercase;letter-spacing:.0417em;background:#ffffff1a;border:0;align-items:center;gap:4px;width:100%;padding:6px 8px;font-family:inherit;font-size:11px;font-weight:400;display:flex}._TriggerIcon_b0qoe_24{opacity:.5;font-size:12px;transition:transform .2s;transform:rotate(0)}._Trigger_b0qoe_7[data-state=open] ._TriggerIcon_b0qoe_24{transform:rotate(90deg)}._Content_b0qoe_35{overflow:hidden}._Content_b0qoe_35[data-state=open]{animation:.3s _slideDown_b0qoe_1}._Content_b0qoe_35[data-state=closed]{animation:.3s _slideUp_b0qoe_1}._Body_b0qoe_47{padding:16px 12px 10px}@keyframes _slideDown_b0qoe_1{0%{height:0}to{height:var(--radix-accordion-content-height)}}@keyframes _slideUp_b0qoe_1{0%{height:var(--radix-accordion-content-height)}to{height:0}}@media (pointer:coarse){._Trigger_b0qoe_7{gap:6px;padding:12px 10px;font-size:13px}}._Root_cfjcw_1{flex-direction:column;display:flex}._ProgressWrap_cfjcw_6{flex-direction:column;gap:4px;padding:12px 10px;display:flex}._ProgressLabel_cfjcw_13{opacity:.7;text-align:center;font-size:11px}._ProgressBar_cfjcw_19{background:#ffffff1a;border-radius:2px;width:100%;height:4px;overflow:hidden}._ProgressFill_cfjcw_27{background:#0a84ffcc;height:100%;transition:width .15s}._Filters_cfjcw_33{flex-wrap:wrap;gap:4px;padding:10px;display:flex}._FilterButton_cfjcw_40{color:#ffffffb3;cursor:pointer;background:#ffffff0d;border:1px solid #fff3;border-radius:3px;padding:2px 8px;font-family:inherit;font-size:11px}._FilterButton_cfjcw_40[data-active=true]{color:#fff;background:#0062b399;border-color:#64b4ff80}._EventList_cfjcw_57{flex-direction:column;padding:2px 0 12px;display:flex}._EventRow_cfjcw_63{color:#fffc;text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:0;align-items:center;gap:8px;padding:3px 10px 3px 8px;font-family:inherit;font-size:13px;display:flex}@media (hover:hover){._EventRow_cfjcw_63:hover{background:#ffffff1a}._FilterButton_cfjcw_40:hover{background:#ffffff1a;border-color:#ffffff4d}._FilterButton_cfjcw_40[data-active=true]:hover{background:#0062b3cc;border-color:#64b4ffb3}}._EventRow_cfjcw_63:active{color:#fff;background:#0055b1cc}@media (pointer:coarse){._FilterButton_cfjcw_40{flex:1 0 auto;padding:4px 8px;font-size:13px}._EventList_cfjcw_57{gap:2px}._EventRow_cfjcw_63{padding-top:5px;padding-bottom:5px;font-size:14px}}._EventTime_cfjcw_120{font-variant-numeric:tabular-nums;opacity:.6;text-align:right;flex-shrink:0;min-width:3.5em;font-size:11px}._EventIcon_cfjcw_129{flex-shrink:0;align-items:center;margin:0 1px;font-size:13px;display:flex}._EventIcon_cfjcw_129[data-type=kill],._EventIcon_cfjcw_129[data-type=death]{color:#8a8380}._EventIcon_cfjcw_129[data-type=flag-cap]{color:#69db7c;margin:0;font-size:15px}._EventIcon_cfjcw_129[data-type=flag-grab],._EventIcon_cfjcw_129[data-type=flag-return]{margin:0;font-size:15px}._EventIcon_cfjcw_129[data-type=flag-cap][data-affinity=enemy]{color:#ff6b6b}._EventIcon_cfjcw_129[data-type=flag-cap][data-affinity=neutral]{color:#adb5bd}._EventIcon_cfjcw_129[data-type=match-start]{color:#74c0fc;margin:0;font-size:15px}._EventIcon_cfjcw_129[data-type=match-end]{color:#74c0fc}._EventDescription_cfjcw_172{text-overflow:ellipsis;overflow:hidden}._Empty_cfjcw_186{opacity:.5;text-align:center;padding:4px 10px 12px;font-size:12px}._Root_pb9qa_1{flex-direction:column;display:flex}._Empty_pb9qa_6{opacity:.5;text-align:center;padding:4px 10px 12px;font-size:12px}._TourAllButton_pb9qa_13{color:#fffc;cursor:pointer;background:0 0;border:0;justify-content:flex-start;align-self:flex-start;align-items:center;gap:6px;padding:10px 14px;font-family:inherit;font-size:14px;font-weight:500;display:flex}@media (hover:hover){._TourAllButton_pb9qa_13:hover{color:#fff}}._CategoryHeader_pb9qa_40{color:#fff9;text-transform:uppercase;letter-spacing:.04em;-webkit-user-select:none;user-select:none;align-items:baseline;gap:6px;padding:4px 4px 4px 14px;font-size:12px;font-weight:600;display:flex}._CategoryHeader_pb9qa_40:not(:first-child){border-top:1px solid #ffffff0f;padding-top:8px}._CategoryCount_pb9qa_58{opacity:.7;font-weight:400}._TourButton_pb9qa_63{color:#fffc;cursor:pointer;text-transform:none;background:0 0;border:0;border-radius:0;align-items:center;gap:5px;margin:0 0 0 auto;padding:6px 8px;font-family:inherit;font-size:12px;font-weight:500;display:flex}._PlayIcon_pb9qa_83{color:#74c0fc}._ExitIcon_pb9qa_87{color:#ff8363}@media (hover:hover){._TourButton_pb9qa_63:hover{color:#fff}}._ItemList_pb9qa_100{flex-direction:column;padding:0 0 8px;display:flex}._ItemRow_pb9qa_106{color:#fffc;text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:0;align-items:center;gap:4px;padding:4px 10px 4px 12px;font-family:inherit;font-size:13px;display:flex}._ItemRow_pb9qa_106 ._PlayIcon_pb9qa_83{font-size:12px}@media (hover:hover){._ItemRow_pb9qa_106:not(:hover) ._PlayIcon_pb9qa_83{visibility:hidden}}._ItemRow_pb9qa_106[data-active=true]{color:#fff;background:#0055b180}@media (hover:hover){._ItemRow_pb9qa_106:hover{background:#ffffff1a}._ItemRow_pb9qa_106[data-active=true]:hover{background:#0055b199}}._ItemRow_pb9qa_106:active{color:#fff;background:#0055b1cc}._ItemLabel_pb9qa_151{text-overflow:ellipsis;overflow:hidden}._TeamBadge_pb9qa_156{color:#fff;border-radius:2px;flex-shrink:0;margin:0 0 0 6px;padding:0 4px;font-size:11px;line-height:1.5}._TeamBadge_pb9qa_156[data-team="1"]{background:#086c8acc}._TeamBadge_pb9qa_156[data-team="2"]{background:#8f5e14cc}@media (pointer:coarse){._CategoryHeader_pb9qa_40{padding:6px 8px 6px 16px;font-size:13px}._TourButton_pb9qa_63{font-size:13px}._ItemRow_pb9qa_106{padding-top:6px;padding-bottom:6px;padding-left:14px;font-size:14px}}._InspectorControls_ukzik_1{z-index:2;font-size:13px;line-height:1.231;position:relative}._Dropdown_ukzik_8{flex-direction:column;justify-content:center;align-items:stretch;gap:0;display:flex}._Group_ukzik_16{flex-wrap:wrap;justify-content:center;align-items:center;gap:20px;display:flex}._CheckboxField_ukzik_24{grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;gap:0 6px;margin:0 0 8px;display:grid}._CheckboxField_ukzik_24 input[type=checkbox]{grid-area:1/1;margin-left:0}._CheckboxField_ukzik_24 ._Label_ukzik_39{grid-area:1/2;align-items:center;gap:6px;display:flex}._Description_ukzik_47{opacity:.6;margin:2px 0 0;padding:0;font-size:12px;line-height:1.5}._CheckboxField_ukzik_24 ._Description_ukzik_47{grid-area:2/2}._Control_ukzik_60{justify-content:flex-end;align-items:center;gap:8px;display:flex}._Field_ukzik_67{grid-template-rows:auto auto;grid-template-columns:1fr auto;align-items:center;margin:0 0 12px;display:grid}._Field_ukzik_67:has(._Description_ukzik_47){margin:0 0 10px}._Field_ukzik_67 select{margin-bottom:6px}._Field_ukzik_67 input[type=range]{max-width:100px}._Field_ukzik_67 output{opacity:.7}._Tools_ukzik_91{flex-wrap:wrap;align-items:center;gap:8px;padding:10px;display:flex}._Field_ukzik_67 label{grid-area:1/1}._Field_ukzik_67 ._Control_ukzik_60{grid-area:1/2}._Field_ukzik_67 ._Description_ukzik_47{grid-area:2/1/auto/-1}._ForceRenderButton_ukzik_119{color:#4cb5ff;cursor:pointer;background:0 0;border:0;place-content:center;margin:0;padding:0 2px;font-size:16px;display:grid}._CloseSidebarButton_ukzik_131{margin:20px 12px;padding-top:10px;padding-bottom:10px;font-size:15px}@media (width>=900px){._CloseSidebarButton_ukzik_131{display:none}}@media (pointer:coarse){._Tools_ukzik_91{padding-top:12px;padding-bottom:13px}._Field_ukzik_67{grid-template-columns:auto minmax(0,70%);gap:0 20px;margin-bottom:20px}._CheckboxField_ukzik_24{margin-bottom:16px}._Description_ukzik_47{font-size:14px;line-height:1.42857}._Field_ukzik_67 label,._CheckboxField_ukzik_24 ._Label_ukzik_39{font-size:15px}._CheckboxField_ukzik_24 input[type=checkbox]{min-width:19px;min-height:19px;padding-right:6px}._Field_ukzik_67 select{width:100%;max-width:none;padding:4px 6px;font-size:15px}._Field_ukzik_67 input[type=range]{width:100%;max-width:none;padding-top:10px;padding-bottom:10px}}@media (width<=499px){._PopoverWrapper_avklz_97{width:auto!important;max-width:none!important;left:8px!important;right:8px!important;transform:translateY(44px)!important}._Popover_avklz_83{min-width:0}}@media (pointer:fine){._CloseButton_avklz_215{visibility:hidden}}@media (width<=899px){._InputWrapper_avklz_1{flex:1 1 0;max-width:460px;margin-left:4px}._Input_avklz_1{width:100%}}._InputWrapper_avklz_1{z-index:2;align-items:center;margin:10px 10px 10px 8px;display:flex;position:relative}._Shortcut_avklz_9{color:#fff9;pointer-events:none;background:#ffffff26;border-radius:3px;padding:1px 4px;font-family:system-ui,sans-serif;font-size:11px;position:absolute;right:7px}._Input_avklz_1[aria-expanded=true]~._Shortcut_avklz_9{display:none}._Input_avklz_1{color:#fff;-webkit-user-select:text;user-select:text;background:#0009;border:1px solid #ffffff4d;border-radius:3px;outline:none;width:280px;padding:6px 36px 6px 8px;font-size:14px}._Input_avklz_1[aria-expanded=true]{padding-right:8px}._Input_avklz_1:focus{border-color:#fff9}._Input_avklz_1::placeholder{color:#777;font-family:inherit;font-size:12px}._SelectedValue_avklz_52{pointer-events:none;align-items:center;gap:6px;display:flex;position:absolute;left:8px;right:36px;overflow:hidden}._Input_avklz_1[aria-expanded=true]~._SelectedValue_avklz_52{display:none}._SelectedName_avklz_67{color:#fff;white-space:nowrap;text-overflow:ellipsis;flex-shrink:1;min-width:0;font-size:14px;font-weight:600;line-height:1.28571;overflow:hidden}._SelectedValue_avklz_52>._ItemType_avklz_79{flex-shrink:0}._Popover_avklz_83{z-index:100;min-width:360px;max-height:var(--popover-available-height,90vh);overscroll-behavior:contain;background:#141414f2;border:1px solid #ffffff80;border-radius:3px;overflow:hidden auto;box-shadow:0 8px 24px #0009}@media (width<=499px){._PopoverWrapper_avklz_97{width:auto!important;max-width:none!important;left:8px!important;right:8px!important;transform:translateY(44px)!important}._Popover_avklz_83{min-width:0}}._List_avklz_110{padding:4px 0}._List_avklz_110:has(>._Group_avklz_114:first-child){padding-top:0}._Group_avklz_114{padding-bottom:4px}._GroupLabel_avklz_122{color:#c6caca;z-index:1;background:#3a4548f2;border-bottom:1px solid #ffffff4d;padding:6px 8px 6px 12px;font-size:13px;font-weight:600;position:sticky;top:0}._Group_avklz_114:not(:last-child){border-bottom:1px solid #ffffff4d}._Item_avklz_79{cursor:pointer;border-radius:4px;outline:none;flex-direction:column;gap:1px;margin:4px 4px 0;padding:6px 8px;scroll-margin-top:32px;display:flex}._List_avklz_110>._Item_avklz_79:first-child{margin-top:0}._Item_avklz_79[data-active-item]{background:#ffffff26}._Item_avklz_79[aria-selected=true]{background:#6496ff4d}._ItemHeader_avklz_162{align-items:center;gap:6px;display:flex}._ItemName_avklz_168{color:#fff;font-size:14px;font-weight:600}._ItemTypes_avklz_174{gap:3px;display:flex}._ItemType_avklz_79{color:#fff;background:#ff9d0066;border-radius:3px;padding:2px 5px;font-size:10px;font-weight:600;line-height:1.3}._ItemType_avklz_79:hover{background:#ff9d00b3}._ItemMissionName_avklz_193{color:#ffffff80;font-size:12px}._NoResults_avklz_198{color:#ffffff80;text-align:center;padding:12px 8px;font-size:13px}._Backdrop_avklz_205{z-index:1;background:#00000080;position:fixed;inset:0}._CloseButton_avklz_215{z-index:101;color:#ffffff80;background:0 0;border:0;flex:none;place-content:center;align-self:stretch;margin:0 0 0 -8px;padding:6px 12px 6px 8px;font-size:24px;display:grid;position:relative}@media (pointer:fine){._CloseButton_avklz_215{visibility:hidden}}._CloseButton_avklz_215[data-open=false]{visibility:hidden}@media (width<=899px){._InputWrapper_avklz_1{flex:1 1 0;max-width:460px;margin-left:4px}._Input_avklz_1{width:100%}}._Header_klnnn_1{flex:auto;justify-content:flex-start;align-items:center;gap:12px;display:flex}._MissionInfo_klnnn_9{color:#fff;background:0 0;border:1px solid #fff0;border-radius:3px;align-items:center;gap:6px;margin:10px auto 10px 4px;padding:5px 8px;display:flex}._MissionType_klnnn_25{pointer-events:none}._MissionTypeDisplayName_klnnn_30{opacity:.5;font-size:12px}._Metadata_klnnn_35{text-align:right;flex-direction:column;gap:2px;margin-left:4px;padding:8px 0;font-size:12px;line-height:1.16667;display:flex}._Attribution_klnnn_46,._ServerInfo_klnnn_47{color:#83938b}._PlayerName_klnnn_51,._RecordingDate_klnnn_52,._ServerName_klnnn_53{color:#eceae7}._EjectIcon_klnnn_62{margin-top:-.5px;font-size:21px}._Error_klnnn_67{color:#ff6a45}@media (width<=899px){._Metadata_klnnn_35{display:none}._MissionInfo_klnnn_9{margin-left:0}}._Pulsing_klnnn_81{animation:1.2s ease-out infinite _blink_klnnn_1}._ConnectionPing_klnnn_85{background:#ffffff1a;border-radius:12px;align-items:center;gap:6px;padding:5px 8px;font-size:12px;display:inline-flex}._PingDot_klnnn_95{background:currentColor;border-radius:3px;width:6px;height:6px;display:inline-block}._ConnectionPing_klnnn_85[data-quality=good] ._PingDot_klnnn_95{color:#74ff45}._ConnectionPing_klnnn_85[data-quality=fine] ._PingDot_klnnn_95{color:#ff9e2f}._ConnectionPing_klnnn_85[data-quality=poor] ._PingDot_klnnn_95{color:#e83f25}@keyframes _blink_klnnn_1{0%{opacity:1}to{opacity:.25}}._LoadingIndicator_8ijel_1{pointer-events:none;z-index:1;opacity:.8;flex-direction:column;align-items:center;gap:16px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}._LoadingIndicator_8ijel_1[data-complete=true]{animation:.3s ease-out forwards _loadingComplete_8ijel_1}._Spinner_8ijel_19{border:4px solid #fff3;border-top-color:#fff;border-radius:50%;width:48px;height:48px;animation:1s linear infinite _spin_8ijel_1}._Progress_8ijel_28{background:#fff3;border-radius:2px;width:200px;height:4px;overflow:hidden}._ProgressBar_8ijel_36{background:#fff;border-radius:2px;height:100%;transition:width .1s ease-out}._ProgressText_8ijel_43{color:#ffffffb3;font-variant-numeric:tabular-nums;font-size:14px}._LoadingIndicator_8ijel_1[data-indeterminate=true] ._Progress_8ijel_28,._LoadingIndicator_8ijel_1[data-indeterminate=true] ._ProgressText_8ijel_43{display:none}@keyframes _spin_8ijel_1{to{transform:rotate(360deg)}}@keyframes _loadingComplete_8ijel_1{0%{opacity:1}to{opacity:0}}._Dialog_1t9wa_1{color:#b0d5c9;-webkit-user-select:text;user-select:text;-webkit-touch-callout:default;background:#142526cc;border:1px solid #41838b99;border-radius:4px;outline:none;min-width:120px;max-width:calc(100dvw - 40px);min-height:120px;max-height:calc(100dvh - 40px);font-size:14px;line-height:1.5;position:relative;overflow:hidden;box-shadow:0 0 50px #0006,inset 0 0 60px #01070d99}._Overlay_1t9wa_22{z-index:10;background:#000000b3;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}._DialogButton_1t9wa_33{color:#99fff1;text-shadow:0 -1px 1px #0006;cursor:pointer;background:linear-gradient(#30a497cc,#1f9688cc 33%,#218377cc 67%,#046564cc);border:1px solid #387c74cc;border-top-color:#57b7b9cc;border-radius:4px;padding:4px 18px;font-family:inherit;font-size:14px;font-weight:500;box-shadow:inset 0 0 4px #02808e80}._DialogButton_1t9wa_33:hover:not(:disabled){color:#b1fff5;border:1px solid #409188e6;border-top-color:#5ac6c2e6;box-shadow:inset 0 0 4px #02808e80,0 0 5px #3effbf80}._DialogButton_1t9wa_33:active:not(:disabled){transform:translateY(1px)}._DialogButton_1t9wa_33:disabled{opacity:.4;cursor:not-allowed}._Secondary_1t9wa_72{box-shadow:none;color:#a2e2cfcc;text-shadow:none;background:0 0;border:1px solid #387c74cc}._Secondary_1t9wa_72:hover:not(:disabled){color:#a9ffe5cc;border:1px solid #3f9087e6}._Actions_1t9wa_86{align-items:center;gap:10px;display:flex}@media (width<=719px){._Dialog_1t9wa_1{border-radius:0;max-width:calc(100dvw - 20px);max-height:calc(100dvh - 20px)}}@media (width<=639px){._Overlay_1t9wa_22{padding:10px}}._Button_n870r_1{color:#fff;cursor:pointer;opacity:.6;background:0 0;border:0;border-radius:0;flex:none;place-content:center;align-self:stretch;min-width:30px;min-height:30px;margin:0 0 0 2px;padding:2px 4px 2px 8px;font-size:24px;display:grid}._Button_n870r_1:active,._Button_n870r_1[data-active=true]{opacity:1;transform:translateY(1px)}._Button_n870r_1[data-orientation=top]{min-width:48px;min-height:48px;margin:0;display:none}@media (hover:hover){._Button_n870r_1:not(:disabled):hover{opacity:1}}._Button_n870r_1 svg{pointer-events:none}@media (width<=899px){._Button_n870r_1[data-orientation=left]{display:none}._Button_n870r_1[data-orientation=top]{display:grid}}@media (pointer:coarse){._Button_n870r_1{font-size:28px}}._Button_17xa1_1{gap:6px;margin:0 10px 0 auto;padding:4px 10px 4px 6px;font-size:20px}._ButtonLabel_17xa1_9{font-size:13px;font-weight:500}@media (width<=799px){._Button_17xa1_1{margin:0 6px 0 0;padding-left:8px;padding-right:8px}._Button_17xa1_1 ._ButtonLabel_17xa1_9{display:none}}._Frame_1u5rk_1{grid-template:"sidebar toolbar""sidebar content"1fr"sidebar footer"/auto 1fr;width:100dvw;height:100dvh;display:grid;overflow:hidden}._Toolbar_1u5rk_16{color:#fff;z-index:3;view-transition-class:layout;background:#191f1f;border-bottom:1px solid #465555;grid-area:toolbar;align-items:center;display:flex;position:relative;box-shadow:0 0 3px 1px #0006}._Sidebar_1u5rk_29{color:#fff;z-index:2;background:#191f1f;border-right:1px solid #465555;grid-area:sidebar;width:320px;height:100%;min-height:0;position:relative;overflow-y:auto;box-shadow:0 0 3px 1px #0006}._Content_1u5rk_43{z-index:0;grid-area:content;min-width:0;min-height:0;position:relative;overflow:hidden}._ThreeView_1u5rk_52{z-index:0;position:absolute;inset:0}._PlayerBar_1u5rk_61{color:#fff;z-index:1;background:#191f1f;border-top:1px solid #465555;grid-area:footer;position:relative;box-shadow:0 0 3px 1px #0006}._Backdrop_1u5rk_71{display:none}@media (width<=899px){._Frame_1u5rk_1{grid-template:"toolbar""content"1fr"footer"/1fr;display:grid}._Sidebar_1u5rk_29{border:1px solid #465555;border-top:0;grid-area:content-start/content/footer-end;justify-self:center;width:auto;max-width:500px;height:calc(100% + 1px);margin:0 -1px}._Toolbar_1u5rk_16{justify-content:space-between}._Backdrop_1u5rk_71{z-index:2;background:#000000b3;display:block;position:fixed;inset:0}} diff --git a/docs/assets/index-Ds_qp2Yy.js b/docs/assets/index-Ds_qp2Yy.js deleted file mode 100644 index f7ffa923..00000000 --- a/docs/assets/index-Ds_qp2Yy.js +++ /dev/null @@ -1,4 +0,0 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/demoStreaming-DnO_dp2r.js","assets/streamHelpers-BvWKgQMn.js","assets/chunk-DECur_0Z.js","assets/three.module-DRRYkRPO.js","assets/scene-6ZXksKVQ.js","assets/logger-B058WGzf.js","assets/demoTimelineScanner-DKjwgmKz.js","assets/TouchHandler--H5QPJbJ.js","assets/Html-DrHEhPVE.js","assets/jsx-runtime-BpGWiA-R.js","assets/traditional-DhFuLw_p.js","assets/SettingsProvider-DVIFsPwe.js","assets/engineStore-DeZJbWme.js","assets/loaders-BhaVxgpz.js","assets/mission-JRomjECE.js","assets/stringUtils-EmGsjr9D.js","assets/SettingsProvider-DAQByNim.css","assets/JoystickContext-BJFVWHNC.js","assets/TouchJoystick-CG4pSMHq.js","assets/preload-helper-yuLzSqLi.js","assets/TouchJoystick-Dn73xHvm.css","assets/KeyboardOverlay-e8677eWT.js","assets/gr-P7ZS2BjD.js","assets/iconBase-BCRUFbxq.js","assets/cameraTourStore-CDmCk75t.js","assets/KeyboardOverlay-CpSto9KR.css","assets/GameView-D0zu6Jmb.js","assets/GenericShape-D0Move-Z.js","assets/Texture-D7437V2F.js","assets/useBaseQuery-DzUOlyvP.js","assets/useAnisotropy-nhH7jNtm.js","assets/globalFogUniforms-CCW7odYy.js","assets/shapeMaterial-B0M2T1Ub.js","assets/useQuery-DfKJ2xlM.js","assets/DebugSuspense-CNky_EQQ.js","assets/ShapeErrorBoundary-75cvF0LI.js","assets/gameEntityTypes-n-ppAY7z.js","assets/streamPlaybackStore-D-tkUWut.js","assets/GameView-DxG7zBut.css","assets/DemoPlaybackControls-B1-1CC7d.js","assets/DemoPlaybackControls-D1aGRzqE.css","assets/PlayerHUD-MXCuNHBU.js","assets/PlayerHUD-DWa6gIym.css","assets/MapInfoDialog-C61PcuCl.js","assets/MapInfoDialog-qPSE5ow_.css","assets/ServerBrowser-brKJ17WH.js","assets/ServerBrowser-B1ZZ25fp.css","assets/ScoreScreen-Kwdvb5yy.js","assets/ScoreScreen-FWyMMObP.css"])))=>i.map(i=>d[i]); -import{r as e,t}from"./chunk-DECur_0Z.js";import{n,r,t as i}from"./jsx-runtime-BpGWiA-R.js";import{c as a,l as o,o as s,u as c}from"./Html-DrHEhPVE.js";import{C as l,D as u,E as d,O as f,S as p,T as m,a as h,i as g,k as _,n as v,r as y,t as b,w as x,x as S}from"./SettingsProvider-DVIFsPwe.js";import{t as C}from"./iconBase-BCRUFbxq.js";import{h as w,m as T,x as E,y as D}from"./loaders-BhaVxgpz.js";import{n as O,r as k,t as A}from"./stringUtils-EmGsjr9D.js";import{St as j,Ut as M}from"./three.module-DRRYkRPO.js";import{i as N,n as P,r as F}from"./traditional-DhFuLw_p.js";import{t as I}from"./logger-B058WGzf.js";import{i as ee}from"./mission-JRomjECE.js";import{i as L,r as te,s as ne}from"./engineStore-DeZJbWme.js";import{t as R}from"./preload-helper-yuLzSqLi.js";import{n as re,t as ie}from"./cameraTourStore-CDmCk75t.js";import{C as z,D as ae,E as oe,O as se,S as ce,T as le,_ as B,a as ue,b as de,c as fe,f as pe,g as me,h as he,i as ge,k as _e,l as ve,m as ye,o as be,p as xe,r as Se,s as Ce,t as we,u as Te,v as Ee,w as De,x as Oe,y as ke}from"./streamHelpers-BvWKgQMn.js";import{i as Ae}from"./scene-6ZXksKVQ.js";import{t as je}from"./JoystickContext-BJFVWHNC.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var V=e(r(),1),Me=e(o(),1),H=n();function Ne(e,t,n){return r=>{if(!(t.length===0||t.some(t=>!m(r.getAll(t),e.getAll(t)))))return f("[nuqs `%s`] no change, returning previous",t.join(`,`),r),r;let i=Pe(e,t,n);return f(`[nuqs \`%s\`] subbed search params change - from %O - to %O`,t.join(`,`),r,i),i}}function Pe(e,t,n){if(t.length===0)return e;let r=n?new URLSearchParams(e):e;for(let n of e.keys())t.includes(n)||r.delete(n);return r}var Fe=`__nuqs__`,Ie=d();function Le(e){return function(t,n){let r=new URL(location.href);r.search=_(t),f(`[nuqs react] Updating url: %s`,r),e&&n.shallow===!1?(n.history===`push`?location.assign:location.replace).call(location,r):(n.history===`push`?history.pushState:history.replaceState).call(history,history.state,Fe,r),Ie.emit(`update`,t),n.scroll===!0&&window.scrollTo({top:0})}}var Re=(0,V.createContext)({fullPageNavigationOnShallowFalseUpdates:!1});function ze(e){let{fullPageNavigationOnShallowFalseUpdates:t}=(0,V.useContext)(Re),[n,r]=(0,V.useState)(()=>typeof location>`u`?new URLSearchParams:Pe(new URLSearchParams(location.search),e,!1));return(0,V.useEffect)(()=>{let t=()=>{r(Ne(new URLSearchParams(location.search),e,!1))},n=t=>{r(Ne(t,e,!0))};return Ie.on(`update`,n),window.addEventListener(`popstate`,t),()=>{Ie.off(`update`,n),window.removeEventListener(`popstate`,t)}},[e.join(`&`)]),{searchParams:n,updateUrl:(0,V.useMemo)(()=>Le(t),[t])}}var Be=u(ze);function Ve({children:e,fullPageNavigationOnShallowFalseUpdates:t=!1,...n}){return(0,V.createElement)(Re.Provider,{value:{fullPageNavigationOnShallowFalseUpdates:t}},(0,V.createElement)(Be,{...n,children:e}))}var He=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},Ue=new class extends He{#e;#t;#n;constructor(){super(),this.#n=e=>{if(typeof window<`u`&&window.addEventListener){let t=()=>e();return window.addEventListener(`visibilitychange`,t,!1),()=>{window.removeEventListener(`visibilitychange`,t)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#n=e,this.#t?.(),this.#t=e(e=>{typeof e==`boolean`?this.setFocused(e):this.onFocus()})}setFocused(e){this.#e!==e&&(this.#e=e,this.onFocus())}onFocus(){let e=this.isFocused();this.listeners.forEach(t=>{t(e)})}isFocused(){return typeof this.#e==`boolean`?this.#e:globalThis.document?.visibilityState!==`hidden`}},We={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},Ge=new class{#e=We;setTimeoutProvider(e){this.#e=e}setTimeout(e,t){return this.#e.setTimeout(e,t)}clearTimeout(e){this.#e.clearTimeout(e)}setInterval(e,t){return this.#e.setInterval(e,t)}clearInterval(e){this.#e.clearInterval(e)}};function Ke(e){setTimeout(e,0)}var qe=typeof window>`u`||`Deno`in globalThis;function Je(){}function Ye(e,t){return typeof e==`function`?e(t):e}function Xe(e){return typeof e==`number`&&e>=0&&e!==1/0}function Ze(e,t){return Math.max(e+(t||0)-Date.now(),0)}function Qe(e,t){return typeof e==`function`?e(t):e}function $e(e,t){return typeof e==`function`?e(t):e}function et(e,t){let{type:n=`all`,exact:r,fetchStatus:i,predicate:a,queryKey:o,stale:s}=e;if(o){if(r){if(t.queryHash!==nt(o,t.options))return!1}else if(!it(t.queryKey,o))return!1}if(n!==`all`){let e=t.isActive();if(n===`active`&&!e||n===`inactive`&&e)return!1}return!(typeof s==`boolean`&&t.isStale()!==s||i&&i!==t.state.fetchStatus||a&&!a(t))}function tt(e,t){let{exact:n,status:r,predicate:i,mutationKey:a}=e;if(a){if(!t.options.mutationKey)return!1;if(n){if(rt(t.options.mutationKey)!==rt(a))return!1}else if(!it(t.options.mutationKey,a))return!1}return!(r&&t.state.status!==r||i&&!i(t))}function nt(e,t){return(t?.queryKeyHashFn||rt)(e)}function rt(e){return JSON.stringify(e,(e,t)=>lt(t)?Object.keys(t).sort().reduce((e,n)=>(e[n]=t[n],e),{}):t)}function it(e,t){return e===t?!0:typeof e==typeof t&&e&&t&&typeof e==`object`&&typeof t==`object`?Object.keys(t).every(n=>it(e[n],t[n])):!1}var at=Object.prototype.hasOwnProperty;function ot(e,t,n=0){if(e===t)return e;if(n>500)return t;let r=ct(e)&&ct(t);if(!r&&!(lt(e)&<(t)))return t;let i=(r?e:Object.keys(e)).length,a=r?t:Object.keys(t),o=a.length,s=r?Array(o):{},c=0;for(let l=0;l{Ge.setTimeout(t,e)})}function ft(e,t,n){return typeof n.structuralSharing==`function`?n.structuralSharing(e,t):n.structuralSharing===!1?t:ot(e,t)}function pt(e,t,n=0){let r=[...e,t];return n&&r.length>n?r.slice(1):r}function mt(e,t,n=0){let r=[t,...e];return n&&r.length>n?r.slice(0,-1):r}var ht=Symbol();function gt(e,t){return!e.queryFn&&t?.initialPromise?()=>t.initialPromise:!e.queryFn||e.queryFn===ht?()=>Promise.reject(Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}function _t(e,t){return typeof e==`function`?e(...t):!!e}function vt(e,t,n){let r=!1,i;return Object.defineProperty(e,`signal`,{enumerable:!0,get:()=>(i??=t(),r?i:(r=!0,i.aborted?n():i.addEventListener(`abort`,n,{once:!0}),i))}),e}var yt=(()=>{let e=()=>qe;return{isServer(){return e()},setIsServer(t){e=t}}})();function bt(){let e,t,n=new Promise((n,r)=>{e=n,t=r});n.status=`pending`,n.catch(()=>{});function r(e){Object.assign(n,e),delete n.resolve,delete n.reject}return n.resolve=t=>{r({status:`fulfilled`,value:t}),e(t)},n.reject=e=>{r({status:`rejected`,reason:e}),t(e)},n}var xt=Ke;function St(){let e=[],t=0,n=e=>{e()},r=e=>{e()},i=xt,a=r=>{t?e.push(r):i(()=>{n(r)})},o=()=>{let t=e;e=[],t.length&&i(()=>{r(()=>{t.forEach(e=>{n(e)})})})};return{batch:e=>{let n;t++;try{n=e()}finally{t--,t||o()}return n},batchCalls:e=>(...t)=>{a(()=>{e(...t)})},schedule:a,setNotifyFunction:e=>{n=e},setBatchNotifyFunction:e=>{r=e},setScheduler:e=>{i=e}}}var U=St(),Ct=new class extends He{#e=!0;#t;#n;constructor(){super(),this.#n=e=>{if(typeof window<`u`&&window.addEventListener){let t=()=>e(!0),n=()=>e(!1);return window.addEventListener(`online`,t,!1),window.addEventListener(`offline`,n,!1),()=>{window.removeEventListener(`online`,t),window.removeEventListener(`offline`,n)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#n=e,this.#t?.(),this.#t=e(this.setOnline.bind(this))}setOnline(e){this.#e!==e&&(this.#e=e,this.listeners.forEach(t=>{t(e)}))}isOnline(){return this.#e}};function wt(e){return Math.min(1e3*2**e,3e4)}function Tt(e){return(e??`online`)===`online`?Ct.isOnline():!0}var Et=class extends Error{constructor(e){super(`CancelledError`),this.revert=e?.revert,this.silent=e?.silent}};function Dt(e){let t=!1,n=0,r,i=bt(),a=()=>i.status!==`pending`,o=t=>{if(!a()){let n=new Et(t);f(n),e.onCancel?.(n)}},s=()=>{t=!0},c=()=>{t=!1},l=()=>Ue.isFocused()&&(e.networkMode===`always`||Ct.isOnline())&&e.canRun(),u=()=>Tt(e.networkMode)&&e.canRun(),d=e=>{a()||(r?.(),i.resolve(e))},f=e=>{a()||(r?.(),i.reject(e))},p=()=>new Promise(t=>{r=e=>{(a()||l())&&t(e)},e.onPause?.()}).then(()=>{r=void 0,a()||e.onContinue?.()}),m=()=>{if(a())return;let r,i=n===0?e.initialPromise:void 0;try{r=i??e.fn()}catch(e){r=Promise.reject(e)}Promise.resolve(r).then(d).catch(r=>{if(a())return;let i=e.retry??(yt.isServer()?0:3),o=e.retryDelay??wt,s=typeof o==`function`?o(n,r):o,c=i===!0||typeof i==`number`&&nl()?void 0:p()).then(()=>{t?f(r):m()})})};return{promise:i,status:()=>i.status,cancel:o,continue:()=>(r?.(),i),cancelRetry:s,continueRetry:c,canStart:u,start:()=>(u()?m():p().then(m),i)}}var Ot=class{#e;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),Xe(this.gcTime)&&(this.#e=Ge.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(yt.isServer()?1/0:300*1e3))}clearGcTimeout(){this.#e&&=(Ge.clearTimeout(this.#e),void 0)}},kt=class extends Ot{#e;#t;#n;#r;#i;#a;#o;constructor(e){super(),this.#o=!1,this.#a=e.defaultOptions,this.setOptions(e.options),this.observers=[],this.#r=e.client,this.#n=this.#r.getQueryCache(),this.queryKey=e.queryKey,this.queryHash=e.queryHash,this.#e=Mt(this.options),this.state=e.state??this.#e,this.scheduleGc()}get meta(){return this.options.meta}get promise(){return this.#i?.promise}setOptions(e){if(this.options={...this.#a,...e},this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){let e=Mt(this.options);e.data!==void 0&&(this.setState(jt(e.data,e.dataUpdatedAt)),this.#e=e)}}optionalRemove(){!this.observers.length&&this.state.fetchStatus===`idle`&&this.#n.remove(this)}setData(e,t){let n=ft(this.state.data,e,this.options);return this.#c({data:n,type:`success`,dataUpdatedAt:t?.updatedAt,manual:t?.manual}),n}setState(e,t){this.#c({type:`setState`,state:e,setStateOptions:t})}cancel(e){let t=this.#i?.promise;return this.#i?.cancel(e),t?t.then(Je).catch(Je):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return this.#e}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(e=>$e(e.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===ht||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0?this.observers.some(e=>Qe(e.options.staleTime,this)===`static`):!1}isStale(){return this.getObserversCount()>0?this.observers.some(e=>e.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(e=0){return this.state.data===void 0?!0:e===`static`?!1:this.state.isInvalidated?!0:!Ze(this.state.dataUpdatedAt,e)}onFocus(){this.observers.find(e=>e.shouldFetchOnWindowFocus())?.refetch({cancelRefetch:!1}),this.#i?.continue()}onOnline(){this.observers.find(e=>e.shouldFetchOnReconnect())?.refetch({cancelRefetch:!1}),this.#i?.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),this.#n.notify({type:`observerAdded`,query:this,observer:e}))}removeObserver(e){this.observers.includes(e)&&(this.observers=this.observers.filter(t=>t!==e),this.observers.length||(this.#i&&(this.#o||this.#s()?this.#i.cancel({revert:!0}):this.#i.cancelRetry()),this.scheduleGc()),this.#n.notify({type:`observerRemoved`,query:this,observer:e}))}getObserversCount(){return this.observers.length}#s(){return this.state.fetchStatus===`paused`&&this.state.status===`pending`}invalidate(){this.state.isInvalidated||this.#c({type:`invalidate`})}async fetch(e,t){if(this.state.fetchStatus!==`idle`&&this.#i?.status()!==`rejected`){if(this.state.data!==void 0&&t?.cancelRefetch)this.cancel({silent:!0});else if(this.#i)return this.#i.continueRetry(),this.#i.promise}if(e&&this.setOptions(e),!this.options.queryFn){let e=this.observers.find(e=>e.options.queryFn);e&&this.setOptions(e.options)}let n=new AbortController,r=e=>{Object.defineProperty(e,`signal`,{enumerable:!0,get:()=>(this.#o=!0,n.signal)})},i=()=>{let e=gt(this.options,t),n=(()=>{let e={client:this.#r,queryKey:this.queryKey,meta:this.meta};return r(e),e})();return this.#o=!1,this.options.persister?this.options.persister(e,n,this):e(n)},a=(()=>{let e={fetchOptions:t,options:this.options,queryKey:this.queryKey,client:this.#r,state:this.state,fetchFn:i};return r(e),e})();this.options.behavior?.onFetch(a,this),this.#t=this.state,(this.state.fetchStatus===`idle`||this.state.fetchMeta!==a.fetchOptions?.meta)&&this.#c({type:`fetch`,meta:a.fetchOptions?.meta}),this.#i=Dt({initialPromise:t?.initialPromise,fn:a.fetchFn,onCancel:e=>{e instanceof Et&&e.revert&&this.setState({...this.#t,fetchStatus:`idle`}),n.abort()},onFail:(e,t)=>{this.#c({type:`failed`,failureCount:e,error:t})},onPause:()=>{this.#c({type:`pause`})},onContinue:()=>{this.#c({type:`continue`})},retry:a.options.retry,retryDelay:a.options.retryDelay,networkMode:a.options.networkMode,canRun:()=>!0});try{let e=await this.#i.start();if(e===void 0)throw Error(`${this.queryHash} data is undefined`);return this.setData(e),this.#n.config.onSuccess?.(e,this),this.#n.config.onSettled?.(e,this.state.error,this),e}catch(e){if(e instanceof Et){if(e.silent)return this.#i.promise;if(e.revert){if(this.state.data===void 0)throw e;return this.state.data}}throw this.#c({type:`error`,error:e}),this.#n.config.onError?.(e,this),this.#n.config.onSettled?.(this.state.data,e,this),e}finally{this.scheduleGc()}}#c(e){this.state=(t=>{switch(e.type){case`failed`:return{...t,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case`pause`:return{...t,fetchStatus:`paused`};case`continue`:return{...t,fetchStatus:`fetching`};case`fetch`:return{...t,...At(t.data,this.options),fetchMeta:e.meta??null};case`success`:let n={...t,...jt(e.data,e.dataUpdatedAt),dataUpdateCount:t.dataUpdateCount+1,...!e.manual&&{fetchStatus:`idle`,fetchFailureCount:0,fetchFailureReason:null}};return this.#t=e.manual?n:void 0,n;case`error`:let r=e.error;return{...t,error:r,errorUpdateCount:t.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:t.fetchFailureCount+1,fetchFailureReason:r,fetchStatus:`idle`,status:`error`,isInvalidated:!0};case`invalidate`:return{...t,isInvalidated:!0};case`setState`:return{...t,...e.state}}})(this.state),U.batch(()=>{this.observers.forEach(e=>{e.onQueryUpdate()}),this.#n.notify({query:this,type:`updated`,action:e})})}};function At(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:Tt(t.networkMode)?`fetching`:`paused`,...e===void 0&&{error:null,status:`pending`}}}function jt(e,t){return{data:e,dataUpdatedAt:t??Date.now(),error:null,isInvalidated:!1,status:`success`}}function Mt(e){let t=typeof e.initialData==`function`?e.initialData():e.initialData,n=t!==void 0,r=n?typeof e.initialDataUpdatedAt==`function`?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:n?r??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:n?`success`:`pending`,fetchStatus:`idle`}}function Nt(e){return{onFetch:(t,n)=>{let r=t.options,i=t.fetchOptions?.meta?.fetchMore?.direction,a=t.state.data?.pages||[],o=t.state.data?.pageParams||[],s={pages:[],pageParams:[]},c=0,l=async()=>{let n=!1,l=e=>{vt(e,()=>t.signal,()=>n=!0)},u=gt(t.options,t.fetchOptions),d=async(e,r,i)=>{if(n)return Promise.reject();if(r==null&&e.pages.length)return Promise.resolve(e);let a=await u((()=>{let e={client:t.client,queryKey:t.queryKey,pageParam:r,direction:i?`backward`:`forward`,meta:t.options.meta};return l(e),e})()),{maxPages:o}=t.options,s=i?mt:pt;return{pages:s(e.pages,a,o),pageParams:s(e.pageParams,r,o)}};if(i&&a.length){let e=i===`backward`,t=e?Ft:Pt,n={pages:a,pageParams:o};s=await d(n,t(r,n),e)}else{let t=e??a.length;do{let e=c===0?o[0]??r.initialPageParam:Pt(r,s);if(c>0&&e==null)break;s=await d(s,e),c++}while(ct.options.persister?.(l,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},n):t.fetchFn=l}}}function Pt(e,{pages:t,pageParams:n}){let r=t.length-1;return t.length>0?e.getNextPageParam(t[r],t,n[r],n):void 0}function Ft(e,{pages:t,pageParams:n}){return t.length>0?e.getPreviousPageParam?.(t[0],t,n[0],n):void 0}var It=class extends Ot{#e;#t;#n;#r;constructor(e){super(),this.#e=e.client,this.mutationId=e.mutationId,this.#n=e.mutationCache,this.#t=[],this.state=e.state||Lt(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){this.#t.includes(e)||(this.#t.push(e),this.clearGcTimeout(),this.#n.notify({type:`observerAdded`,mutation:this,observer:e}))}removeObserver(e){this.#t=this.#t.filter(t=>t!==e),this.scheduleGc(),this.#n.notify({type:`observerRemoved`,mutation:this,observer:e})}optionalRemove(){this.#t.length||(this.state.status===`pending`?this.scheduleGc():this.#n.remove(this))}continue(){return this.#r?.continue()??this.execute(this.state.variables)}async execute(e){let t=()=>{this.#i({type:`continue`})},n={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};this.#r=Dt({fn:()=>this.options.mutationFn?this.options.mutationFn(e,n):Promise.reject(Error(`No mutationFn found`)),onFail:(e,t)=>{this.#i({type:`failed`,failureCount:e,error:t})},onPause:()=>{this.#i({type:`pause`})},onContinue:t,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#n.canRun(this)});let r=this.state.status===`pending`,i=!this.#r.canStart();try{if(r)t();else{this.#i({type:`pending`,variables:e,isPaused:i}),this.#n.config.onMutate&&await this.#n.config.onMutate(e,this,n);let t=await this.options.onMutate?.(e,n);t!==this.state.context&&this.#i({type:`pending`,context:t,variables:e,isPaused:i})}let a=await this.#r.start();return await this.#n.config.onSuccess?.(a,e,this.state.context,this,n),await this.options.onSuccess?.(a,e,this.state.context,n),await this.#n.config.onSettled?.(a,null,this.state.variables,this.state.context,this,n),await this.options.onSettled?.(a,null,e,this.state.context,n),this.#i({type:`success`,data:a}),a}catch(t){try{await this.#n.config.onError?.(t,e,this.state.context,this,n)}catch(e){Promise.reject(e)}try{await this.options.onError?.(t,e,this.state.context,n)}catch(e){Promise.reject(e)}try{await this.#n.config.onSettled?.(void 0,t,this.state.variables,this.state.context,this,n)}catch(e){Promise.reject(e)}try{await this.options.onSettled?.(void 0,t,e,this.state.context,n)}catch(e){Promise.reject(e)}throw this.#i({type:`error`,error:t}),t}finally{this.#n.runNext(this)}}#i(e){this.state=(t=>{switch(e.type){case`failed`:return{...t,failureCount:e.failureCount,failureReason:e.error};case`pause`:return{...t,isPaused:!0};case`continue`:return{...t,isPaused:!1};case`pending`:return{...t,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:`pending`,variables:e.variables,submittedAt:Date.now()};case`success`:return{...t,data:e.data,failureCount:0,failureReason:null,error:null,status:`success`,isPaused:!1};case`error`:return{...t,data:void 0,error:e.error,failureCount:t.failureCount+1,failureReason:e.error,isPaused:!1,status:`error`}}})(this.state),U.batch(()=>{this.#t.forEach(t=>{t.onMutationUpdate(e)}),this.#n.notify({mutation:this,type:`updated`,action:e})})}};function Lt(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:`idle`,variables:void 0,submittedAt:0}}var Rt=class extends He{constructor(e={}){super(),this.config=e,this.#e=new Set,this.#t=new Map,this.#n=0}#e;#t;#n;build(e,t,n){let r=new It({client:e,mutationCache:this,mutationId:++this.#n,options:e.defaultMutationOptions(t),state:n});return this.add(r),r}add(e){this.#e.add(e);let t=zt(e);if(typeof t==`string`){let n=this.#t.get(t);n?n.push(e):this.#t.set(t,[e])}this.notify({type:`added`,mutation:e})}remove(e){if(this.#e.delete(e)){let t=zt(e);if(typeof t==`string`){let n=this.#t.get(t);if(n)if(n.length>1){let t=n.indexOf(e);t!==-1&&n.splice(t,1)}else n[0]===e&&this.#t.delete(t)}}this.notify({type:`removed`,mutation:e})}canRun(e){let t=zt(e);if(typeof t==`string`){let n=this.#t.get(t)?.find(e=>e.state.status===`pending`);return!n||n===e}else return!0}runNext(e){let t=zt(e);return typeof t==`string`?(this.#t.get(t)?.find(t=>t!==e&&t.state.isPaused))?.continue()??Promise.resolve():Promise.resolve()}clear(){U.batch(()=>{this.#e.forEach(e=>{this.notify({type:`removed`,mutation:e})}),this.#e.clear(),this.#t.clear()})}getAll(){return Array.from(this.#e)}find(e){let t={exact:!0,...e};return this.getAll().find(e=>tt(t,e))}findAll(e={}){return this.getAll().filter(t=>tt(e,t))}notify(e){U.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){let e=this.getAll().filter(e=>e.state.isPaused);return U.batch(()=>Promise.all(e.map(e=>e.continue().catch(Je))))}};function zt(e){return e.options.scope?.id}var Bt=class extends He{constructor(e={}){super(),this.config=e,this.#e=new Map}#e;build(e,t,n){let r=t.queryKey,i=t.queryHash??nt(r,t),a=this.get(i);return a||(a=new kt({client:e,queryKey:r,queryHash:i,options:e.defaultQueryOptions(t),state:n,defaultOptions:e.getQueryDefaults(r)}),this.add(a)),a}add(e){this.#e.has(e.queryHash)||(this.#e.set(e.queryHash,e),this.notify({type:`added`,query:e}))}remove(e){let t=this.#e.get(e.queryHash);t&&(e.destroy(),t===e&&this.#e.delete(e.queryHash),this.notify({type:`removed`,query:e}))}clear(){U.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#e.get(e)}getAll(){return[...this.#e.values()]}find(e){let t={exact:!0,...e};return this.getAll().find(e=>et(t,e))}findAll(e={}){let t=this.getAll();return Object.keys(e).length>0?t.filter(t=>et(e,t)):t}notify(e){U.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){U.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){U.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},Vt=class{#e;#t;#n;#r;#i;#a;#o;#s;constructor(e={}){this.#e=e.queryCache||new Bt,this.#t=e.mutationCache||new Rt,this.#n=e.defaultOptions||{},this.#r=new Map,this.#i=new Map,this.#a=0}mount(){this.#a++,this.#a===1&&(this.#o=Ue.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#s=Ct.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onOnline())}))}unmount(){this.#a--,this.#a===0&&(this.#o?.(),this.#o=void 0,this.#s?.(),this.#s=void 0)}isFetching(e){return this.#e.findAll({...e,fetchStatus:`fetching`}).length}isMutating(e){return this.#t.findAll({...e,status:`pending`}).length}getQueryData(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state.data}ensureQueryData(e){let t=this.defaultQueryOptions(e),n=this.#e.build(this,t),r=n.state.data;return r===void 0?this.fetchQuery(e):(e.revalidateIfStale&&n.isStaleByTime(Qe(t.staleTime,n))&&this.prefetchQuery(t),Promise.resolve(r))}getQueriesData(e){return this.#e.findAll(e).map(({queryKey:e,state:t})=>[e,t.data])}setQueryData(e,t,n){let r=this.defaultQueryOptions({queryKey:e}),i=this.#e.get(r.queryHash)?.state.data,a=Ye(t,i);if(a!==void 0)return this.#e.build(this,r).setData(a,{...n,manual:!0})}setQueriesData(e,t,n){return U.batch(()=>this.#e.findAll(e).map(({queryKey:e})=>[e,this.setQueryData(e,t,n)]))}getQueryState(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state}removeQueries(e){let t=this.#e;U.batch(()=>{t.findAll(e).forEach(e=>{t.remove(e)})})}resetQueries(e,t){let n=this.#e;return U.batch(()=>(n.findAll(e).forEach(e=>{e.reset()}),this.refetchQueries({type:`active`,...e},t)))}cancelQueries(e,t={}){let n={revert:!0,...t},r=U.batch(()=>this.#e.findAll(e).map(e=>e.cancel(n)));return Promise.all(r).then(Je).catch(Je)}invalidateQueries(e,t={}){return U.batch(()=>(this.#e.findAll(e).forEach(e=>{e.invalidate()}),e?.refetchType===`none`?Promise.resolve():this.refetchQueries({...e,type:e?.refetchType??e?.type??`active`},t)))}refetchQueries(e,t={}){let n={...t,cancelRefetch:t.cancelRefetch??!0},r=U.batch(()=>this.#e.findAll(e).filter(e=>!e.isDisabled()&&!e.isStatic()).map(e=>{let t=e.fetch(void 0,n);return n.throwOnError||(t=t.catch(Je)),e.state.fetchStatus===`paused`?Promise.resolve():t}));return Promise.all(r).then(Je)}fetchQuery(e){let t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);let n=this.#e.build(this,t);return n.isStaleByTime(Qe(t.staleTime,n))?n.fetch(t):Promise.resolve(n.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(Je).catch(Je)}fetchInfiniteQuery(e){return e.behavior=Nt(e.pages),this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(Je).catch(Je)}ensureInfiniteQueryData(e){return e.behavior=Nt(e.pages),this.ensureQueryData(e)}resumePausedMutations(){return Ct.isOnline()?this.#t.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#e}getMutationCache(){return this.#t}getDefaultOptions(){return this.#n}setDefaultOptions(e){this.#n=e}setQueryDefaults(e,t){this.#r.set(rt(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){let t=[...this.#r.values()],n={};return t.forEach(t=>{it(e,t.queryKey)&&Object.assign(n,t.defaultOptions)}),n}setMutationDefaults(e,t){this.#i.set(rt(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){let t=[...this.#i.values()],n={};return t.forEach(t=>{it(e,t.mutationKey)&&Object.assign(n,t.defaultOptions)}),n}defaultQueryOptions(e){if(e._defaulted)return e;let t={...this.#n.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||=nt(t.queryKey,t),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!==`always`),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode=`offlineFirst`),t.queryFn===ht&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...this.#n.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#e.clear(),this.#t.clear()}},W=i(),Ht=V.createContext(void 0),Ut=e=>{let t=V.useContext(Ht);if(e)return e;if(!t)throw Error(`No QueryClient set, use QueryClientProvider to set one`);return t},Wt=({client:e,children:t})=>(V.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),(0,W.jsx)(Ht.Provider,{value:e,children:t})),Gt=(0,V.createContext)({live:!1});function Kt(){return(0,V.useContext)(Gt)}function qt(e){let t=(0,H.c)(5),{children:n}=e,[r]=x(`features`,l),i;t[0]===r?i=t[1]:(i=()=>({live:new Set((r??``).split(`,`).map(Jt).filter(Boolean)).has(`live`)}),t[0]=r,t[1]=i);let[a]=(0,V.useState)(i),o;return t[2]!==n||t[3]!==a?(o=(0,W.jsx)(Gt.Provider,{value:a,children:n}),t[2]=n,t[3]=a,t[4]=o):o=t[4],o}function Jt(e){return e.trim().toLowerCase()}function Yt(e){return C({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M463.5 224l8.5 0c13.3 0 24-10.7 24-24l0-128c0-9.7-5.8-18.5-14.8-22.2s-19.3-1.7-26.2 5.2L413.4 96.6c-87.6-86.5-228.7-86.2-315.8 1c-87.5 87.5-87.5 229.3 0 316.8s229.3 87.5 316.8 0c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0c-62.5 62.5-163.8 62.5-226.3 0s-62.5-163.8 0-226.3c62.2-62.2 162.7-62.5 225.3-1L327 183c-6.9 6.9-8.9 17.2-5.2 26.2s12.5 14.8 22.2 14.8l119.5 0z`},child:[]}]})(e)}function Xt(e){return C({tag:`svg`,attr:{viewBox:`0 0 384 512`},child:[{tag:`path`,attr:{d:`M192 0c-41.8 0-77.4 26.7-90.5 64L64 64C28.7 64 0 92.7 0 128L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64l-37.5 0C269.4 26.7 233.8 0 192 0zm0 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM305 273L177 401c-9.4 9.4-24.6 9.4-33.9 0L79 337c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L271 239c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z`},child:[]}]})(e)}function Zt(e){return C({tag:`svg`,attr:{viewBox:`0 0 384 512`},child:[{tag:`path`,attr:{d:`M214.6 41.4c-12.5-12.5-32.8-12.5-45.3 0l-160 160c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L160 141.2 160 448c0 17.7 14.3 32 32 32s32-14.3 32-32l0-306.7L329.4 246.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-160-160z`},child:[]}]})(e)}function Qt(e){return C({tag:`svg`,attr:{viewBox:`0 0 448 512`},child:[{tag:`path`,attr:{d:`M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z`},child:[]}]})(e)}function $t(e){return C({tag:`svg`,attr:{viewBox:`0 0 448 512`},child:[{tag:`path`,attr:{d:`M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.2 288 416 288c17.7 0 32-14.3 32-32s-14.3-32-32-32l-306.7 0L214.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160z`},child:[]}]})(e)}function en(e){return C({tag:`svg`,attr:{viewBox:`0 0 384 512`},child:[{tag:`path`,attr:{d:`M169.4 470.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 370.8 224 64c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 306.7L54.6 265.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z`},child:[]}]})(e)}function tn(e){return C({tag:`svg`,attr:{viewBox:`0 0 576 512`},child:[{tag:`path`,attr:{d:`M215.03 71.05L126.06 160H24c-13.26 0-24 10.74-24 24v144c0 13.25 10.74 24 24 24h102.06l88.97 88.95c15.03 15.03 40.97 4.47 40.97-16.97V88.02c0-21.46-25.96-31.98-40.97-16.97zm233.32-51.08c-11.17-7.33-26.18-4.24-33.51 6.95-7.34 11.17-4.22 26.18 6.95 33.51 66.27 43.49 105.82 116.6 105.82 195.58 0 78.98-39.55 152.09-105.82 195.58-11.17 7.32-14.29 22.34-6.95 33.5 7.04 10.71 21.93 14.56 33.51 6.95C528.27 439.58 576 351.33 576 256S528.27 72.43 448.35 19.97zM480 256c0-63.53-32.06-121.94-85.77-156.24-11.19-7.14-26.03-3.82-33.12 7.46s-3.78 26.21 7.41 33.36C408.27 165.97 432 209.11 432 256s-23.73 90.03-63.48 115.42c-11.19 7.14-14.5 22.07-7.41 33.36 6.51 10.36 21.12 15.14 33.12 7.46C447.94 377.94 480 319.54 480 256zm-141.77-76.87c-11.58-6.33-26.19-2.16-32.61 9.45-6.39 11.61-2.16 26.2 9.45 32.61C327.98 228.28 336 241.63 336 256c0 14.38-8.02 27.72-20.92 34.81-11.61 6.41-15.84 21-9.45 32.61 6.43 11.66 21.05 15.8 32.61 9.45 28.23-15.55 45.77-45 45.77-76.88s-17.54-61.32-45.78-76.86z`},child:[]}]})(e)}function nn(e){return C({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M215.03 71.05L126.06 160H24c-13.26 0-24 10.74-24 24v144c0 13.25 10.74 24 24 24h102.06l88.97 88.95c15.03 15.03 40.97 4.47 40.97-16.97V88.02c0-21.46-25.96-31.98-40.97-16.97zM461.64 256l45.64-45.64c6.3-6.3 6.3-16.52 0-22.82l-22.82-22.82c-6.3-6.3-16.52-6.3-22.82 0L416 210.36l-45.64-45.64c-6.3-6.3-16.52-6.3-22.82 0l-22.82 22.82c-6.3 6.3-6.3 16.52 0 22.82L370.36 256l-45.63 45.63c-6.3 6.3-6.3 16.52 0 22.82l22.82 22.82c6.3 6.3 16.52 6.3 22.82 0L416 301.64l45.64 45.64c6.3 6.3 16.52 6.3 22.82 0l22.82-22.82c6.3-6.3 6.3-16.52 0-22.82L461.64 256z`},child:[]}]})(e)}function rn(e){return C({tag:`svg`,attr:{viewBox:`0 0 288 512`},child:[{tag:`path`,attr:{d:`M112 316.94v156.69l22.02 33.02c4.75 7.12 15.22 7.12 19.97 0L176 473.63V316.94c-10.39 1.92-21.06 3.06-32 3.06s-21.61-1.14-32-3.06zM144 0C64.47 0 0 64.47 0 144s64.47 144 144 144 144-64.47 144-144S223.53 0 144 0zm0 76c-37.5 0-68 30.5-68 68 0 6.62-5.38 12-12 12s-12-5.38-12-12c0-50.73 41.28-92 92-92 6.62 0 12 5.38 12 12s-5.38 12-12 12z`},child:[]}]})(e)}function an(e){return C({tag:`svg`,attr:{viewBox:`0 0 320 512`},child:[{tag:`path`,attr:{d:`M177 255.7l136 136c9.4 9.4 9.4 24.6 0 33.9l-22.6 22.6c-9.4 9.4-24.6 9.4-33.9 0L160 351.9l-96.4 96.4c-9.4 9.4-24.6 9.4-33.9 0L7 425.7c-9.4-9.4-9.4-24.6 0-33.9l136-136c9.4-9.5 24.6-9.5 34-.1zm-34-192L7 199.7c-9.4 9.4-9.4 24.6 0 33.9l22.6 22.6c9.4 9.4 24.6 9.4 33.9 0l96.4-96.4 96.4 96.4c9.4 9.4 24.6 9.4 33.9 0l22.6-22.6c9.4-9.4 9.4-24.6 0-33.9l-136-136c-9.2-9.4-24.4-9.4-33.8 0z`},child:[]}]})(e)}function on(e){return C({tag:`svg`,attr:{viewBox:`0 0 320 512`},child:[{tag:`path`,attr:{d:`M143 256.3L7 120.3c-9.4-9.4-9.4-24.6 0-33.9l22.6-22.6c9.4-9.4 24.6-9.4 33.9 0l96.4 96.4 96.4-96.4c9.4-9.4 24.6-9.4 33.9 0L313 86.3c9.4 9.4 9.4 24.6 0 33.9l-136 136c-9.4 9.5-24.6 9.5-34 .1zm34 192l136-136c9.4-9.4 9.4-24.6 0-33.9l-22.6-22.6c-9.4-9.4-24.6-9.4-33.9 0L160 352.1l-96.4-96.4c-9.4-9.4-24.6-9.4-33.9 0L7 278.3c-9.4 9.4-9.4 24.6 0 33.9l136 136c9.4 9.5 24.6 9.5 34 .1z`},child:[]}]})(e)}var sn={Button:`_Button_p0g82_2`,ButtonLabel:`_ButtonLabel_p0g82_37`,Icon:`_Icon_p0g82_85`,ButtonHint:`_ButtonHint_p0g82_92`,ButtonGroup:`_ButtonGroup_p0g82_97`,DestructiveActionButton:`_DestructiveActionButton_p0g82_141 _Button_p0g82_2`},cn={Button:`_Button_1xmvi_1 _Button_p0g82_2`,ClipboardIcon:`_ClipboardIcon_1xmvi_10`,showClipboardCheck:`_showClipboardCheck_1xmvi_1`,PinIcon:`_PinIcon_1xmvi_20`};function ln({position:e,quaternion:t}){let n=e=>parseFloat(e.toFixed(3));return`#c${`${n(e.x)},${n(e.y)},${n(e.z)}`}~${`${n(t.x)},${n(t.y)},${n(t.z)},${n(t.w)}`}`}function un(e){let t=(0,H.c)(12),{cameraRef:n,missionName:r,missionType:i,disabled:a}=e,{fogEnabled:o}=h(),[s,c]=(0,V.useState)(!1),l=(0,V.useRef)(null),u;t[0]!==n||t[1]!==o||t[2]!==r||t[3]!==i?(u=async()=>{l.current&&clearTimeout(l.current);let e=n.current;if(!e)return;let t=ln(e),a=new URLSearchParams,s=i?`${r}~${i}`:r;a.set(`mission`,s),a.set(`fog`,o.toString());let u=`${window.location.pathname}?${a}${t}`,d=`${window.location.origin}${u}`;window.history.replaceState(null,``,u);try{await navigator.clipboard.writeText(d),c(!0),l.current=setTimeout(()=>{c(!1)},1100)}catch(e){console.error(e)}},t[0]=n,t[1]=o,t[2]=r,t[3]=i,t[4]=u):u=t[4];let d=u,f=s?`true`:`false`,p,m,g;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,W.jsx)(rn,{className:cn.PinIcon}),m=(0,W.jsx)(Xt,{className:cn.ClipboardIcon}),g=(0,W.jsx)(`span`,{className:sn.ButtonLabel,children:` Link to coordinates`}),t[5]=p,t[6]=m,t[7]=g):(p=t[5],m=t[6],g=t[7]);let _;return t[8]!==a||t[9]!==d||t[10]!==f?(_=(0,W.jsxs)(`button`,{type:`button`,className:cn.Button,"aria-label":`Link to coordinates`,title:`Copy the current coordinates to URL`,onClick:d,disabled:a,"data-copied":f,id:`copyCoordinatesButton`,children:[p,m,g]}),t[8]=a,t[9]=d,t[10]=f,t[11]=_):_=t[11],_}function dn(e){return C({tag:`svg`,attr:{viewBox:`0 0 24 24`},child:[{tag:`path`,attr:{fill:`none`,d:`M0 0h24v24H0V0z`},child:[]},{tag:`path`,attr:{d:`M21 3H3c-1.11 0-2 .89-2 2v12a2 2 0 0 0 2 2h5v2h8v-2h5c1.1 0 1.99-.9 1.99-2L23 5a2 2 0 0 0-2-2zm0 14H3V5h18v12zm-5-6-7 4V7z`},child:[]}]})(e)}function fn(e){return C({tag:`svg`,attr:{viewBox:`0 0 24 24`},child:[{tag:`path`,attr:{fill:`none`,d:`M0 0h24v24H0z`},child:[]},{tag:`path`,attr:{d:`m18.89 14.75-4.09-2.04c-.28-.14-.58-.21-.89-.21H13v-6c0-.83-.67-1.5-1.5-1.5S10 5.67 10 6.5v10.74l-3.25-.74a.99.99 0 0 0-.92.28l-.83.84 4.54 4.79c.38.38 1.14.59 1.67.59h6.16c1 0 1.84-.73 1.98-1.72l.63-4.46c.12-.85-.32-1.68-1.09-2.07z`},child:[]},{tag:`path`,attr:{d:`M20.13 3.87C18.69 2.17 15.6 1 12 1S5.31 2.17 3.87 3.87L2 2v5h5L4.93 4.93c1-1.29 3.7-2.43 7.07-2.43s6.07 1.14 7.07 2.43L17 7h5V2l-1.87 1.87z`},child:[]}]})(e)}var pn=F(e=>({events:null,scanProgress:null,setEvents(t){e({events:t})},setScanProgress(t){e({scanProgress:t})},reset(){e({events:null,scanProgress:null})}}));function mn(e,t){return P(pn,e,t)}var hn=I(`relayClient`),gn=class{ws=null;handlers;url;_connected=!1;wsPingInterval=null;smoothedWsPing=0;constructor(e,t){this.url=e,this.handlers=t}get connected(){return this._connected}connect(){this.ws=new WebSocket(this.url),this.ws.binaryType=`arraybuffer`,this.ws.onopen=()=>{hn.info(`WebSocket connected to %s`,this.url),this._connected=!0,this.startWsPing(),this.handlers.onOpen?.()},this.ws.onmessage=e=>{if(e.data instanceof ArrayBuffer)this.handlers.onGamePacket?.(new Uint8Array(e.data));else try{let t=JSON.parse(e.data);this.handleMessage(t)}catch(e){hn.error(`Failed to parse relay message: %o`,e)}},this.ws.onclose=()=>{hn.info(`WebSocket disconnected`),this._connected=!1,this.stopWsPing(),this.handlers.onClose?.()},this.ws.onerror=()=>{hn.error(`WebSocket error`),this.handlers.onError?.(`WebSocket connection error`)}}handleMessage(e){switch(e.type){case`serverList`:this.handlers.onServerList?.(e.servers);break;case`status`:this.handlers.onStatus?.(e.status,e.message,e.connectSequence,e.mapName);break;case`ping`:this.handlers.onPing?.(e.ms);break;case`wsPong`:{let t=Date.now()-e.ts;this.smoothedWsPing=this.smoothedWsPing===0?t:this.smoothedWsPing*.5+t*.5,this.handlers.onWsPing?.(Math.round(this.smoothedWsPing));break}case`error`:this.handlers.onError?.(e.message);break}}listServers(){this.send({type:`listServers`})}sendWsPing(){this.send({type:`wsPing`,ts:Date.now()})}joinServer(e,t){hn.info(`Joining server: %s`,e),this.send({type:`joinServer`,address:e,warriorName:t})}sendAuthEvent(e,t){this.send({type:`sendCommand`,command:e,args:t})}sendCommand(e,t){this.send({type:`sendCommand`,command:e,args:t})}sendCRCResponse(e,t,n){this.send({type:`sendCRCResponse`,crcValue:e,field1:t,field2:n})}sendCRCCompute(e,t,n,r){this.send({type:`sendCRCCompute`,seed:e,field2:t,includeTextures:r,datablocks:n})}sendGhostAck(e,t){this.send({type:`sendGhostAck`,sequence:e,ghostCount:t})}sendMoves(e,t){this.send({type:`sendMoves`,moves:e,moveStartIndex:t})}close(){this.stopWsPing(),this.ws&&=(this.ws.close(),null),this._connected=!1}startWsPing(){this.smoothedWsPing=0,this.send({type:`wsPing`,ts:Date.now()}),this.wsPingInterval=setInterval(()=>{this.send({type:`wsPing`,ts:Date.now()})},7e3)}stopWsPing(){this.wsPingInterval!=null&&(clearInterval(this.wsPingInterval),this.wsPingInterval=null)}send(e){this.ws?.readyState===WebSocket.OPEN?this.ws.send(JSON.stringify(e)):hn.warn(`send dropped (ws not open): %s`,e.type)}},_n=256,vn=_n/2,yn=2048,bn=null;function xn(e){bn=e}function Sn(e,t){return bn?bn(e,t):null}function Cn(e,t){return(n,r)=>{let i=n/t+vn,a=r/t+vn,o=Math.max(0,Math.min(_n-1,i)),s=Math.max(0,Math.min(_n-1,a)),c=Math.floor(o),l=Math.floor(s),u=Math.min(c+1,_n-1),d=Math.min(l+1,_n-1),f=o-c,p=s-l,m=e[l*_n+c],h=e[l*_n+u],g=e[d*_n+c],_=e[d*_n+u],v=m*(1-f)+h*f,y=g*(1-f)+_*f;return(v*(1-p)+y*p)/65535*yn}}var wn=I(`StreamEngine`),Tn=class{registry;ghostTracker;entities=new Map;entityIdByGhostIndex=new Map;tickCount=0;camera=null;chatMessages=[];chatMessageIdCounter=0;_chatGen=0;_chatSnapshotGen=-1;_chatSnapshot=[];audioEvents=[];netStrings=new Map;targetNames=new Map;targetTeams=new Map;targetRenderFlags=new Map;pendingNameTags=new Map;sensorGroupColors=new Map;playerSensorGroup=0;lastStatus={health:1,energy:1};latestControl={ghostIndex:-1};controlPlayerGhostId;lastControlType=`camera`;isPiloting=!1;lastPilotGhostIndex;lastVehicleHeading=0;lastVehiclePitch=0;lastVehicleOrbitDir;lastVehicleVelocity;lastVehiclePosTime=0;lastVehiclePos;firstPerson=!0;lastCameraMode;lastOrbitGhostIndex;lastOrbitDistance;latestFov=90;weaponsHud={slots:new Map,activeIndex:-1};backpackHud={packIndex:-1,active:!1,text:``};inventoryHud={slots:new Map,activeSlot:-1};teamScores=[];playerRoster=new Map;clockAnchorStreamSec=null;clockDurationMs=0;missionDisplayName=null;missionTypeDisplayName=null;gameClassName=null;serverDisplayName=null;connectedPlayerName=null;connectedClientId=null;onMissionInfoChange;nextExplosionId=0;resolveGhostClassName(e,t){if(typeof t==`number`){let e=this.registry.getGhostParser(t)?.name;if(e)return e}let n=this.entityIdByGhostIndex.get(e);if(n){let e=this.entities.get(n);if(e?.className)return e.className}let r=this.ghostTracker.getGhost(e);if(r?.className)return r.className}resolveEntityIdForGhostIndex(e){let t=this.entityIdByGhostIndex.get(e);if(t)return t;let n=this.ghostTracker.getGhost(e);if(n)return ae(n.className,e)}resetSharedState(){this.entities.clear(),this.entityIdByGhostIndex.clear(),this.tickCount=0,this.camera=null,this.chatMessages=[],this.chatMessageIdCounter=0,this._chatGen=0,this._chatSnapshotGen=-1,this._chatSnapshot=[],this.audioEvents=[],this.netStrings.clear(),this.targetNames.clear(),this.targetTeams.clear(),this.targetRenderFlags.clear(),this.sensorGroupColors.clear(),this.playerSensorGroup=0,this.lastStatus={health:1,energy:1},this.latestControl={ghostIndex:-1},this.controlPlayerGhostId=void 0,this.lastControlType=`camera`,this.isPiloting=!1,this.lastPilotGhostIndex=void 0,this.lastVehicleHeading=0,this.lastVehiclePitch=0,this.lastVehicleOrbitDir=void 0,this.lastVehicleVelocity=void 0,this.lastVehiclePosTime=0,this.lastVehiclePos=void 0,this.firstPerson=!0,this.lastCameraMode=void 0,this.lastOrbitGhostIndex=void 0,this.lastOrbitDistance=void 0,this.latestFov=90,this.weaponsHud={slots:new Map,activeIndex:-1},this.backpackHud={packIndex:-1,active:!1,text:``},this.inventoryHud={slots:new Map,activeSlot:-1},this.teamScores=[],this.playerRoster.clear(),this.clockAnchorStreamSec=null,this.clockDurationMs=0,this.nextExplosionId=0,this.missionDisplayName=null,this.missionTypeDisplayName=null,this.gameClassName=null,this.serverDisplayName=null}resolveNetString(e){if(e.length>=2&&e.charCodeAt(0)===1){let t=parseInt(e.slice(1),10);if(Number.isFinite(t))return this.netStrings.get(t)??e}return e}formatRemoteArgs(e,t){let n=this.resolveNetString(e);for(let e=0;e0&&(this.playerSensorGroup=t.sensorGroup)}if(t){let e=ue(t);if(e&&(this.lastControlType=e),this.lastControlType===`player`)this.isPiloting=!!(t.pilot||t.controlObjectGhost!=null),this.isPiloting&&typeof t.controlObjectGhost==`number`?this.lastPilotGhostIndex=t.controlObjectGhost:this.isPiloting||(this.lastPilotGhostIndex=void 0,this.lastVehicleHeading=0,this.lastVehiclePitch=0,this.lastVehicleOrbitDir=void 0,this.lastVehicleVelocity=void 0,this.lastVehiclePosTime=0,this.lastVehiclePos=void 0);else if(this.isPiloting=!1,typeof t.cameraMode==`number`)if(this.lastCameraMode=t.cameraMode,t.cameraMode===3){typeof t.orbitObjectGhostIndex==`number`&&(this.lastOrbitGhostIndex=t.orbitObjectGhostIndex);let e=t.minOrbitDist,n=t.maxOrbitDist,r=t.curOrbitDist;typeof e==`number`&&typeof n==`number`&&Number.isFinite(e)&&Number.isFinite(n)?this.lastOrbitDistance=Math.max(0,n-e):typeof r==`number`&&Number.isFinite(r)&&(this.lastOrbitDistance=Math.max(0,r))}else this.lastOrbitGhostIndex=void 0,this.lastOrbitDistance=void 0}e.cameraFov!==void 0&&(this.latestFov=e.cameraFov)}processEvent(e,t){let n=e.parsedData;if(!n)return;let r=n.type;if(r===`GhostAlwaysObjectEvent`){let e=n.ghostIndex,t=n.classId,r=n.objectData,i=n._hasObjectData,a=typeof t==`number`?this.registry.getGhostParser(t)?.name??`classId=${t}`:`?`;wn.debug(`GhostAlwaysObjectEvent: ghost=%d class=%s hasData=%s %s`,e,a,i,r?`keys=[${Object.keys(r).join(`,`)}]`:`(no data)`),e!=null&&t!=null&&this.processGhostUpdate({index:e,type:`create`,classId:t,parsedData:r});return}if(r===`NetStringEvent`||t===`NetStringEvent`){let e=n.id,t=n.value;if(e!=null&&typeof t==`string`){this.netStrings.set(e,t);let n=this.pendingNameTags.get(e);if(n!=null){this.pendingNameTags.delete(e);let r=B(t).trim();this.targetNames.set(n,r);for(let e of this.entities.values())e.targetId===n&&(e.playerName=r)}}return}if(r===`TargetInfoEvent`||t===`TargetInfoEvent`){let e=n.targetId,t=n.nameTag;if(e!=null&&t!=null){let n=this.netStrings.get(t);n?this.targetNames.set(e,B(n).trim()):this.pendingNameTags.set(t,e)}let r=n.sensorGroup;e!=null&&r!=null&&this.targetTeams.set(e,r);let i=n.renderFlags;if(e!=null&&i!=null&&this.targetRenderFlags.set(e,i),e!=null){let t=this.targetNames.get(e),n=this.targetTeams.get(e),r=this.targetRenderFlags.get(e);for(let i of this.entities.values())i.targetId===e&&(t&&(i.playerName=t),n!=null&&(i.sensorGroup=n),r!=null&&(i.targetRenderFlags=r))}return}if(r===`SetSensorGroupEvent`||t===`SetSensorGroupEvent`){let e=n.sensorGroup;e!=null&&(this.playerSensorGroup=e);return}if(r===`SensorGroupColorEvent`||t===`SensorGroupColorEvent`){let e=n.sensorGroup,t=n.colors;if(t){let n=this.sensorGroupColors.get(e);n||(n=new Map,this.sensorGroupColors.set(e,n));for(let e of t)e.default?n.delete(e.index):n.set(e.index,{r:e.r??0,g:e.g??0,b:e.b??0})}return}if(r===`RemoteCommandEvent`||t===`RemoteCommandEvent`){let e=this.resolveNetString(n.funcName),t=n.args,r=this.getTimeSec();if(e===`ChatMessage`&&t.length>=4){let e=ge(this.resolveNetString(t[3])),n=t[4]?B(this.resolveNetString(t[4])):``,i=this.formatRemoteArgs(t[3],t.slice(4));if(i){let a=i.indexOf(`: `),{text:o,wavPath:s}=be(a>=0?i.slice(a+2):i),c,l;if(s){let e=this.resolveNetString(t[1]);c=e?`voice/${e}/${s}.wav`:s;let n=this.resolveNetString(t[2]);if(n){let e=parseFloat(n);Number.isFinite(e)&&(l=Math.max(.5,Math.min(2,e)))}}let u=e??0;this.pushChatMessage({timeSec:r,sender:n,text:o,kind:`chat`,colorCode:u,segments:[{text:n?`${n}: ${o}`:o,colorCode:u}],soundPath:c,soundPitch:l})}}else if(e===`CannedChatMessage`&&t.length>=6){let e=ge(this.resolveNetString(t[1])),n=B(this.resolveNetString(t[2])),i=B(this.resolveNetString(t[4])),a=this.formatRemoteArgs(t[1],t.slice(2));if(a){let{wavPath:o}=be(a),s=be(B(this.resolveNetString(t[3]))).text,c,l;if(o){let e=this.resolveNetString(t[5]);if(c=e?`voice/${e}/${o}.wav`:o,t[6]){let e=parseFloat(this.resolveNetString(t[6]));Number.isFinite(e)&&(l=Math.max(.5,Math.min(2,e)))}}let u=e??0,d=[];i&&d.push({text:`[${i}] `,colorCode:0}),d.push({text:n?`${n}: ${s}`:s,colorCode:u}),this.pushChatMessage({timeSec:r,sender:n,text:s,kind:`chat`,colorCode:u,segments:d,soundPath:c,soundPitch:l})}}else if(e===`ServerMessage`&&t.length>=2){this.handleServerMessage(t);let e=ge(this.resolveNetString(t[1])),n=this.formatRemoteArgs(t[1],t.slice(2));if(n){let{text:t,wavPath:i}=be(n),a=e??0;this.pushChatMessage({timeSec:r,sender:``,text:t,kind:`server`,colorCode:a,segments:[{text:t,colorCode:a}],soundPath:i??void 0})}}else this.handleHudRemoteCommand(e,t);return}if(r===`Sim3DAudioEvent`||r===`Sim2DAudioEvent`||t===`Sim3DAudioEvent`||t===`Sim2DAudioEvent`){let e=n.profileId;if(typeof e==`number`){let i=this.getTimeSec(),a=r===`Sim3DAudioEvent`||t===`Sim3DAudioEvent`?n.position:void 0;this.audioEvents.push({profileId:e,position:a,timeSec:i}),this.audioEvents.length>100&&this.audioEvents.splice(0,this.audioEvents.length-100)}}}processGhostUpdate(e){let t=e.index,n=this.entityIdByGhostIndex.get(t);if(n){let t=this.entities.get(n);t&&t.type===`Projectile`&&!t.hasExploded&&t.explosionDataBlockId!=null&&t.position&&(e.type===`delete`||e.type===`create`)&&this.spawnExplosion(t,[...t.position])}if(e.type===`delete`){n&&(this.removeSoundSlotEntities(n),this.entities.delete(n),this.entityIdByGhostIndex.delete(t));return}let r=this.resolveGhostClassName(t,e.classId);if(!r){if(e.type===`create`)throw Error(`No ghost parser for classId ${e.classId} (ghost index ${t})`);return}let i=ae(r,t);n&&n!==i&&(this.removeSoundSlotEntities(n),this.entities.delete(n));let a,o=this.entities.get(i);if(o&&e.type===`create`?(this.removeSoundSlotEntities(i),o.spawnTick=this.tickCount,this.resetEntity(o),a=o):o?a=o:(a={id:i,ghostIndex:t,className:r,spawnTick:this.tickCount,type:se(r),rotation:[0,0,0,1]},this.entities.set(i,a)),a.ghostIndex=t,a.className=r,a.type=se(r),this.entityIdByGhostIndex.set(t,i),this.applyGhostData(a,e.parsedData),e.type===`create`&&e.parsedData){let n=Ae(r,t,e.parsedData);n&&(a.sceneData=n)}}resetEntity(e){e.rotation=[0,0,0,1],e.hasExploded=void 0,e.explosionShape=void 0,e.explosionLifetimeTicks=void 0,e.faceViewer=void 0,e.simulatedVelocity=void 0,e.projectilePhysics=void 0,e.gravityMod=void 0,e.direction=void 0,e.velocity=void 0,e.position=void 0,e.dataBlock=void 0,e.dataBlockId=void 0,e.shapeHint=void 0,e.visual=void 0,e.targetId=void 0,e.targetRenderFlags=void 0,e.carryingFlag=void 0,e.sensorGroup=void 0,e.playerName=void 0,e.weaponShape=void 0,e.packShape=void 0,e.falling=void 0,e.jetting=void 0,e.weaponImageState=void 0,e.weaponImageStates=void 0,e.weaponImageStatesDbId=void 0,e.itemPhysics=void 0,e.threads=void 0,e.headPitch=void 0,e.headYaw=void 0,e.health=void 0,e.energy=void 0,e.maxEnergy=void 0,e.damageState=void 0,e.actionAnim=void 0,e.actionAtEnd=void 0,e.armAction=void 0,e.explosionDataBlockId=void 0,e.maintainEmitterId=void 0}applyGhostData(e,t){if(!t)return;let n=t,r=n.dataBlockId;if(r!=null){e.dataBlockId=r;let t=this.getDataBlockData(r),i=ye(e.className,t);if(e.visual=me(e.className,t)??he(e.className,t),typeof i==`string`&&(e.shapeHint=i,e.dataBlock=i),t&&`emap`in t&&(e.emap=!!t.emap),e.type===`Player`&&typeof t?.maxEnergy==`number`&&(e.maxEnergy=t.maxEnergy),e.type===`Projectile`&&(le.has(e.className)?e.projectilePhysics=`linear`:De.has(e.className)?(e.projectilePhysics=`ballistic`,e.gravityMod=Ce(t,[`gravityMod`])??1):oe.has(e.className)&&(e.projectilePhysics=`seeker`)),e.type===`Projectile`&&e.explosionDataBlockId==null){let t=this.resolveExplosionInfo(r);t&&(e.explosionShape=t.shape,e.faceViewer=t.faceViewer,e.explosionLifetimeTicks=t.lifetimeTicks,e.explosionDataBlockId=t.explosionDataBlockId)}if(e.type===`Projectile`&&e.maintainEmitterId==null){let n=t?.baseEmitter;typeof n==`number`&&n>0&&(e.maintainEmitterId=n)}if(e.className===`WheeledVehicle`&&typeof t?.maxSteeringAngle==`number`&&(e.maxSteeringAngle=t.maxSteeringAngle),e.className===`ForceFieldBare`&&t){let r=t.color1,i=[];for(let e=0;e<5;e++){let n=t[`texture${e}`];n&&i.push(n)}let a=n.scale;e.forceFieldData={textures:i,color:r?[r.r,r.g,r.b]:[1,1,1],baseTranslucency:t.baseTranslucency??1,dimensions:a?[a.y,a.z,a.x]:[1,1,1],framesPerSec:t.framesPerSec??1,scrollSpeed:t.scrollSpeed??0,umapping:t.umapping??1,vmapping:t.vmapping??1}}}if(Array.isArray(n.wheels)){let t=n.wheels;if(!e.wheels||e.wheels.length!==t.length)e.wheels=t.map(e=>({speed:e.avel,lateralSlip:e.Dx,longitudinalSlip:e.Dy}));else for(let n=0;n0){let n=t.find(e=>e.index===0);if(n?.dataBlockId&&n.dataBlockId>0){let t=this.getDataBlockData(n.dataBlockId),r=ye(`ShapeBaseImageData`,t);if(r){let n=t?.mountPoint;(n==null||n<=0)&&!/pack_/i.test(r)&&(e.weaponShape=r)}let i=e.weaponImageState;e.weaponImageState={dataBlockId:n.dataBlockId,triggerDown:n.triggerDown??i?.triggerDown??!1,ammo:n.ammo??i?.ammo??!0,loaded:n.loaded??i?.loaded??!0,target:n.target??i?.target??!1,wet:n.wet??i?.wet??!1,fireCount:n.fireCount??i?.fireCount??0},t&&e.weaponImageStatesDbId!==n.dataBlockId&&(e.weaponImageStates=pe(t),e.weaponImageStatesDbId=n.dataBlockId)}else n&&!n.dataBlockId&&(e.weaponShape=void 0,e.weaponImageState=void 0,e.weaponImageStates=void 0);let r=t.find(e=>e.index===2);if(r?.dataBlockId&&r.dataBlockId>0){let t=ye(`ShapeBaseImageData`,this.getDataBlockData(r.dataBlockId));t&&(e.packShape=t)}else r&&!r.dataBlockId&&(e.packShape=void 0);let i=t.find(e=>e.index===3);if(i?.dataBlockId&&i.dataBlockId>0){e.carryingFlag=!0;let t=ye(`ShapeBaseImageData`,this.getDataBlockData(i.dataBlockId));if(t&&(e.flagShape=t),e.targetId!=null&&e.targetId>=0){let t=this.targetRenderFlags.get(e.targetId)??0,n=t|2;n!==t&&(this.targetRenderFlags.set(e.targetId,n),e.targetRenderFlags=n)}}else if(i&&!i.dataBlockId&&(e.carryingFlag=!1,e.flagShape=void 0,e.targetId!=null&&e.targetId>=0)){let t=this.targetRenderFlags.get(e.targetId)??0,n=t&-3;n!==t&&(this.targetRenderFlags.set(e.targetId,n),e.targetRenderFlags=n)}}}let i=ve(n.position)?n.position:ve(n.initialPosition)?n.initialPosition:ve(n.explodePosition)?n.explodePosition:ve(n.endPoint)?n.endPoint:ve(n.transform?.position)?n.transform.position:void 0;i&&(e.position=[i.x,i.y,i.z],this.updateSoundSlotPositions(e));let a=Te(n.direction)?n.direction:void 0;if(a&&(e.direction=[a.x,a.y,a.z]),e.type===`Player`&&typeof n.rotationZ==`number`&&(e.rotation=xe(n.rotationZ)),e.type===`Player`&&(typeof n.headX==`number`&&(e.headPitch=n.headX),typeof n.headZ==`number`&&(e.headYaw=n.headZ)),fe(n.angPosition)){let t=de(n.angPosition);t&&(e.rotation=t)}else if(fe(n.transform?.rotation)){let t=de(n.transform.rotation);t&&(e.rotation=t)}else if(e.type===`Item`&&typeof n.rotation?.angle==`number`){let t=n.rotation;e.rotation=xe((t.zSign??1)*t.angle)}else if(e.type===`Projectile`){let t=n.velocity??n.direction??(ve(n.initialPosition)&&ve(n.endPos)?{x:n.endPos.x-n.initialPosition.x,y:n.endPos.y-n.initialPosition.y,z:n.endPos.z-n.initialPosition.z}:void 0);Te(t)&&(t.x!==0||t.y!==0)&&(e.rotation=xe(Math.atan2(t.x,t.y)))}if(Te(n.velocity)&&(e.velocity=[n.velocity.x,n.velocity.y,n.velocity.z],e.direction||=[n.velocity.x,n.velocity.y,n.velocity.z]),typeof n.moveFlag0==`boolean`&&(e.falling=n.moveFlag0),typeof n.moveFlag1==`boolean`&&(e.jetting=n.moveFlag1),e.type===`Item`){let t=n.atRest;if(t===!1&&Te(n.velocity)){let t=n.velocity;e.itemPhysics={velocity:[t.x,t.y,t.z],atRest:!1},wn.debug(`Item %s (%s): atRest=false pos=%s vel=%s`,e.id,e.shapeHint??e.dataBlock??`db#${e.dataBlockId}`,n.position?`${n.position.x.toFixed(1)},${n.position.y.toFixed(1)},${n.position.z.toFixed(1)}`:`none`,`${t.x.toFixed(1)},${t.y.toFixed(1)},${t.z.toFixed(1)}`)}else t===!0&&(wn.debug(`Item %s (%s): atRest=true pos=%s`,e.id,e.shapeHint??e.dataBlock??`db#${e.dataBlockId}`,e.position?`${e.position[0].toFixed(1)},${e.position[1].toFixed(1)},${e.position[2].toFixed(1)}`:`none`),e.itemPhysics=void 0)}if(e.projectilePhysics){if(e.projectilePhysics===`linear`){let t=Ce(e.dataBlockId==null?void 0:this.getDataBlockData(e.dataBlockId),[`dryVelocity`,`muzzleVelocity`,`bulletVelocity`])??80,r=e.direction??[0,1,0],i=r[0]*t,a=r[1]*t,o=r[2]*t,s=n.excessVel,c=n.excessDir;typeof s==`number`&&s>0&&Te(c)&&(i+=c.x*s,a+=c.y*s,o+=c.z*s),e.simulatedVelocity=[i,a,o]}else Te(n.velocity)&&(e.simulatedVelocity=[n.velocity.x,n.velocity.y,n.velocity.z]);let t=n.currTick;if(typeof t==`number`&&t>0&&e.simulatedVelocity&&e.position){let n=32/1e3*t,r=e.simulatedVelocity;if(e.position[0]+=r[0]*n,e.position[1]+=r[1]*n,e.position[2]+=r[2]*n,e.projectilePhysics===`ballistic`){let t=-9.81*(e.gravityMod??1);e.position[2]+=.5*t*n*n,r[2]+=t*n}}}let o=ve(n.explodePosition)?n.explodePosition:ve(n.explodePoint)?n.explodePoint:void 0;if(e.type===`Projectile`&&!e.hasExploded&&o&&e.explosionDataBlockId!=null&&this.spawnExplosion(e,[o.x,o.y,o.z]),typeof n.damageLevel==`number`&&(e.health=Se(1-n.damageLevel,0,1)),typeof n.damageState==`number`&&(e.damageState=n.damageState),typeof n.action==`number`&&(e.actionAnim=n.action,e.actionAtEnd=!!n.actionAtEnd),typeof n.armAction==`number`&&(e.armAction=n.armAction),Array.isArray(n.threads)){let t=n.threads;if(e.threads){let n=[...e.threads];for(let e of t){let t=n.findIndex(t=>t.index===e.index);t>=0?n[t]=e:n.push(e)}e.threads=n}else e.threads=t}if(typeof n.energy==`number`&&(e.energy=Se(n.energy,0,1)),typeof n.targetId==`number`){e.targetId=n.targetId;let t=this.targetNames.get(n.targetId);t&&(e.playerName=t);let r=this.targetTeams.get(n.targetId);r!=null&&(e.sensorGroup=r,e.ghostIndex===this.latestControl.ghostIndex&&this.lastControlType===`player`&&(this.playerSensorGroup=r));let i=this.targetRenderFlags.get(n.targetId);i!=null&&(e.targetRenderFlags=i)}let s=n.sounds;Array.isArray(s)&&this.syncSoundSlotEntities(e,s),e.className===`WayPoint`&&typeof n.name==`string`&&(e.label=n.name),e.className===`AudioEmitter`&&(typeof n.filename==`string`&&(e.audioFileName=n.filename),typeof n.volume==`number`&&(e.audioVolume=n.volume),typeof n.is3D==`boolean`&&(e.audioIs3D=n.is3D),typeof n.isLooping==`boolean`&&(e.audioIsLooping=n.isLooping),typeof n.minDistance==`number`&&(e.audioMinDistance=n.minDistance),typeof n.maxDistance==`number`&&(e.audioMaxDistance=n.maxDistance),typeof n.minLoopGap==`number`&&(e.audioMinLoopGap=n.minLoopGap),typeof n.maxLoopGap==`number`&&(e.audioMaxLoopGap=n.maxLoopGap))}syncSoundSlotEntities(e,t){for(let n of t){let t=`${e.id}:sound:${n.index}`;if(n.playing&&typeof n.profileId==`number`){let r=this.getDataBlockData(n.profileId),i=r?.filename;if(!i)continue;let a=i.endsWith(`.wav`)?i:`${i}.wav`,o=r.description,s=o==null?void 0:this.getDataBlockData(o),c=this.entities.get(t);c?c.position=e.position:this.entities.set(t,{id:t,ghostIndex:e.ghostIndex,className:`AudioEmitter`,type:`AudioEmitter`,spawnTick:this.tickCount,position:e.position,rotation:[0,0,0,1],audioFileName:a,audioVolume:s?.volume??1,audioIs3D:s?.is3D??!0,audioIsLooping:s?.isLooping??!1,audioMinDistance:s?.referenceDistance??20,audioMaxDistance:s?.maxDistance??100,audioMinLoopGap:s?.minLoopGap??0,audioMaxLoopGap:s?.maxLoopGap??0})}else this.entities.delete(t)}}updateSoundSlotPositions(e){for(let t=0;t<4;t++){let n=this.entities.get(`${e.id}:sound:${t}`);n&&(n.position=e.position)}}removeSoundSlotEntities(e){for(let t=0;t<4;t++)this.entities.delete(`${e}:sound:${t}`)}resolveExplosionInfo(e){let t=this.getDataBlockData(e);if(!t)return;let n=t.explosion;if(n==null)return;let r=this.getDataBlockData(n);if(!r)return;let i=r.dtsFileName||void 0,a=r.lifetimeMS??31;return{shape:i,faceViewer:r.faceViewer!==!1&&r.faceViewer!==0,lifetimeTicks:a,explosionDataBlockId:n}}spawnExplosion(e,t){e.hasExploded=!0;let n=e.explosionLifetimeTicks??31,r=`fx_${this.nextExplosionId++}`,i={id:r,ghostIndex:-1,className:`Explosion`,spawnTick:this.tickCount,type:`Explosion`,dataBlock:e.explosionShape,explosionDataBlockId:e.explosionDataBlockId,position:t,rotation:[0,0,0,1],isExplosion:!0,faceViewer:e.faceViewer!==!1,expiryTick:this.tickCount+n};if(this.entities.set(r,i),e.explosionDataBlockId!=null){let n=this.getDataBlockData(e.explosionDataBlockId)?.subExplosions;if(Array.isArray(n))for(let e of n){if(e==null)continue;let n=this.getDataBlockData(e);if(!n)continue;let r=n.dtsFileName||void 0,i=n.lifetimeMS??31,a=n.offset??0,o=Math.random()*Math.PI*2,s=[t[0]+Math.cos(o)*a,t[1]+Math.sin(o)*a,t[2]],c=`fx_${this.nextExplosionId++}`,l={id:c,ghostIndex:-1,className:`Explosion`,spawnTick:this.tickCount,type:`Explosion`,dataBlock:r,explosionDataBlockId:e,position:s,rotation:[0,0,0,1],isExplosion:!0,faceViewer:n.faceViewer!==!1&&n.faceViewer!==0,expiryTick:this.tickCount+i};this.entities.set(c,l)}}e.position=void 0,e.simulatedVelocity=void 0}advanceProjectiles(){let e=32/1e3;for(let t of this.entities.values()){if(!t.simulatedVelocity||!t.position)continue;let n=t.simulatedVelocity,r=t.position;t.projectilePhysics===`ballistic`&&(n[2]+=-9.81*(t.gravityMod??1)*e),r[0]+=n[0]*e,r[1]+=n[1]*e,r[2]+=n[2]*e,(n[0]!==0||n[1]!==0)&&(t.rotation=xe(Math.atan2(n[0],n[1])))}}advanceItems(){let e=32/1e3;for(let t of this.entities.values()){let n=t.itemPhysics;if(!n||n.atRest||!t.position)continue;let r=n.velocity,i=t.position;r[2]+=-20*e,i[0]+=r[0]*e,i[1]+=r[1]*e,i[2]+=r[2]*e;let a=Sn(i[0],i[1]);if(a!=null&&i[2]0){let e=Math.max(0,1-t/o);r[0]*=e,r[1]*=e}r[2]=e*.2,Math.sqrt(r[0]*r[0]+r[1]*r[1]+r[2]*r[2])<.15&&(r[0]=r[1]=r[2]=0,n.atRest=!0)}i[2]<-1e3&&(n.atRest=!0)}}removeExpiredExplosions(){for(let[e,t]of this.entities)t.isExplosion&&t.expiryTick!=null&&this.tickCount>=t.expiryTick&&this.entities.delete(e)}updateCameraAndHud(){let e=this.latestControl,t=this.getTimeSec(),n=e.data,r=this.lastControlType;if(this.removeExpiredExplosions(),e.position){let{yaw:i,pitch:a}=this.getCameraYawPitch(n);if(this.isPiloting){if(n){let e=n.controlObjectData?.angPosition;if(e&&typeof e.w==`number`){this.lastVehicleHeading=Ee(e),this.lastVehiclePitch=ke(e);let t=de(e);if(t){let[e,n,r,i]=t,a=1-2*(n*n+r*r),o=2*(e*n+r*i),s=2*(e*r-n*i);this.lastVehicleOrbitDir=[-a,-o,-s]}}}i=this.lastVehicleHeading,a=this.lastVehiclePitch}if(this.camera={time:t,position:[e.position.x,e.position.y,e.position.z],rotation:Oe(i,Se(a,-we,we)),fov:this.latestFov,mode:`observer`,yaw:i,pitch:a},r===`camera`)if((typeof n?.cameraMode==`number`?n.cameraMode:this.lastCameraMode)===3){this.camera.mode=`third-person`,typeof this.lastOrbitDistance==`number`&&(this.camera.orbitDistance=this.lastOrbitDistance);let e=typeof n?.orbitObjectGhostIndex==`number`?n.orbitObjectGhostIndex:this.lastOrbitGhostIndex;typeof e==`number`&&e>=0&&(this.camera.orbitTargetId=this.resolveEntityIdForGhostIndex(e))}else this.camera.mode=`observer`;else e.ghostIndex>=0&&(this.controlPlayerGhostId=this.resolveEntityIdForGhostIndex(e.ghostIndex)),this.firstPerson?this.camera.mode=`first-person`:(this.camera.mode=`third-person`,this.isPiloting&&this.lastPilotGhostIndex!=null?(this.camera.orbitTargetId=this.resolveEntityIdForGhostIndex(this.lastPilotGhostIndex),this.camera.orbitDistance=15,this.lastVehicleOrbitDir&&(this.camera.orbitDirection=this.lastVehicleOrbitDir)):(this.camera.orbitTargetId=this.controlPlayerGhostId,this.camera.orbitDistance=3)),this.controlPlayerGhostId&&(this.camera.controlEntityId=this.controlPlayerGhostId);if(r===`player`&&e.position){if(this.isPiloting&&this.lastPilotGhostIndex!=null){let r=this.resolveEntityIdForGhostIndex(this.lastPilotGhostIndex),i=r?this.entities.get(r):void 0;if(i){let r=n?.controlObjectData;if(r){i.position=[e.position.x,e.position.y,e.position.z],this.lastVehiclePos=i.position.slice(),this.lastVehiclePosTime=t;let n=r.linMomentum;if(n&&ve(n)){let e=i.dataBlockId,t=(e==null?void 0:this.getDataBlockData(e))?.mass??200,r=t>0?1/t:1/200;this.lastVehicleVelocity=[n.x*r,n.y*r,n.z*r],i.velocity=this.lastVehicleVelocity}let a=r.angPosition;if(a&&typeof a.w==`number`){let e=de(a);e&&(i.rotation=e)}}else if(this.lastVehiclePos&&this.lastVehicleVelocity&&this.lastVehiclePosTime>0){let e=t-this.lastVehiclePosTime;if(e>0&&e<1){let[t,n,r]=this.lastVehicleVelocity;i.position=[this.lastVehiclePos[0]+t*e,this.lastVehiclePos[1]+n*e,this.lastVehiclePos[2]+r*e]}}}}else if(this.controlPlayerGhostId){let t=this.entities.get(this.controlPlayerGhostId);if(t){t.position=[e.position.x,e.position.y,e.position.z],t.rotation=xe(i),t.headPitch=this.getControlPlayerHeadPitch(a);let r=n?.velocity;Te(r)&&(t.velocity=[r.x,r.y,r.z])}}}}else this.camera&&={...this.camera,time:t,fov:this.latestFov};let i={health:1,energy:1};if(this.camera?.mode===`first-person`){let e=this.controlPlayerGhostId,t=e?this.entities.get(e):void 0;i.health=t?.health??1;let r=n?.energyLevel;if(typeof r==`number`){let e=t?.maxEnergy??60;e>0&&(i.energy=Se(r/e,0,1))}else i.energy=t?.energy??1}else if(this.camera?.mode===`third-person`&&this.camera.orbitTargetId){let e=this.entities.get(this.camera.orbitTargetId);i.health=e?.health??1,i.energy=e?.energy??1}this.lastStatus=i}getControlPlayerHeadPitch(e){return Se(e/we,-1,1)}getAbsoluteRotation(e){return e?typeof e.rotationZ==`number`&&typeof e.headX==`number`?{yaw:e.rotationZ,pitch:e.headX}:typeof e.rotZ==`number`&&typeof e.rotX==`number`?{yaw:e.rotZ,pitch:e.rotX}:null:null}resolveIffColor(e){if(this.playerSensorGroup===0)return;let t=this.sensorGroupColors.get(this.playerSensorGroup);if(t){let n=t.get(e);if(n)return n}if(e===this.playerSensorGroup)return ce;if(e!==0)return z}pushChatMessage(e){this.chatMessages.push({...e,id:++this.chatMessageIdCounter}),this.chatMessages.length>200&&this.chatMessages.splice(0,this.chatMessages.length-200),this._chatGen++}handleServerMessage(e){if(e.length<2)return;let t=this.resolveNetString(e[0]);if((t===`MsgTeamScoreIs`||t===`MsgTeamScore`)&&e.length>=4){let t=parseInt(this.resolveNetString(e[2]),10),n=parseInt(this.resolveNetString(e[3]),10);if(!isNaN(t)&&!isNaN(n)){let e=this.teamScores.find(e=>e.teamId===t);e&&(e.score=n,this.onTeamScoresChanged())}}else if(t===`MsgCTFAddTeam`&&e.length>=6){let t=parseInt(this.resolveNetString(e[2]),10),n=B(this.resolveNetString(e[3])),r=parseInt(this.resolveNetString(e[5]),10);if(!isNaN(t)&&t>0){let e=this.teamScores.find(e=>e.teamId===t);e?(e.name=n,e.score=isNaN(r)?e.score:r):this.teamScores.push({teamId:t,name:n,score:isNaN(r)?0:r,playerCount:0}),this.onTeamScoresChanged()}}else if(t===`MsgClientJoin`&&e.length>=4){let t=B(this.resolveNetString(e[2])).trim(),n=parseInt(this.resolveNetString(e[3]),10);isNaN(n)||(this.playerRoster.set(n,{name:t,teamId:0,score:0,ping:0,packetLoss:0}),this.onRosterChanged()),!this.connectedPlayerName&&t&&B(this.resolveNetString(e[1])).includes(`Welcome to Tribes`)&&(this.connectedPlayerName=t,this.connectedClientId=n,this.onMissionInfoChange?.())}else if(t===`MsgClientDrop`&&e.length>=4){let t=parseInt(this.resolveNetString(e[3]),10);isNaN(t)||(this.playerRoster.delete(t),this.onRosterChanged())}else if(t===`MsgClientJoinTeam`&&e.length>=6){let t=parseInt(this.resolveNetString(e[4]),10),n=parseInt(this.resolveNetString(e[5]),10);if(!isNaN(t)&&!isNaN(n)){let e=this.playerRoster.get(t);e?e.teamId=n:this.playerRoster.set(t,{name:``,teamId:n,score:0,ping:0,packetLoss:0}),this.onRosterChanged()}}else if(t===`MsgPlayerScore`&&e.length>=5){let t=parseInt(this.resolveNetString(e[2]),10);if(!isNaN(t)){let n=this.playerRoster.get(t);if(n){let t=parseInt(this.resolveNetString(e[3]),10),r=parseInt(this.resolveNetString(e[4]),10),i=parseInt(this.resolveNetString(e[5]??``),10);isNaN(t)||(n.score=t),isNaN(r)||(n.ping=r),isNaN(i)||(n.packetLoss=i),this.onRosterChanged()}}}else if(t===`MsgSystemClock`&&e.length>=4){let t=parseFloat(this.resolveNetString(e[3]));this.clockAnchorStreamSec=this.getTimeSec(),this.clockDurationMs=Number.isFinite(t)?t:0}else if(t===`MsgMissionDropInfo`&&e.length>=5){let t=B(this.resolveNetString(e[2])),n=B(this.resolveNetString(e[3])),r=B(this.resolveNetString(e[4]));wn.info(`mission drop info: mission=%s gameType=%s server=%s`,t,n,r),this.missionDisplayName=t||this.missionDisplayName,this.missionTypeDisplayName=n||this.missionTypeDisplayName,this.serverDisplayName=r||this.serverDisplayName,this.onMissionInfoChange?.()}else if(t===`MsgLoadInfo`&&e.length>=5){let t=B(this.resolveNetString(e[3])),n=B(this.resolveNetString(e[4]));wn.info(`load info: mission=%s gameType=%s`,t,n),this.missionDisplayName=t||this.missionDisplayName,this.missionTypeDisplayName=n||this.missionTypeDisplayName,this.onMissionInfoChange?.()}else if(t===`MsgClientReady`&&e.length>=3){let t=this.resolveNetString(e[2]);wn.info(`client ready: gameClass=%s`,t),this.gameClassName=t||this.gameClassName,this.onMissionInfoChange?.()}}onTeamScoresChanged(){}onRosterChanged(){}handleHudRemoteCommand(e,t){if(e===`setWeaponsHudItem`&&t.length>=3){let e=parseInt(t[0],10),n=parseInt(t[1],10),r=t[2]===`1`||t[2]===`true`;isNaN(e)||(r?this.weaponsHud.slots.set(e,isNaN(n)?-1:n):this.weaponsHud.slots.delete(e),this.onWeaponsHudChanged())}else if(e===`setWeaponsHudAmmo`&&t.length>=2){let e=parseInt(t[0],10),n=parseInt(t[1],10);isNaN(e)||(this.weaponsHud.slots.set(e,isNaN(n)?-1:n),this.onWeaponsHudChanged())}else if(e===`setWeaponsHudActive`&&t.length>=1){let e=parseInt(t[0],10);this.weaponsHud.activeIndex=isNaN(e)?-1:e,!isNaN(e)&&e>=0&&!this.weaponsHud.slots.has(e)&&this.weaponsHud.slots.set(e,-1),this.onWeaponsHudChanged()}else if(e===`setWeaponsHudClearAll`)this.weaponsHud.slots.clear(),this.weaponsHud.activeIndex=-1,this.onWeaponsHudChanged();else if(e===`setBackpackHudItem`&&t.length>=2){let e=parseInt(t[0],10);(t[1]===`1`||t[1]===`true`)&&!isNaN(e)?(this.backpackHud.packIndex=e,this.backpackHud.active=!1,this.backpackHud.text=``):(this.backpackHud.packIndex=-1,this.backpackHud.active=!1,this.backpackHud.text=``)}else if(e===`setSatchelArmed`)this.backpackHud.active=!0;else if(e===`setCloakIconOn`||e===`setRepairPackIconOn`||e===`setShieldIconOn`||e===`setSenJamIconOn`)this.backpackHud.active=!0;else if(e===`setCloakIconOff`||e===`setRepairPackIconOff`||e===`setShieldIconOff`||e===`setSenJamIconOff`)this.backpackHud.active=!1;else if(e===`updatePackText`&&t.length>=1)this.backpackHud.text=t[0]??``;else if(e===`setInventoryHudItem`&&t.length>=3){let e=parseInt(t[0],10),n=parseInt(t[1],10),r=t[2]===`1`||t[2]===`true`;isNaN(e)||(r&&!isNaN(n)?this.inventoryHud.slots.set(e,n):this.inventoryHud.slots.delete(e),this.onInventoryHudChanged())}else if(e===`setInventoryHudAmount`&&t.length>=2){let e=parseInt(t[0],10),n=parseInt(t[1],10);!isNaN(e)&&!isNaN(n)&&(this.inventoryHud.slots.set(e,n),this.onInventoryHudChanged())}else e===`setInventoryHudClearAll`&&(this.inventoryHud.slots.clear(),this.inventoryHud.activeSlot=-1,this.onInventoryHudChanged())}onWeaponsHudChanged(){}onInventoryHudChanged(){}buildEntityList(e){let t=[];for(let n of this.entities.values()){if(e&&!e(n))continue;let r=n.targetId!=null&&n.targetId>=0?this.targetRenderFlags.get(n.targetId)??n.targetRenderFlags:n.targetRenderFlags;n.type===`Player`&&!n.carryingFlag&&(r=r==null?r:r&-3),t.push({id:n.id,type:n.type,visual:n.visual,direction:n.direction,ghostIndex:n.ghostIndex,className:n.className,dataBlockId:n.dataBlockId,shapeHint:n.shapeHint,dataBlock:n.dataBlock,weaponShape:n.weaponShape,packShape:n.packShape,flagShape:n.flagShape,falling:n.falling,jetting:n.jetting,playerName:n.playerName,targetRenderFlags:r,iffColor:(n.type===`Player`||(r??0)&2)&&n.sensorGroup!=null?this.resolveIffColor(n.sensorGroup):void 0,position:n.position&&(n.simulatedVelocity||n.itemPhysics&&!n.itemPhysics.atRest)?[...n.position]:n.position,rotation:n.rotation,velocity:n.velocity,health:n.health,energy:n.energy,actionAnim:n.actionAnim,actionAtEnd:n.actionAtEnd,armAction:n.armAction,damageState:n.damageState,faceViewer:n.faceViewer,threads:n.threads,explosionDataBlockId:n.explosionDataBlockId,maintainEmitterId:n.maintainEmitterId,weaponImageState:n.weaponImageState,weaponImageStates:n.weaponImageStates,headPitch:n.headPitch,headYaw:n.headYaw,label:n.label,audioFileName:n.audioFileName,audioVolume:n.audioVolume,audioIs3D:n.audioIs3D,audioIsLooping:n.audioIsLooping,audioMinDistance:n.audioMinDistance,audioMaxDistance:n.audioMaxDistance,audioMinLoopGap:n.audioMinLoopGap,audioMaxLoopGap:n.audioMaxLoopGap,wheels:n.wheels,steeringYaw:n.steeringYaw,frozen:n.frozen,maxSteeringAngle:n.maxSteeringAngle,sceneData:n.sceneData,forceFieldData:n.forceFieldData})}return t}computeMatchClockMs(e){if(this.clockAnchorStreamSec==null)return null;let t=(e-this.clockAnchorStreamSec)*1e3;return-this.clockDurationMs+t}buildHudState(){let e={slots:Array.from(this.weaponsHud.slots.entries()).map(([e,t])=>({index:e,ammo:t})),activeIndex:this.weaponsHud.activeIndex},t={slots:Array.from(this.inventoryHud.slots.entries()).map(([e,t])=>({slot:e,count:t})),activeSlot:this.inventoryHud.activeSlot},n=this.backpackHud.packIndex>=0?{...this.backpackHud}:null,r=this.teamScores.map(e=>({...e})),i=new Map;for(let{teamId:e}of this.playerRoster.values())e>0&&i.set(e,(i.get(e)??0)+1);for(let e of r)e.playerCount=i.get(e.teamId)??0;let a=[];for(let[e,t]of this.playerRoster)a.push({clientId:e,...t});return{weaponsHud:e,inventoryHud:t,backpackHud:n,teamScores:r,playerRoster:a}}buildTimeFilteredEvents(e){return this._chatSnapshotGen!==this._chatGen&&(this._chatSnapshot=this.chatMessages.slice(),this._chatSnapshotGen=this._chatGen),{chatMessages:this._chatSnapshot,audioEvents:this.audioEvents.filter(t=>t.timeSec>e-.5&&t.timeSec<=e)}}},G=I(`liveStreaming`),En=class extends Tn{packetParser;relay;currentTimeSec=0;connectSynced=!1;_snapshot=null;_snapshotTick=-1;_ready=!1;_teamScoresGen=0;_rosterGen=0;_weaponsHudGen=0;_inventoryHudGen=0;_cachedHud=null;dataBlockClassNames=new Map;onReady;onMissionChange;missionName=null;lastMoveAck=0;constructor(e){super(),this.relay=e;let{registry:t,ghostTracker:n,packetParser:r}=_e();this.packetParser=r,this.ghostTracker=n,this.registry=t}getDataBlockData(e){return this.packetParser.getDataBlockDataMap()?.get(e)}_shapeConstructorCache=null;getShapeConstructorSequences(e){this._shapeConstructorCache=new Map;let t=this.packetParser.getDataBlockDataMap();if(t){for(let[,e]of t){let t=e.shape,n=e.sequences;t&&n&&this._shapeConstructorCache.set(t.toLowerCase(),n)}return this._shapeConstructorCache.get(e.toLowerCase())}}getTimeSec(){return this.currentTimeSec}getCameraYawPitch(e){return this.getAbsoluteRotation(e)??{yaw:0,pitch:0}}getEffectShapes(){let e=new Set,t=this.packetParser.getDataBlockDataMap();if(!t)return[];for(let[,n]of t){let r=n.explosion;if(r==null)continue;let i=t.get(r);i?.dtsFileName&&e.add(i.dtsFileName)}return[...e]}onTeamScoresChanged(){this._teamScoresGen++}onRosterChanged(){this._rosterGen++}onWeaponsHudChanged(){this._weaponsHudGen++}onInventoryHudChanged(){this._inventoryHudGen++}reset(){this.resetSharedState(),this.ghostTracker.clear?.(),this.currentTimeSec=0,this._snapshot=null,this._snapshotTick=-1,this._cachedHud=null,this.dataBlockClassNames.clear(),this.observerMode=`fly`,this.missionName=null}getSnapshot(){return this._snapshot&&this._snapshotTick===this.tickCount?this._snapshot:this.buildSnapshot()}stepToTime(e,t){return this.currentTimeSec=e,this.getSnapshot()}syncConnectSequence(e){if(this.connectSynced||e.length<1)return;this.connectSynced=!0;let t=e[0]>>1&1;this.packetParser.setConnectionProtocolState({lastSeqRecvdAtSend:Array(32).fill(0),lastSeqRecvd:0,highestAckedSeq:0,lastSendSeq:536870911,ackMask:0,connectSequence:t,lastRecvAckAck:0,connectionEstablished:!0})}feedPacket(e){this.syncConnectSequence(e),this.processPacket(e)}handleRelayCommands(e){if(e.type!==`RemoteCommandEvent`)return;let t=e.funcName;if(!t)return;let n=this.resolveNetString(t);if([`t2csri_pokeClient`,`t2csri_getChallengeChunk`,`t2csri_decryptChallenge`].includes(n)){let t=(e.args??[]).map(e=>this.resolveNetString(e)).filter(e=>e!==``);G.info(`auth event: %s %o`,n,t),this.relay.sendAuthEvent(n,t);return}let r=(e.args??[]).map(e=>this.resolveNetString(e));if(n===`MissionStartPhase1`){let e=r[0]??``,t=r[1]??null;G.info(`mission phase 1, seq=%s mission=%s resolvedArgs=%o`,e,t,r),t&&t!==this.missionName&&(this.missionName=t,this.entities.clear(),this.entityIdByGhostIndex.clear(),this._ready=!1,this._snapshot=null,this._snapshotTick=-1,this._cachedHud=null,this.observerMode=`fly`,this.lastMoveAck=0,this.missionDisplayName=null,this.missionTypeDisplayName=null,this.gameClassName=null,this.serverDisplayName=null,this.onMissionChange?.(t)),this.relay.sendCommand(`MissionStartPhase1Done`,[e])}else if(n===`MissionStartPhase2`){let e=r[0]??``;G.info(`mission phase 2 (datablocks), seq=%s`,e),this.relay.sendCommand(`MissionStartPhase2Done`,[e])}else if(n===`MissionStartPhase3`){let e=r[0]??``,t=r[1]??null;G.info(`mission phase 3 (ghosting), seq=%s mission=%s`,e,t),t&&(this.missionName=t),this.relay.sendCommand(`setClientFav`,[``]),this.relay.sendCommand(`MissionStartPhase3Done`,[e])}}handleCRCChallenge(e){if(e.type!==`CRCChallengeEvent`)return;let t=e.crcValue,n=e.field1,r=e.field2,i=(n&1)!=0;G.info(`CRC challenge: seed=0x%s f1=0x%s f2=0x%s includeTextures=%s`,(t>>>0).toString(16),(n>>>0).toString(16),(r>>>0).toString(16),i);let a=this.packetParser.getDataBlockDataMap(),o=[];if(a)for(let[e,t]of a){let n=this.dataBlockClassNames.get(e);if(!n)continue;let r=ye(n,t);o.push({objectId:e,className:n,shapeName:r??``})}G.info(`CRC: sending %d datablocks for computation`,o.length),this.relay.sendCRCCompute(t,r,o,i)}handleGhostingMessage(e){if(e.type!==`GhostingMessageEvent`)return;let t=e.message,n=e.sequence,r=e.ghostCount;G.info(`GhostingMessageEvent: message=%d sequence=%d ghostCount=%d`,t,n,r),t===0&&(G.info(`Sending ghost ack (type 1) for sequence %d`,n),this.relay.sendGhostAck(n,r))}observerMode=`fly`;requestScores(){this.relay.sendCommand(`getScores`,[])}getPlayerList(){let e=[];for(let[t,n]of this.targetNames){let r=this.targetTeams.get(t)??0;e.push({targetId:t,name:n,sensorGroup:r})}return e}processPacket(e){try{let t=this.packetParser.protocolRejected,n=this.packetParser.protocolNoDispatch,r=this.packetParser.parsePacket(e),i=this.packetParser.protocolRejected>t,a=this.packetParser.protocolNoDispatch>n;(i||a)&&G.warn(`packet #%d %s: %d bytes (total rejected=%d, noDispatch=%d)`,this.tickCount,i?`REJECTED`:`no-dispatch`,e.length,this.packetParser.protocolRejected,this.packetParser.protocolNoDispatch);let o=this.tickCount<20,s=this.tickCount%100==0,c=o||s;c&&G.debug(`packet #%d: %d events, %d ghosts, %d bytes%s%s`,this.tickCount,r.events.length,r.ghosts.length,e.length,r.gameState.controlObjectGhostIndex===void 0?``:`, control=${r.gameState.controlObjectGhostIndex}`,r.gameState.cameraFov===void 0?``:`, fov=${r.gameState.cameraFov}`),this.lastMoveAck=r.gameState.lastMoveAck,this.processControlObject(r.gameState);for(let e of r.events)if(e.parsedData){this.handleRelayCommands(e.parsedData),this.handleCRCChallenge(e.parsedData),this.handleGhostingMessage(e.parsedData);let t=e.parsedData.type;if(t===`RemoteCommandEvent`){let t=this.resolveNetString(e.parsedData.funcName??``);G.debug(`remote: %s`,t)}if(o&&t!==`NetStringEvent`&&t!==`RemoteCommandEvent`&&G.debug(`event: %s%s`,t,t===`SimDataBlockEvent`?` id=${e.parsedData.objectId} class=${e.parsedData.dataBlockClassName}`:``),t===`SimDataBlockEvent`){let t=e.parsedData.objectId,n=e.parsedData.dataBlockClassName;if(t!=null&&n&&this.dataBlockClassNames.set(t,n),c){let r=e.parsedData.dataBlockData,i=ye(n??``,r);G.debug(`datablock: id=%d class=%s%s`,t,n??`?`,i?` shape=${i}`:``)}}let n=this.registry.getEventParser(e.classId)?.name;if(this.processEvent(e,n),o&&t===`NetStringEvent`){let t=e.parsedData.id,n=e.parsedData.value;t!=null&&typeof n==`string`&&G.trace(`netString #%d = "%s"`,t,n.length>60?n.slice(0,60)+`…`:n)}if(t===`TargetInfoEvent`){let t=e.parsedData.targetId,n=e.parsedData.nameTag;if(t!=null&&n!=null){let r=this.netStrings.get(n);if(r){let n=B(r);G.info(`target #%d: "%s" team=%s`,t,n,e.parsedData.sensorGroup??`?`)}}}if(t===`SetSensorGroupEvent`){let t=e.parsedData.sensorGroup;t!=null&&G.info(`sensor group changed: → %d`,t)}if(t===`SensorGroupColorEvent`){let t=e.parsedData.sensorGroup,n=e.parsedData.colors;n&&G.debug(`sensor group colors: group=%d, %d entries`,t,n.length)}}for(let e of r.ghosts){if(e.type===`create`){let t=e.parsedData?.position,n=t&&typeof t.x==`number`&&typeof t.y==`number`&&typeof t.z==`number`,r=this.resolveGhostClassName(e.index,e.classId);G.debug(`ghost create: #%d %s%s (%d entities total)`,e.index,r??`?`,n?` at (${t.x.toFixed(1)}, ${t.y.toFixed(1)}, ${t.z.toFixed(1)})`:``,this.entities.size+1),this._ready||(this._ready=!0,this.onReady?.())}else if(e.type===`delete`){let t=this.entityIdByGhostIndex.get(e.index),n=t?this.entities.get(t):void 0;(this.tickCount<50||this.tickCount%200==0)&&G.debug(`ghost delete: #%d %s (%d entities remaining)`,e.index,n?.className??`?`,this.entities.size-1)}this.processGhostUpdate(e)}if(this.tickCount++,this.advanceProjectiles(),this.advanceItems(),s&&this.tickCount>1){let e=this.packetParser.getDataBlockDataMap();G.info(`status @ tick %d: %d entities, %d datablocks, rejected=%d, noDispatch=%d`,this.tickCount,this.entities.size,e?.size??0,this.packetParser.protocolRejected,this.packetParser.protocolNoDispatch)}let l=this.entities.size;if(this.tickCount===1||l>0&&l%25==0&&this.tickCount<100){let e=new Map;for(let t of this.entities.values())e.set(t.type,(e.get(t.type)??0)+1);let t=[...e.entries()].map(([e,t])=>`${e}=${t}`).join(` `);G.info(`entity count: %d (%s)`,l,t)}let u=this.camera?.mode;if(this.updateCameraAndHud(),this.camera&&this.camera.mode!==u&&G.info(`camera mode: %s → %s%s`,u??`none`,this.camera.mode,this.camera.mode===`third-person`?` orbit=${this.camera.orbitTargetId??`?`} dist=${this.camera.orbitDistance??`?`}`:``),this.tickCount<=5&&this.camera){let[e,t,n]=this.camera.position;G.debug(`camera: mode=%s pos=(%s, %s, %s) fov=%s`,this.camera.mode,e.toFixed(1),t.toFixed(1),n.toFixed(1),this.camera.fov)}}catch(t){let n={tickCount:this.tickCount,entityCount:this.entities.size,dataLength:e.length,controlGhost:this.latestControl.ghostIndex,connectSynced:this.connectSynced};G.error(`Failed to process live packet: %o %o`,t,n)}}buildSnapshot(){let e=this.buildEntityList(),t=this.currentTimeSec,{chatMessages:n,audioEvents:r}=this.buildTimeFilteredEvents(t),i=this._cachedHud,a,o,s,c,l;i&&i.weaponsHudGen===this._weaponsHudGen&&i.inventoryHudGen===this._inventoryHudGen&&i.teamScoresGen===this._teamScoresGen&&i.rosterGen===this._rosterGen&&i.backpackPackIndex===this.backpackHud.packIndex&&i.backpackActive===this.backpackHud.active?(a=i.weaponsHud,o=i.inventoryHud,s=i.backpackHud,c=i.teamScores,l=i.playerRoster):({weaponsHud:a,inventoryHud:o,backpackHud:s,teamScores:c,playerRoster:l}=this.buildHudState(),this._cachedHud={weaponsHudGen:this._weaponsHudGen,inventoryHudGen:this._inventoryHudGen,teamScoresGen:this._teamScoresGen,rosterGen:this._rosterGen,backpackPackIndex:this.backpackHud.packIndex,backpackActive:this.backpackHud.active,weaponsHud:a,inventoryHud:o,backpackHud:s,teamScores:c,playerRoster:l}),this.camera||={time:t,position:[0,0,200],rotation:[0,0,0,1],fov:90,mode:`observer`};let u={timeSec:t,exhausted:!1,camera:this.camera,entities:e,controlPlayerGhostId:this.controlPlayerGhostId,playerSensorGroup:this.playerSensorGroup,status:this.lastStatus,chatMessages:n,audioEvents:r,weaponsHud:a,backpackHud:s,inventoryHud:o,teamScores:c,playerRoster:l,connectedClientId:this.connectedClientId,matchClockMs:this.computeMatchClockMs(t)};return this._snapshot=u,this._snapshotTick=this.tickCount,u}},Dn=F()(e=>({missionEntities:new Map,streamEntities:new Map,isStreaming:!1,dataSource:null,missionName:null,missionType:null,missionTypeDisplayName:null,missionDisplayName:null,gameClassName:null,serverDisplayName:null,recorderName:null,recordingDate:null,version:0,setEntity(t){e(e=>{let n=new Map(e.missionEntities);return n.set(t.id,t),{missionEntities:n,version:e.version+1}})},deleteEntity(t){e(e=>{if(!e.missionEntities.has(t))return e;let n=new Map(e.missionEntities);return n.delete(t),{missionEntities:n,version:e.version+1}})},setEntities(t){e(e=>{let n=new Map(e.missionEntities);for(let e of t)n.set(e.id,e);return{missionEntities:n,version:e.version+1}})},setAllEntities(t){e(e=>{let n=new Map;for(let e of t)n.set(e.id,e);return{missionEntities:n,dataSource:e.isStreaming?e.dataSource:`map`}})},clearEntities(){e(e=>e.missionEntities.size===0?e:e.isStreaming?{missionEntities:new Map,version:e.version+1}:{missionEntities:new Map,dataSource:null,missionName:null,missionType:null,missionTypeDisplayName:null,missionDisplayName:null,gameClassName:null,serverDisplayName:null,recorderName:null,recordingDate:null,version:e.version+1})},setMissionInfo(t){let n={};if(t.missionName!==void 0&&(n.missionName=t.missionName),t.missionType!==void 0&&(n.missionType=t.missionType),t.missionTypeDisplayName!==void 0&&(n.missionTypeDisplayName=t.missionTypeDisplayName),t.missionDisplayName!==void 0&&(n.missionDisplayName=t.missionDisplayName),t.gameClassName!==void 0&&(n.gameClassName=t.gameClassName,t.missionType===void 0))if(t.gameClassName){let e=t.gameClassName.replace(/Game$/i,``);n.missionType=ee[e.toLowerCase()]??e}else n.missionType=null;t.serverDisplayName!==void 0&&(n.serverDisplayName=t.serverDisplayName),t.recorderName!==void 0&&(n.recorderName=t.recorderName),t.recordingDate!==void 0&&(n.recordingDate=t.recordingDate),e(e=>({...n,version:e.version+1}))},beginStreaming(t){e(e=>({isStreaming:!0,dataSource:t,streamEntities:new Map,missionName:null,missionType:null,missionTypeDisplayName:null,missionDisplayName:null,gameClassName:null,serverDisplayName:null,recorderName:null,recordingDate:null,version:e.version+1}))},endStreaming(){e(e=>e.isStreaming?{isStreaming:!1,dataSource:e.missionEntities.size>0?`map`:null,missionName:null,missionType:null,missionTypeDisplayName:null,missionDisplayName:null,gameClassName:null,serverDisplayName:null,recorderName:null,recordingDate:null,streamEntities:new Map,version:e.version+1}:e)},setStreamEntity(t){e(e=>{let n=new Map(e.streamEntities);return n.set(t.id,t),{streamEntities:n,version:e.version+1}})},deleteStreamEntity(t){e(e=>{if(!e.streamEntities.has(t))return e;let n=new Map(e.streamEntities);return n.delete(t),{streamEntities:n,version:e.version+1}})},setStreamEntities(t){e(e=>{let n=new Map(e.streamEntities);for(let e of t)n.set(e.id,e);return{streamEntities:n,version:e.version+1}})},setAllStreamEntities(t){e(e=>{let n=new Map;for(let e of t)n.set(e.id,e);let r=e.streamEntities;return n.size===r.size&&[...n.keys()].every(e=>r.has(e))?e:{streamEntities:n,version:e.version+1}})},clearStreamEntities(){e(e=>e.streamEntities.size===0?e:{streamEntities:new Map,version:e.version+1})}}));function On(e){return e.isStreaming?e.streamEntities:e.missionEntities}function kn(e){return e.version}function An(){return P(Dn,kn),P(Dn,On)}function jn(){return An()}function Mn(e){let t=e.isStreaming?e.streamEntities:e.missionEntities,n=[];for(let e of t.values())e.renderType!==`None`&&n.push(e);return n}function Nn(e,t){if(e.length!==t.length)return!1;for(let n=0;n({relayConnected:!1,gameStatus:null,gameStatusMessage:void 0,mapName:void 0,serverName:void 0,relayToGameServerPing:null,browserToRelayPing:null,servers:[],serversLoading:!1,adapter:null,liveReady:!1,_relay:null,_adapter:null,_pending:[],_listInFlight:!1,connectRelay(n=rr){let r=t();r._relay&&r._relay.close();let i=new gn(n,{onOpen(){e({relayConnected:!0});let n=t();for(let e of n._pending)e();n._pending=[]},onStatus(t,n,r,i){nr.info(`game status: %s%s%s`,t,n?` — ${n}`:``,i?` map=${i}`:``),e({gameStatus:t,gameStatusMessage:n,...i?{mapName:i}:{}})},onServerList(n){t()._listInFlight=!1,e({servers:n,serversLoading:!1})},onGamePacket(e){let n=t()._adapter;n||nr.warn(`received game packet but no adapter is active`),n?.feedPacket(e)},onPing(t){e({relayToGameServerPing:t})},onWsPing(t){e({browserToRelayPing:t})},onError(n){nr.error(`error: %s`,n),t()._listInFlight=!1,e({serversLoading:!1})},onClose(){let n=t();n._relay===i&&(n._relay=null,n._adapter=null,n._pending=[],n._listInFlight=!1,e({relayConnected:!1,gameStatus:null,gameStatusMessage:void 0,mapName:void 0,serverName:void 0,relayToGameServerPing:null,browserToRelayPing:null,adapter:null,liveReady:!1}))}});i.connect(),t()._relay=i},disconnectRelay(){let n=t();n._relay?.close(),n._relay=null,n._adapter=null,n._pending=[],n._listInFlight=!1,e({relayConnected:!1,gameStatus:null,gameStatusMessage:void 0,mapName:void 0,serverName:void 0,relayToGameServerPing:null,browserToRelayPing:null,adapter:null,liveReady:!1})},listServers(){let n=t();if(n._listInFlight)return;n._listInFlight=!0;let r=()=>{let e=t();e._relay?.sendWsPing(),e._relay?.listServers()};e({serversLoading:!0}),n._relay?.connected?r():(n._pending.push(r),n._relay||t().connectRelay())},joinServer(n,r){let i=t();if(!i._relay)return;let a=i.servers.find(e=>e.address===n),o=new En(i._relay);o.onReady=()=>e({liveReady:!0}),o.onMissionChange=t=>{nr.info(`mission changed: %s`,t),e({mapName:t,liveReady:!1}),Dn.getState().setMissionInfo({missionName:t,missionType:null,missionTypeDisplayName:null,missionDisplayName:null,gameClassName:null})},o.onMissionInfoChange=()=>{Dn.getState().setMissionInfo({missionDisplayName:o.missionDisplayName??void 0,missionTypeDisplayName:o.missionTypeDisplayName??void 0,gameClassName:o.gameClassName??void 0,serverDisplayName:o.serverDisplayName??void 0,recorderName:o.connectedPlayerName??void 0})},i._adapter=o,e({mapName:a?.mapName??i.mapName,serverName:a?.name,warriorName:r,liveReady:!1,gameStatus:null,adapter:o}),Dn.getState().setMissionInfo({missionName:a?.mapName??void 0,missionTypeDisplayName:a?.gameType??void 0,serverDisplayName:a?.name??void 0,recorderName:r??void 0}),i._relay.joinServer(n,r)},disconnectServer(){t().disconnectRelay()},sendMoves(e,n){t()._relay?.sendMoves(e,n)},sendCommand(e,...n){t()._relay?.sendCommand(e,n)}}));function ar(e,t){return P(ir,e,t)}function or(e){return e.relayToGameServerPing!=null&&e.browserToRelayPing!=null?e.relayToGameServerPing+e.browserToRelayPing:e.relayToGameServerPing??null}var sr=[.25,.5,1,1.5,2,3,4];function cr(){return L(lr)}function lr(e){return e.playback.recording}function ur(){return L(dr)}function dr(e){return e.playback.status===`playing`}function fr(){return L(pr)}function pr(e){return e.playback.timeMs/1e3}function mr(){return L(hr)}function hr(e){return e.playback.durationMs/1e3}function gr(){return L(_r)}function _r(e){return e.playback.rate}function vr(){let e=(0,H.c)(17),t=cr(),n=L(Sr),r=L(xr),i=L(br),a=L(yr),o;e[0]===n?o=e[1]:(o=e=>{n(e)},e[0]=n,e[1]=o);let s=o,c;e[2]!==t||e[3]!==r?(c=()=>{t&&r(`playing`)},e[2]=t,e[3]=r,e[4]=c):c=e[4];let l=c,u;e[5]===r?u=e[6]:(u=()=>{r(`paused`)},e[5]=r,e[6]=u);let d=u,f;e[7]===i?f=e[8]:(f=e=>{i(e*1e3)},e[7]=i,e[8]=f);let p=f,m;e[9]===a?m=e[10]:(m=e=>{a(e)},e[9]=a,e[10]=m);let h=m,g;return e[11]!==d||e[12]!==l||e[13]!==p||e[14]!==s||e[15]!==h?(g={setRecording:s,play:l,pause:d,seek:p,setSpeed:h},e[11]=d,e[12]=l,e[13]=p,e[14]=s,e[15]=h,e[16]=g):g=e[16],g}function yr(e){return e.setPlaybackRate}function br(e){return e.setPlaybackTime}function xr(e){return e.setPlaybackStatus}function Sr(e){return e.setRecording}var Cr=I(`LoadDemoButton`);function wr({isActive:e=!1,choosingMap:t=!1,onCancelChoosingMap:n}){let r=cr()?.source===`demo`,{setRecording:i}=vr(),a=(0,V.useRef)(null),o=(0,V.useRef)(0),s=(0,V.useRef)(null),c=(0,V.useCallback)(()=>{if(ie.getState().cancel(),t&&r){n?.();return}if(r){o.current+=1,s.current?.abort(),s.current=null,i(null),pn.getState().reset();return}a.current?.click()},[r,t,n,i]);return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`input`,{ref:a,type:`file`,accept:`.rec`,style:{display:`none`},onChange:(0,V.useCallback)(async e=>{let t=e.target.files?.[0];if(t){e.target.value=``;try{let e=await t.arrayBuffer(),n=o.current+1;o.current=n;let{createDemoStreamingRecording:r}=await R(async()=>{let{createDemoStreamingRecording:e}=await import(`./demoStreaming-DnO_dp2r.js`);return{createDemoStreamingRecording:e}},__vite__mapDeps([0,1,2,3,4,5])),a=await r(e);if(o.current!==n)return;ir.getState().disconnectServer(),i(a),s.current?.abort();let c=new AbortController;s.current=c;let l=pn.getState();l.reset(),l.setScanProgress(0),R(async()=>{let{scanDemoTimeline:e}=await import(`./demoTimelineScanner-DKjwgmKz.js`);return{scanDemoTimeline:e}},__vite__mapDeps([6,1,2,3,5])).then(({scanDemoTimeline:t})=>t(e,a.recorderName,e=>{o.current===n&&pn.getState().setScanProgress(e)},c.signal)).then(e=>{if(o.current!==n)return;let t=pn.getState();t.setEvents(e),t.setScanProgress(null)}).catch(e=>{o.current===n&&(e instanceof Error&&e.name===`AbortError`||(Cr.error(`Timeline scan failed: %o`,e),pn.getState().setScanProgress(null)))})}catch(e){Cr.error(`Failed to load demo: %o`,e)}}},[i])}),(0,W.jsxs)(`button`,{type:`button`,className:sn.Button,"aria-label":r?`Unload demo`:`Load demo (.rec)`,title:r?`Unload demo`:`Load demo (.rec)`,onClick:c,"data-active":e,children:[(0,W.jsx)(dn,{className:sn.DemoIcon}),(0,W.jsx)(`span`,{className:sn.ButtonLabel,children:`Demo`}),(0,W.jsx)(`span`,{className:sn.ButtonHint,children:t&&r?`Return to demo`:r?`Click to unload`:`Load a .rec file`})]})]})}function Tr(e){return C({tag:`svg`,attr:{fill:`currentColor`,viewBox:`0 0 16 16`},child:[{tag:`path`,attr:{d:`M11.251.068a.5.5 0 0 1 .227.58L9.677 6.5H13a.5.5 0 0 1 .364.843l-8 8.5a.5.5 0 0 1-.842-.49L6.323 9.5H3a.5.5 0 0 1-.364-.843l8-8.5a.5.5 0 0 1 .615-.09z`},child:[]}]})(e)}function Er(e){return C({tag:`svg`,attr:{fill:`currentColor`,viewBox:`0 0 16 16`},child:[{tag:`path`,attr:{d:`m11.596 8.697-6.363 3.692c-.54.313-1.233-.066-1.233-.697V4.308c0-.63.692-1.01 1.233-.696l6.363 3.692a.802.802 0 0 1 0 1.393`},child:[]}]})(e)}var Dr={JoinServerButton:`_JoinServerButton_cz8os_1 _Button_p0g82_2`,Icon:`_Icon_cz8os_5 _Icon_p0g82_85`,blink:`_blink_cz8os_1`};function Or(e){let t=(0,H.c)(15),{isActive:n,onOpenServerBrowser:r}=e,i=ar(Ar),a=ar(kr),o=i===`connected`,s=i===`connecting`||i===`challenging`||i===`authenticating`,c=o?`Connected –\xA0click to disconnect`:`Join server`,l=o?`Connected –\xA0click to disconnect`:`Join server`,u;t[0]!==a||t[1]!==o||t[2]!==r?(u=()=>{ie.getState().cancel(),o?a():r()},t[0]=a,t[1]=o,t[2]=r,t[3]=u):u=t[3];let d,f;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,W.jsx)(Tr,{className:Dr.Icon}),f=(0,W.jsx)(`span`,{className:sn.ButtonLabel,children:`Live`}),t[4]=d,t[5]=f):(d=t[4],f=t[5]);let p=s?`Connecting…`:o?`Connected`:`Join a game`,m;t[6]===p?m=t[7]:(m=(0,W.jsxs)(W.Fragment,{children:[f,(0,W.jsx)(`span`,{className:sn.ButtonHint,children:p})]}),t[6]=p,t[7]=m);let h;return t[8]!==n||t[9]!==o||t[10]!==c||t[11]!==l||t[12]!==u||t[13]!==m?(h=(0,W.jsxs)(`button`,{type:`button`,className:Dr.JoinServerButton,"aria-label":c,title:l,"data-connected":o,onClick:u,"data-active":n,children:[d,m]}),t[8]=n,t[9]=o,t[10]=c,t[11]=l,t[12]=u,t[13]=m,t[14]=h):h=t[14],h}function kr(e){return e.disconnectServer}function Ar(e){return e.gameStatus}function jr(e,t=[]){let n=[];function r(t,r){let i=V.createContext(r),a=n.length;n=[...n,r];let o=t=>{let{scope:n,children:r,...o}=t,s=n?.[e]?.[a]||i,c=V.useMemo(()=>o,Object.values(o));return(0,W.jsx)(s.Provider,{value:c,children:r})};o.displayName=t+`Provider`;function s(n,o){let s=o?.[e]?.[a]||i,c=V.useContext(s);if(c)return c;if(r!==void 0)return r;throw Error(`\`${n}\` must be used within \`${t}\``)}return[o,s]}let i=()=>{let t=n.map(e=>V.createContext(e));return function(n){let r=n?.[e]||t;return V.useMemo(()=>({[`__scope${e}`]:{...n,[e]:r}}),[n,r])}};return i.scopeName=e,[r,Mr(i,...t)]}function Mr(...e){let t=e[0];if(e.length===1)return t;let n=()=>{let n=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){let r=n.reduce((t,{useScope:n,scopeName:r})=>{let i=n(e)[`__scope${r}`];return{...t,...i}},{});return V.useMemo(()=>({[`__scope${t.scopeName}`]:r}),[r])}};return n.scopeName=t.scopeName,n}function Nr(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}function Pr(...e){return t=>{let n=!1,r=e.map(e=>{let r=Nr(e,t);return!n&&typeof r==`function`&&(n=!0),r});if(n)return()=>{for(let t=0;t{let{children:r,...i}=e,a=V.Children.toArray(r),o=a.find(zr);if(o){let e=o.props.children,r=a.map(t=>t===o?V.Children.count(e)>1?V.Children.only(null):V.isValidElement(e)?e.props.children:null:t);return(0,W.jsx)(t,{...i,ref:n,children:V.isValidElement(e)?V.cloneElement(e,void 0,r):null})}return(0,W.jsx)(t,{...i,ref:n,children:r})});return n.displayName=`${e}.Slot`,n}function Lr(e){let t=V.forwardRef((e,t)=>{let{children:n,...r}=e;if(V.isValidElement(n)){let e=Vr(n),i=Br(r,n.props);return n.type!==V.Fragment&&(i.ref=t?Pr(t,e):e),V.cloneElement(n,i)}return V.Children.count(n)>1?V.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var Rr=Symbol(`radix.slottable`);function zr(e){return V.isValidElement(e)&&typeof e.type==`function`&&`__radixId`in e.type&&e.type.__radixId===Rr}function Br(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{let t=a(...e);return i(...e),t}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}function Vr(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}function Hr(e){let t=e+`CollectionProvider`,[n,r]=jr(t),[i,a]=n(t,{collectionRef:{current:null},itemMap:new Map}),o=e=>{let{scope:t,children:n}=e,r=V.useRef(null),a=V.useRef(new Map).current;return(0,W.jsx)(i,{scope:t,itemMap:a,collectionRef:r,children:n})};o.displayName=t;let s=e+`CollectionSlot`,c=Ir(s),l=V.forwardRef((e,t)=>{let{scope:n,children:r}=e;return(0,W.jsx)(c,{ref:Fr(t,a(s,n).collectionRef),children:r})});l.displayName=s;let u=e+`CollectionItemSlot`,d=`data-radix-collection-item`,f=Ir(u),p=V.forwardRef((e,t)=>{let{scope:n,children:r,...i}=e,o=V.useRef(null),s=Fr(t,o),c=a(u,n);return V.useEffect(()=>(c.itemMap.set(o,{ref:o,...i}),()=>void c.itemMap.delete(o))),(0,W.jsx)(f,{[d]:``,ref:s,children:r})});p.displayName=u;function m(t){let n=a(e+`CollectionConsumer`,t);return V.useCallback(()=>{let e=n.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${d}]`));return Array.from(n.itemMap.values()).sort((e,n)=>t.indexOf(e.ref.current)-t.indexOf(n.ref.current))},[n.collectionRef,n.itemMap])}return[{Provider:o,Slot:l,ItemSlot:p},m,r]}typeof window<`u`&&window.document&&window.document.createElement;function Ur(e,t,{checkForDefaultPrevented:n=!0}={}){return function(r){if(e?.(r),n===!1||!r.defaultPrevented)return t?.(r)}}var Wr=globalThis?.document?V.useLayoutEffect:()=>{},Gr=V.useInsertionEffect||Wr;function Kr({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){let[i,a,o]=qr({defaultProp:t,onChange:n}),s=e!==void 0,c=s?e:i;{let t=V.useRef(e!==void 0);V.useEffect(()=>{let e=t.current;e!==s&&console.warn(`${r} is changing from ${e?`controlled`:`uncontrolled`} to ${s?`controlled`:`uncontrolled`}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),t.current=s},[s,r])}return[c,V.useCallback(t=>{if(s){let n=Jr(t)?t(e):t;n!==e&&o.current?.(n)}else a(t)},[s,e,a,o])]}function qr({defaultProp:e,onChange:t}){let[n,r]=V.useState(e),i=V.useRef(n),a=V.useRef(t);return Gr(()=>{a.current=t},[t]),V.useEffect(()=>{i.current!==n&&(a.current?.(n),i.current=n)},[n,i]),[n,r,a]}function Jr(e){return typeof e==`function`}var Yr=e(c(),1),Xr=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=Ir(`Primitive.${t}`),r=V.forwardRef((e,r)=>{let{asChild:i,...a}=e,o=i?n:t;return typeof window<`u`&&(window[Symbol.for(`radix-ui`)]=!0),(0,W.jsx)(o,{...a,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function Zr(e,t){return V.useReducer((e,n)=>t[e][n]??e,e)}var Qr=e=>{let{present:t,children:n}=e,r=$r(t),i=typeof n==`function`?n({present:r.isPresent}):V.Children.only(n),a=Fr(r.ref,ti(i));return typeof n==`function`||r.isPresent?V.cloneElement(i,{ref:a}):null};Qr.displayName=`Presence`;function $r(e){let[t,n]=V.useState(),r=V.useRef(null),i=V.useRef(e),a=V.useRef(`none`),[o,s]=Zr(e?`mounted`:`unmounted`,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}});return V.useEffect(()=>{let e=ei(r.current);a.current=o===`mounted`?e:`none`},[o]),Wr(()=>{let t=r.current,n=i.current;if(n!==e){let r=a.current,o=ei(t);e?s(`MOUNT`):o===`none`||t?.display===`none`?s(`UNMOUNT`):s(n&&r!==o?`ANIMATION_OUT`:`UNMOUNT`),i.current=e}},[e,s]),Wr(()=>{if(t){let e,n=t.ownerDocument.defaultView??window,o=a=>{let o=ei(r.current).includes(CSS.escape(a.animationName));if(a.target===t&&o&&(s(`ANIMATION_END`),!i.current)){let r=t.style.animationFillMode;t.style.animationFillMode=`forwards`,e=n.setTimeout(()=>{t.style.animationFillMode===`forwards`&&(t.style.animationFillMode=r)})}},c=e=>{e.target===t&&(a.current=ei(r.current))};return t.addEventListener(`animationstart`,c),t.addEventListener(`animationcancel`,o),t.addEventListener(`animationend`,o),()=>{n.clearTimeout(e),t.removeEventListener(`animationstart`,c),t.removeEventListener(`animationcancel`,o),t.removeEventListener(`animationend`,o)}}else s(`ANIMATION_END`)},[t,s]),{isPresent:[`mounted`,`unmountSuspended`].includes(o),ref:V.useCallback(e=>{r.current=e?getComputedStyle(e):null,n(e)},[])}}function ei(e){return e?.animationName||`none`}function ti(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var ni=V.useId||(()=>void 0),ri=0;function ii(e){let[t,n]=V.useState(ni());return Wr(()=>{e||n(e=>e??String(ri++))},[e]),e||(t?`radix-${t}`:``)}var ai=`Collapsible`,[oi,si]=jr(ai),[ci,li]=oi(ai),ui=V.forwardRef((e,t)=>{let{__scopeCollapsible:n,open:r,defaultOpen:i,disabled:a,onOpenChange:o,...s}=e,[c,l]=Kr({prop:r,defaultProp:i??!1,onChange:o,caller:ai});return(0,W.jsx)(ci,{scope:n,disabled:a,contentId:ii(),open:c,onOpenToggle:V.useCallback(()=>l(e=>!e),[l]),children:(0,W.jsx)(Xr.div,{"data-state":gi(c),"data-disabled":a?``:void 0,...s,ref:t})})});ui.displayName=ai;var di=`CollapsibleTrigger`,fi=V.forwardRef((e,t)=>{let{__scopeCollapsible:n,...r}=e,i=li(di,n);return(0,W.jsx)(Xr.button,{type:`button`,"aria-controls":i.contentId,"aria-expanded":i.open||!1,"data-state":gi(i.open),"data-disabled":i.disabled?``:void 0,disabled:i.disabled,...r,ref:t,onClick:Ur(e.onClick,i.onOpenToggle)})});fi.displayName=di;var pi=`CollapsibleContent`,mi=V.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=li(pi,e.__scopeCollapsible);return(0,W.jsx)(Qr,{present:n||i.open,children:({present:e})=>(0,W.jsx)(hi,{...r,ref:t,present:e})})});mi.displayName=pi;var hi=V.forwardRef((e,t)=>{let{__scopeCollapsible:n,present:r,children:i,...a}=e,o=li(pi,n),[s,c]=V.useState(r),l=V.useRef(null),u=Fr(t,l),d=V.useRef(0),f=d.current,p=V.useRef(0),m=p.current,h=o.open||s,g=V.useRef(h),_=V.useRef(void 0);return V.useEffect(()=>{let e=requestAnimationFrame(()=>g.current=!1);return()=>cancelAnimationFrame(e)},[]),Wr(()=>{let e=l.current;if(e){_.current=_.current||{transitionDuration:e.style.transitionDuration,animationName:e.style.animationName},e.style.transitionDuration=`0s`,e.style.animationName=`none`;let t=e.getBoundingClientRect();d.current=t.height,p.current=t.width,g.current||(e.style.transitionDuration=_.current.transitionDuration,e.style.animationName=_.current.animationName),c(r)}},[o.open,r]),(0,W.jsx)(Xr.div,{"data-state":gi(o.open),"data-disabled":o.disabled?``:void 0,id:o.contentId,hidden:!h,...a,ref:u,style:{"--radix-collapsible-content-height":f?`${f}px`:void 0,"--radix-collapsible-content-width":m?`${m}px`:void 0,...e.style},children:h&&i})});function gi(e){return e?`open`:`closed`}var _i=ui,vi=fi,yi=mi,bi=V.createContext(void 0);function xi(e){let t=V.useContext(bi);return e||t||`ltr`}var Si=`Accordion`,Ci=[`Home`,`End`,`ArrowDown`,`ArrowUp`,`ArrowLeft`,`ArrowRight`],[wi,Ti,Ei]=Hr(Si),[Di,Oi]=jr(Si,[Ei,si]),ki=si(),Ai=V.forwardRef((e,t)=>{let{type:n,...r}=e,i=r,a=r;return(0,W.jsx)(wi.Provider,{scope:e.__scopeAccordion,children:n===`multiple`?(0,W.jsx)(Ii,{...a,ref:t}):(0,W.jsx)(Fi,{...i,ref:t})})});Ai.displayName=Si;var[ji,Mi]=Di(Si),[Ni,Pi]=Di(Si,{collapsible:!1}),Fi=V.forwardRef((e,t)=>{let{value:n,defaultValue:r,onValueChange:i=()=>{},collapsible:a=!1,...o}=e,[s,c]=Kr({prop:n,defaultProp:r??``,onChange:i,caller:Si});return(0,W.jsx)(ji,{scope:e.__scopeAccordion,value:V.useMemo(()=>s?[s]:[],[s]),onItemOpen:c,onItemClose:V.useCallback(()=>a&&c(``),[a,c]),children:(0,W.jsx)(Ni,{scope:e.__scopeAccordion,collapsible:a,children:(0,W.jsx)(zi,{...o,ref:t})})})}),Ii=V.forwardRef((e,t)=>{let{value:n,defaultValue:r,onValueChange:i=()=>{},...a}=e,[o,s]=Kr({prop:n,defaultProp:r??[],onChange:i,caller:Si}),c=V.useCallback(e=>s((t=[])=>[...t,e]),[s]),l=V.useCallback(e=>s((t=[])=>t.filter(t=>t!==e)),[s]);return(0,W.jsx)(ji,{scope:e.__scopeAccordion,value:o,onItemOpen:c,onItemClose:l,children:(0,W.jsx)(Ni,{scope:e.__scopeAccordion,collapsible:!0,children:(0,W.jsx)(zi,{...a,ref:t})})})}),[Li,Ri]=Di(Si),zi=V.forwardRef((e,t)=>{let{__scopeAccordion:n,disabled:r,dir:i,orientation:a=`vertical`,...o}=e,s=Fr(V.useRef(null),t),c=Ti(n),l=xi(i)===`ltr`,u=Ur(e.onKeyDown,e=>{if(!Ci.includes(e.key))return;let t=e.target,n=c().filter(e=>!e.ref.current?.disabled),r=n.findIndex(e=>e.ref.current===t),i=n.length;if(r===-1)return;e.preventDefault();let o=r,s=i-1,u=()=>{o=r+1,o>s&&(o=0)},d=()=>{o=r-1,o<0&&(o=s)};switch(e.key){case`Home`:o=0;break;case`End`:o=s;break;case`ArrowRight`:a===`horizontal`&&(l?u():d());break;case`ArrowDown`:a===`vertical`&&u();break;case`ArrowLeft`:a===`horizontal`&&(l?d():u());break;case`ArrowUp`:a===`vertical`&&d();break}n[o%i].ref.current?.focus()});return(0,W.jsx)(Li,{scope:n,disabled:r,direction:i,orientation:a,children:(0,W.jsx)(wi.Slot,{scope:n,children:(0,W.jsx)(Xr.div,{...o,"data-orientation":a,ref:s,onKeyDown:r?void 0:u})})})}),Bi=`AccordionItem`,[Vi,Hi]=Di(Bi),Ui=V.forwardRef((e,t)=>{let{__scopeAccordion:n,value:r,...i}=e,a=Ri(Bi,n),o=Mi(Bi,n),s=ki(n),c=ii(),l=r&&o.value.includes(r)||!1,u=a.disabled||e.disabled;return(0,W.jsx)(Vi,{scope:n,open:l,disabled:u,triggerId:c,children:(0,W.jsx)(_i,{"data-orientation":a.orientation,"data-state":Xi(l),...s,...i,ref:t,disabled:u,open:l,onOpenChange:e=>{e?o.onItemOpen(r):o.onItemClose(r)}})})});Ui.displayName=Bi;var Wi=`AccordionHeader`,Gi=V.forwardRef((e,t)=>{let{__scopeAccordion:n,...r}=e,i=Ri(Si,n),a=Hi(Wi,n);return(0,W.jsx)(Xr.h3,{"data-orientation":i.orientation,"data-state":Xi(a.open),"data-disabled":a.disabled?``:void 0,...r,ref:t})});Gi.displayName=Wi;var Ki=`AccordionTrigger`,qi=V.forwardRef((e,t)=>{let{__scopeAccordion:n,...r}=e,i=Ri(Si,n),a=Hi(Ki,n),o=Pi(Ki,n),s=ki(n);return(0,W.jsx)(wi.ItemSlot,{scope:n,children:(0,W.jsx)(vi,{"aria-disabled":a.open&&!o.collapsible||void 0,"data-orientation":i.orientation,id:a.triggerId,...s,...r,ref:t})})});qi.displayName=Ki;var Ji=`AccordionContent`,Yi=V.forwardRef((e,t)=>{let{__scopeAccordion:n,...r}=e,i=Ri(Si,n),a=Hi(Ji,n),o=ki(n);return(0,W.jsx)(yi,{role:`region`,"aria-labelledby":a.triggerId,"data-orientation":i.orientation,...o,...r,ref:t,style:{"--radix-accordion-content-height":`var(--radix-collapsible-content-height)`,"--radix-accordion-content-width":`var(--radix-collapsible-content-width)`,...e.style}})});Yi.displayName=Ji;function Xi(e){return e?`open`:`closed`}var Zi=Ai,Qi=Ui,$i=qi,ea=Yi;function ta(e){return C({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M256 16C141.31 16 48 109.31 48 224v154.83l82 32.81L146.88 496H192v-64h32v64h16v-64h32v64h16v-64h32v64h45.12L382 411.64l82-32.81V224c0-114.69-93.31-208-208-208zm-88 320a56 56 0 1 1 56-56 56.06 56.06 0 0 1-56 56zm51.51 64L244 320h24l24.49 80zM344 336a56 56 0 1 1 56-56 56.06 56.06 0 0 1-56 56zm104 32z`},child:[]}]})(e)}function na(e){return C({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`m190.06 414 163.12-139.78a24 24 0 0 0 0-36.44L190.06 98c-15.57-13.34-39.62-2.28-39.62 18.22v279.6c0 20.5 24.05 31.56 39.62 18.18z`},child:[]}]})(e)}var ra={AccordionGroup:`_AccordionGroup_b0qoe_1`,Trigger:`_Trigger_b0qoe_7`,TriggerIcon:`_TriggerIcon_b0qoe_24`,Content:`_Content_b0qoe_35`,slideDown:`_slideDown_b0qoe_1`,slideUp:`_slideUp_b0qoe_1`,Body:`_Body_b0qoe_47`,BodyNoPadding:`_BodyNoPadding_b0qoe_51`};function ia(e){let t=(0,H.c)(2),n;return t[0]===e?n=t[1]:(n=(0,W.jsx)(Zi,{className:ra.AccordionGroup,...e}),t[0]=e,t[1]=n),n}function aa(e){let t=(0,H.c)(10),{value:n,label:r,children:i,noPadding:a}=e,o=a===void 0?!1:a,s;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,W.jsx)(na,{className:ra.TriggerIcon}),t[0]=s):s=t[0];let c;t[1]===r?c=t[2]:(c=(0,W.jsxs)($i,{className:ra.Trigger,children:[s,` `,r]}),t[1]=r,t[2]=c);let l=o?ra.BodyNoPadding:ra.Body,u;t[3]!==i||t[4]!==l?(u=(0,W.jsx)(ea,{className:ra.Content,children:(0,W.jsx)(`div`,{className:l,children:i})}),t[3]=i,t[4]=l,t[5]=u):u=t[5];let d;return t[6]!==c||t[7]!==u||t[8]!==n?(d=(0,W.jsxs)(Qi,{value:n,children:[c,u]}),t[6]=c,t[7]=u,t[8]=n,t[9]=d):d=t[9],d}function oa(e){return C({tag:`svg`,attr:{viewBox:`0 0 256 256`,fill:`currentColor`},child:[{tag:`path`,attr:{d:`M144,16H112A64.07,64.07,0,0,0,48,80v96a64.07,64.07,0,0,0,64,64h32a64.07,64.07,0,0,0,64-64V80A64.07,64.07,0,0,0,144,16Zm48,160a48.05,48.05,0,0,1-48,48H112a48.05,48.05,0,0,1-48-48V80a48.05,48.05,0,0,1,48-48h32a48.05,48.05,0,0,1,48,48ZM136,83.31v89.38l10.34-10.35a8,8,0,0,1,11.32,11.32l-24,24a8,8,0,0,1-11.32,0l-24-24a8,8,0,0,1,11.32-11.32L120,172.69V83.31L109.66,93.66A8,8,0,0,1,98.34,82.34l24-24a8,8,0,0,1,11.32,0l24,24a8,8,0,0,1-11.32,11.32Z`},child:[]}]})(e)}function sa(e){return C({tag:`svg`,attr:{viewBox:`0 0 256 256`,fill:`currentColor`},child:[{tag:`path`,attr:{d:`M144,16H112A64.07,64.07,0,0,0,48,80v96a64.07,64.07,0,0,0,64,64h32a64.07,64.07,0,0,0,64-64V80A64.07,64.07,0,0,0,144,16Zm48,64v24H128V32h16A48.05,48.05,0,0,1,192,80ZM144,224H112a48.05,48.05,0,0,1-48-48V120H192v56A48.05,48.05,0,0,1,144,224Z`},child:[]}]})(e)}function ca(e){return C({tag:`svg`,attr:{viewBox:`0 0 256 256`,fill:`currentColor`},child:[{tag:`path`,attr:{d:`M239.22,59.44l-45.63,95.82a3.54,3.54,0,0,1-.16.34l-34.21,71.84a8,8,0,1,1-14.44-6.88L173.62,160H40a8,8,0,0,1-5.66-13.66L76.69,104,34.34,61.66A8,8,0,0,1,40,48H232a8,8,0,0,1,7.22,11.44Z`},child:[]}]})(e)}function la(e){return C({tag:`svg`,attr:{viewBox:`0 0 1024 1024`},child:[{tag:`path`,attr:{d:`M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm234.8 736.5L223.5 277.2c16-19.7 34-37.7 53.7-53.7l523.3 523.3c-16 19.6-34 37.7-53.7 53.7z`},child:[]}]})(e)}function ua(e){return C({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`path`,attr:{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`},child:[]},{tag:`circle`,attr:{cx:`9`,cy:`7`,r:`4`},child:[]},{tag:`path`,attr:{d:`M22 21v-2a4 4 0 0 0-3-3.87`},child:[]},{tag:`path`,attr:{d:`M16 3.13a4 4 0 0 1 0 7.75`},child:[]}]})(e)}function da(e){return C({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`rect`,attr:{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`},child:[]},{tag:`path`,attr:{d:`M3 9h18`},child:[]},{tag:`path`,attr:{d:`m15 14-3 3-3-3`},child:[]}]})(e)}function fa(e){return C({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`rect`,attr:{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`},child:[]},{tag:`path`,attr:{d:`M3 9h18`},child:[]},{tag:`path`,attr:{d:`m9 16 3-3 3 3`},child:[]}]})(e)}function pa(e){return C({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`rect`,attr:{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`},child:[]},{tag:`path`,attr:{d:`M9 3v18`},child:[]},{tag:`path`,attr:{d:`m14 9 3 3-3 3`},child:[]}]})(e)}function ma(e){return C({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`rect`,attr:{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`},child:[]},{tag:`path`,attr:{d:`M9 3v18`},child:[]},{tag:`path`,attr:{d:`m16 15-3-3 3-3`},child:[]}]})(e)}function ha(e){return C({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`circle`,attr:{cx:`12`,cy:`12`,r:`10`},child:[]},{tag:`line`,attr:{x1:`22`,x2:`18`,y1:`12`,y2:`12`},child:[]},{tag:`line`,attr:{x1:`6`,x2:`2`,y1:`12`,y2:`12`},child:[]},{tag:`line`,attr:{x1:`12`,x2:`12`,y1:`6`,y2:`2`},child:[]},{tag:`line`,attr:{x1:`12`,x2:`12`,y1:`22`,y2:`18`},child:[]}]})(e)}function ga(e){return C({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`rect`,attr:{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`},child:[]},{tag:`path`,attr:{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`},child:[]},{tag:`path`,attr:{d:`M12 11h4`},child:[]},{tag:`path`,attr:{d:`M12 16h4`},child:[]},{tag:`path`,attr:{d:`M8 11h.01`},child:[]},{tag:`path`,attr:{d:`M8 16h.01`},child:[]}]})(e)}function _a(e){return C({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},child:[{tag:`path`,attr:{d:`M2 8V2h6`},child:[]},{tag:`path`,attr:{d:`m2 2 10 10`},child:[]},{tag:`path`,attr:{d:`M12 2A10 10 0 1 1 2 12`},child:[]}]})(e)}var K={Root:`_Root_cfjcw_1`,ProgressWrap:`_ProgressWrap_cfjcw_6`,ProgressLabel:`_ProgressLabel_cfjcw_13`,ProgressBar:`_ProgressBar_cfjcw_19`,ProgressFill:`_ProgressFill_cfjcw_27`,Filters:`_Filters_cfjcw_33`,FilterButton:`_FilterButton_cfjcw_40`,EventList:`_EventList_cfjcw_57`,EventRow:`_EventRow_cfjcw_63`,EventTime:`_EventTime_cfjcw_120`,EventIcon:`_EventIcon_cfjcw_129`,EventDescription:`_EventDescription_cfjcw_172`,Killer:`_Killer_cfjcw_177`,Victim:`_Victim_cfjcw_180`,DamageType:`_DamageType_cfjcw_183`,Empty:`_Empty_cfjcw_186`};function va(e){return`${Math.floor(e/60)}:${Math.floor(e%60).toString().padStart(2,`0`)}`}var ya={kill:(0,W.jsx)(ha,{}),death:(0,W.jsx)(ta,{}),"flag-grab":(0,W.jsx)(ca,{}),"flag-return":(0,W.jsx)(ca,{}),"flag-cap":(0,W.jsx)(ca,{}),"match-start":(0,W.jsx)(Er,{}),"match-end":(0,W.jsx)(la,{})},ba={chaingun:`chaingunned`,plasma:`plasma rifled`};function xa(e){if(e.type===`kill`&&e.killer&&e.victim)return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`span`,{className:K.Killer,title:e.killer,children:`You`}),` `,(0,W.jsx)(`span`,{className:K.DamageType,children:e.weapon?ba[e.weapon]??`${e.weapon}${e.weapon.endsWith(`e`)?`d`:`ed`}`:`killed`}),` `,(0,W.jsx)(`span`,{className:K.Victim,children:e.victim})]});if(e.type===`death`)return e.killer?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`span`,{className:K.Killer,children:e.killer}),` `,(0,W.jsx)(`span`,{className:K.DamageType,children:e.weapon?ba[e.weapon]??`${e.weapon}${e.weapon.endsWith(`e`)?`d`:`ed`}`:`killed`}),` `,(0,W.jsx)(`span`,{className:K.Victim,title:e.victim,children:`you`})]}):(0,W.jsx)(W.Fragment,{children:e.description});if(e.type===`flag-grab`)return(0,W.jsxs)(W.Fragment,{children:[`You grabbed `,e.flagTeamName?`the ${e.flagTeamName} flag`:`the enemy flag`]});if(e.type===`flag-return`)return(0,W.jsx)(W.Fragment,{children:`You returned your flag`});if(e.type===`flag-cap`&&e.capturer){let t=e.teamAffinity===`friendly`?`the enemy flag`:e.teamAffinity===`enemy`?`your flag`:e.flagTeamName?`the ${e.flagTeamName} flag`:`a flag`;return(0,W.jsxs)(W.Fragment,{children:[e.capturer,` captured `,t]})}return e.type===`match-start`?`Match started`:e.type===`match-end`?`Match ended`:e.description}function Sa(){let e=(0,H.c)(58),t=mn(ka),n=mn(Oa),{seek:r}=vr(),[i,a]=(0,V.useState)(`all`),o,s;if(e[0]!==t||e[1]!==i||e[2]!==n||e[3]!==r){s=Symbol.for(`react.early_return_sentinel`);bb0:{let c=t?.filter(e=>i===`all`||e.type===i)??[],l;e[6]===r?l=e[7]:(l=e=>{r(Math.max(0,e-3)),document.activeElement instanceof HTMLElement&&document.activeElement.blur()},e[6]=r,e[7]=l);let u=l;if(n!=null&&t==null){let t;e[8]===n?t=e[9]:(t=Math.round(n*100),e[8]=n,e[9]=t);let r;e[10]===t?r=e[11]:(r=(0,W.jsxs)(`span`,{className:K.ProgressLabel,children:[`Scanning… `,t,`%`]}),e[10]=t,e[11]=r);let i=`${n*100}%`,a;e[12]===i?a=e[13]:(a=(0,W.jsx)(`div`,{className:K.ProgressBar,children:(0,W.jsx)(`div`,{className:K.ProgressFill,style:{width:i}})}),e[12]=i,e[13]=a);let o;e[14]!==r||e[15]!==a?(o=(0,W.jsx)(`div`,{className:K.Root,children:(0,W.jsxs)(`div`,{className:K.ProgressWrap,children:[r,a]})}),e[14]=r,e[15]=a,e[16]=o):o=e[16],s=o;break bb0}if(!t){s=null;break bb0}let d;e[17]===t?d=e[18]:(d=t.filter(Da),e[17]=t,e[18]=d);let f=d.length,p;e[19]===t?p=e[20]:(p=t.filter(Ea),e[19]=t,e[20]=p);let m=p.length,h;e[21]===t?h=e[22]:(h=t.filter(Ta),e[21]=t,e[22]=h);let g=h.length,_;e[23]===t?_=e[24]:(_=t.filter(wa),e[23]=t,e[24]=_);let v=_.length,y;e[25]===t?y=e[26]:(y=t.filter(Ca),e[25]=t,e[26]=y);let b=y.length,x=i===`all`,S;e[27]===Symbol.for(`react.memo_cache_sentinel`)?(S=()=>a(`all`),e[27]=S):S=e[27];let C;e[28]!==t.length||e[29]!==x?(C=(0,W.jsxs)(`button`,{type:`button`,className:K.FilterButton,"data-active":x,onClick:S,children:[`All (`,t.length,`)`]}),e[28]=t.length,e[29]=x,e[30]=C):C=e[30];let w=i===`kill`,T;e[31]===Symbol.for(`react.memo_cache_sentinel`)?(T=()=>a(`kill`),e[31]=T):T=e[31];let E;e[32]!==f||e[33]!==w?(E=(0,W.jsxs)(`button`,{type:`button`,className:K.FilterButton,"data-active":w,onClick:T,children:[`Kills (`,f,`)`]}),e[32]=f,e[33]=w,e[34]=E):E=e[34];let D=i===`death`,O;e[35]===Symbol.for(`react.memo_cache_sentinel`)?(O=()=>a(`death`),e[35]=O):O=e[35];let k;e[36]!==m||e[37]!==D?(k=(0,W.jsxs)(`button`,{type:`button`,className:K.FilterButton,"data-active":D,onClick:O,children:[`Deaths (`,m,`)`]}),e[36]=m,e[37]=D,e[38]=k):k=e[38];let A=i===`flag-grab`,j;e[39]===Symbol.for(`react.memo_cache_sentinel`)?(j=()=>a(`flag-grab`),e[39]=j):j=e[39];let M;e[40]!==g||e[41]!==A?(M=(0,W.jsxs)(`button`,{type:`button`,className:K.FilterButton,"data-active":A,onClick:j,children:[`Grabs (`,g,`)`]}),e[40]=g,e[41]=A,e[42]=M):M=e[42];let N=i===`flag-return`,P;e[43]===Symbol.for(`react.memo_cache_sentinel`)?(P=()=>a(`flag-return`),e[43]=P):P=e[43];let F;e[44]!==v||e[45]!==N?(F=(0,W.jsxs)(`button`,{type:`button`,className:K.FilterButton,"data-active":N,onClick:P,children:[`Returns (`,v,`)`]}),e[44]=v,e[45]=N,e[46]=F):F=e[46];let I=i===`flag-cap`,ee;e[47]===Symbol.for(`react.memo_cache_sentinel`)?(ee=()=>a(`flag-cap`),e[47]=ee):ee=e[47];let L;e[48]!==b||e[49]!==I?(L=(0,W.jsxs)(`button`,{type:`button`,className:K.FilterButton,"data-active":I,onClick:ee,children:[`Caps (`,b,`)`]}),e[48]=b,e[49]=I,e[50]=L):L=e[50];let te;e[51]!==C||e[52]!==E||e[53]!==k||e[54]!==M||e[55]!==F||e[56]!==L?(te=(0,W.jsxs)(`div`,{className:K.Filters,children:[C,E,k,M,F,L]}),e[51]=C,e[52]=E,e[53]=k,e[54]=M,e[55]=F,e[56]=L,e[57]=te):te=e[57],o=(0,W.jsxs)(`div`,{className:K.Root,children:[te,c.length===0?(0,W.jsx)(`div`,{className:K.Empty,children:`No events found.`}):(0,W.jsx)(`div`,{className:K.EventList,children:c.map((e,t)=>(0,W.jsxs)(`button`,{type:`button`,className:K.EventRow,onClick:()=>u(e.timeSec),children:[(0,W.jsx)(`span`,{className:K.EventTime,children:va(e.timeSec)}),(0,W.jsx)(`span`,{className:K.EventIcon,"data-type":e.type,"data-affinity":e.teamAffinity,children:ya[e.type]}),(0,W.jsx)(`span`,{className:K.EventDescription,children:xa(e)})]},`${e.timeSec}-${e.type}-${t}`))})]})}e[0]=t,e[1]=i,e[2]=n,e[3]=r,e[4]=o,e[5]=s}else o=e[4],s=e[5];return s===Symbol.for(`react.early_return_sentinel`)?o:s}function Ca(e){return e.type===`flag-cap`}function wa(e){return e.type===`flag-return`}function Ta(e){return e.type===`flag-grab`}function Ea(e){return e.type===`death`}function Da(e){return e.type===`kill`}function Oa(e){return e.scanProgress}function ka(e){return e.events}var Aa=new Map([[`flag`,`Flags`],[`huntersflag1`,`Flags`],[`huntersflag2`,`Flags`],[`huntersflag4`,`Flags`],[`huntersflag8`,`Flags`],[`stationinventory`,`Inventory Stations`],[`stationammo`,`Inventory Stations`],[`mobileinvstation`,`Inventory Stations`],[`stationvehiclepad`,`Vehicle Pads`],[`stationvehicle`,`Vehicle Pads`],[`generatorlarge`,`Generators`],[`solarpanel`,`Generators`],[`sensorlargepulse`,`Sensors`],[`sensormediumpulse`,`Sensors`],[`turretbaselarge`,`Turrets`],[`sentryturret`,`Turrets`],[`repairpatch`,`Health`],[`repairkit`,`Health`],[`ammopack`,`Packs`],[`energypack`,`Packs`],[`shieldpack`,`Packs`],[`repairpack`,`Packs`],[`cloakingpack`,`Packs`],[`sensorjammerpack`,`Packs`],[`aabarrelpack`,`Packs`],[`elfbarrelpack`,`Packs`],[`missilebarrelpack`,`Packs`],[`mortarbarrelpack`,`Packs`],[`plasmabarrelpack`,`Packs`],[`inventorydeployable`,`Packs`],[`motionsensordeployable`,`Packs`],[`pulsesensordeployable`,`Packs`],[`turretoutdoordeployable`,`Packs`],[`turretindoordeployable`,`Packs`],[`satchelcharge`,`Weapons`],[`blaster`,`Weapons`],[`chaingun`,`Weapons`],[`disc`,`Weapons`],[`grenadelauncher`,`Weapons`],[`elfgun`,`Weapons`],[`missilelauncher`,`Weapons`],[`mortar`,`Weapons`],[`plasma`,`Weapons`],[`shocklance`,`Weapons`],[`sniperrifle`,`Weapons`],[`targetinglaser`,`Weapons`],[`chaingunammo`,`Ammo`],[`discammo`,`Ammo`],[`grenadelauncherammo`,`Ammo`],[`missilelauncherammo`,`Ammo`],[`mortarammo`,`Ammo`],[`plasmaammo`,`Ammo`],[`bombammo`,`Ammo`],[`assaultmortarammo`,`Ammo`],[`grenade`,`Ammo`],[`concussiongrenade`,`Ammo`],[`flashgrenade`,`Ammo`],[`flaregrenade`,`Ammo`],[`cameragrenade`,`Ammo`],[`mine`,`Ammo`],[`beacon`,`Ammo`],[`flipflop`,`Switches`],[`nexus`,`Nexus`],[`nexusbase`,`Nexus`],[`nexuscap`,`Nexus`]]),ja=[`Flags`,`Inventory Stations`,`Generators`,`Vehicle Pads`,`Turrets`,`Sensors`,`Nexus`,`Switches`,`Packs`,`Health`,`Weapons`,`Ammo`];function Ma(e){return e.renderType===`Shape`&&typeof e.dataBlock==`string`&&e.dataBlock!==``&&Array.isArray(e.position)}function Na(e,t){let n=new Map;for(let r of e.values()){if(!Ma(r))continue;let e=Aa.get(r.dataBlock.toLowerCase());if(!e)continue;let i=r.dataBlock;if(t&&r.runtimeObject){let e=k(r.runtimeObject,t);e&&(i=e)}let a=n.get(e);a||(a=[],n.set(e,a)),a.push({entityId:r.id,label:i,position:r.position,teamId:r.teamId})}let r=[];for(let e of ja){let t=n.get(e);t&&t.length>0&&(t.sort((e,t)=>{let n=(e.teamId??0)-(t.teamId??0);return n===0?e.label.localeCompare(t.label):n}),r.push({name:e,targets:t}))}return r}var Pa={Root:`_Root_pb9qa_1`,Empty:`_Empty_pb9qa_6`,TourAllButton:`_TourAllButton_pb9qa_13`,CategoryHeader:`_CategoryHeader_pb9qa_40`,CategoryCount:`_CategoryCount_pb9qa_58`,TourButton:`_TourButton_pb9qa_63`,PlayIcon:`_PlayIcon_pb9qa_83`,ExitIcon:`_ExitIcon_pb9qa_87`,ItemList:`_ItemList_pb9qa_100`,ItemRow:`_ItemRow_pb9qa_106`,ItemLabel:`_ItemLabel_pb9qa_151`,TeamBadge:`_TeamBadge_pb9qa_156`};function Fa(e){return C({tag:`svg`,attr:{viewBox:`0 0 20 20`,fill:`currentColor`,"aria-hidden":`true`},child:[{tag:`path`,attr:{fillRule:`evenodd`,d:`M3 4.25A2.25 2.25 0 0 1 5.25 2h5.5A2.25 2.25 0 0 1 13 4.25v2a.75.75 0 0 1-1.5 0v-2a.75.75 0 0 0-.75-.75h-5.5a.75.75 0 0 0-.75.75v11.5c0 .414.336.75.75.75h5.5a.75.75 0 0 0 .75-.75v-2a.75.75 0 0 1 1.5 0v2A2.25 2.25 0 0 1 10.75 18h-5.5A2.25 2.25 0 0 1 3 15.75V4.25Z`,clipRule:`evenodd`},child:[]},{tag:`path`,attr:{fillRule:`evenodd`,d:`M19 10a.75.75 0 0 0-.75-.75H8.704l1.048-.943a.75.75 0 1 0-1.004-1.114l-2.5 2.25a.75.75 0 0 0 0 1.114l2.5 2.25a.75.75 0 1 0 1.004-1.114l-1.048-.943h9.546A.75.75 0 0 0 19 10Z`,clipRule:`evenodd`},child:[]}]})(e)}var Ia=`__all__`;function La(e){return e.animation?{targets:e.animation.targets,categoryName:e.animation.categoryName,currentIndex:e.animation.currentIndex}:null}function Ra(e,t){return e===t?!0:!e||!t?!1:e.categoryName===t.categoryName&&e.currentIndex===t.currentIndex&&e.targets===t.targets}function za(){let e=(0,H.c)(28),t=jn(),n=L(Va),r;e[0]!==n||e[1]!==t?(r=Na(t,n),e[0]=n,e[1]=t,e[2]=r):r=e[2];let i=r,a=re(La,Ra),o;if(e[3]!==i){o=new Map;for(let e=0;e{let n=e.teamId!=null&&e.teamId>0?e.teamId:1/0,r=t.teamId!=null&&t.teamId>0?t.teamId:1/0;if(n!==r)return n-r;let i=o.get(e)??0,a=o.get(t)??0;return i===a?e.label.localeCompare(t.label):i-a},e[8]=o,e[9]=t),s=i.flatMap(Ba).sort(t),e[5]=i,e[6]=o,e[7]=s}else s=e[7];let c=s;if(i.length===0){let t;return e[10]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,W.jsx)(`div`,{className:Pa.Root,children:(0,W.jsx)(`p`,{className:Pa.Empty,children:`No map features found`})}),e[10]=t):t=e[10],t}let l=a!==null&&a.categoryName===Ia,u;e[11]!==c||e[12]!==l?(u=()=>{l?ie.getState().cancel():ie.getState().startTour(c,Ia)},e[11]=c,e[12]=l,e[13]=u):u=e[13];let d=u,f;e[14]===l?f=e[15]:(f=l?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(Fa,{className:Pa.ExitIcon}),` Exit tour`]}):(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(Er,{className:Pa.PlayIcon}),` `,(0,W.jsx)(`span`,{className:Pa.ButtonLabel,children:`Tour all features`})]}),e[14]=l,e[15]=f);let p;e[16]!==d||e[17]!==l||e[18]!==f?(p=(0,W.jsx)(`button`,{type:`button`,className:Pa.TourAllButton,"data-active":l,onClick:d,children:f}),e[16]=d,e[17]=l,e[18]=f,e[19]=p):p=e[19];let m;if(e[20]!==i||e[21]!==a){let t;e[23]===a?t=e[24]:(t=e=>(0,W.jsx)(Ha,{category:e,tourState:a},e.name),e[23]=a,e[24]=t),m=i.map(t),e[20]=i,e[21]=a,e[22]=m}else m=e[22];let h;return e[25]!==p||e[26]!==m?(h=(0,W.jsxs)(`div`,{className:Pa.Root,children:[p,m]}),e[25]=p,e[26]=m,e[27]=h):h=e[27],h}function Ba(e){return e.targets}function Va(e){return e.runtime.runtime?.state.datablocks}function Ha(e){let t=(0,H.c)(30),{category:n,tourState:r}=e,i=r!==null&&r.categoryName===n.name,a;t[0]!==n.name||t[1]!==n.targets||t[2]!==i?(a=()=>{i?ie.getState().cancel():ie.getState().startTour(n.targets,n.name)},t[0]=n.name,t[1]=n.targets,t[2]=i,t[3]=a):a=t[3];let o=a,s;t[4]===n.name?s=t[5]:(s=(0,W.jsx)(`span`,{children:n.name}),t[4]=n.name,t[5]=s);let c;t[6]===n.targets.length?c=t[7]:(c=(0,W.jsxs)(`span`,{className:Pa.CategoryCount,children:[`(`,n.targets.length,`)`]}),t[6]=n.targets.length,t[7]=c);let l;t[8]===i?l=t[9]:(l=i?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(Fa,{className:Pa.ExitIcon}),` Exit tour`]}):(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(Er,{className:Pa.PlayIcon}),` Tour all`]}),t[8]=i,t[9]=l);let u;t[10]!==o||t[11]!==i||t[12]!==l?(u=(0,W.jsx)(`button`,{type:`button`,className:Pa.TourButton,"data-active":i,onClick:o,children:l}),t[10]=o,t[11]=i,t[12]=l,t[13]=u):u=t[13];let d;t[14]!==s||t[15]!==c||t[16]!==u?(d=(0,W.jsxs)(`div`,{className:Pa.CategoryHeader,children:[s,c,u]}),t[14]=s,t[15]=c,t[16]=u,t[17]=d):d=t[17];let f;if(t[18]!==n.targets||t[19]!==i||t[20]!==r){let e;t[22]!==i||t[23]!==r?(e=(e,t)=>{let n=i&&r.currentIndex===t||r!==null&&r.targets[r.currentIndex]?.entityId===e.entityId;return(0,W.jsxs)(`button`,{type:`button`,className:Pa.ItemRow,"data-active":n,onClick:()=>ie.getState().flyTo(e),children:[(0,W.jsx)(Er,{className:Pa.PlayIcon}),` `,(0,W.jsx)(`span`,{className:Pa.ItemLabel,children:e.label}),e.teamId!=null&&e.teamId>0&&(0,W.jsx)(`span`,{className:Pa.TeamBadge,"data-team":e.teamId,children:A[e.teamId]??`Team ${e.teamId}`})]},e.entityId)},t[22]=i,t[23]=r,t[24]=e):e=t[24],f=n.targets.map(e),t[18]=n.targets,t[19]=i,t[20]=r,t[21]=f}else f=t[21];let p;t[25]===f?p=t[26]:(p=(0,W.jsx)(`div`,{className:Pa.ItemList,children:f}),t[25]=f,t[26]=p);let m;return t[27]!==d||t[28]!==p?(m=(0,W.jsxs)(W.Fragment,{children:[d,p]}),t[27]=d,t[28]=p,t[29]=m):m=t[29],m}function Ua(e){return C({tag:`svg`,attr:{viewBox:`0 0 24 24`,fill:`currentColor`},child:[{tag:`path`,attr:{d:`M16 21L11.2381 12.2698L15 6L23 21H16ZM8 10L14 21H2L8 10ZM5.5 8C4.11929 8 3 6.88071 3 5.5C3 4.11929 4.11929 3 5.5 3C6.88071 3 8 4.11929 8 5.5C8 6.88071 6.88071 8 5.5 8Z`},child:[]}]})(e)}function Wa(e){let t=(0,H.c)(6),{isActive:n,onClick:r}=e,i=n===void 0?!1:n,a,o,s;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,W.jsx)(Ua,{}),o=(0,W.jsx)(`span`,{className:sn.ButtonLabel,children:`Explore`}),s=(0,W.jsx)(`span`,{className:sn.ButtonHint,children:`Browse maps`}),t[0]=a,t[1]=o,t[2]=s):(a=t[0],o=t[1],s=t[2]);let c;return t[3]!==i||t[4]!==r?(c=(0,W.jsxs)(`button`,{type:`button`,className:sn.Button,onClick:r,"data-active":i,children:[a,o,s]}),t[3]=i,t[4]=r,t[5]=c):c=t[5],c}function Ga(e){let t=(0,H.c)(7),{missionName:n,onClick:r}=e,i=Bn(),a=Hn(),o=i===`demo`||i===`live`?a:n,s;t[0]===o?s=t[1]:(s=o?E(o):!1,t[0]=o,t[1]=s);let c=!s,l,u;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,W.jsx)(ga,{}),u=(0,W.jsx)(`span`,{className:sn.ButtonLabel,children:`Show map info`}),t[2]=l,t[3]=u):(l=t[2],u=t[3]);let d;return t[4]!==r||t[5]!==c?(d=(0,W.jsxs)(`button`,{type:`button`,className:sn.Button,"aria-label":`Show map info`,onClick:r,disabled:c,children:[l,u]}),t[4]=r,t[5]=c,t[6]=d):d=t[6],d}function Ka(e){let t=(0,H.c)(4),{onClick:n}=e,r,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,W.jsx)(ua,{}),i=(0,W.jsx)(`span`,{className:sn.ButtonLabel,children:`Show scores`}),t[0]=r,t[1]=i):(r=t[0],i=t[1]);let a;return t[2]===n?a=t[3]:(a=(0,W.jsxs)(`button`,{type:`button`,className:sn.Button,"aria-label":`Show scores`,onClick:n,children:[r,i]}),t[2]=n,t[3]=a),a}var q={InspectorControls:`_InspectorControls_ukzik_1`,Dropdown:`_Dropdown_ukzik_8`,Group:`_Group_ukzik_16`,CheckboxField:`_CheckboxField_ukzik_24`,Label:`_Label_ukzik_39`,Description:`_Description_ukzik_47`,Control:`_Control_ukzik_60`,Field:`_Field_ukzik_67`,Tools:`_Tools_ukzik_91`,MapInfoButton:`_MapInfoButton_ukzik_114 _Button_p0g82_2`,ShowScoresButton:`_ShowScoresButton_ukzik_115 _Button_p0g82_2`,ForceRenderButton:`_ForceRenderButton_ukzik_119`,CloseSidebarButton:`_CloseSidebarButton_ukzik_131 _Button_p0g82_2`},qa=[`controls`,`preferences`,`audio`,`timeline`],Ja=(0,V.memo)(function(e){let t=(0,H.c)(218),{missionName:n,missionType:r,onOpenMapInfo:i,onOpenScoreScreen:a,onOpenServerBrowser:o,onChooseMap:s,onCancelChoosingMap:c,choosingMap:l,cameraRef:u,invalidateRef:d,onClose:f}=e,p=S(),m=Bn(),_=cr(),v=Hn(),b=m===`demo`||m===`live`?v:n,x;t[0]===b?x=t[1]:(x=b?E(b):!1,t[0]=b,t[1]=x);let C=x,w=ar(Ya),{fogEnabled:T,setFogEnabled:D,fov:O,setFov:k,audioEnabled:A,setAudioEnabled:j,audioVolume:M,setAudioVolume:N,adjustAudioSpeed:P,setAdjustAudioSpeed:F,animationEnabled:I,setAnimationEnabled:ee,fpsLimit:L,setFpsLimit:te,showInputOverlay:ne,setShowInputOverlay:R}=h(),{speedMultiplier:re,setSpeedMultiplier:ie,mouseSensitivity:z,setMouseSensitivity:ae,touchMode:oe,setTouchMode:se,invertScroll:ce,setInvertScroll:le,invertDrag:B,setInvertDrag:ue,invertJoystick:de,setInvertJoystick:fe}=y(),{debugMode:pe,setDebugMode:me,renderOnDemand:he,setRenderOnDemand:ge}=g(),[_e,ve]=(0,V.useState)(!1),ye=(0,V.useRef)(null),be=(0,V.useRef)(null),xe=(0,V.useRef)(null),Se,Ce;t[2]===_e?(Se=t[3],Ce=t[4]):(Se=()=>{_e&&ye.current?.focus()},Ce=[_e],t[2]=_e,t[3]=Se,t[4]=Ce),(0,V.useEffect)(Se,Ce);let we;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(we=e=>{let t=e.relatedTarget;t&&xe.current?.contains(t)||ve(!1)},t[5]=we):we=t[5];let Te=we,Ee;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(Ee=e=>{e.key===`Escape`&&(ve(!1),be.current?.focus())},t[6]=Ee):Ee=t[6];let De=Ee,Oe=m===`map`&&!_||(l??!1),ke;t[7]!==s||t[8]!==Oe?(ke=(0,W.jsx)(Wa,{isActive:Oe,onClick:s}),t[7]=s,t[8]=Oe,t[9]=ke):ke=t[9];let Ae=!l&&_?.source===`demo`,je;t[10]!==l||t[11]!==c||t[12]!==Ae?(je=(0,W.jsx)(wr,{isActive:Ae,choosingMap:l,onCancelChoosingMap:c}),t[10]=l,t[11]=c,t[12]=Ae,t[13]=je):je=t[13];let Me;t[14]!==l||t[15]!==w||t[16]!==o?(Me=o&&(0,W.jsx)(Or,{isActive:!l&&w,onOpenServerBrowser:o}),t[14]=l,t[15]=w,t[16]=o,t[17]=Me):Me=t[17];let Ne;t[18]!==Me||t[19]!==ke||t[20]!==je?(Ne=(0,W.jsxs)(`div`,{className:sn.ButtonGroup,children:[ke,je,Me]}),t[18]=Me,t[19]=ke,t[20]=je,t[21]=Ne):Ne=t[21];let Pe=!C,Fe;t[22]!==u||t[23]!==n||t[24]!==r||t[25]!==Pe?(Fe=(0,W.jsx)(un,{missionName:n,missionType:r,cameraRef:u,disabled:Pe}),t[22]=u,t[23]=n,t[24]=r,t[25]=Pe,t[26]=Fe):Fe=t[26];let Ie;t[27]!==n||t[28]!==i?(Ie=(0,W.jsx)(Ga,{missionName:n,onClick:i}),t[27]=n,t[28]=i,t[29]=Ie):Ie=t[29];let Le;t[30]===a?Le=t[31]:(Le=a&&(0,W.jsx)(Ka,{onClick:a}),t[30]=a,t[31]=Le);let Re;t[32]!==Ne||t[33]!==Fe||t[34]!==Ie||t[35]!==Le?(Re=(0,W.jsxs)(`div`,{className:q.Tools,children:[Ne,Fe,Ie,Le]}),t[32]=Ne,t[33]=Fe,t[34]=Ie,t[35]=Le,t[36]=Re):Re=t[36];let ze;t[37]===_?.source?ze=t[38]:(ze=_?.source===`demo`&&(0,W.jsx)(aa,{value:`timeline`,label:`Timeline`,noPadding:!0,children:(0,W.jsx)(Sa,{})}),t[37]=_?.source,t[38]=ze);let Be;t[39]!==m||t[40]!==_?(Be=m===`map`&&!_&&(0,W.jsx)(aa,{value:`mapFeatures`,label:`Map Features`,noPadding:!0,children:(0,W.jsx)(za,{})}),t[39]=m,t[40]=_,t[41]=Be):Be=t[41];let Ve;t[42]===Symbol.for(`react.memo_cache_sentinel`)?(Ve=(0,W.jsx)(`label`,{htmlFor:`speedInput`,children:`Fly speed`}),t[42]=Ve):Ve=t[42];let He;t[43]===re?He=t[44]:(He=Math.round(re*100),t[43]=re,t[44]=He);let Ue;t[45]===ie?Ue=t[46]:(Ue=e=>ie(parseFloat(e.target.value)/100),t[45]=ie,t[46]=Ue);let We;t[47]!==He||t[48]!==Ue?(We=(0,W.jsx)(`div`,{className:q.Control,children:(0,W.jsx)(`input`,{id:`speedInput`,type:`range`,min:1,max:100,step:1,value:He,onChange:Ue})}),t[47]=He,t[48]=Ue,t[49]=We):We=t[49];let Ge=p===!1?` Use your scroll wheel or trackpad to adjust while flying.`:``,Ke;t[50]===Ge?Ke=t[51]:(Ke=(0,W.jsxs)(`p`,{className:q.Description,children:[`How fast you move in free-flying mode.`,Ge]}),t[50]=Ge,t[51]=Ke);let qe;t[52]!==We||t[53]!==Ke?(qe=(0,W.jsxs)(`div`,{className:q.Field,children:[Ve,We,Ke]}),t[52]=We,t[53]=Ke,t[54]=qe):qe=t[54];let Je;t[55]!==p||t[56]!==se||t[57]!==oe?(Je=p?(0,W.jsxs)(`div`,{className:q.Field,children:[(0,W.jsx)(`label`,{htmlFor:`touchModeInput`,children:`Joystick`}),` `,(0,W.jsx)(`div`,{className:q.Control,children:(0,W.jsxs)(`select`,{id:`touchModeInput`,value:oe,onChange:e=>se(e.target.value),children:[(0,W.jsx)(`option`,{value:`dualStick`,children:`Dual stick`}),(0,W.jsx)(`option`,{value:`moveLookStick`,children:`Single stick`})]})}),(0,W.jsx)(`p`,{className:q.Description,children:`Single stick has a unified move + look control. Dual stick has independent move + look.`})]}):null,t[55]=p,t[56]=se,t[57]=oe,t[58]=Je):Je=t[58];let Ye;t[59]!==ce||t[60]!==p||t[61]!==le?(Ye=p===!1?(0,W.jsxs)(`div`,{className:q.CheckboxField,children:[(0,W.jsx)(`input`,{id:`invertScroll`,type:`checkbox`,checked:ce,onChange:e=>{le(e.target.checked)}}),(0,W.jsx)(`label`,{className:q.Label,htmlFor:`invertScroll`,children:`Invert scroll direction`}),(0,W.jsx)(`p`,{className:q.Description,children:`Reverse which scroll direction increases and decreases fly speed.`})]}):null,t[59]=ce,t[60]=p,t[61]=le,t[62]=Ye):Ye=t[62];let Xe;t[63]!==de||t[64]!==p||t[65]!==fe?(Xe=p?(0,W.jsxs)(`div`,{className:q.CheckboxField,children:[(0,W.jsx)(`input`,{id:`invertJoystick`,type:`checkbox`,checked:de,onChange:e=>{fe(e.target.checked)}}),(0,W.jsx)(`label`,{className:q.Label,htmlFor:`invertJoystick`,children:`Invert joystick direction`}),(0,W.jsx)(`p`,{className:q.Description,children:`Reverse joystick look direction.`})]}):null,t[63]=de,t[64]=p,t[65]=fe,t[66]=Xe):Xe=t[66];let Ze;t[67]===ue?Ze=t[68]:(Ze=e=>{ue(e.target.checked)},t[67]=ue,t[68]=Ze);let Qe;t[69]!==B||t[70]!==Ze?(Qe=(0,W.jsx)(`input`,{id:`invertDrag`,type:`checkbox`,checked:B,onChange:Ze}),t[69]=B,t[70]=Ze,t[71]=Qe):Qe=t[71];let $e,et;t[72]===Symbol.for(`react.memo_cache_sentinel`)?($e=(0,W.jsx)(`label`,{className:q.Label,htmlFor:`invertDrag`,children:`Invert drag direction`}),et=(0,W.jsx)(`p`,{className:q.Description,children:`Reverse how dragging the viewport aims the camera.`}),t[72]=$e,t[73]=et):($e=t[72],et=t[73]);let tt;t[74]===Qe?tt=t[75]:(tt=(0,W.jsxs)(`div`,{className:q.CheckboxField,children:[Qe,$e,et]}),t[74]=Qe,t[75]=tt);let nt;t[76]!==p||t[77]!==z||t[78]!==ae?(nt=p===!1&&(0,W.jsxs)(`div`,{className:q.Field,children:[(0,W.jsx)(`label`,{htmlFor:`mouseSensitivityInput`,children:`Mouse sensitivity`}),(0,W.jsx)(`div`,{className:q.Control,children:(0,W.jsx)(`input`,{id:`mouseSensitivityInput`,type:`range`,min:1,max:256,step:2,value:Math.round(z*16e3),onChange:e=>{ae(parseInt(e.target.value)/16e3)}})})]}),t[76]=p,t[77]=z,t[78]=ae,t[79]=nt):nt=t[79];let rt;t[80]!==qe||t[81]!==Je||t[82]!==Ye||t[83]!==Xe||t[84]!==tt||t[85]!==nt?(rt=(0,W.jsxs)(aa,{value:`controls`,label:`Controls`,children:[qe,Je,Ye,Xe,tt,nt]}),t[80]=qe,t[81]=Je,t[82]=Ye,t[83]=Xe,t[84]=tt,t[85]=nt,t[86]=rt):rt=t[86];let it;t[87]===Symbol.for(`react.memo_cache_sentinel`)?(it=(0,W.jsx)(`label`,{htmlFor:`fovInput`,children:`FOV`}),t[87]=it):it=t[87];let at;t[88]===O?at=t[89]:(at=(0,W.jsxs)(`output`,{htmlFor:`fovInput`,children:[O,`°`]}),t[88]=O,t[89]=at);let ot;t[90]===k?ot=t[91]:(ot=e=>k(parseInt(e.target.value)),t[90]=k,t[91]=ot);let st;t[92]!==O||t[93]!==ot?(st=(0,W.jsx)(`input`,{id:`fovInput`,type:`range`,min:75,max:120,step:5,value:O,onChange:ot}),t[92]=O,t[93]=ot,t[94]=st):st=t[94];let ct;t[95]!==at||t[96]!==st?(ct=(0,W.jsxs)(`div`,{className:q.Field,children:[it,(0,W.jsxs)(`div`,{className:q.Control,children:[at,st]})]}),t[95]=at,t[96]=st,t[97]=ct):ct=t[97];let lt;t[98]===R?lt=t[99]:(lt=e=>{R(e.target.checked)},t[98]=R,t[99]=lt);let ut;t[100]!==ne||t[101]!==lt?(ut=(0,W.jsx)(`input`,{id:`showInputOverlayInput`,type:`checkbox`,checked:ne,onChange:lt}),t[100]=ne,t[101]=lt,t[102]=ut):ut=t[102];let dt;t[103]===Symbol.for(`react.memo_cache_sentinel`)?(dt=(0,W.jsx)(`label`,{className:q.Label,htmlFor:`showInputOverlayInput`,children:`Show input overlay`}),t[103]=dt):dt=t[103];let ft;t[104]===ut?ft=t[105]:(ft=(0,W.jsxs)(`div`,{className:q.CheckboxField,children:[ut,dt]}),t[104]=ut,t[105]=ft);let pt;t[106]!==ct||t[107]!==ft?(pt=(0,W.jsxs)(aa,{value:`preferences`,label:`Preferences`,children:[ct,ft]}),t[106]=ct,t[107]=ft,t[108]=pt):pt=t[108];let mt;t[109]===j?mt=t[110]:(mt=e=>{j(e.target.checked)},t[109]=j,t[110]=mt);let ht;t[111]!==A||t[112]!==mt?(ht=(0,W.jsx)(`input`,{id:`audioInput`,type:`checkbox`,checked:A,onChange:mt}),t[111]=A,t[112]=mt,t[113]=ht):ht=t[113];let gt;t[114]===Symbol.for(`react.memo_cache_sentinel`)?(gt=(0,W.jsx)(`label`,{className:q.Label,htmlFor:`audioInput`,children:`Enable audio`}),t[114]=gt):gt=t[114];let _t;t[115]===ht?_t=t[116]:(_t=(0,W.jsxs)(`div`,{className:q.CheckboxField,children:[ht,gt]}),t[115]=ht,t[116]=_t);let vt;t[117]===Symbol.for(`react.memo_cache_sentinel`)?(vt=(0,W.jsx)(`label`,{htmlFor:`volumeInput`,children:`Master volume`}),t[117]=vt):vt=t[117];let yt;t[118]===M?yt=t[119]:(yt=Math.round(M*100),t[118]=M,t[119]=yt);let bt;t[120]===yt?bt=t[121]:(bt=(0,W.jsxs)(`output`,{htmlFor:`volumeInput`,children:[yt,`%`]}),t[120]=yt,t[121]=bt);let xt;t[122]===N?xt=t[123]:(xt=e=>N(parseFloat(e.target.value)),t[122]=N,t[123]=xt);let St;t[124]!==M||t[125]!==xt?(St=(0,W.jsx)(`input`,{id:`volumeInput`,type:`range`,min:0,max:1,step:.05,value:M,onChange:xt}),t[124]=M,t[125]=xt,t[126]=St):St=t[126];let U;t[127]!==bt||t[128]!==St?(U=(0,W.jsxs)(`div`,{className:q.Field,children:[vt,(0,W.jsxs)(`div`,{className:q.Control,children:[bt,St]})]}),t[127]=bt,t[128]=St,t[129]=U):U=t[129];let Ct;t[130]===F?Ct=t[131]:(Ct=e=>{F(e.target.checked)},t[130]=F,t[131]=Ct);let wt;t[132]!==P||t[133]!==Ct?(wt=(0,W.jsx)(`input`,{id:`adjustAudioSpeedInput`,type:`checkbox`,checked:P,onChange:Ct}),t[132]=P,t[133]=Ct,t[134]=wt):wt=t[134];let Tt;t[135]===Symbol.for(`react.memo_cache_sentinel`)?(Tt=(0,W.jsx)(`label`,{className:q.Label,htmlFor:`adjustAudioSpeedInput`,children:`Adjust audio speed to match demo playback`}),t[135]=Tt):Tt=t[135];let Et;t[136]===wt?Et=t[137]:(Et=(0,W.jsxs)(`div`,{className:q.CheckboxField,children:[wt,Tt]}),t[136]=wt,t[137]=Et);let Dt;t[138]!==_t||t[139]!==U||t[140]!==Et?(Dt=(0,W.jsxs)(aa,{value:`audio`,label:`Audio`,children:[_t,U,Et]}),t[138]=_t,t[139]=U,t[140]=Et,t[141]=Dt):Dt=t[141];let Ot;t[142]===D?Ot=t[143]:(Ot=e=>{D(e.target.checked)},t[142]=D,t[143]=Ot);let kt;t[144]!==T||t[145]!==Ot?(kt=(0,W.jsx)(`input`,{id:`fogInput`,type:`checkbox`,checked:T,onChange:Ot}),t[144]=T,t[145]=Ot,t[146]=kt):kt=t[146];let At;t[147]===Symbol.for(`react.memo_cache_sentinel`)?(At=(0,W.jsx)(`label`,{className:q.Label,htmlFor:`fogInput`,children:`Enable fog`}),t[147]=At):At=t[147];let jt;t[148]===kt?jt=t[149]:(jt=(0,W.jsxs)(`div`,{className:q.CheckboxField,children:[kt,At]}),t[148]=kt,t[149]=jt);let Mt;t[150]===ee?Mt=t[151]:(Mt=e=>{ee(e.target.checked)},t[150]=ee,t[151]=Mt);let Nt;t[152]!==I||t[153]!==Mt?(Nt=(0,W.jsx)(`input`,{id:`animationInput`,type:`checkbox`,checked:I,onChange:Mt}),t[152]=I,t[153]=Mt,t[154]=Nt):Nt=t[154];let Pt;t[155]===Symbol.for(`react.memo_cache_sentinel`)?(Pt=(0,W.jsx)(`label`,{className:q.Label,htmlFor:`animationInput`,children:`Enable animations`}),t[155]=Pt):Pt=t[155];let Ft;t[156]===Nt?Ft=t[157]:(Ft=(0,W.jsxs)(`div`,{className:q.CheckboxField,children:[Nt,Pt]}),t[156]=Nt,t[157]=Ft);let It;t[158]===Symbol.for(`react.memo_cache_sentinel`)?(It=(0,W.jsx)(`label`,{htmlFor:`fpsLimitInput`,children:`FPS limit`}),t[158]=It):It=t[158];let Lt=L??``,Rt;t[159]===te?Rt=t[160]:(Rt=e=>{let t=e.target.value;te(t===``?null:parseInt(t))},t[159]=te,t[160]=Rt);let zt,Bt,Vt,Ht,Ut;t[161]===Symbol.for(`react.memo_cache_sentinel`)?(zt=(0,W.jsx)(`option`,{value:`30`,children:`30`}),Bt=(0,W.jsx)(`option`,{value:`60`,children:`60`}),Vt=(0,W.jsx)(`option`,{value:`120`,children:`120`}),Ht=(0,W.jsx)(`option`,{value:`144`,children:`144`}),Ut=(0,W.jsx)(`option`,{value:``,children:`No limit`}),t[161]=zt,t[162]=Bt,t[163]=Vt,t[164]=Ht,t[165]=Ut):(zt=t[161],Bt=t[162],Vt=t[163],Ht=t[164],Ut=t[165]);let Wt;t[166]!==Lt||t[167]!==Rt?(Wt=(0,W.jsx)(`div`,{className:q.Control,children:(0,W.jsxs)(`select`,{id:`fpsLimitInput`,value:Lt,onChange:Rt,children:[zt,Bt,Vt,Ht,Ut]})}),t[166]=Lt,t[167]=Rt,t[168]=Wt):Wt=t[168];let Gt;t[169]===Symbol.for(`react.memo_cache_sentinel`)?(Gt=(0,W.jsx)(`p`,{className:q.Description,children:`Give your device a break by capping the framerate.`}),t[169]=Gt):Gt=t[169];let Kt;t[170]===Wt?Kt=t[171]:(Kt=(0,W.jsxs)(`div`,{className:q.Field,children:[It,Wt,Gt]}),t[170]=Wt,t[171]=Kt);let qt;t[172]!==jt||t[173]!==Ft||t[174]!==Kt?(qt=(0,W.jsxs)(aa,{value:`graphics`,label:`Graphics`,children:[jt,Ft,Kt]}),t[172]=jt,t[173]=Ft,t[174]=Kt,t[175]=qt):qt=t[175];let Jt;t[176]===me?Jt=t[177]:(Jt=e=>{me(e.target.checked)},t[176]=me,t[177]=Jt);let Xt;t[178]!==pe||t[179]!==Jt?(Xt=(0,W.jsx)(`input`,{id:`debugInput`,type:`checkbox`,checked:pe,onChange:Jt}),t[178]=pe,t[179]=Jt,t[180]=Xt):Xt=t[180];let Zt;t[181]===Symbol.for(`react.memo_cache_sentinel`)?(Zt=(0,W.jsx)(`label`,{className:q.Label,htmlFor:`debugInput`,children:`Render debug visuals`}),t[181]=Zt):Zt=t[181];let Qt;t[182]===Xt?Qt=t[183]:(Qt=(0,W.jsxs)(`div`,{className:q.CheckboxField,children:[Xt,Zt]}),t[182]=Xt,t[183]=Qt);let $t;t[184]===ge?$t=t[185]:($t=e=>{ge(e.target.checked)},t[184]=ge,t[185]=$t);let en;t[186]!==he||t[187]!==$t?(en=(0,W.jsx)(`input`,{id:`onDemandInput`,type:`checkbox`,checked:he,onChange:$t}),t[186]=he,t[187]=$t,t[188]=en):en=t[188];let tn;t[189]===Symbol.for(`react.memo_cache_sentinel`)?(tn=(0,W.jsx)(`label`,{htmlFor:`onDemandInput`,children:`Render on demand `}),t[189]=tn):tn=t[189];let nn;t[190]===d?nn=t[191]:(nn=()=>d.current?.(),t[190]=d,t[191]=nn);let rn;t[192]===Symbol.for(`react.memo_cache_sentinel`)?(rn=(0,W.jsx)(Yt,{}),t[192]=rn):rn=t[192];let an;t[193]===nn?an=t[194]:(an=(0,W.jsxs)(`div`,{className:q.Label,children:[tn,(0,W.jsx)(`button`,{type:`button`,className:q.ForceRenderButton,title:`Force render`,"aria-label":`Force render`,onClick:nn,children:rn})]}),t[193]=nn,t[194]=an);let on;t[195]===Symbol.for(`react.memo_cache_sentinel`)?(on=(0,W.jsx)(`p`,{className:q.Description,children:`Significantly decreases CPU and GPU usage by only rendering frames when requested. Helpful when developing parts of the app unrelated to rendering.`}),t[195]=on):on=t[195];let cn;t[196]!==en||t[197]!==an?(cn=(0,W.jsxs)(`div`,{className:q.CheckboxField,children:[en,an,on]}),t[196]=en,t[197]=an,t[198]=cn):cn=t[198];let ln;t[199]!==Qt||t[200]!==cn?(ln=(0,W.jsxs)(aa,{value:`debug`,label:`Debug`,children:[Qt,cn]}),t[199]=Qt,t[200]=cn,t[201]=ln):ln=t[201];let dn;t[202]!==ze||t[203]!==Be||t[204]!==rt||t[205]!==pt||t[206]!==Dt||t[207]!==qt||t[208]!==ln?(dn=(0,W.jsx)(`div`,{className:q.Accordions,children:(0,W.jsxs)(ia,{type:`multiple`,defaultValue:qa,children:[ze,Be,rt,pt,Dt,qt,ln]})}),t[202]=ze,t[203]=Be,t[204]=rt,t[205]=pt,t[206]=Dt,t[207]=qt,t[208]=ln,t[209]=dn):dn=t[209];let fn;t[210]===Symbol.for(`react.memo_cache_sentinel`)?(fn=(0,W.jsx)(`span`,{className:sn.ButtonLabel,children:`Close`}),t[210]=fn):fn=t[210];let pn;t[211]===f?pn=t[212]:(pn=(0,W.jsx)(`button`,{className:q.CloseSidebarButton,onClick:f,children:fn}),t[211]=f,t[212]=pn);let mn;return t[213]!==_e||t[214]!==Re||t[215]!==dn||t[216]!==pn?(mn=(0,W.jsx)(`div`,{className:q.InspectorControls,children:(0,W.jsx)(`div`,{ref:xe,children:(0,W.jsxs)(`div`,{className:q.Dropdown,ref:ye,id:`settingsPanel`,tabIndex:-1,onKeyDown:De,onBlur:Te,"data-open":_e,children:[Re,dn,pn]})})}),t[213]=_e,t[214]=Re,t[215]=dn,t[216]=pn,t[217]=mn):mn=t[217],mn});function Ya(e){return e.gameStatus===`connected`||e.gameStatus===`authenticating`}function Xa(...e){}function Za(e,t){return Qa(e)?e($a(t)?t():t):e}function Qa(e){return typeof e==`function`}function $a(e){return typeof e==`function`}function eo(e,t){return typeof Object.hasOwn==`function`?Object.hasOwn(e,t):Object.prototype.hasOwnProperty.call(e,t)}function to(...e){return(...t)=>{for(let n of e)typeof n==`function`&&n(...t)}}function no(e){return e.normalize(`NFD`).replace(/[\u0300-\u036f]/g,``)}function ro(e,t){let n={...e};for(let e of t)eo(n,e)&&delete n[e];return n}function io(e,t){let n={};for(let r of t)eo(e,r)&&(n[r]=e[r]);return n}function ao(e){return e}function oo(e,t){if(!e)throw Error(typeof t==`string`?t:`Invariant failed`)}function so(e){return Object.keys(e)}function co(e,...t){let n=typeof e==`function`?e(...t):e;return n==null?!1:!n}function lo(e){return e.disabled||e[`aria-disabled`]===!0||e[`aria-disabled`]===`true`}function uo(e){let t={};for(let n in e)e[n]!==void 0&&(t[n]=e[n]);return t}function J(...e){for(let t of e)if(t!==void 0)return t}function fo(e,t){typeof e==`function`?e(t):e&&(e.current=t)}function po(e){return!e||!(0,V.isValidElement)(e)?!1:`ref`in e.props||`ref`in e}function mo(e){return po(e)?{...e.props}.ref||e.ref:null}function ho(e,t){let n={...e};for(let r in t){if(!eo(t,r))continue;if(r===`className`){let r=`className`;n[r]=e[r]?`${e[r]} ${t[r]}`:t[r];continue}if(r===`style`){let r=`style`;n[r]=e[r]?{...e[r],...t[r]}:t[r];continue}let i=t[r];if(typeof i==`function`&&r.startsWith(`on`)){let t=e[r];if(typeof t==`function`){n[r]=(...e)=>{i(...e),t(...e)};continue}}n[r]=i}return n}var go=_o();function _o(){return typeof window<`u`&&!!window.document?.createElement}function vo(e){return e?`self`in e?e.document:e.ownerDocument||document:document}function yo(e){return e?`self`in e?e.self:vo(e).defaultView||window:self}function bo(e,t=!1){let{activeElement:n}=vo(e);if(!n?.nodeName)return null;if(So(n)&&n.contentDocument?.body)return bo(n.contentDocument.body,t);if(t){let e=n.getAttribute(`aria-activedescendant`);if(e){let t=vo(n).getElementById(e);if(t)return t}}return n}function xo(e,t){return e===t||e.contains(t)}function So(e){return e.tagName===`IFRAME`}function Co(e){let t=e.tagName.toLowerCase();return t===`button`?!0:t===`input`&&e.type?wo.indexOf(e.type)!==-1:!1}var wo=[`button`,`color`,`file`,`image`,`reset`,`submit`];function To(e){if(typeof e.checkVisibility==`function`)return e.checkVisibility();let t=e;return t.offsetWidth>0||t.offsetHeight>0||e.getClientRects().length>0}function Eo(e){try{let t=e instanceof HTMLInputElement&&e.selectionStart!==null,n=e.tagName===`TEXTAREA`;return t||n||!1}catch{return!1}}function Do(e){return e.isContentEditable||Eo(e)}function Oo(e){if(Eo(e))return e.value;if(e.isContentEditable){let t=vo(e).createRange();return t.selectNodeContents(e),t.toString()}return``}function ko(e){let t=0,n=0;if(Eo(e))t=e.selectionStart||0,n=e.selectionEnd||0;else if(e.isContentEditable){let r=vo(e).getSelection();if(r?.rangeCount&&r.anchorNode&&xo(e,r.anchorNode)&&r.focusNode&&xo(e,r.focusNode)){let i=r.getRangeAt(0),a=i.cloneRange();a.selectNodeContents(e),a.setEnd(i.startContainer,i.startOffset),t=a.toString().length,a.setEnd(i.endContainer,i.endOffset),n=a.toString().length}}return{start:t,end:n}}function Ao(e,t){let n=[`dialog`,`menu`,`listbox`,`tree`,`grid`],r=e?.getAttribute(`role`);return r&&n.indexOf(r)!==-1?r:t}function jo(e){if(!e)return null;let t=e=>e===`auto`||e===`scroll`;if(e.clientHeight&&e.scrollHeight>e.clientHeight){let{overflowY:n}=getComputedStyle(e);if(t(n))return e}else if(e.clientWidth&&e.scrollWidth>e.clientWidth){let{overflowX:n}=getComputedStyle(e);if(t(n))return e}return jo(e.parentElement)||document.scrollingElement||document.body}function Mo(e,...t){/text|search|password|tel|url/i.test(e.type)&&e.setSelectionRange(...t)}function No(e,t){let n=e.map((e,t)=>[t,e]),r=!1;return n.sort(([e,n],[i,a])=>{let o=t(n),s=t(a);return o===s||!o||!s?0:Po(o,s)?(e>i&&(r=!0),-1):(et):e}function Po(e,t){return!!(t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_PRECEDING)}function Fo(){return go&&!!navigator.maxTouchPoints}function Io(){return go?/mac|iphone|ipad|ipod/i.test(navigator.platform):!1}function Lo(){return go&&Io()&&/apple/i.test(navigator.vendor)}function Ro(){return go&&/firefox\//i.test(navigator.userAgent)}function zo(){return go&&navigator.platform.startsWith(`Mac`)&&!Fo()}function Bo(e){return!!(e.currentTarget&&!xo(e.currentTarget,e.target))}function Vo(e){return e.target===e.currentTarget}function Ho(e){let t=e.currentTarget;if(!t)return!1;let n=Io();if(n&&!e.metaKey||!n&&!e.ctrlKey)return!1;let r=t.tagName.toLowerCase();return r===`a`||r===`button`&&t.type===`submit`||r===`input`&&t.type===`submit`}function Uo(e){let t=e.currentTarget;if(!t)return!1;let n=t.tagName.toLowerCase();return e.altKey?n===`a`||n===`button`&&t.type===`submit`||n===`input`&&t.type===`submit`:!1}function Wo(e,t){let n=new FocusEvent(`blur`,t),r=e.dispatchEvent(n),i={...t,bubbles:!0};return e.dispatchEvent(new FocusEvent(`focusout`,i)),r}function Go(e,t,n){let r=new KeyboardEvent(t,n);return e.dispatchEvent(r)}function Ko(e,t){let n=new MouseEvent(`click`,t);return e.dispatchEvent(n)}function qo(e,t){let n=t||e.currentTarget,r=e.relatedTarget;return!r||!xo(n,r)}function Jo(e,t,n,r){let i=(e=>{if(r){let t=setTimeout(e,r);return()=>clearTimeout(t)}let t=requestAnimationFrame(e);return()=>cancelAnimationFrame(t)})(()=>{e.removeEventListener(t,a,!0),n()}),a=()=>{i(),n()};return e.addEventListener(t,a,{once:!0,capture:!0}),i}function Yo(e,t,n,r=window){let i=[];try{r.document.addEventListener(e,t,n);for(let a of Array.from(r.frames))i.push(Yo(e,t,n,a))}catch{}return()=>{try{r.document.removeEventListener(e,t,n)}catch{}for(let e of i)e()}}var Xo={...V},Zo=Xo.useId;Xo.useDeferredValue;var Qo=Xo.useInsertionEffect,Y=go?V.useLayoutEffect:V.useEffect;function $o(e){let[t]=(0,V.useState)(e);return t}function es(e){let t=(0,V.useRef)(e);return Y(()=>{t.current=e}),t}function X(e){let t=(0,V.useRef)(()=>{throw Error(`Cannot call an event handler while rendering.`)});return Qo?Qo(()=>{t.current=e}):t.current=e,(0,V.useCallback)((...e)=>t.current?.call(t,...e),[])}function ts(e){let[t,n]=(0,V.useState)(null);return Y(()=>{if(t==null||!e)return;let n=null;return e(e=>(n=e,t)),()=>{e(n)}},[t,e]),[t,n]}function ns(...e){return(0,V.useMemo)(()=>{if(e.some(Boolean))return t=>{for(let n of e)fo(n,t)}},e)}function rs(e){if(Zo){let t=Zo();return e||t}let[t,n]=(0,V.useState)(e);return Y(()=>{e||t||n(`id-${Math.random().toString(36).slice(2,8)}`)},[e,t]),e||t}function is(e,t){let n=e=>{if(typeof e==`string`)return e},[r,i]=(0,V.useState)(()=>n(t));return Y(()=>{i((e&&`current`in e?e.current:e)?.tagName.toLowerCase()||n(t))},[e,t]),r}function as(e,t,n){let r=$o(n),[i,a]=(0,V.useState)(r);return(0,V.useEffect)(()=>{let n=e&&`current`in e?e.current:e;if(!n)return;let i=()=>{a(n.getAttribute(t)??r)},o=new MutationObserver(i);return o.observe(n,{attributeFilter:[t]}),i(),()=>o.disconnect()},[e,t,r]),i}function os(e,t){let n=(0,V.useRef)(!1);(0,V.useEffect)(()=>{if(n.current)return e();n.current=!0},t),(0,V.useEffect)(()=>()=>{n.current=!1},[])}function ss(e,t){let n=(0,V.useRef)(!1);Y(()=>{if(n.current)return e();n.current=!0},t),Y(()=>()=>{n.current=!1},[])}function cs(){return(0,V.useReducer)(()=>[],[])}function ls(e){return X(typeof e==`function`?e:()=>e)}function us(e,t,n=[]){let r=(0,V.useCallback)(n=>(e.wrapElement&&(n=e.wrapElement(n)),t(n)),[...n,e.wrapElement]);return{...e,wrapElement:r}}function ds(e=!1,t){let[n,r]=(0,V.useState)(null);return{portalRef:ns(r,t),portalNode:n,domReady:!e||n}}function fs(e,t,n){let r=e.onLoadedMetadataCapture,i=(0,V.useMemo)(()=>Object.assign(()=>{},r,{[t]:n}),[r,t,n]);return[r?.[t],{onLoadedMetadataCapture:i}]}var ps=!1;function ms(){return(0,V.useEffect)(()=>{ps||=(Yo(`mousemove`,ys,!0),Yo(`mousedown`,bs,!0),Yo(`mouseup`,bs,!0),Yo(`keydown`,bs,!0),Yo(`scroll`,bs,!0),!0)},[]),X(()=>hs)}var hs=!1,gs=0,_s=0;function vs(e){let t=e.movementX||e.screenX-gs,n=e.movementY||e.screenY-_s;return gs=e.screenX,_s=e.screenY,t||n||!1}function ys(e){vs(e)&&(hs=!0)}function bs(){hs=!1}function Z(e){let t=V.forwardRef((t,n)=>e({...t,ref:n}));return t.displayName=e.displayName||e.name,t}function xs(e,t){return V.memo(e,t)}function Q(e,t){let{wrapElement:n,render:r,...i}=t,a=ns(t.ref,mo(r)),o;if(V.isValidElement(r)){let e={...r.props,ref:a};o=V.cloneElement(r,ho(i,e))}else o=r?r(i):(0,W.jsx)(e,{...i});return n?n(o):o}function Ss(e){let t=(t={})=>e(t);return t.displayName=e.name,t}function Cs(e=[],t=[]){let n=V.createContext(void 0),r=V.createContext(void 0),i=()=>V.useContext(n),a=(e=!1)=>{let t=V.useContext(r),n=i();return e?t:t||n},o=()=>{let e=V.useContext(r),t=i();if(!(e&&e===t))return t},s=t=>e.reduceRight((e,n)=>(0,W.jsx)(n,{...t,children:e}),(0,W.jsx)(n.Provider,{...t}));return{context:n,scopedContext:r,useContext:i,useScopedContext:a,useProviderContext:o,ContextProvider:s,ScopedContextProvider:e=>(0,W.jsx)(s,{...e,children:t.reduceRight((t,n)=>(0,W.jsx)(n,{...e,children:t}),(0,W.jsx)(r.Provider,{...e}))})}}var ws=Cs(),Ts=ws.useContext;ws.useScopedContext,ws.useProviderContext;var Es=ws.ContextProvider,Ds=ws.ScopedContextProvider,Os=Cs([Es],[Ds]),ks=Os.useContext;Os.useScopedContext;var As=Os.useProviderContext,js=Os.ContextProvider,Ms=Os.ScopedContextProvider,Ns=(0,V.createContext)(void 0),Ps=(0,V.createContext)(void 0);function Fs(e,t){return e.find(e=>t?!e.disabled&&e.id!==t:!e.disabled)}function Is(e,t){return t&&e.item(t)||null}function Ls(e){let t=[];for(let n of e){let e=t.find(e=>e[0]?.rowId===n.rowId);e?e.push(n):t.push([n])}return t}function Rs(e,t=!1){if(Eo(e))e.setSelectionRange(t?e.value.length:0,e.value.length);else if(e.isContentEditable){let n=vo(e).getSelection();n?.selectAllChildren(e),t&&n?.collapseToEnd()}}var zs=Symbol(`FOCUS_SILENTLY`);function Bs(e){e[zs]=!0,e.focus({preventScroll:!0})}function Vs(e){let t=e[zs];return delete e[zs],t}function Hs(e,t,n){if(!t||t===n)return!1;let r=e.item(t.id);return!(!r||n&&r.element===n)}var Us=`div`,Ws=Ss(function({store:e,shouldRegisterItem:t=!0,getItem:n=ao,element:r,...i}){let a=Ts();e||=a;let o=rs(i.id),s=(0,V.useRef)(r);return(0,V.useEffect)(()=>{let r=s.current;if(!o||!r||!t)return;let i=n({id:o,element:r});return e?.renderItem(i)},[o,t,n,e]),i={...i,ref:ns(s,i.ref)},uo(i)});Z(function(e){return Q(Us,Ws(e))});var Gs=(0,V.createContext)(!0),Ks=`input:not([type='hidden']):not([disabled]), select:not([disabled]), textarea:not([disabled]), a[href], button:not([disabled]), [tabindex], summary, iframe, object, embed, area[href], audio[controls], video[controls], [contenteditable]:not([contenteditable='false'])`;function qs(e){return Number.parseInt(e.getAttribute(`tabindex`)||`0`,10)<0}function Js(e){return!(!e.matches(Ks)||!To(e)||e.closest(`[inert]`))}function Ys(e){if(!Js(e)||qs(e))return!1;if(!(`form`in e)||!e.form||e.checked||e.type!==`radio`)return!0;let t=e.form.elements.namedItem(e.name);if(!t||!(`length`in t))return!0;let n=bo(e);return!n||n===e||!(`form`in n)||n.form!==e.form||n.name!==e.name}function Xs(e,t){let n=Array.from(e.querySelectorAll(Ks));t&&n.unshift(e);let r=n.filter(Js);return r.forEach((e,t)=>{if(!So(e))return;let n=e.contentDocument?.body;n&&r.splice(t,1,...Xs(n))}),r}function Zs(e,t,n){let r=Array.from(e.querySelectorAll(Ks)),i=r.filter(Ys);return t&&Ys(e)&&i.unshift(e),i.forEach((e,t)=>{if(!So(e))return;let r=e.contentDocument?.body;if(!r)return;let a=Zs(r,!1,n);i.splice(t,1,...a)}),!i.length&&n?r:i}function Qs(e,t,n){let[r]=Zs(e,t,n);return r||null}function $s(e,t,n,r){let i=bo(e),a=Xs(e,t),o=a.indexOf(i),s=a.slice(o+1);return s.find(Ys)||(n?a.find(Ys):null)||(r?s[0]:null)||null}function ec(e,t){return $s(document.body,!1,e,t)}function tc(e,t,n,r){let i=bo(e),a=Xs(e,t).reverse(),o=a.indexOf(i),s=a.slice(o+1);return s.find(Ys)||(n?a.find(Ys):null)||(r?s[0]:null)||null}function nc(e,t){return tc(document.body,!1,e,t)}function rc(e){for(;e&&!Js(e);)e=e.closest(Ks);return e||null}function ic(e){let t=bo(e);if(!t)return!1;if(t===e)return!0;let n=t.getAttribute(`aria-activedescendant`);return n?n===e.id:!1}function ac(e){let t=bo(e);if(!t)return!1;if(xo(e,t))return!0;let n=t.getAttribute(`aria-activedescendant`);return!n||!(`id`in e)?!1:n===e.id?!0:!!e.querySelector(`#${CSS.escape(n)}`)}function oc(e){!ac(e)&&Js(e)&&e.focus()}function sc(e){let t=e.getAttribute(`tabindex`)??``;e.setAttribute(`data-tabindex`,t),e.setAttribute(`tabindex`,`-1`)}function cc(e,t){let n=Zs(e,t);for(let e of n)sc(e)}function lc(e){let t=e.querySelectorAll(`[data-tabindex]`),n=e=>{let t=e.getAttribute(`data-tabindex`);e.removeAttribute(`data-tabindex`),t?e.setAttribute(`tabindex`,t):e.removeAttribute(`tabindex`)};e.hasAttribute(`data-tabindex`)&&n(e);for(let e of t)n(e)}function uc(e,t){`scrollIntoView`in e?(e.focus({preventScroll:!0}),e.scrollIntoView({block:`nearest`,inline:`nearest`,...t})):e.focus()}var dc=`div`,fc=Lo(),pc=[`text`,`search`,`url`,`tel`,`email`,`password`,`number`,`date`,`month`,`week`,`time`,`datetime`,`datetime-local`],mc=Symbol(`safariFocusAncestor`);function hc(e){return e?!!e[mc]:!1}function gc(e,t){e&&(e[mc]=t)}function _c(e){let{tagName:t,readOnly:n,type:r}=e;return t===`TEXTAREA`&&!n||t===`SELECT`&&!n?!0:t===`INPUT`&&!n?pc.includes(r):!!(e.isContentEditable||e.getAttribute(`role`)===`combobox`&&e.dataset.name)}function vc(e){return`labels`in e?e.labels:null}function yc(e){return e.tagName.toLowerCase()===`input`&&e.type?e.type===`radio`||e.type===`checkbox`:!1}function bc(e){return e?e===`button`||e===`summary`||e===`input`||e===`select`||e===`textarea`||e===`a`:!0}function xc(e){return e?e===`button`||e===`input`||e===`select`||e===`textarea`:!0}function Sc(e,t,n,r,i){return e?t?n&&!r?-1:void 0:n?i:i||0:i}function Cc(e,t){return X(n=>{e?.(n),!n.defaultPrevented&&t&&(n.stopPropagation(),n.preventDefault())})}var wc=!1,Tc=!0;function Ec(e){let t=e.target;t&&`hasAttribute`in t&&(t.hasAttribute(`data-focus-visible`)||(Tc=!1))}function Dc(e){e.metaKey||e.ctrlKey||e.altKey||(Tc=!0)}var Oc=Ss(function({focusable:e=!0,accessibleWhenDisabled:t,autoFocus:n,onFocusVisible:r,...i}){let a=(0,V.useRef)(null);(0,V.useEffect)(()=>{e&&(wc||=(Yo(`mousedown`,Ec,!0),Yo(`keydown`,Dc,!0),!0))},[e]),fc&&(0,V.useEffect)(()=>{if(!e)return;let t=a.current;if(!t||!yc(t))return;let n=vc(t);if(!n)return;let r=()=>queueMicrotask(()=>t.focus());for(let e of n)e.addEventListener(`mouseup`,r);return()=>{for(let e of n)e.removeEventListener(`mouseup`,r)}},[e]);let o=e&&lo(i),s=!!o&&!t,[c,l]=(0,V.useState)(!1);(0,V.useEffect)(()=>{e&&s&&c&&l(!1)},[e,s,c]),(0,V.useEffect)(()=>{if(!e||!c)return;let t=a.current;if(!t||typeof IntersectionObserver>`u`)return;let n=new IntersectionObserver(()=>{Js(t)||l(!1)});return n.observe(t),()=>n.disconnect()},[e,c]);let u=Cc(i.onKeyPressCapture,o),d=Cc(i.onMouseDownCapture,o),f=Cc(i.onClickCapture,o),p=i.onMouseDown,m=X(t=>{if(p?.(t),t.defaultPrevented||!e)return;let n=t.currentTarget;if(!fc||Bo(t)||!Co(n)&&!yc(n))return;let r=!1,i=()=>{r=!0};n.addEventListener(`focusin`,i,{capture:!0,once:!0});let a=rc(n.parentElement);gc(a,!0),Jo(n,`mouseup`,()=>{n.removeEventListener(`focusin`,i,!0),gc(a,!1),!r&&oc(n)})}),h=(t,n)=>{if(n&&(t.currentTarget=n),!e)return;let i=t.currentTarget;i&&ic(i)&&(r?.(t),!t.defaultPrevented&&(i.dataset.focusVisible=`true`,l(!0)))},g=i.onKeyDownCapture,_=X(t=>{if(g?.(t),t.defaultPrevented||!e||c||t.metaKey||t.altKey||t.ctrlKey||!Vo(t))return;let n=t.currentTarget;Jo(n,`focusout`,()=>h(t,n))}),v=i.onFocusCapture,y=X(t=>{if(v?.(t),t.defaultPrevented||!e)return;if(!Vo(t)){l(!1);return}let n=t.currentTarget;Tc||_c(t.target)?Jo(t.target,`focusout`,()=>h(t,n)):l(!1)}),b=i.onBlur,x=X(t=>{b?.(t),e&&qo(t)&&(t.currentTarget.removeAttribute(`data-focus-visible`),l(!1))}),S=(0,V.useContext)(Gs),C=X(t=>{e&&n&&t&&S&&queueMicrotask(()=>{ic(t)||Js(t)&&t.focus()})}),w=is(a),T=e&&bc(w),E=e&&xc(w),D=i.style,O=(0,V.useMemo)(()=>s?{pointerEvents:`none`,...D}:D,[s,D]);return i={"data-focus-visible":e&&c||void 0,"data-autofocus":n||void 0,"aria-disabled":o||void 0,...i,ref:ns(a,C,i.ref),style:O,tabIndex:Sc(e,s,T,E,i.tabIndex),disabled:E&&s?!0:void 0,contentEditable:o?void 0:i.contentEditable,onKeyPressCapture:u,onClickCapture:f,onMouseDownCapture:d,onMouseDown:m,onKeyDownCapture:_,onFocusCapture:y,onBlur:x},uo(i)});Z(function(e){return Q(dc,Oc(e))});var kc=`button`;function Ac(e){if(!e.isTrusted)return!1;let t=e.currentTarget;return e.key===`Enter`?Co(t)||t.tagName===`SUMMARY`||t.tagName===`A`:e.key===` `?Co(t)||t.tagName===`SUMMARY`||t.tagName===`INPUT`||t.tagName===`SELECT`:!1}var jc=Symbol(`command`),Mc=Ss(function({clickOnEnter:e=!0,clickOnSpace:t=!0,...n}){let r=(0,V.useRef)(null),[i,a]=(0,V.useState)(!1);(0,V.useEffect)(()=>{r.current&&a(Co(r.current))},[]);let[o,s]=(0,V.useState)(!1),c=(0,V.useRef)(!1),l=lo(n),[u,d]=fs(n,jc,!0),f=n.onKeyDown,p=X(n=>{f?.(n);let r=n.currentTarget;if(n.defaultPrevented||u||l||!Vo(n)||Eo(r)||r.isContentEditable)return;let i=e&&n.key===`Enter`,a=t&&n.key===` `,o=n.key===`Enter`&&!e,d=n.key===` `&&!t;if(o||d){n.preventDefault();return}if(i||a){let e=Ac(n);if(i){if(!e){n.preventDefault();let{view:e,...t}=n,i=()=>Ko(r,t);Ro()?Jo(r,`keyup`,i):queueMicrotask(i)}}else a&&(c.current=!0,e||(n.preventDefault(),s(!0)))}}),m=n.onKeyUp,h=X(e=>{if(m?.(e),e.defaultPrevented||u||l||e.metaKey)return;let n=t&&e.key===` `;if(c.current&&n&&(c.current=!1,!Ac(e))){e.preventDefault(),s(!1);let t=e.currentTarget,{view:n,...r}=e;queueMicrotask(()=>Ko(t,r))}});return n={"data-active":o||void 0,type:i?`button`:void 0,...d,...n,ref:ns(r,n.ref),onKeyDown:p,onKeyUp:h},n=Oc(n),n});Z(function(e){return Q(kc,Mc(e))});function Nc(e,t){let n=e.__unstableInternals;return oo(n,`Invalid store`),n[t]}function Pc(e,...t){let n=e,r=n,i=Symbol(),a=Xa,o=new Set,s=new Set,c=new Set,l=new Set,u=new Set,d=new WeakMap,f=new WeakMap,p=e=>(c.add(e),()=>c.delete(e)),m=()=>{let e=o.size,r=Symbol();o.add(r);let i=()=>{o.delete(r),!o.size&&a()};if(e)return i;let s=so(n).map(e=>to(...t.map(t=>{let n=(t?.getState)?.call(t);if(n&&eo(n,e))return Rc(t,[e],t=>{S(e,t[e],!0)})}))),l=[];for(let e of c)l.push(e());let u=t.map(Ic);return a=to(...s,...l,...u),i},h=(e,t,n=l)=>(n.add(t),f.set(t,e),()=>{var e;(e=d.get(t))==null||e(),d.delete(t),f.delete(t),n.delete(t)}),g=(e,t)=>h(e,t),_=(e,t)=>(d.set(t,t(n,n)),h(e,t)),v=(e,t)=>(d.set(t,t(n,r)),h(e,t,u)),y=e=>Pc(io(n,e),C),b=e=>Pc(ro(n,e),C),x=()=>n,S=(e,a,o=!1)=>{var c;if(!eo(n,e))return;let p=Za(a,n[e]);if(p===n[e])return;if(!o)for(let n of t)(c=n?.setState)==null||c.call(n,e,p);let m=n;n={...n,[e]:p};let h=Symbol();i=h,s.add(e);let g=(t,r,i)=>{var a;let o=f.get(t);(!o||o.some(t=>i?i.has(t):t===e))&&((a=d.get(t))==null||a(),d.set(t,t(n,r)))};for(let e of l)g(e,m);queueMicrotask(()=>{if(i!==h)return;let e=n;for(let e of u)g(e,r,s);r=e,s.clear()})},C={getState:x,setState:S,__unstableInternals:{setup:p,init:m,subscribe:g,sync:_,batch:v,pick:y,omit:b}};return C}function Fc(e,...t){if(e)return Nc(e,`setup`)(...t)}function Ic(e,...t){if(e)return Nc(e,`init`)(...t)}function Lc(e,...t){if(e)return Nc(e,`subscribe`)(...t)}function Rc(e,...t){if(e)return Nc(e,`sync`)(...t)}function zc(e,...t){if(e)return Nc(e,`batch`)(...t)}function Bc(e,...t){if(e)return Nc(e,`omit`)(...t)}function Vc(e,...t){if(e)return Nc(e,`pick`)(...t)}function Hc(...e){let t={};for(let n of e){let e=(n?.getState)?.call(n);e&&Object.assign(t,e)}let n=Pc(t,...e);return Object.assign({},...e,n)}var{useSyncExternalStore:Uc}=e(N(),1).default,Wc=()=>()=>{};function $(e,t=ao){let n=V.useCallback(t=>e?Lc(e,null,t):Wc(),[e]),r=()=>{let n=typeof t==`string`?t:null,r=typeof t==`function`?t:null,i=e?.getState();if(r)return r(i);if(i&&n&&eo(i,n))return i[n]};return Uc(n,r,r)}function Gc(e,t){let n=V.useRef({}),r=V.useCallback(t=>e?Lc(e,null,t):Wc(),[e]),i=()=>{let r=e?.getState(),i=!1,a=n.current;for(let e in t){let n=t[e];if(typeof n==`function`){let t=n(r);t!==a[e]&&(a[e]=t,i=!0)}if(typeof n==`string`){if(!r||!eo(r,n))continue;let t=r[n];t!==a[e]&&(a[e]=t,i=!0)}}return i&&(n.current={...a}),n.current};return Uc(r,i,i)}function Kc(e,t,n,r){let i=eo(t,n)?t[n]:void 0,a=es({value:i,setValue:r?t[r]:void 0});Y(()=>Rc(e,[n],(e,t)=>{let{value:r,setValue:i}=a.current;i&&e[n]!==t[n]&&e[n]!==r&&i(e[n])}),[e,n]),Y(()=>{if(i!==void 0)return e.setState(n,i),zc(e,[n],()=>{i!==void 0&&e.setState(n,i)})})}function qc(e,t){let[n,r]=V.useState(()=>e(t));Y(()=>Ic(n),[n]);let i=V.useCallback(e=>$(n,e),[n]);return[V.useMemo(()=>({...n,useState:i}),[n,i]),X(()=>{r(n=>e({...t,...n.getState()}))})]}var Jc=`button`;function Yc(e){return Do(e)?!0:e.tagName===`INPUT`&&!Co(e)}function Xc(e,t=!1){let n=e.clientHeight,{top:r}=e.getBoundingClientRect(),i=Math.max(n*.875,n-40)*1.5,a=t?n-i+r:i+r;return e.tagName===`HTML`?a+e.scrollTop:a}function Zc(e,t=!1){let{top:n}=e.getBoundingClientRect();return t?n+e.clientHeight:n}function Qc(e,t,n,r=!1){if(!t||!n)return;let{renderedItems:i}=t.getState(),a=jo(e);if(!a)return;let o=Xc(a,r),s,c;for(let e=0;e=0){c!==void 0&&ce.rowId===m);return f.ariaPosInSet+t.findIndex(e=>e.id===u)},isTabbable(t){if(!t?.renderedItems.length)return!0;if(t.virtualFocus)return!1;if(i)return!0;if(t.activeId===null)return!1;let n=e?.item(t.activeId);return n?.disabled||!n?.element?!0:t.activeId===u}}),b=(0,V.useCallback)(e=>{let t={...e,id:u||e.id,rowId:m,disabled:!!p,children:e.element?.textContent};return a?a(t):t},[u,m,p,a]),x=c.onFocus,S=(0,V.useRef)(!1),C=X(t=>{if(x?.(t),t.defaultPrevented||Bo(t)||!u||!e||$c(t,e))return;let{virtualFocus:n,baseElement:r}=e.getState();e.setActiveId(u),Do(t.currentTarget)&&Rs(t.currentTarget),n&&Vo(t)&&(Yc(t.currentTarget)||r?.isConnected&&(Lo()&&t.currentTarget.hasAttribute(`data-autofocus`)&&t.currentTarget.scrollIntoView({block:`nearest`,inline:`nearest`}),S.current=!0,t.relatedTarget===r||Hs(e,t.relatedTarget)?Bs(r):r.focus()))}),w=c.onBlurCapture,T=X(t=>{w?.(t),!t.defaultPrevented&&e?.getState()?.virtualFocus&&S.current&&(S.current=!1,t.preventDefault(),t.stopPropagation())}),E=c.onKeyDown,D=ls(n),O=ls(r),k=X(t=>{if(E?.(t),t.defaultPrevented||!Vo(t)||!e)return;let{currentTarget:n}=t,r=e.getState(),i=!!e.item(u)?.rowId,a=r.orientation!==`horizontal`,o=r.orientation!==`vertical`,s=()=>!!(i||o||!r.baseElement||!Eo(r.baseElement)),c={ArrowUp:(i||a)&&e.up,ArrowRight:(i||o)&&e.next,ArrowDown:(i||a)&&e.down,ArrowLeft:(i||o)&&e.previous,Home:()=>{if(s())return!i||t.ctrlKey?e?.first():e?.previous(-1)},End:()=>{if(s())return!i||t.ctrlKey?e?.last():e?.next(-1)},PageUp:()=>Qc(n,e,e?.up,!0),PageDown:()=>Qc(n,e,e?.down)}[t.key];if(c){if(Do(n)){let e=ko(n),r=o&&t.key===`ArrowLeft`,i=o&&t.key===`ArrowRight`,s=a&&t.key===`ArrowUp`,c=a&&t.key===`ArrowDown`;if(i||c){let{length:t}=Oo(n);if(e.end!==t)return}else if((r||s)&&e.start!==0)return}let r=c();if(D(t)||r!==void 0){if(!O(t))return;t.preventDefault(),e.move(r)}}}),A=(0,V.useMemo)(()=>({id:u,baseElement:h}),[u,h]);return c=us(c,e=>(0,W.jsx)(Ns.Provider,{value:A,children:e}),[A]),c={"data-active-item":g||void 0,...c,id:u,ref:ns(d,c.ref),tabIndex:y?c.tabIndex:-1,onFocus:C,onBlurCapture:T,onKeyDown:k},c=Mc(c),c=Ws({store:e,...c,getItem:b,shouldRegisterItem:u?c.shouldRegisterItem:!1}),uo({...c,"aria-setsize":_,"aria-posinset":v})});xs(Z(function(e){return Q(Jc,el(e))}));function tl(e){let t=[];for(let n of e)t.push(...n);return t}function nl(e){return e.slice().reverse()}var rl=`div`;function il(e){return e.some(e=>!!e.rowId)}function al(e){let t=e.target;return t&&!Eo(t)?!1:e.key.length===1&&!e.ctrlKey&&!e.metaKey}function ol(e){return e.key===`Shift`||e.key===`Control`||e.key===`Alt`||e.key===`Meta`}function sl(e,t,n){return X(r=>{if(t?.(r),r.defaultPrevented||r.isPropagationStopped()||!Vo(r)||ol(r)||al(r))return;let i=Is(e,e.getState().activeId)?.element;if(!i)return;let{view:a,...o}=r;i!==n?.current&&i.focus(),Go(i,r.type,o)||r.preventDefault(),r.currentTarget.contains(i)&&r.stopPropagation()})}function cl(e){return Fs(tl(nl(Ls(e))))}function ll(e,t){let{virtualFocus:n,baseElement:r}=e.getState();if(!n||!r||!Eo(r)){t();return}let i=r.scrollLeft,a=r.scrollTop;t(),r.scrollLeft=i,r.scrollTop=a}function ul(e){let[t,n]=(0,V.useState)(!1),r=(0,V.useCallback)(()=>n(!0),[]),i=$(e,t=>Is(e,t.activeId));return(0,V.useEffect)(()=>{let r=i?.element;t&&r&&(n(!1),ll(e,()=>{r.focus({preventScroll:!0})}))},[e,i,t]),r}var dl=Ss(function({store:e,composite:t=!0,focusOnMove:n=t,moveOnKeyPress:r=!0,...i}){let a=As();e||=a,oo(e,!1);let o=(0,V.useRef)(null),s=(0,V.useRef)(null),c=ul(e),l=$(e,`moves`),[,u]=ts(t?e.setBaseElement:null);(0,V.useEffect)(()=>{if(!e||!l||!t||!n)return;let{activeId:r}=e.getState(),i=Is(e,r)?.element;i&&ll(e,()=>uc(i))},[e,l,t,n]),Y(()=>{if(!e||!l||!t)return;let{baseElement:n,activeId:r}=e.getState();if(r!==null||!n)return;let i=s.current;s.current=null,i&&Wo(i,{relatedTarget:n}),ic(n)||n.focus()},[e,l,t]);let d=$(e,`activeId`),f=$(e,`virtualFocus`);Y(()=>{if(!e||!t||!f)return;let n=s.current;if(s.current=null,!n)return;let r=Is(e,d)?.element||bo(n);r!==n&&Wo(n,{relatedTarget:r})},[e,d,f,t]);let p=sl(e,i.onKeyDownCapture,s),m=sl(e,i.onKeyUpCapture,s),h=i.onFocusCapture,g=X(t=>{if(h?.(t),t.defaultPrevented||!e)return;let{virtualFocus:n}=e.getState();if(!n)return;let r=t.relatedTarget,i=Vs(t.currentTarget);Vo(t)&&i&&(t.stopPropagation(),s.current=r)}),_=i.onFocus,v=X(n=>{if(_?.(n),n.defaultPrevented||!t||!e)return;let{relatedTarget:r}=n,{virtualFocus:i}=e.getState();i?Vo(n)&&!Hs(e,r)&&queueMicrotask(c):Vo(n)&&e.setActiveId(null)}),y=i.onBlurCapture,b=X(t=>{if(y?.(t),t.defaultPrevented||!e)return;let{virtualFocus:n,activeId:r}=e.getState();if(!n)return;let i=Is(e,r)?.element,a=t.relatedTarget,o=Hs(e,a),c=s.current;s.current=null,Vo(t)&&o?(a===i?c&&c!==a&&Wo(c,t):i?Wo(i,t):c&&Wo(c,t),t.stopPropagation()):!Hs(e,t.target)&&i&&Wo(i,t)}),x=i.onKeyDown,S=ls(r),C=X(t=>{if(x?.(t),t.nativeEvent.isComposing||t.defaultPrevented||!e||!Vo(t))return;let{orientation:n,renderedItems:r,activeId:i}=e.getState();if(Is(e,i)?.element?.isConnected)return;let a=n!==`horizontal`,o=n!==`vertical`,s=il(r);if((t.key===`ArrowLeft`||t.key===`ArrowRight`||t.key===`Home`||t.key===`End`)&&Eo(t.currentTarget))return;let c={ArrowUp:(s||a)&&(()=>s?cl(r)?.id:e?.last()),ArrowRight:(s||o)&&e.first,ArrowDown:(s||a)&&e.first,ArrowLeft:(s||o)&&e.last,Home:e.first,End:e.last,PageUp:e.first,PageDown:e.last}[t.key];if(c){let n=c();if(n!==void 0){if(!S(t))return;t.preventDefault(),e.move(n)}}});i=us(i,t=>(0,W.jsx)(js,{value:e,children:t}),[e]);let w=$(e,n=>{if(e&&t&&n.virtualFocus)return Is(e,n.activeId)?.id});return i={"aria-activedescendant":w,...i,ref:ns(o,u,i.ref),onKeyDownCapture:p,onKeyUpCapture:m,onFocusCapture:g,onFocus:v,onBlurCapture:b,onKeyDown:C},i=Oc({focusable:$(e,e=>t&&(e.virtualFocus||e.activeId===null)),...i}),i});Z(function(e){return Q(rl,dl(e))});var fl=Cs();fl.useContext,fl.useScopedContext;var pl=fl.useProviderContext,ml=fl.ContextProvider,hl=fl.ScopedContextProvider,gl=Cs([ml],[hl]);gl.useContext,gl.useScopedContext;var _l=gl.useProviderContext,vl=gl.ContextProvider,yl=gl.ScopedContextProvider,bl=(0,V.createContext)(void 0),xl=(0,V.createContext)(void 0),Sl=`div`;function Cl(e,t){let n=setTimeout(t,e);return()=>clearTimeout(n)}function wl(e){let t=requestAnimationFrame(()=>{t=requestAnimationFrame(e)});return()=>cancelAnimationFrame(t)}function Tl(...e){return e.join(`, `).split(`, `).reduce((e,t)=>{let n=t.endsWith(`ms`)?1:1e3,r=Number.parseFloat(t||`0s`)*n;return r>e?r:e},0)}function El(e,t,n){return!n&&t!==!1&&(!e||!!t)}var Dl=Ss(function({store:e,alwaysVisible:t,...n}){let r=pl();e||=r,oo(e,!1);let i=(0,V.useRef)(null),a=rs(n.id),[o,s]=(0,V.useState)(null),c=$(e,`open`),l=$(e,`mounted`),u=$(e,`animated`),d=$(e,`contentElement`),f=$(e.disclosure,`contentElement`);Y(()=>{i.current&&e?.setContentElement(i.current)},[e]),Y(()=>{let t;return e?.setState(`animated`,e=>(t=e,!0)),()=>{t!==void 0&&e?.setState(`animated`,t)}},[e]),Y(()=>{if(u){if(!d?.isConnected){s(null);return}return wl(()=>{s(c?`enter`:l?`leave`:null)})}},[u,d,c,l]),Y(()=>{if(!e||!u||!o||!d)return;let t=()=>e?.setState(`animating`,!1),n=()=>(0,Yr.flushSync)(t);if(o===`leave`&&c||o===`enter`&&!c)return;if(typeof u==`number`)return Cl(u,n);let{transitionDuration:r,animationDuration:i,transitionDelay:a,animationDelay:s}=getComputedStyle(d),{transitionDuration:l=`0`,animationDuration:p=`0`,transitionDelay:m=`0`,animationDelay:h=`0`}=f?getComputedStyle(f):{},g=Tl(a,s,m,h)+Tl(r,i,l,p);if(!g){o===`enter`&&e.setState(`animated`,!1),t();return}return Cl(Math.max(g-1e3/60,0),n)},[e,u,d,f,c,o]),n=us(n,t=>(0,W.jsx)(yl,{value:e,children:t}),[e]);let p=El(l,n.hidden,t),m=n.style,h=(0,V.useMemo)(()=>p?{...m,display:`none`}:m,[p,m]);return n={"data-open":c||void 0,"data-enter":o===`enter`||void 0,"data-leave":o===`leave`||void 0,hidden:p,...n,id:a,ref:ns(a?e.setContentElement:null,i,n.ref),style:h},uo(n)}),Ol=Z(function(e){return Q(Sl,Dl(e))});Z(function({unmountOnHide:e,...t}){let n=pl();return $(t.store||n,t=>!e||t?.mounted)===!1?null:(0,W.jsx)(Ol,{...t})});function kl(e={}){let t=Hc(e.store,Bc(e.disclosure,[`contentElement`,`disclosureElement`])),n=t?.getState(),r=J(e.open,n?.open,e.defaultOpen,!1),i=J(e.animated,n?.animated,!1),a=Pc({open:r,animated:i,animating:!!i&&r,mounted:r,contentElement:J(n?.contentElement,null),disclosureElement:J(n?.disclosureElement,null)},t);return Fc(a,()=>Rc(a,[`animated`,`animating`],e=>{e.animated||a.setState(`animating`,!1)})),Fc(a,()=>Lc(a,[`open`],()=>{a.getState().animated&&a.setState(`animating`,!0)})),Fc(a,()=>Rc(a,[`open`,`animating`],e=>{a.setState(`mounted`,e.open||e.animating)})),{...a,disclosure:e.disclosure,setOpen:e=>a.setState(`open`,e),show:()=>a.setState(`open`,!0),hide:()=>a.setState(`open`,!1),toggle:()=>a.setState(`open`,e=>!e),stopAnimation:()=>a.setState(`animating`,!1),setContentElement:e=>a.setState(`contentElement`,e),setDisclosureElement:e=>a.setState(`disclosureElement`,e)}}function Al(e,t,n){return os(t,[n.store,n.disclosure]),Kc(e,n,`open`,`setOpen`),Kc(e,n,`mounted`,`setMounted`),Kc(e,n,`animated`),Object.assign(e,{disclosure:n.disclosure})}function jl(e={}){let[t,n]=qc(kl,e);return Al(t,n,e)}var Ml=Cs([vl],[yl]);Ml.useContext,Ml.useScopedContext;var Nl=Ml.useProviderContext,Pl=Ml.ContextProvider,Fl=Ml.ScopedContextProvider;function Il(e){let t=e.find(e=>!!e.element),n=[...e].reverse().find(e=>!!e.element),r=t?.element?.parentElement;for(;r&&n?.element;){if(n&&r.contains(n.element))return r;r=r.parentElement}return vo(r).body}function Ll(e){return e?.__unstablePrivateStore}function Rl(e={}){e.store;let t=e.store?.getState(),n=J(e.items,t?.items,e.defaultItems,[]),r=new Map(n.map(e=>[e.id,e])),i={items:n,renderedItems:J(t?.renderedItems,[])},a=Ll(e.store),o=Pc({items:n,renderedItems:i.renderedItems},a),s=Pc(i,e.store),c=e=>{let t=No(e,e=>e.element);o.setState(`renderedItems`,t),s.setState(`renderedItems`,t)};Fc(s,()=>Ic(o)),Fc(o,()=>zc(o,[`items`],e=>{s.setState(`items`,e.items)})),Fc(o,()=>zc(o,[`renderedItems`],e=>{let t=!0,n=requestAnimationFrame(()=>{let{renderedItems:t}=s.getState();e.renderedItems!==t&&c(e.renderedItems)});if(typeof IntersectionObserver!=`function`)return()=>cancelAnimationFrame(n);let r=()=>{if(t){t=!1;return}cancelAnimationFrame(n),n=requestAnimationFrame(()=>c(e.renderedItems))},i=Il(e.renderedItems),a=new IntersectionObserver(r,{root:i});for(let t of e.renderedItems)t.element&&a.observe(t.element);return()=>{cancelAnimationFrame(n),a.disconnect()}}));let l=(e,t,n=!1)=>{let i;return t(t=>{let n=t.findIndex(({id:t})=>t===e.id),a=t.slice();if(n!==-1){i=t[n];let o={...i,...e};a[n]=o,r.set(e.id,o)}else a.push(e),r.set(e.id,e);return a}),()=>{t(t=>{if(!i)return n&&r.delete(e.id),t.filter(({id:t})=>t!==e.id);let a=t.findIndex(({id:t})=>t===e.id);if(a===-1)return t;let o=t.slice();return o[a]=i,r.set(e.id,i),o})}},u=e=>l(e,e=>o.setState(`items`,e),!0);return{...s,registerItem:u,renderItem:e=>to(u(e),l(e,e=>o.setState(`renderedItems`,e))),item:e=>{if(!e)return null;let t=r.get(e);if(!t){let{items:n}=o.getState();t=n.find(t=>t.id===e),t&&r.set(e,t)}return t||null},__unstablePrivateStore:o}}function zl(e,t,n){return os(t,[n.store]),Kc(e,n,`items`,`setItems`),e}var Bl={id:null};function Vl(e,t){return e.find(e=>t?!e.disabled&&e.id!==t:!e.disabled)}function Hl(e,t){return e.filter(e=>t?!e.disabled&&e.id!==t:!e.disabled)}function Ul(e,t){return e.filter(e=>e.rowId===t)}function Wl(e,t,n=!1){let r=e.findIndex(e=>e.id===t);return[...e.slice(r+1),...n?[Bl]:[],...e.slice(0,r)]}function Gl(e){let t=[];for(let n of e){let e=t.find(e=>e[0]?.rowId===n.rowId);e?e.push(n):t.push([n])}return t}function Kl(e){let t=0;for(let{length:n}of e)n>t&&(t=n);return t}function ql(e){return{id:`__EMPTY_ITEM__`,disabled:!0,rowId:e}}function Jl(e,t,n){let r=Kl(e);for(let i of e)for(let e=0;eRc(i,[`renderedItems`,`activeId`],e=>{i.setState(`activeId`,t=>t===void 0?Vl(e.renderedItems)?.id:t)}));let a=(e=`next`,t={})=>{let n=i.getState(),{skip:r=0,activeId:a=n.activeId,focusShift:o=n.focusShift,focusLoop:s=n.focusLoop,focusWrap:c=n.focusWrap,includesBaseElement:l=n.includesBaseElement,renderedItems:u=n.renderedItems,rtl:d=n.rtl}=t,f=e===`up`||e===`down`,p=e===`next`||e===`down`,m=p?d&&!f:!d||f,h=o&&!r,g=f?tl(Jl(Gl(u),a,h)):u;if(g=m?nl(g):g,g=f?Yl(g):g,a==null)return Vl(g)?.id;let _=g.find(e=>e.id===a);if(!_)return Vl(g)?.id;let v=g.some(e=>e.rowId),y=g.indexOf(_),b=g.slice(y+1),x=Ul(b,_.rowId);if(r){let e=Hl(x,a);return(e.slice(r)[0]||e[e.length-1])?.id}let S=s&&(f?s!==`horizontal`:s!==`vertical`),C=v&&c&&(f?c!==`horizontal`:c!==`vertical`),w=p?(!v||f)&&S&&l:f?l:!1;if(S)return Vl(Wl(C&&!w?g:Ul(g,_.rowId),a,w),a)?.id;if(C){let e=Vl(w?x:b,a);return w?e?.id||null:e?.id}let T=Vl(x,a);return!T&&w?null:T?.id};return{...n,...i,setBaseElement:e=>i.setState(`baseElement`,e),setActiveId:e=>i.setState(`activeId`,e),move:e=>{e!==void 0&&(i.setState(`activeId`,e),i.setState(`moves`,e=>e+1))},first:()=>Vl(i.getState().renderedItems)?.id,last:()=>Vl(nl(i.getState().renderedItems))?.id,next:e=>(e!==void 0&&typeof e==`number`&&(e={skip:e}),a(`next`,e)),previous:e=>(e!==void 0&&typeof e==`number`&&(e={skip:e}),a(`previous`,e)),down:e=>(e!==void 0&&typeof e==`number`&&(e={skip:e}),a(`down`,e)),up:e=>(e!==void 0&&typeof e==`number`&&(e={skip:e}),a(`up`,e))}}function Zl(e){return{id:rs(e.id),...e}}function Ql(e,t,n){return e=zl(e,t,n),Kc(e,n,`activeId`,`setActiveId`),Kc(e,n,`includesBaseElement`),Kc(e,n,`virtualFocus`),Kc(e,n,`orientation`),Kc(e,n,`rtl`),Kc(e,n,`focusLoop`),Kc(e,n,`focusWrap`),Kc(e,n,`focusShift`),e}var $l=(0,V.createContext)(void 0),eu=Cs([Pl,js],[Fl,Ms]),tu=eu.useContext,nu=eu.useScopedContext,ru=eu.useProviderContext,iu=eu.ContextProvider,au=eu.ScopedContextProvider,ou=(0,V.createContext)(void 0),su=(0,V.createContext)(!1),cu=(0,V.createContext)(null),lu=`span`,uu=Ss(function(e){return e={...e,style:{border:0,clip:`rect(0 0 0 0)`,height:`1px`,margin:`-1px`,overflow:`hidden`,padding:0,position:`absolute`,whiteSpace:`nowrap`,width:`1px`,...e.style}},e});Z(function(e){return Q(lu,uu(e))});var du=`span`,fu=Ss(function(e){return e={"data-focus-trap":``,tabIndex:0,"aria-hidden":!0,...e,style:{position:`fixed`,top:0,left:0,...e.style}},e=uu(e),e}),pu=Z(function(e){return Q(du,fu(e))}),mu=`div`;function hu(e){return vo(e).body}function gu(e,t){return t?typeof t==`function`?t(e):t:vo(e).createElement(`div`)}function _u(e=`id`){return`${e?`${e}-`:``}${Math.random().toString(36).slice(2,8)}`}function vu(e){queueMicrotask(()=>{e?.focus()})}var yu=Ss(function({preserveTabOrder:e,preserveTabOrderAnchor:t,portalElement:n,portalRef:r,portal:i=!0,...a}){let o=(0,V.useRef)(null),s=ns(o,a.ref),c=(0,V.useContext)(cu),[l,u]=(0,V.useState)(null),[d,f]=(0,V.useState)(null),p=(0,V.useRef)(null),m=(0,V.useRef)(null),h=(0,V.useRef)(null),g=(0,V.useRef)(null);return Y(()=>{let e=o.current;if(!e||!i){u(null);return}let t=gu(e,n);if(!t){u(null);return}let a=t.isConnected;if(a||(c||hu(e)).appendChild(t),t.id||=e.id?`portal/${e.id}`:_u(),u(t),fo(r,t),!a)return()=>{t.remove(),fo(r,null)}},[i,n,c,r]),Y(()=>{if(!i||!e||!t)return;let n=vo(t).createElement(`span`);return n.style.position=`fixed`,t.insertAdjacentElement(`afterend`,n),f(n),()=>{n.remove(),f(null)}},[i,e,t]),(0,V.useEffect)(()=>{if(!l||!e)return;let t=0,n=e=>{if(!qo(e))return;let n=e.type===`focusin`;if(cancelAnimationFrame(t),n)return lc(l);t=requestAnimationFrame(()=>{cc(l,!0)})};return l.addEventListener(`focusin`,n,!0),l.addEventListener(`focusout`,n,!0),()=>{cancelAnimationFrame(t),l.removeEventListener(`focusin`,n,!0),l.removeEventListener(`focusout`,n,!0)}},[l,e]),a=us(a,t=>{if(t=(0,W.jsx)(cu.Provider,{value:l||c,children:t}),!i)return t;if(!l)return(0,W.jsx)(`span`,{ref:s,id:a.id,style:{position:`fixed`},hidden:!0});t=(0,W.jsxs)(W.Fragment,{children:[e&&l&&(0,W.jsx)(pu,{ref:m,"data-focus-trap":a.id,className:`__focus-trap-inner-before`,onFocus:e=>{qo(e,l)?vu(ec()):vu(p.current)}}),t,e&&l&&(0,W.jsx)(pu,{ref:h,"data-focus-trap":a.id,className:`__focus-trap-inner-after`,onFocus:e=>{qo(e,l)?vu(nc()):vu(g.current)}})]}),l&&(t=(0,Yr.createPortal)(t,l));let n=(0,W.jsxs)(W.Fragment,{children:[e&&l&&(0,W.jsx)(pu,{ref:p,"data-focus-trap":a.id,className:`__focus-trap-outer-before`,onFocus:e=>{e.relatedTarget!==g.current&&qo(e,l)?vu(m.current):vu(nc())}}),e&&(0,W.jsx)(`span`,{"aria-owns":l?.id,style:{position:`fixed`}}),e&&l&&(0,W.jsx)(pu,{ref:g,"data-focus-trap":a.id,className:`__focus-trap-outer-after`,onFocus:e=>{if(qo(e,l))vu(h.current);else{let e=ec();if(e===m.current){requestAnimationFrame(()=>ec()?.focus());return}vu(e)}}})]});return d&&e&&(n=(0,Yr.createPortal)(n,d)),(0,W.jsxs)(W.Fragment,{children:[n,t]})},[l,c,i,a.id,e,d]),a={...a,ref:s},a});Z(function(e){return Q(mu,yu(e))});var bu=(0,V.createContext)(0);function xu({level:e,children:t}){let n=(0,V.useContext)(bu),r=Math.max(Math.min(e||n+1,6),1);return(0,W.jsx)(bu.Provider,{value:r,children:t})}var Su=`div`,Cu=Ss(function({autoFocusOnShow:e=!0,...t}){return t=us(t,t=>(0,W.jsx)(Gs.Provider,{value:e,children:t}),[e]),t});Z(function(e){return Q(Su,Cu(e))});function wu(e,t){let n=vo(e).createElement(`button`);return n.type=`button`,n.tabIndex=-1,n.textContent=`Dismiss popup`,Object.assign(n.style,{border:`0px`,clip:`rect(0 0 0 0)`,height:`1px`,margin:`-1px`,overflow:`hidden`,padding:`0px`,position:`absolute`,whiteSpace:`nowrap`,width:`1px`}),n.addEventListener(`click`,t),e.prepend(n),()=>{n.removeEventListener(`click`,t),n.remove()}}function Tu(e){let t=(0,V.useRef)(null);return(0,V.useEffect)(()=>{if(!e){t.current=null;return}return Yo(`mousedown`,e=>{t.current=e.target},!0)},[e]),t}var Eu=new WeakMap;function Du(e,t,n){Eu.has(e)||Eu.set(e,new Map);let r=Eu.get(e),i=r.get(t);if(!i)return r.set(t,n()),()=>{var e;(e=r.get(t))==null||e(),r.delete(t)};let a=n(),o=()=>{a(),i(),r.delete(t)};return r.set(t,o),()=>{r.get(t)===o&&(a(),r.set(t,i))}}function Ou(e,t,n){return Du(e,t,()=>{let r=e.getAttribute(t);return e.setAttribute(t,n),()=>{r==null?e.removeAttribute(t):e.setAttribute(t,r)}})}function ku(e,t,n){return Du(e,t,()=>{let r=t in e,i=e[t];return e[t]=n,()=>{r?e[t]=i:delete e[t]}})}function Au(e,t){return e?Du(e,`style`,()=>{let n=e.style.cssText;return Object.assign(e.style,t),()=>{e.style.cssText=n}}):()=>{}}function ju(e,t,n){return e?Du(e,t,()=>{let r=e.style.getPropertyValue(t);return e.style.setProperty(t,n),()=>{r?e.style.setProperty(t,r):e.style.removeProperty(t)}}):()=>{}}var Mu=[`SCRIPT`,`STYLE`];function Nu(e){return`__ariakit-dialog-snapshot-${e}`}function Pu(e,t){let n=vo(t),r=Nu(e);if(!n.body[r])return!0;do{if(t===n.body)return!1;if(t[r])return!0;if(!t.parentElement)return!1;t=t.parentElement}while(!0)}function Fu(e,t,n){return Mu.includes(t.tagName)||!Pu(e,t)?!1:!n.some(e=>e&&xo(t,e))}function Iu(e,t,n,r){for(let i of t){if(!i?.isConnected)continue;let a=t.some(e=>!e||e===i?!1:e.contains(i)),o=vo(i),s=i;for(;i.parentElement&&i!==o.body;){if(r?.(i.parentElement,s),!a)for(let r of i.parentElement.children)Fu(e,r,t)&&n(r,s);i=i.parentElement}}}function Lu(e,t){let{body:n}=vo(t[0]),r=[];return Iu(e,t,t=>{r.push(ku(t,Nu(e),!0))}),to(ku(n,Nu(e),!0),()=>{for(let e of r)e()})}function Ru(e,...t){if(!e)return!1;let n=e.getAttribute(`data-backdrop`);return n==null?!1:n===``||n===`true`||!t.length?!0:t.some(e=>n===e)}function zu(e=``,t=!1){return`__ariakit-dialog-${t?`ancestor`:`outside`}${e?`-${e}`:``}`}function Bu(e,t=``){return to(ku(e,zu(),!0),ku(e,zu(t),!0))}function Vu(e,t=``){return to(ku(e,zu(``,!0),!0),ku(e,zu(t,!0),!0))}function Hu(e,t){let n=zu(t,!0);if(e[n])return!0;let r=zu(t);do{if(e[r])return!0;if(!e.parentElement)return!1;e=e.parentElement}while(!0)}function Uu(e,t){let n=[],r=t.map(e=>e?.id);return Iu(e,t,t=>{Ru(t,...r)||n.unshift(Bu(t,e))},(t,r)=>{r.hasAttribute(`data-dialog`)&&r.id!==e||n.unshift(Vu(t,e))}),()=>{for(let e of n)e()}}function Wu(e){return e.tagName===`HTML`?!0:xo(vo(e).body,e)}function Gu(e,t){if(!e)return!1;if(xo(e,t))return!0;let n=t.getAttribute(`aria-activedescendant`);if(n){let t=vo(e).getElementById(n);if(t)return xo(e,t)}return!1}function Ku(e,t){if(!(`clientY`in e))return!1;let n=t.getBoundingClientRect();return n.width===0||n.height===0?!1:n.top<=e.clientY&&e.clientY<=n.top+n.height&&n.left<=e.clientX&&e.clientX<=n.left+n.width}function qu({store:e,type:t,listener:n,capture:r,domReady:i}){let a=X(n),o=$(e,`open`),s=(0,V.useRef)(!1);Y(()=>{if(!o||!i)return;let{contentElement:t}=e.getState();if(!t)return;let n=()=>{s.current=!0};return t.addEventListener(`focusin`,n,!0),()=>t.removeEventListener(`focusin`,n,!0)},[e,o,i]),(0,V.useEffect)(()=>o?Yo(t,t=>{let{contentElement:n,disclosureElement:r}=e.getState(),i=t.target;n&&i&&Wu(i)&&(xo(n,i)||Gu(r,i)||i.hasAttribute(`data-focus-trap`)||Ku(t,n)||s.current&&!Hu(i,n.id)||hc(i)||a(t))},r):void 0,[o,r,e,t,a])}function Ju(e,t){return typeof e==`function`?e(t):!!e}function Yu(e,t,n){let r=Tu($(e,`open`)),i={store:e,domReady:n,capture:!0};qu({...i,type:`click`,listener:n=>{let{contentElement:i}=e.getState(),a=r.current;a&&To(a)&&Hu(a,i?.id)&&Ju(t,n)&&e.hide()}}),qu({...i,type:`focusin`,listener:n=>{let{contentElement:r}=e.getState();r&&n.target!==vo(r)&&Ju(t,n)&&e.hide()}}),qu({...i,type:`contextmenu`,listener:n=>{Ju(t,n)&&e.hide()}})}var Xu=(0,V.createContext)({});function Zu(e){let t=(0,V.useContext)(Xu),[n,r]=(0,V.useState)([]),i=(0,V.useCallback)(e=>(r(t=>[...t,e]),to(t.add?.call(t,e),()=>{r(t=>t.filter(t=>t!==e))})),[t]);Y(()=>Rc(e,[`open`,`contentElement`],n=>{if(n.open&&n.contentElement)return t.add?.call(t,e)}),[e,t]);let a=(0,V.useMemo)(()=>({store:e,add:i}),[e,i]);return{wrapElement:(0,V.useCallback)(e=>(0,W.jsx)(Xu.Provider,{value:a,children:e}),[a]),nestedDialogs:n}}function Qu({attribute:e,contentId:t,contentElement:n,enabled:r}){let[i,a]=cs(),o=(0,V.useCallback)(()=>{if(!r||!n)return!1;let{body:i}=vo(n),a=i.getAttribute(e);return!a||a===t},[i,r,n,e,t]);return(0,V.useEffect)(()=>{if(!r||!t||!n)return;let{body:i}=vo(n);if(o())return i.setAttribute(e,t),()=>i.removeAttribute(e);let s=new MutationObserver(()=>(0,Yr.flushSync)(a));return s.observe(i,{attributeFilter:[e]}),()=>s.disconnect()},[i,r,t,n,o,e]),o}function $u(e){let t=e.getBoundingClientRect().left;return Math.round(t)+e.scrollLeft?`paddingLeft`:`paddingRight`}function ed(e,t,n){let r=Qu({attribute:`data-dialog-prevent-body-scroll`,contentElement:e,contentId:t,enabled:n});(0,V.useEffect)(()=>{if(!r()||!e)return;let t=vo(e),n=yo(e),{documentElement:i,body:a}=t,o=i.style.getPropertyValue(`--scrollbar-width`),s=o?Number.parseInt(o,10):n.innerWidth-i.clientWidth,c=()=>ju(i,`--scrollbar-width`,`${s}px`),l=$u(i),u=()=>Au(a,{overflow:`hidden`,[l]:`${s}px`}),d=()=>{let{scrollX:e,scrollY:t,visualViewport:r}=n,i=r?.offsetLeft??0,o=r?.offsetTop??0,c=Au(a,{position:`fixed`,overflow:`hidden`,top:`${-(t-Math.floor(o))}px`,left:`${-(e-Math.floor(i))}px`,right:`0`,[l]:`${s}px`});return()=>{c(),n.scrollTo({left:e,top:t,behavior:`instant`})}},f=Io()&&!zo();return to(c(),f?d():u())},[r,e])}function td(e,...t){if(!e)return!1;let n=e.getAttribute(`data-focus-trap`);return n==null?!1:t.length?n===``?!1:t.some(e=>n===e):!0}function nd(){return`inert`in HTMLElement.prototype}function rd(e){return Ou(e,`aria-hidden`,`true`)}function id(e,t){return`style`in e?nd()?ku(e,`inert`,!0):to(...Zs(e,!0).map(e=>{if(t?.some(t=>t&&xo(t,e)))return Xa;let n=Du(e,`focus`,()=>(e.focus=Xa,()=>{delete e.focus}));return to(Ou(e,`tabindex`,`-1`),n)}),rd(e),Au(e,{pointerEvents:`none`,userSelect:`none`,cursor:`default`})):Xa}function ad(e,t){let n=[],r=t.map(e=>e?.id);return Iu(e,t,e=>{Ru(e,...r)||td(e,...r)||n.unshift(id(e,t))},e=>{e.hasAttribute(`role`)&&(t.some(t=>t&&xo(t,e))||n.unshift(Ou(e,`role`,`none`)))}),()=>{for(let e of n)e()}}var od=`div`,sd=`a.button.details.dialog.div.form.h1.h2.h3.h4.h5.h6.header.img.input.label.li.nav.ol.p.section.select.span.summary.textarea.ul.svg`.split(`.`);Ss(function(e){return e});var cd=Z(function(e){return Q(od,e)});Object.assign(cd,sd.reduce((e,t)=>(e[t]=Z(function(e){return Q(t,e)}),e),{}));function ld({store:e,backdrop:t,alwaysVisible:n,hidden:r}){let i=(0,V.useRef)(null),a=jl({disclosure:e}),o=$(e,`contentElement`);(0,V.useEffect)(()=>{let e=i.current,t=o;e&&t&&(e.style.zIndex=getComputedStyle(t).zIndex)},[o]),Y(()=>{let e=o?.id;if(!e)return;let t=i.current;if(t)return Vu(t,e)},[o]);let s=Dl({ref:i,store:a,role:`presentation`,"data-backdrop":o?.id||``,alwaysVisible:n,hidden:r??void 0,style:{position:`fixed`,top:0,right:0,bottom:0,left:0}});if(!t)return null;if((0,V.isValidElement)(t))return(0,W.jsx)(cd,{...s,render:t});let c=typeof t==`boolean`?`div`:t;return(0,W.jsx)(cd,{...s,render:(0,W.jsx)(c,{})})}function ud(e={}){return kl(e)}function dd(e,t,n){return Al(e,t,n)}function fd(e={}){let[t,n]=qc(ud,e);return dd(t,n,e)}var pd=`div`,md=Lo();function hd(e){let t=bo();return!t||e&&xo(e,t)?!1:!!Js(t)}function gd(e,t=!1){if(!e)return null;let n=`current`in e?e.current:e;return n?t?Js(n)?n:null:n:null}var _d=Ss(function({store:e,open:t,onClose:n,focusable:r=!0,modal:i=!0,portal:a=!!i,backdrop:o=!!i,hideOnEscape:s=!0,hideOnInteractOutside:c=!0,getPersistentElements:l,preventBodyScroll:u=!!i,autoFocusOnShow:d=!0,autoFocusOnHide:f=!0,initialFocus:p,finalFocus:m,unmountOnHide:h,unstable_treeSnapshotKey:g,..._}){let v=_l(),y=(0,V.useRef)(null),b=fd({store:e||v,open:t,setOpen(e){if(e)return;let t=y.current;if(!t)return;let r=new Event(`close`,{bubbles:!1,cancelable:!0});n&&t.addEventListener(`close`,n,{once:!0}),t.dispatchEvent(r),r.defaultPrevented&&b.setOpen(!0)}}),{portalRef:x,domReady:S}=ds(a,_.portalRef),C=_.preserveTabOrder,w=$(b,e=>C&&!i&&e.mounted),T=rs(_.id),E=$(b,`open`),D=$(b,`mounted`),O=$(b,`contentElement`),k=El(D,_.hidden,_.alwaysVisible);ed(O,T,u&&!k),Yu(b,c,S);let{wrapElement:A,nestedDialogs:j}=Zu(b);_=us(_,A,[A]),Y(()=>{if(!E)return;let e=y.current,t=bo(e,!0);t&&t.tagName!==`BODY`&&(e&&xo(e,t)||b.setDisclosureElement(t))},[b,E]),md&&(0,V.useEffect)(()=>{if(!D)return;let{disclosureElement:e}=b.getState();if(!e||!Co(e))return;let t=()=>{let t=!1,n=()=>{t=!0};e.addEventListener(`focusin`,n,{capture:!0,once:!0}),Jo(e,`mouseup`,()=>{e.removeEventListener(`focusin`,n,!0),!t&&oc(e)})};return e.addEventListener(`mousedown`,t),()=>{e.removeEventListener(`mousedown`,t)}},[b,D]),(0,V.useEffect)(()=>{if(!D||!S)return;let e=y.current;if(!e)return;let t=yo(e),n=t.visualViewport||t,r=()=>{let n=t.visualViewport?.height??t.innerHeight;e.style.setProperty(`--dialog-viewport-height`,`${n}px`)};return r(),n.addEventListener(`resize`,r),()=>{n.removeEventListener(`resize`,r)}},[D,S]),(0,V.useEffect)(()=>{if(!i||!D||!S)return;let e=y.current;if(e&&!e.querySelector(`[data-dialog-dismiss]`))return wu(e,b.hide)},[b,i,D,S]),Y(()=>{if(!nd()||E||!D||!S)return;let e=y.current;if(e)return id(e)},[E,D,S]);let M=E&&S;Y(()=>{if(!T||!M)return;let e=y.current;return Lu(T,[e])},[T,M,g]);let N=X(l);Y(()=>{if(!T||!M)return;let{disclosureElement:e}=b.getState(),t=[y.current,...N()||[],...j.map(e=>e.getState().contentElement)];return i?to(Uu(T,t),ad(T,t)):Uu(T,[e,...t])},[T,b,M,N,j,i,g]);let P=!!d,F=ls(d),[I,ee]=(0,V.useState)(!1);(0,V.useEffect)(()=>{if(!E||!P||!S||!O?.isConnected)return;let e=gd(p,!0)||O.querySelector(`[data-autofocus=true],[autofocus]`)||Qs(O,!0,a&&w)||O,t=Js(e);F(t?e:null)&&(ee(!0),queueMicrotask(()=>{e.focus(),md&&t&&e.scrollIntoView({block:`nearest`,inline:`nearest`})}))},[E,P,S,O,p,a,w,F]);let L=!!f,te=ls(f),[ne,R]=(0,V.useState)(!1);(0,V.useEffect)(()=>{if(E)return R(!0),()=>R(!1)},[E]);let re=(0,V.useCallback)((e,t=!0)=>{let{disclosureElement:n}=b.getState();if(hd(e))return;let r=gd(m)||n;if(r?.id){let e=vo(r),t=`[aria-activedescendant="${r.id}"]`,n=e.querySelector(t);n&&(r=n)}if(r&&!Js(r)){let e=r.closest(`[data-dialog]`);if(e?.id){let t=vo(e),n=`[aria-controls~="${e.id}"]`,i=t.querySelector(n);i&&(r=i)}}let i=r&&Js(r);if(!i&&t){requestAnimationFrame(()=>re(e,!1));return}te(i?r:null)&&i&&r?.focus({preventScroll:!0})},[b,m,te]),ie=(0,V.useRef)(!1);Y(()=>{if(E||!ne||!L)return;let e=y.current;ie.current=!0,re(e)},[E,ne,S,L,re]),(0,V.useEffect)(()=>{if(!ne||!L)return;let e=y.current;return()=>{if(ie.current){ie.current=!1;return}re(e)}},[ne,L,re]);let z=ls(s);(0,V.useEffect)(()=>!S||!D?void 0:Yo(`keydown`,e=>{if(e.key!==`Escape`||e.defaultPrevented)return;let t=y.current;if(!t||Hu(t))return;let n=e.target;if(!n)return;let{disclosureElement:r}=b.getState();(n.tagName===`BODY`||xo(t,n)||!r||xo(r,n))&&z(e)&&b.hide()},!0),[b,S,D,z]),_=us(_,e=>(0,W.jsx)(xu,{level:i?1:void 0,children:e}),[i]);let ae=_.hidden,oe=_.alwaysVisible;_=us(_,e=>o?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(ld,{store:b,backdrop:o,hidden:ae,alwaysVisible:oe}),e]}):e,[b,o,ae,oe]);let[se,ce]=(0,V.useState)(),[le,B]=(0,V.useState)();return _=us(_,e=>(0,W.jsx)(yl,{value:b,children:(0,W.jsx)(bl.Provider,{value:ce,children:(0,W.jsx)(xl.Provider,{value:B,children:e})})}),[b]),_={"data-dialog":``,role:`dialog`,tabIndex:r?-1:void 0,"aria-labelledby":se,"aria-describedby":le,..._,id:T,ref:ns(y,_.ref)},_=Cu({..._,autoFocusOnShow:I}),_=Dl({store:b,..._}),_=Oc({..._,focusable:r}),_=yu({portal:a,..._,portalRef:x,preserveTabOrder:w}),_});function vd(e,t=_l){return Z(function(n){let r=t();return $(n.store||r,e=>!n.unmountOnHide||e?.mounted||!!n.open)?(0,W.jsx)(e,{...n}):null})}vd(Z(function(e){return Q(pd,_d(e))}),_l);var yd=Math.min,bd=Math.max,xd=Math.round,Sd=Math.floor,Cd=e=>({x:e,y:e}),wd={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function Td(e,t,n){return bd(e,yd(t,n))}function Ed(e,t){return typeof e==`function`?e(t):e}function Dd(e){return e.split(`-`)[0]}function Od(e){return e.split(`-`)[1]}function kd(e){return e===`x`?`y`:`x`}function Ad(e){return e===`y`?`height`:`width`}function jd(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function Md(e){return kd(jd(e))}function Nd(e,t,n){n===void 0&&(n=!1);let r=Od(e),i=Md(e),a=Ad(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=Hd(o)),[o,Hd(o)]}function Pd(e){let t=Hd(e);return[Fd(e),t,Fd(t)]}function Fd(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var Id=[`left`,`right`],Ld=[`right`,`left`],Rd=[`top`,`bottom`],zd=[`bottom`,`top`];function Bd(e,t,n){switch(e){case`top`:case`bottom`:return n?t?Ld:Id:t?Id:Ld;case`left`:case`right`:return t?Rd:zd;default:return[]}}function Vd(e,t,n,r){let i=Od(e),a=Bd(Dd(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(Fd)))),a}function Hd(e){let t=Dd(e);return wd[t]+e.slice(t.length)}function Ud(e){return{top:0,right:0,bottom:0,left:0,...e}}function Wd(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:Ud(e)}function Gd(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function Kd(e,t,n){let{reference:r,floating:i}=e,a=jd(t),o=Md(t),s=Ad(o),c=Dd(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}switch(Od(t)){case`start`:p[o]-=f*(n&&l?-1:1);break;case`end`:p[o]+=f*(n&&l?-1:1);break}return p}async function qd(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=Ed(t,e),p=Wd(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=Gd(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=Gd(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}var Jd=50,Yd=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:qd},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=Kd(l,r,c),f=r,p=0,m={};for(let n=0;n({name:`arrow`,options:e,async fn(t){let{x:n,y:r,placement:i,rects:a,platform:o,elements:s,middlewareData:c}=t,{element:l,padding:u=0}=Ed(e,t)||{};if(l==null)return{};let d=Wd(u),f={x:n,y:r},p=Md(i),m=Ad(p),h=await o.getDimensions(l),g=p===`y`,_=g?`top`:`left`,v=g?`bottom`:`right`,y=g?`clientHeight`:`clientWidth`,b=a.reference[m]+a.reference[p]-f[p]-a.floating[m],x=f[p]-a.reference[p],S=await(o.getOffsetParent==null?void 0:o.getOffsetParent(l)),C=S?S[y]:0;(!C||!await(o.isElement==null?void 0:o.isElement(S)))&&(C=s.floating[y]||a.floating[m]);let w=b/2-x/2,T=C/2-h[m]/2-1,E=yd(d[_],T),D=yd(d[v],T),O=E,k=C-h[m]-D,A=C/2-h[m]/2+w,j=Td(O,A,k),M=!c.arrow&&Od(i)!=null&&A!==j&&a.reference[m]/2-(Ae<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(!(u===`alignment`&&_!==jd(t))||T.every(e=>jd(e.placement)===_?e.overflows[0]>0:!0)))return{data:{index:e,overflows:T},reset:{placement:t}};let n=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=T.filter(e=>{if(x){let t=jd(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o;break}if(r!==n)return{reset:{placement:n}}}return{}}}},Qd=new Set([`left`,`top`]);async function $d(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=Dd(n),s=Od(n),c=jd(n)===`y`,l=Qd.has(o)?-1:1,u=a&&c?-1:1,d=Ed(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var ef=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await $d(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},tf=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=Ed(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=jd(Dd(i)),p=kd(f),m=u[p],h=u[f];if(o){let e=p===`y`?`top`:`left`,t=p===`y`?`bottom`:`right`,n=m+d[e],r=m-d[t];m=Td(n,m,r)}if(s){let e=f===`y`?`top`:`left`,t=f===`y`?`bottom`:`right`,n=h+d[e],r=h-d[t];h=Td(n,h,r)}let g=c.fn({...t,[p]:m,[f]:h});return{...g,data:{x:g.x-n,y:g.y-r,enabled:{[p]:o,[f]:s}}}}}},nf=function(e){return e===void 0&&(e={}),{options:e,fn(t){let{x:n,y:r,placement:i,rects:a,middlewareData:o}=t,{offset:s=0,mainAxis:c=!0,crossAxis:l=!0}=Ed(e,t),u={x:n,y:r},d=jd(i),f=kd(d),p=u[f],m=u[d],h=Ed(s,t),g=typeof h==`number`?{mainAxis:h,crossAxis:0}:{mainAxis:0,crossAxis:0,...h};if(c){let e=f===`y`?`height`:`width`,t=a.reference[f]-a.floating[e]+g.mainAxis,n=a.reference[f]+a.reference[e]-g.mainAxis;pn&&(p=n)}if(l){let e=f===`y`?`width`:`height`,t=Qd.has(Dd(i)),n=a.reference[d]-a.floating[e]+(t&&o.offset?.[d]||0)+(t?0:g.crossAxis),r=a.reference[d]+a.reference[e]+(t?0:o.offset?.[d]||0)-(t?g.crossAxis:0);mr&&(m=r)}return{[f]:p,[d]:m}}}},rf=function(e){return e===void 0&&(e={}),{name:`size`,options:e,async fn(t){var n,r;let{placement:i,rects:a,platform:o,elements:s}=t,{apply:c=()=>{},...l}=Ed(e,t),u=await o.detectOverflow(t,l),d=Dd(i),f=Od(i),p=jd(i)===`y`,{width:m,height:h}=a.floating,g,_;d===`top`||d===`bottom`?(g=d,_=f===(await(o.isRTL==null?void 0:o.isRTL(s.floating))?`start`:`end`)?`left`:`right`):(_=d,g=f===`end`?`top`:`bottom`);let v=h-u.top-u.bottom,y=m-u.left-u.right,b=yd(h-u[g],v),x=yd(m-u[_],y),S=!t.middlewareData.shift,C=b,w=x;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(w=y),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(C=v),S&&!f){let e=bd(u.left,0),t=bd(u.right,0),n=bd(u.top,0),r=bd(u.bottom,0);p?w=m-2*(e!==0||t!==0?e+t:bd(u.left,u.right)):C=h-2*(n!==0||r!==0?n+r:bd(u.top,u.bottom))}await c({...t,availableWidth:w,availableHeight:C});let T=await o.getDimensions(s.floating);return m!==T.width||h!==T.height?{reset:{rects:!0}}:{}}}};function af(){return typeof window<`u`}function of(e){return lf(e)?(e.nodeName||``).toLowerCase():`#document`}function sf(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function cf(e){return((lf(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function lf(e){return af()?e instanceof Node||e instanceof sf(e).Node:!1}function uf(e){return af()?e instanceof Element||e instanceof sf(e).Element:!1}function df(e){return af()?e instanceof HTMLElement||e instanceof sf(e).HTMLElement:!1}function ff(e){return!af()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof sf(e).ShadowRoot}function pf(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=wf(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function mf(e){return/^(table|td|th)$/.test(of(e))}function hf(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var gf=/transform|translate|scale|rotate|perspective|filter/,_f=/paint|layout|strict|content/,vf=e=>!!e&&e!==`none`,yf;function bf(e){let t=uf(e)?wf(e):e;return vf(t.transform)||vf(t.translate)||vf(t.scale)||vf(t.rotate)||vf(t.perspective)||!Sf()&&(vf(t.backdropFilter)||vf(t.filter))||gf.test(t.willChange||``)||_f.test(t.contain||``)}function xf(e){let t=Ef(e);for(;df(t)&&!Cf(t);){if(bf(t))return t;if(hf(t))return null;t=Ef(t)}return null}function Sf(){return yf??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),yf}function Cf(e){return/^(html|body|#document)$/.test(of(e))}function wf(e){return sf(e).getComputedStyle(e)}function Tf(e){return uf(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Ef(e){if(of(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||ff(e)&&e.host||cf(e);return ff(t)?t.host:t}function Df(e){let t=Ef(e);return Cf(t)?e.ownerDocument?e.ownerDocument.body:e.body:df(t)&&pf(t)?t:Df(t)}function Of(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=Df(e),i=r===e.ownerDocument?.body,a=sf(r);if(i){let e=kf(a);return t.concat(a,a.visualViewport||[],pf(r)?r:[],e&&n?Of(e):[])}else return t.concat(r,Of(r,[],n))}function kf(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Af(e){let t=wf(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=df(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=xd(n)!==a||xd(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function jf(e){return uf(e)?e:e.contextElement}function Mf(e){let t=jf(e);if(!df(t))return Cd(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=Af(t),o=(a?xd(n.width):n.width)/r,s=(a?xd(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var Nf=Cd(0);function Pf(e){let t=sf(e);return!Sf()||!t.visualViewport?Nf:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Ff(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==sf(e)?!1:t}function If(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=jf(e),o=Cd(1);t&&(r?uf(r)&&(o=Mf(r)):o=Mf(e));let s=Ff(a,n,r)?Pf(a):Cd(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a){let e=sf(a),t=r&&uf(r)?sf(r):r,n=e,i=kf(n);for(;i&&r&&t!==n;){let e=Mf(i),t=i.getBoundingClientRect(),r=wf(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=sf(i),i=kf(n)}}return Gd({width:u,height:d,x:c,y:l})}function Lf(e,t){let n=Tf(e).scrollLeft;return t?t.left+n:If(cf(e)).left+n}function Rf(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-Lf(e,n),y:n.top+t.scrollTop}}function zf(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=cf(r),s=t?hf(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=Cd(1),u=Cd(0),d=df(r);if((d||!d&&!a)&&((of(r)!==`body`||pf(o))&&(c=Tf(r)),d)){let e=If(r);l=Mf(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?Rf(o,c):Cd(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function Bf(e){return Array.from(e.getClientRects())}function Vf(e){let t=cf(e),n=Tf(e),r=e.ownerDocument.body,i=bd(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=bd(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),o=-n.scrollLeft+Lf(e),s=-n.scrollTop;return wf(r).direction===`rtl`&&(o+=bd(t.clientWidth,r.clientWidth)-i),{width:i,height:a,x:o,y:s}}var Hf=25;function Uf(e,t){let n=sf(e),r=cf(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,c=0;if(i){a=i.width,o=i.height;let e=Sf();(!e||e&&t===`fixed`)&&(s=i.offsetLeft,c=i.offsetTop)}let l=Lf(r);if(l<=0){let e=r.ownerDocument,t=e.body,n=getComputedStyle(t),i=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,o=Math.abs(r.clientWidth-t.clientWidth-i);o<=Hf&&(a-=o)}else l<=Hf&&(a+=l);return{width:a,height:o,x:s,y:c}}function Wf(e,t){let n=If(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=df(e)?Mf(e):Cd(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function Gf(e,t,n){let r;if(t===`viewport`)r=Uf(e,n);else if(t===`document`)r=Vf(cf(e));else if(uf(t))r=Wf(t,n);else{let n=Pf(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return Gd(r)}function Kf(e,t){let n=Ef(e);return n===t||!uf(n)||Cf(n)?!1:wf(n).position===`fixed`||Kf(n,t)}function qf(e,t){let n=t.get(e);if(n)return n;let r=Of(e,[],!1).filter(e=>uf(e)&&of(e)!==`body`),i=null,a=wf(e).position===`fixed`,o=a?Ef(e):e;for(;uf(o)&&!Cf(o);){let t=wf(o),n=bf(o);!n&&t.position===`fixed`&&(i=null),(a?!n&&!i:!n&&t.position===`static`&&i&&(i.position===`absolute`||i.position===`fixed`)||pf(o)&&!n&&Kf(e,o))?r=r.filter(e=>e!==o):i=t,o=Ef(o)}return t.set(e,r),r}function Jf(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?hf(t)?[]:qf(t,this._c):[].concat(n),r],o=Gf(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e{o(!1,1e-7)},1e3)}n===1&&!rp(l,e.getBoundingClientRect())&&o(),y=!1}try{n=new IntersectionObserver(b,{...v,root:i.ownerDocument})}catch{n=new IntersectionObserver(b,v)}n.observe(e)}return o(!0),a}function ap(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver==`function`,layoutShift:s=typeof IntersectionObserver==`function`,animationFrame:c=!1}=r,l=jf(e),u=i||a?[...l?Of(l):[],...t?Of(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n,{passive:!0}),a&&e.addEventListener(`resize`,n)});let d=l&&s?ip(l,n):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&t&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),t&&p.observe(t));let m,h=c?If(e):null;c&&g();function g(){let t=If(e);h&&!rp(h,t)&&n(),h=t,m=requestAnimationFrame(g)}return n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(`scroll`,n),a&&e.removeEventListener(`resize`,n)}),d?.(),(e=p)==null||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}var op=ef,sp=tf,cp=Zd,lp=rf,up=Xd,dp=nf,fp=(e,t,n)=>{let r=new Map,i={platform:np,...n},a={...i.platform,_c:r};return Yd(e,t,{...i,platform:a})},pp=`div`;function mp(e=0,t=0,n=0,r=0){if(typeof DOMRect==`function`)return new DOMRect(e,t,n,r);let i={x:e,y:t,width:n,height:r,top:t,right:e+n,bottom:t+r,left:e};return{...i,toJSON:()=>i}}function hp(e){if(!e)return mp();let{x:t,y:n,width:r,height:i}=e;return mp(t,n,r,i)}function gp(e,t){return{contextElement:e||void 0,getBoundingClientRect:()=>{let n=e,r=t?.(n);return r||!n?hp(r):n.getBoundingClientRect()}}}function _p(e){return/^(?:top|bottom|left|right)(?:-(?:start|end))?$/.test(e)}function vp(e){let t=window.devicePixelRatio||1;return Math.round(e*t)/t}function yp(e,t){return op(({placement:n})=>{let r=(e?.clientHeight||0)/2,i=typeof t.gutter==`number`?t.gutter+r:t.gutter??r;return{crossAxis:n.split(`-`)[1]?void 0:t.shift,mainAxis:i,alignmentAxis:t.shift}})}function bp(e){if(e.flip===!1)return;let t=typeof e.flip==`string`?e.flip.split(` `):void 0;return oo(!t||t.every(_p),!1),cp({padding:e.overflowPadding,fallbackPlacements:t})}function xp(e){if(!(!e.slide&&!e.overlap))return sp({mainAxis:e.slide,crossAxis:e.overlap,padding:e.overflowPadding,limiter:dp()})}function Sp(e){return lp({padding:e.overflowPadding,apply({elements:t,availableWidth:n,availableHeight:r,rects:i}){let a=t.floating,o=Math.round(i.reference.width);n=Math.floor(n),r=Math.floor(r),a.style.setProperty(`--popover-anchor-width`,`${o}px`),a.style.setProperty(`--popover-available-width`,`${n}px`),a.style.setProperty(`--popover-available-height`,`${r}px`),e.sameWidth&&(a.style.width=`${o}px`),e.fitViewport&&(a.style.maxWidth=`${n}px`,a.style.maxHeight=`${r}px`)}})}function Cp(e,t){if(e)return up({element:e,padding:t.arrowPadding})}var wp=Ss(function({store:e,modal:t=!1,portal:n=!!t,preserveTabOrder:r=!0,autoFocusOnShow:i=!0,wrapperProps:a,fixed:o=!1,flip:s=!0,shift:c=0,slide:l=!0,overlap:u=!1,sameWidth:d=!1,fitViewport:f=!1,gutter:p,arrowPadding:m=4,overflowPadding:h=8,getAnchorRect:g,updatePosition:_,...v}){let y=Nl();e||=y,oo(e,!1);let b=$(e,`arrowElement`),x=$(e,`anchorElement`),S=$(e,`disclosureElement`),C=$(e,`popoverElement`),w=$(e,`contentElement`),T=$(e,`placement`),E=$(e,`mounted`),D=$(e,`rendered`),O=(0,V.useRef)(null),[k,A]=(0,V.useState)(!1),{portalRef:j,domReady:M}=ds(n,v.portalRef),N=X(g),P=X(_),F=!!_;Y(()=>{if(!C?.isConnected)return;C.style.setProperty(`--popover-overflow-padding`,`${h}px`);let t=gp(x,N),n=async()=>{if(!E)return;b||(O.current=O.current||document.createElement(`div`));let n=b||O.current,r=[yp(n,{gutter:p,shift:c}),bp({flip:s,overflowPadding:h}),xp({slide:l,shift:c,overlap:u,overflowPadding:h}),Cp(n,{arrowPadding:m}),Sp({sameWidth:d,fitViewport:f,overflowPadding:h})],i=await fp(t,C,{placement:T,strategy:o?`fixed`:`absolute`,middleware:r});e?.setState(`currentPlacement`,i.placement),A(!0);let a=vp(i.x),g=vp(i.y);if(Object.assign(C.style,{top:`0`,left:`0`,transform:`translate3d(${a}px,${g}px,0)`}),n&&i.middlewareData.arrow){let{x:e,y:t}=i.middlewareData.arrow,r=i.placement.split(`-`)[0],a=n.clientWidth/2,o=n.clientHeight/2,s=e==null?-a:e+a,c=t==null?-o:t+o;C.style.setProperty(`--popover-transform-origin`,{top:`${s}px calc(100% + ${o}px)`,bottom:`${s}px ${-o}px`,left:`calc(100% + ${a}px) ${c}px`,right:`${-a}px ${c}px`}[r]),Object.assign(n.style,{left:e==null?``:`${e}px`,top:t==null?``:`${t}px`,[r]:`100%`})}},r=ap(t,C,async()=>{F?(await P({updatePosition:n}),A(!0)):await n()},{elementResize:typeof ResizeObserver==`function`});return()=>{A(!1),r()}},[e,D,C,b,x,C,T,E,M,o,s,c,l,u,d,f,p,m,h,N,F,P]),Y(()=>{if(!E||!M||!C?.isConnected||!w?.isConnected)return;let e=()=>{C.style.zIndex=getComputedStyle(w).zIndex};e();let t=requestAnimationFrame(()=>{t=requestAnimationFrame(e)});return()=>cancelAnimationFrame(t)},[E,M,C,w]);let I=o?`fixed`:`absolute`;return v=us(v,t=>(0,W.jsx)(`div`,{...a,style:{position:I,top:0,left:0,width:`max-content`,...a?.style},ref:e?.setPopoverElement,children:t}),[e,I,a]),v=us(v,t=>(0,W.jsx)(Fl,{value:e,children:t}),[e]),v={"data-placing":!k||void 0,...v,style:{position:`relative`,...v.style}},v=_d({store:e,modal:t,portal:n,preserveTabOrder:r,preserveTabOrderAnchor:S||x,autoFocusOnShow:k&&i,...v,portalRef:j}),v});vd(Z(function(e){return Q(pp,wp(e))}),Nl);function Tp({popover:e,...t}={}){let n=Hc(t.store,Bc(e,[`arrowElement`,`anchorElement`,`contentElement`,`popoverElement`,`disclosureElement`])),r=n?.getState(),i=ud({...t,store:n}),a=J(t.placement,r?.placement,`bottom`),o=Pc({...i.getState(),placement:a,currentPlacement:a,anchorElement:J(r?.anchorElement,null),popoverElement:J(r?.popoverElement,null),arrowElement:J(r?.arrowElement,null),rendered:Symbol(`rendered`)},i,n);return{...i,...o,setAnchorElement:e=>o.setState(`anchorElement`,e),setPopoverElement:e=>o.setState(`popoverElement`,e),setArrowElement:e=>o.setState(`arrowElement`,e),render:()=>o.setState(`rendered`,Symbol(`rendered`))}}function Ep(e,t,n){return os(t,[n.popover]),Kc(e,n,`placement`),dd(e,t,n)}var Dp=`div`,Op=Ss(function({store:e,...t}){let n=Nl();return e||=n,t={...t,ref:ns(e?.setAnchorElement,t.ref)},t});Z(function(e){return Q(Dp,Op(e))});var kp=(0,V.createContext)(void 0),Ap=`div`,jp=Ss(function(e){let[t,n]=(0,V.useState)();return e=us(e,e=>(0,W.jsx)(kp.Provider,{value:n,children:e}),[]),e={role:`group`,"aria-labelledby":t,...e},uo(e)});Z(function(e){return Q(Ap,jp(e))});var Mp=`div`,Np=Ss(function({store:e,...t}){return t=jp(t),t});Z(function(e){return Q(Mp,Np(e))});var Pp=`div`,Fp=Ss(function(e){let t=(0,V.useContext)(kp),n=rs(e.id);return Y(()=>(t?.(n),()=>t?.(void 0)),[t,n]),e={"aria-hidden":!0,...e,id:n},uo(e)});Z(function(e){return Q(Pp,Fp(e))});var Ip=`div`,Lp=Ss(function({store:e,...t}){return t=Fp(t),t});Z(function(e){return Q(Ip,Lp(e))});var Rp=`div`;function zp(e){let t=e.relatedTarget;return t?.nodeType===Node.ELEMENT_NODE?t:null}function Bp(e){let t=zp(e);return t?xo(e.currentTarget,t):!1}var Vp=Symbol(`composite-hover`);function Hp(e){let t=zp(e);if(!t)return!1;do{if(eo(t,Vp)&&t[Vp])return!0;t=t.parentElement}while(t);return!1}var Up=Ss(function({store:e,focusOnHover:t=!0,blurOnHoverEnd:n=!!t,...r}){let i=ks();e||=i,oo(e,!1);let a=ms(),o=r.onMouseMove,s=ls(t),c=X(t=>{if(o?.(t),!t.defaultPrevented&&a()&&s(t)){if(!ac(t.currentTarget)){let t=e?.getState().baseElement;t&&!ic(t)&&t.focus()}e?.setActiveId(t.currentTarget.id)}}),l=r.onMouseLeave,u=ls(n),d=X(t=>{var n;l?.(t),!t.defaultPrevented&&a()&&(Bp(t)||Hp(t)||s(t)&&u(t)&&(e?.setActiveId(null),(n=e?.getState().baseElement)==null||n.focus()))}),f=(0,V.useCallback)(e=>{e&&(e[Vp]=!0)},[]);return r={...r,ref:ns(f,r.ref),onMouseMove:c,onMouseLeave:d},uo(r)});xs(Z(function(e){return Q(Rp,Up(e))}));var Wp=`input`;function Gp(e,t,n){return n?e.find(e=>!e.disabled&&e.value)?.value===t:!1}function Kp(e,t){return!t||e==null?!1:(e=no(e),t.length>e.length&&t.toLowerCase().indexOf(e.toLowerCase())===0)}function qp(e){return e.type===`input`}function Jp(e){return e===`inline`||e===`list`||e===`both`||e===`none`}function Yp(e){return e.find(e=>e.disabled?!1:e.element?.getAttribute(`role`)!==`tab`)?.id}var Xp=Ss(function({store:e,focusable:t=!0,autoSelect:n=!1,getAutoSelectId:r,setValueOnChange:i,showMinLength:a=0,showOnChange:o,showOnMouseDown:s,showOnClick:c=s,showOnKeyDown:l,showOnKeyPress:u=l,blurActiveItemOnClick:d,setValueOnClick:f=!0,moveOnKeyPress:p=!0,autoComplete:m=`list`,...h}){let g=ru();e||=g,oo(e,!1);let _=(0,V.useRef)(null),[v,y]=cs(),b=(0,V.useRef)(!1),x=(0,V.useRef)(!1),S=$(e,e=>e.virtualFocus&&n),C=m===`inline`||m===`both`,[w,T]=(0,V.useState)(C);ss(()=>{C&&T(!0)},[C]);let E=$(e,`value`),D=(0,V.useRef)(void 0);(0,V.useEffect)(()=>Rc(e,[`selectedValue`,`activeId`],(e,t)=>{D.current=t.selectedValue}),[e]);let O=$(e,e=>{if(C&&w&&!(e.activeValue&&Array.isArray(e.selectedValue)&&(e.selectedValue.includes(e.activeValue)||D.current?.includes(e.activeValue))))return e.activeValue}),k=$(e,`renderedItems`),A=$(e,`open`),j=$(e,`contentElement`),M=(0,V.useMemo)(()=>!C||!w?E:Gp(k,O,S)?Kp(E,O)?E+(O?.slice(E.length)||``):E:O||E,[C,w,k,O,S,E]);(0,V.useEffect)(()=>{let e=_.current;if(!e)return;let t=()=>T(!0);return e.addEventListener(`combobox-item-move`,t),()=>{e.removeEventListener(`combobox-item-move`,t)}},[]),(0,V.useEffect)(()=>{if(!C||!w||!O||!Gp(k,O,S)||!Kp(E,O))return;let e=Xa;return queueMicrotask(()=>{let t=_.current;if(!t)return;let{start:n,end:r}=ko(t),i=E.length,a=O.length;Mo(t,i,a),e=()=>{if(!ic(t))return;let{start:e,end:o}=ko(t);e===i&&o===a&&Mo(t,n,r)}}),()=>e()},[v,C,w,O,k,S,E]);let N=(0,V.useRef)(null),P=X(r),F=(0,V.useRef)(null),I=(0,V.useRef)(!1),ee=(0,V.useRef)(!1);(0,V.useEffect)(()=>{if(!A||!j)return;let t=jo(j);if(!t)return;N.current=t;let n=()=>{b.current=!1,I.current=!0},r=()=>{if(ee.current||(I.current=!0),!e||!b.current)return;let{activeId:t}=e.getState();t!==null&&t!==F.current&&(b.current=!1)},i={passive:!0,capture:!0};return t.addEventListener(`wheel`,n,i),t.addEventListener(`touchmove`,n,i),t.addEventListener(`scroll`,r,i),()=>{t.removeEventListener(`wheel`,n,!0),t.removeEventListener(`touchmove`,n,!0),t.removeEventListener(`scroll`,r,!0)}},[A,j,e]),Y(()=>{I.current=!1,E&&(x.current||(b.current=!0))},[E]),Y(()=>{S!==`always`&&A||(b.current=A)},[S,A]);let L=$(e,`resetValueOnSelect`);os(()=>{let t=b.current;if(!e||!A||!t&&(!L||I.current))return;let{baseElement:n,contentElement:r,activeId:i}=e.getState();if(!(n&&!ic(n))){if(r?.hasAttribute(`data-placing`)){let e=new MutationObserver(y);return e.observe(r,{attributeFilter:[`data-placing`]}),()=>e.disconnect()}if(S&&t){let t=P(k),n=t===void 0?Yp(k)??e.first():t;F.current=n,e.move(n??null)}else{let t=e.item(i||e.first())?.element;t&&`scrollIntoView`in t&&(ee.current=!0,t.scrollIntoView({block:`nearest`,inline:`nearest`}),requestAnimationFrame(()=>{ee.current=!1}))}}},[e,A,v,E,S,L,P,k]),(0,V.useEffect)(()=>{if(!C)return;let t=_.current;if(!t)return;let n=[t,j].filter(e=>!!e),r=t=>{n.every(e=>qo(t,e))&&e?.setValue(M)};for(let e of n)e.addEventListener(`focusout`,r);return()=>{for(let e of n)e.removeEventListener(`focusout`,r)}},[C,j,e,M]);let te=e=>e.currentTarget.value.length>=a,ne=h.onChange,R=ls(o??te),re=ls(i??!e.tag),ie=X(t=>{if(ne?.(t),t.defaultPrevented||!e)return;let n=t.currentTarget,{value:r,selectionStart:i,selectionEnd:a}=n,o=t.nativeEvent;if(b.current=!0,qp(o)&&(o.isComposing&&(b.current=!1,x.current=!0),C)){let e=o.inputType===`insertText`||o.inputType===`insertCompositionText`,t=i===r.length;T(e&&t)}if(re(t)){let t=r===e.getState().value;e.setValue(r),queueMicrotask(()=>{Mo(n,i,a)}),C&&S&&t&&y()}R(t)&&e.show(),(!S||!b.current)&&e.setActiveId(null)}),z=h.onCompositionEnd,ae=X(e=>{b.current=!0,x.current=!1,z?.(e),!e.defaultPrevented&&S&&y()}),oe=h.onMouseDown,se=ls(d??(()=>!!e?.getState().includesBaseElement)),ce=ls(f),le=ls(c??te),B=X(t=>{oe?.(t),!t.defaultPrevented&&(t.button||t.ctrlKey||e&&(se(t)&&e.setActiveId(null),ce(t)&&e.setValue(M),le(t)&&Jo(t.currentTarget,`mouseup`,e.show)))}),ue=h.onKeyDown,de=ls(u??te),fe=X(t=>{if(ue?.(t),t.repeat||(b.current=!1),t.defaultPrevented||t.ctrlKey||t.altKey||t.shiftKey||t.metaKey||!e)return;let{open:n}=e.getState();n||(t.key===`ArrowUp`||t.key===`ArrowDown`)&&de(t)&&(t.preventDefault(),e.show())}),pe=h.onBlur,me=X(e=>{b.current=!1,pe?.(e),e.defaultPrevented}),he=rs(h.id),ge=Jp(m)?m:void 0,_e=$(e,e=>e.activeId===null);return h={role:`combobox`,"aria-autocomplete":ge,"aria-haspopup":Ao(j,`listbox`),"aria-expanded":A,"aria-controls":j?.id,"data-active-item":_e||void 0,value:M,...h,id:he,ref:ns(_,h.ref),onChange:ie,onCompositionEnd:ae,onMouseDown:B,onKeyDown:fe,onBlur:me},h=dl({store:e,focusable:t,...h,moveOnKeyPress:e=>co(p,e)?!1:(C&&T(!0),!0)}),h=Op({store:e,...h}),{autoComplete:`off`,...h}}),Zp=Z(function(e){return Q(Wp,Xp(e))}),Qp=`div`,$p=Ss(function({store:e,...t}){let n=nu();return e||=n,oo(e,!1),Ao($(e,`contentElement`))===`grid`&&(t={role:`rowgroup`,...t}),t=Np({store:e,...t}),t}),em=Z(function(e){return Q(Qp,$p(e))}),tm=`div`,nm=Ss(function(e){return e=Lp(e),e}),rm=Z(function(e){return Q(tm,nm(e))}),im=`div`;function am(e,t){if(t!=null)return e==null?!1:Array.isArray(e)?e.includes(t):e===t}function om(e){return{menu:`menuitem`,listbox:`option`,tree:`treeitem`}[e]??`option`}var sm=Ss(function({store:e,value:t,hideOnClick:n,setValueOnClick:r,selectValueOnClick:i=!0,resetValueOnSelect:a,focusOnHover:o=!1,moveOnKeyPress:s=!0,getItem:c,...l}){let u=nu();e||=u,oo(e,!1);let{resetValueOnSelectState:d,multiSelectable:f,selected:p}=Gc(e,{resetValueOnSelectState:`resetValueOnSelect`,multiSelectable(e){return Array.isArray(e.selectedValue)},selected(e){return am(e.selectedValue,t)}}),m=(0,V.useCallback)(e=>{let n={...e,value:t};return c?c(n):n},[t,c]);r??=!f,n??=t!=null&&!f;let h=l.onClick,g=ls(r),_=ls(i),v=ls(a??d??f),y=ls(n),b=X(n=>{h?.(n),!n.defaultPrevented&&(Uo(n)||Ho(n)||(t!=null&&(_(n)&&(v(n)&&e?.resetValue(),e?.setSelectedValue(e=>Array.isArray(e)?e.includes(t)?e.filter(e=>e!==t):[...e,t]:t)),g(n)&&e?.setValue(t)),y(n)&&e?.hide()))}),x=l.onKeyDown,S=X(t=>{if(x?.(t),t.defaultPrevented)return;let n=e?.getState().baseElement;n&&(ic(n)||(t.key.length===1||t.key===`Backspace`||t.key===`Delete`)&&(queueMicrotask(()=>n.focus()),Eo(n)&&e?.setValue(n.value)))});f&&p!=null&&(l={"aria-selected":p,...l}),l=us(l,e=>(0,W.jsx)(ou.Provider,{value:t,children:(0,W.jsx)(su.Provider,{value:p??!1,children:e})}),[t,p]),l={role:om((0,V.useContext)($l)),children:t,...l,onClick:b,onKeyDown:S};let C=ls(s);return l=el({store:e,...l,getItem:m,moveOnKeyPress:t=>{if(!C(t))return!1;let n=new Event(`combobox-item-move`);return(e?.getState().baseElement)?.dispatchEvent(n),!0}}),l=Up({store:e,focusOnHover:o,...l}),l}),cm=xs(Z(function(e){return Q(im,sm(e))})),lm=`div`,um=Ss(function({store:e,alwaysVisible:t,...n}){let r=nu(!0),i=tu();e||=i;let a=!!e&&e===r;oo(e,!1);let o=(0,V.useRef)(null),s=rs(n.id),c=$(e,`mounted`),l=El(c,n.hidden,t),u=l?{...n.style,display:`none`}:n.style,d=$(e,e=>Array.isArray(e.selectedValue)),f=as(o,`role`,n.role),p=(f===`listbox`||f===`tree`||f===`grid`)&&d||void 0,[m,h]=(0,V.useState)(!1),g=$(e,`contentElement`);Y(()=>{if(!c)return;let e=o.current;if(!e||g!==e)return;let t=()=>{h(!!e.querySelector(`[role='listbox']`))},n=new MutationObserver(t);return n.observe(e,{subtree:!0,childList:!0,attributeFilter:[`role`]}),t(),()=>n.disconnect()},[c,g]),m||(n={role:`listbox`,"aria-multiselectable":p,...n}),n=us(n,t=>(0,W.jsx)(au,{value:e,children:(0,W.jsx)($l.Provider,{value:f,children:t})}),[e,f]);let _=s&&(!r||!a)?e.setContentElement:null;return n={hidden:l,...n,id:s,ref:ns(_,o,n.ref),style:u},uo(n)}),dm=Z(function(e){return Q(lm,um(e))}),fm=`div`;function pm(e,...t){if(!e)return!1;if(`id`in e){let n=t.filter(Boolean).map(e=>`[aria-controls~="${e}"]`).join(`, `);return n?e.matches(n):!1}return!1}var mm=Ss(function({store:e,modal:t,tabIndex:n,alwaysVisible:r,autoFocusOnHide:i=!0,hideOnInteractOutside:a=!0,...o}){let s=ru();e||=s,oo(e,!1);let c=$(e,`baseElement`),l=(0,V.useRef)(!1),u=$(e.tag,e=>e?.renderedItems.length);return o=um({store:e,alwaysVisible:r,...o}),o=wp({store:e,modal:t,alwaysVisible:r,backdrop:!1,autoFocusOnShow:!1,finalFocus:c,preserveTabOrderAnchor:null,unstable_treeSnapshotKey:u,...o,getPersistentElements(){let n=o.getPersistentElements?.call(o)||[];if(!t||!e)return n;let{contentElement:r,baseElement:i}=e.getState();if(!i)return n;let a=vo(i),s=[];if(r?.id&&s.push(`[aria-controls~="${r.id}"]`),i?.id&&s.push(`[aria-controls~="${i.id}"]`),!s.length)return[...n,i];let c=s.join(`,`),l=a.querySelectorAll(c);return[...n,...l]},autoFocusOnHide(e){return co(i,e)?!1:l.current?(l.current=!1,!1):!0},hideOnInteractOutside(t){let n=e?.getState(),r=n?.contentElement?.id,i=n?.baseElement?.id;if(pm(t.target,r,i))return!1;let o=typeof a==`function`?a(t):a;return o&&(l.current=t.type===`click`),o}}),o}),hm=vd(Z(function(e){return Q(fm,mm(e))}),ru);(0,V.createContext)(null),(0,V.createContext)(null);var gm=Cs([js],[Ms]),_m=gm.useContext;gm.useScopedContext,gm.useProviderContext,gm.ContextProvider,gm.ScopedContextProvider;var vm=Lo()&&Fo();function ym({tag:e,...t}={}){let n=Hc(t.store,Vc(e,[`value`,`rtl`])),r=e?.getState(),i=n?.getState(),a=J(t.activeId,i?.activeId,t.defaultActiveId,null),o=Xl({...t,activeId:a,includesBaseElement:J(t.includesBaseElement,i?.includesBaseElement,!0),orientation:J(t.orientation,i?.orientation,`vertical`),focusLoop:J(t.focusLoop,i?.focusLoop,!0),focusWrap:J(t.focusWrap,i?.focusWrap,!0),virtualFocus:J(t.virtualFocus,i?.virtualFocus,!0)}),s=Tp({...t,placement:J(t.placement,i?.placement,`bottom-start`)}),c=J(t.value,i?.value,t.defaultValue,``),l=J(t.selectedValue,i?.selectedValue,r?.values,t.defaultSelectedValue,``),u=Array.isArray(l),d={...o.getState(),...s.getState(),value:c,selectedValue:l,resetValueOnSelect:J(t.resetValueOnSelect,i?.resetValueOnSelect,u),resetValueOnHide:J(t.resetValueOnHide,i?.resetValueOnHide,u&&!e),activeValue:i?.activeValue},f=Pc(d,o,s,n);return vm&&Fc(f,()=>Rc(f,[`virtualFocus`],()=>{f.setState(`virtualFocus`,!1)})),Fc(f,()=>{if(e)return to(Rc(f,[`selectedValue`],t=>{Array.isArray(t.selectedValue)&&e.setValues(t.selectedValue)}),Rc(e,[`values`],e=>{f.setState(`selectedValue`,e.values)}))}),Fc(f,()=>Rc(f,[`resetValueOnHide`,`mounted`],e=>{e.resetValueOnHide&&(e.mounted||f.setState(`value`,c))})),Fc(f,()=>Rc(f,[`open`],e=>{e.open||(f.setState(`activeId`,a),f.setState(`moves`,0))})),Fc(f,()=>Rc(f,[`moves`,`activeId`],(e,t)=>{e.moves===t.moves&&f.setState(`activeValue`,void 0)})),Fc(f,()=>zc(f,[`moves`,`renderedItems`],(e,t)=>{if(e.moves===t.moves)return;let{activeId:n}=f.getState(),r=o.item(n);f.setState(`activeValue`,r?.value)})),{...s,...o,...f,tag:e,setValue:e=>f.setState(`value`,e),resetValue:()=>f.setState(`value`,d.value),setSelectedValue:e=>f.setState(`selectedValue`,e)}}function bm(e){let t=_m();return e={...e,tag:e.tag===void 0?t:e.tag},Zl(e)}function xm(e,t,n){return os(t,[n.tag]),Kc(e,n,`value`,`setValue`),Kc(e,n,`selectedValue`,`setSelectedValue`),Kc(e,n,`resetValueOnHide`),Kc(e,n,`resetValueOnSelect`),Object.assign(Ql(Ep(e,t,n),t,n),{tag:n.tag})}function Sm(e={}){e=bm(e);let[t,n]=qc(ym,e);return xm(t,n,e)}function Cm(e={}){return(0,W.jsx)(iu,{value:Sm(e),children:e.children})}var wm=e(t(((e,t)=>{var n={À:`A`,Á:`A`,Â:`A`,Ã:`A`,Ä:`A`,Å:`A`,Ấ:`A`,Ắ:`A`,Ẳ:`A`,Ẵ:`A`,Ặ:`A`,Æ:`AE`,Ầ:`A`,Ằ:`A`,Ȃ:`A`,Ả:`A`,Ạ:`A`,Ẩ:`A`,Ẫ:`A`,Ậ:`A`,Ç:`C`,Ḉ:`C`,È:`E`,É:`E`,Ê:`E`,Ë:`E`,Ế:`E`,Ḗ:`E`,Ề:`E`,Ḕ:`E`,Ḝ:`E`,Ȇ:`E`,Ẻ:`E`,Ẽ:`E`,Ẹ:`E`,Ể:`E`,Ễ:`E`,Ệ:`E`,Ì:`I`,Í:`I`,Î:`I`,Ï:`I`,Ḯ:`I`,Ȋ:`I`,Ỉ:`I`,Ị:`I`,Ð:`D`,Ñ:`N`,Ò:`O`,Ó:`O`,Ô:`O`,Õ:`O`,Ö:`O`,Ø:`O`,Ố:`O`,Ṍ:`O`,Ṓ:`O`,Ȏ:`O`,Ỏ:`O`,Ọ:`O`,Ổ:`O`,Ỗ:`O`,Ộ:`O`,Ờ:`O`,Ở:`O`,Ỡ:`O`,Ớ:`O`,Ợ:`O`,Ù:`U`,Ú:`U`,Û:`U`,Ü:`U`,Ủ:`U`,Ụ:`U`,Ử:`U`,Ữ:`U`,Ự:`U`,Ý:`Y`,à:`a`,á:`a`,â:`a`,ã:`a`,ä:`a`,å:`a`,ấ:`a`,ắ:`a`,ẳ:`a`,ẵ:`a`,ặ:`a`,æ:`ae`,ầ:`a`,ằ:`a`,ȃ:`a`,ả:`a`,ạ:`a`,ẩ:`a`,ẫ:`a`,ậ:`a`,ç:`c`,ḉ:`c`,è:`e`,é:`e`,ê:`e`,ë:`e`,ế:`e`,ḗ:`e`,ề:`e`,ḕ:`e`,ḝ:`e`,ȇ:`e`,ẻ:`e`,ẽ:`e`,ẹ:`e`,ể:`e`,ễ:`e`,ệ:`e`,ì:`i`,í:`i`,î:`i`,ï:`i`,ḯ:`i`,ȋ:`i`,ỉ:`i`,ị:`i`,ð:`d`,ñ:`n`,ò:`o`,ó:`o`,ô:`o`,õ:`o`,ö:`o`,ø:`o`,ố:`o`,ṍ:`o`,ṓ:`o`,ȏ:`o`,ỏ:`o`,ọ:`o`,ổ:`o`,ỗ:`o`,ộ:`o`,ờ:`o`,ở:`o`,ỡ:`o`,ớ:`o`,ợ:`o`,ù:`u`,ú:`u`,û:`u`,ü:`u`,ủ:`u`,ụ:`u`,ử:`u`,ữ:`u`,ự:`u`,ý:`y`,ÿ:`y`,Ā:`A`,ā:`a`,Ă:`A`,ă:`a`,Ą:`A`,ą:`a`,Ć:`C`,ć:`c`,Ĉ:`C`,ĉ:`c`,Ċ:`C`,ċ:`c`,Č:`C`,č:`c`,C̆:`C`,c̆:`c`,Ď:`D`,ď:`d`,Đ:`D`,đ:`d`,Ē:`E`,ē:`e`,Ĕ:`E`,ĕ:`e`,Ė:`E`,ė:`e`,Ę:`E`,ę:`e`,Ě:`E`,ě:`e`,Ĝ:`G`,Ǵ:`G`,ĝ:`g`,ǵ:`g`,Ğ:`G`,ğ:`g`,Ġ:`G`,ġ:`g`,Ģ:`G`,ģ:`g`,Ĥ:`H`,ĥ:`h`,Ħ:`H`,ħ:`h`,Ḫ:`H`,ḫ:`h`,Ĩ:`I`,ĩ:`i`,Ī:`I`,ī:`i`,Ĭ:`I`,ĭ:`i`,Į:`I`,į:`i`,İ:`I`,ı:`i`,IJ:`IJ`,ij:`ij`,Ĵ:`J`,ĵ:`j`,Ķ:`K`,ķ:`k`,Ḱ:`K`,ḱ:`k`,K̆:`K`,k̆:`k`,Ĺ:`L`,ĺ:`l`,Ļ:`L`,ļ:`l`,Ľ:`L`,ľ:`l`,Ŀ:`L`,ŀ:`l`,Ł:`l`,ł:`l`,Ḿ:`M`,ḿ:`m`,M̆:`M`,m̆:`m`,Ń:`N`,ń:`n`,Ņ:`N`,ņ:`n`,Ň:`N`,ň:`n`,ʼn:`n`,N̆:`N`,n̆:`n`,Ō:`O`,ō:`o`,Ŏ:`O`,ŏ:`o`,Ő:`O`,ő:`o`,Œ:`OE`,œ:`oe`,P̆:`P`,p̆:`p`,Ŕ:`R`,ŕ:`r`,Ŗ:`R`,ŗ:`r`,Ř:`R`,ř:`r`,R̆:`R`,r̆:`r`,Ȓ:`R`,ȓ:`r`,Ś:`S`,ś:`s`,Ŝ:`S`,ŝ:`s`,Ş:`S`,Ș:`S`,ș:`s`,ş:`s`,Š:`S`,š:`s`,Ţ:`T`,ţ:`t`,ț:`t`,Ț:`T`,Ť:`T`,ť:`t`,Ŧ:`T`,ŧ:`t`,T̆:`T`,t̆:`t`,Ũ:`U`,ũ:`u`,Ū:`U`,ū:`u`,Ŭ:`U`,ŭ:`u`,Ů:`U`,ů:`u`,Ű:`U`,ű:`u`,Ų:`U`,ų:`u`,Ȗ:`U`,ȗ:`u`,V̆:`V`,v̆:`v`,Ŵ:`W`,ŵ:`w`,Ẃ:`W`,ẃ:`w`,X̆:`X`,x̆:`x`,Ŷ:`Y`,ŷ:`y`,Ÿ:`Y`,Y̆:`Y`,y̆:`y`,Ź:`Z`,ź:`z`,Ż:`Z`,ż:`z`,Ž:`Z`,ž:`z`,ſ:`s`,ƒ:`f`,Ơ:`O`,ơ:`o`,Ư:`U`,ư:`u`,Ǎ:`A`,ǎ:`a`,Ǐ:`I`,ǐ:`i`,Ǒ:`O`,ǒ:`o`,Ǔ:`U`,ǔ:`u`,Ǖ:`U`,ǖ:`u`,Ǘ:`U`,ǘ:`u`,Ǚ:`U`,ǚ:`u`,Ǜ:`U`,ǜ:`u`,Ứ:`U`,ứ:`u`,Ṹ:`U`,ṹ:`u`,Ǻ:`A`,ǻ:`a`,Ǽ:`AE`,ǽ:`ae`,Ǿ:`O`,ǿ:`o`,Þ:`TH`,þ:`th`,Ṕ:`P`,ṕ:`p`,Ṥ:`S`,ṥ:`s`,X́:`X`,x́:`x`,Ѓ:`Г`,ѓ:`г`,Ќ:`К`,ќ:`к`,A̋:`A`,a̋:`a`,E̋:`E`,e̋:`e`,I̋:`I`,i̋:`i`,Ǹ:`N`,ǹ:`n`,Ồ:`O`,ồ:`o`,Ṑ:`O`,ṑ:`o`,Ừ:`U`,ừ:`u`,Ẁ:`W`,ẁ:`w`,Ỳ:`Y`,ỳ:`y`,Ȁ:`A`,ȁ:`a`,Ȅ:`E`,ȅ:`e`,Ȉ:`I`,ȉ:`i`,Ȍ:`O`,ȍ:`o`,Ȑ:`R`,ȑ:`r`,Ȕ:`U`,ȕ:`u`,B̌:`B`,b̌:`b`,Č̣:`C`,č̣:`c`,Ê̌:`E`,ê̌:`e`,F̌:`F`,f̌:`f`,Ǧ:`G`,ǧ:`g`,Ȟ:`H`,ȟ:`h`,J̌:`J`,ǰ:`j`,Ǩ:`K`,ǩ:`k`,M̌:`M`,m̌:`m`,P̌:`P`,p̌:`p`,Q̌:`Q`,q̌:`q`,Ř̩:`R`,ř̩:`r`,Ṧ:`S`,ṧ:`s`,V̌:`V`,v̌:`v`,W̌:`W`,w̌:`w`,X̌:`X`,x̌:`x`,Y̌:`Y`,y̌:`y`,A̧:`A`,a̧:`a`,B̧:`B`,b̧:`b`,Ḑ:`D`,ḑ:`d`,Ȩ:`E`,ȩ:`e`,Ɛ̧:`E`,ɛ̧:`e`,Ḩ:`H`,ḩ:`h`,I̧:`I`,i̧:`i`,Ɨ̧:`I`,ɨ̧:`i`,M̧:`M`,m̧:`m`,O̧:`O`,o̧:`o`,Q̧:`Q`,q̧:`q`,U̧:`U`,u̧:`u`,X̧:`X`,x̧:`x`,Z̧:`Z`,z̧:`z`,й:`и`,Й:`И`,ё:`е`,Ё:`Е`},r=Object.keys(n).join(`|`),i=new RegExp(r,`g`),a=new RegExp(r,``);function o(e){return n[e]}var s=function(e){return e.replace(i,o)},c=function(e){return!!e.match(a)};t.exports=s,t.exports.has=c,t.exports.remove=s}))()),Tm={CASE_SENSITIVE_EQUAL:7,EQUAL:6,STARTS_WITH:5,WORD_STARTS_WITH:4,CONTAINS:3,ACRONYM:2,MATCHES:1,NO_MATCH:0},Em=(e,t)=>String(e.rankedValue).localeCompare(String(t.rankedValue));function Dm(e,t,n={}){let{keys:r,threshold:i=Tm.MATCHES,baseSort:a=Em,sorter:o=e=>e.sort((e,t)=>Nm(e,t,a))}=n;return o(e.reduce(s,[])).map(({item:e})=>e);function s(e,a,o){let s=Om(a,r,t,n),{rank:c,keyThreshold:l=i}=s;return c>=l&&e.push({...s,item:a,index:o}),e}}Dm.rankings=Tm;function Om(e,t,n,r){if(!t){let t=e;return{rankedValue:t,rank:Am(t,n,r),keyIndex:-1,keyThreshold:r.threshold}}return Lm(e,t).reduce(({rank:e,rankedValue:t,keyIndex:i,keyThreshold:a},{itemValue:o,attributes:s},c)=>{let l=Am(o,n,r),u=t,{minRanking:d,maxRanking:f,threshold:p}=s;return l=Tm.MATCHES?l=d:l>f&&(l=f),l>e&&(e=l,i=c,a=p,u=o),{rankedValue:u,rank:e,keyIndex:i,keyThreshold:a}},{rankedValue:e,rank:Tm.NO_MATCH,keyIndex:-1,keyThreshold:r.threshold})}function*km(e,t){let n=-1;for(;(n=e.indexOf(t,n+1))>-1;)yield n;return-1}function Am(e,t,n){if(e=Pm(e,n),t=Pm(t,n),t.length>e.length)return Tm.NO_MATCH;if(e===t)return Tm.CASE_SENSITIVE_EQUAL;e=e.toLowerCase(),t=t.toLowerCase();let r=km(e,t),i=r.next(),a=i.value;if(e.length===t.length&&a===0)return Tm.EQUAL;if(a===0)return Tm.STARTS_WITH;let o=i;for(;!o.done;){if(o.value>0&&e[o.value-1]===` `)return Tm.WORD_STARTS_WITH;o=r.next()}return a>0?Tm.CONTAINS:t.length===1?Tm.NO_MATCH:jm(e).includes(t)?Tm.ACRONYM:Mm(e,t)}function jm(e){let t=``,n=` `;for(let r=0;r-1))return Tm.NO_MATCH}return a(r-o)}function Nm(e,t,n){let{rank:r,keyIndex:i}=e,{rank:a,keyIndex:o}=t;return r===a?i===o?n(e,t):ia?-1:1}function Pm(e,{keepDiacritics:t}){return e=`${e}`,t||(e=(0,wm.default)(e)),e}function Fm(e,t){typeof t==`object`&&(t=t.key);let n;if(typeof t==`function`)n=t(e);else if(e==null)n=null;else if(Object.hasOwnProperty.call(e,t))n=e[t];else if(t.includes(`.`))return Im(t,e);else n=null;return n==null?[]:Array.isArray(n)?n:[String(n)]}function Im(e,t){let n=e.split(`.`),r=[t];for(let e=0,t=n.length;e{var n=200,r=`Expected a function`,i=`__lodash_hash_undefined__`,a=1,o=2,s=1/0,c=9007199254740991,l=`[object Arguments]`,u=`[object Array]`,d=`[object Boolean]`,f=`[object Date]`,p=`[object Error]`,m=`[object Function]`,h=`[object GeneratorFunction]`,g=`[object Map]`,_=`[object Number]`,v=`[object Object]`,y=`[object Promise]`,b=`[object RegExp]`,x=`[object Set]`,S=`[object String]`,C=`[object Symbol]`,w=`[object WeakMap]`,T=`[object ArrayBuffer]`,E=`[object DataView]`,D=`[object Float32Array]`,O=`[object Float64Array]`,k=`[object Int8Array]`,A=`[object Int16Array]`,j=`[object Int32Array]`,M=`[object Uint8Array]`,N=`[object Uint8ClampedArray]`,P=`[object Uint16Array]`,F=`[object Uint32Array]`,I=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ee=/^\w*$/,L=/^\./,te=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ne=/[\\^$.*+?()[\]{}|]/g,R=/\\(\\)?/g,re=/^\[object .+?Constructor\]$/,ie=/^(?:0|[1-9]\d*)$/,z={};z[D]=z[O]=z[k]=z[A]=z[j]=z[M]=z[N]=z[P]=z[F]=!0,z[l]=z[u]=z[T]=z[d]=z[E]=z[f]=z[p]=z[m]=z[g]=z[_]=z[v]=z[b]=z[x]=z[S]=z[w]=!1;var ae=typeof global==`object`&&global&&global.Object===Object&&global,oe=typeof self==`object`&&self&&self.Object===Object&&self,se=ae||oe||Function(`return this`)(),ce=typeof e==`object`&&e&&!e.nodeType&&e,le=ce&&typeof t==`object`&&t&&!t.nodeType&&t,B=le&&le.exports===ce&&ae.process,ue=function(){try{return B&&B.binding(`util`)}catch{}}(),de=ue&&ue.isTypedArray;function fe(e,t){for(var n=-1,r=e?e.length:0,i=Array(r);++n-1}function ot(e,t){var n=this.__data__,r=U(n,e);return r<0?n.push([e,t]):n[r][1]=t,this}tt.prototype.clear=nt,tt.prototype.delete=rt,tt.prototype.get=it,tt.prototype.has=at,tt.prototype.set=ot;function st(e){var t=-1,n=e?e.length:0;for(this.clear();++tt||a&&o&&c&&!s&&!l||r&&o&&c||!n&&c||!i)return 1;if(!r&&!a&&!l&&e=s?c:c*(n[r]==`desc`?-1:1)}return e.index-t.index}function Wt(e,t){return function(n,r){if(n==null)return n;if(!gn(n))return e(n,r);for(var i=n.length,a=t?i:-1,o=Object(n);(t?a--:++al))return!1;var d=s.get(e);if(d&&s.get(t))return d==t;var f=-1,p=!0,m=i&a?new pt:void 0;for(s.set(e,t),s.set(t,e);++f-1&&e%1==0&&e-1&&e%1==0&&e<=c}function bn(e){var t=typeof e;return!!e&&(t==`object`||t==`function`)}function xn(e){return!!e&&typeof e==`object`}function Sn(e){return typeof e==`symbol`||xn(e)&&Ae.call(e)==C}var Cn=de?_e(de):Nt;function wn(e){return e==null?``:Vt(e)}function Tn(e,t,n){var r=e==null?void 0:Et(e,t);return r===void 0?n:r}function G(e,t){return e!=null&&$t(e,t,Ot)}function En(e){return gn(e)?St(e):Ft(e)}function Dn(e){return e}function On(e){return tn(e)?me(ln(e)):Bt(e)}t.exports=dn}))(),1),Um={InputWrapper:`_InputWrapper_avklz_1`,Shortcut:`_Shortcut_avklz_9`,Input:`_Input_avklz_1`,SelectedValue:`_SelectedValue_avklz_52`,SelectedName:`_SelectedName_avklz_67`,ItemType:`_ItemType_avklz_79`,Popover:`_Popover_avklz_83`,PopoverWrapper:`_PopoverWrapper_avklz_97`,List:`_List_avklz_110`,Group:`_Group_avklz_114`,GroupLabel:`_GroupLabel_avklz_122`,Item:`_Item_avklz_79`,ItemHeader:`_ItemHeader_avklz_162`,ItemName:`_ItemName_avklz_168`,ItemTypes:`_ItemTypes_avklz_174`,ItemMissionName:`_ItemMissionName_avklz_193`,NoResults:`_NoResults_avklz_198`,Backdrop:`_Backdrop_avklz_205`,CloseButton:`_CloseButton_avklz_215`},Wm=new Set([`SkiFree`,`SkiFree_Daily`,`SkiFree_Randomizer`]),Gm={"missions.vl2":`Official`,"TR2final105-client.vl2":`Team Rabbit 2`,"z_mappacks/CTF/Classic_maps_v1.vl2":`Classic`,"z_mappacks/CTF/DynamixFinalPack.vl2":`Official`,"z_mappacks/CTF/KryMapPack_b3EDIT.vl2":`KryMapPack`,"z_mappacks/CTF/S5maps.vl2":`S5`,"z_mappacks/CTF/S8maps.vl2":`S8`,"z_mappacks/CTF/TWL-MapPack.vl2":`TWL`,"z_mappacks/CTF/TWL-MapPackEDIT.vl2":`TWL`,"z_mappacks/CTF/TWL2-MapPack.vl2":`TWL2`,"z_mappacks/CTF/TWL2-MapPackEDIT.vl2":`TWL2`,"z_mappacks/TWL_T2arenaOfficialMaps.vl2":`Arena`,"z_mappacks/xPack2.vl2":`xPack2`,"z_mappacks/z_DMP2-V0.6.vl2":`DMP2 (Discord Map Pack)`,"z_mappacks/zDMP-4.7.3DX.vl2":`DMP (Discord Map Pack)`,"z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2":`DMP (Discord Map Pack)`},Km={"z_mappacks/DM":`DM`,"z_mappacks/LCTF":`LCTF`,"z_mappacks/Lak":`LakRabbit`},qm=e=>{let t=e.match(/^(.*)(\/[^/]+)$/);return t?t[1]:``},Jm=w().filter(e=>!Wm.has(e)).map(e=>{let t=T(e),[n]=D(t.resourcePath),r=qm(n),i=Gm[n]??Km[r]??null;return{resourcePath:t.resourcePath,missionName:e,displayName:t.displayName,sourcePath:n,groupName:i,missionTypes:t.missionTypes}}),Ym=new Map(Jm.map(e=>[e.missionName,e]));function Xm(e){let t=new Map;for(let n of e){let e=t.get(n.groupName)??[];e.push(n),t.set(n.groupName,e)}return t.forEach((e,n)=>{t.set(n,(0,Hm.default)(e,[e=>(e.displayName||e.missionName).toLowerCase()],[`asc`]))}),(0,Hm.default)(Array.from(t.entries()),[([e])=>e===`Official`?0:e==null?2:1,([e])=>e?e.toLowerCase():``],[`asc`,`asc`])}var Zm=Xm(Jm),Qm=typeof navigator<`u`&&/Mac|iPhone|iPad|iPod/.test(navigator.platform);function $m(e){let t=(0,H.c)(12),{mission:n}=e,r=n.displayName||n.missionName,i;t[0]===r?i=t[1]:(i=(0,W.jsx)(`span`,{className:Um.ItemName,children:r}),t[0]=r,t[1]=i);let a;t[2]===n.missionTypes?a=t[3]:(a=n.missionTypes.length>0&&(0,W.jsx)(`span`,{className:Um.ItemTypes,children:n.missionTypes.map(eh)}),t[2]=n.missionTypes,t[3]=a);let o;t[4]!==i||t[5]!==a?(o=(0,W.jsxs)(`span`,{className:Um.ItemHeader,children:[i,a]}),t[4]=i,t[5]=a,t[6]=o):o=t[6];let s;t[7]===n.missionName?s=t[8]:(s=(0,W.jsx)(`span`,{className:Um.ItemMissionName,children:n.missionName}),t[7]=n.missionName,t[8]=s);let c;return t[9]!==o||t[10]!==s?(c=(0,W.jsxs)(W.Fragment,{children:[o,s]}),t[9]=o,t[10]=s,t[11]=c):c=t[11],c}function eh(e){return(0,W.jsx)(`span`,{className:Um.ItemType,"data-mission-type":e,children:e},e)}function th(e){let t=(0,H.c)(65),{value:n,missionType:r,onChange:i,disabled:a,autoFocus:o,onCancel:s}=e,[c,l]=(0,V.useState)(``),u=(0,V.useRef)(null),d=(0,V.useRef)(r),f;t[0]===s?f=t[1]:(f=e=>{e||s?.()},t[0]=s,t[1]=f);let p;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(p=e=>{(0,V.startTransition)(()=>l(e))},t[2]=p):p=t[2];let m=Sm({resetValueOnHide:!0,selectedValue:n,setOpen:f,setSelectedValue:e=>{if(e){let t=d.current,n=T(e).missionTypes;(!t||!n.includes(t))&&(t=n[0]),i({missionName:e,missionType:t}),u.current?.blur()}},setValue:p}),h=$(m,`open`),g,_;t[3]!==o||t[4]!==m?(g=()=>{o&&(u.current?.focus(),m.show())},_=[o,m],t[3]=o,t[4]=m,t[5]=g,t[6]=_):(g=t[5],_=t[6]),(0,V.useEffect)(g,_);let v,y;t[7]===m?(v=t[8],y=t[9]):(v=()=>{let e=e=>{e.code===`KeyK`&&(e.metaKey||e.ctrlKey)&&(e.stopPropagation(),e.preventDefault(),u.current?.focus(),m.show())};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},y=[m],t[7]=m,t[8]=v,t[9]=y),(0,V.useEffect)(v,y);let b;t[10]===n?b=t[11]:(b=Ym.get(n),t[10]=n,t[11]=b);let x=b,S;bb0:{if(!c){let e;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(e={type:`grouped`,groups:Zm},t[12]=e):e=t[12],S=e;break bb0}let e;t[13]===c?e=t[14]:(e=Dm(Jm,c,{keys:[`displayName`,`missionName`,`missionTypes`,`groupName`]}),t[13]=c,t[14]=e);let n=e,r;t[15]===n?r=t[16]:(r={type:`flat`,missions:n},t[15]=n,t[16]=r),S=r}let C=S,w=x?x.displayName||x.missionName:n,E=C.type===`flat`?C.missions.length===0:C.groups.length===0,D=e=>(0,W.jsx)(cm,{value:e.missionName,className:Um.Item,focusOnHover:!0,onClick:t=>{if(t.target&&t.target instanceof HTMLElement){let r=t.target.dataset.missionType;r?(d.current=r,e.missionName===n&&i({missionName:e.missionName,missionType:r})):d.current=null}else d.current=null},children:(0,W.jsx)($m,{mission:e})},e.missionName),O=Cm,k=h?`visible`:`hidden`,A;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,W.jsx)(`div`,{className:Um.Backdrop}),t[17]=A):A=t[17];let j;t[18]===k?j=t[19]:(j=(0,W.jsx)(V.Activity,{mode:k,children:A}),t[18]=k,t[19]=j);let M=x?void 0:`Choose a map…`,N,P;t[20]===m?(N=t[21],P=t[22]):(N=()=>{try{document.exitPointerLock()}catch{}m.show()},P=e=>{e.key===`Escape`&&!m.getState().open&&u.current?.blur()},t[20]=m,t[21]=N,t[22]=P);let F;t[23]!==o||t[24]!==a||t[25]!==M||t[26]!==N||t[27]!==P?(F=(0,W.jsx)(Zp,{ref:u,autoSelect:!0,autoFocus:o,disabled:a,placeholder:M,className:Um.Input,onFocus:N,onKeyDown:P}),t[23]=o,t[24]=a,t[25]=M,t[26]=N,t[27]=P,t[28]=F):F=t[28];let I;t[29]!==w||t[30]!==r||t[31]!==x?(I=x&&(0,W.jsxs)(`div`,{className:Um.SelectedValue,children:[(0,W.jsx)(`span`,{className:Um.SelectedName,children:w}),r&&(0,W.jsx)(`span`,{className:Um.ItemType,"data-mission-type":r,children:r})]}),t[29]=w,t[30]=r,t[31]=x,t[32]=I):I=t[32];let ee;t[33]===Symbol.for(`react.memo_cache_sentinel`)?(ee=(0,W.jsx)(`kbd`,{className:Um.Shortcut,children:Qm?`⌘K`:`^K`}),t[33]=ee):ee=t[33];let L;t[34]!==F||t[35]!==I?(L=(0,W.jsxs)(`div`,{className:Um.InputWrapper,onKeyDown:rh,children:[F,I,ee]}),t[34]=F,t[35]=I,t[36]=L):L=t[36];let te;t[37]!==m||t[38]!==s?(te=()=>{m.hide(),s?.()},t[37]=m,t[38]=s,t[39]=te):te=t[39];let ne;t[40]===Symbol.for(`react.memo_cache_sentinel`)?(ne=(0,W.jsx)(Vm,{}),t[40]=ne):ne=t[40];let R;t[41]!==h||t[42]!==te?(R=(0,W.jsx)(`button`,{type:`button`,className:Um.CloseButton,"data-open":h,onClick:te,children:ne}),t[41]=h,t[42]=te,t[43]=R):R=t[43];let re=hm,ie=Um,z;t[44]===Symbol.for(`react.memo_cache_sentinel`)?(z={className:Um.PopoverWrapper},t[44]=z):z=t[44];let ae=nh,oe=dm,se=Um,ce=C.type===`flat`?C.missions.map(D):C.groups.map(e=>{let[t,n]=e;return t?(0,W.jsxs)(em,{className:Um.Group,children:[(0,W.jsx)(rm,{className:Um.GroupLabel,children:t}),n.map(D)]},t):(0,W.jsx)(V.Fragment,{children:n.map(D)},`ungrouped`)}),le;t[45]===E?le=t[46]:(le=E&&(0,W.jsx)(`div`,{className:Um.NoResults,children:`No missions found`}),t[45]=E,t[46]=le);let B;t[47]!==oe||t[48]!==se.List||t[49]!==ce||t[50]!==le?(B=(0,W.jsxs)(oe,{className:se.List,children:[ce,le]}),t[47]=oe,t[48]=se.List,t[49]=ce,t[50]=le,t[51]=B):B=t[51];let ue;t[52]!==re||t[53]!==ie.Popover||t[54]!==z||t[55]!==ae||t[56]!==B?(ue=(0,W.jsx)(re,{gutter:4,fitViewport:!0,sameWidth:!0,fixed:!0,autoFocusOnHide:!1,className:ie.Popover,wrapperProps:z,onKeyDown:ae,children:B}),t[52]=re,t[53]=ie.Popover,t[54]=z,t[55]=ae,t[56]=B,t[57]=ue):ue=t[57];let de;return t[58]!==O||t[59]!==m||t[60]!==j||t[61]!==L||t[62]!==R||t[63]!==ue?(de=(0,W.jsxs)(O,{store:m,children:[j,L,R,ue]}),t[58]=O,t[59]=m,t[60]=j,t[61]=L,t[62]=R,t[63]=ue,t[64]=de):de=t[64],de}function nh(e){e.metaKey||e.stopPropagation()}function rh(e){e.metaKey||e.stopPropagation()}function ih(e){return C({tag:`svg`,attr:{viewBox:`0 0 24 24`},child:[{tag:`path`,attr:{d:`m12 6-6 8h12zM6 16h12v2H6z`},child:[]}]})(e)}var ah={Header:`_Header_klnnn_1`,MissionInfo:`_MissionInfo_klnnn_9`,MissionName:`_MissionName_klnnn_21 _SelectedName_avklz_67`,MissionType:`_MissionType_klnnn_25 _ItemType_avklz_79`,MissionTypeDisplayName:`_MissionTypeDisplayName_klnnn_30`,Metadata:`_Metadata_klnnn_35`,Attribution:`_Attribution_klnnn_46`,ServerInfo:`_ServerInfo_klnnn_47`,PlayerName:`_PlayerName_klnnn_51`,RecordingDate:`_RecordingDate_klnnn_52`,ServerName:`_ServerName_klnnn_53`,EjectButton:`_EjectButton_klnnn_57 _DestructiveActionButton_p0g82_141 _Button_p0g82_2`,DisconnectButton:`_DisconnectButton_klnnn_58 _DestructiveActionButton_p0g82_141 _Button_p0g82_2`,EjectIcon:`_EjectIcon_klnnn_62`,Error:`_Error_klnnn_67`,Pulsing:`_Pulsing_klnnn_81`,blink:`_blink_klnnn_1`,ConnectionPing:`_ConnectionPing_klnnn_85`,PingDot:`_PingDot_klnnn_95 _Pulsing_klnnn_81`};function oh(){let e=(0,H.c)(28),t=Bn(),n=Jn(),r=Wn(),i=Kn(),a=Xn(),o=Qn(),s=er(),[c,l]=s?s.split(` `):[null,null],u=t===`live`,d=cr(),f=ar(lh),p=ar(or),m=ch,h=sh,g=ah,_;e[0]!==n||e[1]!==r||e[2]!==i?(_=n&&r?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`span`,{className:ah.MissionName,children:n}),r&&(0,W.jsxs)(W.Fragment,{children:[` `,(0,W.jsx)(`span`,{className:ah.MissionType,"data-mission-type":r,children:i===`LCTF`?`LCTF`:r})]})]}):null,e[0]=n,e[1]=r,e[2]=i,e[3]=_):_=e[3];let v;e[4]===_?v=e[5]:(v=(0,W.jsx)(`div`,{className:ah.MissionInfo,children:_}),e[4]=_,e[5]=v);let y;e[6]!==f||e[7]!==p?(y=f&&p!=null?(0,W.jsxs)(`span`,{className:ah.ConnectionPing,"data-quality":p<150?`good`:p<300?`fine`:`poor`,children:[(0,W.jsx)(`span`,{className:ah.PingDot}),` `,O(p)]}):null,e[6]=f,e[7]=p,e[8]=y):y=e[8];let b=ah,x=u?f?o?(0,W.jsxs)(`div`,{className:ah.Attribution,children:[`Connected as`,` `,(0,W.jsx)(`span`,{className:ah.PlayerName,children:o})]}):null:(0,W.jsx)(`div`,{className:ah.Error,children:`Disconnected`}):o&&s?(0,W.jsxs)(`div`,{className:ah.Attribution,children:[`Recorded by `,(0,W.jsx)(`span`,{className:ah.PlayerName,children:o}),` `,`on`,` `,(0,W.jsx)(`span`,{className:ah.RecordingDate,children:c.replace(/-/g,` `)}),` `,`at`,` `,(0,W.jsx)(`span`,{className:ah.RecordingDate,children:(l??``).replace(/(AM|PM)$/,` $1`)})]}):null,S;e[9]===a?S=e[10]:(S=a?(0,W.jsxs)(`div`,{className:ah.ServerInfo,children:[`Server: `,(0,W.jsx)(`span`,{className:ah.ServerName,children:a})]}):null,e[9]=a,e[10]=S);let C;e[11]!==b.Metadata||e[12]!==x||e[13]!==S?(C=(0,W.jsxs)(`div`,{className:b.Metadata,children:[x,S]}),e[11]=b.Metadata,e[12]=x,e[13]=S,e[14]=C):C=e[14];let w;e[15]!==t||e[16]!==h||e[17]!==m||e[18]!==u||e[19]!==f||e[20]!==d?(w=t===`demo`?(0,W.jsx)(`button`,{type:`button`,className:ah.EjectButton,title:`Unload demo`,"aria-label":`Unload demo`,onClick:m,disabled:!d,children:(0,W.jsx)(ih,{className:ah.EjectIcon})}):u?(0,W.jsx)(`button`,{type:`button`,className:ah.DisconnectButton,title:`Disconnect`,"aria-label":`Disconnect`,onClick:h,disabled:!f,children:(0,W.jsx)(_a,{})}):null,e[15]=t,e[16]=h,e[17]=m,e[18]=u,e[19]=f,e[20]=d,e[21]=w):w=e[21];let T;return e[22]!==g.Header||e[23]!==v||e[24]!==y||e[25]!==C||e[26]!==w?(T=(0,W.jsxs)(`div`,{className:g.Header,children:[v,y,C,w]}),e[22]=g.Header,e[23]=v,e[24]=y,e[25]=C,e[26]=w,e[27]=T):T=e[27],T}function sh(){ir.getState().disconnectServer(),te.getState().setRecording(null)}function ch(){te.getState().setRecording(null)}function lh(e){return e.gameStatus===`connected`||e.gameStatus===`authenticating`}function uh(e){let t=(0,H.c)(5),{onChangeMission:n}=e,{setRecording:r}=vr(),i=(0,V.useEffectEvent)(n),a;t[0]!==i||t[1]!==r?(a=()=>(window.setMissionName=e=>{let t=T(e).missionTypes;i({missionName:e,missionType:t[0]})},window.getMissionList=w,window.getMissionInfo=T,window.loadDemoRecording=r,dh),t[0]=i,t[1]=r,t[2]=a):a=t[2];let o;t[3]===r?o=t[4]:(o=[r],t[3]=r,t[4]=o),(0,V.useEffect)(a,o)}function dh(){delete window.setMissionName,delete window.getMissionList,delete window.getMissionInfo,delete window.loadDemoRecording}var fh=(0,V.createContext)(null);function ph(){let e=(0,V.useContext)(fh);if(!e)throw Error(`useCameras must be used within CamerasProvider`);return e}function mh({children:e}){let t=a(e=>e.camera),[n,r]=(0,V.useState)(-1),[i,o]=(0,V.useState)({}),[s,c]=(0,V.useState)(()=>({initialized:!1,position:null,quarternion:null})),l=(0,V.useCallback)(e=>{o(t=>({...t,[e.id]:e}))},[]),u=(0,V.useCallback)(e=>{o(t=>{let{[e.id]:n,...r}=t;return r})},[]),d=Object.keys(i).length,f=(0,V.useCallback)(e=>{if(e>=0&&e{f(d?(n+1)%d:-1)},[d,n,f]);(0,V.useEffect)(()=>{let e=()=>{let e=window.location.hash;if(e.startsWith(`#c`)){let[t,n]=e.slice(2).split(`~`),r=t.split(`,`).map(e=>parseFloat(e)),i=n.split(`,`).map(e=>parseFloat(e));c({initialized:!0,position:new M(...r),quarternion:new j(...i)})}else c({initialized:!0,position:null,quarternion:null})};return window.addEventListener(`hashchange`,e),e(),()=>{window.removeEventListener(`hashchange`,e)}},[]),(0,V.useEffect)(()=>{s.initialized&&s.position&&(t.position.copy(s.position),s.quarternion&&t.quaternion.copy(s.quarternion))},[t,s]),(0,V.useEffect)(()=>{!s.initialized||s.position||d>0&&n===-1&&f(0)},[d,f,n,s]);let m=(0,V.useMemo)(()=>({registerCamera:l,unregisterCamera:u,nextCamera:p,setCameraIndex:f,cameraCount:d}),[l,u,p,f,d]);return d===0&&n!==-1&&r(-1),(0,W.jsx)(fh.Provider,{value:m,children:e})}var hh=(0,V.createContext)(null);function gh(){let e=(0,V.useContext)(hh);if(!e)throw Error(`useInputContext must be used within an InputProvider`);return e}function _h(){return gh().onInput}function vh(){return gh().mode}var yh=new Set([`Ctrl`,`Shift`,`Alt`]),bh=new Set([`MetaLeft`,`MetaRight`,`ControlLeft`,`ControlRight`,`ShiftLeft`,`ShiftRight`,`AltLeft`,`AltRight`]);function xh(e){if(typeof e!=`string`)return e;let t=e.split(`-`),n=t.pop(),r=[];for(let e of t)yh.has(e)&&r.push(e);return{type:`key`,code:n,modifiers:r.length>0?r:void 0}}function Sh(e,t){let n=e.has(`ControlLeft`)||e.has(`ControlRight`),r=e.has(`ShiftLeft`)||e.has(`ShiftRight`),i=e.has(`AltLeft`)||e.has(`AltRight`);return n===(t?.includes(`Ctrl`)??!1)&&r===(t?.includes(`Shift`)??!1)&&i===(t?.includes(`Alt`)??!1)}function Ch(e,t){let n=t?.includes(`Ctrl`)??!1,r=t?.includes(`Shift`)??!1,i=t?.includes(`Alt`)??!1;return e.ctrlKey===n&&e.shiftKey===r&&e.altKey===i}function wh(){return{pressed:!1}}function Th(){return{dragging:!1,deltaX:0,deltaY:0,startX:0,startY:0}}function Eh(){return{deltaX:0,deltaY:0}}function Dh(){return{touching:!1,dragging:!1,deltaX:0,deltaY:0}}function Oh(e){switch(e.type){case`key`:case`click`:return wh();case`drag`:case`pointerLockMove`:return Th();case`scroll`:return Eh();case`touch`:return Dh()}}var kh=F()(ne(()=>({keys:new Set,actions:{}}))),Ah=new Map;function jh(e,t){let n=Ah.get(e);return n||(n=new Set,Ah.set(e,n)),n.add(t),()=>{n.delete(t),n.size===0&&Ah.delete(e)}}function Mh(e){let t=Ah.get(e);if(t)for(let e of t)e()}var Nh=new Set([`text`,`search`,`url`,`tel`,`email`,`password`,`number`,`date`,`datetime-local`,`month`,`week`,`time`]),Ph=new Set([`Space`,`Enter`,`NumpadEnter`,`ArrowUp`,`ArrowDown`,`ArrowLeft`,`ArrowRight`]);function Fh(e){if(e.code===`Tab`)return document.pointerLockElement?(e.preventDefault(),!1):!0;let t=document.activeElement;if(!t||t===document.body)return!1;let n=t.tagName;if(t.isContentEditable||n===`TEXTAREA`)return!0;if(n===`INPUT`){let n=t.type.toLowerCase();return Nh.has(n)?!0:Ph.has(e.code)}return n===`BUTTON`||n===`SELECT`||n===`A`||n===`SUMMARY`?Ph.has(e.code):!1}function Ih(e){if(e.metaKey||Fh(e))return;let{keys:t}=kh.getState();if(t.has(e.code))return;let n=new Set(t);n.add(e.code),kh.setState(e=>({...e,keys:n}))}function Lh(e){let{keys:t}=kh.getState();if(!t.has(e.code))return;let n=new Set(t);if(n.delete(e.code),e.code===`MetaLeft`||e.code===`MetaRight`)for(let e of n)bh.has(e)||n.delete(e);kh.setState(e=>({...e,keys:n}))}function Rh(){let{keys:e}=kh.getState();e.size!==0&&kh.setState(e=>({...e,keys:new Set}))}window.addEventListener(`keydown`,Ih),window.addEventListener(`keyup`,Lh),window.addEventListener(`blur`,Rh);function zh(e){let t=(0,H.c)(2),n;return t[0]===e?n=t[1]:(n=t=>e(t.actions),t[0]=e,t[1]=n),P(kh,n)}function Bh(){let e=(0,H.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=[kh.subscribe,Vh],e[0]=t):t=e[0],t}function Vh(){return kh.getState().actions}function Hh(){let{actions:e}=kh.getState(),t={};for(let[n,r]of Object.entries(e))`deltaX`in r&&(r.deltaX!==0||r.deltaY!==0)&&(t[n]={...r,deltaX:0,deltaY:0});Object.keys(t).length>0&&kh.setState(e=>({...e,actions:{...e.actions,...t}}))}function Uh(e,t){let n=(0,H.c)(5),r=(0,V.useEffectEvent)(t),i;n[0]!==e||n[1]!==r?(i=()=>jh(e,r),n[0]=e,n[1]=r,n[2]=i):i=n[2];let a;n[3]===e?a=n[4]:(a=[e],n[3]=e,n[4]=a),(0,V.useEffect)(i,a)}var Wh=1,Gh=11,Kh=.002;function qh(e){let t=(e-b)/(1-b);return(Math.round(t*15)+1)/16}function Jh(e,t){let n=e[t];return n!=null&&`pressed`in n&&n.pressed}function Yh(){let e=(0,H.c)(41),t=S(),{speedMultiplier:n,setSpeedMultiplier:r,mouseSensitivity:i,invertScroll:o,invertDrag:c}=y(),{onInput:l,mode:u}=gh(),[,d]=Bh(),f=a(Qh),{setCameraIndex:p,cameraCount:m}=ph(),h=(0,V.useRef)(!1),g=(0,V.useRef)(!1),_,v;e[0]===t?(_=e[1],v=e[2]):(_=()=>{t&&document.pointerLockElement&&document.exitPointerLock()},v=[t],e[0]=t,e[1]=_,e[2]=v),(0,V.useEffect)(_,v);let x;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(x=[],e[3]=x):x=e[3],(0,V.useEffect)(Xh,x);let C;e[4]!==f||e[5]!==t?(C=()=>{!t&&!ie.getState().animation&&f.domElement.requestPointerLock()},e[4]=f,e[5]=t,e[6]=C):C=e[6],Uh(`canvasClick`,C);let w;e[7]===Symbol.for(`react.memo_cache_sentinel`)?(w=()=>{h.current=!0},e[7]=w):w=e[7],Uh(`nextPlayer`,w);let T;e[8]!==d||e[9]!==o||e[10]!==r?(T=()=>{let e=d().adjustSpeed;if(!e||e.deltaY===0)return;let t=o?-1:1,n=(e.deltaY>0?-1:1)*t,i=Math.ceil(Math.log2(Math.abs(e.deltaY)+1)),a=Math.max(Wh,Math.min(Gh,i))*n;r(e=>{let t=Math.round(e*100)+a;return Math.max(b,Math.min(1,t/100))})},e[8]=d,e[9]=o,e[10]=r,e[11]=T):T=e[11],Uh(`adjustSpeed`,T);let E;e[12]!==m||e[13]!==p?(E=e=>{eD(0),e[15]=D,e[16]=O),Uh(`camera1`,O);let k;e[17]===D?k=e[18]:(k=()=>D(1),e[17]=D,e[18]=k),Uh(`camera2`,k);let A;e[19]===D?A=e[20]:(A=()=>D(2),e[19]=D,e[20]=A),Uh(`camera3`,A);let j;e[21]===D?j=e[22]:(j=()=>D(3),e[21]=D,e[22]=j),Uh(`camera4`,j);let M;e[23]===D?M=e[24]:(M=()=>D(4),e[23]=D,e[24]=M),Uh(`camera5`,M);let N;e[25]===D?N=e[26]:(N=()=>D(5),e[25]=D,e[26]=N),Uh(`camera6`,N);let P;e[27]===D?P=e[28]:(P=()=>D(6),e[27]=D,e[28]=P),Uh(`camera7`,P);let F;e[29]===D?F=e[30]:(F=()=>D(7),e[29]=D,e[30]=F),Uh(`camera8`,F);let I;e[31]===D?I=e[32]:(I=()=>D(8),e[31]=D,e[32]=I),Uh(`camera9`,I);let ee;e[33]===Symbol.for(`react.memo_cache_sentinel`)?(ee=()=>{g.current=!0},e[33]=ee):ee=e[33],Uh(`toggleObserverMode`,ee);let L;return e[34]!==d||e[35]!==c||e[36]!==u||e[37]!==i||e[38]!==l||e[39]!==n?(L=(e,t)=>{if(ie.getState().animation)return;let r=d(),a=0,o=0,s=r.lockedLook;s&&(s.deltaX!==0||s.deltaY!==0)&&(a=s.deltaX*i,o=s.deltaY*i);let f=r.dragLook;if(f?.dragging&&(f.deltaX!==0||f.deltaY!==0)){let e=(c?1:-1)*(u===`follow`?-1:1);a+=e*f.deltaX*Kh,o+=e*f.deltaY*Kh}Jh(r,`lookLeft`)&&(a-=1*t),Jh(r,`lookRight`)&&(a+=1*t),Jh(r,`lookUp`)&&(o-=1*t),Jh(r,`lookDown`)&&(o+=1*t);let p=0,m=0,_=0;Jh(r,`moveLeft`)&&(p=-1),Jh(r,`moveRight`)&&(p+=1),Jh(r,`moveForward`)&&(m=1),Jh(r,`moveBackward`)&&--m,Jh(r,`moveUp`)&&(_=1),Jh(r,`moveDown`)&&--_;let v=qh(n);p=Math.max(-1,Math.min(1,p*v)),m=Math.max(-1,Math.min(1,m*v)),_=Math.max(-1,Math.min(1,_*v));let y=[!1,!1,!1,!1,!1,!1];h.current&&=(y[0]=!0,!1),g.current&&=(y[2]=!0,!1),Hh();let b=a!==0||o!==0,x=p!==0||m!==0||_!==0,S=y.some(Boolean);!b&&!x&&!S||l({deltaYaw:a,deltaPitch:o,x:p,y:m,z:_,triggers:y,delta:t})},e[34]=d,e[35]=c,e[36]=u,e[37]=i,e[38]=l,e[39]=n,e[40]=L):L=e[40],s(L),null}function Xh(){return ie.subscribe(Zh)}function Zh(e){e.animation&&document.pointerLockElement&&document.exitPointerLock()}function Qh(e){return e.gl}var $h=(0,V.lazy)(()=>R(()=>import(`./TouchHandler--H5QPJbJ.js`).then(e=>({default:e.TouchHandler})),__vite__mapDeps([7,8,2,9,3,10,11,5,12,13,14,15,16,17])));function eg(e){let t=(0,H.c)(9),{children:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=[],t[0]=r):r=t[0];let i=(0,V.useRef)(r),[a,o]=(0,V.useState)(`local`),s;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(s=e=>{i.current.push(e)},t[1]=s):s=t[1];let c=s,l;t[2]===a?l=t[3]:(l={moveQueue:i,onInput:c,mode:a,setMode:o},t[2]=a,t[3]=l);let u;t[4]===n?u=t[5]:(u=(0,W.jsx)(je,{children:n}),t[4]=n,t[5]=u);let d;return t[6]!==l||t[7]!==u?(d=(0,W.jsx)(hh.Provider,{value:l,children:u}),t[6]=l,t[7]=u,t[8]=d):d=t[8],d}function tg(){let e=(0,H.c)(5),t=S(),n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,W.jsx)(Yh,{}),e[0]=n):n=e[0];let r;e[1]===t?r=e[2]:(r=t?(0,W.jsx)(V.Suspense,{children:(0,W.jsx)($h,{})}):null,e[1]=t,e[2]=r);let i;return e[3]===r?i=e[4]:(i=(0,W.jsxs)(W.Fragment,{children:[n,r]}),e[3]=r,e[4]=i),i}var ng=(0,V.lazy)(()=>R(()=>import(`./TouchJoystick-CG4pSMHq.js`).then(e=>({default:e.TouchJoystick})),__vite__mapDeps([18,2,19,11,8,9,3,10,5,12,13,14,15,16,17,20]))),rg=(0,V.lazy)(()=>R(()=>import(`./KeyboardOverlay-e8677eWT.js`).then(e=>({default:e.KeyboardOverlay})),__vite__mapDeps([21,2,11,8,9,3,10,5,12,13,14,15,16,22,23,24,25])));function ig(){let e=(0,H.c)(9),t=S(),n=re(ag),{showInputOverlay:r}=h(),i;e[0]!==t||e[1]!==n?(i=t&&!n?(0,W.jsx)(ng,{}):null,e[0]=t,e[1]=n,e[2]=i):i=e[2];let a;e[3]!==t||e[4]!==r?(a=t===!1&&r?(0,W.jsx)(rg,{}):null,e[3]=t,e[4]=r,e[5]=a):a=e[5];let o;return e[6]!==i||e[7]!==a?(o=(0,W.jsxs)(V.Suspense,{children:[i,a]}),e[6]=i,e[7]=a,e[8]=o):o=e[8],o}function ag(e){return e.animation!==null}var og={LoadingIndicator:`_LoadingIndicator_8ijel_1`,loadingComplete:`_loadingComplete_8ijel_1`,Spinner:`_Spinner_8ijel_19`,spin:`_spin_8ijel_1`,Progress:`_Progress_8ijel_28`,ProgressBar:`_ProgressBar_8ijel_36`,ProgressText:`_ProgressText_8ijel_43`};function sg(e){let t=(0,H.c)(12),{isLoading:n,progress:r}=e,i=r===void 0?null:r,a=(i??0)*100,o=!n,s=i==null,c;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,W.jsx)(`div`,{className:og.Spinner}),t[0]=c):c=t[0];let l=`${a}%`,u;t[1]===l?u=t[2]:(u=(0,W.jsx)(`div`,{className:og.Progress,children:(0,W.jsx)(`div`,{className:og.ProgressBar,style:{width:l}})}),t[1]=l,t[2]=u);let d;t[3]===a?d=t[4]:(d=Math.round(a),t[3]=a,t[4]=d);let f;t[5]===d?f=t[6]:(f=(0,W.jsxs)(`div`,{className:og.ProgressText,children:[d,`%`]}),t[5]=d,t[6]=f);let p;return t[7]!==o||t[8]!==s||t[9]!==u||t[10]!==f?(p=(0,W.jsxs)(`div`,{className:og.LoadingIndicator,"data-complete":o,"data-indeterminate":s,children:[c,u,f]}),t[7]=o,t[8]=s,t[9]=u,t[10]=f,t[11]=p):p=t[11],p}var cg={Dialog:`_Dialog_1t9wa_1`,Overlay:`_Overlay_1t9wa_22`,DialogButton:`_DialogButton_1t9wa_33`,Secondary:`_Secondary_1t9wa_72 _DialogButton_1t9wa_33`,Actions:`_Actions_1t9wa_86`};function lg(e){let t=(0,H.c)(5),{onClose:n}=e,r;t[0]===n?r=t[1]:(r=e=>{n?.()},t[0]=n,t[1]=r);let i;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,W.jsx)(`div`,{className:cg.Dialog,children:(0,W.jsx)(sg,{isLoading:!0})}),t[2]=i):i=t[2];let a;return t[3]===r?a=t[4]:(a=(0,W.jsx)(`div`,{className:cg.Overlay,onClick:r,children:i}),t[3]=r,t[4]=a),a}var ug={Button:`_Button_n870r_1`};function dg(e){let t=(0,H.c)(9),{isOpen:n,orientation:r,onClick:i}=e,a=n?`Close sidebar`:`Open sidebar`,o=n?`Close sidebar`:`Open sidebar`,s;t[0]!==n||t[1]!==r?(s=r===`top`?n?(0,W.jsx)(fa,{}):(0,W.jsx)(da,{}):n?(0,W.jsx)(ma,{}):(0,W.jsx)(pa,{}),t[0]=n,t[1]=r,t[2]=s):s=t[2];let c;return t[3]!==i||t[4]!==r||t[5]!==a||t[6]!==o||t[7]!==s?(c=(0,W.jsx)(`button`,{type:`button`,className:ug.Button,"data-orientation":r,"aria-label":a,title:o,onClick:i,children:s}),t[3]=i,t[4]=r,t[5]=a,t[6]=o,t[7]=s,t[8]=c):c=t[8],c}var fg={Button:`_Button_17xa1_1 _DestructiveActionButton_p0g82_141 _Button_p0g82_2`,ButtonLabel:`_ButtonLabel_17xa1_9 _ButtonLabel_p0g82_37`};function pg(){let e=(0,H.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,W.jsxs)(`button`,{type:`button`,className:fg.Button,onClick:mg,children:[(0,W.jsx)(Fa,{}),(0,W.jsx)(`span`,{className:fg.ButtonLabel,children:`Exit tour`})]}),e[0]=t):t=e[0],t}function mg(){return ie.getState().cancel()}var hg={Frame:`_Frame_1u5rk_1`,Toolbar:`_Toolbar_1u5rk_16`,Sidebar:`_Sidebar_1u5rk_29`,Content:`_Content_1u5rk_43`,ThreeView:`_ThreeView_1u5rk_52`,PlayerBar:`_PlayerBar_1u5rk_61`,Backdrop:`_Backdrop_1u5rk_71`};function gg({children:e}){return e}function _g(e,t){return(0,V.lazy)(()=>t().then(t=>({default:t[e]})))}var vg=_g(`GameView`,()=>R(()=>import(`./GameView-D0zu6Jmb.js`),__vite__mapDeps([26,2,19,1,3,14,5,8,9,10,27,28,29,11,12,13,15,16,30,31,32,33,34,35,4,24,36,37,38]))),yg=_g(`DemoPlaybackControls`,()=>R(()=>import(`./DemoPlaybackControls-B1-1CC7d.js`),__vite__mapDeps([39,2,22,23,9,40]))),bg=_g(`PlayerHUD`,()=>R(()=>import(`./PlayerHUD-MXCuNHBU.js`),__vite__mapDeps([41,2,19,9,12,10,13,14,5,15,37,42]))),xg=_g(`MapInfoDialog`,()=>R(()=>import(`./MapInfoDialog-C61PcuCl.js`),__vite__mapDeps([43,2,33,29,9,13,14,5,15,44]))),Sg=_g(`ServerBrowser`,()=>R(()=>import(`./ServerBrowser-brKJ17WH.js`),__vite__mapDeps([45,2,11,8,9,3,10,5,12,13,14,15,16,46]))),Cg=_g(`ScoreScreen`,()=>R(()=>import(`./ScoreScreen-Kwdvb5yy.js`),__vite__mapDeps([47,2,9,12,10,15,48])));function wg(){let[e,t]=p(),n=Kt(),{clearFogEnabledOverride:r,sidebarOpen:i,setSidebarOpen:a}=h(),{missionName:o,missionType:s}=e,[c,l]=(0,V.useState)(!1),[u,d]=(0,V.useState)(!1),[f,m]=(0,V.useState)(!1),[g,_]=(0,V.useState)(!1),[v,y]=(0,V.useState)(0),[b,x]=(0,V.useState)(!0),C=S(),w=re(e=>e.animation!==null),E=(0,V.useCallback)(e=>{window.location.hash=``,r(),_(!1),ie.getState().cancel(),ir.getState().disconnectServer(),te.getState().setRecording(null),Dn.getState().endStreaming(),t(e),C&&a(!1)},[r,t,C,a]);uh({onChangeMission:E});let D=cr(),O=Bn(),k=O===`demo`||O===`live`,A=Hn(),j=Wn();(0,V.useEffect)(()=>{if(!(!k||!A))try{let e=T(A);t({missionName:A,missionType:j&&e.missionTypes.includes(j)?j:void 0})}catch{t(null)}},[k,A,j,t]),(0,V.useEffect)(()=>{D&&_(!1)},[D]);let M=ar(e=>e.gameStatus);(0,V.useEffect)(()=>{M===`connected`&&C&&a(!1)},[M,C,a]),(0,V.useEffect)(()=>{D&&C&&a(!1)},[C,D,a]),(0,V.useEffect)(()=>{w&&C&&a(!1)},[C,w,a]),(0,V.useEffect)(()=>{let e=e=>{e.code===`Backslash`&&(e.metaKey||e.ctrlKey)&&(e.stopPropagation(),e.preventDefault(),a(e=>!e))};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[a]);let N=v,P=N<1;(0,V.useEffect)(()=>{if(P)x(!0);else{let e=setTimeout(()=>x(!1),500);return()=>clearTimeout(e)}},[P]);let F=(0,V.useCallback)((e,t=0)=>{y(t)},[]),I=(0,V.useRef)(null),ee=(0,V.useRef)(null),L=(0,V.useCallback)(()=>l(!0),[]),ne=(0,V.useCallback)(()=>m(!0),[]),R=(0,V.useCallback)(()=>{d(!0)},[]),z=(0,V.useCallback)(()=>_(!0),[]),ae=(0,V.useCallback)(()=>{_(!1)},[]),oe=(0,V.useCallback)(e=>{I.current=e.camera,ee.current=e.invalidate},[]);return(0,W.jsx)(`main`,{className:hg.Frame,children:(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(`header`,{className:hg.Toolbar,children:[(0,W.jsx)(dg,{orientation:`top`,isOpen:i,onClick:()=>{a(e=>!e)}}),(0,W.jsx)(dg,{orientation:`left`,isOpen:i,onClick:()=>{a(e=>!e)}}),(0,W.jsx)(V.Activity,{mode:k&&!g?`visible`:`hidden`,children:(0,W.jsx)(oh,{})}),(0,W.jsx)(V.Activity,{mode:!k||g?`visible`:`hidden`,children:(0,W.jsx)(th,{value:g?``:o,missionType:g?``:s??``,onChange:E,autoFocus:g,onCancel:ae})}),w&&(0,W.jsx)(pg,{})]}),i?(0,W.jsx)(`div`,{className:hg.Backdrop}):null,(0,W.jsx)(V.Activity,{mode:i?`visible`:`hidden`,children:(0,W.jsx)(`div`,{className:hg.Sidebar,"data-open":i,children:(0,W.jsx)(Ja,{missionName:o,missionType:s,choosingMap:g,cameraRef:I,invalidateRef:ee,onOpenMapInfo:L,onOpenScoreScreen:k?ne:void 0,onOpenServerBrowser:n.live?R:void 0,onChooseMap:z,onCancelChoosingMap:ae,onClose:()=>{a(!1)}})})}),(0,W.jsx)(eg,{children:(0,W.jsxs)(`div`,{className:hg.Content,children:[(0,W.jsx)(`div`,{className:hg.ThreeView,children:(0,W.jsx)(V.Suspense,{children:(0,W.jsx)(vg,{missionName:o,missionType:s,dpr:c||u||f?.25:void 0,onCreated:oe,onLoadingChange:F})})}),k&&!f?(0,W.jsx)(V.Suspense,{children:(0,W.jsx)(bg,{})}):null,(0,W.jsx)(ig,{}),b&&(0,W.jsx)(sg,{isLoading:P,progress:N})]})}),(0,W.jsx)(`footer`,{className:hg.PlayerBar,children:D?.source===`demo`?(0,W.jsx)(V.Suspense,{children:(0,W.jsx)(yg,{})}):null}),c?(0,W.jsx)(gg,{children:(0,W.jsx)(V.Suspense,{fallback:(0,W.jsx)(lg,{onClose:()=>l(!1)}),children:(0,W.jsx)(xg,{onClose:()=>l(!1),missionName:o,missionType:s??``})})}):null,u?(0,W.jsx)(gg,{children:(0,W.jsx)(V.Suspense,{fallback:(0,W.jsx)(lg,{onClose:()=>d(!1)}),children:(0,W.jsx)(Sg,{onClose:()=>d(!1)})})}):null,f?(0,W.jsx)(gg,{children:(0,W.jsx)(V.Suspense,{fallback:(0,W.jsx)(lg,{onClose:()=>m(!1)}),children:(0,W.jsx)(Cg,{onClose:()=>m(!1)})})}):null]})})}var Tg=new Vt;function Eg(){let e=(0,H.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,W.jsx)(V.Suspense,{children:(0,W.jsx)(Ve,{children:(0,W.jsx)(qt,{children:(0,W.jsx)(Wt,{client:Tg,children:(0,W.jsx)(v,{children:(0,W.jsx)(wg,{})})})})})}),e[0]=t):t=e[0],t}(0,Me.createRoot)(document.getElementById(`root`)).render((0,W.jsx)(V.StrictMode,{children:(0,W.jsx)(Eg,{})}));export{yt as $,ar as A,fn as B,fr as C,cr as D,vr as E,Rn as F,en as G,an as H,zn as I,Zt as J,$t as K,Tn as L,Pn as M,Bn as N,gr as O,Fn as P,bt as Q,Cn as R,sr as S,ur as T,nn as U,on as V,tn as W,At as X,Ut as Y,U as Z,ph as _,Ch as a,st as at,sa as b,Mh as c,Ge as ct,zh as d,Xe as et,Bh as f,mh as g,_h as h,Dh as i,Qe as it,Dn as j,ir as k,xh as l,Ue as lt,vh as m,Th as n,ft as nt,kh as o,_t as ot,gh as p,Qt as q,Oh as r,$e as rt,Sh as s,Ze as st,tg as t,Je as tt,Uh as u,He as ut,Bm as v,mr as w,oa as x,ua as y,xn as z}; \ No newline at end of file diff --git a/docs/assets/loaders-BhaVxgpz.js b/docs/assets/loaders-BhaVxgpz.js deleted file mode 100644 index 23dbd36c..00000000 --- a/docs/assets/loaders-BhaVxgpz.js +++ /dev/null @@ -1 +0,0 @@ -import{i as e}from"./stringUtils-EmGsjr9D.js";import{t}from"./logger-B058WGzf.js";import{a as n}from"./mission-JRomjECE.js";var r={resources:JSON.parse(`{"audio/alarm.m4a":["audio/alarm.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/alarm.wav":["audio/alarm.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/alienanimal2.m4a":["audio/alienanimal2.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/alienanimal2.wav":["audio/alienanimal2.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/alienanimal4.m4a":["audio/alienanimal4.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/alienanimal4.wav":["audio/alienanimal4.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/alienanimal5.m4a":["audio/alienanimal5.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/alienanimal5.wav":["audio/alienanimal5.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/alienanimal6.m4a":["audio/alienanimal6.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/alienanimal6.wav":["audio/alienanimal6.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/alienanimal7.m4a":["audio/alienanimal7.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/alienanimal7.wav":["audio/alienanimal7.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/basshit.m4a":["audio/bassHit.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/basshit.wav":["audio/bassHit.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/birdfrog.m4a":["audio/birdfrog.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/birdfrog.wav":["audio/birdfrog.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/buildclose.m4a":["audio/buildClose.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/buildclose.wav":["audio/buildClose.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/buildopen.m4a":["audio/buildOpen.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/buildopen.wav":["audio/buildOpen.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/drywindlong.m4a":["audio/drywindlong.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/drywindlong.wav":["audio/drywindlong.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/fx/armor/breath_bio_uw.m4a":["audio/fx/armor/breath_bio_uw.m4a",["audio.vl2"]],"audio/fx/armor/breath_bio_uw.wav":["audio/fx/armor/breath_bio_uw.wav",["audio.vl2"]],"audio/fx/armor/breath_fem_uw.m4a":["audio/fx/armor/breath_fem_uw.m4a",["audio.vl2"]],"audio/fx/armor/breath_fem_uw.wav":["audio/fx/armor/breath_fem_uw.wav",["audio.vl2"]],"audio/fx/armor/breath_uw.m4a":["audio/fx/armor/breath_uw.m4a",["audio.vl2"]],"audio/fx/armor/breath_uw.wav":["audio/fx/armor/breath_uw.wav",["audio.vl2"]],"audio/fx/armor/bubbletrail.m4a":["audio/fx/armor/bubbletrail.m4a",["audio.vl2"]],"audio/fx/armor/bubbletrail.wav":["audio/fx/armor/bubbletrail.wav",["audio.vl2"]],"audio/fx/armor/bubbletrail2.m4a":["audio/fx/armor/bubbletrail2.m4a",["audio.vl2"]],"audio/fx/armor/bubbletrail2.wav":["audio/fx/armor/bubbletrail2.wav",["audio.vl2"]],"audio/fx/armor/general_water_bigsplash.m4a":["audio/fx/armor/general_water_bigsplash.m4a",["audio.vl2"]],"audio/fx/armor/general_water_bigsplash.wav":["audio/fx/armor/general_water_bigsplash.wav",["audio.vl2"]],"audio/fx/armor/general_water_exit.m4a":["audio/fx/armor/general_water_exit.m4a",["audio.vl2"]],"audio/fx/armor/general_water_exit.wav":["audio/fx/armor/general_water_exit.wav",["audio.vl2"]],"audio/fx/armor/general_water_exit2.m4a":["audio/fx/armor/general_water_exit2.m4a",["audio.vl2"]],"audio/fx/armor/general_water_exit2.wav":["audio/fx/armor/general_water_exit2.wav",["audio.vl2"]],"audio/fx/armor/general_water_medsplash.m4a":["audio/fx/armor/general_water_medsplash.m4a",["audio.vl2"]],"audio/fx/armor/general_water_medsplash.wav":["audio/fx/armor/general_water_medsplash.wav",["audio.vl2"]],"audio/fx/armor/general_water_smallsplash.m4a":["audio/fx/armor/general_water_smallsplash.m4a",["audio.vl2"]],"audio/fx/armor/general_water_smallsplash.wav":["audio/fx/armor/general_water_smallsplash.wav",["audio.vl2"]],"audio/fx/armor/general_water_smallsplash2.m4a":["audio/fx/armor/general_water_smallsplash2.m4a",["audio.vl2"]],"audio/fx/armor/general_water_smallsplash2.wav":["audio/fx/armor/general_water_smallsplash2.wav",["audio.vl2"]],"audio/fx/armor/heavy_land_hard.m4a":["audio/fx/armor/heavy_land_hard.m4a",["audio.vl2"]],"audio/fx/armor/heavy_land_hard.wav":["audio/fx/armor/heavy_land_hard.wav",["audio.vl2"]],"audio/fx/armor/heavy_land_snow.m4a":["audio/fx/armor/heavy_land_snow.m4a",["audio.vl2"]],"audio/fx/armor/heavy_land_snow.wav":["audio/fx/armor/heavy_land_snow.wav",["audio.vl2"]],"audio/fx/armor/heavy_land_soft.m4a":["audio/fx/armor/heavy_land_soft.m4a",["audio.vl2"]],"audio/fx/armor/heavy_land_soft.wav":["audio/fx/armor/heavy_land_soft.wav",["audio.vl2"]],"audio/fx/armor/heavy_lf_hard.m4a":["audio/fx/armor/heavy_LF_hard.m4a",["audio.vl2"]],"audio/fx/armor/heavy_lf_hard.wav":["audio/fx/armor/heavy_LF_hard.wav",["audio.vl2"]],"audio/fx/armor/heavy_lf_metal.m4a":["audio/fx/armor/heavy_LF_metal.m4a",["audio.vl2"]],"audio/fx/armor/heavy_lf_metal.wav":["audio/fx/armor/heavy_LF_metal.wav",["audio.vl2"]],"audio/fx/armor/heavy_lf_snow.m4a":["audio/fx/armor/heavy_LF_snow.m4a",["audio.vl2"]],"audio/fx/armor/heavy_lf_snow.wav":["audio/fx/armor/heavy_LF_snow.wav",["audio.vl2"]],"audio/fx/armor/heavy_lf_soft.m4a":["audio/fx/armor/heavy_LF_soft.m4a",["audio.vl2"]],"audio/fx/armor/heavy_lf_soft.wav":["audio/fx/armor/heavy_LF_soft.wav",["audio.vl2"]],"audio/fx/armor/heavy_lf_uw.m4a":["audio/fx/armor/heavy_LF_uw.m4a",["audio.vl2"]],"audio/fx/armor/heavy_lf_uw.wav":["audio/fx/armor/heavy_LF_uw.wav",["audio.vl2"]],"audio/fx/armor/heavy_lf_water.m4a":["audio/fx/armor/heavy_LF_water.m4a",["audio.vl2"]],"audio/fx/armor/heavy_lf_water.wav":["audio/fx/armor/heavy_LF_water.wav",["audio.vl2"]],"audio/fx/armor/heavy_rf_hard.m4a":["audio/fx/armor/heavy_RF_hard.m4a",["audio.vl2"]],"audio/fx/armor/heavy_rf_hard.wav":["audio/fx/armor/heavy_RF_hard.wav",["audio.vl2"]],"audio/fx/armor/heavy_rf_metal.m4a":["audio/fx/armor/heavy_RF_metal.m4a",["audio.vl2"]],"audio/fx/armor/heavy_rf_metal.wav":["audio/fx/armor/heavy_RF_metal.wav",["audio.vl2"]],"audio/fx/armor/heavy_rf_snow.m4a":["audio/fx/armor/heavy_RF_snow.m4a",["audio.vl2"]],"audio/fx/armor/heavy_rf_snow.wav":["audio/fx/armor/heavy_RF_snow.wav",["audio.vl2"]],"audio/fx/armor/heavy_rf_soft.m4a":["audio/fx/armor/heavy_RF_soft.m4a",["audio.vl2"]],"audio/fx/armor/heavy_rf_soft.wav":["audio/fx/armor/heavy_RF_soft.wav",["audio.vl2"]],"audio/fx/armor/heavy_rf_uw.m4a":["audio/fx/armor/heavy_RF_uw.m4a",["audio.vl2"]],"audio/fx/armor/heavy_rf_uw.wav":["audio/fx/armor/heavy_RF_uw.wav",["audio.vl2"]],"audio/fx/armor/heavy_rf_water.m4a":["audio/fx/armor/heavy_RF_water.m4a",["audio.vl2"]],"audio/fx/armor/heavy_rf_water.wav":["audio/fx/armor/heavy_RF_water.wav",["audio.vl2"]],"audio/fx/armor/light_land_hard.m4a":["audio/fx/armor/light_land_hard.m4a",["audio.vl2"]],"audio/fx/armor/light_land_hard.wav":["audio/fx/armor/light_land_hard.wav",["audio.vl2"]],"audio/fx/armor/light_land_metal.m4a":["audio/fx/armor/light_land_metal.m4a",["audio.vl2"]],"audio/fx/armor/light_land_metal.wav":["audio/fx/armor/light_land_metal.wav",["audio.vl2"]],"audio/fx/armor/light_land_snow.m4a":["audio/fx/armor/light_land_snow.m4a",["audio.vl2"]],"audio/fx/armor/light_land_snow.wav":["audio/fx/armor/light_land_snow.wav",["audio.vl2"]],"audio/fx/armor/light_land_soft.m4a":["audio/fx/armor/light_land_soft.m4a",["audio.vl2"]],"audio/fx/armor/light_land_soft.wav":["audio/fx/armor/light_land_soft.wav",["audio.vl2"]],"audio/fx/armor/light_lf_bubbles.m4a":["audio/fx/armor/light_LF_bubbles.m4a",["audio.vl2"]],"audio/fx/armor/light_lf_bubbles.wav":["audio/fx/armor/light_LF_bubbles.wav",["audio.vl2"]],"audio/fx/armor/light_lf_hard.m4a":["audio/fx/armor/light_LF_hard.m4a",["audio.vl2"]],"audio/fx/armor/light_lf_hard.wav":["audio/fx/armor/light_LF_hard.wav",["audio.vl2"]],"audio/fx/armor/light_lf_metal.m4a":["audio/fx/armor/light_LF_metal.m4a",["audio.vl2"]],"audio/fx/armor/light_lf_metal.wav":["audio/fx/armor/light_LF_metal.wav",["audio.vl2"]],"audio/fx/armor/light_lf_snow.m4a":["audio/fx/armor/light_LF_snow.m4a",["audio.vl2"]],"audio/fx/armor/light_lf_snow.wav":["audio/fx/armor/light_LF_snow.wav",["audio.vl2"]],"audio/fx/armor/light_lf_soft.m4a":["audio/fx/armor/light_LF_soft.m4a",["audio.vl2"]],"audio/fx/armor/light_lf_soft.wav":["audio/fx/armor/light_LF_soft.wav",["audio.vl2"]],"audio/fx/armor/light_lf_uw.m4a":["audio/fx/armor/light_LF_uw.m4a",["audio.vl2"]],"audio/fx/armor/light_lf_uw.wav":["audio/fx/armor/light_LF_uw.wav",["audio.vl2"]],"audio/fx/armor/light_lf_wade.m4a":["audio/fx/armor/light_LF_wade.m4a",["audio.vl2"]],"audio/fx/armor/light_lf_wade.wav":["audio/fx/armor/light_LF_wade.wav",["audio.vl2"]],"audio/fx/armor/light_lf_water.m4a":["audio/fx/armor/light_LF_water.m4a",["audio.vl2"]],"audio/fx/armor/light_lf_water.wav":["audio/fx/armor/light_LF_water.wav",["audio.vl2"]],"audio/fx/armor/light_rf_bubbles.m4a":["audio/fx/armor/light_RF_bubbles.m4a",["audio.vl2"]],"audio/fx/armor/light_rf_bubbles.wav":["audio/fx/armor/light_RF_bubbles.wav",["audio.vl2"]],"audio/fx/armor/light_rf_hard.m4a":["audio/fx/armor/light_RF_hard.m4a",["audio.vl2"]],"audio/fx/armor/light_rf_hard.wav":["audio/fx/armor/light_RF_hard.wav",["audio.vl2"]],"audio/fx/armor/light_rf_metal.m4a":["audio/fx/armor/light_RF_metal.m4a",["audio.vl2"]],"audio/fx/armor/light_rf_metal.wav":["audio/fx/armor/light_RF_metal.wav",["audio.vl2"]],"audio/fx/armor/light_rf_snow.m4a":["audio/fx/armor/light_RF_snow.m4a",["audio.vl2"]],"audio/fx/armor/light_rf_snow.wav":["audio/fx/armor/light_RF_snow.wav",["audio.vl2"]],"audio/fx/armor/light_rf_soft.m4a":["audio/fx/armor/light_RF_soft.m4a",["audio.vl2"]],"audio/fx/armor/light_rf_soft.wav":["audio/fx/armor/light_RF_soft.wav",["audio.vl2"]],"audio/fx/armor/light_rf_uw.m4a":["audio/fx/armor/light_RF_uw.m4a",["audio.vl2"]],"audio/fx/armor/light_rf_uw.wav":["audio/fx/armor/light_RF_uw.wav",["audio.vl2"]],"audio/fx/armor/light_rf_wade.m4a":["audio/fx/armor/light_RF_wade.m4a",["audio.vl2"]],"audio/fx/armor/light_rf_wade.wav":["audio/fx/armor/light_RF_wade.wav",["audio.vl2"]],"audio/fx/armor/light_rf_water.m4a":["audio/fx/armor/light_RF_water.m4a",["audio.vl2"]],"audio/fx/armor/light_rf_water.wav":["audio/fx/armor/light_RF_water.wav",["audio.vl2"]],"audio/fx/armor/med_land_hard.m4a":["audio/fx/armor/med_land_hard.m4a",["audio.vl2"]],"audio/fx/armor/med_land_hard.wav":["audio/fx/armor/med_land_hard.wav",["audio.vl2"]],"audio/fx/armor/med_land_snow.m4a":["audio/fx/armor/med_land_snow.m4a",["audio.vl2"]],"audio/fx/armor/med_land_snow.wav":["audio/fx/armor/med_land_snow.wav",["audio.vl2"]],"audio/fx/armor/med_land_soft.m4a":["audio/fx/armor/med_land_soft.m4a",["audio.vl2"]],"audio/fx/armor/med_land_soft.wav":["audio/fx/armor/med_land_soft.wav",["audio.vl2"]],"audio/fx/armor/med_lf_hard.m4a":["audio/fx/armor/med_LF_hard.m4a",["audio.vl2"]],"audio/fx/armor/med_lf_hard.wav":["audio/fx/armor/med_LF_hard.wav",["audio.vl2"]],"audio/fx/armor/med_lf_metal.m4a":["audio/fx/armor/med_LF_metal.m4a",["audio.vl2"]],"audio/fx/armor/med_lf_metal.wav":["audio/fx/armor/med_LF_metal.wav",["audio.vl2"]],"audio/fx/armor/med_lf_snow.m4a":["audio/fx/armor/med_LF_snow.m4a",["audio.vl2"]],"audio/fx/armor/med_lf_snow.wav":["audio/fx/armor/med_LF_snow.wav",["audio.vl2"]],"audio/fx/armor/med_lf_soft.m4a":["audio/fx/armor/med_LF_soft.m4a",["audio.vl2"]],"audio/fx/armor/med_lf_soft.wav":["audio/fx/armor/med_LF_soft.wav",["audio.vl2"]],"audio/fx/armor/med_lf_uw.m4a":["audio/fx/armor/med_LF_uw.m4a",["audio.vl2"]],"audio/fx/armor/med_lf_uw.wav":["audio/fx/armor/med_LF_uw.wav",["audio.vl2"]],"audio/fx/armor/med_lf_water.m4a":["audio/fx/armor/med_LF_water.m4a",["audio.vl2"]],"audio/fx/armor/med_lf_water.wav":["audio/fx/armor/med_LF_water.wav",["audio.vl2"]],"audio/fx/armor/med_rf_hard.m4a":["audio/fx/armor/med_RF_hard.m4a",["audio.vl2"]],"audio/fx/armor/med_rf_hard.wav":["audio/fx/armor/med_RF_hard.wav",["audio.vl2"]],"audio/fx/armor/med_rf_metal.m4a":["audio/fx/armor/med_RF_metal.m4a",["audio.vl2"]],"audio/fx/armor/med_rf_metal.wav":["audio/fx/armor/med_RF_metal.wav",["audio.vl2"]],"audio/fx/armor/med_rf_snow.m4a":["audio/fx/armor/med_RF_snow.m4a",["audio.vl2"]],"audio/fx/armor/med_rf_snow.wav":["audio/fx/armor/med_RF_snow.wav",["audio.vl2"]],"audio/fx/armor/med_rf_soft.m4a":["audio/fx/armor/med_RF_soft.m4a",["audio.vl2"]],"audio/fx/armor/med_rf_soft.wav":["audio/fx/armor/med_RF_soft.wav",["audio.vl2"]],"audio/fx/armor/med_rf_uw.m4a":["audio/fx/armor/med_RF_uw.m4a",["audio.vl2"]],"audio/fx/armor/med_rf_uw.wav":["audio/fx/armor/med_RF_uw.wav",["audio.vl2"]],"audio/fx/armor/med_rf_water.m4a":["audio/fx/armor/med_RF_water.m4a",["audio.vl2"]],"audio/fx/armor/med_rf_water.wav":["audio/fx/armor/med_RF_water.wav",["audio.vl2"]],"audio/fx/armor/ski_soft.m4a":["audio/fx/armor/ski_soft.m4a",["audio.vl2"]],"audio/fx/armor/ski_soft.wav":["audio/fx/armor/ski_soft.wav",["audio.vl2"]],"audio/fx/armor/thrust.m4a":["audio/fx/armor/thrust.m4a",["audio.vl2"]],"audio/fx/armor/thrust.wav":["audio/fx/armor/thrust.wav",["audio.vl2"]],"audio/fx/armor/thrust_uw.m4a":["audio/fx/armor/thrust_uw.m4a",["audio.vl2"]],"audio/fx/armor/thrust_uw.wav":["audio/fx/armor/thrust_uw.wav",["audio.vl2"]],"audio/fx/bonuses/down_passback1_prayer.m4a":["audio/fx/Bonuses/down_passback1_prayer.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/down_passback1_prayer.wav":["audio/fx/Bonuses/down_passback1_prayer.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/down_passback2_moyoyo.m4a":["audio/fx/Bonuses/down_passback2_moyoyo.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/down_passback2_moyoyo.wav":["audio/fx/Bonuses/down_passback2_moyoyo.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/down_passback3_rocket.m4a":["audio/fx/Bonuses/down_passback3_rocket.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/down_passback3_rocket.wav":["audio/fx/Bonuses/down_passback3_rocket.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/down_perppass1_blast.m4a":["audio/fx/Bonuses/down_perppass1_blast.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/down_perppass1_blast.wav":["audio/fx/Bonuses/down_perppass1_blast.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/down_perppass2_deepdish.m4a":["audio/fx/Bonuses/down_perppass2_deepdish.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/down_perppass2_deepdish.wav":["audio/fx/Bonuses/down_perppass2_deepdish.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/down_perppass3_bunnybump.m4a":["audio/fx/Bonuses/down_perppass3_bunnybump.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/down_perppass3_bunnybump.wav":["audio/fx/Bonuses/down_perppass3_bunnybump.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/down_straipass1_yoyo.m4a":["audio/fx/Bonuses/down_straipass1_yoyo.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/down_straipass1_yoyo.wav":["audio/fx/Bonuses/down_straipass1_yoyo.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/down_straipass2_skydive.m4a":["audio/fx/Bonuses/down_straipass2_skydive.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/down_straipass2_skydive.wav":["audio/fx/Bonuses/down_straipass2_skydive.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/down_straipass3_jolt.m4a":["audio/fx/Bonuses/down_straipass3_jolt.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/down_straipass3_jolt.wav":["audio/fx/Bonuses/down_straipass3_jolt.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/evillaugh.m4a":["audio/fx/Bonuses/evillaugh.m4a",["TR2final105-client.vl2"]],"audio/fx/bonuses/evillaugh.wav":["audio/fx/Bonuses/evillaugh.wav",["TR2final105-client.vl2"]],"audio/fx/bonuses/gadget3.m4a":["audio/fx/Bonuses/gadget3.m4a",["TR2final105-client.vl2"]],"audio/fx/bonuses/gadget3.wav":["audio/fx/Bonuses/gadget3.wav",["TR2final105-client.vl2"]],"audio/fx/bonuses/high-level1-frozen.m4a":["audio/fx/Bonuses/high-level1-frozen.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/high-level1-frozen.wav":["audio/fx/Bonuses/high-level1-frozen.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/high-level2-shooting.m4a":["audio/fx/Bonuses/high-level2-shooting.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/high-level2-shooting.wav":["audio/fx/Bonuses/high-level2-shooting.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/high-level3-dangling.m4a":["audio/fx/Bonuses/high-level3-dangling.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/high-level3-dangling.wav":["audio/fx/Bonuses/high-level3-dangling.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/high-level4-blazing.m4a":["audio/fx/Bonuses/high-level4-blazing.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/high-level4-blazing.wav":["audio/fx/Bonuses/high-level4-blazing.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/high-level5-raining.m4a":["audio/fx/Bonuses/high-level5-raining.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/high-level5-raining.wav":["audio/fx/Bonuses/high-level5-raining.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/high-level6-falling.m4a":["audio/fx/Bonuses/high-level6-falling.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/high-level6-falling.wav":["audio/fx/Bonuses/high-level6-falling.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/horz_passback1_jab.m4a":["audio/fx/Bonuses/horz_passback1_jab.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/horz_passback1_jab.wav":["audio/fx/Bonuses/horz_passback1_jab.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/horz_passback2_backbreaker.m4a":["audio/fx/Bonuses/horz_passback2_backbreaker.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/horz_passback2_backbreaker.wav":["audio/fx/Bonuses/horz_passback2_backbreaker.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/horz_passback3_leetlob.m4a":["audio/fx/Bonuses/horz_passback3_leetlob.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/horz_passback3_leetlob.wav":["audio/fx/Bonuses/horz_passback3_leetlob.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/horz_perppass1_peeler.m4a":["audio/fx/Bonuses/horz_perppass1_peeler.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/horz_perppass1_peeler.wav":["audio/fx/Bonuses/horz_perppass1_peeler.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/horz_perppass2_blender.m4a":["audio/fx/Bonuses/horz_perppass2_blender.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/horz_perppass2_blender.wav":["audio/fx/Bonuses/horz_perppass2_blender.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/horz_perppass3_glasssmash.m4a":["audio/fx/Bonuses/horz_perppass3_glasssmash.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/horz_perppass3_glasssmash.wav":["audio/fx/Bonuses/horz_perppass3_glasssmash.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/horz_straipass1_bullet.m4a":["audio/fx/Bonuses/horz_straipass1_bullet.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/horz_straipass1_bullet.wav":["audio/fx/Bonuses/horz_straipass1_bullet.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/horz_straipass2_heist.m4a":["audio/fx/Bonuses/horz_straipass2_heist.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/horz_straipass2_heist.wav":["audio/fx/Bonuses/horz_straipass2_heist.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/horz_straipass3_smackshot.m4a":["audio/fx/Bonuses/horz_straipass3_smackshot.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/horz_straipass3_smackshot.wav":["audio/fx/Bonuses/horz_straipass3_smackshot.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/low-level1-sharp.m4a":["audio/fx/Bonuses/low-level1-sharp.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/low-level1-sharp.wav":["audio/fx/Bonuses/low-level1-sharp.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/low-level2-spitting.m4a":["audio/fx/Bonuses/low-level2-spitting.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/low-level2-spitting.wav":["audio/fx/Bonuses/low-level2-spitting.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/low-level3-whipped.m4a":["audio/fx/Bonuses/low-level3-whipped.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/low-level3-whipped.wav":["audio/fx/Bonuses/low-level3-whipped.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/low-level4-popping.m4a":["audio/fx/Bonuses/low-level4-popping.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/low-level4-popping.wav":["audio/fx/Bonuses/low-level4-popping.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/low-level5-bursting.m4a":["audio/fx/Bonuses/low-level5-bursting.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/low-level5-bursting.wav":["audio/fx/Bonuses/low-level5-bursting.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/mario-6notes.m4a":["audio/fx/Bonuses/mario-6notes.m4a",["TR2final105-client.vl2"]],"audio/fx/bonuses/mario-6notes.wav":["audio/fx/Bonuses/mario-6notes.wav",["TR2final105-client.vl2"]],"audio/fx/bonuses/med-level1-modest.m4a":["audio/fx/Bonuses/med-level1-modest.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/med-level1-modest.wav":["audio/fx/Bonuses/med-level1-modest.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/med-level2-ripped.m4a":["audio/fx/Bonuses/med-level2-ripped.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/med-level2-ripped.wav":["audio/fx/Bonuses/med-level2-ripped.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/med-level3-shining.m4a":["audio/fx/Bonuses/med-level3-shining.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/med-level3-shining.wav":["audio/fx/Bonuses/med-level3-shining.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/med-level4-slick.m4a":["audio/fx/Bonuses/med-level4-slick.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/med-level4-slick.wav":["audio/fx/Bonuses/med-level4-slick.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/med-level5-sprinkling.m4a":["audio/fx/Bonuses/med-level5-sprinkling.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/med-level5-sprinkling.wav":["audio/fx/Bonuses/med-level5-sprinkling.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/med-level6-brilliant.m4a":["audio/fx/Bonuses/med-level6-brilliant.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/med-level6-brilliant.wav":["audio/fx/Bonuses/med-level6-brilliant.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/airplane.m4a":["audio/fx/Bonuses/Nouns/airplane.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/airplane.wav":["audio/fx/Bonuses/Nouns/airplane.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/astronaut.m4a":["audio/fx/Bonuses/Nouns/astronaut.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/astronaut.wav":["audio/fx/Bonuses/Nouns/astronaut.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/atmosphere.m4a":["audio/fx/Bonuses/Nouns/atmosphere.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/atmosphere.wav":["audio/fx/Bonuses/Nouns/atmosphere.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/balloon.m4a":["audio/fx/Bonuses/Nouns/balloon.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/balloon.wav":["audio/fx/Bonuses/Nouns/balloon.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/bats.m4a":["audio/fx/Bonuses/Nouns/bats.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/bats.wav":["audio/fx/Bonuses/Nouns/bats.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/beeswarm.m4a":["audio/fx/Bonuses/Nouns/beeswarm.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/beeswarm.wav":["audio/fx/Bonuses/Nouns/beeswarm.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/birdofprey.m4a":["audio/fx/Bonuses/Nouns/birdofprey.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/birdofprey.wav":["audio/fx/Bonuses/Nouns/birdofprey.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/blimp.m4a":["audio/fx/Bonuses/Nouns/blimp.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/blimp.wav":["audio/fx/Bonuses/Nouns/blimp.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/bluejay.m4a":["audio/fx/Bonuses/Nouns/bluejay.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/bluejay.wav":["audio/fx/Bonuses/Nouns/bluejay.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/budgie.m4a":["audio/fx/Bonuses/Nouns/budgie.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/budgie.wav":["audio/fx/Bonuses/Nouns/budgie.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/butterfly.m4a":["audio/fx/Bonuses/Nouns/butterfly.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/butterfly.wav":["audio/fx/Bonuses/Nouns/butterfly.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/camel.m4a":["audio/fx/Bonuses/Nouns/camel.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/camel.wav":["audio/fx/Bonuses/Nouns/camel.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/captain.m4a":["audio/fx/Bonuses/Nouns/captain.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/captain.wav":["audio/fx/Bonuses/Nouns/captain.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/cat.m4a":["audio/fx/Bonuses/Nouns/cat.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/cat.wav":["audio/fx/Bonuses/Nouns/cat.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/cheetah.m4a":["audio/fx/Bonuses/Nouns/cheetah.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/cheetah.wav":["audio/fx/Bonuses/Nouns/cheetah.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/chickadee.m4a":["audio/fx/Bonuses/Nouns/chickadee.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/chickadee.wav":["audio/fx/Bonuses/Nouns/chickadee.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/cloud.m4a":["audio/fx/Bonuses/Nouns/cloud.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/cloud.wav":["audio/fx/Bonuses/Nouns/cloud.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/colonel.m4a":["audio/fx/Bonuses/Nouns/colonel.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/colonel.wav":["audio/fx/Bonuses/Nouns/colonel.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/condor.m4a":["audio/fx/Bonuses/Nouns/condor.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/condor.wav":["audio/fx/Bonuses/Nouns/condor.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/cougar.m4a":["audio/fx/Bonuses/Nouns/cougar.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/cougar.wav":["audio/fx/Bonuses/Nouns/cougar.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/cow.m4a":["audio/fx/Bonuses/Nouns/cow.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/cow.wav":["audio/fx/Bonuses/Nouns/cow.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/coyote.m4a":["audio/fx/Bonuses/Nouns/coyote.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/coyote.wav":["audio/fx/Bonuses/Nouns/coyote.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/crow.m4a":["audio/fx/Bonuses/Nouns/crow.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/crow.wav":["audio/fx/Bonuses/Nouns/crow.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/dog.m4a":["audio/fx/Bonuses/Nouns/dog.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/dog.wav":["audio/fx/Bonuses/Nouns/dog.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/donkey.m4a":["audio/fx/Bonuses/Nouns/donkey.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/donkey.wav":["audio/fx/Bonuses/Nouns/donkey.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/dove.m4a":["audio/fx/Bonuses/Nouns/dove.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/dove.wav":["audio/fx/Bonuses/Nouns/dove.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/dragonfly.m4a":["audio/fx/Bonuses/Nouns/dragonfly.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/dragonfly.wav":["audio/fx/Bonuses/Nouns/dragonfly.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/flamingo.m4a":["audio/fx/Bonuses/Nouns/flamingo.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/flamingo.wav":["audio/fx/Bonuses/Nouns/flamingo.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/fly.m4a":["audio/fx/Bonuses/Nouns/fly.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/fly.wav":["audio/fx/Bonuses/Nouns/fly.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/general.m4a":["audio/fx/Bonuses/Nouns/general.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/general.wav":["audio/fx/Bonuses/Nouns/general.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/goldfinch.m4a":["audio/fx/Bonuses/Nouns/goldfinch.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/goldfinch.wav":["audio/fx/Bonuses/Nouns/goldfinch.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/grasshopper.m4a":["audio/fx/Bonuses/Nouns/grasshopper.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/grasshopper.wav":["audio/fx/Bonuses/Nouns/grasshopper.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/helicopter.m4a":["audio/fx/Bonuses/Nouns/helicopter.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/helicopter.wav":["audio/fx/Bonuses/Nouns/helicopter.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/hornet.m4a":["audio/fx/Bonuses/Nouns/hornet.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/hornet.wav":["audio/fx/Bonuses/Nouns/hornet.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/horse.m4a":["audio/fx/Bonuses/Nouns/horse.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/horse.wav":["audio/fx/Bonuses/Nouns/horse.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/hurricane.m4a":["audio/fx/Bonuses/Nouns/hurricane.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/hurricane.wav":["audio/fx/Bonuses/Nouns/hurricane.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/iguana.m4a":["audio/fx/Bonuses/Nouns/iguana.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/iguana.wav":["audio/fx/Bonuses/Nouns/iguana.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/jaguar.m4a":["audio/fx/Bonuses/Nouns/jaguar.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/jaguar.wav":["audio/fx/Bonuses/Nouns/jaguar.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/llama.m4a":["audio/fx/Bonuses/Nouns/llama.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/llama.wav":["audio/fx/Bonuses/Nouns/llama.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/major.m4a":["audio/fx/Bonuses/Nouns/major.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/major.wav":["audio/fx/Bonuses/Nouns/major.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/moon.m4a":["audio/fx/Bonuses/Nouns/moon.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/moon.wav":["audio/fx/Bonuses/Nouns/moon.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/msquito.m4a":["audio/fx/Bonuses/Nouns/msquito.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/msquito.wav":["audio/fx/Bonuses/Nouns/msquito.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/ostrich.m4a":["audio/fx/Bonuses/Nouns/ostrich.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/ostrich.wav":["audio/fx/Bonuses/Nouns/ostrich.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/owl.m4a":["audio/fx/Bonuses/Nouns/owl.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/owl.wav":["audio/fx/Bonuses/Nouns/owl.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/ozone.m4a":["audio/fx/Bonuses/Nouns/ozone.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/ozone.wav":["audio/fx/Bonuses/Nouns/ozone.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/parakeet.m4a":["audio/fx/Bonuses/Nouns/parakeet.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/parakeet.wav":["audio/fx/Bonuses/Nouns/parakeet.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/pelican.m4a":["audio/fx/Bonuses/Nouns/pelican.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/pelican.wav":["audio/fx/Bonuses/Nouns/pelican.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/puppy.m4a":["audio/fx/Bonuses/Nouns/puppy.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/puppy.wav":["audio/fx/Bonuses/Nouns/puppy.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/shark.m4a":["audio/fx/Bonuses/Nouns/shark.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/shark.wav":["audio/fx/Bonuses/Nouns/shark.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/snake.m4a":["audio/fx/Bonuses/Nouns/snake.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/snake.wav":["audio/fx/Bonuses/Nouns/snake.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/special1.m4a":["audio/fx/Bonuses/Nouns/special1.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/special1.wav":["audio/fx/Bonuses/Nouns/special1.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/special2.m4a":["audio/fx/Bonuses/Nouns/special2.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/special2.wav":["audio/fx/Bonuses/Nouns/special2.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/special3.m4a":["audio/fx/Bonuses/Nouns/special3.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/special3.wav":["audio/fx/Bonuses/Nouns/special3.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/swallow.m4a":["audio/fx/Bonuses/Nouns/swallow.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/swallow.wav":["audio/fx/Bonuses/Nouns/swallow.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/tiger.m4a":["audio/fx/Bonuses/Nouns/tiger.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/tiger.wav":["audio/fx/Bonuses/Nouns/tiger.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/tornado.m4a":["audio/fx/Bonuses/Nouns/tornado.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/tornado.wav":["audio/fx/Bonuses/Nouns/tornado.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/turtle.m4a":["audio/fx/Bonuses/Nouns/turtle.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/turtle.wav":["audio/fx/Bonuses/Nouns/turtle.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/warnipple.m4a":["audio/fx/Bonuses/Nouns/warnipple.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/warnipple.wav":["audio/fx/Bonuses/Nouns/warnipple.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/wasp.m4a":["audio/fx/Bonuses/Nouns/wasp.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/wasp.wav":["audio/fx/Bonuses/Nouns/wasp.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/wolf.m4a":["audio/fx/Bonuses/Nouns/wolf.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/wolf.wav":["audio/fx/Bonuses/Nouns/wolf.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/zebra.m4a":["audio/fx/Bonuses/Nouns/zebra.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/zebra.wav":["audio/fx/Bonuses/Nouns/zebra.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/zeppellin.m4a":["audio/fx/Bonuses/Nouns/zeppellin.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/zeppellin.wav":["audio/fx/Bonuses/Nouns/zeppellin.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/qseq1.m4a":["audio/fx/Bonuses/qseq1.m4a",["TR2final105-client.vl2"]],"audio/fx/bonuses/qseq1.wav":["audio/fx/Bonuses/qseq1.wav",["TR2final105-client.vl2"]],"audio/fx/bonuses/qseq2.m4a":["audio/fx/Bonuses/qseq2.m4a",["TR2final105-client.vl2"]],"audio/fx/bonuses/qseq2.wav":["audio/fx/Bonuses/qseq2.wav",["TR2final105-client.vl2"]],"audio/fx/bonuses/qseq3.m4a":["audio/fx/Bonuses/qseq3.m4a",["TR2final105-client.vl2"]],"audio/fx/bonuses/qseq3.wav":["audio/fx/Bonuses/qseq3.wav",["TR2final105-client.vl2"]],"audio/fx/bonuses/trex.m4a":["audio/fx/Bonuses/TRex.m4a",["TR2final105-client.vl2"]],"audio/fx/bonuses/trex.wav":["audio/fx/Bonuses/TRex.wav",["TR2final105-client.vl2"]],"audio/fx/bonuses/upward_passback1_bomb.m4a":["audio/fx/Bonuses/upward_passback1_bomb.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/upward_passback1_bomb.wav":["audio/fx/Bonuses/upward_passback1_bomb.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/upward_passback2_deliverance.m4a":["audio/fx/Bonuses/upward_passback2_deliverance.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/upward_passback2_deliverance.wav":["audio/fx/Bonuses/upward_passback2_deliverance.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/upward_passback3_crank.m4a":["audio/fx/Bonuses/upward_passback3_crank.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/upward_passback3_crank.wav":["audio/fx/Bonuses/upward_passback3_crank.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/upward_perppass1_fling.m4a":["audio/fx/Bonuses/upward_perppass1_fling.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/upward_perppass1_fling.wav":["audio/fx/Bonuses/upward_perppass1_fling.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/upward_perppass2_quark.m4a":["audio/fx/Bonuses/upward_perppass2_quark.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/upward_perppass2_quark.wav":["audio/fx/Bonuses/upward_perppass2_quark.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/upward_perppass3_juggletoss.m4a":["audio/fx/Bonuses/upward_perppass3_juggletoss.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/upward_perppass3_juggletoss.wav":["audio/fx/Bonuses/upward_perppass3_juggletoss.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/upward_straipass1_ascension.m4a":["audio/fx/Bonuses/upward_straipass1_ascension.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/upward_straipass1_ascension.wav":["audio/fx/Bonuses/upward_straipass1_ascension.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/upward_straipass2_elevator.m4a":["audio/fx/Bonuses/upward_straipass2_elevator.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/upward_straipass2_elevator.wav":["audio/fx/Bonuses/upward_straipass2_elevator.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/wow-level1-suspended.m4a":["audio/fx/Bonuses/wow-level1-suspended.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/wow-level1-suspended.wav":["audio/fx/Bonuses/wow-level1-suspended.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/wow-level2-skeeting.m4a":["audio/fx/Bonuses/wow-level2-skeeting.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/wow-level2-skeeting.wav":["audio/fx/Bonuses/wow-level2-skeeting.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/wow-level3-hanging.m4a":["audio/fx/Bonuses/wow-level3-hanging.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/wow-level3-hanging.wav":["audio/fx/Bonuses/wow-level3-hanging.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/wow-level4-arcing.m4a":["audio/fx/Bonuses/wow-level4-arcing.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/wow-level4-arcing.wav":["audio/fx/Bonuses/wow-level4-arcing.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/wow-level5-pouring.m4a":["audio/fx/Bonuses/wow-level5-pouring.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/wow-level5-pouring.wav":["audio/fx/Bonuses/wow-level5-pouring.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/wow-level6-elite.m4a":["audio/fx/Bonuses/wow-level6-elite.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/wow-level6-elite.wav":["audio/fx/Bonuses/wow-level6-elite.wav",["TR2final093-extras.vl2"]],"audio/fx/environment/base_1.m4a":["audio/fx/environment/base_1.m4a",["audio.vl2"]],"audio/fx/environment/base_1.wav":["audio/fx/environment/base_1.wav",["audio.vl2"]],"audio/fx/environment/base_2.m4a":["audio/fx/environment/base_2.m4a",["audio.vl2"]],"audio/fx/environment/base_2.wav":["audio/fx/environment/base_2.wav",["audio.vl2"]],"audio/fx/environment/base_3.m4a":["audio/fx/environment/base_3.m4a",["audio.vl2"]],"audio/fx/environment/base_3.wav":["audio/fx/environment/base_3.wav",["audio.vl2"]],"audio/fx/environment/base_pulse_1.m4a":["audio/fx/environment/base_pulse_1.m4a",["audio.vl2"]],"audio/fx/environment/base_pulse_1.wav":["audio/fx/environment/base_pulse_1.wav",["audio.vl2"]],"audio/fx/environment/base_pulse_2.m4a":["audio/fx/environment/base_pulse_2.m4a",["audio.vl2"]],"audio/fx/environment/base_pulse_2.wav":["audio/fx/environment/base_pulse_2.wav",["audio.vl2"]],"audio/fx/environment/bird_echo1.m4a":["audio/fx/environment/bird_echo1.m4a",["audio.vl2"]],"audio/fx/environment/bird_echo1.wav":["audio/fx/environment/bird_echo1.wav",["audio.vl2"]],"audio/fx/environment/bird_echo2.m4a":["audio/fx/environment/bird_echo2.m4a",["audio.vl2"]],"audio/fx/environment/bird_echo2.wav":["audio/fx/environment/bird_echo2.wav",["audio.vl2"]],"audio/fx/environment/bird_echo3.m4a":["audio/fx/environment/bird_echo3.m4a",["audio.vl2"]],"audio/fx/environment/bird_echo3.wav":["audio/fx/environment/bird_echo3.wav",["audio.vl2"]],"audio/fx/environment/bird_echo4.m4a":["audio/fx/environment/bird_echo4.m4a",["audio.vl2"]],"audio/fx/environment/bird_echo4.wav":["audio/fx/environment/bird_echo4.wav",["audio.vl2"]],"audio/fx/environment/bird_echo5.m4a":["audio/fx/environment/bird_echo5.m4a",["audio.vl2"]],"audio/fx/environment/bird_echo5.wav":["audio/fx/environment/bird_echo5.wav",["audio.vl2"]],"audio/fx/environment/bubbles1.m4a":["audio/fx/environment/bubbles1.m4a",["audio.vl2"]],"audio/fx/environment/bubbles1.wav":["audio/fx/environment/bubbles1.wav",["audio.vl2"]],"audio/fx/environment/bubbles2.m4a":["audio/fx/environment/bubbles2.m4a",["audio.vl2"]],"audio/fx/environment/bubbles2.wav":["audio/fx/environment/bubbles2.wav",["audio.vl2"]],"audio/fx/environment/caynonwind144k.m4a":["audio/fx/environment/caynonwind144k.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/caynonwind144k.wav":["audio/fx/environment/caynonwind144k.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/coldwind1.m4a":["audio/fx/environment/coldwind1.m4a",["audio.vl2"]],"audio/fx/environment/coldwind1.wav":["audio/fx/environment/coldwind1.wav",["audio.vl2"]],"audio/fx/environment/crickets.m4a":["audio/fx/environment/crickets.m4a",["audio.vl2"]],"audio/fx/environment/crickets.wav":["audio/fx/environment/crickets.wav",["audio.vl2"]],"audio/fx/environment/crickets_drygrass.m4a":["audio/fx/environment/crickets_drygrass.m4a",["audio.vl2"]],"audio/fx/environment/crickets_drygrass.wav":["audio/fx/environment/crickets_drygrass.wav",["audio.vl2"]],"audio/fx/environment/ctmelody1.m4a":["audio/fx/environment/ctmelody1.m4a",["audio.vl2"]],"audio/fx/environment/ctmelody1.wav":["audio/fx/environment/ctmelody1.WAV",["audio.vl2"]],"audio/fx/environment/ctmelody2.m4a":["audio/fx/environment/ctmelody2.m4a",["audio.vl2"]],"audio/fx/environment/ctmelody2.wav":["audio/fx/environment/ctmelody2.WAV",["audio.vl2"]],"audio/fx/environment/ctmelody3.m4a":["audio/fx/environment/ctmelody3.m4a",["audio.vl2"]],"audio/fx/environment/ctmelody3.wav":["audio/fx/environment/ctmelody3.WAV",["audio.vl2"]],"audio/fx/environment/ctmelody4.m4a":["audio/fx/environment/ctmelody4.m4a",["audio.vl2"]],"audio/fx/environment/ctmelody4.wav":["audio/fx/environment/ctmelody4.WAV",["audio.vl2"]],"audio/fx/environment/desertowl.m4a":["audio/fx/environment/desertowl.m4a",["audio.vl2"]],"audio/fx/environment/desertowl.wav":["audio/fx/environment/desertowl.wav",["audio.vl2"]],"audio/fx/environment/dnabird1.m4a":["audio/fx/environment/dnabird1.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnabird1.wav":["audio/fx/environment/dnabird1.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnabird3.m4a":["audio/fx/environment/dnabird3.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnabird3.wav":["audio/fx/environment/dnabird3.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnacloseriver.m4a":["audio/fx/environment/dnacloseriver.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnacloseriver.wav":["audio/fx/environment/dnacloseriver.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnacricketnight.m4a":["audio/fx/environment/dnacricketnight.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnacricketnight.wav":["audio/fx/environment/dnacricketnight.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnaforest1.m4a":["audio/fx/environment/dnaforest1.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnaforest1.wav":["audio/fx/environment/dnaforest1.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnaforest2.m4a":["audio/fx/environment/dnaforest2.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnaforest2.wav":["audio/fx/environment/dnaforest2.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnafrog.m4a":["audio/fx/environment/dnafrog.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnafrog.wav":["audio/fx/environment/dnafrog.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnagabbiano.m4a":["audio/fx/environment/dnagabbiano.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnagabbiano.wav":["audio/fx/environment/dnagabbiano.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnaghost.m4a":["audio/fx/environment/dnaghost.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnaghost.wav":["audio/fx/environment/dnaghost.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnanightengale.m4a":["audio/fx/environment/dnanightengale.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnanightengale.wav":["audio/fx/environment/dnanightengale.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnaoceano.m4a":["audio/fx/environment/dnaoceano.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnaoceano.wav":["audio/fx/environment/dnaoceano.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnaoceano2.m4a":["audio/fx/environment/dnaoceano2.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnaoceano2.wav":["audio/fx/environment/dnaoceano2.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnaoceano3.m4a":["audio/fx/environment/dnaoceano3.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnaoceano3.wav":["audio/fx/environment/dnaoceano3.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnapanelsounds.m4a":["audio/fx/environment/dnapanelsounds.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnapanelsounds.wav":["audio/fx/environment/dnapanelsounds.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnapanelsounds2.m4a":["audio/fx/environment/dnapanelsounds2.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnapanelsounds2.wav":["audio/fx/environment/dnapanelsounds2.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnapigeon.m4a":["audio/fx/environment/dnapigeon.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnapigeon.wav":["audio/fx/environment/dnapigeon.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnastormblows.m4a":["audio/fx/environment/dnastormblows.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnastormblows.wav":["audio/fx/environment/dnastormblows.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnawolf.m4a":["audio/fx/environment/dnawolf.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnawolf.wav":["audio/fx/environment/dnawolf.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnawolf2.m4a":["audio/fx/environment/dnawolf2.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnawolf2.wav":["audio/fx/environment/dnawolf2.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/drywind.m4a":["audio/fx/environment/drywind.m4a",["audio.vl2"]],"audio/fx/environment/drywind.wav":["audio/fx/environment/drywind.wav",["audio.vl2"]],"audio/fx/environment/drywind2.m4a":["audio/fx/environment/drywind2.m4a",["audio.vl2"]],"audio/fx/environment/drywind2.wav":["audio/fx/environment/drywind2.wav",["audio.vl2"]],"audio/fx/environment/fly_swarm.m4a":["audio/fx/environment/fly_swarm.m4a",["audio.vl2"]],"audio/fx/environment/fly_swarm.wav":["audio/fx/environment/fly_swarm.wav",["audio.vl2"]],"audio/fx/environment/fog.m4a":["audio/fx/environment/fog.m4a",["audio.vl2"]],"audio/fx/environment/fog.wav":["audio/fx/environment/fog.wav",["audio.vl2"]],"audio/fx/environment/frog1.m4a":["audio/fx/environment/frog1.m4a",["audio.vl2"]],"audio/fx/environment/frog1.wav":["audio/fx/environment/frog1.wav",["audio.vl2"]],"audio/fx/environment/frog2.m4a":["audio/fx/environment/frog2.m4a",["audio.vl2"]],"audio/fx/environment/frog2.wav":["audio/fx/environment/frog2.wav",["audio.vl2"]],"audio/fx/environment/gravel1.m4a":["audio/fx/environment/gravel1.m4a",["audio.vl2"]],"audio/fx/environment/gravel1.wav":["audio/fx/environment/gravel1.wav",["audio.vl2"]],"audio/fx/environment/gravel2.m4a":["audio/fx/environment/gravel2.m4a",["audio.vl2"]],"audio/fx/environment/gravel2.wav":["audio/fx/environment/gravel2.wav",["audio.vl2"]],"audio/fx/environment/gravel3.m4a":["audio/fx/environment/gravel3.m4a",["audio.vl2"]],"audio/fx/environment/gravel3.wav":["audio/fx/environment/gravel3.wav",["audio.vl2"]],"audio/fx/environment/growl1.m4a":["audio/fx/environment/growl1.m4a",["audio.vl2"]],"audio/fx/environment/growl1.wav":["audio/fx/environment/growl1.wav",["audio.vl2"]],"audio/fx/environment/growl2.m4a":["audio/fx/environment/growl2.m4a",["audio.vl2"]],"audio/fx/environment/growl2.wav":["audio/fx/environment/growl2.wav",["audio.vl2"]],"audio/fx/environment/growl3.m4a":["audio/fx/environment/growl3.m4a",["audio.vl2"]],"audio/fx/environment/growl3.wav":["audio/fx/environment/growl3.wav",["audio.vl2"]],"audio/fx/environment/growl4.m4a":["audio/fx/environment/growl4.m4a",["audio.vl2"]],"audio/fx/environment/growl4.wav":["audio/fx/environment/growl4.wav",["audio.vl2"]],"audio/fx/environment/growl5.m4a":["audio/fx/environment/growl5.m4a",["audio.vl2"]],"audio/fx/environment/growl5.wav":["audio/fx/environment/growl5.wav",["audio.vl2"]],"audio/fx/environment/howlingwind1.m4a":["audio/fx/environment/howlingwind1.m4a",["audio.vl2"]],"audio/fx/environment/howlingwind1.wav":["audio/fx/environment/howlingwind1.wav",["audio.vl2"]],"audio/fx/environment/howlingwind2.m4a":["audio/fx/environment/howlingwind2.m4a",["audio.vl2"]],"audio/fx/environment/howlingwind2.wav":["audio/fx/environment/howlingwind2.wav",["audio.vl2"]],"audio/fx/environment/howlingwind3.m4a":["audio/fx/environment/howlingwind3.m4a",["audio.vl2"]],"audio/fx/environment/howlingwind3.wav":["audio/fx/environment/howlingwind3.wav",["audio.vl2"]],"audio/fx/environment/icecrack1.m4a":["audio/fx/environment/icecrack1.m4a",["audio.vl2"]],"audio/fx/environment/icecrack1.wav":["audio/fx/environment/icecrack1.wav",["audio.vl2"]],"audio/fx/environment/icecrack2.m4a":["audio/fx/environment/icecrack2.m4a",["audio.vl2"]],"audio/fx/environment/icecrack2.wav":["audio/fx/environment/icecrack2.wav",["audio.vl2"]],"audio/fx/environment/icefall1.m4a":["audio/fx/environment/icefall1.m4a",["audio.vl2"]],"audio/fx/environment/icefall1.wav":["audio/fx/environment/icefall1.wav",["audio.vl2"]],"audio/fx/environment/icefall2.m4a":["audio/fx/environment/icefall2.m4a",["audio.vl2"]],"audio/fx/environment/icefall2.wav":["audio/fx/environment/icefall2.wav",["audio.vl2"]],"audio/fx/environment/icefall3.m4a":["audio/fx/environment/icefall3.m4a",["audio.vl2"]],"audio/fx/environment/icefall3.wav":["audio/fx/environment/icefall3.wav",["audio.vl2"]],"audio/fx/environment/irisstaticsweep.m4a":["audio/fx/environment/IrisStaticSweep.m4a",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"audio/fx/environment/irisstaticsweep.wav":["audio/fx/environment/IrisStaticSweep.wav",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"audio/fx/environment/lakewaves.m4a":["audio/fx/environment/lakewaves.m4a",["audio.vl2"]],"audio/fx/environment/lakewaves.wav":["audio/fx/environment/lakewaves.wav",["audio.vl2"]],"audio/fx/environment/lakewaves2.m4a":["audio/fx/environment/lakewaves2.m4a",["audio.vl2"]],"audio/fx/environment/lakewaves2.wav":["audio/fx/environment/lakewaves2.wav",["audio.vl2"]],"audio/fx/environment/lavabloop1.m4a":["audio/fx/environment/lavabloop1.m4a",["audio.vl2"]],"audio/fx/environment/lavabloop1.wav":["audio/fx/environment/lavabloop1.wav",["audio.vl2"]],"audio/fx/environment/lavabloop2.m4a":["audio/fx/environment/lavabloop2.m4a",["audio.vl2"]],"audio/fx/environment/lavabloop2.wav":["audio/fx/environment/lavabloop2.wav",["audio.vl2"]],"audio/fx/environment/lavabloop3.m4a":["audio/fx/environment/lavabloop3.m4a",["audio.vl2"]],"audio/fx/environment/lavabloop3.wav":["audio/fx/environment/lavabloop3.wav",["audio.vl2"]],"audio/fx/environment/lavabloop4.m4a":["audio/fx/environment/lavabloop4.m4a",["audio.vl2"]],"audio/fx/environment/lavabloop4.wav":["audio/fx/environment/lavabloop4.wav",["audio.vl2"]],"audio/fx/environment/lavabloop5.m4a":["audio/fx/environment/lavabloop5.m4a",["audio.vl2"]],"audio/fx/environment/lavabloop5.wav":["audio/fx/environment/lavabloop5.wav",["audio.vl2"]],"audio/fx/environment/lavabloop6.m4a":["audio/fx/environment/lavabloop6.m4a",["audio.vl2"]],"audio/fx/environment/lavabloop6.wav":["audio/fx/environment/lavabloop6.wav",["audio.vl2"]],"audio/fx/environment/lavabloop7.m4a":["audio/fx/environment/lavabloop7.m4a",["audio.vl2"]],"audio/fx/environment/lavabloop7.wav":["audio/fx/environment/lavabloop7.wav",["audio.vl2"]],"audio/fx/environment/lavahiss.m4a":["audio/fx/environment/lavahiss.m4a",["audio.vl2"]],"audio/fx/environment/lavahiss.wav":["audio/fx/environment/lavahiss.wav",["audio.vl2"]],"audio/fx/environment/lavahostile.m4a":["audio/fx/environment/lavahostile.m4a",["audio.vl2"]],"audio/fx/environment/lavahostile.wav":["audio/fx/environment/lavahostile.wav",["audio.vl2"]],"audio/fx/environment/lavamellow1.m4a":["audio/fx/environment/lavamellow1.m4a",["audio.vl2"]],"audio/fx/environment/lavamellow1.wav":["audio/fx/environment/lavamellow1.wav",["audio.vl2"]],"audio/fx/environment/leavesrustling.m4a":["audio/fx/environment/leavesrustling.m4a",["audio.vl2"]],"audio/fx/environment/leavesrustling.wav":["audio/fx/environment/leavesrustling.wav",["audio.vl2"]],"audio/fx/environment/moaningwind1.m4a":["audio/fx/environment/moaningwind1.m4a",["audio.vl2"]],"audio/fx/environment/moaningwind1.wav":["audio/fx/environment/moaningwind1.wav",["audio.vl2"]],"audio/fx/environment/oceanwaves.m4a":["audio/fx/environment/oceanwaves.m4a",["audio.vl2"]],"audio/fx/environment/oceanwaves.wav":["audio/fx/environment/oceanwaves.wav",["audio.vl2"]],"audio/fx/environment/rain_hard_1.m4a":["audio/fx/environment/rain_hard_1.m4a",["audio.vl2"]],"audio/fx/environment/rain_hard_1.wav":["audio/fx/environment/rain_hard_1.wav",["audio.vl2"]],"audio/fx/environment/rain_hard_2.m4a":["audio/fx/environment/rain_hard_2.m4a",["audio.vl2"]],"audio/fx/environment/rain_hard_2.wav":["audio/fx/environment/rain_hard_2.wav",["audio.vl2"]],"audio/fx/environment/rain_light_1.m4a":["audio/fx/environment/rain_light_1.m4a",["audio.vl2"]],"audio/fx/environment/rain_light_1.wav":["audio/fx/environment/rain_light_1.wav",["audio.vl2"]],"audio/fx/environment/rain_light_2.m4a":["audio/fx/environment/rain_light_2.m4a",["audio.vl2"]],"audio/fx/environment/rain_light_2.wav":["audio/fx/environment/rain_light_2.wav",["audio.vl2"]],"audio/fx/environment/rain_medium_1.m4a":["audio/fx/environment/rain_medium_1.m4a",["audio.vl2"]],"audio/fx/environment/rain_medium_1.wav":["audio/fx/environment/rain_medium_1.wav",["audio.vl2"]],"audio/fx/environment/rain_medium_2.m4a":["audio/fx/environment/rain_medium_2.m4a",["audio.vl2"]],"audio/fx/environment/rain_medium_2.wav":["audio/fx/environment/rain_medium_2.wav",["audio.vl2"]],"audio/fx/environment/rain_medium_3.m4a":["audio/fx/environment/rain_medium_3.m4a",["audio.vl2"]],"audio/fx/environment/rain_medium_3.wav":["audio/fx/environment/rain_medium_3.wav",["audio.vl2"]],"audio/fx/environment/river1.m4a":["audio/fx/environment/river1.m4a",["audio.vl2"]],"audio/fx/environment/river1.wav":["audio/fx/environment/river1.wav",["audio.vl2"]],"audio/fx/environment/river2.m4a":["audio/fx/environment/river2.m4a",["audio.vl2"]],"audio/fx/environment/river2.wav":["audio/fx/environment/river2.wav",["audio.vl2"]],"audio/fx/environment/river3.m4a":["audio/fx/environment/river3.m4a",["audio.vl2"]],"audio/fx/environment/river3.wav":["audio/fx/environment/river3.wav",["audio.vl2"]],"audio/fx/environment/rockslide1.m4a":["audio/fx/environment/rockslide1.m4a",["audio.vl2"]],"audio/fx/environment/rockslide1.wav":["audio/fx/environment/rockslide1.wav",["audio.vl2"]],"audio/fx/environment/rockslide2.m4a":["audio/fx/environment/rockslide2.m4a",["audio.vl2"]],"audio/fx/environment/rockslide2.wav":["audio/fx/environment/rockslide2.wav",["audio.vl2"]],"audio/fx/environment/rumblingthunder.m4a":["audio/fx/environment/rumblingthunder.m4a",["audio.vl2"]],"audio/fx/environment/rumblingthunder.wav":["audio/fx/environment/rumblingthunder.wav",["audio.vl2"]],"audio/fx/environment/salbaseambience.m4a":["audio/fx/environment/Salbaseambience.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/salbaseambience.wav":["audio/fx/environment/Salbaseambience.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/saldefencewarning.m4a":["audio/fx/environment/SalDefenceWarning.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/saldefencewarning.wav":["audio/fx/environment/SalDefenceWarning.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/salwindsand.m4a":["audio/fx/environment/Salwindsand.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/salwindsand.wav":["audio/fx/environment/Salwindsand.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/sandpatter1.m4a":["audio/fx/environment/sandpatter1.m4a",["audio.vl2"]],"audio/fx/environment/sandpatter1.wav":["audio/fx/environment/sandpatter1.wav",["audio.vl2"]],"audio/fx/environment/sandpatter2.m4a":["audio/fx/environment/sandpatter2.m4a",["audio.vl2"]],"audio/fx/environment/sandpatter2.wav":["audio/fx/environment/sandpatter2.wav",["audio.vl2"]],"audio/fx/environment/sandstorm.m4a":["audio/fx/environment/sandstorm.m4a",["audio.vl2"]],"audio/fx/environment/sandstorm.wav":["audio/fx/environment/sandstorm.wav",["audio.vl2"]],"audio/fx/environment/sandstorm2.m4a":["audio/fx/environment/sandstorm2.m4a",["audio.vl2"]],"audio/fx/environment/sandstorm2.wav":["audio/fx/environment/sandstorm2.wav",["audio.vl2"]],"audio/fx/environment/seagull1.m4a":["audio/fx/environment/seagull1.m4a",["TR2final105-client.vl2"]],"audio/fx/environment/seagull1.wav":["audio/fx/environment/seagull1.wav",["TR2final105-client.vl2"]],"audio/fx/environment/snowfall1.m4a":["audio/fx/environment/snowfall1.m4a",["audio.vl2"]],"audio/fx/environment/snowfall1.wav":["audio/fx/environment/snowfall1.wav",["audio.vl2"]],"audio/fx/environment/snowfall2.m4a":["audio/fx/environment/snowfall2.m4a",["audio.vl2"]],"audio/fx/environment/snowfall2.wav":["audio/fx/environment/snowfall2.wav",["audio.vl2"]],"audio/fx/environment/snowfall3.m4a":["audio/fx/environment/snowfall3.m4a",["audio.vl2"]],"audio/fx/environment/snowfall3.wav":["audio/fx/environment/snowfall3.wav",["audio.vl2"]],"audio/fx/environment/snowfall4.m4a":["audio/fx/environment/snowfall4.m4a",["audio.vl2"]],"audio/fx/environment/snowfall4.wav":["audio/fx/environment/snowfall4.wav",["audio.vl2"]],"audio/fx/environment/snowstorm1.m4a":["audio/fx/environment/snowstorm1.m4a",["audio.vl2"]],"audio/fx/environment/snowstorm1.wav":["audio/fx/environment/snowstorm1.wav",["audio.vl2"]],"audio/fx/environment/snowstorm2.m4a":["audio/fx/environment/snowstorm2.m4a",["audio.vl2"]],"audio/fx/environment/snowstorm2.wav":["audio/fx/environment/snowstorm2.wav",["audio.vl2"]],"audio/fx/environment/sys-boilingwater.m4a":["audio/fx/environment/sys-boilingwater.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/sys-boilingwater.wav":["audio/fx/environment/sys-boilingwater.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/sys-lava1.m4a":["audio/fx/environment/sys-lava1.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/sys-lava1.wav":["audio/fx/environment/sys-lava1.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/sys-lava2.m4a":["audio/fx/environment/sys-lava2.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/sys-lava2.wav":["audio/fx/environment/sys-lava2.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/sys-lavastream.m4a":["audio/fx/environment/sys-lavastream.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/sys-lavastream.wav":["audio/fx/environment/sys-lavastream.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/sys-ocean.m4a":["audio/fx/environment/sys-ocean.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/sys-ocean.wav":["audio/fx/environment/sys-ocean.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/sys-riverfast.m4a":["audio/fx/environment/sys-riverfast.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/sys-riverfast.wav":["audio/fx/environment/sys-riverfast.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/sys-riverslow.m4a":["audio/fx/environment/sys-riverslow.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/sys-riverslow.wav":["audio/fx/environment/sys-riverslow.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/sys-thunder1.m4a":["audio/fx/environment/sys-thunder1.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/sys-thunder1.wav":["audio/fx/environment/sys-thunder1.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/sys-thunderaway.m4a":["audio/fx/environment/sys-thunderaway.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/sys-thunderaway.wav":["audio/fx/environment/sys-thunderaway.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/sys-windstream.m4a":["audio/fx/environment/sys-windstream.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/sys-windstream.wav":["audio/fx/environment/sys-windstream.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/wetwind.m4a":["audio/fx/environment/wetwind.m4a",["audio.vl2"]],"audio/fx/environment/wetwind.wav":["audio/fx/environment/wetwind.wav",["audio.vl2"]],"audio/fx/environment/whispers.m4a":["audio/fx/environment/whispers.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/whispers.wav":["audio/fx/environment/whispers.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/wind_sandstorm.m4a":["audio/fx/environment/wind_sandstorm.m4a",["audio.vl2"]],"audio/fx/environment/wind_sandstorm.wav":["audio/fx/environment/wind_sandstorm.wav",["audio.vl2"]],"audio/fx/environment/yeti_howl1.m4a":["audio/fx/environment/yeti_howl1.m4a",["audio.vl2"]],"audio/fx/environment/yeti_howl1.wav":["audio/fx/environment/yeti_howl1.wav",["audio.vl2"]],"audio/fx/environment/yeti_howl2.m4a":["audio/fx/environment/yeti_howl2.m4a",["audio.vl2"]],"audio/fx/environment/yeti_howl2.wav":["audio/fx/environment/yeti_howl2.wav",["audio.vl2"]],"audio/fx/explosions/deployables_explosion.m4a":["audio/fx/explosions/deployables_explosion.m4a",["audio.vl2"]],"audio/fx/explosions/deployables_explosion.wav":["audio/fx/explosions/deployables_explosion.wav",["audio.vl2"]],"audio/fx/explosions/explosion.xpl03.m4a":["audio/fx/explosions/explosion.xpl03.m4a",["audio.vl2"]],"audio/fx/explosions/explosion.xpl03.wav":["audio/fx/explosions/explosion.xpl03.wav",["audio.vl2"]],"audio/fx/explosions/explosion.xpl10.m4a":["audio/fx/explosions/explosion.xpl10.m4a",["audio.vl2"]],"audio/fx/explosions/explosion.xpl10.wav":["audio/fx/explosions/explosion.xpl10.wav",["audio.vl2"]],"audio/fx/explosions/explosion.xpl23.m4a":["audio/fx/explosions/explosion.xpl23.m4a",["audio.vl2"]],"audio/fx/explosions/explosion.xpl23.wav":["audio/fx/explosions/explosion.xpl23.wav",["audio.vl2"]],"audio/fx/explosions/explosion.xpl27.m4a":["audio/fx/explosions/explosion.xpl27.m4a",["audio.vl2"]],"audio/fx/explosions/explosion.xpl27.wav":["audio/fx/explosions/explosion.xpl27.wav",["audio.vl2"]],"audio/fx/explosions/grenade_flash_explode.m4a":["audio/fx/explosions/grenade_flash_explode.m4a",["audio.vl2"]],"audio/fx/explosions/grenade_flash_explode.wav":["audio/fx/explosions/grenade_flash_explode.wav",["audio.vl2"]],"audio/fx/explosions/vehicle_explosion.m4a":["audio/fx/explosions/vehicle_explosion.m4a",["audio.vl2"]],"audio/fx/explosions/vehicle_explosion.wav":["audio/fx/explosions/vehicle_explosion.wav",["audio.vl2"]],"audio/fx/misc/bounty_bonus.m4a":["audio/fx/misc/bounty_bonus.m4a",["audio.vl2"]],"audio/fx/misc/bounty_bonus.wav":["audio/fx/misc/bounty_bonus.wav",["audio.vl2"]],"audio/fx/misc/bounty_completed.m4a":["audio/fx/misc/bounty_completed.m4a",["audio.vl2"]],"audio/fx/misc/bounty_completed.wav":["audio/fx/misc/bounty_completed.wav",["audio.vl2"]],"audio/fx/misc/bounty_objrem1.m4a":["audio/fx/misc/bounty_objrem1.m4a",["audio.vl2"]],"audio/fx/misc/bounty_objrem1.wav":["audio/fx/misc/bounty_objrem1.wav",["audio.vl2"]],"audio/fx/misc/bounty_objrem2.m4a":["audio/fx/misc/bounty_objrem2.m4a",["audio.vl2"]],"audio/fx/misc/bounty_objrem2.wav":["audio/fx/misc/bounty_objrem2.wav",["audio.vl2"]],"audio/fx/misc/cannonshot.m4a":["audio/fx/misc/cannonshot.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/cannonshot.wav":["audio/fx/misc/cannonshot.wav",["TR2final105-client.vl2"]],"audio/fx/misc/cannonstart.m4a":["audio/fx/misc/cannonstart.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/cannonstart.wav":["audio/fx/misc/cannonstart.wav",["TR2final105-client.vl2"]],"audio/fx/misc/carscreech.m4a":["audio/fx/misc/carscreech.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/carscreech.wav":["audio/fx/misc/carscreech.wav",["TR2final105-client.vl2"]],"audio/fx/misc/cheer.m4a":["audio/fx/misc/Cheer.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/cheer.wav":["audio/fx/misc/Cheer.wav",["TR2final105-client.vl2"]],"audio/fx/misc/coin.m4a":["audio/fx/misc/coin.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/coin.wav":["audio/fx/misc/coin.wav",["TR2final105-client.vl2"]],"audio/fx/misc/crowd-clap.m4a":["audio/fx/misc/crowd-clap.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/crowd-clap.wav":["audio/fx/misc/crowd-clap.wav",["TR2final105-client.vl2"]],"audio/fx/misc/crowd-dis2.m4a":["audio/fx/misc/crowd-dis2.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/crowd-dis2.wav":["audio/fx/misc/crowd-dis2.wav",["TR2final105-client.vl2"]],"audio/fx/misc/crowd.m4a":["audio/fx/misc/crowd.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/crowd.wav":["audio/fx/misc/crowd.wav",["TR2final105-client.vl2"]],"audio/fx/misc/crowd2.m4a":["audio/fx/misc/crowd2.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/crowd2.wav":["audio/fx/misc/crowd2.wav",["TR2final105-client.vl2"]],"audio/fx/misc/crowd3.m4a":["audio/fx/misc/crowd3.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/crowd3.wav":["audio/fx/misc/crowd3.wav",["TR2final105-client.vl2"]],"audio/fx/misc/crowdfade.m4a":["audio/fx/misc/crowdfade.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/crowdfade.wav":["audio/fx/misc/crowdfade.wav",["TR2final105-client.vl2"]],"audio/fx/misc/crowdtransition1a.m4a":["audio/fx/misc/crowdtransition1a.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/crowdtransition1a.wav":["audio/fx/misc/crowdtransition1a.wav",["TR2final105-client.vl2"]],"audio/fx/misc/crowdtransition1b.m4a":["audio/fx/misc/crowdtransition1b.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/crowdtransition1b.wav":["audio/fx/misc/crowdtransition1b.wav",["TR2final105-client.vl2"]],"audio/fx/misc/crowdtransition2a.m4a":["audio/fx/misc/crowdtransition2a.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/crowdtransition2a.wav":["audio/fx/misc/crowdtransition2a.wav",["TR2final105-client.vl2"]],"audio/fx/misc/crowdtransition2b.m4a":["audio/fx/misc/crowdtransition2b.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/crowdtransition2b.wav":["audio/fx/misc/crowdtransition2b.wav",["TR2final105-client.vl2"]],"audio/fx/misc/crowdtransition3a.m4a":["audio/fx/misc/crowdtransition3a.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/crowdtransition3a.wav":["audio/fx/misc/crowdtransition3a.wav",["TR2final105-client.vl2"]],"audio/fx/misc/crowdtransition3b.m4a":["audio/fx/misc/crowdtransition3b.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/crowdtransition3b.wav":["audio/fx/misc/crowdtransition3b.wav",["TR2final105-client.vl2"]],"audio/fx/misc/diagnostic_beep.m4a":["audio/fx/misc/diagnostic_beep.m4a",["audio.vl2"]],"audio/fx/misc/diagnostic_beep.wav":["audio/fx/misc/diagnostic_beep.wav",["audio.vl2"]],"audio/fx/misc/diagnostic_on.m4a":["audio/fx/misc/diagnostic_on.m4a",["audio.vl2"]],"audio/fx/misc/diagnostic_on.wav":["audio/fx/misc/diagnostic_on.wav",["audio.vl2"]],"audio/fx/misc/downloading.m4a":["audio/fx/misc/downloading.m4a",["audio.vl2"]],"audio/fx/misc/downloading.wav":["audio/fx/misc/downloading.wav",["audio.vl2"]],"audio/fx/misc/flag1.m4a":["audio/fx/misc/Flag1.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/flag1.wav":["audio/fx/misc/Flag1.wav",["TR2final105-client.vl2"]],"audio/fx/misc/flag_capture.m4a":["audio/fx/misc/flag_capture.m4a",["audio.vl2"]],"audio/fx/misc/flag_capture.wav":["audio/fx/misc/flag_capture.wav",["audio.vl2"]],"audio/fx/misc/flag_drop.m4a":["audio/fx/misc/flag_drop.m4a",["audio.vl2"]],"audio/fx/misc/flag_drop.wav":["audio/fx/misc/flag_drop.wav",["audio.vl2"]],"audio/fx/misc/flag_lost.m4a":["audio/fx/misc/flag_lost.m4a",["audio.vl2"]],"audio/fx/misc/flag_lost.wav":["audio/fx/misc/flag_lost.wav",["audio.vl2"]],"audio/fx/misc/flag_mined_female.m4a":["audio/fx/misc/flag_mined_female.m4a",["audio.vl2"]],"audio/fx/misc/flag_mined_female.wav":["audio/fx/misc/flag_mined_female.wav",["audio.vl2"]],"audio/fx/misc/flag_mined_male.m4a":["audio/fx/misc/flag_mined_male.m4a",["audio.vl2"]],"audio/fx/misc/flag_mined_male.wav":["audio/fx/misc/flag_mined_male.wav",["audio.vl2"]],"audio/fx/misc/flag_return.m4a":["audio/fx/misc/flag_return.m4a",["audio.vl2"]],"audio/fx/misc/flag_return.wav":["audio/fx/misc/flag_return.wav",["audio.vl2"]],"audio/fx/misc/flag_snatch.m4a":["audio/fx/misc/flag_snatch.m4a",["audio.vl2"]],"audio/fx/misc/flag_snatch.wav":["audio/fx/misc/flag_snatch.wav",["audio.vl2"]],"audio/fx/misc/flag_taken.m4a":["audio/fx/misc/flag_taken.m4a",["audio.vl2"]],"audio/fx/misc/flag_taken.wav":["audio/fx/misc/flag_taken.wav",["audio.vl2"]],"audio/fx/misc/flagcapture.m4a":["audio/fx/misc/flagcapture.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/flagcapture.wav":["audio/fx/misc/flagcapture.wav",["TR2final105-client.vl2"]],"audio/fx/misc/flagenemy.m4a":["audio/fx/misc/flagenemy.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/flagenemy.wav":["audio/fx/misc/flagenemy.wav",["TR2final105-client.vl2"]],"audio/fx/misc/flagflap.m4a":["audio/fx/misc/flagflap.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/flagflap.wav":["audio/fx/misc/flagflap.wav",["TR2final105-client.vl2"]],"audio/fx/misc/flagfriend.m4a":["audio/fx/misc/flagfriend.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/flagfriend.wav":["audio/fx/misc/flagfriend.wav",["TR2final105-client.vl2"]],"audio/fx/misc/flagreturn.m4a":["audio/fx/misc/flagreturn.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/flagreturn.wav":["audio/fx/misc/flagreturn.wav",["TR2final105-client.vl2"]],"audio/fx/misc/flagself.m4a":["audio/fx/misc/flagself.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/flagself.wav":["audio/fx/misc/flagself.wav",["TR2final105-client.vl2"]],"audio/fx/misc/flair.m4a":["audio/fx/misc/Flair.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/flair.wav":["audio/fx/misc/Flair.wav",["TR2final105-client.vl2"]],"audio/fx/misc/flipflop_lost.m4a":["audio/fx/misc/flipflop_lost.m4a",["audio.vl2"]],"audio/fx/misc/flipflop_lost.wav":["audio/fx/misc/flipflop_lost.wav",["audio.vl2"]],"audio/fx/misc/flipflop_taken.m4a":["audio/fx/misc/flipflop_taken.m4a",["audio.vl2"]],"audio/fx/misc/flipflop_taken.wav":["audio/fx/misc/flipflop_taken.wav",["audio.vl2"]],"audio/fx/misc/gameover.m4a":["audio/fx/misc/gameover.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/gameover.wav":["audio/fx/misc/gameover.wav",["TR2final105-client.vl2"]],"audio/fx/misc/gamestart.m4a":["audio/fx/misc/gamestart.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/gamestart.wav":["audio/fx/misc/gamestart.wav",["TR2final105-client.vl2"]],"audio/fx/misc/goal.m4a":["audio/fx/misc/goal.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/goal.wav":["audio/fx/misc/goal.wav",["TR2final105-client.vl2"]],"audio/fx/misc/gridjump.m4a":["audio/fx/misc/gridjump.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/gridjump.wav":["audio/fx/misc/gridjump.wav",["TR2final105-client.vl2"]],"audio/fx/misc/health_patch.m4a":["audio/fx/misc/health_patch.m4a",["audio.vl2"]],"audio/fx/misc/health_patch.wav":["audio/fx/misc/health_patch.wav",["audio.vl2"]],"audio/fx/misc/heartbeat.m4a":["audio/fx/misc/heartbeat.m4a",["audio.vl2"]],"audio/fx/misc/heartbeat.wav":["audio/fx/misc/heartbeat.wav",["audio.vl2"]],"audio/fx/misc/hunters_1.m4a":["audio/fx/misc/hunters_1.m4a",["audio.vl2"]],"audio/fx/misc/hunters_1.wav":["audio/fx/misc/hunters_1.wav",["audio.vl2"]],"audio/fx/misc/hunters_10.m4a":["audio/fx/misc/hunters_10.m4a",["audio.vl2"]],"audio/fx/misc/hunters_10.wav":["audio/fx/misc/hunters_10.wav",["audio.vl2"]],"audio/fx/misc/hunters_15.m4a":["audio/fx/misc/hunters_15.m4a",["audio.vl2"]],"audio/fx/misc/hunters_15.wav":["audio/fx/misc/hunters_15.wav",["audio.vl2"]],"audio/fx/misc/hunters_2.m4a":["audio/fx/misc/hunters_2.m4a",["audio.vl2"]],"audio/fx/misc/hunters_2.wav":["audio/fx/misc/hunters_2.wav",["audio.vl2"]],"audio/fx/misc/hunters_3.m4a":["audio/fx/misc/hunters_3.m4a",["audio.vl2"]],"audio/fx/misc/hunters_3.wav":["audio/fx/misc/hunters_3.wav",["audio.vl2"]],"audio/fx/misc/hunters_30.m4a":["audio/fx/misc/hunters_30.m4a",["audio.vl2"]],"audio/fx/misc/hunters_30.wav":["audio/fx/misc/hunters_30.wav",["audio.vl2"]],"audio/fx/misc/hunters_4.m4a":["audio/fx/misc/hunters_4.m4a",["audio.vl2"]],"audio/fx/misc/hunters_4.wav":["audio/fx/misc/hunters_4.wav",["audio.vl2"]],"audio/fx/misc/hunters_5.m4a":["audio/fx/misc/hunters_5.m4a",["audio.vl2"]],"audio/fx/misc/hunters_5.wav":["audio/fx/misc/hunters_5.wav",["audio.vl2"]],"audio/fx/misc/hunters_60.m4a":["audio/fx/misc/hunters_60.m4a",["audio.vl2"]],"audio/fx/misc/hunters_60.wav":["audio/fx/misc/hunters_60.wav",["audio.vl2"]],"audio/fx/misc/hunters_flag_snatch.m4a":["audio/fx/misc/hunters_flag_snatch.m4a",["audio.vl2"]],"audio/fx/misc/hunters_flag_snatch.wav":["audio/fx/misc/hunters_flag_snatch.wav",["audio.vl2"]],"audio/fx/misc/hunters_greed.m4a":["audio/fx/misc/hunters_greed.m4a",["audio.vl2"]],"audio/fx/misc/hunters_greed.wav":["audio/fx/misc/hunters_greed.wav",["audio.vl2"]],"audio/fx/misc/hunters_horde.m4a":["audio/fx/misc/hunters_horde.m4a",["audio.vl2"]],"audio/fx/misc/hunters_horde.wav":["audio/fx/misc/hunters_horde.wav",["audio.vl2"]],"audio/fx/misc/launcher.m4a":["audio/fx/misc/launcher.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/launcher.wav":["audio/fx/misc/launcher.wav",["TR2final105-client.vl2"]],"audio/fx/misc/lightning_impact.m4a":["audio/fx/misc/lightning_impact.m4a",["audio.vl2"]],"audio/fx/misc/lightning_impact.wav":["audio/fx/misc/lightning_impact.wav",["audio.vl2"]],"audio/fx/misc/ma1.m4a":["audio/fx/misc/MA1.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/ma1.wav":["audio/fx/misc/MA1.wav",["TR2final105-client.vl2"]],"audio/fx/misc/ma2.m4a":["audio/fx/misc/MA2.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/ma2.wav":["audio/fx/misc/MA2.wav",["TR2final105-client.vl2"]],"audio/fx/misc/ma3.m4a":["audio/fx/misc/MA3.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/ma3.wav":["audio/fx/misc/MA3.wav",["TR2final105-client.vl2"]],"audio/fx/misc/mine.deploy.m4a":["audio/fx/misc/mine.deploy.m4a",["audio.vl2"]],"audio/fx/misc/mine.deploy.wav":["audio/fx/misc/mine.deploy.WAV",["audio.vl2"]],"audio/fx/misc/misc.error.m4a":["audio/fx/misc/misc.error.m4a",["audio.vl2"]],"audio/fx/misc/misc.error.wav":["audio/fx/misc/misc.error.wav",["audio.vl2"]],"audio/fx/misc/missed.m4a":["audio/fx/misc/missed.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/missed.wav":["audio/fx/misc/missed.wav",["TR2final105-client.vl2"]],"audio/fx/misc/nexus_cap.m4a":["audio/fx/misc/nexus_cap.m4a",["audio.vl2"]],"audio/fx/misc/nexus_cap.wav":["audio/fx/misc/nexus_cap.wav",["audio.vl2"]],"audio/fx/misc/nexus_idle.m4a":["audio/fx/misc/nexus_idle.m4a",["audio.vl2"]],"audio/fx/misc/nexus_idle.wav":["audio/fx/misc/nexus_idle.wav",["audio.vl2"]],"audio/fx/misc/red_alert.m4a":["audio/fx/misc/red_alert.m4a",["audio.vl2"]],"audio/fx/misc/red_alert.wav":["audio/fx/misc/red_alert.wav",["audio.vl2"]],"audio/fx/misc/red_alert_short.m4a":["audio/fx/misc/red_alert_short.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/red_alert_short.wav":["audio/fx/misc/red_alert_short.wav",["TR2final105-client.vl2"]],"audio/fx/misc/rolechange.m4a":["audio/fx/misc/rolechange.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/rolechange.wav":["audio/fx/misc/rolechange.wav",["TR2final105-client.vl2"]],"audio/fx/misc/shieldh1.m4a":["audio/fx/misc/SHIELDH1.m4a",["audio.vl2"]],"audio/fx/misc/shieldh1.wav":["audio/fx/misc/SHIELDH1.WAV",["audio.vl2"]],"audio/fx/misc/siege_switching.m4a":["audio/fx/misc/Siege_Switching.m4a",["audio.vl2"]],"audio/fx/misc/siege_switching.wav":["audio/fx/misc/Siege_Switching.WAV",["audio.vl2"]],"audio/fx/misc/slapshot.m4a":["audio/fx/misc/slapshot.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/slapshot.wav":["audio/fx/misc/slapshot.wav",["TR2final105-client.vl2"]],"audio/fx/misc/static.m4a":["audio/fx/misc/static.m4a",["audio.vl2"]],"audio/fx/misc/static.wav":["audio/fx/misc/static.wav",["audio.vl2"]],"audio/fx/misc/switch_taken.m4a":["audio/fx/misc/switch_taken.m4a",["audio.vl2"]],"audio/fx/misc/switch_taken.wav":["audio/fx/misc/switch_taken.wav",["audio.vl2"]],"audio/fx/misc/target_waypoint.m4a":["audio/fx/misc/target_waypoint.m4a",["audio.vl2"]],"audio/fx/misc/target_waypoint.wav":["audio/fx/misc/target_waypoint.wav",["audio.vl2"]],"audio/fx/misc/vote_fails.m4a":["audio/fx/misc/vote_fails.m4a",["audio.vl2"]],"audio/fx/misc/vote_fails.wav":["audio/fx/misc/vote_fails.wav",["audio.vl2"]],"audio/fx/misc/vote_initiated.m4a":["audio/fx/misc/vote_initiated.m4a",["audio.vl2"]],"audio/fx/misc/vote_initiated.wav":["audio/fx/misc/vote_initiated.wav",["audio.vl2"]],"audio/fx/misc/vote_passes.m4a":["audio/fx/misc/vote_passes.m4a",["audio.vl2"]],"audio/fx/misc/vote_passes.wav":["audio/fx/misc/vote_passes.wav",["audio.vl2"]],"audio/fx/misc/warning_beep.m4a":["audio/fx/misc/warning_beep.m4a",["audio.vl2"]],"audio/fx/misc/warning_beep.wav":["audio/fx/misc/warning_beep.wav",["audio.vl2"]],"audio/fx/misc/whistle.m4a":["audio/fx/misc/whistle.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/whistle.wav":["audio/fx/misc/whistle.wav",["TR2final105-client.vl2"]],"audio/fx/misc/yardsale.m4a":["audio/fx/misc/Yardsale.m4a",["audio.vl2"]],"audio/fx/misc/yardsale.wav":["audio/fx/misc/Yardsale.WAV",["audio.vl2"]],"audio/fx/packs/cloak_on.m4a":["audio/fx/packs/cloak_on.m4a",["audio.vl2"]],"audio/fx/packs/cloak_on.wav":["audio/fx/packs/cloak_on.wav",["audio.vl2"]],"audio/fx/packs/inventory_deploy.m4a":["audio/fx/packs/inventory_deploy.m4a",["audio.vl2"]],"audio/fx/packs/inventory_deploy.wav":["audio/fx/packs/inventory_deploy.wav",["audio.vl2"]],"audio/fx/packs/packs.pickuppack.m4a":["audio/fx/packs/packs.pickupPack.m4a",["audio.vl2"]],"audio/fx/packs/packs.pickuppack.wav":["audio/fx/packs/packs.pickupPack.wav",["audio.vl2"]],"audio/fx/packs/packs.repairpackon.m4a":["audio/fx/packs/packs.repairPackOn.m4a",["audio.vl2"]],"audio/fx/packs/packs.repairpackon.wav":["audio/fx/packs/packs.repairPackOn.wav",["audio.vl2"]],"audio/fx/packs/packs.throwpack.m4a":["audio/fx/packs/packs.throwPack.m4a",["audio.vl2"]],"audio/fx/packs/packs.throwpack.wav":["audio/fx/packs/packs.throwPack.wav",["audio.vl2"]],"audio/fx/packs/repair_use.m4a":["audio/fx/packs/repair_use.m4a",["audio.vl2"]],"audio/fx/packs/repair_use.wav":["audio/fx/packs/repair_use.wav",["audio.vl2"]],"audio/fx/packs/satchel_pack_activate.m4a":["audio/fx/packs/satchel_pack_activate.m4a",["audio.vl2"]],"audio/fx/packs/satchel_pack_activate.wav":["audio/fx/packs/satchel_pack_activate.wav",["audio.vl2"]],"audio/fx/packs/satchel_pack_detonate.m4a":["audio/fx/packs/satchel_pack_detonate.m4a",["audio.vl2"]],"audio/fx/packs/satchel_pack_detonate.wav":["audio/fx/packs/satchel_pack_detonate.wav",["audio.vl2"]],"audio/fx/packs/sensorjammerpack_on.m4a":["audio/fx/packs/sensorjammerpack_on.m4a",["audio.vl2"]],"audio/fx/packs/sensorjammerpack_on.wav":["audio/fx/packs/sensorjammerpack_on.wav",["audio.vl2"]],"audio/fx/packs/shield_hit.m4a":["audio/fx/packs/shield_hit.m4a",["audio.vl2"]],"audio/fx/packs/shield_hit.wav":["audio/fx/packs/shield_hit.wav",["audio.vl2"]],"audio/fx/packs/shield_on.m4a":["audio/fx/packs/shield_on.m4a",["audio.vl2"]],"audio/fx/packs/shield_on.wav":["audio/fx/packs/shield_on.WAV",["audio.vl2"]],"audio/fx/packs/turret_place.m4a":["audio/fx/packs/turret_place.m4a",["audio.vl2"]],"audio/fx/packs/turret_place.wav":["audio/fx/packs/turret_place.wav",["audio.vl2"]],"audio/fx/powered/base_power_loop.m4a":["audio/fx/powered/base_power_loop.m4a",["audio.vl2"]],"audio/fx/powered/base_power_loop.wav":["audio/fx/powered/base_power_loop.wav",["audio.vl2"]],"audio/fx/powered/base_power_off.m4a":["audio/fx/powered/base_power_off.m4a",["audio.vl2"]],"audio/fx/powered/base_power_off.wav":["audio/fx/powered/base_power_off.wav",["audio.vl2"]],"audio/fx/powered/base_power_on.m4a":["audio/fx/powered/base_power_on.m4a",["audio.vl2"]],"audio/fx/powered/base_power_on.wav":["audio/fx/powered/base_power_on.wav",["audio.vl2"]],"audio/fx/powered/dep_inv_station.m4a":["audio/fx/powered/dep_inv_station.m4a",["audio.vl2"]],"audio/fx/powered/dep_inv_station.wav":["audio/fx/powered/dep_inv_station.wav",["audio.vl2"]],"audio/fx/powered/generator_hum.m4a":["audio/fx/powered/generator_hum.m4a",["audio.vl2"]],"audio/fx/powered/generator_hum.wav":["audio/fx/powered/generator_hum.wav",["audio.vl2"]],"audio/fx/powered/inv_pad_appear.m4a":["audio/fx/powered/inv_pad_appear.m4a",["audio.vl2"]],"audio/fx/powered/inv_pad_appear.wav":["audio/fx/powered/inv_pad_appear.wav",["audio.vl2"]],"audio/fx/powered/inv_pad_off.m4a":["audio/fx/powered/inv_pad_off.m4a",["audio.vl2"]],"audio/fx/powered/inv_pad_off.wav":["audio/fx/powered/inv_pad_off.wav",["audio.vl2"]],"audio/fx/powered/inv_pad_on.m4a":["audio/fx/powered/inv_pad_on.m4a",["audio.vl2"]],"audio/fx/powered/inv_pad_on.wav":["audio/fx/powered/inv_pad_on.wav",["audio.vl2"]],"audio/fx/powered/motion_sensor_activate.m4a":["audio/fx/powered/motion_sensor_activate.m4a",["audio.vl2"]],"audio/fx/powered/motion_sensor_activate.wav":["audio/fx/powered/motion_sensor_activate.wav",["audio.vl2"]],"audio/fx/powered/nexus_deny.m4a":["audio/fx/powered/nexus_deny.m4a",["audio.vl2"]],"audio/fx/powered/nexus_deny.wav":["audio/fx/powered/nexus_deny.wav",["audio.vl2"]],"audio/fx/powered/sensor_activate.m4a":["audio/fx/powered/sensor_activate.m4a",["audio.vl2"]],"audio/fx/powered/sensor_activate.wav":["audio/fx/powered/sensor_activate.wav",["audio.vl2"]],"audio/fx/powered/sensor_hum.m4a":["audio/fx/powered/sensor_hum.m4a",["audio.vl2"]],"audio/fx/powered/sensor_hum.wav":["audio/fx/powered/sensor_hum.wav",["audio.vl2"]],"audio/fx/powered/station_denied.m4a":["audio/fx/powered/station_denied.m4a",["audio.vl2"]],"audio/fx/powered/station_denied.wav":["audio/fx/powered/station_denied.wav",["audio.vl2"]],"audio/fx/powered/station_hum.m4a":["audio/fx/powered/station_hum.m4a",["audio.vl2"]],"audio/fx/powered/station_hum.wav":["audio/fx/powered/station_hum.wav",["audio.vl2"]],"audio/fx/powered/turret_aa_activate.m4a":["audio/fx/powered/turret_aa_activate.m4a",["audio.vl2"]],"audio/fx/powered/turret_aa_activate.wav":["audio/fx/powered/turret_aa_activate.wav",["audio.vl2"]],"audio/fx/powered/turret_aa_fire.m4a":["audio/fx/powered/turret_aa_fire.m4a",["audio.vl2"]],"audio/fx/powered/turret_aa_fire.wav":["audio/fx/powered/turret_aa_fire.wav",["audio.vl2"]],"audio/fx/powered/turret_heavy_activate.m4a":["audio/fx/powered/turret_heavy_activate.m4a",["audio.vl2"]],"audio/fx/powered/turret_heavy_activate.wav":["audio/fx/powered/turret_heavy_activate.wav",["audio.vl2"]],"audio/fx/powered/turret_heavy_idle.m4a":["audio/fx/powered/turret_heavy_idle.m4a",["audio.vl2"]],"audio/fx/powered/turret_heavy_idle.wav":["audio/fx/powered/turret_heavy_idle.wav",["audio.vl2"]],"audio/fx/powered/turret_heavy_reload.m4a":["audio/fx/powered/turret_heavy_reload.m4a",["audio.vl2"]],"audio/fx/powered/turret_heavy_reload.wav":["audio/fx/powered/turret_heavy_reload.wav",["audio.vl2"]],"audio/fx/powered/turret_indoor_fire.m4a":["audio/fx/powered/turret_indoor_fire.m4a",["audio.vl2"]],"audio/fx/powered/turret_indoor_fire.wav":["audio/fx/powered/turret_indoor_fire.wav",["audio.vl2"]],"audio/fx/powered/turret_light_activate.m4a":["audio/fx/powered/turret_light_activate.m4a",["audio.vl2"]],"audio/fx/powered/turret_light_activate.wav":["audio/fx/powered/turret_light_activate.wav",["audio.vl2"]],"audio/fx/powered/turret_light_idle.m4a":["audio/fx/powered/turret_light_idle.m4a",["audio.vl2"]],"audio/fx/powered/turret_light_idle.wav":["audio/fx/powered/turret_light_idle.wav",["audio.vl2"]],"audio/fx/powered/turret_light_reload.m4a":["audio/fx/powered/turret_light_reload.m4a",["audio.vl2"]],"audio/fx/powered/turret_light_reload.wav":["audio/fx/powered/turret_light_reload.wav",["audio.vl2"]],"audio/fx/powered/turret_missile_activate.m4a":["audio/fx/powered/turret_missile_activate.m4a",["audio.vl2"]],"audio/fx/powered/turret_missile_activate.wav":["audio/fx/powered/turret_missile_activate.wav",["audio.vl2"]],"audio/fx/powered/turret_missile_fire.m4a":["audio/fx/powered/turret_missile_fire.m4a",["audio.vl2"]],"audio/fx/powered/turret_missile_fire.wav":["audio/fx/powered/turret_missile_fire.wav",["audio.vl2"]],"audio/fx/powered/turret_mortar_explode.m4a":["audio/fx/powered/turret_mortar_explode.m4a",["audio.vl2"]],"audio/fx/powered/turret_mortar_explode.wav":["audio/fx/powered/turret_mortar_explode.wav",["audio.vl2"]],"audio/fx/powered/turret_mortar_fire.m4a":["audio/fx/powered/turret_mortar_fire.m4a",["audio.vl2"]],"audio/fx/powered/turret_mortar_fire.wav":["audio/fx/powered/turret_mortar_fire.wav",["audio.vl2"]],"audio/fx/powered/turret_outdoor_fire.m4a":["audio/fx/powered/turret_outdoor_fire.m4a",["audio.vl2"]],"audio/fx/powered/turret_outdoor_fire.wav":["audio/fx/powered/turret_outdoor_fire.wav",["audio.vl2"]],"audio/fx/powered/turret_plasma_explode.m4a":["audio/fx/powered/turret_plasma_explode.m4a",["audio.vl2"]],"audio/fx/powered/turret_plasma_explode.wav":["audio/fx/powered/turret_plasma_explode.wav",["audio.vl2"]],"audio/fx/powered/turret_plasma_fire.m4a":["audio/fx/powered/turret_plasma_fire.m4a",["audio.vl2"]],"audio/fx/powered/turret_plasma_fire.wav":["audio/fx/powered/turret_plasma_fire.wav",["audio.vl2"]],"audio/fx/powered/turret_sentry_activate.m4a":["audio/fx/powered/turret_sentry_activate.m4a",["audio.vl2"]],"audio/fx/powered/turret_sentry_activate.wav":["audio/fx/powered/turret_sentry_activate.wav",["audio.vl2"]],"audio/fx/powered/turret_sentry_fire.m4a":["audio/fx/powered/turret_sentry_fire.m4a",["audio.vl2"]],"audio/fx/powered/turret_sentry_fire.wav":["audio/fx/powered/turret_sentry_fire.wav",["audio.vl2"]],"audio/fx/powered/turret_sentry_impact.m4a":["audio/fx/powered/turret_sentry_impact.m4a",["audio.vl2"]],"audio/fx/powered/turret_sentry_impact.wav":["audio/fx/powered/turret_sentry_impact.wav",["audio.vl2"]],"audio/fx/powered/vehicle_pad_on.m4a":["audio/fx/powered/vehicle_pad_on.m4a",["audio.vl2"]],"audio/fx/powered/vehicle_pad_on.wav":["audio/fx/powered/vehicle_pad_on.wav",["audio.vl2"]],"audio/fx/powered/vehicle_screen_off.m4a":["audio/fx/powered/vehicle_screen_off.m4a",["audio.vl2"]],"audio/fx/powered/vehicle_screen_off.wav":["audio/fx/powered/vehicle_screen_off.wav",["audio.vl2"]],"audio/fx/powered/vehicle_screen_on.m4a":["audio/fx/powered/vehicle_screen_on.m4a",["audio.vl2"]],"audio/fx/powered/vehicle_screen_on.wav":["audio/fx/powered/vehicle_screen_on.wav",["audio.vl2"]],"audio/fx/powered/vehicle_screen_on2.m4a":["audio/fx/powered/vehicle_screen_on2.m4a",["audio.vl2"]],"audio/fx/powered/vehicle_screen_on2.wav":["audio/fx/powered/vehicle_screen_on2.wav",["audio.vl2"]],"audio/fx/vehicles/bomber_bomb_dryfire.m4a":["audio/fx/vehicles/bomber_bomb_dryfire.m4a",["audio.vl2"]],"audio/fx/vehicles/bomber_bomb_dryfire.wav":["audio/fx/vehicles/bomber_bomb_dryfire.wav",["audio.vl2"]],"audio/fx/vehicles/bomber_bomb_impact.m4a":["audio/fx/vehicles/bomber_bomb_impact.m4a",["audio.vl2"]],"audio/fx/vehicles/bomber_bomb_impact.wav":["audio/fx/vehicles/bomber_bomb_impact.wav",["audio.vl2"]],"audio/fx/vehicles/bomber_bomb_projectile.m4a":["audio/fx/vehicles/bomber_bomb_projectile.m4a",["audio.vl2"]],"audio/fx/vehicles/bomber_bomb_projectile.wav":["audio/fx/vehicles/bomber_bomb_projectile.wav",["audio.vl2"]],"audio/fx/vehicles/bomber_bomb_reload.m4a":["audio/fx/vehicles/bomber_bomb_reload.m4a",["audio.vl2"]],"audio/fx/vehicles/bomber_bomb_reload.wav":["audio/fx/vehicles/bomber_bomb_reload.wav",["audio.vl2"]],"audio/fx/vehicles/bomber_boost.m4a":["audio/fx/vehicles/bomber_boost.m4a",["audio.vl2"]],"audio/fx/vehicles/bomber_boost.wav":["audio/fx/vehicles/bomber_boost.wav",["audio.vl2"]],"audio/fx/vehicles/bomber_engine.m4a":["audio/fx/vehicles/bomber_engine.m4a",["audio.vl2"]],"audio/fx/vehicles/bomber_engine.wav":["audio/fx/vehicles/bomber_engine.wav",["audio.vl2"]],"audio/fx/vehicles/bomber_turret_activate.m4a":["audio/fx/vehicles/bomber_turret_activate.m4a",["audio.vl2"]],"audio/fx/vehicles/bomber_turret_activate.wav":["audio/fx/vehicles/bomber_turret_activate.wav",["audio.vl2"]],"audio/fx/vehicles/bomber_turret_dryfire.m4a":["audio/fx/vehicles/bomber_turret_dryfire.m4a",["audio.vl2"]],"audio/fx/vehicles/bomber_turret_dryfire.wav":["audio/fx/vehicles/bomber_turret_dryfire.wav",["audio.vl2"]],"audio/fx/vehicles/bomber_turret_fire.m4a":["audio/fx/vehicles/bomber_turret_fire.m4a",["audio.vl2"]],"audio/fx/vehicles/bomber_turret_fire.wav":["audio/fx/vehicles/bomber_turret_fire.wav",["audio.vl2"]],"audio/fx/vehicles/bomber_turret_reload.m4a":["audio/fx/vehicles/bomber_turret_reload.m4a",["audio.vl2"]],"audio/fx/vehicles/bomber_turret_reload.wav":["audio/fx/vehicles/bomber_turret_reload.wav",["audio.vl2"]],"audio/fx/vehicles/cockpit_activate.m4a":["audio/fx/vehicles/cockpit_activate.m4a",["audio.vl2"]],"audio/fx/vehicles/cockpit_activate.wav":["audio/fx/vehicles/cockpit_activate.wav",["audio.vl2"]],"audio/fx/vehicles/crash_grav_soft.m4a":["audio/fx/vehicles/crash_grav_soft.m4a",["audio.vl2"]],"audio/fx/vehicles/crash_grav_soft.wav":["audio/fx/vehicles/crash_grav_soft.wav",["audio.vl2"]],"audio/fx/vehicles/crash_ground_vehicle.m4a":["audio/fx/vehicles/crash_ground_vehicle.m4a",["audio.vl2"]],"audio/fx/vehicles/crash_ground_vehicle.wav":["audio/fx/vehicles/crash_ground_vehicle.wav",["audio.vl2"]],"audio/fx/vehicles/crash_hard.m4a":["audio/fx/vehicles/crash_hard.m4a",["audio.vl2"]],"audio/fx/vehicles/crash_hard.wav":["audio/fx/vehicles/crash_hard.wav",["audio.vl2"]],"audio/fx/vehicles/crash_soft.m4a":["audio/fx/vehicles/crash_soft.m4a",["audio.vl2"]],"audio/fx/vehicles/crash_soft.wav":["audio/fx/vehicles/crash_soft.wav",["audio.vl2"]],"audio/fx/vehicles/htransport_boost.m4a":["audio/fx/vehicles/htransport_boost.m4a",["audio.vl2"]],"audio/fx/vehicles/htransport_boost.wav":["audio/fx/vehicles/htransport_boost.wav",["audio.vl2"]],"audio/fx/vehicles/htransport_thrust.m4a":["audio/fx/vehicles/htransport_thrust.m4a",["audio.vl2"]],"audio/fx/vehicles/htransport_thrust.wav":["audio/fx/vehicles/htransport_thrust.wav",["audio.vl2"]],"audio/fx/vehicles/inventory_pad_appear.m4a":["audio/fx/vehicles/inventory_pad_appear.m4a",["audio.vl2"]],"audio/fx/vehicles/inventory_pad_appear.wav":["audio/fx/vehicles/inventory_pad_appear.wav",["audio.vl2"]],"audio/fx/vehicles/inventory_pad_on.m4a":["audio/fx/vehicles/inventory_pad_on.m4a",["audio.vl2"]],"audio/fx/vehicles/inventory_pad_on.wav":["audio/fx/vehicles/inventory_pad_on.wav",["audio.vl2"]],"audio/fx/vehicles/mount.m4a":["audio/fx/vehicles/mount.m4a",["audio.vl2"]],"audio/fx/vehicles/mount.wav":["audio/fx/vehicles/mount.wav",["audio.vl2"]],"audio/fx/vehicles/mount_dis.m4a":["audio/fx/vehicles/mount_dis.m4a",["audio.vl2"]],"audio/fx/vehicles/mount_dis.wav":["audio/fx/vehicles/mount_dis.wav",["audio.vl2"]],"audio/fx/vehicles/mpb_boost.m4a":["audio/fx/vehicles/mpb_boost.m4a",["audio.vl2"]],"audio/fx/vehicles/mpb_boost.wav":["audio/fx/vehicles/mpb_boost.wav",["audio.vl2"]],"audio/fx/vehicles/mpb_close_lid.m4a":["audio/fx/vehicles/MPB_close_lid.m4a",["audio.vl2"]],"audio/fx/vehicles/mpb_close_lid.wav":["audio/fx/vehicles/MPB_close_lid.wav",["audio.vl2"]],"audio/fx/vehicles/mpb_deploy.m4a":["audio/fx/vehicles/MPB_deploy.m4a",["audio.vl2"]],"audio/fx/vehicles/mpb_deploy.wav":["audio/fx/vehicles/MPB_deploy.wav",["audio.vl2"]],"audio/fx/vehicles/mpb_deploy_station.m4a":["audio/fx/vehicles/MPB_deploy_station.m4a",["audio.vl2"]],"audio/fx/vehicles/mpb_deploy_station.wav":["audio/fx/vehicles/MPB_deploy_station.wav",["audio.vl2"]],"audio/fx/vehicles/mpb_deploy_turret.m4a":["audio/fx/vehicles/MPB_deploy_turret.m4a",["audio.vl2"]],"audio/fx/vehicles/mpb_deploy_turret.wav":["audio/fx/vehicles/MPB_deploy_turret.wav",["audio.vl2"]],"audio/fx/vehicles/mpb_inv_station.m4a":["audio/fx/vehicles/mpb_inv_station.m4a",["audio.vl2"]],"audio/fx/vehicles/mpb_inv_station.wav":["audio/fx/vehicles/mpb_inv_station.wav",["audio.vl2"]],"audio/fx/vehicles/mpb_thrust.m4a":["audio/fx/vehicles/mpb_thrust.m4a",["audio.vl2"]],"audio/fx/vehicles/mpb_thrust.wav":["audio/fx/vehicles/mpb_thrust.wav",["audio.vl2"]],"audio/fx/vehicles/mpb_undeploy_turret.m4a":["audio/fx/vehicles/MPB_undeploy_turret.m4a",["audio.vl2"]],"audio/fx/vehicles/mpb_undeploy_turret.wav":["audio/fx/vehicles/MPB_undeploy_turret.wav",["audio.vl2"]],"audio/fx/vehicles/mpb_undeploy_turret2.m4a":["audio/fx/vehicles/MPB_undeploy_turret2.m4a",["audio.vl2"]],"audio/fx/vehicles/mpb_undeploy_turret2.wav":["audio/fx/vehicles/MPB_undeploy_turret2.wav",["audio.vl2"]],"audio/fx/vehicles/outrider_boost.m4a":["audio/fx/vehicles/outrider_boost.m4a",["audio.vl2"]],"audio/fx/vehicles/outrider_boost.wav":["audio/fx/vehicles/outrider_boost.wav",["audio.vl2"]],"audio/fx/vehicles/outrider_engine.m4a":["audio/fx/vehicles/outrider_engine.m4a",["audio.vl2"]],"audio/fx/vehicles/outrider_engine.wav":["audio/fx/vehicles/outrider_engine.wav",["audio.vl2"]],"audio/fx/vehicles/outrider_skid.m4a":["audio/fx/vehicles/outrider_skid.m4a",["audio.vl2"]],"audio/fx/vehicles/outrider_skid.wav":["audio/fx/vehicles/outrider_skid.wav",["audio.vl2"]],"audio/fx/vehicles/shrike_blaster.m4a":["audio/fx/vehicles/shrike_blaster.m4a",["audio.vl2"]],"audio/fx/vehicles/shrike_blaster.wav":["audio/fx/vehicles/shrike_blaster.wav",["audio.vl2"]],"audio/fx/vehicles/shrike_blaster_projectile.m4a":["audio/fx/vehicles/shrike_blaster_projectile.m4a",["audio.vl2"]],"audio/fx/vehicles/shrike_blaster_projectile.wav":["audio/fx/vehicles/shrike_blaster_projectile.wav",["audio.vl2"]],"audio/fx/vehicles/shrike_blaster_projectile_impact.m4a":["audio/fx/vehicles/shrike_blaster_projectile_impact.m4a",["audio.vl2"]],"audio/fx/vehicles/shrike_blaster_projectile_impact.wav":["audio/fx/vehicles/shrike_blaster_projectile_impact.wav",["audio.vl2"]],"audio/fx/vehicles/shrike_boost.m4a":["audio/fx/vehicles/shrike_boost.m4a",["audio.vl2"]],"audio/fx/vehicles/shrike_boost.wav":["audio/fx/vehicles/shrike_boost.wav",["audio.vl2"]],"audio/fx/vehicles/shrike_engine.m4a":["audio/fx/vehicles/shrike_engine.m4a",["audio.vl2"]],"audio/fx/vehicles/shrike_engine.wav":["audio/fx/vehicles/shrike_engine.wav",["audio.vl2"]],"audio/fx/vehicles/tank_activate.m4a":["audio/fx/vehicles/tank_activate.m4a",["audio.vl2"]],"audio/fx/vehicles/tank_activate.wav":["audio/fx/vehicles/tank_activate.wav",["audio.vl2"]],"audio/fx/vehicles/tank_boost.m4a":["audio/fx/vehicles/tank_boost.m4a",["audio.vl2"]],"audio/fx/vehicles/tank_boost.wav":["audio/fx/vehicles/tank_boost.wav",["audio.vl2"]],"audio/fx/vehicles/tank_chaingun.m4a":["audio/fx/vehicles/tank_chaingun.m4a",["audio.vl2"]],"audio/fx/vehicles/tank_chaingun.wav":["audio/fx/vehicles/tank_chaingun.wav",["audio.vl2"]],"audio/fx/vehicles/tank_engine.m4a":["audio/fx/vehicles/tank_engine.m4a",["audio.vl2"]],"audio/fx/vehicles/tank_engine.wav":["audio/fx/vehicles/tank_engine.wav",["audio.vl2"]],"audio/fx/vehicles/tank_mortar_fire.m4a":["audio/fx/vehicles/tank_mortar_fire.m4a",["audio.vl2"]],"audio/fx/vehicles/tank_mortar_fire.wav":["audio/fx/vehicles/tank_mortar_fire.wav",["audio.vl2"]],"audio/fx/vehicles/tank_skid.m4a":["audio/fx/vehicles/tank_skid.m4a",["audio.vl2"]],"audio/fx/vehicles/tank_skid.wav":["audio/fx/vehicles/tank_skid.wav",["audio.vl2"]],"audio/fx/vehicles/wake_shrike_n_tank.m4a":["audio/fx/vehicles/wake_shrike_n_tank.m4a",["audio.vl2"]],"audio/fx/vehicles/wake_shrike_n_tank.wav":["audio/fx/vehicles/wake_shrike_n_tank.wav",["audio.vl2"]],"audio/fx/vehicles/wake_wildcat.m4a":["audio/fx/vehicles/wake_wildcat.m4a",["audio.vl2"]],"audio/fx/vehicles/wake_wildcat.wav":["audio/fx/vehicles/wake_wildcat.wav",["audio.vl2"]],"audio/fx/weapons/blaster_activate.m4a":["audio/fx/weapons/blaster_activate.m4a",["audio.vl2"]],"audio/fx/weapons/blaster_activate.wav":["audio/fx/weapons/blaster_activate.wav",["audio.vl2"]],"audio/fx/weapons/blaster_fire.m4a":["audio/fx/weapons/blaster_fire.m4a",["audio.vl2"]],"audio/fx/weapons/blaster_fire.wav":["audio/fx/weapons/blaster_fire.WAV",["audio.vl2"]],"audio/fx/weapons/blaster_impact.m4a":["audio/fx/weapons/blaster_impact.m4a",["audio.vl2"]],"audio/fx/weapons/blaster_impact.wav":["audio/fx/weapons/blaster_impact.wav",["audio.vl2"]],"audio/fx/weapons/blaster_projectile.m4a":["audio/fx/weapons/blaster_projectile.m4a",["audio.vl2"]],"audio/fx/weapons/blaster_projectile.wav":["audio/fx/weapons/blaster_projectile.wav",["audio.vl2"]],"audio/fx/weapons/cg_hard1.m4a":["audio/fx/weapons/cg_hard1.m4a",["audio.vl2"]],"audio/fx/weapons/cg_hard1.wav":["audio/fx/weapons/cg_hard1.wav",["audio.vl2"]],"audio/fx/weapons/cg_hard2.m4a":["audio/fx/weapons/cg_hard2.m4a",["audio.vl2"]],"audio/fx/weapons/cg_hard2.wav":["audio/fx/weapons/cg_hard2.wav",["audio.vl2"]],"audio/fx/weapons/cg_hard3.m4a":["audio/fx/weapons/cg_hard3.m4a",["audio.vl2"]],"audio/fx/weapons/cg_hard3.wav":["audio/fx/weapons/cg_hard3.wav",["audio.vl2"]],"audio/fx/weapons/cg_hard4.m4a":["audio/fx/weapons/cg_hard4.m4a",["audio.vl2"]],"audio/fx/weapons/cg_hard4.wav":["audio/fx/weapons/cg_hard4.wav",["audio.vl2"]],"audio/fx/weapons/cg_metal1.m4a":["audio/fx/weapons/cg_metal1.m4a",["audio.vl2"]],"audio/fx/weapons/cg_metal1.wav":["audio/fx/weapons/cg_metal1.wav",["audio.vl2"]],"audio/fx/weapons/cg_metal2.m4a":["audio/fx/weapons/cg_metal2.m4a",["audio.vl2"]],"audio/fx/weapons/cg_metal2.wav":["audio/fx/weapons/cg_metal2.wav",["audio.vl2"]],"audio/fx/weapons/cg_metal3.m4a":["audio/fx/weapons/cg_metal3.m4a",["audio.vl2"]],"audio/fx/weapons/cg_metal3.wav":["audio/fx/weapons/cg_metal3.wav",["audio.vl2"]],"audio/fx/weapons/cg_metal4.m4a":["audio/fx/weapons/cg_metal4.m4a",["audio.vl2"]],"audio/fx/weapons/cg_metal4.wav":["audio/fx/weapons/cg_metal4.wav",["audio.vl2"]],"audio/fx/weapons/cg_soft1.m4a":["audio/fx/weapons/cg_soft1.m4a",["audio.vl2"]],"audio/fx/weapons/cg_soft1.wav":["audio/fx/weapons/cg_soft1.wav",["audio.vl2"]],"audio/fx/weapons/cg_soft2.m4a":["audio/fx/weapons/cg_soft2.m4a",["audio.vl2"]],"audio/fx/weapons/cg_soft2.wav":["audio/fx/weapons/cg_soft2.wav",["audio.vl2"]],"audio/fx/weapons/cg_soft3.m4a":["audio/fx/weapons/cg_soft3.m4a",["audio.vl2"]],"audio/fx/weapons/cg_soft3.wav":["audio/fx/weapons/cg_soft3.wav",["audio.vl2"]],"audio/fx/weapons/cg_soft4.m4a":["audio/fx/weapons/cg_soft4.m4a",["audio.vl2"]],"audio/fx/weapons/cg_soft4.wav":["audio/fx/weapons/cg_soft4.wav",["audio.vl2"]],"audio/fx/weapons/cg_water1.m4a":["audio/fx/weapons/cg_water1.m4a",["audio.vl2"]],"audio/fx/weapons/cg_water1.wav":["audio/fx/weapons/cg_water1.wav",["audio.vl2"]],"audio/fx/weapons/cg_water2.m4a":["audio/fx/weapons/cg_water2.m4a",["audio.vl2"]],"audio/fx/weapons/cg_water2.wav":["audio/fx/weapons/cg_water2.wav",["audio.vl2"]],"audio/fx/weapons/cg_water3.m4a":["audio/fx/weapons/cg_water3.m4a",["audio.vl2"]],"audio/fx/weapons/cg_water3.wav":["audio/fx/weapons/cg_water3.wav",["audio.vl2"]],"audio/fx/weapons/cg_water4.m4a":["audio/fx/weapons/cg_water4.m4a",["audio.vl2"]],"audio/fx/weapons/cg_water4.wav":["audio/fx/weapons/cg_water4.wav",["audio.vl2"]],"audio/fx/weapons/chaingun_activate.m4a":["audio/fx/weapons/chaingun_activate.m4a",["audio.vl2"]],"audio/fx/weapons/chaingun_activate.wav":["audio/fx/weapons/chaingun_activate.wav",["audio.vl2"]],"audio/fx/weapons/chaingun_dryfire.m4a":["audio/fx/weapons/chaingun_dryfire.m4a",["audio.vl2"]],"audio/fx/weapons/chaingun_dryfire.wav":["audio/fx/weapons/chaingun_dryfire.wav",["audio.vl2"]],"audio/fx/weapons/chaingun_fire.m4a":["audio/fx/weapons/chaingun_fire.m4a",["audio.vl2"]],"audio/fx/weapons/chaingun_fire.wav":["audio/fx/weapons/chaingun_fire.wav",["audio.vl2"]],"audio/fx/weapons/chaingun_impact.m4a":["audio/fx/weapons/chaingun_impact.m4a",["audio.vl2"]],"audio/fx/weapons/chaingun_impact.wav":["audio/fx/weapons/chaingun_impact.wav",["audio.vl2"]],"audio/fx/weapons/chaingun_off.m4a":["audio/fx/weapons/chaingun_off.m4a",["audio.vl2"]],"audio/fx/weapons/chaingun_off.wav":["audio/fx/weapons/chaingun_off.wav",["audio.vl2"]],"audio/fx/weapons/chaingun_projectile.m4a":["audio/fx/weapons/chaingun_projectile.m4a",["audio.vl2"]],"audio/fx/weapons/chaingun_projectile.wav":["audio/fx/weapons/chaingun_projectile.wav",["audio.vl2"]],"audio/fx/weapons/chaingun_spindown.m4a":["audio/fx/weapons/chaingun_spindown.m4a",["audio.vl2"]],"audio/fx/weapons/chaingun_spindown.wav":["audio/fx/weapons/chaingun_spindown.wav",["audio.vl2"]],"audio/fx/weapons/chaingun_spinup.m4a":["audio/fx/weapons/chaingun_spinup.m4a",["audio.vl2"]],"audio/fx/weapons/chaingun_spinup.wav":["audio/fx/weapons/chaingun_spinup.wav",["audio.vl2"]],"audio/fx/weapons/chaingun_start.m4a":["audio/fx/weapons/chaingun_start.m4a",["audio.vl2"]],"audio/fx/weapons/chaingun_start.wav":["audio/fx/weapons/chaingun_start.wav",["audio.vl2"]],"audio/fx/weapons/elf_fire.m4a":["audio/fx/weapons/ELF_fire.m4a",["audio.vl2"]],"audio/fx/weapons/elf_fire.wav":["audio/fx/weapons/ELF_fire.wav",["audio.vl2"]],"audio/fx/weapons/elf_hit.m4a":["audio/fx/weapons/ELF_hit.m4a",["audio.vl2"]],"audio/fx/weapons/elf_hit.wav":["audio/fx/weapons/ELF_hit.wav",["audio.vl2"]],"audio/fx/weapons/elf_underwater.m4a":["audio/fx/weapons/ELF_underwater.m4a",["audio.vl2"]],"audio/fx/weapons/elf_underwater.wav":["audio/fx/weapons/ELF_underwater.wav",["audio.vl2"]],"audio/fx/weapons/generic_switch.m4a":["audio/fx/weapons/generic_switch.m4a",["audio.vl2"]],"audio/fx/weapons/generic_switch.wav":["audio/fx/weapons/generic_switch.wav",["audio.vl2"]],"audio/fx/weapons/grenade_camera_activate.m4a":["audio/fx/weapons/grenade_camera_activate.m4a",["audio.vl2"]],"audio/fx/weapons/grenade_camera_activate.wav":["audio/fx/weapons/grenade_camera_activate.wav",["audio.vl2"]],"audio/fx/weapons/grenade_camera_attach.m4a":["audio/fx/weapons/grenade_camera_attach.m4a",["audio.vl2"]],"audio/fx/weapons/grenade_camera_attach.wav":["audio/fx/weapons/grenade_camera_attach.wav",["audio.vl2"]],"audio/fx/weapons/grenade_explode.m4a":["audio/fx/weapons/grenade_explode.m4a",["audio.vl2"]],"audio/fx/weapons/grenade_explode.wav":["audio/fx/weapons/grenade_explode.wav",["audio.vl2"]],"audio/fx/weapons/grenade_explode_uw.m4a":["audio/fx/weapons/grenade_explode_UW.m4a",["audio.vl2"]],"audio/fx/weapons/grenade_explode_uw.wav":["audio/fx/weapons/grenade_explode_UW.wav",["audio.vl2"]],"audio/fx/weapons/grenade_flash_explode.m4a":["audio/fx/weapons/grenade_flash_explode.m4a",["audio.vl2"]],"audio/fx/weapons/grenade_flash_explode.wav":["audio/fx/weapons/grenade_flash_explode.wav",["audio.vl2"]],"audio/fx/weapons/grenade_switch.m4a":["audio/fx/weapons/grenade_switch.m4a",["audio.vl2"]],"audio/fx/weapons/grenade_switch.wav":["audio/fx/weapons/grenade_switch.wav",["audio.vl2"]],"audio/fx/weapons/grenade_throw.m4a":["audio/fx/weapons/grenade_throw.m4a",["audio.vl2"]],"audio/fx/weapons/grenade_throw.wav":["audio/fx/weapons/grenade_throw.wav",["audio.vl2"]],"audio/fx/weapons/grenadelauncher_activate.m4a":["audio/fx/weapons/grenadelauncher_activate.m4a",["audio.vl2"]],"audio/fx/weapons/grenadelauncher_activate.wav":["audio/fx/weapons/grenadelauncher_activate.wav",["audio.vl2"]],"audio/fx/weapons/grenadelauncher_dryfire.m4a":["audio/fx/weapons/grenadelauncher_dryfire.m4a",["audio.vl2"]],"audio/fx/weapons/grenadelauncher_dryfire.wav":["audio/fx/weapons/grenadelauncher_dryfire.wav",["audio.vl2"]],"audio/fx/weapons/grenadelauncher_fire.m4a":["audio/fx/weapons/grenadelauncher_fire.m4a",["audio.vl2"]],"audio/fx/weapons/grenadelauncher_fire.wav":["audio/fx/weapons/grenadelauncher_fire.wav",["audio.vl2"]],"audio/fx/weapons/grenadelauncher_projectile.m4a":["audio/fx/weapons/grenadelauncher_projectile.m4a",["audio.vl2"]],"audio/fx/weapons/grenadelauncher_projectile.wav":["audio/fx/weapons/grenadelauncher_projectile.wav",["audio.vl2"]],"audio/fx/weapons/grenadelauncher_reload.m4a":["audio/fx/weapons/grenadelauncher_reload.m4a",["audio.vl2"]],"audio/fx/weapons/grenadelauncher_reload.wav":["audio/fx/weapons/grenadelauncher_reload.wav",["audio.vl2"]],"audio/fx/weapons/mine_deploy.m4a":["audio/fx/weapons/mine_deploy.m4a",["audio.vl2"]],"audio/fx/weapons/mine_deploy.wav":["audio/fx/weapons/mine_deploy.wav",["audio.vl2"]],"audio/fx/weapons/mine_detonate.m4a":["audio/fx/weapons/mine_detonate.m4a",["audio.vl2"]],"audio/fx/weapons/mine_detonate.wav":["audio/fx/weapons/mine_detonate.wav",["audio.vl2"]],"audio/fx/weapons/mine_detonate_uw.m4a":["audio/fx/weapons/mine_detonate_UW.m4a",["audio.vl2"]],"audio/fx/weapons/mine_detonate_uw.wav":["audio/fx/weapons/mine_detonate_UW.wav",["audio.vl2"]],"audio/fx/weapons/mine_switch.m4a":["audio/fx/weapons/mine_switch.m4a",["audio.vl2"]],"audio/fx/weapons/mine_switch.wav":["audio/fx/weapons/mine_switch.wav",["audio.vl2"]],"audio/fx/weapons/missile_fire.m4a":["audio/fx/weapons/missile_fire.m4a",["audio.vl2"]],"audio/fx/weapons/missile_fire.wav":["audio/fx/weapons/missile_fire.wav",["audio.vl2"]],"audio/fx/weapons/missile_firer_lock.m4a":["audio/fx/weapons/missile_firer_lock.m4a",["audio.vl2"]],"audio/fx/weapons/missile_firer_lock.wav":["audio/fx/weapons/missile_firer_lock.wav",["audio.vl2"]],"audio/fx/weapons/missile_firer_search.m4a":["audio/fx/weapons/missile_firer_search.m4a",["audio.vl2"]],"audio/fx/weapons/missile_firer_search.wav":["audio/fx/weapons/missile_firer_search.wav",["audio.vl2"]],"audio/fx/weapons/missile_launcher_activate.m4a":["audio/fx/weapons/missile_launcher_activate.m4a",["audio.vl2"]],"audio/fx/weapons/missile_launcher_activate.wav":["audio/fx/weapons/missile_launcher_activate.wav",["audio.vl2"]],"audio/fx/weapons/missile_launcher_dryfire.m4a":["audio/fx/weapons/missile_launcher_dryfire.m4a",["audio.vl2"]],"audio/fx/weapons/missile_launcher_dryfire.wav":["audio/fx/weapons/missile_launcher_dryfire.wav",["audio.vl2"]],"audio/fx/weapons/missile_projectile.m4a":["audio/fx/weapons/missile_projectile.m4a",["audio.vl2"]],"audio/fx/weapons/missile_projectile.wav":["audio/fx/weapons/missile_projectile.wav",["audio.vl2"]],"audio/fx/weapons/missile_target_inbound.m4a":["audio/fx/weapons/missile_target_inbound.m4a",["audio.vl2"]],"audio/fx/weapons/missile_target_inbound.wav":["audio/fx/weapons/missile_target_inbound.wav",["audio.vl2"]],"audio/fx/weapons/missile_target_lock.m4a":["audio/fx/weapons/missile_target_lock.m4a",["audio.vl2"]],"audio/fx/weapons/missile_target_lock.wav":["audio/fx/weapons/missile_target_lock.wav",["audio.vl2"]],"audio/fx/weapons/mortar_activate.m4a":["audio/fx/weapons/mortar_activate.m4a",["audio.vl2"]],"audio/fx/weapons/mortar_activate.wav":["audio/fx/weapons/mortar_activate.wav",["audio.vl2"]],"audio/fx/weapons/mortar_dryfire.m4a":["audio/fx/weapons/mortar_dryfire.m4a",["audio.vl2"]],"audio/fx/weapons/mortar_dryfire.wav":["audio/fx/weapons/mortar_dryfire.wav",["audio.vl2"]],"audio/fx/weapons/mortar_explode.m4a":["audio/fx/weapons/mortar_explode.m4a",["audio.vl2"]],"audio/fx/weapons/mortar_explode.wav":["audio/fx/weapons/mortar_explode.wav",["audio.vl2"]],"audio/fx/weapons/mortar_explode_uw.m4a":["audio/fx/weapons/mortar_explode_UW.m4a",["audio.vl2"]],"audio/fx/weapons/mortar_explode_uw.wav":["audio/fx/weapons/mortar_explode_UW.wav",["audio.vl2"]],"audio/fx/weapons/mortar_fire.m4a":["audio/fx/weapons/mortar_fire.m4a",["audio.vl2"]],"audio/fx/weapons/mortar_fire.wav":["audio/fx/weapons/mortar_fire.wav",["audio.vl2"]],"audio/fx/weapons/mortar_projectile.m4a":["audio/fx/weapons/mortar_projectile.m4a",["audio.vl2"]],"audio/fx/weapons/mortar_projectile.wav":["audio/fx/weapons/mortar_projectile.wav",["audio.vl2"]],"audio/fx/weapons/mortar_reload.m4a":["audio/fx/weapons/mortar_reload.m4a",["audio.vl2"]],"audio/fx/weapons/mortar_reload.wav":["audio/fx/weapons/mortar_reload.wav",["audio.vl2"]],"audio/fx/weapons/plasma_dryfire.m4a":["audio/fx/weapons/plasma_dryfire.m4a",["audio.vl2"]],"audio/fx/weapons/plasma_dryfire.wav":["audio/fx/weapons/plasma_dryfire.wav",["audio.vl2"]],"audio/fx/weapons/plasma_fizzle.m4a":["audio/fx/weapons/plasma_fizzle.m4a",["audio.vl2"]],"audio/fx/weapons/plasma_fizzle.wav":["audio/fx/weapons/plasma_fizzle.wav",["audio.vl2"]],"audio/fx/weapons/plasma_rifle_activate.m4a":["audio/fx/weapons/plasma_rifle_activate.m4a",["audio.vl2"]],"audio/fx/weapons/plasma_rifle_activate.wav":["audio/fx/weapons/plasma_rifle_activate.WAV",["audio.vl2"]],"audio/fx/weapons/plasma_rifle_fire.m4a":["audio/fx/weapons/plasma_rifle_fire.m4a",["audio.vl2"]],"audio/fx/weapons/plasma_rifle_fire.wav":["audio/fx/weapons/plasma_rifle_fire.WAV",["audio.vl2"]],"audio/fx/weapons/plasma_rifle_idle.m4a":["audio/fx/weapons/plasma_rifle_idle.m4a",["audio.vl2"]],"audio/fx/weapons/plasma_rifle_idle.wav":["audio/fx/weapons/plasma_rifle_idle.WAV",["audio.vl2"]],"audio/fx/weapons/plasma_rifle_projectile.m4a":["audio/fx/weapons/plasma_rifle_projectile.m4a",["audio.vl2"]],"audio/fx/weapons/plasma_rifle_projectile.wav":["audio/fx/weapons/plasma_rifle_projectile.WAV",["audio.vl2"]],"audio/fx/weapons/plasma_rifle_projectile_die.m4a":["audio/fx/weapons/plasma_rifle_projectile_die.m4a",["audio.vl2"]],"audio/fx/weapons/plasma_rifle_projectile_die.wav":["audio/fx/weapons/plasma_rifle_projectile_die.WAV",["audio.vl2"]],"audio/fx/weapons/plasma_rifle_projectile_hit.m4a":["audio/fx/weapons/plasma_rifle_projectile_hit.m4a",["audio.vl2"]],"audio/fx/weapons/plasma_rifle_projectile_hit.wav":["audio/fx/weapons/plasma_rifle_projectile_hit.WAV",["audio.vl2"]],"audio/fx/weapons/plasma_rifle_reload.m4a":["audio/fx/weapons/plasma_rifle_reload.m4a",["audio.vl2"]],"audio/fx/weapons/plasma_rifle_reload.wav":["audio/fx/weapons/plasma_rifle_reload.WAV",["audio.vl2"]],"audio/fx/weapons/shocklance_activate.m4a":["audio/fx/weapons/shocklance_activate.m4a",["audio.vl2"]],"audio/fx/weapons/shocklance_activate.wav":["audio/fx/weapons/shocklance_activate.wav",["audio.vl2"]],"audio/fx/weapons/shocklance_dryfire.m4a":["audio/fx/weapons/shocklance_dryfire.m4a",["audio.vl2"]],"audio/fx/weapons/shocklance_dryfire.wav":["audio/fx/weapons/shocklance_dryfire.wav",["audio.vl2"]],"audio/fx/weapons/shocklance_fire.m4a":["audio/fx/weapons/shocklance_fire.m4a",["audio.vl2"]],"audio/fx/weapons/shocklance_fire.wav":["audio/fx/weapons/shocklance_fire.wav",["audio.vl2"]],"audio/fx/weapons/shocklance_miss.m4a":["audio/fx/weapons/shocklance_miss.m4a",["audio.vl2"]],"audio/fx/weapons/shocklance_miss.wav":["audio/fx/weapons/shocklance_miss.wav",["audio.vl2"]],"audio/fx/weapons/shocklance_reload.m4a":["audio/fx/weapons/shocklance_reload.m4a",["audio.vl2"]],"audio/fx/weapons/shocklance_reload.wav":["audio/fx/weapons/shocklance_reload.wav",["audio.vl2"]],"audio/fx/weapons/sniper_activate.m4a":["audio/fx/weapons/sniper_activate.m4a",["audio.vl2"]],"audio/fx/weapons/sniper_activate.wav":["audio/fx/weapons/sniper_activate.wav",["audio.vl2"]],"audio/fx/weapons/sniper_fire.m4a":["audio/fx/weapons/sniper_fire.m4a",["audio.vl2"]],"audio/fx/weapons/sniper_fire.wav":["audio/fx/weapons/sniper_fire.wav",["audio.vl2"]],"audio/fx/weapons/sniper_impact.m4a":["audio/fx/weapons/sniper_impact.m4a",["audio.vl2"]],"audio/fx/weapons/sniper_impact.wav":["audio/fx/weapons/sniper_impact.wav",["audio.vl2"]],"audio/fx/weapons/sniper_miss.m4a":["audio/fx/weapons/sniper_miss.m4a",["audio.vl2"]],"audio/fx/weapons/sniper_miss.wav":["audio/fx/weapons/sniper_miss.wav",["audio.vl2"]],"audio/fx/weapons/sniper_underwater.m4a":["audio/fx/weapons/sniper_underwater.m4a",["audio.vl2"]],"audio/fx/weapons/sniper_underwater.wav":["audio/fx/weapons/sniper_underwater.wav",["audio.vl2"]],"audio/fx/weapons/spinfusor_activate.m4a":["audio/fx/weapons/spinfusor_activate.m4a",["audio.vl2"]],"audio/fx/weapons/spinfusor_activate.wav":["audio/fx/weapons/spinfusor_activate.wav",["audio.vl2"]],"audio/fx/weapons/spinfusor_dryfire.m4a":["audio/fx/weapons/spinfusor_dryfire.m4a",["audio.vl2"]],"audio/fx/weapons/spinfusor_dryfire.wav":["audio/fx/weapons/spinfusor_dryfire.wav",["audio.vl2"]],"audio/fx/weapons/spinfusor_fire.m4a":["audio/fx/weapons/spinfusor_fire.m4a",["audio.vl2"]],"audio/fx/weapons/spinfusor_fire.wav":["audio/fx/weapons/spinfusor_fire.wav",["audio.vl2"]],"audio/fx/weapons/spinfusor_idle.m4a":["audio/fx/weapons/spinfusor_idle.m4a",["audio.vl2"]],"audio/fx/weapons/spinfusor_idle.wav":["audio/fx/weapons/spinfusor_idle.wav",["audio.vl2"]],"audio/fx/weapons/spinfusor_impact.m4a":["audio/fx/weapons/spinfusor_impact.m4a",["audio.vl2"]],"audio/fx/weapons/spinfusor_impact.wav":["audio/fx/weapons/spinfusor_impact.wav",["audio.vl2"]],"audio/fx/weapons/spinfusor_impact_uw.m4a":["audio/fx/weapons/spinfusor_impact_UW.m4a",["audio.vl2"]],"audio/fx/weapons/spinfusor_impact_uw.wav":["audio/fx/weapons/spinfusor_impact_UW.wav",["audio.vl2"]],"audio/fx/weapons/spinfusor_projectile.m4a":["audio/fx/weapons/spinfusor_projectile.m4a",["audio.vl2"]],"audio/fx/weapons/spinfusor_projectile.wav":["audio/fx/weapons/spinfusor_projectile.wav",["audio.vl2"]],"audio/fx/weapons/spinfusor_reload.m4a":["audio/fx/weapons/spinfusor_reload.m4a",["audio.vl2"]],"audio/fx/weapons/spinfusor_reload.sfk":["audio/fx/weapons/spinfusor_reload.sfk",["audio.vl2"]],"audio/fx/weapons/spinfusor_reload.wav":["audio/fx/weapons/spinfusor_reload.wav",["audio.vl2"]],"audio/fx/weapons/targetinglaser_paint.m4a":["audio/fx/weapons/targetinglaser_paint.m4a",["audio.vl2"]],"audio/fx/weapons/targetinglaser_paint.wav":["audio/fx/weapons/targetinglaser_paint.wav",["audio.vl2"]],"audio/fx/weapons/temp.m4a":["audio/fx/weapons/temp.m4a",["audio.vl2"]],"audio/fx/weapons/temp.wav":["audio/fx/weapons/temp.wav",["audio.vl2"]],"audio/fx/weapons/throw_grenade.m4a":["audio/fx/weapons/throw_grenade.m4a",["audio.vl2"]],"audio/fx/weapons/throw_grenade.wav":["audio/fx/weapons/throw_grenade.wav",["audio.vl2"]],"audio/fx/weapons/throw_mine.m4a":["audio/fx/weapons/throw_mine.m4a",["audio.vl2"]],"audio/fx/weapons/throw_mine.wav":["audio/fx/weapons/throw_mine.wav",["audio.vl2"]],"audio/fx/weapons/tr2spinfusor_fire.m4a":["audio/fx/weapons/TR2spinfusor_fire.m4a",["TR2final105-client.vl2"]],"audio/fx/weapons/tr2spinfusor_fire.wav":["audio/fx/weapons/TR2spinfusor_fire.wav",["TR2final105-client.vl2"]],"audio/fx/weapons/weapon.missilereload.m4a":["audio/fx/weapons/weapon.missilereload.m4a",["audio.vl2"]],"audio/fx/weapons/weapon.missilereload.wav":["audio/fx/weapons/weapon.missilereload.wav",["audio.vl2"]],"audio/gui/buttondown.m4a":["audio/gui/buttonDown.m4a",["audio.vl2"]],"audio/gui/buttondown.wav":["audio/gui/buttonDown.wav",["audio.vl2"]],"audio/gui/buttonover.m4a":["audio/gui/buttonOver.m4a",["audio.vl2"]],"audio/gui/buttonover.wav":["audio/gui/buttonOver.wav",["audio.vl2"]],"audio/gui/command_hum.m4a":["audio/gui/command_hum.m4a",["audio.vl2"]],"audio/gui/command_hum.wav":["audio/gui/command_hum.wav",["audio.vl2"]],"audio/gui/command_off.m4a":["audio/gui/command_off.m4a",["audio.vl2"]],"audio/gui/command_off.wav":["audio/gui/command_off.wav",["audio.vl2"]],"audio/gui/command_on.m4a":["audio/gui/command_on.m4a",["audio.vl2"]],"audio/gui/command_on.wav":["audio/gui/command_on.wav",["audio.vl2"]],"audio/gui/inventory_hum.m4a":["audio/gui/inventory_hum.m4a",["audio.vl2"]],"audio/gui/inventory_hum.wav":["audio/gui/inventory_hum.wav",["audio.vl2"]],"audio/gui/inventory_off.m4a":["audio/gui/inventory_off.m4a",["audio.vl2"]],"audio/gui/inventory_off.wav":["audio/gui/inventory_off.wav",["audio.vl2"]],"audio/gui/inventory_on.m4a":["audio/gui/inventory_on.m4a",["audio.vl2"]],"audio/gui/inventory_on.wav":["audio/gui/inventory_on.wav",["audio.vl2"]],"audio/gui/launchmenuopen.m4a":["audio/gui/launchMenuOpen.m4a",["audio.vl2"]],"audio/gui/launchmenuopen.wav":["audio/gui/launchMenuOpen.wav",["audio.vl2"]],"audio/gui/launchmenuover.m4a":["audio/gui/launchMenuOver.m4a",["audio.vl2"]],"audio/gui/launchmenuover.wav":["audio/gui/launchMenuOver.wav",["audio.vl2"]],"audio/gui/loading_hum.m4a":["audio/gui/loading_hum.m4a",["audio.vl2"]],"audio/gui/loading_hum.wav":["audio/gui/loading_hum.wav",["audio.vl2"]],"audio/gui/objective_notification.m4a":["audio/gui/objective_notification.m4a",["audio.vl2"]],"audio/gui/objective_notification.wav":["audio/gui/objective_notification.wav",["audio.vl2"]],"audio/gui/shell_hum.m4a":["audio/gui/shell_hum.m4a",["audio.vl2"]],"audio/gui/shell_hum.wav":["audio/gui/shell_hum.wav",["audio.vl2"]],"audio/gui/vote_nopass.m4a":["audio/gui/vote_nopass.m4a",["audio.vl2"]],"audio/gui/vote_nopass.wav":["audio/gui/vote_nopass.wav",["audio.vl2"]],"audio/gui/vote_pass.m4a":["audio/gui/vote_pass.m4a",["audio.vl2"]],"audio/gui/vote_pass.wav":["audio/gui/vote_pass.wav",["audio.vl2"]],"audio/gui/youvegotmail.m4a":["audio/gui/youvegotmail.m4a",["audio.vl2"]],"audio/gui/youvegotmail.wav":["audio/gui/youvegotmail.wav",["audio.vl2"]],"audio/gui/youvegotmail2.m4a":["audio/gui/youvegotmail2.m4a",["audio.vl2"]],"audio/gui/youvegotmail2.wav":["audio/gui/youvegotmail2.WAV",["audio.vl2"]],"audio/icelakefractures.m4a":["audio/iceLakeFractures.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/icelakefractures.wav":["audio/iceLakeFractures.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/lowrum.m4a":["audio/lowrum.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/lowrum.wav":["audio/lowrum.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/mortarbombfire.m4a":["audio/mortarBombFire.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/mortarbombfire.wav":["audio/mortarBombFire.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/nflag_lost.m4a":["audio/Nflag_lost.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/nflag_lost.wav":["audio/Nflag_lost.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/nflag_snatch.m4a":["audio/Nflag_snatch.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/nflag_snatch.wav":["audio/Nflag_snatch.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/nflipflop_lost.m4a":["audio/Nflipflop_lost.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/nflipflop_lost.wav":["audio/Nflipflop_lost.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/nflipflop_taken.m4a":["audio/Nflipflop_taken.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/nflipflop_taken.wav":["audio/Nflipflop_taken.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/nhunters_horde.m4a":["audio/Nhunters_horde.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/nhunters_horde.wav":["audio/Nhunters_horde.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/nukeboom.m4a":["audio/nukeBoom.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/nukeboom.wav":["audio/nukeBoom.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/nukethud.m4a":["audio/nukeThud.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/nukethud.wav":["audio/nukeThud.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/space_bird_3.m4a":["audio/space_bird_3.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/space_bird_3.wav":["audio/space_bird_3.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/t1sounds/access_denied.m4a":["audio/t1sounds/Access_Denied.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/access_denied.wav":["audio/t1sounds/Access_Denied.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/ammo_activate.m4a":["audio/t1sounds/ammo_activate.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/ammo_activate.wav":["audio/t1sounds/ammo_activate.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/ammo_use.m4a":["audio/t1sounds/ammo_use.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/ammo_use.wav":["audio/t1sounds/ammo_use.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/command_activate.m4a":["audio/t1sounds/command_activate.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/command_activate.wav":["audio/t1sounds/command_activate.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/discloop.m4a":["audio/t1sounds/DISCLOOP.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/discloop.wav":["audio/t1sounds/DISCLOOP.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/discreload.m4a":["audio/t1sounds/discreload.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/discreload.wav":["audio/t1sounds/discreload.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/discspin.m4a":["audio/t1sounds/discspin.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/discspin.wav":["audio/t1sounds/discspin.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/dryfire1.m4a":["audio/t1sounds/Dryfire1.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/dryfire1.wav":["audio/t1sounds/Dryfire1.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/energyexp.m4a":["audio/t1sounds/energyexp.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/energyexp.wav":["audio/t1sounds/energyexp.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/explo3.m4a":["audio/t1sounds/EXPLO3.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/explo3.wav":["audio/t1sounds/EXPLO3.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/explo4.m4a":["audio/t1sounds/Explo4.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/explo4.wav":["audio/t1sounds/Explo4.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/flierrocket.m4a":["audio/t1sounds/flierRocket.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/flierrocket.wav":["audio/t1sounds/flierRocket.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/flyer_dismount.m4a":["audio/t1sounds/flyer_dismount.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/flyer_dismount.wav":["audio/t1sounds/flyer_dismount.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/flyer_fly.m4a":["audio/t1sounds/flyer_fly.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/flyer_fly.wav":["audio/t1sounds/flyer_fly.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/flyer_idle.m4a":["audio/t1sounds/flyer_idle.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/flyer_idle.wav":["audio/t1sounds/flyer_idle.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/flyer_mount.m4a":["audio/t1sounds/flyer_mount.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/flyer_mount.wav":["audio/t1sounds/flyer_mount.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/forceclose.m4a":["audio/t1sounds/forceclose.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/forceclose.wav":["audio/t1sounds/forceclose.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/forceopen.m4a":["audio/t1sounds/forceopen.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/forceopen.wav":["audio/t1sounds/forceopen.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/generator.m4a":["audio/t1sounds/generator.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/generator.wav":["audio/t1sounds/generator.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/grenade.m4a":["audio/t1sounds/Grenade.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/grenade.wav":["audio/t1sounds/Grenade.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/inv_activate.m4a":["audio/t1sounds/inv_activate.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/inv_activate.wav":["audio/t1sounds/inv_activate.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/inv_power.m4a":["audio/t1sounds/inv_power.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/inv_power.wav":["audio/t1sounds/inv_power.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/inv_use.m4a":["audio/t1sounds/inv_use.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/inv_use.wav":["audio/t1sounds/inv_use.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/laserhit.m4a":["audio/t1sounds/laserhit.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/laserhit.wav":["audio/t1sounds/laserhit.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/machgun2.m4a":["audio/t1sounds/Machgun2.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/machgun2.wav":["audio/t1sounds/Machgun2.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/machgun3.m4a":["audio/t1sounds/machgun3.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/machgun3.wav":["audio/t1sounds/machgun3.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/machinegun.m4a":["audio/t1sounds/machinegun.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/machinegun.wav":["audio/t1sounds/machinegun.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/mortar_fire.m4a":["audio/t1sounds/mortar_fire.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/mortar_fire.wav":["audio/t1sounds/mortar_fire.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/mortar_idle.m4a":["audio/t1sounds/mortar_idle.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/mortar_idle.wav":["audio/t1sounds/mortar_idle.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/mortar_reload.m4a":["audio/t1sounds/Mortar_reload.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/mortar_reload.wav":["audio/t1sounds/Mortar_reload.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/pku_weap.m4a":["audio/t1sounds/Pku_weap.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/pku_weap.wav":["audio/t1sounds/Pku_weap.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/plasma2.m4a":["audio/t1sounds/Plasma2.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/plasma2.wav":["audio/t1sounds/Plasma2.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/pulse_power.m4a":["audio/t1sounds/pulse_power.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/pulse_power.wav":["audio/t1sounds/pulse_power.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/rain.m4a":["audio/t1sounds/rain.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/rain.wav":["audio/t1sounds/rain.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/repair.m4a":["audio/t1sounds/repair.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/repair.wav":["audio/t1sounds/repair.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/ricoche1.m4a":["audio/t1sounds/Ricoche1.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/ricoche1.wav":["audio/t1sounds/Ricoche1.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/ricoche2.m4a":["audio/t1sounds/Ricoche2.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/ricoche2.wav":["audio/t1sounds/Ricoche2.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/ricoche3.m4a":["audio/t1sounds/Ricoche3.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/ricoche3.wav":["audio/t1sounds/Ricoche3.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/rifle1.m4a":["audio/t1sounds/rifle1.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/rifle1.wav":["audio/t1sounds/rifle1.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/rocket2.m4a":["audio/t1sounds/rocket2.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/rocket2.wav":["audio/t1sounds/rocket2.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/rockexp.m4a":["audio/t1sounds/rockexp.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/rockexp.wav":["audio/t1sounds/rockexp.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/shockexp.m4a":["audio/t1sounds/shockexp.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/shockexp.wav":["audio/t1sounds/shockexp.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/sniper.m4a":["audio/t1sounds/sniper.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/sniper.wav":["audio/t1sounds/sniper.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/tgt_laser.m4a":["audio/t1sounds/tgt_laser.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/tgt_laser.wav":["audio/t1sounds/tgt_laser.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/turretexp.m4a":["audio/t1sounds/turretexp.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/turretexp.wav":["audio/t1sounds/turretexp.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/turretfire1.m4a":["audio/t1sounds/turretfire1.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/turretfire1.wav":["audio/t1sounds/turretfire1.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/turretfire4.m4a":["audio/t1sounds/turretfire4.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/turretfire4.wav":["audio/t1sounds/turretfire4.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/turretoff1.m4a":["audio/t1sounds/turretoff1.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/turretoff1.wav":["audio/t1sounds/turretoff1.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/turretoff4.m4a":["audio/t1sounds/turretoff4.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/turretoff4.wav":["audio/t1sounds/turretoff4.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/turreton1.m4a":["audio/t1sounds/turreton1.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/turreton1.wav":["audio/t1sounds/turreton1.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/turreton4.m4a":["audio/t1sounds/turreton4.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/turreton4.wav":["audio/t1sounds/turreton4.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/turretturn4.m4a":["audio/t1sounds/turretturn4.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/turretturn4.wav":["audio/t1sounds/turretturn4.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t2intro.m4a":["audio/T2Intro.m4a",["audio.vl2"]],"audio/t2intro.wav":["audio/T2Intro.wav",["audio.vl2"]],"audio/thud.m4a":["audio/thud.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/thud.wav":["audio/thud.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/turret_2.m4a":["audio/turret_2.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/turret_2.wav":["audio/turret_2.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/turret_3.m4a":["audio/turret_3.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/turret_3.wav":["audio/turret_3.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/ve3.m4a":["audio/ve3.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/ve3.wav":["audio/ve3.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/vocboomstr.m4a":["audio/vocBoomStr.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/vocboomstr.wav":["audio/vocBoomStr.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/voice/announcer/ann.10sec.m4a":["audio/voice/Announcer/ANN.10sec.m4a",["voice.vl2"]],"audio/voice/announcer/ann.10sec.wav":["audio/voice/Announcer/ANN.10sec.WAV",["voice.vl2"]],"audio/voice/announcer/ann.15sec.m4a":["audio/voice/Announcer/ANN.15sec.m4a",["voice.vl2"]],"audio/voice/announcer/ann.15sec.wav":["audio/voice/Announcer/ANN.15sec.WAV",["voice.vl2"]],"audio/voice/announcer/ann.30.m4a":["audio/voice/Announcer/ANN.30.m4a",["voice.vl2"]],"audio/voice/announcer/ann.30.wav":["audio/voice/Announcer/ANN.30.WAV",["voice.vl2"]],"audio/voice/announcer/ann.60.m4a":["audio/voice/Announcer/ANN.60.m4a",["voice.vl2"]],"audio/voice/announcer/ann.60.wav":["audio/voice/Announcer/ANN.60.WAV",["voice.vl2"]],"audio/voice/announcer/ann.bdscore.m4a":["audio/voice/Announcer/ANN.bdscore.m4a",["voice.vl2"]],"audio/voice/announcer/ann.bdscore.wav":["audio/voice/Announcer/ANN.bdscore.WAV",["voice.vl2"]],"audio/voice/announcer/ann.bdwin.m4a":["audio/voice/Announcer/ANN.bdwin.m4a",["voice.vl2"]],"audio/voice/announcer/ann.bdwin.wav":["audio/voice/Announcer/ANN.bdwin.WAV",["voice.vl2"]],"audio/voice/announcer/ann.bescore.m4a":["audio/voice/Announcer/ANN.bescore.m4a",["voice.vl2"]],"audio/voice/announcer/ann.bescore.wav":["audio/voice/Announcer/ANN.bescore.WAV",["voice.vl2"]],"audio/voice/announcer/ann.bewin.m4a":["audio/voice/Announcer/ANN.bewin.m4a",["voice.vl2"]],"audio/voice/announcer/ann.bewin.wav":["audio/voice/Announcer/ANN.bewin.WAV",["voice.vl2"]],"audio/voice/announcer/ann.closegame_01.m4a":["audio/voice/Announcer/ANN.closegame_01.m4a",["voice.vl2"]],"audio/voice/announcer/ann.closegame_01.wav":["audio/voice/Announcer/ANN.closegame_01.WAV",["voice.vl2"]],"audio/voice/announcer/ann.closegame_03.m4a":["audio/voice/Announcer/ANN.closegame_03.m4a",["voice.vl2"]],"audio/voice/announcer/ann.closegame_03.wav":["audio/voice/Announcer/ANN.closegame_03.WAV",["voice.vl2"]],"audio/voice/announcer/ann.closegame_04.m4a":["audio/voice/Announcer/ANN.closegame_04.m4a",["voice.vl2"]],"audio/voice/announcer/ann.closegame_04.wav":["audio/voice/Announcer/ANN.closegame_04.WAV",["voice.vl2"]],"audio/voice/announcer/ann.dsscore.m4a":["audio/voice/Announcer/ANN.dsscore.m4a",["voice.vl2"]],"audio/voice/announcer/ann.dsscore.wav":["audio/voice/Announcer/ANN.dsscore.WAV",["voice.vl2"]],"audio/voice/announcer/ann.dswin.m4a":["audio/voice/Announcer/ANN.dswin.m4a",["voice.vl2"]],"audio/voice/announcer/ann.dswin.wav":["audio/voice/Announcer/ANN.dswin.WAV",["voice.vl2"]],"audio/voice/announcer/ann.gameover.m4a":["audio/voice/Announcer/ANN.gameover.m4a",["voice.vl2"]],"audio/voice/announcer/ann.gameover.wav":["audio/voice/Announcer/ANN.gameover.WAV",["voice.vl2"]],"audio/voice/announcer/ann.gamepoint_imminent.m4a":["audio/voice/Announcer/ANN.gamepoint_imminent.m4a",["voice.vl2"]],"audio/voice/announcer/ann.gamepoint_imminent.wav":["audio/voice/Announcer/ANN.gamepoint_imminent.WAV",["voice.vl2"]],"audio/voice/announcer/ann.greed.m4a":["audio/voice/Announcer/ANN.greed.m4a",["voice.vl2"]],"audio/voice/announcer/ann.greed.wav":["audio/voice/Announcer/ANN.greed.WAV",["voice.vl2"]],"audio/voice/announcer/ann.hoard.m4a":["audio/voice/Announcer/ANN.hoard.m4a",["voice.vl2"]],"audio/voice/announcer/ann.hoard.wav":["audio/voice/Announcer/ANN.hoard.WAV",["voice.vl2"]],"audio/voice/announcer/ann.holdflags.m4a":["audio/voice/Announcer/ANN.holdflags.m4a",["voice.vl2"]],"audio/voice/announcer/ann.holdflags.wav":["audio/voice/Announcer/ANN.holdflags.WAV",["voice.vl2"]],"audio/voice/announcer/ann.ib.m4a":["audio/voice/Announcer/ANN.ib.m4a",["voice.vl2"]],"audio/voice/announcer/ann.ib.wav":["audio/voice/Announcer/ANN.ib.WAV",["voice.vl2"]],"audio/voice/announcer/ann.infdenied.m4a":["audio/voice/Announcer/ANN.infdenied.m4a",["voice.vl2"]],"audio/voice/announcer/ann.infdenied.wav":["audio/voice/Announcer/ANN.infdenied.WAV",["voice.vl2"]],"audio/voice/announcer/ann.infscores.m4a":["audio/voice/Announcer/ANN.infscores.m4a",["voice.vl2"]],"audio/voice/announcer/ann.infscores.wav":["audio/voice/Announcer/ANN.infscores.WAV",["voice.vl2"]],"audio/voice/announcer/ann.infwins.m4a":["audio/voice/Announcer/ANN.infwins.m4a",["voice.vl2"]],"audio/voice/announcer/ann.infwins.wav":["audio/voice/Announcer/ANN.infwins.WAV",["voice.vl2"]],"audio/voice/announcer/ann.match_begins.m4a":["audio/voice/Announcer/ANN.match_begins.m4a",["voice.vl2"]],"audio/voice/announcer/ann.match_begins.wav":["audio/voice/Announcer/ANN.match_begins.WAV",["voice.vl2"]],"audio/voice/announcer/ann.oob.m4a":["audio/voice/Announcer/ANN.oob.m4a",["voice.vl2"]],"audio/voice/announcer/ann.oob.wav":["audio/voice/Announcer/ANN.oob.WAV",["voice.vl2"]],"audio/voice/announcer/ann.oobh.m4a":["audio/voice/Announcer/ANN.oobh.m4a",["voice.vl2"]],"audio/voice/announcer/ann.oobh.wav":["audio/voice/Announcer/ANN.oobh.WAV",["voice.vl2"]],"audio/voice/announcer/ann.oobv.m4a":["audio/voice/Announcer/ANN.oobv.m4a",["voice.vl2"]],"audio/voice/announcer/ann.oobv.wav":["audio/voice/Announcer/ANN.oobv.WAV",["voice.vl2"]],"audio/voice/announcer/ann.prepare.m4a":["audio/voice/Announcer/ANN.prepare.m4a",["voice.vl2"]],"audio/voice/announcer/ann.prepare.wav":["audio/voice/Announcer/ANN.prepare.WAV",["voice.vl2"]],"audio/voice/announcer/ann.pxscore.m4a":["audio/voice/Announcer/ANN.pxscore.m4a",["voice.vl2"]],"audio/voice/announcer/ann.pxscore.wav":["audio/voice/Announcer/ANN.pxscore.WAV",["voice.vl2"]],"audio/voice/announcer/ann.pxwin.m4a":["audio/voice/Announcer/ANN.pxwin.m4a",["voice.vl2"]],"audio/voice/announcer/ann.pxwin.wav":["audio/voice/Announcer/ANN.pxwin.WAV",["voice.vl2"]],"audio/voice/announcer/ann.siege.m4a":["audio/voice/Announcer/ANN.siege.m4a",["voice.vl2"]],"audio/voice/announcer/ann.siege.wav":["audio/voice/Announcer/ANN.siege.WAV",["voice.vl2"]],"audio/voice/announcer/ann.stodenied.m4a":["audio/voice/Announcer/ANN.stodenied.m4a",["voice.vl2"]],"audio/voice/announcer/ann.stodenied.wav":["audio/voice/Announcer/ANN.stodenied.WAV",["voice.vl2"]],"audio/voice/announcer/ann.stoscores.m4a":["audio/voice/Announcer/ANN.stoscores.m4a",["voice.vl2"]],"audio/voice/announcer/ann.stoscores.wav":["audio/voice/Announcer/ANN.stoscores.WAV",["voice.vl2"]],"audio/voice/announcer/ann.stowins.m4a":["audio/voice/Announcer/ANN.stowins.m4a",["voice.vl2"]],"audio/voice/announcer/ann.stowins.wav":["audio/voice/Announcer/ANN.stowins.WAV",["voice.vl2"]],"audio/voice/announcer/ann.swscore.m4a":["audio/voice/Announcer/ANN.swscore.m4a",["voice.vl2"]],"audio/voice/announcer/ann.swscore.wav":["audio/voice/Announcer/ANN.swscore.WAV",["voice.vl2"]],"audio/voice/announcer/ann.swwin.m4a":["audio/voice/Announcer/ANN.swwin.m4a",["voice.vl2"]],"audio/voice/announcer/ann.swwin.wav":["audio/voice/Announcer/ANN.swwin.WAV",["voice.vl2"]],"audio/voice/announcer/ann.t1score.m4a":["audio/voice/Announcer/ANN.t1score.m4a",["voice.vl2"]],"audio/voice/announcer/ann.t1score.wav":["audio/voice/Announcer/ANN.t1score.WAV",["voice.vl2"]],"audio/voice/announcer/ann.t1win.m4a":["audio/voice/Announcer/ANN.t1win.m4a",["voice.vl2"]],"audio/voice/announcer/ann.t1win.wav":["audio/voice/Announcer/ANN.t1win.WAV",["voice.vl2"]],"audio/voice/announcer/ann.t2score.m4a":["audio/voice/Announcer/ANN.t2score.m4a",["voice.vl2"]],"audio/voice/announcer/ann.t2score.wav":["audio/voice/Announcer/ANN.t2score.WAV",["voice.vl2"]],"audio/voice/announcer/ann.t2win.m4a":["audio/voice/Announcer/ANN.t2win.m4a",["voice.vl2"]],"audio/voice/announcer/ann.t2win.wav":["audio/voice/Announcer/ANN.t2win.WAV",["voice.vl2"]],"audio/voice/announcer/ann.votefail.m4a":["audio/voice/Announcer/ANN.votefail.m4a",["voice.vl2"]],"audio/voice/announcer/ann.votefail.wav":["audio/voice/Announcer/ANN.votefail.WAV",["voice.vl2"]],"audio/voice/announcer/ann.voteinit.m4a":["audio/voice/Announcer/ANN.voteinit.m4a",["voice.vl2"]],"audio/voice/announcer/ann.voteinit.wav":["audio/voice/Announcer/ANN.voteinit.WAV",["voice.vl2"]],"audio/voice/announcer/ann.votepass.m4a":["audio/voice/Announcer/ANN.votepass.m4a",["voice.vl2"]],"audio/voice/announcer/ann.votepass.wav":["audio/voice/Announcer/ANN.votepass.WAV",["voice.vl2"]],"audio/voice/announcer/ann.yardsale.m4a":["audio/voice/Announcer/ANN.yardsale.m4a",["voice.vl2"]],"audio/voice/announcer/ann.yardsale.wav":["audio/voice/Announcer/ANN.yardsale.WAV",["voice.vl2"]],"audio/voice/announcer/flag_minedfem.m4a":["audio/voice/Announcer/flag_minedFem.m4a",["voice.vl2"]],"audio/voice/announcer/flag_minedfem.wav":["audio/voice/Announcer/flag_minedFem.WAV",["voice.vl2"]],"audio/voice/announcer/flag_minedmale.m4a":["audio/voice/Announcer/flag_minedMale.m4a",["voice.vl2"]],"audio/voice/announcer/flag_minedmale.wav":["audio/voice/Announcer/flag_minedMale.WAV",["voice.vl2"]],"audio/voice/announcer/switching_sides.m4a":["audio/voice/Announcer/switching_sides.m4a",["voice.vl2"]],"audio/voice/announcer/switching_sides.wav":["audio/voice/Announcer/switching_sides.WAV",["voice.vl2"]],"audio/voice/bot1/att.attack.m4a":["audio/voice/Bot1/att.attack.m4a",["voice.vl2"]],"audio/voice/bot1/att.attack.wav":["audio/voice/Bot1/att.attack.wav",["voice.vl2"]],"audio/voice/bot1/att.base.m4a":["audio/voice/Bot1/att.base.m4a",["voice.vl2"]],"audio/voice/bot1/att.base.wav":["audio/voice/Bot1/att.base.wav",["voice.vl2"]],"audio/voice/bot1/att.chase.m4a":["audio/voice/Bot1/att.chase.m4a",["voice.vl2"]],"audio/voice/bot1/att.chase.wav":["audio/voice/Bot1/att.chase.wav",["voice.vl2"]],"audio/voice/bot1/att.distract.m4a":["audio/voice/Bot1/att.distract.m4a",["voice.vl2"]],"audio/voice/bot1/att.distract.wav":["audio/voice/Bot1/att.distract.wav",["voice.vl2"]],"audio/voice/bot1/att.flag.m4a":["audio/voice/Bot1/att.flag.m4a",["voice.vl2"]],"audio/voice/bot1/att.flag.wav":["audio/voice/Bot1/att.flag.wav",["voice.vl2"]],"audio/voice/bot1/att.generator.m4a":["audio/voice/Bot1/att.generator.m4a",["voice.vl2"]],"audio/voice/bot1/att.generator.wav":["audio/voice/Bot1/att.generator.wav",["voice.vl2"]],"audio/voice/bot1/att.objective.m4a":["audio/voice/Bot1/att.objective.m4a",["voice.vl2"]],"audio/voice/bot1/att.objective.wav":["audio/voice/Bot1/att.objective.wav",["voice.vl2"]],"audio/voice/bot1/att.reinforcements.m4a":["audio/voice/Bot1/att.reinforcements.m4a",["voice.vl2"]],"audio/voice/bot1/att.reinforcements.wav":["audio/voice/Bot1/att.reinforcements.wav",["voice.vl2"]],"audio/voice/bot1/att.sensors.m4a":["audio/voice/Bot1/att.sensors.m4a",["voice.vl2"]],"audio/voice/bot1/att.sensors.wav":["audio/voice/Bot1/att.sensors.wav",["voice.vl2"]],"audio/voice/bot1/att.turrets.m4a":["audio/voice/Bot1/att.turrets.m4a",["voice.vl2"]],"audio/voice/bot1/att.turrets.wav":["audio/voice/Bot1/att.turrets.wav",["voice.vl2"]],"audio/voice/bot1/att.vehicle.m4a":["audio/voice/Bot1/att.vehicle.m4a",["voice.vl2"]],"audio/voice/bot1/att.vehicle.wav":["audio/voice/Bot1/att.vehicle.wav",["voice.vl2"]],"audio/voice/bot1/att.wait.m4a":["audio/voice/Bot1/att.wait.m4a",["voice.vl2"]],"audio/voice/bot1/att.wait.wav":["audio/voice/Bot1/att.wait.wav",["voice.vl2"]],"audio/voice/bot1/avo.deathcry_01.m4a":["audio/voice/Bot1/avo.deathcry_01.m4a",["voice.vl2"]],"audio/voice/bot1/avo.deathcry_01.wav":["audio/voice/Bot1/avo.deathcry_01.wav",["voice.vl2"]],"audio/voice/bot1/avo.deathcry_02.m4a":["audio/voice/Bot1/avo.deathcry_02.m4a",["voice.vl2"]],"audio/voice/bot1/avo.deathcry_02.wav":["audio/voice/Bot1/avo.deathcry_02.wav",["voice.vl2"]],"audio/voice/bot1/avo.grunt.m4a":["audio/voice/Bot1/avo.grunt.m4a",["voice.vl2"]],"audio/voice/bot1/avo.grunt.wav":["audio/voice/Bot1/avo.grunt.wav",["voice.vl2"]],"audio/voice/bot1/avo.pain.m4a":["audio/voice/Bot1/avo.pain.m4a",["voice.vl2"]],"audio/voice/bot1/avo.pain.wav":["audio/voice/Bot1/avo.pain.wav",["voice.vl2"]],"audio/voice/bot1/bas.clear.m4a":["audio/voice/Bot1/bas.clear.m4a",["voice.vl2"]],"audio/voice/bot1/bas.clear.wav":["audio/voice/Bot1/bas.clear.wav",["voice.vl2"]],"audio/voice/bot1/bas.enemy.m4a":["audio/voice/Bot1/bas.enemy.m4a",["voice.vl2"]],"audio/voice/bot1/bas.enemy.wav":["audio/voice/Bot1/bas.enemy.wav",["voice.vl2"]],"audio/voice/bot1/bas.retake.m4a":["audio/voice/Bot1/bas.retake.m4a",["voice.vl2"]],"audio/voice/bot1/bas.retake.wav":["audio/voice/Bot1/bas.retake.wav",["voice.vl2"]],"audio/voice/bot1/bas.secure.m4a":["audio/voice/Bot1/bas.secure.m4a",["voice.vl2"]],"audio/voice/bot1/bas.secure.wav":["audio/voice/Bot1/bas.secure.wav",["voice.vl2"]],"audio/voice/bot1/bas.taken.m4a":["audio/voice/Bot1/bas.taken.m4a",["voice.vl2"]],"audio/voice/bot1/bas.taken.wav":["audio/voice/Bot1/bas.taken.wav",["voice.vl2"]],"audio/voice/bot1/cmd.acknowledge.m4a":["audio/voice/Bot1/cmd.acknowledge.m4a",["voice.vl2"]],"audio/voice/bot1/cmd.acknowledge.wav":["audio/voice/Bot1/cmd.acknowledge.wav",["voice.vl2"]],"audio/voice/bot1/cmd.bot.m4a":["audio/voice/Bot1/cmd.bot.m4a",["voice.vl2"]],"audio/voice/bot1/cmd.bot.wav":["audio/voice/Bot1/cmd.bot.WAV",["voice.vl2"]],"audio/voice/bot1/cmd.completed.m4a":["audio/voice/Bot1/cmd.completed.m4a",["voice.vl2"]],"audio/voice/bot1/cmd.completed.wav":["audio/voice/Bot1/cmd.completed.wav",["voice.vl2"]],"audio/voice/bot1/cmd.decline.m4a":["audio/voice/Bot1/cmd.decline.m4a",["voice.vl2"]],"audio/voice/bot1/cmd.decline.wav":["audio/voice/Bot1/cmd.decline.wav",["voice.vl2"]],"audio/voice/bot1/def.base.m4a":["audio/voice/Bot1/def.base.m4a",["voice.vl2"]],"audio/voice/bot1/def.base.wav":["audio/voice/Bot1/def.base.wav",["voice.vl2"]],"audio/voice/bot1/def.carrier.m4a":["audio/voice/Bot1/def.carrier.m4a",["voice.vl2"]],"audio/voice/bot1/def.carrier.wav":["audio/voice/Bot1/def.carrier.wav",["voice.vl2"]],"audio/voice/bot1/def.entrances.m4a":["audio/voice/Bot1/def.entrances.m4a",["voice.vl2"]],"audio/voice/bot1/def.entrances.wav":["audio/voice/Bot1/def.entrances.wav",["voice.vl2"]],"audio/voice/bot1/def.flag.m4a":["audio/voice/Bot1/def.flag.m4a",["voice.vl2"]],"audio/voice/bot1/def.flag.wav":["audio/voice/Bot1/def.flag.wav",["voice.vl2"]],"audio/voice/bot1/def.generator.m4a":["audio/voice/Bot1/def.generator.m4a",["voice.vl2"]],"audio/voice/bot1/def.generator.wav":["audio/voice/Bot1/def.generator.wav",["voice.vl2"]],"audio/voice/bot1/def.me.m4a":["audio/voice/Bot1/def.me.m4a",["voice.vl2"]],"audio/voice/bot1/def.me.wav":["audio/voice/Bot1/def.me.wav",["voice.vl2"]],"audio/voice/bot1/def.nexus.m4a":["audio/voice/Bot1/def.nexus.m4a",["voice.vl2"]],"audio/voice/bot1/def.nexus.wav":["audio/voice/Bot1/def.nexus.wav",["voice.vl2"]],"audio/voice/bot1/def.objective.m4a":["audio/voice/Bot1/def.objective.m4a",["voice.vl2"]],"audio/voice/bot1/def.objective.wav":["audio/voice/Bot1/def.objective.wav",["voice.vl2"]],"audio/voice/bot1/def.reinforce.m4a":["audio/voice/Bot1/def.reinforce.m4a",["voice.vl2"]],"audio/voice/bot1/def.reinforce.wav":["audio/voice/Bot1/def.reinforce.wav",["voice.vl2"]],"audio/voice/bot1/def.sensors.m4a":["audio/voice/Bot1/def.sensors.m4a",["voice.vl2"]],"audio/voice/bot1/def.sensors.wav":["audio/voice/Bot1/def.sensors.wav",["voice.vl2"]],"audio/voice/bot1/def.turrets.m4a":["audio/voice/Bot1/def.turrets.m4a",["voice.vl2"]],"audio/voice/bot1/def.turrets.wav":["audio/voice/Bot1/def.turrets.wav",["voice.vl2"]],"audio/voice/bot1/def.vehicle.m4a":["audio/voice/Bot1/def.vehicle.m4a",["voice.vl2"]],"audio/voice/bot1/def.vehicle.wav":["audio/voice/Bot1/def.vehicle.wav",["voice.vl2"]],"audio/voice/bot1/ene.base.m4a":["audio/voice/Bot1/ene.base.m4a",["voice.vl2"]],"audio/voice/bot1/ene.base.wav":["audio/voice/Bot1/ene.base.wav",["voice.vl2"]],"audio/voice/bot1/ene.disarray.m4a":["audio/voice/Bot1/ene.disarray.m4a",["voice.vl2"]],"audio/voice/bot1/ene.disarray.wav":["audio/voice/Bot1/ene.disarray.wav",["voice.vl2"]],"audio/voice/bot1/ene.generator.m4a":["audio/voice/Bot1/ene.generator.m4a",["voice.vl2"]],"audio/voice/bot1/ene.generator.wav":["audio/voice/Bot1/ene.generator.wav",["voice.vl2"]],"audio/voice/bot1/ene.remotes.m4a":["audio/voice/Bot1/ene.remotes.m4a",["voice.vl2"]],"audio/voice/bot1/ene.remotes.wav":["audio/voice/Bot1/ene.remotes.wav",["voice.vl2"]],"audio/voice/bot1/ene.sensors.m4a":["audio/voice/Bot1/ene.sensors.m4a",["voice.vl2"]],"audio/voice/bot1/ene.sensors.wav":["audio/voice/Bot1/ene.sensors.wav",["voice.vl2"]],"audio/voice/bot1/ene.turrets.m4a":["audio/voice/Bot1/ene.turrets.m4a",["voice.vl2"]],"audio/voice/bot1/ene.turrets.wav":["audio/voice/Bot1/ene.turrets.wav",["voice.vl2"]],"audio/voice/bot1/ene.vehicle.m4a":["audio/voice/Bot1/ene.vehicle.m4a",["voice.vl2"]],"audio/voice/bot1/ene.vehicle.wav":["audio/voice/Bot1/ene.vehicle.wav",["voice.vl2"]],"audio/voice/bot1/flg.flag.m4a":["audio/voice/Bot1/flg.flag.m4a",["voice.vl2"]],"audio/voice/bot1/flg.flag.wav":["audio/voice/Bot1/flg.flag.WAV",["voice.vl2"]],"audio/voice/bot1/flg.give.m4a":["audio/voice/Bot1/flg.give.m4a",["voice.vl2"]],"audio/voice/bot1/flg.give.wav":["audio/voice/Bot1/flg.give.wav",["voice.vl2"]],"audio/voice/bot1/flg.huntergive.m4a":["audio/voice/Bot1/flg.huntergive.m4a",["voice.vl2"]],"audio/voice/bot1/flg.huntergive.wav":["audio/voice/Bot1/flg.huntergive.wav",["voice.vl2"]],"audio/voice/bot1/flg.huntertake.m4a":["audio/voice/Bot1/flg.huntertake.m4a",["voice.vl2"]],"audio/voice/bot1/flg.huntertake.wav":["audio/voice/Bot1/flg.huntertake.wav",["voice.vl2"]],"audio/voice/bot1/flg.secure.m4a":["audio/voice/Bot1/flg.secure.m4a",["voice.vl2"]],"audio/voice/bot1/flg.secure.wav":["audio/voice/Bot1/flg.secure.wav",["voice.vl2"]],"audio/voice/bot1/flg.take.m4a":["audio/voice/Bot1/flg.take.m4a",["voice.vl2"]],"audio/voice/bot1/flg.take.wav":["audio/voice/Bot1/flg.take.wav",["voice.vl2"]],"audio/voice/bot1/gbl.anytime.m4a":["audio/voice/Bot1/gbl.anytime.m4a",["voice.vl2"]],"audio/voice/bot1/gbl.anytime.wav":["audio/voice/Bot1/gbl.anytime.wav",["voice.vl2"]],"audio/voice/bot1/gbl.awesome.m4a":["audio/voice/Bot1/gbl.awesome.m4a",["voice.vl2"]],"audio/voice/bot1/gbl.awesome.wav":["audio/voice/Bot1/gbl.awesome.wav",["voice.vl2"]],"audio/voice/bot1/gbl.aww.m4a":["audio/voice/Bot1/gbl.aww.m4a",["voice.vl2"]],"audio/voice/bot1/gbl.aww.wav":["audio/voice/Bot1/gbl.aww.wav",["voice.vl2"]],"audio/voice/bot1/gbl.brag.m4a":["audio/voice/Bot1/gbl.brag.m4a",["voice.vl2"]],"audio/voice/bot1/gbl.brag.wav":["audio/voice/Bot1/gbl.brag.wav",["voice.vl2"]],"audio/voice/bot1/gbl.bye.m4a":["audio/voice/Bot1/gbl.bye.m4a",["voice.vl2"]],"audio/voice/bot1/gbl.bye.wav":["audio/voice/Bot1/gbl.bye.wav",["voice.vl2"]],"audio/voice/bot1/gbl.doh.m4a":["audio/voice/Bot1/gbl.doh.m4a",["voice.vl2"]],"audio/voice/bot1/gbl.doh.wav":["audio/voice/Bot1/gbl.doh.wav",["voice.vl2"]],"audio/voice/bot1/gbl.dunno.m4a":["audio/voice/Bot1/gbl.dunno.m4a",["voice.vl2"]],"audio/voice/bot1/gbl.dunno.wav":["audio/voice/Bot1/gbl.dunno.wav",["voice.vl2"]],"audio/voice/bot1/gbl.goodgame.m4a":["audio/voice/Bot1/gbl.goodgame.m4a",["voice.vl2"]],"audio/voice/bot1/gbl.goodgame.wav":["audio/voice/Bot1/gbl.goodgame.wav",["voice.vl2"]],"audio/voice/bot1/gbl.hi.m4a":["audio/voice/Bot1/gbl.hi.m4a",["voice.vl2"]],"audio/voice/bot1/gbl.hi.wav":["audio/voice/Bot1/gbl.hi.wav",["voice.vl2"]],"audio/voice/bot1/gbl.nice.m4a":["audio/voice/Bot1/gbl.nice.m4a",["voice.vl2"]],"audio/voice/bot1/gbl.nice.wav":["audio/voice/Bot1/gbl.nice.wav",["voice.vl2"]],"audio/voice/bot1/gbl.no.m4a":["audio/voice/Bot1/gbl.no.m4a",["voice.vl2"]],"audio/voice/bot1/gbl.no.wav":["audio/voice/Bot1/gbl.no.wav",["voice.vl2"]],"audio/voice/bot1/gbl.obnoxious.m4a":["audio/voice/Bot1/gbl.obnoxious.m4a",["voice.vl2"]],"audio/voice/bot1/gbl.obnoxious.wav":["audio/voice/Bot1/gbl.obnoxious.wav",["voice.vl2"]],"audio/voice/bot1/gbl.oops.m4a":["audio/voice/Bot1/gbl.oops.m4a",["voice.vl2"]],"audio/voice/bot1/gbl.oops.wav":["audio/voice/Bot1/gbl.oops.wav",["voice.vl2"]],"audio/voice/bot1/gbl.quiet.m4a":["audio/voice/Bot1/gbl.quiet.m4a",["voice.vl2"]],"audio/voice/bot1/gbl.quiet.wav":["audio/voice/Bot1/gbl.quiet.WAV",["voice.vl2"]],"audio/voice/bot1/gbl.rock.m4a":["audio/voice/Bot1/gbl.rock.m4a",["voice.vl2"]],"audio/voice/bot1/gbl.rock.wav":["audio/voice/Bot1/gbl.rock.WAV",["voice.vl2"]],"audio/voice/bot1/gbl.sarcasm.m4a":["audio/voice/Bot1/gbl.sarcasm.m4a",["voice.vl2"]],"audio/voice/bot1/gbl.sarcasm.wav":["audio/voice/Bot1/gbl.sarcasm.wav",["voice.vl2"]],"audio/voice/bot1/gbl.shazbot.m4a":["audio/voice/Bot1/gbl.shazbot.m4a",["voice.vl2"]],"audio/voice/bot1/gbl.shazbot.wav":["audio/voice/Bot1/gbl.shazbot.wav",["voice.vl2"]],"audio/voice/bot1/gbl.shooting.m4a":["audio/voice/Bot1/gbl.shooting.m4a",["voice.vl2"]],"audio/voice/bot1/gbl.shooting.wav":["audio/voice/Bot1/gbl.shooting.WAV",["voice.vl2"]],"audio/voice/bot1/gbl.thanks.m4a":["audio/voice/Bot1/gbl.thanks.m4a",["voice.vl2"]],"audio/voice/bot1/gbl.thanks.wav":["audio/voice/Bot1/gbl.thanks.wav",["voice.vl2"]],"audio/voice/bot1/gbl.wait.m4a":["audio/voice/Bot1/gbl.wait.m4a",["voice.vl2"]],"audio/voice/bot1/gbl.wait.wav":["audio/voice/Bot1/gbl.wait.wav",["voice.vl2"]],"audio/voice/bot1/gbl.when.m4a":["audio/voice/Bot1/gbl.when.m4a",["voice.vl2"]],"audio/voice/bot1/gbl.when.wav":["audio/voice/Bot1/gbl.when.wav",["voice.vl2"]],"audio/voice/bot1/gbl.yes.m4a":["audio/voice/Bot1/gbl.yes.m4a",["voice.vl2"]],"audio/voice/bot1/gbl.yes.wav":["audio/voice/Bot1/gbl.yes.wav",["voice.vl2"]],"audio/voice/bot1/need.bombardier.m4a":["audio/voice/Bot1/need.bombardier.m4a",["voice.vl2"]],"audio/voice/bot1/need.bombardier.wav":["audio/voice/Bot1/need.bombardier.wav",["voice.vl2"]],"audio/voice/bot1/need.cover.m4a":["audio/voice/Bot1/need.cover.m4a",["voice.vl2"]],"audio/voice/bot1/need.cover.wav":["audio/voice/Bot1/need.cover.WAV",["voice.vl2"]],"audio/voice/bot1/need.driver.m4a":["audio/voice/Bot1/need.driver.m4a",["voice.vl2"]],"audio/voice/bot1/need.driver.wav":["audio/voice/Bot1/need.driver.wav",["voice.vl2"]],"audio/voice/bot1/need.escort.m4a":["audio/voice/Bot1/need.escort.m4a",["voice.vl2"]],"audio/voice/bot1/need.escort.wav":["audio/voice/Bot1/need.escort.wav",["voice.vl2"]],"audio/voice/bot1/need.flyer.m4a":["audio/voice/Bot1/need.flyer.m4a",["voice.vl2"]],"audio/voice/bot1/need.flyer.wav":["audio/voice/Bot1/need.flyer.WAV",["voice.vl2"]],"audio/voice/bot1/need.gunship.m4a":["audio/voice/Bot1/need.gunship.m4a",["voice.vl2"]],"audio/voice/bot1/need.gunship.wav":["audio/voice/Bot1/need.gunship.WAV",["voice.vl2"]],"audio/voice/bot1/need.hold.m4a":["audio/voice/Bot1/need.hold.m4a",["voice.vl2"]],"audio/voice/bot1/need.hold.wav":["audio/voice/Bot1/need.hold.wav",["voice.vl2"]],"audio/voice/bot1/need.ride.m4a":["audio/voice/Bot1/need.ride.m4a",["voice.vl2"]],"audio/voice/bot1/need.ride.wav":["audio/voice/Bot1/need.ride.WAV",["voice.vl2"]],"audio/voice/bot1/need.support.m4a":["audio/voice/Bot1/need.support.m4a",["voice.vl2"]],"audio/voice/bot1/need.support.wav":["audio/voice/Bot1/need.support.wav",["voice.vl2"]],"audio/voice/bot1/need.tailgunner.m4a":["audio/voice/Bot1/need.tailgunner.m4a",["voice.vl2"]],"audio/voice/bot1/need.tailgunner.wav":["audio/voice/Bot1/need.tailgunner.wav",["voice.vl2"]],"audio/voice/bot1/need.where.m4a":["audio/voice/Bot1/need.where.m4a",["voice.vl2"]],"audio/voice/bot1/need.where.wav":["audio/voice/Bot1/need.where.wav",["voice.vl2"]],"audio/voice/bot1/rep.base.m4a":["audio/voice/Bot1/rep.base.m4a",["voice.vl2"]],"audio/voice/bot1/rep.base.wav":["audio/voice/Bot1/rep.base.wav",["voice.vl2"]],"audio/voice/bot1/rep.generator.m4a":["audio/voice/Bot1/rep.generator.m4a",["voice.vl2"]],"audio/voice/bot1/rep.generator.wav":["audio/voice/Bot1/rep.generator.wav",["voice.vl2"]],"audio/voice/bot1/rep.me.m4a":["audio/voice/Bot1/rep.me.m4a",["voice.vl2"]],"audio/voice/bot1/rep.me.wav":["audio/voice/Bot1/rep.me.wav",["voice.vl2"]],"audio/voice/bot1/rep.sensors.m4a":["audio/voice/Bot1/rep.sensors.m4a",["voice.vl2"]],"audio/voice/bot1/rep.sensors.wav":["audio/voice/Bot1/rep.sensors.wav",["voice.vl2"]],"audio/voice/bot1/rep.turrets.m4a":["audio/voice/Bot1/rep.turrets.m4a",["voice.vl2"]],"audio/voice/bot1/rep.turrets.wav":["audio/voice/Bot1/rep.turrets.wav",["voice.vl2"]],"audio/voice/bot1/rep.vehicle.m4a":["audio/voice/Bot1/rep.vehicle.m4a",["voice.vl2"]],"audio/voice/bot1/rep.vehicle.wav":["audio/voice/Bot1/rep.vehicle.wav",["voice.vl2"]],"audio/voice/bot1/slf.att.attack.m4a":["audio/voice/Bot1/slf.att.attack.m4a",["voice.vl2"]],"audio/voice/bot1/slf.att.attack.wav":["audio/voice/Bot1/slf.att.attack.wav",["voice.vl2"]],"audio/voice/bot1/slf.att.base.m4a":["audio/voice/Bot1/slf.att.base.m4a",["voice.vl2"]],"audio/voice/bot1/slf.att.base.wav":["audio/voice/Bot1/slf.att.base.wav",["voice.vl2"]],"audio/voice/bot1/slf.att.flag.m4a":["audio/voice/Bot1/slf.att.flag.m4a",["voice.vl2"]],"audio/voice/bot1/slf.att.flag.wav":["audio/voice/Bot1/slf.att.flag.wav",["voice.vl2"]],"audio/voice/bot1/slf.att.generator.m4a":["audio/voice/Bot1/slf.att.generator.m4a",["voice.vl2"]],"audio/voice/bot1/slf.att.generator.wav":["audio/voice/Bot1/slf.att.generator.wav",["voice.vl2"]],"audio/voice/bot1/slf.att.sensors.m4a":["audio/voice/Bot1/slf.att.sensors.m4a",["voice.vl2"]],"audio/voice/bot1/slf.att.sensors.wav":["audio/voice/Bot1/slf.att.sensors.wav",["voice.vl2"]],"audio/voice/bot1/slf.att.turrets.m4a":["audio/voice/Bot1/slf.att.turrets.m4a",["voice.vl2"]],"audio/voice/bot1/slf.att.turrets.wav":["audio/voice/Bot1/slf.att.turrets.wav",["voice.vl2"]],"audio/voice/bot1/slf.att.vehicle.m4a":["audio/voice/Bot1/slf.att.vehicle.m4a",["voice.vl2"]],"audio/voice/bot1/slf.att.vehicle.wav":["audio/voice/Bot1/slf.att.vehicle.wav",["voice.vl2"]],"audio/voice/bot1/slf.def.base.m4a":["audio/voice/Bot1/slf.def.base.m4a",["voice.vl2"]],"audio/voice/bot1/slf.def.base.wav":["audio/voice/Bot1/slf.def.base.wav",["voice.vl2"]],"audio/voice/bot1/slf.def.defend.m4a":["audio/voice/Bot1/slf.def.defend.m4a",["voice.vl2"]],"audio/voice/bot1/slf.def.defend.wav":["audio/voice/Bot1/slf.def.defend.wav",["voice.vl2"]],"audio/voice/bot1/slf.def.flag.m4a":["audio/voice/Bot1/slf.def.flag.m4a",["voice.vl2"]],"audio/voice/bot1/slf.def.flag.wav":["audio/voice/Bot1/slf.def.flag.wav",["voice.vl2"]],"audio/voice/bot1/slf.def.generator.m4a":["audio/voice/Bot1/slf.def.generator.m4a",["voice.vl2"]],"audio/voice/bot1/slf.def.generator.wav":["audio/voice/Bot1/slf.def.generator.wav",["voice.vl2"]],"audio/voice/bot1/slf.def.nexus.m4a":["audio/voice/Bot1/slf.def.nexus.m4a",["voice.vl2"]],"audio/voice/bot1/slf.def.nexus.wav":["audio/voice/Bot1/slf.def.nexus.wav",["voice.vl2"]],"audio/voice/bot1/slf.def.sensors.m4a":["audio/voice/Bot1/slf.def.sensors.m4a",["voice.vl2"]],"audio/voice/bot1/slf.def.sensors.wav":["audio/voice/Bot1/slf.def.sensors.wav",["voice.vl2"]],"audio/voice/bot1/slf.def.turrets.m4a":["audio/voice/Bot1/slf.def.turrets.m4a",["voice.vl2"]],"audio/voice/bot1/slf.def.turrets.wav":["audio/voice/Bot1/slf.def.turrets.wav",["voice.vl2"]],"audio/voice/bot1/slf.def.vehicle.m4a":["audio/voice/Bot1/slf.def.vehicle.m4a",["voice.vl2"]],"audio/voice/bot1/slf.def.vehicle.wav":["audio/voice/Bot1/slf.def.vehicle.wav",["voice.vl2"]],"audio/voice/bot1/slf.rep.base.m4a":["audio/voice/Bot1/slf.rep.base.m4a",["voice.vl2"]],"audio/voice/bot1/slf.rep.base.wav":["audio/voice/Bot1/slf.rep.base.wav",["voice.vl2"]],"audio/voice/bot1/slf.rep.equipment.m4a":["audio/voice/Bot1/slf.rep.equipment.m4a",["voice.vl2"]],"audio/voice/bot1/slf.rep.equipment.wav":["audio/voice/Bot1/slf.rep.equipment.wav",["voice.vl2"]],"audio/voice/bot1/slf.rep.generator.m4a":["audio/voice/Bot1/slf.rep.generator.m4a",["voice.vl2"]],"audio/voice/bot1/slf.rep.generator.wav":["audio/voice/Bot1/slf.rep.generator.wav",["voice.vl2"]],"audio/voice/bot1/slf.rep.repairing.m4a":["audio/voice/Bot1/slf.rep.repairing.m4a",["voice.vl2"]],"audio/voice/bot1/slf.rep.repairing.wav":["audio/voice/Bot1/slf.rep.repairing.wav",["voice.vl2"]],"audio/voice/bot1/slf.rep.sensors.m4a":["audio/voice/Bot1/slf.rep.sensors.m4a",["voice.vl2"]],"audio/voice/bot1/slf.rep.sensors.wav":["audio/voice/Bot1/slf.rep.sensors.wav",["voice.vl2"]],"audio/voice/bot1/slf.rep.turrets.m4a":["audio/voice/Bot1/slf.rep.turrets.m4a",["voice.vl2"]],"audio/voice/bot1/slf.rep.turrets.wav":["audio/voice/Bot1/slf.rep.turrets.wav",["voice.vl2"]],"audio/voice/bot1/slf.rep.vehicle.m4a":["audio/voice/Bot1/slf.rep.vehicle.m4a",["voice.vl2"]],"audio/voice/bot1/slf.rep.vehicle.wav":["audio/voice/Bot1/slf.rep.vehicle.wav",["voice.vl2"]],"audio/voice/bot1/slf.tsk.cover.m4a":["audio/voice/Bot1/slf.tsk.cover.m4a",["voice.vl2"]],"audio/voice/bot1/slf.tsk.cover.wav":["audio/voice/Bot1/slf.tsk.cover.WAV",["voice.vl2"]],"audio/voice/bot1/slf.tsk.defense.m4a":["audio/voice/Bot1/slf.tsk.defense.m4a",["voice.vl2"]],"audio/voice/bot1/slf.tsk.defense.wav":["audio/voice/Bot1/slf.tsk.defense.wav",["voice.vl2"]],"audio/voice/bot1/slf.tsk.generic.m4a":["audio/voice/Bot1/slf.tsk.generic.m4a",["voice.vl2"]],"audio/voice/bot1/slf.tsk.generic.wav":["audio/voice/Bot1/slf.tsk.generic.WAV",["voice.vl2"]],"audio/voice/bot1/slf.tsk.remotes.m4a":["audio/voice/Bot1/slf.tsk.remotes.m4a",["voice.vl2"]],"audio/voice/bot1/slf.tsk.remotes.wav":["audio/voice/Bot1/slf.tsk.remotes.wav",["voice.vl2"]],"audio/voice/bot1/slf.tsk.sensors.m4a":["audio/voice/Bot1/slf.tsk.sensors.m4a",["voice.vl2"]],"audio/voice/bot1/slf.tsk.sensors.wav":["audio/voice/Bot1/slf.tsk.sensors.wav",["voice.vl2"]],"audio/voice/bot1/slf.tsk.turrets.m4a":["audio/voice/Bot1/slf.tsk.turrets.m4a",["voice.vl2"]],"audio/voice/bot1/slf.tsk.turrets.wav":["audio/voice/Bot1/slf.tsk.turrets.wav",["voice.vl2"]],"audio/voice/bot1/slf.tsk.vehicle.m4a":["audio/voice/Bot1/slf.tsk.vehicle.m4a",["voice.vl2"]],"audio/voice/bot1/slf.tsk.vehicle.wav":["audio/voice/Bot1/slf.tsk.vehicle.WAV",["voice.vl2"]],"audio/voice/bot1/tgt.acquired.m4a":["audio/voice/Bot1/tgt.acquired.m4a",["voice.vl2"]],"audio/voice/bot1/tgt.acquired.wav":["audio/voice/Bot1/tgt.acquired.wav",["voice.vl2"]],"audio/voice/bot1/tgt.base.m4a":["audio/voice/Bot1/tgt.base.m4a",["voice.vl2"]],"audio/voice/bot1/tgt.base.wav":["audio/voice/Bot1/tgt.base.wav",["voice.vl2"]],"audio/voice/bot1/tgt.destroyed.m4a":["audio/voice/Bot1/tgt.destroyed.m4a",["voice.vl2"]],"audio/voice/bot1/tgt.destroyed.wav":["audio/voice/Bot1/tgt.destroyed.wav",["voice.vl2"]],"audio/voice/bot1/tgt.flag.m4a":["audio/voice/Bot1/tgt.flag.m4a",["voice.vl2"]],"audio/voice/bot1/tgt.flag.wav":["audio/voice/Bot1/tgt.flag.wav",["voice.vl2"]],"audio/voice/bot1/tgt.my.m4a":["audio/voice/Bot1/tgt.my.m4a",["voice.vl2"]],"audio/voice/bot1/tgt.my.wav":["audio/voice/Bot1/tgt.my.WAV",["voice.vl2"]],"audio/voice/bot1/tgt.need.m4a":["audio/voice/Bot1/tgt.need.m4a",["voice.vl2"]],"audio/voice/bot1/tgt.need.wav":["audio/voice/Bot1/tgt.need.wav",["voice.vl2"]],"audio/voice/bot1/tgt.sensors.m4a":["audio/voice/Bot1/tgt.sensors.m4a",["voice.vl2"]],"audio/voice/bot1/tgt.sensors.wav":["audio/voice/Bot1/tgt.sensors.wav",["voice.vl2"]],"audio/voice/bot1/tgt.turret.m4a":["audio/voice/Bot1/tgt.turret.m4a",["voice.vl2"]],"audio/voice/bot1/tgt.turret.wav":["audio/voice/Bot1/tgt.turret.wav",["voice.vl2"]],"audio/voice/bot1/tgt.wait.m4a":["audio/voice/Bot1/tgt.wait.m4a",["voice.vl2"]],"audio/voice/bot1/tgt.wait.wav":["audio/voice/Bot1/tgt.wait.wav",["voice.vl2"]],"audio/voice/bot1/vqk.anytime.m4a":["audio/voice/Bot1/vqk.anytime.m4a",["voice.vl2"]],"audio/voice/bot1/vqk.anytime.wav":["audio/voice/Bot1/vqk.anytime.wav",["voice.vl2"]],"audio/voice/bot1/vqk.ceasefire.m4a":["audio/voice/Bot1/vqk.ceasefire.m4a",["voice.vl2"]],"audio/voice/bot1/vqk.ceasefire.wav":["audio/voice/Bot1/vqk.ceasefire.wav",["voice.vl2"]],"audio/voice/bot1/vqk.dunno.m4a":["audio/voice/Bot1/vqk.dunno.m4a",["voice.vl2"]],"audio/voice/bot1/vqk.dunno.wav":["audio/voice/Bot1/vqk.dunno.wav",["voice.vl2"]],"audio/voice/bot1/vqk.move.m4a":["audio/voice/Bot1/vqk.move.m4a",["voice.vl2"]],"audio/voice/bot1/vqk.move.wav":["audio/voice/Bot1/vqk.move.wav",["voice.vl2"]],"audio/voice/bot1/vqk.no.m4a":["audio/voice/Bot1/vqk.no.m4a",["voice.vl2"]],"audio/voice/bot1/vqk.no.wav":["audio/voice/Bot1/vqk.no.wav",["voice.vl2"]],"audio/voice/bot1/vqk.quiet.m4a":["audio/voice/Bot1/vqk.quiet.m4a",["voice.vl2"]],"audio/voice/bot1/vqk.quiet.wav":["audio/voice/Bot1/vqk.quiet.WAV",["voice.vl2"]],"audio/voice/bot1/vqk.sorry.m4a":["audio/voice/Bot1/vqk.sorry.m4a",["voice.vl2"]],"audio/voice/bot1/vqk.sorry.wav":["audio/voice/Bot1/vqk.sorry.wav",["voice.vl2"]],"audio/voice/bot1/vqk.thanks.m4a":["audio/voice/Bot1/vqk.thanks.m4a",["voice.vl2"]],"audio/voice/bot1/vqk.thanks.wav":["audio/voice/Bot1/vqk.thanks.wav",["voice.vl2"]],"audio/voice/bot1/vqk.wait.m4a":["audio/voice/Bot1/vqk.wait.m4a",["voice.vl2"]],"audio/voice/bot1/vqk.wait.wav":["audio/voice/Bot1/vqk.wait.wav",["voice.vl2"]],"audio/voice/bot1/vqk.yes.m4a":["audio/voice/Bot1/vqk.yes.m4a",["voice.vl2"]],"audio/voice/bot1/vqk.yes.wav":["audio/voice/Bot1/vqk.yes.wav",["voice.vl2"]],"audio/voice/bot1/wrn.bomber.m4a":["audio/voice/Bot1/wrn.bomber.m4a",["voice.vl2"]],"audio/voice/bot1/wrn.bomber.wav":["audio/voice/Bot1/wrn.bomber.wav",["voice.vl2"]],"audio/voice/bot1/wrn.enemy.m4a":["audio/voice/Bot1/wrn.enemy.m4a",["voice.vl2"]],"audio/voice/bot1/wrn.enemy.wav":["audio/voice/Bot1/wrn.enemy.wav",["voice.vl2"]],"audio/voice/bot1/wrn.vehicles.m4a":["audio/voice/Bot1/wrn.vehicles.m4a",["voice.vl2"]],"audio/voice/bot1/wrn.vehicles.wav":["audio/voice/Bot1/wrn.vehicles.wav",["voice.vl2"]],"audio/voice/bot1/wrn.watchit.m4a":["audio/voice/Bot1/wrn.watchit.m4a",["voice.vl2"]],"audio/voice/bot1/wrn.watchit.wav":["audio/voice/Bot1/wrn.watchit.wav",["voice.vl2"]],"audio/voice/derm1/att.attack.m4a":["audio/voice/Derm1/att.attack.m4a",["voice.vl2"]],"audio/voice/derm1/att.attack.wav":["audio/voice/Derm1/att.attack.wav",["voice.vl2"]],"audio/voice/derm1/att.base.m4a":["audio/voice/Derm1/att.base.m4a",["voice.vl2"]],"audio/voice/derm1/att.base.wav":["audio/voice/Derm1/att.base.wav",["voice.vl2"]],"audio/voice/derm1/att.chase.m4a":["audio/voice/Derm1/att.chase.m4a",["voice.vl2"]],"audio/voice/derm1/att.chase.wav":["audio/voice/Derm1/att.chase.wav",["voice.vl2"]],"audio/voice/derm1/att.distract.m4a":["audio/voice/Derm1/att.distract.m4a",["voice.vl2"]],"audio/voice/derm1/att.distract.wav":["audio/voice/Derm1/att.distract.wav",["voice.vl2"]],"audio/voice/derm1/att.flag.m4a":["audio/voice/Derm1/att.flag.m4a",["voice.vl2"]],"audio/voice/derm1/att.flag.wav":["audio/voice/Derm1/att.flag.wav",["voice.vl2"]],"audio/voice/derm1/att.generator.m4a":["audio/voice/Derm1/att.generator.m4a",["voice.vl2"]],"audio/voice/derm1/att.generator.wav":["audio/voice/Derm1/att.generator.wav",["voice.vl2"]],"audio/voice/derm1/att.objective.m4a":["audio/voice/Derm1/att.objective.m4a",["voice.vl2"]],"audio/voice/derm1/att.objective.wav":["audio/voice/Derm1/att.objective.wav",["voice.vl2"]],"audio/voice/derm1/att.reinforcements.m4a":["audio/voice/Derm1/att.reinforcements.m4a",["voice.vl2"]],"audio/voice/derm1/att.reinforcements.wav":["audio/voice/Derm1/att.reinforcements.wav",["voice.vl2"]],"audio/voice/derm1/att.sensors.m4a":["audio/voice/Derm1/att.sensors.m4a",["voice.vl2"]],"audio/voice/derm1/att.sensors.wav":["audio/voice/Derm1/att.sensors.wav",["voice.vl2"]],"audio/voice/derm1/att.turrets.m4a":["audio/voice/Derm1/att.turrets.m4a",["voice.vl2"]],"audio/voice/derm1/att.turrets.wav":["audio/voice/Derm1/att.turrets.wav",["voice.vl2"]],"audio/voice/derm1/att.vehicle.m4a":["audio/voice/Derm1/att.vehicle.m4a",["voice.vl2"]],"audio/voice/derm1/att.vehicle.wav":["audio/voice/Derm1/att.vehicle.wav",["voice.vl2"]],"audio/voice/derm1/att.wait.m4a":["audio/voice/Derm1/att.wait.m4a",["voice.vl2"]],"audio/voice/derm1/att.wait.wav":["audio/voice/Derm1/att.wait.wav",["voice.vl2"]],"audio/voice/derm1/avo.deathcry_01.m4a":["audio/voice/Derm1/avo.deathcry_01.m4a",["voice.vl2"]],"audio/voice/derm1/avo.deathcry_01.wav":["audio/voice/Derm1/avo.deathcry_01.wav",["voice.vl2"]],"audio/voice/derm1/avo.deathcry_02.m4a":["audio/voice/Derm1/avo.deathcry_02.m4a",["voice.vl2"]],"audio/voice/derm1/avo.deathcry_02.wav":["audio/voice/Derm1/avo.deathcry_02.wav",["voice.vl2"]],"audio/voice/derm1/avo.grunt.m4a":["audio/voice/Derm1/avo.grunt.m4a",["voice.vl2"]],"audio/voice/derm1/avo.grunt.wav":["audio/voice/Derm1/avo.grunt.wav",["voice.vl2"]],"audio/voice/derm1/avo.pain.m4a":["audio/voice/Derm1/avo.pain.m4a",["voice.vl2"]],"audio/voice/derm1/avo.pain.wav":["audio/voice/Derm1/avo.pain.wav",["voice.vl2"]],"audio/voice/derm1/bas.clear.m4a":["audio/voice/Derm1/bas.clear.m4a",["voice.vl2"]],"audio/voice/derm1/bas.clear.wav":["audio/voice/Derm1/bas.clear.wav",["voice.vl2"]],"audio/voice/derm1/bas.enemy.m4a":["audio/voice/Derm1/bas.enemy.m4a",["voice.vl2"]],"audio/voice/derm1/bas.enemy.wav":["audio/voice/Derm1/bas.enemy.wav",["voice.vl2"]],"audio/voice/derm1/bas.retake.m4a":["audio/voice/Derm1/bas.retake.m4a",["voice.vl2"]],"audio/voice/derm1/bas.retake.wav":["audio/voice/Derm1/bas.retake.wav",["voice.vl2"]],"audio/voice/derm1/bas.secure.m4a":["audio/voice/Derm1/bas.secure.m4a",["voice.vl2"]],"audio/voice/derm1/bas.secure.wav":["audio/voice/Derm1/bas.secure.wav",["voice.vl2"]],"audio/voice/derm1/bas.taken.m4a":["audio/voice/Derm1/bas.taken.m4a",["voice.vl2"]],"audio/voice/derm1/bas.taken.wav":["audio/voice/Derm1/bas.taken.wav",["voice.vl2"]],"audio/voice/derm1/cmd.acknowledge.m4a":["audio/voice/Derm1/cmd.acknowledge.m4a",["voice.vl2"]],"audio/voice/derm1/cmd.acknowledge.wav":["audio/voice/Derm1/cmd.acknowledge.wav",["voice.vl2"]],"audio/voice/derm1/cmd.bot.m4a":["audio/voice/Derm1/cmd.bot.m4a",["voice.vl2"]],"audio/voice/derm1/cmd.bot.wav":["audio/voice/Derm1/cmd.bot.WAV",["voice.vl2"]],"audio/voice/derm1/cmd.completed.m4a":["audio/voice/Derm1/cmd.completed.m4a",["voice.vl2"]],"audio/voice/derm1/cmd.completed.wav":["audio/voice/Derm1/cmd.completed.wav",["voice.vl2"]],"audio/voice/derm1/cmd.decline.m4a":["audio/voice/Derm1/cmd.decline.m4a",["voice.vl2"]],"audio/voice/derm1/cmd.decline.wav":["audio/voice/Derm1/cmd.decline.wav",["voice.vl2"]],"audio/voice/derm1/def.base.m4a":["audio/voice/Derm1/def.base.m4a",["voice.vl2"]],"audio/voice/derm1/def.base.wav":["audio/voice/Derm1/def.base.wav",["voice.vl2"]],"audio/voice/derm1/def.carrier.m4a":["audio/voice/Derm1/def.carrier.m4a",["voice.vl2"]],"audio/voice/derm1/def.carrier.wav":["audio/voice/Derm1/def.carrier.wav",["voice.vl2"]],"audio/voice/derm1/def.entrances.m4a":["audio/voice/Derm1/def.entrances.m4a",["voice.vl2"]],"audio/voice/derm1/def.entrances.wav":["audio/voice/Derm1/def.entrances.wav",["voice.vl2"]],"audio/voice/derm1/def.flag.m4a":["audio/voice/Derm1/def.flag.m4a",["voice.vl2"]],"audio/voice/derm1/def.flag.wav":["audio/voice/Derm1/def.flag.wav",["voice.vl2"]],"audio/voice/derm1/def.generator.m4a":["audio/voice/Derm1/def.generator.m4a",["voice.vl2"]],"audio/voice/derm1/def.generator.wav":["audio/voice/Derm1/def.generator.wav",["voice.vl2"]],"audio/voice/derm1/def.me.m4a":["audio/voice/Derm1/def.me.m4a",["voice.vl2"]],"audio/voice/derm1/def.me.wav":["audio/voice/Derm1/def.me.wav",["voice.vl2"]],"audio/voice/derm1/def.nexus.m4a":["audio/voice/Derm1/def.nexus.m4a",["voice.vl2"]],"audio/voice/derm1/def.nexus.wav":["audio/voice/Derm1/def.nexus.wav",["voice.vl2"]],"audio/voice/derm1/def.objective.m4a":["audio/voice/Derm1/def.objective.m4a",["voice.vl2"]],"audio/voice/derm1/def.objective.wav":["audio/voice/Derm1/def.objective.wav",["voice.vl2"]],"audio/voice/derm1/def.reinforce.m4a":["audio/voice/Derm1/def.reinforce.m4a",["voice.vl2"]],"audio/voice/derm1/def.reinforce.wav":["audio/voice/Derm1/def.reinforce.wav",["voice.vl2"]],"audio/voice/derm1/def.sensors.m4a":["audio/voice/Derm1/def.sensors.m4a",["voice.vl2"]],"audio/voice/derm1/def.sensors.wav":["audio/voice/Derm1/def.sensors.wav",["voice.vl2"]],"audio/voice/derm1/def.turrets.m4a":["audio/voice/Derm1/def.turrets.m4a",["voice.vl2"]],"audio/voice/derm1/def.turrets.wav":["audio/voice/Derm1/def.turrets.wav",["voice.vl2"]],"audio/voice/derm1/def.vehicle.m4a":["audio/voice/Derm1/def.vehicle.m4a",["voice.vl2"]],"audio/voice/derm1/def.vehicle.wav":["audio/voice/Derm1/def.vehicle.wav",["voice.vl2"]],"audio/voice/derm1/ene.base.m4a":["audio/voice/Derm1/ene.base.m4a",["voice.vl2"]],"audio/voice/derm1/ene.base.wav":["audio/voice/Derm1/ene.base.wav",["voice.vl2"]],"audio/voice/derm1/ene.disarray.m4a":["audio/voice/Derm1/ene.disarray.m4a",["voice.vl2"]],"audio/voice/derm1/ene.disarray.wav":["audio/voice/Derm1/ene.disarray.wav",["voice.vl2"]],"audio/voice/derm1/ene.generator.m4a":["audio/voice/Derm1/ene.generator.m4a",["voice.vl2"]],"audio/voice/derm1/ene.generator.wav":["audio/voice/Derm1/ene.generator.wav",["voice.vl2"]],"audio/voice/derm1/ene.remotes.m4a":["audio/voice/Derm1/ene.remotes.m4a",["voice.vl2"]],"audio/voice/derm1/ene.remotes.wav":["audio/voice/Derm1/ene.remotes.wav",["voice.vl2"]],"audio/voice/derm1/ene.sensors.m4a":["audio/voice/Derm1/ene.sensors.m4a",["voice.vl2"]],"audio/voice/derm1/ene.sensors.wav":["audio/voice/Derm1/ene.sensors.wav",["voice.vl2"]],"audio/voice/derm1/ene.turrets.m4a":["audio/voice/Derm1/ene.turrets.m4a",["voice.vl2"]],"audio/voice/derm1/ene.turrets.wav":["audio/voice/Derm1/ene.turrets.wav",["voice.vl2"]],"audio/voice/derm1/ene.vehicle.m4a":["audio/voice/Derm1/ene.vehicle.m4a",["voice.vl2"]],"audio/voice/derm1/ene.vehicle.wav":["audio/voice/Derm1/ene.vehicle.wav",["voice.vl2"]],"audio/voice/derm1/flg.flag.m4a":["audio/voice/Derm1/flg.flag.m4a",["voice.vl2"]],"audio/voice/derm1/flg.flag.wav":["audio/voice/Derm1/flg.flag.WAV",["voice.vl2"]],"audio/voice/derm1/flg.give.m4a":["audio/voice/Derm1/flg.give.m4a",["voice.vl2"]],"audio/voice/derm1/flg.give.wav":["audio/voice/Derm1/flg.give.wav",["voice.vl2"]],"audio/voice/derm1/flg.huntergive.m4a":["audio/voice/Derm1/flg.huntergive.m4a",["voice.vl2"]],"audio/voice/derm1/flg.huntergive.wav":["audio/voice/Derm1/flg.huntergive.wav",["voice.vl2"]],"audio/voice/derm1/flg.huntertake.m4a":["audio/voice/Derm1/flg.huntertake.m4a",["voice.vl2"]],"audio/voice/derm1/flg.huntertake.wav":["audio/voice/Derm1/flg.huntertake.wav",["voice.vl2"]],"audio/voice/derm1/flg.retrieve.m4a":["audio/voice/Derm1/flg.retrieve.m4a",["voice.vl2"]],"audio/voice/derm1/flg.retrieve.wav":["audio/voice/Derm1/flg.retrieve.wav",["voice.vl2"]],"audio/voice/derm1/flg.secure.m4a":["audio/voice/Derm1/flg.secure.m4a",["voice.vl2"]],"audio/voice/derm1/flg.secure.wav":["audio/voice/Derm1/flg.secure.wav",["voice.vl2"]],"audio/voice/derm1/flg.take.m4a":["audio/voice/Derm1/flg.take.m4a",["voice.vl2"]],"audio/voice/derm1/flg.take.wav":["audio/voice/Derm1/flg.take.wav",["voice.vl2"]],"audio/voice/derm1/gbl.anytime.m4a":["audio/voice/Derm1/gbl.anytime.m4a",["voice.vl2"]],"audio/voice/derm1/gbl.anytime.wav":["audio/voice/Derm1/gbl.anytime.wav",["voice.vl2"]],"audio/voice/derm1/gbl.awesome.m4a":["audio/voice/Derm1/gbl.awesome.m4a",["voice.vl2"]],"audio/voice/derm1/gbl.awesome.wav":["audio/voice/Derm1/gbl.awesome.wav",["voice.vl2"]],"audio/voice/derm1/gbl.aww.m4a":["audio/voice/Derm1/gbl.aww.m4a",["voice.vl2"]],"audio/voice/derm1/gbl.aww.wav":["audio/voice/Derm1/gbl.aww.wav",["voice.vl2"]],"audio/voice/derm1/gbl.brag.m4a":["audio/voice/Derm1/gbl.brag.m4a",["voice.vl2"]],"audio/voice/derm1/gbl.brag.wav":["audio/voice/Derm1/gbl.brag.wav",["voice.vl2"]],"audio/voice/derm1/gbl.bye.m4a":["audio/voice/Derm1/gbl.bye.m4a",["voice.vl2"]],"audio/voice/derm1/gbl.bye.wav":["audio/voice/Derm1/gbl.bye.wav",["voice.vl2"]],"audio/voice/derm1/gbl.dunno.m4a":["audio/voice/Derm1/gbl.dunno.m4a",["voice.vl2"]],"audio/voice/derm1/gbl.dunno.wav":["audio/voice/Derm1/gbl.dunno.wav",["voice.vl2"]],"audio/voice/derm1/gbl.goodgame.m4a":["audio/voice/Derm1/gbl.goodgame.m4a",["voice.vl2"]],"audio/voice/derm1/gbl.goodgame.wav":["audio/voice/Derm1/gbl.goodgame.wav",["voice.vl2"]],"audio/voice/derm1/gbl.hi.m4a":["audio/voice/Derm1/gbl.hi.m4a",["voice.vl2"]],"audio/voice/derm1/gbl.hi.wav":["audio/voice/Derm1/gbl.hi.wav",["voice.vl2"]],"audio/voice/derm1/gbl.nice.m4a":["audio/voice/Derm1/gbl.nice.m4a",["voice.vl2"]],"audio/voice/derm1/gbl.nice.wav":["audio/voice/Derm1/gbl.nice.wav",["voice.vl2"]],"audio/voice/derm1/gbl.no.m4a":["audio/voice/Derm1/gbl.no.m4a",["voice.vl2"]],"audio/voice/derm1/gbl.no.wav":["audio/voice/Derm1/gbl.no.wav",["voice.vl2"]],"audio/voice/derm1/gbl.obnoxious.m4a":["audio/voice/Derm1/gbl.obnoxious.m4a",["voice.vl2"]],"audio/voice/derm1/gbl.obnoxious.wav":["audio/voice/Derm1/gbl.obnoxious.wav",["voice.vl2"]],"audio/voice/derm1/gbl.oops.m4a":["audio/voice/Derm1/gbl.oops.m4a",["voice.vl2"]],"audio/voice/derm1/gbl.oops.wav":["audio/voice/Derm1/gbl.oops.wav",["voice.vl2"]],"audio/voice/derm1/gbl.quiet.m4a":["audio/voice/Derm1/gbl.quiet.m4a",["voice.vl2"]],"audio/voice/derm1/gbl.quiet.wav":["audio/voice/Derm1/gbl.quiet.WAV",["voice.vl2"]],"audio/voice/derm1/gbl.rock.m4a":["audio/voice/Derm1/gbl.rock.m4a",["voice.vl2"]],"audio/voice/derm1/gbl.rock.wav":["audio/voice/Derm1/gbl.rock.WAV",["voice.vl2"]],"audio/voice/derm1/gbl.sarcasm.m4a":["audio/voice/Derm1/gbl.sarcasm.m4a",["voice.vl2"]],"audio/voice/derm1/gbl.sarcasm.wav":["audio/voice/Derm1/gbl.sarcasm.WAV",["voice.vl2"]],"audio/voice/derm1/gbl.shazbot.m4a":["audio/voice/Derm1/gbl.shazbot.m4a",["voice.vl2"]],"audio/voice/derm1/gbl.shazbot.wav":["audio/voice/Derm1/gbl.shazbot.wav",["voice.vl2"]],"audio/voice/derm1/gbl.shooting.m4a":["audio/voice/Derm1/gbl.shooting.m4a",["voice.vl2"]],"audio/voice/derm1/gbl.shooting.wav":["audio/voice/Derm1/gbl.shooting.WAV",["voice.vl2"]],"audio/voice/derm1/gbl.thanks.m4a":["audio/voice/Derm1/gbl.thanks.m4a",["voice.vl2"]],"audio/voice/derm1/gbl.thanks.wav":["audio/voice/Derm1/gbl.thanks.wav",["voice.vl2"]],"audio/voice/derm1/gbl.wait.m4a":["audio/voice/Derm1/gbl.wait.m4a",["voice.vl2"]],"audio/voice/derm1/gbl.wait.wav":["audio/voice/Derm1/gbl.wait.wav",["voice.vl2"]],"audio/voice/derm1/gbl.when.m4a":["audio/voice/Derm1/gbl.when.m4a",["voice.vl2"]],"audio/voice/derm1/gbl.when.wav":["audio/voice/Derm1/gbl.when.wav",["voice.vl2"]],"audio/voice/derm1/gbl.woohoo.m4a":["audio/voice/Derm1/gbl.woohoo.m4a",["voice.vl2"]],"audio/voice/derm1/gbl.woohoo.wav":["audio/voice/Derm1/gbl.woohoo.wav",["voice.vl2"]],"audio/voice/derm1/gbl.yes.m4a":["audio/voice/Derm1/gbl.yes.m4a",["voice.vl2"]],"audio/voice/derm1/gbl.yes.wav":["audio/voice/Derm1/gbl.yes.wav",["voice.vl2"]],"audio/voice/derm1/need.bombardier.m4a":["audio/voice/Derm1/need.bombardier.m4a",["voice.vl2"]],"audio/voice/derm1/need.bombardier.wav":["audio/voice/Derm1/need.bombardier.wav",["voice.vl2"]],"audio/voice/derm1/need.cover.m4a":["audio/voice/Derm1/need.cover.m4a",["voice.vl2"]],"audio/voice/derm1/need.cover.wav":["audio/voice/Derm1/need.cover.WAV",["voice.vl2"]],"audio/voice/derm1/need.driver.m4a":["audio/voice/Derm1/need.driver.m4a",["voice.vl2"]],"audio/voice/derm1/need.driver.wav":["audio/voice/Derm1/need.driver.wav",["voice.vl2"]],"audio/voice/derm1/need.escort.m4a":["audio/voice/Derm1/need.escort.m4a",["voice.vl2"]],"audio/voice/derm1/need.escort.wav":["audio/voice/Derm1/need.escort.wav",["voice.vl2"]],"audio/voice/derm1/need.flyer.m4a":["audio/voice/Derm1/need.flyer.m4a",["voice.vl2"]],"audio/voice/derm1/need.flyer.wav":["audio/voice/Derm1/need.flyer.WAV",["voice.vl2"]],"audio/voice/derm1/need.gunship.m4a":["audio/voice/Derm1/need.gunship.m4a",["voice.vl2"]],"audio/voice/derm1/need.gunship.wav":["audio/voice/Derm1/need.gunship.WAV",["voice.vl2"]],"audio/voice/derm1/need.hold.m4a":["audio/voice/Derm1/need.hold.m4a",["voice.vl2"]],"audio/voice/derm1/need.hold.wav":["audio/voice/Derm1/need.hold.wav",["voice.vl2"]],"audio/voice/derm1/need.ride.m4a":["audio/voice/Derm1/need.ride.m4a",["voice.vl2"]],"audio/voice/derm1/need.ride.wav":["audio/voice/Derm1/need.ride.WAV",["voice.vl2"]],"audio/voice/derm1/need.support.m4a":["audio/voice/Derm1/need.support.m4a",["voice.vl2"]],"audio/voice/derm1/need.support.wav":["audio/voice/Derm1/need.support.wav",["voice.vl2"]],"audio/voice/derm1/need.tailgunner.m4a":["audio/voice/Derm1/need.tailgunner.m4a",["voice.vl2"]],"audio/voice/derm1/need.tailgunner.wav":["audio/voice/Derm1/need.tailgunner.wav",["voice.vl2"]],"audio/voice/derm1/need.where.m4a":["audio/voice/Derm1/need.where.m4a",["voice.vl2"]],"audio/voice/derm1/need.where.wav":["audio/voice/Derm1/need.where.wav",["voice.vl2"]],"audio/voice/derm1/rep.base.m4a":["audio/voice/Derm1/rep.base.m4a",["voice.vl2"]],"audio/voice/derm1/rep.base.wav":["audio/voice/Derm1/rep.base.wav",["voice.vl2"]],"audio/voice/derm1/rep.generator.m4a":["audio/voice/Derm1/rep.generator.m4a",["voice.vl2"]],"audio/voice/derm1/rep.generator.wav":["audio/voice/Derm1/rep.generator.wav",["voice.vl2"]],"audio/voice/derm1/rep.me.m4a":["audio/voice/Derm1/rep.me.m4a",["voice.vl2"]],"audio/voice/derm1/rep.me.wav":["audio/voice/Derm1/rep.me.wav",["voice.vl2"]],"audio/voice/derm1/rep.sensors.m4a":["audio/voice/Derm1/rep.sensors.m4a",["voice.vl2"]],"audio/voice/derm1/rep.sensors.wav":["audio/voice/Derm1/rep.sensors.wav",["voice.vl2"]],"audio/voice/derm1/rep.turrets.m4a":["audio/voice/Derm1/rep.turrets.m4a",["voice.vl2"]],"audio/voice/derm1/rep.turrets.wav":["audio/voice/Derm1/rep.turrets.wav",["voice.vl2"]],"audio/voice/derm1/rep.vehicle.m4a":["audio/voice/Derm1/rep.vehicle.m4a",["voice.vl2"]],"audio/voice/derm1/rep.vehicle.wav":["audio/voice/Derm1/rep.vehicle.wav",["voice.vl2"]],"audio/voice/derm1/slf.att.attack.m4a":["audio/voice/Derm1/slf.att.attack.m4a",["voice.vl2"]],"audio/voice/derm1/slf.att.attack.wav":["audio/voice/Derm1/slf.att.attack.wav",["voice.vl2"]],"audio/voice/derm1/slf.att.base.m4a":["audio/voice/Derm1/slf.att.base.m4a",["voice.vl2"]],"audio/voice/derm1/slf.att.base.wav":["audio/voice/Derm1/slf.att.base.wav",["voice.vl2"]],"audio/voice/derm1/slf.att.flag.m4a":["audio/voice/Derm1/slf.att.flag.m4a",["voice.vl2"]],"audio/voice/derm1/slf.att.flag.wav":["audio/voice/Derm1/slf.att.flag.wav",["voice.vl2"]],"audio/voice/derm1/slf.att.generator.m4a":["audio/voice/Derm1/slf.att.generator.m4a",["voice.vl2"]],"audio/voice/derm1/slf.att.generator.wav":["audio/voice/Derm1/slf.att.generator.wav",["voice.vl2"]],"audio/voice/derm1/slf.att.sensors.m4a":["audio/voice/Derm1/slf.att.sensors.m4a",["voice.vl2"]],"audio/voice/derm1/slf.att.sensors.wav":["audio/voice/Derm1/slf.att.sensors.wav",["voice.vl2"]],"audio/voice/derm1/slf.att.turrets.m4a":["audio/voice/Derm1/slf.att.turrets.m4a",["voice.vl2"]],"audio/voice/derm1/slf.att.turrets.wav":["audio/voice/Derm1/slf.att.turrets.wav",["voice.vl2"]],"audio/voice/derm1/slf.att.vehicle.m4a":["audio/voice/Derm1/slf.att.vehicle.m4a",["voice.vl2"]],"audio/voice/derm1/slf.att.vehicle.wav":["audio/voice/Derm1/slf.att.vehicle.wav",["voice.vl2"]],"audio/voice/derm1/slf.def.base.m4a":["audio/voice/Derm1/slf.def.base.m4a",["voice.vl2"]],"audio/voice/derm1/slf.def.base.wav":["audio/voice/Derm1/slf.def.base.wav",["voice.vl2"]],"audio/voice/derm1/slf.def.defend.m4a":["audio/voice/Derm1/slf.def.defend.m4a",["voice.vl2"]],"audio/voice/derm1/slf.def.defend.wav":["audio/voice/Derm1/slf.def.defend.wav",["voice.vl2"]],"audio/voice/derm1/slf.def.flag.m4a":["audio/voice/Derm1/slf.def.flag.m4a",["voice.vl2"]],"audio/voice/derm1/slf.def.flag.wav":["audio/voice/Derm1/slf.def.flag.wav",["voice.vl2"]],"audio/voice/derm1/slf.def.generator.m4a":["audio/voice/Derm1/slf.def.generator.m4a",["voice.vl2"]],"audio/voice/derm1/slf.def.generator.wav":["audio/voice/Derm1/slf.def.generator.wav",["voice.vl2"]],"audio/voice/derm1/slf.def.nexus.m4a":["audio/voice/Derm1/slf.def.nexus.m4a",["voice.vl2"]],"audio/voice/derm1/slf.def.nexus.wav":["audio/voice/Derm1/slf.def.nexus.wav",["voice.vl2"]],"audio/voice/derm1/slf.def.sensors.m4a":["audio/voice/Derm1/slf.def.sensors.m4a",["voice.vl2"]],"audio/voice/derm1/slf.def.sensors.wav":["audio/voice/Derm1/slf.def.sensors.wav",["voice.vl2"]],"audio/voice/derm1/slf.def.turrets.m4a":["audio/voice/Derm1/slf.def.turrets.m4a",["voice.vl2"]],"audio/voice/derm1/slf.def.turrets.wav":["audio/voice/Derm1/slf.def.turrets.wav",["voice.vl2"]],"audio/voice/derm1/slf.def.vehicle.m4a":["audio/voice/Derm1/slf.def.vehicle.m4a",["voice.vl2"]],"audio/voice/derm1/slf.def.vehicle.wav":["audio/voice/Derm1/slf.def.vehicle.wav",["voice.vl2"]],"audio/voice/derm1/slf.rep.base.m4a":["audio/voice/Derm1/slf.rep.base.m4a",["voice.vl2"]],"audio/voice/derm1/slf.rep.base.wav":["audio/voice/Derm1/slf.rep.base.wav",["voice.vl2"]],"audio/voice/derm1/slf.rep.equipment.m4a":["audio/voice/Derm1/slf.rep.equipment.m4a",["voice.vl2"]],"audio/voice/derm1/slf.rep.equipment.wav":["audio/voice/Derm1/slf.rep.equipment.wav",["voice.vl2"]],"audio/voice/derm1/slf.rep.generator.m4a":["audio/voice/Derm1/slf.rep.generator.m4a",["voice.vl2"]],"audio/voice/derm1/slf.rep.generator.wav":["audio/voice/Derm1/slf.rep.generator.wav",["voice.vl2"]],"audio/voice/derm1/slf.rep.repairing.m4a":["audio/voice/Derm1/slf.rep.repairing.m4a",["voice.vl2"]],"audio/voice/derm1/slf.rep.repairing.wav":["audio/voice/Derm1/slf.rep.repairing.wav",["voice.vl2"]],"audio/voice/derm1/slf.rep.sensors.m4a":["audio/voice/Derm1/slf.rep.sensors.m4a",["voice.vl2"]],"audio/voice/derm1/slf.rep.sensors.wav":["audio/voice/Derm1/slf.rep.sensors.wav",["voice.vl2"]],"audio/voice/derm1/slf.rep.turrets.m4a":["audio/voice/Derm1/slf.rep.turrets.m4a",["voice.vl2"]],"audio/voice/derm1/slf.rep.turrets.wav":["audio/voice/Derm1/slf.rep.turrets.wav",["voice.vl2"]],"audio/voice/derm1/slf.rep.vehicle.m4a":["audio/voice/Derm1/slf.rep.vehicle.m4a",["voice.vl2"]],"audio/voice/derm1/slf.rep.vehicle.wav":["audio/voice/Derm1/slf.rep.vehicle.wav",["voice.vl2"]],"audio/voice/derm1/slf.tsk.cover.m4a":["audio/voice/Derm1/slf.tsk.cover.m4a",["voice.vl2"]],"audio/voice/derm1/slf.tsk.cover.wav":["audio/voice/Derm1/slf.tsk.cover.WAV",["voice.vl2"]],"audio/voice/derm1/slf.tsk.defense.m4a":["audio/voice/Derm1/slf.tsk.defense.m4a",["voice.vl2"]],"audio/voice/derm1/slf.tsk.defense.wav":["audio/voice/Derm1/slf.tsk.defense.wav",["voice.vl2"]],"audio/voice/derm1/slf.tsk.generic.m4a":["audio/voice/Derm1/slf.tsk.generic.m4a",["voice.vl2"]],"audio/voice/derm1/slf.tsk.generic.wav":["audio/voice/Derm1/slf.tsk.generic.WAV",["voice.vl2"]],"audio/voice/derm1/slf.tsk.remotes.m4a":["audio/voice/Derm1/slf.tsk.remotes.m4a",["voice.vl2"]],"audio/voice/derm1/slf.tsk.remotes.wav":["audio/voice/Derm1/slf.tsk.remotes.wav",["voice.vl2"]],"audio/voice/derm1/slf.tsk.sensors.m4a":["audio/voice/Derm1/slf.tsk.sensors.m4a",["voice.vl2"]],"audio/voice/derm1/slf.tsk.sensors.wav":["audio/voice/Derm1/slf.tsk.sensors.wav",["voice.vl2"]],"audio/voice/derm1/slf.tsk.turrets.m4a":["audio/voice/Derm1/slf.tsk.turrets.m4a",["voice.vl2"]],"audio/voice/derm1/slf.tsk.turrets.wav":["audio/voice/Derm1/slf.tsk.turrets.wav",["voice.vl2"]],"audio/voice/derm1/slf.tsk.vehicle.m4a":["audio/voice/Derm1/slf.tsk.vehicle.m4a",["voice.vl2"]],"audio/voice/derm1/slf.tsk.vehicle.wav":["audio/voice/Derm1/slf.tsk.vehicle.WAV",["voice.vl2"]],"audio/voice/derm1/tgt.acquired.m4a":["audio/voice/Derm1/tgt.acquired.m4a",["voice.vl2"]],"audio/voice/derm1/tgt.acquired.wav":["audio/voice/Derm1/tgt.acquired.wav",["voice.vl2"]],"audio/voice/derm1/tgt.base.m4a":["audio/voice/Derm1/tgt.base.m4a",["voice.vl2"]],"audio/voice/derm1/tgt.base.wav":["audio/voice/Derm1/tgt.base.wav",["voice.vl2"]],"audio/voice/derm1/tgt.destroyed.m4a":["audio/voice/Derm1/tgt.destroyed.m4a",["voice.vl2"]],"audio/voice/derm1/tgt.destroyed.wav":["audio/voice/Derm1/tgt.destroyed.wav",["voice.vl2"]],"audio/voice/derm1/tgt.flag.m4a":["audio/voice/Derm1/tgt.flag.m4a",["voice.vl2"]],"audio/voice/derm1/tgt.flag.wav":["audio/voice/Derm1/tgt.flag.wav",["voice.vl2"]],"audio/voice/derm1/tgt.my.m4a":["audio/voice/Derm1/tgt.my.m4a",["voice.vl2"]],"audio/voice/derm1/tgt.my.wav":["audio/voice/Derm1/tgt.my.WAV",["voice.vl2"]],"audio/voice/derm1/tgt.need.m4a":["audio/voice/Derm1/tgt.need.m4a",["voice.vl2"]],"audio/voice/derm1/tgt.need.wav":["audio/voice/Derm1/tgt.need.wav",["voice.vl2"]],"audio/voice/derm1/tgt.sensors.m4a":["audio/voice/Derm1/tgt.sensors.m4a",["voice.vl2"]],"audio/voice/derm1/tgt.sensors.wav":["audio/voice/Derm1/tgt.sensors.wav",["voice.vl2"]],"audio/voice/derm1/tgt.turret.m4a":["audio/voice/Derm1/tgt.turret.m4a",["voice.vl2"]],"audio/voice/derm1/tgt.turret.wav":["audio/voice/Derm1/tgt.turret.wav",["voice.vl2"]],"audio/voice/derm1/tgt.wait.m4a":["audio/voice/Derm1/tgt.wait.m4a",["voice.vl2"]],"audio/voice/derm1/tgt.wait.wav":["audio/voice/Derm1/tgt.wait.wav",["voice.vl2"]],"audio/voice/derm1/vqk.anytime.m4a":["audio/voice/Derm1/vqk.anytime.m4a",["voice.vl2"]],"audio/voice/derm1/vqk.anytime.wav":["audio/voice/Derm1/vqk.anytime.wav",["voice.vl2"]],"audio/voice/derm1/vqk.base.m4a":["audio/voice/Derm1/vqk.base.m4a",["voice.vl2"]],"audio/voice/derm1/vqk.base.wav":["audio/voice/Derm1/vqk.base.wav",["voice.vl2"]],"audio/voice/derm1/vqk.ceasefire.m4a":["audio/voice/Derm1/vqk.ceasefire.m4a",["voice.vl2"]],"audio/voice/derm1/vqk.ceasefire.wav":["audio/voice/Derm1/vqk.ceasefire.wav",["voice.vl2"]],"audio/voice/derm1/vqk.dunno.m4a":["audio/voice/Derm1/vqk.dunno.m4a",["voice.vl2"]],"audio/voice/derm1/vqk.dunno.wav":["audio/voice/Derm1/vqk.dunno.wav",["voice.vl2"]],"audio/voice/derm1/vqk.help.m4a":["audio/voice/Derm1/vqk.help.m4a",["voice.vl2"]],"audio/voice/derm1/vqk.help.wav":["audio/voice/Derm1/vqk.help.wav",["voice.vl2"]],"audio/voice/derm1/vqk.move.m4a":["audio/voice/Derm1/vqk.move.m4a",["voice.vl2"]],"audio/voice/derm1/vqk.move.wav":["audio/voice/Derm1/vqk.move.wav",["voice.vl2"]],"audio/voice/derm1/vqk.no.m4a":["audio/voice/Derm1/vqk.no.m4a",["voice.vl2"]],"audio/voice/derm1/vqk.no.wav":["audio/voice/Derm1/vqk.no.wav",["voice.vl2"]],"audio/voice/derm1/vqk.quiet.m4a":["audio/voice/Derm1/vqk.quiet.m4a",["voice.vl2"]],"audio/voice/derm1/vqk.quiet.wav":["audio/voice/Derm1/vqk.quiet.WAV",["voice.vl2"]],"audio/voice/derm1/vqk.sorry.m4a":["audio/voice/Derm1/vqk.sorry.m4a",["voice.vl2"]],"audio/voice/derm1/vqk.sorry.wav":["audio/voice/Derm1/vqk.sorry.wav",["voice.vl2"]],"audio/voice/derm1/vqk.thanks.m4a":["audio/voice/Derm1/vqk.thanks.m4a",["voice.vl2"]],"audio/voice/derm1/vqk.thanks.wav":["audio/voice/Derm1/vqk.thanks.wav",["voice.vl2"]],"audio/voice/derm1/vqk.wait.m4a":["audio/voice/Derm1/vqk.wait.m4a",["voice.vl2"]],"audio/voice/derm1/vqk.wait.wav":["audio/voice/Derm1/vqk.wait.wav",["voice.vl2"]],"audio/voice/derm1/vqk.yes.m4a":["audio/voice/Derm1/vqk.yes.m4a",["voice.vl2"]],"audio/voice/derm1/vqk.yes.wav":["audio/voice/Derm1/vqk.yes.wav",["voice.vl2"]],"audio/voice/derm1/wrn.bomber.m4a":["audio/voice/Derm1/wrn.bomber.m4a",["voice.vl2"]],"audio/voice/derm1/wrn.bomber.wav":["audio/voice/Derm1/wrn.bomber.wav",["voice.vl2"]],"audio/voice/derm1/wrn.enemy.m4a":["audio/voice/Derm1/wrn.enemy.m4a",["voice.vl2"]],"audio/voice/derm1/wrn.enemy.wav":["audio/voice/Derm1/wrn.enemy.wav",["voice.vl2"]],"audio/voice/derm1/wrn.vehicles.m4a":["audio/voice/Derm1/wrn.vehicles.m4a",["voice.vl2"]],"audio/voice/derm1/wrn.vehicles.wav":["audio/voice/Derm1/wrn.vehicles.wav",["voice.vl2"]],"audio/voice/derm1/wrn.watchit.m4a":["audio/voice/Derm1/wrn.watchit.m4a",["voice.vl2"]],"audio/voice/derm1/wrn.watchit.wav":["audio/voice/Derm1/wrn.watchit.wav",["voice.vl2"]],"audio/voice/derm2/att.attack.m4a":["audio/voice/Derm2/att.attack.m4a",["voice.vl2"]],"audio/voice/derm2/att.attack.wav":["audio/voice/Derm2/att.attack.WAV",["voice.vl2"]],"audio/voice/derm2/att.base.m4a":["audio/voice/Derm2/att.base.m4a",["voice.vl2"]],"audio/voice/derm2/att.base.wav":["audio/voice/Derm2/att.base.WAV",["voice.vl2"]],"audio/voice/derm2/att.chase.m4a":["audio/voice/Derm2/att.chase.m4a",["voice.vl2"]],"audio/voice/derm2/att.chase.wav":["audio/voice/Derm2/att.chase.WAV",["voice.vl2"]],"audio/voice/derm2/att.distract.m4a":["audio/voice/Derm2/att.distract.m4a",["voice.vl2"]],"audio/voice/derm2/att.distract.wav":["audio/voice/Derm2/att.distract.WAV",["voice.vl2"]],"audio/voice/derm2/att.flag.m4a":["audio/voice/Derm2/att.flag.m4a",["voice.vl2"]],"audio/voice/derm2/att.flag.wav":["audio/voice/Derm2/att.flag.WAV",["voice.vl2"]],"audio/voice/derm2/att.generator.m4a":["audio/voice/Derm2/att.generator.m4a",["voice.vl2"]],"audio/voice/derm2/att.generator.wav":["audio/voice/Derm2/att.generator.WAV",["voice.vl2"]],"audio/voice/derm2/att.objective.m4a":["audio/voice/Derm2/att.objective.m4a",["voice.vl2"]],"audio/voice/derm2/att.objective.wav":["audio/voice/Derm2/att.objective.WAV",["voice.vl2"]],"audio/voice/derm2/att.reinforcements.m4a":["audio/voice/Derm2/att.reinforcements.m4a",["voice.vl2"]],"audio/voice/derm2/att.reinforcements.wav":["audio/voice/Derm2/att.reinforcements.WAV",["voice.vl2"]],"audio/voice/derm2/att.sensors.m4a":["audio/voice/Derm2/att.sensors.m4a",["voice.vl2"]],"audio/voice/derm2/att.sensors.wav":["audio/voice/Derm2/att.sensors.WAV",["voice.vl2"]],"audio/voice/derm2/att.turrets.m4a":["audio/voice/Derm2/att.turrets.m4a",["voice.vl2"]],"audio/voice/derm2/att.turrets.wav":["audio/voice/Derm2/att.turrets.WAV",["voice.vl2"]],"audio/voice/derm2/att.vehicle.m4a":["audio/voice/Derm2/att.vehicle.m4a",["voice.vl2"]],"audio/voice/derm2/att.vehicle.wav":["audio/voice/Derm2/att.vehicle.WAV",["voice.vl2"]],"audio/voice/derm2/att.wait.m4a":["audio/voice/Derm2/att.wait.m4a",["voice.vl2"]],"audio/voice/derm2/att.wait.wav":["audio/voice/Derm2/att.wait.WAV",["voice.vl2"]],"audio/voice/derm2/avo.deathcry_01.m4a":["audio/voice/Derm2/avo.deathcry_01.m4a",["voice.vl2"]],"audio/voice/derm2/avo.deathcry_01.wav":["audio/voice/Derm2/avo.deathcry_01.WAV",["voice.vl2"]],"audio/voice/derm2/avo.deathcry_02.m4a":["audio/voice/Derm2/avo.deathcry_02.m4a",["voice.vl2"]],"audio/voice/derm2/avo.deathcry_02.wav":["audio/voice/Derm2/avo.deathcry_02.WAV",["voice.vl2"]],"audio/voice/derm2/avo.grunt.m4a":["audio/voice/Derm2/avo.grunt.m4a",["voice.vl2"]],"audio/voice/derm2/avo.grunt.wav":["audio/voice/Derm2/avo.grunt.WAV",["voice.vl2"]],"audio/voice/derm2/avo.pain.m4a":["audio/voice/Derm2/avo.pain.m4a",["voice.vl2"]],"audio/voice/derm2/avo.pain.wav":["audio/voice/Derm2/avo.pain.WAV",["voice.vl2"]],"audio/voice/derm2/bas.clear.m4a":["audio/voice/Derm2/bas.clear.m4a",["voice.vl2"]],"audio/voice/derm2/bas.clear.wav":["audio/voice/Derm2/bas.clear.WAV",["voice.vl2"]],"audio/voice/derm2/bas.enemy.m4a":["audio/voice/Derm2/bas.enemy.m4a",["voice.vl2"]],"audio/voice/derm2/bas.enemy.wav":["audio/voice/Derm2/bas.enemy.WAV",["voice.vl2"]],"audio/voice/derm2/bas.retake.m4a":["audio/voice/Derm2/bas.retake.m4a",["voice.vl2"]],"audio/voice/derm2/bas.retake.wav":["audio/voice/Derm2/bas.retake.WAV",["voice.vl2"]],"audio/voice/derm2/bas.secure.m4a":["audio/voice/Derm2/bas.secure.m4a",["voice.vl2"]],"audio/voice/derm2/bas.secure.wav":["audio/voice/Derm2/bas.secure.WAV",["voice.vl2"]],"audio/voice/derm2/bas.taken.m4a":["audio/voice/Derm2/bas.taken.m4a",["voice.vl2"]],"audio/voice/derm2/bas.taken.wav":["audio/voice/Derm2/bas.taken.WAV",["voice.vl2"]],"audio/voice/derm2/cmd.acknowledge.m4a":["audio/voice/Derm2/cmd.acknowledge.m4a",["voice.vl2"]],"audio/voice/derm2/cmd.acknowledge.wav":["audio/voice/Derm2/cmd.acknowledge.WAV",["voice.vl2"]],"audio/voice/derm2/cmd.bot.m4a":["audio/voice/Derm2/cmd.bot.m4a",["voice.vl2"]],"audio/voice/derm2/cmd.bot.wav":["audio/voice/Derm2/cmd.bot.WAV",["voice.vl2"]],"audio/voice/derm2/cmd.completed.m4a":["audio/voice/Derm2/cmd.completed.m4a",["voice.vl2"]],"audio/voice/derm2/cmd.completed.wav":["audio/voice/Derm2/cmd.completed.WAV",["voice.vl2"]],"audio/voice/derm2/cmd.decline.m4a":["audio/voice/Derm2/cmd.decline.m4a",["voice.vl2"]],"audio/voice/derm2/cmd.decline.wav":["audio/voice/Derm2/cmd.decline.WAV",["voice.vl2"]],"audio/voice/derm2/def.base.m4a":["audio/voice/Derm2/def.base.m4a",["voice.vl2"]],"audio/voice/derm2/def.base.wav":["audio/voice/Derm2/def.base.WAV",["voice.vl2"]],"audio/voice/derm2/def.carrier.m4a":["audio/voice/Derm2/def.carrier.m4a",["voice.vl2"]],"audio/voice/derm2/def.carrier.wav":["audio/voice/Derm2/def.carrier.WAV",["voice.vl2"]],"audio/voice/derm2/def.entrances.m4a":["audio/voice/Derm2/def.entrances.m4a",["voice.vl2"]],"audio/voice/derm2/def.entrances.wav":["audio/voice/Derm2/def.entrances.WAV",["voice.vl2"]],"audio/voice/derm2/def.flag.m4a":["audio/voice/Derm2/def.flag.m4a",["voice.vl2"]],"audio/voice/derm2/def.flag.wav":["audio/voice/Derm2/def.flag.WAV",["voice.vl2"]],"audio/voice/derm2/def.generator.m4a":["audio/voice/Derm2/def.generator.m4a",["voice.vl2"]],"audio/voice/derm2/def.generator.wav":["audio/voice/Derm2/def.generator.WAV",["voice.vl2"]],"audio/voice/derm2/def.me.m4a":["audio/voice/Derm2/def.me.m4a",["voice.vl2"]],"audio/voice/derm2/def.me.wav":["audio/voice/Derm2/def.me.WAV",["voice.vl2"]],"audio/voice/derm2/def.nexus.m4a":["audio/voice/Derm2/def.nexus.m4a",["voice.vl2"]],"audio/voice/derm2/def.nexus.wav":["audio/voice/Derm2/def.nexus.WAV",["voice.vl2"]],"audio/voice/derm2/def.objective.m4a":["audio/voice/Derm2/def.objective.m4a",["voice.vl2"]],"audio/voice/derm2/def.objective.wav":["audio/voice/Derm2/def.objective.WAV",["voice.vl2"]],"audio/voice/derm2/def.reinforce.m4a":["audio/voice/Derm2/def.reinforce.m4a",["voice.vl2"]],"audio/voice/derm2/def.reinforce.wav":["audio/voice/Derm2/def.reinforce.WAV",["voice.vl2"]],"audio/voice/derm2/def.sensors.m4a":["audio/voice/Derm2/def.sensors.m4a",["voice.vl2"]],"audio/voice/derm2/def.sensors.wav":["audio/voice/Derm2/def.sensors.WAV",["voice.vl2"]],"audio/voice/derm2/def.turrets.m4a":["audio/voice/Derm2/def.turrets.m4a",["voice.vl2"]],"audio/voice/derm2/def.turrets.wav":["audio/voice/Derm2/def.turrets.WAV",["voice.vl2"]],"audio/voice/derm2/def.vehicle.m4a":["audio/voice/Derm2/def.vehicle.m4a",["voice.vl2"]],"audio/voice/derm2/def.vehicle.wav":["audio/voice/Derm2/def.vehicle.WAV",["voice.vl2"]],"audio/voice/derm2/ene.base.m4a":["audio/voice/Derm2/ene.base.m4a",["voice.vl2"]],"audio/voice/derm2/ene.base.wav":["audio/voice/Derm2/ene.base.WAV",["voice.vl2"]],"audio/voice/derm2/ene.disarray.m4a":["audio/voice/Derm2/ene.disarray.m4a",["voice.vl2"]],"audio/voice/derm2/ene.disarray.wav":["audio/voice/Derm2/ene.disarray.WAV",["voice.vl2"]],"audio/voice/derm2/ene.generator.m4a":["audio/voice/Derm2/ene.generator.m4a",["voice.vl2"]],"audio/voice/derm2/ene.generator.wav":["audio/voice/Derm2/ene.generator.WAV",["voice.vl2"]],"audio/voice/derm2/ene.remotes.m4a":["audio/voice/Derm2/ene.remotes.m4a",["voice.vl2"]],"audio/voice/derm2/ene.remotes.wav":["audio/voice/Derm2/ene.remotes.WAV",["voice.vl2"]],"audio/voice/derm2/ene.sensors.m4a":["audio/voice/Derm2/ene.sensors.m4a",["voice.vl2"]],"audio/voice/derm2/ene.sensors.wav":["audio/voice/Derm2/ene.sensors.WAV",["voice.vl2"]],"audio/voice/derm2/ene.turrets.m4a":["audio/voice/Derm2/ene.turrets.m4a",["voice.vl2"]],"audio/voice/derm2/ene.turrets.wav":["audio/voice/Derm2/ene.turrets.WAV",["voice.vl2"]],"audio/voice/derm2/ene.vehicle.m4a":["audio/voice/Derm2/ene.vehicle.m4a",["voice.vl2"]],"audio/voice/derm2/ene.vehicle.wav":["audio/voice/Derm2/ene.vehicle.WAV",["voice.vl2"]],"audio/voice/derm2/flg.flag.m4a":["audio/voice/Derm2/flg.flag.m4a",["voice.vl2"]],"audio/voice/derm2/flg.flag.wav":["audio/voice/Derm2/flg.flag.WAV",["voice.vl2"]],"audio/voice/derm2/flg.give.m4a":["audio/voice/Derm2/flg.give.m4a",["voice.vl2"]],"audio/voice/derm2/flg.give.wav":["audio/voice/Derm2/flg.give.WAV",["voice.vl2"]],"audio/voice/derm2/flg.huntergive.m4a":["audio/voice/Derm2/flg.huntergive.m4a",["voice.vl2"]],"audio/voice/derm2/flg.huntergive.wav":["audio/voice/Derm2/flg.huntergive.WAV",["voice.vl2"]],"audio/voice/derm2/flg.huntertake.m4a":["audio/voice/Derm2/flg.huntertake.m4a",["voice.vl2"]],"audio/voice/derm2/flg.huntertake.wav":["audio/voice/Derm2/flg.huntertake.WAV",["voice.vl2"]],"audio/voice/derm2/flg.retrieve.m4a":["audio/voice/Derm2/flg.retrieve.m4a",["voice.vl2"]],"audio/voice/derm2/flg.retrieve.wav":["audio/voice/Derm2/flg.retrieve.WAV",["voice.vl2"]],"audio/voice/derm2/flg.secure.m4a":["audio/voice/Derm2/flg.secure.m4a",["voice.vl2"]],"audio/voice/derm2/flg.secure.wav":["audio/voice/Derm2/flg.secure.WAV",["voice.vl2"]],"audio/voice/derm2/flg.take.m4a":["audio/voice/Derm2/flg.take.m4a",["voice.vl2"]],"audio/voice/derm2/flg.take.wav":["audio/voice/Derm2/flg.take.WAV",["voice.vl2"]],"audio/voice/derm2/gbl.anytime.m4a":["audio/voice/Derm2/gbl.anytime.m4a",["voice.vl2"]],"audio/voice/derm2/gbl.anytime.wav":["audio/voice/Derm2/gbl.anytime.WAV",["voice.vl2"]],"audio/voice/derm2/gbl.awesome.m4a":["audio/voice/Derm2/gbl.awesome.m4a",["voice.vl2"]],"audio/voice/derm2/gbl.awesome.wav":["audio/voice/Derm2/gbl.awesome.WAV",["voice.vl2"]],"audio/voice/derm2/gbl.aww.m4a":["audio/voice/Derm2/gbl.aww.m4a",["voice.vl2"]],"audio/voice/derm2/gbl.aww.wav":["audio/voice/Derm2/gbl.aww.WAV",["voice.vl2"]],"audio/voice/derm2/gbl.brag.m4a":["audio/voice/Derm2/gbl.brag.m4a",["voice.vl2"]],"audio/voice/derm2/gbl.brag.wav":["audio/voice/Derm2/gbl.brag.WAV",["voice.vl2"]],"audio/voice/derm2/gbl.bye.m4a":["audio/voice/Derm2/gbl.bye.m4a",["voice.vl2"]],"audio/voice/derm2/gbl.bye.wav":["audio/voice/Derm2/gbl.bye.WAV",["voice.vl2"]],"audio/voice/derm2/gbl.dunno.m4a":["audio/voice/Derm2/gbl.dunno.m4a",["voice.vl2"]],"audio/voice/derm2/gbl.dunno.wav":["audio/voice/Derm2/gbl.dunno.WAV",["voice.vl2"]],"audio/voice/derm2/gbl.goodgame.m4a":["audio/voice/Derm2/gbl.goodgame.m4a",["voice.vl2"]],"audio/voice/derm2/gbl.goodgame.wav":["audio/voice/Derm2/gbl.goodgame.WAV",["voice.vl2"]],"audio/voice/derm2/gbl.hi.m4a":["audio/voice/Derm2/gbl.hi.m4a",["voice.vl2"]],"audio/voice/derm2/gbl.hi.wav":["audio/voice/Derm2/gbl.hi.WAV",["voice.vl2"]],"audio/voice/derm2/gbl.nice.m4a":["audio/voice/Derm2/gbl.nice.m4a",["voice.vl2"]],"audio/voice/derm2/gbl.nice.wav":["audio/voice/Derm2/gbl.nice.WAV",["voice.vl2"]],"audio/voice/derm2/gbl.no.m4a":["audio/voice/Derm2/gbl.no.m4a",["voice.vl2"]],"audio/voice/derm2/gbl.no.wav":["audio/voice/Derm2/gbl.no.WAV",["voice.vl2"]],"audio/voice/derm2/gbl.obnoxious.m4a":["audio/voice/Derm2/gbl.obnoxious.m4a",["voice.vl2"]],"audio/voice/derm2/gbl.obnoxious.wav":["audio/voice/Derm2/gbl.obnoxious.WAV",["voice.vl2"]],"audio/voice/derm2/gbl.oops.m4a":["audio/voice/Derm2/gbl.oops.m4a",["voice.vl2"]],"audio/voice/derm2/gbl.oops.wav":["audio/voice/Derm2/gbl.oops.WAV",["voice.vl2"]],"audio/voice/derm2/gbl.quiet.m4a":["audio/voice/Derm2/gbl.quiet.m4a",["voice.vl2"]],"audio/voice/derm2/gbl.quiet.wav":["audio/voice/Derm2/gbl.quiet.WAV",["voice.vl2"]],"audio/voice/derm2/gbl.rock.m4a":["audio/voice/Derm2/gbl.rock.m4a",["voice.vl2"]],"audio/voice/derm2/gbl.rock.wav":["audio/voice/Derm2/gbl.rock.WAV",["voice.vl2"]],"audio/voice/derm2/gbl.sarcasm.m4a":["audio/voice/Derm2/gbl.sarcasm.m4a",["voice.vl2"]],"audio/voice/derm2/gbl.sarcasm.wav":["audio/voice/Derm2/gbl.sarcasm.WAV",["voice.vl2"]],"audio/voice/derm2/gbl.shazbot.m4a":["audio/voice/Derm2/gbl.shazbot.m4a",["voice.vl2"]],"audio/voice/derm2/gbl.shazbot.wav":["audio/voice/Derm2/gbl.shazbot.WAV",["voice.vl2"]],"audio/voice/derm2/gbl.shooting.m4a":["audio/voice/Derm2/gbl.shooting.m4a",["voice.vl2"]],"audio/voice/derm2/gbl.shooting.wav":["audio/voice/Derm2/gbl.shooting.WAV",["voice.vl2"]],"audio/voice/derm2/gbl.thanks.m4a":["audio/voice/Derm2/gbl.thanks.m4a",["voice.vl2"]],"audio/voice/derm2/gbl.thanks.wav":["audio/voice/Derm2/gbl.thanks.WAV",["voice.vl2"]],"audio/voice/derm2/gbl.wait.m4a":["audio/voice/Derm2/gbl.wait.m4a",["voice.vl2"]],"audio/voice/derm2/gbl.wait.wav":["audio/voice/Derm2/gbl.wait.WAV",["voice.vl2"]],"audio/voice/derm2/gbl.when.m4a":["audio/voice/Derm2/gbl.when.m4a",["voice.vl2"]],"audio/voice/derm2/gbl.when.wav":["audio/voice/Derm2/gbl.when.WAV",["voice.vl2"]],"audio/voice/derm2/gbl.woohoo.m4a":["audio/voice/Derm2/gbl.woohoo.m4a",["voice.vl2"]],"audio/voice/derm2/gbl.woohoo.wav":["audio/voice/Derm2/gbl.woohoo.WAV",["voice.vl2"]],"audio/voice/derm2/gbl.yes.m4a":["audio/voice/Derm2/gbl.yes.m4a",["voice.vl2"]],"audio/voice/derm2/gbl.yes.wav":["audio/voice/Derm2/gbl.yes.WAV",["voice.vl2"]],"audio/voice/derm2/need.bombardier.m4a":["audio/voice/Derm2/need.bombardier.m4a",["voice.vl2"]],"audio/voice/derm2/need.bombardier.wav":["audio/voice/Derm2/need.bombardier.WAV",["voice.vl2"]],"audio/voice/derm2/need.cover.m4a":["audio/voice/Derm2/need.cover.m4a",["voice.vl2"]],"audio/voice/derm2/need.cover.wav":["audio/voice/Derm2/need.cover.WAV",["voice.vl2"]],"audio/voice/derm2/need.driver.m4a":["audio/voice/Derm2/need.driver.m4a",["voice.vl2"]],"audio/voice/derm2/need.driver.wav":["audio/voice/Derm2/need.driver.WAV",["voice.vl2"]],"audio/voice/derm2/need.escort.m4a":["audio/voice/Derm2/need.escort.m4a",["voice.vl2"]],"audio/voice/derm2/need.escort.wav":["audio/voice/Derm2/need.escort.WAV",["voice.vl2"]],"audio/voice/derm2/need.flyer.m4a":["audio/voice/Derm2/need.flyer.m4a",["voice.vl2"]],"audio/voice/derm2/need.flyer.wav":["audio/voice/Derm2/need.flyer.WAV",["voice.vl2"]],"audio/voice/derm2/need.gunship.m4a":["audio/voice/Derm2/need.gunship.m4a",["voice.vl2"]],"audio/voice/derm2/need.gunship.wav":["audio/voice/Derm2/need.gunship.WAV",["voice.vl2"]],"audio/voice/derm2/need.hold.m4a":["audio/voice/Derm2/need.hold.m4a",["voice.vl2"]],"audio/voice/derm2/need.hold.wav":["audio/voice/Derm2/need.hold.WAV",["voice.vl2"]],"audio/voice/derm2/need.ride.m4a":["audio/voice/Derm2/need.ride.m4a",["voice.vl2"]],"audio/voice/derm2/need.ride.wav":["audio/voice/Derm2/need.ride.WAV",["voice.vl2"]],"audio/voice/derm2/need.support.m4a":["audio/voice/Derm2/need.support.m4a",["voice.vl2"]],"audio/voice/derm2/need.support.wav":["audio/voice/Derm2/need.support.WAV",["voice.vl2"]],"audio/voice/derm2/need.tailgunner.m4a":["audio/voice/Derm2/need.tailgunner.m4a",["voice.vl2"]],"audio/voice/derm2/need.tailgunner.wav":["audio/voice/Derm2/need.tailgunner.WAV",["voice.vl2"]],"audio/voice/derm2/need.where.m4a":["audio/voice/Derm2/need.where.m4a",["voice.vl2"]],"audio/voice/derm2/need.where.wav":["audio/voice/Derm2/need.where.WAV",["voice.vl2"]],"audio/voice/derm2/rep.base.m4a":["audio/voice/Derm2/rep.base.m4a",["voice.vl2"]],"audio/voice/derm2/rep.base.wav":["audio/voice/Derm2/rep.base.WAV",["voice.vl2"]],"audio/voice/derm2/rep.generator.m4a":["audio/voice/Derm2/rep.generator.m4a",["voice.vl2"]],"audio/voice/derm2/rep.generator.wav":["audio/voice/Derm2/rep.generator.WAV",["voice.vl2"]],"audio/voice/derm2/rep.me.m4a":["audio/voice/Derm2/rep.me.m4a",["voice.vl2"]],"audio/voice/derm2/rep.me.wav":["audio/voice/Derm2/rep.me.WAV",["voice.vl2"]],"audio/voice/derm2/rep.sensors.m4a":["audio/voice/Derm2/rep.sensors.m4a",["voice.vl2"]],"audio/voice/derm2/rep.sensors.wav":["audio/voice/Derm2/rep.sensors.WAV",["voice.vl2"]],"audio/voice/derm2/rep.turrets.m4a":["audio/voice/Derm2/rep.turrets.m4a",["voice.vl2"]],"audio/voice/derm2/rep.turrets.wav":["audio/voice/Derm2/rep.turrets.WAV",["voice.vl2"]],"audio/voice/derm2/rep.vehicle.m4a":["audio/voice/Derm2/rep.vehicle.m4a",["voice.vl2"]],"audio/voice/derm2/rep.vehicle.wav":["audio/voice/Derm2/rep.vehicle.WAV",["voice.vl2"]],"audio/voice/derm2/slf.att.attack.m4a":["audio/voice/Derm2/slf.att.attack.m4a",["voice.vl2"]],"audio/voice/derm2/slf.att.attack.wav":["audio/voice/Derm2/slf.att.attack.WAV",["voice.vl2"]],"audio/voice/derm2/slf.att.base.m4a":["audio/voice/Derm2/slf.att.base.m4a",["voice.vl2"]],"audio/voice/derm2/slf.att.base.wav":["audio/voice/Derm2/slf.att.base.WAV",["voice.vl2"]],"audio/voice/derm2/slf.att.flag.m4a":["audio/voice/Derm2/slf.att.flag.m4a",["voice.vl2"]],"audio/voice/derm2/slf.att.flag.wav":["audio/voice/Derm2/slf.att.flag.WAV",["voice.vl2"]],"audio/voice/derm2/slf.att.generator.m4a":["audio/voice/Derm2/slf.att.generator.m4a",["voice.vl2"]],"audio/voice/derm2/slf.att.generator.wav":["audio/voice/Derm2/slf.att.generator.WAV",["voice.vl2"]],"audio/voice/derm2/slf.att.sensors.m4a":["audio/voice/Derm2/slf.att.sensors.m4a",["voice.vl2"]],"audio/voice/derm2/slf.att.sensors.wav":["audio/voice/Derm2/slf.att.sensors.WAV",["voice.vl2"]],"audio/voice/derm2/slf.att.turrets.m4a":["audio/voice/Derm2/slf.att.turrets.m4a",["voice.vl2"]],"audio/voice/derm2/slf.att.turrets.wav":["audio/voice/Derm2/slf.att.turrets.WAV",["voice.vl2"]],"audio/voice/derm2/slf.att.vehicle.m4a":["audio/voice/Derm2/slf.att.vehicle.m4a",["voice.vl2"]],"audio/voice/derm2/slf.att.vehicle.wav":["audio/voice/Derm2/slf.att.vehicle.WAV",["voice.vl2"]],"audio/voice/derm2/slf.def.base.m4a":["audio/voice/Derm2/slf.def.base.m4a",["voice.vl2"]],"audio/voice/derm2/slf.def.base.wav":["audio/voice/Derm2/slf.def.base.WAV",["voice.vl2"]],"audio/voice/derm2/slf.def.defend.m4a":["audio/voice/Derm2/slf.def.defend.m4a",["voice.vl2"]],"audio/voice/derm2/slf.def.defend.wav":["audio/voice/Derm2/slf.def.defend.WAV",["voice.vl2"]],"audio/voice/derm2/slf.def.flag.m4a":["audio/voice/Derm2/slf.def.flag.m4a",["voice.vl2"]],"audio/voice/derm2/slf.def.flag.wav":["audio/voice/Derm2/slf.def.flag.WAV",["voice.vl2"]],"audio/voice/derm2/slf.def.generator.m4a":["audio/voice/Derm2/slf.def.generator.m4a",["voice.vl2"]],"audio/voice/derm2/slf.def.generator.wav":["audio/voice/Derm2/slf.def.generator.WAV",["voice.vl2"]],"audio/voice/derm2/slf.def.nexus.m4a":["audio/voice/Derm2/slf.def.nexus.m4a",["voice.vl2"]],"audio/voice/derm2/slf.def.nexus.wav":["audio/voice/Derm2/slf.def.nexus.WAV",["voice.vl2"]],"audio/voice/derm2/slf.def.sensors.m4a":["audio/voice/Derm2/slf.def.sensors.m4a",["voice.vl2"]],"audio/voice/derm2/slf.def.sensors.wav":["audio/voice/Derm2/slf.def.sensors.WAV",["voice.vl2"]],"audio/voice/derm2/slf.def.turrets.m4a":["audio/voice/Derm2/slf.def.turrets.m4a",["voice.vl2"]],"audio/voice/derm2/slf.def.turrets.wav":["audio/voice/Derm2/slf.def.turrets.WAV",["voice.vl2"]],"audio/voice/derm2/slf.def.vehicle.m4a":["audio/voice/Derm2/slf.def.vehicle.m4a",["voice.vl2"]],"audio/voice/derm2/slf.def.vehicle.wav":["audio/voice/Derm2/slf.def.vehicle.WAV",["voice.vl2"]],"audio/voice/derm2/slf.rep.base.m4a":["audio/voice/Derm2/slf.rep.base.m4a",["voice.vl2"]],"audio/voice/derm2/slf.rep.base.wav":["audio/voice/Derm2/slf.rep.base.WAV",["voice.vl2"]],"audio/voice/derm2/slf.rep.equipment.m4a":["audio/voice/Derm2/slf.rep.equipment.m4a",["voice.vl2"]],"audio/voice/derm2/slf.rep.equipment.wav":["audio/voice/Derm2/slf.rep.equipment.WAV",["voice.vl2"]],"audio/voice/derm2/slf.rep.generator.m4a":["audio/voice/Derm2/slf.rep.generator.m4a",["voice.vl2"]],"audio/voice/derm2/slf.rep.generator.wav":["audio/voice/Derm2/slf.rep.generator.WAV",["voice.vl2"]],"audio/voice/derm2/slf.rep.repairing.m4a":["audio/voice/Derm2/slf.rep.repairing.m4a",["voice.vl2"]],"audio/voice/derm2/slf.rep.repairing.wav":["audio/voice/Derm2/slf.rep.repairing.WAV",["voice.vl2"]],"audio/voice/derm2/slf.rep.sensors.m4a":["audio/voice/Derm2/slf.rep.sensors.m4a",["voice.vl2"]],"audio/voice/derm2/slf.rep.sensors.wav":["audio/voice/Derm2/slf.rep.sensors.WAV",["voice.vl2"]],"audio/voice/derm2/slf.rep.turrets.m4a":["audio/voice/Derm2/slf.rep.turrets.m4a",["voice.vl2"]],"audio/voice/derm2/slf.rep.turrets.wav":["audio/voice/Derm2/slf.rep.turrets.WAV",["voice.vl2"]],"audio/voice/derm2/slf.rep.vehicle.m4a":["audio/voice/Derm2/slf.rep.vehicle.m4a",["voice.vl2"]],"audio/voice/derm2/slf.rep.vehicle.wav":["audio/voice/Derm2/slf.rep.vehicle.WAV",["voice.vl2"]],"audio/voice/derm2/slf.tsk.cover.m4a":["audio/voice/Derm2/slf.tsk.cover.m4a",["voice.vl2"]],"audio/voice/derm2/slf.tsk.cover.wav":["audio/voice/Derm2/slf.tsk.cover.WAV",["voice.vl2"]],"audio/voice/derm2/slf.tsk.defense.m4a":["audio/voice/Derm2/slf.tsk.defense.m4a",["voice.vl2"]],"audio/voice/derm2/slf.tsk.defense.wav":["audio/voice/Derm2/slf.tsk.defense.WAV",["voice.vl2"]],"audio/voice/derm2/slf.tsk.generic.m4a":["audio/voice/Derm2/slf.tsk.generic.m4a",["voice.vl2"]],"audio/voice/derm2/slf.tsk.generic.wav":["audio/voice/Derm2/slf.tsk.generic.WAV",["voice.vl2"]],"audio/voice/derm2/slf.tsk.remotes.m4a":["audio/voice/Derm2/slf.tsk.remotes.m4a",["voice.vl2"]],"audio/voice/derm2/slf.tsk.remotes.wav":["audio/voice/Derm2/slf.tsk.remotes.WAV",["voice.vl2"]],"audio/voice/derm2/slf.tsk.sensors.m4a":["audio/voice/Derm2/slf.tsk.sensors.m4a",["voice.vl2"]],"audio/voice/derm2/slf.tsk.sensors.wav":["audio/voice/Derm2/slf.tsk.sensors.WAV",["voice.vl2"]],"audio/voice/derm2/slf.tsk.turrets.m4a":["audio/voice/Derm2/slf.tsk.turrets.m4a",["voice.vl2"]],"audio/voice/derm2/slf.tsk.turrets.wav":["audio/voice/Derm2/slf.tsk.turrets.WAV",["voice.vl2"]],"audio/voice/derm2/slf.tsk.vehicle.m4a":["audio/voice/Derm2/slf.tsk.vehicle.m4a",["voice.vl2"]],"audio/voice/derm2/slf.tsk.vehicle.wav":["audio/voice/Derm2/slf.tsk.vehicle.WAV",["voice.vl2"]],"audio/voice/derm2/tgt.acquired.m4a":["audio/voice/Derm2/tgt.acquired.m4a",["voice.vl2"]],"audio/voice/derm2/tgt.acquired.wav":["audio/voice/Derm2/tgt.acquired.WAV",["voice.vl2"]],"audio/voice/derm2/tgt.base.m4a":["audio/voice/Derm2/tgt.base.m4a",["voice.vl2"]],"audio/voice/derm2/tgt.base.wav":["audio/voice/Derm2/tgt.base.WAV",["voice.vl2"]],"audio/voice/derm2/tgt.destroyed.m4a":["audio/voice/Derm2/tgt.destroyed.m4a",["voice.vl2"]],"audio/voice/derm2/tgt.destroyed.wav":["audio/voice/Derm2/tgt.destroyed.WAV",["voice.vl2"]],"audio/voice/derm2/tgt.flag.m4a":["audio/voice/Derm2/tgt.flag.m4a",["voice.vl2"]],"audio/voice/derm2/tgt.flag.wav":["audio/voice/Derm2/tgt.flag.WAV",["voice.vl2"]],"audio/voice/derm2/tgt.my.m4a":["audio/voice/Derm2/tgt.my.m4a",["voice.vl2"]],"audio/voice/derm2/tgt.my.wav":["audio/voice/Derm2/tgt.my.WAV",["voice.vl2"]],"audio/voice/derm2/tgt.need.m4a":["audio/voice/Derm2/tgt.need.m4a",["voice.vl2"]],"audio/voice/derm2/tgt.need.wav":["audio/voice/Derm2/tgt.need.WAV",["voice.vl2"]],"audio/voice/derm2/tgt.sensors.m4a":["audio/voice/Derm2/tgt.sensors.m4a",["voice.vl2"]],"audio/voice/derm2/tgt.sensors.wav":["audio/voice/Derm2/tgt.sensors.WAV",["voice.vl2"]],"audio/voice/derm2/tgt.turret.m4a":["audio/voice/Derm2/tgt.turret.m4a",["voice.vl2"]],"audio/voice/derm2/tgt.turret.wav":["audio/voice/Derm2/tgt.turret.WAV",["voice.vl2"]],"audio/voice/derm2/tgt.wait.m4a":["audio/voice/Derm2/tgt.wait.m4a",["voice.vl2"]],"audio/voice/derm2/tgt.wait.wav":["audio/voice/Derm2/tgt.wait.WAV",["voice.vl2"]],"audio/voice/derm2/vqk.anytime.m4a":["audio/voice/Derm2/vqk.anytime.m4a",["voice.vl2"]],"audio/voice/derm2/vqk.anytime.wav":["audio/voice/Derm2/vqk.anytime.WAV",["voice.vl2"]],"audio/voice/derm2/vqk.base.m4a":["audio/voice/Derm2/vqk.base.m4a",["voice.vl2"]],"audio/voice/derm2/vqk.base.wav":["audio/voice/Derm2/vqk.base.WAV",["voice.vl2"]],"audio/voice/derm2/vqk.ceasefire.m4a":["audio/voice/Derm2/vqk.ceasefire.m4a",["voice.vl2"]],"audio/voice/derm2/vqk.ceasefire.wav":["audio/voice/Derm2/vqk.ceasefire.WAV",["voice.vl2"]],"audio/voice/derm2/vqk.dunno.m4a":["audio/voice/Derm2/vqk.dunno.m4a",["voice.vl2"]],"audio/voice/derm2/vqk.dunno.wav":["audio/voice/Derm2/vqk.dunno.WAV",["voice.vl2"]],"audio/voice/derm2/vqk.help.m4a":["audio/voice/Derm2/vqk.help.m4a",["voice.vl2"]],"audio/voice/derm2/vqk.help.wav":["audio/voice/Derm2/vqk.help.WAV",["voice.vl2"]],"audio/voice/derm2/vqk.move.m4a":["audio/voice/Derm2/vqk.move.m4a",["voice.vl2"]],"audio/voice/derm2/vqk.move.wav":["audio/voice/Derm2/vqk.move.WAV",["voice.vl2"]],"audio/voice/derm2/vqk.no.m4a":["audio/voice/Derm2/vqk.no.m4a",["voice.vl2"]],"audio/voice/derm2/vqk.no.wav":["audio/voice/Derm2/vqk.no.WAV",["voice.vl2"]],"audio/voice/derm2/vqk.quiet.m4a":["audio/voice/Derm2/vqk.quiet.m4a",["voice.vl2"]],"audio/voice/derm2/vqk.quiet.wav":["audio/voice/Derm2/vqk.quiet.WAV",["voice.vl2"]],"audio/voice/derm2/vqk.sorry.m4a":["audio/voice/Derm2/vqk.sorry.m4a",["voice.vl2"]],"audio/voice/derm2/vqk.sorry.wav":["audio/voice/Derm2/vqk.sorry.WAV",["voice.vl2"]],"audio/voice/derm2/vqk.thanks.m4a":["audio/voice/Derm2/vqk.thanks.m4a",["voice.vl2"]],"audio/voice/derm2/vqk.thanks.wav":["audio/voice/Derm2/vqk.thanks.WAV",["voice.vl2"]],"audio/voice/derm2/vqk.wait.m4a":["audio/voice/Derm2/vqk.wait.m4a",["voice.vl2"]],"audio/voice/derm2/vqk.wait.wav":["audio/voice/Derm2/vqk.wait.WAV",["voice.vl2"]],"audio/voice/derm2/vqk.yes.m4a":["audio/voice/Derm2/vqk.yes.m4a",["voice.vl2"]],"audio/voice/derm2/vqk.yes.wav":["audio/voice/Derm2/vqk.yes.WAV",["voice.vl2"]],"audio/voice/derm2/wrn.bomber.m4a":["audio/voice/Derm2/wrn.bomber.m4a",["voice.vl2"]],"audio/voice/derm2/wrn.bomber.wav":["audio/voice/Derm2/wrn.bomber.WAV",["voice.vl2"]],"audio/voice/derm2/wrn.enemy.m4a":["audio/voice/Derm2/wrn.enemy.m4a",["voice.vl2"]],"audio/voice/derm2/wrn.enemy.wav":["audio/voice/Derm2/wrn.enemy.WAV",["voice.vl2"]],"audio/voice/derm2/wrn.vehicles.m4a":["audio/voice/Derm2/wrn.vehicles.m4a",["voice.vl2"]],"audio/voice/derm2/wrn.vehicles.wav":["audio/voice/Derm2/wrn.vehicles.WAV",["voice.vl2"]],"audio/voice/derm2/wrn.watchit.m4a":["audio/voice/Derm2/wrn.watchit.m4a",["voice.vl2"]],"audio/voice/derm2/wrn.watchit.wav":["audio/voice/Derm2/wrn.watchit.WAV",["voice.vl2"]],"audio/voice/derm3/att.attack.m4a":["audio/voice/Derm3/att.attack.m4a",["voice.vl2"]],"audio/voice/derm3/att.attack.wav":["audio/voice/Derm3/att.attack.WAV",["voice.vl2"]],"audio/voice/derm3/att.base.m4a":["audio/voice/Derm3/att.base.m4a",["voice.vl2"]],"audio/voice/derm3/att.base.wav":["audio/voice/Derm3/att.base.WAV",["voice.vl2"]],"audio/voice/derm3/att.chase.m4a":["audio/voice/Derm3/att.chase.m4a",["voice.vl2"]],"audio/voice/derm3/att.chase.wav":["audio/voice/Derm3/att.chase.WAV",["voice.vl2"]],"audio/voice/derm3/att.distract.m4a":["audio/voice/Derm3/att.distract.m4a",["voice.vl2"]],"audio/voice/derm3/att.distract.wav":["audio/voice/Derm3/att.distract.WAV",["voice.vl2"]],"audio/voice/derm3/att.flag.m4a":["audio/voice/Derm3/att.flag.m4a",["voice.vl2"]],"audio/voice/derm3/att.flag.wav":["audio/voice/Derm3/att.flag.WAV",["voice.vl2"]],"audio/voice/derm3/att.generator.m4a":["audio/voice/Derm3/att.generator.m4a",["voice.vl2"]],"audio/voice/derm3/att.generator.wav":["audio/voice/Derm3/att.generator.WAV",["voice.vl2"]],"audio/voice/derm3/att.objective.m4a":["audio/voice/Derm3/att.objective.m4a",["voice.vl2"]],"audio/voice/derm3/att.objective.wav":["audio/voice/Derm3/att.objective.WAV",["voice.vl2"]],"audio/voice/derm3/att.reinforcements.m4a":["audio/voice/Derm3/att.reinforcements.m4a",["voice.vl2"]],"audio/voice/derm3/att.reinforcements.wav":["audio/voice/Derm3/att.reinforcements.WAV",["voice.vl2"]],"audio/voice/derm3/att.sensors.m4a":["audio/voice/Derm3/att.sensors.m4a",["voice.vl2"]],"audio/voice/derm3/att.sensors.wav":["audio/voice/Derm3/att.sensors.WAV",["voice.vl2"]],"audio/voice/derm3/att.turrets.m4a":["audio/voice/Derm3/att.turrets.m4a",["voice.vl2"]],"audio/voice/derm3/att.turrets.wav":["audio/voice/Derm3/att.turrets.WAV",["voice.vl2"]],"audio/voice/derm3/att.vehicle.m4a":["audio/voice/Derm3/att.vehicle.m4a",["voice.vl2"]],"audio/voice/derm3/att.vehicle.wav":["audio/voice/Derm3/att.vehicle.WAV",["voice.vl2"]],"audio/voice/derm3/att.wait.m4a":["audio/voice/Derm3/att.wait.m4a",["voice.vl2"]],"audio/voice/derm3/att.wait.wav":["audio/voice/Derm3/att.wait.WAV",["voice.vl2"]],"audio/voice/derm3/avo.deathcry_01.m4a":["audio/voice/Derm3/avo.deathcry_01.m4a",["voice.vl2"]],"audio/voice/derm3/avo.deathcry_01.wav":["audio/voice/Derm3/avo.deathcry_01.WAV",["voice.vl2"]],"audio/voice/derm3/avo.deathcry_02.m4a":["audio/voice/Derm3/avo.deathcry_02.m4a",["voice.vl2"]],"audio/voice/derm3/avo.deathcry_02.wav":["audio/voice/Derm3/avo.deathcry_02.WAV",["voice.vl2"]],"audio/voice/derm3/avo.grunt.m4a":["audio/voice/Derm3/avo.grunt.m4a",["voice.vl2"]],"audio/voice/derm3/avo.grunt.wav":["audio/voice/Derm3/avo.grunt.WAV",["voice.vl2"]],"audio/voice/derm3/avo.pain.m4a":["audio/voice/Derm3/avo.pain.m4a",["voice.vl2"]],"audio/voice/derm3/avo.pain.wav":["audio/voice/Derm3/avo.pain.WAV",["voice.vl2"]],"audio/voice/derm3/bas.clear.m4a":["audio/voice/Derm3/bas.clear.m4a",["voice.vl2"]],"audio/voice/derm3/bas.clear.wav":["audio/voice/Derm3/bas.clear.WAV",["voice.vl2"]],"audio/voice/derm3/bas.enemy.m4a":["audio/voice/Derm3/bas.enemy.m4a",["voice.vl2"]],"audio/voice/derm3/bas.enemy.wav":["audio/voice/Derm3/bas.enemy.WAV",["voice.vl2"]],"audio/voice/derm3/bas.retake.m4a":["audio/voice/Derm3/bas.retake.m4a",["voice.vl2"]],"audio/voice/derm3/bas.retake.wav":["audio/voice/Derm3/bas.retake.WAV",["voice.vl2"]],"audio/voice/derm3/bas.secure.m4a":["audio/voice/Derm3/bas.secure.m4a",["voice.vl2"]],"audio/voice/derm3/bas.secure.wav":["audio/voice/Derm3/bas.secure.WAV",["voice.vl2"]],"audio/voice/derm3/bas.taken.m4a":["audio/voice/Derm3/bas.taken.m4a",["voice.vl2"]],"audio/voice/derm3/bas.taken.wav":["audio/voice/Derm3/bas.taken.WAV",["voice.vl2"]],"audio/voice/derm3/cmd.acknowledge.m4a":["audio/voice/Derm3/cmd.acknowledge.m4a",["voice.vl2"]],"audio/voice/derm3/cmd.acknowledge.wav":["audio/voice/Derm3/cmd.acknowledge.WAV",["voice.vl2"]],"audio/voice/derm3/cmd.bot.m4a":["audio/voice/Derm3/cmd.bot.m4a",["voice.vl2"]],"audio/voice/derm3/cmd.bot.wav":["audio/voice/Derm3/cmd.bot.WAV",["voice.vl2"]],"audio/voice/derm3/cmd.completed.m4a":["audio/voice/Derm3/cmd.completed.m4a",["voice.vl2"]],"audio/voice/derm3/cmd.completed.wav":["audio/voice/Derm3/cmd.completed.WAV",["voice.vl2"]],"audio/voice/derm3/cmd.decline.m4a":["audio/voice/Derm3/cmd.decline.m4a",["voice.vl2"]],"audio/voice/derm3/cmd.decline.wav":["audio/voice/Derm3/cmd.decline.WAV",["voice.vl2"]],"audio/voice/derm3/def.base.m4a":["audio/voice/Derm3/def.base.m4a",["voice.vl2"]],"audio/voice/derm3/def.base.wav":["audio/voice/Derm3/def.base.WAV",["voice.vl2"]],"audio/voice/derm3/def.carrier.m4a":["audio/voice/Derm3/def.carrier.m4a",["voice.vl2"]],"audio/voice/derm3/def.carrier.wav":["audio/voice/Derm3/def.carrier.WAV",["voice.vl2"]],"audio/voice/derm3/def.entrances.m4a":["audio/voice/Derm3/def.entrances.m4a",["voice.vl2"]],"audio/voice/derm3/def.entrances.wav":["audio/voice/Derm3/def.entrances.WAV",["voice.vl2"]],"audio/voice/derm3/def.flag.m4a":["audio/voice/Derm3/def.flag.m4a",["voice.vl2"]],"audio/voice/derm3/def.flag.wav":["audio/voice/Derm3/def.flag.WAV",["voice.vl2"]],"audio/voice/derm3/def.generator.m4a":["audio/voice/Derm3/def.generator.m4a",["voice.vl2"]],"audio/voice/derm3/def.generator.wav":["audio/voice/Derm3/def.generator.WAV",["voice.vl2"]],"audio/voice/derm3/def.me.m4a":["audio/voice/Derm3/def.me.m4a",["voice.vl2"]],"audio/voice/derm3/def.me.wav":["audio/voice/Derm3/def.me.WAV",["voice.vl2"]],"audio/voice/derm3/def.nexus.m4a":["audio/voice/Derm3/def.nexus.m4a",["voice.vl2"]],"audio/voice/derm3/def.nexus.wav":["audio/voice/Derm3/def.nexus.WAV",["voice.vl2"]],"audio/voice/derm3/def.objective.m4a":["audio/voice/Derm3/def.objective.m4a",["voice.vl2"]],"audio/voice/derm3/def.objective.wav":["audio/voice/Derm3/def.objective.WAV",["voice.vl2"]],"audio/voice/derm3/def.reinforce.m4a":["audio/voice/Derm3/def.reinforce.m4a",["voice.vl2"]],"audio/voice/derm3/def.reinforce.wav":["audio/voice/Derm3/def.reinforce.WAV",["voice.vl2"]],"audio/voice/derm3/def.sensors.m4a":["audio/voice/Derm3/def.sensors.m4a",["voice.vl2"]],"audio/voice/derm3/def.sensors.wav":["audio/voice/Derm3/def.sensors.WAV",["voice.vl2"]],"audio/voice/derm3/def.turrets.m4a":["audio/voice/Derm3/def.turrets.m4a",["voice.vl2"]],"audio/voice/derm3/def.turrets.wav":["audio/voice/Derm3/def.turrets.WAV",["voice.vl2"]],"audio/voice/derm3/def.vehicle.m4a":["audio/voice/Derm3/def.vehicle.m4a",["voice.vl2"]],"audio/voice/derm3/def.vehicle.wav":["audio/voice/Derm3/def.vehicle.WAV",["voice.vl2"]],"audio/voice/derm3/ene.base.m4a":["audio/voice/Derm3/ene.base.m4a",["voice.vl2"]],"audio/voice/derm3/ene.base.wav":["audio/voice/Derm3/ene.base.WAV",["voice.vl2"]],"audio/voice/derm3/ene.disarray.m4a":["audio/voice/Derm3/ene.disarray.m4a",["voice.vl2"]],"audio/voice/derm3/ene.disarray.wav":["audio/voice/Derm3/ene.disarray.WAV",["voice.vl2"]],"audio/voice/derm3/ene.generator.m4a":["audio/voice/Derm3/ene.generator.m4a",["voice.vl2"]],"audio/voice/derm3/ene.generator.wav":["audio/voice/Derm3/ene.generator.WAV",["voice.vl2"]],"audio/voice/derm3/ene.remotes.m4a":["audio/voice/Derm3/ene.remotes.m4a",["voice.vl2"]],"audio/voice/derm3/ene.remotes.wav":["audio/voice/Derm3/ene.remotes.WAV",["voice.vl2"]],"audio/voice/derm3/ene.sensors.m4a":["audio/voice/Derm3/ene.sensors.m4a",["voice.vl2"]],"audio/voice/derm3/ene.sensors.wav":["audio/voice/Derm3/ene.sensors.WAV",["voice.vl2"]],"audio/voice/derm3/ene.turrets.m4a":["audio/voice/Derm3/ene.turrets.m4a",["voice.vl2"]],"audio/voice/derm3/ene.turrets.wav":["audio/voice/Derm3/ene.turrets.WAV",["voice.vl2"]],"audio/voice/derm3/ene.vehicle.m4a":["audio/voice/Derm3/ene.vehicle.m4a",["voice.vl2"]],"audio/voice/derm3/ene.vehicle.wav":["audio/voice/Derm3/ene.vehicle.WAV",["voice.vl2"]],"audio/voice/derm3/flg.flag.m4a":["audio/voice/Derm3/flg.flag.m4a",["voice.vl2"]],"audio/voice/derm3/flg.flag.wav":["audio/voice/Derm3/flg.flag.WAV",["voice.vl2"]],"audio/voice/derm3/flg.give.m4a":["audio/voice/Derm3/flg.give.m4a",["voice.vl2"]],"audio/voice/derm3/flg.give.wav":["audio/voice/Derm3/flg.give.WAV",["voice.vl2"]],"audio/voice/derm3/flg.huntergive.m4a":["audio/voice/Derm3/flg.huntergive.m4a",["voice.vl2"]],"audio/voice/derm3/flg.huntergive.wav":["audio/voice/Derm3/flg.huntergive.WAV",["voice.vl2"]],"audio/voice/derm3/flg.huntertake.m4a":["audio/voice/Derm3/flg.huntertake.m4a",["voice.vl2"]],"audio/voice/derm3/flg.huntertake.wav":["audio/voice/Derm3/flg.huntertake.WAV",["voice.vl2"]],"audio/voice/derm3/flg.retrieve.m4a":["audio/voice/Derm3/flg.retrieve.m4a",["voice.vl2"]],"audio/voice/derm3/flg.retrieve.wav":["audio/voice/Derm3/flg.retrieve.WAV",["voice.vl2"]],"audio/voice/derm3/flg.secure.m4a":["audio/voice/Derm3/flg.secure.m4a",["voice.vl2"]],"audio/voice/derm3/flg.secure.wav":["audio/voice/Derm3/flg.secure.WAV",["voice.vl2"]],"audio/voice/derm3/flg.take.m4a":["audio/voice/Derm3/flg.take.m4a",["voice.vl2"]],"audio/voice/derm3/flg.take.wav":["audio/voice/Derm3/flg.take.WAV",["voice.vl2"]],"audio/voice/derm3/gbl.anytime.m4a":["audio/voice/Derm3/gbl.anytime.m4a",["voice.vl2"]],"audio/voice/derm3/gbl.anytime.wav":["audio/voice/Derm3/gbl.anytime.WAV",["voice.vl2"]],"audio/voice/derm3/gbl.awesome.m4a":["audio/voice/Derm3/gbl.awesome.m4a",["voice.vl2"]],"audio/voice/derm3/gbl.awesome.wav":["audio/voice/Derm3/gbl.awesome.WAV",["voice.vl2"]],"audio/voice/derm3/gbl.aww.m4a":["audio/voice/Derm3/gbl.aww.m4a",["voice.vl2"]],"audio/voice/derm3/gbl.aww.wav":["audio/voice/Derm3/gbl.aww.WAV",["voice.vl2"]],"audio/voice/derm3/gbl.brag.m4a":["audio/voice/Derm3/gbl.brag.m4a",["voice.vl2"]],"audio/voice/derm3/gbl.brag.wav":["audio/voice/Derm3/gbl.brag.WAV",["voice.vl2"]],"audio/voice/derm3/gbl.bye.m4a":["audio/voice/Derm3/gbl.bye.m4a",["voice.vl2"]],"audio/voice/derm3/gbl.bye.wav":["audio/voice/Derm3/gbl.bye.WAV",["voice.vl2"]],"audio/voice/derm3/gbl.dunno.m4a":["audio/voice/Derm3/gbl.dunno.m4a",["voice.vl2"]],"audio/voice/derm3/gbl.dunno.wav":["audio/voice/Derm3/gbl.dunno.WAV",["voice.vl2"]],"audio/voice/derm3/gbl.goodgame.m4a":["audio/voice/Derm3/gbl.goodgame.m4a",["voice.vl2"]],"audio/voice/derm3/gbl.goodgame.wav":["audio/voice/Derm3/gbl.goodgame.WAV",["voice.vl2"]],"audio/voice/derm3/gbl.hi.m4a":["audio/voice/Derm3/gbl.hi.m4a",["voice.vl2"]],"audio/voice/derm3/gbl.hi.wav":["audio/voice/Derm3/gbl.hi.WAV",["voice.vl2"]],"audio/voice/derm3/gbl.nice.m4a":["audio/voice/Derm3/gbl.nice.m4a",["voice.vl2"]],"audio/voice/derm3/gbl.nice.wav":["audio/voice/Derm3/gbl.nice.WAV",["voice.vl2"]],"audio/voice/derm3/gbl.no.m4a":["audio/voice/Derm3/gbl.no.m4a",["voice.vl2"]],"audio/voice/derm3/gbl.no.wav":["audio/voice/Derm3/gbl.no.WAV",["voice.vl2"]],"audio/voice/derm3/gbl.obnoxious.m4a":["audio/voice/Derm3/gbl.obnoxious.m4a",["voice.vl2"]],"audio/voice/derm3/gbl.obnoxious.wav":["audio/voice/Derm3/gbl.obnoxious.WAV",["voice.vl2"]],"audio/voice/derm3/gbl.oops.m4a":["audio/voice/Derm3/gbl.oops.m4a",["voice.vl2"]],"audio/voice/derm3/gbl.oops.wav":["audio/voice/Derm3/gbl.oops.WAV",["voice.vl2"]],"audio/voice/derm3/gbl.quiet.m4a":["audio/voice/Derm3/gbl.quiet.m4a",["voice.vl2"]],"audio/voice/derm3/gbl.quiet.wav":["audio/voice/Derm3/gbl.quiet.WAV",["voice.vl2"]],"audio/voice/derm3/gbl.rock.m4a":["audio/voice/Derm3/gbl.rock.m4a",["voice.vl2"]],"audio/voice/derm3/gbl.rock.wav":["audio/voice/Derm3/gbl.rock.WAV",["voice.vl2"]],"audio/voice/derm3/gbl.sarcasm.m4a":["audio/voice/Derm3/gbl.sarcasm.m4a",["voice.vl2"]],"audio/voice/derm3/gbl.sarcasm.wav":["audio/voice/Derm3/gbl.sarcasm.WAV",["voice.vl2"]],"audio/voice/derm3/gbl.shazbot.m4a":["audio/voice/Derm3/gbl.shazbot.m4a",["voice.vl2"]],"audio/voice/derm3/gbl.shazbot.wav":["audio/voice/Derm3/gbl.shazbot.WAV",["voice.vl2"]],"audio/voice/derm3/gbl.shooting.m4a":["audio/voice/Derm3/gbl.shooting.m4a",["voice.vl2"]],"audio/voice/derm3/gbl.shooting.wav":["audio/voice/Derm3/gbl.shooting.WAV",["voice.vl2"]],"audio/voice/derm3/gbl.thanks.m4a":["audio/voice/Derm3/gbl.thanks.m4a",["voice.vl2"]],"audio/voice/derm3/gbl.thanks.wav":["audio/voice/Derm3/gbl.thanks.WAV",["voice.vl2"]],"audio/voice/derm3/gbl.wait.m4a":["audio/voice/Derm3/gbl.wait.m4a",["voice.vl2"]],"audio/voice/derm3/gbl.wait.wav":["audio/voice/Derm3/gbl.wait.WAV",["voice.vl2"]],"audio/voice/derm3/gbl.when.m4a":["audio/voice/Derm3/gbl.when.m4a",["voice.vl2"]],"audio/voice/derm3/gbl.when.wav":["audio/voice/Derm3/gbl.when.WAV",["voice.vl2"]],"audio/voice/derm3/gbl.woohoo.m4a":["audio/voice/Derm3/gbl.woohoo.m4a",["voice.vl2"]],"audio/voice/derm3/gbl.woohoo.wav":["audio/voice/Derm3/gbl.woohoo.WAV",["voice.vl2"]],"audio/voice/derm3/gbl.yes.m4a":["audio/voice/Derm3/gbl.yes.m4a",["voice.vl2"]],"audio/voice/derm3/gbl.yes.wav":["audio/voice/Derm3/gbl.yes.WAV",["voice.vl2"]],"audio/voice/derm3/need.bombardier.m4a":["audio/voice/Derm3/need.bombardier.m4a",["voice.vl2"]],"audio/voice/derm3/need.bombardier.wav":["audio/voice/Derm3/need.bombardier.WAV",["voice.vl2"]],"audio/voice/derm3/need.cover.m4a":["audio/voice/Derm3/need.cover.m4a",["voice.vl2"]],"audio/voice/derm3/need.cover.wav":["audio/voice/Derm3/need.cover.WAV",["voice.vl2"]],"audio/voice/derm3/need.driver.m4a":["audio/voice/Derm3/need.driver.m4a",["voice.vl2"]],"audio/voice/derm3/need.driver.wav":["audio/voice/Derm3/need.driver.WAV",["voice.vl2"]],"audio/voice/derm3/need.escort.m4a":["audio/voice/Derm3/need.escort.m4a",["voice.vl2"]],"audio/voice/derm3/need.escort.wav":["audio/voice/Derm3/need.escort.WAV",["voice.vl2"]],"audio/voice/derm3/need.flyer.m4a":["audio/voice/Derm3/need.flyer.m4a",["voice.vl2"]],"audio/voice/derm3/need.flyer.wav":["audio/voice/Derm3/need.flyer.WAV",["voice.vl2"]],"audio/voice/derm3/need.gunship.m4a":["audio/voice/Derm3/need.gunship.m4a",["voice.vl2"]],"audio/voice/derm3/need.gunship.wav":["audio/voice/Derm3/need.gunship.WAV",["voice.vl2"]],"audio/voice/derm3/need.hold.m4a":["audio/voice/Derm3/need.hold.m4a",["voice.vl2"]],"audio/voice/derm3/need.hold.wav":["audio/voice/Derm3/need.hold.WAV",["voice.vl2"]],"audio/voice/derm3/need.ride.m4a":["audio/voice/Derm3/need.ride.m4a",["voice.vl2"]],"audio/voice/derm3/need.ride.wav":["audio/voice/Derm3/need.ride.WAV",["voice.vl2"]],"audio/voice/derm3/need.support.m4a":["audio/voice/Derm3/need.support.m4a",["voice.vl2"]],"audio/voice/derm3/need.support.wav":["audio/voice/Derm3/need.support.WAV",["voice.vl2"]],"audio/voice/derm3/need.tailgunner.m4a":["audio/voice/Derm3/need.tailgunner.m4a",["voice.vl2"]],"audio/voice/derm3/need.tailgunner.wav":["audio/voice/Derm3/need.tailgunner.WAV",["voice.vl2"]],"audio/voice/derm3/need.where.m4a":["audio/voice/Derm3/need.where.m4a",["voice.vl2"]],"audio/voice/derm3/need.where.wav":["audio/voice/Derm3/need.where.WAV",["voice.vl2"]],"audio/voice/derm3/rep.base.m4a":["audio/voice/Derm3/rep.base.m4a",["voice.vl2"]],"audio/voice/derm3/rep.base.wav":["audio/voice/Derm3/rep.base.WAV",["voice.vl2"]],"audio/voice/derm3/rep.generator.m4a":["audio/voice/Derm3/rep.generator.m4a",["voice.vl2"]],"audio/voice/derm3/rep.generator.wav":["audio/voice/Derm3/rep.generator.WAV",["voice.vl2"]],"audio/voice/derm3/rep.me.m4a":["audio/voice/Derm3/rep.me.m4a",["voice.vl2"]],"audio/voice/derm3/rep.me.wav":["audio/voice/Derm3/rep.me.WAV",["voice.vl2"]],"audio/voice/derm3/rep.sensors.m4a":["audio/voice/Derm3/rep.sensors.m4a",["voice.vl2"]],"audio/voice/derm3/rep.sensors.wav":["audio/voice/Derm3/rep.sensors.WAV",["voice.vl2"]],"audio/voice/derm3/rep.turrets.m4a":["audio/voice/Derm3/rep.turrets.m4a",["voice.vl2"]],"audio/voice/derm3/rep.turrets.wav":["audio/voice/Derm3/rep.turrets.WAV",["voice.vl2"]],"audio/voice/derm3/rep.vehicle.m4a":["audio/voice/Derm3/rep.vehicle.m4a",["voice.vl2"]],"audio/voice/derm3/rep.vehicle.wav":["audio/voice/Derm3/rep.vehicle.WAV",["voice.vl2"]],"audio/voice/derm3/slf.att.attack.m4a":["audio/voice/Derm3/slf.att.attack.m4a",["voice.vl2"]],"audio/voice/derm3/slf.att.attack.wav":["audio/voice/Derm3/slf.att.attack.WAV",["voice.vl2"]],"audio/voice/derm3/slf.att.base.m4a":["audio/voice/Derm3/slf.att.base.m4a",["voice.vl2"]],"audio/voice/derm3/slf.att.base.wav":["audio/voice/Derm3/slf.att.base.WAV",["voice.vl2"]],"audio/voice/derm3/slf.att.flag.m4a":["audio/voice/Derm3/slf.att.flag.m4a",["voice.vl2"]],"audio/voice/derm3/slf.att.flag.wav":["audio/voice/Derm3/slf.att.flag.WAV",["voice.vl2"]],"audio/voice/derm3/slf.att.generator.m4a":["audio/voice/Derm3/slf.att.generator.m4a",["voice.vl2"]],"audio/voice/derm3/slf.att.generator.wav":["audio/voice/Derm3/slf.att.generator.WAV",["voice.vl2"]],"audio/voice/derm3/slf.att.sensors.m4a":["audio/voice/Derm3/slf.att.sensors.m4a",["voice.vl2"]],"audio/voice/derm3/slf.att.sensors.wav":["audio/voice/Derm3/slf.att.sensors.WAV",["voice.vl2"]],"audio/voice/derm3/slf.att.turrets.m4a":["audio/voice/Derm3/slf.att.turrets.m4a",["voice.vl2"]],"audio/voice/derm3/slf.att.turrets.wav":["audio/voice/Derm3/slf.att.turrets.WAV",["voice.vl2"]],"audio/voice/derm3/slf.att.vehicle.m4a":["audio/voice/Derm3/slf.att.vehicle.m4a",["voice.vl2"]],"audio/voice/derm3/slf.att.vehicle.wav":["audio/voice/Derm3/slf.att.vehicle.WAV",["voice.vl2"]],"audio/voice/derm3/slf.def.base.m4a":["audio/voice/Derm3/slf.def.base.m4a",["voice.vl2"]],"audio/voice/derm3/slf.def.base.wav":["audio/voice/Derm3/slf.def.base.WAV",["voice.vl2"]],"audio/voice/derm3/slf.def.defend.m4a":["audio/voice/Derm3/slf.def.defend.m4a",["voice.vl2"]],"audio/voice/derm3/slf.def.defend.wav":["audio/voice/Derm3/slf.def.defend.WAV",["voice.vl2"]],"audio/voice/derm3/slf.def.flag.m4a":["audio/voice/Derm3/slf.def.flag.m4a",["voice.vl2"]],"audio/voice/derm3/slf.def.flag.wav":["audio/voice/Derm3/slf.def.flag.WAV",["voice.vl2"]],"audio/voice/derm3/slf.def.generator.m4a":["audio/voice/Derm3/slf.def.generator.m4a",["voice.vl2"]],"audio/voice/derm3/slf.def.generator.wav":["audio/voice/Derm3/slf.def.generator.WAV",["voice.vl2"]],"audio/voice/derm3/slf.def.nexus.m4a":["audio/voice/Derm3/slf.def.nexus.m4a",["voice.vl2"]],"audio/voice/derm3/slf.def.nexus.wav":["audio/voice/Derm3/slf.def.nexus.WAV",["voice.vl2"]],"audio/voice/derm3/slf.def.sensors.m4a":["audio/voice/Derm3/slf.def.sensors.m4a",["voice.vl2"]],"audio/voice/derm3/slf.def.sensors.wav":["audio/voice/Derm3/slf.def.sensors.WAV",["voice.vl2"]],"audio/voice/derm3/slf.def.turrets.m4a":["audio/voice/Derm3/slf.def.turrets.m4a",["voice.vl2"]],"audio/voice/derm3/slf.def.turrets.wav":["audio/voice/Derm3/slf.def.turrets.WAV",["voice.vl2"]],"audio/voice/derm3/slf.def.vehicle.m4a":["audio/voice/Derm3/slf.def.vehicle.m4a",["voice.vl2"]],"audio/voice/derm3/slf.def.vehicle.wav":["audio/voice/Derm3/slf.def.vehicle.WAV",["voice.vl2"]],"audio/voice/derm3/slf.rep.base.m4a":["audio/voice/Derm3/slf.rep.base.m4a",["voice.vl2"]],"audio/voice/derm3/slf.rep.base.wav":["audio/voice/Derm3/slf.rep.base.WAV",["voice.vl2"]],"audio/voice/derm3/slf.rep.equipment.m4a":["audio/voice/Derm3/slf.rep.equipment.m4a",["voice.vl2"]],"audio/voice/derm3/slf.rep.equipment.wav":["audio/voice/Derm3/slf.rep.equipment.WAV",["voice.vl2"]],"audio/voice/derm3/slf.rep.generator.m4a":["audio/voice/Derm3/slf.rep.generator.m4a",["voice.vl2"]],"audio/voice/derm3/slf.rep.generator.wav":["audio/voice/Derm3/slf.rep.generator.WAV",["voice.vl2"]],"audio/voice/derm3/slf.rep.repairing.m4a":["audio/voice/Derm3/slf.rep.repairing.m4a",["voice.vl2"]],"audio/voice/derm3/slf.rep.repairing.wav":["audio/voice/Derm3/slf.rep.repairing.WAV",["voice.vl2"]],"audio/voice/derm3/slf.rep.sensors.m4a":["audio/voice/Derm3/slf.rep.sensors.m4a",["voice.vl2"]],"audio/voice/derm3/slf.rep.sensors.wav":["audio/voice/Derm3/slf.rep.sensors.WAV",["voice.vl2"]],"audio/voice/derm3/slf.rep.turrets.m4a":["audio/voice/Derm3/slf.rep.turrets.m4a",["voice.vl2"]],"audio/voice/derm3/slf.rep.turrets.wav":["audio/voice/Derm3/slf.rep.turrets.WAV",["voice.vl2"]],"audio/voice/derm3/slf.rep.vehicle.m4a":["audio/voice/Derm3/slf.rep.vehicle.m4a",["voice.vl2"]],"audio/voice/derm3/slf.rep.vehicle.wav":["audio/voice/Derm3/slf.rep.vehicle.WAV",["voice.vl2"]],"audio/voice/derm3/slf.tsk.cover.m4a":["audio/voice/Derm3/slf.tsk.cover.m4a",["voice.vl2"]],"audio/voice/derm3/slf.tsk.cover.wav":["audio/voice/Derm3/slf.tsk.cover.WAV",["voice.vl2"]],"audio/voice/derm3/slf.tsk.defense.m4a":["audio/voice/Derm3/slf.tsk.defense.m4a",["voice.vl2"]],"audio/voice/derm3/slf.tsk.defense.wav":["audio/voice/Derm3/slf.tsk.defense.WAV",["voice.vl2"]],"audio/voice/derm3/slf.tsk.generic.m4a":["audio/voice/Derm3/slf.tsk.generic.m4a",["voice.vl2"]],"audio/voice/derm3/slf.tsk.generic.wav":["audio/voice/Derm3/slf.tsk.generic.WAV",["voice.vl2"]],"audio/voice/derm3/slf.tsk.remotes.m4a":["audio/voice/Derm3/slf.tsk.remotes.m4a",["voice.vl2"]],"audio/voice/derm3/slf.tsk.remotes.wav":["audio/voice/Derm3/slf.tsk.remotes.WAV",["voice.vl2"]],"audio/voice/derm3/slf.tsk.sensors.m4a":["audio/voice/Derm3/slf.tsk.sensors.m4a",["voice.vl2"]],"audio/voice/derm3/slf.tsk.sensors.wav":["audio/voice/Derm3/slf.tsk.sensors.WAV",["voice.vl2"]],"audio/voice/derm3/slf.tsk.turrets.m4a":["audio/voice/Derm3/slf.tsk.turrets.m4a",["voice.vl2"]],"audio/voice/derm3/slf.tsk.turrets.wav":["audio/voice/Derm3/slf.tsk.turrets.WAV",["voice.vl2"]],"audio/voice/derm3/slf.tsk.vehicle.m4a":["audio/voice/Derm3/slf.tsk.vehicle.m4a",["voice.vl2"]],"audio/voice/derm3/slf.tsk.vehicle.wav":["audio/voice/Derm3/slf.tsk.vehicle.WAV",["voice.vl2"]],"audio/voice/derm3/tgt.acquired.m4a":["audio/voice/Derm3/tgt.acquired.m4a",["voice.vl2"]],"audio/voice/derm3/tgt.acquired.wav":["audio/voice/Derm3/tgt.acquired.WAV",["voice.vl2"]],"audio/voice/derm3/tgt.base.m4a":["audio/voice/Derm3/tgt.base.m4a",["voice.vl2"]],"audio/voice/derm3/tgt.base.wav":["audio/voice/Derm3/tgt.base.WAV",["voice.vl2"]],"audio/voice/derm3/tgt.destroyed.m4a":["audio/voice/Derm3/tgt.destroyed.m4a",["voice.vl2"]],"audio/voice/derm3/tgt.destroyed.wav":["audio/voice/Derm3/tgt.destroyed.WAV",["voice.vl2"]],"audio/voice/derm3/tgt.flag.m4a":["audio/voice/Derm3/tgt.flag.m4a",["voice.vl2"]],"audio/voice/derm3/tgt.flag.wav":["audio/voice/Derm3/tgt.flag.WAV",["voice.vl2"]],"audio/voice/derm3/tgt.my.m4a":["audio/voice/Derm3/tgt.my.m4a",["voice.vl2"]],"audio/voice/derm3/tgt.my.wav":["audio/voice/Derm3/tgt.my.WAV",["voice.vl2"]],"audio/voice/derm3/tgt.need.m4a":["audio/voice/Derm3/tgt.need.m4a",["voice.vl2"]],"audio/voice/derm3/tgt.need.wav":["audio/voice/Derm3/tgt.need.WAV",["voice.vl2"]],"audio/voice/derm3/tgt.sensors.m4a":["audio/voice/Derm3/tgt.sensors.m4a",["voice.vl2"]],"audio/voice/derm3/tgt.sensors.wav":["audio/voice/Derm3/tgt.sensors.WAV",["voice.vl2"]],"audio/voice/derm3/tgt.turret.m4a":["audio/voice/Derm3/tgt.turret.m4a",["voice.vl2"]],"audio/voice/derm3/tgt.turret.wav":["audio/voice/Derm3/tgt.turret.WAV",["voice.vl2"]],"audio/voice/derm3/tgt.wait.m4a":["audio/voice/Derm3/tgt.wait.m4a",["voice.vl2"]],"audio/voice/derm3/tgt.wait.wav":["audio/voice/Derm3/tgt.wait.WAV",["voice.vl2"]],"audio/voice/derm3/vqk.anytime.m4a":["audio/voice/Derm3/vqk.anytime.m4a",["voice.vl2"]],"audio/voice/derm3/vqk.anytime.wav":["audio/voice/Derm3/vqk.anytime.WAV",["voice.vl2"]],"audio/voice/derm3/vqk.base.m4a":["audio/voice/Derm3/vqk.base.m4a",["voice.vl2"]],"audio/voice/derm3/vqk.base.wav":["audio/voice/Derm3/vqk.base.WAV",["voice.vl2"]],"audio/voice/derm3/vqk.ceasefire.m4a":["audio/voice/Derm3/vqk.ceasefire.m4a",["voice.vl2"]],"audio/voice/derm3/vqk.ceasefire.wav":["audio/voice/Derm3/vqk.ceasefire.WAV",["voice.vl2"]],"audio/voice/derm3/vqk.dunno.m4a":["audio/voice/Derm3/vqk.dunno.m4a",["voice.vl2"]],"audio/voice/derm3/vqk.dunno.wav":["audio/voice/Derm3/vqk.dunno.WAV",["voice.vl2"]],"audio/voice/derm3/vqk.help.m4a":["audio/voice/Derm3/vqk.help.m4a",["voice.vl2"]],"audio/voice/derm3/vqk.help.wav":["audio/voice/Derm3/vqk.help.WAV",["voice.vl2"]],"audio/voice/derm3/vqk.move.m4a":["audio/voice/Derm3/vqk.move.m4a",["voice.vl2"]],"audio/voice/derm3/vqk.move.wav":["audio/voice/Derm3/vqk.move.WAV",["voice.vl2"]],"audio/voice/derm3/vqk.no.m4a":["audio/voice/Derm3/vqk.no.m4a",["voice.vl2"]],"audio/voice/derm3/vqk.no.wav":["audio/voice/Derm3/vqk.no.WAV",["voice.vl2"]],"audio/voice/derm3/vqk.quiet.m4a":["audio/voice/Derm3/vqk.quiet.m4a",["voice.vl2"]],"audio/voice/derm3/vqk.quiet.wav":["audio/voice/Derm3/vqk.quiet.WAV",["voice.vl2"]],"audio/voice/derm3/vqk.sorry.m4a":["audio/voice/Derm3/vqk.sorry.m4a",["voice.vl2"]],"audio/voice/derm3/vqk.sorry.wav":["audio/voice/Derm3/vqk.sorry.WAV",["voice.vl2"]],"audio/voice/derm3/vqk.thanks.m4a":["audio/voice/Derm3/vqk.thanks.m4a",["voice.vl2"]],"audio/voice/derm3/vqk.thanks.wav":["audio/voice/Derm3/vqk.thanks.WAV",["voice.vl2"]],"audio/voice/derm3/vqk.wait.m4a":["audio/voice/Derm3/vqk.wait.m4a",["voice.vl2"]],"audio/voice/derm3/vqk.wait.wav":["audio/voice/Derm3/vqk.wait.WAV",["voice.vl2"]],"audio/voice/derm3/vqk.yes.m4a":["audio/voice/Derm3/vqk.yes.m4a",["voice.vl2"]],"audio/voice/derm3/vqk.yes.wav":["audio/voice/Derm3/vqk.yes.WAV",["voice.vl2"]],"audio/voice/derm3/wrn.bomber.m4a":["audio/voice/Derm3/wrn.bomber.m4a",["voice.vl2"]],"audio/voice/derm3/wrn.bomber.wav":["audio/voice/Derm3/wrn.bomber.WAV",["voice.vl2"]],"audio/voice/derm3/wrn.enemy.m4a":["audio/voice/Derm3/wrn.enemy.m4a",["voice.vl2"]],"audio/voice/derm3/wrn.enemy.wav":["audio/voice/Derm3/wrn.enemy.WAV",["voice.vl2"]],"audio/voice/derm3/wrn.vehicles.m4a":["audio/voice/Derm3/wrn.vehicles.m4a",["voice.vl2"]],"audio/voice/derm3/wrn.vehicles.wav":["audio/voice/Derm3/wrn.vehicles.WAV",["voice.vl2"]],"audio/voice/derm3/wrn.watchit.m4a":["audio/voice/Derm3/wrn.watchit.m4a",["voice.vl2"]],"audio/voice/derm3/wrn.watchit.wav":["audio/voice/Derm3/wrn.watchit.WAV",["voice.vl2"]],"audio/voice/fem1/att.attack.m4a":["audio/voice/Fem1/att.attack.m4a",["voice.vl2"]],"audio/voice/fem1/att.attack.wav":["audio/voice/Fem1/att.attack.WAV",["voice.vl2"]],"audio/voice/fem1/att.base.m4a":["audio/voice/Fem1/att.base.m4a",["voice.vl2"]],"audio/voice/fem1/att.base.wav":["audio/voice/Fem1/att.base.WAV",["voice.vl2"]],"audio/voice/fem1/att.chase.m4a":["audio/voice/Fem1/att.chase.m4a",["voice.vl2"]],"audio/voice/fem1/att.chase.wav":["audio/voice/Fem1/att.chase.WAV",["voice.vl2"]],"audio/voice/fem1/att.distract.m4a":["audio/voice/Fem1/att.distract.m4a",["voice.vl2"]],"audio/voice/fem1/att.distract.wav":["audio/voice/Fem1/att.distract.WAV",["voice.vl2"]],"audio/voice/fem1/att.flag.m4a":["audio/voice/Fem1/att.flag.m4a",["voice.vl2"]],"audio/voice/fem1/att.flag.wav":["audio/voice/Fem1/att.flag.WAV",["voice.vl2"]],"audio/voice/fem1/att.generator.m4a":["audio/voice/Fem1/att.generator.m4a",["voice.vl2"]],"audio/voice/fem1/att.generator.wav":["audio/voice/Fem1/att.generator.WAV",["voice.vl2"]],"audio/voice/fem1/att.objective.m4a":["audio/voice/Fem1/att.objective.m4a",["voice.vl2"]],"audio/voice/fem1/att.objective.wav":["audio/voice/Fem1/att.objective.WAV",["voice.vl2"]],"audio/voice/fem1/att.reinforcements.m4a":["audio/voice/Fem1/att.reinforcements.m4a",["voice.vl2"]],"audio/voice/fem1/att.reinforcements.wav":["audio/voice/Fem1/att.reinforcements.WAV",["voice.vl2"]],"audio/voice/fem1/att.sensors.m4a":["audio/voice/Fem1/att.sensors.m4a",["voice.vl2"]],"audio/voice/fem1/att.sensors.wav":["audio/voice/Fem1/att.sensors.WAV",["voice.vl2"]],"audio/voice/fem1/att.turrets.m4a":["audio/voice/Fem1/att.turrets.m4a",["voice.vl2"]],"audio/voice/fem1/att.turrets.wav":["audio/voice/Fem1/att.turrets.WAV",["voice.vl2"]],"audio/voice/fem1/att.vehicle.m4a":["audio/voice/Fem1/att.vehicle.m4a",["voice.vl2"]],"audio/voice/fem1/att.vehicle.wav":["audio/voice/Fem1/att.vehicle.WAV",["voice.vl2"]],"audio/voice/fem1/att.wait.m4a":["audio/voice/Fem1/att.wait.m4a",["voice.vl2"]],"audio/voice/fem1/att.wait.wav":["audio/voice/Fem1/att.wait.WAV",["voice.vl2"]],"audio/voice/fem1/avo.deathcry_01.m4a":["audio/voice/Fem1/avo.deathcry_01.m4a",["voice.vl2"]],"audio/voice/fem1/avo.deathcry_01.wav":["audio/voice/Fem1/avo.deathcry_01.WAV",["voice.vl2"]],"audio/voice/fem1/avo.deathcry_02.m4a":["audio/voice/Fem1/avo.deathcry_02.m4a",["voice.vl2"]],"audio/voice/fem1/avo.deathcry_02.wav":["audio/voice/Fem1/avo.deathcry_02.WAV",["voice.vl2"]],"audio/voice/fem1/avo.grunt.m4a":["audio/voice/Fem1/avo.grunt.m4a",["voice.vl2"]],"audio/voice/fem1/avo.grunt.wav":["audio/voice/Fem1/avo.grunt.WAV",["voice.vl2"]],"audio/voice/fem1/avo.pain.m4a":["audio/voice/Fem1/avo.pain.m4a",["voice.vl2"]],"audio/voice/fem1/avo.pain.wav":["audio/voice/Fem1/avo.pain.WAV",["voice.vl2"]],"audio/voice/fem1/bas.clear.m4a":["audio/voice/Fem1/bas.clear.m4a",["voice.vl2"]],"audio/voice/fem1/bas.clear.wav":["audio/voice/Fem1/bas.clear.WAV",["voice.vl2"]],"audio/voice/fem1/bas.enemy.m4a":["audio/voice/Fem1/bas.enemy.m4a",["voice.vl2"]],"audio/voice/fem1/bas.enemy.wav":["audio/voice/Fem1/bas.enemy.WAV",["voice.vl2"]],"audio/voice/fem1/bas.retake.m4a":["audio/voice/Fem1/bas.retake.m4a",["voice.vl2"]],"audio/voice/fem1/bas.retake.wav":["audio/voice/Fem1/bas.retake.WAV",["voice.vl2"]],"audio/voice/fem1/bas.secure.m4a":["audio/voice/Fem1/bas.secure.m4a",["voice.vl2"]],"audio/voice/fem1/bas.secure.wav":["audio/voice/Fem1/bas.secure.WAV",["voice.vl2"]],"audio/voice/fem1/bas.taken.m4a":["audio/voice/Fem1/bas.taken.m4a",["voice.vl2"]],"audio/voice/fem1/bas.taken.wav":["audio/voice/Fem1/bas.taken.WAV",["voice.vl2"]],"audio/voice/fem1/cmd.acknowledge.m4a":["audio/voice/Fem1/cmd.acknowledge.m4a",["voice.vl2"]],"audio/voice/fem1/cmd.acknowledge.wav":["audio/voice/Fem1/cmd.acknowledge.WAV",["voice.vl2"]],"audio/voice/fem1/cmd.bot.m4a":["audio/voice/Fem1/cmd.bot.m4a",["voice.vl2"]],"audio/voice/fem1/cmd.bot.wav":["audio/voice/Fem1/cmd.bot.WAV",["voice.vl2"]],"audio/voice/fem1/cmd.completed.m4a":["audio/voice/Fem1/cmd.completed.m4a",["voice.vl2"]],"audio/voice/fem1/cmd.completed.wav":["audio/voice/Fem1/cmd.completed.WAV",["voice.vl2"]],"audio/voice/fem1/cmd.decline.m4a":["audio/voice/Fem1/cmd.decline.m4a",["voice.vl2"]],"audio/voice/fem1/cmd.decline.wav":["audio/voice/Fem1/cmd.decline.WAV",["voice.vl2"]],"audio/voice/fem1/def.base.m4a":["audio/voice/Fem1/def.base.m4a",["voice.vl2"]],"audio/voice/fem1/def.base.wav":["audio/voice/Fem1/def.base.WAV",["voice.vl2"]],"audio/voice/fem1/def.carrier.m4a":["audio/voice/Fem1/def.carrier.m4a",["voice.vl2"]],"audio/voice/fem1/def.carrier.wav":["audio/voice/Fem1/def.carrier.WAV",["voice.vl2"]],"audio/voice/fem1/def.entrances.m4a":["audio/voice/Fem1/def.entrances.m4a",["voice.vl2"]],"audio/voice/fem1/def.entrances.wav":["audio/voice/Fem1/def.entrances.WAV",["voice.vl2"]],"audio/voice/fem1/def.flag.m4a":["audio/voice/Fem1/def.flag.m4a",["voice.vl2"]],"audio/voice/fem1/def.flag.wav":["audio/voice/Fem1/def.flag.WAV",["voice.vl2"]],"audio/voice/fem1/def.generator.m4a":["audio/voice/Fem1/def.generator.m4a",["voice.vl2"]],"audio/voice/fem1/def.generator.wav":["audio/voice/Fem1/def.generator.WAV",["voice.vl2"]],"audio/voice/fem1/def.me.m4a":["audio/voice/Fem1/def.me.m4a",["voice.vl2"]],"audio/voice/fem1/def.me.wav":["audio/voice/Fem1/def.me.WAV",["voice.vl2"]],"audio/voice/fem1/def.nexus.m4a":["audio/voice/Fem1/def.nexus.m4a",["voice.vl2"]],"audio/voice/fem1/def.nexus.wav":["audio/voice/Fem1/def.nexus.WAV",["voice.vl2"]],"audio/voice/fem1/def.objective.m4a":["audio/voice/Fem1/def.objective.m4a",["voice.vl2"]],"audio/voice/fem1/def.objective.wav":["audio/voice/Fem1/def.objective.WAV",["voice.vl2"]],"audio/voice/fem1/def.reinforce.m4a":["audio/voice/Fem1/def.reinforce.m4a",["voice.vl2"]],"audio/voice/fem1/def.reinforce.wav":["audio/voice/Fem1/def.reinforce.WAV",["voice.vl2"]],"audio/voice/fem1/def.sensors.m4a":["audio/voice/Fem1/def.sensors.m4a",["voice.vl2"]],"audio/voice/fem1/def.sensors.wav":["audio/voice/Fem1/def.sensors.WAV",["voice.vl2"]],"audio/voice/fem1/def.turrets.m4a":["audio/voice/Fem1/def.turrets.m4a",["voice.vl2"]],"audio/voice/fem1/def.turrets.wav":["audio/voice/Fem1/def.turrets.WAV",["voice.vl2"]],"audio/voice/fem1/def.vehicle.m4a":["audio/voice/Fem1/def.vehicle.m4a",["voice.vl2"]],"audio/voice/fem1/def.vehicle.wav":["audio/voice/Fem1/def.vehicle.WAV",["voice.vl2"]],"audio/voice/fem1/ene.base.m4a":["audio/voice/Fem1/ene.base.m4a",["voice.vl2"]],"audio/voice/fem1/ene.base.wav":["audio/voice/Fem1/ene.base.WAV",["voice.vl2"]],"audio/voice/fem1/ene.disarray.m4a":["audio/voice/Fem1/ene.disarray.m4a",["voice.vl2"]],"audio/voice/fem1/ene.disarray.wav":["audio/voice/Fem1/ene.disarray.WAV",["voice.vl2"]],"audio/voice/fem1/ene.generator.m4a":["audio/voice/Fem1/ene.generator.m4a",["voice.vl2"]],"audio/voice/fem1/ene.generator.wav":["audio/voice/Fem1/ene.generator.WAV",["voice.vl2"]],"audio/voice/fem1/ene.remotes.m4a":["audio/voice/Fem1/ene.remotes.m4a",["voice.vl2"]],"audio/voice/fem1/ene.remotes.wav":["audio/voice/Fem1/ene.remotes.WAV",["voice.vl2"]],"audio/voice/fem1/ene.sensors.m4a":["audio/voice/Fem1/ene.sensors.m4a",["voice.vl2"]],"audio/voice/fem1/ene.sensors.wav":["audio/voice/Fem1/ene.sensors.WAV",["voice.vl2"]],"audio/voice/fem1/ene.turrets.m4a":["audio/voice/Fem1/ene.turrets.m4a",["voice.vl2"]],"audio/voice/fem1/ene.turrets.wav":["audio/voice/Fem1/ene.turrets.WAV",["voice.vl2"]],"audio/voice/fem1/ene.vehicle.m4a":["audio/voice/Fem1/ene.vehicle.m4a",["voice.vl2"]],"audio/voice/fem1/ene.vehicle.wav":["audio/voice/Fem1/ene.vehicle.WAV",["voice.vl2"]],"audio/voice/fem1/flg.flag.m4a":["audio/voice/Fem1/flg.flag.m4a",["voice.vl2"]],"audio/voice/fem1/flg.flag.wav":["audio/voice/Fem1/flg.flag.WAV",["voice.vl2"]],"audio/voice/fem1/flg.give.m4a":["audio/voice/Fem1/flg.give.m4a",["voice.vl2"]],"audio/voice/fem1/flg.give.wav":["audio/voice/Fem1/flg.give.WAV",["voice.vl2"]],"audio/voice/fem1/flg.huntergive.m4a":["audio/voice/Fem1/flg.huntergive.m4a",["voice.vl2"]],"audio/voice/fem1/flg.huntergive.wav":["audio/voice/Fem1/flg.huntergive.WAV",["voice.vl2"]],"audio/voice/fem1/flg.huntertake.m4a":["audio/voice/Fem1/flg.huntertake.m4a",["voice.vl2"]],"audio/voice/fem1/flg.huntertake.wav":["audio/voice/Fem1/flg.huntertake.WAV",["voice.vl2"]],"audio/voice/fem1/flg.retrieve.m4a":["audio/voice/Fem1/flg.retrieve.m4a",["voice.vl2"]],"audio/voice/fem1/flg.retrieve.wav":["audio/voice/Fem1/flg.retrieve.WAV",["voice.vl2"]],"audio/voice/fem1/flg.secure.m4a":["audio/voice/Fem1/flg.secure.m4a",["voice.vl2"]],"audio/voice/fem1/flg.secure.wav":["audio/voice/Fem1/flg.secure.WAV",["voice.vl2"]],"audio/voice/fem1/flg.take.m4a":["audio/voice/Fem1/flg.take.m4a",["voice.vl2"]],"audio/voice/fem1/flg.take.wav":["audio/voice/Fem1/flg.take.WAV",["voice.vl2"]],"audio/voice/fem1/gbl.anytime.m4a":["audio/voice/Fem1/gbl.anytime.m4a",["voice.vl2"]],"audio/voice/fem1/gbl.anytime.wav":["audio/voice/Fem1/gbl.anytime.WAV",["voice.vl2"]],"audio/voice/fem1/gbl.awesome.m4a":["audio/voice/Fem1/gbl.awesome.m4a",["voice.vl2"]],"audio/voice/fem1/gbl.awesome.wav":["audio/voice/Fem1/gbl.awesome.WAV",["voice.vl2"]],"audio/voice/fem1/gbl.aww.m4a":["audio/voice/Fem1/gbl.aww.m4a",["voice.vl2"]],"audio/voice/fem1/gbl.aww.wav":["audio/voice/Fem1/gbl.aww.WAV",["voice.vl2"]],"audio/voice/fem1/gbl.brag.m4a":["audio/voice/Fem1/gbl.brag.m4a",["voice.vl2"]],"audio/voice/fem1/gbl.brag.wav":["audio/voice/Fem1/gbl.brag.WAV",["voice.vl2"]],"audio/voice/fem1/gbl.bye.m4a":["audio/voice/Fem1/gbl.bye.m4a",["voice.vl2"]],"audio/voice/fem1/gbl.bye.wav":["audio/voice/Fem1/gbl.bye.WAV",["voice.vl2"]],"audio/voice/fem1/gbl.dunno.m4a":["audio/voice/Fem1/gbl.dunno.m4a",["voice.vl2"]],"audio/voice/fem1/gbl.dunno.wav":["audio/voice/Fem1/gbl.dunno.WAV",["voice.vl2"]],"audio/voice/fem1/gbl.goodgame.m4a":["audio/voice/Fem1/gbl.goodgame.m4a",["voice.vl2"]],"audio/voice/fem1/gbl.goodgame.wav":["audio/voice/Fem1/gbl.goodgame.WAV",["voice.vl2"]],"audio/voice/fem1/gbl.hi.m4a":["audio/voice/Fem1/gbl.hi.m4a",["voice.vl2"]],"audio/voice/fem1/gbl.hi.wav":["audio/voice/Fem1/gbl.hi.WAV",["voice.vl2"]],"audio/voice/fem1/gbl.nice.m4a":["audio/voice/Fem1/gbl.nice.m4a",["voice.vl2"]],"audio/voice/fem1/gbl.nice.wav":["audio/voice/Fem1/gbl.nice.WAV",["voice.vl2"]],"audio/voice/fem1/gbl.no.m4a":["audio/voice/Fem1/gbl.no.m4a",["voice.vl2"]],"audio/voice/fem1/gbl.no.wav":["audio/voice/Fem1/gbl.no.WAV",["voice.vl2"]],"audio/voice/fem1/gbl.obnoxious.m4a":["audio/voice/Fem1/gbl.obnoxious.m4a",["voice.vl2"]],"audio/voice/fem1/gbl.obnoxious.wav":["audio/voice/Fem1/gbl.obnoxious.WAV",["voice.vl2"]],"audio/voice/fem1/gbl.oops.m4a":["audio/voice/Fem1/gbl.oops.m4a",["voice.vl2"]],"audio/voice/fem1/gbl.oops.wav":["audio/voice/Fem1/gbl.oops.WAV",["voice.vl2"]],"audio/voice/fem1/gbl.quiet.m4a":["audio/voice/Fem1/gbl.quiet.m4a",["voice.vl2"]],"audio/voice/fem1/gbl.quiet.wav":["audio/voice/Fem1/gbl.quiet.WAV",["voice.vl2"]],"audio/voice/fem1/gbl.rock.m4a":["audio/voice/Fem1/gbl.rock.m4a",["voice.vl2"]],"audio/voice/fem1/gbl.rock.wav":["audio/voice/Fem1/gbl.rock.WAV",["voice.vl2"]],"audio/voice/fem1/gbl.sarcasm.m4a":["audio/voice/Fem1/gbl.sarcasm.m4a",["voice.vl2"]],"audio/voice/fem1/gbl.sarcasm.wav":["audio/voice/Fem1/gbl.sarcasm.WAV",["voice.vl2"]],"audio/voice/fem1/gbl.shazbot.m4a":["audio/voice/Fem1/gbl.shazbot.m4a",["voice.vl2"]],"audio/voice/fem1/gbl.shazbot.wav":["audio/voice/Fem1/gbl.shazbot.WAV",["voice.vl2"]],"audio/voice/fem1/gbl.shooting.m4a":["audio/voice/Fem1/gbl.shooting.m4a",["voice.vl2"]],"audio/voice/fem1/gbl.shooting.wav":["audio/voice/Fem1/gbl.shooting.WAV",["voice.vl2"]],"audio/voice/fem1/gbl.thanks.m4a":["audio/voice/Fem1/gbl.thanks.m4a",["voice.vl2"]],"audio/voice/fem1/gbl.thanks.wav":["audio/voice/Fem1/gbl.thanks.WAV",["voice.vl2"]],"audio/voice/fem1/gbl.wait.m4a":["audio/voice/Fem1/gbl.wait.m4a",["voice.vl2"]],"audio/voice/fem1/gbl.wait.wav":["audio/voice/Fem1/gbl.wait.WAV",["voice.vl2"]],"audio/voice/fem1/gbl.when.m4a":["audio/voice/Fem1/gbl.when.m4a",["voice.vl2"]],"audio/voice/fem1/gbl.when.wav":["audio/voice/Fem1/gbl.when.WAV",["voice.vl2"]],"audio/voice/fem1/gbl.woohoo.m4a":["audio/voice/Fem1/gbl.woohoo.m4a",["voice.vl2"]],"audio/voice/fem1/gbl.woohoo.wav":["audio/voice/Fem1/gbl.woohoo.WAV",["voice.vl2"]],"audio/voice/fem1/gbl.yes.m4a":["audio/voice/Fem1/gbl.yes.m4a",["voice.vl2"]],"audio/voice/fem1/gbl.yes.wav":["audio/voice/Fem1/gbl.yes.WAV",["voice.vl2"]],"audio/voice/fem1/need.bombardier.m4a":["audio/voice/Fem1/need.bombardier.m4a",["voice.vl2"]],"audio/voice/fem1/need.bombardier.wav":["audio/voice/Fem1/need.bombardier.WAV",["voice.vl2"]],"audio/voice/fem1/need.cover.m4a":["audio/voice/Fem1/need.cover.m4a",["voice.vl2"]],"audio/voice/fem1/need.cover.wav":["audio/voice/Fem1/need.cover.WAV",["voice.vl2"]],"audio/voice/fem1/need.driver.m4a":["audio/voice/Fem1/need.driver.m4a",["voice.vl2"]],"audio/voice/fem1/need.driver.wav":["audio/voice/Fem1/need.driver.WAV",["voice.vl2"]],"audio/voice/fem1/need.escort.m4a":["audio/voice/Fem1/need.escort.m4a",["voice.vl2"]],"audio/voice/fem1/need.escort.wav":["audio/voice/Fem1/need.escort.WAV",["voice.vl2"]],"audio/voice/fem1/need.flyer.m4a":["audio/voice/Fem1/need.flyer.m4a",["voice.vl2"]],"audio/voice/fem1/need.flyer.wav":["audio/voice/Fem1/need.flyer.WAV",["voice.vl2"]],"audio/voice/fem1/need.gunship.m4a":["audio/voice/Fem1/need.gunship.m4a",["voice.vl2"]],"audio/voice/fem1/need.gunship.wav":["audio/voice/Fem1/need.gunship.WAV",["voice.vl2"]],"audio/voice/fem1/need.hold.m4a":["audio/voice/Fem1/need.hold.m4a",["voice.vl2"]],"audio/voice/fem1/need.hold.wav":["audio/voice/Fem1/need.hold.WAV",["voice.vl2"]],"audio/voice/fem1/need.ride.m4a":["audio/voice/Fem1/need.ride.m4a",["voice.vl2"]],"audio/voice/fem1/need.ride.wav":["audio/voice/Fem1/need.ride.WAV",["voice.vl2"]],"audio/voice/fem1/need.support.m4a":["audio/voice/Fem1/need.support.m4a",["voice.vl2"]],"audio/voice/fem1/need.support.wav":["audio/voice/Fem1/need.support.WAV",["voice.vl2"]],"audio/voice/fem1/need.tailgunner.m4a":["audio/voice/Fem1/need.tailgunner.m4a",["voice.vl2"]],"audio/voice/fem1/need.tailgunner.wav":["audio/voice/Fem1/need.tailgunner.WAV",["voice.vl2"]],"audio/voice/fem1/need.where.m4a":["audio/voice/Fem1/need.where.m4a",["voice.vl2"]],"audio/voice/fem1/need.where.wav":["audio/voice/Fem1/need.where.WAV",["voice.vl2"]],"audio/voice/fem1/rep.base.m4a":["audio/voice/Fem1/rep.base.m4a",["voice.vl2"]],"audio/voice/fem1/rep.base.wav":["audio/voice/Fem1/rep.base.WAV",["voice.vl2"]],"audio/voice/fem1/rep.generator.m4a":["audio/voice/Fem1/rep.generator.m4a",["voice.vl2"]],"audio/voice/fem1/rep.generator.wav":["audio/voice/Fem1/rep.generator.WAV",["voice.vl2"]],"audio/voice/fem1/rep.me.m4a":["audio/voice/Fem1/rep.me.m4a",["voice.vl2"]],"audio/voice/fem1/rep.me.wav":["audio/voice/Fem1/rep.me.WAV",["voice.vl2"]],"audio/voice/fem1/rep.sensors.m4a":["audio/voice/Fem1/rep.sensors.m4a",["voice.vl2"]],"audio/voice/fem1/rep.sensors.wav":["audio/voice/Fem1/rep.sensors.WAV",["voice.vl2"]],"audio/voice/fem1/rep.turrets.m4a":["audio/voice/Fem1/rep.turrets.m4a",["voice.vl2"]],"audio/voice/fem1/rep.turrets.wav":["audio/voice/Fem1/rep.turrets.WAV",["voice.vl2"]],"audio/voice/fem1/rep.vehicle.m4a":["audio/voice/Fem1/rep.vehicle.m4a",["voice.vl2"]],"audio/voice/fem1/rep.vehicle.wav":["audio/voice/Fem1/rep.vehicle.WAV",["voice.vl2"]],"audio/voice/fem1/slf.att.attack.m4a":["audio/voice/Fem1/slf.att.attack.m4a",["voice.vl2"]],"audio/voice/fem1/slf.att.attack.wav":["audio/voice/Fem1/slf.att.attack.WAV",["voice.vl2"]],"audio/voice/fem1/slf.att.base.m4a":["audio/voice/Fem1/slf.att.base.m4a",["voice.vl2"]],"audio/voice/fem1/slf.att.base.wav":["audio/voice/Fem1/slf.att.base.WAV",["voice.vl2"]],"audio/voice/fem1/slf.att.flag.m4a":["audio/voice/Fem1/slf.att.flag.m4a",["voice.vl2"]],"audio/voice/fem1/slf.att.flag.wav":["audio/voice/Fem1/slf.att.flag.WAV",["voice.vl2"]],"audio/voice/fem1/slf.att.generator.m4a":["audio/voice/Fem1/slf.att.generator.m4a",["voice.vl2"]],"audio/voice/fem1/slf.att.generator.wav":["audio/voice/Fem1/slf.att.generator.WAV",["voice.vl2"]],"audio/voice/fem1/slf.att.sensors.m4a":["audio/voice/Fem1/slf.att.sensors.m4a",["voice.vl2"]],"audio/voice/fem1/slf.att.sensors.wav":["audio/voice/Fem1/slf.att.sensors.WAV",["voice.vl2"]],"audio/voice/fem1/slf.att.turrets.m4a":["audio/voice/Fem1/slf.att.turrets.m4a",["voice.vl2"]],"audio/voice/fem1/slf.att.turrets.wav":["audio/voice/Fem1/slf.att.turrets.WAV",["voice.vl2"]],"audio/voice/fem1/slf.att.vehicle.m4a":["audio/voice/Fem1/slf.att.vehicle.m4a",["voice.vl2"]],"audio/voice/fem1/slf.att.vehicle.wav":["audio/voice/Fem1/slf.att.vehicle.WAV",["voice.vl2"]],"audio/voice/fem1/slf.def.base.m4a":["audio/voice/Fem1/slf.def.base.m4a",["voice.vl2"]],"audio/voice/fem1/slf.def.base.wav":["audio/voice/Fem1/slf.def.base.WAV",["voice.vl2"]],"audio/voice/fem1/slf.def.defend.m4a":["audio/voice/Fem1/slf.def.defend.m4a",["voice.vl2"]],"audio/voice/fem1/slf.def.defend.wav":["audio/voice/Fem1/slf.def.defend.WAV",["voice.vl2"]],"audio/voice/fem1/slf.def.flag.m4a":["audio/voice/Fem1/slf.def.flag.m4a",["voice.vl2"]],"audio/voice/fem1/slf.def.flag.wav":["audio/voice/Fem1/slf.def.flag.WAV",["voice.vl2"]],"audio/voice/fem1/slf.def.generator.m4a":["audio/voice/Fem1/slf.def.generator.m4a",["voice.vl2"]],"audio/voice/fem1/slf.def.generator.wav":["audio/voice/Fem1/slf.def.generator.WAV",["voice.vl2"]],"audio/voice/fem1/slf.def.nexus.m4a":["audio/voice/Fem1/slf.def.nexus.m4a",["voice.vl2"]],"audio/voice/fem1/slf.def.nexus.wav":["audio/voice/Fem1/slf.def.nexus.WAV",["voice.vl2"]],"audio/voice/fem1/slf.def.sensors.m4a":["audio/voice/Fem1/slf.def.sensors.m4a",["voice.vl2"]],"audio/voice/fem1/slf.def.sensors.wav":["audio/voice/Fem1/slf.def.sensors.WAV",["voice.vl2"]],"audio/voice/fem1/slf.def.turrets.m4a":["audio/voice/Fem1/slf.def.turrets.m4a",["voice.vl2"]],"audio/voice/fem1/slf.def.turrets.wav":["audio/voice/Fem1/slf.def.turrets.WAV",["voice.vl2"]],"audio/voice/fem1/slf.def.vehicle.m4a":["audio/voice/Fem1/slf.def.vehicle.m4a",["voice.vl2"]],"audio/voice/fem1/slf.def.vehicle.wav":["audio/voice/Fem1/slf.def.vehicle.WAV",["voice.vl2"]],"audio/voice/fem1/slf.rep.base.m4a":["audio/voice/Fem1/slf.rep.base.m4a",["voice.vl2"]],"audio/voice/fem1/slf.rep.base.wav":["audio/voice/Fem1/slf.rep.base.WAV",["voice.vl2"]],"audio/voice/fem1/slf.rep.equipment.m4a":["audio/voice/Fem1/slf.rep.equipment.m4a",["voice.vl2"]],"audio/voice/fem1/slf.rep.equipment.wav":["audio/voice/Fem1/slf.rep.equipment.WAV",["voice.vl2"]],"audio/voice/fem1/slf.rep.generator.m4a":["audio/voice/Fem1/slf.rep.generator.m4a",["voice.vl2"]],"audio/voice/fem1/slf.rep.generator.wav":["audio/voice/Fem1/slf.rep.generator.WAV",["voice.vl2"]],"audio/voice/fem1/slf.rep.repairing.m4a":["audio/voice/Fem1/slf.rep.repairing.m4a",["voice.vl2"]],"audio/voice/fem1/slf.rep.repairing.wav":["audio/voice/Fem1/slf.rep.repairing.WAV",["voice.vl2"]],"audio/voice/fem1/slf.rep.sensors.m4a":["audio/voice/Fem1/slf.rep.sensors.m4a",["voice.vl2"]],"audio/voice/fem1/slf.rep.sensors.wav":["audio/voice/Fem1/slf.rep.sensors.WAV",["voice.vl2"]],"audio/voice/fem1/slf.rep.turrets.m4a":["audio/voice/Fem1/slf.rep.turrets.m4a",["voice.vl2"]],"audio/voice/fem1/slf.rep.turrets.wav":["audio/voice/Fem1/slf.rep.turrets.WAV",["voice.vl2"]],"audio/voice/fem1/slf.rep.vehicle.m4a":["audio/voice/Fem1/slf.rep.vehicle.m4a",["voice.vl2"]],"audio/voice/fem1/slf.rep.vehicle.wav":["audio/voice/Fem1/slf.rep.vehicle.WAV",["voice.vl2"]],"audio/voice/fem1/slf.tsk.cover.m4a":["audio/voice/Fem1/slf.tsk.cover.m4a",["voice.vl2"]],"audio/voice/fem1/slf.tsk.cover.wav":["audio/voice/Fem1/slf.tsk.cover.WAV",["voice.vl2"]],"audio/voice/fem1/slf.tsk.defense.m4a":["audio/voice/Fem1/slf.tsk.defense.m4a",["voice.vl2"]],"audio/voice/fem1/slf.tsk.defense.wav":["audio/voice/Fem1/slf.tsk.defense.WAV",["voice.vl2"]],"audio/voice/fem1/slf.tsk.generic.m4a":["audio/voice/Fem1/slf.tsk.generic.m4a",["voice.vl2"]],"audio/voice/fem1/slf.tsk.generic.wav":["audio/voice/Fem1/slf.tsk.generic.WAV",["voice.vl2"]],"audio/voice/fem1/slf.tsk.remotes.m4a":["audio/voice/Fem1/slf.tsk.remotes.m4a",["voice.vl2"]],"audio/voice/fem1/slf.tsk.remotes.wav":["audio/voice/Fem1/slf.tsk.remotes.WAV",["voice.vl2"]],"audio/voice/fem1/slf.tsk.sensors.m4a":["audio/voice/Fem1/slf.tsk.sensors.m4a",["voice.vl2"]],"audio/voice/fem1/slf.tsk.sensors.wav":["audio/voice/Fem1/slf.tsk.sensors.WAV",["voice.vl2"]],"audio/voice/fem1/slf.tsk.turrets.m4a":["audio/voice/Fem1/slf.tsk.turrets.m4a",["voice.vl2"]],"audio/voice/fem1/slf.tsk.turrets.wav":["audio/voice/Fem1/slf.tsk.turrets.WAV",["voice.vl2"]],"audio/voice/fem1/slf.tsk.vehicle.m4a":["audio/voice/Fem1/slf.tsk.vehicle.m4a",["voice.vl2"]],"audio/voice/fem1/slf.tsk.vehicle.wav":["audio/voice/Fem1/slf.tsk.vehicle.WAV",["voice.vl2"]],"audio/voice/fem1/tgt.acquired.m4a":["audio/voice/Fem1/tgt.acquired.m4a",["voice.vl2"]],"audio/voice/fem1/tgt.acquired.wav":["audio/voice/Fem1/tgt.acquired.WAV",["voice.vl2"]],"audio/voice/fem1/tgt.base.m4a":["audio/voice/Fem1/tgt.base.m4a",["voice.vl2"]],"audio/voice/fem1/tgt.base.wav":["audio/voice/Fem1/tgt.base.WAV",["voice.vl2"]],"audio/voice/fem1/tgt.destroyed.m4a":["audio/voice/Fem1/tgt.destroyed.m4a",["voice.vl2"]],"audio/voice/fem1/tgt.destroyed.wav":["audio/voice/Fem1/tgt.destroyed.WAV",["voice.vl2"]],"audio/voice/fem1/tgt.flag.m4a":["audio/voice/Fem1/tgt.flag.m4a",["voice.vl2"]],"audio/voice/fem1/tgt.flag.wav":["audio/voice/Fem1/tgt.flag.WAV",["voice.vl2"]],"audio/voice/fem1/tgt.my.m4a":["audio/voice/Fem1/tgt.my.m4a",["voice.vl2"]],"audio/voice/fem1/tgt.my.wav":["audio/voice/Fem1/tgt.my.WAV",["voice.vl2"]],"audio/voice/fem1/tgt.need.m4a":["audio/voice/Fem1/tgt.need.m4a",["voice.vl2"]],"audio/voice/fem1/tgt.need.wav":["audio/voice/Fem1/tgt.need.WAV",["voice.vl2"]],"audio/voice/fem1/tgt.sensors.m4a":["audio/voice/Fem1/tgt.sensors.m4a",["voice.vl2"]],"audio/voice/fem1/tgt.sensors.wav":["audio/voice/Fem1/tgt.sensors.WAV",["voice.vl2"]],"audio/voice/fem1/tgt.turret.m4a":["audio/voice/Fem1/tgt.turret.m4a",["voice.vl2"]],"audio/voice/fem1/tgt.turret.wav":["audio/voice/Fem1/tgt.turret.WAV",["voice.vl2"]],"audio/voice/fem1/tgt.wait.m4a":["audio/voice/Fem1/tgt.wait.m4a",["voice.vl2"]],"audio/voice/fem1/tgt.wait.wav":["audio/voice/Fem1/tgt.wait.WAV",["voice.vl2"]],"audio/voice/fem1/vqk.anytime.m4a":["audio/voice/Fem1/vqk.anytime.m4a",["voice.vl2"]],"audio/voice/fem1/vqk.anytime.wav":["audio/voice/Fem1/vqk.anytime.WAV",["voice.vl2"]],"audio/voice/fem1/vqk.base.m4a":["audio/voice/Fem1/vqk.base.m4a",["voice.vl2"]],"audio/voice/fem1/vqk.base.wav":["audio/voice/Fem1/vqk.base.WAV",["voice.vl2"]],"audio/voice/fem1/vqk.ceasefire.m4a":["audio/voice/Fem1/vqk.ceasefire.m4a",["voice.vl2"]],"audio/voice/fem1/vqk.ceasefire.wav":["audio/voice/Fem1/vqk.ceasefire.WAV",["voice.vl2"]],"audio/voice/fem1/vqk.dunno.m4a":["audio/voice/Fem1/vqk.dunno.m4a",["voice.vl2"]],"audio/voice/fem1/vqk.dunno.wav":["audio/voice/Fem1/vqk.dunno.WAV",["voice.vl2"]],"audio/voice/fem1/vqk.help.m4a":["audio/voice/Fem1/vqk.help.m4a",["voice.vl2"]],"audio/voice/fem1/vqk.help.wav":["audio/voice/Fem1/vqk.help.WAV",["voice.vl2"]],"audio/voice/fem1/vqk.move.m4a":["audio/voice/Fem1/vqk.move.m4a",["voice.vl2"]],"audio/voice/fem1/vqk.move.wav":["audio/voice/Fem1/vqk.move.WAV",["voice.vl2"]],"audio/voice/fem1/vqk.no.m4a":["audio/voice/Fem1/vqk.no.m4a",["voice.vl2"]],"audio/voice/fem1/vqk.no.wav":["audio/voice/Fem1/vqk.no.WAV",["voice.vl2"]],"audio/voice/fem1/vqk.quiet.m4a":["audio/voice/Fem1/vqk.quiet.m4a",["voice.vl2"]],"audio/voice/fem1/vqk.quiet.wav":["audio/voice/Fem1/vqk.quiet.WAV",["voice.vl2"]],"audio/voice/fem1/vqk.sorry.m4a":["audio/voice/Fem1/vqk.sorry.m4a",["voice.vl2"]],"audio/voice/fem1/vqk.sorry.wav":["audio/voice/Fem1/vqk.sorry.WAV",["voice.vl2"]],"audio/voice/fem1/vqk.thanks.m4a":["audio/voice/Fem1/vqk.thanks.m4a",["voice.vl2"]],"audio/voice/fem1/vqk.thanks.wav":["audio/voice/Fem1/vqk.thanks.WAV",["voice.vl2"]],"audio/voice/fem1/vqk.wait.m4a":["audio/voice/Fem1/vqk.wait.m4a",["voice.vl2"]],"audio/voice/fem1/vqk.wait.wav":["audio/voice/Fem1/vqk.wait.WAV",["voice.vl2"]],"audio/voice/fem1/vqk.yes.m4a":["audio/voice/Fem1/vqk.yes.m4a",["voice.vl2"]],"audio/voice/fem1/vqk.yes.wav":["audio/voice/Fem1/vqk.yes.WAV",["voice.vl2"]],"audio/voice/fem1/wrn.bomber.m4a":["audio/voice/Fem1/wrn.bomber.m4a",["voice.vl2"]],"audio/voice/fem1/wrn.bomber.wav":["audio/voice/Fem1/wrn.bomber.WAV",["voice.vl2"]],"audio/voice/fem1/wrn.enemy.m4a":["audio/voice/Fem1/wrn.enemy.m4a",["voice.vl2"]],"audio/voice/fem1/wrn.enemy.wav":["audio/voice/Fem1/wrn.enemy.WAV",["voice.vl2"]],"audio/voice/fem1/wrn.vehicles.m4a":["audio/voice/Fem1/wrn.vehicles.m4a",["voice.vl2"]],"audio/voice/fem1/wrn.vehicles.wav":["audio/voice/Fem1/wrn.vehicles.WAV",["voice.vl2"]],"audio/voice/fem1/wrn.watchit.m4a":["audio/voice/Fem1/wrn.watchit.m4a",["voice.vl2"]],"audio/voice/fem1/wrn.watchit.wav":["audio/voice/Fem1/wrn.watchit.WAV",["voice.vl2"]],"audio/voice/fem2/att.attack.m4a":["audio/voice/Fem2/att.attack.m4a",["voice.vl2"]],"audio/voice/fem2/att.attack.wav":["audio/voice/Fem2/att.attack.wav",["voice.vl2"]],"audio/voice/fem2/att.base.m4a":["audio/voice/Fem2/att.base.m4a",["voice.vl2"]],"audio/voice/fem2/att.base.wav":["audio/voice/Fem2/att.base.wav",["voice.vl2"]],"audio/voice/fem2/att.chase.m4a":["audio/voice/Fem2/att.chase.m4a",["voice.vl2"]],"audio/voice/fem2/att.chase.wav":["audio/voice/Fem2/att.chase.wav",["voice.vl2"]],"audio/voice/fem2/att.distract.m4a":["audio/voice/Fem2/att.distract.m4a",["voice.vl2"]],"audio/voice/fem2/att.distract.wav":["audio/voice/Fem2/att.distract.wav",["voice.vl2"]],"audio/voice/fem2/att.flag.m4a":["audio/voice/Fem2/att.flag.m4a",["voice.vl2"]],"audio/voice/fem2/att.flag.wav":["audio/voice/Fem2/att.flag.wav",["voice.vl2"]],"audio/voice/fem2/att.generator.m4a":["audio/voice/Fem2/att.generator.m4a",["voice.vl2"]],"audio/voice/fem2/att.generator.wav":["audio/voice/Fem2/att.generator.wav",["voice.vl2"]],"audio/voice/fem2/att.objective.m4a":["audio/voice/Fem2/att.objective.m4a",["voice.vl2"]],"audio/voice/fem2/att.objective.wav":["audio/voice/Fem2/att.objective.wav",["voice.vl2"]],"audio/voice/fem2/att.reinforcements.m4a":["audio/voice/Fem2/att.reinforcements.m4a",["voice.vl2"]],"audio/voice/fem2/att.reinforcements.wav":["audio/voice/Fem2/att.reinforcements.wav",["voice.vl2"]],"audio/voice/fem2/att.sensors.m4a":["audio/voice/Fem2/att.sensors.m4a",["voice.vl2"]],"audio/voice/fem2/att.sensors.wav":["audio/voice/Fem2/att.sensors.wav",["voice.vl2"]],"audio/voice/fem2/att.turrets.m4a":["audio/voice/Fem2/att.turrets.m4a",["voice.vl2"]],"audio/voice/fem2/att.turrets.wav":["audio/voice/Fem2/att.turrets.wav",["voice.vl2"]],"audio/voice/fem2/att.vehicle.m4a":["audio/voice/Fem2/att.vehicle.m4a",["voice.vl2"]],"audio/voice/fem2/att.vehicle.wav":["audio/voice/Fem2/att.vehicle.wav",["voice.vl2"]],"audio/voice/fem2/att.wait.m4a":["audio/voice/Fem2/att.wait.m4a",["voice.vl2"]],"audio/voice/fem2/att.wait.wav":["audio/voice/Fem2/att.wait.wav",["voice.vl2"]],"audio/voice/fem2/avo.deathcry_01.m4a":["audio/voice/Fem2/avo.deathcry_01.m4a",["voice.vl2"]],"audio/voice/fem2/avo.deathcry_01.wav":["audio/voice/Fem2/avo.deathcry_01.wav",["voice.vl2"]],"audio/voice/fem2/avo.deathcry_02.m4a":["audio/voice/Fem2/avo.deathcry_02.m4a",["voice.vl2"]],"audio/voice/fem2/avo.deathcry_02.wav":["audio/voice/Fem2/avo.deathcry_02.wav",["voice.vl2"]],"audio/voice/fem2/avo.grunt.m4a":["audio/voice/Fem2/avo.grunt.m4a",["voice.vl2"]],"audio/voice/fem2/avo.grunt.wav":["audio/voice/Fem2/avo.grunt.wav",["voice.vl2"]],"audio/voice/fem2/avo.pain.m4a":["audio/voice/Fem2/avo.pain.m4a",["voice.vl2"]],"audio/voice/fem2/avo.pain.wav":["audio/voice/Fem2/avo.pain.wav",["voice.vl2"]],"audio/voice/fem2/bas.clear.m4a":["audio/voice/Fem2/bas.clear.m4a",["voice.vl2"]],"audio/voice/fem2/bas.clear.wav":["audio/voice/Fem2/bas.clear.wav",["voice.vl2"]],"audio/voice/fem2/bas.enemy.m4a":["audio/voice/Fem2/bas.enemy.m4a",["voice.vl2"]],"audio/voice/fem2/bas.enemy.wav":["audio/voice/Fem2/bas.enemy.wav",["voice.vl2"]],"audio/voice/fem2/bas.retake.m4a":["audio/voice/Fem2/bas.retake.m4a",["voice.vl2"]],"audio/voice/fem2/bas.retake.wav":["audio/voice/Fem2/bas.retake.wav",["voice.vl2"]],"audio/voice/fem2/bas.secure.m4a":["audio/voice/Fem2/bas.secure.m4a",["voice.vl2"]],"audio/voice/fem2/bas.secure.wav":["audio/voice/Fem2/bas.secure.wav",["voice.vl2"]],"audio/voice/fem2/bas.taken.m4a":["audio/voice/Fem2/bas.taken.m4a",["voice.vl2"]],"audio/voice/fem2/bas.taken.wav":["audio/voice/Fem2/bas.taken.wav",["voice.vl2"]],"audio/voice/fem2/cmd.acknowledge.m4a":["audio/voice/Fem2/cmd.acknowledge.m4a",["voice.vl2"]],"audio/voice/fem2/cmd.acknowledge.wav":["audio/voice/Fem2/cmd.acknowledge.wav",["voice.vl2"]],"audio/voice/fem2/cmd.bot.m4a":["audio/voice/Fem2/cmd.bot.m4a",["voice.vl2"]],"audio/voice/fem2/cmd.bot.wav":["audio/voice/Fem2/cmd.bot.WAV",["voice.vl2"]],"audio/voice/fem2/cmd.completed.m4a":["audio/voice/Fem2/cmd.completed.m4a",["voice.vl2"]],"audio/voice/fem2/cmd.completed.wav":["audio/voice/Fem2/cmd.completed.wav",["voice.vl2"]],"audio/voice/fem2/cmd.decline.m4a":["audio/voice/Fem2/cmd.decline.m4a",["voice.vl2"]],"audio/voice/fem2/cmd.decline.wav":["audio/voice/Fem2/cmd.decline.wav",["voice.vl2"]],"audio/voice/fem2/def.base.m4a":["audio/voice/Fem2/def.base.m4a",["voice.vl2"]],"audio/voice/fem2/def.base.wav":["audio/voice/Fem2/def.base.wav",["voice.vl2"]],"audio/voice/fem2/def.carrier.m4a":["audio/voice/Fem2/def.carrier.m4a",["voice.vl2"]],"audio/voice/fem2/def.carrier.wav":["audio/voice/Fem2/def.carrier.wav",["voice.vl2"]],"audio/voice/fem2/def.entrances.m4a":["audio/voice/Fem2/def.entrances.m4a",["voice.vl2"]],"audio/voice/fem2/def.entrances.wav":["audio/voice/Fem2/def.entrances.wav",["voice.vl2"]],"audio/voice/fem2/def.flag.m4a":["audio/voice/Fem2/def.flag.m4a",["voice.vl2"]],"audio/voice/fem2/def.flag.wav":["audio/voice/Fem2/def.flag.wav",["voice.vl2"]],"audio/voice/fem2/def.generator.m4a":["audio/voice/Fem2/def.generator.m4a",["voice.vl2"]],"audio/voice/fem2/def.generator.wav":["audio/voice/Fem2/def.generator.wav",["voice.vl2"]],"audio/voice/fem2/def.me.m4a":["audio/voice/Fem2/def.me.m4a",["voice.vl2"]],"audio/voice/fem2/def.me.wav":["audio/voice/Fem2/def.me.wav",["voice.vl2"]],"audio/voice/fem2/def.nexus.m4a":["audio/voice/Fem2/def.nexus.m4a",["voice.vl2"]],"audio/voice/fem2/def.nexus.wav":["audio/voice/Fem2/def.nexus.wav",["voice.vl2"]],"audio/voice/fem2/def.objective.m4a":["audio/voice/Fem2/def.objective.m4a",["voice.vl2"]],"audio/voice/fem2/def.objective.wav":["audio/voice/Fem2/def.objective.wav",["voice.vl2"]],"audio/voice/fem2/def.reinforce.m4a":["audio/voice/Fem2/def.reinforce.m4a",["voice.vl2"]],"audio/voice/fem2/def.reinforce.wav":["audio/voice/Fem2/def.reinforce.wav",["voice.vl2"]],"audio/voice/fem2/def.sensors.m4a":["audio/voice/Fem2/def.sensors.m4a",["voice.vl2"]],"audio/voice/fem2/def.sensors.wav":["audio/voice/Fem2/def.sensors.wav",["voice.vl2"]],"audio/voice/fem2/def.turrets.m4a":["audio/voice/Fem2/def.turrets.m4a",["voice.vl2"]],"audio/voice/fem2/def.turrets.wav":["audio/voice/Fem2/def.turrets.wav",["voice.vl2"]],"audio/voice/fem2/def.vehicle.m4a":["audio/voice/Fem2/def.vehicle.m4a",["voice.vl2"]],"audio/voice/fem2/def.vehicle.wav":["audio/voice/Fem2/def.vehicle.wav",["voice.vl2"]],"audio/voice/fem2/ene.base.m4a":["audio/voice/Fem2/ene.base.m4a",["voice.vl2"]],"audio/voice/fem2/ene.base.wav":["audio/voice/Fem2/ene.base.wav",["voice.vl2"]],"audio/voice/fem2/ene.disarray.m4a":["audio/voice/Fem2/ene.disarray.m4a",["voice.vl2"]],"audio/voice/fem2/ene.disarray.wav":["audio/voice/Fem2/ene.disarray.wav",["voice.vl2"]],"audio/voice/fem2/ene.generator.m4a":["audio/voice/Fem2/ene.generator.m4a",["voice.vl2"]],"audio/voice/fem2/ene.generator.wav":["audio/voice/Fem2/ene.generator.wav",["voice.vl2"]],"audio/voice/fem2/ene.remotes.m4a":["audio/voice/Fem2/ene.remotes.m4a",["voice.vl2"]],"audio/voice/fem2/ene.remotes.wav":["audio/voice/Fem2/ene.remotes.wav",["voice.vl2"]],"audio/voice/fem2/ene.sensors.m4a":["audio/voice/Fem2/ene.sensors.m4a",["voice.vl2"]],"audio/voice/fem2/ene.sensors.wav":["audio/voice/Fem2/ene.sensors.wav",["voice.vl2"]],"audio/voice/fem2/ene.turrets.m4a":["audio/voice/Fem2/ene.turrets.m4a",["voice.vl2"]],"audio/voice/fem2/ene.turrets.wav":["audio/voice/Fem2/ene.turrets.wav",["voice.vl2"]],"audio/voice/fem2/ene.vehicle.m4a":["audio/voice/Fem2/ene.vehicle.m4a",["voice.vl2"]],"audio/voice/fem2/ene.vehicle.wav":["audio/voice/Fem2/ene.vehicle.wav",["voice.vl2"]],"audio/voice/fem2/flg.flag.m4a":["audio/voice/Fem2/flg.flag.m4a",["voice.vl2"]],"audio/voice/fem2/flg.flag.wav":["audio/voice/Fem2/flg.flag.WAV",["voice.vl2"]],"audio/voice/fem2/flg.give.m4a":["audio/voice/Fem2/flg.give.m4a",["voice.vl2"]],"audio/voice/fem2/flg.give.wav":["audio/voice/Fem2/flg.give.wav",["voice.vl2"]],"audio/voice/fem2/flg.huntergive.m4a":["audio/voice/Fem2/flg.huntergive.m4a",["voice.vl2"]],"audio/voice/fem2/flg.huntergive.wav":["audio/voice/Fem2/flg.huntergive.wav",["voice.vl2"]],"audio/voice/fem2/flg.huntertake.m4a":["audio/voice/Fem2/flg.huntertake.m4a",["voice.vl2"]],"audio/voice/fem2/flg.huntertake.wav":["audio/voice/Fem2/flg.huntertake.wav",["voice.vl2"]],"audio/voice/fem2/flg.retrieve.m4a":["audio/voice/Fem2/flg.retrieve.m4a",["voice.vl2"]],"audio/voice/fem2/flg.retrieve.wav":["audio/voice/Fem2/flg.retrieve.wav",["voice.vl2"]],"audio/voice/fem2/flg.secure.m4a":["audio/voice/Fem2/flg.secure.m4a",["voice.vl2"]],"audio/voice/fem2/flg.secure.wav":["audio/voice/Fem2/flg.secure.wav",["voice.vl2"]],"audio/voice/fem2/flg.take.m4a":["audio/voice/Fem2/flg.take.m4a",["voice.vl2"]],"audio/voice/fem2/flg.take.wav":["audio/voice/Fem2/flg.take.wav",["voice.vl2"]],"audio/voice/fem2/gbl.anytime.m4a":["audio/voice/Fem2/gbl.anytime.m4a",["voice.vl2"]],"audio/voice/fem2/gbl.anytime.wav":["audio/voice/Fem2/gbl.anytime.wav",["voice.vl2"]],"audio/voice/fem2/gbl.awesome.m4a":["audio/voice/Fem2/gbl.awesome.m4a",["voice.vl2"]],"audio/voice/fem2/gbl.awesome.wav":["audio/voice/Fem2/gbl.awesome.wav",["voice.vl2"]],"audio/voice/fem2/gbl.aww.m4a":["audio/voice/Fem2/gbl.aww.m4a",["voice.vl2"]],"audio/voice/fem2/gbl.aww.wav":["audio/voice/Fem2/gbl.aww.wav",["voice.vl2"]],"audio/voice/fem2/gbl.brag.m4a":["audio/voice/Fem2/gbl.brag.m4a",["voice.vl2"]],"audio/voice/fem2/gbl.brag.wav":["audio/voice/Fem2/gbl.brag.wav",["voice.vl2"]],"audio/voice/fem2/gbl.bye.m4a":["audio/voice/Fem2/gbl.bye.m4a",["voice.vl2"]],"audio/voice/fem2/gbl.bye.wav":["audio/voice/Fem2/gbl.bye.wav",["voice.vl2"]],"audio/voice/fem2/gbl.dunno.m4a":["audio/voice/Fem2/gbl.dunno.m4a",["voice.vl2"]],"audio/voice/fem2/gbl.dunno.wav":["audio/voice/Fem2/gbl.dunno.wav",["voice.vl2"]],"audio/voice/fem2/gbl.goodgame.m4a":["audio/voice/Fem2/gbl.goodgame.m4a",["voice.vl2"]],"audio/voice/fem2/gbl.goodgame.wav":["audio/voice/Fem2/gbl.goodgame.wav",["voice.vl2"]],"audio/voice/fem2/gbl.hi.m4a":["audio/voice/Fem2/gbl.hi.m4a",["voice.vl2"]],"audio/voice/fem2/gbl.hi.wav":["audio/voice/Fem2/gbl.hi.wav",["voice.vl2"]],"audio/voice/fem2/gbl.nice.m4a":["audio/voice/Fem2/gbl.nice.m4a",["voice.vl2"]],"audio/voice/fem2/gbl.nice.wav":["audio/voice/Fem2/gbl.nice.wav",["voice.vl2"]],"audio/voice/fem2/gbl.no.m4a":["audio/voice/Fem2/gbl.no.m4a",["voice.vl2"]],"audio/voice/fem2/gbl.no.wav":["audio/voice/Fem2/gbl.no.wav",["voice.vl2"]],"audio/voice/fem2/gbl.obnoxious.m4a":["audio/voice/Fem2/gbl.obnoxious.m4a",["voice.vl2"]],"audio/voice/fem2/gbl.obnoxious.wav":["audio/voice/Fem2/gbl.obnoxious.wav",["voice.vl2"]],"audio/voice/fem2/gbl.oops.m4a":["audio/voice/Fem2/gbl.oops.m4a",["voice.vl2"]],"audio/voice/fem2/gbl.oops.wav":["audio/voice/Fem2/gbl.oops.wav",["voice.vl2"]],"audio/voice/fem2/gbl.quiet.m4a":["audio/voice/Fem2/gbl.quiet.m4a",["voice.vl2"]],"audio/voice/fem2/gbl.quiet.wav":["audio/voice/Fem2/gbl.quiet.WAV",["voice.vl2"]],"audio/voice/fem2/gbl.rock.m4a":["audio/voice/Fem2/gbl.rock.m4a",["voice.vl2"]],"audio/voice/fem2/gbl.rock.wav":["audio/voice/Fem2/gbl.rock.WAV",["voice.vl2"]],"audio/voice/fem2/gbl.sarcasm.m4a":["audio/voice/Fem2/gbl.sarcasm.m4a",["voice.vl2"]],"audio/voice/fem2/gbl.sarcasm.wav":["audio/voice/Fem2/gbl.sarcasm.wav",["voice.vl2"]],"audio/voice/fem2/gbl.shazbot.m4a":["audio/voice/Fem2/gbl.shazbot.m4a",["voice.vl2"]],"audio/voice/fem2/gbl.shazbot.wav":["audio/voice/Fem2/gbl.shazbot.wav",["voice.vl2"]],"audio/voice/fem2/gbl.shooting.m4a":["audio/voice/Fem2/gbl.shooting.m4a",["voice.vl2"]],"audio/voice/fem2/gbl.shooting.wav":["audio/voice/Fem2/gbl.shooting.WAV",["voice.vl2"]],"audio/voice/fem2/gbl.thanks.m4a":["audio/voice/Fem2/gbl.thanks.m4a",["voice.vl2"]],"audio/voice/fem2/gbl.thanks.wav":["audio/voice/Fem2/gbl.thanks.wav",["voice.vl2"]],"audio/voice/fem2/gbl.wait.m4a":["audio/voice/Fem2/gbl.wait.m4a",["voice.vl2"]],"audio/voice/fem2/gbl.wait.wav":["audio/voice/Fem2/gbl.wait.wav",["voice.vl2"]],"audio/voice/fem2/gbl.when.m4a":["audio/voice/Fem2/gbl.when.m4a",["voice.vl2"]],"audio/voice/fem2/gbl.when.wav":["audio/voice/Fem2/gbl.when.wav",["voice.vl2"]],"audio/voice/fem2/gbl.woohoo.m4a":["audio/voice/Fem2/gbl.woohoo.m4a",["voice.vl2"]],"audio/voice/fem2/gbl.woohoo.wav":["audio/voice/Fem2/gbl.woohoo.wav",["voice.vl2"]],"audio/voice/fem2/gbl.yes.m4a":["audio/voice/Fem2/gbl.yes.m4a",["voice.vl2"]],"audio/voice/fem2/gbl.yes.wav":["audio/voice/Fem2/gbl.yes.wav",["voice.vl2"]],"audio/voice/fem2/need.bombardier.m4a":["audio/voice/Fem2/need.bombardier.m4a",["voice.vl2"]],"audio/voice/fem2/need.bombardier.wav":["audio/voice/Fem2/need.bombardier.wav",["voice.vl2"]],"audio/voice/fem2/need.cover.m4a":["audio/voice/Fem2/need.cover.m4a",["voice.vl2"]],"audio/voice/fem2/need.cover.wav":["audio/voice/Fem2/need.cover.WAV",["voice.vl2"]],"audio/voice/fem2/need.driver.m4a":["audio/voice/Fem2/need.driver.m4a",["voice.vl2"]],"audio/voice/fem2/need.driver.wav":["audio/voice/Fem2/need.driver.wav",["voice.vl2"]],"audio/voice/fem2/need.escort.m4a":["audio/voice/Fem2/need.escort.m4a",["voice.vl2"]],"audio/voice/fem2/need.escort.wav":["audio/voice/Fem2/need.escort.wav",["voice.vl2"]],"audio/voice/fem2/need.flyer.m4a":["audio/voice/Fem2/need.flyer.m4a",["voice.vl2"]],"audio/voice/fem2/need.flyer.wav":["audio/voice/Fem2/need.flyer.WAV",["voice.vl2"]],"audio/voice/fem2/need.gunship.m4a":["audio/voice/Fem2/need.gunship.m4a",["voice.vl2"]],"audio/voice/fem2/need.gunship.wav":["audio/voice/Fem2/need.gunship.WAV",["voice.vl2"]],"audio/voice/fem2/need.hold.m4a":["audio/voice/Fem2/need.hold.m4a",["voice.vl2"]],"audio/voice/fem2/need.hold.wav":["audio/voice/Fem2/need.hold.wav",["voice.vl2"]],"audio/voice/fem2/need.ride.m4a":["audio/voice/Fem2/need.ride.m4a",["voice.vl2"]],"audio/voice/fem2/need.ride.wav":["audio/voice/Fem2/need.ride.WAV",["voice.vl2"]],"audio/voice/fem2/need.support.m4a":["audio/voice/Fem2/need.support.m4a",["voice.vl2"]],"audio/voice/fem2/need.support.wav":["audio/voice/Fem2/need.support.wav",["voice.vl2"]],"audio/voice/fem2/need.tailgunner.m4a":["audio/voice/Fem2/need.tailgunner.m4a",["voice.vl2"]],"audio/voice/fem2/need.tailgunner.wav":["audio/voice/Fem2/need.tailgunner.wav",["voice.vl2"]],"audio/voice/fem2/need.where.m4a":["audio/voice/Fem2/need.where.m4a",["voice.vl2"]],"audio/voice/fem2/need.where.wav":["audio/voice/Fem2/need.where.wav",["voice.vl2"]],"audio/voice/fem2/rep.base.m4a":["audio/voice/Fem2/rep.base.m4a",["voice.vl2"]],"audio/voice/fem2/rep.base.wav":["audio/voice/Fem2/rep.base.wav",["voice.vl2"]],"audio/voice/fem2/rep.generator.m4a":["audio/voice/Fem2/rep.generator.m4a",["voice.vl2"]],"audio/voice/fem2/rep.generator.wav":["audio/voice/Fem2/rep.generator.wav",["voice.vl2"]],"audio/voice/fem2/rep.me.m4a":["audio/voice/Fem2/rep.me.m4a",["voice.vl2"]],"audio/voice/fem2/rep.me.wav":["audio/voice/Fem2/rep.me.wav",["voice.vl2"]],"audio/voice/fem2/rep.sensors.m4a":["audio/voice/Fem2/rep.sensors.m4a",["voice.vl2"]],"audio/voice/fem2/rep.sensors.wav":["audio/voice/Fem2/rep.sensors.wav",["voice.vl2"]],"audio/voice/fem2/rep.turrets.m4a":["audio/voice/Fem2/rep.turrets.m4a",["voice.vl2"]],"audio/voice/fem2/rep.turrets.wav":["audio/voice/Fem2/rep.turrets.wav",["voice.vl2"]],"audio/voice/fem2/rep.vehicle.m4a":["audio/voice/Fem2/rep.vehicle.m4a",["voice.vl2"]],"audio/voice/fem2/rep.vehicle.wav":["audio/voice/Fem2/rep.vehicle.wav",["voice.vl2"]],"audio/voice/fem2/slf.att.attack.m4a":["audio/voice/Fem2/slf.att.attack.m4a",["voice.vl2"]],"audio/voice/fem2/slf.att.attack.wav":["audio/voice/Fem2/slf.att.attack.wav",["voice.vl2"]],"audio/voice/fem2/slf.att.base.m4a":["audio/voice/Fem2/slf.att.base.m4a",["voice.vl2"]],"audio/voice/fem2/slf.att.base.wav":["audio/voice/Fem2/slf.att.base.wav",["voice.vl2"]],"audio/voice/fem2/slf.att.flag.m4a":["audio/voice/Fem2/slf.att.flag.m4a",["voice.vl2"]],"audio/voice/fem2/slf.att.flag.wav":["audio/voice/Fem2/slf.att.flag.wav",["voice.vl2"]],"audio/voice/fem2/slf.att.generator.m4a":["audio/voice/Fem2/slf.att.generator.m4a",["voice.vl2"]],"audio/voice/fem2/slf.att.generator.wav":["audio/voice/Fem2/slf.att.generator.wav",["voice.vl2"]],"audio/voice/fem2/slf.att.sensors.m4a":["audio/voice/Fem2/slf.att.sensors.m4a",["voice.vl2"]],"audio/voice/fem2/slf.att.sensors.wav":["audio/voice/Fem2/slf.att.sensors.wav",["voice.vl2"]],"audio/voice/fem2/slf.att.turrets.m4a":["audio/voice/Fem2/slf.att.turrets.m4a",["voice.vl2"]],"audio/voice/fem2/slf.att.turrets.wav":["audio/voice/Fem2/slf.att.turrets.wav",["voice.vl2"]],"audio/voice/fem2/slf.att.vehicle.m4a":["audio/voice/Fem2/slf.att.vehicle.m4a",["voice.vl2"]],"audio/voice/fem2/slf.att.vehicle.wav":["audio/voice/Fem2/slf.att.vehicle.wav",["voice.vl2"]],"audio/voice/fem2/slf.def.base.m4a":["audio/voice/Fem2/slf.def.base.m4a",["voice.vl2"]],"audio/voice/fem2/slf.def.base.wav":["audio/voice/Fem2/slf.def.base.wav",["voice.vl2"]],"audio/voice/fem2/slf.def.defend.m4a":["audio/voice/Fem2/slf.def.defend.m4a",["voice.vl2"]],"audio/voice/fem2/slf.def.defend.wav":["audio/voice/Fem2/slf.def.defend.wav",["voice.vl2"]],"audio/voice/fem2/slf.def.flag.m4a":["audio/voice/Fem2/slf.def.flag.m4a",["voice.vl2"]],"audio/voice/fem2/slf.def.flag.wav":["audio/voice/Fem2/slf.def.flag.wav",["voice.vl2"]],"audio/voice/fem2/slf.def.generator.m4a":["audio/voice/Fem2/slf.def.generator.m4a",["voice.vl2"]],"audio/voice/fem2/slf.def.generator.wav":["audio/voice/Fem2/slf.def.generator.wav",["voice.vl2"]],"audio/voice/fem2/slf.def.nexus.m4a":["audio/voice/Fem2/slf.def.nexus.m4a",["voice.vl2"]],"audio/voice/fem2/slf.def.nexus.wav":["audio/voice/Fem2/slf.def.nexus.wav",["voice.vl2"]],"audio/voice/fem2/slf.def.sensors.m4a":["audio/voice/Fem2/slf.def.sensors.m4a",["voice.vl2"]],"audio/voice/fem2/slf.def.sensors.wav":["audio/voice/Fem2/slf.def.sensors.wav",["voice.vl2"]],"audio/voice/fem2/slf.def.turrets.m4a":["audio/voice/Fem2/slf.def.turrets.m4a",["voice.vl2"]],"audio/voice/fem2/slf.def.turrets.wav":["audio/voice/Fem2/slf.def.turrets.wav",["voice.vl2"]],"audio/voice/fem2/slf.def.vehicle.m4a":["audio/voice/Fem2/slf.def.vehicle.m4a",["voice.vl2"]],"audio/voice/fem2/slf.def.vehicle.wav":["audio/voice/Fem2/slf.def.vehicle.wav",["voice.vl2"]],"audio/voice/fem2/slf.rep.base.m4a":["audio/voice/Fem2/slf.rep.base.m4a",["voice.vl2"]],"audio/voice/fem2/slf.rep.base.wav":["audio/voice/Fem2/slf.rep.base.wav",["voice.vl2"]],"audio/voice/fem2/slf.rep.equipment.m4a":["audio/voice/Fem2/slf.rep.equipment.m4a",["voice.vl2"]],"audio/voice/fem2/slf.rep.equipment.wav":["audio/voice/Fem2/slf.rep.equipment.wav",["voice.vl2"]],"audio/voice/fem2/slf.rep.generator.m4a":["audio/voice/Fem2/slf.rep.generator.m4a",["voice.vl2"]],"audio/voice/fem2/slf.rep.generator.wav":["audio/voice/Fem2/slf.rep.generator.wav",["voice.vl2"]],"audio/voice/fem2/slf.rep.repairing.m4a":["audio/voice/Fem2/slf.rep.repairing.m4a",["voice.vl2"]],"audio/voice/fem2/slf.rep.repairing.wav":["audio/voice/Fem2/slf.rep.repairing.wav",["voice.vl2"]],"audio/voice/fem2/slf.rep.sensors.m4a":["audio/voice/Fem2/slf.rep.sensors.m4a",["voice.vl2"]],"audio/voice/fem2/slf.rep.sensors.wav":["audio/voice/Fem2/slf.rep.sensors.wav",["voice.vl2"]],"audio/voice/fem2/slf.rep.turrets.m4a":["audio/voice/Fem2/slf.rep.turrets.m4a",["voice.vl2"]],"audio/voice/fem2/slf.rep.turrets.wav":["audio/voice/Fem2/slf.rep.turrets.wav",["voice.vl2"]],"audio/voice/fem2/slf.rep.vehicle.m4a":["audio/voice/Fem2/slf.rep.vehicle.m4a",["voice.vl2"]],"audio/voice/fem2/slf.rep.vehicle.wav":["audio/voice/Fem2/slf.rep.vehicle.wav",["voice.vl2"]],"audio/voice/fem2/slf.tsk.cover.m4a":["audio/voice/Fem2/slf.tsk.cover.m4a",["voice.vl2"]],"audio/voice/fem2/slf.tsk.cover.wav":["audio/voice/Fem2/slf.tsk.cover.WAV",["voice.vl2"]],"audio/voice/fem2/slf.tsk.defense.m4a":["audio/voice/Fem2/slf.tsk.defense.m4a",["voice.vl2"]],"audio/voice/fem2/slf.tsk.defense.wav":["audio/voice/Fem2/slf.tsk.defense.wav",["voice.vl2"]],"audio/voice/fem2/slf.tsk.generic.m4a":["audio/voice/Fem2/slf.tsk.generic.m4a",["voice.vl2"]],"audio/voice/fem2/slf.tsk.generic.wav":["audio/voice/Fem2/slf.tsk.generic.WAV",["voice.vl2"]],"audio/voice/fem2/slf.tsk.remotes.m4a":["audio/voice/Fem2/slf.tsk.remotes.m4a",["voice.vl2"]],"audio/voice/fem2/slf.tsk.remotes.wav":["audio/voice/Fem2/slf.tsk.remotes.wav",["voice.vl2"]],"audio/voice/fem2/slf.tsk.sensors.m4a":["audio/voice/Fem2/slf.tsk.sensors.m4a",["voice.vl2"]],"audio/voice/fem2/slf.tsk.sensors.wav":["audio/voice/Fem2/slf.tsk.sensors.wav",["voice.vl2"]],"audio/voice/fem2/slf.tsk.turrets.m4a":["audio/voice/Fem2/slf.tsk.turrets.m4a",["voice.vl2"]],"audio/voice/fem2/slf.tsk.turrets.wav":["audio/voice/Fem2/slf.tsk.turrets.wav",["voice.vl2"]],"audio/voice/fem2/slf.tsk.vehicle.m4a":["audio/voice/Fem2/slf.tsk.vehicle.m4a",["voice.vl2"]],"audio/voice/fem2/slf.tsk.vehicle.wav":["audio/voice/Fem2/slf.tsk.vehicle.WAV",["voice.vl2"]],"audio/voice/fem2/tgt.acquired.m4a":["audio/voice/Fem2/tgt.acquired.m4a",["voice.vl2"]],"audio/voice/fem2/tgt.acquired.wav":["audio/voice/Fem2/tgt.acquired.wav",["voice.vl2"]],"audio/voice/fem2/tgt.base.m4a":["audio/voice/Fem2/tgt.base.m4a",["voice.vl2"]],"audio/voice/fem2/tgt.base.wav":["audio/voice/Fem2/tgt.base.wav",["voice.vl2"]],"audio/voice/fem2/tgt.destroyed.m4a":["audio/voice/Fem2/tgt.destroyed.m4a",["voice.vl2"]],"audio/voice/fem2/tgt.destroyed.wav":["audio/voice/Fem2/tgt.destroyed.wav",["voice.vl2"]],"audio/voice/fem2/tgt.flag.m4a":["audio/voice/Fem2/tgt.flag.m4a",["voice.vl2"]],"audio/voice/fem2/tgt.flag.wav":["audio/voice/Fem2/tgt.flag.wav",["voice.vl2"]],"audio/voice/fem2/tgt.my.m4a":["audio/voice/Fem2/tgt.my.m4a",["voice.vl2"]],"audio/voice/fem2/tgt.my.wav":["audio/voice/Fem2/tgt.my.WAV",["voice.vl2"]],"audio/voice/fem2/tgt.need.m4a":["audio/voice/Fem2/tgt.need.m4a",["voice.vl2"]],"audio/voice/fem2/tgt.need.wav":["audio/voice/Fem2/tgt.need.wav",["voice.vl2"]],"audio/voice/fem2/tgt.sensors.m4a":["audio/voice/Fem2/tgt.sensors.m4a",["voice.vl2"]],"audio/voice/fem2/tgt.sensors.wav":["audio/voice/Fem2/tgt.sensors.wav",["voice.vl2"]],"audio/voice/fem2/tgt.turret.m4a":["audio/voice/Fem2/tgt.turret.m4a",["voice.vl2"]],"audio/voice/fem2/tgt.turret.wav":["audio/voice/Fem2/tgt.turret.wav",["voice.vl2"]],"audio/voice/fem2/tgt.wait.m4a":["audio/voice/Fem2/tgt.wait.m4a",["voice.vl2"]],"audio/voice/fem2/tgt.wait.wav":["audio/voice/Fem2/tgt.wait.wav",["voice.vl2"]],"audio/voice/fem2/vqk.anytime.m4a":["audio/voice/Fem2/vqk.anytime.m4a",["voice.vl2"]],"audio/voice/fem2/vqk.anytime.wav":["audio/voice/Fem2/vqk.anytime.wav",["voice.vl2"]],"audio/voice/fem2/vqk.base.m4a":["audio/voice/Fem2/vqk.base.m4a",["voice.vl2"]],"audio/voice/fem2/vqk.base.wav":["audio/voice/Fem2/vqk.base.wav",["voice.vl2"]],"audio/voice/fem2/vqk.ceasefire.m4a":["audio/voice/Fem2/vqk.ceasefire.m4a",["voice.vl2"]],"audio/voice/fem2/vqk.ceasefire.wav":["audio/voice/Fem2/vqk.ceasefire.wav",["voice.vl2"]],"audio/voice/fem2/vqk.dunno.m4a":["audio/voice/Fem2/vqk.dunno.m4a",["voice.vl2"]],"audio/voice/fem2/vqk.dunno.wav":["audio/voice/Fem2/vqk.dunno.wav",["voice.vl2"]],"audio/voice/fem2/vqk.help.m4a":["audio/voice/Fem2/vqk.help.m4a",["voice.vl2"]],"audio/voice/fem2/vqk.help.wav":["audio/voice/Fem2/vqk.help.wav",["voice.vl2"]],"audio/voice/fem2/vqk.move.m4a":["audio/voice/Fem2/vqk.move.m4a",["voice.vl2"]],"audio/voice/fem2/vqk.move.wav":["audio/voice/Fem2/vqk.move.wav",["voice.vl2"]],"audio/voice/fem2/vqk.no.m4a":["audio/voice/Fem2/vqk.no.m4a",["voice.vl2"]],"audio/voice/fem2/vqk.no.wav":["audio/voice/Fem2/vqk.no.wav",["voice.vl2"]],"audio/voice/fem2/vqk.quiet.m4a":["audio/voice/Fem2/vqk.quiet.m4a",["voice.vl2"]],"audio/voice/fem2/vqk.quiet.wav":["audio/voice/Fem2/vqk.quiet.WAV",["voice.vl2"]],"audio/voice/fem2/vqk.sorry.m4a":["audio/voice/Fem2/vqk.sorry.m4a",["voice.vl2"]],"audio/voice/fem2/vqk.sorry.wav":["audio/voice/Fem2/vqk.sorry.wav",["voice.vl2"]],"audio/voice/fem2/vqk.thanks.m4a":["audio/voice/Fem2/vqk.thanks.m4a",["voice.vl2"]],"audio/voice/fem2/vqk.thanks.wav":["audio/voice/Fem2/vqk.thanks.wav",["voice.vl2"]],"audio/voice/fem2/vqk.wait.m4a":["audio/voice/Fem2/vqk.wait.m4a",["voice.vl2"]],"audio/voice/fem2/vqk.wait.wav":["audio/voice/Fem2/vqk.wait.wav",["voice.vl2"]],"audio/voice/fem2/vqk.yes.m4a":["audio/voice/Fem2/vqk.yes.m4a",["voice.vl2"]],"audio/voice/fem2/vqk.yes.wav":["audio/voice/Fem2/vqk.yes.wav",["voice.vl2"]],"audio/voice/fem2/wrn.bomber.m4a":["audio/voice/Fem2/wrn.bomber.m4a",["voice.vl2"]],"audio/voice/fem2/wrn.bomber.wav":["audio/voice/Fem2/wrn.bomber.wav",["voice.vl2"]],"audio/voice/fem2/wrn.enemy.m4a":["audio/voice/Fem2/wrn.enemy.m4a",["voice.vl2"]],"audio/voice/fem2/wrn.enemy.wav":["audio/voice/Fem2/wrn.enemy.wav",["voice.vl2"]],"audio/voice/fem2/wrn.vehicles.m4a":["audio/voice/Fem2/wrn.vehicles.m4a",["voice.vl2"]],"audio/voice/fem2/wrn.vehicles.wav":["audio/voice/Fem2/wrn.vehicles.wav",["voice.vl2"]],"audio/voice/fem2/wrn.watchit.m4a":["audio/voice/Fem2/wrn.watchit.m4a",["voice.vl2"]],"audio/voice/fem2/wrn.watchit.wav":["audio/voice/Fem2/wrn.watchit.wav",["voice.vl2"]],"audio/voice/fem3/att.attack.m4a":["audio/voice/Fem3/att.attack.m4a",["voice.vl2"]],"audio/voice/fem3/att.attack.wav":["audio/voice/Fem3/att.attack.WAV",["voice.vl2"]],"audio/voice/fem3/att.base.m4a":["audio/voice/Fem3/att.base.m4a",["voice.vl2"]],"audio/voice/fem3/att.base.wav":["audio/voice/Fem3/att.base.WAV",["voice.vl2"]],"audio/voice/fem3/att.chase.m4a":["audio/voice/Fem3/att.chase.m4a",["voice.vl2"]],"audio/voice/fem3/att.chase.wav":["audio/voice/Fem3/att.chase.WAV",["voice.vl2"]],"audio/voice/fem3/att.distract.m4a":["audio/voice/Fem3/att.distract.m4a",["voice.vl2"]],"audio/voice/fem3/att.distract.wav":["audio/voice/Fem3/att.distract.WAV",["voice.vl2"]],"audio/voice/fem3/att.flag.m4a":["audio/voice/Fem3/att.flag.m4a",["voice.vl2"]],"audio/voice/fem3/att.flag.wav":["audio/voice/Fem3/att.flag.WAV",["voice.vl2"]],"audio/voice/fem3/att.generator.m4a":["audio/voice/Fem3/att.generator.m4a",["voice.vl2"]],"audio/voice/fem3/att.generator.wav":["audio/voice/Fem3/att.generator.WAV",["voice.vl2"]],"audio/voice/fem3/att.objective.m4a":["audio/voice/Fem3/att.objective.m4a",["voice.vl2"]],"audio/voice/fem3/att.objective.wav":["audio/voice/Fem3/att.objective.WAV",["voice.vl2"]],"audio/voice/fem3/att.reinforcements.m4a":["audio/voice/Fem3/att.reinforcements.m4a",["voice.vl2"]],"audio/voice/fem3/att.reinforcements.wav":["audio/voice/Fem3/att.reinforcements.WAV",["voice.vl2"]],"audio/voice/fem3/att.sensors.m4a":["audio/voice/Fem3/att.sensors.m4a",["voice.vl2"]],"audio/voice/fem3/att.sensors.wav":["audio/voice/Fem3/att.sensors.WAV",["voice.vl2"]],"audio/voice/fem3/att.turrets.m4a":["audio/voice/Fem3/att.turrets.m4a",["voice.vl2"]],"audio/voice/fem3/att.turrets.wav":["audio/voice/Fem3/att.turrets.WAV",["voice.vl2"]],"audio/voice/fem3/att.vehicle.m4a":["audio/voice/Fem3/att.vehicle.m4a",["voice.vl2"]],"audio/voice/fem3/att.vehicle.wav":["audio/voice/Fem3/att.vehicle.WAV",["voice.vl2"]],"audio/voice/fem3/att.wait.m4a":["audio/voice/Fem3/att.wait.m4a",["voice.vl2"]],"audio/voice/fem3/att.wait.wav":["audio/voice/Fem3/att.wait.WAV",["voice.vl2"]],"audio/voice/fem3/avo.deathcry_01.m4a":["audio/voice/Fem3/avo.deathcry_01.m4a",["voice.vl2"]],"audio/voice/fem3/avo.deathcry_01.wav":["audio/voice/Fem3/avo.deathcry_01.WAV",["voice.vl2"]],"audio/voice/fem3/avo.deathcry_02.m4a":["audio/voice/Fem3/avo.deathcry_02.m4a",["voice.vl2"]],"audio/voice/fem3/avo.deathcry_02.wav":["audio/voice/Fem3/avo.deathcry_02.WAV",["voice.vl2"]],"audio/voice/fem3/avo.grunt.m4a":["audio/voice/Fem3/avo.grunt.m4a",["voice.vl2"]],"audio/voice/fem3/avo.grunt.wav":["audio/voice/Fem3/avo.grunt.WAV",["voice.vl2"]],"audio/voice/fem3/avo.pain.m4a":["audio/voice/Fem3/avo.pain.m4a",["voice.vl2"]],"audio/voice/fem3/avo.pain.wav":["audio/voice/Fem3/avo.pain.WAV",["voice.vl2"]],"audio/voice/fem3/bas.clear.m4a":["audio/voice/Fem3/bas.clear.m4a",["voice.vl2"]],"audio/voice/fem3/bas.clear.wav":["audio/voice/Fem3/bas.clear.WAV",["voice.vl2"]],"audio/voice/fem3/bas.enemy.m4a":["audio/voice/Fem3/bas.enemy.m4a",["voice.vl2"]],"audio/voice/fem3/bas.enemy.wav":["audio/voice/Fem3/bas.enemy.WAV",["voice.vl2"]],"audio/voice/fem3/bas.retake.m4a":["audio/voice/Fem3/bas.retake.m4a",["voice.vl2"]],"audio/voice/fem3/bas.retake.wav":["audio/voice/Fem3/bas.retake.WAV",["voice.vl2"]],"audio/voice/fem3/bas.secure.m4a":["audio/voice/Fem3/bas.secure.m4a",["voice.vl2"]],"audio/voice/fem3/bas.secure.wav":["audio/voice/Fem3/bas.secure.WAV",["voice.vl2"]],"audio/voice/fem3/bas.taken.m4a":["audio/voice/Fem3/bas.taken.m4a",["voice.vl2"]],"audio/voice/fem3/bas.taken.wav":["audio/voice/Fem3/bas.taken.WAV",["voice.vl2"]],"audio/voice/fem3/cmd.acknowledge.m4a":["audio/voice/Fem3/cmd.acknowledge.m4a",["voice.vl2"]],"audio/voice/fem3/cmd.acknowledge.wav":["audio/voice/Fem3/cmd.acknowledge.WAV",["voice.vl2"]],"audio/voice/fem3/cmd.bot.m4a":["audio/voice/Fem3/cmd.bot.m4a",["voice.vl2"]],"audio/voice/fem3/cmd.bot.wav":["audio/voice/Fem3/cmd.bot.WAV",["voice.vl2"]],"audio/voice/fem3/cmd.completed.m4a":["audio/voice/Fem3/cmd.completed.m4a",["voice.vl2"]],"audio/voice/fem3/cmd.completed.wav":["audio/voice/Fem3/cmd.completed.WAV",["voice.vl2"]],"audio/voice/fem3/cmd.decline.m4a":["audio/voice/Fem3/cmd.decline.m4a",["voice.vl2"]],"audio/voice/fem3/cmd.decline.wav":["audio/voice/Fem3/cmd.decline.WAV",["voice.vl2"]],"audio/voice/fem3/def.base.m4a":["audio/voice/Fem3/def.base.m4a",["voice.vl2"]],"audio/voice/fem3/def.base.wav":["audio/voice/Fem3/def.base.WAV",["voice.vl2"]],"audio/voice/fem3/def.carrier.m4a":["audio/voice/Fem3/def.carrier.m4a",["voice.vl2"]],"audio/voice/fem3/def.carrier.wav":["audio/voice/Fem3/def.carrier.WAV",["voice.vl2"]],"audio/voice/fem3/def.entrances.m4a":["audio/voice/Fem3/def.entrances.m4a",["voice.vl2"]],"audio/voice/fem3/def.entrances.wav":["audio/voice/Fem3/def.entrances.WAV",["voice.vl2"]],"audio/voice/fem3/def.flag.m4a":["audio/voice/Fem3/def.flag.m4a",["voice.vl2"]],"audio/voice/fem3/def.flag.wav":["audio/voice/Fem3/def.flag.WAV",["voice.vl2"]],"audio/voice/fem3/def.generator.m4a":["audio/voice/Fem3/def.generator.m4a",["voice.vl2"]],"audio/voice/fem3/def.generator.wav":["audio/voice/Fem3/def.generator.WAV",["voice.vl2"]],"audio/voice/fem3/def.me.m4a":["audio/voice/Fem3/def.me.m4a",["voice.vl2"]],"audio/voice/fem3/def.me.wav":["audio/voice/Fem3/def.me.WAV",["voice.vl2"]],"audio/voice/fem3/def.nexus.m4a":["audio/voice/Fem3/def.nexus.m4a",["voice.vl2"]],"audio/voice/fem3/def.nexus.wav":["audio/voice/Fem3/def.nexus.WAV",["voice.vl2"]],"audio/voice/fem3/def.objective.m4a":["audio/voice/Fem3/def.objective.m4a",["voice.vl2"]],"audio/voice/fem3/def.objective.wav":["audio/voice/Fem3/def.objective.WAV",["voice.vl2"]],"audio/voice/fem3/def.reinforce.m4a":["audio/voice/Fem3/def.reinforce.m4a",["voice.vl2"]],"audio/voice/fem3/def.reinforce.wav":["audio/voice/Fem3/def.reinforce.WAV",["voice.vl2"]],"audio/voice/fem3/def.sensors.m4a":["audio/voice/Fem3/def.sensors.m4a",["voice.vl2"]],"audio/voice/fem3/def.sensors.wav":["audio/voice/Fem3/def.sensors.WAV",["voice.vl2"]],"audio/voice/fem3/def.turrets.m4a":["audio/voice/Fem3/def.turrets.m4a",["voice.vl2"]],"audio/voice/fem3/def.turrets.wav":["audio/voice/Fem3/def.turrets.WAV",["voice.vl2"]],"audio/voice/fem3/def.vehicle.m4a":["audio/voice/Fem3/def.vehicle.m4a",["voice.vl2"]],"audio/voice/fem3/def.vehicle.wav":["audio/voice/Fem3/def.vehicle.WAV",["voice.vl2"]],"audio/voice/fem3/ene.base.m4a":["audio/voice/Fem3/ene.base.m4a",["voice.vl2"]],"audio/voice/fem3/ene.base.wav":["audio/voice/Fem3/ene.base.WAV",["voice.vl2"]],"audio/voice/fem3/ene.disarray.m4a":["audio/voice/Fem3/ene.disarray.m4a",["voice.vl2"]],"audio/voice/fem3/ene.disarray.wav":["audio/voice/Fem3/ene.disarray.WAV",["voice.vl2"]],"audio/voice/fem3/ene.generator.m4a":["audio/voice/Fem3/ene.generator.m4a",["voice.vl2"]],"audio/voice/fem3/ene.generator.wav":["audio/voice/Fem3/ene.generator.WAV",["voice.vl2"]],"audio/voice/fem3/ene.remotes.m4a":["audio/voice/Fem3/ene.remotes.m4a",["voice.vl2"]],"audio/voice/fem3/ene.remotes.wav":["audio/voice/Fem3/ene.remotes.WAV",["voice.vl2"]],"audio/voice/fem3/ene.sensors.m4a":["audio/voice/Fem3/ene.sensors.m4a",["voice.vl2"]],"audio/voice/fem3/ene.sensors.wav":["audio/voice/Fem3/ene.sensors.WAV",["voice.vl2"]],"audio/voice/fem3/ene.turrets.m4a":["audio/voice/Fem3/ene.turrets.m4a",["voice.vl2"]],"audio/voice/fem3/ene.turrets.wav":["audio/voice/Fem3/ene.turrets.WAV",["voice.vl2"]],"audio/voice/fem3/ene.vehicle.m4a":["audio/voice/Fem3/ene.vehicle.m4a",["voice.vl2"]],"audio/voice/fem3/ene.vehicle.wav":["audio/voice/Fem3/ene.vehicle.WAV",["voice.vl2"]],"audio/voice/fem3/flg.flag.m4a":["audio/voice/Fem3/flg.flag.m4a",["voice.vl2"]],"audio/voice/fem3/flg.flag.wav":["audio/voice/Fem3/flg.flag.WAV",["voice.vl2"]],"audio/voice/fem3/flg.give.m4a":["audio/voice/Fem3/flg.give.m4a",["voice.vl2"]],"audio/voice/fem3/flg.give.wav":["audio/voice/Fem3/flg.give.WAV",["voice.vl2"]],"audio/voice/fem3/flg.huntergive.m4a":["audio/voice/Fem3/flg.huntergive.m4a",["voice.vl2"]],"audio/voice/fem3/flg.huntergive.wav":["audio/voice/Fem3/flg.huntergive.WAV",["voice.vl2"]],"audio/voice/fem3/flg.huntertake.m4a":["audio/voice/Fem3/flg.huntertake.m4a",["voice.vl2"]],"audio/voice/fem3/flg.huntertake.wav":["audio/voice/Fem3/flg.huntertake.WAV",["voice.vl2"]],"audio/voice/fem3/flg.retrieve.m4a":["audio/voice/Fem3/flg.retrieve.m4a",["voice.vl2"]],"audio/voice/fem3/flg.retrieve.wav":["audio/voice/Fem3/flg.retrieve.WAV",["voice.vl2"]],"audio/voice/fem3/flg.secure.m4a":["audio/voice/Fem3/flg.secure.m4a",["voice.vl2"]],"audio/voice/fem3/flg.secure.wav":["audio/voice/Fem3/flg.secure.WAV",["voice.vl2"]],"audio/voice/fem3/flg.take.m4a":["audio/voice/Fem3/flg.take.m4a",["voice.vl2"]],"audio/voice/fem3/flg.take.wav":["audio/voice/Fem3/flg.take.WAV",["voice.vl2"]],"audio/voice/fem3/gbl.anytime.m4a":["audio/voice/Fem3/gbl.anytime.m4a",["voice.vl2"]],"audio/voice/fem3/gbl.anytime.wav":["audio/voice/Fem3/gbl.anytime.WAV",["voice.vl2"]],"audio/voice/fem3/gbl.awesome.m4a":["audio/voice/Fem3/gbl.awesome.m4a",["voice.vl2"]],"audio/voice/fem3/gbl.awesome.wav":["audio/voice/Fem3/gbl.awesome.WAV",["voice.vl2"]],"audio/voice/fem3/gbl.aww.m4a":["audio/voice/Fem3/gbl.aww.m4a",["voice.vl2"]],"audio/voice/fem3/gbl.aww.wav":["audio/voice/Fem3/gbl.aww.WAV",["voice.vl2"]],"audio/voice/fem3/gbl.brag.m4a":["audio/voice/Fem3/gbl.brag.m4a",["voice.vl2"]],"audio/voice/fem3/gbl.brag.wav":["audio/voice/Fem3/gbl.brag.WAV",["voice.vl2"]],"audio/voice/fem3/gbl.bye.m4a":["audio/voice/Fem3/gbl.bye.m4a",["voice.vl2"]],"audio/voice/fem3/gbl.bye.wav":["audio/voice/Fem3/gbl.bye.WAV",["voice.vl2"]],"audio/voice/fem3/gbl.dunno.m4a":["audio/voice/Fem3/gbl.dunno.m4a",["voice.vl2"]],"audio/voice/fem3/gbl.dunno.wav":["audio/voice/Fem3/gbl.dunno.WAV",["voice.vl2"]],"audio/voice/fem3/gbl.goodgame.m4a":["audio/voice/Fem3/gbl.goodgame.m4a",["voice.vl2"]],"audio/voice/fem3/gbl.goodgame.wav":["audio/voice/Fem3/gbl.goodgame.WAV",["voice.vl2"]],"audio/voice/fem3/gbl.hi.m4a":["audio/voice/Fem3/gbl.hi.m4a",["voice.vl2"]],"audio/voice/fem3/gbl.hi.wav":["audio/voice/Fem3/gbl.hi.WAV",["voice.vl2"]],"audio/voice/fem3/gbl.nice.m4a":["audio/voice/Fem3/gbl.nice.m4a",["voice.vl2"]],"audio/voice/fem3/gbl.nice.wav":["audio/voice/Fem3/gbl.nice.WAV",["voice.vl2"]],"audio/voice/fem3/gbl.no.m4a":["audio/voice/Fem3/gbl.no.m4a",["voice.vl2"]],"audio/voice/fem3/gbl.no.wav":["audio/voice/Fem3/gbl.no.WAV",["voice.vl2"]],"audio/voice/fem3/gbl.obnoxious.m4a":["audio/voice/Fem3/gbl.obnoxious.m4a",["voice.vl2"]],"audio/voice/fem3/gbl.obnoxious.wav":["audio/voice/Fem3/gbl.obnoxious.WAV",["voice.vl2"]],"audio/voice/fem3/gbl.oops.m4a":["audio/voice/Fem3/gbl.oops.m4a",["voice.vl2"]],"audio/voice/fem3/gbl.oops.wav":["audio/voice/Fem3/gbl.oops.WAV",["voice.vl2"]],"audio/voice/fem3/gbl.quiet.m4a":["audio/voice/Fem3/gbl.quiet.m4a",["voice.vl2"]],"audio/voice/fem3/gbl.quiet.wav":["audio/voice/Fem3/gbl.quiet.WAV",["voice.vl2"]],"audio/voice/fem3/gbl.rock.m4a":["audio/voice/Fem3/gbl.rock.m4a",["voice.vl2"]],"audio/voice/fem3/gbl.rock.wav":["audio/voice/Fem3/gbl.rock.WAV",["voice.vl2"]],"audio/voice/fem3/gbl.sarcasm.m4a":["audio/voice/Fem3/gbl.sarcasm.m4a",["voice.vl2"]],"audio/voice/fem3/gbl.sarcasm.wav":["audio/voice/Fem3/gbl.sarcasm.WAV",["voice.vl2"]],"audio/voice/fem3/gbl.shazbot.m4a":["audio/voice/Fem3/gbl.shazbot.m4a",["voice.vl2"]],"audio/voice/fem3/gbl.shazbot.wav":["audio/voice/Fem3/gbl.shazbot.WAV",["voice.vl2"]],"audio/voice/fem3/gbl.shooting.m4a":["audio/voice/Fem3/gbl.shooting.m4a",["voice.vl2"]],"audio/voice/fem3/gbl.shooting.wav":["audio/voice/Fem3/gbl.shooting.WAV",["voice.vl2"]],"audio/voice/fem3/gbl.thanks.m4a":["audio/voice/Fem3/gbl.thanks.m4a",["voice.vl2"]],"audio/voice/fem3/gbl.thanks.wav":["audio/voice/Fem3/gbl.thanks.WAV",["voice.vl2"]],"audio/voice/fem3/gbl.wait.m4a":["audio/voice/Fem3/gbl.wait.m4a",["voice.vl2"]],"audio/voice/fem3/gbl.wait.wav":["audio/voice/Fem3/gbl.wait.WAV",["voice.vl2"]],"audio/voice/fem3/gbl.when.m4a":["audio/voice/Fem3/gbl.when.m4a",["voice.vl2"]],"audio/voice/fem3/gbl.when.wav":["audio/voice/Fem3/gbl.when.WAV",["voice.vl2"]],"audio/voice/fem3/gbl.woohoo.m4a":["audio/voice/Fem3/gbl.woohoo.m4a",["voice.vl2"]],"audio/voice/fem3/gbl.woohoo.wav":["audio/voice/Fem3/gbl.woohoo.WAV",["voice.vl2"]],"audio/voice/fem3/gbl.yes.m4a":["audio/voice/Fem3/gbl.yes.m4a",["voice.vl2"]],"audio/voice/fem3/gbl.yes.wav":["audio/voice/Fem3/gbl.yes.WAV",["voice.vl2"]],"audio/voice/fem3/need.bombardier.m4a":["audio/voice/Fem3/need.bombardier.m4a",["voice.vl2"]],"audio/voice/fem3/need.bombardier.wav":["audio/voice/Fem3/need.bombardier.WAV",["voice.vl2"]],"audio/voice/fem3/need.cover.m4a":["audio/voice/Fem3/need.cover.m4a",["voice.vl2"]],"audio/voice/fem3/need.cover.wav":["audio/voice/Fem3/need.cover.WAV",["voice.vl2"]],"audio/voice/fem3/need.driver.m4a":["audio/voice/Fem3/need.driver.m4a",["voice.vl2"]],"audio/voice/fem3/need.driver.wav":["audio/voice/Fem3/need.driver.WAV",["voice.vl2"]],"audio/voice/fem3/need.escort.m4a":["audio/voice/Fem3/need.escort.m4a",["voice.vl2"]],"audio/voice/fem3/need.escort.wav":["audio/voice/Fem3/need.escort.WAV",["voice.vl2"]],"audio/voice/fem3/need.flyer.m4a":["audio/voice/Fem3/need.flyer.m4a",["voice.vl2"]],"audio/voice/fem3/need.flyer.wav":["audio/voice/Fem3/need.flyer.WAV",["voice.vl2"]],"audio/voice/fem3/need.gunship.m4a":["audio/voice/Fem3/need.gunship.m4a",["voice.vl2"]],"audio/voice/fem3/need.gunship.wav":["audio/voice/Fem3/need.gunship.WAV",["voice.vl2"]],"audio/voice/fem3/need.hold.m4a":["audio/voice/Fem3/need.hold.m4a",["voice.vl2"]],"audio/voice/fem3/need.hold.wav":["audio/voice/Fem3/need.hold.WAV",["voice.vl2"]],"audio/voice/fem3/need.ride.m4a":["audio/voice/Fem3/need.ride.m4a",["voice.vl2"]],"audio/voice/fem3/need.ride.wav":["audio/voice/Fem3/need.ride.WAV",["voice.vl2"]],"audio/voice/fem3/need.support.m4a":["audio/voice/Fem3/need.support.m4a",["voice.vl2"]],"audio/voice/fem3/need.support.wav":["audio/voice/Fem3/need.support.WAV",["voice.vl2"]],"audio/voice/fem3/need.tailgunner.m4a":["audio/voice/Fem3/need.tailgunner.m4a",["voice.vl2"]],"audio/voice/fem3/need.tailgunner.wav":["audio/voice/Fem3/need.tailgunner.WAV",["voice.vl2"]],"audio/voice/fem3/need.where.m4a":["audio/voice/Fem3/need.where.m4a",["voice.vl2"]],"audio/voice/fem3/need.where.wav":["audio/voice/Fem3/need.where.WAV",["voice.vl2"]],"audio/voice/fem3/rep.base.m4a":["audio/voice/Fem3/rep.base.m4a",["voice.vl2"]],"audio/voice/fem3/rep.base.wav":["audio/voice/Fem3/rep.base.WAV",["voice.vl2"]],"audio/voice/fem3/rep.generator.m4a":["audio/voice/Fem3/rep.generator.m4a",["voice.vl2"]],"audio/voice/fem3/rep.generator.wav":["audio/voice/Fem3/rep.generator.WAV",["voice.vl2"]],"audio/voice/fem3/rep.me.m4a":["audio/voice/Fem3/rep.me.m4a",["voice.vl2"]],"audio/voice/fem3/rep.me.wav":["audio/voice/Fem3/rep.me.WAV",["voice.vl2"]],"audio/voice/fem3/rep.sensors.m4a":["audio/voice/Fem3/rep.sensors.m4a",["voice.vl2"]],"audio/voice/fem3/rep.sensors.wav":["audio/voice/Fem3/rep.sensors.WAV",["voice.vl2"]],"audio/voice/fem3/rep.turrets.m4a":["audio/voice/Fem3/rep.turrets.m4a",["voice.vl2"]],"audio/voice/fem3/rep.turrets.wav":["audio/voice/Fem3/rep.turrets.WAV",["voice.vl2"]],"audio/voice/fem3/rep.vehicle.m4a":["audio/voice/Fem3/rep.vehicle.m4a",["voice.vl2"]],"audio/voice/fem3/rep.vehicle.wav":["audio/voice/Fem3/rep.vehicle.WAV",["voice.vl2"]],"audio/voice/fem3/slf.att.attack.m4a":["audio/voice/Fem3/slf.att.attack.m4a",["voice.vl2"]],"audio/voice/fem3/slf.att.attack.wav":["audio/voice/Fem3/slf.att.attack.WAV",["voice.vl2"]],"audio/voice/fem3/slf.att.base.m4a":["audio/voice/Fem3/slf.att.base.m4a",["voice.vl2"]],"audio/voice/fem3/slf.att.base.wav":["audio/voice/Fem3/slf.att.base.WAV",["voice.vl2"]],"audio/voice/fem3/slf.att.flag.m4a":["audio/voice/Fem3/slf.att.flag.m4a",["voice.vl2"]],"audio/voice/fem3/slf.att.flag.wav":["audio/voice/Fem3/slf.att.flag.WAV",["voice.vl2"]],"audio/voice/fem3/slf.att.generator.m4a":["audio/voice/Fem3/slf.att.generator.m4a",["voice.vl2"]],"audio/voice/fem3/slf.att.generator.wav":["audio/voice/Fem3/slf.att.generator.WAV",["voice.vl2"]],"audio/voice/fem3/slf.att.sensors.m4a":["audio/voice/Fem3/slf.att.sensors.m4a",["voice.vl2"]],"audio/voice/fem3/slf.att.sensors.wav":["audio/voice/Fem3/slf.att.sensors.WAV",["voice.vl2"]],"audio/voice/fem3/slf.att.turrets.m4a":["audio/voice/Fem3/slf.att.turrets.m4a",["voice.vl2"]],"audio/voice/fem3/slf.att.turrets.wav":["audio/voice/Fem3/slf.att.turrets.WAV",["voice.vl2"]],"audio/voice/fem3/slf.att.vehicle.m4a":["audio/voice/Fem3/slf.att.vehicle.m4a",["voice.vl2"]],"audio/voice/fem3/slf.att.vehicle.wav":["audio/voice/Fem3/slf.att.vehicle.WAV",["voice.vl2"]],"audio/voice/fem3/slf.def.base.m4a":["audio/voice/Fem3/slf.def.base.m4a",["voice.vl2"]],"audio/voice/fem3/slf.def.base.wav":["audio/voice/Fem3/slf.def.base.WAV",["voice.vl2"]],"audio/voice/fem3/slf.def.defend.m4a":["audio/voice/Fem3/slf.def.defend.m4a",["voice.vl2"]],"audio/voice/fem3/slf.def.defend.wav":["audio/voice/Fem3/slf.def.defend.WAV",["voice.vl2"]],"audio/voice/fem3/slf.def.flag.m4a":["audio/voice/Fem3/slf.def.flag.m4a",["voice.vl2"]],"audio/voice/fem3/slf.def.flag.wav":["audio/voice/Fem3/slf.def.flag.WAV",["voice.vl2"]],"audio/voice/fem3/slf.def.generator.m4a":["audio/voice/Fem3/slf.def.generator.m4a",["voice.vl2"]],"audio/voice/fem3/slf.def.generator.wav":["audio/voice/Fem3/slf.def.generator.WAV",["voice.vl2"]],"audio/voice/fem3/slf.def.nexus.m4a":["audio/voice/Fem3/slf.def.nexus.m4a",["voice.vl2"]],"audio/voice/fem3/slf.def.nexus.wav":["audio/voice/Fem3/slf.def.nexus.WAV",["voice.vl2"]],"audio/voice/fem3/slf.def.sensors.m4a":["audio/voice/Fem3/slf.def.sensors.m4a",["voice.vl2"]],"audio/voice/fem3/slf.def.sensors.wav":["audio/voice/Fem3/slf.def.sensors.WAV",["voice.vl2"]],"audio/voice/fem3/slf.def.turrets.m4a":["audio/voice/Fem3/slf.def.turrets.m4a",["voice.vl2"]],"audio/voice/fem3/slf.def.turrets.wav":["audio/voice/Fem3/slf.def.turrets.WAV",["voice.vl2"]],"audio/voice/fem3/slf.def.vehicle.m4a":["audio/voice/Fem3/slf.def.vehicle.m4a",["voice.vl2"]],"audio/voice/fem3/slf.def.vehicle.wav":["audio/voice/Fem3/slf.def.vehicle.WAV",["voice.vl2"]],"audio/voice/fem3/slf.rep.base.m4a":["audio/voice/Fem3/slf.rep.base.m4a",["voice.vl2"]],"audio/voice/fem3/slf.rep.base.wav":["audio/voice/Fem3/slf.rep.base.WAV",["voice.vl2"]],"audio/voice/fem3/slf.rep.equipment.m4a":["audio/voice/Fem3/slf.rep.equipment.m4a",["voice.vl2"]],"audio/voice/fem3/slf.rep.equipment.wav":["audio/voice/Fem3/slf.rep.equipment.WAV",["voice.vl2"]],"audio/voice/fem3/slf.rep.generator.m4a":["audio/voice/Fem3/slf.rep.generator.m4a",["voice.vl2"]],"audio/voice/fem3/slf.rep.generator.wav":["audio/voice/Fem3/slf.rep.generator.WAV",["voice.vl2"]],"audio/voice/fem3/slf.rep.repairing.m4a":["audio/voice/Fem3/slf.rep.repairing.m4a",["voice.vl2"]],"audio/voice/fem3/slf.rep.repairing.wav":["audio/voice/Fem3/slf.rep.repairing.WAV",["voice.vl2"]],"audio/voice/fem3/slf.rep.sensors.m4a":["audio/voice/Fem3/slf.rep.sensors.m4a",["voice.vl2"]],"audio/voice/fem3/slf.rep.sensors.wav":["audio/voice/Fem3/slf.rep.sensors.WAV",["voice.vl2"]],"audio/voice/fem3/slf.rep.turrets.m4a":["audio/voice/Fem3/slf.rep.turrets.m4a",["voice.vl2"]],"audio/voice/fem3/slf.rep.turrets.wav":["audio/voice/Fem3/slf.rep.turrets.WAV",["voice.vl2"]],"audio/voice/fem3/slf.rep.vehicle.m4a":["audio/voice/Fem3/slf.rep.vehicle.m4a",["voice.vl2"]],"audio/voice/fem3/slf.rep.vehicle.wav":["audio/voice/Fem3/slf.rep.vehicle.WAV",["voice.vl2"]],"audio/voice/fem3/slf.tsk.cover.m4a":["audio/voice/Fem3/slf.tsk.cover.m4a",["voice.vl2"]],"audio/voice/fem3/slf.tsk.cover.wav":["audio/voice/Fem3/slf.tsk.cover.WAV",["voice.vl2"]],"audio/voice/fem3/slf.tsk.defense.m4a":["audio/voice/Fem3/slf.tsk.defense.m4a",["voice.vl2"]],"audio/voice/fem3/slf.tsk.defense.wav":["audio/voice/Fem3/slf.tsk.defense.WAV",["voice.vl2"]],"audio/voice/fem3/slf.tsk.generic.m4a":["audio/voice/Fem3/slf.tsk.generic.m4a",["voice.vl2"]],"audio/voice/fem3/slf.tsk.generic.wav":["audio/voice/Fem3/slf.tsk.generic.WAV",["voice.vl2"]],"audio/voice/fem3/slf.tsk.remotes.m4a":["audio/voice/Fem3/slf.tsk.remotes.m4a",["voice.vl2"]],"audio/voice/fem3/slf.tsk.remotes.wav":["audio/voice/Fem3/slf.tsk.remotes.WAV",["voice.vl2"]],"audio/voice/fem3/slf.tsk.sensors.m4a":["audio/voice/Fem3/slf.tsk.sensors.m4a",["voice.vl2"]],"audio/voice/fem3/slf.tsk.sensors.wav":["audio/voice/Fem3/slf.tsk.sensors.WAV",["voice.vl2"]],"audio/voice/fem3/slf.tsk.turrets.m4a":["audio/voice/Fem3/slf.tsk.turrets.m4a",["voice.vl2"]],"audio/voice/fem3/slf.tsk.turrets.wav":["audio/voice/Fem3/slf.tsk.turrets.WAV",["voice.vl2"]],"audio/voice/fem3/slf.tsk.vehicle.m4a":["audio/voice/Fem3/slf.tsk.vehicle.m4a",["voice.vl2"]],"audio/voice/fem3/slf.tsk.vehicle.wav":["audio/voice/Fem3/slf.tsk.vehicle.WAV",["voice.vl2"]],"audio/voice/fem3/tgt.acquired.m4a":["audio/voice/Fem3/tgt.acquired.m4a",["voice.vl2"]],"audio/voice/fem3/tgt.acquired.wav":["audio/voice/Fem3/tgt.acquired.WAV",["voice.vl2"]],"audio/voice/fem3/tgt.base.m4a":["audio/voice/Fem3/tgt.base.m4a",["voice.vl2"]],"audio/voice/fem3/tgt.base.wav":["audio/voice/Fem3/tgt.base.WAV",["voice.vl2"]],"audio/voice/fem3/tgt.destroyed.m4a":["audio/voice/Fem3/tgt.destroyed.m4a",["voice.vl2"]],"audio/voice/fem3/tgt.destroyed.wav":["audio/voice/Fem3/tgt.destroyed.WAV",["voice.vl2"]],"audio/voice/fem3/tgt.flag.m4a":["audio/voice/Fem3/tgt.flag.m4a",["voice.vl2"]],"audio/voice/fem3/tgt.flag.wav":["audio/voice/Fem3/tgt.flag.WAV",["voice.vl2"]],"audio/voice/fem3/tgt.my.m4a":["audio/voice/Fem3/tgt.my.m4a",["voice.vl2"]],"audio/voice/fem3/tgt.my.wav":["audio/voice/Fem3/tgt.my.WAV",["voice.vl2"]],"audio/voice/fem3/tgt.need.m4a":["audio/voice/Fem3/tgt.need.m4a",["voice.vl2"]],"audio/voice/fem3/tgt.need.wav":["audio/voice/Fem3/tgt.need.WAV",["voice.vl2"]],"audio/voice/fem3/tgt.sensors.m4a":["audio/voice/Fem3/tgt.sensors.m4a",["voice.vl2"]],"audio/voice/fem3/tgt.sensors.wav":["audio/voice/Fem3/tgt.sensors.WAV",["voice.vl2"]],"audio/voice/fem3/tgt.turret.m4a":["audio/voice/Fem3/tgt.turret.m4a",["voice.vl2"]],"audio/voice/fem3/tgt.turret.wav":["audio/voice/Fem3/tgt.turret.WAV",["voice.vl2"]],"audio/voice/fem3/tgt.wait.m4a":["audio/voice/Fem3/tgt.wait.m4a",["voice.vl2"]],"audio/voice/fem3/tgt.wait.wav":["audio/voice/Fem3/tgt.wait.WAV",["voice.vl2"]],"audio/voice/fem3/vqk.anytime.m4a":["audio/voice/Fem3/vqk.anytime.m4a",["voice.vl2"]],"audio/voice/fem3/vqk.anytime.wav":["audio/voice/Fem3/vqk.anytime.WAV",["voice.vl2"]],"audio/voice/fem3/vqk.base.m4a":["audio/voice/Fem3/vqk.base.m4a",["voice.vl2"]],"audio/voice/fem3/vqk.base.wav":["audio/voice/Fem3/vqk.base.WAV",["voice.vl2"]],"audio/voice/fem3/vqk.ceasefire.m4a":["audio/voice/Fem3/vqk.ceasefire.m4a",["voice.vl2"]],"audio/voice/fem3/vqk.ceasefire.wav":["audio/voice/Fem3/vqk.ceasefire.WAV",["voice.vl2"]],"audio/voice/fem3/vqk.dunno.m4a":["audio/voice/Fem3/vqk.dunno.m4a",["voice.vl2"]],"audio/voice/fem3/vqk.dunno.wav":["audio/voice/Fem3/vqk.dunno.WAV",["voice.vl2"]],"audio/voice/fem3/vqk.help.m4a":["audio/voice/Fem3/vqk.help.m4a",["voice.vl2"]],"audio/voice/fem3/vqk.help.wav":["audio/voice/Fem3/vqk.help.WAV",["voice.vl2"]],"audio/voice/fem3/vqk.move.m4a":["audio/voice/Fem3/vqk.move.m4a",["voice.vl2"]],"audio/voice/fem3/vqk.move.wav":["audio/voice/Fem3/vqk.move.WAV",["voice.vl2"]],"audio/voice/fem3/vqk.no.m4a":["audio/voice/Fem3/vqk.no.m4a",["voice.vl2"]],"audio/voice/fem3/vqk.no.wav":["audio/voice/Fem3/vqk.no.WAV",["voice.vl2"]],"audio/voice/fem3/vqk.quiet.m4a":["audio/voice/Fem3/vqk.quiet.m4a",["voice.vl2"]],"audio/voice/fem3/vqk.quiet.wav":["audio/voice/Fem3/vqk.quiet.WAV",["voice.vl2"]],"audio/voice/fem3/vqk.sorry.m4a":["audio/voice/Fem3/vqk.sorry.m4a",["voice.vl2"]],"audio/voice/fem3/vqk.sorry.wav":["audio/voice/Fem3/vqk.sorry.WAV",["voice.vl2"]],"audio/voice/fem3/vqk.thanks.m4a":["audio/voice/Fem3/vqk.thanks.m4a",["voice.vl2"]],"audio/voice/fem3/vqk.thanks.wav":["audio/voice/Fem3/vqk.thanks.WAV",["voice.vl2"]],"audio/voice/fem3/vqk.wait.m4a":["audio/voice/Fem3/vqk.wait.m4a",["voice.vl2"]],"audio/voice/fem3/vqk.wait.wav":["audio/voice/Fem3/vqk.wait.WAV",["voice.vl2"]],"audio/voice/fem3/vqk.yes.m4a":["audio/voice/Fem3/vqk.yes.m4a",["voice.vl2"]],"audio/voice/fem3/vqk.yes.wav":["audio/voice/Fem3/vqk.yes.WAV",["voice.vl2"]],"audio/voice/fem3/wrn.bomber.m4a":["audio/voice/Fem3/wrn.bomber.m4a",["voice.vl2"]],"audio/voice/fem3/wrn.bomber.wav":["audio/voice/Fem3/wrn.bomber.WAV",["voice.vl2"]],"audio/voice/fem3/wrn.enemy.m4a":["audio/voice/Fem3/wrn.enemy.m4a",["voice.vl2"]],"audio/voice/fem3/wrn.enemy.wav":["audio/voice/Fem3/wrn.enemy.WAV",["voice.vl2"]],"audio/voice/fem3/wrn.vehicles.m4a":["audio/voice/Fem3/wrn.vehicles.m4a",["voice.vl2"]],"audio/voice/fem3/wrn.vehicles.wav":["audio/voice/Fem3/wrn.vehicles.WAV",["voice.vl2"]],"audio/voice/fem3/wrn.watchit.m4a":["audio/voice/Fem3/wrn.watchit.m4a",["voice.vl2"]],"audio/voice/fem3/wrn.watchit.wav":["audio/voice/Fem3/wrn.watchit.WAV",["voice.vl2"]],"audio/voice/fem4/att.attack.m4a":["audio/voice/Fem4/att.attack.m4a",["voice.vl2"]],"audio/voice/fem4/att.attack.wav":["audio/voice/Fem4/att.attack.WAV",["voice.vl2"]],"audio/voice/fem4/att.base.m4a":["audio/voice/Fem4/att.base.m4a",["voice.vl2"]],"audio/voice/fem4/att.base.wav":["audio/voice/Fem4/att.base.WAV",["voice.vl2"]],"audio/voice/fem4/att.chase.m4a":["audio/voice/Fem4/att.chase.m4a",["voice.vl2"]],"audio/voice/fem4/att.chase.wav":["audio/voice/Fem4/att.chase.WAV",["voice.vl2"]],"audio/voice/fem4/att.distract.m4a":["audio/voice/Fem4/att.distract.m4a",["voice.vl2"]],"audio/voice/fem4/att.distract.wav":["audio/voice/Fem4/att.distract.WAV",["voice.vl2"]],"audio/voice/fem4/att.flag.m4a":["audio/voice/Fem4/att.flag.m4a",["voice.vl2"]],"audio/voice/fem4/att.flag.wav":["audio/voice/Fem4/att.flag.WAV",["voice.vl2"]],"audio/voice/fem4/att.generator.m4a":["audio/voice/Fem4/att.generator.m4a",["voice.vl2"]],"audio/voice/fem4/att.generator.wav":["audio/voice/Fem4/att.generator.WAV",["voice.vl2"]],"audio/voice/fem4/att.objective.m4a":["audio/voice/Fem4/att.objective.m4a",["voice.vl2"]],"audio/voice/fem4/att.objective.wav":["audio/voice/Fem4/att.objective.WAV",["voice.vl2"]],"audio/voice/fem4/att.reinforcements.m4a":["audio/voice/Fem4/att.reinforcements.m4a",["voice.vl2"]],"audio/voice/fem4/att.reinforcements.wav":["audio/voice/Fem4/att.reinforcements.WAV",["voice.vl2"]],"audio/voice/fem4/att.sensors.m4a":["audio/voice/Fem4/att.sensors.m4a",["voice.vl2"]],"audio/voice/fem4/att.sensors.wav":["audio/voice/Fem4/att.sensors.WAV",["voice.vl2"]],"audio/voice/fem4/att.turrets.m4a":["audio/voice/Fem4/att.turrets.m4a",["voice.vl2"]],"audio/voice/fem4/att.turrets.wav":["audio/voice/Fem4/att.turrets.WAV",["voice.vl2"]],"audio/voice/fem4/att.vehicle.m4a":["audio/voice/Fem4/att.vehicle.m4a",["voice.vl2"]],"audio/voice/fem4/att.vehicle.wav":["audio/voice/Fem4/att.vehicle.WAV",["voice.vl2"]],"audio/voice/fem4/att.wait.m4a":["audio/voice/Fem4/att.wait.m4a",["voice.vl2"]],"audio/voice/fem4/att.wait.wav":["audio/voice/Fem4/att.wait.WAV",["voice.vl2"]],"audio/voice/fem4/avo.deathcry_01.m4a":["audio/voice/Fem4/avo.deathcry_01.m4a",["voice.vl2"]],"audio/voice/fem4/avo.deathcry_01.wav":["audio/voice/Fem4/avo.deathcry_01.WAV",["voice.vl2"]],"audio/voice/fem4/avo.deathcry_02.m4a":["audio/voice/Fem4/avo.deathcry_02.m4a",["voice.vl2"]],"audio/voice/fem4/avo.deathcry_02.wav":["audio/voice/Fem4/avo.deathcry_02.WAV",["voice.vl2"]],"audio/voice/fem4/avo.grunt.m4a":["audio/voice/Fem4/avo.grunt.m4a",["voice.vl2"]],"audio/voice/fem4/avo.grunt.wav":["audio/voice/Fem4/avo.grunt.WAV",["voice.vl2"]],"audio/voice/fem4/avo.pain.m4a":["audio/voice/Fem4/avo.pain.m4a",["voice.vl2"]],"audio/voice/fem4/avo.pain.wav":["audio/voice/Fem4/avo.pain.WAV",["voice.vl2"]],"audio/voice/fem4/bas.clear.m4a":["audio/voice/Fem4/bas.clear.m4a",["voice.vl2"]],"audio/voice/fem4/bas.clear.wav":["audio/voice/Fem4/bas.clear.WAV",["voice.vl2"]],"audio/voice/fem4/bas.enemy.m4a":["audio/voice/Fem4/bas.enemy.m4a",["voice.vl2"]],"audio/voice/fem4/bas.enemy.wav":["audio/voice/Fem4/bas.enemy.WAV",["voice.vl2"]],"audio/voice/fem4/bas.retake.m4a":["audio/voice/Fem4/bas.retake.m4a",["voice.vl2"]],"audio/voice/fem4/bas.retake.wav":["audio/voice/Fem4/bas.retake.WAV",["voice.vl2"]],"audio/voice/fem4/bas.secure.m4a":["audio/voice/Fem4/bas.secure.m4a",["voice.vl2"]],"audio/voice/fem4/bas.secure.wav":["audio/voice/Fem4/bas.secure.WAV",["voice.vl2"]],"audio/voice/fem4/bas.taken.m4a":["audio/voice/Fem4/bas.taken.m4a",["voice.vl2"]],"audio/voice/fem4/bas.taken.wav":["audio/voice/Fem4/bas.taken.WAV",["voice.vl2"]],"audio/voice/fem4/cmd.acknowledge.m4a":["audio/voice/Fem4/cmd.acknowledge.m4a",["voice.vl2"]],"audio/voice/fem4/cmd.acknowledge.wav":["audio/voice/Fem4/cmd.acknowledge.WAV",["voice.vl2"]],"audio/voice/fem4/cmd.bot.m4a":["audio/voice/Fem4/cmd.bot.m4a",["voice.vl2"]],"audio/voice/fem4/cmd.bot.wav":["audio/voice/Fem4/cmd.bot.WAV",["voice.vl2"]],"audio/voice/fem4/cmd.completed.m4a":["audio/voice/Fem4/cmd.completed.m4a",["voice.vl2"]],"audio/voice/fem4/cmd.completed.wav":["audio/voice/Fem4/cmd.completed.WAV",["voice.vl2"]],"audio/voice/fem4/cmd.decline.m4a":["audio/voice/Fem4/cmd.decline.m4a",["voice.vl2"]],"audio/voice/fem4/cmd.decline.wav":["audio/voice/Fem4/cmd.decline.WAV",["voice.vl2"]],"audio/voice/fem4/def.base.m4a":["audio/voice/Fem4/def.base.m4a",["voice.vl2"]],"audio/voice/fem4/def.base.wav":["audio/voice/Fem4/def.base.WAV",["voice.vl2"]],"audio/voice/fem4/def.carrier.m4a":["audio/voice/Fem4/def.carrier.m4a",["voice.vl2"]],"audio/voice/fem4/def.carrier.wav":["audio/voice/Fem4/def.carrier.WAV",["voice.vl2"]],"audio/voice/fem4/def.entrances.m4a":["audio/voice/Fem4/def.entrances.m4a",["voice.vl2"]],"audio/voice/fem4/def.entrances.wav":["audio/voice/Fem4/def.entrances.WAV",["voice.vl2"]],"audio/voice/fem4/def.flag.m4a":["audio/voice/Fem4/def.flag.m4a",["voice.vl2"]],"audio/voice/fem4/def.flag.wav":["audio/voice/Fem4/def.flag.WAV",["voice.vl2"]],"audio/voice/fem4/def.generator.m4a":["audio/voice/Fem4/def.generator.m4a",["voice.vl2"]],"audio/voice/fem4/def.generator.wav":["audio/voice/Fem4/def.generator.WAV",["voice.vl2"]],"audio/voice/fem4/def.me.m4a":["audio/voice/Fem4/def.me.m4a",["voice.vl2"]],"audio/voice/fem4/def.me.wav":["audio/voice/Fem4/def.me.WAV",["voice.vl2"]],"audio/voice/fem4/def.nexus.m4a":["audio/voice/Fem4/def.nexus.m4a",["voice.vl2"]],"audio/voice/fem4/def.nexus.wav":["audio/voice/Fem4/def.nexus.WAV",["voice.vl2"]],"audio/voice/fem4/def.objective.m4a":["audio/voice/Fem4/def.objective.m4a",["voice.vl2"]],"audio/voice/fem4/def.objective.wav":["audio/voice/Fem4/def.objective.WAV",["voice.vl2"]],"audio/voice/fem4/def.reinforce.m4a":["audio/voice/Fem4/def.reinforce.m4a",["voice.vl2"]],"audio/voice/fem4/def.reinforce.wav":["audio/voice/Fem4/def.reinforce.WAV",["voice.vl2"]],"audio/voice/fem4/def.sensors.m4a":["audio/voice/Fem4/def.sensors.m4a",["voice.vl2"]],"audio/voice/fem4/def.sensors.wav":["audio/voice/Fem4/def.sensors.WAV",["voice.vl2"]],"audio/voice/fem4/def.turrets.m4a":["audio/voice/Fem4/def.turrets.m4a",["voice.vl2"]],"audio/voice/fem4/def.turrets.wav":["audio/voice/Fem4/def.turrets.WAV",["voice.vl2"]],"audio/voice/fem4/def.vehicle.m4a":["audio/voice/Fem4/def.vehicle.m4a",["voice.vl2"]],"audio/voice/fem4/def.vehicle.wav":["audio/voice/Fem4/def.vehicle.WAV",["voice.vl2"]],"audio/voice/fem4/ene.base.m4a":["audio/voice/Fem4/ene.base.m4a",["voice.vl2"]],"audio/voice/fem4/ene.base.wav":["audio/voice/Fem4/ene.base.WAV",["voice.vl2"]],"audio/voice/fem4/ene.disarray.m4a":["audio/voice/Fem4/ene.disarray.m4a",["voice.vl2"]],"audio/voice/fem4/ene.disarray.wav":["audio/voice/Fem4/ene.disarray.WAV",["voice.vl2"]],"audio/voice/fem4/ene.generator.m4a":["audio/voice/Fem4/ene.generator.m4a",["voice.vl2"]],"audio/voice/fem4/ene.generator.wav":["audio/voice/Fem4/ene.generator.WAV",["voice.vl2"]],"audio/voice/fem4/ene.remotes.m4a":["audio/voice/Fem4/ene.remotes.m4a",["voice.vl2"]],"audio/voice/fem4/ene.remotes.wav":["audio/voice/Fem4/ene.remotes.WAV",["voice.vl2"]],"audio/voice/fem4/ene.sensors.m4a":["audio/voice/Fem4/ene.sensors.m4a",["voice.vl2"]],"audio/voice/fem4/ene.sensors.wav":["audio/voice/Fem4/ene.sensors.WAV",["voice.vl2"]],"audio/voice/fem4/ene.turrets.m4a":["audio/voice/Fem4/ene.turrets.m4a",["voice.vl2"]],"audio/voice/fem4/ene.turrets.wav":["audio/voice/Fem4/ene.turrets.WAV",["voice.vl2"]],"audio/voice/fem4/ene.vehicle.m4a":["audio/voice/Fem4/ene.vehicle.m4a",["voice.vl2"]],"audio/voice/fem4/ene.vehicle.wav":["audio/voice/Fem4/ene.vehicle.WAV",["voice.vl2"]],"audio/voice/fem4/flg.flag.m4a":["audio/voice/Fem4/flg.flag.m4a",["voice.vl2"]],"audio/voice/fem4/flg.flag.wav":["audio/voice/Fem4/flg.flag.WAV",["voice.vl2"]],"audio/voice/fem4/flg.give.m4a":["audio/voice/Fem4/flg.give.m4a",["voice.vl2"]],"audio/voice/fem4/flg.give.wav":["audio/voice/Fem4/flg.give.WAV",["voice.vl2"]],"audio/voice/fem4/flg.huntergive.m4a":["audio/voice/Fem4/flg.huntergive.m4a",["voice.vl2"]],"audio/voice/fem4/flg.huntergive.wav":["audio/voice/Fem4/flg.huntergive.WAV",["voice.vl2"]],"audio/voice/fem4/flg.huntertake.m4a":["audio/voice/Fem4/flg.huntertake.m4a",["voice.vl2"]],"audio/voice/fem4/flg.huntertake.wav":["audio/voice/Fem4/flg.huntertake.WAV",["voice.vl2"]],"audio/voice/fem4/flg.retrieve.m4a":["audio/voice/Fem4/flg.retrieve.m4a",["voice.vl2"]],"audio/voice/fem4/flg.retrieve.wav":["audio/voice/Fem4/flg.retrieve.WAV",["voice.vl2"]],"audio/voice/fem4/flg.secure.m4a":["audio/voice/Fem4/flg.secure.m4a",["voice.vl2"]],"audio/voice/fem4/flg.secure.wav":["audio/voice/Fem4/flg.secure.WAV",["voice.vl2"]],"audio/voice/fem4/flg.take.m4a":["audio/voice/Fem4/flg.take.m4a",["voice.vl2"]],"audio/voice/fem4/flg.take.wav":["audio/voice/Fem4/flg.take.WAV",["voice.vl2"]],"audio/voice/fem4/gbl.anytime.m4a":["audio/voice/Fem4/gbl.anytime.m4a",["voice.vl2"]],"audio/voice/fem4/gbl.anytime.wav":["audio/voice/Fem4/gbl.anytime.WAV",["voice.vl2"]],"audio/voice/fem4/gbl.awesome.m4a":["audio/voice/Fem4/gbl.awesome.m4a",["voice.vl2"]],"audio/voice/fem4/gbl.awesome.wav":["audio/voice/Fem4/gbl.awesome.WAV",["voice.vl2"]],"audio/voice/fem4/gbl.aww.m4a":["audio/voice/Fem4/gbl.aww.m4a",["voice.vl2"]],"audio/voice/fem4/gbl.aww.wav":["audio/voice/Fem4/gbl.aww.WAV",["voice.vl2"]],"audio/voice/fem4/gbl.brag.m4a":["audio/voice/Fem4/gbl.brag.m4a",["voice.vl2"]],"audio/voice/fem4/gbl.brag.wav":["audio/voice/Fem4/gbl.brag.WAV",["voice.vl2"]],"audio/voice/fem4/gbl.bye.m4a":["audio/voice/Fem4/gbl.bye.m4a",["voice.vl2"]],"audio/voice/fem4/gbl.bye.wav":["audio/voice/Fem4/gbl.bye.WAV",["voice.vl2"]],"audio/voice/fem4/gbl.dunno.m4a":["audio/voice/Fem4/gbl.dunno.m4a",["voice.vl2"]],"audio/voice/fem4/gbl.dunno.wav":["audio/voice/Fem4/gbl.dunno.WAV",["voice.vl2"]],"audio/voice/fem4/gbl.goodgame.m4a":["audio/voice/Fem4/gbl.goodgame.m4a",["voice.vl2"]],"audio/voice/fem4/gbl.goodgame.wav":["audio/voice/Fem4/gbl.goodgame.WAV",["voice.vl2"]],"audio/voice/fem4/gbl.hi.m4a":["audio/voice/Fem4/gbl.hi.m4a",["voice.vl2"]],"audio/voice/fem4/gbl.hi.wav":["audio/voice/Fem4/gbl.hi.WAV",["voice.vl2"]],"audio/voice/fem4/gbl.nice.m4a":["audio/voice/Fem4/gbl.nice.m4a",["voice.vl2"]],"audio/voice/fem4/gbl.nice.wav":["audio/voice/Fem4/gbl.nice.WAV",["voice.vl2"]],"audio/voice/fem4/gbl.no.m4a":["audio/voice/Fem4/gbl.no.m4a",["voice.vl2"]],"audio/voice/fem4/gbl.no.wav":["audio/voice/Fem4/gbl.no.WAV",["voice.vl2"]],"audio/voice/fem4/gbl.obnoxious.m4a":["audio/voice/Fem4/gbl.obnoxious.m4a",["voice.vl2"]],"audio/voice/fem4/gbl.obnoxious.wav":["audio/voice/Fem4/gbl.obnoxious.WAV",["voice.vl2"]],"audio/voice/fem4/gbl.oops.m4a":["audio/voice/Fem4/gbl.oops.m4a",["voice.vl2"]],"audio/voice/fem4/gbl.oops.wav":["audio/voice/Fem4/gbl.oops.WAV",["voice.vl2"]],"audio/voice/fem4/gbl.quiet.m4a":["audio/voice/Fem4/gbl.quiet.m4a",["voice.vl2"]],"audio/voice/fem4/gbl.quiet.wav":["audio/voice/Fem4/gbl.quiet.WAV",["voice.vl2"]],"audio/voice/fem4/gbl.rock.m4a":["audio/voice/Fem4/gbl.rock.m4a",["voice.vl2"]],"audio/voice/fem4/gbl.rock.wav":["audio/voice/Fem4/gbl.rock.WAV",["voice.vl2"]],"audio/voice/fem4/gbl.sarcasm.m4a":["audio/voice/Fem4/gbl.sarcasm.m4a",["voice.vl2"]],"audio/voice/fem4/gbl.sarcasm.wav":["audio/voice/Fem4/gbl.sarcasm.WAV",["voice.vl2"]],"audio/voice/fem4/gbl.shazbot.m4a":["audio/voice/Fem4/gbl.shazbot.m4a",["voice.vl2"]],"audio/voice/fem4/gbl.shazbot.wav":["audio/voice/Fem4/gbl.shazbot.WAV",["voice.vl2"]],"audio/voice/fem4/gbl.shooting.m4a":["audio/voice/Fem4/gbl.shooting.m4a",["voice.vl2"]],"audio/voice/fem4/gbl.shooting.wav":["audio/voice/Fem4/gbl.shooting.WAV",["voice.vl2"]],"audio/voice/fem4/gbl.thanks.m4a":["audio/voice/Fem4/gbl.thanks.m4a",["voice.vl2"]],"audio/voice/fem4/gbl.thanks.wav":["audio/voice/Fem4/gbl.thanks.WAV",["voice.vl2"]],"audio/voice/fem4/gbl.wait.m4a":["audio/voice/Fem4/gbl.wait.m4a",["voice.vl2"]],"audio/voice/fem4/gbl.wait.wav":["audio/voice/Fem4/gbl.wait.WAV",["voice.vl2"]],"audio/voice/fem4/gbl.when.m4a":["audio/voice/Fem4/gbl.when.m4a",["voice.vl2"]],"audio/voice/fem4/gbl.when.wav":["audio/voice/Fem4/gbl.when.WAV",["voice.vl2"]],"audio/voice/fem4/gbl.woohoo.m4a":["audio/voice/Fem4/gbl.woohoo.m4a",["voice.vl2"]],"audio/voice/fem4/gbl.woohoo.wav":["audio/voice/Fem4/gbl.woohoo.WAV",["voice.vl2"]],"audio/voice/fem4/gbl.yes.m4a":["audio/voice/Fem4/gbl.yes.m4a",["voice.vl2"]],"audio/voice/fem4/gbl.yes.wav":["audio/voice/Fem4/gbl.yes.WAV",["voice.vl2"]],"audio/voice/fem4/need.bombardier.m4a":["audio/voice/Fem4/need.bombardier.m4a",["voice.vl2"]],"audio/voice/fem4/need.bombardier.wav":["audio/voice/Fem4/need.bombardier.WAV",["voice.vl2"]],"audio/voice/fem4/need.cover.m4a":["audio/voice/Fem4/need.cover.m4a",["voice.vl2"]],"audio/voice/fem4/need.cover.wav":["audio/voice/Fem4/need.cover.WAV",["voice.vl2"]],"audio/voice/fem4/need.driver.m4a":["audio/voice/Fem4/need.driver.m4a",["voice.vl2"]],"audio/voice/fem4/need.driver.wav":["audio/voice/Fem4/need.driver.WAV",["voice.vl2"]],"audio/voice/fem4/need.escort.m4a":["audio/voice/Fem4/need.escort.m4a",["voice.vl2"]],"audio/voice/fem4/need.escort.wav":["audio/voice/Fem4/need.escort.WAV",["voice.vl2"]],"audio/voice/fem4/need.flyer.m4a":["audio/voice/Fem4/need.flyer.m4a",["voice.vl2"]],"audio/voice/fem4/need.flyer.wav":["audio/voice/Fem4/need.flyer.WAV",["voice.vl2"]],"audio/voice/fem4/need.gunship.m4a":["audio/voice/Fem4/need.gunship.m4a",["voice.vl2"]],"audio/voice/fem4/need.gunship.wav":["audio/voice/Fem4/need.gunship.WAV",["voice.vl2"]],"audio/voice/fem4/need.hold.m4a":["audio/voice/Fem4/need.hold.m4a",["voice.vl2"]],"audio/voice/fem4/need.hold.wav":["audio/voice/Fem4/need.hold.WAV",["voice.vl2"]],"audio/voice/fem4/need.ride.m4a":["audio/voice/Fem4/need.ride.m4a",["voice.vl2"]],"audio/voice/fem4/need.ride.wav":["audio/voice/Fem4/need.ride.WAV",["voice.vl2"]],"audio/voice/fem4/need.support.m4a":["audio/voice/Fem4/need.support.m4a",["voice.vl2"]],"audio/voice/fem4/need.support.wav":["audio/voice/Fem4/need.support.WAV",["voice.vl2"]],"audio/voice/fem4/need.tailgunner.m4a":["audio/voice/Fem4/need.tailgunner.m4a",["voice.vl2"]],"audio/voice/fem4/need.tailgunner.wav":["audio/voice/Fem4/need.tailgunner.WAV",["voice.vl2"]],"audio/voice/fem4/need.where.m4a":["audio/voice/Fem4/need.where.m4a",["voice.vl2"]],"audio/voice/fem4/need.where.wav":["audio/voice/Fem4/need.where.WAV",["voice.vl2"]],"audio/voice/fem4/rep.base.m4a":["audio/voice/Fem4/rep.base.m4a",["voice.vl2"]],"audio/voice/fem4/rep.base.wav":["audio/voice/Fem4/rep.base.WAV",["voice.vl2"]],"audio/voice/fem4/rep.generator.m4a":["audio/voice/Fem4/rep.generator.m4a",["voice.vl2"]],"audio/voice/fem4/rep.generator.wav":["audio/voice/Fem4/rep.generator.WAV",["voice.vl2"]],"audio/voice/fem4/rep.me.m4a":["audio/voice/Fem4/rep.me.m4a",["voice.vl2"]],"audio/voice/fem4/rep.me.wav":["audio/voice/Fem4/rep.me.WAV",["voice.vl2"]],"audio/voice/fem4/rep.sensors.m4a":["audio/voice/Fem4/rep.sensors.m4a",["voice.vl2"]],"audio/voice/fem4/rep.sensors.wav":["audio/voice/Fem4/rep.sensors.WAV",["voice.vl2"]],"audio/voice/fem4/rep.turrets.m4a":["audio/voice/Fem4/rep.turrets.m4a",["voice.vl2"]],"audio/voice/fem4/rep.turrets.wav":["audio/voice/Fem4/rep.turrets.WAV",["voice.vl2"]],"audio/voice/fem4/rep.vehicle.m4a":["audio/voice/Fem4/rep.vehicle.m4a",["voice.vl2"]],"audio/voice/fem4/rep.vehicle.wav":["audio/voice/Fem4/rep.vehicle.WAV",["voice.vl2"]],"audio/voice/fem4/slf.att.attack.m4a":["audio/voice/Fem4/slf.att.attack.m4a",["voice.vl2"]],"audio/voice/fem4/slf.att.attack.wav":["audio/voice/Fem4/slf.att.attack.WAV",["voice.vl2"]],"audio/voice/fem4/slf.att.base.m4a":["audio/voice/Fem4/slf.att.base.m4a",["voice.vl2"]],"audio/voice/fem4/slf.att.base.wav":["audio/voice/Fem4/slf.att.base.WAV",["voice.vl2"]],"audio/voice/fem4/slf.att.flag.m4a":["audio/voice/Fem4/slf.att.flag.m4a",["voice.vl2"]],"audio/voice/fem4/slf.att.flag.wav":["audio/voice/Fem4/slf.att.flag.WAV",["voice.vl2"]],"audio/voice/fem4/slf.att.generator.m4a":["audio/voice/Fem4/slf.att.generator.m4a",["voice.vl2"]],"audio/voice/fem4/slf.att.generator.wav":["audio/voice/Fem4/slf.att.generator.WAV",["voice.vl2"]],"audio/voice/fem4/slf.att.sensors.m4a":["audio/voice/Fem4/slf.att.sensors.m4a",["voice.vl2"]],"audio/voice/fem4/slf.att.sensors.wav":["audio/voice/Fem4/slf.att.sensors.WAV",["voice.vl2"]],"audio/voice/fem4/slf.att.turrets.m4a":["audio/voice/Fem4/slf.att.turrets.m4a",["voice.vl2"]],"audio/voice/fem4/slf.att.turrets.wav":["audio/voice/Fem4/slf.att.turrets.WAV",["voice.vl2"]],"audio/voice/fem4/slf.att.vehicle.m4a":["audio/voice/Fem4/slf.att.vehicle.m4a",["voice.vl2"]],"audio/voice/fem4/slf.att.vehicle.wav":["audio/voice/Fem4/slf.att.vehicle.WAV",["voice.vl2"]],"audio/voice/fem4/slf.def.base.m4a":["audio/voice/Fem4/slf.def.base.m4a",["voice.vl2"]],"audio/voice/fem4/slf.def.base.wav":["audio/voice/Fem4/slf.def.base.WAV",["voice.vl2"]],"audio/voice/fem4/slf.def.defend.m4a":["audio/voice/Fem4/slf.def.defend.m4a",["voice.vl2"]],"audio/voice/fem4/slf.def.defend.wav":["audio/voice/Fem4/slf.def.defend.WAV",["voice.vl2"]],"audio/voice/fem4/slf.def.flag.m4a":["audio/voice/Fem4/slf.def.flag.m4a",["voice.vl2"]],"audio/voice/fem4/slf.def.flag.wav":["audio/voice/Fem4/slf.def.flag.WAV",["voice.vl2"]],"audio/voice/fem4/slf.def.generator.m4a":["audio/voice/Fem4/slf.def.generator.m4a",["voice.vl2"]],"audio/voice/fem4/slf.def.generator.wav":["audio/voice/Fem4/slf.def.generator.WAV",["voice.vl2"]],"audio/voice/fem4/slf.def.nexus.m4a":["audio/voice/Fem4/slf.def.nexus.m4a",["voice.vl2"]],"audio/voice/fem4/slf.def.nexus.wav":["audio/voice/Fem4/slf.def.nexus.WAV",["voice.vl2"]],"audio/voice/fem4/slf.def.sensors.m4a":["audio/voice/Fem4/slf.def.sensors.m4a",["voice.vl2"]],"audio/voice/fem4/slf.def.sensors.wav":["audio/voice/Fem4/slf.def.sensors.WAV",["voice.vl2"]],"audio/voice/fem4/slf.def.turrets.m4a":["audio/voice/Fem4/slf.def.turrets.m4a",["voice.vl2"]],"audio/voice/fem4/slf.def.turrets.wav":["audio/voice/Fem4/slf.def.turrets.WAV",["voice.vl2"]],"audio/voice/fem4/slf.def.vehicle.m4a":["audio/voice/Fem4/slf.def.vehicle.m4a",["voice.vl2"]],"audio/voice/fem4/slf.def.vehicle.wav":["audio/voice/Fem4/slf.def.vehicle.WAV",["voice.vl2"]],"audio/voice/fem4/slf.rep.base.m4a":["audio/voice/Fem4/slf.rep.base.m4a",["voice.vl2"]],"audio/voice/fem4/slf.rep.base.wav":["audio/voice/Fem4/slf.rep.base.WAV",["voice.vl2"]],"audio/voice/fem4/slf.rep.equipment.m4a":["audio/voice/Fem4/slf.rep.equipment.m4a",["voice.vl2"]],"audio/voice/fem4/slf.rep.equipment.wav":["audio/voice/Fem4/slf.rep.equipment.WAV",["voice.vl2"]],"audio/voice/fem4/slf.rep.generator.m4a":["audio/voice/Fem4/slf.rep.generator.m4a",["voice.vl2"]],"audio/voice/fem4/slf.rep.generator.wav":["audio/voice/Fem4/slf.rep.generator.WAV",["voice.vl2"]],"audio/voice/fem4/slf.rep.repairing.m4a":["audio/voice/Fem4/slf.rep.repairing.m4a",["voice.vl2"]],"audio/voice/fem4/slf.rep.repairing.wav":["audio/voice/Fem4/slf.rep.repairing.WAV",["voice.vl2"]],"audio/voice/fem4/slf.rep.sensors.m4a":["audio/voice/Fem4/slf.rep.sensors.m4a",["voice.vl2"]],"audio/voice/fem4/slf.rep.sensors.wav":["audio/voice/Fem4/slf.rep.sensors.WAV",["voice.vl2"]],"audio/voice/fem4/slf.rep.turrets.m4a":["audio/voice/Fem4/slf.rep.turrets.m4a",["voice.vl2"]],"audio/voice/fem4/slf.rep.turrets.wav":["audio/voice/Fem4/slf.rep.turrets.WAV",["voice.vl2"]],"audio/voice/fem4/slf.rep.vehicle.m4a":["audio/voice/Fem4/slf.rep.vehicle.m4a",["voice.vl2"]],"audio/voice/fem4/slf.rep.vehicle.wav":["audio/voice/Fem4/slf.rep.vehicle.WAV",["voice.vl2"]],"audio/voice/fem4/slf.tsk.cover.m4a":["audio/voice/Fem4/slf.tsk.cover.m4a",["voice.vl2"]],"audio/voice/fem4/slf.tsk.cover.wav":["audio/voice/Fem4/slf.tsk.cover.WAV",["voice.vl2"]],"audio/voice/fem4/slf.tsk.defense.m4a":["audio/voice/Fem4/slf.tsk.defense.m4a",["voice.vl2"]],"audio/voice/fem4/slf.tsk.defense.wav":["audio/voice/Fem4/slf.tsk.defense.WAV",["voice.vl2"]],"audio/voice/fem4/slf.tsk.generic.m4a":["audio/voice/Fem4/slf.tsk.generic.m4a",["voice.vl2"]],"audio/voice/fem4/slf.tsk.generic.wav":["audio/voice/Fem4/slf.tsk.generic.WAV",["voice.vl2"]],"audio/voice/fem4/slf.tsk.remotes.m4a":["audio/voice/Fem4/slf.tsk.remotes.m4a",["voice.vl2"]],"audio/voice/fem4/slf.tsk.remotes.wav":["audio/voice/Fem4/slf.tsk.remotes.WAV",["voice.vl2"]],"audio/voice/fem4/slf.tsk.sensors.m4a":["audio/voice/Fem4/slf.tsk.sensors.m4a",["voice.vl2"]],"audio/voice/fem4/slf.tsk.sensors.wav":["audio/voice/Fem4/slf.tsk.sensors.WAV",["voice.vl2"]],"audio/voice/fem4/slf.tsk.turrets.m4a":["audio/voice/Fem4/slf.tsk.turrets.m4a",["voice.vl2"]],"audio/voice/fem4/slf.tsk.turrets.wav":["audio/voice/Fem4/slf.tsk.turrets.WAV",["voice.vl2"]],"audio/voice/fem4/slf.tsk.vehicle.m4a":["audio/voice/Fem4/slf.tsk.vehicle.m4a",["voice.vl2"]],"audio/voice/fem4/slf.tsk.vehicle.wav":["audio/voice/Fem4/slf.tsk.vehicle.WAV",["voice.vl2"]],"audio/voice/fem4/tgt.acquired.m4a":["audio/voice/Fem4/tgt.acquired.m4a",["voice.vl2"]],"audio/voice/fem4/tgt.acquired.wav":["audio/voice/Fem4/tgt.acquired.WAV",["voice.vl2"]],"audio/voice/fem4/tgt.base.m4a":["audio/voice/Fem4/tgt.base.m4a",["voice.vl2"]],"audio/voice/fem4/tgt.base.wav":["audio/voice/Fem4/tgt.base.WAV",["voice.vl2"]],"audio/voice/fem4/tgt.destroyed.m4a":["audio/voice/Fem4/tgt.destroyed.m4a",["voice.vl2"]],"audio/voice/fem4/tgt.destroyed.wav":["audio/voice/Fem4/tgt.destroyed.WAV",["voice.vl2"]],"audio/voice/fem4/tgt.flag.m4a":["audio/voice/Fem4/tgt.flag.m4a",["voice.vl2"]],"audio/voice/fem4/tgt.flag.wav":["audio/voice/Fem4/tgt.flag.WAV",["voice.vl2"]],"audio/voice/fem4/tgt.my.m4a":["audio/voice/Fem4/tgt.my.m4a",["voice.vl2"]],"audio/voice/fem4/tgt.my.wav":["audio/voice/Fem4/tgt.my.WAV",["voice.vl2"]],"audio/voice/fem4/tgt.need.m4a":["audio/voice/Fem4/tgt.need.m4a",["voice.vl2"]],"audio/voice/fem4/tgt.need.wav":["audio/voice/Fem4/tgt.need.WAV",["voice.vl2"]],"audio/voice/fem4/tgt.sensors.m4a":["audio/voice/Fem4/tgt.sensors.m4a",["voice.vl2"]],"audio/voice/fem4/tgt.sensors.wav":["audio/voice/Fem4/tgt.sensors.WAV",["voice.vl2"]],"audio/voice/fem4/tgt.turret.m4a":["audio/voice/Fem4/tgt.turret.m4a",["voice.vl2"]],"audio/voice/fem4/tgt.turret.wav":["audio/voice/Fem4/tgt.turret.WAV",["voice.vl2"]],"audio/voice/fem4/tgt.wait.m4a":["audio/voice/Fem4/tgt.wait.m4a",["voice.vl2"]],"audio/voice/fem4/tgt.wait.wav":["audio/voice/Fem4/tgt.wait.WAV",["voice.vl2"]],"audio/voice/fem4/vqk.anytime.m4a":["audio/voice/Fem4/vqk.anytime.m4a",["voice.vl2"]],"audio/voice/fem4/vqk.anytime.wav":["audio/voice/Fem4/vqk.anytime.WAV",["voice.vl2"]],"audio/voice/fem4/vqk.base.m4a":["audio/voice/Fem4/vqk.base.m4a",["voice.vl2"]],"audio/voice/fem4/vqk.base.wav":["audio/voice/Fem4/vqk.base.WAV",["voice.vl2"]],"audio/voice/fem4/vqk.ceasefire.m4a":["audio/voice/Fem4/vqk.ceasefire.m4a",["voice.vl2"]],"audio/voice/fem4/vqk.ceasefire.wav":["audio/voice/Fem4/vqk.ceasefire.WAV",["voice.vl2"]],"audio/voice/fem4/vqk.dunno.m4a":["audio/voice/Fem4/vqk.dunno.m4a",["voice.vl2"]],"audio/voice/fem4/vqk.dunno.wav":["audio/voice/Fem4/vqk.dunno.WAV",["voice.vl2"]],"audio/voice/fem4/vqk.help.m4a":["audio/voice/Fem4/vqk.help.m4a",["voice.vl2"]],"audio/voice/fem4/vqk.help.wav":["audio/voice/Fem4/vqk.help.WAV",["voice.vl2"]],"audio/voice/fem4/vqk.move.m4a":["audio/voice/Fem4/vqk.move.m4a",["voice.vl2"]],"audio/voice/fem4/vqk.move.wav":["audio/voice/Fem4/vqk.move.WAV",["voice.vl2"]],"audio/voice/fem4/vqk.no.m4a":["audio/voice/Fem4/vqk.no.m4a",["voice.vl2"]],"audio/voice/fem4/vqk.no.wav":["audio/voice/Fem4/vqk.no.WAV",["voice.vl2"]],"audio/voice/fem4/vqk.quiet.m4a":["audio/voice/Fem4/vqk.quiet.m4a",["voice.vl2"]],"audio/voice/fem4/vqk.quiet.wav":["audio/voice/Fem4/vqk.quiet.WAV",["voice.vl2"]],"audio/voice/fem4/vqk.sorry.m4a":["audio/voice/Fem4/vqk.sorry.m4a",["voice.vl2"]],"audio/voice/fem4/vqk.sorry.wav":["audio/voice/Fem4/vqk.sorry.WAV",["voice.vl2"]],"audio/voice/fem4/vqk.thanks.m4a":["audio/voice/Fem4/vqk.thanks.m4a",["voice.vl2"]],"audio/voice/fem4/vqk.thanks.wav":["audio/voice/Fem4/vqk.thanks.WAV",["voice.vl2"]],"audio/voice/fem4/vqk.wait.m4a":["audio/voice/Fem4/vqk.wait.m4a",["voice.vl2"]],"audio/voice/fem4/vqk.wait.wav":["audio/voice/Fem4/vqk.wait.WAV",["voice.vl2"]],"audio/voice/fem4/vqk.yes.m4a":["audio/voice/Fem4/vqk.yes.m4a",["voice.vl2"]],"audio/voice/fem4/vqk.yes.wav":["audio/voice/Fem4/vqk.yes.WAV",["voice.vl2"]],"audio/voice/fem4/wrn.bomber.m4a":["audio/voice/Fem4/wrn.bomber.m4a",["voice.vl2"]],"audio/voice/fem4/wrn.bomber.wav":["audio/voice/Fem4/wrn.bomber.WAV",["voice.vl2"]],"audio/voice/fem4/wrn.enemy.m4a":["audio/voice/Fem4/wrn.enemy.m4a",["voice.vl2"]],"audio/voice/fem4/wrn.enemy.wav":["audio/voice/Fem4/wrn.enemy.WAV",["voice.vl2"]],"audio/voice/fem4/wrn.vehicles.m4a":["audio/voice/Fem4/wrn.vehicles.m4a",["voice.vl2"]],"audio/voice/fem4/wrn.vehicles.wav":["audio/voice/Fem4/wrn.vehicles.WAV",["voice.vl2"]],"audio/voice/fem4/wrn.watchit.m4a":["audio/voice/Fem4/wrn.watchit.m4a",["voice.vl2"]],"audio/voice/fem4/wrn.watchit.wav":["audio/voice/Fem4/wrn.watchit.WAV",["voice.vl2"]],"audio/voice/fem5/att.attack.m4a":["audio/voice/Fem5/att.attack.m4a",["voice.vl2"]],"audio/voice/fem5/att.attack.wav":["audio/voice/Fem5/att.attack.WAV",["voice.vl2"]],"audio/voice/fem5/att.base.m4a":["audio/voice/Fem5/att.base.m4a",["voice.vl2"]],"audio/voice/fem5/att.base.wav":["audio/voice/Fem5/att.base.WAV",["voice.vl2"]],"audio/voice/fem5/att.chase.m4a":["audio/voice/Fem5/att.chase.m4a",["voice.vl2"]],"audio/voice/fem5/att.chase.wav":["audio/voice/Fem5/att.chase.WAV",["voice.vl2"]],"audio/voice/fem5/att.distract.m4a":["audio/voice/Fem5/att.distract.m4a",["voice.vl2"]],"audio/voice/fem5/att.distract.wav":["audio/voice/Fem5/att.distract.WAV",["voice.vl2"]],"audio/voice/fem5/att.flag.m4a":["audio/voice/Fem5/att.flag.m4a",["voice.vl2"]],"audio/voice/fem5/att.flag.wav":["audio/voice/Fem5/att.flag.WAV",["voice.vl2"]],"audio/voice/fem5/att.generator.m4a":["audio/voice/Fem5/att.generator.m4a",["voice.vl2"]],"audio/voice/fem5/att.generator.wav":["audio/voice/Fem5/att.generator.WAV",["voice.vl2"]],"audio/voice/fem5/att.objective.m4a":["audio/voice/Fem5/att.objective.m4a",["voice.vl2"]],"audio/voice/fem5/att.objective.wav":["audio/voice/Fem5/att.objective.WAV",["voice.vl2"]],"audio/voice/fem5/att.reinforcements.m4a":["audio/voice/Fem5/att.reinforcements.m4a",["voice.vl2"]],"audio/voice/fem5/att.reinforcements.wav":["audio/voice/Fem5/att.reinforcements.WAV",["voice.vl2"]],"audio/voice/fem5/att.sensors.m4a":["audio/voice/Fem5/att.sensors.m4a",["voice.vl2"]],"audio/voice/fem5/att.sensors.wav":["audio/voice/Fem5/att.sensors.WAV",["voice.vl2"]],"audio/voice/fem5/att.turrets.m4a":["audio/voice/Fem5/att.turrets.m4a",["voice.vl2"]],"audio/voice/fem5/att.turrets.wav":["audio/voice/Fem5/att.turrets.WAV",["voice.vl2"]],"audio/voice/fem5/att.vehicle.m4a":["audio/voice/Fem5/att.vehicle.m4a",["voice.vl2"]],"audio/voice/fem5/att.vehicle.wav":["audio/voice/Fem5/att.vehicle.WAV",["voice.vl2"]],"audio/voice/fem5/att.wait.m4a":["audio/voice/Fem5/att.wait.m4a",["voice.vl2"]],"audio/voice/fem5/att.wait.wav":["audio/voice/Fem5/att.wait.WAV",["voice.vl2"]],"audio/voice/fem5/avo.deathcry_01.m4a":["audio/voice/Fem5/avo.deathcry_01.m4a",["voice.vl2"]],"audio/voice/fem5/avo.deathcry_01.wav":["audio/voice/Fem5/avo.deathcry_01.WAV",["voice.vl2"]],"audio/voice/fem5/avo.deathcry_02.m4a":["audio/voice/Fem5/avo.deathcry_02.m4a",["voice.vl2"]],"audio/voice/fem5/avo.deathcry_02.wav":["audio/voice/Fem5/avo.deathcry_02.WAV",["voice.vl2"]],"audio/voice/fem5/avo.grunt.m4a":["audio/voice/Fem5/avo.grunt.m4a",["voice.vl2"]],"audio/voice/fem5/avo.grunt.wav":["audio/voice/Fem5/avo.grunt.WAV",["voice.vl2"]],"audio/voice/fem5/avo.pain.m4a":["audio/voice/Fem5/avo.pain.m4a",["voice.vl2"]],"audio/voice/fem5/avo.pain.wav":["audio/voice/Fem5/avo.pain.WAV",["voice.vl2"]],"audio/voice/fem5/bas.clear.m4a":["audio/voice/Fem5/bas.clear.m4a",["voice.vl2"]],"audio/voice/fem5/bas.clear.wav":["audio/voice/Fem5/bas.clear.WAV",["voice.vl2"]],"audio/voice/fem5/bas.enemy.m4a":["audio/voice/Fem5/bas.enemy.m4a",["voice.vl2"]],"audio/voice/fem5/bas.enemy.wav":["audio/voice/Fem5/bas.enemy.WAV",["voice.vl2"]],"audio/voice/fem5/bas.retake.m4a":["audio/voice/Fem5/bas.retake.m4a",["voice.vl2"]],"audio/voice/fem5/bas.retake.wav":["audio/voice/Fem5/bas.retake.WAV",["voice.vl2"]],"audio/voice/fem5/bas.secure.m4a":["audio/voice/Fem5/bas.secure.m4a",["voice.vl2"]],"audio/voice/fem5/bas.secure.wav":["audio/voice/Fem5/bas.secure.WAV",["voice.vl2"]],"audio/voice/fem5/bas.taken.m4a":["audio/voice/Fem5/bas.taken.m4a",["voice.vl2"]],"audio/voice/fem5/bas.taken.wav":["audio/voice/Fem5/bas.taken.WAV",["voice.vl2"]],"audio/voice/fem5/cmd.acknowledge.m4a":["audio/voice/Fem5/cmd.acknowledge.m4a",["voice.vl2"]],"audio/voice/fem5/cmd.acknowledge.wav":["audio/voice/Fem5/cmd.acknowledge.WAV",["voice.vl2"]],"audio/voice/fem5/cmd.bot.m4a":["audio/voice/Fem5/cmd.bot.m4a",["voice.vl2"]],"audio/voice/fem5/cmd.bot.wav":["audio/voice/Fem5/cmd.bot.WAV",["voice.vl2"]],"audio/voice/fem5/cmd.completed.m4a":["audio/voice/Fem5/cmd.completed.m4a",["voice.vl2"]],"audio/voice/fem5/cmd.completed.wav":["audio/voice/Fem5/cmd.completed.WAV",["voice.vl2"]],"audio/voice/fem5/cmd.decline.m4a":["audio/voice/Fem5/cmd.decline.m4a",["voice.vl2"]],"audio/voice/fem5/cmd.decline.wav":["audio/voice/Fem5/cmd.decline.WAV",["voice.vl2"]],"audio/voice/fem5/def.base.m4a":["audio/voice/Fem5/def.base.m4a",["voice.vl2"]],"audio/voice/fem5/def.base.wav":["audio/voice/Fem5/def.base.WAV",["voice.vl2"]],"audio/voice/fem5/def.carrier.m4a":["audio/voice/Fem5/def.carrier.m4a",["voice.vl2"]],"audio/voice/fem5/def.carrier.wav":["audio/voice/Fem5/def.carrier.WAV",["voice.vl2"]],"audio/voice/fem5/def.entrances.m4a":["audio/voice/Fem5/def.entrances.m4a",["voice.vl2"]],"audio/voice/fem5/def.entrances.wav":["audio/voice/Fem5/def.entrances.WAV",["voice.vl2"]],"audio/voice/fem5/def.flag.m4a":["audio/voice/Fem5/def.flag.m4a",["voice.vl2"]],"audio/voice/fem5/def.flag.wav":["audio/voice/Fem5/def.flag.WAV",["voice.vl2"]],"audio/voice/fem5/def.generator.m4a":["audio/voice/Fem5/def.generator.m4a",["voice.vl2"]],"audio/voice/fem5/def.generator.wav":["audio/voice/Fem5/def.generator.WAV",["voice.vl2"]],"audio/voice/fem5/def.me.m4a":["audio/voice/Fem5/def.me.m4a",["voice.vl2"]],"audio/voice/fem5/def.me.wav":["audio/voice/Fem5/def.me.WAV",["voice.vl2"]],"audio/voice/fem5/def.nexus.m4a":["audio/voice/Fem5/def.nexus.m4a",["voice.vl2"]],"audio/voice/fem5/def.nexus.wav":["audio/voice/Fem5/def.nexus.WAV",["voice.vl2"]],"audio/voice/fem5/def.objective.m4a":["audio/voice/Fem5/def.objective.m4a",["voice.vl2"]],"audio/voice/fem5/def.objective.wav":["audio/voice/Fem5/def.objective.WAV",["voice.vl2"]],"audio/voice/fem5/def.reinforce.m4a":["audio/voice/Fem5/def.reinforce.m4a",["voice.vl2"]],"audio/voice/fem5/def.reinforce.wav":["audio/voice/Fem5/def.reinforce.WAV",["voice.vl2"]],"audio/voice/fem5/def.sensors.m4a":["audio/voice/Fem5/def.sensors.m4a",["voice.vl2"]],"audio/voice/fem5/def.sensors.wav":["audio/voice/Fem5/def.sensors.WAV",["voice.vl2"]],"audio/voice/fem5/def.turrets.m4a":["audio/voice/Fem5/def.turrets.m4a",["voice.vl2"]],"audio/voice/fem5/def.turrets.wav":["audio/voice/Fem5/def.turrets.WAV",["voice.vl2"]],"audio/voice/fem5/def.vehicle.m4a":["audio/voice/Fem5/def.vehicle.m4a",["voice.vl2"]],"audio/voice/fem5/def.vehicle.wav":["audio/voice/Fem5/def.vehicle.WAV",["voice.vl2"]],"audio/voice/fem5/ene.base.m4a":["audio/voice/Fem5/ene.base.m4a",["voice.vl2"]],"audio/voice/fem5/ene.base.wav":["audio/voice/Fem5/ene.base.WAV",["voice.vl2"]],"audio/voice/fem5/ene.disarray.m4a":["audio/voice/Fem5/ene.disarray.m4a",["voice.vl2"]],"audio/voice/fem5/ene.disarray.wav":["audio/voice/Fem5/ene.disarray.WAV",["voice.vl2"]],"audio/voice/fem5/ene.generator.m4a":["audio/voice/Fem5/ene.generator.m4a",["voice.vl2"]],"audio/voice/fem5/ene.generator.wav":["audio/voice/Fem5/ene.generator.WAV",["voice.vl2"]],"audio/voice/fem5/ene.remotes.m4a":["audio/voice/Fem5/ene.remotes.m4a",["voice.vl2"]],"audio/voice/fem5/ene.remotes.wav":["audio/voice/Fem5/ene.remotes.WAV",["voice.vl2"]],"audio/voice/fem5/ene.sensors.m4a":["audio/voice/Fem5/ene.sensors.m4a",["voice.vl2"]],"audio/voice/fem5/ene.sensors.wav":["audio/voice/Fem5/ene.sensors.WAV",["voice.vl2"]],"audio/voice/fem5/ene.turrets.m4a":["audio/voice/Fem5/ene.turrets.m4a",["voice.vl2"]],"audio/voice/fem5/ene.turrets.wav":["audio/voice/Fem5/ene.turrets.WAV",["voice.vl2"]],"audio/voice/fem5/ene.vehicle.m4a":["audio/voice/Fem5/ene.vehicle.m4a",["voice.vl2"]],"audio/voice/fem5/ene.vehicle.wav":["audio/voice/Fem5/ene.vehicle.WAV",["voice.vl2"]],"audio/voice/fem5/flg.flag.m4a":["audio/voice/Fem5/flg.flag.m4a",["voice.vl2"]],"audio/voice/fem5/flg.flag.wav":["audio/voice/Fem5/flg.flag.WAV",["voice.vl2"]],"audio/voice/fem5/flg.give.m4a":["audio/voice/Fem5/flg.give.m4a",["voice.vl2"]],"audio/voice/fem5/flg.give.wav":["audio/voice/Fem5/flg.give.WAV",["voice.vl2"]],"audio/voice/fem5/flg.huntergive.m4a":["audio/voice/Fem5/flg.huntergive.m4a",["voice.vl2"]],"audio/voice/fem5/flg.huntergive.wav":["audio/voice/Fem5/flg.huntergive.WAV",["voice.vl2"]],"audio/voice/fem5/flg.huntertake.m4a":["audio/voice/Fem5/flg.huntertake.m4a",["voice.vl2"]],"audio/voice/fem5/flg.huntertake.wav":["audio/voice/Fem5/flg.huntertake.WAV",["voice.vl2"]],"audio/voice/fem5/flg.retrieve.m4a":["audio/voice/Fem5/flg.retrieve.m4a",["voice.vl2"]],"audio/voice/fem5/flg.retrieve.wav":["audio/voice/Fem5/flg.retrieve.WAV",["voice.vl2"]],"audio/voice/fem5/flg.secure.m4a":["audio/voice/Fem5/flg.secure.m4a",["voice.vl2"]],"audio/voice/fem5/flg.secure.wav":["audio/voice/Fem5/flg.secure.WAV",["voice.vl2"]],"audio/voice/fem5/flg.take.m4a":["audio/voice/Fem5/flg.take.m4a",["voice.vl2"]],"audio/voice/fem5/flg.take.wav":["audio/voice/Fem5/flg.take.WAV",["voice.vl2"]],"audio/voice/fem5/gbl.anytime.m4a":["audio/voice/Fem5/gbl.anytime.m4a",["voice.vl2"]],"audio/voice/fem5/gbl.anytime.wav":["audio/voice/Fem5/gbl.anytime.WAV",["voice.vl2"]],"audio/voice/fem5/gbl.awesome.m4a":["audio/voice/Fem5/gbl.awesome.m4a",["voice.vl2"]],"audio/voice/fem5/gbl.awesome.wav":["audio/voice/Fem5/gbl.awesome.WAV",["voice.vl2"]],"audio/voice/fem5/gbl.aww.m4a":["audio/voice/Fem5/gbl.aww.m4a",["voice.vl2"]],"audio/voice/fem5/gbl.aww.wav":["audio/voice/Fem5/gbl.aww.WAV",["voice.vl2"]],"audio/voice/fem5/gbl.brag.m4a":["audio/voice/Fem5/gbl.brag.m4a",["voice.vl2"]],"audio/voice/fem5/gbl.brag.wav":["audio/voice/Fem5/gbl.brag.WAV",["voice.vl2"]],"audio/voice/fem5/gbl.bye.m4a":["audio/voice/Fem5/gbl.bye.m4a",["voice.vl2"]],"audio/voice/fem5/gbl.bye.wav":["audio/voice/Fem5/gbl.bye.WAV",["voice.vl2"]],"audio/voice/fem5/gbl.dunno.m4a":["audio/voice/Fem5/gbl.dunno.m4a",["voice.vl2"]],"audio/voice/fem5/gbl.dunno.wav":["audio/voice/Fem5/gbl.dunno.WAV",["voice.vl2"]],"audio/voice/fem5/gbl.goodgame.m4a":["audio/voice/Fem5/gbl.goodgame.m4a",["voice.vl2"]],"audio/voice/fem5/gbl.goodgame.wav":["audio/voice/Fem5/gbl.goodgame.WAV",["voice.vl2"]],"audio/voice/fem5/gbl.hi.m4a":["audio/voice/Fem5/gbl.hi.m4a",["voice.vl2"]],"audio/voice/fem5/gbl.hi.wav":["audio/voice/Fem5/gbl.hi.WAV",["voice.vl2"]],"audio/voice/fem5/gbl.nice.m4a":["audio/voice/Fem5/gbl.nice.m4a",["voice.vl2"]],"audio/voice/fem5/gbl.nice.wav":["audio/voice/Fem5/gbl.nice.WAV",["voice.vl2"]],"audio/voice/fem5/gbl.no.m4a":["audio/voice/Fem5/gbl.no.m4a",["voice.vl2"]],"audio/voice/fem5/gbl.no.wav":["audio/voice/Fem5/gbl.no.WAV",["voice.vl2"]],"audio/voice/fem5/gbl.obnoxious.m4a":["audio/voice/Fem5/gbl.obnoxious.m4a",["voice.vl2"]],"audio/voice/fem5/gbl.obnoxious.wav":["audio/voice/Fem5/gbl.obnoxious.WAV",["voice.vl2"]],"audio/voice/fem5/gbl.oops.m4a":["audio/voice/Fem5/gbl.oops.m4a",["voice.vl2"]],"audio/voice/fem5/gbl.oops.wav":["audio/voice/Fem5/gbl.oops.WAV",["voice.vl2"]],"audio/voice/fem5/gbl.quiet.m4a":["audio/voice/Fem5/gbl.quiet.m4a",["voice.vl2"]],"audio/voice/fem5/gbl.quiet.wav":["audio/voice/Fem5/gbl.quiet.WAV",["voice.vl2"]],"audio/voice/fem5/gbl.rock.m4a":["audio/voice/Fem5/gbl.rock.m4a",["voice.vl2"]],"audio/voice/fem5/gbl.rock.wav":["audio/voice/Fem5/gbl.rock.WAV",["voice.vl2"]],"audio/voice/fem5/gbl.sarcasm.m4a":["audio/voice/Fem5/gbl.sarcasm.m4a",["voice.vl2"]],"audio/voice/fem5/gbl.sarcasm.wav":["audio/voice/Fem5/gbl.sarcasm.WAV",["voice.vl2"]],"audio/voice/fem5/gbl.shazbot.m4a":["audio/voice/Fem5/gbl.shazbot.m4a",["voice.vl2"]],"audio/voice/fem5/gbl.shazbot.wav":["audio/voice/Fem5/gbl.shazbot.WAV",["voice.vl2"]],"audio/voice/fem5/gbl.shooting.m4a":["audio/voice/Fem5/gbl.shooting.m4a",["voice.vl2"]],"audio/voice/fem5/gbl.shooting.wav":["audio/voice/Fem5/gbl.shooting.WAV",["voice.vl2"]],"audio/voice/fem5/gbl.thanks.m4a":["audio/voice/Fem5/gbl.thanks.m4a",["voice.vl2"]],"audio/voice/fem5/gbl.thanks.wav":["audio/voice/Fem5/gbl.thanks.WAV",["voice.vl2"]],"audio/voice/fem5/gbl.wait.m4a":["audio/voice/Fem5/gbl.wait.m4a",["voice.vl2"]],"audio/voice/fem5/gbl.wait.wav":["audio/voice/Fem5/gbl.wait.WAV",["voice.vl2"]],"audio/voice/fem5/gbl.when.m4a":["audio/voice/Fem5/gbl.when.m4a",["voice.vl2"]],"audio/voice/fem5/gbl.when.wav":["audio/voice/Fem5/gbl.when.WAV",["voice.vl2"]],"audio/voice/fem5/gbl.woohoo.m4a":["audio/voice/Fem5/gbl.woohoo.m4a",["voice.vl2"]],"audio/voice/fem5/gbl.woohoo.wav":["audio/voice/Fem5/gbl.woohoo.WAV",["voice.vl2"]],"audio/voice/fem5/gbl.yes.m4a":["audio/voice/Fem5/gbl.yes.m4a",["voice.vl2"]],"audio/voice/fem5/gbl.yes.wav":["audio/voice/Fem5/gbl.yes.WAV",["voice.vl2"]],"audio/voice/fem5/need.bombardier.m4a":["audio/voice/Fem5/need.bombardier.m4a",["voice.vl2"]],"audio/voice/fem5/need.bombardier.wav":["audio/voice/Fem5/need.bombardier.WAV",["voice.vl2"]],"audio/voice/fem5/need.cover.m4a":["audio/voice/Fem5/need.cover.m4a",["voice.vl2"]],"audio/voice/fem5/need.cover.wav":["audio/voice/Fem5/need.cover.WAV",["voice.vl2"]],"audio/voice/fem5/need.driver.m4a":["audio/voice/Fem5/need.driver.m4a",["voice.vl2"]],"audio/voice/fem5/need.driver.wav":["audio/voice/Fem5/need.driver.WAV",["voice.vl2"]],"audio/voice/fem5/need.escort.m4a":["audio/voice/Fem5/need.escort.m4a",["voice.vl2"]],"audio/voice/fem5/need.escort.wav":["audio/voice/Fem5/need.escort.WAV",["voice.vl2"]],"audio/voice/fem5/need.flyer.m4a":["audio/voice/Fem5/need.flyer.m4a",["voice.vl2"]],"audio/voice/fem5/need.flyer.wav":["audio/voice/Fem5/need.flyer.WAV",["voice.vl2"]],"audio/voice/fem5/need.gunship.m4a":["audio/voice/Fem5/need.gunship.m4a",["voice.vl2"]],"audio/voice/fem5/need.gunship.wav":["audio/voice/Fem5/need.gunship.WAV",["voice.vl2"]],"audio/voice/fem5/need.hold.m4a":["audio/voice/Fem5/need.hold.m4a",["voice.vl2"]],"audio/voice/fem5/need.hold.wav":["audio/voice/Fem5/need.hold.WAV",["voice.vl2"]],"audio/voice/fem5/need.ride.m4a":["audio/voice/Fem5/need.ride.m4a",["voice.vl2"]],"audio/voice/fem5/need.ride.wav":["audio/voice/Fem5/need.ride.WAV",["voice.vl2"]],"audio/voice/fem5/need.support.m4a":["audio/voice/Fem5/need.support.m4a",["voice.vl2"]],"audio/voice/fem5/need.support.wav":["audio/voice/Fem5/need.support.WAV",["voice.vl2"]],"audio/voice/fem5/need.tailgunner.m4a":["audio/voice/Fem5/need.tailgunner.m4a",["voice.vl2"]],"audio/voice/fem5/need.tailgunner.wav":["audio/voice/Fem5/need.tailgunner.WAV",["voice.vl2"]],"audio/voice/fem5/need.where.m4a":["audio/voice/Fem5/need.where.m4a",["voice.vl2"]],"audio/voice/fem5/need.where.wav":["audio/voice/Fem5/need.where.WAV",["voice.vl2"]],"audio/voice/fem5/rep.base.m4a":["audio/voice/Fem5/rep.base.m4a",["voice.vl2"]],"audio/voice/fem5/rep.base.wav":["audio/voice/Fem5/rep.base.WAV",["voice.vl2"]],"audio/voice/fem5/rep.generator.m4a":["audio/voice/Fem5/rep.generator.m4a",["voice.vl2"]],"audio/voice/fem5/rep.generator.wav":["audio/voice/Fem5/rep.generator.WAV",["voice.vl2"]],"audio/voice/fem5/rep.me.m4a":["audio/voice/Fem5/rep.me.m4a",["voice.vl2"]],"audio/voice/fem5/rep.me.wav":["audio/voice/Fem5/rep.me.WAV",["voice.vl2"]],"audio/voice/fem5/rep.sensors.m4a":["audio/voice/Fem5/rep.sensors.m4a",["voice.vl2"]],"audio/voice/fem5/rep.sensors.wav":["audio/voice/Fem5/rep.sensors.WAV",["voice.vl2"]],"audio/voice/fem5/rep.turrets.m4a":["audio/voice/Fem5/rep.turrets.m4a",["voice.vl2"]],"audio/voice/fem5/rep.turrets.wav":["audio/voice/Fem5/rep.turrets.WAV",["voice.vl2"]],"audio/voice/fem5/rep.vehicle.m4a":["audio/voice/Fem5/rep.vehicle.m4a",["voice.vl2"]],"audio/voice/fem5/rep.vehicle.wav":["audio/voice/Fem5/rep.vehicle.WAV",["voice.vl2"]],"audio/voice/fem5/slf.att.attack.m4a":["audio/voice/Fem5/slf.att.attack.m4a",["voice.vl2"]],"audio/voice/fem5/slf.att.attack.wav":["audio/voice/Fem5/slf.att.attack.WAV",["voice.vl2"]],"audio/voice/fem5/slf.att.base.m4a":["audio/voice/Fem5/slf.att.base.m4a",["voice.vl2"]],"audio/voice/fem5/slf.att.base.wav":["audio/voice/Fem5/slf.att.base.WAV",["voice.vl2"]],"audio/voice/fem5/slf.att.flag.m4a":["audio/voice/Fem5/slf.att.flag.m4a",["voice.vl2"]],"audio/voice/fem5/slf.att.flag.wav":["audio/voice/Fem5/slf.att.flag.WAV",["voice.vl2"]],"audio/voice/fem5/slf.att.generator.m4a":["audio/voice/Fem5/slf.att.generator.m4a",["voice.vl2"]],"audio/voice/fem5/slf.att.generator.wav":["audio/voice/Fem5/slf.att.generator.WAV",["voice.vl2"]],"audio/voice/fem5/slf.att.sensors.m4a":["audio/voice/Fem5/slf.att.sensors.m4a",["voice.vl2"]],"audio/voice/fem5/slf.att.sensors.wav":["audio/voice/Fem5/slf.att.sensors.WAV",["voice.vl2"]],"audio/voice/fem5/slf.att.turrets.m4a":["audio/voice/Fem5/slf.att.turrets.m4a",["voice.vl2"]],"audio/voice/fem5/slf.att.turrets.wav":["audio/voice/Fem5/slf.att.turrets.WAV",["voice.vl2"]],"audio/voice/fem5/slf.att.vehicle.m4a":["audio/voice/Fem5/slf.att.vehicle.m4a",["voice.vl2"]],"audio/voice/fem5/slf.att.vehicle.wav":["audio/voice/Fem5/slf.att.vehicle.WAV",["voice.vl2"]],"audio/voice/fem5/slf.def.base.m4a":["audio/voice/Fem5/slf.def.base.m4a",["voice.vl2"]],"audio/voice/fem5/slf.def.base.wav":["audio/voice/Fem5/slf.def.base.WAV",["voice.vl2"]],"audio/voice/fem5/slf.def.defend.m4a":["audio/voice/Fem5/slf.def.defend.m4a",["voice.vl2"]],"audio/voice/fem5/slf.def.defend.wav":["audio/voice/Fem5/slf.def.defend.WAV",["voice.vl2"]],"audio/voice/fem5/slf.def.flag.m4a":["audio/voice/Fem5/slf.def.flag.m4a",["voice.vl2"]],"audio/voice/fem5/slf.def.flag.wav":["audio/voice/Fem5/slf.def.flag.WAV",["voice.vl2"]],"audio/voice/fem5/slf.def.generator.m4a":["audio/voice/Fem5/slf.def.generator.m4a",["voice.vl2"]],"audio/voice/fem5/slf.def.generator.wav":["audio/voice/Fem5/slf.def.generator.WAV",["voice.vl2"]],"audio/voice/fem5/slf.def.nexus.m4a":["audio/voice/Fem5/slf.def.nexus.m4a",["voice.vl2"]],"audio/voice/fem5/slf.def.nexus.wav":["audio/voice/Fem5/slf.def.nexus.WAV",["voice.vl2"]],"audio/voice/fem5/slf.def.sensors.m4a":["audio/voice/Fem5/slf.def.sensors.m4a",["voice.vl2"]],"audio/voice/fem5/slf.def.sensors.wav":["audio/voice/Fem5/slf.def.sensors.WAV",["voice.vl2"]],"audio/voice/fem5/slf.def.turrets.m4a":["audio/voice/Fem5/slf.def.turrets.m4a",["voice.vl2"]],"audio/voice/fem5/slf.def.turrets.wav":["audio/voice/Fem5/slf.def.turrets.WAV",["voice.vl2"]],"audio/voice/fem5/slf.def.vehicle.m4a":["audio/voice/Fem5/slf.def.vehicle.m4a",["voice.vl2"]],"audio/voice/fem5/slf.def.vehicle.wav":["audio/voice/Fem5/slf.def.vehicle.WAV",["voice.vl2"]],"audio/voice/fem5/slf.rep.base.m4a":["audio/voice/Fem5/slf.rep.base.m4a",["voice.vl2"]],"audio/voice/fem5/slf.rep.base.wav":["audio/voice/Fem5/slf.rep.base.WAV",["voice.vl2"]],"audio/voice/fem5/slf.rep.equipment.m4a":["audio/voice/Fem5/slf.rep.equipment.m4a",["voice.vl2"]],"audio/voice/fem5/slf.rep.equipment.wav":["audio/voice/Fem5/slf.rep.equipment.WAV",["voice.vl2"]],"audio/voice/fem5/slf.rep.generator.m4a":["audio/voice/Fem5/slf.rep.generator.m4a",["voice.vl2"]],"audio/voice/fem5/slf.rep.generator.wav":["audio/voice/Fem5/slf.rep.generator.WAV",["voice.vl2"]],"audio/voice/fem5/slf.rep.repairing.m4a":["audio/voice/Fem5/slf.rep.repairing.m4a",["voice.vl2"]],"audio/voice/fem5/slf.rep.repairing.wav":["audio/voice/Fem5/slf.rep.repairing.WAV",["voice.vl2"]],"audio/voice/fem5/slf.rep.sensors.m4a":["audio/voice/Fem5/slf.rep.sensors.m4a",["voice.vl2"]],"audio/voice/fem5/slf.rep.sensors.wav":["audio/voice/Fem5/slf.rep.sensors.WAV",["voice.vl2"]],"audio/voice/fem5/slf.rep.turrets.m4a":["audio/voice/Fem5/slf.rep.turrets.m4a",["voice.vl2"]],"audio/voice/fem5/slf.rep.turrets.wav":["audio/voice/Fem5/slf.rep.turrets.WAV",["voice.vl2"]],"audio/voice/fem5/slf.rep.vehicle.m4a":["audio/voice/Fem5/slf.rep.vehicle.m4a",["voice.vl2"]],"audio/voice/fem5/slf.rep.vehicle.wav":["audio/voice/Fem5/slf.rep.vehicle.WAV",["voice.vl2"]],"audio/voice/fem5/slf.tsk.cover.m4a":["audio/voice/Fem5/slf.tsk.cover.m4a",["voice.vl2"]],"audio/voice/fem5/slf.tsk.cover.wav":["audio/voice/Fem5/slf.tsk.cover.WAV",["voice.vl2"]],"audio/voice/fem5/slf.tsk.defense.m4a":["audio/voice/Fem5/slf.tsk.defense.m4a",["voice.vl2"]],"audio/voice/fem5/slf.tsk.defense.wav":["audio/voice/Fem5/slf.tsk.defense.WAV",["voice.vl2"]],"audio/voice/fem5/slf.tsk.generic.m4a":["audio/voice/Fem5/slf.tsk.generic.m4a",["voice.vl2"]],"audio/voice/fem5/slf.tsk.generic.wav":["audio/voice/Fem5/slf.tsk.generic.WAV",["voice.vl2"]],"audio/voice/fem5/slf.tsk.remotes.m4a":["audio/voice/Fem5/slf.tsk.remotes.m4a",["voice.vl2"]],"audio/voice/fem5/slf.tsk.remotes.wav":["audio/voice/Fem5/slf.tsk.remotes.WAV",["voice.vl2"]],"audio/voice/fem5/slf.tsk.sensors.m4a":["audio/voice/Fem5/slf.tsk.sensors.m4a",["voice.vl2"]],"audio/voice/fem5/slf.tsk.sensors.wav":["audio/voice/Fem5/slf.tsk.sensors.WAV",["voice.vl2"]],"audio/voice/fem5/slf.tsk.turrets.m4a":["audio/voice/Fem5/slf.tsk.turrets.m4a",["voice.vl2"]],"audio/voice/fem5/slf.tsk.turrets.wav":["audio/voice/Fem5/slf.tsk.turrets.WAV",["voice.vl2"]],"audio/voice/fem5/slf.tsk.vehicle.m4a":["audio/voice/Fem5/slf.tsk.vehicle.m4a",["voice.vl2"]],"audio/voice/fem5/slf.tsk.vehicle.wav":["audio/voice/Fem5/slf.tsk.vehicle.WAV",["voice.vl2"]],"audio/voice/fem5/tgt.acquired.m4a":["audio/voice/Fem5/tgt.acquired.m4a",["voice.vl2"]],"audio/voice/fem5/tgt.acquired.wav":["audio/voice/Fem5/tgt.acquired.WAV",["voice.vl2"]],"audio/voice/fem5/tgt.base.m4a":["audio/voice/Fem5/tgt.base.m4a",["voice.vl2"]],"audio/voice/fem5/tgt.base.wav":["audio/voice/Fem5/tgt.base.WAV",["voice.vl2"]],"audio/voice/fem5/tgt.destroyed.m4a":["audio/voice/Fem5/tgt.destroyed.m4a",["voice.vl2"]],"audio/voice/fem5/tgt.destroyed.wav":["audio/voice/Fem5/tgt.destroyed.WAV",["voice.vl2"]],"audio/voice/fem5/tgt.flag.m4a":["audio/voice/Fem5/tgt.flag.m4a",["voice.vl2"]],"audio/voice/fem5/tgt.flag.wav":["audio/voice/Fem5/tgt.flag.WAV",["voice.vl2"]],"audio/voice/fem5/tgt.my.m4a":["audio/voice/Fem5/tgt.my.m4a",["voice.vl2"]],"audio/voice/fem5/tgt.my.wav":["audio/voice/Fem5/tgt.my.WAV",["voice.vl2"]],"audio/voice/fem5/tgt.need.m4a":["audio/voice/Fem5/tgt.need.m4a",["voice.vl2"]],"audio/voice/fem5/tgt.need.wav":["audio/voice/Fem5/tgt.need.WAV",["voice.vl2"]],"audio/voice/fem5/tgt.sensors.m4a":["audio/voice/Fem5/tgt.sensors.m4a",["voice.vl2"]],"audio/voice/fem5/tgt.sensors.wav":["audio/voice/Fem5/tgt.sensors.WAV",["voice.vl2"]],"audio/voice/fem5/tgt.turret.m4a":["audio/voice/Fem5/tgt.turret.m4a",["voice.vl2"]],"audio/voice/fem5/tgt.turret.wav":["audio/voice/Fem5/tgt.turret.WAV",["voice.vl2"]],"audio/voice/fem5/tgt.wait.m4a":["audio/voice/Fem5/tgt.wait.m4a",["voice.vl2"]],"audio/voice/fem5/tgt.wait.wav":["audio/voice/Fem5/tgt.wait.WAV",["voice.vl2"]],"audio/voice/fem5/vqk.anytime.m4a":["audio/voice/Fem5/vqk.anytime.m4a",["voice.vl2"]],"audio/voice/fem5/vqk.anytime.wav":["audio/voice/Fem5/vqk.anytime.WAV",["voice.vl2"]],"audio/voice/fem5/vqk.base.m4a":["audio/voice/Fem5/vqk.base.m4a",["voice.vl2"]],"audio/voice/fem5/vqk.base.wav":["audio/voice/Fem5/vqk.base.WAV",["voice.vl2"]],"audio/voice/fem5/vqk.ceasefire.m4a":["audio/voice/Fem5/vqk.ceasefire.m4a",["voice.vl2"]],"audio/voice/fem5/vqk.ceasefire.wav":["audio/voice/Fem5/vqk.ceasefire.WAV",["voice.vl2"]],"audio/voice/fem5/vqk.dunno.m4a":["audio/voice/Fem5/vqk.dunno.m4a",["voice.vl2"]],"audio/voice/fem5/vqk.dunno.wav":["audio/voice/Fem5/vqk.dunno.WAV",["voice.vl2"]],"audio/voice/fem5/vqk.help.m4a":["audio/voice/Fem5/vqk.help.m4a",["voice.vl2"]],"audio/voice/fem5/vqk.help.wav":["audio/voice/Fem5/vqk.help.WAV",["voice.vl2"]],"audio/voice/fem5/vqk.move.m4a":["audio/voice/Fem5/vqk.move.m4a",["voice.vl2"]],"audio/voice/fem5/vqk.move.wav":["audio/voice/Fem5/vqk.move.WAV",["voice.vl2"]],"audio/voice/fem5/vqk.no.m4a":["audio/voice/Fem5/vqk.no.m4a",["voice.vl2"]],"audio/voice/fem5/vqk.no.wav":["audio/voice/Fem5/vqk.no.WAV",["voice.vl2"]],"audio/voice/fem5/vqk.quiet.m4a":["audio/voice/Fem5/vqk.quiet.m4a",["voice.vl2"]],"audio/voice/fem5/vqk.quiet.wav":["audio/voice/Fem5/vqk.quiet.WAV",["voice.vl2"]],"audio/voice/fem5/vqk.sorry.m4a":["audio/voice/Fem5/vqk.sorry.m4a",["voice.vl2"]],"audio/voice/fem5/vqk.sorry.wav":["audio/voice/Fem5/vqk.sorry.WAV",["voice.vl2"]],"audio/voice/fem5/vqk.thanks.m4a":["audio/voice/Fem5/vqk.thanks.m4a",["voice.vl2"]],"audio/voice/fem5/vqk.thanks.wav":["audio/voice/Fem5/vqk.thanks.WAV",["voice.vl2"]],"audio/voice/fem5/vqk.wait.m4a":["audio/voice/Fem5/vqk.wait.m4a",["voice.vl2"]],"audio/voice/fem5/vqk.wait.wav":["audio/voice/Fem5/vqk.wait.WAV",["voice.vl2"]],"audio/voice/fem5/vqk.yes.m4a":["audio/voice/Fem5/vqk.yes.m4a",["voice.vl2"]],"audio/voice/fem5/vqk.yes.wav":["audio/voice/Fem5/vqk.yes.WAV",["voice.vl2"]],"audio/voice/fem5/wrn.bomber.m4a":["audio/voice/Fem5/wrn.bomber.m4a",["voice.vl2"]],"audio/voice/fem5/wrn.bomber.wav":["audio/voice/Fem5/wrn.bomber.WAV",["voice.vl2"]],"audio/voice/fem5/wrn.enemy.m4a":["audio/voice/Fem5/wrn.enemy.m4a",["voice.vl2"]],"audio/voice/fem5/wrn.enemy.wav":["audio/voice/Fem5/wrn.enemy.WAV",["voice.vl2"]],"audio/voice/fem5/wrn.vehicles.m4a":["audio/voice/Fem5/wrn.vehicles.m4a",["voice.vl2"]],"audio/voice/fem5/wrn.vehicles.wav":["audio/voice/Fem5/wrn.vehicles.WAV",["voice.vl2"]],"audio/voice/fem5/wrn.watchit.m4a":["audio/voice/Fem5/wrn.watchit.m4a",["voice.vl2"]],"audio/voice/fem5/wrn.watchit.wav":["audio/voice/Fem5/wrn.watchit.WAV",["voice.vl2"]],"audio/voice/male1/att.attack.m4a":["audio/voice/Male1/att.attack.m4a",["voice.vl2"]],"audio/voice/male1/att.attack.wav":["audio/voice/Male1/att.attack.wav",["voice.vl2"]],"audio/voice/male1/att.base.m4a":["audio/voice/Male1/att.base.m4a",["voice.vl2"]],"audio/voice/male1/att.base.wav":["audio/voice/Male1/att.base.wav",["voice.vl2"]],"audio/voice/male1/att.chase.m4a":["audio/voice/Male1/att.chase.m4a",["voice.vl2"]],"audio/voice/male1/att.chase.wav":["audio/voice/Male1/att.chase.wav",["voice.vl2"]],"audio/voice/male1/att.distract.m4a":["audio/voice/Male1/att.distract.m4a",["voice.vl2"]],"audio/voice/male1/att.distract.wav":["audio/voice/Male1/att.distract.wav",["voice.vl2"]],"audio/voice/male1/att.flag.m4a":["audio/voice/Male1/att.flag.m4a",["voice.vl2"]],"audio/voice/male1/att.flag.wav":["audio/voice/Male1/att.flag.wav",["voice.vl2"]],"audio/voice/male1/att.generator.m4a":["audio/voice/Male1/att.generator.m4a",["voice.vl2"]],"audio/voice/male1/att.generator.wav":["audio/voice/Male1/att.generator.wav",["voice.vl2"]],"audio/voice/male1/att.objective.m4a":["audio/voice/Male1/att.objective.m4a",["voice.vl2"]],"audio/voice/male1/att.objective.wav":["audio/voice/Male1/att.objective.wav",["voice.vl2"]],"audio/voice/male1/att.reinforcements.m4a":["audio/voice/Male1/att.reinforcements.m4a",["voice.vl2"]],"audio/voice/male1/att.reinforcements.wav":["audio/voice/Male1/att.reinforcements.wav",["voice.vl2"]],"audio/voice/male1/att.sensors.m4a":["audio/voice/Male1/att.sensors.m4a",["voice.vl2"]],"audio/voice/male1/att.sensors.wav":["audio/voice/Male1/att.sensors.wav",["voice.vl2"]],"audio/voice/male1/att.turrets.m4a":["audio/voice/Male1/att.turrets.m4a",["voice.vl2"]],"audio/voice/male1/att.turrets.wav":["audio/voice/Male1/att.turrets.wav",["voice.vl2"]],"audio/voice/male1/att.vehicle.m4a":["audio/voice/Male1/att.vehicle.m4a",["voice.vl2"]],"audio/voice/male1/att.vehicle.wav":["audio/voice/Male1/att.vehicle.wav",["voice.vl2"]],"audio/voice/male1/att.wait.m4a":["audio/voice/Male1/att.wait.m4a",["voice.vl2"]],"audio/voice/male1/att.wait.wav":["audio/voice/Male1/att.wait.wav",["voice.vl2"]],"audio/voice/male1/avo.deathcry_01.m4a":["audio/voice/Male1/avo.deathcry_01.m4a",["voice.vl2"]],"audio/voice/male1/avo.deathcry_01.wav":["audio/voice/Male1/avo.deathcry_01.wav",["voice.vl2"]],"audio/voice/male1/avo.deathcry_02.m4a":["audio/voice/Male1/avo.deathcry_02.m4a",["voice.vl2"]],"audio/voice/male1/avo.deathcry_02.wav":["audio/voice/Male1/avo.deathcry_02.wav",["voice.vl2"]],"audio/voice/male1/avo.grunt.m4a":["audio/voice/Male1/avo.grunt.m4a",["voice.vl2"]],"audio/voice/male1/avo.grunt.wav":["audio/voice/Male1/avo.grunt.wav",["voice.vl2"]],"audio/voice/male1/avo.pain.m4a":["audio/voice/Male1/avo.pain.m4a",["voice.vl2"]],"audio/voice/male1/avo.pain.wav":["audio/voice/Male1/avo.pain.wav",["voice.vl2"]],"audio/voice/male1/bas.clear.m4a":["audio/voice/Male1/bas.clear.m4a",["voice.vl2"]],"audio/voice/male1/bas.clear.wav":["audio/voice/Male1/bas.clear.wav",["voice.vl2"]],"audio/voice/male1/bas.enemy.m4a":["audio/voice/Male1/bas.enemy.m4a",["voice.vl2"]],"audio/voice/male1/bas.enemy.wav":["audio/voice/Male1/bas.enemy.WAV",["voice.vl2"]],"audio/voice/male1/bas.retake.m4a":["audio/voice/Male1/bas.retake.m4a",["voice.vl2"]],"audio/voice/male1/bas.retake.wav":["audio/voice/Male1/bas.retake.wav",["voice.vl2"]],"audio/voice/male1/bas.secure.m4a":["audio/voice/Male1/bas.secure.m4a",["voice.vl2"]],"audio/voice/male1/bas.secure.wav":["audio/voice/Male1/bas.secure.wav",["voice.vl2"]],"audio/voice/male1/bas.taken.m4a":["audio/voice/Male1/bas.taken.m4a",["voice.vl2"]],"audio/voice/male1/bas.taken.wav":["audio/voice/Male1/bas.taken.wav",["voice.vl2"]],"audio/voice/male1/cmd.acknowledge.m4a":["audio/voice/Male1/cmd.acknowledge.m4a",["voice.vl2"]],"audio/voice/male1/cmd.acknowledge.wav":["audio/voice/Male1/cmd.acknowledge.wav",["voice.vl2"]],"audio/voice/male1/cmd.bot.m4a":["audio/voice/Male1/cmd.bot.m4a",["voice.vl2"]],"audio/voice/male1/cmd.bot.wav":["audio/voice/Male1/cmd.bot.WAV",["voice.vl2"]],"audio/voice/male1/cmd.completed.m4a":["audio/voice/Male1/cmd.completed.m4a",["voice.vl2"]],"audio/voice/male1/cmd.completed.wav":["audio/voice/Male1/cmd.completed.wav",["voice.vl2"]],"audio/voice/male1/cmd.decline.m4a":["audio/voice/Male1/cmd.decline.m4a",["voice.vl2"]],"audio/voice/male1/cmd.decline.wav":["audio/voice/Male1/cmd.decline.wav",["voice.vl2"]],"audio/voice/male1/def.base.m4a":["audio/voice/Male1/def.base.m4a",["voice.vl2"]],"audio/voice/male1/def.base.wav":["audio/voice/Male1/def.base.wav",["voice.vl2"]],"audio/voice/male1/def.carrier.m4a":["audio/voice/Male1/def.carrier.m4a",["voice.vl2"]],"audio/voice/male1/def.carrier.wav":["audio/voice/Male1/def.carrier.wav",["voice.vl2"]],"audio/voice/male1/def.entrances.m4a":["audio/voice/Male1/def.entrances.m4a",["voice.vl2"]],"audio/voice/male1/def.entrances.wav":["audio/voice/Male1/def.entrances.wav",["voice.vl2"]],"audio/voice/male1/def.flag.m4a":["audio/voice/Male1/def.flag.m4a",["voice.vl2"]],"audio/voice/male1/def.flag.wav":["audio/voice/Male1/def.flag.wav",["voice.vl2"]],"audio/voice/male1/def.generator.m4a":["audio/voice/Male1/def.generator.m4a",["voice.vl2"]],"audio/voice/male1/def.generator.wav":["audio/voice/Male1/def.generator.wav",["voice.vl2"]],"audio/voice/male1/def.me.m4a":["audio/voice/Male1/def.me.m4a",["voice.vl2"]],"audio/voice/male1/def.me.wav":["audio/voice/Male1/def.me.wav",["voice.vl2"]],"audio/voice/male1/def.nexus.m4a":["audio/voice/Male1/def.nexus.m4a",["voice.vl2"]],"audio/voice/male1/def.nexus.wav":["audio/voice/Male1/def.nexus.wav",["voice.vl2"]],"audio/voice/male1/def.objective.m4a":["audio/voice/Male1/def.objective.m4a",["voice.vl2"]],"audio/voice/male1/def.objective.wav":["audio/voice/Male1/def.objective.wav",["voice.vl2"]],"audio/voice/male1/def.reinforce.m4a":["audio/voice/Male1/def.reinforce.m4a",["voice.vl2"]],"audio/voice/male1/def.reinforce.wav":["audio/voice/Male1/def.reinforce.wav",["voice.vl2"]],"audio/voice/male1/def.sensors.m4a":["audio/voice/Male1/def.sensors.m4a",["voice.vl2"]],"audio/voice/male1/def.sensors.wav":["audio/voice/Male1/def.sensors.wav",["voice.vl2"]],"audio/voice/male1/def.turrets.m4a":["audio/voice/Male1/def.turrets.m4a",["voice.vl2"]],"audio/voice/male1/def.turrets.wav":["audio/voice/Male1/def.turrets.wav",["voice.vl2"]],"audio/voice/male1/def.vehicle.m4a":["audio/voice/Male1/def.vehicle.m4a",["voice.vl2"]],"audio/voice/male1/def.vehicle.wav":["audio/voice/Male1/def.vehicle.wav",["voice.vl2"]],"audio/voice/male1/ene.base.m4a":["audio/voice/Male1/ene.base.m4a",["voice.vl2"]],"audio/voice/male1/ene.base.wav":["audio/voice/Male1/ene.base.wav",["voice.vl2"]],"audio/voice/male1/ene.disarray.m4a":["audio/voice/Male1/ene.disarray.m4a",["voice.vl2"]],"audio/voice/male1/ene.disarray.wav":["audio/voice/Male1/ene.disarray.wav",["voice.vl2"]],"audio/voice/male1/ene.generator.m4a":["audio/voice/Male1/ene.generator.m4a",["voice.vl2"]],"audio/voice/male1/ene.generator.wav":["audio/voice/Male1/ene.generator.wav",["voice.vl2"]],"audio/voice/male1/ene.remotes.m4a":["audio/voice/Male1/ene.remotes.m4a",["voice.vl2"]],"audio/voice/male1/ene.remotes.wav":["audio/voice/Male1/ene.remotes.wav",["voice.vl2"]],"audio/voice/male1/ene.sensors.m4a":["audio/voice/Male1/ene.sensors.m4a",["voice.vl2"]],"audio/voice/male1/ene.sensors.wav":["audio/voice/Male1/ene.sensors.wav",["voice.vl2"]],"audio/voice/male1/ene.turrets.m4a":["audio/voice/Male1/ene.turrets.m4a",["voice.vl2"]],"audio/voice/male1/ene.turrets.wav":["audio/voice/Male1/ene.turrets.wav",["voice.vl2"]],"audio/voice/male1/ene.vehicle.m4a":["audio/voice/Male1/ene.vehicle.m4a",["voice.vl2"]],"audio/voice/male1/ene.vehicle.wav":["audio/voice/Male1/ene.vehicle.wav",["voice.vl2"]],"audio/voice/male1/flg.flag.m4a":["audio/voice/Male1/flg.flag.m4a",["voice.vl2"]],"audio/voice/male1/flg.flag.wav":["audio/voice/Male1/flg.flag.WAV",["voice.vl2"]],"audio/voice/male1/flg.give.m4a":["audio/voice/Male1/flg.give.m4a",["voice.vl2"]],"audio/voice/male1/flg.give.wav":["audio/voice/Male1/flg.give.wav",["voice.vl2"]],"audio/voice/male1/flg.huntergive.m4a":["audio/voice/Male1/flg.huntergive.m4a",["voice.vl2"]],"audio/voice/male1/flg.huntergive.wav":["audio/voice/Male1/flg.huntergive.wav",["voice.vl2"]],"audio/voice/male1/flg.huntertake.m4a":["audio/voice/Male1/flg.huntertake.m4a",["voice.vl2"]],"audio/voice/male1/flg.huntertake.wav":["audio/voice/Male1/flg.huntertake.wav",["voice.vl2"]],"audio/voice/male1/flg.retrieve.m4a":["audio/voice/Male1/flg.retrieve.m4a",["voice.vl2"]],"audio/voice/male1/flg.retrieve.wav":["audio/voice/Male1/flg.retrieve.WAV",["voice.vl2"]],"audio/voice/male1/flg.secure.m4a":["audio/voice/Male1/flg.secure.m4a",["voice.vl2"]],"audio/voice/male1/flg.secure.wav":["audio/voice/Male1/flg.secure.wav",["voice.vl2"]],"audio/voice/male1/flg.take.m4a":["audio/voice/Male1/flg.take.m4a",["voice.vl2"]],"audio/voice/male1/flg.take.wav":["audio/voice/Male1/flg.take.wav",["voice.vl2"]],"audio/voice/male1/gbl.anytime.m4a":["audio/voice/Male1/gbl.anytime.m4a",["voice.vl2"]],"audio/voice/male1/gbl.anytime.wav":["audio/voice/Male1/gbl.anytime.wav",["voice.vl2"]],"audio/voice/male1/gbl.awesome.m4a":["audio/voice/Male1/gbl.awesome.m4a",["voice.vl2"]],"audio/voice/male1/gbl.awesome.wav":["audio/voice/Male1/gbl.awesome.wav",["voice.vl2"]],"audio/voice/male1/gbl.aww.m4a":["audio/voice/Male1/gbl.aww.m4a",["voice.vl2"]],"audio/voice/male1/gbl.aww.wav":["audio/voice/Male1/gbl.aww.wav",["voice.vl2"]],"audio/voice/male1/gbl.brag.m4a":["audio/voice/Male1/gbl.brag.m4a",["voice.vl2"]],"audio/voice/male1/gbl.brag.wav":["audio/voice/Male1/gbl.brag.WAV",["voice.vl2"]],"audio/voice/male1/gbl.bye.m4a":["audio/voice/Male1/gbl.bye.m4a",["voice.vl2"]],"audio/voice/male1/gbl.bye.wav":["audio/voice/Male1/gbl.bye.wav",["voice.vl2"]],"audio/voice/male1/gbl.dunno.m4a":["audio/voice/Male1/gbl.dunno.m4a",["voice.vl2"]],"audio/voice/male1/gbl.dunno.wav":["audio/voice/Male1/gbl.dunno.wav",["voice.vl2"]],"audio/voice/male1/gbl.goodgame.m4a":["audio/voice/Male1/gbl.goodgame.m4a",["voice.vl2"]],"audio/voice/male1/gbl.goodgame.wav":["audio/voice/Male1/gbl.goodgame.wav",["voice.vl2"]],"audio/voice/male1/gbl.hi.m4a":["audio/voice/Male1/gbl.hi.m4a",["voice.vl2"]],"audio/voice/male1/gbl.hi.wav":["audio/voice/Male1/gbl.hi.wav",["voice.vl2"]],"audio/voice/male1/gbl.nice.m4a":["audio/voice/Male1/gbl.nice.m4a",["voice.vl2"]],"audio/voice/male1/gbl.nice.wav":["audio/voice/Male1/gbl.nice.wav",["voice.vl2"]],"audio/voice/male1/gbl.no.m4a":["audio/voice/Male1/gbl.no.m4a",["voice.vl2"]],"audio/voice/male1/gbl.no.wav":["audio/voice/Male1/gbl.no.wav",["voice.vl2"]],"audio/voice/male1/gbl.obnoxious.m4a":["audio/voice/Male1/gbl.obnoxious.m4a",["voice.vl2"]],"audio/voice/male1/gbl.obnoxious.wav":["audio/voice/Male1/gbl.obnoxious.WAV",["voice.vl2"]],"audio/voice/male1/gbl.oops.m4a":["audio/voice/Male1/gbl.oops.m4a",["voice.vl2"]],"audio/voice/male1/gbl.oops.wav":["audio/voice/Male1/gbl.oops.wav",["voice.vl2"]],"audio/voice/male1/gbl.quiet.m4a":["audio/voice/Male1/gbl.quiet.m4a",["voice.vl2"]],"audio/voice/male1/gbl.quiet.wav":["audio/voice/Male1/gbl.quiet.WAV",["voice.vl2"]],"audio/voice/male1/gbl.rock.m4a":["audio/voice/Male1/gbl.rock.m4a",["voice.vl2"]],"audio/voice/male1/gbl.rock.wav":["audio/voice/Male1/gbl.rock.WAV",["voice.vl2"]],"audio/voice/male1/gbl.sarcasm.m4a":["audio/voice/Male1/gbl.sarcasm.m4a",["voice.vl2"]],"audio/voice/male1/gbl.sarcasm.wav":["audio/voice/Male1/gbl.sarcasm.WAV",["voice.vl2"]],"audio/voice/male1/gbl.shazbot.m4a":["audio/voice/Male1/gbl.shazbot.m4a",["voice.vl2"]],"audio/voice/male1/gbl.shazbot.wav":["audio/voice/Male1/gbl.shazbot.wav",["voice.vl2"]],"audio/voice/male1/gbl.shooting.m4a":["audio/voice/Male1/gbl.shooting.m4a",["voice.vl2"]],"audio/voice/male1/gbl.shooting.wav":["audio/voice/Male1/gbl.shooting.WAV",["voice.vl2"]],"audio/voice/male1/gbl.thanks.m4a":["audio/voice/Male1/gbl.thanks.m4a",["voice.vl2"]],"audio/voice/male1/gbl.thanks.wav":["audio/voice/Male1/gbl.thanks.wav",["voice.vl2"]],"audio/voice/male1/gbl.wait.m4a":["audio/voice/Male1/gbl.wait.m4a",["voice.vl2"]],"audio/voice/male1/gbl.wait.wav":["audio/voice/Male1/gbl.wait.wav",["voice.vl2"]],"audio/voice/male1/gbl.when.m4a":["audio/voice/Male1/gbl.when.m4a",["voice.vl2"]],"audio/voice/male1/gbl.when.wav":["audio/voice/Male1/gbl.when.wav",["voice.vl2"]],"audio/voice/male1/gbl.woohoo.m4a":["audio/voice/Male1/gbl.woohoo.m4a",["voice.vl2"]],"audio/voice/male1/gbl.woohoo.wav":["audio/voice/Male1/gbl.woohoo.WAV",["voice.vl2"]],"audio/voice/male1/gbl.yes.m4a":["audio/voice/Male1/gbl.yes.m4a",["voice.vl2"]],"audio/voice/male1/gbl.yes.wav":["audio/voice/Male1/gbl.yes.wav",["voice.vl2"]],"audio/voice/male1/need.bombardier.m4a":["audio/voice/Male1/need.bombardier.m4a",["voice.vl2"]],"audio/voice/male1/need.bombardier.wav":["audio/voice/Male1/need.bombardier.wav",["voice.vl2"]],"audio/voice/male1/need.cover.m4a":["audio/voice/Male1/need.cover.m4a",["voice.vl2"]],"audio/voice/male1/need.cover.wav":["audio/voice/Male1/need.cover.WAV",["voice.vl2"]],"audio/voice/male1/need.driver.m4a":["audio/voice/Male1/need.driver.m4a",["voice.vl2"]],"audio/voice/male1/need.driver.wav":["audio/voice/Male1/need.driver.wav",["voice.vl2"]],"audio/voice/male1/need.escort.m4a":["audio/voice/Male1/need.escort.m4a",["voice.vl2"]],"audio/voice/male1/need.escort.wav":["audio/voice/Male1/need.escort.wav",["voice.vl2"]],"audio/voice/male1/need.flyer.m4a":["audio/voice/Male1/need.flyer.m4a",["voice.vl2"]],"audio/voice/male1/need.flyer.wav":["audio/voice/Male1/need.flyer.WAV",["voice.vl2"]],"audio/voice/male1/need.gunship.m4a":["audio/voice/Male1/need.gunship.m4a",["voice.vl2"]],"audio/voice/male1/need.gunship.wav":["audio/voice/Male1/need.gunship.WAV",["voice.vl2"]],"audio/voice/male1/need.hold.m4a":["audio/voice/Male1/need.hold.m4a",["voice.vl2"]],"audio/voice/male1/need.hold.wav":["audio/voice/Male1/need.hold.wav",["voice.vl2"]],"audio/voice/male1/need.ride.m4a":["audio/voice/Male1/need.ride.m4a",["voice.vl2"]],"audio/voice/male1/need.ride.wav":["audio/voice/Male1/need.ride.WAV",["voice.vl2"]],"audio/voice/male1/need.support.m4a":["audio/voice/Male1/need.support.m4a",["voice.vl2"]],"audio/voice/male1/need.support.wav":["audio/voice/Male1/need.support.wav",["voice.vl2"]],"audio/voice/male1/need.tailgunner.m4a":["audio/voice/Male1/need.tailgunner.m4a",["voice.vl2"]],"audio/voice/male1/need.tailgunner.wav":["audio/voice/Male1/need.tailgunner.wav",["voice.vl2"]],"audio/voice/male1/need.where.m4a":["audio/voice/Male1/need.where.m4a",["voice.vl2"]],"audio/voice/male1/need.where.wav":["audio/voice/Male1/need.where.wav",["voice.vl2"]],"audio/voice/male1/rep.base.m4a":["audio/voice/Male1/rep.base.m4a",["voice.vl2"]],"audio/voice/male1/rep.base.wav":["audio/voice/Male1/rep.base.wav",["voice.vl2"]],"audio/voice/male1/rep.generator.m4a":["audio/voice/Male1/rep.generator.m4a",["voice.vl2"]],"audio/voice/male1/rep.generator.wav":["audio/voice/Male1/rep.generator.wav",["voice.vl2"]],"audio/voice/male1/rep.me.m4a":["audio/voice/Male1/rep.me.m4a",["voice.vl2"]],"audio/voice/male1/rep.me.wav":["audio/voice/Male1/rep.me.wav",["voice.vl2"]],"audio/voice/male1/rep.sensors.m4a":["audio/voice/Male1/rep.sensors.m4a",["voice.vl2"]],"audio/voice/male1/rep.sensors.wav":["audio/voice/Male1/rep.sensors.wav",["voice.vl2"]],"audio/voice/male1/rep.turrets.m4a":["audio/voice/Male1/rep.turrets.m4a",["voice.vl2"]],"audio/voice/male1/rep.turrets.wav":["audio/voice/Male1/rep.turrets.wav",["voice.vl2"]],"audio/voice/male1/rep.vehicle.m4a":["audio/voice/Male1/rep.vehicle.m4a",["voice.vl2"]],"audio/voice/male1/rep.vehicle.wav":["audio/voice/Male1/rep.vehicle.wav",["voice.vl2"]],"audio/voice/male1/slf.att.attack.m4a":["audio/voice/Male1/slf.att.attack.m4a",["voice.vl2"]],"audio/voice/male1/slf.att.attack.wav":["audio/voice/Male1/slf.att.attack.WAV",["voice.vl2"]],"audio/voice/male1/slf.att.base.m4a":["audio/voice/Male1/slf.att.base.m4a",["voice.vl2"]],"audio/voice/male1/slf.att.base.wav":["audio/voice/Male1/slf.att.base.WAV",["voice.vl2"]],"audio/voice/male1/slf.att.flag.m4a":["audio/voice/Male1/slf.att.flag.m4a",["voice.vl2"]],"audio/voice/male1/slf.att.flag.wav":["audio/voice/Male1/slf.att.flag.WAV",["voice.vl2"]],"audio/voice/male1/slf.att.generator.m4a":["audio/voice/Male1/slf.att.generator.m4a",["voice.vl2"]],"audio/voice/male1/slf.att.generator.wav":["audio/voice/Male1/slf.att.generator.WAV",["voice.vl2"]],"audio/voice/male1/slf.att.sensors.m4a":["audio/voice/Male1/slf.att.sensors.m4a",["voice.vl2"]],"audio/voice/male1/slf.att.sensors.wav":["audio/voice/Male1/slf.att.sensors.WAV",["voice.vl2"]],"audio/voice/male1/slf.att.turrets.m4a":["audio/voice/Male1/slf.att.turrets.m4a",["voice.vl2"]],"audio/voice/male1/slf.att.turrets.wav":["audio/voice/Male1/slf.att.turrets.WAV",["voice.vl2"]],"audio/voice/male1/slf.att.vehicle.m4a":["audio/voice/Male1/slf.att.vehicle.m4a",["voice.vl2"]],"audio/voice/male1/slf.att.vehicle.wav":["audio/voice/Male1/slf.att.vehicle.WAV",["voice.vl2"]],"audio/voice/male1/slf.def.base.m4a":["audio/voice/Male1/slf.def.base.m4a",["voice.vl2"]],"audio/voice/male1/slf.def.base.wav":["audio/voice/Male1/slf.def.base.WAV",["voice.vl2"]],"audio/voice/male1/slf.def.defend.m4a":["audio/voice/Male1/slf.def.defend.m4a",["voice.vl2"]],"audio/voice/male1/slf.def.defend.wav":["audio/voice/Male1/slf.def.defend.WAV",["voice.vl2"]],"audio/voice/male1/slf.def.flag.m4a":["audio/voice/Male1/slf.def.flag.m4a",["voice.vl2"]],"audio/voice/male1/slf.def.flag.wav":["audio/voice/Male1/slf.def.flag.WAV",["voice.vl2"]],"audio/voice/male1/slf.def.generator.m4a":["audio/voice/Male1/slf.def.generator.m4a",["voice.vl2"]],"audio/voice/male1/slf.def.generator.wav":["audio/voice/Male1/slf.def.generator.WAV",["voice.vl2"]],"audio/voice/male1/slf.def.nexus.m4a":["audio/voice/Male1/slf.def.nexus.m4a",["voice.vl2"]],"audio/voice/male1/slf.def.nexus.wav":["audio/voice/Male1/slf.def.nexus.WAV",["voice.vl2"]],"audio/voice/male1/slf.def.sensors.m4a":["audio/voice/Male1/slf.def.sensors.m4a",["voice.vl2"]],"audio/voice/male1/slf.def.sensors.wav":["audio/voice/Male1/slf.def.sensors.WAV",["voice.vl2"]],"audio/voice/male1/slf.def.turrets.m4a":["audio/voice/Male1/slf.def.turrets.m4a",["voice.vl2"]],"audio/voice/male1/slf.def.turrets.wav":["audio/voice/Male1/slf.def.turrets.WAV",["voice.vl2"]],"audio/voice/male1/slf.def.vehicle.m4a":["audio/voice/Male1/slf.def.vehicle.m4a",["voice.vl2"]],"audio/voice/male1/slf.def.vehicle.wav":["audio/voice/Male1/slf.def.vehicle.WAV",["voice.vl2"]],"audio/voice/male1/slf.rep.base.m4a":["audio/voice/Male1/slf.rep.base.m4a",["voice.vl2"]],"audio/voice/male1/slf.rep.base.wav":["audio/voice/Male1/slf.rep.base.WAV",["voice.vl2"]],"audio/voice/male1/slf.rep.equipment.m4a":["audio/voice/Male1/slf.rep.equipment.m4a",["voice.vl2"]],"audio/voice/male1/slf.rep.equipment.wav":["audio/voice/Male1/slf.rep.equipment.WAV",["voice.vl2"]],"audio/voice/male1/slf.rep.generator.m4a":["audio/voice/Male1/slf.rep.generator.m4a",["voice.vl2"]],"audio/voice/male1/slf.rep.generator.wav":["audio/voice/Male1/slf.rep.generator.WAV",["voice.vl2"]],"audio/voice/male1/slf.rep.repairing.m4a":["audio/voice/Male1/slf.rep.repairing.m4a",["voice.vl2"]],"audio/voice/male1/slf.rep.repairing.wav":["audio/voice/Male1/slf.rep.repairing.WAV",["voice.vl2"]],"audio/voice/male1/slf.rep.sensors.m4a":["audio/voice/Male1/slf.rep.sensors.m4a",["voice.vl2"]],"audio/voice/male1/slf.rep.sensors.wav":["audio/voice/Male1/slf.rep.sensors.WAV",["voice.vl2"]],"audio/voice/male1/slf.rep.turrets.m4a":["audio/voice/Male1/slf.rep.turrets.m4a",["voice.vl2"]],"audio/voice/male1/slf.rep.turrets.wav":["audio/voice/Male1/slf.rep.turrets.WAV",["voice.vl2"]],"audio/voice/male1/slf.rep.vehicle.m4a":["audio/voice/Male1/slf.rep.vehicle.m4a",["voice.vl2"]],"audio/voice/male1/slf.rep.vehicle.wav":["audio/voice/Male1/slf.rep.vehicle.WAV",["voice.vl2"]],"audio/voice/male1/slf.tsk.cover.m4a":["audio/voice/Male1/slf.tsk.cover.m4a",["voice.vl2"]],"audio/voice/male1/slf.tsk.cover.wav":["audio/voice/Male1/slf.tsk.cover.WAV",["voice.vl2"]],"audio/voice/male1/slf.tsk.defense.m4a":["audio/voice/Male1/slf.tsk.defense.m4a",["voice.vl2"]],"audio/voice/male1/slf.tsk.defense.wav":["audio/voice/Male1/slf.tsk.defense.WAV",["voice.vl2"]],"audio/voice/male1/slf.tsk.generic.m4a":["audio/voice/Male1/slf.tsk.generic.m4a",["voice.vl2"]],"audio/voice/male1/slf.tsk.generic.wav":["audio/voice/Male1/slf.tsk.generic.WAV",["voice.vl2"]],"audio/voice/male1/slf.tsk.remotes.m4a":["audio/voice/Male1/slf.tsk.remotes.m4a",["voice.vl2"]],"audio/voice/male1/slf.tsk.remotes.wav":["audio/voice/Male1/slf.tsk.remotes.WAV",["voice.vl2"]],"audio/voice/male1/slf.tsk.sensors.m4a":["audio/voice/Male1/slf.tsk.sensors.m4a",["voice.vl2"]],"audio/voice/male1/slf.tsk.sensors.wav":["audio/voice/Male1/slf.tsk.sensors.WAV",["voice.vl2"]],"audio/voice/male1/slf.tsk.turrets.m4a":["audio/voice/Male1/slf.tsk.turrets.m4a",["voice.vl2"]],"audio/voice/male1/slf.tsk.turrets.wav":["audio/voice/Male1/slf.tsk.turrets.WAV",["voice.vl2"]],"audio/voice/male1/slf.tsk.vehicle.m4a":["audio/voice/Male1/slf.tsk.vehicle.m4a",["voice.vl2"]],"audio/voice/male1/slf.tsk.vehicle.wav":["audio/voice/Male1/slf.tsk.vehicle.WAV",["voice.vl2"]],"audio/voice/male1/tgt.acquired.m4a":["audio/voice/Male1/tgt.acquired.m4a",["voice.vl2"]],"audio/voice/male1/tgt.acquired.wav":["audio/voice/Male1/tgt.acquired.wav",["voice.vl2"]],"audio/voice/male1/tgt.base.m4a":["audio/voice/Male1/tgt.base.m4a",["voice.vl2"]],"audio/voice/male1/tgt.base.wav":["audio/voice/Male1/tgt.base.wav",["voice.vl2"]],"audio/voice/male1/tgt.destroyed.m4a":["audio/voice/Male1/tgt.destroyed.m4a",["voice.vl2"]],"audio/voice/male1/tgt.destroyed.wav":["audio/voice/Male1/tgt.destroyed.wav",["voice.vl2"]],"audio/voice/male1/tgt.flag.m4a":["audio/voice/Male1/tgt.flag.m4a",["voice.vl2"]],"audio/voice/male1/tgt.flag.wav":["audio/voice/Male1/tgt.flag.wav",["voice.vl2"]],"audio/voice/male1/tgt.my.m4a":["audio/voice/Male1/tgt.my.m4a",["voice.vl2"]],"audio/voice/male1/tgt.my.wav":["audio/voice/Male1/tgt.my.WAV",["voice.vl2"]],"audio/voice/male1/tgt.need.m4a":["audio/voice/Male1/tgt.need.m4a",["voice.vl2"]],"audio/voice/male1/tgt.need.wav":["audio/voice/Male1/tgt.need.wav",["voice.vl2"]],"audio/voice/male1/tgt.sensors.m4a":["audio/voice/Male1/tgt.sensors.m4a",["voice.vl2"]],"audio/voice/male1/tgt.sensors.wav":["audio/voice/Male1/tgt.sensors.wav",["voice.vl2"]],"audio/voice/male1/tgt.turret.m4a":["audio/voice/Male1/tgt.turret.m4a",["voice.vl2"]],"audio/voice/male1/tgt.turret.wav":["audio/voice/Male1/tgt.turret.wav",["voice.vl2"]],"audio/voice/male1/tgt.wait.m4a":["audio/voice/Male1/tgt.wait.m4a",["voice.vl2"]],"audio/voice/male1/tgt.wait.wav":["audio/voice/Male1/tgt.wait.wav",["voice.vl2"]],"audio/voice/male1/vqk.anytime.m4a":["audio/voice/Male1/vqk.anytime.m4a",["voice.vl2"]],"audio/voice/male1/vqk.anytime.wav":["audio/voice/Male1/vqk.anytime.wav",["voice.vl2"]],"audio/voice/male1/vqk.base.m4a":["audio/voice/Male1/vqk.base.m4a",["voice.vl2"]],"audio/voice/male1/vqk.base.wav":["audio/voice/Male1/vqk.base.WAV",["voice.vl2"]],"audio/voice/male1/vqk.ceasefire.m4a":["audio/voice/Male1/vqk.ceasefire.m4a",["voice.vl2"]],"audio/voice/male1/vqk.ceasefire.wav":["audio/voice/Male1/vqk.ceasefire.wav",["voice.vl2"]],"audio/voice/male1/vqk.dunno.m4a":["audio/voice/Male1/vqk.dunno.m4a",["voice.vl2"]],"audio/voice/male1/vqk.dunno.wav":["audio/voice/Male1/vqk.dunno.wav",["voice.vl2"]],"audio/voice/male1/vqk.help.m4a":["audio/voice/Male1/vqk.help.m4a",["voice.vl2"]],"audio/voice/male1/vqk.help.wav":["audio/voice/Male1/vqk.help.WAV",["voice.vl2"]],"audio/voice/male1/vqk.move.m4a":["audio/voice/Male1/vqk.move.m4a",["voice.vl2"]],"audio/voice/male1/vqk.move.wav":["audio/voice/Male1/vqk.move.wav",["voice.vl2"]],"audio/voice/male1/vqk.no.m4a":["audio/voice/Male1/vqk.no.m4a",["voice.vl2"]],"audio/voice/male1/vqk.no.wav":["audio/voice/Male1/vqk.no.wav",["voice.vl2"]],"audio/voice/male1/vqk.quiet.m4a":["audio/voice/Male1/vqk.quiet.m4a",["voice.vl2"]],"audio/voice/male1/vqk.quiet.wav":["audio/voice/Male1/vqk.quiet.WAV",["voice.vl2"]],"audio/voice/male1/vqk.sorry.m4a":["audio/voice/Male1/vqk.sorry.m4a",["voice.vl2"]],"audio/voice/male1/vqk.sorry.wav":["audio/voice/Male1/vqk.sorry.wav",["voice.vl2"]],"audio/voice/male1/vqk.thanks.m4a":["audio/voice/Male1/vqk.thanks.m4a",["voice.vl2"]],"audio/voice/male1/vqk.thanks.wav":["audio/voice/Male1/vqk.thanks.wav",["voice.vl2"]],"audio/voice/male1/vqk.wait.m4a":["audio/voice/Male1/vqk.wait.m4a",["voice.vl2"]],"audio/voice/male1/vqk.wait.wav":["audio/voice/Male1/vqk.wait.wav",["voice.vl2"]],"audio/voice/male1/vqk.yes.m4a":["audio/voice/Male1/vqk.yes.m4a",["voice.vl2"]],"audio/voice/male1/vqk.yes.wav":["audio/voice/Male1/vqk.yes.wav",["voice.vl2"]],"audio/voice/male1/wrn.bomber.m4a":["audio/voice/Male1/wrn.bomber.m4a",["voice.vl2"]],"audio/voice/male1/wrn.bomber.wav":["audio/voice/Male1/wrn.bomber.wav",["voice.vl2"]],"audio/voice/male1/wrn.enemy.m4a":["audio/voice/Male1/wrn.enemy.m4a",["voice.vl2"]],"audio/voice/male1/wrn.enemy.wav":["audio/voice/Male1/wrn.enemy.wav",["voice.vl2"]],"audio/voice/male1/wrn.vehicles.m4a":["audio/voice/Male1/wrn.vehicles.m4a",["voice.vl2"]],"audio/voice/male1/wrn.vehicles.wav":["audio/voice/Male1/wrn.vehicles.wav",["voice.vl2"]],"audio/voice/male1/wrn.watchit.m4a":["audio/voice/Male1/wrn.watchit.m4a",["voice.vl2"]],"audio/voice/male1/wrn.watchit.wav":["audio/voice/Male1/wrn.watchit.wav",["voice.vl2"]],"audio/voice/male2/att.attack.m4a":["audio/voice/Male2/att.attack.m4a",["voice.vl2"]],"audio/voice/male2/att.attack.wav":["audio/voice/Male2/att.attack.WAV",["voice.vl2"]],"audio/voice/male2/att.base.m4a":["audio/voice/Male2/att.base.m4a",["voice.vl2"]],"audio/voice/male2/att.base.wav":["audio/voice/Male2/att.base.WAV",["voice.vl2"]],"audio/voice/male2/att.chase.m4a":["audio/voice/Male2/att.chase.m4a",["voice.vl2"]],"audio/voice/male2/att.chase.wav":["audio/voice/Male2/att.chase.WAV",["voice.vl2"]],"audio/voice/male2/att.distract.m4a":["audio/voice/Male2/att.distract.m4a",["voice.vl2"]],"audio/voice/male2/att.distract.wav":["audio/voice/Male2/att.distract.WAV",["voice.vl2"]],"audio/voice/male2/att.flag.m4a":["audio/voice/Male2/att.flag.m4a",["voice.vl2"]],"audio/voice/male2/att.flag.wav":["audio/voice/Male2/att.flag.WAV",["voice.vl2"]],"audio/voice/male2/att.generator.m4a":["audio/voice/Male2/att.generator.m4a",["voice.vl2"]],"audio/voice/male2/att.generator.wav":["audio/voice/Male2/att.generator.WAV",["voice.vl2"]],"audio/voice/male2/att.objective.m4a":["audio/voice/Male2/att.objective.m4a",["voice.vl2"]],"audio/voice/male2/att.objective.wav":["audio/voice/Male2/att.objective.WAV",["voice.vl2"]],"audio/voice/male2/att.reinforcements.m4a":["audio/voice/Male2/att.reinforcements.m4a",["voice.vl2"]],"audio/voice/male2/att.reinforcements.wav":["audio/voice/Male2/att.reinforcements.WAV",["voice.vl2"]],"audio/voice/male2/att.sensors.m4a":["audio/voice/Male2/att.sensors.m4a",["voice.vl2"]],"audio/voice/male2/att.sensors.wav":["audio/voice/Male2/att.sensors.WAV",["voice.vl2"]],"audio/voice/male2/att.turrets.m4a":["audio/voice/Male2/att.turrets.m4a",["voice.vl2"]],"audio/voice/male2/att.turrets.wav":["audio/voice/Male2/att.turrets.WAV",["voice.vl2"]],"audio/voice/male2/att.vehicle.m4a":["audio/voice/Male2/att.vehicle.m4a",["voice.vl2"]],"audio/voice/male2/att.vehicle.wav":["audio/voice/Male2/att.vehicle.WAV",["voice.vl2"]],"audio/voice/male2/att.wait.m4a":["audio/voice/Male2/att.wait.m4a",["voice.vl2"]],"audio/voice/male2/att.wait.wav":["audio/voice/Male2/att.wait.WAV",["voice.vl2"]],"audio/voice/male2/avo.deathcry_01.m4a":["audio/voice/Male2/avo.deathcry_01.m4a",["voice.vl2"]],"audio/voice/male2/avo.deathcry_01.wav":["audio/voice/Male2/avo.deathcry_01.WAV",["voice.vl2"]],"audio/voice/male2/avo.deathcry_02.m4a":["audio/voice/Male2/avo.deathcry_02.m4a",["voice.vl2"]],"audio/voice/male2/avo.deathcry_02.wav":["audio/voice/Male2/avo.deathcry_02.WAV",["voice.vl2"]],"audio/voice/male2/avo.grunt.m4a":["audio/voice/Male2/avo.grunt.m4a",["voice.vl2"]],"audio/voice/male2/avo.grunt.wav":["audio/voice/Male2/avo.grunt.WAV",["voice.vl2"]],"audio/voice/male2/avo.pain.m4a":["audio/voice/Male2/avo.pain.m4a",["voice.vl2"]],"audio/voice/male2/avo.pain.wav":["audio/voice/Male2/avo.pain.WAV",["voice.vl2"]],"audio/voice/male2/bas.clear.m4a":["audio/voice/Male2/bas.clear.m4a",["voice.vl2"]],"audio/voice/male2/bas.clear.wav":["audio/voice/Male2/bas.clear.WAV",["voice.vl2"]],"audio/voice/male2/bas.enemy.m4a":["audio/voice/Male2/bas.enemy.m4a",["voice.vl2"]],"audio/voice/male2/bas.enemy.wav":["audio/voice/Male2/bas.enemy.WAV",["voice.vl2"]],"audio/voice/male2/bas.retake.m4a":["audio/voice/Male2/bas.retake.m4a",["voice.vl2"]],"audio/voice/male2/bas.retake.wav":["audio/voice/Male2/bas.retake.WAV",["voice.vl2"]],"audio/voice/male2/bas.secure.m4a":["audio/voice/Male2/bas.secure.m4a",["voice.vl2"]],"audio/voice/male2/bas.secure.wav":["audio/voice/Male2/bas.secure.WAV",["voice.vl2"]],"audio/voice/male2/bas.taken.m4a":["audio/voice/Male2/bas.taken.m4a",["voice.vl2"]],"audio/voice/male2/bas.taken.wav":["audio/voice/Male2/bas.taken.WAV",["voice.vl2"]],"audio/voice/male2/cmd.acknowledge.m4a":["audio/voice/Male2/cmd.acknowledge.m4a",["voice.vl2"]],"audio/voice/male2/cmd.acknowledge.wav":["audio/voice/Male2/cmd.acknowledge.WAV",["voice.vl2"]],"audio/voice/male2/cmd.bot.m4a":["audio/voice/Male2/cmd.bot.m4a",["voice.vl2"]],"audio/voice/male2/cmd.bot.wav":["audio/voice/Male2/cmd.bot.WAV",["voice.vl2"]],"audio/voice/male2/cmd.completed.m4a":["audio/voice/Male2/cmd.completed.m4a",["voice.vl2"]],"audio/voice/male2/cmd.completed.wav":["audio/voice/Male2/cmd.completed.WAV",["voice.vl2"]],"audio/voice/male2/cmd.decline.m4a":["audio/voice/Male2/cmd.decline.m4a",["voice.vl2"]],"audio/voice/male2/cmd.decline.wav":["audio/voice/Male2/cmd.decline.WAV",["voice.vl2"]],"audio/voice/male2/def.base.m4a":["audio/voice/Male2/def.base.m4a",["voice.vl2"]],"audio/voice/male2/def.base.wav":["audio/voice/Male2/def.base.WAV",["voice.vl2"]],"audio/voice/male2/def.carrier.m4a":["audio/voice/Male2/def.carrier.m4a",["voice.vl2"]],"audio/voice/male2/def.carrier.wav":["audio/voice/Male2/def.carrier.WAV",["voice.vl2"]],"audio/voice/male2/def.entrances.m4a":["audio/voice/Male2/def.entrances.m4a",["voice.vl2"]],"audio/voice/male2/def.entrances.wav":["audio/voice/Male2/def.entrances.WAV",["voice.vl2"]],"audio/voice/male2/def.flag.m4a":["audio/voice/Male2/def.flag.m4a",["voice.vl2"]],"audio/voice/male2/def.flag.wav":["audio/voice/Male2/def.flag.WAV",["voice.vl2"]],"audio/voice/male2/def.generator.m4a":["audio/voice/Male2/def.generator.m4a",["voice.vl2"]],"audio/voice/male2/def.generator.wav":["audio/voice/Male2/def.generator.WAV",["voice.vl2"]],"audio/voice/male2/def.me.m4a":["audio/voice/Male2/def.me.m4a",["voice.vl2"]],"audio/voice/male2/def.me.wav":["audio/voice/Male2/def.me.WAV",["voice.vl2"]],"audio/voice/male2/def.nexus.m4a":["audio/voice/Male2/def.nexus.m4a",["voice.vl2"]],"audio/voice/male2/def.nexus.wav":["audio/voice/Male2/def.nexus.WAV",["voice.vl2"]],"audio/voice/male2/def.objective.m4a":["audio/voice/Male2/def.objective.m4a",["voice.vl2"]],"audio/voice/male2/def.objective.wav":["audio/voice/Male2/def.objective.WAV",["voice.vl2"]],"audio/voice/male2/def.reinforce.m4a":["audio/voice/Male2/def.reinforce.m4a",["voice.vl2"]],"audio/voice/male2/def.reinforce.wav":["audio/voice/Male2/def.reinforce.WAV",["voice.vl2"]],"audio/voice/male2/def.sensors.m4a":["audio/voice/Male2/def.sensors.m4a",["voice.vl2"]],"audio/voice/male2/def.sensors.wav":["audio/voice/Male2/def.sensors.WAV",["voice.vl2"]],"audio/voice/male2/def.turrets.m4a":["audio/voice/Male2/def.turrets.m4a",["voice.vl2"]],"audio/voice/male2/def.turrets.wav":["audio/voice/Male2/def.turrets.WAV",["voice.vl2"]],"audio/voice/male2/def.vehicle.m4a":["audio/voice/Male2/def.vehicle.m4a",["voice.vl2"]],"audio/voice/male2/def.vehicle.wav":["audio/voice/Male2/def.vehicle.WAV",["voice.vl2"]],"audio/voice/male2/ene.base.m4a":["audio/voice/Male2/ene.base.m4a",["voice.vl2"]],"audio/voice/male2/ene.base.wav":["audio/voice/Male2/ene.base.WAV",["voice.vl2"]],"audio/voice/male2/ene.disarray.m4a":["audio/voice/Male2/ene.disarray.m4a",["voice.vl2"]],"audio/voice/male2/ene.disarray.wav":["audio/voice/Male2/ene.disarray.WAV",["voice.vl2"]],"audio/voice/male2/ene.generator.m4a":["audio/voice/Male2/ene.generator.m4a",["voice.vl2"]],"audio/voice/male2/ene.generator.wav":["audio/voice/Male2/ene.generator.WAV",["voice.vl2"]],"audio/voice/male2/ene.remotes.m4a":["audio/voice/Male2/ene.remotes.m4a",["voice.vl2"]],"audio/voice/male2/ene.remotes.wav":["audio/voice/Male2/ene.remotes.WAV",["voice.vl2"]],"audio/voice/male2/ene.sensors.m4a":["audio/voice/Male2/ene.sensors.m4a",["voice.vl2"]],"audio/voice/male2/ene.sensors.wav":["audio/voice/Male2/ene.sensors.WAV",["voice.vl2"]],"audio/voice/male2/ene.turrets.m4a":["audio/voice/Male2/ene.turrets.m4a",["voice.vl2"]],"audio/voice/male2/ene.turrets.wav":["audio/voice/Male2/ene.turrets.WAV",["voice.vl2"]],"audio/voice/male2/ene.vehicle.m4a":["audio/voice/Male2/ene.vehicle.m4a",["voice.vl2"]],"audio/voice/male2/ene.vehicle.wav":["audio/voice/Male2/ene.vehicle.WAV",["voice.vl2"]],"audio/voice/male2/flg.flag.m4a":["audio/voice/Male2/flg.flag.m4a",["voice.vl2"]],"audio/voice/male2/flg.flag.wav":["audio/voice/Male2/flg.flag.WAV",["voice.vl2"]],"audio/voice/male2/flg.give.m4a":["audio/voice/Male2/flg.give.m4a",["voice.vl2"]],"audio/voice/male2/flg.give.wav":["audio/voice/Male2/flg.give.WAV",["voice.vl2"]],"audio/voice/male2/flg.huntergive.m4a":["audio/voice/Male2/flg.huntergive.m4a",["voice.vl2"]],"audio/voice/male2/flg.huntergive.wav":["audio/voice/Male2/flg.huntergive.WAV",["voice.vl2"]],"audio/voice/male2/flg.huntertake.m4a":["audio/voice/Male2/flg.huntertake.m4a",["voice.vl2"]],"audio/voice/male2/flg.huntertake.wav":["audio/voice/Male2/flg.huntertake.WAV",["voice.vl2"]],"audio/voice/male2/flg.retrieve.m4a":["audio/voice/Male2/flg.retrieve.m4a",["voice.vl2"]],"audio/voice/male2/flg.retrieve.wav":["audio/voice/Male2/flg.retrieve.WAV",["voice.vl2"]],"audio/voice/male2/flg.secure.m4a":["audio/voice/Male2/flg.secure.m4a",["voice.vl2"]],"audio/voice/male2/flg.secure.wav":["audio/voice/Male2/flg.secure.WAV",["voice.vl2"]],"audio/voice/male2/flg.take.m4a":["audio/voice/Male2/flg.take.m4a",["voice.vl2"]],"audio/voice/male2/flg.take.wav":["audio/voice/Male2/flg.take.WAV",["voice.vl2"]],"audio/voice/male2/gbl.anytime.m4a":["audio/voice/Male2/gbl.anytime.m4a",["voice.vl2"]],"audio/voice/male2/gbl.anytime.wav":["audio/voice/Male2/gbl.anytime.WAV",["voice.vl2"]],"audio/voice/male2/gbl.awesome.m4a":["audio/voice/Male2/gbl.awesome.m4a",["voice.vl2"]],"audio/voice/male2/gbl.awesome.wav":["audio/voice/Male2/gbl.awesome.WAV",["voice.vl2"]],"audio/voice/male2/gbl.aww.m4a":["audio/voice/Male2/gbl.aww.m4a",["voice.vl2"]],"audio/voice/male2/gbl.aww.wav":["audio/voice/Male2/gbl.aww.WAV",["voice.vl2"]],"audio/voice/male2/gbl.brag.m4a":["audio/voice/Male2/gbl.brag.m4a",["voice.vl2"]],"audio/voice/male2/gbl.brag.wav":["audio/voice/Male2/gbl.brag.WAV",["voice.vl2"]],"audio/voice/male2/gbl.bye.m4a":["audio/voice/Male2/gbl.bye.m4a",["voice.vl2"]],"audio/voice/male2/gbl.bye.wav":["audio/voice/Male2/gbl.bye.WAV",["voice.vl2"]],"audio/voice/male2/gbl.dunno.m4a":["audio/voice/Male2/gbl.dunno.m4a",["voice.vl2"]],"audio/voice/male2/gbl.dunno.wav":["audio/voice/Male2/gbl.dunno.WAV",["voice.vl2"]],"audio/voice/male2/gbl.goodgame.m4a":["audio/voice/Male2/gbl.goodgame.m4a",["voice.vl2"]],"audio/voice/male2/gbl.goodgame.wav":["audio/voice/Male2/gbl.goodgame.WAV",["voice.vl2"]],"audio/voice/male2/gbl.hi.m4a":["audio/voice/Male2/gbl.hi.m4a",["voice.vl2"]],"audio/voice/male2/gbl.hi.wav":["audio/voice/Male2/gbl.hi.WAV",["voice.vl2"]],"audio/voice/male2/gbl.nice.m4a":["audio/voice/Male2/gbl.nice.m4a",["voice.vl2"]],"audio/voice/male2/gbl.nice.wav":["audio/voice/Male2/gbl.nice.WAV",["voice.vl2"]],"audio/voice/male2/gbl.no.m4a":["audio/voice/Male2/gbl.no.m4a",["voice.vl2"]],"audio/voice/male2/gbl.no.wav":["audio/voice/Male2/gbl.no.WAV",["voice.vl2"]],"audio/voice/male2/gbl.obnoxious.m4a":["audio/voice/Male2/gbl.obnoxious.m4a",["voice.vl2"]],"audio/voice/male2/gbl.obnoxious.wav":["audio/voice/Male2/gbl.obnoxious.WAV",["voice.vl2"]],"audio/voice/male2/gbl.oops.m4a":["audio/voice/Male2/gbl.oops.m4a",["voice.vl2"]],"audio/voice/male2/gbl.oops.wav":["audio/voice/Male2/gbl.oops.WAV",["voice.vl2"]],"audio/voice/male2/gbl.quiet.m4a":["audio/voice/Male2/gbl.quiet.m4a",["voice.vl2"]],"audio/voice/male2/gbl.quiet.wav":["audio/voice/Male2/gbl.quiet.WAV",["voice.vl2"]],"audio/voice/male2/gbl.rock.m4a":["audio/voice/Male2/gbl.rock.m4a",["voice.vl2"]],"audio/voice/male2/gbl.rock.wav":["audio/voice/Male2/gbl.rock.WAV",["voice.vl2"]],"audio/voice/male2/gbl.sarcasm.m4a":["audio/voice/Male2/gbl.sarcasm.m4a",["voice.vl2"]],"audio/voice/male2/gbl.sarcasm.wav":["audio/voice/Male2/gbl.sarcasm.WAV",["voice.vl2"]],"audio/voice/male2/gbl.shazbot.m4a":["audio/voice/Male2/gbl.shazbot.m4a",["voice.vl2"]],"audio/voice/male2/gbl.shazbot.wav":["audio/voice/Male2/gbl.shazbot.WAV",["voice.vl2"]],"audio/voice/male2/gbl.shooting.m4a":["audio/voice/Male2/gbl.shooting.m4a",["voice.vl2"]],"audio/voice/male2/gbl.shooting.wav":["audio/voice/Male2/gbl.shooting.WAV",["voice.vl2"]],"audio/voice/male2/gbl.thanks.m4a":["audio/voice/Male2/gbl.thanks.m4a",["voice.vl2"]],"audio/voice/male2/gbl.thanks.wav":["audio/voice/Male2/gbl.thanks.WAV",["voice.vl2"]],"audio/voice/male2/gbl.wait.m4a":["audio/voice/Male2/gbl.wait.m4a",["voice.vl2"]],"audio/voice/male2/gbl.wait.wav":["audio/voice/Male2/gbl.wait.WAV",["voice.vl2"]],"audio/voice/male2/gbl.when.m4a":["audio/voice/Male2/gbl.when.m4a",["voice.vl2"]],"audio/voice/male2/gbl.when.wav":["audio/voice/Male2/gbl.when.WAV",["voice.vl2"]],"audio/voice/male2/gbl.woohoo.m4a":["audio/voice/Male2/gbl.woohoo.m4a",["voice.vl2"]],"audio/voice/male2/gbl.woohoo.wav":["audio/voice/Male2/gbl.woohoo.WAV",["voice.vl2"]],"audio/voice/male2/gbl.yes.m4a":["audio/voice/Male2/gbl.yes.m4a",["voice.vl2"]],"audio/voice/male2/gbl.yes.wav":["audio/voice/Male2/gbl.yes.WAV",["voice.vl2"]],"audio/voice/male2/need.bombardier.m4a":["audio/voice/Male2/need.bombardier.m4a",["voice.vl2"]],"audio/voice/male2/need.bombardier.wav":["audio/voice/Male2/need.bombardier.WAV",["voice.vl2"]],"audio/voice/male2/need.cover.m4a":["audio/voice/Male2/need.cover.m4a",["voice.vl2"]],"audio/voice/male2/need.cover.wav":["audio/voice/Male2/need.cover.WAV",["voice.vl2"]],"audio/voice/male2/need.driver.m4a":["audio/voice/Male2/need.driver.m4a",["voice.vl2"]],"audio/voice/male2/need.driver.wav":["audio/voice/Male2/need.driver.WAV",["voice.vl2"]],"audio/voice/male2/need.escort.m4a":["audio/voice/Male2/need.escort.m4a",["voice.vl2"]],"audio/voice/male2/need.escort.wav":["audio/voice/Male2/need.escort.WAV",["voice.vl2"]],"audio/voice/male2/need.flyer.m4a":["audio/voice/Male2/need.flyer.m4a",["voice.vl2"]],"audio/voice/male2/need.flyer.wav":["audio/voice/Male2/need.flyer.WAV",["voice.vl2"]],"audio/voice/male2/need.gunship.m4a":["audio/voice/Male2/need.gunship.m4a",["voice.vl2"]],"audio/voice/male2/need.gunship.wav":["audio/voice/Male2/need.gunship.WAV",["voice.vl2"]],"audio/voice/male2/need.hold.m4a":["audio/voice/Male2/need.hold.m4a",["voice.vl2"]],"audio/voice/male2/need.hold.wav":["audio/voice/Male2/need.hold.WAV",["voice.vl2"]],"audio/voice/male2/need.ride.m4a":["audio/voice/Male2/need.ride.m4a",["voice.vl2"]],"audio/voice/male2/need.ride.wav":["audio/voice/Male2/need.ride.WAV",["voice.vl2"]],"audio/voice/male2/need.support.m4a":["audio/voice/Male2/need.support.m4a",["voice.vl2"]],"audio/voice/male2/need.support.wav":["audio/voice/Male2/need.support.WAV",["voice.vl2"]],"audio/voice/male2/need.tailgunner.m4a":["audio/voice/Male2/need.tailgunner.m4a",["voice.vl2"]],"audio/voice/male2/need.tailgunner.wav":["audio/voice/Male2/need.tailgunner.WAV",["voice.vl2"]],"audio/voice/male2/need.where.m4a":["audio/voice/Male2/need.where.m4a",["voice.vl2"]],"audio/voice/male2/need.where.wav":["audio/voice/Male2/need.where.WAV",["voice.vl2"]],"audio/voice/male2/rep.base.m4a":["audio/voice/Male2/rep.base.m4a",["voice.vl2"]],"audio/voice/male2/rep.base.wav":["audio/voice/Male2/rep.base.WAV",["voice.vl2"]],"audio/voice/male2/rep.generator.m4a":["audio/voice/Male2/rep.generator.m4a",["voice.vl2"]],"audio/voice/male2/rep.generator.wav":["audio/voice/Male2/rep.generator.WAV",["voice.vl2"]],"audio/voice/male2/rep.me.m4a":["audio/voice/Male2/rep.me.m4a",["voice.vl2"]],"audio/voice/male2/rep.me.wav":["audio/voice/Male2/rep.me.WAV",["voice.vl2"]],"audio/voice/male2/rep.sensors.m4a":["audio/voice/Male2/rep.sensors.m4a",["voice.vl2"]],"audio/voice/male2/rep.sensors.wav":["audio/voice/Male2/rep.sensors.WAV",["voice.vl2"]],"audio/voice/male2/rep.turrets.m4a":["audio/voice/Male2/rep.turrets.m4a",["voice.vl2"]],"audio/voice/male2/rep.turrets.wav":["audio/voice/Male2/rep.turrets.WAV",["voice.vl2"]],"audio/voice/male2/rep.vehicle.m4a":["audio/voice/Male2/rep.vehicle.m4a",["voice.vl2"]],"audio/voice/male2/rep.vehicle.wav":["audio/voice/Male2/rep.vehicle.WAV",["voice.vl2"]],"audio/voice/male2/slf.att.attack.m4a":["audio/voice/Male2/slf.att.attack.m4a",["voice.vl2"]],"audio/voice/male2/slf.att.attack.wav":["audio/voice/Male2/slf.att.attack.WAV",["voice.vl2"]],"audio/voice/male2/slf.att.base.m4a":["audio/voice/Male2/slf.att.base.m4a",["voice.vl2"]],"audio/voice/male2/slf.att.base.wav":["audio/voice/Male2/slf.att.base.WAV",["voice.vl2"]],"audio/voice/male2/slf.att.flag.m4a":["audio/voice/Male2/slf.att.flag.m4a",["voice.vl2"]],"audio/voice/male2/slf.att.flag.wav":["audio/voice/Male2/slf.att.flag.WAV",["voice.vl2"]],"audio/voice/male2/slf.att.generator.m4a":["audio/voice/Male2/slf.att.generator.m4a",["voice.vl2"]],"audio/voice/male2/slf.att.generator.wav":["audio/voice/Male2/slf.att.generator.WAV",["voice.vl2"]],"audio/voice/male2/slf.att.sensors.m4a":["audio/voice/Male2/slf.att.sensors.m4a",["voice.vl2"]],"audio/voice/male2/slf.att.sensors.wav":["audio/voice/Male2/slf.att.sensors.WAV",["voice.vl2"]],"audio/voice/male2/slf.att.turrets.m4a":["audio/voice/Male2/slf.att.turrets.m4a",["voice.vl2"]],"audio/voice/male2/slf.att.turrets.wav":["audio/voice/Male2/slf.att.turrets.WAV",["voice.vl2"]],"audio/voice/male2/slf.att.vehicle.m4a":["audio/voice/Male2/slf.att.vehicle.m4a",["voice.vl2"]],"audio/voice/male2/slf.att.vehicle.wav":["audio/voice/Male2/slf.att.vehicle.WAV",["voice.vl2"]],"audio/voice/male2/slf.def.base.m4a":["audio/voice/Male2/slf.def.base.m4a",["voice.vl2"]],"audio/voice/male2/slf.def.base.wav":["audio/voice/Male2/slf.def.base.WAV",["voice.vl2"]],"audio/voice/male2/slf.def.defend.m4a":["audio/voice/Male2/slf.def.defend.m4a",["voice.vl2"]],"audio/voice/male2/slf.def.defend.wav":["audio/voice/Male2/slf.def.defend.WAV",["voice.vl2"]],"audio/voice/male2/slf.def.flag.m4a":["audio/voice/Male2/slf.def.flag.m4a",["voice.vl2"]],"audio/voice/male2/slf.def.flag.wav":["audio/voice/Male2/slf.def.flag.WAV",["voice.vl2"]],"audio/voice/male2/slf.def.generator.m4a":["audio/voice/Male2/slf.def.generator.m4a",["voice.vl2"]],"audio/voice/male2/slf.def.generator.wav":["audio/voice/Male2/slf.def.generator.WAV",["voice.vl2"]],"audio/voice/male2/slf.def.nexus.m4a":["audio/voice/Male2/slf.def.nexus.m4a",["voice.vl2"]],"audio/voice/male2/slf.def.nexus.wav":["audio/voice/Male2/slf.def.nexus.WAV",["voice.vl2"]],"audio/voice/male2/slf.def.sensors.m4a":["audio/voice/Male2/slf.def.sensors.m4a",["voice.vl2"]],"audio/voice/male2/slf.def.sensors.wav":["audio/voice/Male2/slf.def.sensors.WAV",["voice.vl2"]],"audio/voice/male2/slf.def.turrets.m4a":["audio/voice/Male2/slf.def.turrets.m4a",["voice.vl2"]],"audio/voice/male2/slf.def.turrets.wav":["audio/voice/Male2/slf.def.turrets.WAV",["voice.vl2"]],"audio/voice/male2/slf.def.vehicle.m4a":["audio/voice/Male2/slf.def.vehicle.m4a",["voice.vl2"]],"audio/voice/male2/slf.def.vehicle.wav":["audio/voice/Male2/slf.def.vehicle.WAV",["voice.vl2"]],"audio/voice/male2/slf.rep.base.m4a":["audio/voice/Male2/slf.rep.base.m4a",["voice.vl2"]],"audio/voice/male2/slf.rep.base.wav":["audio/voice/Male2/slf.rep.base.WAV",["voice.vl2"]],"audio/voice/male2/slf.rep.equipment.m4a":["audio/voice/Male2/slf.rep.equipment.m4a",["voice.vl2"]],"audio/voice/male2/slf.rep.equipment.wav":["audio/voice/Male2/slf.rep.equipment.WAV",["voice.vl2"]],"audio/voice/male2/slf.rep.generator.m4a":["audio/voice/Male2/slf.rep.generator.m4a",["voice.vl2"]],"audio/voice/male2/slf.rep.generator.wav":["audio/voice/Male2/slf.rep.generator.WAV",["voice.vl2"]],"audio/voice/male2/slf.rep.repairing.m4a":["audio/voice/Male2/slf.rep.repairing.m4a",["voice.vl2"]],"audio/voice/male2/slf.rep.repairing.wav":["audio/voice/Male2/slf.rep.repairing.WAV",["voice.vl2"]],"audio/voice/male2/slf.rep.sensors.m4a":["audio/voice/Male2/slf.rep.sensors.m4a",["voice.vl2"]],"audio/voice/male2/slf.rep.sensors.wav":["audio/voice/Male2/slf.rep.sensors.WAV",["voice.vl2"]],"audio/voice/male2/slf.rep.turrets.m4a":["audio/voice/Male2/slf.rep.turrets.m4a",["voice.vl2"]],"audio/voice/male2/slf.rep.turrets.wav":["audio/voice/Male2/slf.rep.turrets.WAV",["voice.vl2"]],"audio/voice/male2/slf.rep.vehicle.m4a":["audio/voice/Male2/slf.rep.vehicle.m4a",["voice.vl2"]],"audio/voice/male2/slf.rep.vehicle.wav":["audio/voice/Male2/slf.rep.vehicle.WAV",["voice.vl2"]],"audio/voice/male2/slf.tsk.cover.m4a":["audio/voice/Male2/slf.tsk.cover.m4a",["voice.vl2"]],"audio/voice/male2/slf.tsk.cover.wav":["audio/voice/Male2/slf.tsk.cover.WAV",["voice.vl2"]],"audio/voice/male2/slf.tsk.defense.m4a":["audio/voice/Male2/slf.tsk.defense.m4a",["voice.vl2"]],"audio/voice/male2/slf.tsk.defense.wav":["audio/voice/Male2/slf.tsk.defense.WAV",["voice.vl2"]],"audio/voice/male2/slf.tsk.generic.m4a":["audio/voice/Male2/slf.tsk.generic.m4a",["voice.vl2"]],"audio/voice/male2/slf.tsk.generic.wav":["audio/voice/Male2/slf.tsk.generic.WAV",["voice.vl2"]],"audio/voice/male2/slf.tsk.remotes.m4a":["audio/voice/Male2/slf.tsk.remotes.m4a",["voice.vl2"]],"audio/voice/male2/slf.tsk.remotes.wav":["audio/voice/Male2/slf.tsk.remotes.WAV",["voice.vl2"]],"audio/voice/male2/slf.tsk.sensors.m4a":["audio/voice/Male2/slf.tsk.sensors.m4a",["voice.vl2"]],"audio/voice/male2/slf.tsk.sensors.wav":["audio/voice/Male2/slf.tsk.sensors.WAV",["voice.vl2"]],"audio/voice/male2/slf.tsk.turrets.m4a":["audio/voice/Male2/slf.tsk.turrets.m4a",["voice.vl2"]],"audio/voice/male2/slf.tsk.turrets.wav":["audio/voice/Male2/slf.tsk.turrets.WAV",["voice.vl2"]],"audio/voice/male2/slf.tsk.vehicle.m4a":["audio/voice/Male2/slf.tsk.vehicle.m4a",["voice.vl2"]],"audio/voice/male2/slf.tsk.vehicle.wav":["audio/voice/Male2/slf.tsk.vehicle.WAV",["voice.vl2"]],"audio/voice/male2/tgt.acquired.m4a":["audio/voice/Male2/tgt.acquired.m4a",["voice.vl2"]],"audio/voice/male2/tgt.acquired.wav":["audio/voice/Male2/tgt.acquired.WAV",["voice.vl2"]],"audio/voice/male2/tgt.base.m4a":["audio/voice/Male2/tgt.base.m4a",["voice.vl2"]],"audio/voice/male2/tgt.base.wav":["audio/voice/Male2/tgt.base.WAV",["voice.vl2"]],"audio/voice/male2/tgt.destroyed.m4a":["audio/voice/Male2/tgt.destroyed.m4a",["voice.vl2"]],"audio/voice/male2/tgt.destroyed.wav":["audio/voice/Male2/tgt.destroyed.WAV",["voice.vl2"]],"audio/voice/male2/tgt.flag.m4a":["audio/voice/Male2/tgt.flag.m4a",["voice.vl2"]],"audio/voice/male2/tgt.flag.wav":["audio/voice/Male2/tgt.flag.WAV",["voice.vl2"]],"audio/voice/male2/tgt.my.m4a":["audio/voice/Male2/tgt.my.m4a",["voice.vl2"]],"audio/voice/male2/tgt.my.wav":["audio/voice/Male2/tgt.my.WAV",["voice.vl2"]],"audio/voice/male2/tgt.need.m4a":["audio/voice/Male2/tgt.need.m4a",["voice.vl2"]],"audio/voice/male2/tgt.need.wav":["audio/voice/Male2/tgt.need.WAV",["voice.vl2"]],"audio/voice/male2/tgt.sensors.m4a":["audio/voice/Male2/tgt.sensors.m4a",["voice.vl2"]],"audio/voice/male2/tgt.sensors.wav":["audio/voice/Male2/tgt.sensors.WAV",["voice.vl2"]],"audio/voice/male2/tgt.turret.m4a":["audio/voice/Male2/tgt.turret.m4a",["voice.vl2"]],"audio/voice/male2/tgt.turret.wav":["audio/voice/Male2/tgt.turret.WAV",["voice.vl2"]],"audio/voice/male2/tgt.wait.m4a":["audio/voice/Male2/tgt.wait.m4a",["voice.vl2"]],"audio/voice/male2/tgt.wait.wav":["audio/voice/Male2/tgt.wait.WAV",["voice.vl2"]],"audio/voice/male2/vqk.anytime.m4a":["audio/voice/Male2/vqk.anytime.m4a",["voice.vl2"]],"audio/voice/male2/vqk.anytime.wav":["audio/voice/Male2/vqk.anytime.WAV",["voice.vl2"]],"audio/voice/male2/vqk.base.m4a":["audio/voice/Male2/vqk.base.m4a",["voice.vl2"]],"audio/voice/male2/vqk.base.wav":["audio/voice/Male2/vqk.base.WAV",["voice.vl2"]],"audio/voice/male2/vqk.ceasefire.m4a":["audio/voice/Male2/vqk.ceasefire.m4a",["voice.vl2"]],"audio/voice/male2/vqk.ceasefire.wav":["audio/voice/Male2/vqk.ceasefire.WAV",["voice.vl2"]],"audio/voice/male2/vqk.dunno.m4a":["audio/voice/Male2/vqk.dunno.m4a",["voice.vl2"]],"audio/voice/male2/vqk.dunno.wav":["audio/voice/Male2/vqk.dunno.WAV",["voice.vl2"]],"audio/voice/male2/vqk.help.m4a":["audio/voice/Male2/vqk.help.m4a",["voice.vl2"]],"audio/voice/male2/vqk.help.wav":["audio/voice/Male2/vqk.help.WAV",["voice.vl2"]],"audio/voice/male2/vqk.move.m4a":["audio/voice/Male2/vqk.move.m4a",["voice.vl2"]],"audio/voice/male2/vqk.move.wav":["audio/voice/Male2/vqk.move.WAV",["voice.vl2"]],"audio/voice/male2/vqk.no.m4a":["audio/voice/Male2/vqk.no.m4a",["voice.vl2"]],"audio/voice/male2/vqk.no.wav":["audio/voice/Male2/vqk.no.WAV",["voice.vl2"]],"audio/voice/male2/vqk.quiet.m4a":["audio/voice/Male2/vqk.quiet.m4a",["voice.vl2"]],"audio/voice/male2/vqk.quiet.wav":["audio/voice/Male2/vqk.quiet.WAV",["voice.vl2"]],"audio/voice/male2/vqk.sorry.m4a":["audio/voice/Male2/vqk.sorry.m4a",["voice.vl2"]],"audio/voice/male2/vqk.sorry.wav":["audio/voice/Male2/vqk.sorry.WAV",["voice.vl2"]],"audio/voice/male2/vqk.thanks.m4a":["audio/voice/Male2/vqk.thanks.m4a",["voice.vl2"]],"audio/voice/male2/vqk.thanks.wav":["audio/voice/Male2/vqk.thanks.WAV",["voice.vl2"]],"audio/voice/male2/vqk.wait.m4a":["audio/voice/Male2/vqk.wait.m4a",["voice.vl2"]],"audio/voice/male2/vqk.wait.wav":["audio/voice/Male2/vqk.wait.WAV",["voice.vl2"]],"audio/voice/male2/vqk.yes.m4a":["audio/voice/Male2/vqk.yes.m4a",["voice.vl2"]],"audio/voice/male2/vqk.yes.wav":["audio/voice/Male2/vqk.yes.WAV",["voice.vl2"]],"audio/voice/male2/wrn.bomber.m4a":["audio/voice/Male2/wrn.bomber.m4a",["voice.vl2"]],"audio/voice/male2/wrn.bomber.wav":["audio/voice/Male2/wrn.bomber.WAV",["voice.vl2"]],"audio/voice/male2/wrn.enemy.m4a":["audio/voice/Male2/wrn.enemy.m4a",["voice.vl2"]],"audio/voice/male2/wrn.enemy.wav":["audio/voice/Male2/wrn.enemy.WAV",["voice.vl2"]],"audio/voice/male2/wrn.vehicles.m4a":["audio/voice/Male2/wrn.vehicles.m4a",["voice.vl2"]],"audio/voice/male2/wrn.vehicles.wav":["audio/voice/Male2/wrn.vehicles.WAV",["voice.vl2"]],"audio/voice/male2/wrn.watchit.m4a":["audio/voice/Male2/wrn.watchit.m4a",["voice.vl2"]],"audio/voice/male2/wrn.watchit.wav":["audio/voice/Male2/wrn.watchit.WAV",["voice.vl2"]],"audio/voice/male3/att.attack.m4a":["audio/voice/Male3/att.attack.m4a",["voice.vl2"]],"audio/voice/male3/att.attack.wav":["audio/voice/Male3/att.attack.WAV",["voice.vl2"]],"audio/voice/male3/att.base.m4a":["audio/voice/Male3/att.base.m4a",["voice.vl2"]],"audio/voice/male3/att.base.wav":["audio/voice/Male3/att.base.WAV",["voice.vl2"]],"audio/voice/male3/att.chase.m4a":["audio/voice/Male3/att.chase.m4a",["voice.vl2"]],"audio/voice/male3/att.chase.wav":["audio/voice/Male3/att.chase.WAV",["voice.vl2"]],"audio/voice/male3/att.distract.m4a":["audio/voice/Male3/att.distract.m4a",["voice.vl2"]],"audio/voice/male3/att.distract.wav":["audio/voice/Male3/att.distract.WAV",["voice.vl2"]],"audio/voice/male3/att.flag.m4a":["audio/voice/Male3/att.flag.m4a",["voice.vl2"]],"audio/voice/male3/att.flag.wav":["audio/voice/Male3/att.flag.WAV",["voice.vl2"]],"audio/voice/male3/att.generator.m4a":["audio/voice/Male3/att.generator.m4a",["voice.vl2"]],"audio/voice/male3/att.generator.wav":["audio/voice/Male3/att.generator.WAV",["voice.vl2"]],"audio/voice/male3/att.objective.m4a":["audio/voice/Male3/att.objective.m4a",["voice.vl2"]],"audio/voice/male3/att.objective.wav":["audio/voice/Male3/att.objective.WAV",["voice.vl2"]],"audio/voice/male3/att.reinforcements.m4a":["audio/voice/Male3/att.reinforcements.m4a",["voice.vl2"]],"audio/voice/male3/att.reinforcements.wav":["audio/voice/Male3/att.reinforcements.WAV",["voice.vl2"]],"audio/voice/male3/att.sensors.m4a":["audio/voice/Male3/att.sensors.m4a",["voice.vl2"]],"audio/voice/male3/att.sensors.wav":["audio/voice/Male3/att.sensors.WAV",["voice.vl2"]],"audio/voice/male3/att.turrets.m4a":["audio/voice/Male3/att.turrets.m4a",["voice.vl2"]],"audio/voice/male3/att.turrets.wav":["audio/voice/Male3/att.turrets.WAV",["voice.vl2"]],"audio/voice/male3/att.vehicle.m4a":["audio/voice/Male3/att.vehicle.m4a",["voice.vl2"]],"audio/voice/male3/att.vehicle.wav":["audio/voice/Male3/att.vehicle.WAV",["voice.vl2"]],"audio/voice/male3/att.wait.m4a":["audio/voice/Male3/att.wait.m4a",["voice.vl2"]],"audio/voice/male3/att.wait.wav":["audio/voice/Male3/att.wait.WAV",["voice.vl2"]],"audio/voice/male3/avo.deathcry_01.m4a":["audio/voice/Male3/avo.deathcry_01.m4a",["voice.vl2"]],"audio/voice/male3/avo.deathcry_01.wav":["audio/voice/Male3/avo.deathcry_01.WAV",["voice.vl2"]],"audio/voice/male3/avo.deathcry_02.m4a":["audio/voice/Male3/avo.deathcry_02.m4a",["voice.vl2"]],"audio/voice/male3/avo.deathcry_02.wav":["audio/voice/Male3/avo.deathcry_02.WAV",["voice.vl2"]],"audio/voice/male3/avo.grunt.m4a":["audio/voice/Male3/avo.grunt.m4a",["voice.vl2"]],"audio/voice/male3/avo.grunt.wav":["audio/voice/Male3/avo.grunt.WAV",["voice.vl2"]],"audio/voice/male3/avo.pain.m4a":["audio/voice/Male3/avo.pain.m4a",["voice.vl2"]],"audio/voice/male3/avo.pain.wav":["audio/voice/Male3/avo.pain.WAV",["voice.vl2"]],"audio/voice/male3/bas.clear.m4a":["audio/voice/Male3/bas.clear.m4a",["voice.vl2"]],"audio/voice/male3/bas.clear.wav":["audio/voice/Male3/bas.clear.WAV",["voice.vl2"]],"audio/voice/male3/bas.enemy.m4a":["audio/voice/Male3/bas.enemy.m4a",["voice.vl2"]],"audio/voice/male3/bas.enemy.wav":["audio/voice/Male3/bas.enemy.WAV",["voice.vl2"]],"audio/voice/male3/bas.retake.m4a":["audio/voice/Male3/bas.retake.m4a",["voice.vl2"]],"audio/voice/male3/bas.retake.wav":["audio/voice/Male3/bas.retake.WAV",["voice.vl2"]],"audio/voice/male3/bas.secure.m4a":["audio/voice/Male3/bas.secure.m4a",["voice.vl2"]],"audio/voice/male3/bas.secure.wav":["audio/voice/Male3/bas.secure.WAV",["voice.vl2"]],"audio/voice/male3/bas.taken.m4a":["audio/voice/Male3/bas.taken.m4a",["voice.vl2"]],"audio/voice/male3/bas.taken.wav":["audio/voice/Male3/bas.taken.WAV",["voice.vl2"]],"audio/voice/male3/cmd.acknowledge.m4a":["audio/voice/Male3/cmd.acknowledge.m4a",["voice.vl2"]],"audio/voice/male3/cmd.acknowledge.wav":["audio/voice/Male3/cmd.acknowledge.WAV",["voice.vl2"]],"audio/voice/male3/cmd.bot.m4a":["audio/voice/Male3/cmd.bot.m4a",["voice.vl2"]],"audio/voice/male3/cmd.bot.wav":["audio/voice/Male3/cmd.bot.WAV",["voice.vl2"]],"audio/voice/male3/cmd.completed.m4a":["audio/voice/Male3/cmd.completed.m4a",["voice.vl2"]],"audio/voice/male3/cmd.completed.wav":["audio/voice/Male3/cmd.completed.WAV",["voice.vl2"]],"audio/voice/male3/cmd.decline.m4a":["audio/voice/Male3/cmd.decline.m4a",["voice.vl2"]],"audio/voice/male3/cmd.decline.wav":["audio/voice/Male3/cmd.decline.WAV",["voice.vl2"]],"audio/voice/male3/def.base.m4a":["audio/voice/Male3/def.base.m4a",["voice.vl2"]],"audio/voice/male3/def.base.wav":["audio/voice/Male3/def.base.WAV",["voice.vl2"]],"audio/voice/male3/def.carrier.m4a":["audio/voice/Male3/def.carrier.m4a",["voice.vl2"]],"audio/voice/male3/def.carrier.wav":["audio/voice/Male3/def.carrier.WAV",["voice.vl2"]],"audio/voice/male3/def.entrances.m4a":["audio/voice/Male3/def.entrances.m4a",["voice.vl2"]],"audio/voice/male3/def.entrances.wav":["audio/voice/Male3/def.entrances.WAV",["voice.vl2"]],"audio/voice/male3/def.flag.m4a":["audio/voice/Male3/def.flag.m4a",["voice.vl2"]],"audio/voice/male3/def.flag.wav":["audio/voice/Male3/def.flag.WAV",["voice.vl2"]],"audio/voice/male3/def.generator.m4a":["audio/voice/Male3/def.generator.m4a",["voice.vl2"]],"audio/voice/male3/def.generator.wav":["audio/voice/Male3/def.generator.WAV",["voice.vl2"]],"audio/voice/male3/def.me.m4a":["audio/voice/Male3/def.me.m4a",["voice.vl2"]],"audio/voice/male3/def.me.wav":["audio/voice/Male3/def.me.WAV",["voice.vl2"]],"audio/voice/male3/def.nexus.m4a":["audio/voice/Male3/def.nexus.m4a",["voice.vl2"]],"audio/voice/male3/def.nexus.wav":["audio/voice/Male3/def.nexus.WAV",["voice.vl2"]],"audio/voice/male3/def.objective.m4a":["audio/voice/Male3/def.objective.m4a",["voice.vl2"]],"audio/voice/male3/def.objective.wav":["audio/voice/Male3/def.objective.WAV",["voice.vl2"]],"audio/voice/male3/def.reinforce.m4a":["audio/voice/Male3/def.reinforce.m4a",["voice.vl2"]],"audio/voice/male3/def.reinforce.wav":["audio/voice/Male3/def.reinforce.WAV",["voice.vl2"]],"audio/voice/male3/def.sensors.m4a":["audio/voice/Male3/def.sensors.m4a",["voice.vl2"]],"audio/voice/male3/def.sensors.wav":["audio/voice/Male3/def.sensors.WAV",["voice.vl2"]],"audio/voice/male3/def.turrets.m4a":["audio/voice/Male3/def.turrets.m4a",["voice.vl2"]],"audio/voice/male3/def.turrets.wav":["audio/voice/Male3/def.turrets.WAV",["voice.vl2"]],"audio/voice/male3/def.vehicle.m4a":["audio/voice/Male3/def.vehicle.m4a",["voice.vl2"]],"audio/voice/male3/def.vehicle.wav":["audio/voice/Male3/def.vehicle.WAV",["voice.vl2"]],"audio/voice/male3/ene.base.m4a":["audio/voice/Male3/ene.base.m4a",["voice.vl2"]],"audio/voice/male3/ene.base.wav":["audio/voice/Male3/ene.base.WAV",["voice.vl2"]],"audio/voice/male3/ene.disarray.m4a":["audio/voice/Male3/ene.disarray.m4a",["voice.vl2"]],"audio/voice/male3/ene.disarray.wav":["audio/voice/Male3/ene.disarray.WAV",["voice.vl2"]],"audio/voice/male3/ene.generator.m4a":["audio/voice/Male3/ene.generator.m4a",["voice.vl2"]],"audio/voice/male3/ene.generator.wav":["audio/voice/Male3/ene.generator.WAV",["voice.vl2"]],"audio/voice/male3/ene.remotes.m4a":["audio/voice/Male3/ene.remotes.m4a",["voice.vl2"]],"audio/voice/male3/ene.remotes.wav":["audio/voice/Male3/ene.remotes.WAV",["voice.vl2"]],"audio/voice/male3/ene.sensors.m4a":["audio/voice/Male3/ene.sensors.m4a",["voice.vl2"]],"audio/voice/male3/ene.sensors.wav":["audio/voice/Male3/ene.sensors.WAV",["voice.vl2"]],"audio/voice/male3/ene.turrets.m4a":["audio/voice/Male3/ene.turrets.m4a",["voice.vl2"]],"audio/voice/male3/ene.turrets.wav":["audio/voice/Male3/ene.turrets.WAV",["voice.vl2"]],"audio/voice/male3/ene.vehicle.m4a":["audio/voice/Male3/ene.vehicle.m4a",["voice.vl2"]],"audio/voice/male3/ene.vehicle.wav":["audio/voice/Male3/ene.vehicle.WAV",["voice.vl2"]],"audio/voice/male3/flg.flag.m4a":["audio/voice/Male3/flg.flag.m4a",["voice.vl2"]],"audio/voice/male3/flg.flag.wav":["audio/voice/Male3/flg.flag.WAV",["voice.vl2"]],"audio/voice/male3/flg.give.m4a":["audio/voice/Male3/flg.give.m4a",["voice.vl2"]],"audio/voice/male3/flg.give.wav":["audio/voice/Male3/flg.give.WAV",["voice.vl2"]],"audio/voice/male3/flg.huntergive.m4a":["audio/voice/Male3/flg.huntergive.m4a",["voice.vl2"]],"audio/voice/male3/flg.huntergive.wav":["audio/voice/Male3/flg.huntergive.WAV",["voice.vl2"]],"audio/voice/male3/flg.huntertake.m4a":["audio/voice/Male3/flg.huntertake.m4a",["voice.vl2"]],"audio/voice/male3/flg.huntertake.wav":["audio/voice/Male3/flg.huntertake.WAV",["voice.vl2"]],"audio/voice/male3/flg.retrieve.m4a":["audio/voice/Male3/flg.retrieve.m4a",["voice.vl2"]],"audio/voice/male3/flg.retrieve.wav":["audio/voice/Male3/flg.retrieve.WAV",["voice.vl2"]],"audio/voice/male3/flg.secure.m4a":["audio/voice/Male3/flg.secure.m4a",["voice.vl2"]],"audio/voice/male3/flg.secure.wav":["audio/voice/Male3/flg.secure.WAV",["voice.vl2"]],"audio/voice/male3/flg.take.m4a":["audio/voice/Male3/flg.take.m4a",["voice.vl2"]],"audio/voice/male3/flg.take.wav":["audio/voice/Male3/flg.take.WAV",["voice.vl2"]],"audio/voice/male3/gbl.anytime.m4a":["audio/voice/Male3/gbl.anytime.m4a",["voice.vl2"]],"audio/voice/male3/gbl.anytime.wav":["audio/voice/Male3/gbl.anytime.WAV",["voice.vl2"]],"audio/voice/male3/gbl.awesome.m4a":["audio/voice/Male3/gbl.awesome.m4a",["voice.vl2"]],"audio/voice/male3/gbl.awesome.wav":["audio/voice/Male3/gbl.awesome.WAV",["voice.vl2"]],"audio/voice/male3/gbl.aww.m4a":["audio/voice/Male3/gbl.aww.m4a",["voice.vl2"]],"audio/voice/male3/gbl.aww.wav":["audio/voice/Male3/gbl.aww.WAV",["voice.vl2"]],"audio/voice/male3/gbl.brag.m4a":["audio/voice/Male3/gbl.brag.m4a",["voice.vl2"]],"audio/voice/male3/gbl.brag.wav":["audio/voice/Male3/gbl.brag.WAV",["voice.vl2"]],"audio/voice/male3/gbl.bye.m4a":["audio/voice/Male3/gbl.bye.m4a",["voice.vl2"]],"audio/voice/male3/gbl.bye.wav":["audio/voice/Male3/gbl.bye.WAV",["voice.vl2"]],"audio/voice/male3/gbl.dunno.m4a":["audio/voice/Male3/gbl.dunno.m4a",["voice.vl2"]],"audio/voice/male3/gbl.dunno.wav":["audio/voice/Male3/gbl.dunno.WAV",["voice.vl2"]],"audio/voice/male3/gbl.goodgame.m4a":["audio/voice/Male3/gbl.goodgame.m4a",["voice.vl2"]],"audio/voice/male3/gbl.goodgame.wav":["audio/voice/Male3/gbl.goodgame.WAV",["voice.vl2"]],"audio/voice/male3/gbl.hi.m4a":["audio/voice/Male3/gbl.hi.m4a",["voice.vl2"]],"audio/voice/male3/gbl.hi.wav":["audio/voice/Male3/gbl.hi.WAV",["voice.vl2"]],"audio/voice/male3/gbl.nice.m4a":["audio/voice/Male3/gbl.nice.m4a",["voice.vl2"]],"audio/voice/male3/gbl.nice.wav":["audio/voice/Male3/gbl.nice.WAV",["voice.vl2"]],"audio/voice/male3/gbl.no.m4a":["audio/voice/Male3/gbl.no.m4a",["voice.vl2"]],"audio/voice/male3/gbl.no.wav":["audio/voice/Male3/gbl.no.WAV",["voice.vl2"]],"audio/voice/male3/gbl.obnoxious.m4a":["audio/voice/Male3/gbl.obnoxious.m4a",["voice.vl2"]],"audio/voice/male3/gbl.obnoxious.wav":["audio/voice/Male3/gbl.obnoxious.WAV",["voice.vl2"]],"audio/voice/male3/gbl.oops.m4a":["audio/voice/Male3/gbl.oops.m4a",["voice.vl2"]],"audio/voice/male3/gbl.oops.wav":["audio/voice/Male3/gbl.oops.WAV",["voice.vl2"]],"audio/voice/male3/gbl.quiet.m4a":["audio/voice/Male3/gbl.quiet.m4a",["voice.vl2"]],"audio/voice/male3/gbl.quiet.wav":["audio/voice/Male3/gbl.quiet.WAV",["voice.vl2"]],"audio/voice/male3/gbl.rock.m4a":["audio/voice/Male3/gbl.rock.m4a",["voice.vl2"]],"audio/voice/male3/gbl.rock.wav":["audio/voice/Male3/gbl.rock.WAV",["voice.vl2"]],"audio/voice/male3/gbl.sarcasm.m4a":["audio/voice/Male3/gbl.sarcasm.m4a",["voice.vl2"]],"audio/voice/male3/gbl.sarcasm.wav":["audio/voice/Male3/gbl.sarcasm.WAV",["voice.vl2"]],"audio/voice/male3/gbl.shazbot.m4a":["audio/voice/Male3/gbl.shazbot.m4a",["voice.vl2"]],"audio/voice/male3/gbl.shazbot.wav":["audio/voice/Male3/gbl.shazbot.WAV",["voice.vl2"]],"audio/voice/male3/gbl.shooting.m4a":["audio/voice/Male3/gbl.shooting.m4a",["voice.vl2"]],"audio/voice/male3/gbl.shooting.wav":["audio/voice/Male3/gbl.shooting.WAV",["voice.vl2"]],"audio/voice/male3/gbl.thanks.m4a":["audio/voice/Male3/gbl.thanks.m4a",["voice.vl2"]],"audio/voice/male3/gbl.thanks.wav":["audio/voice/Male3/gbl.thanks.WAV",["voice.vl2"]],"audio/voice/male3/gbl.wait.m4a":["audio/voice/Male3/gbl.wait.m4a",["voice.vl2"]],"audio/voice/male3/gbl.wait.wav":["audio/voice/Male3/gbl.wait.WAV",["voice.vl2"]],"audio/voice/male3/gbl.when.m4a":["audio/voice/Male3/gbl.when.m4a",["voice.vl2"]],"audio/voice/male3/gbl.when.wav":["audio/voice/Male3/gbl.when.WAV",["voice.vl2"]],"audio/voice/male3/gbl.woohoo.m4a":["audio/voice/Male3/gbl.woohoo.m4a",["voice.vl2"]],"audio/voice/male3/gbl.woohoo.wav":["audio/voice/Male3/gbl.woohoo.WAV",["voice.vl2"]],"audio/voice/male3/gbl.yes.m4a":["audio/voice/Male3/gbl.yes.m4a",["voice.vl2"]],"audio/voice/male3/gbl.yes.wav":["audio/voice/Male3/gbl.yes.WAV",["voice.vl2"]],"audio/voice/male3/need.bombardier.m4a":["audio/voice/Male3/need.bombardier.m4a",["voice.vl2"]],"audio/voice/male3/need.bombardier.wav":["audio/voice/Male3/need.bombardier.WAV",["voice.vl2"]],"audio/voice/male3/need.cover.m4a":["audio/voice/Male3/need.cover.m4a",["voice.vl2"]],"audio/voice/male3/need.cover.wav":["audio/voice/Male3/need.cover.WAV",["voice.vl2"]],"audio/voice/male3/need.driver.m4a":["audio/voice/Male3/need.driver.m4a",["voice.vl2"]],"audio/voice/male3/need.driver.wav":["audio/voice/Male3/need.driver.WAV",["voice.vl2"]],"audio/voice/male3/need.escort.m4a":["audio/voice/Male3/need.escort.m4a",["voice.vl2"]],"audio/voice/male3/need.escort.wav":["audio/voice/Male3/need.escort.WAV",["voice.vl2"]],"audio/voice/male3/need.flyer.m4a":["audio/voice/Male3/need.flyer.m4a",["voice.vl2"]],"audio/voice/male3/need.flyer.wav":["audio/voice/Male3/need.flyer.WAV",["voice.vl2"]],"audio/voice/male3/need.gunship.m4a":["audio/voice/Male3/need.gunship.m4a",["voice.vl2"]],"audio/voice/male3/need.gunship.wav":["audio/voice/Male3/need.gunship.WAV",["voice.vl2"]],"audio/voice/male3/need.hold.m4a":["audio/voice/Male3/need.hold.m4a",["voice.vl2"]],"audio/voice/male3/need.hold.wav":["audio/voice/Male3/need.hold.WAV",["voice.vl2"]],"audio/voice/male3/need.ride.m4a":["audio/voice/Male3/need.ride.m4a",["voice.vl2"]],"audio/voice/male3/need.ride.wav":["audio/voice/Male3/need.ride.WAV",["voice.vl2"]],"audio/voice/male3/need.support.m4a":["audio/voice/Male3/need.support.m4a",["voice.vl2"]],"audio/voice/male3/need.support.wav":["audio/voice/Male3/need.support.WAV",["voice.vl2"]],"audio/voice/male3/need.tailgunner.m4a":["audio/voice/Male3/need.tailgunner.m4a",["voice.vl2"]],"audio/voice/male3/need.tailgunner.wav":["audio/voice/Male3/need.tailgunner.WAV",["voice.vl2"]],"audio/voice/male3/need.where.m4a":["audio/voice/Male3/need.where.m4a",["voice.vl2"]],"audio/voice/male3/need.where.wav":["audio/voice/Male3/need.where.WAV",["voice.vl2"]],"audio/voice/male3/rep.base.m4a":["audio/voice/Male3/rep.base.m4a",["voice.vl2"]],"audio/voice/male3/rep.base.wav":["audio/voice/Male3/rep.base.WAV",["voice.vl2"]],"audio/voice/male3/rep.generator.m4a":["audio/voice/Male3/rep.generator.m4a",["voice.vl2"]],"audio/voice/male3/rep.generator.wav":["audio/voice/Male3/rep.generator.WAV",["voice.vl2"]],"audio/voice/male3/rep.me.m4a":["audio/voice/Male3/rep.me.m4a",["voice.vl2"]],"audio/voice/male3/rep.me.wav":["audio/voice/Male3/rep.me.WAV",["voice.vl2"]],"audio/voice/male3/rep.sensors.m4a":["audio/voice/Male3/rep.sensors.m4a",["voice.vl2"]],"audio/voice/male3/rep.sensors.wav":["audio/voice/Male3/rep.sensors.WAV",["voice.vl2"]],"audio/voice/male3/rep.turrets.m4a":["audio/voice/Male3/rep.turrets.m4a",["voice.vl2"]],"audio/voice/male3/rep.turrets.wav":["audio/voice/Male3/rep.turrets.WAV",["voice.vl2"]],"audio/voice/male3/rep.vehicle.m4a":["audio/voice/Male3/rep.vehicle.m4a",["voice.vl2"]],"audio/voice/male3/rep.vehicle.wav":["audio/voice/Male3/rep.vehicle.WAV",["voice.vl2"]],"audio/voice/male3/slf.att.attack.m4a":["audio/voice/Male3/slf.att.attack.m4a",["voice.vl2"]],"audio/voice/male3/slf.att.attack.wav":["audio/voice/Male3/slf.att.attack.WAV",["voice.vl2"]],"audio/voice/male3/slf.att.base.m4a":["audio/voice/Male3/slf.att.base.m4a",["voice.vl2"]],"audio/voice/male3/slf.att.base.wav":["audio/voice/Male3/slf.att.base.WAV",["voice.vl2"]],"audio/voice/male3/slf.att.flag.m4a":["audio/voice/Male3/slf.att.flag.m4a",["voice.vl2"]],"audio/voice/male3/slf.att.flag.wav":["audio/voice/Male3/slf.att.flag.WAV",["voice.vl2"]],"audio/voice/male3/slf.att.generator.m4a":["audio/voice/Male3/slf.att.generator.m4a",["voice.vl2"]],"audio/voice/male3/slf.att.generator.wav":["audio/voice/Male3/slf.att.generator.WAV",["voice.vl2"]],"audio/voice/male3/slf.att.sensors.m4a":["audio/voice/Male3/slf.att.sensors.m4a",["voice.vl2"]],"audio/voice/male3/slf.att.sensors.wav":["audio/voice/Male3/slf.att.sensors.WAV",["voice.vl2"]],"audio/voice/male3/slf.att.turrets.m4a":["audio/voice/Male3/slf.att.turrets.m4a",["voice.vl2"]],"audio/voice/male3/slf.att.turrets.wav":["audio/voice/Male3/slf.att.turrets.WAV",["voice.vl2"]],"audio/voice/male3/slf.att.vehicle.m4a":["audio/voice/Male3/slf.att.vehicle.m4a",["voice.vl2"]],"audio/voice/male3/slf.att.vehicle.wav":["audio/voice/Male3/slf.att.vehicle.WAV",["voice.vl2"]],"audio/voice/male3/slf.def.base.m4a":["audio/voice/Male3/slf.def.base.m4a",["voice.vl2"]],"audio/voice/male3/slf.def.base.wav":["audio/voice/Male3/slf.def.base.WAV",["voice.vl2"]],"audio/voice/male3/slf.def.defend.m4a":["audio/voice/Male3/slf.def.defend.m4a",["voice.vl2"]],"audio/voice/male3/slf.def.defend.wav":["audio/voice/Male3/slf.def.defend.WAV",["voice.vl2"]],"audio/voice/male3/slf.def.flag.m4a":["audio/voice/Male3/slf.def.flag.m4a",["voice.vl2"]],"audio/voice/male3/slf.def.flag.wav":["audio/voice/Male3/slf.def.flag.WAV",["voice.vl2"]],"audio/voice/male3/slf.def.generator.m4a":["audio/voice/Male3/slf.def.generator.m4a",["voice.vl2"]],"audio/voice/male3/slf.def.generator.wav":["audio/voice/Male3/slf.def.generator.WAV",["voice.vl2"]],"audio/voice/male3/slf.def.nexus.m4a":["audio/voice/Male3/slf.def.nexus.m4a",["voice.vl2"]],"audio/voice/male3/slf.def.nexus.wav":["audio/voice/Male3/slf.def.nexus.WAV",["voice.vl2"]],"audio/voice/male3/slf.def.sensors.m4a":["audio/voice/Male3/slf.def.sensors.m4a",["voice.vl2"]],"audio/voice/male3/slf.def.sensors.wav":["audio/voice/Male3/slf.def.sensors.WAV",["voice.vl2"]],"audio/voice/male3/slf.def.turrets.m4a":["audio/voice/Male3/slf.def.turrets.m4a",["voice.vl2"]],"audio/voice/male3/slf.def.turrets.wav":["audio/voice/Male3/slf.def.turrets.WAV",["voice.vl2"]],"audio/voice/male3/slf.def.vehicle.m4a":["audio/voice/Male3/slf.def.vehicle.m4a",["voice.vl2"]],"audio/voice/male3/slf.def.vehicle.wav":["audio/voice/Male3/slf.def.vehicle.WAV",["voice.vl2"]],"audio/voice/male3/slf.rep.base.m4a":["audio/voice/Male3/slf.rep.base.m4a",["voice.vl2"]],"audio/voice/male3/slf.rep.base.wav":["audio/voice/Male3/slf.rep.base.WAV",["voice.vl2"]],"audio/voice/male3/slf.rep.equipment.m4a":["audio/voice/Male3/slf.rep.equipment.m4a",["voice.vl2"]],"audio/voice/male3/slf.rep.equipment.wav":["audio/voice/Male3/slf.rep.equipment.WAV",["voice.vl2"]],"audio/voice/male3/slf.rep.generator.m4a":["audio/voice/Male3/slf.rep.generator.m4a",["voice.vl2"]],"audio/voice/male3/slf.rep.generator.wav":["audio/voice/Male3/slf.rep.generator.WAV",["voice.vl2"]],"audio/voice/male3/slf.rep.repairing.m4a":["audio/voice/Male3/slf.rep.repairing.m4a",["voice.vl2"]],"audio/voice/male3/slf.rep.repairing.wav":["audio/voice/Male3/slf.rep.repairing.WAV",["voice.vl2"]],"audio/voice/male3/slf.rep.sensors.m4a":["audio/voice/Male3/slf.rep.sensors.m4a",["voice.vl2"]],"audio/voice/male3/slf.rep.sensors.wav":["audio/voice/Male3/slf.rep.sensors.WAV",["voice.vl2"]],"audio/voice/male3/slf.rep.turrets.m4a":["audio/voice/Male3/slf.rep.turrets.m4a",["voice.vl2"]],"audio/voice/male3/slf.rep.turrets.wav":["audio/voice/Male3/slf.rep.turrets.WAV",["voice.vl2"]],"audio/voice/male3/slf.rep.vehicle.m4a":["audio/voice/Male3/slf.rep.vehicle.m4a",["voice.vl2"]],"audio/voice/male3/slf.rep.vehicle.wav":["audio/voice/Male3/slf.rep.vehicle.WAV",["voice.vl2"]],"audio/voice/male3/slf.tsk.cover.m4a":["audio/voice/Male3/slf.tsk.cover.m4a",["voice.vl2"]],"audio/voice/male3/slf.tsk.cover.wav":["audio/voice/Male3/slf.tsk.cover.WAV",["voice.vl2"]],"audio/voice/male3/slf.tsk.defense.m4a":["audio/voice/Male3/slf.tsk.defense.m4a",["voice.vl2"]],"audio/voice/male3/slf.tsk.defense.wav":["audio/voice/Male3/slf.tsk.defense.WAV",["voice.vl2"]],"audio/voice/male3/slf.tsk.generic.m4a":["audio/voice/Male3/slf.tsk.generic.m4a",["voice.vl2"]],"audio/voice/male3/slf.tsk.generic.wav":["audio/voice/Male3/slf.tsk.generic.WAV",["voice.vl2"]],"audio/voice/male3/slf.tsk.remotes.m4a":["audio/voice/Male3/slf.tsk.remotes.m4a",["voice.vl2"]],"audio/voice/male3/slf.tsk.remotes.wav":["audio/voice/Male3/slf.tsk.remotes.WAV",["voice.vl2"]],"audio/voice/male3/slf.tsk.sensors.m4a":["audio/voice/Male3/slf.tsk.sensors.m4a",["voice.vl2"]],"audio/voice/male3/slf.tsk.sensors.wav":["audio/voice/Male3/slf.tsk.sensors.WAV",["voice.vl2"]],"audio/voice/male3/slf.tsk.turrets.m4a":["audio/voice/Male3/slf.tsk.turrets.m4a",["voice.vl2"]],"audio/voice/male3/slf.tsk.turrets.wav":["audio/voice/Male3/slf.tsk.turrets.WAV",["voice.vl2"]],"audio/voice/male3/slf.tsk.vehicle.m4a":["audio/voice/Male3/slf.tsk.vehicle.m4a",["voice.vl2"]],"audio/voice/male3/slf.tsk.vehicle.wav":["audio/voice/Male3/slf.tsk.vehicle.WAV",["voice.vl2"]],"audio/voice/male3/tgt.acquired.m4a":["audio/voice/Male3/tgt.acquired.m4a",["voice.vl2"]],"audio/voice/male3/tgt.acquired.wav":["audio/voice/Male3/tgt.acquired.WAV",["voice.vl2"]],"audio/voice/male3/tgt.base.m4a":["audio/voice/Male3/tgt.base.m4a",["voice.vl2"]],"audio/voice/male3/tgt.base.wav":["audio/voice/Male3/tgt.base.WAV",["voice.vl2"]],"audio/voice/male3/tgt.destroyed.m4a":["audio/voice/Male3/tgt.destroyed.m4a",["voice.vl2"]],"audio/voice/male3/tgt.destroyed.wav":["audio/voice/Male3/tgt.destroyed.WAV",["voice.vl2"]],"audio/voice/male3/tgt.flag.m4a":["audio/voice/Male3/tgt.flag.m4a",["voice.vl2"]],"audio/voice/male3/tgt.flag.wav":["audio/voice/Male3/tgt.flag.WAV",["voice.vl2"]],"audio/voice/male3/tgt.my.m4a":["audio/voice/Male3/tgt.my.m4a",["voice.vl2"]],"audio/voice/male3/tgt.my.wav":["audio/voice/Male3/tgt.my.WAV",["voice.vl2"]],"audio/voice/male3/tgt.need.m4a":["audio/voice/Male3/tgt.need.m4a",["voice.vl2"]],"audio/voice/male3/tgt.need.wav":["audio/voice/Male3/tgt.need.WAV",["voice.vl2"]],"audio/voice/male3/tgt.sensors.m4a":["audio/voice/Male3/tgt.sensors.m4a",["voice.vl2"]],"audio/voice/male3/tgt.sensors.wav":["audio/voice/Male3/tgt.sensors.WAV",["voice.vl2"]],"audio/voice/male3/tgt.turret.m4a":["audio/voice/Male3/tgt.turret.m4a",["voice.vl2"]],"audio/voice/male3/tgt.turret.wav":["audio/voice/Male3/tgt.turret.WAV",["voice.vl2"]],"audio/voice/male3/tgt.wait.m4a":["audio/voice/Male3/tgt.wait.m4a",["voice.vl2"]],"audio/voice/male3/tgt.wait.wav":["audio/voice/Male3/tgt.wait.WAV",["voice.vl2"]],"audio/voice/male3/vqk.anytime.m4a":["audio/voice/Male3/vqk.anytime.m4a",["voice.vl2"]],"audio/voice/male3/vqk.anytime.wav":["audio/voice/Male3/vqk.anytime.WAV",["voice.vl2"]],"audio/voice/male3/vqk.base.m4a":["audio/voice/Male3/vqk.base.m4a",["voice.vl2"]],"audio/voice/male3/vqk.base.wav":["audio/voice/Male3/vqk.base.WAV",["voice.vl2"]],"audio/voice/male3/vqk.ceasefire.m4a":["audio/voice/Male3/vqk.ceasefire.m4a",["voice.vl2"]],"audio/voice/male3/vqk.ceasefire.wav":["audio/voice/Male3/vqk.ceasefire.WAV",["voice.vl2"]],"audio/voice/male3/vqk.dunno.m4a":["audio/voice/Male3/vqk.dunno.m4a",["voice.vl2"]],"audio/voice/male3/vqk.dunno.wav":["audio/voice/Male3/vqk.dunno.WAV",["voice.vl2"]],"audio/voice/male3/vqk.help.m4a":["audio/voice/Male3/vqk.help.m4a",["voice.vl2"]],"audio/voice/male3/vqk.help.wav":["audio/voice/Male3/vqk.help.WAV",["voice.vl2"]],"audio/voice/male3/vqk.move.m4a":["audio/voice/Male3/vqk.move.m4a",["voice.vl2"]],"audio/voice/male3/vqk.move.wav":["audio/voice/Male3/vqk.move.WAV",["voice.vl2"]],"audio/voice/male3/vqk.no.m4a":["audio/voice/Male3/vqk.no.m4a",["voice.vl2"]],"audio/voice/male3/vqk.no.wav":["audio/voice/Male3/vqk.no.WAV",["voice.vl2"]],"audio/voice/male3/vqk.quiet.m4a":["audio/voice/Male3/vqk.quiet.m4a",["voice.vl2"]],"audio/voice/male3/vqk.quiet.wav":["audio/voice/Male3/vqk.quiet.WAV",["voice.vl2"]],"audio/voice/male3/vqk.sorry.m4a":["audio/voice/Male3/vqk.sorry.m4a",["voice.vl2"]],"audio/voice/male3/vqk.sorry.wav":["audio/voice/Male3/vqk.sorry.WAV",["voice.vl2"]],"audio/voice/male3/vqk.thanks.m4a":["audio/voice/Male3/vqk.thanks.m4a",["voice.vl2"]],"audio/voice/male3/vqk.thanks.wav":["audio/voice/Male3/vqk.thanks.WAV",["voice.vl2"]],"audio/voice/male3/vqk.wait.m4a":["audio/voice/Male3/vqk.wait.m4a",["voice.vl2"]],"audio/voice/male3/vqk.wait.wav":["audio/voice/Male3/vqk.wait.WAV",["voice.vl2"]],"audio/voice/male3/vqk.yes.m4a":["audio/voice/Male3/vqk.yes.m4a",["voice.vl2"]],"audio/voice/male3/vqk.yes.wav":["audio/voice/Male3/vqk.yes.WAV",["voice.vl2"]],"audio/voice/male3/wrn.bomber.m4a":["audio/voice/Male3/wrn.bomber.m4a",["voice.vl2"]],"audio/voice/male3/wrn.bomber.wav":["audio/voice/Male3/wrn.bomber.WAV",["voice.vl2"]],"audio/voice/male3/wrn.enemy.m4a":["audio/voice/Male3/wrn.enemy.m4a",["voice.vl2"]],"audio/voice/male3/wrn.enemy.wav":["audio/voice/Male3/wrn.enemy.WAV",["voice.vl2"]],"audio/voice/male3/wrn.vehicles.m4a":["audio/voice/Male3/wrn.vehicles.m4a",["voice.vl2"]],"audio/voice/male3/wrn.vehicles.wav":["audio/voice/Male3/wrn.vehicles.WAV",["voice.vl2"]],"audio/voice/male3/wrn.watchit.m4a":["audio/voice/Male3/wrn.watchit.m4a",["voice.vl2"]],"audio/voice/male3/wrn.watchit.wav":["audio/voice/Male3/wrn.watchit.WAV",["voice.vl2"]],"audio/voice/male4/att.attack.m4a":["audio/voice/Male4/att.attack.m4a",["voice.vl2"]],"audio/voice/male4/att.attack.wav":["audio/voice/Male4/att.attack.WAV",["voice.vl2"]],"audio/voice/male4/att.base.m4a":["audio/voice/Male4/att.base.m4a",["voice.vl2"]],"audio/voice/male4/att.base.wav":["audio/voice/Male4/att.base.WAV",["voice.vl2"]],"audio/voice/male4/att.chase.m4a":["audio/voice/Male4/att.chase.m4a",["voice.vl2"]],"audio/voice/male4/att.chase.wav":["audio/voice/Male4/att.chase.WAV",["voice.vl2"]],"audio/voice/male4/att.distract.m4a":["audio/voice/Male4/att.distract.m4a",["voice.vl2"]],"audio/voice/male4/att.distract.wav":["audio/voice/Male4/att.distract.WAV",["voice.vl2"]],"audio/voice/male4/att.flag.m4a":["audio/voice/Male4/att.flag.m4a",["voice.vl2"]],"audio/voice/male4/att.flag.wav":["audio/voice/Male4/att.flag.WAV",["voice.vl2"]],"audio/voice/male4/att.generator.m4a":["audio/voice/Male4/att.generator.m4a",["voice.vl2"]],"audio/voice/male4/att.generator.wav":["audio/voice/Male4/att.generator.WAV",["voice.vl2"]],"audio/voice/male4/att.objective.m4a":["audio/voice/Male4/att.objective.m4a",["voice.vl2"]],"audio/voice/male4/att.objective.wav":["audio/voice/Male4/att.objective.WAV",["voice.vl2"]],"audio/voice/male4/att.reinforcements.m4a":["audio/voice/Male4/att.reinforcements.m4a",["voice.vl2"]],"audio/voice/male4/att.reinforcements.wav":["audio/voice/Male4/att.reinforcements.WAV",["voice.vl2"]],"audio/voice/male4/att.sensors.m4a":["audio/voice/Male4/att.sensors.m4a",["voice.vl2"]],"audio/voice/male4/att.sensors.wav":["audio/voice/Male4/att.sensors.WAV",["voice.vl2"]],"audio/voice/male4/att.turrets.m4a":["audio/voice/Male4/att.turrets.m4a",["voice.vl2"]],"audio/voice/male4/att.turrets.wav":["audio/voice/Male4/att.turrets.WAV",["voice.vl2"]],"audio/voice/male4/att.vehicle.m4a":["audio/voice/Male4/att.vehicle.m4a",["voice.vl2"]],"audio/voice/male4/att.vehicle.wav":["audio/voice/Male4/att.vehicle.WAV",["voice.vl2"]],"audio/voice/male4/att.wait.m4a":["audio/voice/Male4/att.wait.m4a",["voice.vl2"]],"audio/voice/male4/att.wait.wav":["audio/voice/Male4/att.wait.WAV",["voice.vl2"]],"audio/voice/male4/avo.deathcry_01.m4a":["audio/voice/Male4/avo.deathcry_01.m4a",["voice.vl2"]],"audio/voice/male4/avo.deathcry_01.wav":["audio/voice/Male4/avo.deathcry_01.WAV",["voice.vl2"]],"audio/voice/male4/avo.deathcry_02.m4a":["audio/voice/Male4/avo.deathcry_02.m4a",["voice.vl2"]],"audio/voice/male4/avo.deathcry_02.wav":["audio/voice/Male4/avo.deathcry_02.WAV",["voice.vl2"]],"audio/voice/male4/avo.grunt.m4a":["audio/voice/Male4/avo.grunt.m4a",["voice.vl2"]],"audio/voice/male4/avo.grunt.wav":["audio/voice/Male4/avo.grunt.WAV",["voice.vl2"]],"audio/voice/male4/avo.pain.m4a":["audio/voice/Male4/avo.pain.m4a",["voice.vl2"]],"audio/voice/male4/avo.pain.wav":["audio/voice/Male4/avo.pain.WAV",["voice.vl2"]],"audio/voice/male4/bas.clear.m4a":["audio/voice/Male4/bas.clear.m4a",["voice.vl2"]],"audio/voice/male4/bas.clear.wav":["audio/voice/Male4/bas.clear.WAV",["voice.vl2"]],"audio/voice/male4/bas.enemy.m4a":["audio/voice/Male4/bas.enemy.m4a",["voice.vl2"]],"audio/voice/male4/bas.enemy.wav":["audio/voice/Male4/bas.enemy.WAV",["voice.vl2"]],"audio/voice/male4/bas.retake.m4a":["audio/voice/Male4/bas.retake.m4a",["voice.vl2"]],"audio/voice/male4/bas.retake.wav":["audio/voice/Male4/bas.retake.WAV",["voice.vl2"]],"audio/voice/male4/bas.secure.m4a":["audio/voice/Male4/bas.secure.m4a",["voice.vl2"]],"audio/voice/male4/bas.secure.wav":["audio/voice/Male4/bas.secure.WAV",["voice.vl2"]],"audio/voice/male4/bas.taken.m4a":["audio/voice/Male4/bas.taken.m4a",["voice.vl2"]],"audio/voice/male4/bas.taken.wav":["audio/voice/Male4/bas.taken.WAV",["voice.vl2"]],"audio/voice/male4/cmd.acknowledge.m4a":["audio/voice/Male4/cmd.acknowledge.m4a",["voice.vl2"]],"audio/voice/male4/cmd.acknowledge.wav":["audio/voice/Male4/cmd.acknowledge.WAV",["voice.vl2"]],"audio/voice/male4/cmd.bot.m4a":["audio/voice/Male4/cmd.bot.m4a",["voice.vl2"]],"audio/voice/male4/cmd.bot.wav":["audio/voice/Male4/cmd.bot.WAV",["voice.vl2"]],"audio/voice/male4/cmd.completed.m4a":["audio/voice/Male4/cmd.completed.m4a",["voice.vl2"]],"audio/voice/male4/cmd.completed.wav":["audio/voice/Male4/cmd.completed.WAV",["voice.vl2"]],"audio/voice/male4/cmd.decline.m4a":["audio/voice/Male4/cmd.decline.m4a",["voice.vl2"]],"audio/voice/male4/cmd.decline.wav":["audio/voice/Male4/cmd.decline.WAV",["voice.vl2"]],"audio/voice/male4/def.base.m4a":["audio/voice/Male4/def.base.m4a",["voice.vl2"]],"audio/voice/male4/def.base.wav":["audio/voice/Male4/def.base.WAV",["voice.vl2"]],"audio/voice/male4/def.carrier.m4a":["audio/voice/Male4/def.carrier.m4a",["voice.vl2"]],"audio/voice/male4/def.carrier.wav":["audio/voice/Male4/def.carrier.WAV",["voice.vl2"]],"audio/voice/male4/def.entrances.m4a":["audio/voice/Male4/def.entrances.m4a",["voice.vl2"]],"audio/voice/male4/def.entrances.wav":["audio/voice/Male4/def.entrances.WAV",["voice.vl2"]],"audio/voice/male4/def.flag.m4a":["audio/voice/Male4/def.flag.m4a",["voice.vl2"]],"audio/voice/male4/def.flag.wav":["audio/voice/Male4/def.flag.WAV",["voice.vl2"]],"audio/voice/male4/def.generator.m4a":["audio/voice/Male4/def.generator.m4a",["voice.vl2"]],"audio/voice/male4/def.generator.wav":["audio/voice/Male4/def.generator.WAV",["voice.vl2"]],"audio/voice/male4/def.me.m4a":["audio/voice/Male4/def.me.m4a",["voice.vl2"]],"audio/voice/male4/def.me.wav":["audio/voice/Male4/def.me.WAV",["voice.vl2"]],"audio/voice/male4/def.nexus.m4a":["audio/voice/Male4/def.nexus.m4a",["voice.vl2"]],"audio/voice/male4/def.nexus.wav":["audio/voice/Male4/def.nexus.WAV",["voice.vl2"]],"audio/voice/male4/def.objective.m4a":["audio/voice/Male4/def.objective.m4a",["voice.vl2"]],"audio/voice/male4/def.objective.wav":["audio/voice/Male4/def.objective.WAV",["voice.vl2"]],"audio/voice/male4/def.reinforce.m4a":["audio/voice/Male4/def.reinforce.m4a",["voice.vl2"]],"audio/voice/male4/def.reinforce.wav":["audio/voice/Male4/def.reinforce.WAV",["voice.vl2"]],"audio/voice/male4/def.sensors.m4a":["audio/voice/Male4/def.sensors.m4a",["voice.vl2"]],"audio/voice/male4/def.sensors.wav":["audio/voice/Male4/def.sensors.WAV",["voice.vl2"]],"audio/voice/male4/def.turrets.m4a":["audio/voice/Male4/def.turrets.m4a",["voice.vl2"]],"audio/voice/male4/def.turrets.wav":["audio/voice/Male4/def.turrets.WAV",["voice.vl2"]],"audio/voice/male4/def.vehicle.m4a":["audio/voice/Male4/def.vehicle.m4a",["voice.vl2"]],"audio/voice/male4/def.vehicle.wav":["audio/voice/Male4/def.vehicle.WAV",["voice.vl2"]],"audio/voice/male4/ene.base.m4a":["audio/voice/Male4/ene.base.m4a",["voice.vl2"]],"audio/voice/male4/ene.base.wav":["audio/voice/Male4/ene.base.WAV",["voice.vl2"]],"audio/voice/male4/ene.disarray.m4a":["audio/voice/Male4/ene.disarray.m4a",["voice.vl2"]],"audio/voice/male4/ene.disarray.wav":["audio/voice/Male4/ene.disarray.WAV",["voice.vl2"]],"audio/voice/male4/ene.generator.m4a":["audio/voice/Male4/ene.generator.m4a",["voice.vl2"]],"audio/voice/male4/ene.generator.wav":["audio/voice/Male4/ene.generator.WAV",["voice.vl2"]],"audio/voice/male4/ene.remotes.m4a":["audio/voice/Male4/ene.remotes.m4a",["voice.vl2"]],"audio/voice/male4/ene.remotes.wav":["audio/voice/Male4/ene.remotes.WAV",["voice.vl2"]],"audio/voice/male4/ene.sensors.m4a":["audio/voice/Male4/ene.sensors.m4a",["voice.vl2"]],"audio/voice/male4/ene.sensors.wav":["audio/voice/Male4/ene.sensors.WAV",["voice.vl2"]],"audio/voice/male4/ene.turrets.m4a":["audio/voice/Male4/ene.turrets.m4a",["voice.vl2"]],"audio/voice/male4/ene.turrets.wav":["audio/voice/Male4/ene.turrets.WAV",["voice.vl2"]],"audio/voice/male4/ene.vehicle.m4a":["audio/voice/Male4/ene.vehicle.m4a",["voice.vl2"]],"audio/voice/male4/ene.vehicle.wav":["audio/voice/Male4/ene.vehicle.WAV",["voice.vl2"]],"audio/voice/male4/flg.flag.m4a":["audio/voice/Male4/flg.flag.m4a",["voice.vl2"]],"audio/voice/male4/flg.flag.wav":["audio/voice/Male4/flg.flag.WAV",["voice.vl2"]],"audio/voice/male4/flg.give.m4a":["audio/voice/Male4/flg.give.m4a",["voice.vl2"]],"audio/voice/male4/flg.give.wav":["audio/voice/Male4/flg.give.WAV",["voice.vl2"]],"audio/voice/male4/flg.huntergive.m4a":["audio/voice/Male4/flg.huntergive.m4a",["voice.vl2"]],"audio/voice/male4/flg.huntergive.wav":["audio/voice/Male4/flg.huntergive.WAV",["voice.vl2"]],"audio/voice/male4/flg.huntertake.m4a":["audio/voice/Male4/flg.huntertake.m4a",["voice.vl2"]],"audio/voice/male4/flg.huntertake.wav":["audio/voice/Male4/flg.huntertake.WAV",["voice.vl2"]],"audio/voice/male4/flg.retrieve.m4a":["audio/voice/Male4/flg.retrieve.m4a",["voice.vl2"]],"audio/voice/male4/flg.retrieve.wav":["audio/voice/Male4/flg.retrieve.WAV",["voice.vl2"]],"audio/voice/male4/flg.secure.m4a":["audio/voice/Male4/flg.secure.m4a",["voice.vl2"]],"audio/voice/male4/flg.secure.wav":["audio/voice/Male4/flg.secure.WAV",["voice.vl2"]],"audio/voice/male4/flg.take.m4a":["audio/voice/Male4/flg.take.m4a",["voice.vl2"]],"audio/voice/male4/flg.take.wav":["audio/voice/Male4/flg.take.WAV",["voice.vl2"]],"audio/voice/male4/gbl.anytime.m4a":["audio/voice/Male4/gbl.anytime.m4a",["voice.vl2"]],"audio/voice/male4/gbl.anytime.wav":["audio/voice/Male4/gbl.anytime.WAV",["voice.vl2"]],"audio/voice/male4/gbl.awesome.m4a":["audio/voice/Male4/gbl.awesome.m4a",["voice.vl2"]],"audio/voice/male4/gbl.awesome.wav":["audio/voice/Male4/gbl.awesome.WAV",["voice.vl2"]],"audio/voice/male4/gbl.aww.m4a":["audio/voice/Male4/gbl.aww.m4a",["voice.vl2"]],"audio/voice/male4/gbl.aww.wav":["audio/voice/Male4/gbl.aww.WAV",["voice.vl2"]],"audio/voice/male4/gbl.brag.m4a":["audio/voice/Male4/gbl.brag.m4a",["voice.vl2"]],"audio/voice/male4/gbl.brag.wav":["audio/voice/Male4/gbl.brag.WAV",["voice.vl2"]],"audio/voice/male4/gbl.bye.m4a":["audio/voice/Male4/gbl.bye.m4a",["voice.vl2"]],"audio/voice/male4/gbl.bye.wav":["audio/voice/Male4/gbl.bye.WAV",["voice.vl2"]],"audio/voice/male4/gbl.dunno.m4a":["audio/voice/Male4/gbl.dunno.m4a",["voice.vl2"]],"audio/voice/male4/gbl.dunno.wav":["audio/voice/Male4/gbl.dunno.WAV",["voice.vl2"]],"audio/voice/male4/gbl.goodgame.m4a":["audio/voice/Male4/gbl.goodgame.m4a",["voice.vl2"]],"audio/voice/male4/gbl.goodgame.wav":["audio/voice/Male4/gbl.goodgame.WAV",["voice.vl2"]],"audio/voice/male4/gbl.hi.m4a":["audio/voice/Male4/gbl.hi.m4a",["voice.vl2"]],"audio/voice/male4/gbl.hi.wav":["audio/voice/Male4/gbl.hi.WAV",["voice.vl2"]],"audio/voice/male4/gbl.nice.m4a":["audio/voice/Male4/gbl.nice.m4a",["voice.vl2"]],"audio/voice/male4/gbl.nice.wav":["audio/voice/Male4/gbl.nice.WAV",["voice.vl2"]],"audio/voice/male4/gbl.no.m4a":["audio/voice/Male4/gbl.no.m4a",["voice.vl2"]],"audio/voice/male4/gbl.no.wav":["audio/voice/Male4/gbl.no.WAV",["voice.vl2"]],"audio/voice/male4/gbl.obnoxious.m4a":["audio/voice/Male4/gbl.obnoxious.m4a",["voice.vl2"]],"audio/voice/male4/gbl.obnoxious.wav":["audio/voice/Male4/gbl.obnoxious.WAV",["voice.vl2"]],"audio/voice/male4/gbl.oops.m4a":["audio/voice/Male4/gbl.oops.m4a",["voice.vl2"]],"audio/voice/male4/gbl.oops.wav":["audio/voice/Male4/gbl.oops.WAV",["voice.vl2"]],"audio/voice/male4/gbl.quiet.m4a":["audio/voice/Male4/gbl.quiet.m4a",["voice.vl2"]],"audio/voice/male4/gbl.quiet.wav":["audio/voice/Male4/gbl.quiet.WAV",["voice.vl2"]],"audio/voice/male4/gbl.rock.m4a":["audio/voice/Male4/gbl.rock.m4a",["voice.vl2"]],"audio/voice/male4/gbl.rock.wav":["audio/voice/Male4/gbl.rock.WAV",["voice.vl2"]],"audio/voice/male4/gbl.sarcasm.m4a":["audio/voice/Male4/gbl.sarcasm.m4a",["voice.vl2"]],"audio/voice/male4/gbl.sarcasm.wav":["audio/voice/Male4/gbl.sarcasm.WAV",["voice.vl2"]],"audio/voice/male4/gbl.shazbot.m4a":["audio/voice/Male4/gbl.shazbot.m4a",["voice.vl2"]],"audio/voice/male4/gbl.shazbot.wav":["audio/voice/Male4/gbl.shazbot.WAV",["voice.vl2"]],"audio/voice/male4/gbl.shooting.m4a":["audio/voice/Male4/gbl.shooting.m4a",["voice.vl2"]],"audio/voice/male4/gbl.shooting.wav":["audio/voice/Male4/gbl.shooting.WAV",["voice.vl2"]],"audio/voice/male4/gbl.thanks.m4a":["audio/voice/Male4/gbl.thanks.m4a",["voice.vl2"]],"audio/voice/male4/gbl.thanks.wav":["audio/voice/Male4/gbl.thanks.WAV",["voice.vl2"]],"audio/voice/male4/gbl.wait.m4a":["audio/voice/Male4/gbl.wait.m4a",["voice.vl2"]],"audio/voice/male4/gbl.wait.wav":["audio/voice/Male4/gbl.wait.WAV",["voice.vl2"]],"audio/voice/male4/gbl.when.m4a":["audio/voice/Male4/gbl.when.m4a",["voice.vl2"]],"audio/voice/male4/gbl.when.wav":["audio/voice/Male4/gbl.when.WAV",["voice.vl2"]],"audio/voice/male4/gbl.woohoo.m4a":["audio/voice/Male4/gbl.woohoo.m4a",["voice.vl2"]],"audio/voice/male4/gbl.woohoo.wav":["audio/voice/Male4/gbl.woohoo.WAV",["voice.vl2"]],"audio/voice/male4/gbl.yes.m4a":["audio/voice/Male4/gbl.yes.m4a",["voice.vl2"]],"audio/voice/male4/gbl.yes.wav":["audio/voice/Male4/gbl.yes.WAV",["voice.vl2"]],"audio/voice/male4/need.bombardier.m4a":["audio/voice/Male4/need.bombardier.m4a",["voice.vl2"]],"audio/voice/male4/need.bombardier.wav":["audio/voice/Male4/need.bombardier.WAV",["voice.vl2"]],"audio/voice/male4/need.cover.m4a":["audio/voice/Male4/need.cover.m4a",["voice.vl2"]],"audio/voice/male4/need.cover.wav":["audio/voice/Male4/need.cover.WAV",["voice.vl2"]],"audio/voice/male4/need.driver.m4a":["audio/voice/Male4/need.driver.m4a",["voice.vl2"]],"audio/voice/male4/need.driver.wav":["audio/voice/Male4/need.driver.WAV",["voice.vl2"]],"audio/voice/male4/need.escort.m4a":["audio/voice/Male4/need.escort.m4a",["voice.vl2"]],"audio/voice/male4/need.escort.wav":["audio/voice/Male4/need.escort.WAV",["voice.vl2"]],"audio/voice/male4/need.flyer.m4a":["audio/voice/Male4/need.flyer.m4a",["voice.vl2"]],"audio/voice/male4/need.flyer.wav":["audio/voice/Male4/need.flyer.WAV",["voice.vl2"]],"audio/voice/male4/need.gunship.m4a":["audio/voice/Male4/need.gunship.m4a",["voice.vl2"]],"audio/voice/male4/need.gunship.wav":["audio/voice/Male4/need.gunship.WAV",["voice.vl2"]],"audio/voice/male4/need.hold.m4a":["audio/voice/Male4/need.hold.m4a",["voice.vl2"]],"audio/voice/male4/need.hold.wav":["audio/voice/Male4/need.hold.WAV",["voice.vl2"]],"audio/voice/male4/need.ride.m4a":["audio/voice/Male4/need.ride.m4a",["voice.vl2"]],"audio/voice/male4/need.ride.wav":["audio/voice/Male4/need.ride.WAV",["voice.vl2"]],"audio/voice/male4/need.support.m4a":["audio/voice/Male4/need.support.m4a",["voice.vl2"]],"audio/voice/male4/need.support.wav":["audio/voice/Male4/need.support.WAV",["voice.vl2"]],"audio/voice/male4/need.tailgunner.m4a":["audio/voice/Male4/need.tailgunner.m4a",["voice.vl2"]],"audio/voice/male4/need.tailgunner.wav":["audio/voice/Male4/need.tailgunner.WAV",["voice.vl2"]],"audio/voice/male4/need.where.m4a":["audio/voice/Male4/need.where.m4a",["voice.vl2"]],"audio/voice/male4/need.where.wav":["audio/voice/Male4/need.where.WAV",["voice.vl2"]],"audio/voice/male4/rep.base.m4a":["audio/voice/Male4/rep.base.m4a",["voice.vl2"]],"audio/voice/male4/rep.base.wav":["audio/voice/Male4/rep.base.WAV",["voice.vl2"]],"audio/voice/male4/rep.generator.m4a":["audio/voice/Male4/rep.generator.m4a",["voice.vl2"]],"audio/voice/male4/rep.generator.wav":["audio/voice/Male4/rep.generator.WAV",["voice.vl2"]],"audio/voice/male4/rep.me.m4a":["audio/voice/Male4/rep.me.m4a",["voice.vl2"]],"audio/voice/male4/rep.me.wav":["audio/voice/Male4/rep.me.WAV",["voice.vl2"]],"audio/voice/male4/rep.sensors.m4a":["audio/voice/Male4/rep.sensors.m4a",["voice.vl2"]],"audio/voice/male4/rep.sensors.wav":["audio/voice/Male4/rep.sensors.WAV",["voice.vl2"]],"audio/voice/male4/rep.turrets.m4a":["audio/voice/Male4/rep.turrets.m4a",["voice.vl2"]],"audio/voice/male4/rep.turrets.wav":["audio/voice/Male4/rep.turrets.WAV",["voice.vl2"]],"audio/voice/male4/rep.vehicle.m4a":["audio/voice/Male4/rep.vehicle.m4a",["voice.vl2"]],"audio/voice/male4/rep.vehicle.wav":["audio/voice/Male4/rep.vehicle.WAV",["voice.vl2"]],"audio/voice/male4/slf.att.attack.m4a":["audio/voice/Male4/slf.att.attack.m4a",["voice.vl2"]],"audio/voice/male4/slf.att.attack.wav":["audio/voice/Male4/slf.att.attack.WAV",["voice.vl2"]],"audio/voice/male4/slf.att.base.m4a":["audio/voice/Male4/slf.att.base.m4a",["voice.vl2"]],"audio/voice/male4/slf.att.base.wav":["audio/voice/Male4/slf.att.base.WAV",["voice.vl2"]],"audio/voice/male4/slf.att.flag.m4a":["audio/voice/Male4/slf.att.flag.m4a",["voice.vl2"]],"audio/voice/male4/slf.att.flag.wav":["audio/voice/Male4/slf.att.flag.WAV",["voice.vl2"]],"audio/voice/male4/slf.att.generator.m4a":["audio/voice/Male4/slf.att.generator.m4a",["voice.vl2"]],"audio/voice/male4/slf.att.generator.wav":["audio/voice/Male4/slf.att.generator.WAV",["voice.vl2"]],"audio/voice/male4/slf.att.sensors.m4a":["audio/voice/Male4/slf.att.sensors.m4a",["voice.vl2"]],"audio/voice/male4/slf.att.sensors.wav":["audio/voice/Male4/slf.att.sensors.WAV",["voice.vl2"]],"audio/voice/male4/slf.att.turrets.m4a":["audio/voice/Male4/slf.att.turrets.m4a",["voice.vl2"]],"audio/voice/male4/slf.att.turrets.wav":["audio/voice/Male4/slf.att.turrets.WAV",["voice.vl2"]],"audio/voice/male4/slf.att.vehicles.m4a":["audio/voice/Male4/slf.att.vehicles.m4a",["voice.vl2"]],"audio/voice/male4/slf.att.vehicles.wav":["audio/voice/Male4/slf.att.vehicles.WAV",["voice.vl2"]],"audio/voice/male4/slf.def.base.m4a":["audio/voice/Male4/slf.def.base.m4a",["voice.vl2"]],"audio/voice/male4/slf.def.base.wav":["audio/voice/Male4/slf.def.base.WAV",["voice.vl2"]],"audio/voice/male4/slf.def.defend.m4a":["audio/voice/Male4/slf.def.defend.m4a",["voice.vl2"]],"audio/voice/male4/slf.def.defend.wav":["audio/voice/Male4/slf.def.defend.WAV",["voice.vl2"]],"audio/voice/male4/slf.def.flag.m4a":["audio/voice/Male4/slf.def.flag.m4a",["voice.vl2"]],"audio/voice/male4/slf.def.flag.wav":["audio/voice/Male4/slf.def.flag.WAV",["voice.vl2"]],"audio/voice/male4/slf.def.generator.m4a":["audio/voice/Male4/slf.def.generator.m4a",["voice.vl2"]],"audio/voice/male4/slf.def.generator.wav":["audio/voice/Male4/slf.def.generator.WAV",["voice.vl2"]],"audio/voice/male4/slf.def.nexus.m4a":["audio/voice/Male4/slf.def.nexus.m4a",["voice.vl2"]],"audio/voice/male4/slf.def.nexus.wav":["audio/voice/Male4/slf.def.nexus.WAV",["voice.vl2"]],"audio/voice/male4/slf.def.sensors.m4a":["audio/voice/Male4/slf.def.sensors.m4a",["voice.vl2"]],"audio/voice/male4/slf.def.sensors.wav":["audio/voice/Male4/slf.def.sensors.WAV",["voice.vl2"]],"audio/voice/male4/slf.def.turrets.m4a":["audio/voice/Male4/slf.def.turrets.m4a",["voice.vl2"]],"audio/voice/male4/slf.def.turrets.wav":["audio/voice/Male4/slf.def.turrets.WAV",["voice.vl2"]],"audio/voice/male4/slf.def.vehicle.m4a":["audio/voice/Male4/slf.def.vehicle.m4a",["voice.vl2"]],"audio/voice/male4/slf.def.vehicle.wav":["audio/voice/Male4/slf.def.vehicle.WAV",["voice.vl2"]],"audio/voice/male4/slf.rep.base.m4a":["audio/voice/Male4/slf.rep.base.m4a",["voice.vl2"]],"audio/voice/male4/slf.rep.base.wav":["audio/voice/Male4/slf.rep.base.WAV",["voice.vl2"]],"audio/voice/male4/slf.rep.equipment.m4a":["audio/voice/Male4/slf.rep.equipment.m4a",["voice.vl2"]],"audio/voice/male4/slf.rep.equipment.wav":["audio/voice/Male4/slf.rep.equipment.WAV",["voice.vl2"]],"audio/voice/male4/slf.rep.generator.m4a":["audio/voice/Male4/slf.rep.generator.m4a",["voice.vl2"]],"audio/voice/male4/slf.rep.generator.wav":["audio/voice/Male4/slf.rep.generator.WAV",["voice.vl2"]],"audio/voice/male4/slf.rep.repairing.m4a":["audio/voice/Male4/slf.rep.repairing.m4a",["voice.vl2"]],"audio/voice/male4/slf.rep.repairing.wav":["audio/voice/Male4/slf.rep.repairing.WAV",["voice.vl2"]],"audio/voice/male4/slf.rep.sensors.m4a":["audio/voice/Male4/slf.rep.sensors.m4a",["voice.vl2"]],"audio/voice/male4/slf.rep.sensors.wav":["audio/voice/Male4/slf.rep.sensors.WAV",["voice.vl2"]],"audio/voice/male4/slf.rep.turrets.m4a":["audio/voice/Male4/slf.rep.turrets.m4a",["voice.vl2"]],"audio/voice/male4/slf.rep.turrets.wav":["audio/voice/Male4/slf.rep.turrets.WAV",["voice.vl2"]],"audio/voice/male4/slf.rep.vehicle.m4a":["audio/voice/Male4/slf.rep.vehicle.m4a",["voice.vl2"]],"audio/voice/male4/slf.rep.vehicle.wav":["audio/voice/Male4/slf.rep.vehicle.WAV",["voice.vl2"]],"audio/voice/male4/slf.tsk.cover.m4a":["audio/voice/Male4/slf.tsk.cover.m4a",["voice.vl2"]],"audio/voice/male4/slf.tsk.cover.wav":["audio/voice/Male4/slf.tsk.cover.WAV",["voice.vl2"]],"audio/voice/male4/slf.tsk.defense.m4a":["audio/voice/Male4/slf.tsk.defense.m4a",["voice.vl2"]],"audio/voice/male4/slf.tsk.defense.wav":["audio/voice/Male4/slf.tsk.defense.WAV",["voice.vl2"]],"audio/voice/male4/slf.tsk.generic.m4a":["audio/voice/Male4/slf.tsk.generic.m4a",["voice.vl2"]],"audio/voice/male4/slf.tsk.generic.wav":["audio/voice/Male4/slf.tsk.generic.WAV",["voice.vl2"]],"audio/voice/male4/slf.tsk.remotes.m4a":["audio/voice/Male4/slf.tsk.remotes.m4a",["voice.vl2"]],"audio/voice/male4/slf.tsk.remotes.wav":["audio/voice/Male4/slf.tsk.remotes.WAV",["voice.vl2"]],"audio/voice/male4/slf.tsk.sensors.m4a":["audio/voice/Male4/slf.tsk.sensors.m4a",["voice.vl2"]],"audio/voice/male4/slf.tsk.sensors.wav":["audio/voice/Male4/slf.tsk.sensors.WAV",["voice.vl2"]],"audio/voice/male4/slf.tsk.turrets.m4a":["audio/voice/Male4/slf.tsk.turrets.m4a",["voice.vl2"]],"audio/voice/male4/slf.tsk.turrets.wav":["audio/voice/Male4/slf.tsk.turrets.WAV",["voice.vl2"]],"audio/voice/male4/slf.tsk.vehicle.m4a":["audio/voice/Male4/slf.tsk.vehicle.m4a",["voice.vl2"]],"audio/voice/male4/slf.tsk.vehicle.wav":["audio/voice/Male4/slf.tsk.vehicle.WAV",["voice.vl2"]],"audio/voice/male4/tgt.acquired.m4a":["audio/voice/Male4/tgt.acquired.m4a",["voice.vl2"]],"audio/voice/male4/tgt.acquired.wav":["audio/voice/Male4/tgt.acquired.WAV",["voice.vl2"]],"audio/voice/male4/tgt.base.m4a":["audio/voice/Male4/tgt.base.m4a",["voice.vl2"]],"audio/voice/male4/tgt.base.wav":["audio/voice/Male4/tgt.base.WAV",["voice.vl2"]],"audio/voice/male4/tgt.destroyed.m4a":["audio/voice/Male4/tgt.destroyed.m4a",["voice.vl2"]],"audio/voice/male4/tgt.destroyed.wav":["audio/voice/Male4/tgt.destroyed.WAV",["voice.vl2"]],"audio/voice/male4/tgt.flag.m4a":["audio/voice/Male4/tgt.flag.m4a",["voice.vl2"]],"audio/voice/male4/tgt.flag.wav":["audio/voice/Male4/tgt.flag.WAV",["voice.vl2"]],"audio/voice/male4/tgt.my.m4a":["audio/voice/Male4/tgt.my.m4a",["voice.vl2"]],"audio/voice/male4/tgt.my.wav":["audio/voice/Male4/tgt.my.WAV",["voice.vl2"]],"audio/voice/male4/tgt.need.m4a":["audio/voice/Male4/tgt.need.m4a",["voice.vl2"]],"audio/voice/male4/tgt.need.wav":["audio/voice/Male4/tgt.need.WAV",["voice.vl2"]],"audio/voice/male4/tgt.sensors.m4a":["audio/voice/Male4/tgt.sensors.m4a",["voice.vl2"]],"audio/voice/male4/tgt.sensors.wav":["audio/voice/Male4/tgt.sensors.WAV",["voice.vl2"]],"audio/voice/male4/tgt.turret.m4a":["audio/voice/Male4/tgt.turret.m4a",["voice.vl2"]],"audio/voice/male4/tgt.turret.wav":["audio/voice/Male4/tgt.turret.WAV",["voice.vl2"]],"audio/voice/male4/tgt.wait.m4a":["audio/voice/Male4/tgt.wait.m4a",["voice.vl2"]],"audio/voice/male4/tgt.wait.wav":["audio/voice/Male4/tgt.wait.WAV",["voice.vl2"]],"audio/voice/male4/vqk.anytime.m4a":["audio/voice/Male4/vqk.anytime.m4a",["voice.vl2"]],"audio/voice/male4/vqk.anytime.wav":["audio/voice/Male4/vqk.anytime.WAV",["voice.vl2"]],"audio/voice/male4/vqk.base.m4a":["audio/voice/Male4/vqk.base.m4a",["voice.vl2"]],"audio/voice/male4/vqk.base.wav":["audio/voice/Male4/vqk.base.WAV",["voice.vl2"]],"audio/voice/male4/vqk.ceasefire.m4a":["audio/voice/Male4/vqk.ceasefire.m4a",["voice.vl2"]],"audio/voice/male4/vqk.ceasefire.wav":["audio/voice/Male4/vqk.ceasefire.WAV",["voice.vl2"]],"audio/voice/male4/vqk.dunno.m4a":["audio/voice/Male4/vqk.dunno.m4a",["voice.vl2"]],"audio/voice/male4/vqk.dunno.wav":["audio/voice/Male4/vqk.dunno.WAV",["voice.vl2"]],"audio/voice/male4/vqk.help.m4a":["audio/voice/Male4/vqk.help.m4a",["voice.vl2"]],"audio/voice/male4/vqk.help.wav":["audio/voice/Male4/vqk.help.WAV",["voice.vl2"]],"audio/voice/male4/vqk.move.m4a":["audio/voice/Male4/vqk.move.m4a",["voice.vl2"]],"audio/voice/male4/vqk.move.wav":["audio/voice/Male4/vqk.move.WAV",["voice.vl2"]],"audio/voice/male4/vqk.no.m4a":["audio/voice/Male4/vqk.no.m4a",["voice.vl2"]],"audio/voice/male4/vqk.no.wav":["audio/voice/Male4/vqk.no.WAV",["voice.vl2"]],"audio/voice/male4/vqk.quiet.m4a":["audio/voice/Male4/vqk.quiet.m4a",["voice.vl2"]],"audio/voice/male4/vqk.quiet.wav":["audio/voice/Male4/vqk.quiet.WAV",["voice.vl2"]],"audio/voice/male4/vqk.sorry.m4a":["audio/voice/Male4/vqk.sorry.m4a",["voice.vl2"]],"audio/voice/male4/vqk.sorry.wav":["audio/voice/Male4/vqk.sorry.WAV",["voice.vl2"]],"audio/voice/male4/vqk.thanks.m4a":["audio/voice/Male4/vqk.thanks.m4a",["voice.vl2"]],"audio/voice/male4/vqk.thanks.wav":["audio/voice/Male4/vqk.thanks.WAV",["voice.vl2"]],"audio/voice/male4/vqk.wait.m4a":["audio/voice/Male4/vqk.wait.m4a",["voice.vl2"]],"audio/voice/male4/vqk.wait.wav":["audio/voice/Male4/vqk.wait.WAV",["voice.vl2"]],"audio/voice/male4/vqk.yes.m4a":["audio/voice/Male4/vqk.yes.m4a",["voice.vl2"]],"audio/voice/male4/vqk.yes.wav":["audio/voice/Male4/vqk.yes.WAV",["voice.vl2"]],"audio/voice/male4/wrn.bomber.m4a":["audio/voice/Male4/wrn.bomber.m4a",["voice.vl2"]],"audio/voice/male4/wrn.bomber.wav":["audio/voice/Male4/wrn.bomber.WAV",["voice.vl2"]],"audio/voice/male4/wrn.enemy.m4a":["audio/voice/Male4/wrn.enemy.m4a",["voice.vl2"]],"audio/voice/male4/wrn.enemy.wav":["audio/voice/Male4/wrn.enemy.WAV",["voice.vl2"]],"audio/voice/male4/wrn.vehicles.m4a":["audio/voice/Male4/wrn.vehicles.m4a",["voice.vl2"]],"audio/voice/male4/wrn.vehicles.wav":["audio/voice/Male4/wrn.vehicles.WAV",["voice.vl2"]],"audio/voice/male4/wrn.watchit.m4a":["audio/voice/Male4/wrn.watchit.m4a",["voice.vl2"]],"audio/voice/male4/wrn.watchit.wav":["audio/voice/Male4/wrn.watchit.WAV",["voice.vl2"]],"audio/voice/male5/att.attack.m4a":["audio/voice/Male5/att.attack.m4a",["voice.vl2"]],"audio/voice/male5/att.attack.wav":["audio/voice/Male5/att.attack.WAV",["voice.vl2"]],"audio/voice/male5/att.base.m4a":["audio/voice/Male5/att.base.m4a",["voice.vl2"]],"audio/voice/male5/att.base.wav":["audio/voice/Male5/att.base.WAV",["voice.vl2"]],"audio/voice/male5/att.chase.m4a":["audio/voice/Male5/att.chase.m4a",["voice.vl2"]],"audio/voice/male5/att.chase.wav":["audio/voice/Male5/att.chase.WAV",["voice.vl2"]],"audio/voice/male5/att.distract.m4a":["audio/voice/Male5/att.distract.m4a",["voice.vl2"]],"audio/voice/male5/att.distract.wav":["audio/voice/Male5/att.distract.WAV",["voice.vl2"]],"audio/voice/male5/att.flag.m4a":["audio/voice/Male5/att.flag.m4a",["voice.vl2"]],"audio/voice/male5/att.flag.wav":["audio/voice/Male5/att.flag.WAV",["voice.vl2"]],"audio/voice/male5/att.generator.m4a":["audio/voice/Male5/att.generator.m4a",["voice.vl2"]],"audio/voice/male5/att.generator.wav":["audio/voice/Male5/att.generator.WAV",["voice.vl2"]],"audio/voice/male5/att.objective.m4a":["audio/voice/Male5/att.objective.m4a",["voice.vl2"]],"audio/voice/male5/att.objective.wav":["audio/voice/Male5/att.objective.WAV",["voice.vl2"]],"audio/voice/male5/att.reinforcements.m4a":["audio/voice/Male5/att.reinforcements.m4a",["voice.vl2"]],"audio/voice/male5/att.reinforcements.wav":["audio/voice/Male5/att.reinforcements.WAV",["voice.vl2"]],"audio/voice/male5/att.sensors.m4a":["audio/voice/Male5/att.sensors.m4a",["voice.vl2"]],"audio/voice/male5/att.sensors.wav":["audio/voice/Male5/att.sensors.WAV",["voice.vl2"]],"audio/voice/male5/att.turrets.m4a":["audio/voice/Male5/att.turrets.m4a",["voice.vl2"]],"audio/voice/male5/att.turrets.wav":["audio/voice/Male5/att.turrets.WAV",["voice.vl2"]],"audio/voice/male5/att.vehicle.m4a":["audio/voice/Male5/att.vehicle.m4a",["voice.vl2"]],"audio/voice/male5/att.vehicle.wav":["audio/voice/Male5/att.vehicle.WAV",["voice.vl2"]],"audio/voice/male5/att.wait.m4a":["audio/voice/Male5/att.wait.m4a",["voice.vl2"]],"audio/voice/male5/att.wait.wav":["audio/voice/Male5/att.wait.WAV",["voice.vl2"]],"audio/voice/male5/avo.deathcry_01.m4a":["audio/voice/Male5/avo.deathcry_01.m4a",["voice.vl2"]],"audio/voice/male5/avo.deathcry_01.wav":["audio/voice/Male5/avo.deathcry_01.WAV",["voice.vl2"]],"audio/voice/male5/avo.deathcry_02.m4a":["audio/voice/Male5/avo.deathcry_02.m4a",["voice.vl2"]],"audio/voice/male5/avo.deathcry_02.wav":["audio/voice/Male5/avo.deathcry_02.WAV",["voice.vl2"]],"audio/voice/male5/avo.grunt.m4a":["audio/voice/Male5/avo.grunt.m4a",["voice.vl2"]],"audio/voice/male5/avo.grunt.wav":["audio/voice/Male5/avo.grunt.WAV",["voice.vl2"]],"audio/voice/male5/avo.pain.m4a":["audio/voice/Male5/avo.pain.m4a",["voice.vl2"]],"audio/voice/male5/avo.pain.wav":["audio/voice/Male5/avo.pain.WAV",["voice.vl2"]],"audio/voice/male5/bas.clear.m4a":["audio/voice/Male5/bas.clear.m4a",["voice.vl2"]],"audio/voice/male5/bas.clear.wav":["audio/voice/Male5/bas.clear.WAV",["voice.vl2"]],"audio/voice/male5/bas.enemy.m4a":["audio/voice/Male5/bas.enemy.m4a",["voice.vl2"]],"audio/voice/male5/bas.enemy.wav":["audio/voice/Male5/bas.enemy.WAV",["voice.vl2"]],"audio/voice/male5/bas.retake.m4a":["audio/voice/Male5/bas.retake.m4a",["voice.vl2"]],"audio/voice/male5/bas.retake.wav":["audio/voice/Male5/bas.retake.WAV",["voice.vl2"]],"audio/voice/male5/bas.secure.m4a":["audio/voice/Male5/bas.secure.m4a",["voice.vl2"]],"audio/voice/male5/bas.secure.wav":["audio/voice/Male5/bas.secure.WAV",["voice.vl2"]],"audio/voice/male5/bas.taken.m4a":["audio/voice/Male5/bas.taken.m4a",["voice.vl2"]],"audio/voice/male5/bas.taken.wav":["audio/voice/Male5/bas.taken.WAV",["voice.vl2"]],"audio/voice/male5/cmd.acknowledge.m4a":["audio/voice/Male5/cmd.acknowledge.m4a",["voice.vl2"]],"audio/voice/male5/cmd.acknowledge.wav":["audio/voice/Male5/cmd.acknowledge.WAV",["voice.vl2"]],"audio/voice/male5/cmd.bot.m4a":["audio/voice/Male5/cmd.bot.m4a",["voice.vl2"]],"audio/voice/male5/cmd.bot.wav":["audio/voice/Male5/cmd.bot.WAV",["voice.vl2"]],"audio/voice/male5/cmd.completed.m4a":["audio/voice/Male5/cmd.completed.m4a",["voice.vl2"]],"audio/voice/male5/cmd.completed.wav":["audio/voice/Male5/cmd.completed.WAV",["voice.vl2"]],"audio/voice/male5/cmd.decline.m4a":["audio/voice/Male5/cmd.decline.m4a",["voice.vl2"]],"audio/voice/male5/cmd.decline.wav":["audio/voice/Male5/cmd.decline.WAV",["voice.vl2"]],"audio/voice/male5/def.base.m4a":["audio/voice/Male5/def.base.m4a",["voice.vl2"]],"audio/voice/male5/def.base.wav":["audio/voice/Male5/def.base.WAV",["voice.vl2"]],"audio/voice/male5/def.carrier.m4a":["audio/voice/Male5/def.carrier.m4a",["voice.vl2"]],"audio/voice/male5/def.carrier.wav":["audio/voice/Male5/def.carrier.WAV",["voice.vl2"]],"audio/voice/male5/def.entrances.m4a":["audio/voice/Male5/def.entrances.m4a",["voice.vl2"]],"audio/voice/male5/def.entrances.wav":["audio/voice/Male5/def.entrances.WAV",["voice.vl2"]],"audio/voice/male5/def.flag.m4a":["audio/voice/Male5/def.flag.m4a",["voice.vl2"]],"audio/voice/male5/def.flag.wav":["audio/voice/Male5/def.flag.WAV",["voice.vl2"]],"audio/voice/male5/def.generator.m4a":["audio/voice/Male5/def.generator.m4a",["voice.vl2"]],"audio/voice/male5/def.generator.wav":["audio/voice/Male5/def.generator.WAV",["voice.vl2"]],"audio/voice/male5/def.me.m4a":["audio/voice/Male5/def.me.m4a",["voice.vl2"]],"audio/voice/male5/def.me.wav":["audio/voice/Male5/def.me.WAV",["voice.vl2"]],"audio/voice/male5/def.nexus.m4a":["audio/voice/Male5/def.nexus.m4a",["voice.vl2"]],"audio/voice/male5/def.nexus.wav":["audio/voice/Male5/def.nexus.WAV",["voice.vl2"]],"audio/voice/male5/def.objective.m4a":["audio/voice/Male5/def.objective.m4a",["voice.vl2"]],"audio/voice/male5/def.objective.wav":["audio/voice/Male5/def.objective.WAV",["voice.vl2"]],"audio/voice/male5/def.reinforce.m4a":["audio/voice/Male5/def.reinforce.m4a",["voice.vl2"]],"audio/voice/male5/def.reinforce.wav":["audio/voice/Male5/def.reinforce.WAV",["voice.vl2"]],"audio/voice/male5/def.sensors.m4a":["audio/voice/Male5/def.sensors.m4a",["voice.vl2"]],"audio/voice/male5/def.sensors.wav":["audio/voice/Male5/def.sensors.WAV",["voice.vl2"]],"audio/voice/male5/def.turrets.m4a":["audio/voice/Male5/def.turrets.m4a",["voice.vl2"]],"audio/voice/male5/def.turrets.wav":["audio/voice/Male5/def.turrets.WAV",["voice.vl2"]],"audio/voice/male5/def.vehicle.m4a":["audio/voice/Male5/def.vehicle.m4a",["voice.vl2"]],"audio/voice/male5/def.vehicle.wav":["audio/voice/Male5/def.vehicle.WAV",["voice.vl2"]],"audio/voice/male5/ene.base.m4a":["audio/voice/Male5/ene.base.m4a",["voice.vl2"]],"audio/voice/male5/ene.base.wav":["audio/voice/Male5/ene.base.WAV",["voice.vl2"]],"audio/voice/male5/ene.disarray.m4a":["audio/voice/Male5/ene.disarray.m4a",["voice.vl2"]],"audio/voice/male5/ene.disarray.wav":["audio/voice/Male5/ene.disarray.WAV",["voice.vl2"]],"audio/voice/male5/ene.generator.m4a":["audio/voice/Male5/ene.generator.m4a",["voice.vl2"]],"audio/voice/male5/ene.generator.wav":["audio/voice/Male5/ene.generator.WAV",["voice.vl2"]],"audio/voice/male5/ene.remotes.m4a":["audio/voice/Male5/ene.remotes.m4a",["voice.vl2"]],"audio/voice/male5/ene.remotes.wav":["audio/voice/Male5/ene.remotes.WAV",["voice.vl2"]],"audio/voice/male5/ene.sensors.m4a":["audio/voice/Male5/ene.sensors.m4a",["voice.vl2"]],"audio/voice/male5/ene.sensors.wav":["audio/voice/Male5/ene.sensors.WAV",["voice.vl2"]],"audio/voice/male5/ene.turrets.m4a":["audio/voice/Male5/ene.turrets.m4a",["voice.vl2"]],"audio/voice/male5/ene.turrets.wav":["audio/voice/Male5/ene.turrets.WAV",["voice.vl2"]],"audio/voice/male5/ene.vehicle.m4a":["audio/voice/Male5/ene.vehicle.m4a",["voice.vl2"]],"audio/voice/male5/ene.vehicle.wav":["audio/voice/Male5/ene.vehicle.WAV",["voice.vl2"]],"audio/voice/male5/flg.flag.m4a":["audio/voice/Male5/flg.flag.m4a",["voice.vl2"]],"audio/voice/male5/flg.flag.wav":["audio/voice/Male5/flg.flag.WAV",["voice.vl2"]],"audio/voice/male5/flg.give.m4a":["audio/voice/Male5/flg.give.m4a",["voice.vl2"]],"audio/voice/male5/flg.give.wav":["audio/voice/Male5/flg.give.WAV",["voice.vl2"]],"audio/voice/male5/flg.huntergive.m4a":["audio/voice/Male5/flg.huntergive.m4a",["voice.vl2"]],"audio/voice/male5/flg.huntergive.wav":["audio/voice/Male5/flg.huntergive.WAV",["voice.vl2"]],"audio/voice/male5/flg.huntertake.m4a":["audio/voice/Male5/flg.huntertake.m4a",["voice.vl2"]],"audio/voice/male5/flg.huntertake.wav":["audio/voice/Male5/flg.huntertake.WAV",["voice.vl2"]],"audio/voice/male5/flg.retrieve.m4a":["audio/voice/Male5/flg.retrieve.m4a",["voice.vl2"]],"audio/voice/male5/flg.retrieve.wav":["audio/voice/Male5/flg.retrieve.WAV",["voice.vl2"]],"audio/voice/male5/flg.secure.m4a":["audio/voice/Male5/flg.secure.m4a",["voice.vl2"]],"audio/voice/male5/flg.secure.wav":["audio/voice/Male5/flg.secure.WAV",["voice.vl2"]],"audio/voice/male5/flg.take.m4a":["audio/voice/Male5/flg.take.m4a",["voice.vl2"]],"audio/voice/male5/flg.take.wav":["audio/voice/Male5/flg.take.WAV",["voice.vl2"]],"audio/voice/male5/gbl.anytime.m4a":["audio/voice/Male5/gbl.anytime.m4a",["voice.vl2"]],"audio/voice/male5/gbl.anytime.wav":["audio/voice/Male5/gbl.anytime.WAV",["voice.vl2"]],"audio/voice/male5/gbl.awesome.m4a":["audio/voice/Male5/gbl.awesome.m4a",["voice.vl2"]],"audio/voice/male5/gbl.awesome.wav":["audio/voice/Male5/gbl.awesome.WAV",["voice.vl2"]],"audio/voice/male5/gbl.aww.m4a":["audio/voice/Male5/gbl.aww.m4a",["voice.vl2"]],"audio/voice/male5/gbl.aww.wav":["audio/voice/Male5/gbl.aww.WAV",["voice.vl2"]],"audio/voice/male5/gbl.brag.m4a":["audio/voice/Male5/gbl.brag.m4a",["voice.vl2"]],"audio/voice/male5/gbl.brag.wav":["audio/voice/Male5/gbl.brag.WAV",["voice.vl2"]],"audio/voice/male5/gbl.bye.m4a":["audio/voice/Male5/gbl.bye.m4a",["voice.vl2"]],"audio/voice/male5/gbl.bye.wav":["audio/voice/Male5/gbl.bye.WAV",["voice.vl2"]],"audio/voice/male5/gbl.dunno.m4a":["audio/voice/Male5/gbl.dunno.m4a",["voice.vl2"]],"audio/voice/male5/gbl.dunno.wav":["audio/voice/Male5/gbl.dunno.WAV",["voice.vl2"]],"audio/voice/male5/gbl.goodgame.m4a":["audio/voice/Male5/gbl.goodgame.m4a",["voice.vl2"]],"audio/voice/male5/gbl.goodgame.wav":["audio/voice/Male5/gbl.goodgame.WAV",["voice.vl2"]],"audio/voice/male5/gbl.hi.m4a":["audio/voice/Male5/gbl.hi.m4a",["voice.vl2"]],"audio/voice/male5/gbl.hi.wav":["audio/voice/Male5/gbl.hi.WAV",["voice.vl2"]],"audio/voice/male5/gbl.nice.m4a":["audio/voice/Male5/gbl.nice.m4a",["voice.vl2"]],"audio/voice/male5/gbl.nice.wav":["audio/voice/Male5/gbl.nice.WAV",["voice.vl2"]],"audio/voice/male5/gbl.no.m4a":["audio/voice/Male5/gbl.no.m4a",["voice.vl2"]],"audio/voice/male5/gbl.no.wav":["audio/voice/Male5/gbl.no.WAV",["voice.vl2"]],"audio/voice/male5/gbl.obnoxious.m4a":["audio/voice/Male5/gbl.obnoxious.m4a",["voice.vl2"]],"audio/voice/male5/gbl.obnoxious.wav":["audio/voice/Male5/gbl.obnoxious.WAV",["voice.vl2"]],"audio/voice/male5/gbl.oops.m4a":["audio/voice/Male5/gbl.oops.m4a",["voice.vl2"]],"audio/voice/male5/gbl.oops.wav":["audio/voice/Male5/gbl.oops.WAV",["voice.vl2"]],"audio/voice/male5/gbl.quiet.m4a":["audio/voice/Male5/gbl.quiet.m4a",["voice.vl2"]],"audio/voice/male5/gbl.quiet.wav":["audio/voice/Male5/gbl.quiet.WAV",["voice.vl2"]],"audio/voice/male5/gbl.rock.m4a":["audio/voice/Male5/gbl.rock.m4a",["voice.vl2"]],"audio/voice/male5/gbl.rock.wav":["audio/voice/Male5/gbl.rock.WAV",["voice.vl2"]],"audio/voice/male5/gbl.sarcasm.m4a":["audio/voice/Male5/gbl.sarcasm.m4a",["voice.vl2"]],"audio/voice/male5/gbl.sarcasm.wav":["audio/voice/Male5/gbl.sarcasm.WAV",["voice.vl2"]],"audio/voice/male5/gbl.shazbot.m4a":["audio/voice/Male5/gbl.shazbot.m4a",["voice.vl2"]],"audio/voice/male5/gbl.shazbot.wav":["audio/voice/Male5/gbl.shazbot.WAV",["voice.vl2"]],"audio/voice/male5/gbl.shooting.m4a":["audio/voice/Male5/gbl.shooting.m4a",["voice.vl2"]],"audio/voice/male5/gbl.shooting.wav":["audio/voice/Male5/gbl.shooting.WAV",["voice.vl2"]],"audio/voice/male5/gbl.thanks.m4a":["audio/voice/Male5/gbl.thanks.m4a",["voice.vl2"]],"audio/voice/male5/gbl.thanks.wav":["audio/voice/Male5/gbl.thanks.WAV",["voice.vl2"]],"audio/voice/male5/gbl.wait.m4a":["audio/voice/Male5/gbl.wait.m4a",["voice.vl2"]],"audio/voice/male5/gbl.wait.wav":["audio/voice/Male5/gbl.wait.WAV",["voice.vl2"]],"audio/voice/male5/gbl.when.m4a":["audio/voice/Male5/gbl.when.m4a",["voice.vl2"]],"audio/voice/male5/gbl.when.wav":["audio/voice/Male5/gbl.when.WAV",["voice.vl2"]],"audio/voice/male5/gbl.woohoo.m4a":["audio/voice/Male5/gbl.woohoo.m4a",["voice.vl2"]],"audio/voice/male5/gbl.woohoo.wav":["audio/voice/Male5/gbl.woohoo.WAV",["voice.vl2"]],"audio/voice/male5/gbl.yes.m4a":["audio/voice/Male5/gbl.yes.m4a",["voice.vl2"]],"audio/voice/male5/gbl.yes.wav":["audio/voice/Male5/gbl.yes.WAV",["voice.vl2"]],"audio/voice/male5/need.bombardier.m4a":["audio/voice/Male5/need.bombardier.m4a",["voice.vl2"]],"audio/voice/male5/need.bombardier.wav":["audio/voice/Male5/need.bombardier.WAV",["voice.vl2"]],"audio/voice/male5/need.cover.m4a":["audio/voice/Male5/need.cover.m4a",["voice.vl2"]],"audio/voice/male5/need.cover.wav":["audio/voice/Male5/need.cover.WAV",["voice.vl2"]],"audio/voice/male5/need.driver.m4a":["audio/voice/Male5/need.driver.m4a",["voice.vl2"]],"audio/voice/male5/need.driver.wav":["audio/voice/Male5/need.driver.WAV",["voice.vl2"]],"audio/voice/male5/need.escort.m4a":["audio/voice/Male5/need.escort.m4a",["voice.vl2"]],"audio/voice/male5/need.escort.wav":["audio/voice/Male5/need.escort.WAV",["voice.vl2"]],"audio/voice/male5/need.flyer.m4a":["audio/voice/Male5/need.flyer.m4a",["voice.vl2"]],"audio/voice/male5/need.flyer.wav":["audio/voice/Male5/need.flyer.WAV",["voice.vl2"]],"audio/voice/male5/need.gunship.m4a":["audio/voice/Male5/need.gunship.m4a",["voice.vl2"]],"audio/voice/male5/need.gunship.wav":["audio/voice/Male5/need.gunship.WAV",["voice.vl2"]],"audio/voice/male5/need.hold.m4a":["audio/voice/Male5/need.hold.m4a",["voice.vl2"]],"audio/voice/male5/need.hold.wav":["audio/voice/Male5/need.hold.WAV",["voice.vl2"]],"audio/voice/male5/need.ride.m4a":["audio/voice/Male5/need.ride.m4a",["voice.vl2"]],"audio/voice/male5/need.ride.wav":["audio/voice/Male5/need.ride.WAV",["voice.vl2"]],"audio/voice/male5/need.support.m4a":["audio/voice/Male5/need.support.m4a",["voice.vl2"]],"audio/voice/male5/need.support.wav":["audio/voice/Male5/need.support.WAV",["voice.vl2"]],"audio/voice/male5/need.tailgunner.m4a":["audio/voice/Male5/need.tailgunner.m4a",["voice.vl2"]],"audio/voice/male5/need.tailgunner.wav":["audio/voice/Male5/need.tailgunner.WAV",["voice.vl2"]],"audio/voice/male5/need.where.m4a":["audio/voice/Male5/need.where.m4a",["voice.vl2"]],"audio/voice/male5/need.where.wav":["audio/voice/Male5/need.where.WAV",["voice.vl2"]],"audio/voice/male5/rep.base.m4a":["audio/voice/Male5/rep.base.m4a",["voice.vl2"]],"audio/voice/male5/rep.base.wav":["audio/voice/Male5/rep.base.WAV",["voice.vl2"]],"audio/voice/male5/rep.generator.m4a":["audio/voice/Male5/rep.generator.m4a",["voice.vl2"]],"audio/voice/male5/rep.generator.wav":["audio/voice/Male5/rep.generator.WAV",["voice.vl2"]],"audio/voice/male5/rep.me.m4a":["audio/voice/Male5/rep.me.m4a",["voice.vl2"]],"audio/voice/male5/rep.me.wav":["audio/voice/Male5/rep.me.WAV",["voice.vl2"]],"audio/voice/male5/rep.sensors.m4a":["audio/voice/Male5/rep.sensors.m4a",["voice.vl2"]],"audio/voice/male5/rep.sensors.wav":["audio/voice/Male5/rep.sensors.WAV",["voice.vl2"]],"audio/voice/male5/rep.turrets.m4a":["audio/voice/Male5/rep.turrets.m4a",["voice.vl2"]],"audio/voice/male5/rep.turrets.wav":["audio/voice/Male5/rep.turrets.WAV",["voice.vl2"]],"audio/voice/male5/rep.vehicle.m4a":["audio/voice/Male5/rep.vehicle.m4a",["voice.vl2"]],"audio/voice/male5/rep.vehicle.wav":["audio/voice/Male5/rep.vehicle.WAV",["voice.vl2"]],"audio/voice/male5/slf.att.attack.m4a":["audio/voice/Male5/slf.att.attack.m4a",["voice.vl2"]],"audio/voice/male5/slf.att.attack.wav":["audio/voice/Male5/slf.att.attack.WAV",["voice.vl2"]],"audio/voice/male5/slf.att.base.m4a":["audio/voice/Male5/slf.att.base.m4a",["voice.vl2"]],"audio/voice/male5/slf.att.base.wav":["audio/voice/Male5/slf.att.base.WAV",["voice.vl2"]],"audio/voice/male5/slf.att.flag.m4a":["audio/voice/Male5/slf.att.flag.m4a",["voice.vl2"]],"audio/voice/male5/slf.att.flag.wav":["audio/voice/Male5/slf.att.flag.WAV",["voice.vl2"]],"audio/voice/male5/slf.att.generator.m4a":["audio/voice/Male5/slf.att.generator.m4a",["voice.vl2"]],"audio/voice/male5/slf.att.generator.wav":["audio/voice/Male5/slf.att.generator.WAV",["voice.vl2"]],"audio/voice/male5/slf.att.sensors.m4a":["audio/voice/Male5/slf.att.sensors.m4a",["voice.vl2"]],"audio/voice/male5/slf.att.sensors.wav":["audio/voice/Male5/slf.att.sensors.WAV",["voice.vl2"]],"audio/voice/male5/slf.att.turrets.m4a":["audio/voice/Male5/slf.att.turrets.m4a",["voice.vl2"]],"audio/voice/male5/slf.att.turrets.wav":["audio/voice/Male5/slf.att.turrets.WAV",["voice.vl2"]],"audio/voice/male5/slf.att.vehicle.m4a":["audio/voice/Male5/slf.att.vehicle.m4a",["voice.vl2"]],"audio/voice/male5/slf.att.vehicle.wav":["audio/voice/Male5/slf.att.vehicle.WAV",["voice.vl2"]],"audio/voice/male5/slf.def.base.m4a":["audio/voice/Male5/slf.def.base.m4a",["voice.vl2"]],"audio/voice/male5/slf.def.base.wav":["audio/voice/Male5/slf.def.base.WAV",["voice.vl2"]],"audio/voice/male5/slf.def.defend.m4a":["audio/voice/Male5/slf.def.defend.m4a",["voice.vl2"]],"audio/voice/male5/slf.def.defend.wav":["audio/voice/Male5/slf.def.defend.WAV",["voice.vl2"]],"audio/voice/male5/slf.def.flag.m4a":["audio/voice/Male5/slf.def.flag.m4a",["voice.vl2"]],"audio/voice/male5/slf.def.flag.wav":["audio/voice/Male5/slf.def.flag.WAV",["voice.vl2"]],"audio/voice/male5/slf.def.generator.m4a":["audio/voice/Male5/slf.def.generator.m4a",["voice.vl2"]],"audio/voice/male5/slf.def.generator.wav":["audio/voice/Male5/slf.def.generator.WAV",["voice.vl2"]],"audio/voice/male5/slf.def.nexus.m4a":["audio/voice/Male5/slf.def.nexus.m4a",["voice.vl2"]],"audio/voice/male5/slf.def.nexus.wav":["audio/voice/Male5/slf.def.nexus.WAV",["voice.vl2"]],"audio/voice/male5/slf.def.sensors.m4a":["audio/voice/Male5/slf.def.sensors.m4a",["voice.vl2"]],"audio/voice/male5/slf.def.sensors.wav":["audio/voice/Male5/slf.def.sensors.WAV",["voice.vl2"]],"audio/voice/male5/slf.def.turrets.m4a":["audio/voice/Male5/slf.def.turrets.m4a",["voice.vl2"]],"audio/voice/male5/slf.def.turrets.wav":["audio/voice/Male5/slf.def.turrets.WAV",["voice.vl2"]],"audio/voice/male5/slf.def.vehicle.m4a":["audio/voice/Male5/slf.def.vehicle.m4a",["voice.vl2"]],"audio/voice/male5/slf.def.vehicle.wav":["audio/voice/Male5/slf.def.vehicle.WAV",["voice.vl2"]],"audio/voice/male5/slf.rep.base.m4a":["audio/voice/Male5/slf.rep.base.m4a",["voice.vl2"]],"audio/voice/male5/slf.rep.base.wav":["audio/voice/Male5/slf.rep.base.WAV",["voice.vl2"]],"audio/voice/male5/slf.rep.equipment.m4a":["audio/voice/Male5/slf.rep.equipment.m4a",["voice.vl2"]],"audio/voice/male5/slf.rep.equipment.wav":["audio/voice/Male5/slf.rep.equipment.WAV",["voice.vl2"]],"audio/voice/male5/slf.rep.generator.m4a":["audio/voice/Male5/slf.rep.generator.m4a",["voice.vl2"]],"audio/voice/male5/slf.rep.generator.wav":["audio/voice/Male5/slf.rep.generator.WAV",["voice.vl2"]],"audio/voice/male5/slf.rep.repairing.m4a":["audio/voice/Male5/slf.rep.repairing.m4a",["voice.vl2"]],"audio/voice/male5/slf.rep.repairing.wav":["audio/voice/Male5/slf.rep.repairing.WAV",["voice.vl2"]],"audio/voice/male5/slf.rep.sensors.m4a":["audio/voice/Male5/slf.rep.sensors.m4a",["voice.vl2"]],"audio/voice/male5/slf.rep.sensors.wav":["audio/voice/Male5/slf.rep.sensors.WAV",["voice.vl2"]],"audio/voice/male5/slf.rep.turrets.m4a":["audio/voice/Male5/slf.rep.turrets.m4a",["voice.vl2"]],"audio/voice/male5/slf.rep.turrets.wav":["audio/voice/Male5/slf.rep.turrets.WAV",["voice.vl2"]],"audio/voice/male5/slf.rep.vehicle.m4a":["audio/voice/Male5/slf.rep.vehicle.m4a",["voice.vl2"]],"audio/voice/male5/slf.rep.vehicle.wav":["audio/voice/Male5/slf.rep.vehicle.WAV",["voice.vl2"]],"audio/voice/male5/slf.tsk.cover.m4a":["audio/voice/Male5/slf.tsk.cover.m4a",["voice.vl2"]],"audio/voice/male5/slf.tsk.cover.wav":["audio/voice/Male5/slf.tsk.cover.WAV",["voice.vl2"]],"audio/voice/male5/slf.tsk.defense.m4a":["audio/voice/Male5/slf.tsk.defense.m4a",["voice.vl2"]],"audio/voice/male5/slf.tsk.defense.wav":["audio/voice/Male5/slf.tsk.defense.WAV",["voice.vl2"]],"audio/voice/male5/slf.tsk.generic.m4a":["audio/voice/Male5/slf.tsk.generic.m4a",["voice.vl2"]],"audio/voice/male5/slf.tsk.generic.wav":["audio/voice/Male5/slf.tsk.generic.WAV",["voice.vl2"]],"audio/voice/male5/slf.tsk.remotes.m4a":["audio/voice/Male5/slf.tsk.remotes.m4a",["voice.vl2"]],"audio/voice/male5/slf.tsk.remotes.wav":["audio/voice/Male5/slf.tsk.remotes.WAV",["voice.vl2"]],"audio/voice/male5/slf.tsk.sensors.m4a":["audio/voice/Male5/slf.tsk.sensors.m4a",["voice.vl2"]],"audio/voice/male5/slf.tsk.sensors.wav":["audio/voice/Male5/slf.tsk.sensors.WAV",["voice.vl2"]],"audio/voice/male5/slf.tsk.turrets.m4a":["audio/voice/Male5/slf.tsk.turrets.m4a",["voice.vl2"]],"audio/voice/male5/slf.tsk.turrets.wav":["audio/voice/Male5/slf.tsk.turrets.WAV",["voice.vl2"]],"audio/voice/male5/slf.tsk.vehicle.m4a":["audio/voice/Male5/slf.tsk.vehicle.m4a",["voice.vl2"]],"audio/voice/male5/slf.tsk.vehicle.wav":["audio/voice/Male5/slf.tsk.vehicle.WAV",["voice.vl2"]],"audio/voice/male5/tgt.acquired.m4a":["audio/voice/Male5/tgt.acquired.m4a",["voice.vl2"]],"audio/voice/male5/tgt.acquired.wav":["audio/voice/Male5/tgt.acquired.WAV",["voice.vl2"]],"audio/voice/male5/tgt.base.m4a":["audio/voice/Male5/tgt.base.m4a",["voice.vl2"]],"audio/voice/male5/tgt.base.wav":["audio/voice/Male5/tgt.base.WAV",["voice.vl2"]],"audio/voice/male5/tgt.destroyed.m4a":["audio/voice/Male5/tgt.destroyed.m4a",["voice.vl2"]],"audio/voice/male5/tgt.destroyed.wav":["audio/voice/Male5/tgt.destroyed.WAV",["voice.vl2"]],"audio/voice/male5/tgt.flag.m4a":["audio/voice/Male5/tgt.flag.m4a",["voice.vl2"]],"audio/voice/male5/tgt.flag.wav":["audio/voice/Male5/tgt.flag.WAV",["voice.vl2"]],"audio/voice/male5/tgt.my.m4a":["audio/voice/Male5/tgt.my.m4a",["voice.vl2"]],"audio/voice/male5/tgt.my.wav":["audio/voice/Male5/tgt.my.WAV",["voice.vl2"]],"audio/voice/male5/tgt.need.m4a":["audio/voice/Male5/tgt.need.m4a",["voice.vl2"]],"audio/voice/male5/tgt.need.wav":["audio/voice/Male5/tgt.need.WAV",["voice.vl2"]],"audio/voice/male5/tgt.sensors.m4a":["audio/voice/Male5/tgt.sensors.m4a",["voice.vl2"]],"audio/voice/male5/tgt.sensors.wav":["audio/voice/Male5/tgt.sensors.WAV",["voice.vl2"]],"audio/voice/male5/tgt.turret.m4a":["audio/voice/Male5/tgt.turret.m4a",["voice.vl2"]],"audio/voice/male5/tgt.turret.wav":["audio/voice/Male5/tgt.turret.WAV",["voice.vl2"]],"audio/voice/male5/tgt.wait.m4a":["audio/voice/Male5/tgt.wait.m4a",["voice.vl2"]],"audio/voice/male5/tgt.wait.wav":["audio/voice/Male5/tgt.wait.WAV",["voice.vl2"]],"audio/voice/male5/vqk.anytime.m4a":["audio/voice/Male5/vqk.anytime.m4a",["voice.vl2"]],"audio/voice/male5/vqk.anytime.wav":["audio/voice/Male5/vqk.anytime.WAV",["voice.vl2"]],"audio/voice/male5/vqk.base.m4a":["audio/voice/Male5/vqk.base.m4a",["voice.vl2"]],"audio/voice/male5/vqk.base.wav":["audio/voice/Male5/vqk.base.WAV",["voice.vl2"]],"audio/voice/male5/vqk.ceasefire.m4a":["audio/voice/Male5/vqk.ceasefire.m4a",["voice.vl2"]],"audio/voice/male5/vqk.ceasefire.wav":["audio/voice/Male5/vqk.ceasefire.WAV",["voice.vl2"]],"audio/voice/male5/vqk.dunno.m4a":["audio/voice/Male5/vqk.dunno.m4a",["voice.vl2"]],"audio/voice/male5/vqk.dunno.wav":["audio/voice/Male5/vqk.dunno.WAV",["voice.vl2"]],"audio/voice/male5/vqk.help.m4a":["audio/voice/Male5/vqk.help.m4a",["voice.vl2"]],"audio/voice/male5/vqk.help.wav":["audio/voice/Male5/vqk.help.WAV",["voice.vl2"]],"audio/voice/male5/vqk.move.m4a":["audio/voice/Male5/vqk.move.m4a",["voice.vl2"]],"audio/voice/male5/vqk.move.wav":["audio/voice/Male5/vqk.move.WAV",["voice.vl2"]],"audio/voice/male5/vqk.no.m4a":["audio/voice/Male5/vqk.no.m4a",["voice.vl2"]],"audio/voice/male5/vqk.no.wav":["audio/voice/Male5/vqk.no.WAV",["voice.vl2"]],"audio/voice/male5/vqk.quiet.m4a":["audio/voice/Male5/vqk.quiet.m4a",["voice.vl2"]],"audio/voice/male5/vqk.quiet.wav":["audio/voice/Male5/vqk.quiet.WAV",["voice.vl2"]],"audio/voice/male5/vqk.sorry.m4a":["audio/voice/Male5/vqk.sorry.m4a",["voice.vl2"]],"audio/voice/male5/vqk.sorry.wav":["audio/voice/Male5/vqk.sorry.WAV",["voice.vl2"]],"audio/voice/male5/vqk.thanks.m4a":["audio/voice/Male5/vqk.thanks.m4a",["voice.vl2"]],"audio/voice/male5/vqk.thanks.wav":["audio/voice/Male5/vqk.thanks.WAV",["voice.vl2"]],"audio/voice/male5/vqk.wait.m4a":["audio/voice/Male5/vqk.wait.m4a",["voice.vl2"]],"audio/voice/male5/vqk.wait.wav":["audio/voice/Male5/vqk.wait.WAV",["voice.vl2"]],"audio/voice/male5/vqk.yes.m4a":["audio/voice/Male5/vqk.yes.m4a",["voice.vl2"]],"audio/voice/male5/vqk.yes.wav":["audio/voice/Male5/vqk.yes.WAV",["voice.vl2"]],"audio/voice/male5/wrn.bomber.m4a":["audio/voice/Male5/wrn.bomber.m4a",["voice.vl2"]],"audio/voice/male5/wrn.bomber.wav":["audio/voice/Male5/wrn.bomber.WAV",["voice.vl2"]],"audio/voice/male5/wrn.enemy.m4a":["audio/voice/Male5/wrn.enemy.m4a",["voice.vl2"]],"audio/voice/male5/wrn.enemy.wav":["audio/voice/Male5/wrn.enemy.WAV",["voice.vl2"]],"audio/voice/male5/wrn.vehicles.m4a":["audio/voice/Male5/wrn.vehicles.m4a",["voice.vl2"]],"audio/voice/male5/wrn.vehicles.wav":["audio/voice/Male5/wrn.vehicles.WAV",["voice.vl2"]],"audio/voice/male5/wrn.watchit.m4a":["audio/voice/Male5/wrn.watchit.m4a",["voice.vl2"]],"audio/voice/male5/wrn.watchit.wav":["audio/voice/Male5/wrn.watchit.WAV",["voice.vl2"]],"audio/voice/training/any/any.abort.m4a":["audio/voice/Training/Any/ANY.abort.m4a",["voice.vl2"]],"audio/voice/training/any/any.abort.wav":["audio/voice/Training/Any/ANY.abort.WAV",["voice.vl2"]],"audio/voice/training/any/any.abortsoon.m4a":["audio/voice/Training/Any/ANY.abortsoon.m4a",["voice.vl2"]],"audio/voice/training/any/any.abortsoon.wav":["audio/voice/Training/Any/ANY.abortsoon.WAV",["voice.vl2"]],"audio/voice/training/any/any.abortwarn.m4a":["audio/voice/Training/Any/ANY.abortwarn.m4a",["voice.vl2"]],"audio/voice/training/any/any.abortwarn.wav":["audio/voice/Training/Any/ANY.abortwarn.WAV",["voice.vl2"]],"audio/voice/training/any/any.alright.m4a":["audio/voice/Training/Any/ANY.alright.m4a",["voice.vl2"]],"audio/voice/training/any/any.alright.wav":["audio/voice/Training/Any/ANY.alright.WAV",["voice.vl2"]],"audio/voice/training/any/any.blowoff01.m4a":["audio/voice/Training/Any/ANY.blowoff01.m4a",["voice.vl2"]],"audio/voice/training/any/any.blowoff01.wav":["audio/voice/Training/Any/ANY.blowoff01.WAV",["voice.vl2"]],"audio/voice/training/any/any.blowoff02.m4a":["audio/voice/Training/Any/ANY.blowoff02.m4a",["voice.vl2"]],"audio/voice/training/any/any.blowoff02.wav":["audio/voice/Training/Any/ANY.blowoff02.WAV",["voice.vl2"]],"audio/voice/training/any/any.blowoff03.m4a":["audio/voice/Training/Any/ANY.blowoff03.m4a",["voice.vl2"]],"audio/voice/training/any/any.blowoff03.wav":["audio/voice/Training/Any/ANY.blowoff03.WAV",["voice.vl2"]],"audio/voice/training/any/any.careful.m4a":["audio/voice/Training/Any/ANY.careful.m4a",["voice.vl2"]],"audio/voice/training/any/any.careful.wav":["audio/voice/Training/Any/ANY.careful.WAV",["voice.vl2"]],"audio/voice/training/any/any.check01.m4a":["audio/voice/Training/Any/ANY.check01.m4a",["voice.vl2"]],"audio/voice/training/any/any.check01.wav":["audio/voice/Training/Any/ANY.check01.WAV",["voice.vl2"]],"audio/voice/training/any/any.check02.m4a":["audio/voice/Training/Any/ANY.check02.m4a",["voice.vl2"]],"audio/voice/training/any/any.check02.wav":["audio/voice/Training/Any/ANY.check02.WAV",["voice.vl2"]],"audio/voice/training/any/any.good.m4a":["audio/voice/Training/Any/ANY.good.m4a",["voice.vl2"]],"audio/voice/training/any/any.good.wav":["audio/voice/Training/Any/ANY.good.WAV",["voice.vl2"]],"audio/voice/training/any/any.healthkit.m4a":["audio/voice/Training/Any/ANY.healthkit.m4a",["voice.vl2"]],"audio/voice/training/any/any.healthkit.wav":["audio/voice/Training/Any/ANY.healthkit.WAV",["voice.vl2"]],"audio/voice/training/any/any.hunting.m4a":["audio/voice/Training/Any/ANY.hunting.m4a",["voice.vl2"]],"audio/voice/training/any/any.hunting.wav":["audio/voice/Training/Any/ANY.hunting.WAV",["voice.vl2"]],"audio/voice/training/any/any.incoming_msg.m4a":["audio/voice/Training/Any/ANY.incoming_msg.m4a",["voice.vl2"]],"audio/voice/training/any/any.incoming_msg.wav":["audio/voice/Training/Any/ANY.incoming_msg.WAV",["voice.vl2"]],"audio/voice/training/any/any.jingo01.m4a":["audio/voice/Training/Any/ANY.jingo01.m4a",["voice.vl2"]],"audio/voice/training/any/any.jingo01.wav":["audio/voice/Training/Any/ANY.jingo01.WAV",["voice.vl2"]],"audio/voice/training/any/any.jingo02.m4a":["audio/voice/Training/Any/ANY.jingo02.m4a",["voice.vl2"]],"audio/voice/training/any/any.jingo02.wav":["audio/voice/Training/Any/ANY.jingo02.WAV",["voice.vl2"]],"audio/voice/training/any/any.jingo03.m4a":["audio/voice/Training/Any/ANY.jingo03.m4a",["voice.vl2"]],"audio/voice/training/any/any.jingo03.wav":["audio/voice/Training/Any/ANY.jingo03.WAV",["voice.vl2"]],"audio/voice/training/any/any.kudo01.m4a":["audio/voice/Training/Any/ANY.kudo01.m4a",["voice.vl2"]],"audio/voice/training/any/any.kudo01.wav":["audio/voice/Training/Any/ANY.kudo01.WAV",["voice.vl2"]],"audio/voice/training/any/any.kudo02.m4a":["audio/voice/Training/Any/ANY.kudo02.m4a",["voice.vl2"]],"audio/voice/training/any/any.kudo02.wav":["audio/voice/Training/Any/ANY.kudo02.WAV",["voice.vl2"]],"audio/voice/training/any/any.kudo03.m4a":["audio/voice/Training/Any/ANY.kudo03.m4a",["voice.vl2"]],"audio/voice/training/any/any.kudo03.wav":["audio/voice/Training/Any/ANY.kudo03.WAV",["voice.vl2"]],"audio/voice/training/any/any.kudo04.m4a":["audio/voice/Training/Any/ANY.kudo04.m4a",["voice.vl2"]],"audio/voice/training/any/any.kudo04.wav":["audio/voice/Training/Any/ANY.kudo04.WAV",["voice.vl2"]],"audio/voice/training/any/any.obj_complete_01.m4a":["audio/voice/Training/Any/ANY.obj_complete_01.m4a",["voice.vl2"]],"audio/voice/training/any/any.obj_complete_01.wav":["audio/voice/Training/Any/ANY.obj_complete_01.WAV",["voice.vl2"]],"audio/voice/training/any/any.obj_complete_02.m4a":["audio/voice/Training/Any/ANY.obj_complete_02.m4a",["voice.vl2"]],"audio/voice/training/any/any.obj_complete_02.wav":["audio/voice/Training/Any/ANY.obj_complete_02.WAV",["voice.vl2"]],"audio/voice/training/any/any.offcourse.m4a":["audio/voice/Training/Any/ANY.offcourse.m4a",["voice.vl2"]],"audio/voice/training/any/any.offcourse.wav":["audio/voice/Training/Any/ANY.offcourse.WAV",["voice.vl2"]],"audio/voice/training/any/any.prompt01.m4a":["audio/voice/Training/Any/ANY.prompt01.m4a",["voice.vl2"]],"audio/voice/training/any/any.prompt01.wav":["audio/voice/Training/Any/ANY.prompt01.WAV",["voice.vl2"]],"audio/voice/training/any/any.prompt02.m4a":["audio/voice/Training/Any/ANY.prompt02.m4a",["voice.vl2"]],"audio/voice/training/any/any.prompt02.wav":["audio/voice/Training/Any/ANY.prompt02.WAV",["voice.vl2"]],"audio/voice/training/any/any.prompt03.m4a":["audio/voice/Training/Any/ANY.prompt03.m4a",["voice.vl2"]],"audio/voice/training/any/any.prompt03.wav":["audio/voice/Training/Any/ANY.prompt03.WAV",["voice.vl2"]],"audio/voice/training/any/any.prompt04.m4a":["audio/voice/Training/Any/ANY.prompt04.m4a",["voice.vl2"]],"audio/voice/training/any/any.prompt04.wav":["audio/voice/Training/Any/ANY.prompt04.WAV",["voice.vl2"]],"audio/voice/training/any/any.prompt05.m4a":["audio/voice/Training/Any/ANY.prompt05.m4a",["voice.vl2"]],"audio/voice/training/any/any.prompt05.wav":["audio/voice/Training/Any/ANY.prompt05.WAV",["voice.vl2"]],"audio/voice/training/any/any.prompt06.m4a":["audio/voice/Training/Any/ANY.prompt06.m4a",["voice.vl2"]],"audio/voice/training/any/any.prompt06.wav":["audio/voice/Training/Any/ANY.prompt06.WAV",["voice.vl2"]],"audio/voice/training/any/any.prompt07.m4a":["audio/voice/Training/Any/ANY.prompt07.m4a",["voice.vl2"]],"audio/voice/training/any/any.prompt07.wav":["audio/voice/Training/Any/ANY.prompt07.WAV",["voice.vl2"]],"audio/voice/training/any/any.timer01.m4a":["audio/voice/Training/Any/ANY.timer01.m4a",["voice.vl2"]],"audio/voice/training/any/any.timer01.wav":["audio/voice/Training/Any/ANY.timer01.WAV",["voice.vl2"]],"audio/voice/training/any/any.timer02.m4a":["audio/voice/Training/Any/ANY.timer02.m4a",["voice.vl2"]],"audio/voice/training/any/any.timer02.wav":["audio/voice/Training/Any/ANY.timer02.WAV",["voice.vl2"]],"audio/voice/training/any/any.tip.scavenge01.m4a":["audio/voice/Training/Any/ANY.tip.scavenge01.m4a",["voice.vl2"]],"audio/voice/training/any/any.tip.scavenge01.wav":["audio/voice/Training/Any/ANY.tip.scavenge01.WAV",["voice.vl2"]],"audio/voice/training/any/any.tip.scavenge02.m4a":["audio/voice/Training/Any/ANY.tip.scavenge02.m4a",["voice.vl2"]],"audio/voice/training/any/any.tip.scavenge02.wav":["audio/voice/Training/Any/ANY.tip.scavenge02.WAV",["voice.vl2"]],"audio/voice/training/any/any.tip.skiing.m4a":["audio/voice/Training/Any/ANY.tip.skiing.m4a",["voice.vl2"]],"audio/voice/training/any/any.tip.skiing.wav":["audio/voice/Training/Any/ANY.tip.skiing.WAV",["voice.vl2"]],"audio/voice/training/any/any.tip_now01.m4a":["audio/voice/Training/Any/ANY.tip_now01.m4a",["voice.vl2"]],"audio/voice/training/any/any.tip_now01.wav":["audio/voice/Training/Any/ANY.tip_now01.WAV",["voice.vl2"]],"audio/voice/training/any/any.tip_now02.m4a":["audio/voice/Training/Any/ANY.tip_now02.m4a",["voice.vl2"]],"audio/voice/training/any/any.tip_now02.wav":["audio/voice/Training/Any/ANY.tip_now02.WAV",["voice.vl2"]],"audio/voice/training/any/any.warning01.m4a":["audio/voice/Training/Any/ANY.warning01.m4a",["voice.vl2"]],"audio/voice/training/any/any.warning01.wav":["audio/voice/Training/Any/ANY.warning01.WAV",["voice.vl2"]],"audio/voice/training/any/any.warning02.m4a":["audio/voice/Training/Any/ANY.warning02.m4a",["voice.vl2"]],"audio/voice/training/any/any.warning02.wav":["audio/voice/Training/Any/ANY.warning02.WAV",["voice.vl2"]],"audio/voice/training/any/any.warning03.m4a":["audio/voice/Training/Any/ANY.warning03.m4a",["voice.vl2"]],"audio/voice/training/any/any.warning03.wav":["audio/voice/Training/Any/ANY.warning03.WAV",["voice.vl2"]],"audio/voice/training/any/any.warning04.m4a":["audio/voice/Training/Any/ANY.warning04.m4a",["voice.vl2"]],"audio/voice/training/any/any.warning04.wav":["audio/voice/Training/Any/ANY.warning04.WAV",["voice.vl2"]],"audio/voice/training/any/any.warning05.m4a":["audio/voice/Training/Any/ANY.warning05.m4a",["voice.vl2"]],"audio/voice/training/any/any.warning05.wav":["audio/voice/Training/Any/ANY.warning05.WAV",["voice.vl2"]],"audio/voice/training/any/any.warning06.m4a":["audio/voice/Training/Any/ANY.warning06.m4a",["voice.vl2"]],"audio/voice/training/any/any.warning06.wav":["audio/voice/Training/Any/ANY.warning06.WAV",["voice.vl2"]],"audio/voice/training/any/any.warning07.m4a":["audio/voice/Training/Any/ANY.warning07.m4a",["voice.vl2"]],"audio/voice/training/any/any.warning07.wav":["audio/voice/Training/Any/ANY.warning07.WAV",["voice.vl2"]],"audio/voice/training/any/any.waypoint01.m4a":["audio/voice/Training/Any/ANY.waypoint01.m4a",["voice.vl2"]],"audio/voice/training/any/any.waypoint01.wav":["audio/voice/Training/Any/ANY.waypoint01.WAV",["voice.vl2"]],"audio/voice/training/any/any.waypoint02.m4a":["audio/voice/Training/Any/ANY.waypoint02.m4a",["voice.vl2"]],"audio/voice/training/any/any.waypoint02.wav":["audio/voice/Training/Any/ANY.waypoint02.WAV",["voice.vl2"]],"audio/voice/training/any/any.waypoint03.m4a":["audio/voice/Training/Any/ANY.waypoint03.m4a",["voice.vl2"]],"audio/voice/training/any/any.waypoint03.wav":["audio/voice/Training/Any/ANY.waypoint03.WAV",["voice.vl2"]],"audio/voice/training/briefings/t1.brief01.m4a":["audio/voice/Training/Briefings/T1.brief01.m4a",["voice.vl2"]],"audio/voice/training/briefings/t1.brief01.wav":["audio/voice/Training/Briefings/T1.brief01.WAV",["voice.vl2"]],"audio/voice/training/briefings/t1.brief02.m4a":["audio/voice/Training/Briefings/T1.brief02.m4a",["voice.vl2"]],"audio/voice/training/briefings/t1.brief02.wav":["audio/voice/Training/Briefings/T1.brief02.WAV",["voice.vl2"]],"audio/voice/training/briefings/t1.brief03.m4a":["audio/voice/Training/Briefings/T1.brief03.m4a",["voice.vl2"]],"audio/voice/training/briefings/t1.brief03.wav":["audio/voice/Training/Briefings/T1.brief03.WAV",["voice.vl2"]],"audio/voice/training/briefings/t1.brief04.m4a":["audio/voice/Training/Briefings/T1.brief04.m4a",["voice.vl2"]],"audio/voice/training/briefings/t1.brief04.wav":["audio/voice/Training/Briefings/T1.brief04.WAV",["voice.vl2"]],"audio/voice/training/briefings/t1.brief05.m4a":["audio/voice/Training/Briefings/T1.brief05.m4a",["voice.vl2"]],"audio/voice/training/briefings/t1.brief05.wav":["audio/voice/Training/Briefings/T1.brief05.WAV",["voice.vl2"]],"audio/voice/training/briefings/t1.brief06.m4a":["audio/voice/Training/Briefings/T1.brief06.m4a",["voice.vl2"]],"audio/voice/training/briefings/t1.brief06.wav":["audio/voice/Training/Briefings/T1.brief06.WAV",["voice.vl2"]],"audio/voice/training/briefings/t2.brief01.m4a":["audio/voice/Training/Briefings/T2.brief01.m4a",["voice.vl2"]],"audio/voice/training/briefings/t2.brief01.wav":["audio/voice/Training/Briefings/T2.brief01.WAV",["voice.vl2"]],"audio/voice/training/briefings/t2.brief02.m4a":["audio/voice/Training/Briefings/T2.brief02.m4a",["voice.vl2"]],"audio/voice/training/briefings/t2.brief02.wav":["audio/voice/Training/Briefings/T2.brief02.WAV",["voice.vl2"]],"audio/voice/training/briefings/t2.brief03.m4a":["audio/voice/Training/Briefings/T2.brief03.m4a",["voice.vl2"]],"audio/voice/training/briefings/t2.brief03.wav":["audio/voice/Training/Briefings/T2.brief03.WAV",["voice.vl2"]],"audio/voice/training/briefings/t2.brief04.m4a":["audio/voice/Training/Briefings/T2.brief04.m4a",["voice.vl2"]],"audio/voice/training/briefings/t2.brief04.wav":["audio/voice/Training/Briefings/T2.brief04.WAV",["voice.vl2"]],"audio/voice/training/briefings/t2.brief05.m4a":["audio/voice/Training/Briefings/T2.brief05.m4a",["voice.vl2"]],"audio/voice/training/briefings/t2.brief05.wav":["audio/voice/Training/Briefings/T2.brief05.WAV",["voice.vl2"]],"audio/voice/training/briefings/t2.brief06.m4a":["audio/voice/Training/Briefings/T2.brief06.m4a",["voice.vl2"]],"audio/voice/training/briefings/t2.brief06.wav":["audio/voice/Training/Briefings/T2.brief06.WAV",["voice.vl2"]],"audio/voice/training/briefings/t3.brief01.m4a":["audio/voice/Training/Briefings/T3.brief01.m4a",["voice.vl2"]],"audio/voice/training/briefings/t3.brief01.wav":["audio/voice/Training/Briefings/T3.brief01.WAV",["voice.vl2"]],"audio/voice/training/briefings/t3.brief02.m4a":["audio/voice/Training/Briefings/T3.brief02.m4a",["voice.vl2"]],"audio/voice/training/briefings/t3.brief02.wav":["audio/voice/Training/Briefings/T3.brief02.WAV",["voice.vl2"]],"audio/voice/training/briefings/t3.brief03.m4a":["audio/voice/Training/Briefings/T3.brief03.m4a",["voice.vl2"]],"audio/voice/training/briefings/t3.brief03.wav":["audio/voice/Training/Briefings/T3.brief03.WAV",["voice.vl2"]],"audio/voice/training/briefings/t3.brief04.m4a":["audio/voice/Training/Briefings/T3.brief04.m4a",["voice.vl2"]],"audio/voice/training/briefings/t3.brief04.wav":["audio/voice/Training/Briefings/T3.brief04.WAV",["voice.vl2"]],"audio/voice/training/briefings/t3.brief05.m4a":["audio/voice/Training/Briefings/T3.brief05.m4a",["voice.vl2"]],"audio/voice/training/briefings/t3.brief05.wav":["audio/voice/Training/Briefings/T3.brief05.WAV",["voice.vl2"]],"audio/voice/training/briefings/t3.brief06.m4a":["audio/voice/Training/Briefings/T3.brief06.m4a",["voice.vl2"]],"audio/voice/training/briefings/t3.brief06.wav":["audio/voice/Training/Briefings/T3.brief06.WAV",["voice.vl2"]],"audio/voice/training/briefings/t4.brief01.m4a":["audio/voice/Training/Briefings/T4.brief01.m4a",["voice.vl2"]],"audio/voice/training/briefings/t4.brief01.wav":["audio/voice/Training/Briefings/T4.brief01.WAV",["voice.vl2"]],"audio/voice/training/briefings/t4.brief02.m4a":["audio/voice/Training/Briefings/T4.brief02.m4a",["voice.vl2"]],"audio/voice/training/briefings/t4.brief02.wav":["audio/voice/Training/Briefings/T4.brief02.WAV",["voice.vl2"]],"audio/voice/training/briefings/t4.brief03.m4a":["audio/voice/Training/Briefings/T4.brief03.m4a",["voice.vl2"]],"audio/voice/training/briefings/t4.brief03.wav":["audio/voice/Training/Briefings/T4.brief03.WAV",["voice.vl2"]],"audio/voice/training/briefings/t4.brief04.m4a":["audio/voice/Training/Briefings/T4.brief04.m4a",["voice.vl2"]],"audio/voice/training/briefings/t4.brief04.wav":["audio/voice/Training/Briefings/T4.brief04.WAV",["voice.vl2"]],"audio/voice/training/briefings/t4.brief05.m4a":["audio/voice/Training/Briefings/T4.brief05.m4a",["voice.vl2"]],"audio/voice/training/briefings/t4.brief05.wav":["audio/voice/Training/Briefings/T4.brief05.WAV",["voice.vl2"]],"audio/voice/training/briefings/t4.brief06.m4a":["audio/voice/Training/Briefings/T4.brief06.m4a",["voice.vl2"]],"audio/voice/training/briefings/t4.brief06.wav":["audio/voice/Training/Briefings/T4.brief06.WAV",["voice.vl2"]],"audio/voice/training/briefings/t5.brief01.m4a":["audio/voice/Training/Briefings/T5.brief01.m4a",["voice.vl2"]],"audio/voice/training/briefings/t5.brief01.wav":["audio/voice/Training/Briefings/T5.brief01.WAV",["voice.vl2"]],"audio/voice/training/briefings/t5.brief02.m4a":["audio/voice/Training/Briefings/T5.brief02.m4a",["voice.vl2"]],"audio/voice/training/briefings/t5.brief02.wav":["audio/voice/Training/Briefings/T5.brief02.WAV",["voice.vl2"]],"audio/voice/training/briefings/t5.brief03.m4a":["audio/voice/Training/Briefings/T5.brief03.m4a",["voice.vl2"]],"audio/voice/training/briefings/t5.brief03.wav":["audio/voice/Training/Briefings/T5.brief03.WAV",["voice.vl2"]],"audio/voice/training/briefings/t5.brief04.m4a":["audio/voice/Training/Briefings/T5.brief04.m4a",["voice.vl2"]],"audio/voice/training/briefings/t5.brief04.wav":["audio/voice/Training/Briefings/T5.brief04.WAV",["voice.vl2"]],"audio/voice/training/briefings/t5.brief05.m4a":["audio/voice/Training/Briefings/T5.brief05.m4a",["voice.vl2"]],"audio/voice/training/briefings/t5.brief05.wav":["audio/voice/Training/Briefings/T5.brief05.WAV",["voice.vl2"]],"audio/voice/training/briefings/t5.brief06.m4a":["audio/voice/Training/Briefings/T5.brief06.m4a",["voice.vl2"]],"audio/voice/training/briefings/t5.brief06.wav":["audio/voice/Training/Briefings/T5.brief06.WAV",["voice.vl2"]],"audio/voice/training/briefings/t6.brief01.m4a":["audio/voice/Training/Briefings/T6.brief01.m4a",["voice.vl2"]],"audio/voice/training/briefings/t6.brief01.wav":["audio/voice/Training/Briefings/T6.brief01.WAV",["voice.vl2"]],"audio/voice/training/briefings/t6.brief02.m4a":["audio/voice/Training/Briefings/T6.brief02.m4a",["voice.vl2"]],"audio/voice/training/briefings/t6.brief02.wav":["audio/voice/Training/Briefings/T6.brief02.WAV",["voice.vl2"]],"audio/voice/training/briefings/t6.brief03.m4a":["audio/voice/Training/Briefings/T6.brief03.m4a",["voice.vl2"]],"audio/voice/training/briefings/t6.brief03.wav":["audio/voice/Training/Briefings/T6.brief03.WAV",["voice.vl2"]],"audio/voice/training/briefings/t6.brief04.m4a":["audio/voice/Training/Briefings/T6.brief04.m4a",["voice.vl2"]],"audio/voice/training/briefings/t6.brief04.wav":["audio/voice/Training/Briefings/T6.brief04.WAV",["voice.vl2"]],"audio/voice/training/briefings/t6.brief05.m4a":["audio/voice/Training/Briefings/T6.brief05.m4a",["voice.vl2"]],"audio/voice/training/briefings/t6.brief05.wav":["audio/voice/Training/Briefings/T6.brief05.WAV",["voice.vl2"]],"audio/voice/training/briefings/t6.brief06.m4a":["audio/voice/Training/Briefings/T6.brief06.m4a",["voice.vl2"]],"audio/voice/training/briefings/t6.brief06.wav":["audio/voice/Training/Briefings/T6.brief06.WAV",["voice.vl2"]],"audio/voice/training/mission1/any.move.m4a":["audio/voice/Training/Mission1/ANY.move.m4a",["voice.vl2"]],"audio/voice/training/mission1/any.move.wav":["audio/voice/Training/Mission1/ANY.move.WAV",["voice.vl2"]],"audio/voice/training/mission1/any.practice.m4a":["audio/voice/Training/Mission1/ANY.practice.m4a",["voice.vl2"]],"audio/voice/training/mission1/any.practice.wav":["audio/voice/Training/Mission1/ANY.practice.WAV",["voice.vl2"]],"audio/voice/training/mission1/any.practice1.m4a":["audio/voice/Training/Mission1/ANY.practice1.m4a",["voice.vl2"]],"audio/voice/training/mission1/any.practice1.wav":["audio/voice/Training/Mission1/ANY.practice1.WAV",["voice.vl2"]],"audio/voice/training/mission1/any.warning06.m4a":["audio/voice/Training/Mission1/ANY.warning06.m4a",["voice.vl2"]],"audio/voice/training/mission1/any.warning06.wav":["audio/voice/Training/Mission1/ANY.warning06.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.blaster01.m4a":["audio/voice/Training/Mission1/T1.tip.blaster01.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.blaster01.wav":["audio/voice/Training/Mission1/T1.tip.blaster01.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.chaingun.m4a":["audio/voice/Training/Mission1/T1.tip.chaingun.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.chaingun.wav":["audio/voice/Training/Mission1/T1.tip.chaingun.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.energy.m4a":["audio/voice/Training/Mission1/T1.tip.energy.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.energy.wav":["audio/voice/Training/Mission1/T1.tip.energy.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.iff.m4a":["audio/voice/Training/Mission1/T1.tip.IFF.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.iff.wav":["audio/voice/Training/Mission1/T1.tip.IFF.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.jets01.m4a":["audio/voice/Training/Mission1/T1.tip.jets01.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.jets01.wav":["audio/voice/Training/Mission1/T1.tip.jets01.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.jets02.m4a":["audio/voice/Training/Mission1/T1.tip.jets02.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.jets02.wav":["audio/voice/Training/Mission1/T1.tip.jets02.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.jets03.m4a":["audio/voice/Training/Mission1/T1.tip.jets03.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.jets03.wav":["audio/voice/Training/Mission1/T1.tip.jets03.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.pack01.m4a":["audio/voice/Training/Mission1/T1.tip.pack01.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.pack01.wav":["audio/voice/Training/Mission1/T1.tip.pack01.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.pack02.m4a":["audio/voice/Training/Mission1/T1.tip.pack02.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.pack02.wav":["audio/voice/Training/Mission1/T1.tip.pack02.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.skiing01.m4a":["audio/voice/Training/Mission1/T1.tip.skiing01.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.skiing01.wav":["audio/voice/Training/Mission1/T1.tip.skiing01.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.skiing02.m4a":["audio/voice/Training/Mission1/T1.tip.skiing02.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.skiing02.wav":["audio/voice/Training/Mission1/T1.tip.skiing02.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.skiing02a.m4a":["audio/voice/Training/Mission1/T1.tip.skiing02a.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.skiing02a.wav":["audio/voice/Training/Mission1/T1.tip.skiing02a.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.skiing03.m4a":["audio/voice/Training/Mission1/T1.tip.skiing03.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.skiing03.wav":["audio/voice/Training/Mission1/T1.tip.skiing03.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.sniper02.m4a":["audio/voice/Training/Mission1/T1.tip.sniper02.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.sniper02.wav":["audio/voice/Training/Mission1/T1.tip.sniper02.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.sniper03.m4a":["audio/voice/Training/Mission1/T1.tip.sniper03.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.sniper03.wav":["audio/voice/Training/Mission1/T1.tip.sniper03.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.sniper04.m4a":["audio/voice/Training/Mission1/T1.tip.sniper04.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.sniper04.wav":["audio/voice/Training/Mission1/T1.tip.sniper04.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.spinfusor.m4a":["audio/voice/Training/Mission1/T1.tip.spinfusor.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.spinfusor.wav":["audio/voice/Training/Mission1/T1.tip.spinfusor.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.tactics.m4a":["audio/voice/Training/Mission1/T1.tip.tactics.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.tactics.wav":["audio/voice/Training/Mission1/T1.tip.tactics.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.tactics02.m4a":["audio/voice/Training/Mission1/T1.tip.tactics02.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.tactics02.wav":["audio/voice/Training/Mission1/T1.tip.tactics02.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_01.m4a":["audio/voice/Training/Mission1/T1_01.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_01.wav":["audio/voice/Training/Mission1/T1_01.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_01a.m4a":["audio/voice/Training/Mission1/T1_01a.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_01a.wav":["audio/voice/Training/Mission1/T1_01a.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_01b.m4a":["audio/voice/Training/Mission1/T1_01b.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_01b.wav":["audio/voice/Training/Mission1/T1_01b.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_01c.m4a":["audio/voice/Training/Mission1/T1_01c.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_01c.wav":["audio/voice/Training/Mission1/T1_01c.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_02.m4a":["audio/voice/Training/Mission1/T1_02.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_02.wav":["audio/voice/Training/Mission1/T1_02.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_02a.m4a":["audio/voice/Training/Mission1/T1_02a.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_02a.wav":["audio/voice/Training/Mission1/T1_02a.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_03.m4a":["audio/voice/Training/Mission1/T1_03.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_03.wav":["audio/voice/Training/Mission1/T1_03.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_03a.m4a":["audio/voice/Training/Mission1/T1_03a.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_03a.wav":["audio/voice/Training/Mission1/T1_03a.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_03b.m4a":["audio/voice/Training/Mission1/T1_03b.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_03b.wav":["audio/voice/Training/Mission1/T1_03b.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_03c.m4a":["audio/voice/Training/Mission1/T1_03c.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_03c.wav":["audio/voice/Training/Mission1/T1_03c.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_04.m4a":["audio/voice/Training/Mission1/T1_04.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_04.wav":["audio/voice/Training/Mission1/T1_04.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_05.m4a":["audio/voice/Training/Mission1/T1_05.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_05.wav":["audio/voice/Training/Mission1/T1_05.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_06.m4a":["audio/voice/Training/Mission1/T1_06.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_06.wav":["audio/voice/Training/Mission1/T1_06.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_08.m4a":["audio/voice/Training/Mission1/T1_08.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_08.wav":["audio/voice/Training/Mission1/T1_08.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_09.m4a":["audio/voice/Training/Mission1/T1_09.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_09.wav":["audio/voice/Training/Mission1/T1_09.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_10.m4a":["audio/voice/Training/Mission1/T1_10.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_10.wav":["audio/voice/Training/Mission1/T1_10.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_10a.m4a":["audio/voice/Training/Mission1/T1_10a.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_10a.wav":["audio/voice/Training/Mission1/T1_10a.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_10b.m4a":["audio/voice/Training/Mission1/T1_10b.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_10b.wav":["audio/voice/Training/Mission1/T1_10b.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_11.m4a":["audio/voice/Training/Mission1/T1_11.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_11.wav":["audio/voice/Training/Mission1/T1_11.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_12a.m4a":["audio/voice/Training/Mission1/T1_12a.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_12a.wav":["audio/voice/Training/Mission1/T1_12a.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_12b.m4a":["audio/voice/Training/Mission1/T1_12b.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_12b.wav":["audio/voice/Training/Mission1/T1_12b.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_13.m4a":["audio/voice/Training/Mission1/T1_13.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_13.wav":["audio/voice/Training/Mission1/T1_13.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_14.m4a":["audio/voice/Training/Mission1/T1_14.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_14.wav":["audio/voice/Training/Mission1/T1_14.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_15.m4a":["audio/voice/Training/Mission1/T1_15.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_15.wav":["audio/voice/Training/Mission1/T1_15.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_16.m4a":["audio/voice/Training/Mission1/T1_16.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_16.wav":["audio/voice/Training/Mission1/T1_16.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_17.m4a":["audio/voice/Training/Mission1/T1_17.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_17.wav":["audio/voice/Training/Mission1/T1_17.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_18.m4a":["audio/voice/Training/Mission1/T1_18.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_18.wav":["audio/voice/Training/Mission1/T1_18.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_21.m4a":["audio/voice/Training/Mission1/T1_21.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_21.wav":["audio/voice/Training/Mission1/T1_21.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_22.m4a":["audio/voice/Training/Mission1/T1_22.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_22.wav":["audio/voice/Training/Mission1/T1_22.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_22a.m4a":["audio/voice/Training/Mission1/T1_22a.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_22a.wav":["audio/voice/Training/Mission1/T1_22a.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_23.m4a":["audio/voice/Training/Mission1/T1_23.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_23.wav":["audio/voice/Training/Mission1/T1_23.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_23a.m4a":["audio/voice/Training/Mission1/T1_23a.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_23a.wav":["audio/voice/Training/Mission1/T1_23a.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_23b.m4a":["audio/voice/Training/Mission1/T1_23b.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_23b.wav":["audio/voice/Training/Mission1/T1_23b.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_24.m4a":["audio/voice/Training/Mission1/T1_24.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_24.wav":["audio/voice/Training/Mission1/T1_24.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_24a.m4a":["audio/voice/Training/Mission1/T1_24a.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_24a.wav":["audio/voice/Training/Mission1/T1_24a.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_25.m4a":["audio/voice/Training/Mission1/T1_25.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_25.wav":["audio/voice/Training/Mission1/T1_25.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_25a.m4a":["audio/voice/Training/Mission1/T1_25a.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_25a.wav":["audio/voice/Training/Mission1/T1_25a.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_26.m4a":["audio/voice/Training/Mission1/T1_26.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_26.wav":["audio/voice/Training/Mission1/T1_26.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_27.m4a":["audio/voice/Training/Mission1/T1_27.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_27.wav":["audio/voice/Training/Mission1/T1_27.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_27a.m4a":["audio/voice/Training/Mission1/T1_27a.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_27a.wav":["audio/voice/Training/Mission1/T1_27a.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_27b.m4a":["audio/voice/Training/Mission1/T1_27b.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_27b.wav":["audio/voice/Training/Mission1/T1_27b.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_28.m4a":["audio/voice/Training/Mission1/T1_28.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_28.wav":["audio/voice/Training/Mission1/T1_28.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_29.m4a":["audio/voice/Training/Mission1/T1_29.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_29.wav":["audio/voice/Training/Mission1/T1_29.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_29a.m4a":["audio/voice/Training/Mission1/T1_29a.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_29a.wav":["audio/voice/Training/Mission1/T1_29a.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_30.m4a":["audio/voice/Training/Mission1/T1_30.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_30.wav":["audio/voice/Training/Mission1/T1_30.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2.cya01.m4a":["audio/voice/Training/Mission2/T2.cya01.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2.cya01.wav":["audio/voice/Training/Mission2/T2.cya01.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2.inventory01.m4a":["audio/voice/Training/Mission2/T2.inventory01.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2.inventory01.wav":["audio/voice/Training/Mission2/T2.inventory01.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2.repairpack.m4a":["audio/voice/Training/Mission2/T2.repairpack.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2.repairpack.wav":["audio/voice/Training/Mission2/T2.repairpack.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.defense01.m4a":["audio/voice/Training/Mission2/T2.tip.defense01.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.defense01.wav":["audio/voice/Training/Mission2/T2.tip.defense01.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.defense02.m4a":["audio/voice/Training/Mission2/T2.tip.defense02.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.defense02.wav":["audio/voice/Training/Mission2/T2.tip.defense02.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.defense03.m4a":["audio/voice/Training/Mission2/T2.tip.defense03.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.defense03.wav":["audio/voice/Training/Mission2/T2.tip.defense03.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.defense05.m4a":["audio/voice/Training/Mission2/T2.tip.defense05.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.defense05.wav":["audio/voice/Training/Mission2/T2.tip.defense05.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.defense05a.m4a":["audio/voice/Training/Mission2/T2.tip.defense05a.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.defense05a.wav":["audio/voice/Training/Mission2/T2.tip.defense05a.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.defense06.m4a":["audio/voice/Training/Mission2/T2.tip.defense06.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.defense06.wav":["audio/voice/Training/Mission2/T2.tip.defense06.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.defense07.m4a":["audio/voice/Training/Mission2/T2.tip.defense07.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.defense07.wav":["audio/voice/Training/Mission2/T2.tip.defense07.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.dropit.m4a":["audio/voice/Training/Mission2/T2.tip.dropit.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.dropit.wav":["audio/voice/Training/Mission2/T2.tip.dropit.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.elf.m4a":["audio/voice/Training/Mission2/T2.tip.elf.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.elf.wav":["audio/voice/Training/Mission2/T2.tip.elf.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.evading.m4a":["audio/voice/Training/Mission2/T2.tip.evading.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.evading.wav":["audio/voice/Training/Mission2/T2.tip.evading.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.gens01.m4a":["audio/voice/Training/Mission2/T2.tip.gens01.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.gens01.wav":["audio/voice/Training/Mission2/T2.tip.gens01.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.inventory.m4a":["audio/voice/Training/Mission2/T2.tip.inventory.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.inventory.wav":["audio/voice/Training/Mission2/T2.tip.inventory.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.inventory01.m4a":["audio/voice/Training/Mission2/T2.tip.inventory01.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.inventory01.wav":["audio/voice/Training/Mission2/T2.tip.inventory01.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.inventory03.m4a":["audio/voice/Training/Mission2/T2.tip.inventory03.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.inventory03.wav":["audio/voice/Training/Mission2/T2.tip.inventory03.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.missile.m4a":["audio/voice/Training/Mission2/T2.tip.missile.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.missile.wav":["audio/voice/Training/Mission2/T2.tip.missile.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.missile02.m4a":["audio/voice/Training/Mission2/T2.tip.missile02.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.missile02.wav":["audio/voice/Training/Mission2/T2.tip.missile02.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.missile03.m4a":["audio/voice/Training/Mission2/T2.tip.missile03.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.missile03.wav":["audio/voice/Training/Mission2/T2.tip.missile03.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.plasma.m4a":["audio/voice/Training/Mission2/T2.tip.plasma.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.plasma.wav":["audio/voice/Training/Mission2/T2.tip.plasma.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.repair01.m4a":["audio/voice/Training/Mission2/T2.tip.repair01.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.repair01.wav":["audio/voice/Training/Mission2/T2.tip.repair01.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.repair02.m4a":["audio/voice/Training/Mission2/T2.tip.repair02.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.repair02.wav":["audio/voice/Training/Mission2/T2.tip.repair02.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.repair03.m4a":["audio/voice/Training/Mission2/T2.tip.repair03.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.repair03.wav":["audio/voice/Training/Mission2/T2.tip.repair03.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.scanned.m4a":["audio/voice/Training/Mission2/T2.tip.scanned.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.scanned.wav":["audio/voice/Training/Mission2/T2.tip.scanned.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.shieldpack.m4a":["audio/voice/Training/Mission2/T2.tip.shieldpack.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.shieldpack.wav":["audio/voice/Training/Mission2/T2.tip.shieldpack.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.tlaser.m4a":["audio/voice/Training/Mission2/T2.tip.tlaser.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.tlaser.wav":["audio/voice/Training/Mission2/T2.tip.tlaser.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.turret01.m4a":["audio/voice/Training/Mission2/T2.tip.turret01.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.turret01.wav":["audio/voice/Training/Mission2/T2.tip.turret01.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.turret02.m4a":["audio/voice/Training/Mission2/T2.tip.turret02.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.turret02.wav":["audio/voice/Training/Mission2/T2.tip.turret02.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2_01.m4a":["audio/voice/Training/Mission2/T2_01.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2_01.wav":["audio/voice/Training/Mission2/T2_01.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2_01a.m4a":["audio/voice/Training/Mission2/T2_01a.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2_01a.wav":["audio/voice/Training/Mission2/T2_01a.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2_01b.m4a":["audio/voice/Training/Mission2/T2_01b.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2_01b.wav":["audio/voice/Training/Mission2/T2_01b.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2_02.m4a":["audio/voice/Training/Mission2/T2_02.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2_02.wav":["audio/voice/Training/Mission2/T2_02.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2_03.m4a":["audio/voice/Training/Mission2/T2_03.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2_03.wav":["audio/voice/Training/Mission2/T2_03.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2_04.m4a":["audio/voice/Training/Mission2/T2_04.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2_04.wav":["audio/voice/Training/Mission2/T2_04.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2_04a.m4a":["audio/voice/Training/Mission2/T2_04a.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2_04a.wav":["audio/voice/Training/Mission2/T2_04a.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2_05.m4a":["audio/voice/Training/Mission2/T2_05.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2_05.wav":["audio/voice/Training/Mission2/T2_05.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2_05a.m4a":["audio/voice/Training/Mission2/T2_05a.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2_05a.wav":["audio/voice/Training/Mission2/T2_05a.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2_05b.m4a":["audio/voice/Training/Mission2/T2_05b.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2_05b.wav":["audio/voice/Training/Mission2/T2_05b.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2_05c.m4a":["audio/voice/Training/Mission2/T2_05c.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2_05c.wav":["audio/voice/Training/Mission2/T2_05c.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2_07.m4a":["audio/voice/Training/Mission2/T2_07.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2_07.wav":["audio/voice/Training/Mission2/T2_07.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2_08.m4a":["audio/voice/Training/Mission2/T2_08.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2_08.wav":["audio/voice/Training/Mission2/T2_08.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2_09.m4a":["audio/voice/Training/Mission2/T2_09.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2_09.wav":["audio/voice/Training/Mission2/T2_09.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2_09a.m4a":["audio/voice/Training/Mission2/T2_09a.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2_09a.wav":["audio/voice/Training/Mission2/T2_09a.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2_09b.m4a":["audio/voice/Training/Mission2/T2_09b.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2_09b.wav":["audio/voice/Training/Mission2/T2_09b.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2_10.m4a":["audio/voice/Training/Mission2/T2_10.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2_10.wav":["audio/voice/Training/Mission2/T2_10.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2_10a.m4a":["audio/voice/Training/Mission2/T2_10a.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2_10a.wav":["audio/voice/Training/Mission2/T2_10a.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2_11.m4a":["audio/voice/Training/Mission2/T2_11.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2_11.wav":["audio/voice/Training/Mission2/T2_11.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2_12.m4a":["audio/voice/Training/Mission2/T2_12.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2_12.wav":["audio/voice/Training/Mission2/T2_12.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2_13.m4a":["audio/voice/Training/Mission2/T2_13.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2_13.wav":["audio/voice/Training/Mission2/T2_13.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3.cloaking.m4a":["audio/voice/Training/Mission3/T3.cloaking.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3.cloaking.wav":["audio/voice/Training/Mission3/T3.cloaking.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3.tip.cloaking01.m4a":["audio/voice/Training/Mission3/T3.tip.cloaking01.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3.tip.cloaking01.wav":["audio/voice/Training/Mission3/T3.tip.cloaking01.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3.tip.cloaking02.m4a":["audio/voice/Training/Mission3/T3.tip.cloaking02.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3.tip.cloaking02.wav":["audio/voice/Training/Mission3/T3.tip.cloaking02.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3.tip.cloaking03.m4a":["audio/voice/Training/Mission3/T3.tip.cloaking03.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3.tip.cloaking03.wav":["audio/voice/Training/Mission3/T3.tip.cloaking03.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3.tip.equipment01.m4a":["audio/voice/Training/Mission3/T3.tip.equipment01.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3.tip.equipment01.wav":["audio/voice/Training/Mission3/T3.tip.equipment01.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3.tip.equipment02.m4a":["audio/voice/Training/Mission3/T3.tip.equipment02.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3.tip.equipment02.wav":["audio/voice/Training/Mission3/T3.tip.equipment02.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3.tip.freelook.m4a":["audio/voice/Training/Mission3/T3.tip.freelook.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3.tip.freelook.wav":["audio/voice/Training/Mission3/T3.tip.freelook.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3.tip.piloting01.m4a":["audio/voice/Training/Mission3/T3.tip.piloting01.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3.tip.piloting01.wav":["audio/voice/Training/Mission3/T3.tip.piloting01.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3.tip.piloting02.m4a":["audio/voice/Training/Mission3/T3.tip.piloting02.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3.tip.piloting02.wav":["audio/voice/Training/Mission3/T3.tip.piloting02.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3.tip.piloting03.m4a":["audio/voice/Training/Mission3/T3.tip.piloting03.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3.tip.piloting03.wav":["audio/voice/Training/Mission3/T3.tip.piloting03.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3.tip.piloting04.m4a":["audio/voice/Training/Mission3/T3.tip.piloting04.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3.tip.piloting04.wav":["audio/voice/Training/Mission3/T3.tip.piloting04.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3.tip.shocklance.m4a":["audio/voice/Training/Mission3/T3.tip.shocklance.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3.tip.shocklance.wav":["audio/voice/Training/Mission3/T3.tip.shocklance.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3.tip.underwater01.m4a":["audio/voice/Training/Mission3/T3.tip.underwater01.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3.tip.underwater01.wav":["audio/voice/Training/Mission3/T3.tip.underwater01.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3.tip.underwater02.m4a":["audio/voice/Training/Mission3/T3.tip.underwater02.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3.tip.underwater02.wav":["audio/voice/Training/Mission3/T3.tip.underwater02.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3.warning01.m4a":["audio/voice/Training/Mission3/T3.warning01.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3.warning01.wav":["audio/voice/Training/Mission3/T3.warning01.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3.warning02.m4a":["audio/voice/Training/Mission3/T3.warning02.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3.warning02.wav":["audio/voice/Training/Mission3/T3.warning02.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3.warning03.m4a":["audio/voice/Training/Mission3/T3.warning03.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3.warning03.wav":["audio/voice/Training/Mission3/T3.warning03.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3_01.m4a":["audio/voice/Training/Mission3/T3_01.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3_01.wav":["audio/voice/Training/Mission3/T3_01.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3_02.m4a":["audio/voice/Training/Mission3/T3_02.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3_02.wav":["audio/voice/Training/Mission3/T3_02.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3_03.m4a":["audio/voice/Training/Mission3/T3_03.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3_03.wav":["audio/voice/Training/Mission3/T3_03.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3_04.m4a":["audio/voice/Training/Mission3/T3_04.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3_04.wav":["audio/voice/Training/Mission3/T3_04.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3_05.m4a":["audio/voice/Training/Mission3/T3_05.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3_05.wav":["audio/voice/Training/Mission3/T3_05.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3_06.m4a":["audio/voice/Training/Mission3/T3_06.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3_06.wav":["audio/voice/Training/Mission3/T3_06.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3_07.m4a":["audio/voice/Training/Mission3/T3_07.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3_07.wav":["audio/voice/Training/Mission3/T3_07.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3_07a.m4a":["audio/voice/Training/Mission3/T3_07a.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3_07a.wav":["audio/voice/Training/Mission3/T3_07a.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3_07b.m4a":["audio/voice/Training/Mission3/T3_07b.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3_07b.wav":["audio/voice/Training/Mission3/T3_07b.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3_08.m4a":["audio/voice/Training/Mission3/T3_08.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3_08.wav":["audio/voice/Training/Mission3/T3_08.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3_08a.m4a":["audio/voice/Training/Mission3/T3_08a.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3_08a.wav":["audio/voice/Training/Mission3/T3_08a.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3_08b.m4a":["audio/voice/Training/Mission3/T3_08b.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3_08b.wav":["audio/voice/Training/Mission3/T3_08b.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3_09.m4a":["audio/voice/Training/Mission3/T3_09.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3_09.wav":["audio/voice/Training/Mission3/T3_09.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3_09a.m4a":["audio/voice/Training/Mission3/T3_09a.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3_09a.wav":["audio/voice/Training/Mission3/T3_09a.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3_10.m4a":["audio/voice/Training/Mission3/T3_10.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3_10.wav":["audio/voice/Training/Mission3/T3_10.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3_11.m4a":["audio/voice/Training/Mission3/T3_11.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3_11.wav":["audio/voice/Training/Mission3/T3_11.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3_12.m4a":["audio/voice/Training/Mission3/T3_12.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3_12.wav":["audio/voice/Training/Mission3/T3_12.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3_12a.m4a":["audio/voice/Training/Mission3/T3_12a.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3_12a.wav":["audio/voice/Training/Mission3/T3_12a.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3_13.m4a":["audio/voice/Training/Mission3/T3_13.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3_13.wav":["audio/voice/Training/Mission3/T3_13.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.defense01.m4a":["audio/voice/Training/Mission4/T4.defense01.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.defense01.wav":["audio/voice/Training/Mission4/T4.defense01.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.ff_gendown01.m4a":["audio/voice/Training/Mission4/T4.ff_gendown01.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.ff_gendown01.wav":["audio/voice/Training/Mission4/T4.ff_gendown01.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.ff_gendown02.m4a":["audio/voice/Training/Mission4/T4.ff_gendown02.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.ff_gendown02.wav":["audio/voice/Training/Mission4/T4.ff_gendown02.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.fieldsup_01.m4a":["audio/voice/Training/Mission4/T4.fieldsUP_01.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.fieldsup_01.wav":["audio/voice/Training/Mission4/T4.fieldsUP_01.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.fieldsup_02.m4a":["audio/voice/Training/Mission4/T4.fieldsUP_02.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.fieldsup_02.wav":["audio/voice/Training/Mission4/T4.fieldsUP_02.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.forcefields01.m4a":["audio/voice/Training/Mission4/T4.forcefields01.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.forcefields01.wav":["audio/voice/Training/Mission4/T4.forcefields01.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.forcefields02.m4a":["audio/voice/Training/Mission4/T4.forcefields02.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.forcefields02.wav":["audio/voice/Training/Mission4/T4.forcefields02.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.gendown02.m4a":["audio/voice/Training/Mission4/T4.gendown02.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.gendown02.wav":["audio/voice/Training/Mission4/T4.gendown02.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.gendown02a.m4a":["audio/voice/Training/Mission4/T4.gendown02a.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.gendown02a.wav":["audio/voice/Training/Mission4/T4.gendown02a.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.genup.m4a":["audio/voice/Training/Mission4/T4.genup.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.genup.wav":["audio/voice/Training/Mission4/T4.genup.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.genup02.m4a":["audio/voice/Training/Mission4/T4.genup02.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.genup02.wav":["audio/voice/Training/Mission4/T4.genup02.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.genup02a.m4a":["audio/voice/Training/Mission4/T4.genup02a.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.genup02a.wav":["audio/voice/Training/Mission4/T4.genup02a.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.repgen.m4a":["audio/voice/Training/Mission4/T4.repgen.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.repgen.wav":["audio/voice/Training/Mission4/T4.repgen.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.camera01.m4a":["audio/voice/Training/Mission4/T4.tip.camera01.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.camera01.wav":["audio/voice/Training/Mission4/T4.tip.camera01.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.camera02.m4a":["audio/voice/Training/Mission4/T4.tip.camera02.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.camera02.wav":["audio/voice/Training/Mission4/T4.tip.camera02.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.camera03.m4a":["audio/voice/Training/Mission4/T4.tip.camera03.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.camera03.wav":["audio/voice/Training/Mission4/T4.tip.camera03.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.camera04.m4a":["audio/voice/Training/Mission4/T4.tip.camera04.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.camera04.wav":["audio/voice/Training/Mission4/T4.tip.camera04.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.defense02.m4a":["audio/voice/Training/Mission4/T4.tip.defense02.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.defense02.wav":["audio/voice/Training/Mission4/T4.tip.defense02.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.defense03.m4a":["audio/voice/Training/Mission4/T4.tip.defense03.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.defense03.wav":["audio/voice/Training/Mission4/T4.tip.defense03.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.defense05.m4a":["audio/voice/Training/Mission4/T4.tip.defense05.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.defense05.wav":["audio/voice/Training/Mission4/T4.tip.defense05.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.defense06.m4a":["audio/voice/Training/Mission4/T4.tip.defense06.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.defense06.wav":["audio/voice/Training/Mission4/T4.tip.defense06.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.defense07.m4a":["audio/voice/Training/Mission4/T4.tip.defense07.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.defense07.wav":["audio/voice/Training/Mission4/T4.tip.defense07.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.defense08.m4a":["audio/voice/Training/Mission4/T4.tip.defense08.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.defense08.wav":["audio/voice/Training/Mission4/T4.tip.defense08.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.defense09.m4a":["audio/voice/Training/Mission4/T4.tip.defense09.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.defense09.wav":["audio/voice/Training/Mission4/T4.tip.defense09.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.deploy.m4a":["audio/voice/Training/Mission4/T4.tip.deploy.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.deploy.wav":["audio/voice/Training/Mission4/T4.tip.deploy.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.deploy01.m4a":["audio/voice/Training/Mission4/T4.tip.deploy01.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.deploy01.wav":["audio/voice/Training/Mission4/T4.tip.deploy01.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.deploy02.m4a":["audio/voice/Training/Mission4/T4.tip.deploy02.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.deploy02.wav":["audio/voice/Training/Mission4/T4.tip.deploy02.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.depturret.m4a":["audio/voice/Training/Mission4/T4.tip.depturret.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.depturret.wav":["audio/voice/Training/Mission4/T4.tip.depturret.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.generator01.m4a":["audio/voice/Training/Mission4/T4.tip.generator01.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.generator01.wav":["audio/voice/Training/Mission4/T4.tip.generator01.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.generator01a.m4a":["audio/voice/Training/Mission4/T4.tip.generator01a.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.generator01a.wav":["audio/voice/Training/Mission4/T4.tip.generator01a.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.generator01b.m4a":["audio/voice/Training/Mission4/T4.tip.generator01b.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.generator01b.wav":["audio/voice/Training/Mission4/T4.tip.generator01b.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.generator02.m4a":["audio/voice/Training/Mission4/T4.tip.generator02.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.generator02.wav":["audio/voice/Training/Mission4/T4.tip.generator02.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.mortar.m4a":["audio/voice/Training/Mission4/T4.tip.mortar.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.mortar.wav":["audio/voice/Training/Mission4/T4.tip.mortar.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.mortar_02.m4a":["audio/voice/Training/Mission4/T4.tip.mortar_02.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.mortar_02.wav":["audio/voice/Training/Mission4/T4.tip.mortar_02.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.objects.m4a":["audio/voice/Training/Mission4/T4.tip.objects.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.objects.wav":["audio/voice/Training/Mission4/T4.tip.objects.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.warning01.m4a":["audio/voice/Training/Mission4/T4.warning01.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.warning01.wav":["audio/voice/Training/Mission4/T4.warning01.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.warning02.m4a":["audio/voice/Training/Mission4/T4.warning02.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.warning02.wav":["audio/voice/Training/Mission4/T4.warning02.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4_01.m4a":["audio/voice/Training/Mission4/T4_01.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4_01.wav":["audio/voice/Training/Mission4/T4_01.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4_01a.m4a":["audio/voice/Training/Mission4/T4_01a.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4_01a.wav":["audio/voice/Training/Mission4/T4_01a.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4_01b.m4a":["audio/voice/Training/Mission4/T4_01b.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4_01b.wav":["audio/voice/Training/Mission4/T4_01b.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4_01c.m4a":["audio/voice/Training/Mission4/T4_01c.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4_01c.wav":["audio/voice/Training/Mission4/T4_01c.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4_02.m4a":["audio/voice/Training/Mission4/T4_02.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4_02.wav":["audio/voice/Training/Mission4/T4_02.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4_02a.m4a":["audio/voice/Training/Mission4/T4_02a.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4_02a.wav":["audio/voice/Training/Mission4/T4_02a.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4_02b.m4a":["audio/voice/Training/Mission4/T4_02b.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4_02b.wav":["audio/voice/Training/Mission4/T4_02b.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4_03.m4a":["audio/voice/Training/Mission4/T4_03.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4_03.wav":["audio/voice/Training/Mission4/T4_03.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4_03a.m4a":["audio/voice/Training/Mission4/T4_03a.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4_03a.wav":["audio/voice/Training/Mission4/T4_03a.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4_03b.m4a":["audio/voice/Training/Mission4/T4_03b.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4_03b.wav":["audio/voice/Training/Mission4/T4_03b.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4_03c.m4a":["audio/voice/Training/Mission4/T4_03c.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4_03c.wav":["audio/voice/Training/Mission4/T4_03c.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4_03d.m4a":["audio/voice/Training/Mission4/T4_03d.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4_03d.wav":["audio/voice/Training/Mission4/T4_03d.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4_03e.m4a":["audio/voice/Training/Mission4/T4_03e.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4_03e.wav":["audio/voice/Training/Mission4/T4_03e.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4_03f.m4a":["audio/voice/Training/Mission4/T4_03f.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4_03f.wav":["audio/voice/Training/Mission4/T4_03f.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4_03g.m4a":["audio/voice/Training/Mission4/T4_03g.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4_03g.wav":["audio/voice/Training/Mission4/T4_03g.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4_03h.m4a":["audio/voice/Training/Mission4/T4_03h.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4_03h.wav":["audio/voice/Training/Mission4/T4_03h.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4_03i.m4a":["audio/voice/Training/Mission4/T4_03i.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4_03i.wav":["audio/voice/Training/Mission4/T4_03i.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4_03j.m4a":["audio/voice/Training/Mission4/T4_03j.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4_03j.wav":["audio/voice/Training/Mission4/T4_03j.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4_03k.m4a":["audio/voice/Training/Mission4/T4_03k.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4_03k.wav":["audio/voice/Training/Mission4/T4_03k.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4_04.m4a":["audio/voice/Training/Mission4/T4_04.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4_04.wav":["audio/voice/Training/Mission4/T4_04.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4_04a.m4a":["audio/voice/Training/Mission4/T4_04a.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4_04a.wav":["audio/voice/Training/Mission4/T4_04a.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4_04b.m4a":["audio/voice/Training/Mission4/T4_04b.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4_04b.wav":["audio/voice/Training/Mission4/T4_04b.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4_05.m4a":["audio/voice/Training/Mission4/T4_05.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4_05.wav":["audio/voice/Training/Mission4/T4_05.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4_06.m4a":["audio/voice/Training/Mission4/T4_06.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4_06.wav":["audio/voice/Training/Mission4/T4_06.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4_07.m4a":["audio/voice/Training/Mission4/T4_07.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4_07.wav":["audio/voice/Training/Mission4/T4_07.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4_07a.m4a":["audio/voice/Training/Mission4/T4_07a.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4_07a.wav":["audio/voice/Training/Mission4/T4_07a.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4_08.m4a":["audio/voice/Training/Mission4/T4_08.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4_08.wav":["audio/voice/Training/Mission4/T4_08.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4_09.m4a":["audio/voice/Training/Mission4/T4_09.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4_09.wav":["audio/voice/Training/Mission4/T4_09.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4_10.m4a":["audio/voice/Training/Mission4/T4_10.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4_10.wav":["audio/voice/Training/Mission4/T4_10.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4_11.m4a":["audio/voice/Training/Mission4/T4_11.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4_11.wav":["audio/voice/Training/Mission4/T4_11.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4_ccend.m4a":["audio/voice/Training/Mission4/T4_CCend.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4_ccend.wav":["audio/voice/Training/Mission4/T4_CCend.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4_controlturret.m4a":["audio/voice/Training/Mission4/T4_controlTurret.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4_controlturret.wav":["audio/voice/Training/Mission4/T4_controlTurret.WAV",["voice.vl2"]],"audio/voice/training/mission5/t5.failure01.m4a":["audio/voice/Training/Mission5/T5.failure01.m4a",["voice.vl2"]],"audio/voice/training/mission5/t5.failure01.wav":["audio/voice/Training/Mission5/T5.failure01.WAV",["voice.vl2"]],"audio/voice/training/mission5/t5.failure02.m4a":["audio/voice/Training/Mission5/T5.failure02.m4a",["voice.vl2"]],"audio/voice/training/mission5/t5.failure02.wav":["audio/voice/Training/Mission5/T5.failure02.WAV",["voice.vl2"]],"audio/voice/training/mission5/t5.tip.firepower.m4a":["audio/voice/Training/Mission5/T5.tip.firepower.m4a",["voice.vl2"]],"audio/voice/training/mission5/t5.tip.firepower.wav":["audio/voice/Training/Mission5/T5.tip.firepower.WAV",["voice.vl2"]],"audio/voice/training/mission5/t5.tip.satchel01.m4a":["audio/voice/Training/Mission5/T5.tip.satchel01.m4a",["voice.vl2"]],"audio/voice/training/mission5/t5.tip.satchel01.wav":["audio/voice/Training/Mission5/T5.tip.satchel01.WAV",["voice.vl2"]],"audio/voice/training/mission5/t5.tip.stations01.m4a":["audio/voice/Training/Mission5/T5.tip.stations01.m4a",["voice.vl2"]],"audio/voice/training/mission5/t5.tip.stations01.wav":["audio/voice/Training/Mission5/T5.tip.stations01.WAV",["voice.vl2"]],"audio/voice/training/mission5/t5.tip.stations02.m4a":["audio/voice/Training/Mission5/T5.tip.stations02.m4a",["voice.vl2"]],"audio/voice/training/mission5/t5.tip.stations02.wav":["audio/voice/Training/Mission5/T5.tip.stations02.WAV",["voice.vl2"]],"audio/voice/training/mission5/t5_01.m4a":["audio/voice/Training/Mission5/T5_01.m4a",["voice.vl2"]],"audio/voice/training/mission5/t5_01.wav":["audio/voice/Training/Mission5/T5_01.WAV",["voice.vl2"]],"audio/voice/training/mission5/t5_02.m4a":["audio/voice/Training/Mission5/T5_02.m4a",["voice.vl2"]],"audio/voice/training/mission5/t5_02.wav":["audio/voice/Training/Mission5/T5_02.WAV",["voice.vl2"]],"audio/voice/training/mission5/t5_03.m4a":["audio/voice/Training/Mission5/T5_03.m4a",["voice.vl2"]],"audio/voice/training/mission5/t5_03.wav":["audio/voice/Training/Mission5/T5_03.WAV",["voice.vl2"]],"audio/voice/training/mission5/t5_04.m4a":["audio/voice/Training/Mission5/T5_04.m4a",["voice.vl2"]],"audio/voice/training/mission5/t5_04.wav":["audio/voice/Training/Mission5/T5_04.WAV",["voice.vl2"]],"audio/voice/training/mission5/t5_05.m4a":["audio/voice/Training/Mission5/T5_05.m4a",["voice.vl2"]],"audio/voice/training/mission5/t5_05.wav":["audio/voice/Training/Mission5/T5_05.WAV",["voice.vl2"]],"audio/voice/training/mission5/t5_05a.m4a":["audio/voice/Training/Mission5/T5_05a.m4a",["voice.vl2"]],"audio/voice/training/mission5/t5_05a.wav":["audio/voice/Training/Mission5/T5_05a.WAV",["voice.vl2"]],"audio/voice/training/mission5/t5_05b.m4a":["audio/voice/Training/Mission5/T5_05b.m4a",["voice.vl2"]],"audio/voice/training/mission5/t5_05b.wav":["audio/voice/Training/Mission5/T5_05b.WAV",["voice.vl2"]],"audio/voice/training/mission5/t5_06.m4a":["audio/voice/Training/Mission5/T5_06.m4a",["voice.vl2"]],"audio/voice/training/mission5/t5_06.wav":["audio/voice/Training/Mission5/T5_06.WAV",["voice.vl2"]],"audio/voice/training/mission5/t5_06a.m4a":["audio/voice/Training/Mission5/T5_06a.m4a",["voice.vl2"]],"audio/voice/training/mission5/t5_06a.wav":["audio/voice/Training/Mission5/T5_06a.WAV",["voice.vl2"]],"audio/voice/training/mission5/t5_06b.m4a":["audio/voice/Training/Mission5/T5_06b.m4a",["voice.vl2"]],"audio/voice/training/mission5/t5_06b.wav":["audio/voice/Training/Mission5/T5_06b.WAV",["voice.vl2"]],"audio/voice/training/mission5/t5_06c.m4a":["audio/voice/Training/Mission5/T5_06c.m4a",["voice.vl2"]],"audio/voice/training/mission5/t5_06c.wav":["audio/voice/Training/Mission5/T5_06c.WAV",["voice.vl2"]],"audio/voice/training/mission5/t5_06d.m4a":["audio/voice/Training/Mission5/T5_06d.m4a",["voice.vl2"]],"audio/voice/training/mission5/t5_06d.wav":["audio/voice/Training/Mission5/T5_06d.WAV",["voice.vl2"]],"audio/voice/training/mission5/t5_07.m4a":["audio/voice/Training/Mission5/T5_07.m4a",["voice.vl2"]],"audio/voice/training/mission5/t5_07.wav":["audio/voice/Training/Mission5/T5_07.WAV",["voice.vl2"]],"audio/voice/training/mission5/t5_07a.m4a":["audio/voice/Training/Mission5/T5_07a.m4a",["voice.vl2"]],"audio/voice/training/mission5/t5_07a.wav":["audio/voice/Training/Mission5/T5_07a.WAV",["voice.vl2"]],"audio/voice/training/mission5/t5_08.m4a":["audio/voice/Training/Mission5/T5_08.m4a",["voice.vl2"]],"audio/voice/training/mission5/t5_08.wav":["audio/voice/Training/Mission5/T5_08.WAV",["voice.vl2"]],"audio/voice/training/mission5/t5_08_urgent.m4a":["audio/voice/Training/Mission5/T5_08_urgent.m4a",["voice.vl2"]],"audio/voice/training/mission5/t5_08_urgent.wav":["audio/voice/Training/Mission5/T5_08_urgent.WAV",["voice.vl2"]],"audio/voice/training/mission5/t5_08a.m4a":["audio/voice/Training/Mission5/T5_08a.m4a",["voice.vl2"]],"audio/voice/training/mission5/t5_08a.wav":["audio/voice/Training/Mission5/T5_08a.WAV",["voice.vl2"]],"audio/voice/training/mission5/t5_08b.m4a":["audio/voice/Training/Mission5/T5_08b.m4a",["voice.vl2"]],"audio/voice/training/mission5/t5_08b.wav":["audio/voice/Training/Mission5/T5_08b.WAV",["voice.vl2"]],"audio/voice/training/mission5/t5_08c.m4a":["audio/voice/Training/Mission5/T5_08c.m4a",["voice.vl2"]],"audio/voice/training/mission5/t5_08c.wav":["audio/voice/Training/Mission5/T5_08c.WAV",["voice.vl2"]],"audio/voice/training/mission5/t5_08d.m4a":["audio/voice/Training/Mission5/T5_08d.m4a",["voice.vl2"]],"audio/voice/training/mission5/t5_08d.wav":["audio/voice/Training/Mission5/T5_08d.WAV",["voice.vl2"]],"audio/voice/training/mission5/t5_09.m4a":["audio/voice/Training/Mission5/T5_09.m4a",["voice.vl2"]],"audio/voice/training/mission5/t5_09.wav":["audio/voice/Training/Mission5/T5_09.WAV",["voice.vl2"]],"audio/windloop2.m4a":["audio/Windloop2.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/windloop2.wav":["audio/Windloop2.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"autoload.cs":["autoload.cs",["z_scripts/support.vl2"]],"console_end.cs":["console_end.cs",["base.vl2"]],"effects/armor.ifr":["effects/Armor.ifr",["base.vl2"]],"effects/explosions.ifr":["effects/explosions.ifr",["base.vl2"]],"effects/gui.ifr":["effects/gui.ifr",["base.vl2"]],"effects/misc.ifr":["effects/misc.ifr",["base.vl2"]],"effects/packs.ifr":["effects/packs.ifr",["base.vl2"]],"effects/powered.ifr":["effects/powered.ifr",["base.vl2"]],"effects/vehicles.ifr":["effects/vehicles.ifr",["base.vl2"]],"effects/weapons.ifr":["effects/weapons.ifr",["base.vl2"]],"flags.png":["flags.png",["z_textures/zflags.vl2"]],"gui/guiprofiles.cs":["gui/guiProfiles.cs",["scripts.vl2"]],"gui/multiinterpolateoptions.cs":["gui/multiInterpolateOptions.cs",["multiInterpolate.vl2"]],"help/1. about.hfl":["help/1. About.hfl",["scripts.vl2"]],"help/2. mission editor overview.hfl":["help/2. Mission Editor Overview.hfl",["scripts.vl2"]],"help/3. world editor.hfl":["help/3. World Editor.hfl",["scripts.vl2"]],"help/4. mission area editor.hfl":["help/4. Mission Area Editor.hfl",["scripts.vl2"]],"help/5. terrain editor.hfl":["help/5. Terrain Editor.hfl",["scripts.vl2"]],"help/6. terrain terraform editor.hfl":["help/6. Terrain Terraform Editor.hfl",["scripts.vl2"]],"help/7. terrain texture editor.hfl":["help/7. Terrain Texture Editor.hfl",["scripts.vl2"]],"help/8. terrain texture painter.hfl":["help/8. Terrain Texture Painter.hfl",["scripts.vl2"]],"input.log":["input.log",["base.vl2"]],"interiors/8mcube.dif":["interiors/8mCube.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/anomalybase.dif":["interiors/anomalyBase.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/anomalycannon.dif":["interiors/anomalyCannon.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/anomalycenterbase.dif":["interiors/anomalyCenterBase.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/anthem_cardiacbase.dif":["interiors/anthem_cardiacbase.dif",["z_mappacks/CTF/S8maps.vl2"]],"interiors/anthem_cardiacbridge.dif":["interiors/anthem_cardiacbridge.dif",["z_mappacks/CTF/S8maps.vl2"]],"interiors/anthem_cardiacstand.dif":["interiors/anthem_cardiacstand.dif",["z_mappacks/CTF/S8maps.vl2"]],"interiors/anthem_cardiactower.dif":["interiors/anthem_cardiactower.dif",["z_mappacks/CTF/S8maps.vl2"]],"interiors/anthem_cardiacturret.dif":["interiors/anthem_cardiacturret.dif",["z_mappacks/CTF/S8maps.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/anthem_pipebasemini.dif":["interiors/anthem_pipebasemini.dif",["z_mappacks/CTF/S5maps.vl2"]],"interiors/anthem_pipebunker.dif":["interiors/anthem_pipebunker.dif",["z_mappacks/CTF/S5maps.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/anthem_pipestand2-badlands.dif":["interiors/anthem_pipestand2-badlands.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/anthem_pipestand2-beach.dif":["interiors/anthem_pipestand2-beach.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/anthem_pipestand2-desert.dif":["interiors/anthem_pipestand2-desert.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/anthem_pipestand2-ice.dif":["interiors/anthem_pipestand2-ice.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/anthem_pipestand2-lava.dif":["interiors/anthem_pipestand2-lava.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/anthem_pipestand2.dif":["interiors/anthem_pipestand2.dif",["z_mappacks/CTF/S5maps.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/anthem_pitbase.dif":["interiors/anthem_pitbase.dif",["z_mappacks/CTF/S5maps.vl2"]],"interiors/anthem_pitstand.dif":["interiors/anthem_pitstand.dif",["z_mappacks/CTF/S5maps.vl2"]],"interiors/anthemblock.dif":["interiors/anthemblock.dif",["z_mappacks/CTF/S5maps.vl2"]],"interiors/arkring.dif":["interiors/arkRing.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/bbase1.dif":["interiors/bbase1.dif",["interiors.vl2"]],"interiors/bbase4cm.dif":["interiors/bbase4cm.dif",["interiors.vl2"]],"interiors/bbase6.dif":["interiors/bbase6.dif",["interiors.vl2"]],"interiors/bbase7.dif":["interiors/bbase7.dif",["interiors.vl2"]],"interiors/bbase9.dif":["interiors/bbase9.dif",["interiors.vl2"]],"interiors/bbase_-nefvbase_x.dif":["interiors/bbase_-nefvbase_x.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/bbase_-nefvbase_x2.dif":["interiors/bbase_-nefvbase_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"interiors/bbase_ccb1.dif":["interiors/bbase_ccb1.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/bbase_ccb5.dif":["interiors/bbase_ccb5.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/bbase_nefhillside.dif":["interiors/bbase_nefhillside.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/bbrdg0.dif":["interiors/bbrdg0.dif",["interiors.vl2"]],"interiors/bbrdg1.dif":["interiors/bbrdg1.dif",["interiors.vl2"]],"interiors/bbrdg2.dif":["interiors/bbrdg2.dif",["interiors.vl2"]],"interiors/bbrdg3.dif":["interiors/bbrdg3.dif",["interiors.vl2"]],"interiors/bbrdg4.dif":["interiors/bbrdg4.dif",["interiors.vl2"]],"interiors/bbrdg5.dif":["interiors/bbrdg5.dif",["interiors.vl2"]],"interiors/bbrdg6.dif":["interiors/bbrdg6.dif",["interiors.vl2"]],"interiors/bbrdg7.dif":["interiors/bbrdg7.dif",["interiors.vl2"]],"interiors/bbrdg8.dif":["interiors/bbrdg8.dif",["interiors.vl2"]],"interiors/bbrdg9.dif":["interiors/bbrdg9.dif",["interiors.vl2"]],"interiors/bbrdga.dif":["interiors/bbrdga.dif",["interiors.vl2"]],"interiors/bbrdgb.dif":["interiors/bbrdgb.dif",["interiors.vl2"]],"interiors/bbrdgn.dif":["interiors/bbrdgn.dif",["interiors.vl2"]],"interiors/bbrdgo.dif":["interiors/bbrdgo.dif",["interiors.vl2"]],"interiors/bbstand.dif":["interiors/bbstand.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/bbunk1.dif":["interiors/bbunk1.dif",["interiors.vl2"]],"interiors/bbunk2.dif":["interiors/bbunk2.dif",["interiors.vl2"]],"interiors/bbunk5.dif":["interiors/bbunk5.dif",["interiors.vl2"]],"interiors/bbunk7.dif":["interiors/bbunk7.dif",["interiors.vl2"]],"interiors/bbunk8.dif":["interiors/bbunk8.dif",["interiors.vl2"]],"interiors/bbunk9.dif":["interiors/bbunk9.dif",["interiors.vl2"]],"interiors/bbunkb.dif":["interiors/bbunkb.dif",["interiors.vl2"]],"interiors/bbunkc.dif":["interiors/bbunkc.dif",["interiors.vl2"]],"interiors/bbunkd.dif":["interiors/bbunkd.dif",["interiors.vl2"]],"interiors/bbunke.dif":["interiors/bbunke.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"],["z_mappacks/CTF/DynamixFinalPack.vl2"]],"interiors/bcannon.dif":["interiors/bcannon.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/betunnel.dif":["interiors/beTunnel.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/bfbridge.dif":["interiors/bfBridge.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/bfbridgecap.dif":["interiors/bfBridgeCap.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/bfstand.dif":["interiors/bfstand.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/bigtube.dif":["interiors/bigTube.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/bmisc1.dif":["interiors/bmisc1.dif",["interiors.vl2"]],"interiors/bmisc2.dif":["interiors/bmisc2.dif",["interiors.vl2"]],"interiors/bmisc3.dif":["interiors/bmisc3.dif",["interiors.vl2"]],"interiors/bmisc4.dif":["interiors/bmisc4.dif",["interiors.vl2"]],"interiors/bmisc5.dif":["interiors/bmisc5.dif",["interiors.vl2"]],"interiors/bmisc6.dif":["interiors/bmisc6.dif",["interiors.vl2"]],"interiors/bmisc7.dif":["interiors/bmisc7.dif",["interiors.vl2"]],"interiors/bmisc8.dif":["interiors/bmisc8.dif",["interiors.vl2"]],"interiors/bmisc9.dif":["interiors/bmisc9.dif",["interiors.vl2"]],"interiors/bmisc_-nef_flagstand1_x.dif":["interiors/bmisc_-nef_flagstand1_x.dif",["TR2final105-client.vl2"],["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/bmisc_-nef_flagstand1_x2.dif":["interiors/bmisc_-nef_flagstand1_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/bmisc_nefledge1.dif":["interiors/bmisc_nefledge1.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/bmisc_neftrstand1.dif":["interiors/bmisc_neftrstand1.dif",["TR2final105-client.vl2"],["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/bmisc_nefvbay.dif":["interiors/bmisc_nefvbay.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/bmiscpan_bridge0.dif":["interiors/bmiscpan_bridge0.dif",["z_mappacks/CTF/DynamixFinalPack.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/bmiscpan_bridge0_x2.dif":["interiors/bmiscpan_bridge0_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"interiors/bmiscpan_bunker1.dif":["interiors/bmiscpan_bunker1.dif",["z_mappacks/CTF/DynamixFinalPack.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/bmiscpan_bunker1_x.dif":["interiors/bmiscpan_bunker1_x.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/bmiscpan_bunker1_x2.dif":["interiors/bmiscpan_bunker1_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"interiors/bmiscpan_ruina.dif":["interiors/bmiscpan_ruina.dif",["z_mappacks/CTF/DynamixFinalPack.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/bmiscpan_ruina_x2.dif":["interiors/bmiscpan_ruina_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"interiors/bmiscpan_ruinb.dif":["interiors/bmiscpan_ruinb.dif",["z_mappacks/CTF/DynamixFinalPack.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/bmiscpan_ruinb_x2.dif":["interiors/bmiscpan_ruinb_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"interiors/bmiscpan_ruinc.dif":["interiors/bmiscpan_ruinc.dif",["z_mappacks/CTF/DynamixFinalPack.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/bmiscpan_ruinc_x2.dif":["interiors/bmiscpan_ruinc_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"interiors/bmiscpan_ruind.dif":["interiors/bmiscpan_ruind.dif",["z_mappacks/CTF/DynamixFinalPack.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/bmiscpan_ruind_x2.dif":["interiors/bmiscpan_ruind_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"interiors/bmiscpan_ruine.dif":["interiors/bmiscpan_ruine.dif",["z_mappacks/CTF/DynamixFinalPack.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/bmiscpan_ruine_x2.dif":["interiors/bmiscpan_ruine_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"interiors/bmiscpan_ruinf.dif":["interiors/bmiscpan_ruinf.dif",["z_mappacks/CTF/DynamixFinalPack.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/bmiscpan_ruinf_x2.dif":["interiors/bmiscpan_ruinf_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"interiors/bmiscpan_ruing.dif":["interiors/bmiscpan_ruing.dif",["z_mappacks/CTF/DynamixFinalPack.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/bmiscpan_ruing_x2.dif":["interiors/bmiscpan_ruing_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"interiors/bmiscpan_ruinh.dif":["interiors/bmiscpan_ruinh.dif",["z_mappacks/CTF/DynamixFinalPack.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/bmiscpan_ruinh_x2.dif":["interiors/bmiscpan_ruinh_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"interiors/bmiscpan_ruini.dif":["interiors/bmiscpan_ruini.dif",["z_mappacks/CTF/DynamixFinalPack.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/bmiscpan_tower1.dif":["interiors/bmiscpan_tower1.dif",["z_mappacks/CTF/DynamixFinalPack.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/bmiscpan_tower1_x2.dif":["interiors/bmiscpan_tower1_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"interiors/bmiscpan_tower2.dif":["interiors/bmiscpan_tower2.dif",["z_mappacks/CTF/DynamixFinalPack.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/bmiscpan_tower2_x.dif":["interiors/bmiscpan_tower2_x.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/bmiscpan_tower2_x2.dif":["interiors/bmiscpan_tower2_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"interiors/bmortar.dif":["interiors/bmortar.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/bombbase.dif":["interiors/bombbase.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/bplat1.dif":["interiors/bplat1.dif",["interiors.vl2"]],"interiors/bplat2.dif":["interiors/bplat2.dif",["interiors.vl2"]],"interiors/bplat3.dif":["interiors/bplat3.dif",["interiors.vl2"]],"interiors/bplat4.dif":["interiors/bplat4.dif",["interiors.vl2"]],"interiors/bplat6.dif":["interiors/bplat6.dif",["interiors.vl2"]],"interiors/bpower1.dif":["interiors/bpower1.dif",["interiors.vl2"]],"interiors/brock6.dif":["interiors/brock6.dif",["interiors.vl2"]],"interiors/brock7.dif":["interiors/brock7.dif",["interiors.vl2"]],"interiors/brock8.dif":["interiors/brock8.dif",["interiors.vl2"]],"interiors/brocka.dif":["interiors/brocka.dif",["interiors.vl2"]],"interiors/brockc.dif":["interiors/brockc.dif",["interiors.vl2"]],"interiors/bspir1.dif":["interiors/bspir1.dif",["interiors.vl2"]],"interiors/bspir2.dif":["interiors/bspir2.dif",["interiors.vl2"]],"interiors/bspir3.dif":["interiors/bspir3.dif",["interiors.vl2"]],"interiors/bspir4.dif":["interiors/bspir4.dif",["interiors.vl2"]],"interiors/bspir5.dif":["interiors/bspir5.dif",["interiors.vl2"]],"interiors/btf_base1.dif":["interiors/btf_base1.dif",["z_mappacks/CTF/DynamixFinalPack.vl2"],["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/btf_bridge1.dif":["interiors/btf_bridge1.dif",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"interiors/btf_bridge2.dif":["interiors/btf_bridge2.dif",["z_mappacks/CTF/DynamixFinalPack.vl2"],["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/btf_bridge3.dif":["interiors/btf_bridge3.dif",["z_mappacks/CTF/DynamixFinalPack.vl2"],["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/btf_genbunk.dif":["interiors/btf_genbunk.dif",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"interiors/btf_turretplatform.dif":["interiors/btf_turretplatform.dif",["z_mappacks/CTF/DynamixFinalPack.vl2"],["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/btf_turretplatform_c.dif":["interiors/btf_turretplatform_c.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/btf_turretplatform_x.dif":["interiors/btf_turretplatform_x.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/btf_turretplatform_x2.dif":["interiors/btf_turretplatform_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/btowr2.dif":["interiors/btowr2.dif",["interiors.vl2"]],"interiors/btowr5-lava.dif":["interiors/btowr5-Lava.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/btowr5.dif":["interiors/btowr5.dif",["interiors.vl2"]],"interiors/btowr6.dif":["interiors/btowr6.dif",["interiors.vl2"]],"interiors/btowr8.dif":["interiors/btowr8.dif",["interiors.vl2"]],"interiors/btowr9.dif":["interiors/btowr9.dif",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"interiors/btowr_ccb1.dif":["interiors/btowr_ccb1.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/btowra.dif":["interiors/btowra.dif",["interiors.vl2"]],"interiors/bvpad.dif":["interiors/bvpad.dif",["interiors.vl2"]],"interiors/bwall1.dif":["interiors/bwall1.dif",["interiors.vl2"]],"interiors/bwall2.dif":["interiors/bwall2.dif",["interiors.vl2"]],"interiors/bwall3.dif":["interiors/bwall3.dif",["interiors.vl2"]],"interiors/bwall4.dif":["interiors/bwall4.dif",["interiors.vl2"]],"interiors/cannon.dif":["interiors/cannon.dif",["TR2final105-client.vl2"]],"interiors/cannon2.dif":["interiors/cannon2.dif",["TR2final105-client.vl2"]],"interiors/cannontunnel.dif":["interiors/cannonTunnel.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/cap.dif":["interiors/cap.dif",["TR2final105-client.vl2"]],"interiors/ccb_be_tower1a_x2.dif":["interiors/ccb_be_tower1a_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"interiors/ccb_be_tower1b_x2.dif":["interiors/ccb_be_tower1b_x2.dif",["z_mappacks/CTF/S5maps.vl2"],["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"interiors/ccbase1.dif":["interiors/ccbase1.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/ccbase2.dif":["interiors/ccbase2.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/ccflagstand.dif":["interiors/ccflagstand.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/cctower.dif":["interiors/cctower.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/centaur.dif":["interiors/centaur.dif",["z_mappacks/CTF/S5maps.vl2"]],"interiors/centower.dif":["interiors/centower.dif",["z_mappacks/CTF/S5maps.vl2"]],"interiors/conbase.dif":["interiors/conbase.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/conspire.dif":["interiors/conspire.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/damnationstand.dif":["interiors/damnationstand.dif",["z_mappacks/CTF/S5maps.vl2"]],"interiors/dbase2.dif":["interiors/dbase2.dif",["interiors.vl2"]],"interiors/dbase3.dif":["interiors/dbase3.dif",["interiors.vl2"]],"interiors/dbase4.dif":["interiors/dbase4.dif",["interiors.vl2"]],"interiors/dbase5.dif":["interiors/dbase5.dif",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"interiors/dbase6.dif":["interiors/dbase6.dif",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"interiors/dbase_-nefbase1_x.dif":["interiors/dbase_-nefbase1_x.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/dbase_-nefbase1_x2.dif":["interiors/dbase_-nefbase1_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/dbase_-nefbase2_x.dif":["interiors/dbase_-nefbase2_x.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/dbase_-nefbase2_x2.dif":["interiors/dbase_-nefbase2_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/dbase_broadside_nef.dif":["interiors/dbase_broadside_nef.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/dbase_neffloat1.dif":["interiors/dbase_neffloat1.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/dbase_neffloat2.dif":["interiors/dbase_neffloat2.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/dbase_neficeridge.dif":["interiors/dbase_neficeridge.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/dbase_nefraindance.dif":["interiors/dbase_nefRaindance.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/dbase_tokrz_scarabrae.dif":["interiors/dbase_tokrz_scarabrae.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/dbrdg1.dif":["interiors/dbrdg1.dif",["interiors.vl2"]],"interiors/dbrdg10.dif":["interiors/dbrdg10.dif",["interiors.vl2"]],"interiors/dbrdg11.dif":["interiors/dbrdg11.dif",["interiors.vl2"]],"interiors/dbrdg2.dif":["interiors/dbrdg2.dif",["interiors.vl2"]],"interiors/dbrdg3.dif":["interiors/dbrdg3.dif",["interiors.vl2"]],"interiors/dbrdg3a.dif":["interiors/dbrdg3a.dif",["interiors.vl2"]],"interiors/dbrdg4.dif":["interiors/dbrdg4.dif",["interiors.vl2"]],"interiors/dbrdg5.dif":["interiors/dbrdg5.dif",["interiors.vl2"]],"interiors/dbrdg6.dif":["interiors/dbrdg6.dif",["interiors.vl2"]],"interiors/dbrdg7.dif":["interiors/dbrdg7.dif",["interiors.vl2"]],"interiors/dbrdg7a.dif":["interiors/dbrdg7a.dif",["interiors.vl2"]],"interiors/dbrdg8.dif":["interiors/dbrdg8.dif",["interiors.vl2"]],"interiors/dbrdg9.dif":["interiors/dbrdg9.dif",["interiors.vl2"]],"interiors/dbrdg9a.dif":["interiors/dbrdg9a.dif",["interiors.vl2"]],"interiors/dbunk5.dif":["interiors/dbunk5.dif",["interiors.vl2"]],"interiors/dbunk6.dif":["interiors/dbunk6.dif",["interiors.vl2"]],"interiors/dbunk_nef_invbunk1.dif":["interiors/dbunk_nef_invbunk1.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/dbunk_nefcliffside.dif":["interiors/dbunk_nefcliffside.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/dbunk_nefdcbunk.dif":["interiors/dbunk_nefdcbunk.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/dbunk_nefsmall.dif":["interiors/dbunk_nefsmall.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/dbunk_rf04.dif":["interiors/dbunk_rf04.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/dbunk_snowblind.dif":["interiors/dbunk_snowblind.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/dbunk_stonehenge1.dif":["interiors/dbunk_stonehenge1.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/dbunk_vbunk1.dif":["interiors/dbunk_vbunk1.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/dmisc1.dif":["interiors/dmisc1.dif",["z_mappacks/CTF/DynamixFinalPack.vl2"],["interiors.vl2"]],"interiors/dmisc1_x.dif":["interiors/dmisc1_x.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/dmisc1_x2.dif":["interiors/dmisc1_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"interiors/dmisc_-nefflagstand1_x.dif":["interiors/dmisc_-nefflagstand1_x.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/dmisc_-nefflagstand1_x2.dif":["interiors/dmisc_-nefflagstand1_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/dmisc_nefbridge.dif":["interiors/dmisc_nefbridge.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/dmisc_nefflagstand2.dif":["interiors/dmisc_nefflagstand2.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/dmisc_nefflagstand3.dif":["interiors/dmisc_nefflagstand3.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/dmisc_nefobj1.dif":["interiors/dmisc_nefobj1.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/dmisc_nefobj2.dif":["interiors/dmisc_nefobj2.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/dmisc_nefplat1.dif":["interiors/dmisc_nefplat1.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/dmisc_nefplug1.dif":["interiors/dmisc_nefplug1.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/dmisc_nefrdbridge1.dif":["interiors/dmisc_nefrdbridge1.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/dmisc_neftower1.dif":["interiors/dmisc_neftower1.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/dmisc_neftower2.dif":["interiors/dmisc_neftower2.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/dmisc_neftower3.dif":["interiors/dmisc_neftower3.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/dmisc_stonehenge1.dif":["interiors/dmisc_stonehenge1.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/dmisc_stonehenge2.dif":["interiors/dmisc_stonehenge2.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/dmisc_stonehenge3.dif":["interiors/dmisc_stonehenge3.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/doubleramp2.dif":["interiors/doubleramp2.dif",["TR2final105-client.vl2"]],"interiors/dox_bb_box_x2.dif":["interiors/dox_bb_box_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/dox_bb_bunkera_x2.dif":["interiors/dox_bb_bunkera_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/dox_bb_bunkerb_x2.dif":["interiors/dox_bb_bunkerb_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/dox_bb_droptop_x2.dif":["interiors/dox_bb_droptop_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"interiors/dox_bb_fstand_x2.dif":["interiors/dox_bb_fstand_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/dox_bb_hangar_x2.dif":["interiors/dox_bb_hangar_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/dox_bb_platform_x2.dif":["interiors/dox_bb_platform_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"interiors/dox_bb_rig_x2.dif":["interiors/dox_bb_rig_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/dox_bb_rustbox_x2.dif":["interiors/dox_bb_rustbox_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/dox_bb_sandcastle_x2.dif":["interiors/dox_bb_sandcastle_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/dox_bb_slab_x2.dif":["interiors/dox_bb_slab_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/dox_bb_spade_x2.dif":["interiors/dox_bb_spade_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/dox_bb_steelsheet2_x2.dif":["interiors/dox_bb_steelsheet2_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"interiors/dox_bb_steelsheet_x2.dif":["interiors/dox_bb_steelsheet_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"interiors/doxbunkerbase.dif":["interiors/doxBunkerBase.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/doxredstand.dif":["interiors/doxRedStand.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/dplat1.dif":["interiors/dplat1.dif",["interiors.vl2"]],"interiors/dplat2.dif":["interiors/dplat2.dif",["z_mappacks/CTF/DynamixFinalPack.vl2"],["interiors.vl2"]],"interiors/dplat3.dif":["interiors/dplat3.dif",["interiors.vl2"]],"interiors/dpole1.dif":["interiors/dpole1.dif",["interiors.vl2"]],"interiors/dragonheadl.dif":["interiors/dragonheadL.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/dragonheadneck.dif":["interiors/dragonheadNeck.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/dragonheadr.dif":["interiors/dragonheadR.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/drock6.dif":["interiors/drock6.dif",["interiors.vl2"]],"interiors/drock7.dif":["interiors/drock7.dif",["interiors.vl2"]],"interiors/drock8.dif":["interiors/drock8.dif",["interiors.vl2"]],"interiors/drocka.dif":["interiors/drocka.dif",["interiors.vl2"]],"interiors/dspir1.dif":["interiors/dspir1.dif",["interiors.vl2"]],"interiors/dspir2.dif":["interiors/dspir2.dif",["interiors.vl2"]],"interiors/dspir3.dif":["interiors/dspir3.dif",["interiors.vl2"]],"interiors/dspir4.dif":["interiors/dspir4.dif",["interiors.vl2"]],"interiors/dspir5.dif":["interiors/dspir5.dif",["interiors.vl2"]],"interiors/dtowr1.dif":["interiors/dtowr1.dif",["z_mappacks/CTF/DynamixFinalPack.vl2"],["interiors.vl2"]],"interiors/dtowr2.dif":["interiors/dtowr2.dif",["interiors.vl2"]],"interiors/dtowr4.dif":["interiors/dtowr4.dif",["interiors.vl2"]],"interiors/dtowr_classic1.dif":["interiors/dtowr_classic1.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/dvent.dif":["interiors/dvent.dif",["interiors.vl2"]],"interiors/dvpad.dif":["interiors/dvpad.dif",["interiors.vl2"]],"interiors/dvpad1.dif":["interiors/dvpad1.dif",["interiors.vl2"]],"interiors/dwall1.dif":["interiors/dwall1.dif",["interiors.vl2"]],"interiors/ee_basatin-base.dif":["interiors/ee_basatin-base.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/ee_catwalk_base.dif":["interiors/ee_catwalk_base.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/ee_dx_4way-ramp.dif":["interiors/ee_dx_4way-ramp.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/ee_nirvana-base.dif":["interiors/ee_nirvana-base.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/ee_sidewinder-bebase.dif":["interiors/ee_sidewinder-BEbase.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/ee_sidewinder-dsbase.dif":["interiors/ee_sidewinder-DSbase.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/ee_sidewinder-turret.dif":["interiors/ee_sidewinder-turret.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/ee_tg-base.dif":["interiors/ee_tg-base.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/epicrates_base.dif":["interiors/epicrates_base.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/epicrates_bridge.dif":["interiors/epicrates_bridge.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/epicrates_turret.dif":["interiors/epicrates_turret.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/euro4_bleed_base.dif":["interiors/Euro4_Bleed_Base.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/euro4_bleed_turret.dif":["interiors/Euro4_Bleed_turret.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/euro4_bleed_vpad.dif":["interiors/Euro4_Bleed_vpad.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/euro4_dissention_dox_bb_bunkera_x2.dif":["interiors/Euro4_Dissention_dox_bb_bunkera_x2.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/euro4_dissention_dox_bb_hangar_x2.dif":["interiors/Euro4_Dissention_dox_bb_hangar_x2.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/euro4_dissention_rilke_whitedwarf_mainbase.dif":["interiors/Euro4_Dissention_rilke_whitedwarf_mainbase.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/euro4_frozenhope_inf_butch_fhope_base47.dif":["interiors/Euro4_FrozenHope_inf_butch_fhope_base47.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/euro4_frozenhope_inf_butch_fhope_flag6.dif":["interiors/Euro4_FrozenHope_inf_butch_fhope_flag6.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/euro4_frozenhope_inf_butch_fhope_turret12.dif":["interiors/Euro4_FrozenHope_inf_butch_fhope_turret12.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/euro_salgenroom2.dif":["interiors/Euro_salgenroom2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/euro_salproj1.dif":["interiors/Euro_salproj1.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/euro_salturretsus1.dif":["interiors/Euro_salturretsus1.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/euro_slblocks.dif":["interiors/Euro_slblocks.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/euro_slinvstat.dif":["interiors/Euro_slinvstat.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/euro_slremo2.dif":["interiors/Euro_slremo2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/euro_slsusbr1.dif":["interiors/Euro_slsusbr1.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/euro_slvehramp1.dif":["interiors/Euro_slvehramp1.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/ext_bridge.dif":["interiors/ext_bridge.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/ext_bridge_ramp.dif":["interiors/ext_bridge_ramp.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/ext_midair_platform.dif":["interiors/ext_midair_platform.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/facebaseplat.dif":["interiors/facebasePlat.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/facingworldsbase.dif":["interiors/facingWorldsBase.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/facingworldsbaseold.dif":["interiors/facingWorldsBaseOld.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/ffwall.dif":["interiors/ffWall.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/flagbridge.dif":["interiors/flagbridge.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/flingbase01.dif":["interiors/flingbase01.dif",["z_mappacks/CTF/S5maps.vl2"]],"interiors/flingbase02.dif":["interiors/flingbase02.dif",["z_mappacks/CTF/S5maps.vl2"]],"interiors/flingrock01.dif":["interiors/flingrock01.dif",["z_mappacks/CTF/S8maps.vl2"]],"interiors/flingrockvent01.dif":["interiors/flingrockvent01.dif",["z_mappacks/CTF/S8maps.vl2"]],"interiors/flingsilo03.dif":["interiors/flingsilo03.dif",["z_mappacks/CTF/S8maps.vl2"]],"interiors/flingsilo03b.dif":["interiors/flingsilo03b.dif",["z_mappacks/CTF/S8maps.vl2"]],"interiors/flingstand01.dif":["interiors/flingstand01.dif",["z_mappacks/CTF/S5maps.vl2"]],"interiors/flingstand02.dif":["interiors/flingstand02.dif",["z_mappacks/CTF/S8maps.vl2"]],"interiors/flingtanktrap01.dif":["interiors/flingtanktrap01.dif",["z_mappacks/CTF/S8maps.vl2"]],"interiors/flingteeth.dif":["interiors/flingteeth.dif",["z_mappacks/CTF/S5maps.vl2"]],"interiors/flingtower01.dif":["interiors/flingtower01.dif",["z_mappacks/CTF/S5maps.vl2"]],"interiors/flingtower02.dif":["interiors/flingtower02.dif",["z_mappacks/CTF/S5maps.vl2"]],"interiors/flingturretstand01.dif":["interiors/flingturretstand01.dif",["z_mappacks/CTF/S5maps.vl2"]],"interiors/flingvpad01.dif":["interiors/flingvpad01.dif",["z_mappacks/CTF/S8maps.vl2"]],"interiors/flingvpad01b.dif":["interiors/flingvpad01b.dif",["z_mappacks/CTF/S8maps.vl2"]],"interiors/frostclawbase.dif":["interiors/frostclawbase.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/frozensolidstand.dif":["interiors/frozenSolidStand.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/hbbunker.dif":["interiors/hbbunker.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/hbflagstand.dif":["interiors/hbflagstand.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/idbase.dif":["interiors/idbase.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/idhangar.dif":["interiors/idhangar.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/idmiddle.dif":["interiors/idmiddle.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/inf_butch_fg2base1.dif":["interiors/inf_butch_fg2base1.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/inf_butch_fg2flag21.dif":["interiors/inf_butch_fg2flag21.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/inf_butch_fg2turret13.dif":["interiors/inf_butch_fg2turret13.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/inf_butch_fg2turret9.dif":["interiors/inf_butch_fg2turret9.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/inf_butch_icebase51.dif":["interiors/inf_butch_icebase51.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/inf_butch_iceturretbase9.dif":["interiors/inf_butch_iceturretbase9.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/inf_butch_icevehicle11.dif":["interiors/inf_butch_icevehicle11.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/inf_butch_lava_flagbase06.dif":["interiors/inf_butch_lava_flagbase06.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/inf_butch_lava_plat6.dif":["interiors/inf_butch_lava_plat6.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/inf_butch_lava_sensor12.dif":["interiors/inf_butch_lava_sensor12.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/infbutch_blackairinv13.dif":["interiors/infbutch_blackairinv13.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/infbutch_blackbase5618_final.dif":["interiors/infbutch_blackbase5618_final.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/infbutch_blackturret8.dif":["interiors/infbutch_blackturret8.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/irisbase.dif":["interiors/irisbase.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/irisinside.dif":["interiors/irisinside.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/irismonu.dif":["interiors/irismonu.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/irisruin2.dif":["interiors/irisruin2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/irisruin3.dif":["interiors/irisruin3.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/irisruins1.dif":["interiors/irisruins1.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/iristurbase.dif":["interiors/iristurbase.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/jagged_base3.dif":["interiors/jagged_base3.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/kif_cinereousfs.dif":["interiors/kif_cinereousfs.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/kif_cinereousinv.dif":["interiors/kif_cinereousinv.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/kif_cinereousplat1.dif":["interiors/kif_cinereousplat1.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/kif_cinereoustt.dif":["interiors/kif_cinereoustt.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/kif_skylightbase.dif":["interiors/kif_skylightbase.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/kif_skylightfs.dif":["interiors/kif_skylightfs.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/largeicewall.dif":["interiors/largeIceWall.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/lightningrod.dif":["interiors/lightningRod.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/magellan_kab_magbase.dif":["interiors/Magellan_kab_magbase.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/magellan_kab_magflagstand.dif":["interiors/Magellan_kab_magflagstand.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/magellan_kab_turretstand.dif":["interiors/Magellan_kab_turretstand.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/magnum_vehicle_stop.dif":["interiors/magnum_vehicle_stop.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/mfg_tower.dif":["interiors/mfg_tower.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/mmbase.dif":["interiors/mmbase.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/mmbridge.dif":["interiors/mmbridge.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/monos.dif":["interiors/monoS.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/muddyswampstand.dif":["interiors/muddyswampstand.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/nef_bowl1.dif":["interiors/nef_bowl1.dif",["TR2final105-client.vl2"]],"interiors/nef_bowl2.dif":["interiors/nef_bowl2.dif",["TR2final105-client.vl2"]],"interiors/nef_bowl3.dif":["interiors/nef_bowl3.dif",["TR2final105-client.vl2"]],"interiors/nef_ramp1.dif":["interiors/nef_ramp1.dif",["TR2final105-client.vl2"]],"interiors/nycto-base1.dif":["interiors/nycto-base1.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/nycto-base2.dif":["interiors/nycto-base2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/nycto-ec1.dif":["interiors/nycto-ec1.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/nycto-ec2.dif":["interiors/nycto-ec2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/nycto-ec3.dif":["interiors/nycto-ec3.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/nycto-ec4.dif":["interiors/nycto-ec4.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/nycto-ec5.dif":["interiors/nycto-ec5.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/nycto-ec6.dif":["interiors/nycto-ec6.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/nycto-stand1.dif":["interiors/nycto-stand1.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/nycto-tunnel-1.dif":["interiors/nycto-tunnel-1.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/ocular-flagstand.dif":["interiors/ocular-flagstand.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/pbase3.dif":["interiors/pbase3.dif",["interiors.vl2"]],"interiors/pbase_nef_giant.dif":["interiors/pbase_nef_giant.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/pbase_nef_vbase1.dif":["interiors/pbase_nef_vbase1.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/pbrdg0.dif":["interiors/pbrdg0.dif",["interiors.vl2"]],"interiors/pbrdg1.dif":["interiors/pbrdg1.dif",["interiors.vl2"]],"interiors/pbrdg2.dif":["interiors/pbrdg2.dif",["interiors.vl2"]],"interiors/pbrdg3.dif":["interiors/pbrdg3.dif",["interiors.vl2"]],"interiors/pbrdg4.dif":["interiors/pbrdg4.dif",["interiors.vl2"]],"interiors/pbrdgn.dif":["interiors/pbrdgn.dif",["interiors.vl2"]],"interiors/pbrdgo.dif":["interiors/pbrdgo.dif",["interiors.vl2"]],"interiors/pbrdgp.dif":["interiors/pbrdgp.dif",["interiors.vl2"]],"interiors/pbunk1.dif":["interiors/pbunk1.dif",["interiors.vl2"]],"interiors/pbunk2.dif":["interiors/pbunk2.dif",["interiors.vl2"]],"interiors/pbunk3.dif":["interiors/pbunk3.dif",["interiors.vl2"]],"interiors/pbunk4a_cc.dif":["interiors/pbunk4a_CC.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/pbunk5.dif":["interiors/pbunk5.dif",["interiors.vl2"]],"interiors/pbunk6.dif":["interiors/pbunk6.dif",["interiors.vl2"]],"interiors/pbunk7.dif":["interiors/pbunk7.dif",["interiors.vl2"]],"interiors/pbunk7a_cc.dif":["interiors/pbunk7a_CC.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/pbunk8.dif":["interiors/pbunk8.dif",["interiors.vl2"]],"interiors/peach_lush_bunker1.dif":["interiors/peach_lush_bunker1.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/pmisc1.dif":["interiors/pmisc1.dif",["interiors.vl2"]],"interiors/pmisc2.dif":["interiors/pmisc2.dif",["interiors.vl2"]],"interiors/pmisc3.dif":["interiors/pmisc3.dif",["interiors.vl2"]],"interiors/pmisc4.dif":["interiors/pmisc4.dif",["interiors.vl2"]],"interiors/pmisc5.dif":["interiors/pmisc5.dif",["interiors.vl2"]],"interiors/pmisca.dif":["interiors/pmisca.dif",["interiors.vl2"]],"interiors/pmiscb.dif":["interiors/pmiscb.dif",["interiors.vl2"]],"interiors/pmiscc.dif":["interiors/pmiscc.dif",["interiors.vl2"]],"interiors/pplat1.dif":["interiors/pplat1.dif",["interiors.vl2"]],"interiors/pplat2.dif":["interiors/pplat2.dif",["interiors.vl2"]],"interiors/pplat3.dif":["interiors/pplat3.dif",["interiors.vl2"]],"interiors/pplat4.dif":["interiors/pplat4.dif",["interiors.vl2"]],"interiors/pplat5.dif":["interiors/pplat5.dif",["interiors.vl2"]],"interiors/prock6.dif":["interiors/prock6.dif",["interiors.vl2"]],"interiors/prock7.dif":["interiors/prock7.dif",["interiors.vl2"]],"interiors/prock8.dif":["interiors/prock8.dif",["interiors.vl2"]],"interiors/procka.dif":["interiors/procka.dif",["interiors.vl2"]],"interiors/prockb.dif":["interiors/prockb.dif",["interiors.vl2"]],"interiors/prockc.dif":["interiors/prockc.dif",["interiors.vl2"]],"interiors/pspir1.dif":["interiors/pspir1.dif",["interiors.vl2"]],"interiors/pspir2.dif":["interiors/pspir2.dif",["interiors.vl2"]],"interiors/pspir3.dif":["interiors/pspir3.dif",["interiors.vl2"]],"interiors/pspir4.dif":["interiors/pspir4.dif",["interiors.vl2"]],"interiors/pspir5.dif":["interiors/pspir5.dif",["interiors.vl2"]],"interiors/ptowr1.dif":["interiors/ptowr1.dif",["interiors.vl2"]],"interiors/ptowr2.dif":["interiors/ptowr2.dif",["interiors.vl2"]],"interiors/ptowr4.dif":["interiors/ptowr4.dif",["interiors.vl2"]],"interiors/ptowr5.dif":["interiors/ptowr5.dif",["interiors.vl2"]],"interiors/ptowr7.dif":["interiors/ptowr7.dif",["interiors.vl2"]],"interiors/pvbay1.dif":["interiors/pvbay1.dif",["interiors.vl2"]],"interiors/pvpad.dif":["interiors/pvpad.dif",["interiors.vl2"]],"interiors/pwall1.dif":["interiors/pwall1.dif",["interiors.vl2"]],"interiors/rail1.dif":["interiors/rail1.dif",["TR2final105-client.vl2"],["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/ram_base.dif":["interiors/ram_base.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/ram_tower.dif":["interiors/ram_tower.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/ram_wall4.dif":["interiors/ram_wall4.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/ramp1.dif":["interiors/ramp1.dif",["TR2final105-client.vl2"]],"interiors/rdtower.dif":["interiors/RDTower.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/rilke_bombscare_flagstand_x2.dif":["interiors/rilke_bombscare_flagstand_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rilke_ctm1_flagstand1_x2.dif":["interiors/rilke_ctm1_flagstand1_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"interiors/rilke_ctm1_platform1_x2.dif":["interiors/rilke_ctm1_platform1_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"interiors/rilke_ctm1_sensorbunker1_x2.dif":["interiors/rilke_ctm1_sensorbunker1_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rilke_ctm1_sensorbunker2_x2.dif":["interiors/rilke_ctm1_sensorbunker2_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rilke_ctm1_vpad_x2.dif":["interiors/rilke_ctm1_vpad_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"interiors/rilke_domain2_boundrymarker.dif":["interiors/rilke_domain2_boundrymarker.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/rilke_domain2_boundrymarker2.dif":["interiors/rilke_domain2_boundrymarker2.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/rilke_domain2_bridge1.dif":["interiors/rilke_domain2_bridge1.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/rilke_domain2_mainbase.dif":["interiors/rilke_domain2_mainbase.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/rilke_domain_turretbase1.dif":["interiors/rilke_domain_turretbase1.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/rilke_whitedwarf_bridge.dif":["interiors/rilke_whitedwarf_bridge.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/rilke_whitedwarf_bridge2_x2.dif":["interiors/rilke_whitedwarf_bridge2_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rilke_whitedwarf_bridgebase1_x2.dif":["interiors/rilke_whitedwarf_bridgebase1_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rilke_whitedwarf_bunker2_x2.dif":["interiors/rilke_whitedwarf_bunker2_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rilke_whitedwarf_mainbase.dif":["interiors/rilke_whitedwarf_mainbase.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/rilke_whitedwarf_platform1.dif":["interiors/rilke_whitedwarf_platform1.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/rilke_whitedwarf_platform2_x2.dif":["interiors/rilke_whitedwarf_platform2_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rilke_whitedwarf_platform3_x2.dif":["interiors/rilke_whitedwarf_platform3_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rilke_whitedwarf_towerbunker.dif":["interiors/rilke_whitedwarf_towerbunker.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/rilke_whitedwarf_towerbunker2_x2.dif":["interiors/rilke_whitedwarf_towerbunker2_x2.dif",["z_mappacks/CTF/S5maps.vl2"],["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rilke_whitedwarf_vehiclepad_x2.dif":["interiors/rilke_whitedwarf_vehiclepad_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_agroleonbase.dif":["interiors/rst_agroleonbase.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_agroleonstand.dif":["interiors/rst_agroleonstand.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_arenalight.dif":["interiors/rst_arenalight.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_astro_bunker.dif":["interiors/rst_astro_bunker.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_astro_stand.dif":["interiors/rst_astro_stand.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_barrier1.dif":["interiors/rst_barrier1.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_barrier2.dif":["interiors/rst_barrier2.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_beagleship.dif":["interiors/rst_beagleship.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_bitterbase.dif":["interiors/rst_bitterbase.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_bitterbunker.dif":["interiors/rst_bitterbunker.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_bitterbunker2.dif":["interiors/rst_bitterbunker2.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_bitterbunker3.dif":["interiors/rst_bitterbunker3.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_bitterstand.dif":["interiors/rst_bitterstand.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_debris1.dif":["interiors/rst_debris1.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_debris2.dif":["interiors/rst_debris2.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_derm_building1.dif":["interiors/rst_derm_building1.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_derm_building2.dif":["interiors/rst_derm_building2.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_derm_building3.dif":["interiors/rst_derm_building3.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_derm_building4.dif":["interiors/rst_derm_building4.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_derm_building5.dif":["interiors/rst_derm_building5.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_derm_building6.dif":["interiors/rst_derm_building6.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_derm_building7.dif":["interiors/rst_derm_building7.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_derm_building8.dif":["interiors/rst_derm_building8.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_derm_bunker.dif":["interiors/rst_derm_bunker.dif",["z_mappacks/CTF/S5maps.vl2"]],"interiors/rst_derm_citybase.dif":["interiors/rst_derm_citybase.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_derm_citybridge.dif":["interiors/rst_derm_citybridge.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_derm_mainbase.dif":["interiors/rst_derm_mainbase.dif",["z_mappacks/CTF/S5maps.vl2"]],"interiors/rst_derm_midfield.dif":["interiors/rst_derm_midfield.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_derm_newpillarstand.dif":["interiors/rst_derm_newpillarstand.dif",["z_mappacks/CTF/S5maps.vl2"]],"interiors/rst_derm_pillar.dif":["interiors/rst_derm_pillar.dif",["z_mappacks/CTF/S5maps.vl2"]],"interiors/rst_derm_plat.dif":["interiors/rst_derm_plat.dif",["z_mappacks/CTF/S5maps.vl2"]],"interiors/rst_derm_plat2.dif":["interiors/rst_derm_plat2.dif",["z_mappacks/CTF/S5maps.vl2"]],"interiors/rst_derm_podium.dif":["interiors/rst_derm_podium.dif",["z_mappacks/CTF/S5maps.vl2"]],"interiors/rst_derm_snipenest.dif":["interiors/rst_derm_snipenest.dif",["z_mappacks/CTF/S5maps.vl2"]],"interiors/rst_derm_turretbase.dif":["interiors/rst_derm_turretbase.dif",["z_mappacks/CTF/S5maps.vl2"]],"interiors/rst_derm_vechpad.dif":["interiors/rst_derm_vechpad.dif",["z_mappacks/CTF/S5maps.vl2"]],"interiors/rst_dogma_base.dif":["interiors/rst_dogma_base.dif",["z_mappacks/CTF/S8maps.vl2"]],"interiors/rst_dogma_bridge.dif":["interiors/rst_dogma_bridge.dif",["z_mappacks/CTF/S8maps.vl2"]],"interiors/rst_dogma_bridge2.dif":["interiors/rst_dogma_bridge2.dif",["z_mappacks/CTF/S8maps.vl2"]],"interiors/rst_facebase.dif":["interiors/rst_FaceBase.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_facebase2.dif":["interiors/rst_FaceBase2.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_facebase_vehfix.dif":["interiors/rst_FaceBase_VehFix.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_facestand.dif":["interiors/rst_FaceStand.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_islebase.dif":["interiors/rst_islebase.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_islebase2.dif":["interiors/rst_islebase2.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_lighthouse.dif":["interiors/rst_lighthouse.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_lush_flagplat.dif":["interiors/rst_lush_flagplat.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_lush_floatingisle1.dif":["interiors/rst_lush_floatingisle1.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_lush_floatingisle10.dif":["interiors/rst_lush_floatingisle10.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_lush_floatingisle2.dif":["interiors/rst_lush_floatingisle2.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_lush_floatingisle3.dif":["interiors/rst_lush_floatingisle3.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_lush_floatingisle4.dif":["interiors/rst_lush_floatingisle4.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_lush_floatingisle5.dif":["interiors/rst_lush_floatingisle5.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_lush_floatingisle6.dif":["interiors/rst_lush_floatingisle6.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_lush_floatingisle7.dif":["interiors/rst_lush_floatingisle7.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_lush_floatingisle8.dif":["interiors/rst_lush_floatingisle8.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_lush_floatingisle9.dif":["interiors/rst_lush_floatingisle9.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_lush_rock2.dif":["interiors/rst_lush_rock2.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_newlighthouse.dif":["interiors/rst_newlighthouse.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_padbottom.dif":["interiors/rst_padbottom.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_padbottom2.dif":["interiors/rst_padbottom2.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_pipedream.dif":["interiors/rst_pipedream.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_sebase.dif":["interiors/rst_SEbase.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_secave1_part1.dif":["interiors/rst_SEcave1_part1.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_secave1_part2.dif":["interiors/rst_SEcave1_part2.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_secave1_part3.dif":["interiors/rst_SEcave1_part3.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_secave2.dif":["interiors/rst_SEcave2.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_setower.dif":["interiors/rst_SEtower.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_simpleflagarena.dif":["interiors/rst_SimpleFlagArena.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_spir_base3.dif":["interiors/rst_spir_base3.dif",["z_mappacks/CTF/S8maps.vl2"]],"interiors/rst_spir_pillar.dif":["interiors/rst_spir_pillar.dif",["z_mappacks/CTF/S8maps.vl2"]],"interiors/rst_spit_base.dif":["interiors/rst_spit_base.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_spit_stand.dif":["interiors/rst_spit_stand.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_swd_flagstand.dif":["interiors/rst_swd_flagstand.dif",["z_mappacks/CTF/S5maps.vl2"]],"interiors/rst_swd_ship2.dif":["interiors/rst_swd_ship2.dif",["z_mappacks/CTF/S5maps.vl2"]],"interiors/ruin1.dif":["interiors/ruin1.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/ruin2.dif":["interiors/ruin2.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/ruin3.dif":["interiors/ruin3.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/ruin4.dif":["interiors/ruin4.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/ruinarch.dif":["interiors/ruinarch.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/s5_anthem_pipebase.dif":["interiors/s5_anthem_pipebase.dif",["z_mappacks/CTF/S5maps.vl2"]],"interiors/s5_anthem_pipestand.dif":["interiors/s5_anthem_pipestand.dif",["z_mappacks/CTF/S5maps.vl2"]],"interiors/sbase1.dif":["interiors/sbase1.dif",["interiors.vl2"]],"interiors/sbase3.dif":["interiors/sbase3.dif",["interiors.vl2"]],"interiors/sbase5.dif":["interiors/sbase5.dif",["interiors.vl2"]],"interiors/sbrdg1.dif":["interiors/sbrdg1.dif",["interiors.vl2"]],"interiors/sbrdg2.dif":["interiors/sbrdg2.dif",["interiors.vl2"]],"interiors/sbrdg3.dif":["interiors/sbrdg3.dif",["interiors.vl2"]],"interiors/sbrdg4.dif":["interiors/sbrdg4.dif",["interiors.vl2"]],"interiors/sbrdg5.dif":["interiors/sbrdg5.dif",["interiors.vl2"]],"interiors/sbrdg6.dif":["interiors/sbrdg6.dif",["interiors.vl2"]],"interiors/sbrdg7.dif":["interiors/sbrdg7.dif",["interiors.vl2"]],"interiors/sbrdgn.dif":["interiors/sbrdgn.dif",["interiors.vl2"]],"interiors/sbrdgo.dif":["interiors/sbrdgo.dif",["interiors.vl2"]],"interiors/sbunk2.dif":["interiors/sbunk2.dif",["interiors.vl2"]],"interiors/sbunk9.dif":["interiors/sbunk9.dif",["interiors.vl2"]],"interiors/sbunk_nef1.dif":["interiors/sbunk_nef1.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/siege.dif":["interiors/siege.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/singleramp.dif":["interiors/singleramp.dif",["TR2final105-client.vl2"]],"interiors/smisc1.dif":["interiors/smisc1.dif",["interiors.vl2"]],"interiors/smisc3.dif":["interiors/smisc3.dif",["interiors.vl2"]],"interiors/smisc4.dif":["interiors/smisc4.dif",["interiors.vl2"]],"interiors/smisc5.dif":["interiors/smisc5.dif",["interiors.vl2"]],"interiors/smisc_nef1.dif":["interiors/smisc_nef1.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/smisca.dif":["interiors/smisca.dif",["interiors.vl2"]],"interiors/smiscb.dif":["interiors/smiscb.dif",["interiors.vl2"]],"interiors/smiscc.dif":["interiors/smiscc.dif",["interiors.vl2"]],"interiors/snowtuar.dif":["interiors/snowtuar.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/snowval.dif":["interiors/snowVal.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/spawnbase.dif":["interiors/spawnbase.dif",["TR2final105-client.vl2"]],"interiors/spawnbase2.dif":["interiors/spawnbase2.dif",["TR2final105-client.vl2"]],"interiors/sphere.dif":["interiors/sphere.dif",["TR2final105-client.vl2"]],"interiors/spincycle_spbase2.dif":["interiors/SpinCycle_spbase2.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/splat1.dif":["interiors/splat1.dif",["interiors.vl2"]],"interiors/splat3.dif":["interiors/splat3.dif",["interiors.vl2"]],"interiors/splat7.dif":["interiors/splat7.dif",["interiors.vl2"]],"interiors/srock6.dif":["interiors/srock6.dif",["interiors.vl2"]],"interiors/srock7.dif":["interiors/srock7.dif",["interiors.vl2"]],"interiors/srock8.dif":["interiors/srock8.dif",["interiors.vl2"]],"interiors/srocka.dif":["interiors/srocka.dif",["interiors.vl2"]],"interiors/srockb.dif":["interiors/srockb.dif",["interiors.vl2"]],"interiors/srockc.dif":["interiors/srockc.dif",["interiors.vl2"]],"interiors/sspir1.dif":["interiors/sspir1.dif",["interiors.vl2"]],"interiors/sspir2.dif":["interiors/sspir2.dif",["interiors.vl2"]],"interiors/sspir3.dif":["interiors/sspir3.dif",["interiors.vl2"]],"interiors/sspir4.dif":["interiors/sspir4.dif",["interiors.vl2"]],"interiors/starfallen.dif":["interiors/Starfallen.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/stormstand.dif":["interiors/stormstand.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/stormtoptunnel.dif":["interiors/stormTopTunnel.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/stowr1.dif":["interiors/stowr1.dif",["interiors.vl2"]],"interiors/stowr3.dif":["interiors/stowr3.dif",["interiors.vl2"]],"interiors/stowr4.dif":["interiors/stowr4.dif",["interiors.vl2"]],"interiors/stowr6.dif":["interiors/stowr6.dif",["interiors.vl2"]],"interiors/svpad.dif":["interiors/svpad.dif",["interiors.vl2"]],"interiors/swall1.dif":["interiors/swall1.dif",["interiors.vl2"]],"interiors/swtunnel.dif":["interiors/swTunnel.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/t_bbase_ccb2a.dif":["interiors/t_bbase_ccb2a.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/t_bmisc_tunl_ccb1.dif":["interiors/t_bmisc_tunl_ccb1.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/t_bwall2a_cnr_cc.dif":["interiors/t_bwall2a_cnr_CC.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/t_bwall2a_lrg_cc.dif":["interiors/t_bwall2a_lrg_CC.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/t_bwall2a_sm_cc.dif":["interiors/t_bwall2a_sm_CC.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/tes_flagbase_x2.dif":["interiors/tes_flagbase_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/tes_flagbunker.dif":["interiors/tes_flagbunker.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/tes_flyingvehicle_x2.dif":["interiors/tes_flyingvehicle_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"interiors/tes_flyingvehiclebase.dif":["interiors/tes_flyingvehiclebase.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/tes_turretholder.dif":["interiors/tes_turretholder.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/tl_bmiscpan_ruind.dif":["interiors/TL_bmiscpan_ruind.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/tl_btowr9.dif":["interiors/TL_btowr9.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/tl_drorck-base.dif":["interiors/TL_drorck-base.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/tl_magnumbase.dif":["interiors/TL_magnumbase.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/tl_magnumflag.dif":["interiors/TL_magnumflag.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/tl_magnummisc.dif":["interiors/TL_magnummisc.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/tl_magnumturret.dif":["interiors/TL_magnumturret.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/tl_magnumvs.dif":["interiors/TL_magnumvs.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/tree_bowlstump.dif":["interiors/tree_bowlstump.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/tree_corridoor.dif":["interiors/tree_corridoor.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/tree_hollow.dif":["interiors/tree_hollow.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/tree_main.dif":["interiors/tree_main.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/tree_nocanopy.dif":["interiors/tree_nocanopy.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/tree_router.dif":["interiors/tree_router.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/tree_solid.dif":["interiors/tree_solid.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/tree_stump.dif":["interiors/tree_stump.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/tri_base.dif":["interiors/tri_base.dif",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"interiors/tri_gate.dif":["interiors/tri_gate.dif",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"interiors/tri_misc1.dif":["interiors/tri_misc1.dif",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"interiors/tri_powerpit.dif":["interiors/tri_powerpit.dif",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"interiors/tri_tbunker.dif":["interiors/tri_tbunker.dif",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"interiors/tri_tbunker_x.dif":["interiors/tri_tbunker_x.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/tri_tbunker_x2.dif":["interiors/tri_tbunker_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"interiors/tri_tower.dif":["interiors/tri_tower.dif",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"interiors/tri_tower_x2.dif":["interiors/tri_tower_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"interiors/tri_wall3.dif":["interiors/tri_wall3.dif",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"interiors/tri_wall4.dif":["interiors/tri_wall4.dif",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"interiors/tri_wall5.dif":["interiors/tri_wall5.dif",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"interiors/tri_wall6.dif":["interiors/tri_wall6.dif",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"interiors/underhillmidbalancedfnl.dif":["interiors/underhillmidbalancedfnl.dif",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"interiors/underhillsideonefnl.dif":["interiors/underhillsideonefnl.dif",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"interiors/vocstand.dif":["interiors/vocstand.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/vpad_bunker.dif":["interiors/Vpad_Bunker.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/waterstand.dif":["interiors/waterStand.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/xbase1.dif":["interiors/xbase1.dif",["interiors.vl2"]],"interiors/xbase2.dif":["interiors/xbase2.dif",["interiors.vl2"]],"interiors/xbrdg0.dif":["interiors/xbrdg0.dif",["interiors.vl2"]],"interiors/xbrdg1.dif":["interiors/xbrdg1.dif",["interiors.vl2"]],"interiors/xbrdg10.dif":["interiors/xbrdg10.dif",["interiors.vl2"]],"interiors/xbrdg2.dif":["interiors/xbrdg2.dif",["interiors.vl2"]],"interiors/xbrdg3.dif":["interiors/xbrdg3.dif",["interiors.vl2"]],"interiors/xbrdg4.dif":["interiors/xbrdg4.dif",["interiors.vl2"]],"interiors/xbrdg5.dif":["interiors/xbrdg5.dif",["interiors.vl2"]],"interiors/xbrdg6.dif":["interiors/xbrdg6.dif",["interiors.vl2"]],"interiors/xbrdg7.dif":["interiors/xbrdg7.dif",["interiors.vl2"]],"interiors/xbrdg8.dif":["interiors/xbrdg8.dif",["interiors.vl2"]],"interiors/xbrdg9.dif":["interiors/xbrdg9.dif",["interiors.vl2"]],"interiors/xbrdga.dif":["interiors/xbrdga.dif",["interiors.vl2"]],"interiors/xbrdgb.dif":["interiors/xbrdgb.dif",["interiors.vl2"]],"interiors/xbrdgn.dif":["interiors/xbrdgn.dif",["interiors.vl2"]],"interiors/xbrdgo.dif":["interiors/xbrdgo.dif",["interiors.vl2"]],"interiors/xbunk1.dif":["interiors/xbunk1.dif",["interiors.vl2"]],"interiors/xbunk2.dif":["interiors/xbunk2.dif",["interiors.vl2"]],"interiors/xbunk5.dif":["interiors/xbunk5.dif",["interiors.vl2"]],"interiors/xbunk6.dif":["interiors/xbunk6.dif",["interiors.vl2"]],"interiors/xbunk9.dif":["interiors/xbunk9.dif",["interiors.vl2"]],"interiors/xbunkb.dif":["interiors/xbunkb.dif",["interiors.vl2"]],"interiors/xmisc1.dif":["interiors/xmisc1.dif",["interiors.vl2"]],"interiors/xmisc2.dif":["interiors/xmisc2.dif",["interiors.vl2"]],"interiors/xmisc3.dif":["interiors/xmisc3.dif",["interiors.vl2"]],"interiors/xmisc4.dif":["interiors/xmisc4.dif",["interiors.vl2"]],"interiors/xmisc5.dif":["interiors/xmisc5.dif",["interiors.vl2"]],"interiors/xmisca.dif":["interiors/xmisca.dif",["interiors.vl2"]],"interiors/xmiscb.dif":["interiors/xmiscb.dif",["interiors.vl2"]],"interiors/xmiscc.dif":["interiors/xmiscc.dif",["interiors.vl2"]],"interiors/xplat1.dif":["interiors/xplat1.dif",["interiors.vl2"]],"interiors/xplat2.dif":["interiors/xplat2.dif",["interiors.vl2"]],"interiors/xplat3.dif":["interiors/xplat3.dif",["interiors.vl2"]],"interiors/xrock6.dif":["interiors/xrock6.dif",["interiors.vl2"]],"interiors/xrock7.dif":["interiors/xrock7.dif",["interiors.vl2"]],"interiors/xrock8.dif":["interiors/xrock8.dif",["interiors.vl2"]],"interiors/xrocka.dif":["interiors/xrocka.dif",["interiors.vl2"]],"interiors/xrockb.dif":["interiors/xrockb.dif",["interiors.vl2"]],"interiors/xrockc.dif":["interiors/xrockc.dif",["interiors.vl2"]],"interiors/xspir1.dif":["interiors/xspir1.dif",["interiors.vl2"]],"interiors/xspir2.dif":["interiors/xspir2.dif",["interiors.vl2"]],"interiors/xspir3.dif":["interiors/xspir3.dif",["interiors.vl2"]],"interiors/xspir5.dif":["interiors/xspir5.dif",["interiors.vl2"]],"interiors/xtowr1.dif":["interiors/xtowr1.dif",["interiors.vl2"]],"interiors/xtowr3.dif":["interiors/xtowr3.dif",["interiors.vl2"]],"interiors/xtowr4.dif":["interiors/xtowr4.dif",["interiors.vl2"]],"interiors/xtowr7.dif":["interiors/xtowr7.dif",["interiors.vl2"]],"interiors/xtra_af_airtower.dif":["interiors/Xtra_AF_airtower.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_af_invowheel.dif":["interiors/Xtra_AF_invowheel.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_af_newbase.dif":["interiors/Xtra_AF_newbase.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_attrition_infernoflagstand.dif":["interiors/Xtra_attrition_infernoflagstand.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_attrition_stormflagstand.dif":["interiors/Xtra_attrition_stormflagstand.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_attrition_tower.dif":["interiors/Xtra_attrition_tower.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_attrition_vbase.dif":["interiors/Xtra_attrition_vbase.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_bastage_bt_bunktower.dif":["interiors/Xtra_Bastage_BT_bunktower.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_bastage_bt_mainbase_ck.dif":["interiors/Xtra_Bastage_BT_MainBase_CK.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_bastage_bt_tunnel.dif":["interiors/Xtra_Bastage_BT_tunnel.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_beachchair01.dif":["interiors/Xtra_beachchair01.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_caustic_tri_bridge.dif":["interiors/Xtra_Caustic_tri_bridge.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_caustic_tri_lamp.dif":["interiors/Xtra_Caustic_tri_lamp.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_caustic_tri_main.dif":["interiors/Xtra_Caustic_tri_main.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_caustic_tri_turret.dif":["interiors/Xtra_Caustic_tri_turret.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_crown_tri_flag.dif":["interiors/Xtra_Crown_tri_flag.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_crown_tri_turret.dif":["interiors/Xtra_Crown_tri_turret.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_dmisc_-nefflagstand1_x2.dif":["interiors/Xtra_dmisc_-nefflagstand1_x2.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_ghostdance_proto.dif":["interiors/Xtra_ghostdance_proto.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_gravestone_cross.dif":["interiors/Xtra_GraveStone_cross.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_gravestone_cross2.dif":["interiors/Xtra_GraveStone_cross2.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_gravestone_obtower.dif":["interiors/Xtra_GraveStone_obtower.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_gravestone_tombstone2.dif":["interiors/Xtra_GraveStone_tombstone2.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_gravestone_tombstone3.dif":["interiors/Xtra_GraveStone_tombstone3.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_hellfire_dbase_ccb1.dif":["interiors/Xtra_Hellfire_dbase_ccb1.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_hellfire_dmisc_int_fstand_old.dif":["interiors/Xtra_Hellfire_dmisc_int_fstand_old.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_hellfire_dwall_ccb1.dif":["interiors/Xtra_Hellfire_dwall_ccb1.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_hm_base_ck.dif":["interiors/Xtra_HM_Base_CK.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_hm_bunkera.dif":["interiors/Xtra_HM_BunkerA.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_hm_flagstand_mk2.dif":["interiors/Xtra_HM_Flagstand_mk2.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_hm_turretpillar.dif":["interiors/Xtra_HM_TurretPillar.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_imperium_base01.dif":["interiors/Xtra_imperium_base01.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_imperium_bunker01.dif":["interiors/Xtra_imperium_bunker01.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_imperium_stand01.dif":["interiors/Xtra_imperium_stand01.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_imperium_tower01.dif":["interiors/Xtra_imperium_tower01.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_insurgence_ccb_bd_base1.dif":["interiors/Xtra_Insurgence_ccb_bd_base1.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_insurgence_ccb_bd_base1_mod2a.dif":["interiors/Xtra_Insurgence_ccb_bd_base1_mod2a.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_insurgence_ccb_bd_base1_mod3.dif":["interiors/Xtra_Insurgence_ccb_bd_base1_mod3.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_insurgence_ccb_bd_base1_mod4.dif":["interiors/Xtra_Insurgence_ccb_bd_base1_mod4.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_insurgence_ccb_bd_bridge1.dif":["interiors/Xtra_Insurgence_ccb_bd_bridge1.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_insurgence_ccb_bd_bridge2.dif":["interiors/Xtra_Insurgence_ccb_bd_bridge2.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_insurgence_ccb_bd_platform2.dif":["interiors/Xtra_Insurgence_ccb_bd_platform2.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_malignant_salgenroom2.dif":["interiors/Xtra_Malignant_salgenroom2.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_malignant_salproj1.dif":["interiors/Xtra_Malignant_salproj1.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_malignant_salturretsus1.dif":["interiors/Xtra_Malignant_salturretsus1.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_malignant_slblocks.dif":["interiors/Xtra_Malignant_slblocks.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_malignant_slinvstat.dif":["interiors/Xtra_Malignant_slinvstat.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_malignant_slremo2.dif":["interiors/Xtra_Malignant_slremo2.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_malignant_slsusbr1.dif":["interiors/Xtra_Malignant_slsusbr1.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_malignant_slvehramp1.dif":["interiors/Xtra_Malignant_slvehramp1.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_metaltanks_bridge.dif":["interiors/Xtra_metaltanks_bridge.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_metaltanks_bridge_tunnel.dif":["interiors/Xtra_metaltanks_bridge_tunnel.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_metaltanks_lush_mainbase.dif":["interiors/Xtra_metaltanks_lush_mainbase.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_metaltanks_rip.dif":["interiors/Xtra_metaltanks_rip.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_metaltanks_xing.dif":["interiors/Xtra_metaltanks_xing.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_projectx_tribalma5ters_coyboybebop_basecom1.dif":["interiors/Xtra_ProjectX_tribalma5ters_coyboybebop_basecom1.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_projectx_tunneloflove.dif":["interiors/Xtra_ProjectX_tunneloflove.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_rst_transitbase.dif":["interiors/Xtra_rst_transitbase.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_rst_transitstand.dif":["interiors/Xtra_rst_transitstand.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_sr_eepbridge4.dif":["interiors/Xtra_SR_eepbridge4.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_sr_eepbridge4b.dif":["interiors/Xtra_SR_eepbridge4b.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_sr_eepbridgeh4b.dif":["interiors/Xtra_SR_eepbridgeh4b.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_sr_eepsab3.dif":["interiors/Xtra_SR_eepsab3.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_sr_eepsab4.dif":["interiors/Xtra_SR_eepsab4.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_t_base0.dif":["interiors/Xtra_t_base0.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_torrent_kif_bigbase.dif":["interiors/Xtra_Torrent_kif_bigbase.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_torrent_kif_torrent_turret_tower.dif":["interiors/Xtra_Torrent_kif_torrent_turret_tower.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_vestige_attackgate.dif":["interiors/Xtra_Vestige_attackgate.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_vestige_base.dif":["interiors/Xtra_Vestige_base.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_vestige_gate.dif":["interiors/Xtra_Vestige_gate.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_vestige_guntower.dif":["interiors/Xtra_Vestige_guntower.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_vestige_medtower.dif":["interiors/Xtra_Vestige_medtower.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_vestige_vpad.dif":["interiors/Xtra_Vestige_vpad.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_wsol_flagstand_ck.dif":["interiors/Xtra_WSol_Flagstand_CK.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_wsol_genbase_ck.dif":["interiors/Xtra_WSol_GenBase_CK.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_wsol_turret_ck.dif":["interiors/Xtra_WSol_Turret_CK.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_xerxes_proto.dif":["interiors/Xtra_Xerxes_proto.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_xerxes_turret.dif":["interiors/Xtra_Xerxes_Turret.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_xerxes_turret2.dif":["interiors/Xtra_Xerxes_Turret2.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_zv_bbunk_ccb1.dif":["interiors/Xtra_ZV_bbunk_ccb1.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_zv_ccb_be_spire1.dif":["interiors/Xtra_ZV_ccb_be_spire1.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xvpad.dif":["interiors/xvpad.dif",["interiors.vl2"]],"interiors/xwall1.dif":["interiors/xwall1.dif",["interiors.vl2"]],"loginscreens.cs":["loginScreens.cs",["T2csri.vl2"]],"missions/2arenadome.mis":["missions/2ArenaDome.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/2arenavalley.mis":["missions/2ArenaValley.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/2dustbowl.mis":["missions/2DustBowl.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/2flyersarena.mis":["missions/2Flyersarena.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/2icedome.mis":["missions/2IceDome.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/2indoorintensity.mis":["missions/2IndoorIntensity.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/aabaa.mis":["missions/aabaa.mis",["z_mappacks/CTF/Aabaa.vl2"]],"missions/aabaagh.mis":["missions/aabaaGH.mis",["z_mappacks/CTF/AabaaGH.vl2"]],"missions/aardvark_x2.mis":["missions/Aardvark_x2.mis",["z_mappacks/xPack2.vl2"]],"missions/abaddon_x2.mis":["missions/Abaddon_x2.mis",["z_mappacks/xPack2.vl2"]],"missions/abominable.mis":["missions/Abominable.mis",["missions.vl2"]],"missions/acidrain.mis":["missions/AcidRain.mis",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"missions/aeroena.mis":["missions/Aeroena.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/agentsoffortune.mis":["missions/AgentsOfFortune.mis",["missions.vl2"]],"missions/agorazscium.mis":["missions/Agorazscium.mis",["z_mappacks/CTF/Agorazscium.vl2"]],"missions/alcatraz.mis":["missions/Alcatraz.mis",["missions.vl2"]],"missions/anabatic.mis":["missions/anabatic.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/anomaly.mis":["missions/anomaly.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/archipelago.mis":["missions/Archipelago.mis",["missions.vl2"]],"missions/arenadome.mis":["missions/ArenaDome.mis",["z_mappacks/CTF/ArenaDome.vl2"]],"missions/arenadomedm.mis":["missions/ArenaDomeDM.mis",["z_mappacks/DM/DMMaps.vl2"]],"missions/arenaheaven.mis":["missions/ArenaHeaven.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/arenahell.mis":["missions/ArenaHell.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/arenahell2.mis":["missions/ArenaHell2.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/arenainthehill.mis":["missions/ArenaInTheHill.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/arenaunderthehill.mis":["missions/ArenaUnderTheHill.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/arrakis.mis":["missions/Arrakis.mis",["z_mappacks/Lak/TacoStandMaps.vl2"]],"missions/arrowpass_x2.mis":["missions/ArrowPass_x2.mis",["z_mappacks/xPack2.vl2"]],"missions/aryoarena.mis":["missions/AryoArena.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/ashestoashes.mis":["missions/AshesToAshes.mis",["missions.vl2"]],"missions/astersdescent.mis":["missions/AstersDescent.mis",["z_mappacks/CTF/AstersDescent.vl2"]],"missions/astrograbber_x2.mis":["missions/AstroGrabber_x2.mis",["z_mappacks/xPack2.vl2"]],"missions/attrition.mis":["missions/Attrition.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/attritionlt.mis":["missions/AttritionLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/azoth.mis":["missions/Azoth.mis",["z_mappacks/CTF/Azoth.vl2"]],"missions/basatinlt.mis":["missions/BasatinLT.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/basinfury.mis":["missions/BasinFury.mis",["z_mappacks/CTF/BasinFury.vl2"]],"missions/battlegrove.mis":["missions/BattleGrove.mis",["z_mappacks/CTF/BattleGrove.vl2"]],"missions/beachblitz_x2.mis":["missions/BeachBlitz_x2.mis",["z_mappacks/xPack2.vl2"]],"missions/beggarsrun.mis":["missions/BeggarsRun.mis",["missions.vl2"]],"missions/beggarsrunlak.mis":["missions/BeggarsRunLak.mis",["z_mappacks/Lak/TacoStandMaps.vl2"]],"missions/beggarsrunlt.mis":["missions/BeggarsRunLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/berlard.mis":["missions/berlard.mis",["z_mappacks/CTF/Berlard.vl2"]],"missions/berylbasin.mis":["missions/BerylBasin.mis",["z_mappacks/CTF/BerylBasin.vl2"]],"missions/blastside_nef.mis":["missions/Blastside_nef.mis",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"missions/blink.mis":["missions/Blink.mis",["z_mappacks/CTF/Blink.vl2"]],"missions/bluemoon_x2.mis":["missions/BlueMoon_x2.mis",["z_mappacks/xPack2.vl2"]],"missions/bolderdash_x2.mis":["missions/BolderDash_x2.mis",["z_mappacks/xPack2.vl2"]],"missions/bombardment.mis":["missions/bombardment.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/bonespur.mis":["missions/Bonespur.mis",["z_mappacks/CTF/Bonespur.vl2"]],"missions/bonespurlt.mis":["missions/BonespurLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/boss_x2.mis":["missions/Boss_x2.mis",["z_mappacks/xPack2.vl2"]],"missions/boxlak.mis":["missions/BoxLak.mis",["z_mappacks/Lak/BoxLak.vl2"]],"missions/bridgepoint.mis":["missions/Bridgepoint.mis",["z_mappacks/CTF/Bridgepoint.vl2"]],"missions/bridgetoofar.mis":["missions/BridgeTooFar.mis",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"missions/brigdm.mis":["missions/BrigDM.mis",["z_mappacks/DM/DMMaps.vl2"]],"missions/broadside_nef.mis":["missions/Broadside_nef.mis",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"missions/bruteforce_x2.mis":["missions/BruteForce_x2.mis",["z_mappacks/xPack2.vl2"]],"missions/bulwark.mis":["missions/Bulwark.mis",["z_mappacks/CTF/DiscordBulwark.vl2"]],"missions/bulwarklt.mis":["missions/BulwarkLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/burstside.mis":["missions/Burstside.mis",["z_mappacks/CTF/Burstside.vl2"]],"missions/cadaver.mis":["missions/Cadaver.mis",["z_mappacks/CTF/Cadaver.vl2"]],"missions/caldera.mis":["missions/Caldera.mis",["missions.vl2"]],"missions/camelland.mis":["missions/Camelland.mis",["z_mappacks/CTF/Camelland.vl2"]],"missions/camellandlt.mis":["missions/CamellandLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/cankerlak.mis":["missions/CankerLak.mis",["z_mappacks/Lak/TacoStandMaps.vl2"]],"missions/canyonrun_x2.mis":["missions/Canyonrun_x2.mis",["z_mappacks/xPack2.vl2"]],"missions/caprilt.mis":["missions/CapriLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/casern_cavite.mis":["missions/Casern_Cavite.mis",["missions.vl2"]],"missions/catwalklt.mis":["missions/CatwalkLT.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/chasmclash.mis":["missions/ChasmClash.mis",["z_mappacks/CTF/ChasmClash.vl2"]],"missions/checkmate.mis":["missions/Checkmate.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/choke.mis":["missions/Choke.mis",["z_mappacks/CTF/Choke.vl2"]],"missions/cindercone.mis":["missions/CinderCone.mis",["z_mappacks/CTF/119Mappack.vl2"]],"missions/cinerarium.mis":["missions/Cinerarium.mis",["z_mappacks/CTF/Cinerarium.vl2"]],"missions/cinereous.mis":["missions/Cinereous.mis",["z_mappacks/CTF/Cinereous.vl2"]],"missions/circleofstones.mis":["missions/circleofstones.mis",["z_mappacks/CTF/CircleofStones.vl2"]],"missions/circlesedge.mis":["missions/CirclesEdge.mis",["z_mappacks/CTF/CirclesEdge.vl2"]],"missions/circlesedgelt.mis":["missions/CirclesEdgeLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/cloakoflak.mis":["missions/CloakOfLak.mis",["z_mappacks/Lak/TacoStandMaps.vl2"]],"missions/cloakofnightv.mis":["missions/CloakOfNightV.mis",["z_mappacks/CTF/CloakOfNightV.vl2"]],"missions/closecombat.mis":["missions/CloseCombat.mis",["z_mappacks/CTF/CloseCombat.vl2"]],"missions/closecombatlt.mis":["missions/CloseCombatLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/cloudburst.mis":["missions/CloudBurst.mis",["z_mappacks/CTF/CloudBurst.vl2"]],"missions/cloudcity.mis":["missions/CloudCity.mis",["z_mappacks/CTF/CloudCity.vl2"]],"missions/clusterunfuct.mis":["missions/ClusterUnFuct.mis",["z_mappacks/CTF/ClusterUnFuct.vl2"]],"missions/coconutfury.mis":["missions/CoconutFury.mis",["z_mappacks/CTF/119Mappack.vl2"]],"missions/confusco.mis":["missions/Confusco.mis",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"missions/constructionyard.mis":["missions/ConstructionYard.mis",["z_mappacks/CTF/ConstructionYard.vl2"]],"missions/coppersky.mis":["missions/Coppersky.mis",["z_mappacks/CTF/copper-sky.vl2"]],"missions/crashclash.mis":["missions/CrashClash.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/crater71.mis":["missions/Crater71.mis",["TR2final105-client.vl2"]],"missions/crater71lak.mis":["missions/Crater71Lak.mis",["z_mappacks/Lak/LakRabbit_Maps.vl2"]],"missions/crossfiredlak.mis":["missions/CrossfiredLak.mis",["z_mappacks/Lak/TacoStandMaps.vl2"]],"missions/daftgulch.mis":["missions/DaftGulch.mis",["z_mappacks/CTF/DaftGulch.vl2"]],"missions/damnation.mis":["missions/Damnation.mis",["missions.vl2"]],"missions/damnationlak.mis":["missions/DamnationLak.mis",["z_mappacks/Lak/TacoStandMaps.vl2"]],"missions/damnationlt.mis":["missions/DamnationLT.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/damnationtdm.mis":["missions/DamnationTDM.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/dangerouscrossing_nef.mis":["missions/DangerousCrossing_nef.mis",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"missions/dangerouscrossingarena.mis":["missions/DangerousCrossingArena.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/dangerouscrossinglt.mis":["missions/DangerousCrossingLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/dangerousflinglt.mis":["missions/DangerousFlingLT.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/dawntodusk.mis":["missions/dawntodusk.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/dbs_smoothed.mis":["missions/DBS_Smoothed.mis",["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/deadlybirdssong_x2.mis":["missions/DeadlyBirdsSong_x2.mis",["z_mappacks/xPack2.vl2"]],"missions/deathbirdsfly.mis":["missions/DeathBirdsFly.mis",["missions.vl2"]],"missions/deathbirdsfly1.mis":["missions/DeathBirdsFly1.mis",["z_mappacks/CTF/DeadBirdsFly1.vl2"]],"missions/dehswamp.mis":["missions/DehSwamp.mis",["z_mappacks/CTF/DehSwamp.vl2"]],"missions/dermcrossingdeluxe.mis":["missions/DermCrossingDeluxe.mis",["z_mappacks/CTF/DermCrossingDeluxe.vl2"]],"missions/dermcrossingdeluxelt.mis":["missions/DermCrossingDeluxeLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/desertofdeath_nef.mis":["missions/DesertofDeath_nef.mis",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"],["z_mappacks/CTF/DesertofDeath.vl2"]],"missions/desertofdeathlak.mis":["missions/DesertofDeathLak.mis",["z_mappacks/Lak/TacoStandMaps.vl2"]],"missions/desiccator.mis":["missions/Desiccator.mis",["missions.vl2"]],"missions/devilselbow.mis":["missions/DevilsElbow.mis",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"missions/dire.mis":["missions/Dire.mis",["z_mappacks/CTF/KryMapPack_b3EDIT.vl2"]],"missions/direlt.mis":["missions/DireLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/discord.mis":["missions/Discord.mis",["z_mappacks/CTF/DiscordBulwark.vl2"]],"missions/discordlt.mis":["missions/DiscordLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/disjointed.mis":["missions/Disjointed.mis",["z_mappacks/CTF/KryMapPack_b3EDIT.vl2"]],"missions/dmp_agroleon.mis":["missions/DMP_Agroleon.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/dmp_astro.mis":["missions/DMP_Astro.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/dmp_bastardforge.mis":["missions/DMP_BastardForge.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/dmp_bastardforgelt.mis":["missions/DMP_BastardForgeLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/dmp_bittergorge.mis":["missions/DMP_BitterGorge.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/dmp_bunkered.mis":["missions/DMP_Bunkered.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/dmp_bunkeredlt.mis":["missions/DMP_BunkeredLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/dmp_cinerarium.mis":["missions/DMP_Cinerarium.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/dmp_cinerariumlt.mis":["missions/DMP_CinerariumLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/dmp_dermcity.mis":["missions/DMP_DermCity.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/dmp_embers.mis":["missions/DMP_Embers.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/dmp_emberslt.mis":["missions/DMP_EmbersLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/dmp_emeraldspit.mis":["missions/DMP_EmeraldSpit.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/dmp_facecrossing.mis":["missions/DMP_FaceCrossing.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/dmp_hoth.mis":["missions/DMP_Hoth.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/dmp_icegiant.mis":["missions/DMP_IceGiant.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/dmp_isledebatalla.mis":["missions/DMP_IsleDeBatalla.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/dmp_lavagods.mis":["missions/DMP_LavaGods.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/dmp_magellan.mis":["missions/DMP_Magellan.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/dmp_moondance.mis":["missions/DMP_MoonDance.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/dmp_pantheon.mis":["missions/DMP_Pantheon.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/dmp_paranoia.mis":["missions/DMP_Paranoia.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/dmp_pariah.mis":["missions/DMP_Pariah.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/dmp_pariahlt.mis":["missions/DMP_PariahLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/dmp_pipedream.mis":["missions/DMP_PipeDream.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/dmp_ravinev.mis":["missions/DMP_RavineV.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/dmp_scorchedearth.mis":["missions/DMP_ScorchedEarth.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/dmp_simpleflagarena.mis":["missions/DMP_SimpleFlagArena.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/dmp_spincycle.mis":["missions/DMP_SpinCycle.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/dmp_spincyclelt.mis":["missions/DMP_SpinCycleLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/dmp_starfall.mis":["missions/DMP_StarFall.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/dmp_starfalllt.mis":["missions/DMP_StarFallLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/dmp_tyre.mis":["missions/DMP_Tyre.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/dmp_wasteland.mis":["missions/DMP_Wasteland.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/draco.mis":["missions/Draco.mis",["z_mappacks/CTF/Draco.vl2"]],"missions/drafts.mis":["missions/Drafts.mis",["z_mappacks/CTF/Drafts.vl2"]],"missions/drifts_x2.mis":["missions/Drifts_x2.mis",["z_mappacks/xPack2.vl2"]],"missions/dropinlt.mis":["missions/DropInLT.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/duelersdelight.mis":["missions/DuelersDelight.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/dustlust.mis":["missions/DustLust.mis",["z_mappacks/CTF/DustLust.vl2"]],"missions/dustrunlak.mis":["missions/DustRunLak.mis",["z_mappacks/Lak/TacoStandMaps.vl2"]],"missions/dusttodust.mis":["missions/DustToDust.mis",["missions.vl2"]],"missions/dx_badlands.mis":["missions/DX_Badlands.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/dx_desert.mis":["missions/DX_Desert.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/dx_ice.mis":["missions/DX_Ice.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/dx_icelt.mis":["missions/DX_IceLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/einfach.mis":["missions/Einfach.mis",["z_mappacks/CTF/Einfach.vl2"]],"missions/eivoitoxico.mis":["missions/EivoItoxico.mis",["z_mappacks/CTF/EivoItoxico.vl2"]],"missions/el_fin.mis":["missions/El_Fin.mis",["z_mappacks/CTF/El_Fin.vl2"]],"missions/el_finlt.mis":["missions/El_FinLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/entombeddm.mis":["missions/EntombedDM.mis",["z_mappacks/DM/DMMaps.vl2"]],"missions/envyrena.mis":["missions/Envyrena.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/enyland.mis":["missions/EnyLand.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/equinox.mis":["missions/Equinox.mis",["missions.vl2"]],"missions/equinoxlak.mis":["missions/EquinoxLak.mis",["z_mappacks/Lak/TacoStandMaps.vl2"]],"missions/erebus_x2.mis":["missions/Erebus_x2.mis",["z_mappacks/xPack2.vl2"]],"missions/escalade.mis":["missions/Escalade.mis",["missions.vl2"]],"missions/escaladelak.mis":["missions/EscaladeLak.mis",["z_mappacks/Lak/EscaladeLak.vl2"]],"missions/eveningland.mis":["missions/EveningLand.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/ewok_hamlet.mis":["missions/Ewok_Hamlet.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/ewok_village.mis":["missions/Ewok_Village.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/exhumed.mis":["missions/Exhumed.mis",["z_mappacks/CTF/Exhumed.vl2"]],"missions/extractor.mis":["missions/Extractor.mis",["z_mappacks/CTF/Extractor.vl2"]],"missions/facingworlds.mis":["missions/facingWorlds.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/facingworldsarena.mis":["missions/facingWorldsArena.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/facingworldslt.mis":["missions/facingWorldsLT.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/fallout.mis":["missions/Fallout.mis",["z_mappacks/CTF/Fallout.vl2"]],"missions/fenix.mis":["missions/Fenix.mis",["z_mappacks/CTF/Fenix.vl2"]],"missions/filtereddust.mis":["missions/FilteredDust.mis",["z_mappacks/CTF/FilteredDust.vl2"]],"missions/fireballs_x2.mis":["missions/Fireballs_x2.mis",["z_mappacks/xPack2.vl2"]],"missions/firestorm.mis":["missions/Firestorm.mis",["missions.vl2"]],"missions/firestormlt.mis":["missions/FirestormLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/firn.mis":["missions/firn.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/flashpoint.mis":["missions/Flashpoint.mis",["missions.vl2"]],"missions/foursquaredm.mis":["missions/FourSquareDM.mis",["z_mappacks/DM/DMMaps.vl2"]],"missions/fracas.mis":["missions/Fracas.mis",["missions.vl2"]],"missions/frostbite.mis":["missions/FrostBite.mis",["z_mappacks/CTF/FrostBite.vl2"]],"missions/frostline.mis":["missions/frostline.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/frostpipe.mis":["missions/FrostPipe.mis",["z_mappacks/CTF/FrostPipe.vl2"]],"missions/frozenforgelt.mis":["missions/FrozenForgeLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/frozenfury.mis":["missions/FrozenFury.mis",["TR2final105-client.vl2"]],"missions/frozenfurylak.mis":["missions/FrozenFuryLak.mis",["z_mappacks/Lak/TacoStandMaps.vl2"]],"missions/frozenhope.mis":["missions/FrozenHope.mis",["z_mappacks/CTF/FrozenHope.vl2"]],"missions/frozenhopelt.mis":["missions/FrozenHopeLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/frozensolid.mis":["missions/frozenSolid.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/fullcircle.mis":["missions/FullCircle.mis",["z_mappacks/CTF/KryMapPack_b3EDIT.vl2"]],"missions/gauntlet.mis":["missions/Gauntlet.mis",["missions.vl2"]],"missions/gehenna.mis":["missions/Gehenna.mis",["missions.vl2"]],"missions/glade.mis":["missions/Glade.mis",["z_mappacks/CTF/Glade.vl2"]],"missions/godsrift.mis":["missions/GodsRift.mis",["TR2final105-client.vl2"]],"missions/godsriftlak.mis":["missions/GodsRiftLak.mis",["z_mappacks/Lak/TacoStandMaps.vl2"]],"missions/gorgon.mis":["missions/Gorgon.mis",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Gorgon.vl2"]],"missions/gorgondm.mis":["missions/GorgonDM.mis",["z_mappacks/DM/DMMaps.vl2"]],"missions/grassyknolllt.mis":["missions/GrassyKnollLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/greenlawn.mis":["missions/GreenLawn.mis",["z_mappacks/CTF/GreenLawn.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/harvestdance.mis":["missions/HarvestDance.mis",["z_mappacks/CTF/HarvestDance.vl2"]],"missions/harvester_x2.mis":["missions/Harvester_x2.mis",["z_mappacks/xPack2.vl2"]],"missions/haven.mis":["missions/Haven.mis",["TR2final105-client.vl2"]],"missions/havenlak.mis":["missions/HavenLak.mis",["z_mappacks/Lak/LakRabbit_Maps.vl2"]],"missions/headstone.mis":["missions/Headstone.mis",["z_mappacks/CTF/KryMapPack_b3EDIT.vl2"]],"missions/helioarena.mis":["missions/Helioarena.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/highanxiety.mis":["missions/HighAnxiety.mis",["z_mappacks/CTF/HighAnxiety.vl2"]],"missions/highoctane.mis":["missions/HighOctane.mis",["z_mappacks/CTF/HighOctane.vl2"]],"missions/hightrepidation.mis":["missions/HighTrepidation.mis",["z_mappacks/CTF/HighTrepidation.vl2"]],"missions/highwire.mis":["missions/HighWire.mis",["z_mappacks/CTF/HighWire.vl2"]],"missions/hillkingctf.mis":["missions/HillKingCTF.mis",["z_mappacks/CTF/HillKingCTF.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/hillkinglt.mis":["missions/HillKingLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/hillside.mis":["missions/Hillside.mis",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"missions/hillsidelt.mis":["missions/HillSideLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/hillsofsorrow.mis":["missions/HillsOfSorrow.mis",["z_mappacks/Lak/hills-sorrow .vl2"]],"missions/hivelt.mis":["missions/HiveLT.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/ho_badlands.mis":["missions/HO_Badlands.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/ho_desert.mis":["missions/HO_Desert.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/ho_ice.mis":["missions/HO_Ice.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/ho_lush.mis":["missions/HO_Lush.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/hogansrun24.mis":["missions/HogansRun24.mis",["z_mappacks/CTF/HogansRun24.vl2"]],"missions/hooftoedm.mis":["missions/HoofToeDM.mis",["z_mappacks/DM/DMMaps.vl2"]],"missions/horde.mis":["missions/Horde.mis",["z_mappacks/CTF/Horde.vl2"]],"missions/hostileloch.mis":["missions/HostileLoch.mis",["z_mappacks/CTF/HostileLoch.vl2"]],"missions/hostility.mis":["missions/Hostility.mis",["z_mappacks/CTF/hostility.vl2"]],"missions/hydroelectric_x2.mis":["missions/HydroElectric_x2.mis",["z_mappacks/xPack2.vl2"]],"missions/icebound.mis":["missions/IceBound.mis",["missions.vl2"]],"missions/icedomedm.mis":["missions/IceDomeDM.mis",["z_mappacks/DM/DMMaps.vl2"]],"missions/icegulch.mis":["missions/IceGulch.mis",["z_mappacks/CTF/KryMapPack_b3EDIT.vl2"]],"missions/icepick.mis":["missions/IcePick.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/icepickm.mis":["missions/IcePickM.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/iceridge_nef.mis":["missions/IceRidge_nef.mis",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"missions/infernosroar.mis":["missions/infernosroar.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/infernus.mis":["missions/Infernus.mis",["z_mappacks/CTF/Infernus.vl2"]],"missions/infernuslak.mis":["missions/InfernusLak.mis",["z_mappacks/Lak/TacoStandMaps.vl2"]],"missions/innersanctum.mis":["missions/InnerSanctum.mis",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"missions/insalubria.mis":["missions/Insalubria.mis",["missions.vl2"]],"missions/insalubrius_x2.mis":["missions/Insalubrius_x2.mis",["z_mappacks/xPack2.vl2"]],"missions/insideout_x2.mis":["missions/InsideOut_x2.mis",["z_mappacks/xPack2.vl2"]],"missions/invictus.mis":["missions/Invictus.mis",["missions.vl2"]],"missions/islahermano.mis":["missions/IslaHermano.mis",["z_mappacks/CTF/IslaHermano.vl2"]],"missions/island.mis":["missions/Island.mis",["z_mappacks/CTF/Island.vl2"]],"missions/isleofman.mis":["missions/IsleOfMan.mis",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"missions/ivehadworse.mis":["missions/IveHadWorse.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/jacobsladder.mis":["missions/JacobsLadder.mis",["missions.vl2"]],"missions/jadevalley.mis":["missions/JadeValley.mis",["z_mappacks/CTF/KryMapPack_b3EDIT.vl2"]],"missions/jettisoned.mis":["missions/Jettisoned.mis",["z_mappacks/CTF/Jettisoned.vl2"]],"missions/katabatic.mis":["missions/Katabatic.mis",["missions.vl2"]],"missions/katabatic_x2.mis":["missions/Katabatic_x2.mis",["z_mappacks/xPack2.vl2"]],"missions/kataminfernot.mis":["missions/KataMInfernoT.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/katamstormt.mis":["missions/KataMStormT.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/khalarena.mis":["missions/Khalarena.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/ks_braistv.mis":["missions/ks_braistv.mis",["z_mappacks/CTF/KS_BraisT_V.vl2"]],"missions/lakefront.mis":["missions/Lakefront.mis",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"missions/landingparty.mis":["missions/LandingParty.mis",["z_mappacks/CTF/LandingParty.vl2"]],"missions/lapiths.mis":["missions/Lapiths.mis",["z_mappacks/CTF/Lapiths.vl2"]],"missions/livebaitdm.mis":["missions/LiveBaitDM.mis",["z_mappacks/DM/DMMaps.vl2"]],"missions/logans_run.mis":["missions/Logans_Run.mis",["z_mappacks/CTF/LogansRun.vl2"]],"missions/lushlak.mis":["missions/LushLak.mis",["z_mappacks/Lak/LakRabbit_Maps.vl2"]],"missions/mac_flagarena.mis":["missions/Mac_FlagArena.mis",["z_mappacks/CTF/MachineheadsFlagArenaEDIT.vl2"]],"missions/machineeggs.mis":["missions/Machineeggs.mis",["z_mappacks/CTF/Machineeggs.vl2"]],"missions/magmatic.mis":["missions/Magmatic.mis",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"missions/magmaticlak.mis":["missions/MagmaticLak.mis",["z_mappacks/Lak/TacoStandMaps.vl2"]],"missions/mapassets.mis":["missions/MapAssets.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/mapscripts/coppersky.cs":["missions/mapscripts/Coppersky.cs",["z_mappacks/CTF/copper-sky.vl2"]],"missions/mapscripts/mapexample.map":["missions/mapscripts/mapExample.map",["z_mappacks/CTF/copper-sky.vl2"]],"missions/masada.mis":["missions/Masada.mis",["missions.vl2"]],"missions/minisundried.mis":["missions/MiniSunDried.mis",["z_mappacks/Lak/mini-sundried.vl2"]],"missions/minotaur.mis":["missions/Minotaur.mis",["missions.vl2"]],"missions/mirage.mis":["missions/Mirage.mis",["z_mappacks/CTF/KryMapPack_b3EDIT.vl2"]],"missions/misadventurev2.mis":["missions/MisadventureV2.mis",["z_mappacks/CTF/MisadventureV2.vl2"]],"missions/moondance.mis":["missions/MoonDance.mis",["z_mappacks/CTF/MoonDance.vl2"]],"missions/moonwalk.mis":["missions/Moonwalk.mis",["z_mappacks/CTF/Moonwalk.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/moonwalklt.mis":["missions/MoonwalkLT.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/morena.mis":["missions/Morena.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/mountainmist.mis":["missions/MountainMist.mis",["z_mappacks/CTF/KryMapPack_b3EDIT.vl2"]],"missions/mountaintopmayhem.mis":["missions/MountaintopMayhem.mis",["z_mappacks/CTF/MountaintopMayhem.vl2"]],"missions/mudside.mis":["missions/Mudside.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/myrkwood.mis":["missions/MyrkWood.mis",["missions.vl2"]],"missions/narcolepsy.mis":["missions/Narcolepsy.mis",["z_mappacks/CTF/Narcolepsy.vl2"]],"missions/narcolepsylt.mis":["missions/NarcolepsyLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/naturemagic.mis":["missions/NatureMagic.mis",["z_mappacks/CTF/Surro_StarIce_NatureMagic.vl2"]],"missions/nightdance.mis":["missions/Nightdance.mis",["z_mappacks/CTF/Nightdance.vl2"]],"missions/nirvanalt.mis":["missions/NirvanaLT.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/norty.mis":["missions/Norty.mis",["z_mappacks/CTF/Norty.vl2"]],"missions/noshelter_x2.mis":["missions/NoShelter_x2.mis",["z_mappacks/xPack2.vl2"]],"missions/oasis.mis":["missions/Oasis.mis",["missions.vl2"]],"missions/oasisintensity.mis":["missions/oasisintensity.mis",["z_mappacks/CTF/oasisintensity.vl2"]],"missions/obsidianlt.mis":["missions/ObsidianLT.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/octoberrust.mis":["missions/octoberrust.mis",["z_mappacks/CTF/OctoberRust.vl2"]],"missions/osirislt.mis":["missions/OsIrisLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/outerwilds.mis":["missions/OuterWilds.mis",["z_mappacks/CTF/OuterWilds.vl2"]],"missions/overreach.mis":["missions/Overreach.mis",["missions.vl2"]],"missions/pandemonium_x2.mis":["missions/Pandemonium_x2.mis",["z_mappacks/xPack2.vl2"]],"missions/pantheon.mis":["missions/Pantheon.mis",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"missions/pantheon_x2.mis":["missions/Pantheon_x2.mis",["z_mappacks/xPack2.vl2"]],"missions/pariah.mis":["missions/Pariah.mis",["z_mappacks/CTF/Pariah.vl2"]],"missions/peak.mis":["missions/Peak.mis",["z_mappacks/CTF/KryMapPack_b3EDIT.vl2"]],"missions/pendulum.mis":["missions/Pendulum.mis",["z_mappacks/CTF/KryMapPack_b3EDIT.vl2"]],"missions/phasmadust.mis":["missions/PhasmaDust.mis",["TR2final105-client.vl2"]],"missions/phasmadustlak.mis":["missions/PhasmaDustLak.mis",["z_mappacks/Lak/TacoStandMaps.vl2"]],"missions/pipedreamlt.mis":["missions/PipeDreamLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/pitsdm.mis":["missions/PitsDM.mis",["z_mappacks/DM/DMMaps.vl2"]],"missions/planetside.mis":["missions/Planetside.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/planetx.mis":["missions/PlanetX.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/prismatic.mis":["missions/Prismatic.mis",["z_mappacks/CTF/Prismatic.vl2"]],"missions/prizmaticlt.mis":["missions/PrizmaticLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/proarena.mis":["missions/ProArena.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/puliveivari.mis":["missions/PuliVeivari.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/pyroclasm.mis":["missions/Pyroclasm.mis",["missions.vl2"]],"missions/quagmire.mis":["missions/Quagmire.mis",["missions.vl2"]],"missions/quagmire_x2.mis":["missions/Quagmire_x2.mis",["z_mappacks/xPack2.vl2"]],"missions/raindance_nef.mis":["missions/Raindance_nef.mis",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"missions/raindance_neflak.mis":["missions/Raindance_nefLak.mis",["z_mappacks/Lak/TacoStandMaps.vl2"]],"missions/raindancelt.mis":["missions/RaindanceLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/ramparts.mis":["missions/Ramparts.mis",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"missions/rampartsdm.mis":["missions/RampartsDM.mis",["z_mappacks/DM/DMMaps.vl2"]],"missions/rasp.mis":["missions/Rasp.mis",["missions.vl2"]],"missions/raspdm.mis":["missions/RaspDM.mis",["z_mappacks/DM/DMMaps.vl2"]],"missions/raspian.mis":["missions/Raspian.mis",["z_mappacks/CTF/Raspian.vl2"]],"missions/ravine.mis":["missions/Ravine.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/ravinelt.mis":["missions/RavineLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/recalescence.mis":["missions/Recalescence.mis",["missions.vl2"]],"missions/respite.mis":["missions/Respite.mis",["missions.vl2"]],"missions/retrodct2.mis":["missions/RetroDCT2.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/retrodx.mis":["missions/RetroDX.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/retrord.mis":["missions/RetroRD.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/retrordt2.mis":["missions/RetroRDT2.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/retrosb.mis":["missions/RetroSB.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/retrosh.mis":["missions/RetroSH.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/retrosht2.mis":["missions/RetroSHT2.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/reversion.mis":["missions/Reversion.mis",["missions.vl2"]],"missions/reversion_x2.mis":["missions/Reversion_x2.mis",["z_mappacks/xPack2.vl2"]],"missions/ridgerena.mis":["missions/Ridgerena.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/rimehold.mis":["missions/Rimehold.mis",["missions.vl2"]],"missions/ringoffiredm.mis":["missions/RingofFireDM.mis",["z_mappacks/DM/RingofFireDM.vl2"]],"missions/riverdance.mis":["missions/RiverDance.mis",["missions.vl2"]],"missions/rollercoaster_nef.mis":["missions/Rollercoaster_nef.mis",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"missions/rollercoaster_nef_fz.mis":["missions/Rollercoaster_nef_FZ.mis",["z_mappacks/CTF/Rollercoaster_nef_FZ.vl2"]],"missions/roundthemountain.mis":["missions/RoundTheMountain.mis",["z_mappacks/CTF/KryMapPack_b3EDIT.vl2"]],"missions/roundthemountainlt.mis":["missions/RoundTheMountainLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/ruined.mis":["missions/Ruined.mis",["z_mappacks/CTF/Ruined.vl2"]],"missions/runenmachtlt.mis":["missions/RunenmachtLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/rush.mis":["missions/Rush.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/rushlt.mis":["missions/RushLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/s5_centaur.mis":["missions/S5_Centaur.mis",["z_mappacks/CTF/S5maps.vl2"]],"missions/s5_damnation.mis":["missions/S5_Damnation.mis",["z_mappacks/CTF/S5maps.vl2"]],"missions/s5_damnationlt.mis":["missions/S5_DamnationLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/s5_drache.mis":["missions/S5_Drache.mis",["z_mappacks/CTF/S5maps.vl2"]],"missions/s5_hawkingheat.mis":["missions/S5_HawkingHeat.mis",["z_mappacks/CTF/S5maps.vl2"]],"missions/s5_icedance.mis":["missions/S5_Icedance.mis",["z_mappacks/CTF/S5maps.vl2"]],"missions/s5_massive.mis":["missions/S5_Massive.mis",["z_mappacks/CTF/S5maps.vl2"]],"missions/s5_massivelt.mis":["missions/S5_MassiveLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/s5_mimicry.mis":["missions/S5_Mimicry.mis",["z_mappacks/CTF/S5maps.vl2"]],"missions/s5_misadventure.mis":["missions/S5_Misadventure.mis",["z_mappacks/CTF/S5maps.vl2"]],"missions/s5_mordacity.mis":["missions/S5_Mordacity.mis",["z_mappacks/CTF/S5maps.vl2"]],"missions/s5_reynard.mis":["missions/S5_Reynard.mis",["z_mappacks/CTF/S5maps.vl2"]],"missions/s5_sherman.mis":["missions/S5_Sherman.mis",["z_mappacks/CTF/S5maps.vl2"]],"missions/s5_silenus.mis":["missions/S5_Silenus.mis",["z_mappacks/CTF/S5maps.vl2"]],"missions/s5_silenuslt.mis":["missions/S5_SilenusLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/s5_woodymyrk.mis":["missions/S5_Woodymyrk.mis",["z_mappacks/CTF/S5maps.vl2"]],"missions/s8_cardiac.mis":["missions/S8_Cardiac.mis",["z_mappacks/CTF/S8maps.vl2"]],"missions/s8_centraldogma.mis":["missions/S8_CentralDogma.mis",["z_mappacks/CTF/S8maps.vl2"]],"missions/s8_geothermal.mis":["missions/S8_Geothermal.mis",["z_mappacks/CTF/S8maps.vl2"]],"missions/s8_geothermallak.mis":["missions/S8_GeothermalLak.mis",["z_mappacks/Lak/TacoStandMaps.vl2"]],"missions/s8_mountking.mis":["missions/S8_Mountking.mis",["z_mappacks/CTF/S8maps.vl2"]],"missions/s8_opus.mis":["missions/S8_Opus.mis",["z_mappacks/CTF/S8maps.vl2"]],"missions/s8_zilch.mis":["missions/S8_Zilch.mis",["z_mappacks/CTF/S8maps.vl2"]],"missions/s8_zilchlt.mis":["missions/S8_ZilchLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/saddieshill.mis":["missions/SaddiesHill.mis",["z_mappacks/Lak/TacoStandMaps.vl2"]],"missions/sanctuary.mis":["missions/Sanctuary.mis",["missions.vl2"]],"missions/sandocean.mis":["missions/SandOcean.mis",["z_mappacks/CTF/SandOcean.vl2"]],"missions/sandstorm.mis":["missions/Sandstorm.mis",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"missions/sandstormlak.mis":["missions/SandstormLak.mis",["z_mappacks/Lak/TacoStandMaps.vl2"]],"missions/sandyrunlt.mis":["missions/SandyRunLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/sangre_de_grado.mis":["missions/Sangre_de_Grado.mis",["z_mappacks/CTF/Sangre_de_Grado.vl2"]],"missions/sc_badlands.mis":["missions/SC_Badlands.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/sc_desert.mis":["missions/SC_Desert.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/sc_ice.mis":["missions/SC_Ice.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/sc_lush.mis":["missions/SC_Lush.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/sc_night.mis":["missions/SC_Night.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/sc_normal.mis":["missions/SC_Normal.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/scarabrae_nef.mis":["missions/Scarabrae_nef.mis",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"missions/sector1.mis":["missions/Sector1.mis",["z_mappacks/CTF/119Mappack.vl2"]],"missions/sentry.mis":["missions/Sentry.mis",["z_mappacks/CTF/Sentry.vl2"]],"missions/shockridge.mis":["missions/ShockRidge.mis",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"missions/shortfall.mis":["missions/Shortfall.mis",["z_mappacks/CTF/ShortFall.vl2"]],"missions/shrinearena.mis":["missions/ShrineArena.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/shrinearenaii.mis":["missions/ShrineArenaII.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/shrinedm.mis":["missions/ShrineDM.mis",["z_mappacks/DM/DMMaps.vl2"]],"missions/sidewinder.mis":["missions/SideWinder.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/signal.mis":["missions/Signal.mis",["z_mappacks/CTF/Signal.vl2"]],"missions/signaldx.mis":["missions/SignalDX.mis",["z_mappacks/CTF/SignalDX.vl2"]],"missions/signallt.mis":["missions/SignalLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/sirocco.mis":["missions/Sirocco.mis",["missions.vl2"]],"missions/skinnydip.mis":["missions/SkinnyDip.mis",["TR2final105-client.vl2"]],"missions/skinnydiplak.mis":["missions/SkinnyDipLak.mis",["z_mappacks/Lak/LakRabbit_Maps.vl2"]],"missions/slamnation.mis":["missions/Slamnation.mis",["z_mappacks/CTF/119Mappack.vl2"]],"missions/slapdash.mis":["missions/Slapdash.mis",["missions.vl2"]],"missions/slapdash_x2.mis":["missions/Slapdash_x2.mis",["z_mappacks/xPack2.vl2"]],"missions/slapdashminferno.mis":["missions/slapdashMInferno.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/slapdashmstorm.mis":["missions/slapdashMStorm.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/smallcrossing.mis":["missions/SmallCrossing.mis",["z_mappacks/CTF/SmallCrossing.vl2"]],"missions/smallcrossinglt.mis":["missions/SmallCrossingLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/smalldesertofdeath.mis":["missions/SmallDesertofDeath.mis",["z_mappacks/CTF/SmallDesertofDeath.vl2"]],"missions/smallmelee.mis":["missions/SmallMelee.mis",["z_mappacks/CTF/SmallMelee.vl2"]],"missions/smallspit.mis":["missions/SmallSpit.mis",["z_mappacks/CTF/SmallSpit.vl2"]],"missions/smallspitlt.mis":["missions/SmallSpitLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/smalltimectf.mis":["missions/SmallTimeCTF.mis",["z_mappacks/CTF/SmallTimeCTF.vl2"]],"missions/smalltimelt.mis":["missions/SmallTimeLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/smog_x2.mis":["missions/Smog_x2.mis",["z_mappacks/xPack2.vl2"]],"missions/smogarena.mis":["missions/SmogArena.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/snowblind_nef.mis":["missions/Snowblind_nef.mis",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"missions/snowbound.mis":["missions/SnowBound.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/snowcone.mis":["missions/Snowcone.mis",["z_mappacks/CTF/KryMapPack_b3EDIT.vl2"]],"missions/soccerland.mis":["missions/SoccerLand.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/solsdescent.mis":["missions/SolsDescent.mis",["TR2final105-client.vl2"]],"missions/solsdescentlak.mis":["missions/SolsDescentLak.mis",["z_mappacks/Lak/TacoStandMaps.vl2"]],"missions/soylentgreen.mis":["missions/SoylentGreen.mis",["z_mappacks/CTF/SoylentGreen.vl2"]],"missions/spacewalk.mis":["missions/Spacewalk.mis",["z_mappacks/CTF/Spacewalk.vl2"]],"missions/spectrelak.mis":["missions/SpectreLak.mis",["z_mappacks/Lak/TacoStandMaps.vl2"]],"missions/spyland.mis":["missions/SpyLand.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/starfallctf.mis":["missions/StarFallCTF.mis",["z_mappacks/CTF/StarFallCTF.vl2"]],"missions/starfallen.mis":["missions/Starfallen.mis",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"missions/starice.mis":["missions/StarIce.mis",["z_mappacks/CTF/Surro_StarIce_NatureMagic.vl2"]],"missions/stonehenge_arena.mis":["missions/Stonehenge_Arena.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/stonehenge_nef.mis":["missions/Stonehenge_nef.mis",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"missions/stormsrage.mis":["missions/stormsrage.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/stripmine_x2.mis":["missions/Stripmine_x2.mis",["z_mappacks/xPack2.vl2"]],"missions/subzero.mis":["missions/SubZero.mis",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"missions/subzerov.mis":["missions/SubzeroV.mis",["z_mappacks/CTF/TitanV-SubZeroV.vl2"]],"missions/sulfide.mis":["missions/Sulfide.mis",["z_mappacks/Lak/TacoStandMaps.vl2"]],"missions/sundance.mis":["missions/Sundance.mis",["z_mappacks/Lak/TacoStandMaps.vl2"]],"missions/sundried.mis":["missions/SunDried.mis",["missions.vl2"]],"missions/sundriedlak.mis":["missions/SunDriedLak.mis",["z_mappacks/Lak/TacoStandMaps.vl2"]],"missions/superhappybouncyfuntime.mis":["missions/SuperHappyBouncyFunTime.mis",["z_mappacks/CTF/SuperHappyBouncyFunTime.vl2"]],"missions/superiorwaterworks.mis":["missions/SuperiorWaterworks.mis",["z_mappacks/CTF/SuperiorWaterworks.vl2"]],"missions/surreal.mis":["missions/Surreal.mis",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"missions/surreallt.mis":["missions/SurrealLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/surro.mis":["missions/Surro.mis",["z_mappacks/CTF/Surro_StarIce_NatureMagic.vl2"]],"missions/talus.mis":["missions/Talus.mis",["missions.vl2"]],"missions/templetussleversion2.mis":["missions/TempleTussleVersion2.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/tenebrous.mis":["missions/Tenebrous.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/tenebrousctf.mis":["missions/TenebrousCTF.mis",["z_mappacks/CTF/KryMapPack_b3EDIT.vl2"]],"missions/the_calm.mis":["missions/The_Calm.mis",["z_mappacks/CTF/The_Calm.vl2"]],"missions/theclocktower.mis":["missions/TheClocktower.mis",["z_mappacks/CTF/TheClocktower.vl2"]],"missions/thefray.mis":["missions/TheFray.mis",["z_mappacks/CTF/KryMapPack_b3EDIT.vl2"]],"missions/thinice.mis":["missions/ThinIce.mis",["missions.vl2"]],"missions/thundergiant_x2.mis":["missions/ThunderGiant_x2.mis",["z_mappacks/xPack2.vl2"]],"missions/tibbawlak.mis":["missions/TibbawLak.mis",["z_mappacks/Lak/TacoStandMaps.vl2"]],"missions/titan.mis":["missions/Titan.mis",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"missions/titanialak.mis":["missions/TitaniaLak.mis",["z_mappacks/Lak/TacoStandMaps.vl2"]],"missions/titanv.mis":["missions/TitanV.mis",["z_mappacks/CTF/TitanV-SubZeroV.vl2"]],"missions/titfortat.mis":["missions/TitForTat.mis",["z_mappacks/CTF/TitForTat.vl2"]],"missions/tombstone.mis":["missions/Tombstone.mis",["missions.vl2"]],"missions/tombstone_x2.mis":["missions/Tombstone_x2.mis",["z_mappacks/xPack2.vl2"]],"missions/training1.mis":["missions/Training1.mis",["missions.vl2"]],"missions/training2.mis":["missions/Training2.mis",["missions.vl2"]],"missions/training3.mis":["missions/Training3.mis",["missions.vl2"]],"missions/training4.mis":["missions/Training4.mis",["missions.vl2"]],"missions/training5.mis":["missions/Training5.mis",["missions.vl2"]],"missions/treasureisland.mis":["missions/TreasureIsland.mis",["TR2final105-client.vl2"]],"missions/treasureislandlak.mis":["missions/TreasureIslandLak.mis",["z_mappacks/Lak/TacoStandMaps.vl2"]],"missions/triad.mis":["missions/Triad.mis",["z_mappacks/CTF/Triad.vl2"]],"missions/trident.mis":["missions/Trident.mis",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"missions/truegrit.mis":["missions/TrueGrit.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/tst_spheremap.mis":["missions/TST_SphereMap.mis",["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/tusklt.mis":["missions/TuskLT.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/twilightgrovelt.mis":["missions/TwilightGroveLT.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/twindrakes.mis":["missions/twinDrakes.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/twintorrentsccw.mis":["missions/TwinTorrentsCCW.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/twintorrentscw.mis":["missions/TwinTorrentsCW.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/twl2_bleed.mis":["missions/TWL2_Bleed.mis",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"missions/twl2_bluemoon.mis":["missions/TWL2_BlueMoon.mis",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"missions/twl2_canyoncrusadedeluxe.mis":["missions/TWL2_CanyonCrusadeDeluxe.mis",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"missions/twl2_canyoncrusadedeluxelt.mis":["missions/TWL2_CanyonCrusadeDeluxeLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/twl2_celerity.mis":["missions/TWL2_Celerity.mis",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"missions/twl2_celeritylt.mis":["missions/TWL2_CelerityLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/twl2_cloakofnight.mis":["missions/TWL2_CloakOfNight.mis",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"missions/twl2_crevice.mis":["missions/TWL2_Crevice.mis",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"missions/twl2_dissention.mis":["missions/TWL2_Dissention.mis",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"missions/twl2_drifts.mis":["missions/TWL2_Drifts.mis",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"missions/twl2_drorck.mis":["missions/TWL2_Drorck.mis",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"missions/twl2_frozenglory.mis":["missions/TWL2_FrozenGlory.mis",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"missions/twl2_frozenhope.mis":["missions/TWL2_FrozenHope.mis",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"missions/twl2_hildebrand.mis":["missions/TWL2_Hildebrand.mis",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"missions/twl2_hildebrandlt.mis":["missions/TWL2_HildebrandLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/twl2_icedagger.mis":["missions/TWL2_IceDagger.mis",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"missions/twl2_jaggedclaw.mis":["missions/TWL2_JaggedClaw.mis",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"missions/twl2_jaggedclawlt.mis":["missions/TWL2_JaggedClawLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/twl2_magnum.mis":["missions/TWL2_Magnum.mis",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"missions/twl2_midnightmayhemdeluxe.mis":["missions/TWL2_MidnightMayhemDeluxe.mis",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"missions/twl2_muddyswamp.mis":["missions/TWL2_MuddySwamp.mis",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"missions/twl2_muddyswamplak.mis":["missions/TWL2_MuddySwampLak.mis",["z_mappacks/Lak/TacoStandMaps.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"missions/twl2_norty.mis":["missions/TWL2_Norty.mis",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"missions/twl2_ocular.mis":["missions/TWL2_Ocular.mis",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"missions/twl2_roughland.mis":["missions/TWL2_RoughLand.mis",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"missions/twl2_ruined.mis":["missions/TWL2_Ruined.mis",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"missions/twl2_skylight.mis":["missions/TWL2_Skylight.mis",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"missions/twl2_skylightlt.mis":["missions/TWL2_SkylightLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/twl2_woodymyrk.mis":["missions/TWL2_WoodyMyrk.mis",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"missions/twl_abaddon.mis":["missions/TWL_Abaddon.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_banshee.mis":["missions/TWL_BaNsHee.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_beachblitz.mis":["missions/TWL_BeachBlitz.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_beachblitzlak.mis":["missions/TWL_BeachBlitzLak.mis",["z_mappacks/Lak/TacoStandMaps.vl2"]],"missions/twl_beachblitzlt.mis":["missions/TWL_BeachBlitzLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/twl_beachblitzm.mis":["missions/TWL_BeachBlitzM.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/twl_beachblitzmlt.mis":["missions/TWL_BeachBlitzMLT.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/twl_beggarsrun.mis":["missions/TWL_BeggarsRun.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_bluemoon.mis":["missions/TWL_BlueMoon.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_boss.mis":["missions/TWL_Boss.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_celerity.mis":["missions/TWL_Celerity.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_chokepoint.mis":["missions/TWL_Chokepoint.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_cinereous.mis":["missions/TWL_Cinereous.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_clusterfuct.mis":["missions/TWL_Clusterfuct.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_crossfire.mis":["missions/TWL_Crossfire.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_curtilage.mis":["missions/TWL_Curtilage.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_damnation.mis":["missions/TWL_Damnation.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_dangerouscrossing.mis":["missions/TWL_DangerousCrossing.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_deadlybirdssong.mis":["missions/TWL_DeadlyBirdsSong.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_deserted.mis":["missions/TWL_Deserted.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_drifts.mis":["missions/TWL_Drifts.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_feign.mis":["missions/TWL_Feign.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_feignlt.mis":["missions/TWL_FeignLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/twl_frostclaw.mis":["missions/TWL_Frostclaw.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_frozen.mis":["missions/TWL_Frozen.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_harvester.mis":["missions/TWL_Harvester.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_horde.mis":["missions/TWL_Horde.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_katabatic.mis":["missions/TWL_Katabatic.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_magmatic.mis":["missions/TWL_Magmatic.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_minotaur.mis":["missions/TWL_Minotaur.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_neve.mis":["missions/TWL_Neve.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_noshelter.mis":["missions/TWL_NoShelter.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_osiris.mis":["missions/TWL_OsIris.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_pandemonium.mis":["missions/TWL_Pandemonium.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_quagmire.mis":["missions/TWL_Quagmire.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_raindance.mis":["missions/TWL_Raindance.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_ramparts.mis":["missions/TWL_Ramparts.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_reversion.mis":["missions/TWL_Reversion.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_rollercoaster.mis":["missions/TWL_Rollercoaster.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_rollercoasterlt.mis":["missions/TWL_RollercoasterLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/twl_runenmacht.mis":["missions/TWL_Runenmacht.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_sandstorm.mis":["missions/TWL_Sandstorm.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_slapdash.mis":["missions/TWL_Slapdash.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_snowblind.mis":["missions/TWL_Snowblind.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_starfallen.mis":["missions/TWL_Starfallen.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_stonehenge.mis":["missions/TWL_Stonehenge.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_stonehengelt.mis":["missions/TWL_StonehengeLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/twl_subzero.mis":["missions/TWL_SubZero.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_surreal.mis":["missions/TWL_Surreal.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_titan.mis":["missions/TWL_Titan.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_whitedwarf.mis":["missions/TWL_WhiteDwarf.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_wilderzone.mis":["missions/TWL_WilderZone.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_wilderzonelt.mis":["missions/TWL_WilderZoneLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/twl_woodymyrk.mis":["missions/TWL_WoodyMyrk.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/two_towers.mis":["missions/Two_Towers.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/ultimathule.mis":["missions/UltimaThule.mis",["missions.vl2"]],"missions/underhill.mis":["missions/Underhill.mis",["missions.vl2"]],"missions/upordown.mis":["missions/UporDown.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/vandamnedctf.mis":["missions/VanDamnedCTF.mis",["z_mappacks/CTF/VanDamnedCTF.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/vandamnedlt.mis":["missions/VanDamnedLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/vauban.mis":["missions/Vauban.mis",["z_mappacks/CTF/Vauban.vl2"]],"missions/vaubania.mis":["missions/Vaubania.mis",["z_mappacks/CTF/Vaubania.vl2"]],"missions/vaubanlak.mis":["missions/VaubanLak.mis",["z_mappacks/Lak/TacoStandMaps.vl2"]],"missions/vulcanswrathdm.mis":["missions/VulcansWrathDM.mis",["z_mappacks/DM/DMMaps.vl2"]],"missions/walledin.mis":["missions/WalledIn.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/walledinii.mis":["missions/WalledInII.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/wasteland_x2.mis":["missions/Wasteland_x2.mis",["z_mappacks/xPack2.vl2"]],"missions/whitedwarf.mis":["missions/WhiteDwarf.mis",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"missions/whitedwarfdeluxe.mis":["missions/WhiteDwarfDeluxe.mis",["z_mappacks/CTF/WhiteDwarfDeluxe.vl2"]],"missions/whitedwarfdeluxelt.mis":["missions/WhiteDwarfDeluxeLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/whiteout.mis":["missions/Whiteout.mis",["missions.vl2"]],"missions/windygap.mis":["missions/WindyGap.mis",["z_mappacks/CTF/WindyGap.vl2"]],"missions/woe.mis":["missions/woe.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/wonderland.mis":["missions/WonderLand.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/woodymyrk_x2.mis":["missions/WoodyMyrk_x2.mis",["z_mappacks/xPack2.vl2"]],"missions/wrongside.mis":["missions/Wrongside.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/yubarena.mis":["missions/Yubarena.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/zilch.mis":["missions/Zilch.mis",["z_mappacks/CTF/Zilch.vl2"]],"music/badlands.mp3":["music/badlands.mp3",[""]],"music/desert.mp3":["music/desert.mp3",[""]],"music/ice.mp3":["music/ice.mp3",[""]],"music/lush.mp3":["music/lush.mp3",[""]],"music/volcanic.mp3":["music/volcanic.mp3",[""]],"readme.md":["README.md",["z_mappacks/z_DMP2-V0.6.vl2"]],"scripts/admin.cs":["scripts/admin.cs",["scripts.vl2"]],"scripts/ai.cs":["scripts/ai.cs",["scripts.vl2"]],"scripts/aibotprofiles.cs":["scripts/aiBotProfiles.cs",["scripts.vl2"]],"scripts/aibountygame.cs":["scripts/aiBountyGame.cs",["scripts.vl2"]],"scripts/aichat.cs":["scripts/aiChat.cs",["scripts.vl2"]],"scripts/aicnh.cs":["scripts/aiCnH.cs",["scripts.vl2"]],"scripts/aictf.cs":["scripts/aiCTF.cs",["scripts.vl2"]],"scripts/aideathmatch.cs":["scripts/aiDeathMatch.cs",["scripts.vl2"]],"scripts/aidebug.cs":["scripts/aiDebug.cs",["scripts.vl2"]],"scripts/aidefaulttasks.cs":["scripts/aiDefaultTasks.cs",["scripts.vl2"]],"scripts/aidnd.cs":["scripts/aiDnD.cs",["scripts.vl2"]],"scripts/aihumantasks.cs":["scripts/aiHumanTasks.cs",["scripts.vl2"]],"scripts/aihunters.cs":["scripts/aiHunters.cs",["scripts.vl2"]],"scripts/aiinventory.cs":["scripts/aiInventory.cs",["scripts.vl2"]],"scripts/aiobjectivebuilder.cs":["scripts/aiObjectiveBuilder.cs",["scripts.vl2"]],"scripts/aiobjectives.cs":["scripts/aiObjectives.cs",["scripts.vl2"]],"scripts/airabbit.cs":["scripts/aiRabbit.cs",["scripts.vl2"]],"scripts/aisiege.cs":["scripts/aiSiege.cs",["scripts.vl2"]],"scripts/aitdm.cs":["scripts/aiTDM.cs",["z_mappacks/z_DMP2-V0.6.vl2"]],"scripts/aiteamhunters.cs":["scripts/aiTeamHunters.cs",["scripts.vl2"]],"scripts/autoexec/adminhud.cs":["scripts/autoexec/adminHud.cs",[""],["zz_Classic_client_v1.vl2"]],"scripts/autoexec/allowbotskin.cs":["scripts/autoexec/AllowBotSkin.cs",[""]],"scripts/autoexec/arenasupport.cs":["scripts/autoexec/arenaSupport.cs",["z_scripts/everything_else/arenaSupport.vl2"]],"scripts/autoexec/autoload_launcher.cs":["scripts/autoexec/autoload_launcher.cs",["z_scripts/support.vl2"]],"scripts/autoexec/chatmenuhudclear.cs":["scripts/autoexec/chatmenuHudClear.cs",[""]],"scripts/autoexec/classicpropmap.cs":["scripts/autoexec/classicPropMap.cs",["zz_Classic_client_v1.vl2"]],"scripts/autoexec/clientoverloads.cs":["scripts/autoexec/clientOverloads.cs",["zz_Classic_client_v1.vl2"]],"scripts/autoexec/dmp2versioncheck.cs":["scripts/autoexec/dmp2VersionCheck.cs",["z_mappacks/z_DMP2-V0.6.vl2"]],"scripts/autoexec/invincibleinv.cs":["scripts/autoexec/InvincibleInv.cs",["z_mappacks/zDMP-4.7.3DX.vl2"]],"scripts/autoexec/lakrabbitobjhud.cs":["scripts/autoexec/LakRabbitObjHud.cs",["z_scripts/everything_else/LakRabbit_Client.vl2"]],"scripts/autoexec/mapsupport.cs":["scripts/autoexec/mapSupport.cs",["z_mappacks/CTF/copper-sky.vl2"]],"scripts/autoexec/modhud.cs":["scripts/autoexec/modHud.cs",[""],["zz_Classic_client_v1.vl2"]],"scripts/autoexec/multiinterpolate.cs":["scripts/autoexec/multiInterpolate.cs",["multiInterpolate.vl2"]],"scripts/autoexec/nochaterror.cs":["scripts/autoexec/noChatError.cs",["noChatError.vl2"]],"scripts/autoexec/practicehud.cs":["scripts/autoexec/practiceHud.cs",["zz_Classic_client_v1.vl2"]],"scripts/autoexec/registershapes.cs":["scripts/autoexec/RegisterShapes.cs",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"scripts/autoexec/statushud.cs":["scripts/autoexec/statushud.cs",[""]],"scripts/autoexec/t1vehselect.cs":["scripts/autoexec/t1VehSelect.cs",["z_mappacks/z_DMP2-V0.6.vl2"]],"scripts/autoexec/vehiclerespawnfix.cs":["scripts/autoexec/vehicleRespawnFix.cs",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"scripts/autoexec/vmenufix.cs":["scripts/autoexec/vMenuFix.cs",[""]],"scripts/badlandspropmap.cs":["scripts/badlandsPropMap.cs",["scripts.vl2"]],"scripts/bioderm_heavy.cs":["scripts/bioderm_heavy.cs",["scripts.vl2"]],"scripts/bioderm_light.cs":["scripts/bioderm_light.cs",["scripts.vl2"]],"scripts/bioderm_medium.cs":["scripts/bioderm_medium.cs",["scripts.vl2"]],"scripts/bountygame.cs":["scripts/BountyGame.cs",["scripts.vl2"]],"scripts/camera.cs":["scripts/camera.cs",["scripts.vl2"]],"scripts/cannedchatitems.cs":["scripts/cannedChatItems.cs",["scripts.vl2"]],"scripts/centerprint.cs":["scripts/CenterPrint.cs",["scripts.vl2"]],"scripts/chatgui.cs":["scripts/ChatGui.cs",["scripts.vl2"]],"scripts/chatmenuhud.cs":["scripts/chatMenuHud.cs",["scripts.vl2"]],"scripts/choosefilterdlg.cs":["scripts/ChooseFilterDlg.cs",["scripts.vl2"]],"scripts/client.cs":["scripts/client.cs",["scripts.vl2"]],"scripts/clientaudio.cs":["scripts/clientAudio.cs",["scripts.vl2"]],"scripts/clientdefaults.cs":["scripts/clientDefaults.cs",["scripts.vl2"]],"scripts/clienttasks.cs":["scripts/clientTasks.cs",["scripts.vl2"]],"scripts/cnhgame.cs":["scripts/CnHGame.cs",["scripts.vl2"]],"scripts/commandermap.cs":["scripts/commanderMap.cs",["scripts.vl2"]],"scripts/commandermaphelptext.cs":["scripts/commanderMapHelpText.cs",["scripts.vl2"]],"scripts/commandermapicons.cs":["scripts/commanderMapIcons.cs",["scripts.vl2"]],"scripts/commanderprofiles.cs":["scripts/commanderProfiles.cs",["scripts.vl2"]],"scripts/commondialogs.cs":["scripts/commonDialogs.cs",["scripts.vl2"]],"scripts/controldefaults.cs":["scripts/controlDefaults.cs",["scripts.vl2"]],"scripts/coppersky/ai.cs":["scripts/coppersky/ai.cs",["z_mappacks/CTF/copper-sky.vl2"]],"scripts/coppersky/aichat.cs":["scripts/coppersky/aiChat.cs",["z_mappacks/CTF/copper-sky.vl2"]],"scripts/coppersky/aidefaulttasks.cs":["scripts/coppersky/aiDefaultTasks.cs",["z_mappacks/CTF/copper-sky.vl2"]],"scripts/coppersky/aiinventory.cs":["scripts/coppersky/aiInventory.cs",["z_mappacks/CTF/copper-sky.vl2"]],"scripts/coppersky/ainewobjectives.cs":["scripts/coppersky/aiNewObjectives.cs",["z_mappacks/CTF/copper-sky.vl2"]],"scripts/coppersky/aiobjectives.cs":["scripts/coppersky/aiObjectives.cs",["z_mappacks/CTF/copper-sky.vl2"]],"scripts/coppersky/aioverloads.cs":["scripts/coppersky/aiOverloads.cs",["z_mappacks/CTF/copper-sky.vl2"]],"scripts/coppersky/aivehicle.cs":["scripts/coppersky/aiVehicle.cs",["z_mappacks/CTF/copper-sky.vl2"]],"scripts/coppersky/servertasks.cs":["scripts/coppersky/serverTasks.cs",["z_mappacks/CTF/copper-sky.vl2"]],"scripts/creativitygame.cs":["scripts/CreativityGame.cs",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"scripts/creditsgui.cs":["scripts/creditsGui.cs",["scripts.vl2"]],"scripts/creditstext.cs":["scripts/creditsText.cs",["scripts.vl2"]],"scripts/ctfgame.cs":["scripts/CTFGame.cs",["scripts.vl2"]],"scripts/cursors.cs":["scripts/cursors.cs",["scripts.vl2"]],"scripts/damagetypes.cs":["scripts/damageTypes.cs",["scripts.vl2"]],"scripts/deathmessages.cs":["scripts/deathMessages.cs",["scripts.vl2"]],"scripts/debriefgui.cs":["scripts/DebriefGui.cs",["scripts.vl2"]],"scripts/debuggergui.cs":["scripts/debuggerGui.cs",["scripts.vl2"]],"scripts/defaultgame.cs":["scripts/defaultGame.cs",["scripts.vl2"]],"scripts/defaultturretsgame.cs":["scripts/DefaultTurretsGame.cs",["z_mappacks/zDMP-4.7.3DX.vl2"]],"scripts/demoendgui.cs":["scripts/DemoEndGui.cs",["scripts.vl2"]],"scripts/deployables.cs":["scripts/deployables.cs",["scripts.vl2"]],"scripts/depthsort.cs":["scripts/depthSort.cs",["scripts.vl2"]],"scripts/desertpropmap.cs":["scripts/desertPropMap.cs",["scripts.vl2"]],"scripts/dmgame.cs":["scripts/DMGame.cs",["scripts.vl2"]],"scripts/dndgame.cs":["scripts/DnDGame.cs",["scripts.vl2"]],"scripts/editchatmenugui.cs":["scripts/EditChatMenuGui.cs",["scripts.vl2"]],"scripts/editor.bind.cs":["scripts/editor.bind.cs",["scripts.vl2"]],"scripts/editor.cs":["scripts/editor.cs",["scripts.vl2"]],"scripts/editorgui.cs":["scripts/EditorGui.cs",["scripts.vl2"]],"scripts/editorprofiles.cs":["scripts/EditorProfiles.cs",["scripts.vl2"]],"scripts/editorrender.cs":["scripts/editorRender.cs",["scripts.vl2"]],"scripts/environmentals.cs":["scripts/environmentals.cs",["scripts.vl2"]],"scripts/forcefield.cs":["scripts/forceField.cs",["scripts.vl2"]],"scripts/gamebase.cs":["scripts/gameBase.cs",["scripts.vl2"]],"scripts/gamecanvas.cs":["scripts/gameCanvas.cs",["scripts.vl2"]],"scripts/gamegui.cs":["scripts/GameGui.cs",["scripts.vl2"]],"scripts/graphbuild.cs":["scripts/graphBuild.cs",["scripts.vl2"]],"scripts/heavy_male.cs":["scripts/heavy_male.cs",["scripts.vl2"]],"scripts/help.cs":["scripts/help.cs",["scripts.vl2"]],"scripts/helpguitext.cs":["scripts/helpGuiText.cs",["scripts.vl2"]],"scripts/hothffsgame.cs":["scripts/HothFFsGame.cs",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"scripts/hud.cs":["scripts/hud.cs",["scripts.vl2"]],"scripts/huntersgame.cs":["scripts/HuntersGame.cs",["scripts.vl2"]],"scripts/icepropmap.cs":["scripts/icePropMap.cs",["scripts.vl2"]],"scripts/inventory.cs":["scripts/inventory.cs",["scripts.vl2"]],"scripts/inventoryhud.cs":["scripts/inventoryHud.cs",["scripts.vl2"]],"scripts/item.cs":["scripts/item.cs",["scripts.vl2"]],"scripts/joystickbind.cs":["scripts/joystickBind.cs",["scripts.vl2"]],"scripts/launchlangui.cs":["scripts/LaunchLanGui.cs",["scripts.vl2"]],"scripts/lavapropmap.cs":["scripts/lavaPropMap.cs",["scripts.vl2"]],"scripts/light_female.cs":["scripts/light_female.cs",["scripts.vl2"]],"scripts/light_male.cs":["scripts/light_male.cs",["scripts.vl2"]],"scripts/lightning.cs":["scripts/lightning.cs",["scripts.vl2"]],"scripts/liquidprofiles.cs":["scripts/liquidProfiles.cs",["scripts.vl2"]],"scripts/loadinggui.cs":["scripts/loadingGui.cs",["scripts.vl2"]],"scripts/lobbygui.cs":["scripts/LobbyGui.cs",["scripts.vl2"]],"scripts/lushpropmap.cs":["scripts/lushPropMap.cs",["scripts.vl2"]],"scripts/mapgame.cs":["scripts/mapGame.cs",["z_mappacks/CTF/copper-sky.vl2"]],"scripts/markers.cs":["scripts/markers.cs",["scripts.vl2"]],"scripts/medium_female.cs":["scripts/medium_female.cs",["scripts.vl2"]],"scripts/medium_male.cs":["scripts/medium_male.cs",["scripts.vl2"]],"scripts/message.cs":["scripts/message.cs",["scripts.vl2"]],"scripts/navgraph.cs":["scripts/navGraph.cs",["scripts.vl2"]],"scripts/objectivehud.cs":["scripts/objectiveHud.cs",["scripts.vl2"]],"scripts/optionsdlg.cs":["scripts/OptionsDlg.cs",["scripts.vl2"]],"scripts/pack.cs":["scripts/pack.cs",["scripts.vl2"]],"scripts/packs/aabarrelpack.cs":["scripts/packs/aabarrelPack.cs",["scripts.vl2"]],"scripts/packs/ammopack.cs":["scripts/packs/ammopack.cs",["scripts.vl2"]],"scripts/packs/cloakingpack.cs":["scripts/packs/cloakingpack.cs",["scripts.vl2"]],"scripts/packs/elfbarrelpack.cs":["scripts/packs/ELFbarrelPack.cs",["scripts.vl2"]],"scripts/packs/energypack.cs":["scripts/packs/energypack.cs",["scripts.vl2"]],"scripts/packs/missilebarrelpack.cs":["scripts/packs/missilebarrelPack.cs",["scripts.vl2"]],"scripts/packs/mortarbarrelpack.cs":["scripts/packs/mortarBarrelPack.cs",["scripts.vl2"]],"scripts/packs/plasmabarrelpack.cs":["scripts/packs/plasmabarrelPack.cs",["scripts.vl2"]],"scripts/packs/repairpack.cs":["scripts/packs/repairpack.cs",["scripts.vl2"]],"scripts/packs/satchelcharge.cs":["scripts/packs/satchelCharge.cs",["scripts.vl2"]],"scripts/packs/sensorjammerpack.cs":["scripts/packs/sensorjammerpack.cs",["scripts.vl2"]],"scripts/packs/shieldpack.cs":["scripts/packs/shieldpack.cs",["scripts.vl2"]],"scripts/packs/tr2energypack.cs":["scripts/packs/TR2energypack.cs",["TR2final105-server.vl2"]],"scripts/pantherxl.cs":["scripts/PantherXL.cs",["scripts.vl2"]],"scripts/particledummies.cs":["scripts/particleDummies.cs",["scripts.vl2"]],"scripts/particleemitter.cs":["scripts/particleEmitter.cs",["scripts.vl2"]],"scripts/pathedit.cs":["scripts/PathEdit.cs",["scripts.vl2"]],"scripts/player.cs":["scripts/player.cs",["scripts.vl2"]],"scripts/power.cs":["scripts/power.cs",["scripts.vl2"]],"scripts/projectiles.cs":["scripts/projectiles.cs",["scripts.vl2"]],"scripts/rabbitgame.cs":["scripts/RabbitGame.cs",["scripts.vl2"]],"scripts/recordings.cs":["scripts/recordings.cs",["scripts.vl2"]],"scripts/redbook.cs":["scripts/redbook.cs",["scripts.vl2"]],"scripts/scorelist.cs":["scripts/scoreList.cs",["scripts.vl2"]],"scripts/scorescreen.cs":["scripts/scoreScreen.cs",["scripts.vl2"]],"scripts/server.cs":["scripts/server.cs",["scripts.vl2"]],"scripts/serveraudio.cs":["scripts/serverAudio.cs",["scripts.vl2"]],"scripts/servercommandermap.cs":["scripts/serverCommanderMap.cs",["scripts.vl2"]],"scripts/serverdefaults.cs":["scripts/serverDefaults.cs",["scripts.vl2"]],"scripts/servertasks.cs":["scripts/serverTasks.cs",["scripts.vl2"]],"scripts/siegegame.cs":["scripts/SiegeGame.cs",["scripts.vl2"]],"scripts/simgroup.cs":["scripts/simGroup.cs",["scripts.vl2"]],"scripts/singleplayergame.cs":["scripts/SinglePlayerGame.cs",["scripts.vl2"]],"scripts/spdialog.cs":["scripts/spdialog.cs",["scripts.vl2"]],"scripts/staticshape.cs":["scripts/staticShape.cs",["scripts.vl2"]],"scripts/station.cs":["scripts/station.cs",["scripts.vl2"]],"scripts/stationsetinv.cs":["scripts/stationSetInv.cs",["scripts.vl2"]],"scripts/superhappybouncyfuntime.cs":["scripts/SuperHappyBouncyFunTime.cs",["z_mappacks/CTF/SuperHappyBouncyFunTime.vl2"]],"scripts/targetmanager.cs":["scripts/targetManager.cs",["scripts.vl2"]],"scripts/tdmgame.cs":["scripts/TDMGame.cs",["z_mappacks/z_DMP2-V0.6.vl2"]],"scripts/teamhuntersgame.cs":["scripts/TeamHuntersGame.cs",["scripts.vl2"]],"scripts/teleportgame.cs":["scripts/TeleportGame.cs",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"scripts/tr2bonuscategories.cs":["scripts/TR2BonusCategories.cs",["TR2final105-server.vl2"]],"scripts/tr2bonuses.cs":["scripts/TR2Bonuses.cs",["TR2final105-server.vl2"]],"scripts/tr2bonushud.cs":["scripts/TR2BonusHud.cs",["TR2final105-client.vl2"]],"scripts/tr2bonussounds.cs":["scripts/TR2BonusSounds.cs",["TR2final105-server.vl2"]],"scripts/tr2descriptions.cs":["scripts/TR2Descriptions.cs",["TR2final105-server.vl2"]],"scripts/tr2eventhud.cs":["scripts/TR2EventHud.cs",["TR2final105-client.vl2"]],"scripts/tr2flagtoss.cs":["scripts/TR2FlagToss.cs",["TR2final105-client.vl2"]],"scripts/tr2game.cs":["scripts/TR2Game.cs",["TR2final105-server.vl2"]],"scripts/tr2heavy_male.cs":["scripts/TR2heavy_male.cs",["TR2final105-server.vl2"]],"scripts/tr2items.cs":["scripts/TR2Items.cs",["TR2final105-server.vl2"]],"scripts/tr2light_female.cs":["scripts/TR2light_female.cs",["TR2final105-server.vl2"]],"scripts/tr2light_male.cs":["scripts/TR2light_male.cs",["TR2final105-server.vl2"]],"scripts/tr2medium_female.cs":["scripts/TR2medium_female.cs",["TR2final105-server.vl2"]],"scripts/tr2medium_male.cs":["scripts/TR2medium_male.cs",["TR2final105-server.vl2"]],"scripts/tr2nouns.cs":["scripts/TR2Nouns.cs",["TR2final105-server.vl2"]],"scripts/tr2observerqueue.cs":["scripts/TR2ObserverQueue.cs",["TR2final105-server.vl2"]],"scripts/tr2otherbonuses.cs":["scripts/TR2OtherBonuses.cs",["TR2final105-server.vl2"]],"scripts/tr2packages.cs":["scripts/TR2Packages.cs",["TR2final105-server.vl2"]],"scripts/tr2particles.cs":["scripts/TR2Particles.cs",["TR2final105-server.vl2"]],"scripts/tr2penalties.cs":["scripts/TR2Penalties.cs",["TR2final105-server.vl2"]],"scripts/tr2physics.cs":["scripts/TR2Physics.cs",["TR2final105-server.vl2"]],"scripts/tr2prefixes.cs":["scripts/TR2Prefixes.cs",["TR2final105-server.vl2"]],"scripts/tr2qualifiers.cs":["scripts/TR2Qualifiers.cs",["TR2final105-server.vl2"]],"scripts/tr2roles.cs":["scripts/TR2Roles.cs",["TR2final105-server.vl2"]],"scripts/tr2weaponbonuses.cs":["scripts/TR2WeaponBonuses.cs",["TR2final105-server.vl2"]],"scripts/training1.cs":["scripts/Training1.cs",["scripts.vl2"]],"scripts/training2.cs":["scripts/Training2.cs",["scripts.vl2"]],"scripts/training3.cs":["scripts/Training3.cs",["scripts.vl2"]],"scripts/training4.cs":["scripts/Training4.cs",["scripts.vl2"]],"scripts/training5.cs":["scripts/Training5.cs",["scripts.vl2"]],"scripts/traininggui.cs":["scripts/TrainingGui.cs",["scripts.vl2"]],"scripts/trigger.cs":["scripts/trigger.cs",["scripts.vl2"]],"scripts/turret.cs":["scripts/turret.cs",["scripts.vl2"]],"scripts/turrets/aabarrellarge.cs":["scripts/turrets/aaBarrelLarge.cs",["scripts.vl2"]],"scripts/turrets/elfbarrellarge.cs":["scripts/turrets/ELFBarrelLarge.cs",["scripts.vl2"]],"scripts/turrets/indoordeployablebarrel.cs":["scripts/turrets/indoorDeployableBarrel.cs",["scripts.vl2"]],"scripts/turrets/missilebarrellarge.cs":["scripts/turrets/missileBarrelLarge.cs",["scripts.vl2"]],"scripts/turrets/mortarbarrellarge.cs":["scripts/turrets/mortarBarrelLarge.cs",["scripts.vl2"]],"scripts/turrets/outdoordeployablebarrel.cs":["scripts/turrets/outdoorDeployableBarrel.cs",["scripts.vl2"]],"scripts/turrets/plasmabarrellarge.cs":["scripts/turrets/plasmaBarrelLarge.cs",["scripts.vl2"]],"scripts/turrets/sentryturret.cs":["scripts/turrets/sentryTurret.cs",["scripts.vl2"]],"scripts/turretslist.cs":["scripts/turretslist.cs",["multiInterpolate.vl2"]],"scripts/vehicles/clientvehiclehud.cs":["scripts/vehicles/clientVehicleHud.cs",["scripts.vl2"]],"scripts/vehicles/servervehiclehud.cs":["scripts/vehicles/serverVehicleHud.cs",["scripts.vl2"]],"scripts/vehicles/vehicle.cs":["scripts/vehicles/vehicle.cs",["scripts.vl2"]],"scripts/vehicles/vehicle_bomber.cs":["scripts/vehicles/vehicle_bomber.cs",["scripts.vl2"]],"scripts/vehicles/vehicle_havoc.cs":["scripts/vehicles/vehicle_havoc.cs",["scripts.vl2"]],"scripts/vehicles/vehicle_mpb.cs":["scripts/vehicles/vehicle_mpb.cs",["scripts.vl2"]],"scripts/vehicles/vehicle_shrike.cs":["scripts/vehicles/vehicle_shrike.cs",["scripts.vl2"]],"scripts/vehicles/vehicle_spec_fx.cs":["scripts/vehicles/vehicle_spec_fx.cs",["scripts.vl2"]],"scripts/vehicles/vehicle_tank.cs":["scripts/vehicles/vehicle_tank.cs",["scripts.vl2"]],"scripts/vehicles/vehicle_wildcat.cs":["scripts/vehicles/vehicle_wildcat.cs",["scripts.vl2"]],"scripts/vehicleslist.cs":["scripts/vehicleslist.cs",["multiInterpolate.vl2"]],"scripts/voicebinds.cs":["scripts/voiceBinds.cs",["scripts.vl2"]],"scripts/voicechat.cs":["scripts/voiceChat.cs",["scripts.vl2"]],"scripts/waveprofiles.cs":["scripts/waveProfiles.cs",["scripts.vl2"]],"scripts/weapons.cs":["scripts/weapons.cs",["scripts.vl2"]],"scripts/weapons/blaster.cs":["scripts/weapons/blaster.cs",["scripts.vl2"]],"scripts/weapons/cameragrenade.cs":["scripts/weapons/cameraGrenade.cs",["scripts.vl2"]],"scripts/weapons/chaingun.cs":["scripts/weapons/chaingun.cs",["scripts.vl2"]],"scripts/weapons/concussiongrenade.cs":["scripts/weapons/concussionGrenade.cs",["scripts.vl2"]],"scripts/weapons/disc.cs":["scripts/weapons/disc.cs",["scripts.vl2"]],"scripts/weapons/elfgun.cs":["scripts/weapons/ELFGun.cs",["scripts.vl2"]],"scripts/weapons/flaregrenade.cs":["scripts/weapons/flareGrenade.cs",["scripts.vl2"]],"scripts/weapons/flashgrenade.cs":["scripts/weapons/flashGrenade.cs",["scripts.vl2"]],"scripts/weapons/grenade.cs":["scripts/weapons/grenade.cs",["scripts.vl2"]],"scripts/weapons/grenadelauncher.cs":["scripts/weapons/grenadeLauncher.cs",["scripts.vl2"]],"scripts/weapons/mine.cs":["scripts/weapons/mine.cs",["scripts.vl2"]],"scripts/weapons/missilelauncher.cs":["scripts/weapons/missileLauncher.cs",["scripts.vl2"]],"scripts/weapons/mortar.cs":["scripts/weapons/mortar.cs",["scripts.vl2"]],"scripts/weapons/plasma.cs":["scripts/weapons/plasma.cs",["scripts.vl2"]],"scripts/weapons/shocklance.cs":["scripts/weapons/shockLance.cs",["scripts.vl2"]],"scripts/weapons/sniperrifle.cs":["scripts/weapons/sniperRifle.cs",["scripts.vl2"]],"scripts/weapons/targetinglaser.cs":["scripts/weapons/targetingLaser.cs",["scripts.vl2"]],"scripts/weapons/tr2chaingun.cs":["scripts/weapons/TR2chaingun.cs",["TR2final105-server.vl2"]],"scripts/weapons/tr2disc.cs":["scripts/weapons/TR2disc.cs",["TR2final105-server.vl2"]],"scripts/weapons/tr2grenade.cs":["scripts/weapons/TR2grenade.cs",["TR2final105-server.vl2"]],"scripts/weapons/tr2grenadelauncher.cs":["scripts/weapons/TR2grenadeLauncher.cs",["TR2final105-server.vl2"]],"scripts/weapons/tr2mortar.cs":["scripts/weapons/TR2mortar.cs",["TR2final105-server.vl2"]],"scripts/weapons/tr2shocklance.cs":["scripts/weapons/TR2shockLance.cs",["TR2final105-server.vl2"]],"scripts/weapons/tr2targetinglaser.cs":["scripts/weapons/TR2targetingLaser.cs",["TR2final105-server.vl2"]],"scripts/weaponslist.cs":["scripts/weaponslist.cs",["multiInterpolate.vl2"]],"scripts/weapturretcode.cs":["scripts/weapTurretCode.cs",["scripts.vl2"]],"scripts/weather.cs":["scripts/weather.cs",["scripts.vl2"]],"scripts/webbrowser.cs":["scripts/webbrowser.cs",["scripts.vl2"]],"scripts/webemail.cs":["scripts/webemail.cs",["scripts.vl2"]],"scripts/webforums.cs":["scripts/webforums.cs",["scripts.vl2"]],"scripts/weblinks.cs":["scripts/weblinks.cs",["scripts.vl2"]],"scripts/webnews.cs":["scripts/webnews.cs",["scripts.vl2"]],"scripts/webstuff.cs":["scripts/webstuff.cs",["scripts.vl2"]],"scripts/webtest.cs":["scripts/webtest.cs",["scripts.vl2"]],"scripts/zanabaticgame.cs":["scripts/zAnabaticGame.cs",["z_mappacks/z_DMP2-V0.6.vl2"]],"scripts/zanomalygame.cs":["scripts/zAnomalyGame.cs",["z_mappacks/z_DMP2-V0.6.vl2"]],"scripts/zbbgame.cs":["scripts/zBBGame.cs",["z_mappacks/z_DMP2-V0.6.vl2"]],"scripts/zfacingworldsgame.cs":["scripts/zFacingWorldsGame.cs",["z_mappacks/z_DMP2-V0.6.vl2"]],"scripts/zfirngame.cs":["scripts/zFirnGame.cs",["z_mappacks/z_DMP2-V0.6.vl2"]],"scripts/zfrostbitegame.cs":["scripts/zFrostBiteGame.cs",["z_mappacks/z_DMP2-V0.6.vl2"]],"scripts/zinfernoroargame.cs":["scripts/zInfernoRoarGame.cs",["z_mappacks/z_DMP2-V0.6.vl2"]],"scripts/zslapdashmirrorgame.cs":["scripts/zSlapDashMirrorGame.cs",["z_mappacks/z_DMP2-V0.6.vl2"]],"scripts/zstarsiegetribesgame.cs":["scripts/zStarsiegeTribesGame.cs",["z_mappacks/z_DMP2-V0.6.vl2"]],"scripts/zstormsragegame.cs":["scripts/zStormsRageGame.cs",["z_mappacks/z_DMP2-V0.6.vl2"]],"scripts/zt2ammostationgame.cs":["scripts/zT2AmmoStationGame.cs",["z_mappacks/z_DMP2-V0.6.vl2"]],"scripts/ztwindrakesgame.cs":["scripts/zTwinDrakesGame.cs",["z_mappacks/z_DMP2-V0.6.vl2"]],"scripts/ztwintorrentgame.cs":["scripts/zTwinTorrentGame.cs",["z_mappacks/z_DMP2-V0.6.vl2"]],"scripts/zwaterskigame.cs":["scripts/zWaterSkiGame.cs",["z_mappacks/z_DMP2-V0.6.vl2"]],"scripts/zwoegame.cs":["scripts/zWOEGame.cs",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/ammo_chaingun.dts":["shapes/ammo_chaingun.dts",["shapes.vl2"]],"shapes/ammo_disc.dts":["shapes/ammo_disc.dts",["shapes.vl2"]],"shapes/ammo_grenade.dts":["shapes/ammo_grenade.dts",["shapes.vl2"]],"shapes/ammo_mine.dts":["shapes/ammo_mine.dts",["shapes.vl2"]],"shapes/ammo_missile.dts":["shapes/ammo_missile.dts",["shapes.vl2"]],"shapes/ammo_mortar.dts":["shapes/ammo_mortar.dts",["shapes.vl2"]],"shapes/ammo_plasma.dts":["shapes/ammo_plasma.dts",["shapes.vl2"]],"shapes/banner_honor.dts":["shapes/banner_honor.dts",["shapes.vl2"]],"shapes/banner_strength.dts":["shapes/banner_strength.dts",["shapes.vl2"]],"shapes/banner_unity.dts":["shapes/banner_unity.dts",["shapes.vl2"]],"shapes/beacon.dts":["shapes/beacon.dts",["shapes.vl2"]],"shapes/billboard_1.dts":["shapes/billboard_1.dts",["TR2final105-client.vl2"]],"shapes/billboard_2.dts":["shapes/billboard_2.dts",["TR2final105-client.vl2"]],"shapes/billboard_3.dts":["shapes/billboard_3.dts",["TR2final105-client.vl2"]],"shapes/billboard_4.dts":["shapes/billboard_4.dts",["TR2final105-client.vl2"]],"shapes/bio_player_debris.dts":["shapes/bio_player_debris.dts",["shapes.vl2"]],"shapes/bioderm_heavy.dts":["shapes/bioderm_heavy.dts",["shapes.vl2"]],"shapes/bioderm_heavy_back.dsq":["shapes/bioderm_heavy_back.dsq",["shapes.vl2"]],"shapes/bioderm_heavy_celflex2.dsq":["shapes/bioderm_heavy_celflex2.dsq",["shapes.vl2"]],"shapes/bioderm_heavy_celgora.dsq":["shapes/bioderm_heavy_celgora.dsq",["shapes.vl2"]],"shapes/bioderm_heavy_celjump.dsq":["shapes/bioderm_heavy_celjump.dsq",["shapes.vl2"]],"shapes/bioderm_heavy_celroar.dsq":["shapes/bioderm_heavy_celroar.dsq",["shapes.vl2"]],"shapes/bioderm_heavy_celsalute.dsq":["shapes/bioderm_heavy_celsalute.dsq",["shapes.vl2"]],"shapes/bioderm_heavy_celyeah.dsq":["shapes/bioderm_heavy_celyeah.dsq",["shapes.vl2"]],"shapes/bioderm_heavy_dieback.dsq":["shapes/bioderm_heavy_dieback.dsq",["shapes.vl2"]],"shapes/bioderm_heavy_diechest.dsq":["shapes/bioderm_heavy_diechest.dsq",["shapes.vl2"]],"shapes/bioderm_heavy_dieforward.dsq":["shapes/bioderm_heavy_dieforward.dsq",["shapes.vl2"]],"shapes/bioderm_heavy_diehead.dsq":["shapes/bioderm_heavy_diehead.dsq",["shapes.vl2"]],"shapes/bioderm_heavy_dieknees.dsq":["shapes/bioderm_heavy_dieknees.dsq",["shapes.vl2"]],"shapes/bioderm_heavy_dieleglft.dsq":["shapes/bioderm_heavy_dieleglft.dsq",["shapes.vl2"]],"shapes/bioderm_heavy_dielegrt.dsq":["shapes/bioderm_heavy_dielegrt.dsq",["shapes.vl2"]],"shapes/bioderm_heavy_diesidelft.dsq":["shapes/bioderm_heavy_diesidelft.dsq",["shapes.vl2"]],"shapes/bioderm_heavy_diesidert.dsq":["shapes/bioderm_heavy_diesidert.dsq",["shapes.vl2"]],"shapes/bioderm_heavy_dieslump.dsq":["shapes/bioderm_heavy_dieslump.dsq",["shapes.vl2"]],"shapes/bioderm_heavy_diespin.dsq":["shapes/bioderm_heavy_diespin.dsq",["shapes.vl2"]],"shapes/bioderm_heavy_fall.dsq":["shapes/bioderm_heavy_fall.dsq",["shapes.vl2"]],"shapes/bioderm_heavy_forward.dsq":["shapes/bioderm_heavy_forward.dsq",["shapes.vl2"]],"shapes/bioderm_heavy_head.dsq":["shapes/bioderm_heavy_head.dsq",["shapes.vl2"]],"shapes/bioderm_heavy_headside.dsq":["shapes/bioderm_heavy_headside.dsq",["shapes.vl2"]],"shapes/bioderm_heavy_idlepda.dsq":["shapes/bioderm_heavy_idlepda.dsq",["shapes.vl2"]],"shapes/bioderm_heavy_jet.dsq":["shapes/bioderm_heavy_jet.dsq",["shapes.vl2"]],"shapes/bioderm_heavy_jump.dsq":["shapes/bioderm_heavy_jump.dsq",["shapes.vl2"]],"shapes/bioderm_heavy_land.dsq":["shapes/bioderm_heavy_land.dsq",["shapes.vl2"]],"shapes/bioderm_heavy_lookde.dsq":["shapes/bioderm_heavy_lookde.dsq",["shapes.vl2"]],"shapes/bioderm_heavy_lookms.dsq":["shapes/bioderm_heavy_lookms.dsq",["shapes.vl2"]],"shapes/bioderm_heavy_looknw.dsq":["shapes/bioderm_heavy_looknw.dsq",["shapes.vl2"]],"shapes/bioderm_heavy_recoilde.dsq":["shapes/bioderm_heavy_recoilde.dsq",["shapes.vl2"]],"shapes/bioderm_heavy_root.dsq":["shapes/bioderm_heavy_root.dsq",["shapes.vl2"]],"shapes/bioderm_heavy_side.dsq":["shapes/bioderm_heavy_side.dsq",["shapes.vl2"]],"shapes/bioderm_heavy_ski.dsq":["shapes/bioderm_heavy_ski.dsq",["shapes.vl2"]],"shapes/bioderm_heavy_standjump.dsq":["shapes/bioderm_heavy_standjump.dsq",["shapes.vl2"]],"shapes/bioderm_heavy_tauntbest.dsq":["shapes/bioderm_heavy_tauntbest.dsq",["shapes.vl2"]],"shapes/bioderm_heavy_tauntbull.dsq":["shapes/bioderm_heavy_tauntbull.dsq",["shapes.vl2"]],"shapes/bioderm_light.dts":["shapes/bioderm_light.dts",["shapes.vl2"]],"shapes/bioderm_light_back.dsq":["shapes/bioderm_light_back.dsq",["shapes.vl2"]],"shapes/bioderm_light_celflex2.dsq":["shapes/bioderm_light_celflex2.dsq",["shapes.vl2"]],"shapes/bioderm_light_celgora.dsq":["shapes/bioderm_light_celgora.dsq",["shapes.vl2"]],"shapes/bioderm_light_celjump.dsq":["shapes/bioderm_light_celjump.dsq",["shapes.vl2"]],"shapes/bioderm_light_celroar.dsq":["shapes/bioderm_light_celroar.dsq",["shapes.vl2"]],"shapes/bioderm_light_celsalute.dsq":["shapes/bioderm_light_celsalute.dsq",["shapes.vl2"]],"shapes/bioderm_light_celyeah.dsq":["shapes/bioderm_light_celyeah.dsq",["shapes.vl2"]],"shapes/bioderm_light_dieback.dsq":["shapes/bioderm_light_dieback.dsq",["shapes.vl2"]],"shapes/bioderm_light_diechest.dsq":["shapes/bioderm_light_diechest.dsq",["shapes.vl2"]],"shapes/bioderm_light_dieforward.dsq":["shapes/bioderm_light_dieforward.dsq",["shapes.vl2"]],"shapes/bioderm_light_diehead.dsq":["shapes/bioderm_light_diehead.dsq",["shapes.vl2"]],"shapes/bioderm_light_dieknees.dsq":["shapes/bioderm_light_dieknees.dsq",["shapes.vl2"]],"shapes/bioderm_light_dieleglft.dsq":["shapes/bioderm_light_dieleglft.dsq",["shapes.vl2"]],"shapes/bioderm_light_dielegrt.dsq":["shapes/bioderm_light_dielegrt.dsq",["shapes.vl2"]],"shapes/bioderm_light_diesidelft.dsq":["shapes/bioderm_light_diesidelft.dsq",["shapes.vl2"]],"shapes/bioderm_light_diesidert.dsq":["shapes/bioderm_light_diesidert.dsq",["shapes.vl2"]],"shapes/bioderm_light_dieslump.dsq":["shapes/bioderm_light_dieslump.dsq",["shapes.vl2"]],"shapes/bioderm_light_diespin.dsq":["shapes/bioderm_light_diespin.dsq",["shapes.vl2"]],"shapes/bioderm_light_fall.dsq":["shapes/bioderm_light_fall.dsq",["shapes.vl2"]],"shapes/bioderm_light_forward.dsq":["shapes/bioderm_light_forward.dsq",["shapes.vl2"]],"shapes/bioderm_light_head.dsq":["shapes/bioderm_light_head.dsq",["shapes.vl2"]],"shapes/bioderm_light_headside.dsq":["shapes/bioderm_light_headside.dsq",["shapes.vl2"]],"shapes/bioderm_light_idlepda.dsq":["shapes/bioderm_light_idlepda.dsq",["shapes.vl2"]],"shapes/bioderm_light_jet.dsq":["shapes/bioderm_light_jet.dsq",["shapes.vl2"]],"shapes/bioderm_light_jump.dsq":["shapes/bioderm_light_jump.dsq",["shapes.vl2"]],"shapes/bioderm_light_land.dsq":["shapes/bioderm_light_land.dsq",["shapes.vl2"]],"shapes/bioderm_light_lookde.dsq":["shapes/bioderm_light_lookde.dsq",["shapes.vl2"]],"shapes/bioderm_light_lookms.dsq":["shapes/bioderm_light_lookms.dsq",["shapes.vl2"]],"shapes/bioderm_light_looknw.dsq":["shapes/bioderm_light_looknw.dsq",["shapes.vl2"]],"shapes/bioderm_light_recoilde.dsq":["shapes/bioderm_light_recoilde.dsq",["shapes.vl2"]],"shapes/bioderm_light_root.dsq":["shapes/bioderm_light_root.dsq",["shapes.vl2"]],"shapes/bioderm_light_scoutroot.dsq":["shapes/bioderm_light_scoutroot.dsq",["shapes.vl2"]],"shapes/bioderm_light_side.dsq":["shapes/bioderm_light_side.dsq",["shapes.vl2"]],"shapes/bioderm_light_sitting.dsq":["shapes/bioderm_light_sitting.dsq",["shapes.vl2"]],"shapes/bioderm_light_ski.dsq":["shapes/bioderm_light_ski.dsq",["shapes.vl2"]],"shapes/bioderm_light_standjump.dsq":["shapes/bioderm_light_standjump.dsq",["shapes.vl2"]],"shapes/bioderm_light_tauntbest.dsq":["shapes/bioderm_light_tauntbest.dsq",["shapes.vl2"]],"shapes/bioderm_light_tauntbull.dsq":["shapes/bioderm_light_tauntbull.dsq",["shapes.vl2"]],"shapes/bioderm_medium.dts":["shapes/bioderm_medium.dts",["shapes.vl2"]],"shapes/bioderm_medium_back.dsq":["shapes/bioderm_medium_back.dsq",["shapes.vl2"]],"shapes/bioderm_medium_celflex2.dsq":["shapes/bioderm_medium_celflex2.dsq",["shapes.vl2"]],"shapes/bioderm_medium_celgora.dsq":["shapes/bioderm_medium_celgora.dsq",["shapes.vl2"]],"shapes/bioderm_medium_celjump.dsq":["shapes/bioderm_medium_celjump.dsq",["shapes.vl2"]],"shapes/bioderm_medium_celroar.dsq":["shapes/bioderm_medium_celroar.dsq",["shapes.vl2"]],"shapes/bioderm_medium_celsalute.dsq":["shapes/bioderm_medium_celsalute.dsq",["shapes.vl2"]],"shapes/bioderm_medium_celyeah.dsq":["shapes/bioderm_medium_celyeah.dsq",["shapes.vl2"]],"shapes/bioderm_medium_dieback.dsq":["shapes/bioderm_medium_dieback.dsq",["shapes.vl2"]],"shapes/bioderm_medium_diechest.dsq":["shapes/bioderm_medium_diechest.dsq",["shapes.vl2"]],"shapes/bioderm_medium_dieforward.dsq":["shapes/bioderm_medium_dieforward.dsq",["shapes.vl2"]],"shapes/bioderm_medium_diehead.dsq":["shapes/bioderm_medium_diehead.dsq",["shapes.vl2"]],"shapes/bioderm_medium_dieknees.dsq":["shapes/bioderm_medium_dieknees.dsq",["shapes.vl2"]],"shapes/bioderm_medium_dieleglft.dsq":["shapes/bioderm_medium_dieleglft.dsq",["shapes.vl2"]],"shapes/bioderm_medium_dielegrt.dsq":["shapes/bioderm_medium_dielegrt.dsq",["shapes.vl2"]],"shapes/bioderm_medium_diesidelft.dsq":["shapes/bioderm_medium_diesidelft.dsq",["shapes.vl2"]],"shapes/bioderm_medium_diesidert.dsq":["shapes/bioderm_medium_diesidert.dsq",["shapes.vl2"]],"shapes/bioderm_medium_dieslump.dsq":["shapes/bioderm_medium_dieslump.dsq",["shapes.vl2"]],"shapes/bioderm_medium_diespin.dsq":["shapes/bioderm_medium_diespin.dsq",["shapes.vl2"]],"shapes/bioderm_medium_fall.dsq":["shapes/bioderm_medium_fall.dsq",["shapes.vl2"]],"shapes/bioderm_medium_forward.dsq":["shapes/bioderm_medium_forward.dsq",["shapes.vl2"]],"shapes/bioderm_medium_head.dsq":["shapes/bioderm_medium_head.dsq",["shapes.vl2"]],"shapes/bioderm_medium_headside.dsq":["shapes/bioderm_medium_headside.dsq",["shapes.vl2"]],"shapes/bioderm_medium_idlepda.dsq":["shapes/bioderm_medium_idlepda.dsq",["shapes.vl2"]],"shapes/bioderm_medium_jet.dsq":["shapes/bioderm_medium_jet.dsq",["shapes.vl2"]],"shapes/bioderm_medium_jump.dsq":["shapes/bioderm_medium_jump.dsq",["shapes.vl2"]],"shapes/bioderm_medium_land.dsq":["shapes/bioderm_medium_land.dsq",["shapes.vl2"]],"shapes/bioderm_medium_lookde.dsq":["shapes/bioderm_medium_lookde.dsq",["shapes.vl2"]],"shapes/bioderm_medium_lookms.dsq":["shapes/bioderm_medium_lookms.dsq",["shapes.vl2"]],"shapes/bioderm_medium_looknw.dsq":["shapes/bioderm_medium_looknw.dsq",["shapes.vl2"]],"shapes/bioderm_medium_recoilde.dsq":["shapes/bioderm_medium_recoilde.dsq",["shapes.vl2"]],"shapes/bioderm_medium_root.dsq":["shapes/bioderm_medium_root.dsq",["shapes.vl2"]],"shapes/bioderm_medium_side.dsq":["shapes/bioderm_medium_side.dsq",["shapes.vl2"]],"shapes/bioderm_medium_sitting.dsq":["shapes/bioderm_medium_sitting.dsq",["shapes.vl2"]],"shapes/bioderm_medium_ski.dsq":["shapes/bioderm_medium_ski.dsq",["shapes.vl2"]],"shapes/bioderm_medium_standjump.dsq":["shapes/bioderm_medium_standjump.dsq",["shapes.vl2"]],"shapes/bioderm_medium_tauntbest.dsq":["shapes/bioderm_medium_tauntbest.dsq",["shapes.vl2"]],"shapes/bioderm_medium_tauntbull.dsq":["shapes/bioderm_medium_tauntbull.dsq",["shapes.vl2"]],"shapes/bmiscf.dts":["shapes/bmiscf.dts",["shapes.vl2"]],"shapes/bomb.dts":["shapes/bomb.dts",["shapes.vl2"]],"shapes/bombers_eye.dts":["shapes/bombers_eye.dts",["shapes.vl2"]],"shapes/borg1.dts":["shapes/borg1.dts",["shapes.vl2"]],"shapes/borg11.dts":["shapes/borg11.dts",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"shapes/borg12.dts":["shapes/borg12.dts",["shapes.vl2"]],"shapes/borg13.dts":["shapes/borg13.dts",["shapes.vl2"]],"shapes/borg15.dts":["shapes/borg15.dts",["shapes.vl2"]],"shapes/borg16-autumn.dts":["shapes/borg16-Autumn.dts",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"shapes/borg16.dts":["shapes/borg16.dts",["shapes.vl2"]],"shapes/borg17.dts":["shapes/borg17.dts",["shapes.vl2"]],"shapes/borg18.dts":["shapes/borg18.dts",["shapes.vl2"]],"shapes/borg19-autumn.dts":["shapes/borg19-Autumn.dts",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"shapes/borg19.dts":["shapes/borg19.dts",["shapes.vl2"]],"shapes/borg2.dts":["shapes/borg2.dts",["shapes.vl2"]],"shapes/borg20.dts":["shapes/borg20.dts",["shapes.vl2"]],"shapes/borg23.dts":["shapes/borg23.dts",["shapes.vl2"]],"shapes/borg25.dts":["shapes/borg25.dts",["shapes.vl2"]],"shapes/borg3.dts":["shapes/borg3.dts",["shapes.vl2"]],"shapes/borg31.dts":["shapes/borg31.dts",["shapes.vl2"]],"shapes/borg32.dts":["shapes/borg32.dts",["shapes.vl2"]],"shapes/borg33.dts":["shapes/borg33.dts",["shapes.vl2"]],"shapes/borg34.dts":["shapes/borg34.dts",["shapes.vl2"]],"shapes/borg4.dts":["shapes/borg4.dts",["shapes.vl2"]],"shapes/borg5.dts":["shapes/borg5.dts",["shapes.vl2"]],"shapes/borg6.dts":["shapes/borg6.dts",["shapes.vl2"]],"shapes/borg7.dts":["shapes/borg7.dts",["shapes.vl2"]],"shapes/borg8.dts":["shapes/borg8.dts",["shapes.vl2"]],"shapes/bter.dts":["shapes/bTer.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/buildstation.dts":["shapes/buildStation.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/c_baselopro.dts":["shapes/C_BaseLoPro.dts",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"shapes/camera.dts":["shapes/camera.dts",["shapes.vl2"]],"shapes/cannontip.dts":["shapes/cannonTip.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/catmaxloaf.dts":["shapes/catMaxLoaf.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/chaingun_shot.dts":["shapes/chaingun_shot.dts",["shapes.vl2"]],"shapes/chrometest.dts":["shapes/chromeTest.dts",["shapes.vl2"]],"shapes/debris_generic.dts":["shapes/debris_generic.dts",["shapes.vl2"]],"shapes/debris_generic_small.dts":["shapes/debris_generic_small.dts",["shapes.vl2"]],"shapes/debris_player.dts":["shapes/debris_player.dts",["shapes.vl2"]],"shapes/deploy_ammo.dts":["shapes/deploy_ammo.dts",["shapes.vl2"]],"shapes/deploy_inventory.dts":["shapes/deploy_inventory.dts",["shapes.vl2"]],"shapes/deploy_sensor_motion.dts":["shapes/deploy_sensor_motion.dts",["shapes.vl2"]],"shapes/deploy_sensor_pulse.dts":["shapes/deploy_sensor_pulse.dts",["shapes.vl2"]],"shapes/disc.dts":["shapes/disc.dts",["shapes.vl2"]],"shapes/disc_explosion.dts":["shapes/disc_explosion.dts",["shapes.vl2"]],"shapes/dmiscf.dts":["shapes/dmiscf.dts",["shapes.vl2"]],"shapes/dorg15.dts":["shapes/dorg15.dts",["shapes.vl2"]],"shapes/dorg16.dts":["shapes/dorg16.dts",["shapes.vl2"]],"shapes/dorg17.dts":["shapes/dorg17.dts",["shapes.vl2"]],"shapes/dorg18.dts":["shapes/dorg18.dts",["shapes.vl2"]],"shapes/dorg19.dts":["shapes/dorg19.dts",["shapes.vl2"]],"shapes/dsflame.dts":["shapes/dsFlame.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/dsplane.dts":["shapes/dsPlane.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/effect_plasma_explosion.dts":["shapes/effect_plasma_explosion.dts",["shapes.vl2"]],"shapes/energy_bolt.dts":["shapes/energy_bolt.dts",["shapes.vl2"]],"shapes/energy_explosion.dts":["shapes/energy_explosion.dts",["shapes.vl2"]],"shapes/engsphere.dts":["shapes/engSphere.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/ext_flagstand.dts":["shapes/ext_flagstand.dts",["shapes.vl2"]],"shapes/facebox.dts":["shapes/faceBox.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/facesphere.dts":["shapes/faceSphere.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/flag.dts":["shapes/flag.dts",["shapes.vl2"]],"shapes/flagiconfoe.dts":["shapes/flagIconFoe.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/flagiconfriend.dts":["shapes/flagIconFriend.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/foemark.dts":["shapes/foeMark.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/friendmark.dts":["shapes/friendMark.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/goal_back.dts":["shapes/goal_back.dts",["TR2final105-client.vl2"]],"shapes/goal_panel.dts":["shapes/goal_panel.dts",["TR2final105-client.vl2"]],"shapes/goal_side.dts":["shapes/goal_side.dts",["TR2final105-client.vl2"]],"shapes/goal_top.dts":["shapes/goal_top.dts",["TR2final105-client.vl2"]],"shapes/gold_goal_back.dts":["shapes/gold_goal_back.dts",["TR2final105-client.vl2"]],"shapes/gold_goal_side.dts":["shapes/gold_goal_side.dts",["TR2final105-client.vl2"]],"shapes/gold_goal_top.dts":["shapes/gold_goal_top.dts",["TR2final105-client.vl2"]],"shapes/golden_pole.dts":["shapes/golden_pole.dts",["TR2final105-client.vl2"]],"shapes/gravemarker_1.dts":["shapes/gravemarker_1.dts",["shapes.vl2"]],"shapes/grenade.dts":["shapes/grenade.dts",["shapes.vl2"]],"shapes/grenade_flare.dts":["shapes/grenade_flare.dts",["shapes.vl2"]],"shapes/grenade_flash.dts":["shapes/grenade_flash.dts",["shapes.vl2"]],"shapes/grenade_projectile.dts":["shapes/grenade_projectile.dts",["shapes.vl2"]],"shapes/heavy_male.dts":["shapes/heavy_male.dts",["shapes.vl2"]],"shapes/heavy_male_back.dsq":["shapes/heavy_male_back.dsq",["shapes.vl2"]],"shapes/heavy_male_celdance.dsq":["shapes/heavy_male_celdance.dsq",["shapes.vl2"]],"shapes/heavy_male_celflex.dsq":["shapes/heavy_male_celflex.dsq",["shapes.vl2"]],"shapes/heavy_male_celjump.dsq":["shapes/heavy_male_celjump.dsq",["shapes.vl2"]],"shapes/heavy_male_celsalute.dsq":["shapes/heavy_male_celsalute.dsq",["shapes.vl2"]],"shapes/heavy_male_celtaunt.dsq":["shapes/heavy_male_celtaunt.dsq",["shapes.vl2"]],"shapes/heavy_male_celwave.dsq":["shapes/heavy_male_celwave.dsq",["shapes.vl2"]],"shapes/heavy_male_dead.dts":["shapes/heavy_male_dead.dts",["shapes.vl2"]],"shapes/heavy_male_dieback.dsq":["shapes/heavy_male_dieback.dsq",["shapes.vl2"]],"shapes/heavy_male_diechest.dsq":["shapes/heavy_male_diechest.dsq",["shapes.vl2"]],"shapes/heavy_male_dieforward.dsq":["shapes/heavy_male_dieforward.dsq",["shapes.vl2"]],"shapes/heavy_male_diehead.dsq":["shapes/heavy_male_diehead.dsq",["shapes.vl2"]],"shapes/heavy_male_dieknees.dsq":["shapes/heavy_male_dieknees.dsq",["shapes.vl2"]],"shapes/heavy_male_dieleglf.dsq":["shapes/heavy_male_dieleglf.dsq",["shapes.vl2"]],"shapes/heavy_male_dielegrt.dsq":["shapes/heavy_male_dielegrt.dsq",["shapes.vl2"]],"shapes/heavy_male_diesidelf.dsq":["shapes/heavy_male_diesidelf.dsq",["shapes.vl2"]],"shapes/heavy_male_diesidert.dsq":["shapes/heavy_male_diesidert.dsq",["shapes.vl2"]],"shapes/heavy_male_dieslump.dsq":["shapes/heavy_male_dieslump.dsq",["shapes.vl2"]],"shapes/heavy_male_diespin.dsq":["shapes/heavy_male_diespin.dsq",["shapes.vl2"]],"shapes/heavy_male_fall.dsq":["shapes/heavy_male_fall.dsq",["shapes.vl2"]],"shapes/heavy_male_forward.dsq":["shapes/heavy_male_forward.dsq",["shapes.vl2"]],"shapes/heavy_male_head.dsq":["shapes/heavy_male_head.dsq",["shapes.vl2"]],"shapes/heavy_male_headside.dsq":["shapes/heavy_male_headside.dsq",["shapes.vl2"]],"shapes/heavy_male_idlepda.dsq":["shapes/heavy_male_idlepda.dsq",["shapes.vl2"]],"shapes/heavy_male_jet.dsq":["shapes/heavy_male_jet.dsq",["shapes.vl2"]],"shapes/heavy_male_jump.dsq":["shapes/heavy_male_jump.dsq",["shapes.vl2"]],"shapes/heavy_male_land.dsq":["shapes/heavy_male_land.dsq",["shapes.vl2"]],"shapes/heavy_male_lookde.dsq":["shapes/heavy_male_lookde.dsq",["shapes.vl2"]],"shapes/heavy_male_lookms.dsq":["shapes/heavy_male_lookms.dsq",["shapes.vl2"]],"shapes/heavy_male_looknw.dsq":["shapes/heavy_male_looknw.dsq",["shapes.vl2"]],"shapes/heavy_male_recoilde.dsq":["shapes/heavy_male_recoilde.dsq",["shapes.vl2"]],"shapes/heavy_male_root.dsq":["shapes/heavy_male_root.dsq",["shapes.vl2"]],"shapes/heavy_male_side.dsq":["shapes/heavy_male_side.dsq",["shapes.vl2"]],"shapes/heavy_male_ski.dsq":["shapes/heavy_male_ski.dsq",["shapes.vl2"]],"shapes/heavy_male_standjump.dsq":["shapes/heavy_male_standjump.dsq",["shapes.vl2"]],"shapes/heavy_male_tauntbest.dsq":["shapes/heavy_male_tauntbest.dsq",["shapes.vl2"]],"shapes/heavy_male_tauntimp.dsq":["shapes/heavy_male_tauntimp.dsq",["shapes.vl2"]],"shapes/hellfiregun.dts":["shapes/hellFireGun.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/hellfireturret.dts":["shapes/hellFireTurret.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/huntersflag.dts":["shapes/huntersflag.dts",["shapes.vl2"]],"shapes/icecube.dts":["shapes/iceCube.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/int_flagstand.dts":["shapes/int_flagstand.dts",["shapes.vl2"]],"shapes/light_female.dts":["shapes/light_female.dts",["shapes.vl2"]],"shapes/light_female_back.dsq":["shapes/light_female_back.dsq",["shapes.vl2"]],"shapes/light_female_celbow.dsq":["shapes/light_female_celbow.dsq",["shapes.vl2"]],"shapes/light_female_celdance.dsq":["shapes/light_female_celdance.dsq",["shapes.vl2"]],"shapes/light_female_celsalute.dsq":["shapes/light_female_celsalute.dsq",["shapes.vl2"]],"shapes/light_female_celwave.dsq":["shapes/light_female_celwave.dsq",["shapes.vl2"]],"shapes/light_female_dieback.dsq":["shapes/light_female_dieback.dsq",["shapes.vl2"]],"shapes/light_female_diechest.dsq":["shapes/light_female_diechest.dsq",["shapes.vl2"]],"shapes/light_female_dieforward.dsq":["shapes/light_female_dieforward.dsq",["shapes.vl2"]],"shapes/light_female_diehead.dsq":["shapes/light_female_diehead.dsq",["shapes.vl2"]],"shapes/light_female_dieknees.dsq":["shapes/light_female_dieknees.dsq",["shapes.vl2"]],"shapes/light_female_dieleglf.dsq":["shapes/light_female_dieleglf.dsq",["shapes.vl2"]],"shapes/light_female_dielegrt.dsq":["shapes/light_female_dielegrt.dsq",["shapes.vl2"]],"shapes/light_female_diesidelf.dsq":["shapes/light_female_diesidelf.dsq",["shapes.vl2"]],"shapes/light_female_diesidert.dsq":["shapes/light_female_diesidert.dsq",["shapes.vl2"]],"shapes/light_female_dieslump.dsq":["shapes/light_female_dieslump.dsq",["shapes.vl2"]],"shapes/light_female_diespin.dsq":["shapes/light_female_diespin.dsq",["shapes.vl2"]],"shapes/light_female_fall.dsq":["shapes/light_female_fall.dsq",["shapes.vl2"]],"shapes/light_female_forward.dsq":["shapes/light_female_forward.dsq",["shapes.vl2"]],"shapes/light_female_head.dsq":["shapes/light_female_head.dsq",["shapes.vl2"]],"shapes/light_female_headside.dsq":["shapes/light_female_headside.dsq",["shapes.vl2"]],"shapes/light_female_idlepda.dsq":["shapes/light_female_idlepda.dsq",["shapes.vl2"]],"shapes/light_female_jet.dsq":["shapes/light_female_jet.dsq",["shapes.vl2"]],"shapes/light_female_jump.dsq":["shapes/light_female_jump.dsq",["shapes.vl2"]],"shapes/light_female_land.dsq":["shapes/light_female_land.dsq",["shapes.vl2"]],"shapes/light_female_lookde.dsq":["shapes/light_female_lookde.dsq",["shapes.vl2"]],"shapes/light_female_lookms.dsq":["shapes/light_female_lookms.dsq",["shapes.vl2"]],"shapes/light_female_looknw.dsq":["shapes/light_female_looknw.dsq",["shapes.vl2"]],"shapes/light_female_looksn.dsq":["shapes/light_female_looksn.dsq",["shapes.vl2"]],"shapes/light_female_recoilde.dsq":["shapes/light_female_recoilde.dsq",["shapes.vl2"]],"shapes/light_female_root.dsq":["shapes/light_female_root.dsq",["shapes.vl2"]],"shapes/light_female_scoutroot.dsq":["shapes/light_female_scoutroot.dsq",["shapes.vl2"]],"shapes/light_female_side.dsq":["shapes/light_female_side.dsq",["shapes.vl2"]],"shapes/light_female_sitting.dsq":["shapes/light_female_sitting.dsq",["shapes.vl2"]],"shapes/light_female_ski.dsq":["shapes/light_female_ski.dsq",["shapes.vl2"]],"shapes/light_female_standjump.dsq":["shapes/light_female_standjump.dsq",["shapes.vl2"]],"shapes/light_female_tauntbest.dsq":["shapes/light_female_tauntbest.dsq",["shapes.vl2"]],"shapes/light_female_tauntbutt.dsq":["shapes/light_female_tauntbutt.dsq",["shapes.vl2"]],"shapes/light_female_tauntimp.dsq":["shapes/light_female_tauntimp.dsq",["shapes.vl2"]],"shapes/light_female_tauntkiss.dsq":["shapes/light_female_tauntkiss.dsq",["shapes.vl2"]],"shapes/light_male.dts":["shapes/light_male.dts",["shapes.vl2"]],"shapes/light_male_back.dsq":["shapes/light_male_back.dsq",["shapes.vl2"]],"shapes/light_male_celdisco.dsq":["shapes/light_male_celdisco.dsq",["shapes.vl2"]],"shapes/light_male_celflex.dsq":["shapes/light_male_celflex.dsq",["shapes.vl2"]],"shapes/light_male_celrocky.dsq":["shapes/light_male_celrocky.dsq",["shapes.vl2"]],"shapes/light_male_celsalute.dsq":["shapes/light_male_celsalute.dsq",["shapes.vl2"]],"shapes/light_male_celtaunt.dsq":["shapes/light_male_celtaunt.dsq",["shapes.vl2"]],"shapes/light_male_celwave.dsq":["shapes/light_male_celwave.dsq",["shapes.vl2"]],"shapes/light_male_dead.dts":["shapes/light_male_dead.dts",["shapes.vl2"]],"shapes/light_male_dieback.dsq":["shapes/light_male_dieback.dsq",["shapes.vl2"]],"shapes/light_male_diechest.dsq":["shapes/light_male_diechest.dsq",["shapes.vl2"]],"shapes/light_male_dieforward.dsq":["shapes/light_male_dieforward.dsq",["shapes.vl2"]],"shapes/light_male_diehead.dsq":["shapes/light_male_diehead.dsq",["shapes.vl2"]],"shapes/light_male_dieknees.dsq":["shapes/light_male_dieknees.dsq",["shapes.vl2"]],"shapes/light_male_dieleglf.dsq":["shapes/light_male_dieleglf.dsq",["shapes.vl2"]],"shapes/light_male_dielegrt.dsq":["shapes/light_male_dielegrt.dsq",["shapes.vl2"]],"shapes/light_male_diesidelf.dsq":["shapes/light_male_diesidelf.dsq",["shapes.vl2"]],"shapes/light_male_diesidert.dsq":["shapes/light_male_diesidert.dsq",["shapes.vl2"]],"shapes/light_male_dieslump.dsq":["shapes/light_male_dieslump.dsq",["shapes.vl2"]],"shapes/light_male_diespin.dsq":["shapes/light_male_diespin.dsq",["shapes.vl2"]],"shapes/light_male_fall.dsq":["shapes/light_male_fall.dsq",["shapes.vl2"]],"shapes/light_male_forward.dsq":["shapes/light_male_forward.dsq",["shapes.vl2"]],"shapes/light_male_head.dsq":["shapes/light_male_head.dsq",["shapes.vl2"]],"shapes/light_male_headside.dsq":["shapes/light_male_headside.dsq",["shapes.vl2"]],"shapes/light_male_idlepda.dsq":["shapes/light_male_idlepda.dsq",["shapes.vl2"]],"shapes/light_male_jet.dsq":["shapes/light_male_jet.dsq",["shapes.vl2"]],"shapes/light_male_jump.dsq":["shapes/light_male_jump.dsq",["shapes.vl2"]],"shapes/light_male_land.dsq":["shapes/light_male_land.dsq",["shapes.vl2"]],"shapes/light_male_lookde.dsq":["shapes/light_male_lookde.dsq",["shapes.vl2"]],"shapes/light_male_lookms.dsq":["shapes/light_male_lookms.dsq",["shapes.vl2"]],"shapes/light_male_looknw.dsq":["shapes/light_male_looknw.dsq",["shapes.vl2"]],"shapes/light_male_looksn.dsq":["shapes/light_male_looksn.dsq",["shapes.vl2"]],"shapes/light_male_newland.dsq":["shapes/light_male_newland.dsq",["shapes.vl2"]],"shapes/light_male_recoilde.dsq":["shapes/light_male_recoilde.dsq",["shapes.vl2"]],"shapes/light_male_root.dsq":["shapes/light_male_root.dsq",["shapes.vl2"]],"shapes/light_male_scoutroot.dsq":["shapes/light_male_scoutroot.dsq",["shapes.vl2"]],"shapes/light_male_side.dsq":["shapes/light_male_side.dsq",["shapes.vl2"]],"shapes/light_male_sitting.dsq":["shapes/light_male_sitting.dsq",["shapes.vl2"]],"shapes/light_male_ski.dsq":["shapes/light_male_ski.dsq",["shapes.vl2"]],"shapes/light_male_standjump.dsq":["shapes/light_male_standjump.dsq",["shapes.vl2"]],"shapes/light_male_tauntbest.dsq":["shapes/light_male_tauntbest.dsq",["shapes.vl2"]],"shapes/light_male_tauntimp.dsq":["shapes/light_male_tauntimp.dsq",["shapes.vl2"]],"shapes/medium_female.dts":["shapes/medium_female.dts",["shapes.vl2"]],"shapes/medium_female_back.dsq":["shapes/medium_female_back.dsq",["shapes.vl2"]],"shapes/medium_female_celbow.dsq":["shapes/medium_female_celbow.dsq",["shapes.vl2"]],"shapes/medium_female_celdisco.dsq":["shapes/medium_female_celdisco.dsq",["shapes.vl2"]],"shapes/medium_female_celsalute.dsq":["shapes/medium_female_celsalute.dsq",["shapes.vl2"]],"shapes/medium_female_celwave.dsq":["shapes/medium_female_celwave.dsq",["shapes.vl2"]],"shapes/medium_female_dieback.dsq":["shapes/medium_female_dieback.dsq",["shapes.vl2"]],"shapes/medium_female_diechest.dsq":["shapes/medium_female_diechest.dsq",["shapes.vl2"]],"shapes/medium_female_dieforward.dsq":["shapes/medium_female_dieforward.dsq",["shapes.vl2"]],"shapes/medium_female_diehead.dsq":["shapes/medium_female_diehead.dsq",["shapes.vl2"]],"shapes/medium_female_dieknees.dsq":["shapes/medium_female_dieknees.dsq",["shapes.vl2"]],"shapes/medium_female_dieleglf.dsq":["shapes/medium_female_dieleglf.dsq",["shapes.vl2"]],"shapes/medium_female_dielegrt.dsq":["shapes/medium_female_dielegrt.dsq",["shapes.vl2"]],"shapes/medium_female_diesidelf.dsq":["shapes/medium_female_diesidelf.dsq",["shapes.vl2"]],"shapes/medium_female_diesidert.dsq":["shapes/medium_female_diesidert.dsq",["shapes.vl2"]],"shapes/medium_female_dieslump.dsq":["shapes/medium_female_dieslump.dsq",["shapes.vl2"]],"shapes/medium_female_diespin.dsq":["shapes/medium_female_diespin.dsq",["shapes.vl2"]],"shapes/medium_female_fall.dsq":["shapes/medium_female_fall.dsq",["shapes.vl2"]],"shapes/medium_female_forward.dsq":["shapes/medium_female_forward.dsq",["shapes.vl2"]],"shapes/medium_female_head.dsq":["shapes/medium_female_head.dsq",["shapes.vl2"]],"shapes/medium_female_headside.dsq":["shapes/medium_female_headside.dsq",["shapes.vl2"]],"shapes/medium_female_idlepda.dsq":["shapes/medium_female_idlepda.dsq",["shapes.vl2"]],"shapes/medium_female_jet.dsq":["shapes/medium_female_jet.dsq",["shapes.vl2"]],"shapes/medium_female_jump.dsq":["shapes/medium_female_jump.dsq",["shapes.vl2"]],"shapes/medium_female_land.dsq":["shapes/medium_female_land.dsq",["shapes.vl2"]],"shapes/medium_female_lookde.dsq":["shapes/medium_female_lookde.dsq",["shapes.vl2"]],"shapes/medium_female_lookms.dsq":["shapes/medium_female_lookms.dsq",["shapes.vl2"]],"shapes/medium_female_looknw.dsq":["shapes/medium_female_looknw.dsq",["shapes.vl2"]],"shapes/medium_female_looksn.dsq":["shapes/medium_female_looksn.dsq",["shapes.vl2"]],"shapes/medium_female_recoilde.dsq":["shapes/medium_female_recoilde.dsq",["shapes.vl2"]],"shapes/medium_female_root.dsq":["shapes/medium_female_root.dsq",["shapes.vl2"]],"shapes/medium_female_side.dsq":["shapes/medium_female_side.dsq",["shapes.vl2"]],"shapes/medium_female_sitting.dsq":["shapes/medium_female_sitting.dsq",["shapes.vl2"]],"shapes/medium_female_ski.dsq":["shapes/medium_female_ski.dsq",["shapes.vl2"]],"shapes/medium_female_standjump.dsq":["shapes/medium_female_standjump.dsq",["shapes.vl2"]],"shapes/medium_female_tauntbest.dsq":["shapes/medium_female_tauntbest.dsq",["shapes.vl2"]],"shapes/medium_female_tauntbutt.dsq":["shapes/medium_female_tauntbutt.dsq",["shapes.vl2"]],"shapes/medium_female_tauntimp.dsq":["shapes/medium_female_tauntimp.dsq",["shapes.vl2"]],"shapes/medium_female_tauntkiss.dsq":["shapes/medium_female_tauntkiss.dsq",["shapes.vl2"]],"shapes/medium_male.dts":["shapes/medium_male.dts",["shapes.vl2"]],"shapes/medium_male_back.dsq":["shapes/medium_male_back.dsq",["shapes.vl2"]],"shapes/medium_male_celdance.dsq":["shapes/medium_male_celdance.dsq",["shapes.vl2"]],"shapes/medium_male_celflex.dsq":["shapes/medium_male_celflex.dsq",["shapes.vl2"]],"shapes/medium_male_celrocky.dsq":["shapes/medium_male_celrocky.dsq",["shapes.vl2"]],"shapes/medium_male_celsalute.dsq":["shapes/medium_male_celsalute.dsq",["shapes.vl2"]],"shapes/medium_male_celtaunt.dsq":["shapes/medium_male_celtaunt.dsq",["shapes.vl2"]],"shapes/medium_male_celwave.dsq":["shapes/medium_male_celwave.dsq",["shapes.vl2"]],"shapes/medium_male_dead.dts":["shapes/medium_male_dead.dts",["shapes.vl2"]],"shapes/medium_male_dieback.dsq":["shapes/medium_male_dieback.dsq",["shapes.vl2"]],"shapes/medium_male_diechest.dsq":["shapes/medium_male_diechest.dsq",["shapes.vl2"]],"shapes/medium_male_dieforward.dsq":["shapes/medium_male_dieforward.dsq",["shapes.vl2"]],"shapes/medium_male_diehead.dsq":["shapes/medium_male_diehead.dsq",["shapes.vl2"]],"shapes/medium_male_dieknees.dsq":["shapes/medium_male_dieknees.dsq",["shapes.vl2"]],"shapes/medium_male_dieleglf.dsq":["shapes/medium_male_dieleglf.dsq",["shapes.vl2"]],"shapes/medium_male_dielegrt.dsq":["shapes/medium_male_dielegrt.dsq",["shapes.vl2"]],"shapes/medium_male_diesidelf.dsq":["shapes/medium_male_diesidelf.dsq",["shapes.vl2"]],"shapes/medium_male_diesidert.dsq":["shapes/medium_male_diesidert.dsq",["shapes.vl2"]],"shapes/medium_male_dieslump.dsq":["shapes/medium_male_dieslump.dsq",["shapes.vl2"]],"shapes/medium_male_diespin.dsq":["shapes/medium_male_diespin.dsq",["shapes.vl2"]],"shapes/medium_male_fall.dsq":["shapes/medium_male_fall.dsq",["shapes.vl2"]],"shapes/medium_male_forward.dsq":["shapes/medium_male_forward.dsq",["shapes.vl2"]],"shapes/medium_male_head.dsq":["shapes/medium_male_head.dsq",["shapes.vl2"]],"shapes/medium_male_headside.dsq":["shapes/medium_male_headside.dsq",["shapes.vl2"]],"shapes/medium_male_idlepda.dsq":["shapes/medium_male_idlepda.dsq",["shapes.vl2"]],"shapes/medium_male_jet.dsq":["shapes/medium_male_jet.dsq",["shapes.vl2"]],"shapes/medium_male_jump.dsq":["shapes/medium_male_jump.dsq",["shapes.vl2"]],"shapes/medium_male_land.dsq":["shapes/medium_male_land.dsq",["shapes.vl2"]],"shapes/medium_male_lookde.dsq":["shapes/medium_male_lookde.dsq",["shapes.vl2"]],"shapes/medium_male_lookms.dsq":["shapes/medium_male_lookms.dsq",["shapes.vl2"]],"shapes/medium_male_looknw.dsq":["shapes/medium_male_looknw.dsq",["shapes.vl2"]],"shapes/medium_male_looksn.dsq":["shapes/medium_male_looksn.dsq",["shapes.vl2"]],"shapes/medium_male_recoilde.dsq":["shapes/medium_male_recoilde.dsq",["shapes.vl2"]],"shapes/medium_male_root.dsq":["shapes/medium_male_root.dsq",["shapes.vl2"]],"shapes/medium_male_side.dsq":["shapes/medium_male_side.dsq",["shapes.vl2"]],"shapes/medium_male_sitting.dsq":["shapes/medium_male_sitting.dsq",["shapes.vl2"]],"shapes/medium_male_ski.dsq":["shapes/medium_male_ski.dsq",["shapes.vl2"]],"shapes/medium_male_standjump.dsq":["shapes/medium_male_standjump.dsq",["shapes.vl2"]],"shapes/medium_male_tauntbest.dsq":["shapes/medium_male_tauntbest.dsq",["shapes.vl2"]],"shapes/medium_male_tauntimp.dsq":["shapes/medium_male_tauntimp.dsq",["shapes.vl2"]],"shapes/mine.dts":["shapes/mine.dts",["shapes.vl2"]],"shapes/mortar_explosion.dts":["shapes/mortar_explosion.dts",["shapes.vl2"]],"shapes/mortar_projectile.dts":["shapes/mortar_projectile.dts",["shapes.vl2"]],"shapes/nexus_effect.dts":["shapes/nexus_effect.dts",["shapes.vl2"]],"shapes/nexusbase.dts":["shapes/nexusbase.dts",["shapes.vl2"]],"shapes/nexuscap.dts":["shapes/nexuscap.dts",["shapes.vl2"]],"shapes/octahedron.dts":["shapes/octahedron.dts",["shapes.vl2"]],"shapes/pack_barrel_aa.dts":["shapes/pack_barrel_aa.dts",["shapes.vl2"]],"shapes/pack_barrel_elf.dts":["shapes/pack_barrel_elf.dts",["shapes.vl2"]],"shapes/pack_barrel_fusion.dts":["shapes/pack_barrel_fusion.dts",["shapes.vl2"]],"shapes/pack_barrel_missile.dts":["shapes/pack_barrel_missile.dts",["shapes.vl2"]],"shapes/pack_barrel_mortar.dts":["shapes/pack_barrel_mortar.dts",["shapes.vl2"]],"shapes/pack_deploy_ammo.dts":["shapes/pack_deploy_ammo.dts",["shapes.vl2"]],"shapes/pack_deploy_inventory.dts":["shapes/pack_deploy_inventory.dts",["shapes.vl2"]],"shapes/pack_deploy_sensor_motion.dts":["shapes/pack_deploy_sensor_motion.dts",["shapes.vl2"]],"shapes/pack_deploy_sensor_pulse.dts":["shapes/pack_deploy_sensor_pulse.dts",["shapes.vl2"]],"shapes/pack_deploy_turreti.dts":["shapes/pack_deploy_turreti.dts",["shapes.vl2"]],"shapes/pack_deploy_turreto.dts":["shapes/pack_deploy_turreto.dts",["shapes.vl2"]],"shapes/pack_upgrade_ammo.dts":["shapes/pack_upgrade_ammo.dts",["shapes.vl2"]],"shapes/pack_upgrade_cloaking.dts":["shapes/pack_upgrade_cloaking.dts",["shapes.vl2"]],"shapes/pack_upgrade_energy.dts":["shapes/pack_upgrade_energy.dts",["shapes.vl2"]],"shapes/pack_upgrade_repair.dts":["shapes/pack_upgrade_repair.dts",["shapes.vl2"]],"shapes/pack_upgrade_satchel.dts":["shapes/pack_upgrade_satchel.dts",["shapes.vl2"]],"shapes/pack_upgrade_sensorjammer.dts":["shapes/pack_upgrade_sensorjammer.dts",["shapes.vl2"]],"shapes/pack_upgrade_shield.dts":["shapes/pack_upgrade_shield.dts",["shapes.vl2"]],"shapes/paperflag.dts":["shapes/paperFlag.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/plasmabolt.dts":["shapes/plasmabolt.dts",["shapes.vl2"]],"shapes/pmiscf.dts":["shapes/pmiscf.dts",["shapes.vl2"]],"shapes/porg1-dark.dts":["shapes/porg1-dark.dts",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"shapes/porg1.dts":["shapes/porg1.dts",["shapes.vl2"]],"shapes/porg2.dts":["shapes/porg2.dts",["shapes.vl2"]],"shapes/porg20.dts":["shapes/porg20.dts",["shapes.vl2"]],"shapes/porg22.dts":["shapes/porg22.dts",["shapes.vl2"]],"shapes/porg3.dts":["shapes/porg3.dts",["shapes.vl2"]],"shapes/porg4.dts":["shapes/porg4.dts",["shapes.vl2"]],"shapes/porg5.dts":["shapes/porg5.dts",["shapes.vl2"]],"shapes/porg6.dts":["shapes/porg6.dts",["shapes.vl2"]],"shapes/redeemer.dts":["shapes/redeemer.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/repair_kit.dts":["shapes/repair_kit.dts",["shapes.vl2"]],"shapes/repair_patch.dts":["shapes/repair_patch.dts",["shapes.vl2"]],"shapes/reticle_bomber.dts":["shapes/reticle_bomber.dts",["shapes.vl2"]],"shapes/rst-chocotaco.dts":["shapes/rst-chocotaco.dts",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"shapes/rst-goonflag.dts":["shapes/rst-goonflag.dts",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"shapes/rst-samifin.dts":["shapes/rst-samifin.dts",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"shapes/rst-santahat.dts":["shapes/rst-santahat.dts",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"shapes/rst-taobook.dts":["shapes/rst-taobook.dts",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"shapes/rst-tcmug.dts":["shapes/rst-TCmug.dts",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"shapes/rst-tnmug.dts":["shapes/rst-TNmug.dts",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"shapes/rst-turtle.dts":["shapes/rst-turtle.dts",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"shapes/sensor_pulse_large.dts":["shapes/sensor_pulse_large.dts",["shapes.vl2"]],"shapes/sensor_pulse_medium.dts":["shapes/sensor_pulse_medium.dts",["shapes.vl2"]],"shapes/silver_pole.dts":["shapes/silver_pole.dts",["TR2final105-client.vl2"]],"shapes/skyspherea.dts":["shapes/skySphereA.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/skysphereb.dts":["shapes/skySphereB.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/smiscf.dts":["shapes/smiscf.dts",["shapes.vl2"]],"shapes/solarpanel.dts":["shapes/solarpanel.dts",["shapes.vl2"]],"shapes/sorg20.dts":["shapes/sorg20.dts",["shapes.vl2"]],"shapes/sorg21.dts":["shapes/sorg21.dts",["shapes.vl2"]],"shapes/sorg22.dts":["shapes/sorg22.dts",["shapes.vl2"]],"shapes/sorg23.dts":["shapes/sorg23.dts",["shapes.vl2"]],"shapes/sorg24.dts":["shapes/sorg24.dts",["shapes.vl2"]],"shapes/stackable1l.dts":["shapes/stackable1l.dts",["shapes.vl2"]],"shapes/stackable1m.dts":["shapes/stackable1m.dts",["shapes.vl2"]],"shapes/stackable1s.dts":["shapes/stackable1s.dts",["shapes.vl2"]],"shapes/stackable2l.dts":["shapes/stackable2l.dts",["shapes.vl2"]],"shapes/stackable2m.dts":["shapes/stackable2m.dts",["shapes.vl2"]],"shapes/stackable2s.dts":["shapes/stackable2s.dts",["shapes.vl2"]],"shapes/stackable3l.dts":["shapes/stackable3l.dts",["shapes.vl2"]],"shapes/stackable3m.dts":["shapes/stackable3m.dts",["shapes.vl2"]],"shapes/stackable3s.dts":["shapes/stackable3s.dts",["shapes.vl2"]],"shapes/stackable4l.dts":["shapes/stackable4l.dts",["shapes.vl2"]],"shapes/stackable4m.dts":["shapes/stackable4m.dts",["shapes.vl2"]],"shapes/stackable5l.dts":["shapes/stackable5l.dts",["shapes.vl2"]],"shapes/stackable5m.dts":["shapes/stackable5m.dts",["shapes.vl2"]],"shapes/station_generator_large.dts":["shapes/station_generator_large.dts",["shapes.vl2"]],"shapes/station_inv_human.dts":["shapes/station_inv_human.dts",["shapes.vl2"]],"shapes/station_inv_mpb.dts":["shapes/station_inv_mpb.dts",["shapes.vl2"]],"shapes/station_teleport.dts":["shapes/station_teleport.dts",["shapes.vl2"]],"shapes/statue_base.dts":["shapes/statue_base.dts",["shapes.vl2"]],"shapes/statue_hmale.dts":["shapes/statue_hmale.dts",["shapes.vl2"]],"shapes/statue_lfemale.dts":["shapes/statue_lfemale.dts",["shapes.vl2"]],"shapes/statue_lmale.dts":["shapes/statue_lmale.dts",["shapes.vl2"]],"shapes/statue_plaque.dts":["shapes/statue_plaque.dts",["shapes.vl2"]],"shapes/switch.dts":["shapes/switch.dts",["shapes.vl2"]],"shapes/t1ammopad.dts":["shapes/t1ammopad.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1baseflag.dts":["shapes/t1baseflag.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1baseflagb.dts":["shapes/t1baseflagB.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1baseflagd.dts":["shapes/t1baseflagD.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1baseflagp.dts":["shapes/t1baseflagP.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1baseflags.dts":["shapes/t1baseflagS.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1blaster.dts":["shapes/t1blaster.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1chaingun.dts":["shapes/t1Chaingun.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1cmdstation.dts":["shapes/t1CMDStation.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1depammo.dts":["shapes/t1DepAmmo.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1depinvy.dts":["shapes/t1DepInvy.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1depinvy_pack.dts":["shapes/t1DepInvy_Pack.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1disc.dts":["shapes/t1disc.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1elf.dts":["shapes/T1ELF.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1elfturret.dts":["shapes/t1elfTurret.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1flyer.dts":["shapes/t1flyer.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1flyer2.dts":["shapes/t1flyer2.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1grenadelauncher.dts":["shapes/t1GrenadeLauncher.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1hpc.dts":["shapes/t1hpc.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1inventorystation.dts":["shapes/t1inventorystation.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1lpc.dts":["shapes/t1lpc.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1lsensor.dts":["shapes/t1LSensor.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1misturret.dts":["shapes/t1MisTurret.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1mortar.dts":["shapes/t1mortar.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1msensor.dts":["shapes/t1mSensor.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1pgen.dts":["shapes/t1pGen.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1plasma.dts":["shapes/t1plasma.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1powergen.dts":["shapes/t1PowerGen.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1remoteturret.dts":["shapes/t1RemoteTurret.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1remoteturret_pack.dts":["shapes/t1RemoteTurret_Pack.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1repairpack.dts":["shapes/t1RepairPack.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1repairpackgun.dts":["shapes/t1RepairPackGun.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1sentry.dts":["shapes/t1Sentry.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1sniper.dts":["shapes/t1sniper.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1solar.dts":["shapes/t1Solar.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1targetlaser.dts":["shapes/t1TargetLaser.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1vehpad.dts":["shapes/t1VehPad.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1vehstation.dts":["shapes/t1VehStation.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t2depammo.dts":["shapes/t2DepAmmo.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t2depammo_pack.dts":["shapes/t2DepAmmo_Pack.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/targetcube.dts":["shapes/targetCube.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/tcube.dts":["shapes/tCube.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/teamlogo_bd.dts":["shapes/teamlogo_bd.dts",["shapes.vl2"]],"shapes/teamlogo_be.dts":["shapes/teamlogo_be.dts",["shapes.vl2"]],"shapes/teamlogo_ds.dts":["shapes/teamlogo_ds.dts",["shapes.vl2"]],"shapes/teamlogo_hb.dts":["shapes/teamlogo_hb.dts",["shapes.vl2"]],"shapes/teamlogo_inf.dts":["shapes/teamlogo_inf.dts",["shapes.vl2"]],"shapes/teamlogo_projector.dts":["shapes/teamlogo_projector.dts",["shapes.vl2"]],"shapes/teamlogo_storm.dts":["shapes/teamlogo_storm.dts",["shapes.vl2"]],"shapes/teamlogo_sw.dts":["shapes/teamlogo_sw.dts",["shapes.vl2"]],"shapes/tr2flag.dts":["shapes/TR2flag.dts",["TR2final105-client.vl2"]],"shapes/tr2heavy_male.dts":["shapes/TR2heavy_male.dts",["TR2final105-client.vl2"]],"shapes/tr2heavy_male_back.dsq":["shapes/TR2heavy_male_back.dsq",["TR2final105-client.vl2"]],"shapes/tr2heavy_male_celdance.dsq":["shapes/TR2heavy_male_celdance.dsq",["TR2final105-client.vl2"]],"shapes/tr2heavy_male_celflex.dsq":["shapes/TR2heavy_male_celflex.dsq",["TR2final105-client.vl2"]],"shapes/tr2heavy_male_celjump.dsq":["shapes/TR2heavy_male_celjump.dsq",["TR2final105-client.vl2"]],"shapes/tr2heavy_male_celsalute.dsq":["shapes/TR2heavy_male_celsalute.dsq",["TR2final105-client.vl2"]],"shapes/tr2heavy_male_celtaunt.dsq":["shapes/TR2heavy_male_celtaunt.dsq",["TR2final105-client.vl2"]],"shapes/tr2heavy_male_celwave.dsq":["shapes/TR2heavy_male_celwave.dsq",["TR2final105-client.vl2"]],"shapes/tr2heavy_male_dieback.dsq":["shapes/TR2heavy_male_dieback.dsq",["TR2final105-client.vl2"]],"shapes/tr2heavy_male_diechest.dsq":["shapes/TR2heavy_male_diechest.dsq",["TR2final105-client.vl2"]],"shapes/tr2heavy_male_dieforward.dsq":["shapes/TR2heavy_male_dieforward.dsq",["TR2final105-client.vl2"]],"shapes/tr2heavy_male_diehead.dsq":["shapes/TR2heavy_male_diehead.dsq",["TR2final105-client.vl2"]],"shapes/tr2heavy_male_dieknees.dsq":["shapes/TR2heavy_male_dieknees.dsq",["TR2final105-client.vl2"]],"shapes/tr2heavy_male_dieleglf.dsq":["shapes/TR2heavy_male_dieleglf.dsq",["TR2final105-client.vl2"]],"shapes/tr2heavy_male_dielegrt.dsq":["shapes/TR2heavy_male_dielegrt.dsq",["TR2final105-client.vl2"]],"shapes/tr2heavy_male_diesidelf.dsq":["shapes/TR2heavy_male_diesidelf.dsq",["TR2final105-client.vl2"]],"shapes/tr2heavy_male_diesidert.dsq":["shapes/TR2heavy_male_diesidert.dsq",["TR2final105-client.vl2"]],"shapes/tr2heavy_male_dieslump.dsq":["shapes/TR2heavy_male_dieslump.dsq",["TR2final105-client.vl2"]],"shapes/tr2heavy_male_diespin.dsq":["shapes/TR2heavy_male_diespin.dsq",["TR2final105-client.vl2"]],"shapes/tr2heavy_male_fall.dsq":["shapes/TR2heavy_male_fall.dsq",["TR2final105-client.vl2"]],"shapes/tr2heavy_male_forward.dsq":["shapes/TR2heavy_male_forward.dsq",["TR2final105-client.vl2"]],"shapes/tr2heavy_male_jet.dsq":["shapes/TR2heavy_male_jet.dsq",["TR2final105-client.vl2"]],"shapes/tr2heavy_male_jump.dsq":["shapes/TR2heavy_male_jump.dsq",["TR2final105-client.vl2"]],"shapes/tr2heavy_male_land.dsq":["shapes/TR2heavy_male_land.dsq",["TR2final105-client.vl2"]],"shapes/tr2heavy_male_root.dsq":["shapes/TR2heavy_male_root.dsq",["TR2final105-client.vl2"]],"shapes/tr2heavy_male_side.dsq":["shapes/TR2heavy_male_side.dsq",["TR2final105-client.vl2"]],"shapes/tr2heavy_male_ski.dsq":["shapes/TR2heavy_male_ski.dsq",["TR2final105-client.vl2"]],"shapes/tr2heavy_male_standjump.dsq":["shapes/TR2heavy_male_standjump.dsq",["TR2final105-client.vl2"]],"shapes/tr2heavy_male_tauntbest.dsq":["shapes/TR2heavy_male_tauntbest.dsq",["TR2final105-client.vl2"]],"shapes/tr2heavy_male_tauntimp.dsq":["shapes/TR2heavy_male_tauntimp.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_female.dts":["shapes/TR2light_female.dts",["TR2final105-client.vl2"]],"shapes/tr2light_female_back.dsq":["shapes/TR2light_female_back.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_female_celbow.dsq":["shapes/TR2light_female_celbow.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_female_celdance.dsq":["shapes/TR2light_female_celdance.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_female_celsalute.dsq":["shapes/TR2light_female_celsalute.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_female_celwave.dsq":["shapes/TR2light_female_celwave.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_female_dieback.dsq":["shapes/TR2light_female_dieback.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_female_diechest.dsq":["shapes/TR2light_female_diechest.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_female_dieforward.dsq":["shapes/TR2light_female_dieforward.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_female_diehead.dsq":["shapes/TR2light_female_diehead.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_female_dieknees.dsq":["shapes/TR2light_female_dieknees.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_female_dieleglf.dsq":["shapes/TR2light_female_dieleglf.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_female_dielegrt.dsq":["shapes/TR2light_female_dielegrt.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_female_diesidelf.dsq":["shapes/TR2light_female_diesidelf.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_female_diesidert.dsq":["shapes/TR2light_female_diesidert.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_female_dieslump.dsq":["shapes/TR2light_female_dieslump.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_female_diespin.dsq":["shapes/TR2light_female_diespin.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_female_fall.dsq":["shapes/TR2light_female_fall.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_female_forward.dsq":["shapes/TR2light_female_forward.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_female_jet.dsq":["shapes/TR2light_female_jet.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_female_jump.dsq":["shapes/TR2light_female_jump.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_female_land.dsq":["shapes/TR2light_female_land.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_female_root.dsq":["shapes/TR2light_female_root.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_female_side.dsq":["shapes/TR2light_female_side.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_female_ski.dsq":["shapes/TR2light_female_ski.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_female_standjump.dsq":["shapes/TR2light_female_standjump.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_female_tauntbest.dsq":["shapes/TR2light_female_tauntbest.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_female_tauntbutt.dsq":["shapes/TR2light_female_tauntbutt.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_female_tauntimp.dsq":["shapes/TR2light_female_tauntimp.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_female_tauntkiss.dsq":["shapes/TR2light_female_tauntkiss.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_male.dts":["shapes/TR2light_male.dts",["TR2final105-client.vl2"]],"shapes/tr2light_male_back.dsq":["shapes/TR2light_male_back.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_male_fall.dsq":["shapes/TR2light_male_fall.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_male_forward.dsq":["shapes/TR2light_male_forward.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_male_jet.dsq":["shapes/TR2light_male_jet.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_male_jump.dsq":["shapes/TR2light_male_jump.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_male_land.dsq":["shapes/TR2light_male_land.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_male_root.dsq":["shapes/TR2light_male_root.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_male_side.dsq":["shapes/TR2light_male_side.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_male_ski.dsq":["shapes/TR2light_male_ski.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_female.dts":["shapes/TR2medium_female.dts",["TR2final105-client.vl2"]],"shapes/tr2medium_female_back.dsq":["shapes/TR2medium_female_back.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_female_celbow.dsq":["shapes/TR2medium_female_celbow.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_female_celdisco.dsq":["shapes/TR2medium_female_celdisco.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_female_celsalute.dsq":["shapes/TR2medium_female_celsalute.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_female_celwave.dsq":["shapes/TR2medium_female_celwave.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_female_dieback.dsq":["shapes/TR2medium_female_dieback.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_female_diechest.dsq":["shapes/TR2medium_female_diechest.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_female_dieforward.dsq":["shapes/TR2medium_female_dieforward.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_female_diehead.dsq":["shapes/TR2medium_female_diehead.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_female_dieknees.dsq":["shapes/TR2medium_female_dieknees.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_female_dieleglf.dsq":["shapes/TR2medium_female_dieleglf.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_female_dielegrt.dsq":["shapes/TR2medium_female_dielegrt.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_female_diesidelf.dsq":["shapes/TR2medium_female_diesidelf.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_female_diesidert.dsq":["shapes/TR2medium_female_diesidert.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_female_dieslump.dsq":["shapes/TR2medium_female_dieslump.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_female_diespin.dsq":["shapes/TR2medium_female_diespin.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_female_fall.dsq":["shapes/TR2medium_female_fall.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_female_forward.dsq":["shapes/TR2medium_female_forward.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_female_jet.dsq":["shapes/TR2medium_female_jet.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_female_jump.dsq":["shapes/TR2medium_female_jump.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_female_land.dsq":["shapes/TR2medium_female_land.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_female_root.dsq":["shapes/TR2medium_female_root.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_female_side.dsq":["shapes/TR2medium_female_side.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_female_ski.dsq":["shapes/TR2medium_female_ski.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_female_standjump.dsq":["shapes/TR2medium_female_standjump.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_female_tauntbest.dsq":["shapes/TR2medium_female_tauntbest.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_female_tauntbutt.dsq":["shapes/TR2medium_female_tauntbutt.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_female_tauntimp.dsq":["shapes/TR2medium_female_tauntimp.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_female_tauntkiss.dsq":["shapes/TR2medium_female_tauntkiss.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_male.dts":["shapes/TR2medium_male.dts",["TR2final105-client.vl2"]],"shapes/tr2medium_male_back.dsq":["shapes/TR2medium_male_back.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_male_celdance.dsq":["shapes/TR2medium_male_celdance.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_male_celflex.dsq":["shapes/TR2medium_male_celflex.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_male_celrocky.dsq":["shapes/TR2medium_male_celrocky.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_male_celsalute.dsq":["shapes/TR2medium_male_celsalute.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_male_celtaunt.dsq":["shapes/TR2medium_male_celtaunt.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_male_celwave.dsq":["shapes/TR2medium_male_celwave.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_male_dieback.dsq":["shapes/TR2medium_male_dieback.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_male_diechest.dsq":["shapes/TR2medium_male_diechest.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_male_dieforward.dsq":["shapes/TR2medium_male_dieforward.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_male_diehead.dsq":["shapes/TR2medium_male_diehead.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_male_dieknees.dsq":["shapes/TR2medium_male_dieknees.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_male_dieleglf.dsq":["shapes/TR2medium_male_dieleglf.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_male_dielegrt.dsq":["shapes/TR2medium_male_dielegrt.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_male_diesidelf.dsq":["shapes/TR2medium_male_diesidelf.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_male_diesidert.dsq":["shapes/TR2medium_male_diesidert.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_male_dieslump.dsq":["shapes/TR2medium_male_dieslump.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_male_diespin.dsq":["shapes/TR2medium_male_diespin.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_male_fall.dsq":["shapes/TR2medium_male_fall.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_male_forward.dsq":["shapes/TR2medium_male_forward.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_male_jet.dsq":["shapes/TR2medium_male_jet.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_male_jump.dsq":["shapes/TR2medium_male_jump.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_male_land.dsq":["shapes/TR2medium_male_land.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_male_root.dsq":["shapes/TR2medium_male_root.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_male_side.dsq":["shapes/TR2medium_male_side.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_male_sitting.dsq":["shapes/TR2medium_male_sitting.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_male_ski.dsq":["shapes/TR2medium_male_ski.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_male_standjump.dsq":["shapes/TR2medium_male_standjump.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_male_tauntbest.dsq":["shapes/TR2medium_male_tauntbest.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_male_tauntimp.dsq":["shapes/TR2medium_male_tauntimp.dsq",["TR2final105-client.vl2"]],"shapes/tr2weapon_chaingun.dts":["shapes/TR2weapon_chaingun.dts",["TR2final105-client.vl2"]],"shapes/tr2weapon_disc.dts":["shapes/TR2weapon_disc.dts",["TR2final105-client.vl2"]],"shapes/tr2weapon_grenade_launcher.dts":["shapes/TR2weapon_grenade_launcher.dts",["TR2final105-client.vl2"]],"shapes/tr2weapon_mortar.dts":["shapes/TR2weapon_mortar.dts",["TR2final105-client.vl2"]],"shapes/tr2weapon_shocklance.dts":["shapes/TR2weapon_shocklance.dts",["TR2final105-client.vl2"]],"shapes/turret_aa_large.dts":["shapes/turret_aa_large.dts",["shapes.vl2"]],"shapes/turret_assaulttank_mortar.dts":["shapes/turret_assaulttank_mortar.dts",["shapes.vl2"]],"shapes/turret_assaulttank_plasma.dts":["shapes/turret_assaulttank_plasma.dts",["shapes.vl2"]],"shapes/turret_base_large.dts":["shapes/turret_base_large.dts",["shapes.vl2"]],"shapes/turret_base_mpb.dts":["shapes/turret_base_mpb.dts",["shapes.vl2"]],"shapes/turret_belly_barrell.dts":["shapes/turret_belly_barrell.dts",["shapes.vl2"]],"shapes/turret_belly_barrelr.dts":["shapes/turret_belly_barrelr.dts",["shapes.vl2"]],"shapes/turret_belly_base.dts":["shapes/turret_belly_base.dts",["shapes.vl2"]],"shapes/turret_elf_large.dts":["shapes/turret_elf_large.dts",["shapes.vl2"]],"shapes/turret_fusion_large.dts":["shapes/turret_fusion_large.dts",["shapes.vl2"]],"shapes/turret_indoor_deployc.dts":["shapes/turret_indoor_deployc.dts",["shapes.vl2"]],"shapes/turret_indoor_deployf.dts":["shapes/turret_indoor_deployf.dts",["shapes.vl2"]],"shapes/turret_indoor_deployw.dts":["shapes/turret_indoor_deployw.dts",["shapes.vl2"]],"shapes/turret_missile_large.dts":["shapes/turret_missile_large.dts",["shapes.vl2"]],"shapes/turret_mortar_large.dts":["shapes/turret_mortar_large.dts",["shapes.vl2"]],"shapes/turret_muzzlepoint.dts":["shapes/turret_muzzlepoint.dts",["shapes.vl2"]],"shapes/turret_outdoor_deploy.dts":["shapes/turret_outdoor_deploy.dts",["shapes.vl2"]],"shapes/turret_sentry.dts":["shapes/turret_sentry.dts",["shapes.vl2"]],"shapes/turret_tank_barrelchain.dts":["shapes/turret_tank_barrelchain.dts",["shapes.vl2"]],"shapes/turret_tank_barrelmortar.dts":["shapes/turret_tank_barrelmortar.dts",["shapes.vl2"]],"shapes/turret_tank_base.dts":["shapes/turret_tank_base.dts",["shapes.vl2"]],"shapes/vehicle_air_bomber.dts":["shapes/vehicle_air_bomber.dts",["shapes.vl2"]],"shapes/vehicle_air_bomber_debris.dts":["shapes/vehicle_air_bomber_debris.dts",["shapes.vl2"]],"shapes/vehicle_air_hapc.dts":["shapes/vehicle_air_hapc.dts",["shapes.vl2"]],"shapes/vehicle_air_hapc_debris.dts":["shapes/vehicle_air_hapc_debris.dts",["shapes.vl2"]],"shapes/vehicle_air_scout.dts":["shapes/vehicle_air_scout.dts",["shapes.vl2"]],"shapes/vehicle_air_scout_debris.dts":["shapes/vehicle_air_scout_debris.dts",["shapes.vl2"]],"shapes/vehicle_air_scout_wreck.dts":["shapes/vehicle_air_scout_wreck.dts",["shapes.vl2"]],"shapes/vehicle_grav_scout.dts":["shapes/vehicle_grav_scout.dts",["shapes.vl2"]],"shapes/vehicle_grav_scout_debris.dts":["shapes/vehicle_grav_scout_debris.dts",["shapes.vl2"]],"shapes/vehicle_grav_tank.dts":["shapes/vehicle_grav_tank.dts",["shapes.vl2"]],"shapes/vehicle_grav_tank_debris.dts":["shapes/vehicle_grav_tank_debris.dts",["shapes.vl2"]],"shapes/vehicle_grav_tank_wreck.dts":["shapes/vehicle_grav_tank_wreck.dts",["shapes.vl2"]],"shapes/vehicle_land_assault.dts":["shapes/vehicle_land_assault.dts",["shapes.vl2"]],"shapes/vehicle_land_assault_debris.dts":["shapes/vehicle_land_assault_debris.dts",["shapes.vl2"]],"shapes/vehicle_land_assault_wreck.dts":["shapes/vehicle_land_assault_wreck.dts",["shapes.vl2"]],"shapes/vehicle_land_mpbase.dts":["shapes/vehicle_land_mpbase.dts",["shapes.vl2"]],"shapes/vehicle_land_mpbase_debris.dts":["shapes/vehicle_land_mpbase_debris.dts",["shapes.vl2"]],"shapes/vehicle_pad.dts":["shapes/vehicle_pad.dts",["shapes.vl2"]],"shapes/vehicle_pad_station.dts":["shapes/vehicle_pad_station.dts",["shapes.vl2"]],"shapes/vend.dts":["shapes/vend.dts",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"shapes/weapon_chaingun.dts":["shapes/weapon_chaingun.dts",["shapes.vl2"]],"shapes/weapon_chaingun_ammocasing.dts":["shapes/weapon_chaingun_ammocasing.dts",["shapes.vl2"]],"shapes/weapon_disc.dts":["shapes/weapon_disc.dts",["shapes.vl2"]],"shapes/weapon_elf.dts":["shapes/weapon_elf.dts",["shapes.vl2"]],"shapes/weapon_energy.dts":["shapes/weapon_energy.dts",["shapes.vl2"]],"shapes/weapon_energy_vehicle.dts":["shapes/weapon_energy_vehicle.dts",["shapes.vl2"]],"shapes/weapon_grenade_launcher.dts":["shapes/weapon_grenade_launcher.dts",["shapes.vl2"]],"shapes/weapon_missile.dts":["shapes/weapon_missile.dts",["shapes.vl2"]],"shapes/weapon_missile_casement.dts":["shapes/weapon_missile_casement.dts",["shapes.vl2"]],"shapes/weapon_missile_fleschette.dts":["shapes/weapon_missile_fleschette.dts",["shapes.vl2"]],"shapes/weapon_missile_projectile.dts":["shapes/weapon_missile_projectile.dts",["shapes.vl2"]],"shapes/weapon_mortar.dts":["shapes/weapon_mortar.dts",["shapes.vl2"]],"shapes/weapon_plasma.dts":["shapes/weapon_plasma.dts",["shapes.vl2"]],"shapes/weapon_repair.dts":["shapes/weapon_repair.dts",["shapes.vl2"]],"shapes/weapon_shocklance.dts":["shapes/weapon_shocklance.dts",["shapes.vl2"]],"shapes/weapon_sniper.dts":["shapes/weapon_sniper.dts",["shapes.vl2"]],"shapes/weapon_targeting.dts":["shapes/weapon_targeting.dts",["shapes.vl2"]],"shapes/xmiscf.dts":["shapes/xmiscf.dts",["shapes.vl2"]],"shapes/xorg2.dts":["shapes/xorg2.dts",["shapes.vl2"]],"shapes/xorg20.dts":["shapes/xorg20.dts",["shapes.vl2"]],"shapes/xorg21.dts":["shapes/xorg21.dts",["shapes.vl2"]],"shapes/xorg3.dts":["shapes/xorg3.dts",["shapes.vl2"]],"shapes/xorg4.dts":["shapes/xorg4.dts",["shapes.vl2"]],"shapes/xorg5.dts":["shapes/xorg5.dts",["shapes.vl2"]],"support/bind_manager.cs":["support/bind_manager.cs",["z_scripts/support.vl2"]],"support/callback.cs":["support/callback.cs",["z_scripts/support.vl2"]],"support/circular_queue.cs":["support/circular_queue.cs",["z_scripts/support.vl2"]],"support/date_support.cs":["support/date_support.cs",["z_scripts/support.vl2"]],"support/docking_tools.cs":["support/docking_tools.cs",["z_scripts/support.vl2"]],"support/events.cs":["support/events.cs",["z_scripts/support.vl2"]],"support/file_tools.cs":["support/file_tools.cs",["z_scripts/support.vl2"]],"support/flag_tracker.cs":["support/flag_tracker.cs",["z_scripts/support.vl2"]],"support/flood_protect.cs":["support/flood_protect.cs",["z_scripts/support.vl2"]],"support/key_callbacks.cs":["support/key_callbacks.cs",["z_scripts/support.vl2"]],"support/kill_callbacks.cs":["support/kill_callbacks.cs",["z_scripts/support.vl2"]],"support/launch_menu.cs":["support/launch_menu.cs",["z_scripts/support.vl2"]],"support/list.cs":["support/list.cs",["z_scripts/support.vl2"]],"support/loadout.cs":["support/loadout.cs",["z_scripts/support.vl2"]],"support/map.cs":["support/map.cs",["z_scripts/support.vl2"]],"support/menu_system.cs":["support/menu_system.cs",["z_scripts/support.vl2"]],"support/mission_callbacks.cs":["support/mission_callbacks.cs",["z_scripts/support.vl2"]],"support/mute_tools.cs":["support/mute_tools.cs",["z_scripts/support.vl2"]],"support/object_tools.cs":["support/object_tools.cs",["z_scripts/support.vl2"]],"support/pjcolorselector.cs":["support/PJColorSelector.cs",["z_scripts/support.vl2"]],"support/pjenhancedrecording.cs":["support/PJEnhancedRecording.cs",["z_scripts/support.vl2"]],"support/pjfontselector.cs":["support/PJFontSelector.cs",["z_scripts/support.vl2"]],"support/player_support.cs":["support/player_support.cs",["z_scripts/support.vl2"]],"support/stat_support.cs":["support/stat_support.cs",["z_scripts/support.vl2"]],"support/string_tools.cs":["support/string_tools.cs",["z_scripts/support.vl2"]],"support/tap.cs":["support/tap.cs",["z_scripts/support.vl2"]],"support/team_tracker.cs":["support/team_tracker.cs",["z_scripts/support.vl2"]],"support/template_tools.cs":["support/template_tools.cs",["z_scripts/support.vl2"]],"support/tourney_mode.cs":["support/tourney_mode.cs",["z_scripts/support.vl2"]],"support/vector.cs":["support/vector.cs",["z_scripts/support.vl2"]],"support/vehicle_callbacks.cs":["support/vehicle_callbacks.cs",["z_scripts/support.vl2"]],"support/weapon_list.cs":["support/weapon_list.cs",["z_scripts/support.vl2"]],"t2csri/authconnect.cs":["t2csri/authconnect.cs",["T2csri.vl2"]],"t2csri/authinterface.cs":["t2csri/authinterface.cs",["T2csri.vl2"]],"t2csri/autoupdate.cs":["t2csri/autoupdate.cs",["T2csri.vl2"]],"t2csri/bans.cs":["t2csri/bans.cs",["T2csri.vl2"]],"t2csri/base64.cs":["t2csri/base64.cs",["T2csri.vl2"]],"t2csri/certstore.rb":["t2csri/certstore.rb",["T2csri.vl2"]],"t2csri/clientside.cs":["t2csri/clientSide.cs",["T2csri.vl2"]],"t2csri/clientsideclans.cs":["t2csri/clientSideClans.cs",["T2csri.vl2"]],"t2csri/crypto.rb":["t2csri/crypto.rb",["T2csri.vl2"]],"t2csri/glue.cs":["t2csri/glue.cs",["T2csri.vl2"]],"t2csri/ipv4.cs":["t2csri/ipv4.cs",["T2csri.vl2"]],"t2csri/rubyutils.cs":["t2csri/rubyUtils.cs",["T2csri.vl2"]],"t2csri/serverglue.cs":["t2csri/serverglue.cs",["T2csri.vl2"]],"t2csri/serverlist.cs":["t2csri/serverList.cs",["T2csri.vl2"]],"t2csri/serverside.cs":["t2csri/serverSide.cs",["T2csri.vl2"]],"t2csri/serversideclans.cs":["t2csri/serverSideClans.cs",["T2csri.vl2"]],"terrains/2arenadome.spn":["terrains/2ArenaDome.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/2arenavalley.spn":["terrains/2ArenaValley.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/2dustbowl.spn":["terrains/2DustBowl.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/2flyersarena.spn":["terrains/2Flyersarena.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/2icedome.spn":["terrains/2IceDome.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/2indoorintensity.spn":["terrains/2IndoorIntensity.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/aabaa.spn":["terrains/aabaa.spn",["z_mappacks/CTF/Aabaa.vl2"]],"terrains/aabaagh.spn":["terrains/aabaaGH.spn",["z_mappacks/CTF/AabaaGH.vl2"]],"terrains/aardvark_x2.spn":["terrains/Aardvark_x2.spn",["z_mappacks/xPack2.vl2"]],"terrains/aardvark_x2.ter":["terrains/Aardvark_x2.ter",["z_mappacks/xPack2.vl2"]],"terrains/abaddon_x2.spn":["terrains/Abaddon_x2.spn",["z_mappacks/xPack2.vl2"]],"terrains/abaddon_x2.ter":["terrains/Abaddon_x2.ter",["z_mappacks/xPack2.vl2"]],"terrains/abominable.spn":["terrains/Abominable.spn",["missions.vl2"]],"terrains/abominable.ter":["terrains/Abominable.ter",["missions.vl2"]],"terrains/acidrain.spn":["terrains/AcidRain.spn",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/acidrain.ter":["terrains/AcidRain.ter",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/aeroena.spn":["terrains/Aeroena.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/agentsoffortune.spn":["terrains/AgentsOfFortune.spn",["missions.vl2"]],"terrains/agentsoffortune.ter":["terrains/AgentsOfFortune.ter",["missions.vl2"]],"terrains/agorazscium.spn":["terrains/Agorazscium.spn",["z_mappacks/CTF/Agorazscium.vl2"]],"terrains/alcatraz.spn":["terrains/Alcatraz.spn",["missions.vl2"]],"terrains/alcatraz.ter":["terrains/Alcatraz.ter",["missions.vl2"]],"terrains/anabatic.spn":["terrains/anabatic.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/anabatic.ter":["terrains/anabatic.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/anomaly.spn":["terrains/anomaly.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/anomaly.ter":["terrains/anomaly.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/archipelago.spn":["terrains/Archipelago.spn",["missions.vl2"]],"terrains/archipelago.ter":["terrains/Archipelago.ter",["missions.vl2"]],"terrains/arenadome.spn":["terrains/ArenaDome.spn",["z_mappacks/CTF/ArenaDome.vl2"]],"terrains/arenadomedm.spn":["terrains/ArenaDomeDM.spn",["z_mappacks/DM/DMMaps.vl2"]],"terrains/arenaheaven.spn":["terrains/ArenaHeaven.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/arenahell.spn":["terrains/ArenaHell.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/arenahell2.spn":["terrains/ArenaHell2.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/arenainthehill.spn":["terrains/ArenaInTheHill.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/arenaunderthehill.spn":["terrains/ArenaUnderTheHill.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/arrowpass_x2.spn":["terrains/ArrowPass_x2.spn",["z_mappacks/xPack2.vl2"]],"terrains/arrowpass_x2.ter":["terrains/ArrowPass_x2.ter",["z_mappacks/xPack2.vl2"]],"terrains/aryoarena.spn":["terrains/AryoArena.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/ashestoashes.spn":["terrains/AshesToAshes.spn",["missions.vl2"]],"terrains/ashestoashes.ter":["terrains/AshesToAshes.ter",["missions.vl2"]],"terrains/astersdescent.spn":["terrains/AstersDescent.spn",["z_mappacks/CTF/AstersDescent.vl2"]],"terrains/astrograbber_x2.spn":["terrains/AstroGrabber_x2.spn",["z_mappacks/xPack2.vl2"]],"terrains/astrograbber_x2.ter":["terrains/AstroGrabber_x2.ter",["z_mappacks/xPack2.vl2"]],"terrains/attrition.spn":["terrains/Attrition.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/attrition.ter":["terrains/Attrition.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/attritionlt.spn":["terrains/AttritionLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/azoth.spn":["terrains/Azoth.spn",["z_mappacks/CTF/Azoth.vl2"]],"terrains/basatin.spn":["terrains/Basatin.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/basatin.ter":["terrains/Basatin.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/basatinlt.spn":["terrains/BasatinLT.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/basinfury.spn":["terrains/BasinFury.spn",["z_mappacks/CTF/BasinFury.vl2"]],"terrains/bastardforge.ter":["terrains/BastardForge.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/battlegrove.spn":["terrains/BattleGrove.spn",["z_mappacks/CTF/BattleGrove.vl2"]],"terrains/beachblitz_x2.spn":["terrains/BeachBlitz_x2.spn",["z_mappacks/xPack2.vl2"]],"terrains/beachblitz_x2.ter":["terrains/BeachBlitz_x2.ter",["z_mappacks/xPack2.vl2"]],"terrains/beggarsrun.spn":["terrains/BeggarsRun.spn",["missions.vl2"]],"terrains/beggarsrun.ter":["terrains/BeggarsRun.ter",["missions.vl2"]],"terrains/beggarsrunlt.spn":["terrains/BeggarsRunLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/berlard.spn":["terrains/berlard.spn",["z_mappacks/CTF/Berlard.vl2"]],"terrains/berylbasin.spn":["terrains/BerylBasin.spn",["z_mappacks/CTF/BerylBasin.vl2"]],"terrains/blastside_nef.spn":["terrains/Blastside_nef.spn",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/blink.spn":["terrains/Blink.spn",["z_mappacks/CTF/Blink.vl2"]],"terrains/bluemoon_x2.spn":["terrains/BlueMoon_x2.spn",["z_mappacks/xPack2.vl2"]],"terrains/bluemoon_x2.ter":["terrains/BlueMoon_x2.ter",["z_mappacks/xPack2.vl2"]],"terrains/bolderdash_x2.spn":["terrains/BolderDash_x2.spn",["z_mappacks/xPack2.vl2"]],"terrains/bolderdash_x2.ter":["terrains/BolderDash_x2.ter",["z_mappacks/xPack2.vl2"]],"terrains/bombardment.spn":["terrains/bombardment.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/bombardment.ter":["terrains/bombardment.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/bonespur.spn":["terrains/Bonespur.spn",["z_mappacks/CTF/Bonespur.vl2"]],"terrains/bonespurlt.spn":["terrains/BonespurLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/boss_x2.spn":["terrains/Boss_x2.spn",["z_mappacks/xPack2.vl2"]],"terrains/boss_x2.ter":["terrains/Boss_x2.ter",["z_mappacks/xPack2.vl2"]],"terrains/boxlak.spn":["terrains/BoxLak.spn",["z_mappacks/Lak/BoxLak.vl2"]],"terrains/bridgepoint.spn":["terrains/Bridgepoint.spn",["z_mappacks/CTF/Bridgepoint.vl2"]],"terrains/bridgetoofar.spn":["terrains/BridgeTooFar.spn",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"terrains/bridgetoofar.ter":["terrains/BridgeTooFar.ter",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"terrains/brigdm.spn":["terrains/BrigDM.spn",["z_mappacks/DM/DMMaps.vl2"]],"terrains/broadside_nef.spn":["terrains/Broadside_nef.spn",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/broadside_nef.ter":["terrains/Broadside_nef.ter",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/bruteforce_x2.spn":["terrains/BruteForce_x2.spn",["z_mappacks/xPack2.vl2"]],"terrains/bruteforce_x2.ter":["terrains/BruteForce_x2.ter",["z_mappacks/xPack2.vl2"]],"terrains/bulwark.spn":["terrains/Bulwark.spn",["z_mappacks/CTF/DiscordBulwark.vl2"]],"terrains/bulwarklt.spn":["terrains/BulwarkLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/bunkered.ter":["terrains/Bunkered.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/burstside.spn":["terrains/Burstside.spn",["z_mappacks/CTF/Burstside.vl2"]],"terrains/cadaver.spn":["terrains/Cadaver.spn",["z_mappacks/CTF/Cadaver.vl2"]],"terrains/caldera.spn":["terrains/Caldera.spn",["missions.vl2"]],"terrains/caldera.ter":["terrains/Caldera.ter",["missions.vl2"]],"terrains/camelland.spn":["terrains/Camelland.spn",["z_mappacks/CTF/Camelland.vl2"]],"terrains/camellandlt.spn":["terrains/CamellandLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/canyonrun_x2.spn":["terrains/Canyonrun_x2.spn",["z_mappacks/xPack2.vl2"]],"terrains/canyonrun_x2.ter":["terrains/Canyonrun_x2.ter",["z_mappacks/xPack2.vl2"]],"terrains/caprilt.spn":["terrains/CapriLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/cardiac.ter":["terrains/Cardiac.ter",["z_mappacks/CTF/S8maps.vl2"]],"terrains/casern_cavite.spn":["terrains/Casern_Cavite.spn",["missions.vl2"]],"terrains/casern_cavite.ter":["terrains/Casern_Cavite.ter",["missions.vl2"]],"terrains/catwalklt.spn":["terrains/CatwalkLT.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/ccd.ter":["terrains/CCD.ter",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/celerityse.ter":["terrains/CeleritySE.ter",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/chasmaclysmic.spn":["terrains/Chasmaclysmic.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/chasmaclysmic.ter":["terrains/Chasmaclysmic.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/chasmclash.spn":["terrains/ChasmClash.spn",["z_mappacks/CTF/ChasmClash.vl2"]],"terrains/checkmate.spn":["terrains/Checkmate.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/choke.spn":["terrains/Choke.spn",["z_mappacks/CTF/Choke.vl2"]],"terrains/cindercone.spn":["terrains/CinderCone.spn",["z_mappacks/CTF/119Mappack.vl2"]],"terrains/cinerarium.spn":["terrains/Cinerarium.spn",["z_mappacks/CTF/Cinerarium.vl2"]],"terrains/cinerarium.ter":["terrains/Cinerarium.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/cinereous.spn":["terrains/Cinereous.spn",["z_mappacks/CTF/Cinereous.vl2"]],"terrains/circleofstones.spn":["terrains/circleofstones.spn",["z_mappacks/CTF/CircleofStones.vl2"]],"terrains/circlesedge.spn":["terrains/CirclesEdge.spn",["z_mappacks/CTF/CirclesEdge.vl2"]],"terrains/circlesedgelt.spn":["terrains/CirclesEdgeLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/cloak.ter":["terrains/cloak.ter",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/cloakofnightv.spn":["terrains/CloakOfNightV.spn",["z_mappacks/CTF/CloakOfNightV.vl2"]],"terrains/closecombat.spn":["terrains/CloseCombat.spn",["z_mappacks/CTF/CloseCombat.vl2"]],"terrains/closecombatlt.spn":["terrains/CloseCombatLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/cloudburst.spn":["terrains/CloudBurst.spn",["z_mappacks/CTF/CloudBurst.vl2"]],"terrains/cloudcity.spn":["terrains/CloudCity.spn",["z_mappacks/CTF/CloudCity.vl2"]],"terrains/clusterunfuct.spn":["terrains/ClusterUnFuct.spn",["z_mappacks/CTF/ClusterUnFuct.vl2"]],"terrains/coconutfury.spn":["terrains/CoconutFury.spn",["z_mappacks/CTF/119Mappack.vl2"]],"terrains/compusa_melee.spn":["terrains/CompUSA_Melee.spn",["missions.vl2"]],"terrains/compusa_melee.ter":["terrains/CompUSA_Melee.ter",["missions.vl2"]],"terrains/confusco.spn":["terrains/Confusco.spn",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/confusco.ter":["terrains/Confusco.ter",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/constructionyard.spn":["terrains/ConstructionYard.spn",["z_mappacks/CTF/ConstructionYard.vl2"]],"terrains/coppera.ter":["terrains/Coppera.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/coppersky.spn":["terrains/Coppersky.spn",["z_mappacks/CTF/copper-sky.vl2"]],"terrains/crashclash.spn":["terrains/CrashClash.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/crater71.spn":["terrains/Crater71.spn",["TR2final105-client.vl2"]],"terrains/crater71.ter":["terrains/Crater71.ter",["z_mappacks/Lak/LakRabbit_Maps.vl2"],["TR2final105-client.vl2"]],"terrains/daftgulch.spn":["terrains/DaftGulch.spn",["z_mappacks/CTF/DaftGulch.vl2"]],"terrains/damnation.spn":["terrains/Damnation.spn",["missions.vl2"]],"terrains/damnation.ter":["terrains/Damnation.ter",["z_mappacks/Lak/LakRabbit_Maps.vl2"],["missions.vl2"]],"terrains/damnationlt.spn":["terrains/DamnationLT.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/damnationlt.ter":["terrains/damnationlt.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/damnationtdm.spn":["terrains/DamnationTDM.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/dangerouscrossing_nef.spn":["terrains/DangerousCrossing_nef.spn",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/dangerouscrossing_nef.ter":["terrains/DangerousCrossing_nef.ter",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/dangerouscrossingarena.spn":["terrains/DangerousCrossingArena.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/dangerouscrossinglt.spn":["terrains/DangerousCrossingLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/dangerousflinglt.spn":["terrains/DangerousFlingLT.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/dawntodusk.spn":["terrains/dawntodusk.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/dawntodusk.ter":["terrains/dawntodusk.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/dbs_smoothed.spn":["terrains/DBS_Smoothed.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/dbs_smoothed.ter":["terrains/DBS_Smoothed.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/deadlybirdssong_x2.spn":["terrains/DeadlyBirdsSong_x2.spn",["z_mappacks/xPack2.vl2"]],"terrains/deadlybirdssong_x2.ter":["terrains/DeadlyBirdsSong_x2.ter",["z_mappacks/xPack2.vl2"]],"terrains/deathbirdsfly.spn":["terrains/DeathBirdsFly.spn",["missions.vl2"]],"terrains/deathbirdsfly.ter":["terrains/DeathBirdsFly.ter",["missions.vl2"]],"terrains/deathbirdsfly1.spn":["terrains/DeathBirdsFly1.spn",["z_mappacks/CTF/DeadBirdsFly1.vl2"]],"terrains/dehswamp.spn":["terrains/DehSwamp.spn",["z_mappacks/CTF/DehSwamp.vl2"]],"terrains/dermcrossingdeluxe.spn":["terrains/DermCrossingDeluxe.spn",["z_mappacks/CTF/DermCrossingDeluxe.vl2"]],"terrains/dermcrossingdeluxelt.spn":["terrains/DermCrossingDeluxeLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/desertofdeath_nef.spn":["terrains/DesertofDeath_nef.spn",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/desertofdeath_nef.ter":["terrains/DesertofDeath_nef.ter",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"],["z_mappacks/Lak/LakRabbit_Maps.vl2"]],"terrains/desiccator.spn":["terrains/Desiccator.spn",["missions.vl2"]],"terrains/desiccator.ter":["terrains/Desiccator.ter",["missions.vl2"]],"terrains/devilselbow.spn":["terrains/DevilsElbow.spn",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"terrains/devilselbow.ter":["terrains/DevilsElbow.ter",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"terrains/dire.spn":["terrains/Dire.spn",["z_mappacks/CTF/KryMapPack_b3EDIT.vl2"]],"terrains/direlt.spn":["terrains/DireLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/discord.spn":["terrains/Discord.spn",["z_mappacks/CTF/DiscordBulwark.vl2"]],"terrains/discordlt.spn":["terrains/DiscordLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/disjointed.spn":["terrains/Disjointed.spn",["z_mappacks/CTF/KryMapPack_b3EDIT.vl2"]],"terrains/dmp_agroleon.spn":["terrains/DMP_Agroleon.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/dmp_astro.spn":["terrains/DMP_Astro.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/dmp_bastardforge.spn":["terrains/DMP_BastardForge.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/dmp_bastardforgelt.spn":["terrains/DMP_BastardForgeLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/dmp_bittergorge.spn":["terrains/DMP_BitterGorge.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/dmp_bunkered.spn":["terrains/DMP_Bunkered.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/dmp_bunkeredlt.spn":["terrains/DMP_BunkeredLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/dmp_cinerarium.spn":["terrains/DMP_Cinerarium.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/dmp_cinerariumlt.spn":["terrains/DMP_CinerariumLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/dmp_dermcity.spn":["terrains/DMP_DermCity.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/dmp_embers.spn":["terrains/DMP_Embers.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/dmp_emberslt.spn":["terrains/DMP_EmbersLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/dmp_emeraldspit.spn":["terrains/DMP_EmeraldSpit.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/dmp_facecrossing.spn":["terrains/DMP_FaceCrossing.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/dmp_hoth.spn":["terrains/DMP_Hoth.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/dmp_icegiant.spn":["terrains/DMP_IceGiant.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/dmp_isledebatalla.spn":["terrains/DMP_IsleDeBatalla.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/dmp_lavagods.spn":["terrains/DMP_LavaGods.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/dmp_magellan.spn":["terrains/DMP_Magellan.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/dmp_moondance.spn":["terrains/DMP_MoonDance.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/dmp_pantheon.spn":["terrains/DMP_Pantheon.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/dmp_pantheon.ter":["terrains/DMP_Pantheon.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/dmp_paranoia.spn":["terrains/DMP_Paranoia.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/dmp_pariah.spn":["terrains/DMP_Pariah.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/dmp_pariahlt.spn":["terrains/DMP_PariahLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/dmp_pipedream.spn":["terrains/DMP_PipeDream.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/dmp_ravinev.spn":["terrains/DMP_RavineV.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/dmp_scorchedearth.spn":["terrains/DMP_ScorchedEarth.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/dmp_simpleflagarena.spn":["terrains/DMP_SimpleFlagArena.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/dmp_spincycle.spn":["terrains/DMP_SpinCycle.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/dmp_spincyclelt.spn":["terrains/DMP_SpinCycleLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/dmp_starfall.spn":["terrains/DMP_StarFall.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/dmp_starfalllt.spn":["terrains/DMP_StarFallLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/dmp_tyre.spn":["terrains/DMP_Tyre.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/dmp_wasteland.spn":["terrains/DMP_Wasteland.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/draco.spn":["terrains/Draco.spn",["z_mappacks/CTF/Draco.vl2"]],"terrains/drafts.spn":["terrains/Drafts.spn",["z_mappacks/CTF/Drafts.vl2"]],"terrains/drifts_x2.spn":["terrains/Drifts_x2.spn",["z_mappacks/xPack2.vl2"]],"terrains/drifts_x2.ter":["terrains/Drifts_x2.ter",["z_mappacks/xPack2.vl2"]],"terrains/dropin.ter":["terrains/dropin.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/dropinlt.spn":["terrains/DropInLT.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/duelersdelight.spn":["terrains/DuelersDelight.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/dustlust.spn":["terrains/DustLust.spn",["z_mappacks/CTF/DustLust.vl2"]],"terrains/dusttodust.spn":["terrains/DustToDust.spn",["missions.vl2"]],"terrains/dusttodust.ter":["terrains/DustToDust.ter",["missions.vl2"]],"terrains/dx_badlands.spn":["terrains/DX_Badlands.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/dx_badlands.ter":["terrains/DX_Badlands.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/dx_desert.spn":["terrains/DX_Desert.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/dx_desert.ter":["terrains/DX_Desert.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/dx_ice.spn":["terrains/DX_Ice.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/dx_ice.ter":["terrains/DX_Ice.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/dx_icelt.spn":["terrains/DX_IceLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/dxfling.ter":["terrains/dxfling.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/eb_hades.spn":["terrains/EB_Hades.spn",["missions.vl2"]],"terrains/eb_hades.ter":["terrains/EB_Hades.ter",["missions.vl2"]],"terrains/einfach.spn":["terrains/Einfach.spn",["z_mappacks/CTF/Einfach.vl2"]],"terrains/eivoitoxico.spn":["terrains/EivoItoxico.spn",["z_mappacks/CTF/EivoItoxico.vl2"]],"terrains/el_fin.spn":["terrains/El_Fin.spn",["z_mappacks/CTF/El_Fin.vl2"]],"terrains/el_finlt.spn":["terrains/El_FinLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/embers.ter":["terrains/Embers.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/entombeddm.spn":["terrains/EntombedDM.spn",["z_mappacks/DM/DMMaps.vl2"]],"terrains/envyrena.spn":["terrains/Envyrena.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/enyland.spn":["terrains/EnyLand.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/equinox.spn":["terrains/Equinox.spn",["missions.vl2"]],"terrains/equinox.ter":["terrains/Equinox.ter",["missions.vl2"]],"terrains/erebus_x2.spn":["terrains/Erebus_x2.spn",["z_mappacks/xPack2.vl2"]],"terrains/erebus_x2.ter":["terrains/Erebus_x2.ter",["z_mappacks/xPack2.vl2"]],"terrains/escalade.spn":["terrains/Escalade.spn",["z_mappacks/Lak/EscaladeLak.vl2"],["missions.vl2"]],"terrains/escalade.ter":["terrains/Escalade.ter",["z_mappacks/Lak/EscaladeLak.vl2"],["missions.vl2"]],"terrains/euro4_bleed.ter":["terrains/Euro4_Bleed.ter",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/euro4_dissention.ter":["terrains/Euro4_Dissention.ter",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/euro4_frozenhope.ter":["terrains/Euro4_FrozenHope.ter",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/euro_drifts_se.ter":["terrains/Euro_Drifts_SE.ter",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/eveningland.spn":["terrains/EveningLand.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/ewok_hamlet.spn":["terrains/Ewok_Hamlet.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/ewok_hamlet.ter":["terrains/Ewok_Hamlet.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/ewok_village.spn":["terrains/Ewok_Village.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/ewok_village.ter":["terrains/Ewok_Village.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/exhumed.spn":["terrains/Exhumed.spn",["z_mappacks/CTF/Exhumed.vl2"]],"terrains/extra_badlands1.ter":["terrains/Extra_Badlands1.ter",["missions.vl2"]],"terrains/extractor.spn":["terrains/Extractor.spn",["z_mappacks/CTF/Extractor.vl2"]],"terrains/facingworlds.spn":["terrains/facingWorlds.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/facingworlds.ter":["terrains/facingWorlds.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/facingworldsarena.spn":["terrains/facingWorldsArena.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/facingworldslt.spn":["terrains/facingWorldsLT.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/fallout.spn":["terrains/Fallout.spn",["z_mappacks/CTF/Fallout.vl2"]],"terrains/fenix.spn":["terrains/Fenix.spn",["z_mappacks/CTF/Fenix.vl2"]],"terrains/filtereddust.spn":["terrains/FilteredDust.spn",["z_mappacks/CTF/FilteredDust.vl2"]],"terrains/fireballs_x2.spn":["terrains/Fireballs_x2.spn",["z_mappacks/xPack2.vl2"]],"terrains/fireballs_x2.ter":["terrains/FireBalls_x2.ter",["z_mappacks/xPack2.vl2"]],"terrains/firestorm.spn":["terrains/Firestorm.spn",["missions.vl2"]],"terrains/firestorm.ter":["terrains/Firestorm.ter",["missions.vl2"]],"terrains/firestormlt.spn":["terrains/FirestormLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/firn.spn":["terrains/firn.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/firn.ter":["terrains/firn.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/flashpoint.spn":["terrains/FlashPoint.spn",["missions.vl2"]],"terrains/flashpoint.ter":["terrains/Flashpoint.ter",["missions.vl2"]],"terrains/foursquaredm.spn":["terrains/FourSquareDM.spn",["z_mappacks/DM/DMMaps.vl2"]],"terrains/fracas.spn":["terrains/Fracas.spn",["missions.vl2"]],"terrains/fracas.ter":["terrains/Fracas.ter",["missions.vl2"]],"terrains/frostbite.spn":["terrains/FrostBite.spn",["z_mappacks/CTF/FrostBite.vl2"]],"terrains/frostline.spn":["terrains/frostline.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/frostline.ter":["terrains/frostline.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/frostpipe.spn":["terrains/FrostPipe.spn",["z_mappacks/CTF/FrostPipe.vl2"]],"terrains/frozenforgelt.spn":["terrains/FrozenForgeLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/frozenfury.spn":["terrains/FrozenFury.spn",["TR2final105-client.vl2"]],"terrains/frozenfury.ter":["terrains/FrozenFury.ter",["TR2final105-client.vl2"]],"terrains/frozenhope.spn":["terrains/FrozenHope.spn",["z_mappacks/CTF/FrozenHope.vl2"]],"terrains/frozenhopelt.spn":["terrains/FrozenHopeLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/frozennopelt.spn":["terrains/FrozenNopeLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/frozensolid.spn":["terrains/frozenSolid.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/frozensolid.ter":["terrains/frozenSolid.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/fullcircle.spn":["terrains/FullCircle.spn",["z_mappacks/CTF/KryMapPack_b3EDIT.vl2"]],"terrains/gauntlet.spn":["terrains/Gauntlet.spn",["missions.vl2"]],"terrains/gauntlet.ter":["terrains/Gauntlet.ter",["missions.vl2"]],"terrains/gehenna.spn":["terrains/Gehenna.spn",["missions.vl2"]],"terrains/gehenna.ter":["terrains/Gehenna.ter",["missions.vl2"]],"terrains/geothermal.ter":["terrains/Geothermal.ter",["z_mappacks/CTF/S8maps.vl2"]],"terrains/glade.spn":["terrains/Glade.spn",["z_mappacks/CTF/Glade.vl2"]],"terrains/godsrift.spn":["terrains/GodsRift.spn",["TR2final105-client.vl2"]],"terrains/godsrift.ter":["terrains/GodsRift.ter",["TR2final105-client.vl2"]],"terrains/gorgon.spn":["terrains/Gorgon.spn",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Gorgon.vl2"]],"terrains/gorgon.ter":["terrains/Gorgon.ter",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"],["z_mappacks/CTF/Gorgon.vl2"]],"terrains/gorgondm.spn":["terrains/GorgonDM.spn",["z_mappacks/DM/DMMaps.vl2"]],"terrains/grassyknolllt.spn":["terrains/GrassyKnollLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/greenlawn.spn":["terrains/GreenLawn.spn",["z_mappacks/CTF/GreenLawn.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/harvestdance.spn":["terrains/HarvestDance.spn",["z_mappacks/CTF/HarvestDance.vl2"]],"terrains/harvester_x2.spn":["terrains/Harvester_x2.spn",["z_mappacks/xPack2.vl2"]],"terrains/harvester_x2.ter":["terrains/Harvester_x2.ter",["z_mappacks/xPack2.vl2"]],"terrains/haven.spn":["terrains/Haven.spn",["TR2final105-client.vl2"]],"terrains/haven.ter":["terrains/Haven.ter",["z_mappacks/Lak/LakRabbit_Maps.vl2"],["TR2final105-client.vl2"]],"terrains/headstone.spn":["terrains/Headstone.spn",["z_mappacks/CTF/KryMapPack_b3EDIT.vl2"]],"terrains/heightfield/ctf.katabatic_heightfield.cs":["terrains/heightfield/CTF.Katabatic_heightfield.cs",["missions.vl2"]],"terrains/heightfield/ctf.riverdance_heightfield.cs":["terrains/heightfield/CTF.RiverDance_heightfield.cs",["missions.vl2"]],"terrains/heightfield/deathbirdsfly_heightfield.cs":["terrains/heightfield/DeathBirdsFly_heightfield.cs",["missions.vl2"]],"terrains/heightfield/desert.cs":["terrains/heightfield/desert.cs",["missions.vl2"]],"terrains/heightfield/einfach_heightfield.cs":["terrains/heightfield/Einfach_heightfield.cs",["z_mappacks/CTF/Einfach.vl2"]],"terrains/heightfield/fall_to_glory_heightfield.cs":["terrains/heightfield/Fall_To_Glory_heightfield.cs",["missions.vl2"]],"terrains/heightfield/glade_heightfield.cs":["terrains/heightfield/Glade_heightfield.cs",["z_mappacks/CTF/Glade.vl2"]],"terrains/heightfield/home.badlands_heightfield.cs":["terrains/heightfield/Home.Badlands_heightfield.cs",["missions.vl2"]],"terrains/heightfield/home.desert_heightfield.cs":["terrains/heightfield/Home.Desert_heightfield.cs",["missions.vl2"]],"terrains/heightfield/home.lush_heightfield.cs":["terrains/heightfield/Home.Lush_heightfield.cs",["missions.vl2"]],"terrains/heightfield/home.snow2_heightfield.cs":["terrains/heightfield/Home.Snow2_heightfield.cs",["missions.vl2"]],"terrains/heightfield/home.snow_heightfield.cs":["terrains/heightfield/Home.Snow_heightfield.cs",["missions.vl2"]],"terrains/heightfield/hunters.burnout_heightfield.cs":["terrains/heightfield/Hunters.Burnout_heightfield.cs",["missions.vl2"]],"terrains/heightfield/hunters.casern_cavite_heightfield.cs":["terrains/heightfield/Hunters.Casern_Cavite_heightfield.cs",["missions.vl2"]],"terrains/heightfield/hunters.chaopia_heightfield.cs":["terrains/heightfield/Hunters.Chaopia_heightfield.cs",["missions.vl2"]],"terrains/heightfield/hunters.intaglio_heightfield.cs":["terrains/heightfield/Hunters.Intaglio_heightfield.cs",["missions.vl2"]],"terrains/heightfield/hunters.myrkwood_heightfield.cs":["terrains/heightfield/Hunters.MyrkWood_heightfield.cs",["missions.vl2"]],"terrains/heightfield/hunters.rasp_heightfield.cs":["terrains/heightfield/Hunters.Rasp_heightfield.cs",["missions.vl2"]],"terrains/heightfield/hunters.sundried_heightfield.cs":["terrains/heightfield/Hunters.SunDried_heightfield.cs",["missions.vl2"]],"terrains/heightfield/logans_run_heightfield.cs":["terrains/heightfield/Logans_Run_heightfield.cs",["z_mappacks/CTF/LogansRun.vl2"]],"terrains/heightfield/lush.cs":["terrains/heightfield/Lush.cs",["missions.vl2"]],"terrains/heightfield/lush1.cs":["terrains/heightfield/Lush1.cs",["missions.vl2"]],"terrains/heightfield/lush2.cs":["terrains/heightfield/Lush2.cs",["missions.vl2"]],"terrains/heightfield/lush3.cs":["terrains/heightfield/Lush3.cs",["missions.vl2"]],"terrains/heightfield/lush4.cs":["terrains/heightfield/Lush4.cs",["missions.vl2"]],"terrains/heightfield/lush5.cs":["terrains/heightfield/Lush5.cs",["missions.vl2"]],"terrains/heightfield/lush8.cs":["terrains/heightfield/Lush8.cs",["missions.vl2"]],"terrains/heightfield/mark1_heightfield.cs":["terrains/heightfield/Mark1_heightfield.cs",["missions.vl2"]],"terrains/heightfield/myrkwoodmask.png":["terrains/heightfield/MyrkWoodMask.png",["missions.vl2"]],"terrains/heightfield/myrkwoodstream.png":["terrains/heightfield/MyrkWoodStream.png",["missions.vl2"]],"terrains/heightfield/newlava1_heightfield.cs":["terrains/heightfield/NewLava1_heightfield.cs",["missions.vl2"]],"terrains/heightfield/overreach_heightfield.cs":["terrains/heightfield/Overreach_heightfield.cs",["missions.vl2"]],"terrains/heightfield/reversion_heightfield.cs":["terrains/heightfield/Reversion_heightfield.cs",["missions.vl2"]],"terrains/heightfield/roads.cs":["terrains/heightfield/Roads.cs",["missions.vl2"]],"terrains/heightfield/rst_hawking.png":["terrains/heightfield/RST_hawking.png",["z_mappacks/CTF/S5maps.vl2"]],"terrains/heightfield/rst_hawkingheat.png":["terrains/heightfield/RST_hawkingheat.png",["z_mappacks/CTF/S5maps.vl2"]],"terrains/heightfield/rst_misadventure.png":["terrains/heightfield/RST_misadventure.png",["z_mappacks/CTF/S5maps.vl2"]],"terrains/heightfield/rst_reynard.png":["terrains/heightfield/RST_reynard.png",["z_mappacks/CTF/S5maps.vl2"]],"terrains/heightfield/rst_silenus.png":["terrains/heightfield/RST_silenus.png",["z_mappacks/CTF/S5maps.vl2"]],"terrains/heightfield/siege.gauntlet_heightfield.cs":["terrains/heightfield/Siege.Gauntlet_heightfield.cs",["missions.vl2"]],"terrains/heightfield/siege.icebound_heightfield.cs":["terrains/heightfield/Siege.IceBound_heightfield.cs",["missions.vl2"]],"terrains/heightfield/singleplayer.skiing_heightfield.cs":["terrains/heightfield/SinglePlayer.Skiing_heightfield.cs",["missions.vl2"]],"terrains/heightfield/sounds.mission1_heightfield.cs":["terrains/heightfield/Sounds.Mission1_heightfield.cs",["missions.vl2"]],"terrains/heightfield/sundriedmask.png":["terrains/heightfield/SunDriedMask.png",["missions.vl2"]],"terrains/heightfield/thinice_heightfield.cs":["terrains/heightfield/ThinIce_heightfield.cs",["missions.vl2"]],"terrains/heightfield/working.badlands1_heightfield.cs":["terrains/heightfield/Working.Badlands1_heightfield.cs",["missions.vl2"]],"terrains/heightfield/working.badlands2_heightfield.cs":["terrains/heightfield/Working.Badlands2_heightfield.cs",["missions.vl2"]],"terrains/heightfield/working.badlands3_heightfield.cs":["terrains/heightfield/Working.Badlands3_heightfield.cs",["missions.vl2"]],"terrains/heightfield/working.badlands4_heightfield.cs":["terrains/heightfield/Working.Badlands4_heightfield.cs",["missions.vl2"]],"terrains/heightfield/working.desert1_heightfield.cs":["terrains/heightfield/Working.Desert1_heightfield.cs",["missions.vl2"]],"terrains/heightfield/working.desert2_heightfield.cs":["terrains/heightfield/Working.Desert2_heightfield.cs",["missions.vl2"]],"terrains/heightfield/working.desert5_heightfield.cs":["terrains/heightfield/Working.Desert5_heightfield.cs",["missions.vl2"]],"terrains/heightfield/working.lush1_heightfield.cs":["terrains/heightfield/Working.Lush1_heightfield.cs",["missions.vl2"]],"terrains/heightfield/working.lush2_heightfield.cs":["terrains/heightfield/Working.Lush2_heightfield.cs",["missions.vl2"]],"terrains/helioarena.spn":["terrains/Helioarena.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/highanxiety.spn":["terrains/HighAnxiety.spn",["z_mappacks/CTF/HighAnxiety.vl2"]],"terrains/highoctane.spn":["terrains/HighOctane.spn",["z_mappacks/CTF/HighOctane.vl2"]],"terrains/hightrepidation.spn":["terrains/HighTrepidation.spn",["z_mappacks/CTF/HighTrepidation.vl2"]],"terrains/highwire.spn":["terrains/HighWire.spn",["z_mappacks/CTF/HighWire.vl2"]],"terrains/hildebrand.ter":["terrains/Hildebrand.ter",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/hillking.ter":["terrains/HillKing.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/hillkingctf.spn":["terrains/HillKingCTF.spn",["z_mappacks/CTF/HillKingCTF.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/hillkinglt.spn":["terrains/HillKingLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/hillside.spn":["terrains/Hillside.spn",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/hillside.ter":["terrains/Hillside.ter",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"],["z_mappacks/Lak/LakRabbit_Maps.vl2"]],"terrains/hillsidelt.spn":["terrains/HillSideLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/hillsofsorrow.spn":["terrains/HillsOfSorrow.spn",["z_mappacks/Lak/hills-sorrow .vl2"]],"terrains/hive.ter":["terrains/hive.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/hivelt.spn":["terrains/HiveLT.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/ho_badlands.spn":["terrains/HO_Badlands.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/ho_badlands.ter":["terrains/HO_Badlands.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/ho_desert.spn":["terrains/HO_Desert.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/ho_desert.ter":["terrains/HO_Desert.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/ho_ice.spn":["terrains/HO_Ice.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/ho_ice.ter":["terrains/HO_Ice.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/ho_lush.spn":["terrains/HO_Lush.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/ho_lush.ter":["terrains/HO_Lush.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/hogansrun24.spn":["terrains/HogansRun24.spn",["z_mappacks/CTF/HogansRun24.vl2"]],"terrains/hooftoedm.spn":["terrains/HoofToeDM.spn",["z_mappacks/DM/DMMaps.vl2"]],"terrains/horde.spn":["terrains/Horde.spn",["z_mappacks/CTF/Horde.vl2"]],"terrains/hostileloch.spn":["terrains/HostileLoch.spn",["z_mappacks/CTF/HostileLoch.vl2"]],"terrains/hostility.spn":["terrains/hostility.spn",["z_mappacks/CTF/hostility.vl2"]],"terrains/hoth.ter":["terrains/Hoth.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/hydroelectric_x2.spn":["terrains/HydroElectric_x2.spn",["z_mappacks/xPack2.vl2"]],"terrains/hydroelectric_x2.ter":["terrains/HydroElectric_x2.ter",["z_mappacks/xPack2.vl2"]],"terrains/icebound.spn":["terrains/IceBound.spn",["missions.vl2"]],"terrains/icebound.ter":["terrains/IceBound.ter",["missions.vl2"]],"terrains/icedagger.ter":["terrains/icedagger.ter",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/icedomedm.spn":["terrains/IceDomeDM.spn",["z_mappacks/DM/DMMaps.vl2"]],"terrains/icegiant.ter":["terrains/IceGiant.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/icegulch.spn":["terrains/IceGulch.spn",["z_mappacks/CTF/KryMapPack_b3EDIT.vl2"]],"terrains/icepick.spn":["terrains/IcePick.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/icepickm.spn":["terrains/IcePickM.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/icepickm.ter":["terrains/icepickm.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/iceridge_nef.spn":["terrains/IceRidge_nef.spn",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/iceridge_nef.ter":["terrains/IceRidge_nef.ter",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/infernosroar.spn":["terrains/infernosroar.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/infernosroar.ter":["terrains/infernosroar.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/infernus.spn":["terrains/Infernus.spn",["z_mappacks/CTF/Infernus.vl2"]],"terrains/innersanctum.spn":["terrains/InnerSanctum.spn",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"terrains/innersanctum.ter":["terrains/InnerSanctum.ter",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"terrains/insalubria.spn":["terrains/Insalubria.spn",["missions.vl2"]],"terrains/insalubria.ter":["terrains/Insalubria.ter",["missions.vl2"]],"terrains/insalubrius_x2.spn":["terrains/Insalubrius_x2.spn",["z_mappacks/xPack2.vl2"]],"terrains/insalubrius_x2.ter":["terrains/Insalubrius_x2.ter",["z_mappacks/xPack2.vl2"]],"terrains/insideout_x2.spn":["terrains/InsideOut_x2.spn",["z_mappacks/xPack2.vl2"]],"terrains/invictus.spn":["terrains/Invictus.spn",["missions.vl2"]],"terrains/invictus.ter":["terrains/Invictus.ter",["missions.vl2"]],"terrains/islahermano.spn":["terrains/IslaHermano.spn",["z_mappacks/CTF/IslaHermano.vl2"]],"terrains/island.spn":["terrains/Island.spn",["z_mappacks/CTF/Island.vl2"]],"terrains/isleofman.spn":["terrains/IsleOfMan.spn",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"terrains/isleofman.ter":["terrains/IsleOfMan.ter",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"terrains/ivehadworse.spn":["terrains/IveHadWorse.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/jacobsladder.spn":["terrains/JacobsLadder.spn",["missions.vl2"]],"terrains/jacobsladder.ter":["terrains/JacobsLadder.ter",["missions.vl2"]],"terrains/jadevalley.spn":["terrains/JadeValley.spn",["z_mappacks/CTF/KryMapPack_b3EDIT.vl2"]],"terrains/jaggedclaw.ter":["terrains/jaggedclaw.ter",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/jettisoned.spn":["terrains/Jettisoned.spn",["z_mappacks/CTF/Jettisoned.vl2"]],"terrains/katabatic.spn":["terrains/Katabatic.spn",["missions.vl2"]],"terrains/katabatic.ter":["terrains/Katabatic.ter",["missions.vl2"]],"terrains/katabatic_x2.spn":["terrains/Katabatic_x2.spn",["z_mappacks/xPack2.vl2"]],"terrains/katabatic_x2.ter":["terrains/Katabatic_x2.ter",["z_mappacks/xPack2.vl2"]],"terrains/kataminfernot.spn":["terrains/KataMInfernoT.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/kataminfernot.ter":["terrains/KataMInfernoT.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/katamstorm.spn":["terrains/KataMStorm.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/katamstormt.spn":["terrains/KataMStormT.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/katamstormt.ter":["terrains/KataMStormT.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/khalarena.spn":["terrains/Khalarena.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/ks_braistv.spn":["terrains/ks_braistv.spn",["z_mappacks/CTF/KS_BraisT_V.vl2"]],"terrains/lakefront.spn":["terrains/Lakefront.spn",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/lakefront.ter":["terrains/Lakefront.ter",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/landingparty.spn":["terrains/LandingParty.spn",["z_mappacks/CTF/LandingParty.vl2"]],"terrains/lapiths.spn":["terrains/Lapiths.spn",["z_mappacks/CTF/Lapiths.vl2"]],"terrains/lavagods.ter":["terrains/LavaGods.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/livebaitdm.spn":["terrains/LiveBaitDM.spn",["z_mappacks/DM/DMMaps.vl2"]],"terrains/logans_run.spn":["terrains/Logans_Run.spn",["z_mappacks/CTF/LogansRun.vl2"]],"terrains/mac_flagarena.spn":["terrains/Mac_FlagArena.spn",["z_mappacks/CTF/MachineheadsFlagArenaEDIT.vl2"]],"terrains/machineeggs.spn":["terrains/Machineeggs.spn",["z_mappacks/CTF/Machineeggs.vl2"]],"terrains/magellan.ter":["terrains/Magellan.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/magmatic.spn":["terrains/Magmatic.spn",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/magmatic.ter":["terrains/Magmatic.ter",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/mapassets.ter":["terrains/MapAssets.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/masada.spn":["terrains/Masada.spn",["missions.vl2"]],"terrains/masada.ter":["terrains/Masada.ter",["missions.vl2"]],"terrains/minisundried.spn":["terrains/MiniSunDried.spn",["z_mappacks/Lak/mini-sundried.vl2"]],"terrains/minotaur.spn":["terrains/Minotaur.spn",["missions.vl2"]],"terrains/minotaur.ter":["terrains/Minotaur.ter",["missions.vl2"]],"terrains/mirage.spn":["terrains/Mirage.spn",["z_mappacks/CTF/KryMapPack_b3EDIT.vl2"]],"terrains/misadventurev2.spn":["terrains/MisadventureV2.spn",["z_mappacks/CTF/MisadventureV2.vl2"]],"terrains/mmd.ter":["terrains/mmd.ter",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/moondance.spn":["terrains/MoonDance.spn",["z_mappacks/CTF/MoonDance.vl2"]],"terrains/moondance2.ter":["terrains/MoonDance2.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/moonwalk.spn":["terrains/Moonwalk.spn",["z_mappacks/CTF/Moonwalk.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/moonwalk.ter":["terrains/Moonwalk.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/moonwalklt.spn":["terrains/MoonwalkLT.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/morena.spn":["terrains/Morena.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/mountainmist.spn":["terrains/MountainMist.spn",["z_mappacks/CTF/KryMapPack_b3EDIT.vl2"]],"terrains/mountaintopmayhem.spn":["terrains/MountaintopMayhem.spn",["z_mappacks/CTF/MountaintopMayhem.vl2"]],"terrains/mountking.ter":["terrains/mountking.ter",["z_mappacks/CTF/S8maps.vl2"]],"terrains/mudside.spn":["terrains/Mudside.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/myrkwood.spn":["terrains/MyrkWood.spn",["missions.vl2"]],"terrains/myrkwood.ter":["terrains/MyrkWood.ter",["missions.vl2"]],"terrains/narcolepsy.spn":["terrains/Narcolepsy.spn",["z_mappacks/CTF/Narcolepsy.vl2"]],"terrains/narcolepsylt.spn":["terrains/NarcolepsyLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/naturemagic.spn":["terrains/NatureMagic.spn",["z_mappacks/CTF/Surro_StarIce_NatureMagic.vl2"]],"terrains/nightdance.spn":["terrains/Nightdance.spn",["z_mappacks/CTF/Nightdance.vl2"]],"terrains/nirvanalt.spn":["terrains/NirvanaLT.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/norty.spn":["terrains/Norty.spn",["z_mappacks/CTF/Norty.vl2"]],"terrains/norty.ter":["terrains/norty.ter",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/noshelter_x2.spn":["terrains/NoShelter_x2.spn",["z_mappacks/xPack2.vl2"]],"terrains/noshelter_x2.ter":["terrains/NoShelter_x2.ter",["z_mappacks/xPack2.vl2"]],"terrains/oasis.spn":["terrains/Oasis.spn",["missions.vl2"]],"terrains/oasis.ter":["terrains/Oasis.ter",["missions.vl2"]],"terrains/oasisintensity.spn":["terrains/oasisintensity.spn",["z_mappacks/CTF/oasisintensity.vl2"]],"terrains/obsidian.ter":["terrains/obsidian.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/obsidianlt.spn":["terrains/ObsidianLT.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/octane.ter":["terrains/Octane.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/octoberrust.spn":["terrains/octoberrust.spn",["z_mappacks/CTF/OctoberRust.vl2"]],"terrains/ocular.ter":["terrains/Ocular.ter",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/osirislt.spn":["terrains/OsIrisLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/outerwilds.spn":["terrains/OuterWilds.spn",["z_mappacks/CTF/OuterWilds.vl2"]],"terrains/overreach.spn":["terrains/Overreach.spn",["missions.vl2"]],"terrains/overreach.ter":["terrains/Overreach.ter",["missions.vl2"]],"terrains/pandemonium_x2.spn":["terrains/Pandemonium_x2.spn",["z_mappacks/xPack2.vl2"]],"terrains/pandemonium_x2.ter":["terrains/Pandemonium_x2.ter",["z_mappacks/xPack2.vl2"]],"terrains/pantheon.spn":["terrains/Pantheon.spn",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"terrains/pantheon.ter":["terrains/Pantheon.ter",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"terrains/pantheon_x2.spn":["terrains/Pantheon_x2.spn",["z_mappacks/xPack2.vl2"]],"terrains/pantheon_x2.ter":["terrains/Pantheon_x2.ter",["z_mappacks/xPack2.vl2"]],"terrains/paranoia.ter":["terrains/Paranoia.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/pariah.spn":["terrains/Pariah.spn",["z_mappacks/CTF/Pariah.vl2"]],"terrains/pariah.ter":["terrains/Pariah.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/pariah2.ter":["terrains/Pariah2.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/pariah_mirrored.spn":["terrains/Pariah_Mirrored.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/pariahlt.spn":["terrains/PariahLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/peak.spn":["terrains/Peak.spn",["z_mappacks/CTF/KryMapPack_b3EDIT.vl2"]],"terrains/pendulum.spn":["terrains/Pendulum.spn",["z_mappacks/CTF/KryMapPack_b3EDIT.vl2"]],"terrains/phasmadust.spn":["terrains/PhasmaDust.spn",["TR2final105-client.vl2"]],"terrains/phasmadust.ter":["terrains/PhasmaDust.ter",["TR2final105-client.vl2"]],"terrains/pipedreamlt.spn":["terrains/PipeDreamLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/pitsdm.spn":["terrains/PitsDM.spn",["z_mappacks/DM/DMMaps.vl2"]],"terrains/planetside.spn":["terrains/Planetside.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/planetx.spn":["terrains/PlanetX.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/planetx2.ter":["terrains/PlanetX2.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/prismatic.spn":["terrains/Prismatic.spn",["z_mappacks/CTF/Prismatic.vl2"]],"terrains/prizmaticlt.spn":["terrains/PrizmaticLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/proarena.spn":["terrains/ProArena.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/puliveivari.spn":["terrains/PuliVeivari.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/puliveivari.ter":["terrains/PuliVeivari.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/pyroclasm.spn":["terrains/Pyroclasm.spn",["missions.vl2"]],"terrains/pyroclasm.ter":["terrains/Pyroclasm.ter",["missions.vl2"]],"terrains/quagmire.spn":["terrains/Quagmire.spn",["missions.vl2"]],"terrains/quagmire.ter":["terrains/Quagmire.ter",["missions.vl2"]],"terrains/quagmire2.spn":["terrains/Quagmire2.spn",["z_mappacks/CTF/KryMapPack_b3EDIT.vl2"]],"terrains/quagmire_x2.spn":["terrains/Quagmire_x2.spn",["z_mappacks/xPack2.vl2"]],"terrains/quagmire_x2.ter":["terrains/Quagmire_x2.ter",["z_mappacks/xPack2.vl2"]],"terrains/raindance_nef.spn":["terrains/Raindance_nef.spn",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/raindance_nef.ter":["terrains/Raindance_nef.ter",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/raindancelt.spn":["terrains/RaindanceLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/ramparts.spn":["terrains/Ramparts.spn",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/ramparts.ter":["terrains/Ramparts.ter",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/rampartsdm.spn":["terrains/RampartsDM.spn",["z_mappacks/DM/DMMaps.vl2"]],"terrains/randomter1.ter":["terrains/RandomTer1.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/randomter10.ter":["terrains/RandomTer10.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/randomter2.ter":["terrains/RandomTer2.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/randomter3.ter":["terrains/RandomTer3.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/randomter4.ter":["terrains/RandomTer4.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/randomter5.ter":["terrains/RandomTer5.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/randomter6.ter":["terrains/RandomTer6.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/randomter7.ter":["terrains/RandomTer7.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/randomter8.ter":["terrains/RandomTer8.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/randomter9.ter":["terrains/RandomTer9.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/rasp.spn":["terrains/Rasp.spn",["missions.vl2"]],"terrains/rasp.ter":["terrains/Rasp.ter",["missions.vl2"]],"terrains/raspdm.spn":["terrains/RaspDM.spn",["z_mappacks/DM/DMMaps.vl2"]],"terrains/raspian.spn":["terrains/Raspian.spn",["z_mappacks/CTF/Raspian.vl2"]],"terrains/ravine.spn":["terrains/Ravine.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/ravine.ter":["terrains/Ravine.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/ravinelt.spn":["terrains/RavineLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/ravinev.ter":["terrains/RavineV.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/recalescence.spn":["terrains/Recalescence.spn",["missions.vl2"]],"terrains/recalescence.ter":["terrains/Recalescence.ter",["missions.vl2"]],"terrains/respite.spn":["terrains/Respite.spn",["missions.vl2"]],"terrains/respite.ter":["terrains/Respite.ter",["missions.vl2"]],"terrains/retrodct2.spn":["terrains/RetroDCT2.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/retrodct2.ter":["terrains/retroDCT2.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/retrodx.spn":["terrains/RetroDX.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/retrodx.ter":["terrains/retroDX.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/retrord.spn":["terrains/RetroRD.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/retrord.ter":["terrains/retroRD.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/retrordt2.spn":["terrains/RetroRDT2.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/retrordt2.ter":["terrains/retroRDT2.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/retrosb.spn":["terrains/RetroSB.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/retrosh.spn":["terrains/RetroSH.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/retrosh.ter":["terrains/retroSH.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/retrosht2.spn":["terrains/RetroSHT2.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/retrosht2.ter":["terrains/retroSHT2.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/retrosnowblind.ter":["terrains/retroSnowBlind.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/reversion.spn":["terrains/Reversion.spn",["missions.vl2"]],"terrains/reversion.ter":["terrains/Reversion.ter",["missions.vl2"]],"terrains/reversion_x2.spn":["terrains/Reversion_x2.spn",["z_mappacks/xPack2.vl2"]],"terrains/ridgerena.spn":["terrains/Ridgerena.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/rimehold.spn":["terrains/Rimehold.spn",["missions.vl2"]],"terrains/rimehold.ter":["terrains/Rimehold.ter",["missions.vl2"]],"terrains/ringoffiredm.spn":["terrains/RingofFireDM.spn",["z_mappacks/DM/RingofFireDM.vl2"]],"terrains/riverdance.spn":["terrains/RiverDance.spn",["missions.vl2"]],"terrains/riverdance.ter":["terrains/RiverDance.ter",["missions.vl2"]],"terrains/rollercoaster_nef.spn":["terrains/Rollercoaster_nef.spn",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/rollercoaster_nef.ter":["terrains/Rollercoaster_nef.ter",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/rollercoaster_nef_fz.spn":["terrains/Rollercoaster_nef_FZ.spn",["z_mappacks/CTF/Rollercoaster_nef_FZ.vl2"]],"terrains/roundthemountain.spn":["terrains/RoundTheMountain.spn",["z_mappacks/CTF/KryMapPack_b3EDIT.vl2"]],"terrains/roundthemountainlt.spn":["terrains/RoundTheMountainLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/rst_agroleon.ter":["terrains/rst_agroleon.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/rst_astro.ter":["terrains/rst_Astro.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/rst_bittergorge.ter":["terrains/rst_bittergorge.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/rst_crumpie.ter":["terrains/rst_crumpie.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/rst_dermcity.ter":["terrains/rst_dermcity.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/rst_facecrossing.ter":["terrains/rst_FaceCrossing.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/rst_isledebatalla.ter":["terrains/rst_isledebatalla.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/rst_scorchedearth.ter":["terrains/Rst_ScorchedEarth.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/rst_simpleflagarena.ter":["terrains/rst_SimpleFlagArena.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/rst_spit.ter":["terrains/rst_spit.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/ruined.spn":["terrains/Ruined.spn",["z_mappacks/CTF/Ruined.vl2"]],"terrains/runenmachtlt.spn":["terrains/RunenmachtLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/rush.spn":["terrains/Rush.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/rush.ter":["terrains/Rush.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/rushlt.spn":["terrains/RushLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/s5-icedance.ter":["terrains/S5-Icedance.ter",["z_mappacks/CTF/S5maps.vl2"]],"terrains/s5-massive.ter":["terrains/S5-massive.ter",["z_mappacks/CTF/S5maps.vl2"]],"terrains/s5-mordacity.ter":["terrains/S5-Mordacity.ter",["z_mappacks/CTF/S5maps.vl2"]],"terrains/s5_centaur.spn":["terrains/S5_Centaur.spn",["z_mappacks/CTF/S5maps.vl2"]],"terrains/s5_centaur.ter":["terrains/S5_Centaur.ter",["z_mappacks/CTF/S5maps.vl2"]],"terrains/s5_damnation.spn":["terrains/S5_Damnation.spn",["z_mappacks/CTF/S5maps.vl2"]],"terrains/s5_damnationlt.spn":["terrains/S5_DamnationLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/s5_drache.spn":["terrains/S5_Drache.spn",["z_mappacks/CTF/S5maps.vl2"]],"terrains/s5_drache.ter":["terrains/S5_Drache.ter",["z_mappacks/CTF/S5maps.vl2"]],"terrains/s5_hawkingheat.spn":["terrains/S5_HawkingHeat.spn",["z_mappacks/CTF/S5maps.vl2"]],"terrains/s5_icedance.spn":["terrains/S5_Icedance.spn",["z_mappacks/CTF/S5maps.vl2"]],"terrains/s5_icedance.ter":["terrains/S5_Icedance.ter",["z_mappacks/CTF/S5maps.vl2"]],"terrains/s5_massive.spn":["terrains/S5_Massive.spn",["z_mappacks/CTF/S5maps.vl2"]],"terrains/s5_massive.ter":["terrains/S5_massive.ter",["z_mappacks/CTF/S5maps.vl2"]],"terrains/s5_massivelt.spn":["terrains/S5_MassiveLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/s5_mimicry.spn":["terrains/S5_Mimicry.spn",["z_mappacks/CTF/S5maps.vl2"]],"terrains/s5_misadventure.spn":["terrains/S5_Misadventure.spn",["z_mappacks/CTF/S5maps.vl2"]],"terrains/s5_mordacity.spn":["terrains/S5_Mordacity.spn",["z_mappacks/CTF/S5maps.vl2"]],"terrains/s5_mordacity.ter":["terrains/S5_Mordacity.ter",["z_mappacks/CTF/S5maps.vl2"]],"terrains/s5_pipedream.spn":["terrains/S5_PipeDream.spn",["z_mappacks/CTF/S5maps.vl2"]],"terrains/s5_reynard.spn":["terrains/S5_Reynard.spn",["z_mappacks/CTF/S5maps.vl2"]],"terrains/s5_rst_hawkingheat.ter":["terrains/S5_rst_hawkingheat.ter",["z_mappacks/CTF/S5maps.vl2"]],"terrains/s5_rst_misadventure.ter":["terrains/S5_rst_misadventure.ter",["z_mappacks/CTF/S5maps.vl2"]],"terrains/s5_rst_reynard.ter":["terrains/S5_rst_reynard.ter",["z_mappacks/CTF/S5maps.vl2"]],"terrains/s5_rst_silenus.ter":["terrains/S5_rst_silenus.ter",["z_mappacks/CTF/S5maps.vl2"]],"terrains/s5_sherman.spn":["terrains/S5_Sherman.spn",["z_mappacks/CTF/S5maps.vl2"]],"terrains/s5_sherman.ter":["terrains/S5_Sherman.ter",["z_mappacks/CTF/S5maps.vl2"]],"terrains/s5_silenus.spn":["terrains/S5_Silenus.spn",["z_mappacks/CTF/S5maps.vl2"]],"terrains/s5_silenuslt.spn":["terrains/S5_SilenusLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/s5_woodymyrk.spn":["terrains/S5_WoodyMyrk.spn",["z_mappacks/CTF/S5maps.vl2"]],"terrains/s8_cardiac.spn":["terrains/s8_Cardiac.spn",["z_mappacks/CTF/S8maps.vl2"]],"terrains/s8_geothermal.spn":["terrains/S8_Geothermal.spn",["z_mappacks/CTF/S8maps.vl2"]],"terrains/s8_mountking.spn":["terrains/S8_Mountking.spn",["z_mappacks/CTF/S8maps.vl2"]],"terrains/s8_opus.spn":["terrains/S8_Opus.spn",["z_mappacks/CTF/S8maps.vl2"]],"terrains/s8_rst_dogma.ter":["terrains/S8_rst_dogma.ter",["z_mappacks/CTF/S8maps.vl2"]],"terrains/s8_rst_opus.ter":["terrains/S8_rst_opus.ter",["z_mappacks/CTF/S8maps.vl2"]],"terrains/s8_zilch.spn":["terrains/S8_Zilch.spn",["z_mappacks/CTF/S8maps.vl2"]],"terrains/s8_zilch.ter":["terrains/S8_zilch.ter",["z_mappacks/CTF/S8maps.vl2"]],"terrains/s8_zilchlt.spn":["terrains/S8_ZilchLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/sanctuary.spn":["terrains/Sanctuary.spn",["missions.vl2"]],"terrains/sanctuary.ter":["terrains/Sanctuary.ter",["missions.vl2"]],"terrains/sandocean.spn":["terrains/SandOcean.spn",["z_mappacks/CTF/SandOcean.vl2"]],"terrains/sandstorm.spn":["terrains/Sandstorm.spn",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/sandstorm.ter":["terrains/Sandstorm.ter",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/sandyrunlt.spn":["terrains/SandyRunLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/sangre_de_grado.spn":["terrains/Sangre_de_Grado.spn",["z_mappacks/CTF/Sangre_de_Grado.vl2"]],"terrains/sc_badlands.spn":["terrains/SC_Badlands.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/sc_badlands.ter":["terrains/SC_Badlands.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/sc_desert.spn":["terrains/SC_Desert.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/sc_desert.ter":["terrains/SC_Desert.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/sc_ice.spn":["terrains/SC_Ice.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/sc_ice.ter":["terrains/SC_Ice.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/sc_lush.spn":["terrains/SC_Lush.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/sc_lush.ter":["terrains/SC_Lush.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/sc_night.spn":["terrains/SC_Night.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/sc_night.ter":["terrains/SC_Night.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/sc_normal.spn":["terrains/SC_Normal.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/sc_normal.ter":["terrains/SC_Normal.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/scarabrae_nef.spn":["terrains/Scarabrae_nef.spn",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/scarabrae_nef.ter":["terrains/Scarabrae_nef.ter",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/sector1.spn":["terrains/Sector1.spn",["z_mappacks/CTF/119Mappack.vl2"]],"terrains/sentry.spn":["terrains/Sentry.spn",["z_mappacks/CTF/Sentry.vl2"]],"terrains/shadow.spn":["terrains/Shadow.spn",["z_mappacks/CTF/KryMapPack_b3EDIT.vl2"]],"terrains/shockridge.spn":["terrains/ShockRidge.spn",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/shockridge.ter":["terrains/ShockRidge.ter",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/shortfall.spn":["terrains/Shortfall.spn",["z_mappacks/CTF/ShortFall.vl2"]],"terrains/shrinearena.spn":["terrains/ShrineArena.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/shrinearenaii.spn":["terrains/ShrineArenaII.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/shrinedm.spn":["terrains/ShrineDM.spn",["z_mappacks/DM/DMMaps.vl2"]],"terrains/sidewinder.spn":["terrains/SideWinder.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/sidewinder.ter":["terrains/SideWinder.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/signal.spn":["terrains/Signal.spn",["z_mappacks/CTF/Signal.vl2"]],"terrains/signaldx.spn":["terrains/SignalDX.spn",["z_mappacks/CTF/SignalDX.vl2"]],"terrains/signallt.spn":["terrains/SignalLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/sirocco.spn":["terrains/Sirocco.spn",["missions.vl2"]],"terrains/sirocco.ter":["terrains/Sirocco.ter",["missions.vl2"]],"terrains/skinnydip.spn":["terrains/SkinnyDip.spn",["TR2final105-client.vl2"]],"terrains/skinnydip.ter":["terrains/SkinnyDip.ter",["z_mappacks/Lak/LakRabbit_Maps.vl2"],["TR2final105-client.vl2"]],"terrains/slamnation.spn":["terrains/Slamnation.spn",["z_mappacks/CTF/119Mappack.vl2"]],"terrains/slapdash.spn":["terrains/SlapDash.spn",["missions.vl2"]],"terrains/slapdash.ter":["terrains/Slapdash.ter",["missions.vl2"]],"terrains/slapdash_x2.spn":["terrains/Slapdash_x2.spn",["z_mappacks/xPack2.vl2"]],"terrains/slapdash_x2.ter":["terrains/Slapdash_x2.ter",["z_mappacks/xPack2.vl2"]],"terrains/slapdashmi.ter":["terrains/slapdashMI.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/slapdashminferno.spn":["terrains/slapdashMInferno.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/slapdashms.ter":["terrains/slapdashMS.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/slapdashmstorm.spn":["terrains/slapdashMStorm.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/smallcrossing.spn":["terrains/SmallCrossing.spn",["z_mappacks/CTF/SmallCrossing.vl2"]],"terrains/smallcrossinglt.spn":["terrains/SmallCrossingLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/smalldesertofdeath.spn":["terrains/SmallDesertofDeath.spn",["z_mappacks/CTF/SmallDesertofDeath.vl2"]],"terrains/smallmelee.spn":["terrains/SmallMelee.spn",["z_mappacks/CTF/SmallMelee.vl2"]],"terrains/smallspit.spn":["terrains/SmallSpit.spn",["z_mappacks/CTF/SmallSpit.vl2"]],"terrains/smallspitlt.spn":["terrains/SmallSpitLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/smalltimectf.spn":["terrains/SmallTimeCTF.spn",["z_mappacks/CTF/SmallTimeCTF.vl2"]],"terrains/smalltimelt.spn":["terrains/SmallTimeLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/smog_x2.spn":["terrains/Smog_x2.spn",["z_mappacks/xPack2.vl2"]],"terrains/smog_x2.ter":["terrains/Smog_x2.ter",["z_mappacks/xPack2.vl2"]],"terrains/smogarena.spn":["terrains/SmogArena.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/snowblind_nef.spn":["terrains/Snowblind_nef.spn",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/snowblind_nef.ter":["terrains/Snowblind_nef.ter",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/snowbound.spn":["terrains/SnowBound.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/snowcone.spn":["terrains/Snowcone.spn",["z_mappacks/CTF/KryMapPack_b3EDIT.vl2"]],"terrains/soccerland.spn":["terrains/SoccerLand.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/solsdescent.spn":["terrains/SolsDescent.spn",["TR2final105-client.vl2"]],"terrains/solsdescent.ter":["terrains/SolsDescent.ter",["z_mappacks/Lak/LakRabbit_Maps.vl2"],["TR2final105-client.vl2"]],"terrains/soylentgreen.spn":["terrains/SoylentGreen.spn",["z_mappacks/CTF/SoylentGreen.vl2"]],"terrains/spacewalk.spn":["terrains/Spacewalk.spn",["z_mappacks/CTF/Spacewalk.vl2"]],"terrains/spincycle.ter":["terrains/SpinCycle.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/spyland.spn":["terrains/SpyLand.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/starfallctf.spn":["terrains/StarFallCTF.spn",["z_mappacks/CTF/StarFallCTF.vl2"]],"terrains/starfallctf2.ter":["terrains/StarFallCTF2.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/starfallen.spn":["terrains/Starfallen.spn",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/starfallen.ter":["terrains/Starfallen.ter",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/starice.spn":["terrains/starice.spn",["z_mappacks/CTF/Surro_StarIce_NatureMagic.vl2"]],"terrains/stonehenge_arena.spn":["terrains/Stonehenge_Arena.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/stonehenge_nef.spn":["terrains/Stonehenge_nef.spn",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/stonehenge_nef.ter":["terrains/Stonehenge_nef.ter",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/stormsrage.spn":["terrains/stormsrage.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/stormsrage.ter":["terrains/stormsrage.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/stripmine.spn":["terrains/Stripmine.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/stripmine_x2.spn":["terrains/Stripmine_x2.spn",["z_mappacks/xPack2.vl2"]],"terrains/stripmine_x2.ter":["terrains/Stripmine_x2.ter",["z_mappacks/xPack2.vl2"]],"terrains/subzero.spn":["terrains/SubZero.spn",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/subzero.ter":["terrains/SubZero.ter",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/subzerov.spn":["terrains/SubzeroV.spn",["z_mappacks/CTF/TitanV-SubZeroV.vl2"]],"terrains/sundried.spn":["terrains/SunDried.spn",["missions.vl2"]],"terrains/sundried.ter":["terrains/SunDried.ter",["missions.vl2"]],"terrains/superhappybouncyfuntime.spn":["terrains/SuperHappyBouncyFunTime.spn",["z_mappacks/CTF/SuperHappyBouncyFunTime.vl2"]],"terrains/superiorwaterworks.spn":["terrains/SuperiorWaterworks.spn",["z_mappacks/CTF/SuperiorWaterworks.vl2"]],"terrains/surreal.spn":["terrains/Surreal.spn",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/surreal.ter":["terrains/Surreal.ter",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/surreallt.spn":["terrains/SurrealLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/surro.spn":["terrains/Surro.spn",["z_mappacks/CTF/Surro_StarIce_NatureMagic.vl2"]],"terrains/talus.spn":["terrains/Talus.spn",["missions.vl2"]],"terrains/talus.ter":["terrains/Talus.ter",["missions.vl2"]],"terrains/templetussleversion2.spn":["terrains/TempleTussleVersion2.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/tenebrous.spn":["terrains/Tenebrous.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/tenebrousctf.spn":["terrains/TenebrousCTF.spn",["z_mappacks/CTF/KryMapPack_b3EDIT.vl2"]],"terrains/texture/deathbirdsfly_texture.cs":["terrains/texture/DeathBirdsFly_texture.cs",["missions.vl2"]],"terrains/texture/mark1_texture.cs":["terrains/texture/Mark1_texture.cs",["missions.vl2"]],"terrains/texture/newdesert1_texture.cs":["terrains/texture/NewDesert1_texture.cs",["missions.vl2"]],"terrains/texture/newdesert2_texture.cs":["terrains/texture/NewDesert2_texture.cs",["missions.vl2"]],"terrains/texture/newdesert3_texture.cs":["terrains/texture/NewDesert3_texture.cs",["missions.vl2"]],"terrains/texture/newlava1_texture.cs":["terrains/texture/NewLava1_texture.cs",["missions.vl2"]],"terrains/texture/newlava2_texture.cs":["terrains/texture/NewLava2_texture.cs",["missions.vl2"]],"terrains/texture/newlush1_texture.cs":["terrains/texture/NewLush1_texture.cs",["missions.vl2"]],"terrains/texture/newlush2_texture.cs":["terrains/texture/NewLush2_texture.cs",["missions.vl2"]],"terrains/texture/newlush3_texture.cs":["terrains/texture/NewLush3_texture.cs",["missions.vl2"]],"terrains/texture/newsnow1_texture.cs":["terrains/texture/NewSnow1_texture.cs",["missions.vl2"]],"terrains/texture/newsnow2_texture.cs":["terrains/texture/NewSnow2_texture.cs",["missions.vl2"]],"terrains/texture/newsnow3_textures.cs":["terrains/texture/NewSnow3_textures.cs",["missions.vl2"]],"terrains/texture/newsnowygrass_texture.cs":["terrains/texture/NewSnowyGrass_texture.cs",["missions.vl2"]],"terrains/texture/overreach_texture.cs":["terrains/texture/Overreach_texture.cs",["missions.vl2"]],"terrains/texture/reversion_texture.cs":["terrains/texture/Reversion_texture.cs",["missions.vl2"]],"terrains/texture/sounds.mission1_texture.cs":["terrains/texture/Sounds.Mission1_texture.cs",["missions.vl2"]],"terrains/texture/thinice_texture.cs":["terrains/texture/ThinIce_texture.cs",["missions.vl2"]],"terrains/the_calm.spn":["terrains/The_Calm.spn",["z_mappacks/CTF/The_Calm.vl2"]],"terrains/theclocktower.spn":["terrains/TheClocktower.spn",["z_mappacks/CTF/TheClocktower.vl2"]],"terrains/thefray.spn":["terrains/TheFray.spn",["z_mappacks/CTF/KryMapPack_b3EDIT.vl2"]],"terrains/thinice.spn":["terrains/ThinIce.spn",["missions.vl2"]],"terrains/thinice.ter":["terrains/ThinIce.ter",["missions.vl2"]],"terrains/thundergiant_x2.spn":["terrains/ThunderGiant_x2.spn",["z_mappacks/xPack2.vl2"]],"terrains/thundergiant_x2.ter":["terrains/ThunderGiant_x2.ter",["z_mappacks/xPack2.vl2"]],"terrains/titan.spn":["terrains/Titan.spn",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/titan.ter":["terrains/Titan.ter",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"],["z_mappacks/Lak/LakRabbit_Maps.vl2"]],"terrains/titanv.spn":["terrains/TitanV.spn",["z_mappacks/CTF/TitanV-SubZeroV.vl2"]],"terrains/titfortat.spn":["terrains/TitForTat.spn",["z_mappacks/CTF/TitForTat.vl2"]],"terrains/tl_drorck.ter":["terrains/TL_Drorck.ter",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/tl_magnum.ter":["terrains/TL_Magnum.ter",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/tl_muddyswamp.ter":["terrains/TL_MuddySwamp.ter",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/tl_roughland.ter":["terrains/TL_RoughLand.ter",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/tl_skylight.ter":["terrains/TL_Skylight.ter",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/tombstone.spn":["terrains/Tombstone.spn",["missions.vl2"]],"terrains/tombstone.ter":["terrains/Tombstone.ter",["missions.vl2"]],"terrains/tombstone_x2.spn":["terrains/Tombstone_x2.spn",["z_mappacks/xPack2.vl2"]],"terrains/tombstone_x2.ter":["terrains/Tombstone_x2.ter",["z_mappacks/xPack2.vl2"]],"terrains/training1.ter":["terrains/Training1.ter",["missions.vl2"]],"terrains/training2.ter":["terrains/Training2.ter",["missions.vl2"]],"terrains/training3.ter":["terrains/Training3.ter",["missions.vl2"]],"terrains/training4.ter":["terrains/Training4.ter",["missions.vl2"]],"terrains/training5.ter":["terrains/Training5.ter",["missions.vl2"]],"terrains/treasureisland.spn":["terrains/TreasureIsland.spn",["TR2final105-client.vl2"]],"terrains/treasureisland.ter":["terrains/TreasureIsland.ter",["z_mappacks/Lak/LakRabbit_Maps.vl2"],["TR2final105-client.vl2"]],"terrains/triad.spn":["terrains/Triad.spn",["z_mappacks/CTF/Triad.vl2"]],"terrains/trident.spn":["terrains/Trident.spn",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"terrains/trident.ter":["terrains/Trident.ter",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"terrains/truegrit.spn":["terrains/TrueGrit.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/tusk.ter":["terrains/tusk.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/tusklt.spn":["terrains/TuskLT.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/twilightgrovelt.spn":["terrains/TwilightGroveLT.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/twilightgrovelt.ter":["terrains/TwilightGroveLT.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/twindrakes.spn":["terrains/twinDrakes.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/twindrakes.ter":["terrains/twinDrakes.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/twintorrents.ter":["terrains/TwinTorrents.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/twintorrentsccw.spn":["terrains/TwinTorrentsCCW.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/twintorrentscw.spn":["terrains/TwinTorrentsCW.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/twl-abaddon.ter":["terrains/TWL-Abaddon.ter",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl-banshee.ter":["terrains/TWL-BaNsHee.ter",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl-beachblitz.ter":["terrains/TWL-BeachBlitz.ter",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl-beggarsrun.ter":["terrains/TWL-BeggarsRun.ter",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl-bluemoon.ter":["terrains/TWL-BlueMoon.ter",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/twl-boss.ter":["terrains/TWL-Boss.ter",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl-chokepoint.ter":["terrains/TWL-Chokepoint.ter",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl-cinereous.ter":["terrains/TWL-Cinereous.ter",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl-clusterfuct.ter":["terrains/TWL-Clusterfuct.ter",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl-curtilage.ter":["terrains/TWL-Curtilage.ter",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl-damnation.ter":["terrains/TWL-Damnation.ter",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl-deadlybirdssong.ter":["terrains/TWL-DeadlyBirdsSong.ter",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl-deserted.ter":["terrains/TWL-Deserted.ter",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl-desiccator.ter":["terrains/TWL-Desiccator.ter",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl-drifts.ter":["terrains/TWL-Drifts.ter",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl-euro_feign.ter":["terrains/TWL-Euro_Feign.ter",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl-frostclaw.ter":["terrains/TWL-Frostclaw.ter",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl-frozen.ter":["terrains/TWL-Frozen.ter",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl-harvester.ter":["terrains/TWL-Harvester.ter",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl-horde.ter":["terrains/TWL-Horde.ter",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl-katabatic.ter":["terrains/TWL-Katabatic.ter",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl-neve.ter":["terrains/TWL-Neve.ter",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl-noshelter.ter":["terrains/TWL-NoShelter.ter",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl-os_iris.ter":["terrains/TWL-Os_Iris.ter",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl-pandemonium.ter":["terrains/TWL-Pandemonium.ter",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl-runenmacht.ter":["terrains/TWL-Runenmacht.ter",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl-slapdash.ter":["terrains/TWL-Slapdash.ter",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl-subzero.ter":["terrains/TWL-SubZero.ter",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl-wilderzone.ter":["terrains/TWL-WilderZone.ter",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl-woodymyrk.ter":["terrains/TWL-WoodyMyrk.ter",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl2_bleed.spn":["terrains/TWL2_Bleed.spn",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/twl2_bluemoon.spn":["terrains/TWL2_BlueMoon.spn",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/twl2_canyoncrusadedeluxe.spn":["terrains/TWL2_CanyonCrusadeDeluxe.spn",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/twl2_canyoncrusadedeluxelt.spn":["terrains/TWL2_CanyonCrusadeDeluxeLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/twl2_celerity.spn":["terrains/TWL2_Celerity.spn",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/twl2_celeritylt.spn":["terrains/TWL2_CelerityLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/twl2_cloakofnight.spn":["terrains/TWL2_CloakOfNight.spn",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/twl2_crevice.spn":["terrains/TWL2_Crevice.spn",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/twl2_crevice.ter":["terrains/TWL2_Crevice.ter",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/twl2_dissention.spn":["terrains/TWL2_Dissention.spn",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/twl2_drifts.spn":["terrains/TWL2_Drifts.spn",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/twl2_drorck.spn":["terrains/TWL2_Drorck.spn",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/twl2_frozenglory.spn":["terrains/TWL2_FrozenGlory.spn",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/twl2_frozenglory.ter":["terrains/TWL2_Frozenglory.ter",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/twl2_frozenhope.spn":["terrains/TWL2_FrozenHope.spn",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/twl2_hildebrand.spn":["terrains/TWL2_Hildebrand.spn",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/twl2_hildebrandlt.spn":["terrains/TWL2_HildebrandLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/twl2_icedagger.spn":["terrains/TWL2_IceDagger.spn",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/twl2_jaggedclaw.spn":["terrains/TWL2_JaggedClaw.spn",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/twl2_jaggedclawlt.spn":["terrains/TWL2_JaggedClawLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/twl2_magnum.spn":["terrains/TWL2_Magnum.spn",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/twl2_midnightmayhemdeluxe.spn":["terrains/TWL2_MidnightMayhemDeluxe.spn",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/twl2_muddyswamp.spn":["terrains/TWL2_MuddySwamp.spn",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/twl2_norty.spn":["terrains/TWL2_Norty.spn",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/twl2_ocular.spn":["terrains/TWL2_Ocular.spn",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/twl2_roughland.spn":["terrains/TWL2_RoughLand.spn",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/twl2_ruined.spn":["terrains/TWL2_Ruined.spn",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/twl2_ruined.ter":["terrains/TWL2_Ruined.ter",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/twl2_skylight.spn":["terrains/TWL2_Skylight.spn",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/twl2_skylightlt.spn":["terrains/TWL2_SkylightLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/twl2_woodymyrk.spn":["terrains/TWL2_WoodyMyrk.spn",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/twl_abaddon.spn":["terrains/TWL_Abaddon.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_banshee.spn":["terrains/TWL_BaNsHee.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_beachblitz.spn":["terrains/TWL_BeachBlitz.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_beachblitzlt.spn":["terrains/TWL_BeachBlitzLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/twl_beachblitzm.spn":["terrains/TWL_BeachBlitzM.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/twl_beachblitzm.ter":["terrains/TWL_BeachBlitzM.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/twl_beachblitzmlt.spn":["terrains/TWL_BeachBlitzMLT.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/twl_beggarsrun.spn":["terrains/TWL_BeggarsRun.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_bluemoon.spn":["terrains/TWL_BlueMoon.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_boss.spn":["terrains/TWL_Boss.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_celerity.spn":["terrains/TWL_Celerity.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_chokepoint.spn":["terrains/TWL_Chokepoint.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_cinereous.spn":["terrains/TWL_Cinereous.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_clusterfuct.spn":["terrains/TWL_Clusterfuct.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_crossfire.spn":["terrains/TWL_Crossfire.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_crossfire.ter":["terrains/TWL_Crossfire.ter",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_curtilage.spn":["terrains/TWL_Curtilage.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_damnation.spn":["terrains/TWL_Damnation.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_dangerouscrossing.spn":["terrains/TWL_DangerousCrossing.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_deadlybirdssong.spn":["terrains/TWL_DeadlyBirdsSong.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_deserted.spn":["terrains/TWL_Deserted.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_desiccator.spn":["terrains/TWL_Desiccator.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_drifts.spn":["terrains/TWL_Drifts.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_feign.spn":["terrains/TWL_Feign.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_feignlt.spn":["terrains/TWL_FeignLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/twl_frostclaw.spn":["terrains/TWL_Frostclaw.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_frozen.spn":["terrains/TWL_Frozen.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_harvester.spn":["terrains/TWL_Harvester.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_horde.spn":["terrains/TWL_Horde.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_katabatic.spn":["terrains/TWL_Katabatic.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_magmatic.spn":["terrains/TWL_Magmatic.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_minotaur.spn":["terrains/TWL_Minotaur.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_neve.spn":["terrains/TWL_Neve.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_noshelter.spn":["terrains/TWL_NoShelter.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_osiris.spn":["terrains/TWL_OsIris.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_pandemonium.spn":["terrains/TWL_Pandemonium.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_quagmire.spn":["terrains/TWL_Quagmire.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_raindance.spn":["terrains/TWL_Raindance.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_ramparts.spn":["terrains/TWL_Ramparts.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_reversion.spn":["terrains/TWL_Reversion.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_rollercoaster.spn":["terrains/TWL_Rollercoaster.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_rollercoasterlt.spn":["terrains/TWL_RollercoasterLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/twl_runenmacht.spn":["terrains/TWL_Runenmacht.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_sandstorm.spn":["terrains/TWL_Sandstorm.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_slapdash.spn":["terrains/TWL_Slapdash.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_snowblind.spn":["terrains/TWL_Snowblind.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_starfallen.spn":["terrains/TWL_Starfallen.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_stonehenge.spn":["terrains/TWL_Stonehenge.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_stonehengelt.spn":["terrains/TWL_StonehengeLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/twl_subzero.spn":["terrains/TWL_SubZero.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_surreal.spn":["terrains/TWL_Surreal.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_titan.spn":["terrains/TWL_Titan.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_whitedwarf.spn":["terrains/TWL_WhiteDwarf.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_wilderzone.spn":["terrains/TWL_WilderZone.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_wilderzonelt.spn":["terrains/TWL_WilderZoneLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/twl_woodymyrk.spn":["terrains/TWL_WoodyMyrk.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/two_towers.spn":["terrains/Two_Towers.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/two_towers.ter":["terrains/Two_Towers.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/tyre.ter":["terrains/Tyre.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/ultimathule.spn":["terrains/UltimaThule.spn",["missions.vl2"]],"terrains/ultimathule.ter":["terrains/UltimaThule.ter",["missions.vl2"]],"terrains/underhill.spn":["terrains/Underhill.spn",["missions.vl2"]],"terrains/underhill.ter":["terrains/Underhill.ter",["missions.vl2"]],"terrains/upordown.spn":["terrains/UporDown.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/vandamnedctf.spn":["terrains/VanDamnedCTF.spn",["z_mappacks/CTF/VanDamnedCTF.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/vandamnedlt.spn":["terrains/VanDamnedLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/vauban.spn":["terrains/Vauban.spn",["z_mappacks/CTF/Vauban.vl2"]],"terrains/vaubania.spn":["terrains/Vaubania.spn",["z_mappacks/CTF/Vaubania.vl2"]],"terrains/vulcanswrathdm.spn":["terrains/VulcansWrathDM.spn",["z_mappacks/DM/DMMaps.vl2"]],"terrains/walledin.spn":["terrains/WalledIn.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/walledinii.spn":["terrains/WalledInII.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/wasteland.ter":["terrains/Wasteland.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/wasteland_x2.spn":["terrains/Wasteland_x2.spn",["z_mappacks/xPack2.vl2"]],"terrains/wasteland_x2.ter":["terrains/Wasteland_x2.ter",["z_mappacks/xPack2.vl2"]],"terrains/whitedwarf.spn":["terrains/WhiteDwarf.spn",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/whitedwarf.ter":["terrains/WhiteDwarf.ter",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/whitedwarfdeluxe.spn":["terrains/WhiteDwarfDeluxe.spn",["z_mappacks/CTF/WhiteDwarfDeluxe.vl2"]],"terrains/whitedwarfdeluxelt.spn":["terrains/WhiteDwarfDeluxeLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/whiteout.spn":["terrains/Whiteout.spn",["missions.vl2"]],"terrains/whiteout.ter":["terrains/Whiteout.ter",["missions.vl2"]],"terrains/windygap.spn":["terrains/WindyGap.spn",["z_mappacks/CTF/WindyGap.vl2"]],"terrains/woe.spn":["terrains/woe.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/woe.ter":["terrains/woe.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/wonderland.spn":["terrains/WonderLand.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/woodymyrk_x2.spn":["terrains/WoodyMyrk_x2.spn",["z_mappacks/xPack2.vl2"]],"terrains/woodymyrk_x2.ter":["terrains/WoodyMyrk_x2.ter",["z_mappacks/xPack2.vl2"]],"terrains/woodymyrkse.ter":["terrains/WoodyMyrkSE.ter",["z_mappacks/CTF/S5maps.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/wrongside.spn":["terrains/Wrongside.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/xtra_ashenpowder.ter":["terrains/Xtra_AshenPowder.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/xtra_bastage.ter":["terrains/Xtra_Bastage.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/xtra_birthright.ter":["terrains/Xtra_Birthright.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/xtra_crown.ter":["terrains/Xtra_Crown.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/xtra_desertedse.ter":["terrains/Xtra_DesertedSE.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/xtra_helion.ter":["terrains/Xtra_Helion.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/xtra_soupladle.ter":["terrains/Xtra_SoupLadle.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/xtra_starfall_t1.ter":["terrains/Xtra_StarFall_T1.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/xtra_stripmine.ter":["terrains/Xtra_Stripmine.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/xtra_thundergiant.ter":["terrains/Xtra_ThunderGiant.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/xtra_vandamned.ter":["terrains/Xtra_VanDamned.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/xtra_voodoo.ter":["terrains/Xtra_Voodoo.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/xtra_xerxes.ter":["terrains/Xtra_Xerxes.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/xtra_ziggurat.ter":["terrains/Xtra_ziggurat.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/yubarena.spn":["terrains/Yubarena.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/zilch.spn":["terrains/Zilch.spn",["z_mappacks/CTF/Zilch.vl2"]],"texture/deathbirdsfly_texture.cs":["texture/DeathBirdsFly_texture.cs",["z_mappacks/Lak/EscaladeLak.vl2"]],"texture/mark1_texture.cs":["texture/Mark1_texture.cs",["z_mappacks/Lak/EscaladeLak.vl2"]],"texture/newdesert1_texture.cs":["texture/NewDesert1_texture.cs",["z_mappacks/Lak/EscaladeLak.vl2"]],"texture/newdesert2_texture.cs":["texture/NewDesert2_texture.cs",["z_mappacks/Lak/EscaladeLak.vl2"]],"texture/newdesert3_texture.cs":["texture/NewDesert3_texture.cs",["z_mappacks/Lak/EscaladeLak.vl2"]],"texture/newlava1_texture.cs":["texture/NewLava1_texture.cs",["z_mappacks/Lak/EscaladeLak.vl2"]],"texture/newlava2_texture.cs":["texture/NewLava2_texture.cs",["z_mappacks/Lak/EscaladeLak.vl2"]],"texture/newlush1_texture.cs":["texture/NewLush1_texture.cs",["z_mappacks/Lak/EscaladeLak.vl2"]],"texture/newlush2_texture.cs":["texture/NewLush2_texture.cs",["z_mappacks/Lak/EscaladeLak.vl2"]],"texture/newlush3_texture.cs":["texture/NewLush3_texture.cs",["z_mappacks/Lak/EscaladeLak.vl2"]],"texture/newsnow1_texture.cs":["texture/NewSnow1_texture.cs",["z_mappacks/Lak/EscaladeLak.vl2"]],"texture/newsnow2_texture.cs":["texture/NewSnow2_texture.cs",["z_mappacks/Lak/EscaladeLak.vl2"]],"texture/newsnow3_textures.cs":["texture/NewSnow3_textures.cs",["z_mappacks/Lak/EscaladeLak.vl2"]],"texture/newsnowygrass_texture.cs":["texture/NewSnowyGrass_texture.cs",["z_mappacks/Lak/EscaladeLak.vl2"]],"texture/overreach_texture.cs":["texture/Overreach_texture.cs",["z_mappacks/Lak/EscaladeLak.vl2"]],"texture/reversion_texture.cs":["texture/Reversion_texture.cs",["z_mappacks/Lak/EscaladeLak.vl2"]],"texture/sounds.mission1_texture.cs":["texture/Sounds.Mission1_texture.cs",["z_mappacks/Lak/EscaladeLak.vl2"]],"texture/thinice_texture.cs":["texture/ThinIce_texture.cs",["z_mappacks/Lak/EscaladeLak.vl2"]],"textures/amocmd00.png":["textures/amocmd00.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/amoncmd.png":["textures/amoncmd.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/amun01.png":["textures/amun01.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/anabatic.dml":["textures/anabatic.dml",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/armageddon/armageddon_v5_bk.bmp":["textures/armageddon/Armageddon_v5_BK.bmp",["TR2final105-client.vl2"]],"textures/armageddon/armageddon_v5_fr.bmp":["textures/armageddon/Armageddon_v5_FR.bmp",["TR2final105-client.vl2"]],"textures/armageddon/armageddon_v5_lf.bmp":["textures/armageddon/Armageddon_v5_LF.bmp",["TR2final105-client.vl2"]],"textures/armageddon/armageddon_v5_rt.bmp":["textures/armageddon/Armageddon_v5_RT.bmp",["TR2final105-client.vl2"]],"textures/armageddon/armageddon_v5_rtr.bmp":["textures/armageddon/Armageddon_v5_RTR.bmp",["TR2final105-client.vl2"]],"textures/armageddon/armageddon_v5_up.bmp":["textures/armageddon/Armageddon_v5_UP.bmp",["TR2final105-client.vl2"]],"textures/armorpack.png":["textures/armorpack.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/aurawisp.dml":["textures/aurawisp.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/aw-starfield3b.png":["textures/AW-Starfield3b.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/badlandday.dml":["textures/badlandday.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/badlands/bd_1wal03c.png":["textures/badlands/bd_1wal03c.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ebor01.png":["textures/badlands/bd_ebor01.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ebor02.png":["textures/badlands/bd_ebor02.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ebor03.png":["textures/badlands/bd_ebor03.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ebor04.png":["textures/badlands/bd_ebor04.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ebor05.png":["textures/badlands/bd_ebor05.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ecol01.png":["textures/badlands/bd_eCol01.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ecol01a.png":["textures/badlands/bd_eCol01a.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ecol02.png":["textures/badlands/bd_eCol02.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ecombo1a.png":["textures/badlands/bd_ecombo1a.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ecombo1b.png":["textures/badlands/bd_ecombo1b.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ecombo2a.png":["textures/badlands/bd_ecombo2a.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ecombo2b.png":["textures/badlands/bd_ecombo2b.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ecombo3a.png":["textures/badlands/bd_ecombo3a.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ecombo3b.png":["textures/badlands/bd_ecombo3b.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ecombo3d.png":["textures/badlands/bd_ecombo3d.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ecombo4a.png":["textures/badlands/bd_ecombo4a.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ecombo4b.png":["textures/badlands/bd_ecombo4b.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_edoo01.png":["textures/badlands/bd_edoo01.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_edoo02.png":["textures/badlands/bd_edoo02.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_eflo01.png":["textures/badlands/bd_eflo01.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_elig02.png":["textures/badlands/bd_elig02.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_elig02a.png":["textures/badlands/bd_elig02a.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_elig03.png":["textures/badlands/bd_elig03.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_elig03a.png":["textures/badlands/bd_elig03a.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_espe01.png":["textures/badlands/bd_espe01.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_espe02.png":["textures/badlands/bd_espe02.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_espe03.png":["textures/badlands/bd_espe03.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_eterrain1a.png":["textures/badlands/bd_eterrain1a.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_eterrain2a.png":["textures/badlands/bd_eterrain2a.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_eterrain3a.png":["textures/badlands/bd_eterrain3a.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_eterrain3b.png":["textures/badlands/bd_eterrain3b.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_eterrain4a.png":["textures/badlands/bd_eterrain4a.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_eterrain5a.png":["textures/badlands/bd_eterrain5a.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ewal02.png":["textures/badlands/bd_ewal02.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ewal03c.png":["textures/badlands/bd_ewal03c.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ewal04.png":["textures/badlands/bd_ewal04.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ewal05.png":["textures/badlands/bd_ewal05.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ewal06a.png":["textures/badlands/bd_ewal06a.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ewal07.png":["textures/badlands/bd_ewal07.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ewal08.png":["textures/badlands/bd_ewal08.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ewal09.png":["textures/badlands/bd_ewal09.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ewal10.png":["textures/badlands/bd_ewal10.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ewal11.png":["textures/badlands/bd_ewal11.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ewal13.png":["textures/badlands/bd_ewal13.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ewal13a.png":["textures/badlands/bd_ewal13A.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ewal14.png":["textures/badlands/bd_ewal14.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ewal15.png":["textures/badlands/bd_ewal15.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ewal16.png":["textures/badlands/bd_ewal16.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ibor01.png":["textures/badlands/bd_ibor01.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ibor02.png":["textures/badlands/bd_ibor02.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ibor03.png":["textures/badlands/bd_ibor03.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ibor04.png":["textures/badlands/bd_ibor04.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ibor05.png":["textures/badlands/bd_ibor05.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ibor10.png":["textures/badlands/bd_ibor10.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ibor6.png":["textures/badlands/bd_ibor6.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ibor7.png":["textures/badlands/bd_ibor7.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ibor8.png":["textures/badlands/bd_ibor8.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ibor9.png":["textures/badlands/bd_ibor9.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_icei01.png":["textures/badlands/bd_icei01.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_icei02.png":["textures/badlands/bd_icei02.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_icei02a.png":["textures/badlands/bd_icei02a.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_icei03.png":["textures/badlands/bd_icei03.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_iceilig01.png":["textures/badlands/bd_iceilig01.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_iceilig02.png":["textures/badlands/bd_iceilig02.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_iceilig03.png":["textures/badlands/bd_iceilig03.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ichute01.png":["textures/badlands/bd_ichute01.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ichute02a.png":["textures/badlands/bd_ichute02a.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_icol01.png":["textures/badlands/bd_iCol01.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_icol02.png":["textures/badlands/bd_iCol02.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_icoligola.png":["textures/badlands/bd_icoligolA.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_icomp01.png":["textures/badlands/bd_icomp01.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_idoo03.png":["textures/badlands/bd_idoo03.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_iflo01.png":["textures/badlands/bd_iflo01.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_iflo02.png":["textures/badlands/bd_iflo02.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_iflo03b.png":["textures/badlands/bd_iflo03b.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ifunctec01a.png":["textures/badlands/bd_ifunctec01a.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ifunctec02.png":["textures/badlands/bd_ifunctec02.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ilig01.png":["textures/badlands/bd_ilig01.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ilig01a.png":["textures/badlands/bd_ilig01a.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_inf_ichute03.png":["textures/badlands/bd_inf_ichute03.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/badlands/bd_ispe01.png":["textures/badlands/bd_ispe01.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ispe03.png":["textures/badlands/bd_ispe03.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ispe04.png":["textures/badlands/bd_ispe04.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ispe06.png":["textures/badlands/bd_ispe06.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ispe07.png":["textures/badlands/bd_ispe07.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ispe07a.png":["textures/badlands/bd_ispe07a.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_itebor01.png":["textures/badlands/bd_itebor01.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_itec01.png":["textures/badlands/bd_itec01.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_itec01a.png":["textures/badlands/bd_itec01a.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_itec02.png":["textures/badlands/bd_itec02.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_itec03.png":["textures/badlands/bd_itec03.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_itec05.png":["textures/badlands/bd_itec05.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_itec06a.png":["textures/badlands/bd_itec06a.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_itewal01.png":["textures/badlands/bd_itewal01.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_itewal01b.png":["textures/badlands/bd_itewal01b.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_itewal01c.png":["textures/badlands/bd_itewal01c.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_itewal01e.png":["textures/badlands/bd_itewal01e.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_iwal01b.png":["textures/badlands/bd_iwal01b.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_iwal01e.png":["textures/badlands/bd_iwal01e.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_iwal02.png":["textures/badlands/bd_iwal02.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_iwal03.png":["textures/badlands/bd_iwal03.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_iwal03c.png":["textures/badlands/bd_iwal03c.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_iwal16.png":["textures/badlands/bd_iwal16.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_screen.png":["textures/badlands/bd_screen.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_thresh01a.png":["textures/badlands/bd_thresh01a.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_thresh02.png":["textures/badlands/bd_thresh02.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_thresh02a.png":["textures/badlands/bd_thresh02a.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/be_ebor03.png":["textures/badlands/be_ebor03.PNG",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/badlands/be_eflo02.png":["textures/badlands/be_eflo02.PNG",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/badlands/be_elig03.png":["textures/badlands/be_elig03.PNG",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/badlands/be_ewal06.png":["textures/badlands/be_ewal06.PNG",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/badlands/be_ewal07.png":["textures/badlands/be_ewal07.PNG",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/badlands/be_icei01a.png":["textures/badlands/be_icei01a.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/badlands/cp_ibor03.png":["textures/badlands/cp_ibor03.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/badlands/ds_efloor1.png":["textures/badlands/ds_efloor1.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/badlands/ds_ilig03.png":["textures/badlands/ds_ilig03.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/badlands/inf_butch_grey1.png":["textures/badlands/inf_butch_grey1.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/badlands/inf_butch_grey5.png":["textures/badlands/inf_butch_grey5.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/badlands/iwal20.png":["textures/badlands/iwal20.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/badlands/iwal21.png":["textures/badlands/iwal21.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/badlands/iwal22.png":["textures/badlands/iwal22.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/badlands/skies/badlandday_bk.png":["textures/badlands/skies/badlandday_BK.png",["badlands.vl2"]],"textures/badlands/skies/badlandday_dn.png":["textures/badlands/skies/badlandday_DN.png",["badlands.vl2"]],"textures/badlands/skies/badlandday_fr.png":["textures/badlands/skies/badlandday_FR.png",["badlands.vl2"]],"textures/badlands/skies/badlandday_lf.png":["textures/badlands/skies/badlandday_LF.png",["badlands.vl2"]],"textures/badlands/skies/badlandday_rt.png":["textures/badlands/skies/badlandday_RT.png",["badlands.vl2"]],"textures/badlands/skies/badlandday_up.png":["textures/badlands/skies/badlandday_UP.png",["badlands.vl2"]],"textures/badlands/skies/bd_day_cloud1.png":["textures/badlands/skies/bd_day_cloud1.png",["badlands.vl2"]],"textures/badlands/skies/bd_day_cloud2.png":["textures/badlands/skies/bd_day_cloud2.png",["badlands.vl2"]],"textures/badlands/skies/bd_day_cloud_emap.png":["textures/badlands/skies/bd_day_cloud_emap.png",["badlands.vl2"]],"textures/badlands/skies/bd_nite_starry_emap.png":["textures/badlands/skies/bd_nite_starry_emap.png",["badlands.vl2"]],"textures/badlands/skies/starrynite_v2_bk.png":["textures/badlands/skies/starrynite_v2_BK.png",["badlands.vl2"]],"textures/badlands/skies/starrynite_v2_dn.png":["textures/badlands/skies/starrynite_v2_DN.png",["badlands.vl2"]],"textures/badlands/skies/starrynite_v2_fr.png":["textures/badlands/skies/starrynite_v2_FR.png",["badlands.vl2"]],"textures/badlands/skies/starrynite_v2_lf.png":["textures/badlands/skies/starrynite_v2_LF.png",["badlands.vl2"]],"textures/badlands/skies/starrynite_v2_rt.png":["textures/badlands/skies/starrynite_v2_RT.png",["badlands.vl2"]],"textures/badlands/skies/starrynite_v2_up.png":["textures/badlands/skies/starrynite_v2_UP.png",["badlands.vl2"]],"textures/badlands_l4.dml":["textures/Badlands_l4.dml",["textures.vl2"]],"textures/base.flag.png":["textures/base.flag.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/base.lmale.png":["textures/base.lmale.png",["TR2final105-client.vl2"]],"textures/base1c.png":["textures/base1c.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/base_tex.png":["textures/base_tex.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/bblue.png":["textures/bBlue.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/bd_ewal11.png":["textures/bd_ewal11.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/bd_idoo03.png":["textures/bd_idoo03.PNG",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/be_espec02.png":["textures/be_espec02.PNG",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/be_itelig01.png":["textures/be_itelig01.PNG",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/be_itewal01.png":["textures/be_itewal01.PNG",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/beagle.flag.png":["textures/beagle.flag.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/blackdust.dml":["textures/blackdust.dml",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/blackdust/blackdust_bk.png":["textures/blackdust/blackdust_bk.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/blackdust/blackdust_cloud1.png":["textures/blackdust/blackdust_cloud1.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/blackdust/blackdust_cloud2.png":["textures/blackdust/blackdust_cloud2.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/blackdust/blackdust_dn.png":["textures/blackdust/blackdust_DN.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/blackdust/blackdust_fr.png":["textures/blackdust/blackdust_fr.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/blackdust/blackdust_lf.png":["textures/blackdust/blackdust_lf.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/blackdust/blackdust_rt.png":["textures/blackdust/blackdust_rt.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/blackdust/blackdust_up.png":["textures/blackdust/blackdust_up.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/blblue.png":["textures/bLBlue.PNG",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/blite00.png":["textures/blite00.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/blite04.png":["textures/blite04.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/blue_blink4.png":["textures/blue_blink4.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/bluspherecrash.png":["textures/bluSphereCrash.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/borealis.dml":["textures/borealis.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/bred.png":["textures/bRed.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/bsmoke02.png":["textures/bsmoke02.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/canyon_crusade.dml":["textures/canyon_crusade.dml",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/catmat.png":["textures/catMat.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/catwhiskers.png":["textures/catWhiskers.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/ccbsky2.dml":["textures/ccbsky2.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/clouds.dml":["textures/clouds.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/cmdlite01.png":["textures/cmdlite01.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/commander/cursors/com_cursor_arrow_icon.png":["textures/commander/Cursors/com_cursor_arrow_icon.png",["textures.vl2"]],"textures/commander/cursors/com_handclose_icon.png":["textures/commander/Cursors/com_handclose_icon.png",["textures.vl2"]],"textures/commander/cursors/com_handopen_icon.png":["textures/commander/Cursors/com_handopen_icon.png",["textures.vl2"]],"textures/commander/cursors/com_maglass_icon.png":["textures/commander/Cursors/com_maglass_icon.png",["textures.vl2"]],"textures/commander/cursors/com_pointer_icon.png":["textures/commander/Cursors/com_pointer_icon.png",["textures.vl2"]],"textures/commander/cursors/com_pointer_pos_icon.png":["textures/commander/Cursors/com_pointer_pos_icon.png",["textures.vl2"]],"textures/commander/gui/cmd_columnheadbar.png":["textures/commander/Gui/cmd_columnheadbar.png",["textures.vl2"]],"textures/commander/gui/cmd_control_checkbox.png":["textures/commander/Gui/cmd_control_checkbox.png",["textures.vl2"]],"textures/commander/gui/cmd_gradient.png":["textures/commander/Gui/cmd_gradient.png",["textures.vl2"]],"textures/commander/gui/cmd_icon_camera.png":["textures/commander/Gui/cmd_icon_camera.png",["textures.vl2"]],"textures/commander/gui/cmd_icon_center.png":["textures/commander/Gui/cmd_icon_center.png",["textures.vl2"]],"textures/commander/gui/cmd_icon_misc.png":["textures/commander/Gui/cmd_icon_misc.png",["textures.vl2"]],"textures/commander/gui/cmd_icon_misc_d.png":["textures/commander/Gui/cmd_icon_misc_D.png",["textures.vl2"]],"textures/commander/gui/cmd_icon_moveselect.png":["textures/commander/Gui/cmd_icon_moveselect.png",["textures.vl2"]],"textures/commander/gui/cmd_icon_objectives.png":["textures/commander/Gui/cmd_icon_objectives.png",["textures.vl2"]],"textures/commander/gui/cmd_icon_players.png":["textures/commander/Gui/cmd_icon_players.png",["textures.vl2"]],"textures/commander/gui/cmd_icon_sensor.png":["textures/commander/Gui/cmd_icon_sensor.png",["textures.vl2"]],"textures/commander/gui/cmd_icon_tactical.png":["textures/commander/Gui/cmd_icon_tactical.png",["textures.vl2"]],"textures/commander/gui/cmd_icon_tactical_d.png":["textures/commander/Gui/cmd_icon_tactical_D.png",["textures.vl2"]],"textures/commander/gui/cmd_icon_text.png":["textures/commander/Gui/cmd_icon_text.png",["textures.vl2"]],"textures/commander/gui/cmd_icon_waypoints.png":["textures/commander/Gui/cmd_icon_waypoints.png",["textures.vl2"]],"textures/commander/gui/cmd_icon_zoom.png":["textures/commander/Gui/cmd_icon_zoom.png",["textures.vl2"]],"textures/commander/gui/cmd_offscreen_arrow.png":["textures/commander/Gui/cmd_offscreen_arrow.png",["textures.vl2"]],"textures/commander/gui/cmd_tv_frame.png":["textures/commander/Gui/cmd_tv_frame.png",["textures.vl2"]],"textures/commander/gui/cmd_tv_static.png":["textures/commander/Gui/cmd_tv_static.png",["textures.vl2"]],"textures/commander/icons/assigned_task_anim.dml":["textures/commander/Icons/assigned_task_anim.dml",["textures.vl2"]],"textures/commander/icons/base_select.dml":["textures/commander/Icons/base_select.dml",["textures.vl2"]],"textures/commander/icons/com_icon_bioderm.png":["textures/commander/Icons/com_icon_bioderm.png",["textures.vl2"]],"textures/commander/icons/com_icon_bioderm_glow.png":["textures/commander/Icons/com_icon_bioderm_glow.png",["textures.vl2"]],"textures/commander/icons/com_icon_bloodeagle.png":["textures/commander/Icons/com_icon_bloodeagle.png",["textures.vl2"]],"textures/commander/icons/com_icon_bloodeagle_glow.png":["textures/commander/Icons/com_icon_bloodeagle_glow.png",["textures.vl2"]],"textures/commander/icons/com_icon_bomber.png":["textures/commander/Icons/com_icon_bomber.png",["textures.vl2"]],"textures/commander/icons/com_icon_bomber_glow.png":["textures/commander/Icons/com_icon_bomber_glow.png",["textures.vl2"]],"textures/commander/icons/com_icon_camera.png":["textures/commander/Icons/com_icon_camera.png",["textures.vl2"]],"textures/commander/icons/com_icon_camera_glow.png":["textures/commander/Icons/com_icon_camera_glow.png",["textures.vl2"]],"textures/commander/icons/com_icon_diamsword.png":["textures/commander/Icons/com_icon_diamsword.png",["textures.vl2"]],"textures/commander/icons/com_icon_diamsword_glow.png":["textures/commander/Icons/com_icon_diamsword_glow.png",["textures.vl2"]],"textures/commander/icons/com_icon_flag_outside.png":["textures/commander/Icons/com_icon_flag_outside.png",["textures.vl2"]],"textures/commander/icons/com_icon_flag_outside_glow.png":["textures/commander/Icons/com_icon_flag_outside_glow.png",["textures.vl2"]],"textures/commander/icons/com_icon_generator.png":["textures/commander/Icons/com_icon_generator.png",["textures.vl2"]],"textures/commander/icons/com_icon_generator_glow.png":["textures/commander/Icons/com_icon_generator_glow.png",["textures.vl2"]],"textures/commander/icons/com_icon_genericswitch.png":["textures/commander/Icons/com_icon_genericswitch.png",["textures.vl2"]],"textures/commander/icons/com_icon_genericswitch_glow.png":["textures/commander/Icons/com_icon_genericswitch_glow.png",["textures.vl2"]],"textures/commander/icons/com_icon_hapc.png":["textures/commander/Icons/com_icon_hapc.png",["textures.vl2"]],"textures/commander/icons/com_icon_hapc_glow.png":["textures/commander/Icons/com_icon_hapc_glow.png",["textures.vl2"]],"textures/commander/icons/com_icon_harbinger.png":["textures/commander/Icons/com_icon_harbinger.png",["textures.vl2"]],"textures/commander/icons/com_icon_harbinger_glow.png":["textures/commander/Icons/com_icon_harbinger_glow.png",["textures.vl2"]],"textures/commander/icons/com_icon_inferno.png":["textures/commander/Icons/com_icon_inferno.png",["textures.vl2"]],"textures/commander/icons/com_icon_inferno_glow.png":["textures/commander/Icons/com_icon_inferno_glow.png",["textures.vl2"]],"textures/commander/icons/com_icon_inventory.png":["textures/commander/Icons/com_icon_inventory.png",["textures.vl2"]],"textures/commander/icons/com_icon_inventory_glow.png":["textures/commander/Icons/com_icon_inventory_glow.png",["textures.vl2"]],"textures/commander/icons/com_icon_landscout.png":["textures/commander/Icons/com_icon_landscout.png",["textures.vl2"]],"textures/commander/icons/com_icon_landscout_glow.png":["textures/commander/Icons/com_icon_landscout_glow.png",["textures.vl2"]],"textures/commander/icons/com_icon_mpb.png":["textures/commander/Icons/com_icon_mpb.png",["textures.vl2"]],"textures/commander/icons/com_icon_mpb_glow.png":["textures/commander/Icons/com_icon_mpb_glow.png",["textures.vl2"]],"textures/commander/icons/com_icon_nexus.png":["textures/commander/Icons/com_icon_nexus.png",["textures.vl2"]],"textures/commander/icons/com_icon_nexus_glow.png":["textures/commander/Icons/com_icon_nexus_glow.png",["textures.vl2"]],"textures/commander/icons/com_icon_scout.png":["textures/commander/Icons/com_icon_scout.png",["textures.vl2"]],"textures/commander/icons/com_icon_scout_glow.png":["textures/commander/Icons/com_icon_scout_glow.png",["textures.vl2"]],"textures/commander/icons/com_icon_sensor.png":["textures/commander/Icons/com_icon_sensor.png",["textures.vl2"]],"textures/commander/icons/com_icon_sensor_glow.png":["textures/commander/Icons/com_icon_sensor_glow.png",["textures.vl2"]],"textures/commander/icons/com_icon_solar_gen.png":["textures/commander/Icons/com_icon_solar_gen.png",["textures.vl2"]],"textures/commander/icons/com_icon_solar_gen_glow.png":["textures/commander/Icons/com_icon_solar_gen_glow.png",["textures.vl2"]],"textures/commander/icons/com_icon_starwolf.png":["textures/commander/Icons/com_icon_starwolf.png",["textures.vl2"]],"textures/commander/icons/com_icon_starwolf_glow.png":["textures/commander/Icons/com_icon_starwolf_glow.png",["textures.vl2"]],"textures/commander/icons/com_icon_storm.png":["textures/commander/Icons/com_icon_storm.png",["textures.vl2"]],"textures/commander/icons/com_icon_storm_glow.png":["textures/commander/Icons/com_icon_storm_glow.png",["textures.vl2"]],"textures/commander/icons/com_icon_tank.png":["textures/commander/Icons/com_icon_tank.png",["textures.vl2"]],"textures/commander/icons/com_icon_tank_glow.png":["textures/commander/Icons/com_icon_tank_glow.png",["textures.vl2"]],"textures/commander/icons/com_icon_turret.png":["textures/commander/Icons/com_icon_turret.png",["textures.vl2"]],"textures/commander/icons/com_icon_turret_glow.png":["textures/commander/Icons/com_icon_turret_glow.png",["textures.vl2"]],"textures/commander/icons/com_icon_turretbase.png":["textures/commander/Icons/com_icon_turretbase.png",["textures.vl2"]],"textures/commander/icons/com_icon_turretbase_glow.png":["textures/commander/Icons/com_icon_turretbase_glow.png",["textures.vl2"]],"textures/commander/icons/com_icon_vehicle_inventory.png":["textures/commander/Icons/com_icon_vehicle_inventory.png",["textures.vl2"]],"textures/commander/icons/com_icon_vehicle_inventory_glow.png":["textures/commander/Icons/com_icon_vehicle_inventory_glow.png",["textures.vl2"]],"textures/commander/icons/com_player_grey_24x.png":["textures/commander/Icons/com_player_grey_24x.png",["textures.vl2"]],"textures/commander/icons/com_player_grey_24x_glow.png":["textures/commander/Icons/com_player_grey_24x_glow.png",["textures.vl2"]],"textures/commander/icons/com_waypoint_1.png":["textures/commander/Icons/com_waypoint_1.png",["textures.vl2"]],"textures/commander/icons/com_waypoint_2.png":["textures/commander/Icons/com_waypoint_2.png",["textures.vl2"]],"textures/commander/icons/com_waypoint_3.png":["textures/commander/Icons/com_waypoint_3.png",["textures.vl2"]],"textures/commander/icons/com_waypoint_4.png":["textures/commander/Icons/com_waypoint_4.png",["textures.vl2"]],"textures/commander/icons/com_waypoint_5.png":["textures/commander/Icons/com_waypoint_5.png",["textures.vl2"]],"textures/commander/icons/com_waypoint_6.png":["textures/commander/Icons/com_waypoint_6.png",["textures.vl2"]],"textures/commander/icons/com_waypoint_7.png":["textures/commander/Icons/com_waypoint_7.png",["textures.vl2"]],"textures/commander/icons/diamond_frame_1.png":["textures/commander/Icons/diamond_frame_1.png",["textures.vl2"]],"textures/commander/icons/diamond_frame_2.png":["textures/commander/Icons/diamond_frame_2.png",["textures.vl2"]],"textures/commander/icons/diamond_frame_3.png":["textures/commander/Icons/diamond_frame_3.png",["textures.vl2"]],"textures/commander/icons/diamond_frame_4.png":["textures/commander/Icons/diamond_frame_4.png",["textures.vl2"]],"textures/commander/icons/diamond_frame_5.png":["textures/commander/Icons/diamond_frame_5.png",["textures.vl2"]],"textures/commander/icons/diamond_frame_6.png":["textures/commander/Icons/diamond_frame_6.png",["textures.vl2"]],"textures/commander/icons/diamond_not_selected.png":["textures/commander/Icons/diamond_not_selected.png",["textures.vl2"]],"textures/commander/icons/player_glow.dml":["textures/commander/Icons/player_glow.dml",["textures.vl2"]],"textures/commander/icons/selectobject_1.png":["textures/commander/Icons/selectobject_1.png",["textures.vl2"]],"textures/commander/icons/selectobject_2.png":["textures/commander/Icons/selectobject_2.png",["textures.vl2"]],"textures/commander/icons/selectobject_3.png":["textures/commander/Icons/selectobject_3.png",["textures.vl2"]],"textures/commander/icons/selectobject_4.png":["textures/commander/Icons/selectobject_4.png",["textures.vl2"]],"textures/commander/icons/selectobject_5.png":["textures/commander/Icons/selectobject_5.png",["textures.vl2"]],"textures/commander/icons/selectobject_6.png":["textures/commander/Icons/selectobject_6.png",["textures.vl2"]],"textures/commander/icons/selectobject_7.png":["textures/commander/Icons/selectobject_7.png",["textures.vl2"]],"textures/commander/icons/waypoint_anim.dml":["textures/commander/Icons/waypoint_anim.dml",["textures.vl2"]],"textures/commander/miniicons/com_bomber_grey.png":["textures/commander/MiniIcons/com_bomber_grey.png",["textures.vl2"]],"textures/commander/miniicons/com_camera_grey.png":["textures/commander/MiniIcons/com_camera_grey.png",["textures.vl2"]],"textures/commander/miniicons/com_deploymotionsensor.png":["textures/commander/MiniIcons/com_deploymotionsensor.png",["textures.vl2"]],"textures/commander/miniicons/com_deploypulsesensor.png":["textures/commander/MiniIcons/com_deploypulsesensor.png",["textures.vl2"]],"textures/commander/miniicons/com_flag_grey.png":["textures/commander/MiniIcons/com_flag_grey.png",["textures.vl2"]],"textures/commander/miniicons/com_generator.png":["textures/commander/MiniIcons/com_generator.png",["textures.vl2"]],"textures/commander/miniicons/com_hapc_grey.png":["textures/commander/MiniIcons/com_hapc_grey.png",["textures.vl2"]],"textures/commander/miniicons/com_inventory_grey.png":["textures/commander/MiniIcons/com_inventory_grey.png",["textures.vl2"]],"textures/commander/miniicons/com_landscout_grey.png":["textures/commander/MiniIcons/com_landscout_grey.png",["textures.vl2"]],"textures/commander/miniicons/com_mpb_grey.png":["textures/commander/MiniIcons/com_mpb_grey.png",["textures.vl2"]],"textures/commander/miniicons/com_player_grey.png":["textures/commander/MiniIcons/com_player_grey.png",["textures.vl2"]],"textures/commander/miniicons/com_scout_grey.png":["textures/commander/MiniIcons/com_scout_grey.png",["textures.vl2"]],"textures/commander/miniicons/com_sensor_grey.png":["textures/commander/MiniIcons/com_sensor_grey.png",["textures.vl2"]],"textures/commander/miniicons/com_solargen_grey.png":["textures/commander/MiniIcons/com_solargen_grey.png",["textures.vl2"]],"textures/commander/miniicons/com_switch_grey.png":["textures/commander/MiniIcons/com_switch_grey.png",["textures.vl2"]],"textures/commander/miniicons/com_tank_grey.png":["textures/commander/MiniIcons/com_tank_grey.png",["textures.vl2"]],"textures/commander/miniicons/com_turret_grey.png":["textures/commander/MiniIcons/com_turret_grey.png",["textures.vl2"]],"textures/commander/miniicons/com_turretbase_grey.png":["textures/commander/MiniIcons/com_turretbase_grey.png",["textures.vl2"]],"textures/commander/miniicons/com_vehicle_pad_inventory.png":["textures/commander/MiniIcons/com_vehicle_pad_inventory.png",["textures.vl2"]],"textures/commander/miniicons/com_waypoint_grey.png":["textures/commander/MiniIcons/com_waypoint_grey.png",["textures.vl2"]],"textures/commander/miniicons/tr2com_flag_grey.png":["textures/commander/MiniIcons/TR2com_flag_grey.png",["TR2final105-client.vl2"]],"textures/concretefloor.png":["textures/ConcreteFloor.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/concretevents.png":["textures/ConcreteVents.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/control.png":["textures/control.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/cp_nebula3.png":["textures/cp_nebula3.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/cphoenix.flag.png":["textures/cphoenix.flag.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/cubemap.dml":["textures/cubemap.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/cylinder_tex.png":["textures/cylinder_tex.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/damskyback.png":["textures/damSkyBack.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/damskyfront.png":["textures/damSkyFront.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/damskyleft.png":["textures/damSkyLeft.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/damskyright.png":["textures/damSkyRight.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/damskytop.png":["textures/damSkyTop.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dark_green.dml":["textures/dark_green.dml",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/dark_green/dark_green_bk.png":["textures/dark_green/dark_green_BK.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/dark_green/dark_green_cloud1.png":["textures/dark_green/dark_green_cloud1.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/dark_green/dark_green_cloud2.png":["textures/dark_green/dark_green_cloud2.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/dark_green/dark_green_dn.png":["textures/dark_green/dark_green_DN.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/dark_green/dark_green_fr.png":["textures/dark_green/dark_green_FR.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/dark_green/dark_green_lf.png":["textures/dark_green/dark_green_LF.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/dark_green/dark_green_rt.png":["textures/dark_green/dark_green_RT.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/dark_green/dark_green_up.png":["textures/dark_green/dark_green_UP.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/darkstormy.dml":["textures/DarkStormy.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dd2.png":["textures/dd2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/deploy_ammo.png":["textures/deploy_Ammo.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/deploy_ammo2.png":["textures/deploy_Ammo2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/desert/cp_ecombo1a.png":["textures/desert/cp_ecombo1a.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_ecombo1b.png":["textures/desert/cp_ecombo1b.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_eport01.png":["textures/desert/cp_eport01.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_eport01c.png":["textures/desert/cp_eport01c.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_espec01.png":["textures/desert/cp_espec01.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_espec02.png":["textures/desert/cp_espec02.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_espec02base.png":["textures/desert/cp_espec02BASE.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_espec02cap.png":["textures/desert/cp_espec02CAP.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_espec03.png":["textures/desert/cp_espec03.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_etec01.png":["textures/desert/cp_etec01.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_etec02.png":["textures/desert/cp_etec02.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_ewal01.png":["textures/desert/cp_ewal01.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_ewal01a.png":["textures/desert/cp_ewal01a.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_ewal01b.png":["textures/desert/cp_ewal01b.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_ewal01c.png":["textures/desert/cp_ewal01c.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_ewal01d.png":["textures/desert/cp_ewal01d.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_ewal01e.png":["textures/desert/cp_ewal01e.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_ewal01f.png":["textures/desert/cp_ewal01f.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_ibor01.png":["textures/desert/cp_ibor01.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_ibor01a.png":["textures/desert/cp_ibor01a.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_ibor02.png":["textures/desert/cp_ibor02.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_ibor02a.png":["textures/desert/cp_ibor02a.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_ibor03.png":["textures/desert/cp_ibor03.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_ichute01.png":["textures/desert/cp_ichute01.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_ichute02.png":["textures/desert/cp_ichute02.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_icoldeco01.png":["textures/desert/cp_icoldeco01.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_icoldeco01a.png":["textures/desert/cp_icoldeco01a.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_icoligola.png":["textures/desert/cp_icoligolA.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_icomp01b.png":["textures/desert/cp_icomp01b.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_icomp01c.png":["textures/desert/cp_icomp01c.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_icomp01e.png":["textures/desert/cp_icomp01e.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_icomp01f.png":["textures/desert/cp_icomp01f.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_icomp01g.png":["textures/desert/cp_icomp01g.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_idoo01.png":["textures/desert/cp_idoo01.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_iflo01.png":["textures/desert/cp_iflo01.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_iflo01d.png":["textures/desert/cp_iflo01d.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_iflo02.png":["textures/desert/cp_iflo02.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_iflo02a.png":["textures/desert/cp_iflo02a.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_iflo02b.png":["textures/desert/cp_iflo02b.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_iflo02c.png":["textures/desert/cp_iflo02c.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_ilig01.png":["textures/desert/cp_ilig01.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_ilig01a.png":["textures/desert/cp_ilig01a.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_ilig02.png":["textures/desert/cp_ilig02.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_ilig02a.png":["textures/desert/cp_ilig02a.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_ilig02b.png":["textures/desert/cp_ilig02b.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_ilig02c.png":["textures/desert/cp_ilig02c.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_ilig05a.png":["textures/desert/cp_ilig05a.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_ilig05b.png":["textures/desert/cp_ilig05b.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_ispec01.png":["textures/desert/cp_ispec01.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_ispec01cap.png":["textures/desert/cp_ispec01CAP.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_ispec02b.png":["textures/desert/cp_ispec02b.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_ispec02cap.png":["textures/desert/cp_ispec02CAP.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_ispecbase01.png":["textures/desert/cp_ispecbase01.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_ispecbase01a.png":["textures/desert/cp_ispecbase01a.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_ispecbase01d.png":["textures/desert/cp_ispecbase01d.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_ispecbase01f.png":["textures/desert/cp_ispecbase01f.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_ispecbase01g.png":["textures/desert/cp_ispecbase01g.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_istair01.png":["textures/desert/cp_istair01.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_istrface01.png":["textures/desert/cp_istrface01.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_istrface01c.png":["textures/desert/cp_istrface01c.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_istrface01d.png":["textures/desert/cp_istrface01d.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_istrface01e.png":["textures/desert/cp_istrface01e.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_istrface01f.png":["textures/desert/cp_istrface01f.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_istrface01g.png":["textures/desert/cp_istrface01g.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_istrface01h.png":["textures/desert/cp_istrface01h.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_itec01.png":["textures/desert/cp_itec01.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_itec01c.png":["textures/desert/cp_itec01c.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_itec02.png":["textures/desert/cp_itec02.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_itec03a.png":["textures/desert/cp_itec03a.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_itec03b.png":["textures/desert/cp_itec03b.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_itecwal01.png":["textures/desert/cp_itecwal01.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_itecwal01a.png":["textures/desert/cp_itecwal01a.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_itecwal01b.png":["textures/desert/cp_itecwal01b.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_iwal02b.png":["textures/desert/cp_iwal02b.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_iwal02d.png":["textures/desert/cp_iwal02d.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_iwal02f.png":["textures/desert/cp_iwal02f.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_iwal02g.png":["textures/desert/cp_iwal02g.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_iwalbase02.png":["textures/desert/cp_iwalbase02.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_iwalbase02a.png":["textures/desert/cp_iwalbase02a.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_sand.png":["textures/desert/cp_sand.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_screen.png":["textures/desert/cp_screen.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_scrnbrdr01a.png":["textures/desert/cp_scrnbrdr01a.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_scrnbrdr01c.png":["textures/desert/cp_scrnbrdr01c.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_thresh01off.png":["textures/desert/cp_thresh01OFF.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_thresh01on.png":["textures/desert/cp_thresh01ON.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/iwal2020.png":["textures/desert/iwal2020.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/desert/iwal2021.png":["textures/desert/iwal2021.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/desert/iwal2022.png":["textures/desert/iwal2022.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/desert/skies/d_n_b.png":["textures/desert/skies/d_N_b.png",["desert.vl2"]],"textures/desert/skies/d_n_d.png":["textures/desert/skies/d_N_d.png",["desert.vl2"]],"textures/desert/skies/d_n_f.png":["textures/desert/skies/d_N_f.png",["desert.vl2"]],"textures/desert/skies/d_n_l.png":["textures/desert/skies/d_N_l.png",["desert.vl2"]],"textures/desert/skies/d_n_move1.png":["textures/desert/skies/d_n_move1.png",["desert.vl2"]],"textures/desert/skies/d_n_move2.png":["textures/desert/skies/d_n_move2.png",["desert.vl2"]],"textures/desert/skies/d_n_move3.png":["textures/desert/skies/d_n_move3.png",["desert.vl2"]],"textures/desert/skies/d_n_r.png":["textures/desert/skies/d_N_r.png",["desert.vl2"]],"textures/desert/skies/d_n_t.png":["textures/desert/skies/d_N_t.png",["desert.vl2"]],"textures/desert/skies/db2.png":["textures/desert/skies/db2.png",["desert.vl2"]],"textures/desert/skies/dd2.png":["textures/desert/skies/dd2.png",["desert.vl2"]],"textures/desert/skies/desert_blue_emap.png":["textures/desert/skies/desert_blue_emap.png",["desert.vl2"]],"textures/desert/skies/desert_brown_emap.png":["textures/desert/skies/desert_brown_emap.png",["desert.vl2"]],"textures/desert/skies/desert_starrynite_emap.png":["textures/desert/skies/desert_starrynite_emap.png",["desert.vl2"]],"textures/desert/skies/desertmove1.png":["textures/desert/skies/desertmove1.png",["desert.vl2"]],"textures/desert/skies/desertmove2.png":["textures/desert/skies/desertmove2.png",["desert.vl2"]],"textures/desert/skies/desertmove3.png":["textures/desert/skies/desertmove3.png",["desert.vl2"]],"textures/desert/skies/desertmove4.png":["textures/desert/skies/desertmove4.png",["desert.vl2"]],"textures/desert/skies/df2.png":["textures/desert/skies/df2.png",["desert.vl2"]],"textures/desert/skies/dl2.png":["textures/desert/skies/dl2.png",["desert.vl2"]],"textures/desert/skies/dr2.png":["textures/desert/skies/dr2.png",["desert.vl2"]],"textures/desert/skies/dt2.png":["textures/desert/skies/dt2.png",["desert.vl2"]],"textures/desert/skies/starrynite_v3_bk.png":["textures/desert/skies/starrynite_v3_BK.png",["desert.vl2"]],"textures/desert/skies/starrynite_v3_dn.png":["textures/desert/skies/starrynite_v3_DN.png",["desert.vl2"]],"textures/desert/skies/starrynite_v3_fr.png":["textures/desert/skies/starrynite_v3_FR.png",["desert.vl2"]],"textures/desert/skies/starrynite_v3_lf.png":["textures/desert/skies/starrynite_v3_LF.png",["desert.vl2"]],"textures/desert/skies/starrynite_v3_rt.png":["textures/desert/skies/starrynite_v3_RT.png",["desert.vl2"]],"textures/desert/skies/starrynite_v3_up.png":["textures/desert/skies/starrynite_v3_UP.png",["desert.vl2"]],"textures/desert512.png":["textures/desert512.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/desert_l4.dml":["textures/Desert_l4.dml",["textures.vl2"]],"textures/desertdust.png":["textures/desertDust.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/details/baddet1.png":["textures/details/BadDet1.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/details/baddet2.png":["textures/details/BadDet2.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/details/bb_det2.png":["textures/Details/bb_det2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2","textures/details/bb_det2.png"]],"textures/details/desertdet1.png":["textures/details/DesertDet1.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/details/desertdet2.png":["textures/details/DesertDet2.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/details/lavadet1.png":["textures/details/LavaDet1.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/details/lavadet2.png":["textures/details/LavaDet2.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/details/lushdet1.png":["textures/details/LushDet1.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/details/lushdet2.png":["textures/details/LushDet2.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/details/planetx_cb1.png":["textures/details/PlanetX_CB1.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/details/snowdet1.png":["textures/details/SnowDet1.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/details/snowdet2.png":["textures/details/SnowDet2.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/dkmetal.png":["textures/dkmetal.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/4circle_lite.png":["textures/dox/4circle_lite.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/4square_lite.png":["textures/dox/4square_lite.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/ancient3.png":["textures/dox/ancient3.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/antigrav.png":["textures/dox/antigrav.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/base1c.png":["textures/dox/base1c.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/base_dark2.png":["textures/dox/base_dark2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/base_rockburn.png":["textures/dox/base_rockburn.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/base_rocklog.png":["textures/dox/base_rocklog.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/bb_red.png":["textures/dox/bb_red.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/bb_red2.png":["textures/dox/bb_red2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/bb_sand.png":["textures/dox/bb_sand.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/bd_ispe07.png":["textures/dox/bd_ispe07.PNG",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/be_edoo02.png":["textures/dox/be_edoo02.PNG",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/be_elig02.png":["textures/dox/be_elig02.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/be_elig02_nd.png":["textures/dox/be_elig02_nd.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/be_elig03.png":["textures/dox/be_elig03.PNG",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/be_espec02.png":["textures/dox/be_espec02.PNG",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/be_ewal03_hl.png":["textures/dox/be_ewal03_hl.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/be_ewal03acrk.png":["textures/dox/be_ewal03acrk.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/be_ewal06.png":["textures/dox/be_ewal06.PNG",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/be_gr3streak.png":["textures/dox/be_gr3streak.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/be_gr4streak.png":["textures/dox/be_gr4streak.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/be_icei01a.png":["textures/dox/be_icei01a.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/be_ihalig.png":["textures/dox/be_ihalig.PNG",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/be_iprflo01.png":["textures/dox/be_iprflo01.PNG",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/be_itebor04.png":["textures/dox/be_itebor04.PNG",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/be_itedoo01.png":["textures/dox/be_itedoo01.PNG",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/be_itelig01.png":["textures/dox/be_itelig01.PNG",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/be_itelig02.png":["textures/dox/be_itelig02.PNG",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/be_itewal01.png":["textures/dox/be_itewal01.PNG",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/be_itewal04.png":["textures/dox/be_itewal04.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/beaglelz.png":["textures/dox/beaglelz.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/beam01.png":["textures/dox/beam01.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/belogo.png":["textures/dox/BELogo.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/belogo2.png":["textures/dox/BElogo2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/bigrust.png":["textures/dox/bigrust.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/bigrust2.png":["textures/dox/bigrust2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/blue_light1.png":["textures/dox/blue_light1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/blue_light2.png":["textures/dox/blue_light2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/bluemoon.png":["textures/dox/BlueMoon.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/bluescrdeath.png":["textures/dox/bluescrdeath.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/bluetrim1.png":["textures/dox/bluetrim1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/bluetrim2.png":["textures/dox/bluetrim2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/bluetrim2a.png":["textures/dox/bluetrim2a.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/bluetrim3.png":["textures/dox/bluetrim3.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/bluetrim4.png":["textures/dox/bluetrim4.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/bolttrim.png":["textures/dox/bolttrim.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/box_a.png":["textures/dox/box_a.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/box_b.png":["textures/dox/box_b.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/box_c.png":["textures/dox/box_c.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/cam1.png":["textures/dox/cam1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/cargo.png":["textures/dox/cargo.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/cargo1.png":["textures/dox/cargo1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/cargoend.png":["textures/dox/cargoend.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/cargoend2.png":["textures/dox/cargoend2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/cargotop.png":["textures/dox/cargotop.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/carinternalwall.png":["textures/dox/carinternalwall.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/carrierlogo1.png":["textures/dox/carrierlogo1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/carrierlogo2.png":["textures/dox/carrierlogo2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/carrierwall2.png":["textures/dox/carrierwall2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/carrierwall4.png":["textures/dox/carrierwall4.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/cementwall6.png":["textures/dox/cementwall6.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/cementwall8.png":["textures/dox/cementwall8.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/concretefloor.png":["textures/dox/ConcreteFloor.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/concretefloords.png":["textures/dox/ConcreteFloorDS.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/concretevents.png":["textures/dox/ConcreteVents.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/corridorfloor.png":["textures/dox/CorridorFloor.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/corridorwa.png":["textures/dox/CorridorWA.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/corridorwb.png":["textures/dox/CorridorWB.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/corridorwd.png":["textures/dox/CorridorWD.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/cretepillarc.png":["textures/dox/cretepillarc.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/crudewarn.png":["textures/dox/crudewarn.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/deck1+.png":["textures/dox/deck1+.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/doorlogo1.png":["textures/dox/doorlogo1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/doorlogo2.png":["textures/dox/doorlogo2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/dox_beam.png":["textures/dox/dox_beam.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/dox_bluelite1.png":["textures/dox/dox_bluelite1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/dox_bluelite2.png":["textures/dox/dox_bluelite2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/dox_grsteel3.png":["textures/dox/dox_grsteel3.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/dox_grsteel3_b.png":["textures/dox/dox_grsteel3_b.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/dox_grsteel3_f.png":["textures/dox/dox_grsteel3_f.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/dox_grsteel4.png":["textures/dox/dox_grsteel4.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/dox_pipe1.png":["textures/dox/dox_pipe1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/drkmtldpanelc.png":["textures/dox/drkmtldpanelc.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/ds_etechbor01.png":["textures/dox/ds_etechbor01.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/ds_etechbrdr2.png":["textures/dox/ds_etechbrdr2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/ds_ewall06.png":["textures/dox/ds_ewall06.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/ds_ewall07.png":["textures/dox/ds_ewall07.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/ds_genfloor.png":["textures/dox/ds_genfloor.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/ds_genwall.png":["textures/dox/ds_genwall.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/ds_ilig02.png":["textures/dox/ds_ilig02.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/ds_ilig03.png":["textures/dox/ds_ilig03.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/ds_ilig04.png":["textures/dox/ds_ilig04.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/ds_iwal01.png":["textures/dox/ds_iwal01.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/ds_jet03.png":["textures/dox/ds_jet03.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/ds_nefbltrim.png":["textures/dox/ds_NefBlTrim.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/ds_nefblue.png":["textures/dox/ds_NefBlue.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/ds_nefblue1.png":["textures/dox/ds_NefBlue1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/ds_neffloor1.png":["textures/dox/ds_Neffloor1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/ds_neffloor5.png":["textures/dox/ds_Neffloor5.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/ds_nefwall1.png":["textures/dox/ds_NefWall1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/dswordlz.png":["textures/dox/dswordlz.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e6cfloordented.png":["textures/dox/e6cfloordented.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e6girdergrate.png":["textures/dox/e6girdergrate.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e6grate2flr.png":["textures/dox/e6grate2flr.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e6horzlight.png":["textures/dox/e6horzlight.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e6smlgrtflr2bl.png":["textures/dox/e6smlgrtflr2bl.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e6strimlight.png":["textures/dox/e6strimlight.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8_base1.png":["textures/dox/e8_base1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8_base1b.png":["textures/dox/e8_base1b.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8_base1c.png":["textures/dox/e8_base1c.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8_btrim01.png":["textures/dox/e8_btrim01.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8_btrim05.png":["textures/dox/e8_btrim05.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8_launchpad1.png":["textures/dox/e8_launchpad1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8_mtlwall1b.png":["textures/dox/e8_mtlwall1b.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8_mtlwall3.png":["textures/dox/e8_mtlwall3.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8_mtlwall4.png":["textures/dox/e8_mtlwall4.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8_rlight_0000.png":["textures/dox/e8_rlight_0000.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8_rlightb.png":["textures/dox/e8_rlightb.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8_rlightb_0000.png":["textures/dox/e8_rlightb_0000.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8basictrim2_bl.png":["textures/dox/e8basictrim2_bl.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8beam01.png":["textures/dox/e8beam01.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8beam01b.png":["textures/dox/e8beam01b.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8beam02.png":["textures/dox/e8beam02.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8bgrate01.png":["textures/dox/e8bgrate01.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8bolttrim.png":["textures/dox/e8bolttrim.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8bolttrimb.png":["textures/dox/e8bolttrimb.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8clangfloor.png":["textures/dox/e8clangfloor.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8clangfloor01.png":["textures/dox/e8clangfloor01.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8clangfloor03.png":["textures/dox/e8clangfloor03.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8clangfloor05c.png":["textures/dox/e8clangfloor05c.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8clangwarnmix_.png":["textures/dox/e8clangwarnmix_.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8crete01.png":["textures/dox/e8crete01.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8crete01stair1.png":["textures/dox/e8crete01stair1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8crete03.png":["textures/dox/e8crete03.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8crete03b.png":["textures/dox/e8crete03b.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8crete03c.png":["textures/dox/e8crete03c.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8crete03cc.png":["textures/dox/e8crete03cc.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8crete03d.png":["textures/dox/e8crete03d.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8crete03fadedw.png":["textures/dox/e8crete03fadedw.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8cretefloor02.png":["textures/dox/e8cretefloor02.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8cretefloor_ti.png":["textures/dox/e8cretefloor_ti.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8cretesmlltrim.png":["textures/dox/e8cretesmlltrim.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8lighttrim.png":["textures/dox/e8lighttrim.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8lighttrim_b.png":["textures/dox/e8lighttrim_b.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8metal03c_blue.png":["textures/dox/e8metal03c_blue.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8mtltrim.png":["textures/dox/e8mtltrim.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8mtltrim1.png":["textures/dox/e8mtltrim1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8mtltrim1b.png":["textures/dox/e8mtltrim1b.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8mtltrim2.png":["textures/dox/e8mtltrim2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8smlltrim1.png":["textures/dox/e8smlltrim1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8spawn01b.png":["textures/dox/e8spawn01b.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8support02.png":["textures/dox/e8support02.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8support02c.png":["textures/dox/e8support02c.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8support04b_bl.png":["textures/dox/e8support04b_bl.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8support05.png":["textures/dox/e8support05.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8tinylight_000.png":["textures/dox/e8tinylight_000.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8tmtllight2.png":["textures/dox/e8tmtllight2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8trimlight_000.png":["textures/dox/e8trimlight_000.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8warning2.png":["textures/dox/e8warning2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8warning256.png":["textures/dox/e8warning256.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8warning2step.png":["textures/dox/e8warning2step.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8wrntrim.png":["textures/dox/e8wrntrim.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8wrntrim2b.png":["textures/dox/e8wrntrim2b.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/emap_beachblitz.png":["textures/dox/emap_beachblitz.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/engine1.png":["textures/dox/engine1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/exteriora.png":["textures/dox/ExteriorA.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/exteriord.png":["textures/dox/ExteriorD.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/exteriord2.png":["textures/dox/ExteriorD2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/extspheremetal.png":["textures/dox/ExtSphereMetal.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/floormetacir.png":["textures/dox/FloorMetaCir.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/floormetal.png":["textures/dox/FloorMetal.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/floormetal02.png":["textures/dox/FloorMetal02.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/floormetalbe.png":["textures/dox/FloorMetalBE.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/grate1.png":["textures/dox/grate1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/grate2.png":["textures/dox/grate2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/grate_logo.png":["textures/dox/grate_logo.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/gratered.png":["textures/dox/gratered.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/greylite2.png":["textures/dox/greylite2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/gtext2a.png":["textures/dox/gtext2a.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/hangar_indoor1.png":["textures/dox/hangar_indoor1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/hangar_indoor3.png":["textures/dox/hangar_indoor3.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/hangarwall.png":["textures/dox/hangarwall.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/hangarwall2.png":["textures/dox/hangarwall2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/hitec_wall1.png":["textures/dox/hitec_wall1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/housewall.png":["textures/dox/housewall.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/idkmetal2.png":["textures/dox/idkmetal2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/idkmetal2a.png":["textures/dox/idkmetal2a.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/ir_blocks.png":["textures/dox/ir_blocks.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/ir_plain.png":["textures/dox/ir_plain.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/ir_relief.png":["textures/dox/ir_relief.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/ir_trim1.png":["textures/dox/ir_trim1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/ir_trim2.png":["textures/dox/ir_trim2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/ir_wall.png":["textures/dox/ir_wall.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/jaxscr.png":["textures/dox/jaxscr.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/light_cold3.png":["textures/dox/light_cold3.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/light_small.png":["textures/dox/light_small.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/light_small2.png":["textures/dox/light_small2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/light_small3.png":["textures/dox/light_small3.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/light_small4.png":["textures/dox/light_small4.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/marblefloorb.png":["textures/dox/MarbleFloorB.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/marblefloorc.png":["textures/dox/MarbleFloorC.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/marblewallc.png":["textures/dox/MarbleWallC.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/marblewalle.png":["textures/dox/MarbleWallE.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/marblewallf.png":["textures/dox/MarbleWallF.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/matalwalla.png":["textures/dox/MatalWallA.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/metalventwall.png":["textures/dox/MetalVentWall.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/metalwall.png":["textures/dox/MetalWall.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/minesign.png":["textures/dox/minesign.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/mtlsupgrt2light.png":["textures/dox/mtlsupgrt2light.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/mx3_logo.png":["textures/dox/mx3_logo.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/mx3_memb.png":["textures/dox/mx3_memb.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/mx3_tribute.png":["textures/dox/mx3_tribute.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/mx3_wall.png":["textures/dox/mx3_wall.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/null.png":["textures/dox/null.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/nycto-comp3.png":["textures/dox/Nycto-comp3.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/nycto-computer.png":["textures/dox/Nycto-computer.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/paintwalla.png":["textures/dox/PaintWallA.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/paintwallb.png":["textures/dox/PaintWallB.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/paintwalle.png":["textures/dox/PaintWallE.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/pc1.png":["textures/dox/pc1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/pc2.png":["textures/dox/pc2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/pc3.png":["textures/dox/pc3.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/prisonwall.png":["textures/dox/PrisonWall.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/prisonwo.png":["textures/dox/PrisonWO.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/radarscr.png":["textures/dox/radarscr.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/radarscr2.png":["textures/dox/radarscr2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/redstripe2.png":["textures/dox/redstripe2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/redvent2.png":["textures/dox/redvent2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/rock_smalllite.png":["textures/dox/rock_smalllite.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/rock_stripe.png":["textures/dox/rock_stripe.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/rock_stripe2.png":["textures/dox/rock_stripe2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/rock_wall_lite.png":["textures/dox/rock_wall_lite.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/rock_wall_lite2.png":["textures/dox/rock_wall_lite2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/rock_wall_lite3.png":["textures/dox/rock_wall_lite3.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/rock_wall_lite4.png":["textures/dox/rock_wall_lite4.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/rock_wall_lite5.png":["textures/dox/rock_wall_lite5.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/rock_wall_lite6.png":["textures/dox/rock_wall_lite6.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/rock_wall_lite7.png":["textures/dox/rock_wall_lite7.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/rock_wall_lite8.png":["textures/dox/rock_wall_lite8.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/rockwall_logo.png":["textures/dox/rockwall_logo.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/roman_colla.png":["textures/dox/Roman_COLLa.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/roman_collb.png":["textures/dox/Roman_COLLb.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/roman_roof.png":["textures/dox/Roman_ROOF.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/roman_stone.png":["textures/dox/Roman_STONE.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/roofbeam.png":["textures/dox/roofbeam.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/rustbox.png":["textures/dox/rustbox.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/rustbox_logo.png":["textures/dox/rustbox_logo.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/rway1_start.png":["textures/dox/rway1_start.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/rway2_start.png":["textures/dox/rway2_start.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/rway_end2.png":["textures/dox/rway_end2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/rway_middle.png":["textures/dox/rway_middle.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/sboxlogo2.png":["textures/dox/sboxlogo2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/sboxlogotop.png":["textures/dox/sboxlogotop.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/sign1.png":["textures/dox/sign1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/sign2.png":["textures/dox/sign2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/slabgrill.png":["textures/dox/slabgrill.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/special_shield2.png":["textures/dox/special_shield2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/steelwall_logo.png":["textures/dox/steelwall_logo.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/stone_wall1.png":["textures/dox/stone_wall1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/stone_wall2.png":["textures/dox/stone_wall2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/stone_wall3.png":["textures/dox/stone_wall3.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/stone_wall4.png":["textures/dox/stone_wall4.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/stone_wall5.png":["textures/dox/stone_wall5.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/stone_wall7.png":["textures/dox/stone_wall7.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/stonewall.png":["textures/dox/StoneWall.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/stonewallplain.png":["textures/dox/StoneWallPlain.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/stonewt.png":["textures/dox/StoneWT.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/stripe1.png":["textures/dox/stripe1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/stripe2.png":["textures/dox/stripe2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/stripe3.png":["textures/dox/stripe3.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/striplite2.png":["textures/dox/striplite2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/striplite3.png":["textures/dox/striplite3.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/sub_wall.png":["textures/dox/sub_wall.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/subchart1.png":["textures/dox/subchart1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/subdamage.png":["textures/dox/subdamage.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/tcement1a.png":["textures/dox/tcement1a.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/tfloor.png":["textures/dox/tfloor.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/tlroddtilecln.png":["textures/dox/tlroddtilecln.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/tmtllight.png":["textures/dox/tmtllight.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/transporter.png":["textures/dox/transporter.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/transtek.png":["textures/dox/transtek.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/trimodd.png":["textures/dox/trimodd.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/wall_1.png":["textures/dox/wall_1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/wall_1rust.png":["textures/dox/wall_1rust.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/wall_2.png":["textures/dox/wall_2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/wall_3.png":["textures/dox/wall_3.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/wall_4.png":["textures/dox/wall_4.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/wall_5.png":["textures/dox/wall_5.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/wallmetal01.png":["textures/dox/WallMetal01.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/wallmetal02.png":["textures/dox/WallMetal02.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/wallmetalp.png":["textures/dox/WallMetalP.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/wallmetalp0.png":["textures/dox/WallMetalP0.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/wallmetalp2.png":["textures/dox/WallMetalP2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/wallmetalp3.png":["textures/dox/WallMetalp3.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/wallmetalstrips.png":["textures/dox/WallMetalStrips.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/warm_wtlite.png":["textures/dox/warm_wtlite.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/warning2.png":["textures/dox/warning2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/white_striplite.png":["textures/dox/white_striplite.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox_textures/4circle_lite.png":["textures/dox_textures/4circle_lite.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/antigrav.png":["textures/dox_textures/antigrav.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/bluetrim1.png":["textures/dox_textures/bluetrim1.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/bluetrim2.png":["textures/dox_textures/bluetrim2.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/bluetrim3.png":["textures/dox_textures/bluetrim3.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/carinternalwall.png":["textures/dox_textures/carinternalwall.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/carrierwall4.png":["textures/dox_textures/carrierwall4.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/doorlogo2.png":["textures/dox_textures/doorlogo2.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/ds_etechbor01.png":["textures/dox_textures/ds_etechbor01.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/ds_etechbrdr2.png":["textures/dox_textures/ds_etechbrdr2.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/ds_ewall06.png":["textures/dox_textures/ds_ewall06.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/ds_ewall07.png":["textures/dox_textures/ds_ewall07.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/ds_genfloor.png":["textures/dox_textures/ds_genfloor.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/ds_genwall.png":["textures/dox_textures/ds_genwall.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/ds_ilig04.png":["textures/dox_textures/ds_ilig04.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/ds_iwal01.png":["textures/dox_textures/ds_iwal01.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/grate1.png":["textures/dox_textures/grate1.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/grate2.png":["textures/dox_textures/grate2.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/hangar_indoor1.png":["textures/dox_textures/hangar_indoor1.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/hangar_indoor3.png":["textures/dox_textures/hangar_indoor3.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/light_cold3.png":["textures/dox_textures/light_cold3.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/light_small2.png":["textures/dox_textures/light_small2.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/redstripe2.png":["textures/dox_textures/redstripe2.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/rock_smalllite.png":["textures/dox_textures/rock_smalllite.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/rock_wall_lite.png":["textures/dox_textures/rock_wall_lite.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/rock_wall_lite3.png":["textures/dox_textures/rock_wall_lite3.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/rock_wall_lite4.png":["textures/dox_textures/rock_wall_lite4.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/rock_wall_lite5.png":["textures/dox_textures/rock_wall_lite5.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/roofbeam.png":["textures/dox_textures/roofbeam.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/rway_middle.png":["textures/dox_textures/rway_middle.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/sboxlogotop.png":["textures/dox_textures/sboxlogotop.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/slabgrill.png":["textures/dox_textures/slabgrill.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/stripe2.png":["textures/dox_textures/stripe2.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/striplite2.png":["textures/dox_textures/striplite2.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/striplite3.png":["textures/dox_textures/striplite3.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/wall_2.png":["textures/dox_textures/wall_2.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/wall_3.png":["textures/dox_textures/wall_3.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/white_striplite.png":["textures/dox_textures/white_striplite.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dparticle.png":["textures/dParticle.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/ds_ewall07.png":["textures/ds_ewall07.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/ds_ilig02.png":["textures/ds_ilig02.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/ds_iwal01.png":["textures/ds_iwal01.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/ds_nefbltrim.png":["textures/ds_NefBlTrim.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/ds_nefblue1.png":["textures/ds_NefBlue1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/ds_neffloor1.png":["textures/ds_Neffloor1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/ds_nefwall1.png":["textures/ds_NefWall1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dsdust.png":["textures/dsDust.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dsword.flag.png":["textures/dsword.flag.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dust00.png":["textures/dust00.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/dust01.png":["textures/dust01.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/dust02.png":["textures/dust02.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/dust03.png":["textures/dust03.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/dust04.png":["textures/dust04.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/dust05.png":["textures/dust05.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/dust06.png":["textures/dust06.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/dust07.png":["textures/dust07.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/dust08.png":["textures/dust08.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/dust09.png":["textures/dust09.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/dust10.png":["textures/dust10.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/e8clangfloor05c.png":["textures/e8clangfloor05c.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/e8clangwarnmix_.png":["textures/e8clangwarnmix_.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/e8mtltrim1b.png":["textures/e8mtltrim1b.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/e8trimlight_000.png":["textures/e8trimlight_000.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/earthofrog.png":["textures/EarthofRog.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/ee_dxfling.dml":["textures/ee_dxfling.dml",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/ee_greenrain.dml":["textures/ee_greenrain.dml",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/ee_hive.dml":["textures/ee_hive.dml",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/ee_murkymist.dml":["textures/ee_murkymist.dml",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/ee_sidewinder.dml":["textures/ee_sidewinder.dml",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/ee_tusk.dml":["textures/ee_tusk.dml",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/ee_twilightgrove.dml":["textures/ee_twilightgrove.dml",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/ee_underpin.dml":["textures/ee_underpin.dml",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eedessert.dml":["textures/eedessert.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/eeor/base1c.png":["textures/eeor/base1c.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/be_itedoo01.png":["textures/eeor/be_itedoo01.PNG",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/be_itelig01.png":["textures/eeor/be_itelig01.PNG",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/beaglelz.png":["textures/eeor/beaglelz.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/belogo2.png":["textures/eeor/BElogo2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/bluetrim1.png":["textures/eeor/bluetrim1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/bluetrim2.png":["textures/eeor/bluetrim2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/bluetrim2a.png":["textures/eeor/bluetrim2a.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/bluetrim4.png":["textures/eeor/bluetrim4.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/crudewarn.png":["textures/eeor/crudewarn.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/dox_bluelite2.png":["textures/eeor/dox_bluelite2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/ds_ilig02.png":["textures/eeor/ds_ilig02.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/ds_nefblue1.png":["textures/eeor/ds_NefBlue1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/ds_neffloor5.png":["textures/eeor/ds_Neffloor5.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/ds_nefwall1.png":["textures/eeor/ds_NefWall1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/e8_base1.png":["textures/eeor/e8_base1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/grate1.png":["textures/eeor/grate1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/radarscr.png":["textures/eeor/radarscr.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/redstripe2.png":["textures/eeor/redstripe2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/afternoondelight/afternoondelight_back.png":["textures/eeor/skies/afternoondelight/afternoondelight_back.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/afternoondelight/afternoondelight_bottom.png":["textures/eeor/skies/afternoondelight/afternoondelight_bottom.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/afternoondelight/afternoondelight_front.png":["textures/eeor/skies/afternoondelight/afternoondelight_front.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/afternoondelight/afternoondelight_left.png":["textures/eeor/skies/afternoondelight/afternoondelight_left.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/afternoondelight/afternoondelight_right.png":["textures/eeor/skies/afternoondelight/afternoondelight_right.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/afternoondelight/afternoondelight_sky.png":["textures/eeor/skies/afternoondelight/AfternoonDelight_sky.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/afternoondelight/afternoondelight_top.png":["textures/eeor/skies/afternoondelight/afternoondelight_top.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/arcticfever/arcticfever_back.png":["textures/eeor/skies/arcticfever/arcticfever_back.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/arcticfever/arcticfever_bottom.png":["textures/eeor/skies/arcticfever/arcticfever_bottom.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/arcticfever/arcticfever_front.png":["textures/eeor/skies/arcticfever/arcticfever_front.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/arcticfever/arcticfever_left.png":["textures/eeor/skies/arcticfever/arcticfever_left.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/arcticfever/arcticfever_right.png":["textures/eeor/skies/arcticfever/arcticfever_right.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/arcticfever/arcticfever_top.png":["textures/eeor/skies/arcticfever/arcticfever_top.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/cloudscape/cloudscape_back.png":["textures/eeor/skies/cloudscape/Cloudscape_back.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/cloudscape/cloudscape_bottom.png":["textures/eeor/skies/cloudscape/Cloudscape_bottom.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/cloudscape/cloudscape_front.png":["textures/eeor/skies/cloudscape/Cloudscape_front.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/cloudscape/cloudscape_left.png":["textures/eeor/skies/cloudscape/Cloudscape_left.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/cloudscape/cloudscape_right.png":["textures/eeor/skies/cloudscape/Cloudscape_right.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/cloudscape/cloudscape_sky.png":["textures/eeor/skies/cloudscape/Cloudscape_sky.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/cloudscape/cloudscape_top.png":["textures/eeor/skies/cloudscape/Cloudscape_top.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/greenrain/greenrain_back.png":["textures/eeor/skies/greenrain/greenrain_back.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/greenrain/greenrain_bottom.png":["textures/eeor/skies/greenrain/greenrain_bottom.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/greenrain/greenrain_front.png":["textures/eeor/skies/greenrain/greenrain_front.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/greenrain/greenrain_left.png":["textures/eeor/skies/greenrain/greenrain_left.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/greenrain/greenrain_right.png":["textures/eeor/skies/greenrain/greenrain_right.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/greenrain/greenrain_top.png":["textures/eeor/skies/greenrain/greenrain_top.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/lonelycrimson/lonelycrimson_back.png":["textures/eeor/skies/lonelycrimson/LonelyCrimson_back.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/lonelycrimson/lonelycrimson_bottom.png":["textures/eeor/skies/lonelycrimson/LonelyCrimson_bottom.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/lonelycrimson/lonelycrimson_front.png":["textures/eeor/skies/lonelycrimson/LonelyCrimson_front.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/lonelycrimson/lonelycrimson_left.png":["textures/eeor/skies/lonelycrimson/LonelyCrimson_left.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/lonelycrimson/lonelycrimson_right.png":["textures/eeor/skies/lonelycrimson/LonelyCrimson_right.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/lonelycrimson/lonelycrimson_sky.png":["textures/eeor/skies/lonelycrimson/LonelyCrimson_sky.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/lonelycrimson/lonelycrimson_top.png":["textures/eeor/skies/lonelycrimson/LonelyCrimson_top.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/murkymist/murkymist_back.png":["textures/eeor/skies/murkymist/MurkyMist_back.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/murkymist/murkymist_bottom.png":["textures/eeor/skies/murkymist/MurkyMist_bottom.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/murkymist/murkymist_front.png":["textures/eeor/skies/murkymist/MurkyMist_front.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/murkymist/murkymist_left.png":["textures/eeor/skies/murkymist/MurkyMist_left.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/murkymist/murkymist_right.png":["textures/eeor/skies/murkymist/MurkyMist_right.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/murkymist/murkymist_sky.png":["textures/eeor/skies/murkymist/MurkyMist_sky.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/murkymist/murkymist_top.png":["textures/eeor/skies/murkymist/MurkyMist_top.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/stormopoly/stormopoly_back.png":["textures/eeor/skies/stormopoly/Stormopoly_back.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/stormopoly/stormopoly_bottom.png":["textures/eeor/skies/stormopoly/Stormopoly_bottom.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/stormopoly/stormopoly_front.png":["textures/eeor/skies/stormopoly/Stormopoly_front.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/stormopoly/stormopoly_left.png":["textures/eeor/skies/stormopoly/Stormopoly_left.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/stormopoly/stormopoly_right.png":["textures/eeor/skies/stormopoly/Stormopoly_right.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/stormopoly/stormopoly_sky.png":["textures/eeor/skies/stormopoly/Stormopoly_sky.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/stormopoly/stormopoly_top.png":["textures/eeor/skies/stormopoly/Stormopoly_top.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/underpin/underpin_back.png":["textures/eeor/skies/underpin/underpin_back.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/underpin/underpin_bottom.png":["textures/eeor/skies/underpin/underpin_bottom.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/underpin/underpin_front.png":["textures/eeor/skies/underpin/underpin_front.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/underpin/underpin_left.png":["textures/eeor/skies/underpin/underpin_left.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/underpin/underpin_right.png":["textures/eeor/skies/underpin/underpin_right.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/underpin/underpin_sky.png":["textures/eeor/skies/underpin/underpin_sky.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/underpin/underpin_top.png":["textures/eeor/skies/underpin/underpin_top.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/striplite2.png":["textures/eeor/striplite2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/tcement1a.png":["textures/eeor/tcement1a.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/tech_st1_blk2.png":["textures/eeor/tech_st1_blk2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/techcomp1_blk2.png":["textures/eeor/techcomp1_blk2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/techcomp1_ylw1.png":["textures/eeor/techcomp1_ylw1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/techcomp4_blk2.png":["textures/eeor/techcomp4_blk2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/techflat1_blk1.png":["textures/eeor/techflat1_blk1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/techflat1_red2.png":["textures/eeor/techflat1_red2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/techflat1_ylw1.png":["textures/eeor/techflat1_ylw1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/techflr1_blk2.png":["textures/eeor/techflr1_blk2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/techflr1_red2.png":["textures/eeor/techflr1_red2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/techflr1_ylw1.png":["textures/eeor/techflr1_ylw1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/techwall2_grey1.png":["textures/eeor/techwall2_grey1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eflareb2.png":["textures/EFlareB2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eflarer2.png":["textures/EFlareR2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/elevator1.png":["textures/elevator1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/emap.bmp":["textures/emap.bmp",["textures.vl2"]],"textures/emap.png":["textures/emap.png",["yHDTextures2.0.vl2"]],"textures/emitterglowgridd.png":["textures/emitterGlowGridD.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/emittergridd.png":["textures/emitterGridD.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/energyhaze.png":["textures/energyHaze.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/euro4_bleed.dml":["textures/Euro4_Bleed.dml",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/euro4_frozenhope.dml":["textures/Euro4_FrozenHope.dml",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/eve1.dml":["textures/eve1.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/eve2.dml":["textures/eve2.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/eve3.dml":["textures/eve3.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/eve4.dml":["textures/eve4.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/eve5.dml":["textures/eve5.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/eve6.dml":["textures/eve6.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/eve7.dml":["textures/eve7.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/eve8.dml":["textures/eve8.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/evil/ancient3.png":["textures/evil/ancient3.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/evil/base1c.png":["textures/evil/base1c.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/evil/beam01.png":["textures/evil/beam01.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/evil/bolttrim.png":["textures/evil/bolttrim.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/evil/cementwall6.png":["textures/evil/cementwall6.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/evil/cementwall8.png":["textures/evil/cementwall8.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/evil/cretepillarc.png":["textures/evil/cretepillarc.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/evil/crudewarn.png":["textures/evil/crudewarn.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/evil/drkmtldpanelc.png":["textures/evil/drkmtldpanelc.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/evil/e6cfloordented.png":["textures/evil/e6cfloordented.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/evil/e6girdergrate.png":["textures/evil/e6girdergrate.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/evil/e6grate2flr.png":["textures/evil/e6grate2flr.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/evil/e6horzlight.png":["textures/evil/e6horzlight.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/evil/e6smlgrtflr2bl.png":["textures/evil/e6smlgrtflr2bl.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/evil/e6strimlight.png":["textures/evil/e6strimlight.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/evil/housewall.png":["textures/evil/housewall.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/evil/mtlsupgrt2light.png":["textures/evil/mtlsupgrt2light.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/evil/tfloor.png":["textures/evil/tfloor.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/evil/tlroddtilecln.png":["textures/evil/tlroddtilecln.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/evil/tmtllight.png":["textures/evil/tmtllight.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/evil/trimodd.png":["textures/evil/trimodd.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/evil/warning2.png":["textures/evil/warning2.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/evil8/e8_base1.png":["textures/Evil8/e8_base1.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8_base1b.png":["textures/Evil8/e8_base1b.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8_base1c.png":["textures/Evil8/e8_base1c.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8_btrim01.png":["textures/Evil8/e8_btrim01.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8_btrim05.png":["textures/Evil8/e8_btrim05.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8_launchpad1.png":["textures/Evil8/e8_launchpad1.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8_mtlwall1b.png":["textures/Evil8/e8_mtlwall1b.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8_mtlwall3.png":["textures/Evil8/e8_mtlwall3.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8_mtlwall4.png":["textures/Evil8/e8_mtlwall4.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8_rlight_0000.png":["textures/Evil8/e8_rlight_0000.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8_rlightb.png":["textures/Evil8/e8_rlightb.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8_rlightb_0000.png":["textures/Evil8/e8_rlightb_0000.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8basictrim2_bl.png":["textures/Evil8/e8basictrim2_bl.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8beam01.png":["textures/Evil8/e8beam01.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8beam01b.png":["textures/Evil8/e8beam01b.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8beam02.png":["textures/Evil8/e8beam02.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8bgrate01.png":["textures/Evil8/e8bgrate01.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8bolttrim.png":["textures/Evil8/e8bolttrim.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8bolttrimb.png":["textures/Evil8/e8bolttrimb.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8clangfloor.png":["textures/Evil8/e8clangfloor.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8clangfloor01.png":["textures/Evil8/e8clangfloor01.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8clangfloor03.png":["textures/Evil8/e8clangfloor03.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8clangfloor05c.png":["textures/Evil8/e8clangfloor05c.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8clangwarnmix_.png":["textures/Evil8/e8clangwarnmix_.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8crete01.png":["textures/Evil8/e8crete01.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8crete01stair1.png":["textures/Evil8/e8crete01stair1.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8crete03.png":["textures/Evil8/e8crete03.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8crete03b.png":["textures/Evil8/e8crete03b.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8crete03c.png":["textures/Evil8/e8crete03c.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8crete03cc.png":["textures/Evil8/e8crete03cc.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8crete03d.png":["textures/Evil8/e8crete03d.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8crete03fadedw.png":["textures/Evil8/e8crete03fadedw.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8cretefloor02.png":["textures/Evil8/e8cretefloor02.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8cretefloor_ti.png":["textures/Evil8/e8cretefloor_ti.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8cretesmlltrim.png":["textures/Evil8/e8cretesmlltrim.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8lighttrim.png":["textures/Evil8/e8lighttrim.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8lighttrim_b.png":["textures/Evil8/e8lighttrim_b.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8metal03c_blue.png":["textures/Evil8/e8metal03c_blue.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8mtltrim.png":["textures/Evil8/e8mtltrim.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8mtltrim1.png":["textures/Evil8/e8mtltrim1.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8mtltrim1b.png":["textures/Evil8/e8mtltrim1b.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8mtltrim2.png":["textures/Evil8/e8mtltrim2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8smlltrim1.png":["textures/Evil8/e8smlltrim1.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8spawn01b.png":["textures/Evil8/e8spawn01b.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8support02.png":["textures/Evil8/e8support02.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8support02c.png":["textures/Evil8/e8support02c.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8support04b_bl.png":["textures/Evil8/e8support04b_bl.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8support05.png":["textures/Evil8/e8support05.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8tinylight_000.png":["textures/Evil8/e8tinylight_000.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8tmtllight2.png":["textures/Evil8/e8tmtllight2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8trimlight_000.png":["textures/Evil8/e8trimlight_000.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8warning2.png":["textures/Evil8/e8warning2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8warning256.png":["textures/Evil8/e8warning256.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8warning2step.png":["textures/Evil8/e8warning2step.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8wrntrim.png":["textures/Evil8/e8wrntrim.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8wrntrim2b.png":["textures/Evil8/e8wrntrim2b.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/null.png":["textures/Evil8/null.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/ewok/canopyleaves.png":["textures/ewok/canopyLeaves.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/ewok/floorlogs.png":["textures/ewok/floorLogs.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/ewok/logend.png":["textures/ewok/logEnd.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/ewok/roughwood.png":["textures/ewok/roughWood.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/ewok/smoothwood.png":["textures/ewok/smoothWood.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/ewok/thatchroof.png":["textures/ewok/thatchRoof.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/ewok/treebark.png":["textures/ewok/treeBark.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/ewok/treeinside.png":["textures/ewok/TREEINSIDE.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/exflame.png":["textures/exFlame.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/flag_skinmap.png":["textures/flag_skinmap.png",["TR2final105-client.vl2"]],"textures/flarebase.png":["textures/flarebase.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/flaremod.png":["textures/flaremod.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/fling1/bd_ispe07.png":["textures/fling1/bd_ispe07.PNG",["z_mappacks/CTF/S8maps.vl2"]],"textures/fling1/be_edoo02.png":["textures/fling1/be_edoo02.PNG",["z_mappacks/CTF/S8maps.vl2"]],"textures/fling1/be_icei01a.png":["textures/fling1/be_icei01a.png",["z_mappacks/CTF/S8maps.vl2"]],"textures/fling1/crudewarn.png":["textures/fling1/crudewarn.png",["z_mappacks/CTF/S8maps.vl2"]],"textures/fling1/dox_bluelite1.png":["textures/fling1/dox_bluelite1.png",["z_mappacks/CTF/S8maps.vl2"]],"textures/fling1/ds_ilig02.png":["textures/fling1/ds_ilig02.png",["z_mappacks/CTF/S8maps.vl2"]],"textures/fling1/ds_ilig04.png":["textures/fling1/ds_ilig04.png",["z_mappacks/CTF/S8maps.vl2"]],"textures/fling1/ds_jet03.png":["textures/fling1/ds_jet03.png",["z_mappacks/CTF/S8maps.vl2"]],"textures/fling1/ds_nefblue.png":["textures/fling1/ds_NefBlue.png",["z_mappacks/CTF/S8maps.vl2"]],"textures/fling1/ds_nefblue1.png":["textures/fling1/ds_NefBlue1.png",["z_mappacks/CTF/S8maps.vl2"]],"textures/fling1/ds_neffloor1.png":["textures/fling1/ds_Neffloor1.png",["z_mappacks/CTF/S8maps.vl2"]],"textures/fling1/e6strimlight.png":["textures/fling1/e6strimlight.png",["z_mappacks/CTF/S8maps.vl2"]],"textures/fling1/e8clangfloor.png":["textures/fling1/e8clangfloor.png",["z_mappacks/CTF/S8maps.vl2"]],"textures/fling1/e8tinylight_000.png":["textures/fling1/e8tinylight_000.png",["z_mappacks/CTF/S8maps.vl2"]],"textures/fling1/null.png":["textures/fling1/null.png",["z_mappacks/CTF/S8maps.vl2"]],"textures/fling1/nycto-comp3.png":["textures/fling1/Nycto-comp3.png",["z_mappacks/CTF/S8maps.vl2"]],"textures/fling1/nycto-computer.png":["textures/fling1/Nycto-computer.png",["z_mappacks/CTF/S8maps.vl2"]],"textures/flingsky/emap_muddy.png":["textures/flingsky/emap_muddy.png",["z_mappacks/CTF/S8maps.vl2"]],"textures/flingsky/flingsky03_bk.png":["textures/flingsky/flingsky03_BK.png",["z_mappacks/CTF/S8maps.vl2"]],"textures/flingsky/flingsky03_dn.png":["textures/flingsky/flingsky03_DN.png",["z_mappacks/CTF/S8maps.vl2"]],"textures/flingsky/flingsky03_fr.png":["textures/flingsky/flingsky03_FR.png",["z_mappacks/CTF/S8maps.vl2"]],"textures/flingsky/flingsky03_lf.png":["textures/flingsky/flingsky03_LF.png",["z_mappacks/CTF/S8maps.vl2"]],"textures/flingsky/flingsky03_rt.png":["textures/flingsky/flingsky03_RT.png",["z_mappacks/CTF/S8maps.vl2"]],"textures/flingsky/flingsky03_up.png":["textures/flingsky/flingsky03_UP.png",["z_mappacks/CTF/S8maps.vl2"]],"textures/flingsky03.dml":["textures/flingsky03.dml",["z_mappacks/CTF/S8maps.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/fluid_lava.dml":["textures/fluid_lava.dml",["textures.vl2"]],"textures/fluid_water.dml":["textures/fluid_water.dml",["textures.vl2"]],"textures/flyer.png":["textures/flyer.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/flyer2.png":["textures/flyer2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/flyercockpit.png":["textures/flyercockpit.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/flyerexhaust.png":["textures/flyerexhaust.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/flyerflame.png":["textures/flyerflame.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/grate1.png":["textures/grate1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/greenbg.png":["textures/greenBg.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/grn_blink4.png":["textures/grn_blink4.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/gui/beacon_base.png":["textures/gui/beacon_base.png",["textures.vl2"]],"textures/gui/bg_bioderm.png":["textures/gui/bg_Bioderm.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/gui/bg_bloodeagle.png":["textures/gui/bg_Bloodeagle.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/gui/bg_diamondsword.png":["textures/gui/bg_Diamondsword.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/gui/bg_hammers.png":["textures/gui/bg_Hammers.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/gui/bg_harbingers.png":["textures/gui/bg_Harbingers.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/gui/bg_starwolf.png":["textures/gui/bg_Starwolf.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/gui/bloodeagle.png":["textures/gui/BloodEagle.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/gui/cred_1.png":["textures/gui/CRED_1.png",["textures.vl2"]],"textures/gui/cred_10.png":["textures/gui/CRED_10.png",["textures.vl2"]],"textures/gui/cred_11.png":["textures/gui/CRED_11.png",["textures.vl2"]],"textures/gui/cred_12.png":["textures/gui/CRED_12.png",["textures.vl2"]],"textures/gui/cred_13.png":["textures/gui/CRED_13.png",["textures.vl2"]],"textures/gui/cred_14.png":["textures/gui/CRED_14.png",["textures.vl2"]],"textures/gui/cred_15.png":["textures/gui/CRED_15.png",["textures.vl2"]],"textures/gui/cred_16.png":["textures/gui/CRED_16.png",["textures.vl2"]],"textures/gui/cred_17.png":["textures/gui/CRED_17.png",["textures.vl2"]],"textures/gui/cred_18.png":["textures/gui/CRED_18.png",["textures.vl2"]],"textures/gui/cred_19.png":["textures/gui/CRED_19.png",["textures.vl2"]],"textures/gui/cred_2.png":["textures/gui/CRED_2.png",["textures.vl2"]],"textures/gui/cred_20.png":["textures/gui/CRED_20.png",["textures.vl2"]],"textures/gui/cred_21.png":["textures/gui/CRED_21.png",["textures.vl2"]],"textures/gui/cred_22.png":["textures/gui/CRED_22.png",["textures.vl2"]],"textures/gui/cred_23.png":["textures/gui/CRED_23.png",["textures.vl2"]],"textures/gui/cred_24.png":["textures/gui/CRED_24.png",["textures.vl2"]],"textures/gui/cred_25.png":["textures/gui/CRED_25.png",["textures.vl2"]],"textures/gui/cred_26.png":["textures/gui/CRED_26.png",["textures.vl2"]],"textures/gui/cred_27.png":["textures/gui/CRED_27.png",["textures.vl2"]],"textures/gui/cred_28.png":["textures/gui/CRED_28.png",["textures.vl2"]],"textures/gui/cred_29.png":["textures/gui/CRED_29.png",["textures.vl2"]],"textures/gui/cred_3.png":["textures/gui/CRED_3.png",["textures.vl2"]],"textures/gui/cred_30.png":["textures/gui/CRED_30.png",["textures.vl2"]],"textures/gui/cred_31.png":["textures/gui/CRED_31.png",["textures.vl2"]],"textures/gui/cred_32.png":["textures/gui/CRED_32.png",["textures.vl2"]],"textures/gui/cred_33.png":["textures/gui/CRED_33.png",["textures.vl2"]],"textures/gui/cred_34.png":["textures/gui/CRED_34.png",["textures.vl2"]],"textures/gui/cred_35.png":["textures/gui/CRED_35.png",["textures.vl2"]],"textures/gui/cred_36.png":["textures/gui/CRED_36.png",["textures.vl2"]],"textures/gui/cred_37.png":["textures/gui/CRED_37.png",["textures.vl2"]],"textures/gui/cred_38.png":["textures/gui/CRED_38.png",["textures.vl2"]],"textures/gui/cred_39.png":["textures/gui/CRED_39.png",["textures.vl2"]],"textures/gui/cred_4.png":["textures/gui/CRED_4.png",["textures.vl2"]],"textures/gui/cred_40.png":["textures/gui/CRED_40.png",["textures.vl2"]],"textures/gui/cred_41.png":["textures/gui/CRED_41.png",["textures.vl2"]],"textures/gui/cred_42.png":["textures/gui/CRED_42.png",["textures.vl2"]],"textures/gui/cred_43.png":["textures/gui/CRED_43.png",["textures.vl2"]],"textures/gui/cred_44.png":["textures/gui/CRED_44.png",["textures.vl2"]],"textures/gui/cred_45.png":["textures/gui/CRED_45.png",["textures.vl2"]],"textures/gui/cred_46.png":["textures/gui/CRED_46.png",["textures.vl2"]],"textures/gui/cred_5.png":["textures/gui/CRED_5.png",["textures.vl2"]],"textures/gui/cred_6.png":["textures/gui/CRED_6.png",["textures.vl2"]],"textures/gui/cred_7.png":["textures/gui/CRED_7.png",["textures.vl2"]],"textures/gui/cred_8.png":["textures/gui/CRED_8.png",["textures.vl2"]],"textures/gui/cred_9.png":["textures/gui/CRED_9.png",["textures.vl2"]],"textures/gui/crosshairs.png":["textures/gui/crosshairs.png",["textures.vl2"]],"textures/gui/cur_3darrow.png":["textures/gui/CUR_3darrow.png",["textures.vl2"]],"textures/gui/cur_3darrowhelp.png":["textures/gui/CUR_3darrowhelp.png",["textures.vl2"]],"textures/gui/cur_3darrowno.png":["textures/gui/CUR_3darrowno.PNG",["textures.vl2"]],"textures/gui/cur_3darrowwait.png":["textures/gui/CUR_3darrowwait.png",["textures.vl2"]],"textures/gui/cur_3ddiagleft.png":["textures/gui/CUR_3ddiagleft.png",["textures.vl2"]],"textures/gui/cur_3ddiagright.png":["textures/gui/CUR_3ddiagright.png",["textures.vl2"]],"textures/gui/cur_3dleftright.png":["textures/gui/CUR_3dleftright.png",["textures.vl2"]],"textures/gui/cur_3dmove.png":["textures/gui/CUR_3dmove.png",["textures.vl2"]],"textures/gui/cur_3dresizeright.png":["textures/gui/CUR_3dresizeright.png",["textures.vl2"]],"textures/gui/cur_3dupdown.png":["textures/gui/CUR_3dupdown.PNG",["textures.vl2"]],"textures/gui/cur_grab.png":["textures/gui/CUR_Grab.png",["textures.vl2"]],"textures/gui/cur_hand.png":["textures/gui/CUR_Hand.png",["textures.vl2"]],"textures/gui/cur_rotate.png":["textures/gui/CUR_Rotate.png",["textures.vl2"]],"textures/gui/darkscroll.png":["textures/gui/darkScroll.png",["textures.vl2"]],"textures/gui/darkwindow.png":["textures/gui/darkWindow.png",["textures.vl2"]],"textures/gui/dlg_box.png":["textures/gui/dlg_box.png",["textures.vl2"]],"textures/gui/dlg_button.png":["textures/gui/dlg_button.png",["textures.vl2"]],"textures/gui/dlg_fieldfill.png":["textures/gui/dlg_fieldfill.png",["textures.vl2"]],"textures/gui/dlg_fieldgrade.png":["textures/gui/dlg_fieldgrade.png",["textures.vl2"]],"textures/gui/dlg_frame_edge.png":["textures/gui/dlg_frame_edge.png",["textures.vl2"]],"textures/gui/dlg_frame_end.png":["textures/gui/dlg_frame_end.png",["textures.vl2"]],"textures/gui/dlg_titletab.png":["textures/gui/dlg_titletab.png",["textures.vl2"]],"textures/gui/editor_defaulthandle.png":["textures/gui/Editor_DefaultHandle.png",["textures.vl2"]],"textures/gui/editor_lockedhandle.png":["textures/gui/Editor_LockedHandle.png",["textures.vl2"]],"textures/gui/editor_selecthandle.png":["textures/gui/Editor_SelectHandle.png",["textures.vl2"]],"textures/gui/email_notread.png":["textures/gui/email_notread.png",["textures.vl2"]],"textures/gui/email_read.png":["textures/gui/email_read.png",["textures.vl2"]],"textures/gui/ggsplash.jpg":["textures/gui/GGSplash.jpg",["textures.vl2"]],"textures/gui/hud_alliedtriangle.png":["textures/gui/hud_alliedtriangle.png",["textures.vl2"]],"textures/gui/hud_ammopack.png":["textures/gui/hud_ammopack.png",["textures.vl2"]],"textures/gui/hud_armbar.png":["textures/gui/hud_armbar.png",["textures.vl2"]],"textures/gui/hud_armbaricon.png":["textures/gui/hud_armbaricon.png",["textures.vl2"]],"textures/gui/hud_beacon.png":["textures/gui/hud_beacon.png",["textures.vl2"]],"textures/gui/hud_blaster.png":["textures/gui/hud_blaster.png",["textures.vl2"]],"textures/gui/hud_camera.png":["textures/gui/hud_camera.png",["textures.vl2"]],"textures/gui/hud_chaingun.png":["textures/gui/hud_chaingun.png",["textures.vl2"]],"textures/gui/hud_chat.png":["textures/gui/hud_chat.png",["textures.vl2"]],"textures/gui/hud_chat_button_off.png":["textures/gui/Hud_chat_button_off.png",["textures.vl2"]],"textures/gui/hud_chat_button_on.png":["textures/gui/Hud_chat_button_on.png",["textures.vl2"]],"textures/gui/hud_chatpagedown.png":["textures/gui/hud_ChatPageDown.png",["textures.vl2"]],"textures/gui/hud_cloakpack.png":["textures/gui/hud_cloakpack.png",["textures.vl2"]],"textures/gui/hud_cmmndfield.png":["textures/gui/hud_cmmndfield.png",["textures.vl2"]],"textures/gui/hud_deploypack.png":["textures/gui/hud_deploypack.png",["textures.vl2"]],"textures/gui/hud_disc.png":["textures/gui/hud_disc.png",["textures.vl2"]],"textures/gui/hud_disconnect.png":["textures/gui/hud_disconnect.png",["textures.vl2"]],"textures/gui/hud_dot.png":["textures/gui/hud_dot.png",["textures.vl2"]],"textures/gui/hud_east.png":["textures/gui/hud_east.png",["textures.vl2"]],"textures/gui/hud_elfgun.png":["textures/gui/hud_elfgun.png",["textures.vl2"]],"textures/gui/hud_enemytriangle.png":["textures/gui/hud_enemytriangle.png",["textures.vl2"]],"textures/gui/hud_energypack.png":["textures/gui/hud_energypack.png",["textures.vl2"]],"textures/gui/hud_ergbar.png":["textures/gui/hud_ergbar.png",["textures.vl2"]],"textures/gui/hud_ergbaricon.png":["textures/gui/hud_ergbaricon.png",["textures.vl2"]],"textures/gui/hud_grenlaunch.png":["textures/gui/hud_grenlaunch.png",["textures.vl2"]],"textures/gui/hud_handgren.png":["textures/gui/hud_handgren.png",["textures.vl2"]],"textures/gui/hud_infinity.png":["textures/gui/hud_infinity.png",["textures.vl2"]],"textures/gui/hud_jamm.png":["textures/gui/hud_jamm.png",["textures.vl2"]],"textures/gui/hud_medpack.png":["textures/gui/hud_medpack.png",["textures.vl2"]],"textures/gui/hud_mine.png":["textures/gui/hud_mine.png",["textures.vl2"]],"textures/gui/hud_missiles.png":["textures/gui/hud_missiles.png",["textures.vl2"]],"textures/gui/hud_mistimer.png":["textures/gui/hud_mistimer.png",["textures.vl2"]],"textures/gui/hud_mortor.png":["textures/gui/hud_mortor.png",["textures.vl2"]],"textures/gui/hud_navcirc.png":["textures/gui/hud_navcirc.png",["textures.vl2"]],"textures/gui/hud_new_beacon.png":["textures/gui/hud_new_beacon.png",["textures.vl2"]],"textures/gui/hud_new_blaster.png":["textures/gui/hud_new_blaster.png",["textures.vl2"]],"textures/gui/hud_new_chaingun.png":["textures/gui/hud_new_chaingun.png",["textures.vl2"]],"textures/gui/hud_new_cog.png":["textures/gui/hud_new_cog.png",["textures.vl2"]],"textures/gui/hud_new_compass.png":["textures/gui/hud_new_compass.png",["textures.vl2"]],"textures/gui/hud_new_disc.png":["textures/gui/hud_new_disc.png",["textures.vl2"]],"textures/gui/hud_new_elfgun.png":["textures/gui/hud_new_elfgun.png",["textures.vl2"]],"textures/gui/hud_new_grenlaunch.png":["textures/gui/hud_new_grenlaunch.png",["textures.vl2"]],"textures/gui/hud_new_handgren.png":["textures/gui/hud_new_handgren.png",["textures.vl2"]],"textures/gui/hud_new_medpack.png":["textures/gui/hud_new_medpack.png",["textures.vl2"]],"textures/gui/hud_new_mine.png":["textures/gui/hud_new_mine.png",["textures.vl2"]],"textures/gui/hud_new_missile.png":["textures/gui/hud_new_missile.png",["textures.vl2"]],"textures/gui/hud_new_mortar.png":["textures/gui/hud_new_mortar.png",["textures.vl2"]],"textures/gui/hud_new_nsew.png":["textures/gui/hud_new_NSEW.png",["textures.vl2"]],"textures/gui/hud_new_packammo.png":["textures/gui/hud_new_packammo.png",["textures.vl2"]],"textures/gui/hud_new_packcloak.png":["textures/gui/hud_new_packcloak.png",["textures.vl2"]],"textures/gui/hud_new_packcloak_armed.png":["textures/gui/hud_new_packcloak_armed.png",["textures.vl2"]],"textures/gui/hud_new_packenergy.png":["textures/gui/hud_new_packenergy.png",["textures.vl2"]],"textures/gui/hud_new_packinventory.png":["textures/gui/hud_new_packinventory.png",["textures.vl2"]],"textures/gui/hud_new_packmotionsens.png":["textures/gui/hud_new_packmotionsens.png",["textures.vl2"]],"textures/gui/hud_new_packradar.png":["textures/gui/hud_new_packradar.png",["textures.vl2"]],"textures/gui/hud_new_packrepair.png":["textures/gui/hud_new_packrepair.png",["textures.vl2"]],"textures/gui/hud_new_packrepair_armed.png":["textures/gui/hud_new_packrepair_armed.png",["textures.vl2"]],"textures/gui/hud_new_packsatchel.png":["textures/gui/hud_new_packsatchel.png",["textures.vl2"]],"textures/gui/hud_new_packsensjam.png":["textures/gui/hud_new_packsensjam.png",["textures.vl2"]],"textures/gui/hud_new_packsensjam_armed.png":["textures/gui/hud_new_packsensjam_armed.png",["textures.vl2"]],"textures/gui/hud_new_packshield.png":["textures/gui/hud_new_packshield.png",["textures.vl2"]],"textures/gui/hud_new_packshield_armed.png":["textures/gui/hud_new_packshield_armed.png",["textures.vl2"]],"textures/gui/hud_new_packturret.png":["textures/gui/hud_new_packturret.png",["textures.vl2"]],"textures/gui/hud_new_packturretin.png":["textures/gui/hud_new_packturretin.png",["textures.vl2"]],"textures/gui/hud_new_packturretout.png":["textures/gui/hud_new_packturretout.png",["textures.vl2"]],"textures/gui/hud_new_panel.png":["textures/gui/hud_new_panel.png",["textures.vl2"]],"textures/gui/hud_new_ping.png":["textures/gui/hud_new_ping.png",["textures.vl2"]],"textures/gui/hud_new_ping_green.png":["textures/gui/hud_new_ping_green.png",["textures.vl2"]],"textures/gui/hud_new_ping_red.png":["textures/gui/hud_new_ping_red.png",["textures.vl2"]],"textures/gui/hud_new_ping_yellow.png":["textures/gui/hud_new_ping_yellow.png",["textures.vl2"]],"textures/gui/hud_new_plasma.png":["textures/gui/hud_new_plasma.png",["textures.vl2"]],"textures/gui/hud_new_scorewindow.png":["textures/gui/hud_new_scorewindow.png",["textures.vl2"]],"textures/gui/hud_new_shocklance.png":["textures/gui/hud_new_shocklance.png",["textures.vl2"]],"textures/gui/hud_new_sniper.png":["textures/gui/hud_new_sniper.png",["textures.vl2"]],"textures/gui/hud_new_targetlaser.png":["textures/gui/hud_new_targetlaser.png",["textures.vl2"]],"textures/gui/hud_new_weaponselect.png":["textures/gui/hud_new_weaponselect.png",["textures.vl2"]],"textures/gui/hud_new_window_bl.png":["textures/gui/hud_new_window_BL.png",["textures.vl2"]],"textures/gui/hud_new_window_bm.png":["textures/gui/hud_new_window_BM.png",["textures.vl2"]],"textures/gui/hud_new_window_br.png":["textures/gui/hud_new_window_BR.png",["textures.vl2"]],"textures/gui/hud_new_window_ml.png":["textures/gui/hud_new_window_ML.png",["textures.vl2"]],"textures/gui/hud_new_window_mm.png":["textures/gui/hud_new_window_MM.png",["textures.vl2"]],"textures/gui/hud_new_window_mr.png":["textures/gui/hud_new_window_MR.png",["textures.vl2"]],"textures/gui/hud_new_window_tl.png":["textures/gui/hud_new_window_TL.png",["textures.vl2"]],"textures/gui/hud_new_window_tm.png":["textures/gui/hud_new_window_TM.png",["textures.vl2"]],"textures/gui/hud_new_window_tr.png":["textures/gui/hud_new_window_TR.png",["textures.vl2"]],"textures/gui/hud_nopack.png":["textures/gui/hud_nopack.png",["textures.vl2"]],"textures/gui/hud_north.png":["textures/gui/hud_north.png",["textures.vl2"]],"textures/gui/hud_objective.png":["textures/gui/hud_objective.png",["textures.vl2"]],"textures/gui/hud_objtimer.png":["textures/gui/hud_objtimer.png",["textures.vl2"]],"textures/gui/hud_packback.png":["textures/gui/hud_packback.png",["textures.vl2"]],"textures/gui/hud_packwin.png":["textures/gui/hud_packwin.png",["textures.vl2"]],"textures/gui/hud_ping.png":["textures/gui/hud_ping.png",["textures.vl2"]],"textures/gui/hud_plasma.png":["textures/gui/hud_plasma.png",["textures.vl2"]],"textures/gui/hud_playertriangle.png":["textures/gui/hud_playertriangle.png",["textures.vl2"]],"textures/gui/hud_playertriangle_enemy.png":["textures/gui/hud_playertriangle_enemy.png",["textures.vl2"]],"textures/gui/hud_repairpack.png":["textures/gui/hud_repairpack.png",["textures.vl2"]],"textures/gui/hud_ret_bomber.png":["textures/gui/hud_ret_bomber.png",["textures.vl2"]],"textures/gui/hud_ret_shocklance.png":["textures/gui/hud_ret_shocklance.png",["textures.vl2"]],"textures/gui/hud_ret_shrike.png":["textures/gui/hud_ret_shrike.png",["textures.vl2"]],"textures/gui/hud_ret_sniper.png":["textures/gui/hud_ret_sniper.png",["textures.vl2"]],"textures/gui/hud_ret_tankchaingun.png":["textures/gui/hud_ret_tankchaingun.png",["textures.vl2"]],"textures/gui/hud_ret_tankmortar.png":["textures/gui/hud_ret_tankmortar.png",["textures.vl2"]],"textures/gui/hud_ret_targlaser.png":["textures/gui/hud_ret_targlaser.png",["textures.vl2"]],"textures/gui/hud_retrng.png":["textures/gui/hud_retrng.png",["textures.vl2"]],"textures/gui/hud_satchel_armed.png":["textures/gui/hud_satchel_armed.png",["textures.vl2"]],"textures/gui/hud_satchel_unarmed.png":["textures/gui/hud_satchel_unarmed.png",["textures.vl2"]],"textures/gui/hud_sensorbar.png":["textures/gui/hud_sensorbar.png",["textures.vl2"]],"textures/gui/hud_sensorbar_glow.png":["textures/gui/hud_sensorbar_glow.png",["textures.vl2"]],"textures/gui/hud_sensorbar_glow1.png":["textures/gui/hud_sensorbar_glow1.png",["textures.vl2"]],"textures/gui/hud_sensorbar_glow2.png":["textures/gui/hud_sensorbar_glow2.png",["textures.vl2"]],"textures/gui/hud_shieldpack.png":["textures/gui/hud_shieldpack.png",["textures.vl2"]],"textures/gui/hud_shocklance.png":["textures/gui/hud_shocklance.png",["textures.vl2"]],"textures/gui/hud_sniper.png":["textures/gui/hud_sniper.png",["textures.vl2"]],"textures/gui/hud_south.png":["textures/gui/hud_south.png",["textures.vl2"]],"textures/gui/hud_targetlaser.png":["textures/gui/hud_targetlaser.png",["textures.vl2"]],"textures/gui/hud_veh_bomb.png":["textures/gui/hud_veh_bomb.png",["textures.vl2"]],"textures/gui/hud_veh_enrgbar.png":["textures/gui/hud_veh_enrgbar.png",["textures.vl2"]],"textures/gui/hud_veh_enrgbarback.png":["textures/gui/hud_veh_enrgbarback.png",["textures.vl2"]],"textures/gui/hud_veh_icon_assault.png":["textures/gui/hud_veh_icon_assault.png",["textures.vl2"]],"textures/gui/hud_veh_icon_bomber.png":["textures/gui/hud_veh_icon_bomber.png",["textures.vl2"]],"textures/gui/hud_veh_icon_hapc.png":["textures/gui/hud_veh_icon_hapc.png",["textures.vl2"]],"textures/gui/hud_veh_icon_hole.png":["textures/gui/hud_veh_icon_hole.png",["textures.vl2"]],"textures/gui/hud_veh_icon_hoverbike.png":["textures/gui/hud_veh_icon_hoverbike.png",["textures.vl2"]],"textures/gui/hud_veh_icon_mpb.png":["textures/gui/hud_veh_icon_mpb.png",["textures.vl2"]],"textures/gui/hud_veh_icon_shrike.png":["textures/gui/hud_veh_icon_shrike.png",["textures.vl2"]],"textures/gui/hud_veh_new_bombardier_dash.png":["textures/gui/hud_veh_new_bombardier_dash.png",["textures.vl2"]],"textures/gui/hud_veh_new_dash.png":["textures/gui/hud_veh_new_dash.png",["textures.vl2"]],"textures/gui/hud_veh_new_dashpiece_1.png":["textures/gui/hud_veh_new_dashpiece_1.png",["textures.vl2"]],"textures/gui/hud_veh_new_dashpiece_2.png":["textures/gui/hud_veh_new_dashpiece_2.png",["textures.vl2"]],"textures/gui/hud_veh_new_dashpiece_3.png":["textures/gui/hud_veh_new_dashpiece_3.png",["textures.vl2"]],"textures/gui/hud_veh_new_dashpiece_4.png":["textures/gui/hud_veh_new_dashpiece_4.png",["textures.vl2"]],"textures/gui/hud_veh_new_dashpiece_5.png":["textures/gui/hud_veh_new_dashpiece_5.png",["textures.vl2"]],"textures/gui/hud_veh_new_hilite_left.png":["textures/gui/hud_veh_new_hilite_left.png",["textures.vl2"]],"textures/gui/hud_veh_new_hilite_middle.png":["textures/gui/hud_veh_new_hilite_middle.png",["textures.vl2"]],"textures/gui/hud_veh_new_hilite_right.png":["textures/gui/hud_veh_new_hilite_right.png",["textures.vl2"]],"textures/gui/hud_veh_new_tankgunner_dash.png":["textures/gui/hud_veh_new_tankgunner_dash.png",["textures.vl2"]],"textures/gui/hud_veh_nrgbar.png":["textures/gui/hud_veh_nrgbar.png",["textures.vl2"]],"textures/gui/hud_veh_nrgbar_back.png":["textures/gui/hud_veh_nrgbar_back.png",["textures.vl2"]],"textures/gui/hud_veh_passenger_dot.png":["textures/gui/hud_veh_passenger_dot.png",["textures.vl2"]],"textures/gui/hud_veh_passengers.png":["textures/gui/hud_veh_passengers.png",["textures.vl2"]],"textures/gui/hud_veh_seatdot.png":["textures/gui/hud_veh_seatdot.png",["textures.vl2"]],"textures/gui/hud_veh_speedaltwin.png":["textures/gui/hud_veh_speedaltwin.png",["textures.vl2"]],"textures/gui/hud_veh_speedaltwinback.png":["textures/gui/hud_veh_speedaltwinback.png",["textures.vl2"]],"textures/gui/hud_veh_speedo_bkgrnd.png":["textures/gui/hud_veh_speedo_bkgrnd.png",["textures.vl2"]],"textures/gui/hud_veh_speedo_frame.png":["textures/gui/hud_veh_speedo_frame.png",["textures.vl2"]],"textures/gui/hud_veh_weapon_back.png":["textures/gui/hud_veh_weapon_back.png",["textures.vl2"]],"textures/gui/hud_veh_weapon_frame.png":["textures/gui/hud_veh_weapon_frame.png",["textures.vl2"]],"textures/gui/hud_veh_weaponback.png":["textures/gui/hud_veh_weaponback.png",["textures.vl2"]],"textures/gui/hud_veh_weaponwin.png":["textures/gui/hud_veh_weaponwin.png",["textures.vl2"]],"textures/gui/hud_watermark1.png":["textures/gui/HUD_watermark1.png",["textures.vl2"]],"textures/gui/hud_watermark2.png":["textures/gui/HUD_watermark2.png",["textures.vl2"]],"textures/gui/hud_weaphigh.png":["textures/gui/hud_weaphigh.png",["textures.vl2"]],"textures/gui/hud_weapwin.png":["textures/gui/hud_weapwin.png",["textures.vl2"]],"textures/gui/hud_west.png":["textures/gui/hud_west.png",["textures.vl2"]],"textures/gui/immersion.jpg":["textures/gui/immersion.jpg",["textures.vl2"]],"textures/gui/infobar.png":["textures/gui/InfoBar.png",["textures.vl2"]],"textures/gui/killme.png":["textures/gui/KILLME.PNG",["textures.vl2"]],"textures/gui/launch_btn.png":["textures/gui/launch_btn.png",["textures.vl2"]],"textures/gui/launch_btn_act.png":["textures/gui/launch_btn_act.png",["textures.vl2"]],"textures/gui/launch_btn_rol.png":["textures/gui/launch_btn_rol.png",["textures.vl2"]],"textures/gui/launchtop_btn.png":["textures/gui/launchtop_btn.png",["textures.vl2"]],"textures/gui/launchtop_btn_act.png":["textures/gui/launchtop_btn_act.png",["textures.vl2"]],"textures/gui/lnch_tab.png":["textures/gui/lnch_Tab.png",["textures.vl2"]],"textures/gui/load_2arenadome.png":["textures/gui/Load_2ArenaDome.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_2arenavalley.png":["textures/gui/Load_2ArenaValley.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_2dustbowl.png":["textures/gui/Load_2DustBowl.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_2flyersarena.png":["textures/gui/Load_2Flyersarena.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_2icedome.png":["textures/gui/Load_2IceDome.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_2indoorintensity.png":["textures/gui/Load_2IndoorIntensity.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_aardvark_x2.png":["textures/gui/Load_Aardvark_x2.png",["z_mappacks/xPack2.vl2"]],"textures/gui/load_abaddon_x2.png":["textures/gui/Load_Abaddon_x2.png",["z_mappacks/xPack2.vl2"]],"textures/gui/load_abominable.png":["textures/gui/Load_Abominable.png",["textures.vl2"]],"textures/gui/load_acidrain.png":["textures/gui/Load_AcidRain.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/gui/load_aeroena.png":["textures/gui/Load_Aeroena.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_agentsoffortune.png":["textures/gui/Load_AgentsOfFortune.png",["textures.vl2"]],"textures/gui/load_alcatraz.png":["textures/gui/Load_Alcatraz.png",["textures.vl2"]],"textures/gui/load_archipelago.png":["textures/gui/Load_Archipelago.png",["textures.vl2"]],"textures/gui/load_arenaheaven.png":["textures/gui/Load_ArenaHeaven.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_arenahell.png":["textures/gui/Load_ArenaHell.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_arenahell2.png":["textures/gui/Load_ArenaHell2.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_arenainthehill.png":["textures/gui/Load_ArenaInTheHill.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_arenaunderthehill.png":["textures/gui/Load_ArenaUnderTheHill.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_arrowpass_x2.png":["textures/gui/Load_ArrowPass_x2.png",["z_mappacks/xPack2.vl2"]],"textures/gui/load_aryoarena.png":["textures/gui/Load_AryoArena.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_ashestoashes.png":["textures/gui/Load_AshesToAshes.png",["textures.vl2"]],"textures/gui/load_astersdescent.png":["textures/gui/Load_AstersDescent.png",["z_mappacks/CTF/AstersDescent.vl2"]],"textures/gui/load_astrograbber_x2.png":["textures/gui/Load_AstroGrabber_x2.png",["z_mappacks/xPack2.vl2"]],"textures/gui/load_azoth.png":["textures/gui/LOAD_Azoth.png",["z_mappacks/CTF/Azoth.vl2"]],"textures/gui/load_battlegrove.png":["textures/gui/load_BattleGrove.png",["z_mappacks/CTF/BattleGrove.vl2"]],"textures/gui/load_beachblitz_x2.png":["textures/gui/Load_BeachBlitz_x2.png",["z_mappacks/xPack2.vl2"]],"textures/gui/load_beggarsrun.png":["textures/gui/Load_BeggarsRun.png",["textures.vl2"]],"textures/gui/load_berlard.png":["textures/gui/load_berlard.png",["z_mappacks/CTF/Berlard.vl2"]],"textures/gui/load_blastside_nef.png":["textures/gui/Load_Blastside_nef.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/gui/load_bluemoon_x2.png":["textures/gui/Load_BlueMoon_x2.png",["z_mappacks/xPack2.vl2"]],"textures/gui/load_bolderdash_x2.png":["textures/gui/Load_BolderDash_x2.png",["z_mappacks/xPack2.vl2"]],"textures/gui/load_boss_x2.png":["textures/gui/Load_Boss_x2.png",["z_mappacks/xPack2.vl2"]],"textures/gui/load_bridgetoofar.png":["textures/gui/Load_BridgeTooFar.png",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"textures/gui/load_broadside_nef.png":["textures/gui/Load_Broadside_nef.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/gui/load_bruteforce_x2.png":["textures/gui/Load_BruteForce_x2.png",["z_mappacks/xPack2.vl2"]],"textures/gui/load_caldera.png":["textures/gui/Load_Caldera.png",["textures.vl2"]],"textures/gui/load_canyonrun_x2.png":["textures/gui/Load_Canyonrun_x2.png",["z_mappacks/xPack2.vl2"]],"textures/gui/load_casern_cavite.png":["textures/gui/Load_Casern_Cavite.png",["textures.vl2"]],"textures/gui/load_circleofstones.png":["textures/gui/load_circleofstones.png",["z_mappacks/CTF/CircleofStones.vl2"]],"textures/gui/load_compusa-melee.png":["textures/gui/Load_CompUSA-Melee.png",["textures.vl2"]],"textures/gui/load_compusa_melee.png":["textures/gui/Load_CompUSA_Melee.png",["textures.vl2"]],"textures/gui/load_confusco.png":["textures/gui/Load_Confusco.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/gui/load_constructionyard.png":["textures/gui/LOAD_ConstructionYard.png",["z_mappacks/CTF/ConstructionYard.vl2"]],"textures/gui/load_crashclash.png":["textures/gui/Load_CrashClash.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_damnation.png":["textures/gui/Load_Damnation.png",["textures.vl2"]],"textures/gui/load_dangerouscrossing_nef.png":["textures/gui/Load_DangerousCrossing_nef.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/gui/load_dangerouscrossingarena.png":["textures/gui/Load_DangerousCrossingArena.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_deadlybirdssong_x2.png":["textures/gui/Load_DeadlyBirdsSong_x2.png",["z_mappacks/xPack2.vl2"]],"textures/gui/load_deathbirdsfly.png":["textures/gui/Load_DeathBirdsFly.png",["textures.vl2"]],"textures/gui/load_desertofdeath_nef.png":["textures/gui/Load_DesertOfDeath_nef.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/gui/load_desiccator.png":["textures/gui/Load_Desiccator.png",["textures.vl2"]],"textures/gui/load_devilselbow.png":["textures/gui/Load_DevilsElbow.png",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"textures/gui/load_dmp_agroleon.png":["textures/gui/Load_DMP_Agroleon.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/gui/load_dmp_astro.png":["textures/gui/Load_DMP_Astro.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/gui/load_dmp_bastardforge.png":["textures/gui/Load_DMP_BastardForge.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/gui/load_dmp_bittergorge.png":["textures/gui/Load_DMP_BitterGorge.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/gui/load_dmp_bunkered.png":["textures/gui/Load_DMP_Bunkered.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/gui/load_dmp_cinerarium.png":["textures/gui/Load_DMP_Cinerarium.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/gui/load_dmp_dermcity.png":["textures/gui/Load_DMP_DermCity.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/gui/load_dmp_embers.png":["textures/gui/Load_DMP_Embers.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/gui/load_dmp_emeraldspit.png":["textures/gui/Load_DMP_EmeraldSpit.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/gui/load_dmp_facecrossing.png":["textures/gui/Load_DMP_FaceCrossing.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/gui/load_dmp_hoth.png":["textures/gui/Load_DMP_Hoth.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/gui/load_dmp_icegiant.png":["textures/gui/Load_DMP_IceGiant.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/gui/load_dmp_isledebatalla.png":["textures/gui/Load_DMP_IsleDeBatalla.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/gui/load_dmp_lavagods.png":["textures/gui/Load_DMP_LavaGods.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/gui/load_dmp_magellan.png":["textures/gui/Load_DMP_Magellan.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/gui/load_dmp_moondance.png":["textures/gui/Load_DMP_MoonDance.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/gui/load_dmp_pantheon.png":["textures/gui/Load_DMP_Pantheon.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/gui/load_dmp_paranoia.png":["textures/gui/Load_DMP_Paranoia.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/gui/load_dmp_pariah.png":["textures/gui/Load_DMP_Pariah.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/gui/load_dmp_pipedream.png":["textures/gui/Load_DMP_PipeDream.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/gui/load_dmp_ravinev.png":["textures/gui/Load_DMP_RavineV.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/gui/load_dmp_scorchedearth.png":["textures/gui/Load_DMP_ScorchedEarth.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/gui/load_dmp_simpleflagarena.png":["textures/gui/Load_DMP_SimpleFlagArena.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/gui/load_dmp_spincycle.png":["textures/gui/Load_DMP_SpinCycle.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/gui/load_dmp_starfall.png":["textures/gui/Load_DMP_StarFall.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/gui/load_dmp_tyre.png":["textures/gui/Load_DMP_Tyre.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/gui/load_dmp_wasteland.png":["textures/gui/Load_DMP_Wasteland.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/gui/load_drifts_x2.png":["textures/gui/Load_Drifts_x2.png",["z_mappacks/xPack2.vl2"]],"textures/gui/load_dusttodust.png":["textures/gui/Load_DustToDust.png",["textures.vl2"]],"textures/gui/load_eb-hades.png":["textures/gui/Load_EB-Hades.png",["textures.vl2"]],"textures/gui/load_eb_hades.png":["textures/gui/Load_EB_Hades.png",["textures.vl2"]],"textures/gui/load_eivoitoxico.png":["textures/gui/LOAD_EivoItoxico.png",["z_mappacks/CTF/EivoItoxico.vl2"]],"textures/gui/load_envyrena.png":["textures/gui/Load_Envyrena.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_enyland.png":["textures/gui/Load_EnyLand.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_equinox.png":["textures/gui/Load_Equinox.png",["textures.vl2"]],"textures/gui/load_erebus_x2.png":["textures/gui/Load_Erebus_x2.png",["z_mappacks/xPack2.vl2"]],"textures/gui/load_escalade.png":["textures/gui/Load_Escalade.png",["textures.vl2"]],"textures/gui/load_eveningland.png":["textures/gui/Load_EveningLand.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_fall_to_glory.png":["textures/gui/Load_Fall_To_Glory.png",["textures.vl2"]],"textures/gui/load_fireballs_x2.png":["textures/gui/Load_Fireballs_x2.png",["z_mappacks/xPack2.vl2"]],"textures/gui/load_firestorm.png":["textures/gui/load_Firestorm.png",["textures.vl2"]],"textures/gui/load_flashpoint.png":["textures/gui/Load_Flashpoint.png",["textures.vl2"]],"textures/gui/load_fracas.png":["textures/gui/load_Fracas.png",["textures.vl2"]],"textures/gui/load_gauntlet.png":["textures/gui/Load_Gauntlet.png",["textures.vl2"]],"textures/gui/load_gehenna.png":["textures/gui/Load_Gehenna.png",["textures.vl2"]],"textures/gui/load_gorgon.png":["textures/gui/Load_Gorgon.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/gui/load_harvester_x2.png":["textures/gui/Load_Harvester_x2.png",["z_mappacks/xPack2.vl2"]],"textures/gui/load_helioarena.png":["textures/gui/Load_Helioarena.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_hillside.png":["textures/gui/Load_Hillside.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/gui/load_hydroelectric_x2.png":["textures/gui/Load_HydroElectric_x2.png",["z_mappacks/xPack2.vl2"]],"textures/gui/load_icebound.png":["textures/gui/Load_Icebound.png",["textures.vl2"]],"textures/gui/load_iceridge_nef.png":["textures/gui/Load_IceRidge_nef.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/gui/load_innersanctum.png":["textures/gui/Load_InnerSanctum.png",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"textures/gui/load_insalubria.png":["textures/gui/Load_Insalubria.png",["textures.vl2"]],"textures/gui/load_insalubrius_x2.png":["textures/gui/Load_Insalubrius_x2.png",["z_mappacks/xPack2.vl2"]],"textures/gui/load_insideout_x2.png":["textures/gui/Load_InsideOut_x2.png",["z_mappacks/xPack2.vl2"]],"textures/gui/load_invictus.png":["textures/gui/Load_Invictus.png",["textures.vl2"]],"textures/gui/load_island.png":["textures/gui/LOAD_Island.png",["z_mappacks/CTF/Island.vl2"]],"textures/gui/load_isleofman.png":["textures/gui/Load_IsleOfMan.png",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"textures/gui/load_ivehadworse.png":["textures/gui/Load_IveHadWorse.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_jacobsladder.png":["textures/gui/Load_JacobsLadder.png",["textures.vl2"]],"textures/gui/load_katabatic.png":["textures/gui/load_Katabatic.png",["textures.vl2"]],"textures/gui/load_katabatic_x2.png":["textures/gui/Load_Katabatic_x2.png",["z_mappacks/xPack2.vl2"]],"textures/gui/load_khalarena.png":["textures/gui/Load_Khalarena.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_lakefront.png":["textures/gui/Load_Lakefront.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/gui/load_logans_run.png":["textures/gui/LOAD_Logans_Run.png",["z_mappacks/CTF/LogansRun.vl2"]],"textures/gui/load_mac_flagarena.png":["textures/gui/Load_Mac_FlagArena.png",["z_mappacks/CTF/MachineheadsFlagArenaEDIT.vl2"]],"textures/gui/load_magmatic.png":["textures/gui/Load_Magmatic.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/gui/load_masada.png":["textures/gui/Load_Masada.png",["textures.vl2"]],"textures/gui/load_minotaur.png":["textures/gui/Load_Minotaur.png",["textures.vl2"]],"textures/gui/load_morena.png":["textures/gui/Load_Morena.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_mudside.png":["textures/gui/Load_Mudside.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_myrkwood.png":["textures/gui/Load_MyrkWood.png",["textures.vl2"]],"textures/gui/load_naturemagic.png":["textures/gui/load_naturemagic.png",["z_mappacks/CTF/Surro_StarIce_NatureMagic.vl2"]],"textures/gui/load_noshelter_x2.png":["textures/gui/Load_NoShelter_x2.png",["z_mappacks/xPack2.vl2"]],"textures/gui/load_oasis.png":["textures/gui/Load_Oasis.png",["textures.vl2"]],"textures/gui/load_oasisintensity.png":["textures/gui/load_oasisintensity.png",["z_mappacks/CTF/oasisintensity.vl2"]],"textures/gui/load_octoberrust.png":["textures/gui/LOAD_octoberrust.png",["z_mappacks/CTF/OctoberRust.vl2"]],"textures/gui/load_overreach.png":["textures/gui/Load_Overreach.png",["textures.vl2"]],"textures/gui/load_pandemonium_x2.png":["textures/gui/Load_Pandemonium_x2.png",["z_mappacks/xPack2.vl2"]],"textures/gui/load_pantheon.png":["textures/gui/Load_Pantheon.png",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"textures/gui/load_pantheon_x2.png":["textures/gui/Load_Pantheon_x2.png",["z_mappacks/xPack2.vl2"]],"textures/gui/load_planetside.png":["textures/gui/Load_Planetside.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_pyroclasm.png":["textures/gui/Load_Pyroclasm.png",["textures.vl2"]],"textures/gui/load_quagmire.png":["textures/gui/Load_Quagmire.png",["textures.vl2"]],"textures/gui/load_quagmire_x2.png":["textures/gui/Load_Quagmire_x2.png",["z_mappacks/xPack2.vl2"]],"textures/gui/load_raindance_nef.png":["textures/gui/Load_Raindance_nef.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/gui/load_ramparts.png":["textures/gui/Load_Ramparts.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/gui/load_rasp.png":["textures/gui/Load_Rasp.png",["textures.vl2"]],"textures/gui/load_recalescence.png":["textures/gui/Load_Recalescence.png",["textures.vl2"]],"textures/gui/load_respite.png":["textures/gui/Load_Respite.png",["textures.vl2"]],"textures/gui/load_reversion.png":["textures/gui/Load_Reversion.png",["textures.vl2"]],"textures/gui/load_reversion_x2.png":["textures/gui/Load_Reversion_x2.png",["z_mappacks/xPack2.vl2"]],"textures/gui/load_ridgerena.png":["textures/gui/Load_Ridgerena.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_rimehold.png":["textures/gui/Load_Rimehold.png",["textures.vl2"]],"textures/gui/load_riverdance.png":["textures/gui/load_Riverdance.png",["textures.vl2"]],"textures/gui/load_rollercoaster_nef.png":["textures/gui/Load_Rollercoaster_nef.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/gui/load_s5_centaur.png":["textures/gui/Load_S5_Centaur.png",["z_mappacks/CTF/S5maps.vl2"]],"textures/gui/load_s5_damnation.png":["textures/gui/Load_S5_Damnation.png",["z_mappacks/CTF/S5maps.vl2"]],"textures/gui/load_s5_drache.png":["textures/gui/Load_S5_Drache.png",["z_mappacks/CTF/S5maps.vl2"]],"textures/gui/load_s5_hawkingheat.png":["textures/gui/Load_S5_HawkingHeat.png",["z_mappacks/CTF/S5maps.vl2"]],"textures/gui/load_s5_icedance.png":["textures/gui/Load_S5_Icedance.png",["z_mappacks/CTF/S5maps.vl2"]],"textures/gui/load_s5_massive.png":["textures/gui/Load_S5_Massive.png",["z_mappacks/CTF/S5maps.vl2"]],"textures/gui/load_s5_mimicry.png":["textures/gui/Load_S5_Mimicry.png",["z_mappacks/CTF/S5maps.vl2"]],"textures/gui/load_s5_misadventure.png":["textures/gui/Load_S5_Misadventure.png",["z_mappacks/CTF/S5maps.vl2"]],"textures/gui/load_s5_mordacity.png":["textures/gui/Load_S5_Mordacity.png",["z_mappacks/CTF/S5maps.vl2"]],"textures/gui/load_s5_reynard.png":["textures/gui/Load_S5_Reynard.png",["z_mappacks/CTF/S5maps.vl2"]],"textures/gui/load_s5_sherman.png":["textures/gui/Load_S5_Sherman.png",["z_mappacks/CTF/S5maps.vl2"]],"textures/gui/load_s5_silenus.png":["textures/gui/Load_S5_Silenus.png",["z_mappacks/CTF/S5maps.vl2"]],"textures/gui/load_s5_woodymyrk.png":["textures/gui/Load_S5_Woodymyrk.png",["z_mappacks/CTF/S5maps.vl2"]],"textures/gui/load_sanctuary.png":["textures/gui/Load_Sanctuary.png",["textures.vl2"]],"textures/gui/load_sandstorm.png":["textures/gui/Load_Sandstorm.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/gui/load_scarabrae_nef.png":["textures/gui/Load_Scarabrae_nef.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/gui/load_shockridge.png":["textures/gui/Load_ShockRidge.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/gui/load_shrinearena.png":["textures/gui/Load_ShrineArena.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_shrinearenaii.png":["textures/gui/Load_ShrineArenaII.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_sirocco.png":["textures/gui/Load_Sirocco.png",["textures.vl2"]],"textures/gui/load_slapdash.png":["textures/gui/Load_Slapdash.png",["textures.vl2"]],"textures/gui/load_slapdash_x2.png":["textures/gui/Load_Slapdash_x2.png",["z_mappacks/xPack2.vl2"]],"textures/gui/load_smog_x2.png":["textures/gui/Load_Smog_x2.png",["z_mappacks/xPack2.vl2"]],"textures/gui/load_snowblind_nef.png":["textures/gui/Load_Snowblind_nef.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/gui/load_soccerland.png":["textures/gui/Load_SoccerLand.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_spyland.png":["textures/gui/Load_SpyLand.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_starfallen.png":["textures/gui/Load_Starfallen.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/gui/load_starice.png":["textures/gui/load_starice.png",["z_mappacks/CTF/Surro_StarIce_NatureMagic.vl2"]],"textures/gui/load_stonehenge_nef.png":["textures/gui/Load_Stonehenge_nef.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/gui/load_stripmine_x2.png":["textures/gui/Load_Stripmine_x2.png",["z_mappacks/xPack2.vl2"]],"textures/gui/load_subzero.png":["textures/gui/Load_Subzero.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/gui/load_subzerov.png":["textures/gui/LOAD_SubzeroV.png",["z_mappacks/CTF/TitanV-SubZeroV.vl2"]],"textures/gui/load_sundried.png":["textures/gui/Load_SunDried.png",["textures.vl2"]],"textures/gui/load_surreal.png":["textures/gui/Load_Surreal.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/gui/load_surro.png":["textures/gui/load_surro.png",["z_mappacks/CTF/Surro_StarIce_NatureMagic.vl2"]],"textures/gui/load_talus.png":["textures/gui/Load_Talus.png",["textures.vl2"]],"textures/gui/load_templetussleversion2.png":["textures/gui/Load_TempleTussleVersion2.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_the_calm.png":["textures/gui/Load_The_Calm.png",["z_mappacks/CTF/The_Calm.vl2"]],"textures/gui/load_thinice.png":["textures/gui/Load_ThinIce.png",["textures.vl2"]],"textures/gui/load_thundergiant_x2.png":["textures/gui/Load_ThunderGiant_x2.png",["z_mappacks/xPack2.vl2"]],"textures/gui/load_titan.png":["textures/gui/Load_Titan.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/gui/load_titanv.png":["textures/gui/LOAD_TitanV.png",["z_mappacks/CTF/TitanV-SubZeroV.vl2"]],"textures/gui/load_tombstone.png":["textures/gui/Load_Tombstone.png",["textures.vl2"]],"textures/gui/load_tombstone_x2.png":["textures/gui/Load_Tombstone_x2.png",["z_mappacks/xPack2.vl2"]],"textures/gui/load_training1.png":["textures/gui/Load_Training1.png",["textures.vl2"]],"textures/gui/load_training2.png":["textures/gui/Load_Training2.png",["textures.vl2"]],"textures/gui/load_training3.png":["textures/gui/Load_Training3.png",["textures.vl2"]],"textures/gui/load_training4.png":["textures/gui/Load_Training4.png",["textures.vl2"]],"textures/gui/load_training5.png":["textures/gui/Load_Training5.png",["textures.vl2"]],"textures/gui/load_trident.png":["textures/gui/Load_Trident.png",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"textures/gui/load_truegrit.png":["textures/gui/Load_TrueGrit.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_twl2_bleed.png":["textures/gui/Load_TWL2_Bleed.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/gui/load_twl2_bluemoon.png":["textures/gui/Load_TWL2_BlueMoon.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/gui/load_twl2_canyoncrusadedeluxe.png":["textures/gui/Load_TWL2_CanyonCrusadeDeluxe.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/gui/load_twl2_celerity.png":["textures/gui/Load_TWL2_Celerity.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/gui/load_twl2_cloakofnight.png":["textures/gui/Load_TWL2_CloakOfNight.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/gui/load_twl2_crevice.png":["textures/gui/Load_TWL2_Crevice.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/gui/load_twl2_dissention.png":["textures/gui/Load_TWL2_Dissention.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/gui/load_twl2_drifts.png":["textures/gui/Load_TWL2_Drifts.PNG",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/gui/load_twl2_drorck.png":["textures/gui/Load_TWL2_Drorck.PNG",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/gui/load_twl2_frozenglory.png":["textures/gui/Load_TWL2_FrozenGlory.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/gui/load_twl2_frozenhope.png":["textures/gui/Load_TWL2_FrozenHope.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/gui/load_twl2_hildebrand.png":["textures/gui/Load_TWL2_Hildebrand.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/gui/load_twl2_icedagger.png":["textures/gui/Load_TWL2_IceDagger.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/gui/load_twl2_jaggedclaw.png":["textures/gui/Load_TWL2_JaggedClaw.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/gui/load_twl2_magnum.png":["textures/gui/Load_TWL2_Magnum.PNG",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/gui/load_twl2_midnightmayhemdeluxe.png":["textures/gui/Load_TWL2_MidnightMayhemDeluxe.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/gui/load_twl2_muddyswamp.png":["textures/gui/Load_TWL2_MuddySwamp.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/gui/load_twl2_norty.png":["textures/gui/Load_TWL2_Norty.PNG",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/gui/load_twl2_ocular.png":["textures/gui/Load_TWL2_Ocular.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/gui/load_twl2_roughland.png":["textures/gui/Load_TWL2_RoughLand.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/gui/load_twl2_ruined.png":["textures/gui/Load_TWL2_Ruined.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/gui/load_twl2_skylight.png":["textures/gui/Load_TWL2_Skylight.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/gui/load_twl2_woodymyrk.png":["textures/gui/Load_TWL2_WoodyMyrk.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/gui/load_twl_abaddon.png":["textures/gui/Load_TWL_Abaddon.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_banshee.png":["textures/gui/Load_TWL_BaNsHee.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_beachblitz.png":["textures/gui/Load_TWL_BeachBlitz.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_beggarsrun.png":["textures/gui/Load_TWL_BeggarsRun.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_bluemoon.png":["textures/gui/Load_TWL_BlueMoon.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_boss.png":["textures/gui/Load_TWL_Boss.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_celerity.png":["textures/gui/Load_TWL_Celerity.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_chokepoint.png":["textures/gui/Load_TWL_Chokepoint.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_cinereous.png":["textures/gui/Load_TWL_Cinereous.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_clusterfuct.png":["textures/gui/Load_TWL_Clusterfuct.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_crossfire.png":["textures/gui/Load_TWL_Crossfire.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_curtilage.png":["textures/gui/Load_TWL_Curtilage.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_damnation.png":["textures/gui/Load_TWL_Damnation.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_dangerouscrossing.png":["textures/gui/Load_TWL_DangerousCrossing.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_deadlybirdssong.png":["textures/gui/Load_TWL_DeadlyBirdsSong.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_deserted.png":["textures/gui/Load_TWL_Deserted.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_desiccator.png":["textures/gui/Load_TWL_Desiccator.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_drifts.png":["textures/gui/Load_TWL_Drifts.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_feign.png":["textures/gui/Load_TWL_Feign.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_frostclaw.png":["textures/gui/Load_TWL_Frostclaw.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_frozen.png":["textures/gui/Load_TWL_Frozen.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_harvester.png":["textures/gui/Load_TWL_Harvester.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_horde.png":["textures/gui/Load_TWL_Horde.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_katabatic.png":["textures/gui/Load_TWL_Katabatic.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_magmatic.png":["textures/gui/Load_TWL_Magmatic.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_minotaur.png":["textures/gui/Load_TWL_Minotaur.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_neve.png":["textures/gui/Load_TWL_Neve.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_noshelter.png":["textures/gui/Load_TWL_NoShelter.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_osiris.png":["textures/gui/Load_TWL_OsIris.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_pandemonium.png":["textures/gui/Load_TWL_Pandemonium.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_quagmire.png":["textures/gui/Load_TWL_Quagmire.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_raindance.png":["textures/gui/Load_TWL_Raindance.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_ramparts.png":["textures/gui/Load_TWL_Ramparts.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_reversion.png":["textures/gui/Load_TWL_Reversion.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_rollercoaster.png":["textures/gui/Load_TWL_Rollercoaster.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_runenmacht.png":["textures/gui/Load_TWL_Runenmacht.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_sandstorm.png":["textures/gui/Load_TWL_Sandstorm.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_slapdash.png":["textures/gui/Load_TWL_Slapdash.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_snowblind.png":["textures/gui/Load_TWL_Snowblind.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_starfallen.png":["textures/gui/Load_TWL_Starfallen.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_stonehenge.png":["textures/gui/Load_TWL_Stonehenge.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_subzero.png":["textures/gui/Load_TWL_SubZero.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_surreal.png":["textures/gui/Load_TWL_Surreal.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_titan.png":["textures/gui/Load_TWL_Titan.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_whitedwarf.png":["textures/gui/Load_TWL_WhiteDwarf.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_wilderzone.png":["textures/gui/Load_TWL_WilderZone.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_woodymyrk.png":["textures/gui/Load_TWL_WoodyMyrk.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_ultimathule.png":["textures/gui/Load_UltimaThule.png",["textures.vl2"]],"textures/gui/load_underhill.png":["textures/gui/Load_Underhill.png",["textures.vl2"]],"textures/gui/load_upordown.png":["textures/gui/Load_UporDown.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_walledin.png":["textures/gui/Load_WalledIn.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_walledinii.png":["textures/gui/Load_WalledInII.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_wasteland_x2.png":["textures/gui/Load_Wasteland_x2.png",["z_mappacks/xPack2.vl2"]],"textures/gui/load_whitedwarf.png":["textures/gui/Load_WhiteDwarf.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/gui/load_whiteout.png":["textures/gui/Load_Whiteout.png",["textures.vl2"]],"textures/gui/load_wonderland.png":["textures/gui/Load_WonderLand.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_woodymyrk.png":["textures/gui/Load_WoodyMyrk.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_woodymyrk_x2.png":["textures/gui/Load_WoodyMyrk_x2.png",["z_mappacks/xPack2.vl2"]],"textures/gui/load_yubarena.png":["textures/gui/Load_Yubarena.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/loading.png":["textures/gui/Loading.png",["textures.vl2"]],"textures/gui/lobby_headset.png":["textures/gui/lobby_headset.png",["textures.vl2"]],"textures/gui/lobby_icon_listen.png":["textures/gui/lobby_icon_listen.png",["textures.vl2"]],"textures/gui/lobby_icon_speak.png":["textures/gui/lobby_icon_speak.png",["textures.vl2"]],"textures/gui/ret_blaster.png":["textures/gui/RET_blaster.png",["textures.vl2"]],"textures/gui/ret_chaingun.png":["textures/gui/RET_chaingun.png",["textures.vl2"]],"textures/gui/ret_disc.png":["textures/gui/RET_disc.png",["textures.vl2"]],"textures/gui/ret_elf.png":["textures/gui/RET_elf.png",["textures.vl2"]],"textures/gui/ret_grenade.png":["textures/gui/RET_grenade.png",["textures.vl2"]],"textures/gui/ret_missile.png":["textures/gui/RET_missile.png",["textures.vl2"]],"textures/gui/ret_missile_horizflash_red.png":["textures/gui/RET_missile_horizflash_red.png",["textures.vl2"]],"textures/gui/ret_missile_marker.png":["textures/gui/RET_missile_marker.png",["textures.vl2"]],"textures/gui/ret_missile_marker_red.png":["textures/gui/RET_missile_marker_red.png",["textures.vl2"]],"textures/gui/ret_missile_vertflash_red.png":["textures/gui/RET_missile_vertflash_red.png",["textures.vl2"]],"textures/gui/ret_mortor.png":["textures/gui/RET_mortor.png",["textures.vl2"]],"textures/gui/ret_plasma.png":["textures/gui/RET_plasma.png",["textures.vl2"]],"textures/gui/server_retrievebar.png":["textures/gui/server_retrievebar.png",["textures.vl2"]],"textures/gui/server_tabs.png":["textures/gui/server_tabs.png",["textures.vl2"]],"textures/gui/shellscroll.png":["textures/gui/shellScroll.png",["textures.vl2"]],"textures/gui/shelltbbuttonhilight.png":["textures/gui/ShellTBButtonHilight.png",["textures.vl2"]],"textures/gui/shelltbbuttonnormal.png":["textures/gui/ShellTBButtonNormal.png",["textures.vl2"]],"textures/gui/shelltbbuttonpressed.png":["textures/gui/ShellTBButtonPressed.png",["textures.vl2"]],"textures/gui/shll_bar_act.png":["textures/gui/shll_bar_act.png",["textures.vl2"]],"textures/gui/shll_bar_rol.png":["textures/gui/shll_bar_rol.png",["textures.vl2"]],"textures/gui/shll_button.png":["textures/gui/shll_button.png",["textures.vl2"]],"textures/gui/shll_entryfield.png":["textures/gui/shll_entryfield.png",["textures.vl2"]],"textures/gui/shll_field_bl.png":["textures/gui/shll_field_BL.png",["textures.vl2"]],"textures/gui/shll_field_bm.png":["textures/gui/shll_field_BM.png",["textures.vl2"]],"textures/gui/shll_field_br.png":["textures/gui/shll_field_BR.png",["textures.vl2"]],"textures/gui/shll_field_ml.png":["textures/gui/shll_field_ML.png",["textures.vl2"]],"textures/gui/shll_field_mm.png":["textures/gui/shll_field_MM.png",["textures.vl2"]],"textures/gui/shll_field_mr.png":["textures/gui/shll_field_MR.png",["textures.vl2"]],"textures/gui/shll_field_tl.png":["textures/gui/shll_field_TL.png",["textures.vl2"]],"textures/gui/shll_field_tm.png":["textures/gui/shll_field_TM.png",["textures.vl2"]],"textures/gui/shll_field_tr.png":["textures/gui/shll_field_TR.png",["textures.vl2"]],"textures/gui/shll_fieldfill.png":["textures/gui/shll_fieldfill.png",["textures.vl2"]],"textures/gui/shll_fieldgrade.png":["textures/gui/shll_fieldgrade.png",["textures.vl2"]],"textures/gui/shll_frame_edge.png":["textures/gui/shll_frame_edge.png",["textures.vl2"]],"textures/gui/shll_frame_end.png":["textures/gui/shll_frame_end.png",["textures.vl2"]],"textures/gui/shll_horizontalfield.png":["textures/gui/shll_horizontalfield.png",["textures.vl2"]],"textures/gui/shll_horzspacer.png":["textures/gui/shll_horzspacer.png",["textures.vl2"]],"textures/gui/shll_horztabbutton.png":["textures/gui/shll_horztabbutton.png",["textures.vl2"]],"textures/gui/shll_horztabbuttonb.png":["textures/gui/shll_horztabbuttonB.png",["textures.vl2"]],"textures/gui/shll_horztabframeclose.png":["textures/gui/shll_horztabframeclose.png",["textures.vl2"]],"textures/gui/shll_horztabframeclosea.png":["textures/gui/shll_horztabframeclosea.png",["textures.vl2"]],"textures/gui/shll_horztabframegrad.png":["textures/gui/shll_horztabframegrad.png",["textures.vl2"]],"textures/gui/shll_horztabframegrada.png":["textures/gui/shll_horztabframegrada.png",["textures.vl2"]],"textures/gui/shll_horztabframegradedge.png":["textures/gui/shll_horztabframegradedge.png",["textures.vl2"]],"textures/gui/shll_horztabframegradedgea.png":["textures/gui/shll_horztabframegradedgea.png",["textures.vl2"]],"textures/gui/shll_icon_dedicated.png":["textures/gui/shll_icon_dedicated.png",["textures.vl2"]],"textures/gui/shll_icon_dedicated_hi.png":["textures/gui/shll_icon_dedicated_hi.png",["textures.vl2"]],"textures/gui/shll_icon_favorite.png":["textures/gui/shll_icon_favorite.png",["textures.vl2"]],"textures/gui/shll_icon_favorite_hi.png":["textures/gui/shll_icon_favorite_hi.png",["textures.vl2"]],"textures/gui/shll_icon_notqueried.png":["textures/gui/shll_icon_notqueried.png",["textures.vl2"]],"textures/gui/shll_icon_notqueried_hi.png":["textures/gui/shll_icon_notqueried_hi.png",["textures.vl2"]],"textures/gui/shll_icon_passworded.png":["textures/gui/shll_icon_passworded.png",["textures.vl2"]],"textures/gui/shll_icon_passworded_hi.png":["textures/gui/shll_icon_passworded_hi.png",["textures.vl2"]],"textures/gui/shll_icon_penguin.png":["textures/gui/shll_icon_penguin.png",["textures.vl2"]],"textures/gui/shll_icon_querying.png":["textures/gui/shll_icon_querying.png",["textures.vl2"]],"textures/gui/shll_icon_querying_hi.png":["textures/gui/shll_icon_querying_hi.png",["textures.vl2"]],"textures/gui/shll_icon_timedout.png":["textures/gui/shll_icon_timedout.png",["textures.vl2"]],"textures/gui/shll_icon_tourney.png":["textures/gui/shll_icon_tourney.png",["textures.vl2"]],"textures/gui/shll_icon_tourney_hi.png":["textures/gui/shll_icon_tourney_hi.png",["textures.vl2"]],"textures/gui/shll_launch_act.png":["textures/gui/shll_launch_act.png",["textures.vl2"]],"textures/gui/shll_launch_rol.png":["textures/gui/shll_launch_rol.png",["textures.vl2"]],"textures/gui/shll_launch_sep.png":["textures/gui/shll_launch_sep.png",["textures.vl2"]],"textures/gui/shll_menuclose.png":["textures/gui/shll_menuclose.png",["textures.vl2"]],"textures/gui/shll_menufield.png":["textures/gui/shll_menufield.png",["textures.vl2"]],"textures/gui/shll_pulldown.png":["textures/gui/shll_pulldown.png",["textures.vl2"]],"textures/gui/shll_pulldown_bl.png":["textures/gui/shll_pulldown_BL.png",["textures.vl2"]],"textures/gui/shll_pulldown_bm.png":["textures/gui/shll_pulldown_BM.png",["textures.vl2"]],"textures/gui/shll_pulldown_br.png":["textures/gui/shll_pulldown_BR.png",["textures.vl2"]],"textures/gui/shll_pulldown_ml.png":["textures/gui/shll_pulldown_ML.png",["textures.vl2"]],"textures/gui/shll_pulldown_mm.png":["textures/gui/shll_pulldown_MM.png",["textures.vl2"]],"textures/gui/shll_pulldown_mr.png":["textures/gui/shll_pulldown_MR.png",["textures.vl2"]],"textures/gui/shll_pulldown_tl.png":["textures/gui/shll_pulldown_TL.png",["textures.vl2"]],"textures/gui/shll_pulldown_tm.png":["textures/gui/shll_pulldown_TM.png",["textures.vl2"]],"textures/gui/shll_pulldown_tr.png":["textures/gui/shll_pulldown_TR.png",["textures.vl2"]],"textures/gui/shll_pulldownbar_act.png":["textures/gui/shll_pulldownbar_act.png",["textures.vl2"]],"textures/gui/shll_pulldownbar_rol.png":["textures/gui/shll_pulldownbar_rol.png",["textures.vl2"]],"textures/gui/shll_radio.png":["textures/gui/shll_radio.png",["textures.vl2"]],"textures/gui/shll_scroll_horzbar.png":["textures/gui/shll_scroll_horzbar.png",["textures.vl2"]],"textures/gui/shll_scroll_horzbuttons.png":["textures/gui/shll_scroll_horzbuttons.png",["textures.vl2"]],"textures/gui/shll_scroll_horzfield.png":["textures/gui/shll_scroll_horzfield.png",["textures.vl2"]],"textures/gui/shll_scroll_scale.png":["textures/gui/shll_scroll_scale.png",["textures.vl2"]],"textures/gui/shll_scroll_vertbar.png":["textures/gui/shll_scroll_vertbar.png",["textures.vl2"]],"textures/gui/shll_scroll_vertbuttons.png":["textures/gui/shll_scroll_vertbuttons.png",["textures.vl2"]],"textures/gui/shll_scroll_vertfield.png":["textures/gui/shll_scroll_vertfield.png",["textures.vl2"]],"textures/gui/shll_sortarrow.png":["textures/gui/shll_sortarrow.png",["textures.vl2"]],"textures/gui/shll_soundbutton.png":["textures/gui/shll_soundbutton.png",["textures.vl2"]],"textures/gui/shll_tabbutton.png":["textures/gui/shll_tabbutton.png",["textures.vl2"]],"textures/gui/shll_tabframegrad.png":["textures/gui/shll_tabframegrad.png",["textures.vl2"]],"textures/gui/shll_tabframegradedge.png":["textures/gui/shll_tabframegradedge.png",["textures.vl2"]],"textures/gui/shll_titletab.png":["textures/gui/shll_titletab.png",["textures.vl2"]],"textures/gui/shll_treeview.png":["textures/gui/shll_treeView.png",["textures.vl2"]],"textures/gui/shll_verticalfield.png":["textures/gui/shll_verticalfield.png",["textures.vl2"]],"textures/gui/shll_vertspacer.png":["textures/gui/shll_vertspacer.png",["textures.vl2"]],"textures/gui/shll_wipe.png":["textures/gui/shll_wipe.png",["textures.vl2"]],"textures/gui/shll_wipeend.png":["textures/gui/shll_wipeend.png",["textures.vl2"]],"textures/gui/shll_wipefill.png":["textures/gui/shll_wipefill.png",["textures.vl2"]],"textures/gui/shll_wphfieldbttm.png":["textures/gui/shll_wphfieldbttm.png",["textures.vl2"]],"textures/gui/shll_wphfieldtop.png":["textures/gui/shll_wphfieldtop.png",["textures.vl2"]],"textures/gui/shll_wpvfield.png":["textures/gui/shll_wpvfield.png",["textures.vl2"]],"textures/gui/tr2hud_playertriangle.png":["textures/gui/TR2hud_playertriangle.png",["TR2final105-client.vl2"]],"textures/gui/tr2hud_playertriangle_enemy.png":["textures/gui/TR2hud_playertriangle_enemy.png",["TR2final105-client.vl2"]],"textures/gui/treeview.png":["textures/gui/treeView.png",["textures.vl2"]],"textures/gui/trn_1charybdis.png":["textures/gui/trn_1charybdis.png",["textures.vl2"]],"textures/gui/trn_2sehrganda.png":["textures/gui/trn_2sehrganda.png",["textures.vl2"]],"textures/gui/trn_3ymir.png":["textures/gui/trn_3ymir.png",["textures.vl2"]],"textures/gui/trn_4bloodjewel.png":["textures/gui/trn_4bloodjewel.png",["textures.vl2"]],"textures/gui/trn_5draconis.png":["textures/gui/trn_5draconis.png",["textures.vl2"]],"textures/gui/vin_assaultvehicle.png":["textures/gui/vin_assaultVehicle.png",["textures.vl2"]],"textures/gui/vin_bomberflyer.png":["textures/gui/vin_bomberFlyer.png",["textures.vl2"]],"textures/gui/vin_hapcflyer.png":["textures/gui/vin_hapcFlyer.png",["textures.vl2"]],"textures/gui/vin_mobilebasevehicle.png":["textures/gui/vin_mobileBaseVehicle.png",["textures.vl2"]],"textures/gui/vin_scoutflyer.png":["textures/gui/vin_scoutFlyer.png",["textures.vl2"]],"textures/gui/vin_scoutvehicle.png":["textures/gui/vin_scoutVehicle.png",["textures.vl2"]],"textures/gui/votemeterpassbar.png":["textures/gui/votemeterpassbar.png",["textures.vl2"]],"textures/gui/window_close.png":["textures/gui/window_close.png",["textures.vl2"]],"textures/gui/window_corner.png":["textures/gui/window_corner.png",["textures.vl2"]],"textures/gui/window_titletab.png":["textures/gui/window_titletab.png",["textures.vl2"]],"textures/hacgun.png":["textures/hacgun.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/haloday.dml":["textures/haloday.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/halonite.dml":["textures/halonite.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/harvest.dml":["textures/harvest.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/hmtxt.png":["textures/hmTxt.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/hotsmoke.png":["textures/hotSmoke.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/hover1.png":["textures/hover1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/hover_cockpit.png":["textures/hover_cockpit.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/hover_stand1.png":["textures/hover_stand1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/hoverexhaust.png":["textures/hoverexhaust.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/ib/skies/inf_butch_night13_bk.png":["textures/ib/skies/inf_butch_night13_BK.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/ib/skies/inf_butch_night13_dn.png":["textures/ib/skies/inf_butch_night13_DN.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/ib/skies/inf_butch_night13_fr.png":["textures/ib/skies/inf_butch_night13_FR.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/ib/skies/inf_butch_night13_lf.png":["textures/ib/skies/inf_butch_night13_LF.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/ib/skies/inf_butch_night13_rt.png":["textures/ib/skies/inf_butch_night13_RT.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/ib/skies/inf_butch_night13_up.png":["textures/ib/skies/inf_butch_night13_UP.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/ice/bd_ebor03.png":["textures/ice/bd_ebor03.PNG",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/ice/bd_espe03.png":["textures/ice/bd_espe03.PNG",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/ice/bd_ibor6.png":["textures/ice/bd_ibor6.PNG",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/ice/bd_iceilig02.png":["textures/ice/bd_iceilig02.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/ice/be_elig03.png":["textures/ice/be_elig03.PNG",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/ice/be_icei01a.png":["textures/ice/be_icei01a.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/ice/be_itebor02a.png":["textures/ice/be_itebor02a.PNG",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/ice/be_itedoo01.png":["textures/ice/be_itedoo01.PNG",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/ice/be_iteflo01.png":["textures/ice/be_iteflo01.PNG",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/ice/ds_efloor1.png":["textures/ice/ds_efloor1.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/ice/ds_ichute02.png":["textures/ice/ds_ichute02.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/ice/ds_iflo04.png":["textures/ice/ds_iflo04.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/ice/ds_ihacei01.png":["textures/ice/ds_ihacei01.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/ice/ds_ilig02.png":["textures/ice/ds_ilig02.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/ice/ds_ilig03.png":["textures/ice/ds_ilig03.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/ice/ds_iwaldeco04a.png":["textures/ice/ds_iwaldeco04a.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/ice/ds_iwaldeco05.png":["textures/ice/ds_iwaldeco05.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/ice/ds_iwaldeco06.png":["textures/ice/ds_iwaldeco06.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/ice/ds_techwall_2.png":["textures/ice/ds_techwall_2.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/ice/ds_techwall_3.png":["textures/ice/ds_techwall_3.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/ice/icewall2020.png":["textures/ice/icewall2020.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/ice/icewall2021.png":["textures/ice/icewall2021.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/ice/icewall2022.png":["textures/ice/icewall2022.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/ice/rockblue5.png":["textures/ice/rockblue5.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/rocksnow2.png":["textures/ice/rockSnow2.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/skies/dark_b.png":["textures/ice/skies/dark_b.png",["ice.vl2"]],"textures/ice/skies/dark_bottom.png":["textures/ice/skies/dark_bottom.png",["ice.vl2"]],"textures/ice/skies/dark_f.png":["textures/ice/skies/dark_f.png",["ice.vl2"]],"textures/ice/skies/dark_l.png":["textures/ice/skies/dark_l.png",["ice.vl2"]],"textures/ice/skies/dark_r.png":["textures/ice/skies/dark_r.png",["ice.vl2"]],"textures/ice/skies/dark_t.png":["textures/ice/skies/dark_t.png",["ice.vl2"]],"textures/ice/skies/ice_blue_emap.png":["textures/ice/skies/ice_blue_emap.png",["ice.vl2"]],"textures/ice/skies/ice_nite_emap.png":["textures/ice/skies/ice_nite_emap.png",["ice.vl2"]],"textures/ice/skies/icecloud1.png":["textures/ice/skies/icecloud1.png",["ice.vl2"]],"textures/ice/skies/icecloud2.png":["textures/ice/skies/icecloud2.png",["ice.vl2"]],"textures/ice/skies/icecloud3.png":["textures/ice/skies/icecloud3.png",["ice.vl2"]],"textures/ice/skies/kif_ice_day_bk.png":["textures/ice/skies/kif_ice_day_BK.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/ice/skies/kif_ice_day_dn.png":["textures/ice/skies/kif_ice_day_DN.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/ice/skies/kif_ice_day_fr.png":["textures/ice/skies/kif_ice_day_FR.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/ice/skies/kif_ice_day_lf.png":["textures/ice/skies/kif_ice_day_LF.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/ice/skies/kif_ice_day_rt.png":["textures/ice/skies/kif_ice_day_RT.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/ice/skies/kif_ice_day_up.png":["textures/ice/skies/kif_ice_day_UP.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/ice/skies/starrynite_bk.png":["textures/ice/skies/starrynite_BK.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/ice/skies/starrynite_dn.png":["textures/ice/skies/starrynite_DN.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/ice/skies/starrynite_fr.png":["textures/ice/skies/starrynite_FR.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/ice/skies/starrynite_lf.png":["textures/ice/skies/starrynite_LF.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/ice/skies/starrynite_rt.png":["textures/ice/skies/starrynite_RT.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/ice/skies/starrynite_up.png":["textures/ice/skies/starrynite_UP.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/ice/skies/starrynite_v1_bk.png":["textures/ice/skies/starrynite_v1_BK.png",["ice.vl2"]],"textures/ice/skies/starrynite_v1_dn.png":["textures/ice/skies/starrynite_v1_DN.png",["ice.vl2"]],"textures/ice/skies/starrynite_v1_fr.png":["textures/ice/skies/starrynite_v1_FR.png",["ice.vl2"]],"textures/ice/skies/starrynite_v1_lf.png":["textures/ice/skies/starrynite_v1_LF.png",["ice.vl2"]],"textures/ice/skies/starrynite_v1_rt.png":["textures/ice/skies/starrynite_v1_RT.png",["ice.vl2"]],"textures/ice/skies/starrynite_v1_up.png":["textures/ice/skies/starrynite_v1_UP.png",["ice.vl2"]],"textures/ice/skies/t2cloud1.png":["textures/ice/skies/T2cloud1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/ice/skies/t2cloud2.png":["textures/ice/skies/T2cloud2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/ice/skies/t2cloud3.png":["textures/ice/skies/T2cloud3.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/ice/skies/t2dark_b.png":["textures/ice/skies/T2dark_b.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/ice/skies/t2dark_bottom.png":["textures/ice/skies/T2dark_bottom.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/ice/skies/t2dark_f.png":["textures/ice/skies/T2dark_f.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/ice/skies/t2dark_l.png":["textures/ice/skies/T2dark_l.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/ice/skies/t2dark_r.png":["textures/ice/skies/T2dark_r.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/ice/skies/t2dark_t.png":["textures/ice/skies/T2dark_t.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/ice/skies/wave_emap.png":["textures/ice/skies/wave_emap.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/ice/snowrock.png":["textures/ice/snowrock.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/snowrock2.png":["textures/ice/snowrock2.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ebor01.png":["textures/ice/sw_ebor01.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ecap01.png":["textures/ice/sw_ecap01.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ecap01a.png":["textures/ice/sw_ecap01a.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ecap01b.png":["textures/ice/sw_ecap01b.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ecap01c.png":["textures/ice/sw_ecap01c.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ecap02.png":["textures/ice/sw_ecap02.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_edoor01.png":["textures/ice/sw_edoor01.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_edoor02.png":["textures/ice/sw_edoor02.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_edoor03.png":["textures/ice/sw_edoor03.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_edoor04.png":["textures/ice/sw_edoor04.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_eflo01.png":["textures/ice/sw_eflo01.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_eflo01a.png":["textures/ice/sw_eflo01a.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_eflo01b.png":["textures/ice/sw_eflo01b.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_eflo01c.png":["textures/ice/sw_eflo01c.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_elig01.png":["textures/ice/sw_elig01.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_elig02.png":["textures/ice/sw_elig02.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_espec01.png":["textures/ice/sw_espec01.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_espec02.png":["textures/ice/sw_espec02.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_espec03.png":["textures/ice/sw_espec03.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ewal01.png":["textures/ice/sw_ewal01.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ewal01a.png":["textures/ice/sw_ewal01a.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ewal01b.png":["textures/ice/sw_ewal01b.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ewal01c.png":["textures/ice/sw_ewal01c.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ewal01d.png":["textures/ice/sw_ewal01d.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ewal02.png":["textures/ice/sw_ewal02.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ewal02a.png":["textures/ice/sw_ewal02a.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ewal03.png":["textures/ice/sw_ewal03.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ewal03a.png":["textures/ice/sw_ewal03a.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ewal04.png":["textures/ice/sw_ewal04.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ewal06.png":["textures/ice/sw_ewal06.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ewal06b.png":["textures/ice/sw_ewal06b.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ewal06c.png":["textures/ice/sw_ewal06c.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ewal06d.png":["textures/ice/sw_ewal06d.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_floorgrate.png":["textures/ice/sw_floorgrate.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_floorthresh.png":["textures/ice/sw_floorthresh.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ibor01.png":["textures/ice/sw_ibor01.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ibor01a.png":["textures/ice/sw_ibor01a.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_iborlig01.png":["textures/ice/sw_iborlig01.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_iborlig01a.png":["textures/ice/sw_iborlig01a.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_iborlig01b.png":["textures/ice/sw_iborlig01b.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_iborlig02.png":["textures/ice/sw_iborlig02.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_iborlig02a.png":["textures/ice/sw_iborlig02a.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_iborlig02b.png":["textures/ice/sw_iborlig02b.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_icei01.png":["textures/ice/sw_icei01.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_icei01a.png":["textures/ice/sw_icei01a.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_icei02.png":["textures/ice/sw_icei02.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_icei02a.png":["textures/ice/sw_icei02a.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ichute01.png":["textures/ice/sw_ichute01.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ichute02.png":["textures/ice/sw_ichute02.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_icol01.png":["textures/ice/sw_icol01.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_icol01a.png":["textures/ice/sw_icol01a.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_icolbase.png":["textures/ice/sw_icolBASE.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_icolcap01.png":["textures/ice/sw_icolCAP01.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_icolcap02.png":["textures/ice/sw_icolCAP02.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_icoligola.png":["textures/ice/sw_icoligolA.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_icolspec01.png":["textures/ice/sw_icolSPEC01.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_icolspec02.png":["textures/ice/sw_icolSPEC02.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ifloor01.png":["textures/ice/sw_ifloor01.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ifloor01a.png":["textures/ice/sw_ifloor01a.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ifloor01b.png":["textures/ice/sw_ifloor01b.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ifloor01c.png":["textures/ice/sw_ifloor01c.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ilig01.png":["textures/ice/sw_ilig01.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ilig02.png":["textures/ice/sw_ilig02.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ilig03.png":["textures/ice/sw_ilig03.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ilig04.png":["textures/ice/sw_ilig04.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ipipe01.png":["textures/ice/sw_ipipe01.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ipipe01a.png":["textures/ice/sw_ipipe01a.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ipipe02.png":["textures/ice/sw_ipipe02.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ispec01.png":["textures/ice/sw_ispec01.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ispec01agl.png":["textures/ice/sw_ispec01agl.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ispec01gl.png":["textures/ice/sw_ispec01gl.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ispec02.png":["textures/ice/sw_ispec02.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ispec02agl.png":["textures/ice/sw_ispec02agl.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ispec02gl.png":["textures/ice/sw_ispec02gl.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ispec03.png":["textures/ice/sw_ispec03.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ispec03glue.png":["textures/ice/sw_ispec03glue.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_iwal01.png":["textures/ice/sw_iwal01.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_iwal01_4bsb.png":["textures/ice/sw_iwal01_4BSb.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_iwal01_4bsgl.png":["textures/ice/sw_iwal01_4BSgl.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_iwal01gl.png":["textures/ice/sw_iwal01gl.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_iwal01snow.png":["textures/ice/sw_iwal01Snow.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_iwal02.png":["textures/ice/sw_iwal02.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_iwal02snow.png":["textures/ice/sw_iwal02Snow.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_iwal03.png":["textures/ice/sw_iwal03.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_iwal035bseb.png":["textures/ice/sw_iwal035BSEb.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_iwal035bsegl.png":["textures/ice/sw_iwal035BSEgl.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_iwal03gl.png":["textures/ice/sw_iwal03gl.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_iwal03snow.png":["textures/ice/sw_iwal03Snow.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_iwal04.png":["textures/ice/sw_iwal04.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_iwal04gl.png":["textures/ice/sw_iwal04gl.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_iwal05.png":["textures/ice/sw_iwal05.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_iwal05gl.png":["textures/ice/sw_iwal05gl.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_iwalcap01.png":["textures/ice/sw_iwalcap01.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_iwalcap01agl.png":["textures/ice/sw_iwalCAP01agl.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_iwalcap01b.png":["textures/ice/sw_iwalcap01b.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_iwalcap01c.png":["textures/ice/sw_iwalcap01c.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_iwalcap01d.png":["textures/ice/sw_iwalcap01d.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_iwalcap01gl.png":["textures/ice/sw_iwalCAP01gl.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_iwalcap02.png":["textures/ice/sw_iwalcap02.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_iwalcap02agl.png":["textures/ice/sw_iwalCAP02agl.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_iwalcap02b.png":["textures/ice/sw_iwalcap02b.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_iwalcap02c.png":["textures/ice/sw_iwalcap02c.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_iwalcap02d.png":["textures/ice/sw_iwalcap02d.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_iwalcap02gl.png":["textures/ice/sw_iwalCAP02gl.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_iwalsubcap.png":["textures/ice/sw_iwalsubcap.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_screen.png":["textures/ice/sw_screen.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_scrnbrdr01.png":["textures/ice/sw_scrnbrdr01.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_scrnbrdr01a.png":["textures/ice/sw_scrnbrdr01a.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_scrnbrdr01b.png":["textures/ice/sw_scrnbrdr01b.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_scrnbrdr01c.png":["textures/ice/sw_scrnbrdr01c.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_thresh01off.png":["textures/ice/sw_thresh01OFF.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_thresh01on.png":["textures/ice/sw_thresh01ON.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_threshgrate.png":["textures/ice/sw_threshgrate.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_threshside.png":["textures/ice/sw_threshSIDE.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/xsnowrock3.png":["textures/ice/xsnowrock3.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/xsnowrock4.png":["textures/ice/xsnowrock4.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice_dark.dml":["textures/ice_dark.dml",["ice.vl2"]],"textures/icedagger.dml":["textures/iceDagger.dml",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/icedagsky/sback.png":["textures/IceDagSky/sback.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/icedagsky/sdown.png":["textures/IceDagSky/sdown.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/icedagsky/sfront.png":["textures/IceDagSky/sfront.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/icedagsky/sleft.png":["textures/IceDagSky/sleft.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/icedagsky/sright.png":["textures/IceDagSky/sright.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/icedagsky/sup.png":["textures/IceDagSky/sup.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/id_flrgun.png":["textures/id_flrgun.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/inf_butch_frozenhope.dml":["textures/inf_butch_FrozenHope.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/inf_butch_night13.dml":["textures/inf_butch_night13.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/inf_butch_night13_x2.dml":["textures/inf_butch_night13_x2.dml",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/inf_butch_nov50.dml":["textures/inf_butch_nov50.dml",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/inf_butch_nov50_bk.png":["textures/inf_butch_nov50_BK.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/inf_butch_nov50_dn.png":["textures/inf_butch_nov50_DN.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/inf_butch_nov50_fr.png":["textures/inf_butch_nov50_FR.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/inf_butch_nov50_lf.png":["textures/inf_butch_nov50_LF.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/inf_butch_nov50_rt.png":["textures/inf_butch_nov50_RT.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/inf_butch_nov50_up.png":["textures/inf_butch_nov50_UP.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/inf_butchlava51.dml":["textures/inf_butchlava51.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/invtpnl1.png":["textures/invtpnl1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/iris_sky.dml":["textures/Iris_sky.dml",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/island_water.dml":["textures/island_water.dml",["textures.vl2"]],"textures/jagged.dml":["textures/jagged.dml",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/jaggedclaw/be_edoo02.png":["textures/jaggedclaw/be_edoo02.PNG",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/jaggedclaw/be_elig02.png":["textures/jaggedclaw/be_elig02.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/jaggedclaw/be_elig03.png":["textures/jaggedclaw/be_elig03.PNG",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/jaggedclaw/be_espec02.png":["textures/jaggedclaw/be_espec02.PNG",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/jaggedclaw/be_ewal06.png":["textures/jaggedclaw/be_ewal06.PNG",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/jaggedclaw/be_icei01a.png":["textures/jaggedclaw/be_icei01a.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/jaggedclaw/be_ihalig.png":["textures/jaggedclaw/be_ihalig.PNG",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/jaggedclaw/be_iprflo01.png":["textures/jaggedclaw/be_iprflo01.PNG",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/jaggedclaw/be_itebor04.png":["textures/jaggedclaw/be_itebor04.PNG",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/jaggedclaw/be_itedoo01.png":["textures/jaggedclaw/be_itedoo01.PNG",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/jaggedclaw/be_itelig01.png":["textures/jaggedclaw/be_itelig01.PNG",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/jaggedclaw/be_itelig02.png":["textures/jaggedclaw/be_itelig02.PNG",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/jaggedclaw/be_itewal01.png":["textures/jaggedclaw/be_itewal01.PNG",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/jaggedclaw/be_itewal04.png":["textures/jaggedclaw/be_itewal04.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/jaggedclaw/chateau_bk.png":["textures/jaggedclaw/chateau_bk.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/jaggedclaw/chateau_dn.png":["textures/jaggedclaw/chateau_dn.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/jaggedclaw/chateau_ft.png":["textures/jaggedclaw/chateau_ft.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/jaggedclaw/chateau_lf.png":["textures/jaggedclaw/chateau_lf.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/jaggedclaw/chateau_rt.png":["textures/jaggedclaw/chateau_rt.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/jaggedclaw/chateau_up.png":["textures/jaggedclaw/chateau_up.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/jaggedclaw/deck1+.png":["textures/jaggedclaw/deck1+.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/jaggedclaw/ds_ilig03.png":["textures/jaggedclaw/ds_ilig03.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/jaggedclaw/ds_nefbltrim.png":["textures/jaggedclaw/ds_NefBlTrim.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/jaggedclaw/ds_nefblue1.png":["textures/jaggedclaw/ds_NefBlue1.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/jaggedclaw/ds_neffloor1.png":["textures/jaggedclaw/ds_Neffloor1.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/jaggedclaw/ds_neffloor5.png":["textures/jaggedclaw/ds_Neffloor5.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/jaggedclaw/ds_nefwall1.png":["textures/jaggedclaw/ds_NefWall1.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/jaggedclaw/greylite2.png":["textures/jaggedclaw/greylite2.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/jaggedclaw/gtext2a.png":["textures/jaggedclaw/gtext2a.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/jaggedclaw/null.png":["textures/jaggedclaw/null.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/jaggedclaw/slabgrill.png":["textures/jaggedclaw/slabgrill.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/jaggedclaw/tcement1a.png":["textures/jaggedclaw/tcement1a.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/kataskyback.png":["textures/kataSkyBack.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/kataskyfront.png":["textures/kataSkyFront.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/kataskyleft.png":["textures/kataSkyLeft.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/kataskyright.png":["textures/kataSkyRight.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/kataskytop.png":["textures/kataSkyTop.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/kif_iceday.dml":["textures/kif_iceday.dml",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/kif_lava_starrynight.dml":["textures/kif_lava_starrynight.dml",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/kif_lava_starrynight62.dml":["textures/kif_lava_starrynight62.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/kif_lushsunset.dml":["textures/kif_lushsunset.dml",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/l4.dml":["textures/L4.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/launcher.png":["textures/launcher.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lava/bd_iflo03b.png":["textures/lava/bd_iflo03b.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/be_icei01a.png":["textures/lava/be_icei01a.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/be_ifunctec01a.png":["textures/lava/be_ifunctec01a.png",["z_mappacks/xPack2.vl2"]],"textures/lava/be_itelig01.png":["textures/lava/be_itelig01.PNG",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lava/be_itewal02a.png":["textures/lava/be_itewal02a.PNG",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lava/bf_alarm.png":["textures/lava/bf_alarm.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lava/bf_blue.png":["textures/lava/bf_blue.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lava/comp_screen_2.png":["textures/lava/comp_screen_2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lava/display_blue.png":["textures/lava/display_blue.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/display_yellow.png":["textures/lava/display_yellow.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/displaymxscar.png":["textures/lava/displaymxscar.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/ds_alarm.png":["textures/lava/ds_alarm.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_ebor01b.png":["textures/lava/ds_ebor01b.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/ds_ebor02.png":["textures/lava/ds_ebor02.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/ds_efloor1.png":["textures/lava/ds_efloor1.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_eflor1.png":["textures/lava/ds_eflor1.PNG",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/ds_elig01.png":["textures/lava/ds_elig01.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_elig02.png":["textures/lava/ds_elig02.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_elig0202.png":["textures/lava/ds_elig0202.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/ds_elig03.png":["textures/lava/ds_elig03.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_eport01e.png":["textures/lava/ds_eport01e.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/ds_etechbor01.png":["textures/lava/ds_etechbor01.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_etechbrdr2.png":["textures/lava/ds_etechbrdr2.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_etran1.png":["textures/lava/ds_etran1.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/ds_etrans.png":["textures/lava/ds_etrans.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_etrans01.png":["textures/lava/ds_etrans01.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_ewal01.png":["textures/lava/ds_ewal01.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_ewal01a.png":["textures/lava/ds_ewal01a.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_ewal01base.png":["textures/lava/ds_ewal01BASE.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_ewal02.png":["textures/lava/ds_ewal02.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_ewal02a.png":["textures/lava/ds_ewal02a.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/ds_ewal05d.png":["textures/lava/ds_ewal05d.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/ds_ewal11a.png":["textures/lava/ds_ewal11a.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/ds_ewaldeco01.png":["textures/lava/ds_ewaldeco01.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_ewaldeco06.png":["textures/lava/ds_ewaldeco06.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_ewaldeco07.png":["textures/lava/ds_ewaldeco07.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_ewaldeco08.png":["textures/lava/ds_ewaldeco08.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_ewaldeco09.png":["textures/lava/ds_ewaldeco09.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_ewall03.png":["textures/lava/ds_ewall03.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_ewall04.png":["textures/lava/ds_ewall04.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_ewall05.png":["textures/lava/ds_ewall05.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_ewall06.png":["textures/lava/ds_ewall06.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_ewall06a.png":["textures/lava/ds_ewall06a.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/ds_ewall07.png":["textures/lava/ds_ewall07.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_ewall1a.png":["textures/lava/ds_ewall1a.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/ds_floorgrate1.png":["textures/lava/ds_floorgrate1.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_genfloor.png":["textures/lava/ds_genfloor.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_genwall.png":["textures/lava/ds_genwall.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_girder.png":["textures/lava/ds_girder.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_ibor01.png":["textures/lava/ds_ibor01.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_ibor01a.png":["textures/lava/ds_ibor01a.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_ibor02.png":["textures/lava/ds_ibor02.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_ibor02a.png":["textures/lava/ds_ibor02a.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_ibor03.png":["textures/lava/ds_ibor03.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_ibor04.png":["textures/lava/ds_ibor04.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_icei01.png":["textures/lava/ds_icei01.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_icei05.png":["textures/lava/ds_icei05.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/ds_iceilig01.png":["textures/lava/ds_iceilig01.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_iceilig1.png":["textures/lava/ds_iceilig1.PNG",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/ds_ichute01.png":["textures/lava/ds_ichute01.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_ichute02.png":["textures/lava/ds_ichute02.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_iflo01.png":["textures/lava/ds_iflo01.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_iflo02.png":["textures/lava/ds_iflo02.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_iflo03.png":["textures/lava/ds_iflo03.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_iflo04.png":["textures/lava/ds_iflo04.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_iflolig01.png":["textures/lava/ds_ifloLig01.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_iflolig02.png":["textures/lava/ds_ifloLig02.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_ifloor01.png":["textures/lava/ds_ifloor01.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/ds_ihacei01.png":["textures/lava/ds_ihacei01.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_ihaceilig01.png":["textures/lava/ds_ihaceilig01.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_ihalig.png":["textures/lava/ds_ihalig.PNG",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/ds_ilavlight.png":["textures/lava/ds_ilavlight.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_ilig01.png":["textures/lava/ds_ilig01.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_ilig02.png":["textures/lava/ds_ilig02.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_ilig03.png":["textures/lava/ds_ilig03.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_ilig04.png":["textures/lava/ds_ilig04.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_ilig05.png":["textures/lava/ds_ilig05.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_ilig06.png":["textures/lava/ds_ilig06.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_inolite.png":["textures/lava/ds_inolite.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/ds_iwal01.png":["textures/lava/ds_iwal01.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_iwal01a.png":["textures/lava/ds_iwal01a.png",["lava.vl2"],["yHDTextures2.0.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/ds_iwal01aa.png":["textures/lava/ds_iwal01aa.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/ds_iwaldeco01.png":["textures/lava/ds_iwaldeco01.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_iwaldeco01a.png":["textures/lava/ds_iwaldeco01a.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_iwaldeco02.png":["textures/lava/ds_iwaldeco02.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_iwaldeco02a.png":["textures/lava/ds_iwaldeco02a.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_iwaldeco03.png":["textures/lava/ds_iwaldeco03.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_iwaldeco03a.png":["textures/lava/ds_iwaldeco03a.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_iwaldeco04.png":["textures/lava/ds_iwaldeco04.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_iwaldeco04a.png":["textures/lava/ds_iwaldeco04a.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_iwaldeco05.png":["textures/lava/ds_iwaldeco05.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_iwaldeco05a.png":["textures/lava/ds_iwaldeco05a.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_iwaldeco06.png":["textures/lava/ds_iwaldeco06.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_iwaldeco07.png":["textures/lava/ds_iwaldeco07.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_iwaldeco08.png":["textures/lava/ds_iwaldeco08.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_iwaldeco09.png":["textures/lava/ds_iwaldeco09.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_jet01.png":["textures/lava/ds_jet01.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_jet02.png":["textures/lava/ds_jet02.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_jet03.png":["textures/lava/ds_jet03.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_mlatched.png":["textures/lava/ds_mlatched.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_mriveted2.png":["textures/lava/ds_mriveted2.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_nefbltrim.png":["textures/lava/ds_NefBlTrim.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/ds_nefblue.png":["textures/lava/ds_NefBlue.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"],["TR2final105-client.vl2"]],"textures/lava/ds_nefblue1.png":["textures/lava/ds_NefBlue1.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"],["TR2final105-client.vl2"]],"textures/lava/ds_nefblue2.png":["textures/lava/ds_NefBlue2.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"],["TR2final105-client.vl2"]],"textures/lava/ds_nefblue3.png":["textures/lava/ds_NefBlue3.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/ds_neffloor1.png":["textures/lava/ds_Neffloor1.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/ds_neffloor2.png":["textures/lava/ds_Neffloor2.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/ds_neffloor3.png":["textures/lava/ds_Neffloor3.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/ds_neffloor4.png":["textures/lava/ds_Neffloor4.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/ds_neffloor5.png":["textures/lava/ds_Neffloor5.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/ds_neffloor6.png":["textures/lava/ds_NefFloor6.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"],["TR2final105-client.vl2"]],"textures/lava/ds_neflig01.png":["textures/lava/ds_Neflig01.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"],["TR2final105-client.vl2","textures/lava/ds_neflig01.png"]],"textures/lava/ds_nefwall1.png":["textures/lava/ds_NefWall1.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"],["TR2final105-client.vl2"]],"textures/lava/ds_obsidian.png":["textures/lava/ds_obsidian.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_screen.png":["textures/lava/ds_screen.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_techborder1.png":["textures/lava/ds_techborder1.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_techborder2.png":["textures/lava/ds_techborder2.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_techwall_1.png":["textures/lava/ds_techwall_1.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_techwall_2.png":["textures/lava/ds_techwall_2.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_techwall_3.png":["textures/lava/ds_techwall_3.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_thresh01.png":["textures/lava/ds_Thresh01.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_thresh1.png":["textures/lava/ds_Thresh1.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/ds_twall_001.png":["textures/lava/ds_twall_001.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/ds_waldeco1.png":["textures/lava/ds_waldeco1.PNG",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/ds_walldeco_06.png":["textures/lava/ds_walldeco_06.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_walldeco_07.png":["textures/lava/ds_walldeco_07.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_walldeco_08.png":["textures/lava/ds_walldeco_08.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_walldeco_09.png":["textures/lava/ds_walldeco_09.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/euro4_sinivalkoinen_tma5tersmix_water_reflex.png":["textures/lava/Euro4_Sinivalkoinen_TMa5tersMix_water_RefleX.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lava/ext_grey8.png":["textures/lava/ext_grey8.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/greylite1.png":["textures/lava/greylite1.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/greylite2.png":["textures/lava/greylite2.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/greylitetrim.png":["textures/lava/greylitetrim.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/greylitetrim2.png":["textures/lava/greylitetrim2.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/grid_1.png":["textures/lava/grid_1.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lava/grid_rusty_1.png":["textures/lava/grid_rusty_1.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lava/grill1a.png":["textures/lava/grill1a.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/gtext1.png":["textures/lava/gtext1.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/gtext1a.png":["textures/lava/gtext1a.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/gtext2.png":["textures/lava/gtext2.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/gtext2a.png":["textures/lava/gtext2a.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/gtext2b.png":["textures/lava/gtext2b.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/gtext3.png":["textures/lava/gtext3.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/gtext4.png":["textures/lava/gtext4.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/gtext5.png":["textures/lava/gtext5.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/gtextpipe1.png":["textures/lava/gtextpipe1.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/inf_light011.png":["textures/lava/inf_light011.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/inf_light09.png":["textures/lava/inf_light09.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/lavadirt04.png":["textures/lava/lavadirt04.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/lavarock03.png":["textures/lava/lavarock03.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/lavawall20.png":["textures/lava/lavawall20.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/lavawall21.png":["textures/lava/lavawall21.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/lavawall22.png":["textures/lava/lavawall22.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/nycto-bboard.png":["textures/lava/Nycto-bboard.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lava/nycto-bboard2.png":["textures/lava/Nycto-bboard2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lava/nycto-comp2.png":["textures/lava/Nycto-comp2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lava/nycto-comp3.png":["textures/lava/Nycto-comp3.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lava/nycto-comp4.png":["textures/lava/Nycto-comp4.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lava/nycto-comp7.png":["textures/lava/Nycto-comp7.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lava/nycto-computer.png":["textures/lava/Nycto-computer.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lava/nycto-disp1.png":["textures/lava/Nycto-disp1.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lava/nycto-disp2.png":["textures/lava/Nycto-disp2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lava/nycto-hitwall.png":["textures/lava/Nycto-hitwall.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lava/nycto-hitwall2.png":["textures/lava/Nycto-hitwall2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lava/nycto-map.png":["textures/lava/Nycto-map.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lava/nycto-mwall.png":["textures/lava/Nycto-mwall.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lava/nycto-mwall2.png":["textures/lava/Nycto-mwall2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lava/nycto-mwall3.png":["textures/lava/Nycto-mwall3.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lava/nycto-mwall4.png":["textures/lava/Nycto-mwall4.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lava/nycto-pipe.png":["textures/lava/Nycto-pipe.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lava/nycto-plasma.png":["textures/lava/Nycto-plasma.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lava/nycto-plates.png":["textures/lava/Nycto-Plates.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lava/nycto-trim.png":["textures/lava/Nycto-Trim.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lava/radwarn.png":["textures/lava/radwarn.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/skies/kif_lava_starrynight_bk.png":["textures/lava/skies/kif_lava_starrynight_BK.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/lava/skies/kif_lava_starrynight_dn.png":["textures/lava/skies/kif_lava_starrynight_DN.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/lava/skies/kif_lava_starrynight_fr.png":["textures/lava/skies/kif_lava_starrynight_FR.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/lava/skies/kif_lava_starrynight_lf.png":["textures/lava/skies/kif_lava_starrynight_LF.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/lava/skies/kif_lava_starrynight_rt.png":["textures/lava/skies/kif_lava_starrynight_RT.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/lava/skies/kif_lava_starrynight_up.png":["textures/lava/skies/kif_lava_starrynight_UP.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/lava/skies/lava_starrynite_emap.png":["textures/lava/skies/lava_starrynite_emap.png",["lava.vl2"]],"textures/lava/skies/lavanight_v5_bk.png":["textures/lava/skies/lavanight_v5_BK.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"],["z_mappacks/CTF/DynamixFinalPack.vl2","textures/lava/skies/Lavanight_v5_BK.png"]],"textures/lava/skies/lavanight_v5_dn.png":["textures/lava/skies/lavanight_v5_DN.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"],["z_mappacks/CTF/DynamixFinalPack.vl2","textures/lava/skies/Lavanight_v5_DN.png"]],"textures/lava/skies/lavanight_v5_fr.png":["textures/lava/skies/lavanight_v5_FR.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"],["z_mappacks/CTF/DynamixFinalPack.vl2","textures/lava/skies/Lavanight_v5_FR.png"]],"textures/lava/skies/lavanight_v5_lf.png":["textures/lava/skies/lavanight_v5_LF.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"],["z_mappacks/CTF/DynamixFinalPack.vl2","textures/lava/skies/Lavanight_v5_LF.png"]],"textures/lava/skies/lavanight_v5_rt.png":["textures/lava/skies/lavanight_v5_RT.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"],["z_mappacks/CTF/DynamixFinalPack.vl2","textures/lava/skies/Lavanight_v5_RT.png"]],"textures/lava/skies/lavanight_v5_up.png":["textures/lava/skies/lavanight_v5_UP.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"],["z_mappacks/CTF/DynamixFinalPack.vl2","textures/lava/skies/Lavanight_v5_UP.png"]],"textures/lava/skies/lavayellow_v5_bk.png":["textures/lava/skies/lavayellow_v5_BK.png",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"textures/lava/skies/lavayellow_v5_dn.png":["textures/lava/skies/lavayellow_v5_DN.png",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"textures/lava/skies/lavayellow_v5_fr.png":["textures/lava/skies/lavayellow_v5_FR.png",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"textures/lava/skies/lavayellow_v5_lf.png":["textures/lava/skies/lavayellow_v5_LF.png",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"textures/lava/skies/lavayellow_v5_rt.png":["textures/lava/skies/lavayellow_v5_RT.png",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"textures/lava/skies/lavayellow_v5_up.png":["textures/lava/skies/lavayellow_v5_UP.png",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"textures/lava/skies/starrynite_v5_bk.png":["textures/lava/skies/starrynite_v5_BK.png",["lava.vl2"]],"textures/lava/skies/starrynite_v5_dn.png":["textures/lava/skies/starrynite_v5_DN.png",["lava.vl2"]],"textures/lava/skies/starrynite_v5_fr.png":["textures/lava/skies/starrynite_v5_FR.png",["lava.vl2"]],"textures/lava/skies/starrynite_v5_lf.png":["textures/lava/skies/starrynite_v5_LF.png",["lava.vl2"]],"textures/lava/skies/starrynite_v5_rt.png":["textures/lava/skies/starrynite_v5_RT.png",["lava.vl2"]],"textures/lava/skies/starrynite_v5_up.png":["textures/lava/skies/starrynite_v5_UP.png",["lava.vl2"]],"textures/lava/skies/volcanic_starrynite_emap.png":["textures/lava/skies/volcanic_starrynite_emap.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"],["z_mappacks/CTF/DynamixFinalPack.vl2"],["lava.vl2"]],"textures/lava/skies/volcanic_starrynite_emap_x2.png":["textures/lava/skies/volcanic_starrynite_emap_x2.png",["z_mappacks/xPack2.vl2"]],"textures/lava/stplate0010.png":["textures/lava/Stplate0010.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/stplate0021.png":["textures/lava/stplate0021.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/stplate1.png":["textures/lava/Stplate1.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/stplate10a.png":["textures/lava/STPLATE10a.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/stplate10c.png":["textures/lava/STPLATE10c.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/stplate12.png":["textures/lava/STPLATE12.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/stplate13.png":["textures/lava/STPLATE13.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/stplate14.png":["textures/lava/stplate14.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/stplate2.png":["textures/lava/Stplate2.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/stplate3.png":["textures/lava/Stplate3.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/stplate5.png":["textures/lava/Stplate5.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/stplate5a.png":["textures/lava/STPLATE5a.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/stplate6.png":["textures/lava/Stplate6.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/stplate7.png":["textures/lava/Stplate7.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/stplate8.png":["textures/lava/Stplate8.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/stplate9.png":["textures/lava/Stplate9.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/sw_floorgrate.png":["textures/lava/sw_floorgrate.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/sw_ipipe02.png":["textures/lava/sw_ipipe02.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lava/tcement1a.png":["textures/lava/tcement1a.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/techwall_1.png":["textures/lava/techwall_1.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lava/techwall_paint.png":["textures/lava/techwall_paint.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lava/techwall_rusty.png":["textures/lava/techwall_rusty.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lava/techwall_rusty2.png":["textures/lava/techwall_rusty2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lava/tlite6.png":["textures/lava/tlite6.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/tma5t_cowboy1.png":["textures/lava/Tma5t_Cowboy1.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/tma5t_cowboy2.png":["textures/lava/Tma5t_Cowboy2.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/tma5t_cowboy3.png":["textures/lava/Tma5t_Cowboy3.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/tma5t_cowboy4.png":["textures/lava/Tma5t_Cowboy4.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/tma5t_cowboy5.png":["textures/lava/Tma5t_Cowboy5.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/tma5t_cowboy6.png":["textures/lava/Tma5t_Cowboy6.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/tma5t_cowboy7.png":["textures/lava/Tma5t_Cowboy7.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/tma5t_cowboy8.png":["textures/lava/Tma5t_Cowboy8.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/tma5t_cowboy9.png":["textures/lava/Tma5t_Cowboy9.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/tma5t_cowboyb10.png":["textures/lava/Tma5t_Cowboyb10.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/tma5t_cowboyb11.png":["textures/lava/Tma5t_Cowboyb11.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/tma5t_cowboyb12.png":["textures/lava/Tma5t_Cowboyb12.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/tma5t_cowboyb13.png":["textures/lava/Tma5t_Cowboyb13.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/tma5t_cowboyb14.png":["textures/lava/Tma5t_Cowboyb14.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lava/tma5t_cowboyb15.png":["textures/lava/Tma5t_Cowboyb15.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lava/tplate1.png":["textures/lava/tplate1.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/tplate2.png":["textures/lava/tplate2.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/ttrim2.png":["textures/lava/ttrim2.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava_dark.dml":["textures/lava_dark.dml",["lava.vl2"]],"textures/lava_night.dml":["textures/lava_night.dml",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"],["z_mappacks/CTF/DynamixFinalPack.vl2"]],"textures/lava_yellow.dml":["textures/lava_yellow.dml",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"textures/lavanight_v5.dml":["textures/lavanight_v5.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/legends_tower/base1.png":["textures/legends_tower/base1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/legends_tower/base1b.png":["textures/legends_tower/base1b.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/legends_tower/base1c.png":["textures/legends_tower/base1c.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/legends_tower/basictrim2b.png":["textures/legends_tower/basictrim2b.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/legends_tower/cemdrkot2.png":["textures/legends_tower/cemdrkot2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/legends_tower/cemdrktile.png":["textures/legends_tower/cemdrktile.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/legends_tower/cemdrktile7.png":["textures/legends_tower/cemdrktile7.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/legends_tower/cemtiledrk.png":["textures/legends_tower/cemtiledrk.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/legends_tower/cemtiledrk5.png":["textures/legends_tower/cemtiledrk5.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/legends_tower/concrete.png":["textures/legends_tower/concrete.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/legends_tower/confllr.png":["textures/legends_tower/confllr.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/legends_tower/confllr2.png":["textures/legends_tower/confllr2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/legends_tower/confllrtile2.png":["textures/legends_tower/confllrtile2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/legends_tower/cretefloor02.png":["textures/legends_tower/cretefloor02.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/legends_tower/e6lfloor.png":["textures/legends_tower/e6lfloor.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/legends_tower/flrcemtilsmlx.png":["textures/legends_tower/flrcemtilsmlx.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/legends_tower/flrmtlhls.png":["textures/legends_tower/flrmtlhls.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/legends_tower/hexametal.png":["textures/legends_tower/hexametal.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/legends_tower/mtltekfloor.png":["textures/legends_tower/mtltekfloor.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/legends_tower/null.png":["textures/legends_tower/null.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/legends_tower/oddtiled.png":["textures/legends_tower/oddtiled.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/legends_tower/tfloorhexsmll.png":["textures/legends_tower/tfloorhexsmll.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lightb00.png":["textures/lightb00.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/liquidtiles/algaewater.png":["textures/liquidTiles/AlgaeWater.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/archipelago_emap_cloudsground.png":["textures/liquidTiles/archipelago_emap_cloudsground.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/archipelago_water.png":["textures/liquidTiles/archipelago_water.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/bloodmoon_bloodwater2.png":["textures/liquidtiles/BloodMoon_bloodwater2.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/liquidtiles/bluewater.png":["textures/liquidTiles/BlueWater.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/caustic_water.png":["textures/liquidtiles/caustic_water.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/liquidtiles/damnation_emap_cloudsground.png":["textures/liquidTiles/damnation_emap_cloudsground.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/greenwater.png":["textures/liquidTiles/GreenWater.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/ice_water_ram.png":["textures/liquidTiles/ice_water_ram.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/liquidtiles/icebound_emap_cloudsground.png":["textures/liquidTiles/icebound_emap_cloudsground.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/icebound_water.png":["textures/liquidTiles/icebound_water.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/industrial_oil.png":["textures/LiquidTiles/industrial_oil.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2","textures/liquidtiles/industrial_oil.png"],["z_mappacks/xPack2.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2","textures/liquidtiles/industrial_oil.png"],["z_mappacks/zDMP-4.7.3DX.vl2","textures/liquidtiles/industrial_oil.png"]],"textures/liquidtiles/insalubria_emap_cloudsground.png":["textures/liquidTiles/insalubria_emap_cloudsground.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/islandwater01.png":["textures/liquidTiles/IslandWater01.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/islandwater02.png":["textures/liquidTiles/IslandWater02.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/islandwater03.png":["textures/liquidTiles/IslandWater03.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/islandwater04.png":["textures/liquidTiles/IslandWater04.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/lava.png":["textures/liquidTiles/Lava.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/lavapool01.png":["textures/liquidTiles/LavaPool01.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/lavapool02.png":["textures/liquidTiles/LavaPool02.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/lavapool03.png":["textures/liquidTiles/LavaPool03.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/lavapool04.png":["textures/liquidTiles/LavaPool04.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/lushwater01.png":["textures/liquidTiles/LushWater01.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/lushwater01_algae.png":["textures/liquidTiles/LushWater01_Algae.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/lushwater02.png":["textures/liquidTiles/LushWater02.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/lushwater02_algae.png":["textures/liquidTiles/LushWater02_Algae.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/lushwater03.png":["textures/liquidTiles/LushWater03.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/lushwater03_algae.png":["textures/liquidTiles/LushWater03_Algae.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/lushwater04.png":["textures/liquidTiles/LushWater04.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/lushwater04_algae.png":["textures/liquidTiles/LushWater04_Algae.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/modulation03.png":["textures/liquidTiles/Modulation03.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/modulation04.png":["textures/liquidTiles/Modulation04.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/muddyswamp_industrial_oil.png":["textures/liquidtiles/MuddySwamp_industrial_oil.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/liquidtiles/myrkwood_emap_cloudsground.png":["textures/liquidTiles/myrkwood_emap_cloudsground.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/oasis_emap_cloudsground.png":["textures/liquidTiles/oasis_emap_cloudsground.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/oasis_water_ripply.png":["textures/liquidTiles/oasis_water_ripply.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/planetx_cb_water.png":["textures/liquidtiles/PlanetX_CB_water.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/liquidtiles/quagmire_emap_cloudsground.png":["textures/liquidTiles/quagmire_emap_cloudsground.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/respite_emap_cloudsground.png":["textures/liquidTiles/respite_emap_cloudsground.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/reversion_emap_cloudsground.png":["textures/liquidTiles/reversion_emap_cloudsground.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/riverdance_emap_cloudsground.png":["textures/liquidTiles/riverdance_emap_cloudsground.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/riverdance_water_1.png":["textures/liquidTiles/riverdance_water_1.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/riverdance_water_5.png":["textures/liquidTiles/riverdance_water_5.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/riverdance_water_6.png":["textures/liquidTiles/riverdance_water_6.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/sanctuary_emap_cloudsground.png":["textures/liquidTiles/sanctuary_emap_cloudsground.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/sanctuary_water_1.png":["textures/liquidTiles/sanctuary_water_1.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/sanctuary_water_2.png":["textures/liquidTiles/sanctuary_water_2.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/sewagewater.png":["textures/liquidtiles/SewageWater.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/liquidtiles/shore_modulation.png":["textures/liquidTiles/Shore_Modulation.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/tes_water2.bm8":["textures/LiquidTiles/tes_water2.bm8",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/liquidtiles/tes_water2.png":["textures/LiquidTiles/tes_water2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2","textures/liquidtiles/tes_water2.png"],["z_mappacks/zDMP-4.7.3DX.vl2","textures/liquidtiles/tes_water2.png"]],"textures/liquidtiles/thinice_emap_cloudsground.png":["textures/liquidTiles/thinice_emap_cloudsground.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/tile01a.png":["textures/liquidTiles/Tile01a.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/tile02a.png":["textures/liquidTiles/Tile02a.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/tile03a.png":["textures/liquidTiles/Tile03a.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/tile04a.png":["textures/liquidTiles/Tile04a.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/lite_green4a.png":["textures/lite_green4A.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lush/attrition_iflag.png":["textures/lush/attrition_iflag.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/attrition_sflag.png":["textures/lush/attrition_sflag.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/bb_red.png":["textures/lush/bb_red.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lush/bb_red2.png":["textures/lush/bb_red2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lush/bb_sand.png":["textures/lush/bb_sand.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lush/be_ebor01b.png":["textures/lush/be_ebor01b.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ebor01bb.png":["textures/lush/be_ebor01bb.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/be_ebor01d.png":["textures/lush/be_ebor01d.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ebor01e.png":["textures/lush/be_ebor01e.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ebor02.png":["textures/lush/be_ebor02.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ebor03.png":["textures/lush/be_ebor03.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ebor04a.png":["textures/lush/be_ebor04a.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ecombo02a.png":["textures/lush/be_ecombo02a.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_edoo01.png":["textures/lush/be_Edoo01.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_edoo02.png":["textures/lush/be_edoo02.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_edoo03.png":["textures/lush/be_edoo03.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_eflo01.png":["textures/lush/be_eflo01.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_eflo02.png":["textures/lush/be_eflo02.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_elig01.png":["textures/lush/be_elig01.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_elig02.png":["textures/lush/be_elig02.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_elig02_nd.png":["textures/lush/be_elig02_nd.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lush/be_elig03.png":["textures/lush/be_elig03.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_elig033.png":["textures/lush/be_elig033.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/be_epipe01.png":["textures/lush/be_epipe01.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_eport01.png":["textures/lush/be_eport01.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_eport01e.png":["textures/lush/be_eport01e.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_eport02a.png":["textures/lush/be_eport02a.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_eport02b.png":["textures/lush/be_eport02b.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_espec01.png":["textures/lush/be_espec01.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_espec02.png":["textures/lush/be_espec02.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_espec03.png":["textures/lush/be_espec03.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_espec03a.png":["textures/lush/be_espec03a.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_espec03b.png":["textures/lush/be_espec03b.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_espec04.png":["textures/lush/be_espec04.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_espec05.png":["textures/lush/be_espec05.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_espec05b.png":["textures/lush/be_espec05b.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_espec06a.png":["textures/lush/be_espec06a.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_espec07.png":["textures/lush/be_espec07.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_espec08.png":["textures/lush/be_espec08.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_espec09.png":["textures/lush/be_espec09.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_etec.png":["textures/lush/be_etec.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_eterrain02.png":["textures/lush/be_eterrain02.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_eterrain02a.png":["textures/lush/be_eterrain02a.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_eterrain02b.png":["textures/lush/be_eterrain02b.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ewal01b.png":["textures/lush/be_ewal01b.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ewal02b.png":["textures/lush/be_ewal02b.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ewal02be.png":["textures/lush/be_ewal02be.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/be_ewal03_hl.png":["textures/lush/be_ewal03_hl.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lush/be_ewal03a.png":["textures/lush/be_ewal03a.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ewal03acrk.png":["textures/lush/be_ewal03acrk.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lush/be_ewal04a.png":["textures/lush/be_ewal04a.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ewal05.png":["textures/lush/be_ewal05.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ewal05a.png":["textures/lush/be_ewal05a.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ewal05d.png":["textures/lush/be_ewal05d.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ewal06.png":["textures/lush/be_ewal06.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ewal07.png":["textures/lush/be_ewal07.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ewal077.png":["textures/lush/be_ewal077.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/be_ewal08.png":["textures/lush/be_ewal08.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ewal09b.png":["textures/lush/be_ewal09b.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ewal11b.png":["textures/lush/be_ewal11b.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ewal11d.png":["textures/lush/be_ewal11d.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ewal12b.png":["textures/lush/be_ewal12b.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ewall10.png":["textures/lush/be_ewall10.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_gr3streak.png":["textures/lush/be_gr3streak.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lush/be_gr4streak.png":["textures/lush/be_gr4streak.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lush/be_icei01.png":["textures/lush/be_icei01.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_icei01a.png":["textures/lush/be_icei01a.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_icei01b.png":["textures/lush/be_icei01b.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_icei01b1.png":["textures/lush/be_icei01b1.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/be_icei01c.png":["textures/lush/be_icei01c.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_icei01ca.png":["textures/lush/be_icei01ca.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/be_icei02.png":["textures/lush/be_icei02.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_icei03.png":["textures/lush/be_icei03.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_icei03b.png":["textures/lush/be_icei03b.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_icei04.png":["textures/lush/be_icei04.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ichute01.png":["textures/lush/be_ichute01.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ichute02.png":["textures/lush/be_ichute02.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_icobor1.png":["textures/lush/be_icobor1.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_icobor1a.png":["textures/lush/be_icobor1a.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_icocei.png":["textures/lush/be_icocei.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_icolbase01.png":["textures/lush/be_iColBase01.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_icolig.png":["textures/lush/be_icolig.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_icolig01.png":["textures/lush/be_icolig01.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_icoligola.png":["textures/lush/be_icoligolA.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_icoltop.png":["textures/lush/be_iColTop.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_icomp01.png":["textures/lush/be_icomp01.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_icomp01a.png":["textures/lush/be_icomp01a.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_icowal02.png":["textures/lush/be_icowal02.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_icowal02a.png":["textures/lush/be_icowal02a.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_icowal02b.png":["textures/lush/be_icowal02b.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_iflo01.png":["textures/lush/be_iflo01.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_iflo01a.png":["textures/lush/be_iflo01a.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_iflowet.png":["textures/lush/be_ifloWet.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ifunctec01.png":["textures/lush/be_ifunctec01.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ifunctec01a.png":["textures/lush/be_ifunctec01a.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_igeneric.png":["textures/lush/be_iGeneric.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_igenericdark.png":["textures/lush/be_iGenericDark.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ihadoo.png":["textures/lush/be_ihadoo.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ihaflo01.png":["textures/lush/be_ihaflo01.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ihalig.png":["textures/lush/be_ihalig.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ihaspe01.png":["textures/lush/be_ihaspe01.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ihawal01.png":["textures/lush/be_ihawal01.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ihawal02.png":["textures/lush/be_ihawal02.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ihawal04.png":["textures/lush/be_ihawal04.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ihawal04a.png":["textures/lush/be_ihawal04a.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ihawal04b.png":["textures/lush/be_ihawal04b.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ihawal04d.png":["textures/lush/be_ihawal04d.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ihawal05a.png":["textures/lush/be_ihawal05a.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ihawal05b.png":["textures/lush/be_ihawal05b.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ihawal05c.png":["textures/lush/be_ihawal05c.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ipipe01.png":["textures/lush/be_ipipe01.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ipipe01_iwal.png":["textures/lush/be_ipipe01_iwal.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ipipe01b.png":["textures/lush/be_ipipe01b.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_iprflo01.png":["textures/lush/be_iprflo01.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_iprwal01.png":["textures/lush/be_iprwal01.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ispec01.png":["textures/lush/be_ispec01.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ispec01a.png":["textures/lush/be_ispec01a.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ispec01b.png":["textures/lush/be_ispec01b.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_itebor01.png":["textures/lush/be_itebor01.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_itebor02.png":["textures/lush/be_itebor02.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_itebor02a.png":["textures/lush/be_itebor02a.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_itebor02b.png":["textures/lush/be_itebor02b.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_itebor02c.png":["textures/lush/be_itebor02c.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_itebor04.png":["textures/lush/be_itebor04.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_itec01.png":["textures/lush/be_itec01.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_itec01a.png":["textures/lush/be_itec01a.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_itec01c.png":["textures/lush/be_itec01c.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_itecei01.png":["textures/lush/be_itecei01.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_itecei02.png":["textures/lush/be_itecei02.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_itedoo01.png":["textures/lush/be_itedoo01.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_iteflo01.png":["textures/lush/be_iteflo01.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_iteflo02.png":["textures/lush/be_iteflo02.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_itelig01.png":["textures/lush/be_itelig01.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_itelig02.png":["textures/lush/be_itelig02.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_itewal01.png":["textures/lush/be_itewal01.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_itewal02.png":["textures/lush/be_itewal02.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_itewal02a.png":["textures/lush/be_itewal02a.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_itewal03.png":["textures/lush/be_itewal03.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_itewal04.png":["textures/lush/be_itewal04.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_screen.png":["textures/lush/be_screen.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_thresh01.png":["textures/lush/be_thresh01.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_thresh01a.png":["textures/lush/be_thresh01a.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_thresh02.png":["textures/lush/be_thresh02.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_thresh02a.png":["textures/lush/be_thresh02a.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_twal05.png":["textures/lush/be_twal05.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/beach_wal1.png":["textures/lush/beach_wal1.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/beach_wal2.png":["textures/lush/beach_wal2.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/beach_wal3.png":["textures/lush/beach_wal3.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/bluemoon.png":["textures/lush/BlueMoon.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/lush/box_a.png":["textures/lush/box_a.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lush/box_b.png":["textures/lush/box_b.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lush/box_c.png":["textures/lush/box_c.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lush/display05.png":["textures/lush/display05.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/display_07.png":["textures/lush/display_07.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/dox_beam.png":["textures/lush/dox_beam.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lush/dox_bluelite1.png":["textures/lush/dox_bluelite1.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lush/dox_bluelite2.png":["textures/lush/dox_bluelite2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lush/dox_grsteel3.png":["textures/lush/dox_grsteel3.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lush/dox_grsteel3_b.png":["textures/lush/dox_grsteel3_b.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lush/dox_grsteel3_f.png":["textures/lush/dox_grsteel3_f.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lush/dox_grsteel4.png":["textures/lush/dox_grsteel4.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lush/dox_pipe1.png":["textures/lush/dox_pipe1.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lush/emap_beachblitz.png":["textures/lush/emap_beachblitz.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lush/hazard.png":["textures/lush/hazard.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/ir_blocks.bm8":["textures/lush/ir_blocks.bm8",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/lush/ir_blocks.png":["textures/lush/ir_blocks.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lush/ir_plain.bm8":["textures/lush/ir_plain.bm8",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/lush/ir_plain.png":["textures/lush/ir_plain.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lush/ir_relief.bm8":["textures/lush/ir_relief.bm8",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/lush/ir_relief.png":["textures/lush/ir_relief.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lush/ir_trim1.bm8":["textures/lush/ir_trim1.bm8",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/lush/ir_trim1.png":["textures/lush/ir_trim1.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lush/ir_trim2.bm8":["textures/lush/ir_trim2.bm8",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/lush/ir_trim2.png":["textures/lush/ir_trim2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lush/ir_wall.bm8":["textures/lush/ir_wall.bm8",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/lush/ir_wall.png":["textures/lush/ir_wall.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lush/kb_logitech.png":["textures/lush/kb_logitech.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/light_base01.png":["textures/lush/light_base01.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/panel.png":["textures/lush/panel.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/reactor01.png":["textures/lush/reactor01.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/rip.png":["textures/lush/rip.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/roman_colla.png":["textures/lush/Roman_COLLa.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lush/roman_collb.png":["textures/lush/Roman_COLLb.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lush/roman_roof.png":["textures/lush/Roman_ROOF.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lush/roman_stone.png":["textures/lush/Roman_STONE.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lush/rustbox.png":["textures/lush/rustbox.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lush/rustbox_logo.png":["textures/lush/rustbox_logo.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lush/skies/bbday_bk.png":["textures/lush/Skies/BBday_BK.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2","textures/lush/skies/BBday_BK.png"]],"textures/lush/skies/bbday_dn.png":["textures/lush/Skies/BBday_DN.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2","textures/lush/skies/BBday_DN.png"]],"textures/lush/skies/bbday_fr.png":["textures/lush/Skies/BBday_FR.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2","textures/lush/skies/BBday_FR.png"]],"textures/lush/skies/bbday_lf.png":["textures/lush/Skies/BBday_LF.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2","textures/lush/skies/BBday_LF.png"]],"textures/lush/skies/bbday_rt.png":["textures/lush/Skies/BBday_RT.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2","textures/lush/skies/BBday_RT.png"]],"textures/lush/skies/bbday_up.png":["textures/lush/Skies/BBday_UP.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2","textures/lush/skies/BBday_UP.png"]],"textures/lush/skies/emap_dark_green.png":["textures/lush/skies/emap_dark_green.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lush/skies/emap_muddy.png":["textures/lush/skies/emap_muddy.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lush/skies/kif_lushsunset_bk.png":["textures/lush/skies/kif_lushsunset_BK.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lush/skies/kif_lushsunset_dn.png":["textures/lush/skies/kif_lushsunset_DN.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lush/skies/kif_lushsunset_fr.png":["textures/lush/skies/kif_lushsunset_FR.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lush/skies/kif_lushsunset_lf.png":["textures/lush/skies/kif_lushsunset_LF.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lush/skies/kif_lushsunset_rt.png":["textures/lush/skies/kif_lushsunset_RT.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lush/skies/kif_lushsunset_up.png":["textures/lush/skies/kif_lushsunset_UP.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lush/skies/l4_b.png":["textures/lush/skies/L4_b.png",["lush.vl2"]],"textures/lush/skies/l4_bottom.png":["textures/lush/skies/L4_bottom.png",["lush.vl2"]],"textures/lush/skies/l4_f.png":["textures/lush/skies/L4_f.png",["lush.vl2"]],"textures/lush/skies/l4_l.png":["textures/lush/skies/L4_l.png",["lush.vl2"]],"textures/lush/skies/l4_r.png":["textures/lush/skies/L4_r.png",["lush.vl2"]],"textures/lush/skies/l4_t.png":["textures/lush/skies/L4_t.png",["lush.vl2"]],"textures/lush/skies/lush_01_day_v5_bk.png":["textures/lush/skies/lush_01_day_v5_BK.png",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"textures/lush/skies/lush_01_day_v5_bk_x2.png":["textures/lush/Skies/lush_01_day_v5_BK_x2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2","textures/lush/skies/lush_01_day_v5_BK_x2.png"]],"textures/lush/skies/lush_01_day_v5_dn.png":["textures/lush/skies/lush_01_day_v5_DN.png",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"textures/lush/skies/lush_01_day_v5_dn_x2.png":["textures/lush/Skies/lush_01_day_v5_DN_x2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2","textures/lush/skies/lush_01_day_v5_DN_x2.png"]],"textures/lush/skies/lush_01_day_v5_fr.png":["textures/lush/skies/lush_01_day_v5_FR.png",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"textures/lush/skies/lush_01_day_v5_fr_x2.png":["textures/lush/Skies/lush_01_day_v5_FR_x2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2","textures/lush/skies/lush_01_day_v5_FR_x2.png"]],"textures/lush/skies/lush_01_day_v5_lf.png":["textures/lush/skies/lush_01_day_v5_LF.png",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"textures/lush/skies/lush_01_day_v5_lf_x2.png":["textures/lush/Skies/lush_01_day_v5_LF_x2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2","textures/lush/skies/lush_01_day_v5_LF_x2.png"]],"textures/lush/skies/lush_01_day_v5_rt.png":["textures/lush/skies/lush_01_day_v5_RT.png",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"textures/lush/skies/lush_01_day_v5_rt_x2.png":["textures/lush/Skies/lush_01_day_v5_RT_x2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2","textures/lush/skies/lush_01_day_v5_RT_x2.png"]],"textures/lush/skies/lush_01_day_v5_up.png":["textures/lush/skies/lush_01_day_v5_UP.png",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"textures/lush/skies/lush_01_day_v5_up_x2.png":["textures/lush/Skies/lush_01_day_v5_UP_x2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2","textures/lush/skies/lush_01_day_v5_UP_x2.png"]],"textures/lush/skies/lush_01_night_bk.png":["textures/lush/skies/lush_01_night_BK.png",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"textures/lush/skies/lush_01_night_dn.png":["textures/lush/skies/lush_01_night_DN.png",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"textures/lush/skies/lush_01_night_fr.png":["textures/lush/skies/lush_01_night_FR.png",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"textures/lush/skies/lush_01_night_lf.png":["textures/lush/skies/lush_01_night_LF.png",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"textures/lush/skies/lush_01_night_rt.png":["textures/lush/skies/lush_01_night_RT.png",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"textures/lush/skies/lush_01_night_up.png":["textures/lush/skies/lush_01_night_UP.png",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"textures/lush/skies/lush_01_ram_v5_bk.png":["textures/lush/skies/lush_01_ram_v5_BK.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lush/skies/lush_01_ram_v5_dn.png":["textures/lush/skies/lush_01_ram_v5_DN.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lush/skies/lush_01_ram_v5_fr.png":["textures/lush/skies/lush_01_ram_v5_FR.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lush/skies/lush_01_ram_v5_lf.png":["textures/lush/skies/lush_01_ram_v5_LF.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lush/skies/lush_01_ram_v5_rt.png":["textures/lush/skies/lush_01_ram_v5_RT.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lush/skies/lush_01_ram_v5_up.png":["textures/lush/skies/lush_01_ram_v5_UP.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lush/skies/lush_02_dusk_bk.png":["textures/lush/skies/lush_02_dusk_BK.png",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"textures/lush/skies/lush_02_dusk_bk_x2.png":["textures/lush/Skies/lush_02_dusk_BK_x2.png",["z_mappacks/xPack2.vl2"]],"textures/lush/skies/lush_02_dusk_dn.png":["textures/lush/skies/lush_02_dusk_DN.png",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"textures/lush/skies/lush_02_dusk_dn_x2.png":["textures/lush/Skies/lush_02_dusk_DN_x2.png",["z_mappacks/xPack2.vl2"]],"textures/lush/skies/lush_02_dusk_fr.png":["textures/lush/skies/lush_02_dusk_FR.png",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"textures/lush/skies/lush_02_dusk_fr_x2.png":["textures/lush/Skies/lush_02_dusk_FR_x2.png",["z_mappacks/xPack2.vl2"]],"textures/lush/skies/lush_02_dusk_lf.png":["textures/lush/skies/lush_02_dusk_LF.png",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"textures/lush/skies/lush_02_dusk_lf_x2.png":["textures/lush/Skies/lush_02_dusk_LF_x2.png",["z_mappacks/xPack2.vl2"]],"textures/lush/skies/lush_02_dusk_rt.png":["textures/lush/skies/lush_02_dusk_RT.png",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"textures/lush/skies/lush_02_dusk_rt_x2.png":["textures/lush/Skies/lush_02_dusk_RT_x2.png",["z_mappacks/xPack2.vl2"]],"textures/lush/skies/lush_02_dusk_up.png":["textures/lush/skies/lush_02_dusk_UP.png",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"textures/lush/skies/lush_02_dusk_up_x2.png":["textures/lush/Skies/lush_02_dusk_UP_x2.png",["z_mappacks/xPack2.vl2"]],"textures/lush/skies/lush_02c_dusk_bk.png":["textures/lush/skies/lush_02c_dusk_BK.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lush/skies/lush_02c_dusk_dn.png":["textures/lush/skies/lush_02c_dusk_DN.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lush/skies/lush_02c_dusk_fr.png":["textures/lush/skies/lush_02c_dusk_FR.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lush/skies/lush_02c_dusk_lf.png":["textures/lush/skies/lush_02c_dusk_LF.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lush/skies/lush_02c_dusk_rt.png":["textures/lush/skies/lush_02c_dusk_RT.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lush/skies/lush_02c_dusk_up.png":["textures/lush/skies/lush_02c_dusk_UP.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lush/skies/lush_day_emap.png":["textures/lush/skies/lush_day_emap.png",["lush.vl2"]],"textures/lush/skies/lush_nite_emap.png":["textures/lush/skies/lush_nite_emap.png",["lush.vl2"]],"textures/lush/skies/lushcloud1.png":["textures/lush/skies/lushcloud1.png",["lush.vl2"]],"textures/lush/skies/lushcloud3.png":["textures/lush/skies/lushcloud3.png",["lush.vl2"]],"textures/lush/skies/lushcloud4.png":["textures/lush/skies/lushcloud4.png",["lush.vl2"]],"textures/lush/skies/starrynite_v4_bk.png":["textures/lush/skies/starrynite_v4_BK.png",["lush.vl2"]],"textures/lush/skies/starrynite_v4_dn.png":["textures/lush/skies/starrynite_v4_DN.png",["lush.vl2"]],"textures/lush/skies/starrynite_v4_fr.png":["textures/lush/skies/starrynite_v4_FR.png",["lush.vl2"]],"textures/lush/skies/starrynite_v4_lf.png":["textures/lush/skies/starrynite_v4_LF.png",["lush.vl2"]],"textures/lush/skies/starrynite_v4_rt.png":["textures/lush/skies/starrynite_v4_RT.png",["lush.vl2"]],"textures/lush/skies/starrynite_v4_up.png":["textures/lush/skies/starrynite_v4_UP.png",["lush.vl2"]],"textures/lush/skies/starrynite_v6_bk.png":["textures/lush/skies/starrynite_v6_BK.png",["lush.vl2"]],"textures/lush/skies/starrynite_v6_dn.png":["textures/lush/skies/starrynite_v6_DN.png",["lush.vl2"]],"textures/lush/skies/starrynite_v6_fr.png":["textures/lush/skies/starrynite_v6_FR.png",["lush.vl2"]],"textures/lush/skies/starrynite_v6_lf.png":["textures/lush/skies/starrynite_v6_LF.png",["lush.vl2"]],"textures/lush/skies/starrynite_v6_rt.png":["textures/lush/skies/starrynite_v6_RT.png",["lush.vl2"]],"textures/lush/skies/starrynite_v6_up.png":["textures/lush/skies/starrynite_v6_UP.png",["lush.vl2"]],"textures/lush/skull.png":["textures/lush/skull.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/special/alien-01.png":["textures/lush/special/alien-01.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/special/display04.png":["textures/lush/special/display04.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/special/display05.png":["textures/lush/special/display05.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/special/display06.png":["textures/lush/special/display06.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/special/display07.png":["textures/lush/special/display07.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/special/display08.png":["textures/lush/special/display08.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/special/display10.png":["textures/lush/special/display10.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/special/shot01.png":["textures/lush/special/shot01.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/special/shot02.png":["textures/lush/special/shot02.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/special/shot03.png":["textures/lush/special/shot03.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/special/shot04.png":["textures/lush/special/shot04.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/special/shot05.png":["textures/lush/special/shot05.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/special/shot06.png":["textures/lush/special/shot06.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/special/shot07.png":["textures/lush/special/shot07.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/special/shot08.png":["textures/lush/special/shot08.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/special/shot09.png":["textures/lush/special/shot09.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/special/shot11.png":["textures/lush/special/shot11.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/stone_wall1.png":["textures/lush/stone_wall1.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lush/stone_wall2.png":["textures/lush/stone_wall2.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lush/stone_wall3.png":["textures/lush/stone_wall3.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lush/stone_wall4.png":["textures/lush/stone_wall4.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lush/stone_wall5.png":["textures/lush/stone_wall5.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lush/stone_wall7.png":["textures/lush/stone_wall7.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lush/trim_t01.png":["textures/lush/trim_t01.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/wall_c02.png":["textures/lush/wall_c02.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/wall_light_c01.png":["textures/lush/wall_light_c01.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/wall_trim01.png":["textures/lush/wall_trim01.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/wall_w03a.png":["textures/lush/wall_w03a.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/xing.png":["textures/lush/xing.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush_dark.dml":["textures/lush_dark.dml",["lush.vl2"]],"textures/lush_day.dml":["textures/lush_day.dml",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"textures/lush_day_x2.dml":["textures/lush_day_x2.dml",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/lush_dusk.dml":["textures/lush_dusk.dml",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"],["z_mappacks/CTF/DynamixFinalPack.vl2"]],"textures/lush_dusk_x2.dml":["textures/lush_dusk_x2.dml",["z_mappacks/xPack2.vl2"]],"textures/lush_l4.dml":["textures/Lush_l4.dml",["textures.vl2"]],"textures/lush_night.dml":["textures/lush_night.dml",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"textures/lush_ram.dml":["textures/lush_ram.dml",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lushdusk66.dml":["textures/lushdusk66.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lushsky_night11.dml":["textures/lushsky_night11.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/magellan.dml":["textures/Magellan.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/magsky/mag_bk.png":["textures/magsky/mag_BK.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/magsky/mag_fr.png":["textures/magsky/mag_FR.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/magsky/mag_lf.png":["textures/magsky/mag_LF.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/magsky/mag_rt.png":["textures/magsky/mag_RT.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/magsky/mag_up.png":["textures/magsky/mag_UP.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/makkon_tech/techcomp3_blk1.png":["textures/makkon_tech/techcomp3_blk1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/makkon_tech/techflat1_blk1.png":["textures/makkon_tech/techflat1_blk1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/makkon_tech/techflat1_rst3.png":["textures/makkon_tech/techflat1_rst3.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/makkon_tech/techflat2_rst2b.png":["textures/makkon_tech/techflat2_rst2b.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/makkon_tech/techflr1_grey2.png":["textures/makkon_tech/techflr1_grey2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/makkon_tech/techflr5_blk1.png":["textures/makkon_tech/techflr5_blk1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/makkon_tech/techflr5_rst3.png":["textures/makkon_tech/techflr5_rst3.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/makkon_tech/techtrim3_red2.png":["textures/makkon_tech/techtrim3_red2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/makkon_tech/techwal9b_grn4.png":["textures/makkon_tech/techwal9b_grn4.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/malig_sky.dml":["textures/Malig_sky.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/metalwall.png":["textures/MetalWall.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/missleturret.png":["textures/missleturret.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/mmd.dml":["textures/mmd.dml",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/mmd/mmd_bk.png":["textures/mmd/mmd_BK.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/mmd/mmd_dn.png":["textures/mmd/mmd_DN.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/mmd/mmd_fr.png":["textures/mmd/mmd_FR.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/mmd/mmd_lf.png":["textures/mmd/mmd_LF.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/mmd/mmd_rt.png":["textures/mmd/mmd_RT.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/mmd/mmd_up.png":["textures/mmd/mmd_UP.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/mmetall.png":["textures/mMetalL.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/mr_02.dml":["textures/mr_02.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/muddy.dml":["textures/muddy.dml",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/muddy/skies/muddy_bk.png":["textures/muddy/skies/muddy_BK.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/muddy/skies/muddy_cloud1.png":["textures/muddy/skies/muddy_cloud1.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/muddy/skies/muddy_cloud2.png":["textures/muddy/skies/muddy_cloud2.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/muddy/skies/muddy_fr.png":["textures/muddy/skies/muddy_FR.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/muddy/skies/muddy_lf.png":["textures/muddy/skies/muddy_LF.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/muddy/skies/muddy_rt.png":["textures/muddy/skies/muddy_RT.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/muddy/skies/muddy_up.png":["textures/muddy/skies/muddy_UP.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/mx3_wall.png":["textures/mx3_wall.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/nef/skies/nef5_bk.png":["textures/nef/skies/Nef5_BK.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/nef5_dn.png":["textures/nef/skies/Nef5_DN.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/nef5_fr.png":["textures/nef/skies/Nef5_FR.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/nef5_lf.png":["textures/nef/skies/Nef5_LF.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/nef5_rt.png":["textures/nef/skies/Nef5_RT.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/nef5_up.png":["textures/nef/skies/Nef5_UP.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/nef_blueclear_1.png":["textures/nef/skies/nef_BlueClear_1.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/nef_blueclear_2.png":["textures/nef/skies/nef_BlueClear_2.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/nef_blueclear_3.png":["textures/nef/skies/nef_BlueClear_3.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/nef_blueclear_4.png":["textures/nef/skies/nef_BlueClear_4.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/nef_blueclear_5.png":["textures/nef/skies/nef_BlueClear_5.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/nef_blueclear_cloud1.png":["textures/nef/skies/nef_BlueClear_cloud1.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/nefred_1.png":["textures/nef/skies/nefRed_1.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/nefred_2.png":["textures/nef/skies/nefRed_2.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/nefred_3.png":["textures/nef/skies/nefRed_3.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/nefred_4.png":["textures/nef/skies/nefRed_4.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/nefred_5.png":["textures/nef/skies/nefRed_5.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/night1.png":["textures/nef/skies/night1.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/night2.png":["textures/nef/skies/night2.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/night3.png":["textures/nef/skies/night3.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/night4.png":["textures/nef/skies/night4.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/night5.png":["textures/nef/skies/night5.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/redplanet2_1.png":["textures/nef/skies/RedPlanet2_1.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/redplanet2_2.png":["textures/nef/skies/RedPlanet2_2.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/redplanet2_3.png":["textures/nef/skies/RedPlanet2_3.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/redplanet2_4.png":["textures/nef/skies/RedPlanet2_4.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/redplanet2_5.png":["textures/nef/skies/RedPlanet2_5.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/redplanet_1.png":["textures/nef/skies/RedPlanet_1.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/redplanet_2.png":["textures/nef/skies/RedPlanet_2.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/redplanet_3.png":["textures/nef/skies/RedPlanet_3.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/redplanet_4.png":["textures/nef/skies/RedPlanet_4.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/redplanet_5.png":["textures/nef/skies/RedPlanet_5.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/redplanet_cloud1.png":["textures/nef/skies/RedPlanet_cloud1.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/redplanet_cloud2.png":["textures/nef/skies/RedPlanet_cloud2.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/surreal1_bk.png":["textures/nef/skies/Surreal1_BK.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/surreal1_fr.png":["textures/nef/skies/Surreal1_FR.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/surreal1_lf.png":["textures/nef/skies/Surreal1_LF.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/surreal1_rt.png":["textures/nef/skies/Surreal1_RT.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/surreal1_up.png":["textures/nef/skies/Surreal1_UP.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/surreal_7.png":["textures/nef/skies/Surreal_7.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/surreal_cloud1.png":["textures/nef/skies/Surreal_Cloud1.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/surreal_cloud2.png":["textures/nef/skies/Surreal_Cloud2.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef5.dml":["textures/Nef5.dml",["TR2final105-client.vl2"]],"textures/nef5/nef5_bk.png":["textures/Nef5/Nef5_BK.png",["TR2final105-client.vl2"]],"textures/nef5/nef5_dn.png":["textures/Nef5/Nef5_DN.png",["TR2final105-client.vl2"]],"textures/nef5/nef5_fr.png":["textures/Nef5/Nef5_FR.png",["TR2final105-client.vl2"]],"textures/nef5/nef5_lf.png":["textures/Nef5/Nef5_LF.png",["TR2final105-client.vl2"]],"textures/nef5/nef5_rt.png":["textures/Nef5/Nef5_RT.png",["TR2final105-client.vl2"]],"textures/nef5/nef5_up.png":["textures/Nef5/Nef5_UP.png",["TR2final105-client.vl2"]],"textures/nef_5.dml":["textures/nef_5.dml",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef_blueclear.dml":["textures/nef_BlueClear.dml",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef_night1.dml":["textures/nef_night1.dml",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef_red_1.dml":["textures/nef_Red_1.dml",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef_redplanet.dml":["textures/nef_RedPlanet.dml",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef_redplanet2.dml":["textures/nef_RedPlanet2.dml",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef_sset2.dml":["textures/Nef_Sset2.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/nef_sset2_x2.dml":["textures/nef_sset2_x2.dml",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/nef_surreal1.dml":["textures/nef_Surreal1.dml",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef_tr2_red.dml":["textures/Nef_TR2_Red.dml",["TR2final105-client.vl2"]],"textures/nef_tr2_red_1.png":["textures/Nef_TR2_Red_1.png",["TR2final105-client.vl2"]],"textures/nef_tr2_red_2.png":["textures/Nef_TR2_Red_2.png",["TR2final105-client.vl2"]],"textures/nef_tr2_red_3.png":["textures/Nef_TR2_Red_3.png",["TR2final105-client.vl2"]],"textures/nef_tr2_red_4.png":["textures/Nef_TR2_Red_4.png",["TR2final105-client.vl2"]],"textures/nef_tr2_red_5.png":["textures/Nef_TR2_Red_5.png",["TR2final105-client.vl2"]],"textures/nef_tr2_red_7.png":["textures/Nef_TR2_Red_7.png",["TR2final105-client.vl2"]],"textures/nef_tr2_red_cloud1.png":["textures/Nef_TR2_Red_Cloud1.png",["TR2final105-client.vl2"]],"textures/nefred1.dml":["textures/NefRed1.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/nefred1/red1_bk_x2.png":["textures/nefred1/red1_BK_x2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/nefred1/red1_cloud1_x2.png":["textures/nefred1/red1_CLOUD1_x2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/nefred1/red1_fr_x2.png":["textures/nefred1/red1_FR_x2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/nefred1/red1_lf_x2.png":["textures/nefred1/red1_LF_x2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/nefred1/red1_rt_x2.png":["textures/nefred1/red1_RT_x2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/nefred1/red1_up_x2.png":["textures/nefred1/red1_UP_x2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/nefred1_x2.dml":["textures/nefred1_x2.dml",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/nefsset2_x2/skies/nef_sset2_bk.png":["textures/nefsset2_x2/skies/nef_sset2_BK.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/nefsset2_x2/skies/nef_sset2_fr.png":["textures/nefsset2_x2/skies/nef_sset2_FR.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/nefsset2_x2/skies/nef_sset2_lf.png":["textures/nefsset2_x2/skies/nef_sset2_LF.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/nefsset2_x2/skies/nef_sset2_rt.png":["textures/nefsset2_x2/skies/nef_sset2_RT.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/nefsset2_x2/skies/nef_sset2_up.png":["textures/nefsset2_x2/skies/nef_sset2_UP.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/nightsky82.dml":["textures/nightsky82.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/nycto-sm.dml":["textures/Nycto-sm.dml",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/nycto/stormmtn_bk.png":["textures/Nycto/stormmtn_BK.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/nycto/stormmtn_dn.png":["textures/Nycto/stormmtn_DN.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/nycto/stormmtn_env.png":["textures/Nycto/stormmtn_ENV.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/nycto/stormmtn_fr.png":["textures/Nycto/stormmtn_FR.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/nycto/stormmtn_lf.png":["textures/Nycto/stormmtn_LF.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/nycto/stormmtn_rt.png":["textures/Nycto/stormmtn_RT.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/nycto/stormmtn_up.png":["textures/Nycto/stormmtn_UP.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/ocean_water.dml":["textures/ocean_water.dml",["textures.vl2"]],"textures/ocular.dml":["textures/ocular.dml",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/pacificsky.dml":["textures/PacificSky.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/padfloor.png":["textures/padfloor.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/paperflag.png":["textures/paperFlag.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/particletest.png":["textures/particleTest.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/pglite00.png":["textures/pglite00.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/planetx.dml":["textures/PlanetX.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/plasma.png":["textures/plasma.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/portgen.png":["textures/portgen.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/portgen3.png":["textures/portgen3.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/portlit0.png":["textures/portlit0.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/precipitation/raindrops.png":["textures/precipitation/raindrops.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/precipitation/snowflake001.png":["textures/precipitation/snowflake001.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/precipitation/snowflake002.png":["textures/precipitation/snowflake002.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/precipitation/snowflake003.png":["textures/precipitation/snowflake003.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/precipitation/snowflake004.png":["textures/precipitation/snowflake004.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/precipitation/snowflake005.png":["textures/precipitation/snowflake005.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/precipitation/snowflake006.png":["textures/precipitation/snowflake006.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/precipitation/snowflake007.png":["textures/precipitation/snowflake007.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/precipitation/snowflake008.png":["textures/precipitation/snowflake008.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/precipitation/snowflake009.png":["textures/precipitation/snowflake009.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/precipitation/snowflake010.png":["textures/precipitation/snowflake010.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/precipitation/snowflake011.png":["textures/precipitation/snowflake011.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/precipitation/snowflake012.png":["textures/precipitation/snowflake012.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/precipitation/snowflake013.png":["textures/precipitation/snowflake013.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/precipitation/snowflake014.png":["textures/precipitation/snowflake014.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/precipitation/snowflake015.png":["textures/precipitation/snowflake015.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/precipitation/snowflake016.png":["textures/precipitation/snowflake016.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/precipitation/snowflake017.png":["textures/precipitation/snowflake017.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/precipitation/snowflakes.png":["textures/precipitation/snowflakes.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/purpsun.dml":["textures/purpsun.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/pwrgenr1.png":["textures/pwrgenr1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/raindrops.dml":["textures/raindrops.dml",["textures.vl2"]],"textures/rainmist.png":["textures/rainmist.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/red_blink0.png":["textures/red_blink0.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/red_blink4.png":["textures/red_blink4.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/redbg.png":["textures/redBg.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/redbrown_tex.png":["textures/redbrown_tex.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/redeemer.png":["textures/redeemer.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/redplanet.dml":["textures/RedPlanet.dml",["TR2final105-client.vl2"]],"textures/redplanet_1.png":["textures/RedPlanet_1.png",["TR2final105-client.vl2"]],"textures/redplanet_2.png":["textures/RedPlanet_2.png",["TR2final105-client.vl2"]],"textures/redplanet_3.png":["textures/RedPlanet_3.png",["TR2final105-client.vl2"]],"textures/redplanet_4.png":["textures/RedPlanet_4.png",["TR2final105-client.vl2"]],"textures/redplanet_5.png":["textures/RedPlanet_5.png",["TR2final105-client.vl2"]],"textures/redplanet_cloud1.png":["textures/RedPlanet_Cloud1.png",["TR2final105-client.vl2"]],"textures/repairgun.png":["textures/repairgun.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/rilrock/ril.darkrock.png":["textures/rilrock/ril.darkrock.png",["z_mappacks/CTF/S8maps.vl2"]],"textures/rlight00.png":["textures/rlight00.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/rlight01.png":["textures/rlight01.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/rlight02.png":["textures/rlight02.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/rlight03.png":["textures/rlight03.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/rlight04.png":["textures/rlight04.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/rlite00.png":["textures/rlite00.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/rlite03.png":["textures/rlite03.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/roelcolor.dml":["textures/roelcolor.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/rpulse00.png":["textures/rpulse00.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/rpulse01.png":["textures/rpulse01.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/rpulse02.png":["textures/rpulse02.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/rpulse03.png":["textures/rpulse03.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/rpulse04.png":["textures/rpulse04.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/rpulse05.png":["textures/rpulse05.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/rpulse06.png":["textures/rpulse06.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/rpulse07.png":["textures/rpulse07.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/rpulse08.png":["textures/rpulse08.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/rpulse09.png":["textures/rpulse09.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/rst_goonflag.png":["textures/rst_goonflag.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/rst_taotribes.png":["textures/rst_taotribes.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/rst_toitle.png":["textures/rst_toitle.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/rst_tribescastcof.png":["textures/rst_tribescastcof.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/rst_tribesnextcof.png":["textures/rst_tribesnextcof.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/sami_d.png":["textures/Sami_D.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/santahat_d.png":["textures/SantaHat_D.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/sat_up.png":["textures/sat_up.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/saturn.dml":["textures/Saturn.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/scorp1.png":["textures/scorp1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/shinny_tech.png":["textures/shinny_tech.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/shotgun.png":["textures/shotgun.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/skies/anabatic_7.png":["textures/skies/anabatic_7.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/skies/anabatic_bk.png":["textures/skies/anabatic_BK.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/skies/anabatic_cloud1.png":["textures/skies/anabatic_Cloud1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/skies/anabatic_cloud2.png":["textures/skies/anabatic_Cloud2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/skies/anabatic_fr.png":["textures/skies/anabatic_FR.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/skies/anabatic_lf.png":["textures/skies/anabatic_LF.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/skies/anabatic_rt.png":["textures/skies/anabatic_RT.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/skies/anabatic_up.png":["textures/skies/anabatic_UP.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/skies/aurawisp/aurawisp_bk.png":["textures/skies/aurawisp/AURAWISP_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/aurawisp/aurawisp_dn.png":["textures/skies/aurawisp/AURAWISP_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/aurawisp/aurawisp_fr.png":["textures/skies/aurawisp/AURAWISP_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/aurawisp/aurawisp_lf.png":["textures/skies/aurawisp/AURAWISP_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/aurawisp/aurawisp_rt.png":["textures/skies/aurawisp/AURAWISP_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/aurawisp/aurawisp_up.png":["textures/skies/aurawisp/AURAWISP_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/badlandday/badlandday_bk.png":["textures/skies/badlandday/badlandday_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/badlandday/badlandday_fr.png":["textures/skies/badlandday/badlandday_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/badlandday/badlandday_lf.png":["textures/skies/badlandday/badlandday_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/badlandday/badlandday_rt.png":["textures/skies/badlandday/badlandday_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/badlandday/badlandday_up.png":["textures/skies/badlandday/badlandday_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/blank_dn.bm8":["textures/skies/blank_DN.bm8",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/skies/blank_dn.png":["textures/skies/blank_DN.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/skies/borealis/borealis_bk.png":["textures/skies/borealis/borealis_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/borealis/borealis_dn.png":["textures/skies/borealis/borealis_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/borealis/borealis_fr.png":["textures/skies/borealis/borealis_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/borealis/borealis_lf.png":["textures/skies/borealis/borealis_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/borealis/borealis_rt.png":["textures/skies/borealis/borealis_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/borealis/borealis_up.png":["textures/skies/borealis/borealis_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/cc_sky_bk.png":["textures/skies/cc_sky_bk.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/skies/cc_sky_fr.png":["textures/skies/cc_sky_fr.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/skies/cc_sky_lf.png":["textures/skies/cc_sky_lf.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/skies/cc_sky_rt.png":["textures/skies/cc_sky_rt.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/skies/cc_sky_up.png":["textures/skies/cc_sky_up.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/skies/ccbsky2/csk2_bk.png":["textures/skies/ccbsky2/csk2_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/ccbsky2/csk2_dn.png":["textures/skies/ccbsky2/csk2_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/ccbsky2/csk2_fr.png":["textures/skies/ccbsky2/csk2_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/ccbsky2/csk2_lf.png":["textures/skies/ccbsky2/csk2_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/ccbsky2/csk2_rt.png":["textures/skies/ccbsky2/csk2_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/ccbsky2/csk2_up.png":["textures/skies/ccbsky2/csk2_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/clouds/clouds_bk.png":["textures/skies/clouds/clouds_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/clouds/clouds_dn.png":["textures/skies/clouds/clouds_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/clouds/clouds_fr.png":["textures/skies/clouds/clouds_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/clouds/clouds_lf.png":["textures/skies/clouds/clouds_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/clouds/clouds_rt.png":["textures/skies/clouds/clouds_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/clouds/clouds_up.png":["textures/skies/clouds/clouds_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/cubemap/cubemap_bk.png":["textures/skies/cubemap/cubemap_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/cubemap/cubemap_dn.png":["textures/skies/cubemap/cubemap_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/cubemap/cubemap_fr.png":["textures/skies/cubemap/cubemap_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/cubemap/cubemap_lf.png":["textures/skies/cubemap/cubemap_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/cubemap/cubemap_rt.png":["textures/skies/cubemap/cubemap_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/cubemap/cubemap_up.png":["textures/skies/cubemap/cubemap_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/darkstormy/darkstormy_bk.png":["textures/skies/DarkStormy/DarkStormy_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/darkstormy/darkstormy_dn.png":["textures/skies/DarkStormy/DarkStormy_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/darkstormy/darkstormy_fr.png":["textures/skies/DarkStormy/DarkStormy_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/darkstormy/darkstormy_lf.png":["textures/skies/DarkStormy/DarkStormy_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/darkstormy/darkstormy_rt.png":["textures/skies/DarkStormy/DarkStormy_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/darkstormy/darkstormy_up.png":["textures/skies/DarkStormy/DarkStormy_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eeps/eepdesert_bk.png":["textures/skies/eeps/eepdesert_BK.PNG",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eeps/eepdesert_fr.png":["textures/skies/eeps/eepdesert_FR.PNG",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eeps/eepdesert_lf.png":["textures/skies/eeps/eepdesert_LF.PNG",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eeps/eepdesert_rt.png":["textures/skies/eeps/eepdesert_RT.PNG",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eeps/eepdesert_up.png":["textures/skies/eeps/eepdesert_UP.PNG",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/euro4_bleed_emap.png":["textures/skies/Euro4_Bleed_emap.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/skies/euro4_bleed_sysday_bk.png":["textures/skies/Euro4_Bleed_sysday_bk.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/skies/euro4_bleed_sysday_dn.png":["textures/skies/Euro4_Bleed_sysday_dn.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/skies/euro4_bleed_sysday_fr.png":["textures/skies/Euro4_Bleed_sysday_fr.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/skies/euro4_bleed_sysday_lf.png":["textures/skies/Euro4_Bleed_sysday_lf.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/skies/euro4_bleed_sysday_rt.png":["textures/skies/Euro4_Bleed_sysday_rt.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/skies/euro4_bleed_sysday_up.png":["textures/skies/Euro4_Bleed_sysday_up.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/skies/euro4_frozenhope_inf_butchlava2_bk.png":["textures/skies/Euro4_FrozenHope_inf_butchlava2_BK.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/skies/euro4_frozenhope_inf_butchlava2_dn.png":["textures/skies/Euro4_FrozenHope_inf_butchlava2_DN.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/skies/euro4_frozenhope_inf_butchlava2_fr.png":["textures/skies/Euro4_FrozenHope_inf_butchlava2_FR.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/skies/euro4_frozenhope_inf_butchlava2_lf.png":["textures/skies/Euro4_FrozenHope_inf_butchlava2_LF.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/skies/euro4_frozenhope_inf_butchlava2_rt.png":["textures/skies/Euro4_FrozenHope_inf_butchlava2_RT.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/skies/euro4_frozenhope_inf_butchlava2_up.png":["textures/skies/Euro4_FrozenHope_inf_butchlava2_UP.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/skies/eve/eve1bk.png":["textures/skies/eve/eve1bk.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve1dn.png":["textures/skies/eve/eve1dn.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve1ft.png":["textures/skies/eve/eve1ft.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve1lf.png":["textures/skies/eve/eve1lf.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve1rt.png":["textures/skies/eve/eve1rt.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve1up.png":["textures/skies/eve/eve1up.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve2bk.png":["textures/skies/eve/eve2bk.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve2dn.png":["textures/skies/eve/eve2dn.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve2ft.png":["textures/skies/eve/eve2ft.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve2lf.png":["textures/skies/eve/eve2lf.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve2rt.png":["textures/skies/eve/eve2rt.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve2up.png":["textures/skies/eve/eve2up.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve3bk.png":["textures/skies/eve/eve3bk.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve3dn.png":["textures/skies/eve/eve3dn.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve3ft.png":["textures/skies/eve/eve3ft.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve3lf.png":["textures/skies/eve/eve3lf.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve3rt.png":["textures/skies/eve/eve3rt.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve3up.png":["textures/skies/eve/eve3up.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve4bk.png":["textures/skies/eve/eve4bk.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve4dn.png":["textures/skies/eve/eve4dn.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve4ft.png":["textures/skies/eve/eve4ft.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve4lf.png":["textures/skies/eve/eve4lf.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve4rt.png":["textures/skies/eve/eve4rt.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve4up.png":["textures/skies/eve/eve4up.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve5bk.png":["textures/skies/eve/eve5bk.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve5dn.png":["textures/skies/eve/eve5dn.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve5ft.png":["textures/skies/eve/eve5ft.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve5lf.png":["textures/skies/eve/eve5lf.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve5rt.png":["textures/skies/eve/eve5rt.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve5up.png":["textures/skies/eve/eve5up.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve6bk.png":["textures/skies/eve/eve6bk.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve6dn.png":["textures/skies/eve/eve6dn.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve6ft.png":["textures/skies/eve/eve6ft.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve6lf.png":["textures/skies/eve/eve6lf.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve6rt.png":["textures/skies/eve/eve6rt.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve6up.png":["textures/skies/eve/eve6up.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve7bk.png":["textures/skies/eve/eve7bk.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve7dn.png":["textures/skies/eve/eve7dn.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve7ft.png":["textures/skies/eve/eve7ft.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve7lf.png":["textures/skies/eve/eve7lf.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve7rt.png":["textures/skies/eve/eve7rt.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve7up.png":["textures/skies/eve/eve7up.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve8bk.png":["textures/skies/eve/eve8bk.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve8dn.png":["textures/skies/eve/eve8dn.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve8ft.png":["textures/skies/eve/eve8ft.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve8lf.png":["textures/skies/eve/eve8lf.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve8rt.png":["textures/skies/eve/eve8rt.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve8up.png":["textures/skies/eve/eve8up.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/flingsky03/emap_muddy.png":["textures/skies/flingsky03/emap_muddy.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/flingsky03/flingsky03_bk.png":["textures/skies/flingsky03/flingsky03_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/flingsky03/flingsky03_dn.png":["textures/skies/flingsky03/flingsky03_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/flingsky03/flingsky03_fr.png":["textures/skies/flingsky03/flingsky03_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/flingsky03/flingsky03_lf.png":["textures/skies/flingsky03/flingsky03_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/flingsky03/flingsky03_rt.png":["textures/skies/flingsky03/flingsky03_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/flingsky03/flingsky03_up.png":["textures/skies/flingsky03/flingsky03_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/haloday/haloday_bk.png":["textures/skies/haloday/haloday_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/haloday/haloday_dn.png":["textures/skies/haloday/haloday_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/haloday/haloday_fr.png":["textures/skies/haloday/haloday_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/haloday/haloday_lf.png":["textures/skies/haloday/haloday_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/haloday/haloday_rt.png":["textures/skies/haloday/haloday_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/haloday/haloday_up.png":["textures/skies/haloday/haloday_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/halonite/halonite_bk.png":["textures/skies/halonite/halonite_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/halonite/halonite_dn.png":["textures/skies/halonite/halonite_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/halonite/halonite_fr.png":["textures/skies/halonite/halonite_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/halonite/halonite_lf.png":["textures/skies/halonite/halonite_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/halonite/halonite_rt.png":["textures/skies/halonite/halonite_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/halonite/halonite_up.png":["textures/skies/halonite/halonite_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/harvest/harvest_bk.png":["textures/skies/harvest/harvest_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/harvest/harvest_dn.png":["textures/skies/harvest/harvest_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/harvest/harvest_fr.png":["textures/skies/harvest/harvest_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/harvest/harvest_lf.png":["textures/skies/harvest/harvest_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/harvest/harvest_rt.png":["textures/skies/harvest/harvest_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/harvest/harvest_up.png":["textures/skies/harvest/harvest_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/inf_butch_frozenhope/inf_butch_frozenhope_bk.png":["textures/skies/inf_butch_FrozenHope/inf_butch_FrozenHope_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/inf_butch_frozenhope/inf_butch_frozenhope_dn.png":["textures/skies/inf_butch_FrozenHope/inf_butch_FrozenHope_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/inf_butch_frozenhope/inf_butch_frozenhope_fr.png":["textures/skies/inf_butch_FrozenHope/inf_butch_FrozenHope_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/inf_butch_frozenhope/inf_butch_frozenhope_lf.png":["textures/skies/inf_butch_FrozenHope/inf_butch_FrozenHope_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/inf_butch_frozenhope/inf_butch_frozenhope_rt.png":["textures/skies/inf_butch_FrozenHope/inf_butch_FrozenHope_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/inf_butch_frozenhope/inf_butch_frozenhope_up.png":["textures/skies/inf_butch_FrozenHope/inf_butch_FrozenHope_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/inf_butch_night13/inf_butch_night13_bk.png":["textures/skies/inf_butch_night13/inf_butch_night13_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/inf_butch_night13/inf_butch_night13_dn.png":["textures/skies/inf_butch_night13/inf_butch_night13_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/inf_butch_night13/inf_butch_night13_fr.png":["textures/skies/inf_butch_night13/inf_butch_night13_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/inf_butch_night13/inf_butch_night13_lf.png":["textures/skies/inf_butch_night13/inf_butch_night13_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/inf_butch_night13/inf_butch_night13_rt.png":["textures/skies/inf_butch_night13/inf_butch_night13_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/inf_butch_night13/inf_butch_night13_up.png":["textures/skies/inf_butch_night13/inf_butch_night13_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/inf_butch_nov50/inf_butch_nov50_bk.png":["textures/skies/inf_butch_nov50/inf_butch_nov50_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/inf_butch_nov50/inf_butch_nov50_dn.png":["textures/skies/inf_butch_nov50/inf_butch_nov50_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/inf_butch_nov50/inf_butch_nov50_fr.png":["textures/skies/inf_butch_nov50/inf_butch_nov50_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/inf_butch_nov50/inf_butch_nov50_lf.png":["textures/skies/inf_butch_nov50/inf_butch_nov50_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/inf_butch_nov50/inf_butch_nov50_rt.png":["textures/skies/inf_butch_nov50/inf_butch_nov50_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/inf_butch_nov50/inf_butch_nov50_up.png":["textures/skies/inf_butch_nov50/inf_butch_nov50_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/inf_butchlava51/inf_butchlava51_bk.png":["textures/skies/inf_butchlava51/inf_butchlava51_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/inf_butchlava51/inf_butchlava51_dn.png":["textures/skies/inf_butchlava51/inf_butchlava51_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/inf_butchlava51/inf_butchlava51_fr.png":["textures/skies/inf_butchlava51/inf_butchlava51_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/inf_butchlava51/inf_butchlava51_lf.png":["textures/skies/inf_butchlava51/inf_butchlava51_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/inf_butchlava51/inf_butchlava51_rt.png":["textures/skies/inf_butchlava51/inf_butchlava51_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/inf_butchlava51/inf_butchlava51_up.png":["textures/skies/inf_butchlava51/inf_butchlava51_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/iris/iris_bk.bm8":["textures/skies/Iris/Iris_BK.bm8",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/skies/iris/iris_bk.png":["textures/skies/Iris/Iris_BK.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/skies/iris/iris_dn.bm8":["textures/skies/Iris/Iris_DN.bm8",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/skies/iris/iris_dn.png":["textures/skies/Iris/Iris_DN.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/skies/iris/iris_fr.bm8":["textures/skies/Iris/Iris_FR.bm8",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/skies/iris/iris_fr.png":["textures/skies/Iris/Iris_FR.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/skies/iris/iris_lf.bm8":["textures/skies/Iris/Iris_LF.bm8",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/skies/iris/iris_lf.png":["textures/skies/Iris/Iris_LF.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/skies/iris/iris_rt.bm8":["textures/skies/Iris/Iris_RT.bm8",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/skies/iris/iris_rt.png":["textures/skies/Iris/Iris_RT.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/skies/iris/iris_up.bm8":["textures/skies/Iris/Iris_UP.bm8",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/skies/iris/iris_up.png":["textures/skies/Iris/Iris_UP.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/skies/jagged/chateau_bk.png":["textures/skies/jagged/chateau_bk.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/jagged/chateau_dn.png":["textures/skies/jagged/chateau_dn.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/jagged/chateau_ft.png":["textures/skies/jagged/chateau_ft.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/jagged/chateau_lf.png":["textures/skies/jagged/chateau_lf.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/jagged/chateau_rt.png":["textures/skies/jagged/chateau_rt.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/jagged/chateau_up.png":["textures/skies/jagged/chateau_up.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/kif_lava_starrynight62/kif_lava_starrynight62_bk.png":["textures/skies/kif_lava_starrynight62/kif_lava_starrynight62_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/kif_lava_starrynight62/kif_lava_starrynight62_dn.png":["textures/skies/kif_lava_starrynight62/kif_lava_starrynight62_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/kif_lava_starrynight62/kif_lava_starrynight62_fr.png":["textures/skies/kif_lava_starrynight62/kif_lava_starrynight62_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/kif_lava_starrynight62/kif_lava_starrynight62_lf.png":["textures/skies/kif_lava_starrynight62/kif_lava_starrynight62_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/kif_lava_starrynight62/kif_lava_starrynight62_rt.png":["textures/skies/kif_lava_starrynight62/kif_lava_starrynight62_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/kif_lava_starrynight62/kif_lava_starrynight62_up.png":["textures/skies/kif_lava_starrynight62/kif_lava_starrynight62_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/kif_lushsunset/kif_lushsunset_bk.png":["textures/skies/kif_lushsunset/kif_lushsunset_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/kif_lushsunset/kif_lushsunset_dn.png":["textures/skies/kif_lushsunset/kif_lushsunset_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/kif_lushsunset/kif_lushsunset_fr.png":["textures/skies/kif_lushsunset/kif_lushsunset_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/kif_lushsunset/kif_lushsunset_lf.png":["textures/skies/kif_lushsunset/kif_lushsunset_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/kif_lushsunset/kif_lushsunset_rt.png":["textures/skies/kif_lushsunset/kif_lushsunset_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/kif_lushsunset/kif_lushsunset_up.png":["textures/skies/kif_lushsunset/kif_lushsunset_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/l4/l4_bk.png":["textures/skies/L4/L4_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/l4/l4_dn.png":["textures/skies/L4/L4_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/l4/l4_fr.png":["textures/skies/L4/L4_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/l4/l4_lf.png":["textures/skies/L4/L4_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/l4/l4_rt.png":["textures/skies/L4/L4_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/l4/l4_up.png":["textures/skies/L4/L4_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/lavanight_v5/lavanight_v5_bk.png":["textures/skies/lavanight_v5/lavanight_v5_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/lavanight_v5/lavanight_v5_dn.png":["textures/skies/lavanight_v5/lavanight_v5_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/lavanight_v5/lavanight_v5_fr.png":["textures/skies/lavanight_v5/lavanight_v5_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/lavanight_v5/lavanight_v5_lf.png":["textures/skies/lavanight_v5/lavanight_v5_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/lavanight_v5/lavanight_v5_rt.png":["textures/skies/lavanight_v5/lavanight_v5_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/lavanight_v5/lavanight_v5_up.png":["textures/skies/lavanight_v5/lavanight_v5_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/lush_02_dusk_bk.png":["textures/skies/lush_02_dusk_BK.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/skies/lush_02_dusk_dn.png":["textures/skies/lush_02_dusk_DN.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/skies/lush_02_dusk_fr.png":["textures/skies/lush_02_dusk_FR.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/skies/lush_02_dusk_lf.png":["textures/skies/lush_02_dusk_LF.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/skies/lush_02_dusk_rt.png":["textures/skies/lush_02_dusk_RT.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/skies/lush_02_dusk_up.png":["textures/skies/lush_02_dusk_UP.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/skies/lushdusk66/lushdusk66_bk.png":["textures/skies/lushdusk66/lushdusk66_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/lushdusk66/lushdusk66_dn.png":["textures/skies/lushdusk66/lushdusk66_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/lushdusk66/lushdusk66_fr.png":["textures/skies/lushdusk66/lushdusk66_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/lushdusk66/lushdusk66_lf.png":["textures/skies/lushdusk66/lushdusk66_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/lushdusk66/lushdusk66_rt.png":["textures/skies/lushdusk66/lushdusk66_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/lushdusk66/lushdusk66_up.png":["textures/skies/lushdusk66/lushdusk66_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/lushsky_night11/lushsky_night11_bk.png":["textures/skies/lushsky_night11/lushsky_night11_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/lushsky_night11/lushsky_night11_dn.png":["textures/skies/lushsky_night11/lushsky_night11_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/lushsky_night11/lushsky_night11_fr.png":["textures/skies/lushsky_night11/lushsky_night11_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/lushsky_night11/lushsky_night11_lf.png":["textures/skies/lushsky_night11/lushsky_night11_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/lushsky_night11/lushsky_night11_rt.png":["textures/skies/lushsky_night11/lushsky_night11_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/lushsky_night11/lushsky_night11_up.png":["textures/skies/lushsky_night11/lushsky_night11_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/lushsky_night11/thumbs.db":["textures/skies/lushsky_night11/Thumbs.db",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/magellan/winterblue_v5_bk.png":["textures/skies/Magellan/WinterBlue_v5_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/magellan/winterblue_v5_dn.png":["textures/skies/Magellan/WinterBlue_v5_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/magellan/winterblue_v5_fr.png":["textures/skies/Magellan/WinterBlue_v5_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/magellan/winterblue_v5_lf.png":["textures/skies/Magellan/WinterBlue_v5_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/magellan/winterblue_v5_rt.png":["textures/skies/Magellan/WinterBlue_v5_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/magellan/winterblue_v5_up.png":["textures/skies/Magellan/WinterBlue_v5_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/mr_02/mr_02_bk.png":["textures/skies/mr_02/mr_02_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/mr_02/mr_02_dn.png":["textures/skies/mr_02/mr_02_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/mr_02/mr_02_fr.png":["textures/skies/mr_02/mr_02_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/mr_02/mr_02_lf.png":["textures/skies/mr_02/mr_02_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/mr_02/mr_02_rt.png":["textures/skies/mr_02/mr_02_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/mr_02/mr_02_up.png":["textures/skies/mr_02/mr_02_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/nef_sset2/nef_sset2_bk.png":["textures/skies/Nef_Sset2/Nef_Sset2_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/nef_sset2/nef_sset2_fr.png":["textures/skies/Nef_Sset2/Nef_Sset2_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/nef_sset2/nef_sset2_lf.png":["textures/skies/Nef_Sset2/Nef_Sset2_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/nef_sset2/nef_sset2_rt.png":["textures/skies/Nef_Sset2/Nef_Sset2_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/nef_sset2/nef_sset2_up.png":["textures/skies/Nef_Sset2/Nef_Sset2_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/nefred1/red1_bk.png":["textures/skies/nefred1/red1_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/nefred1/red1_cloud1.png":["textures/skies/nefred1/red1_CLOUD1.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/nefred1/red1_fr.png":["textures/skies/nefred1/red1_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/nefred1/red1_lf.png":["textures/skies/nefred1/red1_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/nefred1/red1_rt.png":["textures/skies/nefred1/red1_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/nefred1/red1_up.png":["textures/skies/nefred1/red1_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/nightsky82/nightsky82_bk.png":["textures/skies/nightsky82/nightsky82_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/nightsky82/nightsky82_dn.png":["textures/skies/nightsky82/nightsky82_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/nightsky82/nightsky82_fr.png":["textures/skies/nightsky82/nightsky82_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/nightsky82/nightsky82_lf.png":["textures/skies/nightsky82/nightsky82_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/nightsky82/nightsky82_rt.png":["textures/skies/nightsky82/nightsky82_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/nightsky82/nightsky82_up.png":["textures/skies/nightsky82/nightsky82_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/ocular0.bm8":["textures/skies/ocular0.bm8",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/skies/ocular0.png":["textures/skies/ocular0.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/skies/ocular180.bm8":["textures/skies/ocular180.bm8",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/skies/ocular180.png":["textures/skies/ocular180.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/skies/ocular270.bm8":["textures/skies/ocular270.bm8",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/skies/ocular270.png":["textures/skies/ocular270.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/skies/ocular90.bm8":["textures/skies/ocular90.bm8",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/skies/ocular90.png":["textures/skies/ocular90.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/skies/ocular_lush_day_emap.bm8":["textures/skies/ocular_lush_day_emap.bm8",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/skies/ocular_lush_day_emap.png":["textures/skies/ocular_lush_day_emap.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/skies/oculartop.bm8":["textures/skies/oculartop.bm8",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/skies/oculartop.png":["textures/skies/oculartop.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/skies/pacificsky/pacificsky_bk.png":["textures/skies/PacificSky/PacificSky_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/pacificsky/pacificsky_dn.png":["textures/skies/PacificSky/PacificSky_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/pacificsky/pacificsky_fr.png":["textures/skies/PacificSky/PacificSky_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/pacificsky/pacificsky_lf.png":["textures/skies/PacificSky/PacificSky_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/pacificsky/pacificsky_rt.png":["textures/skies/PacificSky/PacificSky_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/pacificsky/pacificsky_up.png":["textures/skies/PacificSky/PacificSky_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/planetx/planetx_bk.png":["textures/skies/PlanetX/PlanetX_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/planetx/planetx_dn.png":["textures/skies/PlanetX/PlanetX_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/planetx/planetx_fr.png":["textures/skies/PlanetX/PlanetX_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/planetx/planetx_lf.png":["textures/skies/PlanetX/PlanetX_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/planetx/planetx_reflect.png":["textures/skies/PlanetX/PlanetX_reflect.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/planetx/planetx_rt.png":["textures/skies/PlanetX/PlanetX_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/planetx/planetx_up.png":["textures/skies/PlanetX/PlanetX_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/purpsun/purpsun_bk.png":["textures/skies/purpsun/PURPSUN_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/purpsun/purpsun_dn.png":["textures/skies/purpsun/PURPSUN_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/purpsun/purpsun_fr.png":["textures/skies/purpsun/PURPSUN_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/purpsun/purpsun_lf.png":["textures/skies/purpsun/PURPSUN_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/purpsun/purpsun_rt.png":["textures/skies/purpsun/PURPSUN_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/purpsun/purpsun_up.png":["textures/skies/purpsun/PURPSUN_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/roelcolor/roelcolor_bk.png":["textures/skies/roelcolor/roelcolor_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/roelcolor/roelcolor_dn.png":["textures/skies/roelcolor/roelcolor_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/roelcolor/roelcolor_fr.png":["textures/skies/roelcolor/roelcolor_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/roelcolor/roelcolor_lf.png":["textures/skies/roelcolor/roelcolor_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/roelcolor/roelcolor_rt.png":["textures/skies/roelcolor/roelcolor_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/roelcolor/roelcolor_up.png":["textures/skies/roelcolor/roelcolor_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sal/malig_v1_bk.png":["textures/skies/sal/Malig_v1_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sal/malig_v1_dn.png":["textures/skies/sal/Malig_v1_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sal/malig_v1_fr.png":["textures/skies/sal/Malig_v1_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sal/malig_v1_lf.png":["textures/skies/sal/Malig_v1_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sal/malig_v1_rt.png":["textures/skies/sal/Malig_v1_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sal/malig_v1_up.png":["textures/skies/sal/Malig_v1_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/saturn/saturn_bk.png":["textures/skies/Saturn/Saturn_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/saturn/saturn_dn.png":["textures/skies/Saturn/Saturn_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/saturn/saturn_fr.png":["textures/skies/Saturn/Saturn_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/saturn/saturn_lf.png":["textures/skies/Saturn/Saturn_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/saturn/saturn_rt.png":["textures/skies/Saturn/Saturn_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/saturn/saturn_up.png":["textures/skies/Saturn/Saturn_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sky01/cloud1.png":["textures/skies/sky01/Cloud1.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sky01/sky01_fr.png":["textures/skies/sky01/sky01_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sky01/sky02_rt.png":["textures/skies/sky01/sky02_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sky01/sky03_bk.png":["textures/skies/sky01/sky03_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sky01/sky04_lf.png":["textures/skies/sky01/sky04_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sky01/sky05_up.png":["textures/skies/sky01/sky05_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sky01/sky06_dn.png":["textures/skies/sky01/sky06_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sky121/sky121_bk.png":["textures/skies/sky121/sky121_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sky121/sky121_dn.png":["textures/skies/sky121/sky121_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sky121/sky121_fr.png":["textures/skies/sky121/sky121_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sky121/sky121_lf.png":["textures/skies/sky121/sky121_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sky121/sky121_rt.png":["textures/skies/sky121/sky121_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sky121/sky121_up.png":["textures/skies/sky121/sky121_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sky127/sky127_bk.png":["textures/skies/sky127/sky127_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sky127/sky127_dn.png":["textures/skies/sky127/sky127_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sky127/sky127_fr.png":["textures/skies/sky127/sky127_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sky127/sky127_lf.png":["textures/skies/sky127/sky127_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sky127/sky127_rt.png":["textures/skies/sky127/sky127_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sky127/sky127_up.png":["textures/skies/sky127/sky127_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sky156/sky156_bk.png":["textures/skies/sky156/sky156_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sky156/sky156_dn.png":["textures/skies/sky156/sky156_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sky156/sky156_fr.png":["textures/skies/sky156/sky156_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sky156/sky156_lf.png":["textures/skies/sky156/sky156_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sky156/sky156_rt.png":["textures/skies/sky156/sky156_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sky156/sky156_up.png":["textures/skies/sky156/sky156_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_14/space_14_bk.png":["textures/skies/space_14/space_14_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_14/space_14_dn.png":["textures/skies/space_14/space_14_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_14/space_14_fr.png":["textures/skies/space_14/space_14_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_14/space_14_lf.png":["textures/skies/space_14/space_14_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_14/space_14_rt.png":["textures/skies/space_14/space_14_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_14/space_14_up.png":["textures/skies/space_14/space_14_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_14_bk.png":["textures/skies/space_14_BK.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/skies/space_14_dn.png":["textures/skies/space_14_DN.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/skies/space_14_fr.png":["textures/skies/space_14_FR.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/skies/space_14_lf.png":["textures/skies/space_14_LF.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/skies/space_14_rt.png":["textures/skies/space_14_RT.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/skies/space_14_up.png":["textures/skies/space_14_UP.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/skies/space_16/space_16_bk.png":["textures/skies/space_16/space_16_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_16/space_16_dn.png":["textures/skies/space_16/space_16_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_16/space_16_fr.png":["textures/skies/space_16/space_16_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_16/space_16_lf.png":["textures/skies/space_16/space_16_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_16/space_16_rt.png":["textures/skies/space_16/space_16_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_16/space_16_up.png":["textures/skies/space_16/space_16_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_17/space_17_bk.png":["textures/skies/space_17/space_17_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_17/space_17_dn.png":["textures/skies/space_17/space_17_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_17/space_17_fr.png":["textures/skies/space_17/space_17_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_17/space_17_lf.png":["textures/skies/space_17/space_17_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_17/space_17_rt.png":["textures/skies/space_17/space_17_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_17/space_17_up.png":["textures/skies/space_17/space_17_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_18/space_18_bk.png":["textures/skies/space_18/space_18_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_18/space_18_dn.png":["textures/skies/space_18/space_18_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_18/space_18_fr.png":["textures/skies/space_18/space_18_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_18/space_18_lf.png":["textures/skies/space_18/space_18_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_18/space_18_rt.png":["textures/skies/space_18/space_18_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_18/space_18_up.png":["textures/skies/space_18/space_18_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_19/space_19_bk.png":["textures/skies/space_19/space_19_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_19/space_19_dn.png":["textures/skies/space_19/space_19_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_19/space_19_fr.png":["textures/skies/space_19/space_19_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_19/space_19_lf.png":["textures/skies/space_19/space_19_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_19/space_19_rt.png":["textures/skies/space_19/space_19_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_19/space_19_up.png":["textures/skies/space_19/space_19_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_3/space_3_bk.png":["textures/skies/space_3/space_3_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_3/space_3_dn.png":["textures/skies/space_3/space_3_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_3/space_3_fr.png":["textures/skies/space_3/space_3_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_3/space_3_lf.png":["textures/skies/space_3/space_3_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_3/space_3_rt.png":["textures/skies/space_3/space_3_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_3/space_3_up.png":["textures/skies/space_3/space_3_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_5/space_5_bk.png":["textures/skies/space_5/space_5_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_5/space_5_dn.png":["textures/skies/space_5/space_5_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_5/space_5_fr.png":["textures/skies/space_5/space_5_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_5/space_5_lf.png":["textures/skies/space_5/space_5_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_5/space_5_rt.png":["textures/skies/space_5/space_5_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_5/space_5_up.png":["textures/skies/space_5/space_5_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/starrynite/starrynite_bk.png":["textures/skies/starrynite/starrynite_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/starrynite/starrynite_dn.png":["textures/skies/starrynite/starrynite_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/starrynite/starrynite_fr.png":["textures/skies/starrynite/starrynite_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/starrynite/starrynite_lf.png":["textures/skies/starrynite/starrynite_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/starrynite/starrynite_rt.png":["textures/skies/starrynite/starrynite_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/starrynite/starrynite_up.png":["textures/skies/starrynite/starrynite_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sundown25/sundown25_bk.png":["textures/skies/sundown25/sundown25_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sundown25/sundown25_dn.png":["textures/skies/sundown25/sundown25_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sundown25/sundown25_fr.png":["textures/skies/sundown25/sundown25_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sundown25/sundown25_lf.png":["textures/skies/sundown25/sundown25_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sundown25/sundown25_rt.png":["textures/skies/sundown25/sundown25_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sundown25/sundown25_up.png":["textures/skies/sundown25/sundown25_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sunnight/sunnight_bk.png":["textures/skies/sunnight/sunnight_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sunnight/sunnight_dn.png":["textures/skies/sunnight/sunnight_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sunnight/sunnight_fr.png":["textures/skies/sunnight/sunnight_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sunnight/sunnight_lf.png":["textures/skies/sunnight/sunnight_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sunnight/sunnight_rt.png":["textures/skies/sunnight/sunnight_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sunnight/sunnight_up.png":["textures/skies/sunnight/sunnight_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sunset12/sunset12_bk.png":["textures/skies/SunSet12/SunSet12_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sunset12/sunset12_dn.png":["textures/skies/SunSet12/SunSet12_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sunset12/sunset12_fr.png":["textures/skies/SunSet12/SunSet12_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sunset12/sunset12_lf.png":["textures/skies/SunSet12/SunSet12_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sunset12/sunset12_rt.png":["textures/skies/SunSet12/SunSet12_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sunset12/sunset12_up.png":["textures/skies/SunSet12/SunSet12_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/tyre/tyre_bk.png":["textures/skies/tyre/tyre_bk.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/tyre/tyre_dn.png":["textures/skies/tyre/tyre_dn.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/tyre/tyre_ft.png":["textures/skies/tyre/tyre_ft.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/tyre/tyre_lf.png":["textures/skies/tyre/tyre_lf.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/tyre/tyre_rt.png":["textures/skies/tyre/tyre_rt.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/tyre/tyre_up.png":["textures/skies/tyre/tyre_up.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/violet/violet_bk.png":["textures/skies/violet/violet_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/violet/violet_dn.png":["textures/skies/violet/violet_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/violet/violet_fr.png":["textures/skies/violet/violet_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/violet/violet_lf.png":["textures/skies/violet/violet_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/violet/violet_rt.png":["textures/skies/violet/violet_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/violet/violet_up.png":["textures/skies/violet/violet_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/winterskyday/winterskyday_bk.png":["textures/skies/winterskyday/winterskyday_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/winterskyday/winterskyday_dn.png":["textures/skies/winterskyday/winterskyday_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/winterskyday/winterskyday_fr.png":["textures/skies/winterskyday/winterskyday_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/winterskyday/winterskyday_lf.png":["textures/skies/winterskyday/winterskyday_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/winterskyday/winterskyday_rt.png":["textures/skies/winterskyday/winterskyday_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/winterskyday/winterskyday_up.png":["textures/skies/winterskyday/winterskyday_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/a.hbioderm_512.png":["textures/skins/a.hbioderm_512.png",["skins.vl2"]],"textures/skins/a.hrobot_512.png":["textures/skins/a.hrobot_512.png",["skins.vl2"]],"textures/skins/a.lbioderm_512.png":["textures/skins/a.lbioderm_512.png",["skins.vl2"]],"textures/skins/a.lrobot_512.png":["textures/skins/a.lrobot_512.png",["skins.vl2"]],"textures/skins/a.mbioderm_512.png":["textures/skins/a.mbioderm_512.png",["skins.vl2"]],"textures/skins/a.mrobot_512.png":["textures/skins/a.mrobot_512.png",["skins.vl2"]],"textures/skins/a7branch1.png":["textures/skins/A7branch1.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/a7trunk2.png":["textures/skins/A7trunk2.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/agaritafall.png":["textures/skins/AgaritaFall.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/alienfirxbase2.png":["textures/skins/alienfirxbase2.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/ammo_chaingun.png":["textures/skins/ammo_chaingun.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/ammo_disc.png":["textures/skins/ammo_disc.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/ammo_grenade.png":["textures/skins/ammo_grenade.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/ammo_mine.png":["textures/skins/ammo_mine.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/ammo_mortar.png":["textures/skins/ammo_mortar.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/ammo_plasma.png":["textures/skins/ammo_plasma.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/armor.damage.1.png":["textures/skins/armor.damage.1.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/armor.damage.2.png":["textures/skins/armor.damage.2.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/armor.damage.3.png":["textures/skins/armor.damage.3.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/artists.plaque.png":["textures/skins/artists.plaque.png",["skins.vl2"]],"textures/skins/b.hbioderm_512.png":["textures/skins/b.hbioderm_512.png",["skins.vl2"]],"textures/skins/b.hrobot_512.png":["textures/skins/b.hrobot_512.png",["skins.vl2"]],"textures/skins/b.lbioderm_512.png":["textures/skins/b.lbioderm_512.png",["skins.vl2"]],"textures/skins/b.lrobot_512.png":["textures/skins/b.lrobot_512.png",["skins.vl2"]],"textures/skins/b.mbioderm_512.png":["textures/skins/b.mbioderm_512.png",["skins.vl2"]],"textures/skins/b.mrobot_512.png":["textures/skins/b.mrobot_512.png",["skins.vl2"]],"textures/skins/banner_honor.png":["textures/skins/banner_honor.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/banner_strength.png":["textures/skins/banner_strength.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/banner_unity.png":["textures/skins/banner_unity.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/barrel_aa_large.png":["textures/skins/barrel_aa_large.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/barrel_elf_large.png":["textures/skins/barrel_elf_large.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/barrel_fusion_large.png":["textures/skins/barrel_fusion_large.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/barrel_missile_large.png":["textures/skins/barrel_missile_large.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/barrel_mortar_large.png":["textures/skins/barrel_mortar_large.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/barrelmount.png":["textures/skins/barrelMount.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/barrensticksfall.png":["textures/skins/BarrenSticksFall.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/base.flag.png":["textures/skins/base.flag.png",["skins.vl2"],["yHDTextures2.0.vl2"],["z_textures/zflags.vl2"]],"textures/skins/base.hbioderm.png":["textures/skins/base.hbioderm.png",["skins.vl2"]],"textures/skins/base.hbioderm_512.png":["textures/skins/base.hbioderm_512.png",["skins.vl2"]],"textures/skins/base.hflag.png":["textures/skins/base.hflag.png",["skins.vl2"],["yHDTextures2.0.vl2"],["z_textures/zflags.vl2"]],"textures/skins/base.hmale.png":["textures/skins/base.hmale.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/base.lbioderm.png":["textures/skins/base.lbioderm.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/base.lbioderm_512.png":["textures/skins/base.lbioderm_512.png",["skins.vl2"]],"textures/skins/base.lfemale.png":["textures/skins/base.lfemale.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/base.lmale.png":["textures/skins/base.lmale.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/base.mbioderm.png":["textures/skins/base.mbioderm.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/base.mbioderm_512.png":["textures/skins/base.mbioderm_512.png",["skins.vl2"]],"textures/skins/base.mfemale.png":["textures/skins/base.mfemale.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/base.mmale.png":["textures/skins/base.mmale.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/base.switch.png":["textures/skins/base.switch.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/baseb.flag.png":["textures/skins/baseb.flag.png",["skins.vl2"],["yHDTextures2.0.vl2"],["z_textures/zflags.vl2"]],"textures/skins/baseb.hbioderm.png":["textures/skins/baseb.hbioderm.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/baseb.hmale.png":["textures/skins/baseb.hmale.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/baseb.lbioderm.png":["textures/skins/baseb.lbioderm.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/baseb.lfemale.png":["textures/skins/baseb.lfemale.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/baseb.lmale.png":["textures/skins/baseb.lmale.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/baseb.mbioderm.png":["textures/skins/baseb.mbioderm.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/baseb.mfemale.png":["textures/skins/baseb.mfemale.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/baseb.mmale.png":["textures/skins/baseb.mmale.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/baseb.switch.png":["textures/skins/baseb.switch.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/basebbot.hmale.png":["textures/skins/basebbot.hmale.png",["skins.vl2"]],"textures/skins/basebbot.lmale.png":["textures/skins/basebbot.lmale.png",["skins.vl2"]],"textures/skins/basebbot.mmale.png":["textures/skins/basebbot.mmale.png",["skins.vl2"]],"textures/skins/basebot.hmale.png":["textures/skins/basebot.hmale.png",["skins.vl2"]],"textures/skins/basebot.lmale.png":["textures/skins/basebot.lmale.png",["skins.vl2"]],"textures/skins/basebot.mmale.png":["textures/skins/basebot.mmale.png",["skins.vl2"]],"textures/skins/bb_bark.png":["textures/skins/bb_bark.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/skins/bb_bark2.png":["textures/skins/bb_bark2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/skins/bb_beechleaf.png":["textures/skins/bb_beechleaf.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/skins/bb_bigleaf.png":["textures/skins/bb_bigleaf.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/skins/bb_bush.png":["textures/skins/bb_bush.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/skins/bb_jnigraleaf.png":["textures/skins/bb_jnigraleaf.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/skins/bb_palmleaf.png":["textures/skins/bb_palmleaf.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/skins/bb_screen.png":["textures/skins/bb_screen.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/skins/bb_stripeleaf.png":["textures/skins/bb_stripeleaf.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/skins/bb_tree1_foliage2.png":["textures/skins/bb_tree1_foliage2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/skins/bb_tree1_side.png":["textures/skins/bb_tree1_side.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/skins/bb_tree2_foliage2.png":["textures/skins/bb_tree2_foliage2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/skins/bb_tree2_side.png":["textures/skins/bb_tree2_side.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/skins/bb_trunk.png":["textures/skins/bb_trunk.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/skins/bberryfall.png":["textures/skins/BBerryFall.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/beacon.png":["textures/skins/beacon.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/beagle.flag.png":["textures/skins/beagle.flag.png",["skins.vl2"],["yHDTextures2.0.vl2"],["z_textures/zflags.vl2"]],"textures/skins/beagle.hmale.png":["textures/skins/beagle.hmale.png",["skins.vl2"]],"textures/skins/beagle.hmale_512.png":["textures/skins/beagle.hmale_512.png",["skins.vl2"]],"textures/skins/beagle.lfemale.png":["textures/skins/beagle.lfemale.png",["skins.vl2"]],"textures/skins/beagle.lfemale_512.png":["textures/skins/beagle.lfemale_512.png",["skins.vl2"]],"textures/skins/beagle.lmale.png":["textures/skins/beagle.lmale.png",["skins.vl2"]],"textures/skins/beagle.lmale_512.png":["textures/skins/beagle.lmale_512.png",["skins.vl2"]],"textures/skins/beagle.mfemale.png":["textures/skins/beagle.mfemale.png",["skins.vl2"]],"textures/skins/beagle.mfemale_512.png":["textures/skins/beagle.mfemale_512.png",["skins.vl2"]],"textures/skins/beagle.mmale.png":["textures/skins/beagle.mmale.png",["skins.vl2"]],"textures/skins/beagle.mmale_512.png":["textures/skins/beagle.mmale_512.png",["skins.vl2"]],"textures/skins/beagle.switch.png":["textures/skins/beagle.switch.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/beampulse.png":["textures/skins/beampulse.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/bigdevdawg.plaque.png":["textures/skins/bigdevdawg.plaque.png",["skins.vl2"]],"textures/skins/billboard_1.png":["textures/skins/billboard_1.png",["TR2final105-client.vl2"]],"textures/skins/billboard_2.png":["textures/skins/billboard_2.png",["TR2final105-client.vl2"]],"textures/skins/billboard_3.png":["textures/skins/billboard_3.png",["TR2final105-client.vl2"]],"textures/skins/billboard_4.png":["textures/skins/billboard_4.png",["TR2final105-client.vl2"]],"textures/skins/blank.switch.png":["textures/skins/blank.switch.png",["skins.vl2"]],"textures/skins/blite00.png":["textures/skins/blite00.png",["skins.vl2"]],"textures/skins/blite01.png":["textures/skins/blite01.PNG",["skins.vl2"]],"textures/skins/blite02.png":["textures/skins/blite02.png",["skins.vl2"]],"textures/skins/blite03.png":["textures/skins/blite03.png",["skins.vl2"]],"textures/skins/blite04.png":["textures/skins/blite04.png",["skins.vl2"]],"textures/skins/blue.hflag.png":["textures/skins/Blue.hflag.png",["skins.vl2"],["yHDTextures2.0.vl2"],["z_textures/zflags.vl2","textures/skins/blue.hflag.png"]],"textures/skins/blue.hmale.png":["textures/skins/Blue.hmale.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/blue.lfemale.png":["textures/skins/Blue.lfemale.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/blue.lmale.png":["textures/skins/Blue.lmale.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/blue.mfemale.png":["textures/skins/Blue.mfemale.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/blue.mmale.png":["textures/skins/Blue.mmale.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/blue.png":["textures/skins/blue.png",["skins.vl2"]],"textures/skins/blue00.ifl":["textures/skins/blue00.ifl",["skins.vl2"]],"textures/skins/blue00.png":["textures/skins/blue00.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/blue01.png":["textures/skins/blue01.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/blue02.png":["textures/skins/blue02.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/blue03.png":["textures/skins/blue03.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/blue04.png":["textures/skins/blue04.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/blue_blink.ifl":["textures/skins/blue_blink.ifl",["skins.vl2"]],"textures/skins/blue_blink0.ifl":["textures/skins/blue_blink0.ifl",["skins.vl2"]],"textures/skins/blue_blink0.png":["textures/skins/blue_blink0.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/blue_blink1.png":["textures/skins/blue_blink1.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/blue_blink2.png":["textures/skins/blue_blink2.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/blue_blink2.png"]],"textures/skins/blue_blink3.png":["textures/skins/blue_blink3.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/blue_blink3.png"]],"textures/skins/blue_blink4.png":["textures/skins/blue_blink4.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/blue_blink4.png"]],"textures/skins/borg1.png":["textures/skins/borg1.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/borg2.png":["textures/skins/borg2.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/borg4.png":["textures/skins/borg4.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/borg6.png":["textures/skins/borg6.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/branch3.png":["textures/skins/Branch3.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/branch4.png":["textures/skins/Branch4.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/branch5.png":["textures/skins/Branch5.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/branch6.png":["textures/skins/Branch6.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/branch7.png":["textures/skins/Branch7.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/brsh5.png":["textures/skins/brsh5.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/brush.png":["textures/skins/brush.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/bullethole1.png":["textures/skins/bullethole1.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/bullethole2.png":["textures/skins/bullethole2.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/bullethole3.png":["textures/skins/bullethole3.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/bullethole4.png":["textures/skins/bullethole4.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/bullethole5.png":["textures/skins/bullethole5.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/bullethole6.png":["textures/skins/bullethole6.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/burntwood.png":["textures/skins/Burntwood.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/burntwoodbranch.png":["textures/skins/BurntwoodBranch.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/cactus.png":["textures/skins/cactus.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/camera.png":["textures/skins/camera.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/chaingun_shot_end.png":["textures/skins/chaingun_shot_end.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/chaingun_shot_side.png":["textures/skins/chaingun_shot_side.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/chg_fmzl.png":["textures/skins/chg_fmzl.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/chg_smzl.png":["textures/skins/chg_smzl.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/chgexhaust.ifl":["textures/skins/chgexhaust.ifl",["skins.vl2"]],"textures/skins/chkberrywinter.png":["textures/skins/ChkBerryWinter.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/cloak_core.ifl":["textures/skins/cloak_core.ifl",["skins.vl2"]],"textures/skins/cloak_core0000.png":["textures/skins/cloak_core0000.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/cloak_core0001.png":["textures/skins/cloak_core0001.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/cloak_core0002.png":["textures/skins/cloak_core0002.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/cloak_core0003.png":["textures/skins/cloak_core0003.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/cloak_core0004.png":["textures/skins/cloak_core0004.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/cloak_core0005.png":["textures/skins/cloak_core0005.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/cloak_core0006.png":["textures/skins/cloak_core0006.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/cloak_core0007.png":["textures/skins/cloak_core0007.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/cloak_core0008.png":["textures/skins/cloak_core0008.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/cloak_core0009.png":["textures/skins/cloak_core0009.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/cloak_core0010.png":["textures/skins/cloak_core0010.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/cloak_core0011.png":["textures/skins/cloak_core0011.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/cloak_core0012.png":["textures/skins/cloak_core0012.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/cloak_core0013.png":["textures/skins/cloak_core0013.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/cloak_core0014.png":["textures/skins/cloak_core0014.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/cloak_core0015.png":["textures/skins/cloak_core0015.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/cloak_core0016.png":["textures/skins/cloak_core0016.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/cloak_core0017.png":["textures/skins/cloak_core0017.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/cloak_core0018.png":["textures/skins/cloak_core0018.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/cloak_core0019.png":["textures/skins/cloak_core0019.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/cotp.flag.png":["textures/skins/cotp.flag.png",["skins.vl2"],["yHDTextures2.0.vl2"],["z_textures/zflags.vl2"]],"textures/skins/cotp.hmale.png":["textures/skins/cotp.hmale.png",["skins.vl2"]],"textures/skins/cotp.lfemale.png":["textures/skins/cotp.lfemale.png",["skins.vl2"]],"textures/skins/cotp.lmale.png":["textures/skins/cotp.lmale.png",["skins.vl2"]],"textures/skins/cotp.mfemale.png":["textures/skins/cotp.mfemale.png",["skins.vl2"]],"textures/skins/cotp.mmale.png":["textures/skins/cotp.mmale.png",["skins.vl2"]],"textures/skins/cotp.switch.png":["textures/skins/cotp.switch.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/cotp_hmale_512.png":["textures/skins/cotp_hmale_512.png",["skins.vl2"]],"textures/skins/cotp_lfemale_512.png":["textures/skins/cotp_lfemale_512.png",["skins.vl2"]],"textures/skins/cotp_lmale_512.png":["textures/skins/cotp_lmale_512.png",["skins.vl2"]],"textures/skins/cotp_mfemale_512.png":["textures/skins/cotp_mfemale_512.png",["skins.vl2"]],"textures/skins/cotp_mmale_512.png":["textures/skins/cotp_mmale_512.png",["skins.vl2"]],"textures/skins/dcase00.ifl":["textures/skins/dcase00.ifl",["skins.vl2"]],"textures/skins/dcase00.png":["textures/skins/dcase00.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/dcase00.png"]],"textures/skins/dcase01.png":["textures/skins/dcase01.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/dcase01.png"]],"textures/skins/dcase02.png":["textures/skins/dcase02.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/dcase02.png"]],"textures/skins/dcase03.png":["textures/skins/dcase03.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/dcase03.png"]],"textures/skins/dcase04.png":["textures/skins/dcase04.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/dcase04.png"]],"textures/skins/dcase05.png":["textures/skins/dcase05.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/dcase05.png"]],"textures/skins/deb01.ifl":["textures/skins/deb01.ifl",["skins.vl2"]],"textures/skins/deb01.png":["textures/skins/deb01.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/deb02.png":["textures/skins/deb02.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/deb03.png":["textures/skins/deb03.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/deb04.png":["textures/skins/deb04.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/deb05.png":["textures/skins/deb05.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/deb06.png":["textures/skins/deb06.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/deb07.png":["textures/skins/deb07.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/deb08.png":["textures/skins/deb08.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/deb09.png":["textures/skins/deb09.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/deb10.png":["textures/skins/deb10.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/deb11.png":["textures/skins/deb11.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/deb12.png":["textures/skins/deb12.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/deb13.png":["textures/skins/deb13.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/deb14.png":["textures/skins/deb14.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/deb15.png":["textures/skins/deb15.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/deb16.png":["textures/skins/deb16.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/deb17.png":["textures/skins/deb17.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/deb18.png":["textures/skins/deb18.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/deb19.png":["textures/skins/deb19.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/deb20.png":["textures/skins/deb20.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/deb21.png":["textures/skins/deb21.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/deb22.png":["textures/skins/deb22.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/deb23.png":["textures/skins/deb23.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/deb24.png":["textures/skins/deb24.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/deb25.png":["textures/skins/deb25.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/deb26.png":["textures/skins/deb26.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/deb27.png":["textures/skins/deb27.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/deb28.png":["textures/skins/deb28.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/deb29.png":["textures/skins/deb29.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/deb30.png":["textures/skins/deb30.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/deb31.png":["textures/skins/deb31.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/deb32.png":["textures/skins/deb32.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/deb33.png":["textures/skins/deb33.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/deb33.png"]],"textures/skins/deb34.png":["textures/skins/deb34.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/deb34.png"]],"textures/skins/decoy.plaque.png":["textures/skins/decoy.plaque.png",["skins.vl2"]],"textures/skins/deploy_inv_lite.ifl":["textures/skins/deploy_inv_lite.ifl",["skins.vl2"]],"textures/skins/deploy_inventory_1.png":["textures/skins/deploy_inventory_1.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/deploy_inventory_2.png":["textures/skins/deploy_inventory_2.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/deploy_sensor_pulse.png":["textures/skins/deploy_sensor_pulse.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/designers.plaque.png":["textures/skins/designers.plaque.png",["skins.vl2"]],"textures/skins/diamondback.plaque.png":["textures/skins/diamondback.plaque.png",["skins.vl2"]],"textures/skins/disc00.ifl":["textures/skins/disc00.ifl",["skins.vl2"]],"textures/skins/disc00.png":["textures/skins/disc00.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/disc00.png"]],"textures/skins/disc01.png":["textures/skins/disc01.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/disc01.png"]],"textures/skins/disc02.png":["textures/skins/disc02.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/disc02.png"]],"textures/skins/disc03.png":["textures/skins/disc03.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/disc03.png"]],"textures/skins/disc04.png":["textures/skins/disc04.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/disc04.png"]],"textures/skins/disc05.png":["textures/skins/disc05.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/disc05.png"]],"textures/skins/disc06.png":["textures/skins/disc06.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/disc06.png"]],"textures/skins/disc07.png":["textures/skins/disc07.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/disc07.png"]],"textures/skins/disc08.png":["textures/skins/disc08.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/disc08.png"]],"textures/skins/disc09.png":["textures/skins/disc09.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/disc09.png"]],"textures/skins/disc10.png":["textures/skins/disc10.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/disc10.png"]],"textures/skins/disc11.png":["textures/skins/disc11.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/disc11.png"]],"textures/skins/disc12.png":["textures/skins/disc12.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/disc12.png"]],"textures/skins/disc13.png":["textures/skins/disc13.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/disc13.png"]],"textures/skins/disc14.png":["textures/skins/disc14.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/disc14.png"]],"textures/skins/disc15.png":["textures/skins/disc15.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/disc15.png"]],"textures/skins/disc16.png":["textures/skins/disc16.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/disc16.png"]],"textures/skins/disc17.png":["textures/skins/disc17.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/disc17.png"]],"textures/skins/disc18.png":["textures/skins/disc18.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/disc18.png"]],"textures/skins/disc19.png":["textures/skins/disc19.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/disc19.png"]],"textures/skins/disc20.png":["textures/skins/disc20.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/disc20.png"]],"textures/skins/disc21.png":["textures/skins/disc21.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/disc21.png"]],"textures/skins/disc22.png":["textures/skins/disc22.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/disc22.png"]],"textures/skins/disc23.png":["textures/skins/disc23.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/disc23.png"]],"textures/skins/disc24.png":["textures/skins/disc24.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/disc24.png"]],"textures/skins/disc25.png":["textures/skins/disc25.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/disc25.png"]],"textures/skins/disc26.png":["textures/skins/disc26.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/disc26.png"]],"textures/skins/disc27.png":["textures/skins/disc27.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/disc27.png"]],"textures/skins/disc_muzzle.png":["textures/skins/disc_muzzle.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/discshield2.png":["textures/skins/discshield2.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/dox_stone.png":["textures/skins/dox_stone.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/skins/dox_wires.png":["textures/skins/dox_wires.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/skins/drawkward.plaque.png":["textures/skins/drawkward.plaque.png",["skins.vl2"]],"textures/skins/ds.hmale_512.png":["textures/skins/ds.hmale_512.png",["skins.vl2"]],"textures/skins/ds.lfemale_512.png":["textures/skins/ds.lfemale_512.png",["skins.vl2"]],"textures/skins/ds.lmale_512.png":["textures/skins/ds.lmale_512.png",["skins.vl2"]],"textures/skins/ds.mfemale_512.png":["textures/skins/ds.mfemale_512.png",["skins.vl2"]],"textures/skins/ds.mmale_512.png":["textures/skins/ds.mmale_512.png",["skins.vl2"]],"textures/skins/dsword.flag.png":["textures/skins/dsword.flag.png",["skins.vl2"],["yHDTextures2.0.vl2"],["z_textures/zflags.vl2"]],"textures/skins/dsword.hmale.png":["textures/skins/dsword.hmale.png",["skins.vl2"]],"textures/skins/dsword.lfemale.png":["textures/skins/dsword.lfemale.png",["skins.vl2"]],"textures/skins/dsword.lmale.png":["textures/skins/dsword.lmale.png",["skins.vl2"]],"textures/skins/dsword.mfemale.png":["textures/skins/dsword.mfemale.png",["skins.vl2"]],"textures/skins/dsword.mmale.png":["textures/skins/dsword.mmale.png",["skins.vl2"]],"textures/skins/dsword.switch.png":["textures/skins/dsword.switch.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/east.plaque.png":["textures/skins/east.plaque.png",["skins.vl2"]],"textures/skins/ee_blueff.png":["textures/skins/ee_blueff.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/skins/ee_fft2logodown.png":["textures/skins/ee_fft2logodown.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/skins/ee_fft2logoup.png":["textures/skins/ee_fft2logoup.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/skins/ee_playt2.png":["textures/skins/ee_playt2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/skins/energy_blast.png":["textures/skins/energy_blast.PNG",["skins.vl2"]],"textures/skins/energy_blue_blink.ifl":["textures/skins/energy_blue_blink.ifl",["skins.vl2"]],"textures/skins/energy_bolt.png":["textures/skins/energy_bolt.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/energy_bolt_aura.png":["textures/skins/energy_bolt_aura.png",["skins.vl2"]],"textures/skins/energy_bolt_front.png":["textures/skins/energy_bolt_front.png",["skins.vl2"]],"textures/skins/energy_muzzle00.ifl":["textures/skins/energy_muzzle00.ifl",["skins.vl2"]],"textures/skins/energy_side_muzzle00.ifl":["textures/skins/energy_side_muzzle00.ifl",["skins.vl2"]],"textures/skins/energyb01.ifl":["textures/skins/energyb01.ifl",["skins.vl2"]],"textures/skins/energyb01.png":["textures/skins/energyb01.png",["skins.vl2"]],"textures/skins/energyb02.png":["textures/skins/energyb02.png",["skins.vl2"]],"textures/skins/energyb03.png":["textures/skins/energyb03.png",["skins.vl2"]],"textures/skins/energyb04.png":["textures/skins/energyb04.png",["skins.vl2"]],"textures/skins/energyb05.png":["textures/skins/energyb05.png",["skins.vl2"]],"textures/skins/energydis0000.ifl":["textures/skins/energydis0000.ifl",["skins.vl2"]],"textures/skins/energydis0000.png":["textures/skins/energydis0000.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/energydis0001.png":["textures/skins/energydis0001.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/energydis0002.png":["textures/skins/energydis0002.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/energydis0003.png":["textures/skins/energydis0003.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/energydis0004.png":["textures/skins/energydis0004.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/energydis0005.png":["textures/skins/energydis0005.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrg_frnt_muzl00.png":["textures/skins/enrg_frnt_muzl00.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrg_frnt_muzl01.png":["textures/skins/enrg_frnt_muzl01.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrg_frnt_muzl02.png":["textures/skins/enrg_frnt_muzl02.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrg_frnt_muzl03.png":["textures/skins/enrg_frnt_muzl03.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrg_frnt_muzl04.png":["textures/skins/enrg_frnt_muzl04.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrg_frnt_muzl05.png":["textures/skins/enrg_frnt_muzl05.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrg_frnt_muzl06.png":["textures/skins/enrg_frnt_muzl06.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrg_frnt_muzl07.png":["textures/skins/enrg_frnt_muzl07.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrg_side_muzl00.png":["textures/skins/enrg_side_muzl00.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrg_side_muzl01.png":["textures/skins/enrg_side_muzl01.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrg_side_muzl02.png":["textures/skins/enrg_side_muzl02.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrg_side_muzl03.png":["textures/skins/enrg_side_muzl03.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrg_side_muzl04.png":["textures/skins/enrg_side_muzl04.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrg_side_muzl05.png":["textures/skins/enrg_side_muzl05.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrg_side_muzl06.png":["textures/skins/enrg_side_muzl06.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrg_side_muzl07.png":["textures/skins/enrg_side_muzl07.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrgcore0000.png":["textures/skins/enrgcore0000.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrgcore0001.png":["textures/skins/enrgcore0001.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrgcore0002.png":["textures/skins/enrgcore0002.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrgcore0003.png":["textures/skins/enrgcore0003.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrgcore0004.png":["textures/skins/enrgcore0004.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrgcore0005.png":["textures/skins/enrgcore0005.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrgcore0006.png":["textures/skins/enrgcore0006.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrgcore0007.png":["textures/skins/enrgcore0007.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrgcore0008.png":["textures/skins/enrgcore0008.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrgcore0009.png":["textures/skins/enrgcore0009.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrgpack_core.ifl":["textures/skins/enrgpack_core.ifl",["skins.vl2"]],"textures/skins/enrgpack_tubes.ifl":["textures/skins/enrgpack_tubes.ifl",["skins.vl2"]],"textures/skins/enrgtubes0000.png":["textures/skins/Enrgtubes0000.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrgtubes0001.png":["textures/skins/Enrgtubes0001.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrgtubes0002.png":["textures/skins/Enrgtubes0002.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrgtubes0003.png":["textures/skins/Enrgtubes0003.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrgtubes0004.png":["textures/skins/Enrgtubes0004.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrgtubes0005.png":["textures/skins/Enrgtubes0005.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrgtubes0006.png":["textures/skins/Enrgtubes0006.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrgtubes0007.png":["textures/skins/Enrgtubes0007.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrgtubes0008.png":["textures/skins/Enrgtubes0008.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrgtubes0009.png":["textures/skins/Enrgtubes0009.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/etcmodel02.plaque.png":["textures/skins/etcmodel02.plaque.png",["skins.vl2"]],"textures/skins/flag.png":["textures/skins/flag.png",["skins.vl2"],["yHDTextures2.0.vl2"],["z_textures/zflags.vl2"]],"textures/skins/flaglight1.ifl":["textures/skins/flaglight1.ifl",["skins.vl2"]],"textures/skins/flaglight1.png":["textures/skins/flaglight1.png",["skins.vl2"]],"textures/skins/flaglight2.png":["textures/skins/flaglight2.png",["skins.vl2"]],"textures/skins/flaglight3.png":["textures/skins/flaglight3.png",["skins.vl2"]],"textures/skins/flaglight4.png":["textures/skins/flaglight4.png",["skins.vl2"]],"textures/skins/flaglight5.png":["textures/skins/flaglight5.png",["skins.vl2"]],"textures/skins/flaregreen.png":["textures/skins/flaregreen.png",["skins.vl2"]],"textures/skins/flarewhite.png":["textures/skins/flarewhite.PNG",["skins.vl2"]],"textures/skins/flyerflame1.png":["textures/skins/flyerflame1.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/forcef1.png":["textures/skins/forcef1.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/forcef2.png":["textures/skins/forcef2.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/forcef3.png":["textures/skins/forcef3.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/forcef4.png":["textures/skins/forcef4.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/forcef5.png":["textures/skins/forcef5.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/forcefield_electric.ifl":["textures/skins/forcefield_electric.ifl",["skins.vl2"]],"textures/skins/forcefield_electric0.png":["textures/skins/forcefield_electric0.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/forcefield_electric1.png":["textures/skins/forcefield_electric1.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/forcefield_electric2.png":["textures/skins/forcefield_electric2.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/forcefield_electric3.png":["textures/skins/forcefield_electric3.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/forcefield_electric4.png":["textures/skins/forcefield_electric4.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/forcefield_electric5.png":["textures/skins/forcefield_electric5.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/forcefield_grn.ifl":["textures/skins/forcefield_grn.ifl",["skins.vl2"]],"textures/skins/forcefield_grn.png":["textures/skins/forcefield_grn.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/forcefield_grn1.png":["textures/skins/forcefield_grn1.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/forcefield_grn2.png":["textures/skins/forcefield_grn2.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/forcefield_grn3.png":["textures/skins/forcefield_grn3.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/forcefield_grn4.png":["textures/skins/forcefield_grn4.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/forcefield_grn5.png":["textures/skins/forcefield_grn5.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/frankrizzo.plaque.png":["textures/skins/frankrizzo.plaque.png",["skins.vl2"]],"textures/skins/generator.png":["textures/skins/generator.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/generic_scorch.png":["textures/skins/generic_scorch.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/glow_red.png":["textures/skins/glow_red.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/goal_back.png":["textures/skins/goal_back.png",["TR2final105-client.vl2"]],"textures/skins/goal_panel.png":["textures/skins/goal_panel.png",["TR2final105-client.vl2"]],"textures/skins/goal_side.png":["textures/skins/goal_side.png",["TR2final105-client.vl2"]],"textures/skins/goal_top.png":["textures/skins/goal_top.png",["TR2final105-client.vl2"]],"textures/skins/gold_goal_back.png":["textures/skins/gold_goal_back.png",["TR2final105-client.vl2"]],"textures/skins/gold_goal_side.png":["textures/skins/gold_goal_side.png",["TR2final105-client.vl2"]],"textures/skins/gold_goal_top.png":["textures/skins/gold_goal_top.png",["TR2final105-client.vl2"]],"textures/skins/gold_post.png":["textures/skins/gold_post.png",["TR2final105-client.vl2"]],"textures/skins/goldcube.png":["textures/skins/goldcube.png",["TR2final105-client.vl2"]],"textures/skins/gotmilk.plaque.png":["textures/skins/gotmilk.plaque.png",["skins.vl2"]],"textures/skins/green.hflag.png":["textures/skins/Green.hflag.png",["skins.vl2"],["yHDTextures2.0.vl2"],["z_textures/zflags.vl2","textures/skins/green.hflag.png"]],"textures/skins/green.hmale.png":["textures/skins/Green.hmale.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/green.lfemale.png":["textures/skins/Green.lfemale.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/green.lmale.png":["textures/skins/Green.lmale.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/green.mfemale.png":["textures/skins/Green.mfemale.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/green.mmale.png":["textures/skins/Green.mmale.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/green00.ifl":["textures/skins/green00.ifl",["skins.vl2"]],"textures/skins/green00.png":["textures/skins/green00.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/green01.png":["textures/skins/green01.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/green02.png":["textures/skins/green02.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/green03.png":["textures/skins/green03.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/green04.png":["textures/skins/green04.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/green_blink.ifl":["textures/skins/green_blink.ifl",["skins.vl2"]],"textures/skins/green_blink0.png":["textures/skins/green_blink0.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/green_blink1.png":["textures/skins/green_blink1.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/green_blink2.png":["textures/skins/green_blink2.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/green_blink3.png":["textures/skins/green_blink3.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/green_blink4.png":["textures/skins/green_blink4.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/greenlight.ifl":["textures/skins/greenlight.ifl",["skins.vl2"]],"textures/skins/greenmortar.ifl":["textures/skins/greenMortar.ifl",["skins.vl2"]],"textures/skins/grenade.png":["textures/skins/grenade.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/grenade_flare.png":["textures/skins/grenade_flare.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/grenade_flash.png":["textures/skins/grenade_flash.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/grenade_projectile.png":["textures/skins/grenade_projectile.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/hexabolic.plaque.png":["textures/skins/hexabolic.plaque.png",["skins.vl2"]],"textures/skins/horde.flag.png":["textures/skins/horde.flag.png",["skins.vl2"],["yHDTextures2.0.vl2"],["z_textures/zflags.vl2"]],"textures/skins/horde.hbioderm.png":["textures/skins/horde.hbioderm.png",["skins.vl2"]],"textures/skins/horde.lbioderm.png":["textures/skins/horde.lbioderm.png",["skins.vl2"]],"textures/skins/horde.mbioderm.png":["textures/skins/horde.mbioderm.png",["skins.vl2"]],"textures/skins/horde.switch.png":["textures/skins/horde.switch.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/horsenettlefall.png":["textures/skins/HorseNettleFall.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/hud_ret_bomber1.png":["textures/skins/hud_ret_bomber1.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/hud_ret_bomber2.png":["textures/skins/hud_ret_bomber2.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/hud_ret_bomber3.png":["textures/skins/hud_ret_bomber3.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/humnskn3.png":["textures/skins/Humnskn3.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/hunters.flag.png":["textures/skins/hunters.flag.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/hvybioflare.png":["textures/skins/hvybioflare.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/hvyjetpackflare.png":["textures/skins/hvyjetpackflare.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/jetflare00.ifl":["textures/skins/jetflare00.ifl",["skins.vl2"]],"textures/skins/jetflare00.png":["textures/skins/jetflare00.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/jetflare01.png":["textures/skins/jetflare01.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/jetflare02.png":["textures/skins/jetflare02.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/jetflare03.png":["textures/skins/jetflare03.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/jetflare04.png":["textures/skins/jetflare04.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/jetflare05.png":["textures/skins/jetflare05.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/jetflare2.png":["textures/skins/jetflare2.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/jetflareside00.ifl":["textures/skins/jetflareside00.ifl",["skins.vl2"]],"textures/skins/jetflareside00.png":["textures/skins/jetflareside00.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/jetflareside01.png":["textures/skins/jetflareside01.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/jetflareside02.png":["textures/skins/jetflareside02.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/jetflareside03.png":["textures/skins/jetflareside03.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/jetflareside04.png":["textures/skins/jetflareside04.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/jetflareside05.png":["textures/skins/jetflareside05.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/jetpack.png":["textures/skins/jetpack.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/jetpack_bio.png":["textures/skins/jetpack_bio.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/jetpackflare.png":["textures/skins/jetpackflare.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/jetpackflare_bio.png":["textures/skins/jetpackflare_bio.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/jets00.ifl":["textures/skins/jets00.ifl",["skins.vl2"]],"textures/skins/jets00.png":["textures/skins/jets00.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/jets01.png":["textures/skins/jets01.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/jets02.png":["textures/skins/jets02.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/jets03.png":["textures/skins/jets03.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/jets04.png":["textures/skins/jets04.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/jets05.png":["textures/skins/jets05.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/jett.plaque.png":["textures/skins/jett.plaque.png",["skins.vl2"]],"textures/skins/jetyellow.png":["textures/skins/jetyellow.png",["skins.vl2"]],"textures/skins/jimmy.plaque.png":["textures/skins/jimmy.plaque.png",["skins.vl2"]],"textures/skins/kidneythief.plaque.png":["textures/skins/kidneythief.plaque.png",["skins.vl2"]],"textures/skins/leaf_bunch2.png":["textures/skins/leaf_bunch2.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/leafydome.png":["textures/skins/leafydome.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/leafydome2.png":["textures/skins/leafydome2.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/light_blue_00.png":["textures/skins/light_blue_00.PNG",["skins.vl2"]],"textures/skins/light_blue_01.png":["textures/skins/light_blue_01.PNG",["skins.vl2"]],"textures/skins/light_blue_02.png":["textures/skins/light_blue_02.PNG",["skins.vl2"]],"textures/skins/light_blue_03.png":["textures/skins/light_blue_03.PNG",["skins.vl2"]],"textures/skins/light_blue_04.png":["textures/skins/light_blue_04.PNG",["skins.vl2"]],"textures/skins/light_blue_generator.ifl":["textures/skins/light_blue_generator.ifl",["skins.vl2"]],"textures/skins/light_green01.ifl":["textures/skins/light_green01.ifl",["skins.vl2"]],"textures/skins/light_green01.png":["textures/skins/light_green01.PNG",["skins.vl2"]],"textures/skins/light_green02.png":["textures/skins/light_green02.PNG",["skins.vl2"]],"textures/skins/light_green03.png":["textures/skins/light_green03.PNG",["skins.vl2"]],"textures/skins/light_green04.png":["textures/skins/light_green04.PNG",["skins.vl2"]],"textures/skins/light_green05.png":["textures/skins/light_green05.PNG",["skins.vl2"]],"textures/skins/light_green06.png":["textures/skins/light_green06.PNG",["skins.vl2"]],"textures/skins/light_red.ifl":["textures/skins/light_red.ifl",["skins.vl2"]],"textures/skins/light_red01.png":["textures/skins/light_red01.PNG",["skins.vl2"]],"textures/skins/light_red02.png":["textures/skins/light_red02.png",["skins.vl2"]],"textures/skins/light_red03.png":["textures/skins/light_red03.png",["skins.vl2"]],"textures/skins/light_red04.png":["textures/skins/light_red04.png",["skins.vl2"]],"textures/skins/light_red05.png":["textures/skins/light_red05.png",["skins.vl2"]],"textures/skins/light_red06.png":["textures/skins/light_red06.png",["skins.vl2"]],"textures/skins/light_red2.ifl":["textures/skins/light_red2.ifl",["skins.vl2"]],"textures/skins/light_red3.ifl":["textures/skins/light_red3.ifl",["skins.vl2"]],"textures/skins/lite_blue0.png":["textures/skins/lite_blue0.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/lite_blue1.png":["textures/skins/lite_blue1.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/lite_blue2.png":["textures/skins/lite_blue2.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/lite_blue3.png":["textures/skins/lite_blue3.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/lite_blue4.png":["textures/skins/lite_blue4.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/lite_fusturt.ifl":["textures/skins/lite_fusturt.ifl",["skins.vl2"]],"textures/skins/lite_fusturt01.ifl":["textures/skins/lite_fusturt01.ifl",["skins.vl2"]],"textures/skins/lite_green.ifl":["textures/skins/lite_green.ifl",["skins.vl2"]],"textures/skins/lite_green0.png":["textures/skins/lite_green0.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/lite_green1.png":["textures/skins/lite_green1.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/lite_green2.png":["textures/skins/lite_green2.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/lite_green3.png":["textures/skins/lite_green3.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/lite_green4.png":["textures/skins/lite_green4.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/lite_pack_cloak.ifl":["textures/skins/lite_pack_cloak.ifl",["skins.vl2"]],"textures/skins/lite_red.ifl":["textures/skins/lite_red.ifl",["skins.vl2"]],"textures/skins/lite_red0.png":["textures/skins/lite_red0.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/lite_red04.png":["textures/skins/lite_red04.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/lite_red1.png":["textures/skins/lite_red1.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/lite_red2.png":["textures/skins/lite_red2.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/lite_red3.png":["textures/skins/lite_red3.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/lite_red4.png":["textures/skins/lite_red4.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/lite_remoteturret.ifl":["textures/skins/lite_remoteTurret.ifl",["skins.vl2"]],"textures/skins/lite_rpu_pack01.ifl":["textures/skins/lite_rpu_pack01.ifl",["skins.vl2"]],"textures/skins/lite_rpu_pack02.ifl":["textures/skins/lite_rpu_pack02.ifl",["skins.vl2"]],"textures/skins/lite_sh_pack01.ifl":["textures/skins/lite_sh_pack01.ifl",["skins.vl2"]],"textures/skins/lite_sh_pack02.ifl":["textures/skins/lite_sh_pack02.ifl",["skins.vl2"]],"textures/skins/lite_turmiss.ifl":["textures/skins/lite_turmiss.ifl",["skins.vl2"]],"textures/skins/lite_turmort.ifl":["textures/skins/lite_turmort.ifl",["skins.vl2"]],"textures/skins/lushmoss.png":["textures/skins/LushMoss.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/madronebark.png":["textures/skins/MadroneBark.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/madronefall.png":["textures/skins/MadroneFall.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/madronefoliage.png":["textures/skins/MadroneFoliage.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/madronewinter.png":["textures/skins/MadroneWinter.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/maple shrub.png":["textures/skins/Maple Shrub.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/marineleaves.png":["textures/skins/marineleaves.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/marker.png":["textures/skins/marker.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/maximus.plaque.png":["textures/skins/maximus.plaque.png",["skins.vl2"]],"textures/skins/mesqbark.png":["textures/skins/MesqBark.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/mesquitebranch.png":["textures/skins/MesquiteBranch.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/mesquiteleaves.png":["textures/skins/MesquiteLeaves.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/mine.png":["textures/skins/mine.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/mine_anti_air.png":["textures/skins/mine_anti_air.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/mine_anti_land.png":["textures/skins/mine_anti_land.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/missile_flash.png":["textures/skins/missile_flash.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/missing.plaque.png":["textures/skins/missing.plaque.png",["skins.vl2"]],"textures/skins/mongo.plaque.png":["textures/skins/mongo.plaque.png",["skins.vl2"]],"textures/skins/mort000.ifl":["textures/skins/mort000.ifl",["skins.vl2"]],"textures/skins/mort000.png":["textures/skins/mort000.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/mort001.png":["textures/skins/mort001.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/mort002.png":["textures/skins/mort002.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/mort003.png":["textures/skins/mort003.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/mort004.png":["textures/skins/mort004.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/mort005.png":["textures/skins/mort005.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/mort006.png":["textures/skins/mort006.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/mort007.png":["textures/skins/mort007.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/mort008.png":["textures/skins/mort008.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/mort009.png":["textures/skins/mort009.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/mort010.png":["textures/skins/mort010.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/mort011.png":["textures/skins/mort011.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/mort012.png":["textures/skins/mort012.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/mort013.png":["textures/skins/mort013.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/mort014.png":["textures/skins/mort014.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/mort015.png":["textures/skins/mort015.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/mort016.png":["textures/skins/mort016.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/mort017.png":["textures/skins/mort017.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/mort018.png":["textures/skins/mort018.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/mort019.png":["textures/skins/mort019.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/mort020.png":["textures/skins/mort020.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/mort021.png":["textures/skins/mort021.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/mort022.png":["textures/skins/mort022.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/mort023.png":["textures/skins/mort023.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/mort024.png":["textures/skins/mort024.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/mort025.png":["textures/skins/mort025.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/mort026.png":["textures/skins/mort026.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/mort027.png":["textures/skins/mort027.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/mortar_projectile.png":["textures/skins/Mortar_Projectile.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/motionsensor.png":["textures/skins/MotionSensor.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/newedge00.ifl":["textures/skins/newedge00.ifl",["skins.vl2"]],"textures/skins/newedge00.png":["textures/skins/newedge00.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/newedge01.png":["textures/skins/newedge01.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/newedge02.png":["textures/skins/newedge02.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/newedge03.png":["textures/skins/newedge03.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/newedge04.png":["textures/skins/newedge04.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/newedge05.png":["textures/skins/newedge05.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/newmoss.png":["textures/skins/NewMoss.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/newmossfull.png":["textures/skins/NewMossFull.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexdefaultfloor.png":["textures/skins/NexDefaultFloor.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexg00.png":["textures/skins/nexg00.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexg01.png":["textures/skins/nexg01.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexg02.png":["textures/skins/nexg02.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexg03.png":["textures/skins/nexg03.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexg04.png":["textures/skins/nexg04.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexg05.png":["textures/skins/nexg05.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexg06.png":["textures/skins/nexg06.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexg07.png":["textures/skins/nexg07.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexg08.png":["textures/skins/nexg08.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexg09.png":["textures/skins/nexg09.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexg10.png":["textures/skins/nexg10.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexg11.png":["textures/skins/nexg11.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexg12.png":["textures/skins/nexg12.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexg13.png":["textures/skins/nexg13.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexg14.png":["textures/skins/nexg14.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexg15.png":["textures/skins/nexg15.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexgren.ifl":["textures/skins/nexgren.ifl",["skins.vl2"]],"textures/skins/nexgren02.ifl":["textures/skins/nexgren02.ifl",["skins.vl2"]],"textures/skins/nexhoardfloor.png":["textures/skins/NexHoardFloor.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexred.ifl":["textures/skins/nexred.ifl",["skins.vl2"]],"textures/skins/nexred00.png":["textures/skins/nexred00.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexred01.png":["textures/skins/nexred01.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexred02.ifl":["textures/skins/nexred02.ifl",["skins.vl2"]],"textures/skins/nexred02.png":["textures/skins/nexred02.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexred03.png":["textures/skins/nexred03.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexred04.png":["textures/skins/nexred04.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexred05.png":["textures/skins/nexred05.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexred06.png":["textures/skins/nexred06.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexred07.png":["textures/skins/nexred07.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexred08.png":["textures/skins/nexred08.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexred09.png":["textures/skins/nexred09.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexred10.png":["textures/skins/nexred10.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexred11.png":["textures/skins/nexred11.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexred12.png":["textures/skins/nexred12.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexred13.png":["textures/skins/nexred13.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexred14.png":["textures/skins/nexred14.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexred15.png":["textures/skins/nexred15.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexusgenerator.png":["textures/skins/NexusGenerator.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexuspowerlightson.png":["textures/skins/NexusPowerLightsON.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/noise.png":["textures/skins/noise.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/olddawg.plaque.png":["textures/skins/olddawg.plaque.png",["skins.vl2"]],"textures/skins/oldwood.png":["textures/skins/Oldwood.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/oldwoodbran01.png":["textures/skins/OldwoodBran01.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/oldwoodbranch.png":["textures/skins/OldwoodBranch.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/orange.hmale.png":["textures/skins/Orange.hmale.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/orange.ifl":["textures/skins/orange.ifl",["skins.vl2"]],"textures/skins/orange.lfemale.png":["textures/skins/Orange.lfemale.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/orange.lmale.png":["textures/skins/Orange.lmale.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/orange.mfemale.png":["textures/skins/Orange.mfemale.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/orange.mmale.png":["textures/skins/Orange.mmale.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/orange00.png":["textures/skins/orange00.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/orange01.png":["textures/skins/orange01.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/orange02.png":["textures/skins/orange02.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/orange03.png":["textures/skins/orange03.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/orange04.png":["textures/skins/orange04.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/orange05.png":["textures/skins/orange05.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/orange1.ifl":["textures/skins/orange1.ifl",["skins.vl2"]],"textures/skins/orphankazrak.plaque.png":["textures/skins/orphankazrak.plaque.png",["skins.vl2"]],"textures/skins/pack_ammo.png":["textures/skins/pack_ammo.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/pack_cloak.png":["textures/skins/pack_cloak.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/pack_cloak2.png":["textures/skins/pack_cloak2.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/pack_deploy_sensor_pulse.png":["textures/skins/pack_deploy_sensor_pulse.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/pack_energy.png":["textures/skins/pack_energy.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/pack_rep.ifl":["textures/skins/pack_rep.ifl",["skins.vl2"]],"textures/skins/pack_rep01.png":["textures/skins/pack_rep01.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/pack_rep02.png":["textures/skins/pack_rep02.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/pack_rep03.png":["textures/skins/pack_rep03.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/pack_rep04.png":["textures/skins/pack_rep04.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/pack_rep05.png":["textures/skins/pack_rep05.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/pack_rep2.ifl":["textures/skins/pack_rep2.ifl",["skins.vl2"]],"textures/skins/pack_rep_lite.png":["textures/skins/pack_rep_lite.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/pack_repair.png":["textures/skins/pack_repair.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/pack_senjam.png":["textures/skins/pack_senjam.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/pack_shield.png":["textures/skins/pack_shield.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/pack_u_c00.png":["textures/skins/pack_u_c00.png",["skins.vl2"]],"textures/skins/pack_u_c01.png":["textures/skins/pack_u_c01.png",["skins.vl2"]],"textures/skins/pack_u_c02.png":["textures/skins/pack_u_c02.png",["skins.vl2"]],"textures/skins/pack_u_c03.png":["textures/skins/pack_u_c03.png",["skins.vl2"]],"textures/skins/pack_u_c04.png":["textures/skins/pack_u_c04.png",["skins.vl2"]],"textures/skins/pack_u_e.ifl":["textures/skins/pack_u_e.ifl",["skins.vl2"]],"textures/skins/pack_u_e_lite.ifl":["textures/skins/pack_u_e_lite.ifl",["skins.vl2"]],"textures/skins/pack_u_e_lite00.png":["textures/skins/pack_u_e_lite00.png",["skins.vl2"]],"textures/skins/pack_u_e_lite01.png":["textures/skins/pack_u_e_lite01.png",["skins.vl2"]],"textures/skins/pack_u_e_lite02.png":["textures/skins/pack_u_e_lite02.png",["skins.vl2"]],"textures/skins/pack_u_e_lite03.png":["textures/skins/pack_u_e_lite03.png",["skins.vl2"]],"textures/skins/pack_u_e_lite04.png":["textures/skins/pack_u_e_lite04.png",["skins.vl2"]],"textures/skins/pack_u_e_lite05.png":["textures/skins/pack_u_e_lite05.png",["skins.vl2"]],"textures/skins/pack_u_e_lite06.png":["textures/skins/pack_u_e_lite06.png",["skins.vl2"]],"textures/skins/pack_upgrade_cloaking.png":["textures/skins/pack_upgrade_cloaking.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/pack_upgrade_energy.png":["textures/skins/pack_upgrade_energy.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/pack_upgrade_reflection.png":["textures/skins/pack_upgrade_reflection.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/pack_upgrade_repair.png":["textures/skins/pack_upgrade_repair.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/pack_upgrade_repulsor.png":["textures/skins/pack_upgrade_repulsor.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/pack_upgrade_satchel.png":["textures/skins/pack_upgrade_satchel.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/pack_upgrade_satchel2.png":["textures/skins/pack_upgrade_satchel2.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/pack_upgrade_shield.png":["textures/skins/pack_upgrade_shield.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plasma.ifl":["textures/skins/plasma.ifl",["skins.vl2"]],"textures/skins/plasma01.png":["textures/skins/plasma01.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plasma02.png":["textures/skins/plasma02.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plasma03.png":["textures/skins/plasma03.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plasma04.png":["textures/skins/plasma04.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plasma05.png":["textures/skins/plasma05.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plasma06.png":["textures/skins/plasma06.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plasma07.png":["textures/skins/plasma07.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plasma08.png":["textures/skins/plasma08.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plasma09.png":["textures/skins/plasma09.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plasma10.png":["textures/skins/plasma10.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plasma_ammo.ifl":["textures/skins/plasma_ammo.ifl",["skins.vl2"]],"textures/skins/plasma_exhaust.ifl":["textures/skins/plasma_exhaust.ifl",["skins.vl2"]],"textures/skins/plasma_muzzle.png":["textures/skins/plasma_muzzle.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plasmaturret.ifl":["textures/skins/plasmaTurret.ifl",["skins.vl2"]],"textures/skins/plex00.png":["textures/skins/plex00.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plex01.png":["textures/skins/plex01.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plex02.png":["textures/skins/plex02.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plex03.png":["textures/skins/plex03.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plex04.png":["textures/skins/plex04.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plex05.png":["textures/skins/plex05.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plex06.png":["textures/skins/plex06.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plex07.png":["textures/skins/plex07.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plex08.png":["textures/skins/plex08.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plex09.png":["textures/skins/plex09.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plex10.png":["textures/skins/plex10.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plex11.png":["textures/skins/plex11.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plex12.png":["textures/skins/plex12.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plex13.png":["textures/skins/plex13.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plex14.png":["textures/skins/plex14.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plex15.png":["textures/skins/plex15.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plex16.png":["textures/skins/plex16.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plex17.png":["textures/skins/plex17.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plex18.png":["textures/skins/plex18.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plex19.png":["textures/skins/plex19.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plex20.png":["textures/skins/plex20.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plex21.png":["textures/skins/plex21.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plex22.png":["textures/skins/plex22.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plex23.png":["textures/skins/plex23.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plrec00.ifl":["textures/skins/plrec00.ifl",["skins.vl2"]],"textures/skins/plrec00.png":["textures/skins/plrec00.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plrec01.png":["textures/skins/plrec01.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plrec02.png":["textures/skins/plrec02.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plrec03.png":["textures/skins/plrec03.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plrec04.png":["textures/skins/plrec04.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plrec05.png":["textures/skins/plrec05.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plrec06.png":["textures/skins/plrec06.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plrec07.png":["textures/skins/plrec07.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam00.ifl":["textures/skins/plsam00.ifl",["skins.vl2"]],"textures/skins/plsam00.png":["textures/skins/plsam00.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam01.png":["textures/skins/plsam01.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam02.png":["textures/skins/plsam02.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam03.png":["textures/skins/plsam03.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam04.png":["textures/skins/plsam04.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam05.png":["textures/skins/plsam05.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam06.png":["textures/skins/plsam06.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam07.png":["textures/skins/plsam07.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam08.png":["textures/skins/plsam08.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam09.png":["textures/skins/plsam09.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam0a.ifl":["textures/skins/plsam0a.ifl",["skins.vl2"]],"textures/skins/plsam10.png":["textures/skins/plsam10.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam11.png":["textures/skins/plsam11.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam12.png":["textures/skins/plsam12.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam13.png":["textures/skins/plsam13.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam14.png":["textures/skins/plsam14.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam15.png":["textures/skins/plsam15.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam16.png":["textures/skins/plsam16.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam17.png":["textures/skins/plsam17.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam18.png":["textures/skins/plsam18.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam19.png":["textures/skins/plsam19.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam20.png":["textures/skins/plsam20.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam21.png":["textures/skins/plsam21.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam22.png":["textures/skins/plsam22.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam23.png":["textures/skins/plsam23.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam24.png":["textures/skins/plsam24.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam25.png":["textures/skins/plsam25.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam26.png":["textures/skins/plsam26.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam27.png":["textures/skins/plsam27.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam28.png":["textures/skins/plsam28.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam29.png":["textures/skins/plsam29.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam30.png":["textures/skins/plsam30.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam31.png":["textures/skins/plsam31.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam32.png":["textures/skins/plsam32.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam33.png":["textures/skins/plsam33.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam34.png":["textures/skins/plsam34.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam35.png":["textures/skins/plsam35.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam36.png":["textures/skins/plsam36.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam37.png":["textures/skins/plsam37.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam38.png":["textures/skins/plsam38.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam39.png":["textures/skins/plsam39.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam40.png":["textures/skins/plsam40.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsamagun.ifl":["textures/skins/plsamagun.ifl",["skins.vl2"]],"textures/skins/plsmabolt01.ifl":["textures/skins/plsmabolt01.ifl",["skins.vl2"]],"textures/skins/plsmabolt01.png":["textures/skins/plsmabolt01.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsmabolt02.png":["textures/skins/plsmabolt02.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsmabolt03.png":["textures/skins/plsmabolt03.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsmabolt04.png":["textures/skins/plsmabolt04.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsmabolt05.png":["textures/skins/plsmabolt05.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsmabolt06.png":["textures/skins/plsmabolt06.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsmabolt07.png":["textures/skins/plsmabolt07.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsmabolt08.png":["textures/skins/plsmabolt08.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsmabolt09.png":["textures/skins/plsmabolt09.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsmabolt10.png":["textures/skins/plsmabolt10.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsre.ifl":["textures/skins/plsre.ifl",["skins.vl2"]],"textures/skins/plsre00.png":["textures/skins/Plsre00.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsre01.png":["textures/skins/Plsre01.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsre02.png":["textures/skins/Plsre02.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsre03.png":["textures/skins/Plsre03.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsre04.png":["textures/skins/Plsre04.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsre05.png":["textures/skins/Plsre05.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsre06.png":["textures/skins/Plsre06.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsre07.png":["textures/skins/Plsre07.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsre08.png":["textures/skins/Plsre08.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsre09.png":["textures/skins/Plsre09.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsre10.png":["textures/skins/Plsre10.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsre11.png":["textures/skins/Plsre11.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsre12.png":["textures/skins/Plsre12.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsre13.png":["textures/skins/Plsre13.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsre14.png":["textures/skins/Plsre14.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsre15.png":["textures/skins/Plsre15.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsre16.png":["textures/skins/Plsre16.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsre17.png":["textures/skins/Plsre17.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsre18.png":["textures/skins/Plsre18.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsre19.png":["textures/skins/Plsre19.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsre20.png":["textures/skins/Plsre20.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsre21.png":["textures/skins/Plsre21.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsre22.png":["textures/skins/Plsre22.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plstur0a.ifl":["textures/skins/plsTur0a.ifl",["skins.vl2"]],"textures/skins/pod1.png":["textures/skins/pod1.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/ponderosapinebark.png":["textures/skins/PonderosaPineBark.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/porg2.png":["textures/skins/porg2.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/porg4.png":["textures/skins/porg4.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/programmers1.plaque.png":["textures/skins/programmers1.plaque.png",["skins.vl2"]],"textures/skins/programmers2.plaque.png":["textures/skins/programmers2.plaque.png",["skins.vl2"]],"textures/skins/pulse00.png":["textures/skins/Pulse00.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/pulse01.png":["textures/skins/Pulse01.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/pulse02.png":["textures/skins/Pulse02.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/pulse03.png":["textures/skins/Pulse03.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/pulse04.png":["textures/skins/Pulse04.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/pulse05.png":["textures/skins/Pulse05.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/pulse06.png":["textures/skins/Pulse06.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/pulse07.png":["textures/skins/Pulse07.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/pulse08.png":["textures/skins/Pulse08.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/purple.hmale.png":["textures/skins/Purple.hmale.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/purple.lfemale.png":["textures/skins/Purple.lfemale.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/purple.lmale.png":["textures/skins/Purple.lmale.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/purple.mfemale.png":["textures/skins/Purple.mfemale.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/purple.mmale.png":["textures/skins/Purple.mmale.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/purple00.ifl":["textures/skins/purple00.ifl",["skins.vl2"]],"textures/skins/purple00.png":["textures/skins/purple00.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/purple01.png":["textures/skins/purple01.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/purple02.png":["textures/skins/purple02.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/purple03.png":["textures/skins/purple03.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/purple04.png":["textures/skins/purple04.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/qix.plaque.png":["textures/skins/qix.plaque.png",["skins.vl2"]],"textures/skins/rabbit bushwin.png":["textures/skins/Rabbit BushWin.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/rabbitbush.png":["textures/skins/RabbitBush.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/raf.plaque.png":["textures/skins/raf.plaque.png",["skins.vl2"]],"textures/skins/ratedz.plaque.png":["textures/skins/ratedz.plaque.png",["skins.vl2"]],"textures/skins/red.hmale.png":["textures/skins/Red.hmale.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/red.lfemale.png":["textures/skins/Red.lfemale.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/red.lmale.png":["textures/skins/Red.lmale.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/red.mfemale.png":["textures/skins/Red.mfemale.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/red.mmale.png":["textures/skins/Red.mmale.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/red_blink.ifl":["textures/skins/red_blink.ifl",["skins.vl2"]],"textures/skins/red_blink0.png":["textures/skins/red_blink0.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/red_blink1.png":["textures/skins/red_blink1.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/red_blink2.png":["textures/skins/red_blink2.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/red_blink3.png":["textures/skins/red_blink3.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/red_blink4.png":["textures/skins/red_blink4.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/repair_kit.png":["textures/skins/repair_kit.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/repair_patch.png":["textures/skins/repair_patch.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/rickets.plaque.png":["textures/skins/rickets.plaque.png",["skins.vl2"]],"textures/skins/rusty.mmale.png":["textures/skins/rusty.mmale.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/sberryfall.png":["textures/skins/SBerryFall.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/scanline.ifl":["textures/skins/scanline.ifl",["skins.vl2"]],"textures/skins/scanline1.png":["textures/skins/scanline1.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/scanline1.png"]],"textures/skins/scanline2.png":["textures/skins/scanline2.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/scanline3.png":["textures/skins/scanline3.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/scanline4.png":["textures/skins/scanline4.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/scanline5.png":["textures/skins/scanline5.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/scanline6.png":["textures/skins/scanline6.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/scotchbroom.png":["textures/skins/ScotchBroom.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/scout_windshield.png":["textures/skins/Scout_windshield.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/screenframe.png":["textures/skins/screenframe.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/screenstatic1.ifl":["textures/skins/screenstatic1.ifl",["skins.vl2"]],"textures/skins/screenstatic1.png":["textures/skins/screenstatic1.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/screenstatic2.png":["textures/skins/screenstatic2.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/screenstatic3.png":["textures/skins/screenstatic3.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/screenstatic4.png":["textures/skins/screenstatic4.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/screenstatic5.png":["textures/skins/screenstatic5.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/sensor_pulse_large.png":["textures/skins/sensor_pulse_large.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/sensor_pulse_med.png":["textures/skins/sensor_pulse_med.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/sentry.png":["textures/skins/sentry.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/shark.plaque.png":["textures/skins/shark.plaque.png",["skins.vl2"]],"textures/skins/shieldpackactivate.png":["textures/skins/ShieldPackActivate.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/shieldpackambient.png":["textures/skins/ShieldPackAmbient.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/shrikeflare2.png":["textures/skins/shrikeflare2.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/silver.hmale.png":["textures/skins/Silver.hmale.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/silver.lfemale.png":["textures/skins/Silver.lfemale.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/silver.lmale.png":["textures/skins/Silver.lmale.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/silver.mfemale.png":["textures/skins/Silver.mfemale.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/silver.mmale.png":["textures/skins/Silver.mmale.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/silver_post.png":["textures/skins/silver_post.png",["TR2final105-client.vl2"]],"textures/skins/silvercube.png":["textures/skins/silvercube.png",["TR2final105-client.vl2"]],"textures/skins/skeet.plaque.png":["textures/skins/skeet.plaque.png",["skins.vl2"]],"textures/skins/skin2.png":["textures/skins/skin2.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/smoke.ifl":["textures/skins/smoke.ifl",["skins.vl2"]],"textures/skins/smoke00.png":["textures/skins/smoke00.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/smoke01.png":["textures/skins/smoke01.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/smoke02.png":["textures/skins/smoke02.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/smoke03.png":["textures/skins/smoke03.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/smoke04.png":["textures/skins/smoke04.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/smoke05.png":["textures/skins/smoke05.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/smoke06.png":["textures/skins/smoke06.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/smoke07.png":["textures/skins/smoke07.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/smoke08.png":["textures/skins/smoke08.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/smoke09.png":["textures/skins/smoke09.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/smoke10.png":["textures/skins/smoke10.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/smoke11.png":["textures/skins/smoke11.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/smoke12.png":["textures/skins/smoke12.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/smoke13.png":["textures/skins/smoke13.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/smoke14.png":["textures/skins/smoke14.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/smoke15.png":["textures/skins/smoke15.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/smoke16.png":["textures/skins/smoke16.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/smoke17.png":["textures/skins/smoke17.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/smoke18.png":["textures/skins/smoke18.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/smoke19.png":["textures/skins/smoke19.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/smoke20.png":["textures/skins/smoke20.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/sneaker.plaque.png":["textures/skins/sneaker.plaque.png",["skins.vl2"]],"textures/skins/snowblanket.png":["textures/skins/SnowBlanket.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/snowleopard.plaque.png":["textures/skins/snowleopard.plaque.png",["skins.vl2"]],"textures/skins/solarpanel.png":["textures/skins/solarpanel.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/sparks00.ifl":["textures/skins/sparks00.ifl",["skins.vl2"]],"textures/skins/stackable.png":["textures/skins/stackable.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/stackable1l.png":["textures/skins/stackable1L.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/stackable1m.png":["textures/skins/stackable1M.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/stackable1s.png":["textures/skins/stackable1S.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/stackable2l.png":["textures/skins/stackable2L.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/stackable2m.png":["textures/skins/stackable2m.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/stackable2s.png":["textures/skins/stackable2S.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/stackable3l.png":["textures/skins/stackable3L.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/stackable3m.png":["textures/skins/stackable3m.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/stackable3s.png":["textures/skins/stackable3s.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/stackable4l.png":["textures/skins/stackable4L.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/stackable4m.png":["textures/skins/stackable4M.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/stackable5l.png":["textures/skins/stackable5L.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/stackable5m.png":["textures/skins/stackable5m.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/station_damage.png":["textures/skins/station_damage.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/station_damage_alpha.png":["textures/skins/station_damage_alpha.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/station_damagel1.png":["textures/skins/station_damageL1.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/station_damagel2.png":["textures/skins/station_damageL2.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/station_damagel3.png":["textures/skins/station_damageL3.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/station_damagem1.png":["textures/skins/station_damageM1.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/station_damagem2.png":["textures/skins/station_damageM2.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/station_damagem3.png":["textures/skins/station_damageM3.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/station_damages1.png":["textures/skins/station_damageS1.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/station_damages2.png":["textures/skins/station_damageS2.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/station_damages3.png":["textures/skins/station_damageS3.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/station_damages4.png":["textures/skins/station_damageS4.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/station_inventory.png":["textures/skins/station_inventory.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/station_inventory_activate.png":["textures/skins/station_inventory_activate.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/station_teleporter.png":["textures/skins/station_teleporter.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/station_teleporter_activate.png":["textures/skins/station_teleporter_activate.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/station_vpad.png":["textures/skins/station_vpad.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/statue_base.png":["textures/skins/statue_base.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/statue_hmale.png":["textures/skins/statue_HMale.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/statue_lfemale.png":["textures/skins/statue_LFemale.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/statue_lmale.png":["textures/skins/statue_LMale.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/statue_plaque.png":["textures/skins/statue_plaque.png",["skins.vl2"]],"textures/skins/switch.png":["textures/skins/switch.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/switchbeam.png":["textures/skins/switchbeam.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/swolf.flag.png":["textures/skins/swolf.flag.png",["skins.vl2"],["yHDTextures2.0.vl2"],["z_textures/zflags.vl2"]],"textures/skins/swolf.hmale.png":["textures/skins/swolf.hmale.png",["skins.vl2"]],"textures/skins/swolf.lfemale.png":["textures/skins/swolf.lfemale.png",["skins.vl2"]],"textures/skins/swolf.lmale.png":["textures/skins/swolf.lmale.png",["skins.vl2"]],"textures/skins/swolf.mfemale.png":["textures/skins/swolf.mfemale.png",["skins.vl2"]],"textures/skins/swolf.mmale.png":["textures/skins/swolf.mmale.png",["skins.vl2"]],"textures/skins/swolf.switch.png":["textures/skins/swolf.switch.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/swolf_hmale_512.png":["textures/skins/swolf_hmale_512.png",["skins.vl2"]],"textures/skins/swolf_lfemale_512.png":["textures/skins/swolf_lfemale_512.png",["skins.vl2"]],"textures/skins/swolf_lmale_512.png":["textures/skins/swolf_lmale_512.png",["skins.vl2"]],"textures/skins/swolf_mfemale_512.png":["textures/skins/swolf_mfemale_512.png",["skins.vl2"]],"textures/skins/swolf_mmale_512.png":["textures/skins/swolf_mmale_512.png",["skins.vl2"]],"textures/skins/symlink.plaque.png":["textures/skins/symlink.plaque.png",["skins.vl2"]],"textures/skins/todesritter.plaque.png":["textures/skins/todesritter.plaque.png",["skins.vl2"]],"textures/skins/tomin8tor.plaque.png":["textures/skins/tomin8tor.plaque.png",["skins.vl2"]],"textures/skins/tr2-1.hmale.png":["textures/skins/TR2-1.hmale.png",["TR2final105-client.vl2"]],"textures/skins/tr2-1.lfemale.png":["textures/skins/TR2-1.lfemale.png",["TR2final105-client.vl2"]],"textures/skins/tr2-1.mfemale.png":["textures/skins/TR2-1.mfemale.png",["TR2final105-client.vl2"]],"textures/skins/tr2-1.mmale.png":["textures/skins/TR2-1.mmale.png",["TR2final105-client.vl2"]],"textures/skins/tr2-2.hmale.png":["textures/skins/TR2-2.hmale.png",["TR2final105-client.vl2"]],"textures/skins/tr2-2.lfemale.png":["textures/skins/TR2-2.lfemale.png",["TR2final105-client.vl2"]],"textures/skins/tr2-2.mfemale.png":["textures/skins/TR2-2.mfemale.png",["TR2final105-client.vl2"]],"textures/skins/tr2-2.mmale.png":["textures/skins/TR2-2.mmale.png",["TR2final105-client.vl2"]],"textures/skins/tr2_flag.png":["textures/skins/tr2_flag.png",["TR2final105-client.vl2"]],"textures/skins/tribes1.plaque.png":["textures/skins/tribes1.plaque.png",["skins.vl2"]],"textures/skins/turret_assaulttank.png":["textures/skins/turret_assaultTank.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/turret_base_large.png":["textures/skins/turret_base_large.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/turret_belly.png":["textures/skins/turret_belly.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/turret_inout_deploy.png":["textures/skins/turret_InOut_deploy.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/turret_light_red.ifl":["textures/skins/turret_light_red.ifl",["skins.vl2"]],"textures/skins/turret_remote.png":["textures/skins/turret_remote.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/turret_sentry.png":["textures/skins/turret_sentry.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/twitch.plaque.png":["textures/skins/twitch.plaque.png",["skins.vl2"]],"textures/skins/uberbob.plaque.png":["textures/skins/uberbob.plaque.png",["skins.vl2"]],"textures/skins/vaportrail.png":["textures/skins/vaportrail.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/vehicle_air_bomber1.png":["textures/skins/vehicle_air_bomber1.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/vehicle_air_bomber2.png":["textures/skins/vehicle_air_bomber2.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/vehicle_air_bomber3.png":["textures/skins/vehicle_air_bomber3.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/vehicle_air_hpc1.png":["textures/skins/vehicle_air_hpc1.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/vehicle_air_hpc2.png":["textures/skins/vehicle_air_hpc2.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/vehicle_air_hpc3.png":["textures/skins/vehicle_air_hpc3.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/vehicle_air_scout.png":["textures/skins/vehicle_air_scout.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/vehicle_grav_scout.png":["textures/skins/Vehicle_grav_scout.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/vehicle_grav_scout_pipes.png":["textures/skins/Vehicle_grav_scout_pipes.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/vehicle_grav_scout_windshield.png":["textures/skins/Vehicle_grav_scout_windshield.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/vehicle_grav_scout_windshieldinner.png":["textures/skins/Vehicle_grav_scout_windshieldInner.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/vehicle_grav_tank_bodymain.png":["textures/skins/Vehicle_grav_tank_bodyMain.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/vehicle_grav_tank_bodyside1.png":["textures/skins/vehicle_grav_tank_bodyside1.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/vehicle_grav_tank_bodyside2.png":["textures/skins/vehicle_grav_tank_bodyside2.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/vehicle_land_assault_bodymain.png":["textures/skins/Vehicle_Land_Assault_bodyMain.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/vehicle_land_assault_bodyside1.png":["textures/skins/Vehicle_Land_Assault_bodySide1.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/vehicle_land_assault_bodyside2.png":["textures/skins/Vehicle_Land_Assault_bodySide2.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/vehicle_land_assault_wheel.png":["textures/skins/Vehicle_Land_Assault_Wheel.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/vehicle_land_mpb1.png":["textures/skins/vehicle_land_mpb1.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/vehicle_land_mpb2.png":["textures/skins/vehicle_land_mpb2.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/vehicle_mpb_sensor_panelson.png":["textures/skins/vehicle_mpb_sensor_panelsON.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/vending01.png":["textures/skins/vending01.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/vending02.png":["textures/skins/vending02.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/vpad_activate.png":["textures/skins/vpad_activate.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/vpad_ambient.png":["textures/skins/vpad_ambient.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/vpad_arm.png":["textures/skins/vpad_arm.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/weapon_chaingun.png":["textures/skins/weapon_chaingun.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/weapon_chaingun_ammocasing.png":["textures/skins/weapon_chaingun_ammocasing.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/weapon_disc.png":["textures/skins/weapon_disc.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/weapon_disc.png"]],"textures/skins/weapon_elf.png":["textures/skins/weapon_elf.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/weapon_energy.png":["textures/skins/weapon_energy.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/weapon_energy_vehicle.png":["textures/skins/weapon_energy_vehicle.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/weapon_grenade_launcher.png":["textures/skins/weapon_grenade_launcher.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/weapon_missile.png":["textures/skins/weapon_missile.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/weapon_missile_casement.png":["textures/skins/weapon_missile_casement.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/weapon_missile_projectile.png":["textures/skins/Weapon_missile_projectile.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/weapon_mortar.png":["textures/skins/weapon_mortar.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/weapon_plasma1.png":["textures/skins/weapon_plasma1.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/weapon_plasma2.png":["textures/skins/weapon_plasma2.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/weapon_plasmathrower.png":["textures/skins/weapon_plasmathrower.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/weapon_repair.png":["textures/skins/weapon_repair.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/weapon_shocklance.png":["textures/skins/weapon_shocklance.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/weapon_shocklance_glow .png":["textures/skins/weapon_shocklance_glow .png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/weapon_shocklance_glow-.png":["textures/skins/weapon_shocklance_glow-.png",["yHDTextures2.0.vl2"]],"textures/skins/weapon_sniper.png":["textures/skins/weapon_sniper.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/weapon_targeting.png":["textures/skins/weapon_targeting.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/winmapshrubart.png":["textures/skins/WinMapShrubart.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/winrhody.png":["textures/skins/WinRhody.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/winscotchart.png":["textures/skins/WinScotchArt.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/xorg2.png":["textures/skins/xorg2.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/yellow.hflag.png":["textures/skins/Yellow.hflag.png",["skins.vl2"],["yHDTextures2.0.vl2"],["z_textures/zflags.vl2","textures/skins/yellow.hflag.png"]],"textures/skins/yellow.hmale.png":["textures/skins/Yellow.hmale.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/yellow.lfemale.png":["textures/skins/Yellow.lfemale.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/yellow.lmale.png":["textures/skins/Yellow.lmale.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/yellow.mfemale.png":["textures/skins/Yellow.mfemale.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/yellow.mmale.png":["textures/skins/Yellow.mmale.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/yellow.png":["textures/skins/yellow.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/sky01.dml":["textures/sky01.dml",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/sky01/sback.png":["textures/sky01/sback.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/sky01/sdown.png":["textures/sky01/sdown.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/sky01/sfront.png":["textures/sky01/sfront.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/sky01/sleft.png":["textures/sky01/sleft.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/sky01/sright.png":["textures/sky01/sright.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/sky01/sup.png":["textures/sky01/sup.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/sky03.dml":["textures/sky03.dml",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/sky03/fback.png":["textures/sky03/fback.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/sky03/fdown.png":["textures/sky03/fdown.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/sky03/ffront.png":["textures/sky03/ffront.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/sky03/fleft.png":["textures/sky03/fleft.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/sky03/fright.png":["textures/sky03/fright.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/sky03/fup.png":["textures/sky03/fup.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/sky03/tr1_cloud1.png":["textures/sky03/TR1_Cloud1.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/sky03/tr1_cloud2.png":["textures/sky03/TR1_Cloud2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/sky121.dml":["textures/sky121.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/sky127.dml":["textures/sky127.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/sky156.dml":["textures/sky156.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/sky_badlands_cloudy.dml":["textures/sky_badlands_cloudy.dml",["textures.vl2"]],"textures/sky_badlands_starrynight.dml":["textures/sky_badlands_starrynight.dml",["textures.vl2"]],"textures/sky_beachblitz.dml":["textures/sky_beachblitz.dml",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/sky_desert_blue.dml":["textures/sky_desert_blue.dml",["textures.vl2"]],"textures/sky_desert_brown.dml":["textures/sky_desert_brown.dml",["textures.vl2"]],"textures/sky_desert_starrynight.dml":["textures/sky_desert_starrynight.dml",["textures.vl2"]],"textures/sky_ice_blue.dml":["textures/sky_ice_blue.dml",["textures.vl2"]],"textures/sky_ice_cloak.dml":["textures/sky_ice_cloak.dml",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/sky_ice_starrynight.dml":["textures/sky_ice_starrynight.dml",["textures.vl2"]],"textures/sky_lava_brown.dml":["textures/sky_lava_brown.dml",["textures.vl2"]],"textures/sky_lava_starrynight.dml":["textures/sky_lava_starrynight.dml",["textures.vl2"]],"textures/sky_lush_blue.dml":["textures/sky_lush_blue.dml",["textures.vl2"]],"textures/sky_lush_morestars.dml":["textures/sky_lush_morestars.dml",["textures.vl2"]],"textures/sky_lush_starrynight.dml":["textures/sky_lush_starrynight.dml",["textures.vl2"]],"textures/sky_volcanic_starrynight.dml":["textures/sky_volcanic_starrynight.dml",["textures.vl2"]],"textures/small_circle.png":["textures/small_circle.PNG",["textures.vl2"]],"textures/small_cross.png":["textures/small_cross.png",["textures.vl2"]],"textures/small_diamond.png":["textures/small_diamond.png",["textures.vl2"]],"textures/small_square.png":["textures/small_square.png",["textures.vl2"]],"textures/small_triangle.png":["textures/small_triangle.png",["textures.vl2"]],"textures/smoke02.png":["textures/smoke02.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/snowflake8x8.png":["textures/snowflake8x8.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/snowflakes.dml":["textures/snowflakes.dml",["textures.vl2"]],"textures/snowtest.dml":["textures/snowtest.dml",["textures.vl2"]],"textures/solar.png":["textures/solar.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/som_tr2_armageddon.dml":["textures/SOM_TR2_Armageddon.dml",["TR2final105-client.vl2"]],"textures/som_tr2_stonedblue.dml":["textures/SOM_TR2_StonedBlue.dml",["TR2final105-client.vl2"]],"textures/som_tr2_winterblue.dml":["textures/SOM_TR2_WinterBlue.dml",["TR2final105-client.vl2"]],"textures/som_winterblue/winterblue_v5_bk.bmp":["textures/SOM_WinterBlue/WinterBlue_v5_BK.bmp",["TR2final105-client.vl2"]],"textures/som_winterblue/winterblue_v5_fr.bmp":["textures/SOM_WinterBlue/WinterBlue_v5_FR.bmp",["TR2final105-client.vl2"]],"textures/som_winterblue/winterblue_v5_lf.bmp":["textures/SOM_WinterBlue/WinterBlue_v5_LF.bmp",["TR2final105-client.vl2"]],"textures/som_winterblue/winterblue_v5_rt.bmp":["textures/SOM_WinterBlue/WinterBlue_v5_RT.bmp",["TR2final105-client.vl2"]],"textures/som_winterblue/winterblue_v5_up.bmp":["textures/SOM_WinterBlue/WinterBlue_v5_UP.bmp",["TR2final105-client.vl2"]],"textures/space/tr1_cloud1.png":["textures/space/TR1_Cloud1.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/space/tr1_cloud2.png":["textures/space/TR1_Cloud2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/space/xnight2_bk.png":["textures/space/xnight2_bk.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/space/xnight2_dn.png":["textures/space/xnight2_dn.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/space/xnight2_ft.png":["textures/space/xnight2_ft.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/space/xnight2_lf.png":["textures/space/xnight2_lf.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/space/xnight2_rt.png":["textures/space/xnight2_rt.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/space/xnight2_up.png":["textures/space/xnight2_up.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/space_14.dml":["textures/space_14.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/space_16.dml":["textures/space_16.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/space_17.dml":["textures/space_17.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/space_18.dml":["textures/space_18.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/space_19.dml":["textures/space_19.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/space_3.dml":["textures/space_3.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/space_5.dml":["textures/space_5.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/spaceblue.dml":["textures/spaceBlue.dml",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/spacerock.png":["textures/spaceRock.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/special/bigspark.png":["textures/special/bigSpark.PNG",["textures.vl2"],["yHDTextures2.0.vl2","textures/special/bigSpark.png"]],"textures/special/blasterbolt.png":["textures/special/blasterBolt.PNG",["textures.vl2"],["yHDTextures2.0.vl2","textures/special/blasterBolt.png"]],"textures/special/blasterboltcross.png":["textures/special/blasterBoltCross.PNG",["textures.vl2"],["yHDTextures2.0.vl2","textures/special/blasterBoltCross.png"]],"textures/special/blasterhit.png":["textures/special/blasterHit.PNG",["textures.vl2"],["yHDTextures2.0.vl2","textures/special/blasterHit.png"]],"textures/special/blueimpact.png":["textures/special/BlueImpact.PNG",["textures.vl2"],["yHDTextures2.0.vl2","textures/special/BlueImpact.png"]],"textures/special/bluespark.png":["textures/special/bluespark.PNG",["textures.vl2"],["yHDTextures2.0.vl2","textures/special/bluespark.png"]],"textures/special/bubbles.png":["textures/special/bubbles.PNG",["textures.vl2"],["yHDTextures2.0.vl2","textures/special/bubbles.png"]],"textures/special/bullethole1.png":["textures/special/bullethole1.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/bullethole2.png":["textures/special/bullethole2.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/bullethole3.png":["textures/special/bullethole3.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/bullethole4.png":["textures/special/bullethole4.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/bullethole5.png":["textures/special/bullethole5.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/bullethole6.png":["textures/special/bullethole6.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/chutetexture.png":["textures/special/chuteTexture.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/cloaktexture.png":["textures/special/cloakTexture.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/cloudflash.png":["textures/special/cloudflash.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/cloudflash2.png":["textures/special/cloudflash2.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/cloudflash3.png":["textures/special/cloudflash3.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/cloudflash4.png":["textures/special/cloudflash4.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/cloudflash5.png":["textures/special/cloudflash5.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/cloudflash6.png":["textures/special/cloudflash6.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/cloudflash7.png":["textures/special/cloudflash7.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/cloudflash8.png":["textures/special/cloudflash8.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/crescent3.png":["textures/special/crescent3.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/crescent4.png":["textures/special/crescent4.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/decal.dml":["textures/special/decal.dml",["textures.vl2"]],"textures/special/droplet.png":["textures/special/droplet.PNG",["textures.vl2"],["yHDTextures2.0.vl2","textures/special/droplet.png"]],"textures/special/elfbeam.png":["textures/special/ELFBeam.PNG",["textures.vl2"],["yHDTextures2.0.vl2","textures/special/ELFBeam.png"]],"textures/special/elflightning.png":["textures/special/ELFLightning.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/expflare.png":["textures/special/expFlare.PNG",["textures.vl2"],["yHDTextures2.0.vl2","textures/special/expFlare.png"]],"textures/special/explosion/exp_0000.png":["textures/special/Explosion/Exp_0000.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/explosion/exp_0002.png":["textures/special/Explosion/Exp_0002.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/explosion/exp_0004.png":["textures/special/Explosion/Exp_0004.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/explosion/exp_0006.png":["textures/special/Explosion/Exp_0006.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/explosion/exp_0008.png":["textures/special/Explosion/Exp_0008.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/explosion/exp_0010.png":["textures/special/Explosion/Exp_0010.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/explosion/exp_0012.png":["textures/special/Explosion/Exp_0012.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/explosion/exp_0014.png":["textures/special/Explosion/Exp_0014.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/explosion/exp_0016.png":["textures/special/Explosion/Exp_0016.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/explosion/exp_0018.png":["textures/special/Explosion/Exp_0018.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/explosion/exp_0020.png":["textures/special/Explosion/Exp_0020.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/explosion/exp_0022.png":["textures/special/Explosion/Exp_0022.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/explosion/exp_0024.png":["textures/special/Explosion/Exp_0024.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/explosion/exp_0026.png":["textures/special/Explosion/Exp_0026.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/explosion/exp_0028.png":["textures/special/Explosion/Exp_0028.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/explosion/exp_0030.png":["textures/special/Explosion/Exp_0030.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/explosion/exp_0032.png":["textures/special/Explosion/Exp_0032.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/explosion/exp_0034.png":["textures/special/Explosion/Exp_0034.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/explosion/exp_0036.png":["textures/special/Explosion/Exp_0036.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/explosion/exp_0038.png":["textures/special/Explosion/Exp_0038.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/explosion/exp_0040.png":["textures/special/Explosion/Exp_0040.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/explosion/exp_0042.png":["textures/special/Explosion/Exp_0042.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/explosion/exp_0044.png":["textures/special/Explosion/Exp_0044.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/explosion/exp_0046.png":["textures/special/Explosion/Exp_0046.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/explosion/exp_0048.png":["textures/special/Explosion/Exp_0048.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/explosion/exp_0050.png":["textures/special/Explosion/Exp_0050.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/explosion/exp_0052.png":["textures/special/Explosion/Exp_0052.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/flare.png":["textures/special/flare.PNG",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/flare3.png":["textures/special/flare3.PNG",["textures.vl2"],["yHDTextures2.0.vl2","textures/special/flare3.png"]],"textures/special/flarespark.png":["textures/special/flareSpark.PNG",["textures.vl2"],["yHDTextures2.0.vl2","textures/special/flareSpark.png"]],"textures/special/footprints/h_bioderm.png":["textures/special/footprints/H_bioderm.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/footprints/h_male.png":["textures/special/footprints/H_male.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/footprints/l_bioderm.png":["textures/special/footprints/L_bioderm.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/footprints/l_male.png":["textures/special/footprints/L_male.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/footprints/m_bioderm.png":["textures/special/footprints/M_bioderm.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/footprints/m_male.png":["textures/special/footprints/M_male.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/gamegrid.png":["textures/special/GameGrid.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/generic_reflect.png":["textures/special/generic_reflect.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/generic_scorch.png":["textures/special/generic_scorch.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/glass.png":["textures/special/glass.PNG",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/special/gradient.png":["textures/special/gradient.PNG",["textures.vl2"],["yHDTextures2.0.vl2","textures/special/gradient.png"]],"textures/special/grainy.png":["textures/special/grainy.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/jammermap.png":["textures/special/jammermap.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/jetexhaust02.png":["textures/special/jetExhaust02.PNG",["textures.vl2"],["yHDTextures2.0.vl2","textures/special/jetExhaust02.png"]],"textures/special/landspikebolt.png":["textures/special/landSpikeBolt.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/landspikeboltcross.png":["textures/special/landSpikeBoltCross.PNG",["textures.vl2"],["yHDTextures2.0.vl2","textures/special/landSpikeBoltCross.png"]],"textures/special/laserrip01.png":["textures/special/laserrip01.PNG",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/laserrip02.png":["textures/special/laserrip02.PNG",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/laserrip03.png":["textures/special/laserrip03.PNG",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/laserrip04.png":["textures/special/laserrip04.PNG",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/laserrip05.png":["textures/special/laserrip05.PNG",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/laserrip06.png":["textures/special/laserrip06.PNG",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/laserrip07.png":["textures/special/laserrip07.PNG",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/laserrip08.png":["textures/special/laserrip08.PNG",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/laserrip09.png":["textures/special/laserrip09.PNG",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/lavadeath_1.png":["textures/special/lavadeath_1.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/lavadeath_2.png":["textures/special/lavadeath_2.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/lavareflect.png":["textures/special/lavareflect.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/lensflare/flare00.png":["textures/special/LensFlare/Flare00.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/lightfalloffmono.png":["textures/special/lightFalloffMono.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/lightning1blur.png":["textures/special/lightning1blur.PNG",["textures.vl2"],["yHDTextures2.0.vl2","textures/special/lightning1blur.png"]],"textures/special/lightning1frame1.png":["textures/special/lightning1frame1.PNG",["textures.vl2"],["yHDTextures2.0.vl2","textures/special/lightning1frame1.png"]],"textures/special/lightning1frame2.png":["textures/special/lightning1frame2.PNG",["textures.vl2"],["yHDTextures2.0.vl2","textures/special/lightning1frame2.png"]],"textures/special/lightning1frame3.png":["textures/special/lightning1frame3.PNG",["textures.vl2"],["yHDTextures2.0.vl2","textures/special/lightning1frame3.png"]],"textures/special/lightning2blur.png":["textures/special/lightning2blur.PNG",["textures.vl2"],["yHDTextures2.0.vl2","textures/special/lightning2blur.png"]],"textures/special/lightning2frame1.png":["textures/special/lightning2frame1.PNG",["textures.vl2"],["yHDTextures2.0.vl2","textures/special/lightning2frame1.png"]],"textures/special/lightning2frame2.png":["textures/special/lightning2frame2.PNG",["textures.vl2"],["yHDTextures2.0.vl2","textures/special/lightning2frame2.png"]],"textures/special/lightning2frame3.png":["textures/special/lightning2frame3.PNG",["textures.vl2"],["yHDTextures2.0.vl2","textures/special/lightning2frame3.png"]],"textures/special/lightningblur.png":["textures/special/LightningBlur.PNG",["textures.vl2"],["yHDTextures2.0.vl2","textures/special/LightningBlur.png"]],"textures/special/nonlingradient.png":["textures/special/nonlingradient.PNG",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/pulse.png":["textures/special/pulse.PNG",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/redbump2.png":["textures/special/redbump2.PNG",["textures.vl2"],["yHDTextures2.0.vl2","textures/special/redbump2.png"]],"textures/special/redflare.png":["textures/special/redflare.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/shieldenvmap.png":["textures/special/shieldenvmap.PNG",["textures.vl2"],["yHDTextures2.0.vl2","textures/special/shieldenvmap.png"]],"textures/special/shieldmap.png":["textures/special/shieldmap.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/shocklance_effect01.png":["textures/special/Shocklance_effect01.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/shocklance_effect02.png":["textures/special/Shocklance_effect02.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/shocklancehit.png":["textures/special/shocklanceHit.PNG",["textures.vl2"],["yHDTextures2.0.vl2","textures/special/shocklanceHit.png"]],"textures/special/shocklancezap.png":["textures/special/shockLanceZap.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/shocklightning01.png":["textures/special/shockLightning01.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/shocklightning02.png":["textures/special/shockLightning02.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/shocklightning03.png":["textures/special/shockLightning03.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/shockwave4.png":["textures/special/shockwave4.PNG",["textures.vl2"],["yHDTextures2.0.vl2","textures/special/shockwave4.png"]],"textures/special/shockwave5.png":["textures/special/shockwave5.PNG",["textures.vl2"],["yHDTextures2.0.vl2","textures/special/shockwave5.png"]],"textures/special/shrikebolt.png":["textures/special/shrikeBolt.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/shrikeboltcross.png":["textures/special/shrikeBoltCross.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/skylightning.png":["textures/special/skyLightning.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/smoke/bigsmoke.png":["textures/special/Smoke/bigSmoke.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/smoke/smoke_001.png":["textures/special/Smoke/smoke_001.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/smoke/smoke_002.png":["textures/special/Smoke/smoke_002.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/smoke/smoke_003.png":["textures/special/Smoke/smoke_003.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/smoke/smoke_004.png":["textures/special/Smoke/smoke_004.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/smoke/smoke_005.png":["textures/special/Smoke/smoke_005.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/smoke/smoke_006.png":["textures/special/Smoke/smoke_006.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/smoke/smoke_007.png":["textures/special/Smoke/smoke_007.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/smoke/smoke_008.png":["textures/special/Smoke/smoke_008.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/smoke/smoke_009.png":["textures/special/Smoke/smoke_009.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/smoke/smoke_010.png":["textures/special/Smoke/smoke_010.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/smoke/smoke_011.png":["textures/special/Smoke/smoke_011.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/smoke/smoke_012.png":["textures/special/Smoke/smoke_012.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/sniper00.png":["textures/special/sniper00.PNG",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/spark00.png":["textures/special/spark00.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/stationglow.png":["textures/special/stationGlow.PNG",["textures.vl2"],["yHDTextures2.0.vl2","textures/special/stationGlow.png"]],"textures/special/stationlight.png":["textures/special/stationLight.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/stationlight2.png":["textures/special/stationLight2.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/tracer00.png":["textures/special/tracer00.PNG",["textures.vl2"],["yHDTextures2.0.vl2","textures/special/tracer00.png"]],"textures/special/tracercross.png":["textures/special/tracercross.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/trigger.png":["textures/special/trigger.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/underwaterspark.png":["textures/special/underwaterSpark.PNG",["textures.vl2"],["yHDTextures2.0.vl2","textures/special/underwaterSpark.png"]],"textures/special/water2.png":["textures/special/water2.PNG",["textures.vl2"],["yHDTextures2.0.vl2","textures/special/water2.png"]],"textures/special/watertail1.png":["textures/special/watertail1.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/watertail2.png":["textures/special/watertail2.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/watertail3.png":["textures/special/watertail3.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/watertail4.png":["textures/special/watertail4.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/whitealpha0.png":["textures/special/whiteAlpha0.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/whitealpha255.png":["textures/special/whiteAlpha255.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/whitenoalpha.png":["textures/special/whiteNoAlpha.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/staff.png":["textures/staff.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/stagnant_water.dml":["textures/stagnant_water.dml",["textures.vl2"]],"textures/starfallen.dml":["textures/Starfallen.dml",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/starrynite.dml":["textures/starrynite.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/stonedblue/stonedblue_v5_bk.bmp":["textures/StonedBlue/StonedBlue_v5_BK.bmp",["TR2final105-client.vl2"]],"textures/stonedblue/stonedblue_v5_fr.bmp":["textures/StonedBlue/StonedBlue_v5_FR.bmp",["TR2final105-client.vl2"]],"textures/stonedblue/stonedblue_v5_lf.bmp":["textures/StonedBlue/StonedBlue_v5_LF.bmp",["TR2final105-client.vl2"]],"textures/stonedblue/stonedblue_v5_rt.bmp":["textures/StonedBlue/StonedBlue_v5_RT.bmp",["TR2final105-client.vl2"]],"textures/stonedblue/stonedblue_v5_up.bmp":["textures/StonedBlue/StonedBlue_v5_UP.bmp",["TR2final105-client.vl2"]],"textures/striplite2.png":["textures/striplite2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/sundown25.dml":["textures/Sundown25.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/sunnight.dml":["textures/sunnight.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/sunset12.dml":["textures/SunSet12.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/supply.png":["textures/supply.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/swolf.flag.png":["textures/swolf.flag.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/t1chainflash1.png":["textures/t1chainflash1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/t1chaingun.png":["textures/t1chaingun.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/t1disc.png":["textures/t1disc.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/t1energygun.png":["textures/t1energygun.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/t1grenade.png":["textures/t1grenade.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/t1mortargun.png":["textures/t1mortargun.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/t1radar.png":["textures/t1radar.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/t1repairgun.png":["textures/t1repairgun.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/t1sniper.png":["textures/t1sniper.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/t2eqsheet.png":["textures/t2EQsheet.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/t2introc15.avi":["textures/T2IntroC15.avi",["textures.vl2"]],"textures/taco/taco.png":["textures/taco/taco.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/taco_d.png":["textures/Taco_D.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/tbga.png":["textures/tbgA.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/tech_plate.png":["textures/tech_plate.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/tekpanel.png":["textures/tekpanel.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/template.dml":["textures/template.dml",["textures.vl2"]],"textures/terrain.badlands.dirtbumpy.dml":["textures/terrain.BadLands.DirtBumpy.dml",["textures.vl2"]],"textures/terrain.badlands.dirtchipped.dml":["textures/terrain.BadLands.DirtChipped.dml",["textures.vl2"]],"textures/terrain.badlands.dirtyellow.dml":["textures/terrain.BadLands.DirtYellow.dml",["textures.vl2"]],"textures/terrain.badlands.dirtyellowcracked.dml":["textures/terrain.BadLands.DirtYellowCracked.dml",["textures.vl2"]],"textures/terrain.badlands.rockbrown.dml":["textures/terrain.BadLands.RockBrown.dml",["textures.vl2"]],"textures/terrain.badlands.rockchipped.dml":["textures/terrain.BadLands.RockChipped.dml",["textures.vl2"]],"textures/terrain.badlands.rockcracked.dml":["textures/terrain.BadLands.RockCracked.dml",["textures.vl2"]],"textures/terrain.desertworld.rockfractured.dml":["textures/terrain.DesertWorld.RockFractured.dml",["textures.vl2"]],"textures/terrain.desertworld.rocksmooth.dml":["textures/terrain.DesertWorld.RockSmooth.dml",["textures.vl2"]],"textures/terrain.desertworld.sand.dml":["textures/terrain.DesertWorld.Sand.dml",["textures.vl2"]],"textures/terrain.desertworld.sandburnt.dml":["textures/terrain.DesertWorld.SandBurnt.dml",["textures.vl2"]],"textures/terrain.desertworld.sanddark.dml":["textures/terrain.DesertWorld.SandDark.dml",["textures.vl2"]],"textures/terrain.desertworld.sandorange.dml":["textures/terrain.DesertWorld.SandOrange.dml",["textures.vl2"]],"textures/terrain.desertworld.sandoxidized.dml":["textures/terrain.DesertWorld.SandOxidized.dml",["textures.vl2"]],"textures/terrain.flatshade.blue.dml":["textures/terrain.FlatShade.Blue.dml",["textures.vl2"]],"textures/terrain.flatshade.green.dml":["textures/terrain.FlatShade.Green.dml",["textures.vl2"]],"textures/terrain.flatshade.purple.dml":["textures/terrain.FlatShade.Purple.dml",["textures.vl2"]],"textures/terrain.flatshade.red.dml":["textures/terrain.FlatShade.Red.dml",["textures.vl2"]],"textures/terrain.flatshade.white.dml":["textures/terrain.FlatShade.White.dml",["textures.vl2"]],"textures/terrain.frequencytest.dml":["textures/terrain.FrequencyTest.dml",["textures.vl2"]],"textures/terrain.iceworld.ice.dml":["textures/terrain.IceWorld.Ice.dml",["textures.vl2"]],"textures/terrain.iceworld.rockblue.dml":["textures/terrain.IceWorld.RockBlue.dml",["textures.vl2"]],"textures/terrain.iceworld.snow.dml":["textures/terrain.IceWorld.Snow.dml",["textures.vl2"]],"textures/terrain.iceworld.snowice.dml":["textures/terrain.IceWorld.SnowIce.dml",["textures.vl2"]],"textures/terrain.iceworld.snowrock.dml":["textures/terrain.IceWorld.SnowRock.dml",["textures.vl2"]],"textures/terrain.lavaworld.crust.dml":["textures/terrain.LavaWorld.Crust.dml",["textures.vl2"]],"textures/terrain.lavaworld.lavarockhot.dml":["textures/terrain.LavaWorld.LavaRockHot.dml",["textures.vl2"]],"textures/terrain.lavaworld.muddyash.dml":["textures/terrain.LavaWorld.MuddyAsh.dml",["textures.vl2"]],"textures/terrain.lushworld.dirtmossy.dml":["textures/terrain.LushWorld.DirtMossy.dml",["textures.vl2"]],"textures/terrain.lushworld.grassdark.dml":["textures/terrain.LushWorld.GrassDark.dml",["textures.vl2"]],"textures/terrain.lushworld.grasslight.dml":["textures/terrain.LushWorld.GrassLight.dml",["textures.vl2"]],"textures/terrain.lushworld.grassmixed.dml":["textures/terrain.LushWorld.GrassMixed.dml",["textures.vl2"]],"textures/terrain.lushworld.lakebed.dml":["textures/terrain.LushWorld.Lakebed.dml",["textures.vl2"]],"textures/terrain.lushworld.rocklight.dml":["textures/terrain.LushWorld.RockLight.dml",["textures.vl2"]],"textures/terrain.lushworld.rockmossy.dml":["textures/terrain.LushWorld.RockMossy.dml",["textures.vl2"]],"textures/terrain.mask.dml":["textures/terrain.mask.dml",["textures.vl2"]],"textures/terrain.outline.dml":["textures/terrain.Outline.dml",["textures.vl2"]],"textures/terrain/abbbb.png":["textures/terrain/abbbb.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/acccc.png":["textures/terrain/acccc.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/adesert_cracks_d.png":["textures/terrain/adesert_cracks_d.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/adesert_sand2_d.png":["textures/terrain/adesert_sand2_d.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/aeee.png":["textures/terrain/aeee.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/badlands.dirtbumpy.png":["textures/terrain/Badlands.DirtBumpy.png",["textures.vl2"]],"textures/terrain/badlands.dirtchipped.png":["textures/terrain/Badlands.DirtChipped.png",["textures.vl2"]],"textures/terrain/badlands.dirtyellow.png":["textures/terrain/Badlands.DirtYellow.png",["textures.vl2"]],"textures/terrain/badlands.dirtyellowcracked.png":["textures/terrain/Badlands.DirtYellowCracked.png",["textures.vl2"]],"textures/terrain/badlands.rockbrown.png":["textures/terrain/Badlands.RockBrown.png",["textures.vl2"]],"textures/terrain/badlands.rockchipped.png":["textures/terrain/Badlands.RockChipped.png",["textures.vl2"]],"textures/terrain/badlands.rockcracked.png":["textures/terrain/Badlands.RockCracked.png",["textures.vl2"]],"textures/terrain/badlands.rockcrackedcopper.png":["textures/terrain/Badlands.Rockcrackedcopper.png",["textures.vl2"]],"textures/terrain/bleed.grasslight.png":["textures/terrain/Bleed.GrassLight.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/bleed.grassmixed.png":["textures/terrain/Bleed.GrassMixed.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/bleed.rockmossy.png":["textures/terrain/Bleed.RockMossy.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/bleed.rocksmooth.png":["textures/terrain/Bleed.RockSmooth.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/brown_dirt02.png":["textures/terrain/brown_Dirt02.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/terrain/brown_dirt05.png":["textures/terrain/brown_Dirt05.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/brown_dirtrock01.png":["textures/terrain/brown_DirtRock01.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/cb1.png":["textures/terrain/CB1.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/cb2.png":["textures/terrain/CB2.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/cbgravel.png":["textures/terrain/CBgravel.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/cbtrails.png":["textures/terrain/CBtrails.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/cc_alien_crackedsand.png":["textures/terrain/cc_alien_crackedsand.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/cc_alien_sand.png":["textures/terrain/cc_alien_sand.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/cc_sand1.png":["textures/terrain/cc_sand1.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/cc_sand2.png":["textures/terrain/cc_sand2.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/cc_sand3.png":["textures/terrain/cc_sand3.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/cc_sand4.png":["textures/terrain/cc_sand4.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/default.png":["textures/terrain/Default.png",["textures.vl2"]],"textures/terrain/desert_cracks_s.png":["textures/terrain/desert_cracks_s.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/desert_sand_d.png":["textures/terrain/desert_sand_d.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/desertworld.rockfractured.png":["textures/terrain/DesertWorld.RockFractured.png",["textures.vl2"]],"textures/terrain/desertworld.rocksmooth.png":["textures/terrain/DesertWorld.RockSmooth.png",["textures.vl2"]],"textures/terrain/desertworld.sand.png":["textures/terrain/DesertWorld.Sand.png",["textures.vl2"]],"textures/terrain/desertworld.sandburnt.png":["textures/terrain/DesertWorld.SandBurnt.png",["textures.vl2"]],"textures/terrain/desertworld.sanddark.png":["textures/terrain/DesertWorld.SandDark.png",["textures.vl2"]],"textures/terrain/desertworld.sandorange.png":["textures/terrain/DesertWorld.SandOrange.png",["textures.vl2"]],"textures/terrain/desertworld.sandoxidized.png":["textures/terrain/DesertWorld.SandOxidized.png",["textures.vl2"]],"textures/terrain/desertworld.tr2sand.png":["textures/terrain/DesertWorld.TR2Sand.png",["TR2final105-client.vl2"]],"textures/terrain/eep.moondirt.png":["textures/terrain/Eep.MoonDirt.PNG",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/eep.moondirtdark.png":["textures/terrain/Eep.MoonDirtDark.PNG",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/euro4_beachblitzse_lushworld.beachsand.png":["textures/terrain/Euro4_BeachBlitzSE_lushworld.beachsand.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/euro4_crownse_lushworld.beachsand.png":["textures/terrain/Euro4_CrownSE_lushworld.beachsand.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/euro4_epicratesdeluxese_tropical1.png":["textures/terrain/Euro4_EpicratesDeluxeSE_tropical1.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/euro4_epicratesdeluxese_ugly2.png":["textures/terrain/Euro4_EpicratesDeluxeSE_ugly2.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/euro4_nevese_nyctoglacier.png":["textures/terrain/Euro4_NeveSE_NyctoGlacier.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/euro4_nevese_nyctorock.png":["textures/terrain/Euro4_NeveSE_NyctoRock.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/euro4_nevese_nyctorock2.png":["textures/terrain/Euro4_NeveSE_NyctoRock2.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/euro4_nevese_nyctosnow.png":["textures/terrain/Euro4_NeveSE_NyctoSnow.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/euro4_puliveivarise_nyctoglacier.png":["textures/terrain/Euro4_PuliVeivariSE_NyctoGlacier.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/gmd.darkrock.png":["textures/terrain/GMD.DarkRock.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"],["TR2final105-client.vl2"]],"textures/terrain/gmd.dirtmossy.png":["textures/terrain/GMD.DirtMossy.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"],["z_mappacks/xPack2.vl2"]],"textures/terrain/gmd.grasslight.png":["textures/terrain/GMD.GrassLight.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/terrain/gmd.grassmixed.png":["textures/terrain/GMD.GrassMixed.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"],["TR2final105-client.vl2"],["z_mappacks/xPack2.vl2"]],"textures/terrain/gmd.lightsand.png":["textures/terrain/GMD.LightSand.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"],["TR2final105-client.vl2"]],"textures/terrain/gmd.sandburnt.png":["textures/terrain/GMD.SandBurnt.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/terrain/grass_autumn_red_d.png":["textures/terrain/grass_autumn_red_d.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/grass_ground_d.png":["textures/terrain/grass_ground_d.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/green_grassrock005.png":["textures/terrain/green_GrassRock005.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/terrain/green_snowygrass001.png":["textures/terrain/green_SnowyGrass001.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/greenrock21.png":["textures/terrain/greenrock21.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/groundblueeng.png":["textures/terrain/groundBlueEng.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/terrain/iceworld.ice.png":["textures/terrain/IceWorld.Ice.png",["textures.vl2"]],"textures/terrain/iceworld.rockblue.png":["textures/terrain/IceWorld.RockBlue.png",["textures.vl2"]],"textures/terrain/iceworld.snow.png":["textures/terrain/IceWorld.Snow.png",["textures.vl2"]],"textures/terrain/iceworld.snowice.png":["textures/terrain/IceWorld.SnowIce.png",["textures.vl2"]],"textures/terrain/iceworld.snowrock.png":["textures/terrain/IceWorld.SnowRock.png",["textures.vl2"]],"textures/terrain/infbutch_rock02.png":["textures/terrain/infbutch_Rock02.png",["z_mappacks/z_DMP2-V0.6.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/island_sand2_d.png":["textures/terrain/island_sand2_d.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/island_sand_d.png":["textures/terrain/island_sand_d.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/kab_felsen1.png":["textures/terrain/kab_felsen1.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/kab_felsen2.png":["textures/terrain/kab_felsen2.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/kab_grass.png":["textures/terrain/kab_grass.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/kab_schnee.png":["textures/terrain/kab_schnee.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/kab_schnee4.png":["textures/terrain/kab_schnee4.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/kab_schneefelsen.png":["textures/terrain/kab_schneefelsen.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/kab_schneefelsen2.png":["textures/terrain/kab_schneefelsen2.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/kab_schneefelsen3.png":["textures/terrain/kab_schneefelsen3.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/lava_d.png":["textures/terrain/lava_d.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/lava_mars_d.png":["textures/terrain/lava_mars_d.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/lavaworld.crust.png":["textures/terrain/LavaWorld.Crust.png",["textures.vl2"]],"textures/terrain/lavaworld.lavarockhot.png":["textures/terrain/LavaWorld.LavaRockHot.png",["textures.vl2"]],"textures/terrain/lavaworld.muddyash.png":["textures/terrain/LavaWorld.MuddyAsh.png",["textures.vl2"]],"textures/terrain/lavaworld.rockblack.png":["textures/terrain/LavaWorld.RockBlack.PNG",["textures.vl2"]],"textures/terrain/legendslightsand.png":["textures/terrain/LegendsLightSand.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/terrain/lushworld.beachsand.png":["textures/terrain/lushworld.beachsand.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/lushworld.dirtmossy.png":["textures/terrain/LushWorld.DirtMossy.png",["textures.vl2"]],"textures/terrain/lushworld.grassdark.png":["textures/terrain/LushWorld.GrassDark.png",["textures.vl2"]],"textures/terrain/lushworld.grasslight.png":["textures/terrain/LushWorld.GrassLight.png",["textures.vl2"]],"textures/terrain/lushworld.grassmixed.png":["textures/terrain/LushWorld.GrassMixed.png",["textures.vl2"]],"textures/terrain/lushworld.lakebed.png":["textures/terrain/LushWorld.Lakebed.png",["textures.vl2"]],"textures/terrain/lushworld.lakesand.png":["textures/terrain/lushworld.lakesand.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/terrain/lushworld.rocklight.png":["textures/terrain/LushWorld.RockLight.png",["textures.vl2"]],"textures/terrain/lushworld.rockmossy.png":["textures/terrain/LushWorld.RockMossy.png",["textures.vl2"]],"textures/terrain/lushworld.tr2dirtmossy.png":["textures/terrain/LushWorld.TR2DirtMossy.png",["TR2final105-client.vl2"]],"textures/terrain/lushworld.tr2grassdark.png":["textures/terrain/LushWorld.TR2GrassDark.png",["TR2final105-client.vl2"]],"textures/terrain/lushworld.tr2grasslight.png":["textures/terrain/LushWorld.TR2GrassLight.png",["TR2final105-client.vl2"]],"textures/terrain/lushworld.tr2grassmixed.png":["textures/terrain/LushWorld.TR2GrassMixed.png",["TR2final105-client.vl2"]],"textures/terrain/lushworld.tr2rocklight.png":["textures/terrain/LushWorld.TR2RockLight.png",["TR2final105-client.vl2"]],"textures/terrain/lushworld.tr2rockmossy.png":["textures/terrain/LushWorld.TR2RockMossy.png",["TR2final105-client.vl2"]],"textures/terrain/mmd-1.png":["textures/terrain/mmd-1.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/mmd-2.png":["textures/terrain/mmd-2.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/mmd-3.png":["textures/terrain/mmd-3.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/mmd-5.png":["textures/terrain/mmd-5.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/moss_ground_d.png":["textures/terrain/moss_ground_d.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/mxrock0.png":["textures/terrain/mxrock0.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/terrain/mxrock2tu.png":["textures/terrain/mxrock2tu.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/terrain/mxrock2tv.png":["textures/terrain/mxrock2tv.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/terrain/nyctoglacier.png":["textures/terrain/NyctoGlacier.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/nyctorock.png":["textures/terrain/NyctoRock.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/nyctorock2.png":["textures/terrain/NyctoRock2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/nyctosnow.png":["textures/terrain/NyctoSnow.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/ril.darkrock.png":["textures/terrain/ril.darkrock.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/ril.darkrock1.png":["textures/terrain/ril.darkrock1.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/terrain/rilk.shingledrock.png":["textures/terrain/rilk.shingledrock.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/rilke.sand.png":["textures/terrain/rilke.sand.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/rmmd-1.png":["textures/terrain/rmmd-1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/terrain/rmmd-2.png":["textures/terrain/rmmd-2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/terrain/rmmd-3.png":["textures/terrain/rmmd-3.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/terrain/rmmd-5.png":["textures/terrain/rmmd-5.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/terrain/rmmddirty.png":["textures/terrain/rmmdDirty.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/terrain/rmmdgrey.png":["textures/terrain/rmmdGrey.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/terrain/rmmdpath.png":["textures/terrain/rmmdPath.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/terrain/rocklight.png":["textures/terrain/RockLight.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/terrain/rockwall.png":["textures/terrain/rockwall.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/sbfullsnow.png":["textures/terrain/sbfullsnow.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/terrain/sbrock.png":["textures/terrain/sbrock.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/terrain/sbsnowcrack.png":["textures/terrain/sbsnowcrack.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/terrain/sbsnowrockhvy.png":["textures/terrain/sbsnowrockhvy.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/terrain/sbsnowrocklt.png":["textures/terrain/sbsnowrocklt.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/terrain/seawaterfull2.png":["textures/terrain/seawaterfull2.PNG",["TR2final105-client.vl2"]],"textures/terrain/snow2_s.png":["textures/terrain/snow2_s.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/snow_a0.png":["textures/terrain/snow_a0.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/snow_a2.png":["textures/terrain/snow_a2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/snow_brownrock00.png":["textures/terrain/snow_brownRock00.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/snow_grass001.png":["textures/terrain/snow_grass001.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/terrain/snow_rock_5.png":["textures/terrain/snow_rock_5.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/tes_mystery1.png":["textures/terrain/tes_mystery1.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/tes_mystery2.png":["textures/terrain/tes_mystery2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/tes_test.png":["textures/terrain/tes_test.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/trigreystone10.png":["textures/terrain/TRIgreystone10.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/trigreystone7.png":["textures/terrain/TRIgreystone7.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/trilava_rock.png":["textures/terrain/TRIlava_rock.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/tristone_chip.png":["textures/terrain/TRIstone_chip.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/trisub_sand.png":["textures/terrain/TRIsub_sand.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/tropical1.png":["textures/terrain/tropical1.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/ugly2.png":["textures/terrain/ugly2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/wateregypt1.png":["textures/terrain/wateregypt1.PNG",["TR2final105-client.vl2"]],"textures/terrain/watr-icyblue2.png":["textures/terrain/watr-icyblue2.PNG",["TR2final105-client.vl2"]],"textures/terraintiles/blue.png":["textures/terrainTiles/blue.png",["textures.vl2"]],"textures/terraintiles/crust1.png":["textures/terrainTiles/crust1.png",["textures.vl2"]],"textures/terraintiles/crust2.png":["textures/terrainTiles/crust2.png",["textures.vl2"]],"textures/terraintiles/crust3.png":["textures/terrainTiles/crust3.png",["textures.vl2"]],"textures/terraintiles/crust4.png":["textures/terrainTiles/crust4.png",["textures.vl2"]],"textures/terraintiles/crust5.png":["textures/terrainTiles/crust5.png",["textures.vl2"]],"textures/terraintiles/crust6.png":["textures/terrainTiles/crust6.png",["textures.vl2"]],"textures/terraintiles/drtbumpy.png":["textures/terrainTiles/drtBumpy.PNG",["textures.vl2"]],"textures/terraintiles/drtbumpy01.png":["textures/terrainTiles/drtBumpy01.PNG",["textures.vl2"]],"textures/terraintiles/drtbumpy02.png":["textures/terrainTiles/drtBumpy02.PNG",["textures.vl2"]],"textures/terraintiles/drtbumpy03.png":["textures/terrainTiles/drtBumpy03.PNG",["textures.vl2"]],"textures/terraintiles/drtbumpy04.png":["textures/terrainTiles/drtBumpy04.PNG",["textures.vl2"]],"textures/terraintiles/drtbumpy05.png":["textures/terrainTiles/drtBumpy05.PNG",["textures.vl2"]],"textures/terraintiles/drtchipped.png":["textures/terrainTiles/drtChipped.PNG",["textures.vl2"]],"textures/terraintiles/drtchipped01.png":["textures/terrainTiles/drtChipped01.PNG",["textures.vl2"]],"textures/terraintiles/drtchipped02.png":["textures/terrainTiles/drtChipped02.PNG",["textures.vl2"]],"textures/terraintiles/drtchipped03.png":["textures/terrainTiles/drtChipped03.PNG",["textures.vl2"]],"textures/terraintiles/drtchipped04.png":["textures/terrainTiles/drtChipped04.PNG",["textures.vl2"]],"textures/terraintiles/drtchipped05.png":["textures/terrainTiles/drtChipped05.PNG",["textures.vl2"]],"textures/terraintiles/drtyelo.png":["textures/terrainTiles/drtYelo.PNG",["textures.vl2"]],"textures/terraintiles/drtyelo01.png":["textures/terrainTiles/drtYelo01.PNG",["textures.vl2"]],"textures/terraintiles/drtyelo02.png":["textures/terrainTiles/drtYelo02.PNG",["textures.vl2"]],"textures/terraintiles/drtyelo03.png":["textures/terrainTiles/drtYelo03.PNG",["textures.vl2"]],"textures/terraintiles/drtyelo04.png":["textures/terrainTiles/drtYelo04.PNG",["textures.vl2"]],"textures/terraintiles/drtyelocrk0.png":["textures/terrainTiles/drtYeloCrk0.PNG",["textures.vl2"]],"textures/terraintiles/drtyelocrk01.png":["textures/terrainTiles/drtYeloCrk01.PNG",["textures.vl2"]],"textures/terraintiles/drtyelocrk02.png":["textures/terrainTiles/drtYeloCrk02.PNG",["textures.vl2"]],"textures/terraintiles/drtyelocrk03.png":["textures/terrainTiles/drtYeloCrk03.PNG",["textures.vl2"]],"textures/terraintiles/drtyelocrk04.png":["textures/terrainTiles/drtYeloCrk04.PNG",["textures.vl2"]],"textures/terraintiles/frequency1.png":["textures/terrainTiles/Frequency1.png",["textures.vl2"]],"textures/terraintiles/frequency2.png":["textures/terrainTiles/Frequency2.png",["textures.vl2"]],"textures/terraintiles/frequency3.png":["textures/terrainTiles/Frequency3.png",["textures.vl2"]],"textures/terraintiles/frequency4.png":["textures/terrainTiles/Frequency4.png",["textures.vl2"]],"textures/terraintiles/frequency5.png":["textures/terrainTiles/Frequency5.png",["textures.vl2"]],"textures/terraintiles/frequency6.png":["textures/terrainTiles/Frequency6.png",["textures.vl2"]],"textures/terraintiles/grassdk1.png":["textures/terrainTiles/grassDk1.PNG",["textures.vl2"]],"textures/terraintiles/grassdk2.png":["textures/terrainTiles/grassDk2.PNG",["textures.vl2"]],"textures/terraintiles/grassdk3.png":["textures/terrainTiles/grassDk3.PNG",["textures.vl2"]],"textures/terraintiles/grassdk4.png":["textures/terrainTiles/grassDk4.PNG",["textures.vl2"]],"textures/terraintiles/grassdk5.png":["textures/terrainTiles/grassDk5.PNG",["textures.vl2"]],"textures/terraintiles/grassdk6.png":["textures/terrainTiles/grassDk6.PNG",["textures.vl2"]],"textures/terraintiles/grasslt1.png":["textures/terrainTiles/grassLt1.PNG",["textures.vl2"]],"textures/terraintiles/grasslt2.png":["textures/terrainTiles/grassLt2.PNG",["textures.vl2"]],"textures/terraintiles/grasslt3.png":["textures/terrainTiles/grassLt3.PNG",["textures.vl2"]],"textures/terraintiles/grasslt4.png":["textures/terrainTiles/grassLt4.PNG",["textures.vl2"]],"textures/terraintiles/grasslt5.png":["textures/terrainTiles/grassLt5.PNG",["textures.vl2"]],"textures/terraintiles/grassmix1.png":["textures/terrainTiles/grassMix1.PNG",["textures.vl2"]],"textures/terraintiles/grassmix2.png":["textures/terrainTiles/grassMix2.PNG",["textures.vl2"]],"textures/terraintiles/grassmix3.png":["textures/terrainTiles/grassMix3.PNG",["textures.vl2"]],"textures/terraintiles/grassmix4.png":["textures/terrainTiles/grassMix4.PNG",["textures.vl2"]],"textures/terraintiles/grassmix5.png":["textures/terrainTiles/grassMix5.PNG",["textures.vl2"]],"textures/terraintiles/grassmix6.png":["textures/terrainTiles/grassMix6.PNG",["textures.vl2"]],"textures/terraintiles/grassmix7.png":["textures/terrainTiles/grassMix7.PNG",["textures.vl2"]],"textures/terraintiles/green.png":["textures/terrainTiles/green.png",["textures.vl2"]],"textures/terraintiles/ice01.png":["textures/terrainTiles/ice01.png",["textures.vl2"]],"textures/terraintiles/ice02.png":["textures/terrainTiles/ice02.png",["textures.vl2"]],"textures/terraintiles/ice03.png":["textures/terrainTiles/ice03.png",["textures.vl2"]],"textures/terraintiles/ice04.png":["textures/terrainTiles/ice04.png",["textures.vl2"]],"textures/terraintiles/ice05.png":["textures/terrainTiles/ice05.png",["textures.vl2"]],"textures/terraintiles/ice06.png":["textures/terrainTiles/ice06.png",["textures.vl2"]],"textures/terraintiles/ice07.png":["textures/terrainTiles/ice07.png",["textures.vl2"]],"textures/terraintiles/ice08.png":["textures/terrainTiles/ice08.png",["textures.vl2"]],"textures/terraintiles/ice09.png":["textures/terrainTiles/ice09.png",["textures.vl2"]],"textures/terraintiles/ice10.png":["textures/terrainTiles/ice10.png",["textures.vl2"]],"textures/terraintiles/icesnow1.png":["textures/terrainTiles/icesnow1.png",["textures.vl2"]],"textures/terraintiles/icesnow2.png":["textures/terrainTiles/icesnow2.png",["textures.vl2"]],"textures/terraintiles/icesnow3.png":["textures/terrainTiles/icesnow3.png",["textures.vl2"]],"textures/terraintiles/icesnow4.png":["textures/terrainTiles/icesnow4.png",["textures.vl2"]],"textures/terraintiles/icesnow5.png":["textures/terrainTiles/icesnow5.png",["textures.vl2"]],"textures/terraintiles/icesnow6.png":["textures/terrainTiles/icesnow6.png",["textures.vl2"]],"textures/terraintiles/lavarockhot1.png":["textures/terrainTiles/lavarockhot1.png",["textures.vl2"]],"textures/terraintiles/lavarockhot2.png":["textures/terrainTiles/lavarockhot2.png",["textures.vl2"]],"textures/terraintiles/lavarockhot3.png":["textures/terrainTiles/lavarockhot3.png",["textures.vl2"]],"textures/terraintiles/lavarockhot4.png":["textures/terrainTiles/lavarockhot4.png",["textures.vl2"]],"textures/terraintiles/lavarockhot5.png":["textures/terrainTiles/lavarockhot5.png",["textures.vl2"]],"textures/terraintiles/mask.0001.png":["textures/terrainTiles/mask.0001.png",["textures.vl2"]],"textures/terraintiles/mask.0010.png":["textures/terrainTiles/mask.0010.png",["textures.vl2"]],"textures/terraintiles/mask.0011.png":["textures/terrainTiles/mask.0011.png",["textures.vl2"]],"textures/terraintiles/mask.0100.png":["textures/terrainTiles/mask.0100.png",["textures.vl2"]],"textures/terraintiles/mask.0101.png":["textures/terrainTiles/mask.0101.png",["textures.vl2"]],"textures/terraintiles/mask.0110.png":["textures/terrainTiles/mask.0110.png",["textures.vl2"]],"textures/terraintiles/mask.0111.png":["textures/terrainTiles/mask.0111.png",["textures.vl2"]],"textures/terraintiles/molten1.png":["textures/terrainTiles/molten1.PNG",["textures.vl2"]],"textures/terraintiles/mossdirt1.png":["textures/terrainTiles/mossDirt1.PNG",["textures.vl2"]],"textures/terraintiles/mossdirt2.png":["textures/terrainTiles/mossDirt2.PNG",["textures.vl2"]],"textures/terraintiles/mossdirt3.png":["textures/terrainTiles/mossDirt3.PNG",["textures.vl2"]],"textures/terraintiles/mossdirt4.png":["textures/terrainTiles/mossDirt4.PNG",["textures.vl2"]],"textures/terraintiles/mossdirt5.png":["textures/terrainTiles/mossDirt5.PNG",["textures.vl2"]],"textures/terraintiles/mossrock1.png":["textures/terrainTiles/mossRock1.PNG",["textures.vl2"]],"textures/terraintiles/mossrock2.png":["textures/terrainTiles/mossRock2.PNG",["textures.vl2"]],"textures/terraintiles/mossrock3.png":["textures/terrainTiles/mossRock3.PNG",["textures.vl2"]],"textures/terraintiles/mossrock4.png":["textures/terrainTiles/mossRock4.PNG",["textures.vl2"]],"textures/terraintiles/mossrock5.png":["textures/terrainTiles/mossRock5.PNG",["textures.vl2"]],"textures/terraintiles/muddyash1.png":["textures/terrainTiles/muddyash1.PNG",["textures.vl2"]],"textures/terraintiles/muddyash2.png":["textures/terrainTiles/muddyash2.PNG",["textures.vl2"]],"textures/terraintiles/muddyash3.png":["textures/terrainTiles/muddyash3.PNG",["textures.vl2"]],"textures/terraintiles/muddyash4.png":["textures/terrainTiles/muddyash4.PNG",["textures.vl2"]],"textures/terraintiles/muddyash5.png":["textures/terrainTiles/muddyash5.PNG",["textures.vl2"]],"textures/terraintiles/muddyash6.png":["textures/terrainTiles/muddyash6.PNG",["textures.vl2"]],"textures/terraintiles/outline.png":["textures/terrainTiles/outline.png",["textures.vl2"]],"textures/terraintiles/purple.png":["textures/terrainTiles/purple.png",["textures.vl2"]],"textures/terraintiles/red.png":["textures/terrainTiles/red.png",["textures.vl2"]],"textures/terraintiles/rockblue.png":["textures/terrainTiles/rockblue.png",["textures.vl2"]],"textures/terraintiles/rockblue1.png":["textures/terrainTiles/rockblue1.png",["textures.vl2"]],"textures/terraintiles/rockblue2.png":["textures/terrainTiles/rockblue2.png",["textures.vl2"]],"textures/terraintiles/rockblue3.png":["textures/terrainTiles/rockblue3.png",["textures.vl2"]],"textures/terraintiles/rockblue4.png":["textures/terrainTiles/rockblue4.png",["textures.vl2"]],"textures/terraintiles/rockblue5.png":["textures/terrainTiles/rockblue5.png",["textures.vl2"]],"textures/terraintiles/rockblue6.png":["textures/terrainTiles/rockblue6.png",["textures.vl2"]],"textures/terraintiles/rockbrcrak.png":["textures/terrainTiles/rockBrCrak.PNG",["textures.vl2"]],"textures/terraintiles/rockbrcrak01.png":["textures/terrainTiles/rockBrCrak01.PNG",["textures.vl2"]],"textures/terraintiles/rockbrcrak02.png":["textures/terrainTiles/rockBrCrak02.PNG",["textures.vl2"]],"textures/terraintiles/rockbrcrak03.png":["textures/terrainTiles/rockBrCrak03.PNG",["textures.vl2"]],"textures/terraintiles/rockbrcrak04.png":["textures/terrainTiles/rockBrCrak04.PNG",["textures.vl2"]],"textures/terraintiles/rockbrcrak05.png":["textures/terrainTiles/rockBrCrak05.PNG",["textures.vl2"]],"textures/terraintiles/rockbrown.png":["textures/terrainTiles/rockbrown.PNG",["textures.vl2"]],"textures/terraintiles/rockbrown01.png":["textures/terrainTiles/rockbrown01.PNG",["textures.vl2"]],"textures/terraintiles/rockbrown02.png":["textures/terrainTiles/rockbrown02.PNG",["textures.vl2"]],"textures/terraintiles/rockbrown03.png":["textures/terrainTiles/rockbrown03.PNG",["textures.vl2"]],"textures/terraintiles/rockbrown04.png":["textures/terrainTiles/rockbrown04.PNG",["textures.vl2"]],"textures/terraintiles/rockbrown05.png":["textures/terrainTiles/rockbrown05.PNG",["textures.vl2"]],"textures/terraintiles/rockchipd.png":["textures/terrainTiles/rockchipd.PNG",["textures.vl2"]],"textures/terraintiles/rockchipd01.png":["textures/terrainTiles/rockchipd01.PNG",["textures.vl2"]],"textures/terraintiles/rockchipd02.png":["textures/terrainTiles/rockchipd02.PNG",["textures.vl2"]],"textures/terraintiles/rockchipd03.png":["textures/terrainTiles/rockchipd03.PNG",["textures.vl2"]],"textures/terraintiles/rockchipd04.png":["textures/terrainTiles/rockchipd04.PNG",["textures.vl2"]],"textures/terraintiles/rockchipd05.png":["textures/terrainTiles/rockchipd05.PNG",["textures.vl2"]],"textures/terraintiles/rockcrak1.png":["textures/terrainTiles/rockcrak1.PNG",["textures.vl2"]],"textures/terraintiles/rockcrak2.png":["textures/terrainTiles/rockcrak2.PNG",["textures.vl2"]],"textures/terraintiles/rockcrak3.png":["textures/terrainTiles/rockcrak3.PNG",["textures.vl2"]],"textures/terraintiles/rockcrak4.png":["textures/terrainTiles/rockcrak4.PNG",["textures.vl2"]],"textures/terraintiles/rockcrak5.png":["textures/terrainTiles/rockcrak5.PNG",["textures.vl2"]],"textures/terraintiles/rockcrak6.png":["textures/terrainTiles/rockcrak6.PNG",["textures.vl2"]],"textures/terraintiles/rocklt1.png":["textures/terrainTiles/rockLt1.PNG",["textures.vl2"]],"textures/terraintiles/rocklt2.png":["textures/terrainTiles/rockLt2.PNG",["textures.vl2"]],"textures/terraintiles/rocklt3.png":["textures/terrainTiles/rockLt3.PNG",["textures.vl2"]],"textures/terraintiles/rocklt4.png":["textures/terrainTiles/rockLt4.PNG",["textures.vl2"]],"textures/terraintiles/rocklt5.png":["textures/terrainTiles/rockLt5.PNG",["textures.vl2"]],"textures/terraintiles/rocksmth1.png":["textures/terrainTiles/rocksmth1.PNG",["textures.vl2"]],"textures/terraintiles/rocksmth2.png":["textures/terrainTiles/rocksmth2.PNG",["textures.vl2"]],"textures/terraintiles/rocksmth3.png":["textures/terrainTiles/rocksmth3.PNG",["textures.vl2"]],"textures/terraintiles/rocksmth4.png":["textures/terrainTiles/rocksmth4.PNG",["textures.vl2"]],"textures/terraintiles/rocksmth5.png":["textures/terrainTiles/rocksmth5.PNG",["textures.vl2"]],"textures/terraintiles/rocksmth6.png":["textures/terrainTiles/rocksmth6.PNG",["textures.vl2"]],"textures/terraintiles/rocksmth6x.png":["textures/terrainTiles/rocksmth6x.PNG",["textures.vl2"]],"textures/terraintiles/sandbrnt1.png":["textures/terrainTiles/SandBrnt1.PNG",["textures.vl2"]],"textures/terraintiles/sandbrnt2.png":["textures/terrainTiles/SandBrnt2.PNG",["textures.vl2"]],"textures/terraintiles/sandbrnt3.png":["textures/terrainTiles/SandBrnt3.PNG",["textures.vl2"]],"textures/terraintiles/sandbrnt4.png":["textures/terrainTiles/SandBrnt4.PNG",["textures.vl2"]],"textures/terraintiles/sandbrnt5.png":["textures/terrainTiles/SandBrnt5.PNG",["textures.vl2"]],"textures/terraintiles/sanddk1.png":["textures/terrainTiles/SANDDK1.PNG",["textures.vl2"]],"textures/terraintiles/sanddk2.png":["textures/terrainTiles/SANDDK2.PNG",["textures.vl2"]],"textures/terraintiles/sanddk3.png":["textures/terrainTiles/SANDDK3.PNG",["textures.vl2"]],"textures/terraintiles/sanddk4.png":["textures/terrainTiles/SANDDK4.PNG",["textures.vl2"]],"textures/terraintiles/sanddk5.png":["textures/terrainTiles/SANDDK5.PNG",["textures.vl2"]],"textures/terraintiles/sandorng1.png":["textures/terrainTiles/sandorng1.PNG",["textures.vl2"]],"textures/terraintiles/sandorng2.png":["textures/terrainTiles/sandorng2.PNG",["textures.vl2"]],"textures/terraintiles/sandorng3.png":["textures/terrainTiles/sandorng3.PNG",["textures.vl2"]],"textures/terraintiles/sandorng4.png":["textures/terrainTiles/sandorng4.PNG",["textures.vl2"]],"textures/terraintiles/sandorng5.png":["textures/terrainTiles/sandorng5.PNG",["textures.vl2"]],"textures/terraintiles/sandoxid1.png":["textures/terrainTiles/SandOxid1.PNG",["textures.vl2"]],"textures/terraintiles/sandoxid2.png":["textures/terrainTiles/SandOxid2.PNG",["textures.vl2"]],"textures/terraintiles/sandoxid3.png":["textures/terrainTiles/SandOxid3.PNG",["textures.vl2"]],"textures/terraintiles/sandoxid4.png":["textures/terrainTiles/SandOxid4.PNG",["textures.vl2"]],"textures/terraintiles/sandoxid5.png":["textures/terrainTiles/SandOxid5.PNG",["textures.vl2"]],"textures/terraintiles/sandreg1.png":["textures/terrainTiles/SANDREG1.PNG",["textures.vl2"]],"textures/terraintiles/sandreg2.png":["textures/terrainTiles/SANDREG2.PNG",["textures.vl2"]],"textures/terraintiles/sandreg3.png":["textures/terrainTiles/SANDREG3.PNG",["textures.vl2"]],"textures/terraintiles/sandreg4.png":["textures/terrainTiles/SANDREG4.PNG",["textures.vl2"]],"textures/terraintiles/sandreg5.png":["textures/terrainTiles/SANDREG5.PNG",["textures.vl2"]],"textures/terraintiles/sealt1.png":["textures/terrainTiles/seaLt1.PNG",["textures.vl2"]],"textures/terraintiles/sealt2.png":["textures/terrainTiles/seaLt2.PNG",["textures.vl2"]],"textures/terraintiles/sealt3.png":["textures/terrainTiles/seaLt3.PNG",["textures.vl2"]],"textures/terraintiles/sealt4.png":["textures/terrainTiles/seaLt4.PNG",["textures.vl2"]],"textures/terraintiles/sealt5.png":["textures/terrainTiles/seaLt5.PNG",["textures.vl2"]],"textures/terraintiles/snow1.png":["textures/terrainTiles/snow1.png",["textures.vl2"]],"textures/terraintiles/snow2.png":["textures/terrainTiles/snow2.png",["textures.vl2"]],"textures/terraintiles/snow3.png":["textures/terrainTiles/snow3.png",["textures.vl2"]],"textures/terraintiles/snow4.png":["textures/terrainTiles/snow4.png",["textures.vl2"]],"textures/terraintiles/snow5.png":["textures/terrainTiles/snow5.png",["textures.vl2"]],"textures/terraintiles/snow6.png":["textures/terrainTiles/snow6.png",["textures.vl2"]],"textures/terraintiles/snowrock1.png":["textures/terrainTiles/snowrock1.png",["textures.vl2"]],"textures/terraintiles/snowrock2.png":["textures/terrainTiles/snowrock2.png",["textures.vl2"]],"textures/terraintiles/snowrock3.png":["textures/terrainTiles/snowrock3.png",["textures.vl2"]],"textures/terraintiles/snowrock4.png":["textures/terrainTiles/snowrock4.png",["textures.vl2"]],"textures/terraintiles/snowrock5.png":["textures/terrainTiles/snowrock5.png",["textures.vl2"]],"textures/terraintiles/snowrock6.png":["textures/terrainTiles/snowrock6.png",["textures.vl2"]],"textures/terraintiles/white.png":["textures/terrainTiles/white.png",["textures.vl2"]],"textures/tesla.dml":["textures/tesla.dml",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/tesla/skies/teslaski_v5_bk.png":["textures/tesla/skies/teslaski_v5_bk.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/tesla/skies/teslaski_v5_dn.png":["textures/tesla/skies/teslaski_v5_dn.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/tesla/skies/teslaski_v5_fr.png":["textures/tesla/skies/teslaski_v5_fr.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/tesla/skies/teslaski_v5_lf.png":["textures/tesla/skies/teslaski_v5_lf.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/tesla/skies/teslaski_v5_rt.png":["textures/tesla/skies/teslaski_v5_rt.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/tesla/skies/teslaski_v5_up.png":["textures/tesla/skies/teslaski_v5_up.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/teslaski_v5_bk.png":["textures/teslaski_v5_bk.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/teslaski_v5_dn.png":["textures/teslaski_v5_DN.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/teslaski_v5_fr.png":["textures/teslaski_v5_fr.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/teslaski_v5_lf.png":["textures/teslaski_v5_lf.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/teslaski_v5_rt.png":["textures/teslaski_v5_rt.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/teslaski_v5_up.png":["textures/teslaski_v5_up.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/texticons/bullet_1.png":["textures/texticons/bullet_1.png",["textures.vl2"]],"textures/texticons/bullet_2.png":["textures/texticons/bullet_2.png",["textures.vl2"]],"textures/texticons/cred_logo1.png":["textures/texticons/Cred_Logo1.png",["textures.vl2"]],"textures/texticons/cred_logo5.png":["textures/texticons/Cred_logo5.png",["textures.vl2"]],"textures/texticons/dpub/dpub_logo.png":["textures/texticons/dpub/DPUB_logo.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/texticons/dpub/dpub_logo_beer.png":["textures/texticons/dpub/DPUB_logo_Beer.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/texticons/dpub/dpub_logo_bethinking.png":["textures/texticons/dpub/DPUB_logo_BEthinking.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/texticons/dpub/dpub_logo_dermfused.png":["textures/texticons/dpub/DPUB_logo_Dermfused.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/texticons/dpub/dpub_logo_spook.png":["textures/texticons/dpub/DPUB_logo_Spook.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/texticons/dpub/dpub_logo_turkey.png":["textures/texticons/dpub/DPUB_logo_Turkey.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/texticons/dpub/dpub_logo_xmas.png":["textures/texticons/dpub/DPUB_logo_Xmas.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/texticons/dpub/dpub_logo_xoxo.png":["textures/texticons/dpub/DPUB_logo_Xoxo.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/texticons/flag_beagle.jpg":["textures/texticons/Flag_Beagle.jpg",["textures.vl2"]],"textures/texticons/flag_bioderm.jpg":["textures/texticons/Flag_Bioderm.jpg",["textures.vl2"]],"textures/texticons/flag_dsword.jpg":["textures/texticons/Flag_DSword.jpg",["textures.vl2"]],"textures/texticons/flag_phoenix.jpg":["textures/texticons/Flag_Phoenix.jpg",["textures.vl2"]],"textures/texticons/flag_starwolf.jpg":["textures/texticons/Flag_Starwolf.jpg",["textures.vl2"]],"textures/texticons/flag_t2.jpg":["textures/texticons/Flag_T2.jpg",["textures.vl2"]],"textures/texticons/heavy.jpg":["textures/texticons/Heavy.jpg",["textures.vl2"]],"textures/texticons/logo_small_beagle.jpg":["textures/texticons/Logo_small_beagle.jpg",["textures.vl2"]],"textures/texticons/logo_small_bioderm.jpg":["textures/texticons/Logo_small_bioderm.jpg",["textures.vl2"]],"textures/texticons/logo_small_dsword.jpg":["textures/texticons/Logo_small_DSword.jpg",["textures.vl2"]],"textures/texticons/logo_small_inferno.jpg":["textures/texticons/Logo_small_Inferno.jpg",["textures.vl2"]],"textures/texticons/logo_small_phoenix.jpg":["textures/texticons/Logo_small_Phoenix.jpg",["textures.vl2"]],"textures/texticons/logo_small_starwolf.jpg":["textures/texticons/Logo_small_Starwolf.jpg",["textures.vl2"]],"textures/texticons/logo_small_storm.jpg":["textures/texticons/Logo_small_Storm.jpg",["textures.vl2"]],"textures/texticons/mute_speaker.png":["textures/texticons/mute_speaker.png",["textures.vl2"]],"textures/texticons/sidebar1.jpg":["textures/texticons/sidebar1.jpg",["textures.vl2"]],"textures/texticons/sidebar2.jpg":["textures/texticons/sidebar2.jpg",["textures.vl2"]],"textures/texticons/sidebar3.jpg":["textures/texticons/sidebar3.jpg",["textures.vl2"]],"textures/texticons/sys_op_eye.png":["textures/texticons/sys_op_eye.png",["textures.vl2"]],"textures/texticons/twb/twb_action_01.jpg":["textures/texticons/twb/twb_action_01.jpg",["textures.vl2"]],"textures/texticons/twb/twb_action_02.jpg":["textures/texticons/twb/twb_action_02.jpg",["textures.vl2"]],"textures/texticons/twb/twb_action_03.jpg":["textures/texticons/twb/twb_action_03.jpg",["textures.vl2"]],"textures/texticons/twb/twb_action_04.jpg":["textures/texticons/twb/twb_action_04.jpg",["textures.vl2"]],"textures/texticons/twb/twb_action_05.jpg":["textures/texticons/twb/twb_action_05.jpg",["textures.vl2"]],"textures/texticons/twb/twb_action_06.jpg":["textures/texticons/twb/twb_action_06.jpg",["textures.vl2"]],"textures/texticons/twb/twb_action_08.jpg":["textures/texticons/twb/twb_action_08.jpg",["textures.vl2"]],"textures/texticons/twb/twb_action_10.jpg":["textures/texticons/twb/twb_action_10.jpg",["textures.vl2"]],"textures/texticons/twb/twb_be_flight.jpg":["textures/texticons/twb/twb_BE_FLight.jpg",["textures.vl2"]],"textures/texticons/twb/twb_be_fmed.jpg":["textures/texticons/twb/twb_BE_FMed.jpg",["textures.vl2"]],"textures/texticons/twb/twb_be_heavy.jpg":["textures/texticons/twb/twb_BE_Heavy.jpg",["textures.vl2"]],"textures/texticons/twb/twb_be_mlight.jpg":["textures/texticons/twb/twb_BE_MLight.jpg",["textures.vl2"]],"textures/texticons/twb/twb_be_mmed.jpg":["textures/texticons/twb/twb_BE_MMed.JPG",["textures.vl2"]],"textures/texticons/twb/twb_bioderm.jpg":["textures/texticons/twb/twb_Bioderm.jpg",["textures.vl2"]],"textures/texticons/twb/twb_bioderm_light.jpg":["textures/texticons/twb/twb_Bioderm_Light.jpg",["textures.vl2"]],"textures/texticons/twb/twb_bioderm_medium.jpg":["textures/texticons/twb/twb_Bioderm_Medium.jpg",["textures.vl2"]],"textures/texticons/twb/twb_blaster.jpg":["textures/texticons/twb/twb_Blaster.jpg",["textures.vl2"]],"textures/texticons/twb/twb_bloodeagle.jpg":["textures/texticons/twb/twb_BloodEagle.jpg",["textures.vl2"]],"textures/texticons/twb/twb_blowngen_01.jpg":["textures/texticons/twb/twb_blowngen_01.jpg",["textures.vl2"]],"textures/texticons/twb/twb_chaingun.jpg":["textures/texticons/twb/twb_Chaingun.jpg",["textures.vl2"]],"textures/texticons/twb/twb_diamondsword.jpg":["textures/texticons/twb/twb_DiamondSword.JPG",["textures.vl2"]],"textures/texticons/twb/twb_ds_flight.jpg":["textures/texticons/twb/twb_DS_FLight.JPG",["textures.vl2"]],"textures/texticons/twb/twb_ds_fmed.jpg":["textures/texticons/twb/twb_DS_Fmed.jpg",["textures.vl2"]],"textures/texticons/twb/twb_ds_heavy.jpg":["textures/texticons/twb/twb_DS_Heavy.jpg",["textures.vl2"]],"textures/texticons/twb/twb_ds_mmed.jpg":["textures/texticons/twb/twb_DS_MMed.jpg",["textures.vl2"]],"textures/texticons/twb/twb_elfprojector.jpg":["textures/texticons/twb/twb_Elfprojector.jpg",["textures.vl2"]],"textures/texticons/twb/twb_fusionmortar.jpg":["textures/texticons/twb/twb_Fusionmortar.jpg",["textures.vl2"]],"textures/texticons/twb/twb_grenadelauncher.jpg":["textures/texticons/twb/twb_Grenadelauncher.jpg",["textures.vl2"]],"textures/texticons/twb/twb_harbingers.jpg":["textures/texticons/twb/twb_Harbingers.JPG",["textures.vl2"]],"textures/texticons/twb/twb_havoc.jpg":["textures/texticons/twb/twb_Havoc.JPG",["textures.vl2"]],"textures/texticons/twb/twb_hr_flight.jpg":["textures/texticons/twb/twb_HR_FLight.JPG",["textures.vl2"]],"textures/texticons/twb/twb_hr_fmed.jpg":["textures/texticons/twb/twb_HR_FMed.jpg",["textures.vl2"]],"textures/texticons/twb/twb_hr_heavy.jpg":["textures/texticons/twb/twb_HR_Heavy.jpg",["textures.vl2"]],"textures/texticons/twb/twb_hr_mlight.jpg":["textures/texticons/twb/twb_HR_MLight.jpg",["textures.vl2"]],"textures/texticons/twb/twb_hr_mmed.jpg":["textures/texticons/twb/twb_HR_MMed.JPG",["textures.vl2"]],"textures/texticons/twb/twb_inferno_01.jpg":["textures/texticons/twb/twb_inferno_01.jpg",["textures.vl2"]],"textures/texticons/twb/twb_inferno_02.jpg":["textures/texticons/twb/twb_inferno_02.jpg",["textures.vl2"]],"textures/texticons/twb/twb_inferno_03.jpg":["textures/texticons/twb/twb_inferno_03.jpg",["textures.vl2"]],"textures/texticons/twb/twb_lakedebris_01.jpg":["textures/texticons/twb/twb_lakedebris_01.jpg",["textures.vl2"]],"textures/texticons/twb/twb_lakedebris_03.jpg":["textures/texticons/twb/twb_lakedebris_03.jpg",["textures.vl2"]],"textures/texticons/twb/twb_laserrifle.jpg":["textures/texticons/twb/twb_Laserrifle.jpg",["textures.vl2"]],"textures/texticons/twb/twb_lineup.jpg":["textures/texticons/twb/twb_Lineup.jpg",["textures.vl2"]],"textures/texticons/twb/twb_missilelauncher.jpg":["textures/texticons/twb/twb_Missilelauncher.jpg",["textures.vl2"]],"textures/texticons/twb/twb_plasmarifle.jpg":["textures/texticons/twb/twb_Plasmarifle.jpg",["textures.vl2"]],"textures/texticons/twb/twb_shocklance.jpg":["textures/texticons/twb/twb_shocklance.jpg",["textures.vl2"]],"textures/texticons/twb/twb_shrike.jpg":["textures/texticons/twb/twb_Shrike.jpg",["textures.vl2"]],"textures/texticons/twb/twb_soclose.jpg":["textures/texticons/twb/twb_soclose.jpg",["textures.vl2"]],"textures/texticons/twb/twb_spinfusor.jpg":["textures/texticons/twb/twb_Spinfusor.jpg",["textures.vl2"]],"textures/texticons/twb/twb_starwolf_fem.jpg":["textures/texticons/twb/twb_starwolf_fem.jpg",["textures.vl2"]],"textures/texticons/twb/twb_starwolf_shrike.jpg":["textures/texticons/twb/twb_starwolf_shrike.jpg",["textures.vl2"]],"textures/texticons/twb/twb_starwolves.jpg":["textures/texticons/twb/twb_Starwolves.JPG",["textures.vl2"]],"textures/texticons/twb/twb_sw_flight.jpg":["textures/texticons/twb/twb_SW_FLight.jpg",["textures.vl2"]],"textures/texticons/twb/twb_sw_fmedium.jpg":["textures/texticons/twb/twb_SW_FMedium.jpg",["textures.vl2"]],"textures/texticons/twb/twb_sw_heavy.jpg":["textures/texticons/twb/twb_SW_Heavy.jpg",["textures.vl2"]],"textures/texticons/twb/twb_sw_mlight.jpg":["textures/texticons/twb/twb_SW_MLight.jpg",["textures.vl2"]],"textures/texticons/twb/twb_sw_mmed.jpg":["textures/texticons/twb/twb_SW_MMed.jpg",["textures.vl2"]],"textures/texticons/twb/twb_thundersword.jpg":["textures/texticons/twb/twb_Thundersword.jpg",["textures.vl2"]],"textures/texticons/twb/twb_tribes2.jpg":["textures/texticons/twb/twb_TRIBES2.jpg",["textures.vl2"]],"textures/texticons/twb/twb_wateraction_01.jpg":["textures/texticons/twb/twb_wateraction_01.jpg",["textures.vl2"]],"textures/texticons/twb/twb_waterdemise_01.jpg":["textures/texticons/twb/twb_waterdemise_01.jpg",["textures.vl2"]],"textures/texticons/twb/twb_waterdemise_03.jpg":["textures/texticons/twb/twb_waterdemise_03.jpg",["textures.vl2"]],"textures/texticons/twb/twb_waterdemise_04.jpg":["textures/texticons/twb/twb_waterdemise_04.jpg",["textures.vl2"]],"textures/texticons/twb/twb_woohoo_01.jpg":["textures/texticons/twb/twb_woohoo_01.jpg",["textures.vl2"]],"textures/tl_magnum.dml":["textures/TL_Magnum.dml",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/tlroddtilecln.png":["textures/tlroddtilecln.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/tmtllight.png":["textures/tmtllight.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/tn_logo.png":["textures/tn_logo.png",["T2csri.vl2"]],"textures/tr1_1.png":["textures/TR1_1.png",["TR2final105-client.vl2"]],"textures/tr1_2.png":["textures/TR1_2.png",["TR2final105-client.vl2"]],"textures/tr1_3.png":["textures/TR1_3.png",["TR2final105-client.vl2"]],"textures/tr1_4.png":["textures/TR1_4.png",["TR2final105-client.vl2"]],"textures/tr1_5.png":["textures/TR1_5.png",["TR2final105-client.vl2"]],"textures/tr1_7.png":["textures/TR1_7.png",["TR2final105-client.vl2"]],"textures/tr1_cloud1.png":["textures/TR1_Cloud1.png",["TR2final105-client.vl2"]],"textures/tr1_cloud2.png":["textures/TR1_Cloud2.png",["TR2final105-client.vl2"]],"textures/tr1_nef.dml":["textures/TR1_Nef.dml",["TR2final105-client.vl2"]],"textures/tr2-1.lmale.png":["textures/TR2-1.lmale.png",["TR2final105-client.vl2"]],"textures/tr2-2.lmale.png":["textures/TR2-2.lmale.png",["TR2final105-client.vl2"]],"textures/transparentbg.png":["textures/transparentBG.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/tyre.dml":["textures/tyre.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/v5planet/skies/starfallen_bk.png":["textures/v5planet/skies/Starfallen_BK.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/v5planet/skies/starfallen_fr.png":["textures/v5planet/skies/Starfallen_FR.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/v5planet/skies/starfallen_lf.png":["textures/v5planet/skies/Starfallen_LF.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/v5planet/skies/starfallen_rt.png":["textures/v5planet/skies/Starfallen_RT.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/v5planet/skies/starfallen_up.png":["textures/v5planet/skies/Starfallen_UP.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/violet.dml":["textures/violet.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/wallmetalp.png":["textures/WallMetalP.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/wave_dark.dml":["textures/wave_dark.dml",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/winterskyday.dml":["textures/winterskyday.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/xnight.dml":["textures/xnight.dml",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]]}`),missions:JSON.parse(`{"2ArenaDome":{"resourcePath":"missions/2arenadome.mis","displayName":"2-ArenaDome","missionTypes":["Arena"]},"2ArenaValley":{"resourcePath":"missions/2arenavalley.mis","displayName":null,"missionTypes":["Arena"]},"2DustBowl":{"resourcePath":"missions/2dustbowl.mis","displayName":null,"missionTypes":["Arena"]},"2Flyersarena":{"resourcePath":"missions/2flyersarena.mis","displayName":null,"missionTypes":["Arena"]},"2IceDome":{"resourcePath":"missions/2icedome.mis","displayName":null,"missionTypes":["Arena"]},"2IndoorIntensity":{"resourcePath":"missions/2indoorintensity.mis","displayName":null,"missionTypes":["Arena"]},"aabaa":{"resourcePath":"missions/aabaa.mis","displayName":"Aabaa","missionTypes":["CTF"]},"aabaaGH":{"resourcePath":"missions/aabaagh.mis","displayName":"Aabaa Goonified","missionTypes":["CTF"]},"Aardvark_x2":{"resourcePath":"missions/aardvark_x2.mis","displayName":"Aardvark (x2)","missionTypes":["CTF"]},"Abaddon_x2":{"resourcePath":"missions/abaddon_x2.mis","displayName":"Abaddon (x2)","missionTypes":["CTF"]},"Abominable":{"resourcePath":"missions/abominable.mis","displayName":null,"missionTypes":["CnH"]},"AcidRain":{"resourcePath":"missions/acidrain.mis","displayName":"Acid Rain","missionTypes":["CTF","DnD"]},"Aeroena":{"resourcePath":"missions/aeroena.mis","displayName":"Aeroena","missionTypes":["Arena"]},"AgentsOfFortune":{"resourcePath":"missions/agentsoffortune.mis","displayName":"Agents of Fortune","missionTypes":["DM","Hunters","TeamHunters"]},"Agorazscium":{"resourcePath":"missions/agorazscium.mis","displayName":"Agorazscium","missionTypes":["CTF"]},"Alcatraz":{"resourcePath":"missions/alcatraz.mis","displayName":null,"missionTypes":["Siege"]},"anabatic":{"resourcePath":"missions/anabatic.mis","displayName":"DMP2-Anabatic","missionTypes":["CTF"]},"anomaly":{"resourcePath":"missions/anomaly.mis","displayName":"DMP2-Anomaly","missionTypes":["CTF"]},"Archipelago":{"resourcePath":"missions/archipelago.mis","displayName":"Archipelago","missionTypes":["CTF"]},"ArenaDome":{"resourcePath":"missions/arenadome.mis","displayName":"ArenaDome","missionTypes":["CTF","SCtF"]},"ArenaDomeDM":{"resourcePath":"missions/arenadomedm.mis","displayName":"ArenaDomeDM","missionTypes":["DM"]},"ArenaHeaven":{"resourcePath":"missions/arenaheaven.mis","displayName":null,"missionTypes":["Arena"]},"ArenaHell":{"resourcePath":"missions/arenahell.mis","displayName":"[Original]ArenaHell","missionTypes":["Arena"]},"ArenaHell2":{"resourcePath":"missions/arenahell2.mis","displayName":"_ArenaHell II","missionTypes":["Arena"]},"ArenaInTheHill":{"resourcePath":"missions/arenainthehill.mis","displayName":"Arena In The Hill","missionTypes":["Arena"]},"ArenaUnderTheHill":{"resourcePath":"missions/arenaunderthehill.mis","displayName":"[Original]AUTH Clientside","missionTypes":["Arena"]},"Arrakis":{"resourcePath":"missions/arrakis.mis","displayName":"Arrakis","missionTypes":["Rabbit","LakRabbit"]},"ArrowPass_x2":{"resourcePath":"missions/arrowpass_x2.mis","displayName":"Arrow Pass (x2)","missionTypes":["CTF"]},"AryoArena":{"resourcePath":"missions/aryoarena.mis","displayName":"_AyroArena","missionTypes":["Arena"]},"AshesToAshes":{"resourcePath":"missions/ashestoashes.mis","displayName":"Ashes to Ashes","missionTypes":["CnH"]},"AstersDescent":{"resourcePath":"missions/astersdescent.mis","displayName":"Aster's Descent","missionTypes":["CTF"]},"AstroGrabber_x2":{"resourcePath":"missions/astrograbber_x2.mis","displayName":"Astro Grabber (x2)","missionTypes":["CTF"]},"Attrition":{"resourcePath":"missions/attrition.mis","displayName":"Attrition","missionTypes":["CTF","SCtF"]},"AttritionLT":{"resourcePath":"missions/attritionlt.mis","displayName":"Attrition LT","missionTypes":["LCTF"]},"Azoth":{"resourcePath":"missions/azoth.mis","displayName":"Azoth","missionTypes":["CTF"]},"BasatinLT":{"resourcePath":"missions/basatinlt.mis","displayName":"DMP2-Basatin LT","missionTypes":["SCtF","LCTF"]},"BasinFury":{"resourcePath":"missions/basinfury.mis","displayName":"BasinFury","missionTypes":["CTF","SCtF"]},"BattleGrove":{"resourcePath":"missions/battlegrove.mis","displayName":"Battle Grove","missionTypes":["CTF"]},"BeachBlitz_x2":{"resourcePath":"missions/beachblitz_x2.mis","displayName":"Beach Blitz (x2)","missionTypes":["CTF"]},"BeggarsRun":{"resourcePath":"missions/beggarsrun.mis","displayName":"Beggar's Run","missionTypes":["CTF"]},"BeggarsRunLak":{"resourcePath":"missions/beggarsrunlak.mis","displayName":"Beggar's Run","missionTypes":["LakRabbit"]},"BeggarsRunLT":{"resourcePath":"missions/beggarsrunlt.mis","displayName":"Beggar's Run LT","missionTypes":["LCTF"]},"berlard":{"resourcePath":"missions/berlard.mis","displayName":"Berlard","missionTypes":["CTF","SCtF"]},"BerylBasin":{"resourcePath":"missions/berylbasin.mis","displayName":null,"missionTypes":["CTF"]},"Blastside_nef":{"resourcePath":"missions/blastside_nef.mis","displayName":"Blastside","missionTypes":["CTF","DnD"]},"Blink":{"resourcePath":"missions/blink.mis","displayName":"Blink","missionTypes":["CTF"]},"BlueMoon_x2":{"resourcePath":"missions/bluemoon_x2.mis","displayName":"Blue Moon (x2)","missionTypes":["CTF"]},"BolderDash_x2":{"resourcePath":"missions/bolderdash_x2.mis","displayName":"Bolder Dash (x2)","missionTypes":["CTF","DnD"]},"bombardment":{"resourcePath":"missions/bombardment.mis","displayName":"DMP2-Bombardment","missionTypes":["CTF"]},"Bonespur":{"resourcePath":"missions/bonespur.mis","displayName":"Bonespur","missionTypes":["CTF"]},"BonespurLT":{"resourcePath":"missions/bonespurlt.mis","displayName":"Bonespur LT","missionTypes":["LCTF"]},"Boss_x2":{"resourcePath":"missions/boss_x2.mis","displayName":"Boss (x2)","missionTypes":["CTF"]},"BoxLak":{"resourcePath":"missions/boxlak.mis","displayName":"Box Lak","missionTypes":["LakRabbit"]},"Bridgepoint":{"resourcePath":"missions/bridgepoint.mis","displayName":"Bridgepoint","missionTypes":["CTF"]},"BridgeTooFar":{"resourcePath":"missions/bridgetoofar.mis","displayName":"Bridge Too Far","missionTypes":["Siege"]},"BrigDM":{"resourcePath":"missions/brigdm.mis","displayName":"BrigDM","missionTypes":["DM"]},"Broadside_nef":{"resourcePath":"missions/broadside_nef.mis","displayName":"Broadside","missionTypes":["CTF","DnD"]},"BruteForce_x2":{"resourcePath":"missions/bruteforce_x2.mis","displayName":"Brute Force (x2)","missionTypes":["DnD"]},"Bulwark":{"resourcePath":"missions/bulwark.mis","displayName":"Bulwark","missionTypes":["CTF","SCtF"]},"BulwarkLT":{"resourcePath":"missions/bulwarklt.mis","displayName":"Bulwark LT","missionTypes":["LCTF"]},"Burstside":{"resourcePath":"missions/burstside.mis","displayName":"Burstside","missionTypes":["CTF"]},"Cadaver":{"resourcePath":"missions/cadaver.mis","displayName":"Cadaver","missionTypes":["CTF"]},"Caldera":{"resourcePath":"missions/caldera.mis","displayName":null,"missionTypes":["Siege"]},"Camelland":{"resourcePath":"missions/camelland.mis","displayName":"Camel Land","missionTypes":["CTF"]},"CamellandLT":{"resourcePath":"missions/camellandlt.mis","displayName":"CamelLand LT","missionTypes":["LCTF"]},"CankerLak":{"resourcePath":"missions/cankerlak.mis","displayName":"Canker","missionTypes":["LakRabbit","LakZM","TeamLak"]},"Canyonrun_x2":{"resourcePath":"missions/canyonrun_x2.mis","displayName":"Canyon Run (x2)","missionTypes":["CTF"]},"CapriLT":{"resourcePath":"missions/caprilt.mis","displayName":"Capri LT","missionTypes":["LCTF"]},"Casern_Cavite":{"resourcePath":"missions/casern_cavite.mis","displayName":"Casern Cavite","missionTypes":["Hunters","Bounty","DM"]},"CatwalkLT":{"resourcePath":"missions/catwalklt.mis","displayName":"DMP2-Catwalk LT","missionTypes":["LCTF","SCtF"]},"ChasmClash":{"resourcePath":"missions/chasmclash.mis","displayName":"ChasmClash","missionTypes":["CTF"]},"Checkmate":{"resourcePath":"missions/checkmate.mis","displayName":"Checkmate","missionTypes":["Arena"]},"Choke":{"resourcePath":"missions/choke.mis","displayName":null,"missionTypes":["CTF"]},"CinderCone":{"resourcePath":"missions/cindercone.mis","displayName":"CinderCone","missionTypes":["CTF"]},"Cinerarium":{"resourcePath":"missions/cinerarium.mis","displayName":"Cinerarium","missionTypes":["CTF"]},"Cinereous":{"resourcePath":"missions/cinereous.mis","displayName":"Cinereous","missionTypes":["CTF"]},"circleofstones":{"resourcePath":"missions/circleofstones.mis","displayName":"Circle of Stones","missionTypes":["CTF","DnD"]},"CirclesEdge":{"resourcePath":"missions/circlesedge.mis","displayName":null,"missionTypes":["CTF"]},"CirclesEdgeLT":{"resourcePath":"missions/circlesedgelt.mis","displayName":"CirclesEdge LT","missionTypes":["LCTF"]},"CloakOfLak":{"resourcePath":"missions/cloakoflak.mis","displayName":"Cloak of Lak","missionTypes":["LakRabbit"]},"CloakOfNightV":{"resourcePath":"missions/cloakofnightv.mis","displayName":"Cloak of Night V","missionTypes":["CTF"]},"CloseCombat":{"resourcePath":"missions/closecombat.mis","displayName":"Close Combat","missionTypes":["CTF"]},"CloseCombatLT":{"resourcePath":"missions/closecombatlt.mis","displayName":"Close Combat LT","missionTypes":["LCTF"]},"CloudBurst":{"resourcePath":"missions/cloudburst.mis","displayName":"Cloud Burst","missionTypes":["CTF"]},"CloudCity":{"resourcePath":"missions/cloudcity.mis","displayName":"CloudCity","missionTypes":["CTF"]},"ClusterUnFuct":{"resourcePath":"missions/clusterunfuct.mis","displayName":"ClusterUnFuct","missionTypes":["CTF"]},"CoconutFury":{"resourcePath":"missions/coconutfury.mis","displayName":"CoconutFury","missionTypes":["CTF"]},"Confusco":{"resourcePath":"missions/confusco.mis","displayName":"Confusco","missionTypes":["Bounty","CTF","DM"]},"ConstructionYard":{"resourcePath":"missions/constructionyard.mis","displayName":null,"missionTypes":["CTF"]},"Coppersky":{"resourcePath":"missions/coppersky.mis","displayName":"Copper Sky","missionTypes":["CTF"]},"CrashClash":{"resourcePath":"missions/crashclash.mis","displayName":"_CrashClash","missionTypes":["Arena"]},"Crater71":{"resourcePath":"missions/crater71.mis","displayName":"Crater 71","missionTypes":["TR2"]},"Crater71Lak":{"resourcePath":"missions/crater71lak.mis","displayName":"Crater 71","missionTypes":["LakRabbit","LakZM","TeamLak"]},"CrossfiredLak":{"resourcePath":"missions/crossfiredlak.mis","displayName":"Crossfired","missionTypes":["LakRabbit"]},"DaftGulch":{"resourcePath":"missions/daftgulch.mis","displayName":"Daft Gulch","missionTypes":["CTF"]},"Damnation":{"resourcePath":"missions/damnation.mis","displayName":null,"missionTypes":["CTF"]},"DamnationLak":{"resourcePath":"missions/damnationlak.mis","displayName":"Damnation","missionTypes":["LakRabbit"]},"DamnationLT":{"resourcePath":"missions/damnationlt.mis","displayName":"DMP2-Damnation LT","missionTypes":["SCtF","LCTF"]},"DamnationTDM":{"resourcePath":"missions/damnationtdm.mis","displayName":"Damnation-TDM","missionTypes":["TDM"]},"DangerousCrossing_nef":{"resourcePath":"missions/dangerouscrossing_nef.mis","displayName":"Dangerous Crossing","missionTypes":["CTF"]},"DangerousCrossingArena":{"resourcePath":"missions/dangerouscrossingarena.mis","displayName":"[Original]Dangerous Crossing","missionTypes":["Arena"]},"DangerousCrossingLT":{"resourcePath":"missions/dangerouscrossinglt.mis","displayName":"Dangerous Crossing LT","missionTypes":["LCTF"]},"DangerousFlingLT":{"resourcePath":"missions/dangerousflinglt.mis","displayName":"DMP2-Dangerous Fling LT","missionTypes":["SCtF","LCTF"]},"dawntodusk":{"resourcePath":"missions/dawntodusk.mis","displayName":"DMP2-Dawn To Dusk","missionTypes":["CTF"]},"DBS_Smoothed":{"resourcePath":"missions/dbs_smoothed.mis","displayName":"Deadly Birds Song (Smoothed)","missionTypes":["CTF"]},"DeadlyBirdsSong_x2":{"resourcePath":"missions/deadlybirdssong_x2.mis","displayName":"Deadly Birds Song (x2)","missionTypes":["CTF"]},"DeathBirdsFly":{"resourcePath":"missions/deathbirdsfly.mis","displayName":"Death Birds Fly","missionTypes":["CTF"]},"DeathBirdsFly1":{"resourcePath":"missions/deathbirdsfly1.mis","displayName":"Death Birds Fly","missionTypes":["CTF"]},"DehSwamp":{"resourcePath":"missions/dehswamp.mis","displayName":null,"missionTypes":["CTF"]},"DermCrossingDeluxe":{"resourcePath":"missions/dermcrossingdeluxe.mis","displayName":"Derm Crossing Deluxe","missionTypes":["CTF"]},"DermCrossingDeluxeLT":{"resourcePath":"missions/dermcrossingdeluxelt.mis","displayName":"Derm Crossing Deluxe LT","missionTypes":["LCTF"]},"DesertofDeath_nef":{"resourcePath":"missions/desertofdeath_nef.mis","displayName":"Desert of Death","missionTypes":["CTF","SCtF"]},"DesertofDeathLak":{"resourcePath":"missions/desertofdeathlak.mis","displayName":"Desert of Death","missionTypes":["LakRabbit"]},"Desiccator":{"resourcePath":"missions/desiccator.mis","displayName":null,"missionTypes":["CTF"]},"DevilsElbow":{"resourcePath":"missions/devilselbow.mis","displayName":"Devil's Elbow","missionTypes":["CTF"]},"Dire":{"resourcePath":"missions/dire.mis","displayName":null,"missionTypes":["CTF"]},"DireLT":{"resourcePath":"missions/direlt.mis","displayName":"Dire LT","missionTypes":["LCTF"]},"Discord":{"resourcePath":"missions/discord.mis","displayName":"Discord","missionTypes":["CTF","SCtF"]},"DiscordLT":{"resourcePath":"missions/discordlt.mis","displayName":"Discord LT","missionTypes":["LCTF"]},"Disjointed":{"resourcePath":"missions/disjointed.mis","displayName":null,"missionTypes":["CTF"]},"DMP_Agroleon":{"resourcePath":"missions/dmp_agroleon.mis","displayName":"DMP-Agroleon","missionTypes":["CTF"]},"DMP_Astro":{"resourcePath":"missions/dmp_astro.mis","displayName":"DMP-Astro","missionTypes":["CTF"]},"DMP_BastardForge":{"resourcePath":"missions/dmp_bastardforge.mis","displayName":"DMP-BastardForge","missionTypes":["CTF","SCtF"]},"DMP_BastardForgeLT":{"resourcePath":"missions/dmp_bastardforgelt.mis","displayName":"DMP-BastardForge LT","missionTypes":["LCTF"]},"DMP_BitterGorge":{"resourcePath":"missions/dmp_bittergorge.mis","displayName":"DMP-BitterGorge","missionTypes":["CTF"]},"DMP_Bunkered":{"resourcePath":"missions/dmp_bunkered.mis","displayName":"DMP-Bunkered","missionTypes":["CTF"]},"DMP_BunkeredLT":{"resourcePath":"missions/dmp_bunkeredlt.mis","displayName":"DMP-Bunkered LT","missionTypes":["LCTF"]},"DMP_Cinerarium":{"resourcePath":"missions/dmp_cinerarium.mis","displayName":"DMP-Cinerarium","missionTypes":["CTF","SCtF"]},"DMP_CinerariumLT":{"resourcePath":"missions/dmp_cinerariumlt.mis","displayName":"DMP-Cinerarium LT","missionTypes":["LCTF"]},"DMP_DermCity":{"resourcePath":"missions/dmp_dermcity.mis","displayName":"DMP-DermCity","missionTypes":["CTF"]},"DMP_Embers":{"resourcePath":"missions/dmp_embers.mis","displayName":"DMP-Embers","missionTypes":["CTF","SCtF"]},"DMP_EmbersLT":{"resourcePath":"missions/dmp_emberslt.mis","displayName":"DMP-Embers LT","missionTypes":["LCTF"]},"DMP_EmeraldSpit":{"resourcePath":"missions/dmp_emeraldspit.mis","displayName":"DMP-Emerald Spit","missionTypes":["CTF"]},"DMP_FaceCrossing":{"resourcePath":"missions/dmp_facecrossing.mis","displayName":"DMP-Face Crossing","missionTypes":["CTF"]},"DMP_Hoth":{"resourcePath":"missions/dmp_hoth.mis","displayName":"DMP-Hoth","missionTypes":["CTF"]},"DMP_IceGiant":{"resourcePath":"missions/dmp_icegiant.mis","displayName":"DMP-IceGiant","missionTypes":["CTF"]},"DMP_IsleDeBatalla":{"resourcePath":"missions/dmp_isledebatalla.mis","displayName":"DMP-IsleDeBatalla","missionTypes":["CTF"]},"DMP_LavaGods":{"resourcePath":"missions/dmp_lavagods.mis","displayName":"DMP-LavaGods","missionTypes":["CTF","SCtF"]},"DMP_Magellan":{"resourcePath":"missions/dmp_magellan.mis","displayName":"DMP-Magellan","missionTypes":["CTF","SCtF"]},"DMP_MoonDance":{"resourcePath":"missions/dmp_moondance.mis","displayName":"DMP-MoonDance","missionTypes":["CTF"]},"DMP_Pantheon":{"resourcePath":"missions/dmp_pantheon.mis","displayName":"DMP-Pantheon","missionTypes":["CTF"]},"DMP_Paranoia":{"resourcePath":"missions/dmp_paranoia.mis","displayName":"DMP-Paranoia","missionTypes":["CTF","SCtF"]},"DMP_Pariah":{"resourcePath":"missions/dmp_pariah.mis","displayName":"DMP-Pariah","missionTypes":["CTF","SCtF"]},"DMP_PariahLT":{"resourcePath":"missions/dmp_pariahlt.mis","displayName":"DMP-Pariah LT","missionTypes":["LCTF"]},"DMP_PipeDream":{"resourcePath":"missions/dmp_pipedream.mis","displayName":"DMP-Pipe Dream","missionTypes":["CTF"]},"DMP_RavineV":{"resourcePath":"missions/dmp_ravinev.mis","displayName":"DMP-RavineV","missionTypes":["CTF"]},"DMP_ScorchedEarth":{"resourcePath":"missions/dmp_scorchedearth.mis","displayName":"DMP-Scorched Earth","missionTypes":["CTF"]},"DMP_SimpleFlagArena":{"resourcePath":"missions/dmp_simpleflagarena.mis","displayName":"DMP-SimpleFlagArena","missionTypes":["CTF"]},"DMP_SpinCycle":{"resourcePath":"missions/dmp_spincycle.mis","displayName":"DMP-SpinCycle","missionTypes":["CTF","SCtF"]},"DMP_SpinCycleLT":{"resourcePath":"missions/dmp_spincyclelt.mis","displayName":"DMP-SpinCycle LT","missionTypes":["LCTF"]},"DMP_StarFall":{"resourcePath":"missions/dmp_starfall.mis","displayName":"DMP-StarFall","missionTypes":["CTF","SCtF"]},"DMP_StarFallLT":{"resourcePath":"missions/dmp_starfalllt.mis","displayName":"DMP-StarFall LT","missionTypes":["LCTF"]},"DMP_Tyre":{"resourcePath":"missions/dmp_tyre.mis","displayName":"DMP-Tyre","missionTypes":["CTF"]},"DMP_Wasteland":{"resourcePath":"missions/dmp_wasteland.mis","displayName":"DMP-Wasteland","missionTypes":["CTF"]},"Draco":{"resourcePath":"missions/draco.mis","displayName":"Draco","missionTypes":["CTF"]},"Drafts":{"resourcePath":"missions/drafts.mis","displayName":"Drafts","missionTypes":["CTF"]},"Drifts_x2":{"resourcePath":"missions/drifts_x2.mis","displayName":"Drifts (x2)","missionTypes":["CTF","DnD"]},"DropInLT":{"resourcePath":"missions/dropinlt.mis","displayName":"DMP2-Drop In LT","missionTypes":["SCtF","LCTF"]},"DuelersDelight":{"resourcePath":"missions/duelersdelight.mis","displayName":"Duelers Delight","missionTypes":["LCTF"]},"DustLust":{"resourcePath":"missions/dustlust.mis","displayName":null,"missionTypes":["CTF"]},"DustRunLak":{"resourcePath":"missions/dustrunlak.mis","displayName":"DustRun","missionTypes":["LakRabbit"]},"DustToDust":{"resourcePath":"missions/dusttodust.mis","displayName":"Dust to Dust","missionTypes":["CTF","Hunters","TeamHunters"]},"DX_Badlands":{"resourcePath":"missions/dx_badlands.mis","displayName":"Dangerous Crossing (Badlands)","missionTypes":["CTF","SCtF"]},"DX_Desert":{"resourcePath":"missions/dx_desert.mis","displayName":"Dangerous Crossing (Desert)","missionTypes":["CTF","SCtF"]},"DX_Ice":{"resourcePath":"missions/dx_ice.mis","displayName":"Dangerous Crossing (Ice)","missionTypes":["CTF","SCtF"]},"DX_IceLT":{"resourcePath":"missions/dx_icelt.mis","displayName":"Dangerous Crossing LT (Ice)","missionTypes":["LCTF"]},"Einfach":{"resourcePath":"missions/einfach.mis","displayName":"Einfach","missionTypes":["CTF"]},"EivoItoxico":{"resourcePath":"missions/eivoitoxico.mis","displayName":"Eivo Itoxico","missionTypes":["CTF"]},"El_Fin":{"resourcePath":"missions/el_fin.mis","displayName":"El Fin","missionTypes":["CTF"]},"El_FinLT":{"resourcePath":"missions/el_finlt.mis","displayName":"El_Fin LT","missionTypes":["LCTF"]},"EntombedDM":{"resourcePath":"missions/entombeddm.mis","displayName":"EntombedDM","missionTypes":["DM"]},"Envyrena":{"resourcePath":"missions/envyrena.mis","displayName":null,"missionTypes":["Arena"]},"EnyLand":{"resourcePath":"missions/enyland.mis","displayName":"^_^ EnyLand","missionTypes":["Arena"]},"Equinox":{"resourcePath":"missions/equinox.mis","displayName":null,"missionTypes":["CnH","DM"]},"EquinoxLak":{"resourcePath":"missions/equinoxlak.mis","displayName":"Equinox","missionTypes":["LakRabbit"]},"Erebus_x2":{"resourcePath":"missions/erebus_x2.mis","displayName":"Erebus (x2)","missionTypes":["CTF"]},"Escalade":{"resourcePath":"missions/escalade.mis","displayName":null,"missionTypes":["TeamHunters","Hunters","DM","Rabbit","Bounty"]},"EscaladeLak":{"resourcePath":"missions/escaladelak.mis","displayName":"Escalade","missionTypes":["LakRabbit"]},"EveningLand":{"resourcePath":"missions/eveningland.mis","displayName":"^_^ EveningLand","missionTypes":["Arena"]},"Ewok_Hamlet":{"resourcePath":"missions/ewok_hamlet.mis","displayName":"DMP2-Ewok Hamlet","missionTypes":["CTF"]},"Ewok_Village":{"resourcePath":"missions/ewok_village.mis","displayName":"DMP2-Ewok Village","missionTypes":["CTF"]},"Exhumed":{"resourcePath":"missions/exhumed.mis","displayName":"Exhumed","missionTypes":["CTF"]},"Extractor":{"resourcePath":"missions/extractor.mis","displayName":null,"missionTypes":["CTF"]},"facingWorlds":{"resourcePath":"missions/facingworlds.mis","displayName":"DMP2-Facing Worlds ","missionTypes":["TDM"]},"facingWorldsArena":{"resourcePath":"missions/facingworldsarena.mis","displayName":"DMP2-Facing Worlds - Arena ","missionTypes":["Arena"]},"facingWorldsLT":{"resourcePath":"missions/facingworldslt.mis","displayName":"DMP2-Facing Worlds LT","missionTypes":["SCtF","LCTF"]},"Fallout":{"resourcePath":"missions/fallout.mis","displayName":"Fallout","missionTypes":["CTF"]},"Fenix":{"resourcePath":"missions/fenix.mis","displayName":"Fenix","missionTypes":["CTF"]},"FilteredDust":{"resourcePath":"missions/filtereddust.mis","displayName":"FilteredDust","missionTypes":["CTF"]},"Fireballs_x2":{"resourcePath":"missions/fireballs_x2.mis","displayName":"Fireballs (x2)","missionTypes":["CTF"]},"Firestorm":{"resourcePath":"missions/firestorm.mis","displayName":null,"missionTypes":["CnH","CTF"]},"FirestormLT":{"resourcePath":"missions/firestormlt.mis","displayName":"Firestorm LT","missionTypes":["LCTF"]},"firn":{"resourcePath":"missions/firn.mis","displayName":"DMP2-Firn","missionTypes":["CTF"]},"Flashpoint":{"resourcePath":"missions/flashpoint.mis","displayName":null,"missionTypes":["CnH"]},"FourSquareDM":{"resourcePath":"missions/foursquaredm.mis","displayName":"FourSquareDM","missionTypes":["DM"]},"Fracas":{"resourcePath":"missions/fracas.mis","displayName":"Fracas","missionTypes":["Hunters","DM"]},"FrostBite":{"resourcePath":"missions/frostbite.mis","displayName":"FrostBite","missionTypes":["CTF"]},"frostline":{"resourcePath":"missions/frostline.mis","displayName":"DMP2-Frostline","missionTypes":["CTF"]},"FrostPipe":{"resourcePath":"missions/frostpipe.mis","displayName":"FrostPipe","missionTypes":["CTF"]},"FrozenForgeLT":{"resourcePath":"missions/frozenforgelt.mis","displayName":"Frozen Forge LT","missionTypes":["LCTF"]},"FrozenFury":{"resourcePath":"missions/frozenfury.mis","displayName":"Frozen Fury","missionTypes":["TR2"]},"FrozenFuryLak":{"resourcePath":"missions/frozenfurylak.mis","displayName":"Frozen Fury","missionTypes":["LakRabbit","LakZM","TeamLak"]},"FrozenHope":{"resourcePath":"missions/frozenhope.mis","displayName":"Frozen Hope","missionTypes":["CTF"]},"FrozenHopeLT":{"resourcePath":"missions/frozenhopelt.mis","displayName":"Frozen Hope LT","missionTypes":["LCTF"]},"frozenSolid":{"resourcePath":"missions/frozensolid.mis","displayName":"DMP2-Thick Ice","missionTypes":["CTF"]},"FullCircle":{"resourcePath":"missions/fullcircle.mis","displayName":"Full Circle","missionTypes":["CTF"]},"Gauntlet":{"resourcePath":"missions/gauntlet.mis","displayName":null,"missionTypes":["Siege"]},"Gehenna":{"resourcePath":"missions/gehenna.mis","displayName":null,"missionTypes":["Hunters","TeamHunters"]},"Glade":{"resourcePath":"missions/glade.mis","displayName":"Glade","missionTypes":["CTF"]},"GodsRift":{"resourcePath":"missions/godsrift.mis","displayName":"God's Rift","missionTypes":["TR2"]},"GodsRiftLak":{"resourcePath":"missions/godsriftlak.mis","displayName":"God's Rift","missionTypes":["LakRabbit"]},"Gorgon":{"resourcePath":"missions/gorgon.mis","displayName":"Gorgon","missionTypes":["CTF","SCtF"]},"GorgonDM":{"resourcePath":"missions/gorgondm.mis","displayName":"GorgonDM","missionTypes":["DM"]},"GrassyKnollLT":{"resourcePath":"missions/grassyknolllt.mis","displayName":"GrassyKnoll LT","missionTypes":["LCTF"]},"GreenLawn":{"resourcePath":"missions/greenlawn.mis","displayName":"GreenLawn","missionTypes":["CTF","SCtF"]},"HarvestDance":{"resourcePath":"missions/harvestdance.mis","displayName":"HarvestDance","missionTypes":["CTF"]},"Harvester_x2":{"resourcePath":"missions/harvester_x2.mis","displayName":"Harvester (x2)","missionTypes":["CTF","DnD"]},"Haven":{"resourcePath":"missions/haven.mis","displayName":null,"missionTypes":["TR2"]},"HavenLak":{"resourcePath":"missions/havenlak.mis","displayName":"Haven","missionTypes":["LakRabbit"]},"Headstone":{"resourcePath":"missions/headstone.mis","displayName":null,"missionTypes":["CTF"]},"Helioarena":{"resourcePath":"missions/helioarena.mis","displayName":null,"missionTypes":["Arena"]},"HighAnxiety":{"resourcePath":"missions/highanxiety.mis","displayName":"High Anxiety","missionTypes":["CTF"]},"HighOctane":{"resourcePath":"missions/highoctane.mis","displayName":"High Octane","missionTypes":["CTF"]},"HighTrepidation":{"resourcePath":"missions/hightrepidation.mis","displayName":"High Trepidation","missionTypes":["CTF"]},"HighWire":{"resourcePath":"missions/highwire.mis","displayName":"High Wire","missionTypes":["CTF"]},"HillKingCTF":{"resourcePath":"missions/hillkingctf.mis","displayName":"HillKing","missionTypes":["CTF"]},"HillKingLT":{"resourcePath":"missions/hillkinglt.mis","displayName":"HillKing LT","missionTypes":["LCTF"]},"Hillside":{"resourcePath":"missions/hillside.mis","displayName":"Hillside","missionTypes":["CTF","DnD"]},"HillSideLT":{"resourcePath":"missions/hillsidelt.mis","displayName":"HillSide LT","missionTypes":["LCTF"]},"HillsOfSorrow":{"resourcePath":"missions/hillsofsorrow.mis","displayName":"Hills of Sorrow","missionTypes":["LakRabbit"]},"HiveLT":{"resourcePath":"missions/hivelt.mis","displayName":"DMP2-Hive LT","missionTypes":["SCtF","LCTF"]},"HO_Badlands":{"resourcePath":"missions/ho_badlands.mis","displayName":"High Octane (Badlands)","missionTypes":["CTF"]},"HO_Desert":{"resourcePath":"missions/ho_desert.mis","displayName":"High Octane (Desert)","missionTypes":["CTF"]},"HO_Ice":{"resourcePath":"missions/ho_ice.mis","displayName":"High Octane (Ice)","missionTypes":["CTF"]},"HO_Lush":{"resourcePath":"missions/ho_lush.mis","displayName":"High Octane (Lush)","missionTypes":["CTF"]},"HogansRun24":{"resourcePath":"missions/hogansrun24.mis","displayName":"Hogans Run","missionTypes":["CTF"]},"HoofToeDM":{"resourcePath":"missions/hooftoedm.mis","displayName":"HoofToeDM","missionTypes":["DM"]},"Horde":{"resourcePath":"missions/horde.mis","displayName":"Horde","missionTypes":["CTF"]},"HostileLoch":{"resourcePath":"missions/hostileloch.mis","displayName":null,"missionTypes":["CTF"]},"Hostility":{"resourcePath":"missions/hostility.mis","displayName":"Hostility","missionTypes":["CTF"]},"HydroElectric_x2":{"resourcePath":"missions/hydroelectric_x2.mis","displayName":"Hydro-Electric (x2)","missionTypes":["CTF"]},"IceBound":{"resourcePath":"missions/icebound.mis","displayName":"Icebound","missionTypes":["Siege"]},"IceDomeDM":{"resourcePath":"missions/icedomedm.mis","displayName":"IceDomeDM","missionTypes":["DM"]},"IceGulch":{"resourcePath":"missions/icegulch.mis","displayName":"Ice Gulch","missionTypes":["CTF"]},"IcePick":{"resourcePath":"missions/icepick.mis","displayName":"IcePick","missionTypes":["LCTF"]},"IcePickM":{"resourcePath":"missions/icepickm.mis","displayName":"DIMP2-IcePick Mirror","missionTypes":["LCTF"]},"IceRidge_nef":{"resourcePath":"missions/iceridge_nef.mis","displayName":"IceRidge","missionTypes":["CTF"]},"infernosroar":{"resourcePath":"missions/infernosroar.mis","displayName":"DMP2-Infernos Roar","missionTypes":["CTF"]},"Infernus":{"resourcePath":"missions/infernus.mis","displayName":"Infernus","missionTypes":["CTF"]},"InfernusLak":{"resourcePath":"missions/infernuslak.mis","displayName":"Infernus","missionTypes":["LakRabbit"]},"InnerSanctum":{"resourcePath":"missions/innersanctum.mis","displayName":"Inner Sanctum","missionTypes":["DM","Rabbit","Hunters","TeamHunters"]},"Insalubria":{"resourcePath":"missions/insalubria.mis","displayName":null,"missionTypes":["CnH"]},"Insalubrius_x2":{"resourcePath":"missions/insalubrius_x2.mis","displayName":"Insalubrius (x2)","missionTypes":["CTF","DnD"]},"InsideOut_x2":{"resourcePath":"missions/insideout_x2.mis","displayName":"Inside Out (x2)","missionTypes":["DnD"]},"Invictus":{"resourcePath":"missions/invictus.mis","displayName":null,"missionTypes":["DM"]},"IslaHermano":{"resourcePath":"missions/islahermano.mis","displayName":"Isla Hermano","missionTypes":["CTF"]},"Island":{"resourcePath":"missions/island.mis","displayName":"Island","missionTypes":["CTF"]},"IsleOfMan":{"resourcePath":"missions/isleofman.mis","displayName":"Isle of Man","missionTypes":["Siege"]},"IveHadWorse":{"resourcePath":"missions/ivehadworse.mis","displayName":"[Original]IveHadWorse","missionTypes":["Arena"]},"JacobsLadder":{"resourcePath":"missions/jacobsladder.mis","displayName":"Jacob's Ladder","missionTypes":["CnH"]},"JadeValley":{"resourcePath":"missions/jadevalley.mis","displayName":"Jade Valley","missionTypes":["CTF"]},"Jettisoned":{"resourcePath":"missions/jettisoned.mis","displayName":"Jettisoned","missionTypes":["CTF"]},"Katabatic":{"resourcePath":"missions/katabatic.mis","displayName":null,"missionTypes":["CTF"]},"Katabatic_x2":{"resourcePath":"missions/katabatic_x2.mis","displayName":"Katabatic (x2)","missionTypes":["CTF"]},"KataMInfernoT":{"resourcePath":"missions/kataminfernot.mis","displayName":"DMP2-KatabaticM Inferno","missionTypes":["CTF"]},"KataMStormT":{"resourcePath":"missions/katamstormt.mis","displayName":"DMP2-KatabaticM Storm","missionTypes":["CTF"]},"Khalarena":{"resourcePath":"missions/khalarena.mis","displayName":null,"missionTypes":["Arena"]},"ks_braistv":{"resourcePath":"missions/ks_braistv.mis","displayName":"BraisT_V","missionTypes":["CTF"]},"Lakefront":{"resourcePath":"missions/lakefront.mis","displayName":"Lakefront","missionTypes":["CTF","CnH","DnD"]},"LandingParty":{"resourcePath":"missions/landingparty.mis","displayName":"Landing Party","missionTypes":["CTF"]},"Lapiths":{"resourcePath":"missions/lapiths.mis","displayName":"Lapiths","missionTypes":["CTF"]},"LiveBaitDM":{"resourcePath":"missions/livebaitdm.mis","displayName":"LiveBaitDM","missionTypes":["DM"]},"Logans_Run":{"resourcePath":"missions/logans_run.mis","displayName":"Logans Run","missionTypes":["CTF"]},"LushLak":{"resourcePath":"missions/lushlak.mis","displayName":"Lush","missionTypes":["LakRabbit"]},"Mac_FlagArena":{"resourcePath":"missions/mac_flagarena.mis","displayName":"Machineheads Flag Arena","missionTypes":["CTF","SCtF"]},"Machineeggs":{"resourcePath":"missions/machineeggs.mis","displayName":"MachineEggs Flag Arena","missionTypes":["CTF"]},"Magmatic":{"resourcePath":"missions/magmatic.mis","displayName":"Magmatic","missionTypes":["CTF"]},"MagmaticLak":{"resourcePath":"missions/magmaticlak.mis","displayName":"Magmatic","missionTypes":["LakRabbit"]},"MapAssets":{"resourcePath":"missions/mapassets.mis","displayName":"MapAssets","missionTypes":["DM","None","CTF"]},"Masada":{"resourcePath":"missions/masada.mis","displayName":"Masada","missionTypes":["Siege"]},"MiniSunDried":{"resourcePath":"missions/minisundried.mis","displayName":"Mini Sun Dried","missionTypes":["LakRabbit","Hunters"]},"Minotaur":{"resourcePath":"missions/minotaur.mis","displayName":null,"missionTypes":["CTF"]},"Mirage":{"resourcePath":"missions/mirage.mis","displayName":null,"missionTypes":["CTF"]},"MisadventureV2":{"resourcePath":"missions/misadventurev2.mis","displayName":"MisadventureV2","missionTypes":["CTF"]},"MoonDance":{"resourcePath":"missions/moondance.mis","displayName":null,"missionTypes":["CTF"]},"Moonwalk":{"resourcePath":"missions/moonwalk.mis","displayName":"Moonwalk","missionTypes":["CTF"]},"MoonwalkLT":{"resourcePath":"missions/moonwalklt.mis","displayName":"DMP2-Moonwalk LT","missionTypes":["LCTF","SCtF"]},"Morena":{"resourcePath":"missions/morena.mis","displayName":null,"missionTypes":["Arena"]},"MountainMist":{"resourcePath":"missions/mountainmist.mis","displayName":"Mountain Mist","missionTypes":["CTF"]},"MountaintopMayhem":{"resourcePath":"missions/mountaintopmayhem.mis","displayName":"Mountaintop Mayhem","missionTypes":["CTF"]},"Mudside":{"resourcePath":"missions/mudside.mis","displayName":"_Mudside","missionTypes":["Arena"]},"MyrkWood":{"resourcePath":"missions/myrkwood.mis","displayName":"Myrkwood","missionTypes":["Hunters","DM","Rabbit"]},"Narcolepsy":{"resourcePath":"missions/narcolepsy.mis","displayName":"Narcolepsy","missionTypes":["CTF"]},"NarcolepsyLT":{"resourcePath":"missions/narcolepsylt.mis","displayName":"Narcolepsy LT","missionTypes":["LCTF"]},"NatureMagic":{"resourcePath":"missions/naturemagic.mis","displayName":"NatureMagic","missionTypes":["CTF"]},"Nightdance":{"resourcePath":"missions/nightdance.mis","displayName":"Nightdance","missionTypes":["CTF"]},"NirvanaLT":{"resourcePath":"missions/nirvanalt.mis","displayName":"DMP2-Nirvana LT","missionTypes":["LCTF","SCtF"]},"Norty":{"resourcePath":"missions/norty.mis","displayName":"Norty","missionTypes":["CTF"]},"NoShelter_x2":{"resourcePath":"missions/noshelter_x2.mis","displayName":"No Shelter (x2)","missionTypes":["CTF","DnD"]},"Oasis":{"resourcePath":"missions/oasis.mis","displayName":null,"missionTypes":["DM"]},"oasisintensity":{"resourcePath":"missions/oasisintensity.mis","displayName":"Oasis Intensity","missionTypes":["CTF"]},"ObsidianLT":{"resourcePath":"missions/obsidianlt.mis","displayName":"DMP2-Obsidian LT","missionTypes":["SCtF","LCTF"]},"octoberrust":{"resourcePath":"missions/octoberrust.mis","displayName":"October Rust","missionTypes":["CTF"]},"OsIrisLT":{"resourcePath":"missions/osirislt.mis","displayName":"OsIris LT","missionTypes":["LCTF"]},"OuterWilds":{"resourcePath":"missions/outerwilds.mis","displayName":"OuterWilds","missionTypes":["CTF"]},"Overreach":{"resourcePath":"missions/overreach.mis","displayName":null,"missionTypes":["CnH"]},"Pandemonium_x2":{"resourcePath":"missions/pandemonium_x2.mis","displayName":"Pandemonium (x2)","missionTypes":["CTF"]},"Pantheon":{"resourcePath":"missions/pantheon.mis","displayName":null,"missionTypes":["CTF"]},"Pantheon_x2":{"resourcePath":"missions/pantheon_x2.mis","displayName":"Pantheon (x2)","missionTypes":["CTF"]},"Pariah":{"resourcePath":"missions/pariah.mis","displayName":"Pariah","missionTypes":["CTF"]},"Peak":{"resourcePath":"missions/peak.mis","displayName":null,"missionTypes":["CTF"]},"Pendulum":{"resourcePath":"missions/pendulum.mis","displayName":null,"missionTypes":["CTF"]},"PhasmaDust":{"resourcePath":"missions/phasmadust.mis","displayName":"Phasma Dust","missionTypes":["TR2"]},"PhasmaDustLak":{"resourcePath":"missions/phasmadustlak.mis","displayName":"Phasma Dust","missionTypes":["LakRabbit","LakZM","TeamLak"]},"PipeDreamLT":{"resourcePath":"missions/pipedreamlt.mis","displayName":"Pipe Dream LT","missionTypes":["LCTF"]},"PitsDM":{"resourcePath":"missions/pitsdm.mis","displayName":"PitsDM","missionTypes":["DM"]},"Planetside":{"resourcePath":"missions/planetside.mis","displayName":"_Planetside","missionTypes":["Arena"]},"PlanetX":{"resourcePath":"missions/planetx.mis","displayName":"PlanetX","missionTypes":["CTF"]},"Prismatic":{"resourcePath":"missions/prismatic.mis","displayName":"Prismatic","missionTypes":["CTF"]},"PrizmaticLT":{"resourcePath":"missions/prizmaticlt.mis","displayName":"Prizmatic LT","missionTypes":["LCTF"]},"ProArena":{"resourcePath":"missions/proarena.mis","displayName":null,"missionTypes":["Arena"]},"PuliVeivari":{"resourcePath":"missions/puliveivari.mis","displayName":"Puli&Veivari","missionTypes":["CTF"]},"Pyroclasm":{"resourcePath":"missions/pyroclasm.mis","displayName":null,"missionTypes":["DM"]},"Quagmire":{"resourcePath":"missions/quagmire.mis","displayName":null,"missionTypes":["CTF"]},"Quagmire_x2":{"resourcePath":"missions/quagmire_x2.mis","displayName":"Quagmire (x2)","missionTypes":["CTF"]},"Raindance_nef":{"resourcePath":"missions/raindance_nef.mis","displayName":"Raindance","missionTypes":["CTF"]},"Raindance_nefLak":{"resourcePath":"missions/raindance_neflak.mis","displayName":"Raindance","missionTypes":["LakRabbit"]},"RaindanceLT":{"resourcePath":"missions/raindancelt.mis","displayName":"Raindance LT","missionTypes":["LCTF"]},"Ramparts":{"resourcePath":"missions/ramparts.mis","displayName":"Ramparts","missionTypes":["Bounty","CTF","DM","TeamHunters","DnD"]},"RampartsDM":{"resourcePath":"missions/rampartsdm.mis","displayName":"RampartsDM","missionTypes":["DM"]},"Rasp":{"resourcePath":"missions/rasp.mis","displayName":null,"missionTypes":["Hunters","Bounty","DM"]},"RaspDM":{"resourcePath":"missions/raspdm.mis","displayName":null,"missionTypes":["Hunters","Bounty","DM"]},"Raspian":{"resourcePath":"missions/raspian.mis","displayName":"Raspian","missionTypes":["CTF"]},"Ravine":{"resourcePath":"missions/ravine.mis","displayName":"Ravine","missionTypes":["CTF","SCtF"]},"RavineLT":{"resourcePath":"missions/ravinelt.mis","displayName":"Ravine LT","missionTypes":["LCTF"]},"Recalescence":{"resourcePath":"missions/recalescence.mis","displayName":null,"missionTypes":["CTF"]},"Respite":{"resourcePath":"missions/respite.mis","displayName":"Respite","missionTypes":["Siege"]},"RetroDCT2":{"resourcePath":"missions/retrodct2.mis","displayName":"Retro Dangerous Crossing-T2","missionTypes":["CTF"]},"RetroDX":{"resourcePath":"missions/retrodx.mis","displayName":"Retro Dangerous Crossing","missionTypes":["CTF","LCTF"]},"RetroRD":{"resourcePath":"missions/retrord.mis","displayName":"Retro Raindance","missionTypes":["CTF","LCTF"]},"RetroRDT2":{"resourcePath":"missions/retrordt2.mis","displayName":"Retro Raindance-T2","missionTypes":["CTF"]},"RetroSB":{"resourcePath":"missions/retrosb.mis","displayName":"Retro Snowblind","missionTypes":["CTF","LCTF"]},"RetroSH":{"resourcePath":"missions/retrosh.mis","displayName":"Retro Stonehenge","missionTypes":["CTF","LCTF"]},"RetroSHT2":{"resourcePath":"missions/retrosht2.mis","displayName":"Retro Stonehenge-T2","missionTypes":["CTF"]},"Reversion":{"resourcePath":"missions/reversion.mis","displayName":null,"missionTypes":["CTF"]},"Reversion_x2":{"resourcePath":"missions/reversion_x2.mis","displayName":"Reversion (x2)","missionTypes":["CTF"]},"Ridgerena":{"resourcePath":"missions/ridgerena.mis","displayName":"Ridgerena","missionTypes":["Arena"]},"Rimehold":{"resourcePath":"missions/rimehold.mis","displayName":null,"missionTypes":["Hunters","TeamHunters"]},"RingofFireDM":{"resourcePath":"missions/ringoffiredm.mis","displayName":"Ring of Fire DM","missionTypes":["DM"]},"RiverDance":{"resourcePath":"missions/riverdance.mis","displayName":"Riverdance","missionTypes":["CTF","Bounty"]},"Rollercoaster_nef":{"resourcePath":"missions/rollercoaster_nef.mis","displayName":"Rollercoaster","missionTypes":["CTF"]},"Rollercoaster_nef_FZ":{"resourcePath":"missions/rollercoaster_nef_fz.mis","displayName":"Rollercoaster","missionTypes":["CTF"]},"RoundTheMountain":{"resourcePath":"missions/roundthemountain.mis","displayName":"'Round the Mountain","missionTypes":["CTF"]},"RoundTheMountainLT":{"resourcePath":"missions/roundthemountainlt.mis","displayName":"'Round the Mountain LT","missionTypes":["LCTF"]},"Ruined":{"resourcePath":"missions/ruined.mis","displayName":"Ruined","missionTypes":["CTF"]},"RunenmachtLT":{"resourcePath":"missions/runenmachtlt.mis","displayName":"Runenmacht LT","missionTypes":["LCTF"]},"Rush":{"resourcePath":"missions/rush.mis","displayName":"Rush","missionTypes":["CTF","SCtF"]},"RushLT":{"resourcePath":"missions/rushlt.mis","displayName":"Rush LT","missionTypes":["LCTF"]},"S5_Centaur":{"resourcePath":"missions/s5_centaur.mis","displayName":"S5-Centaur","missionTypes":["CTF"]},"S5_Damnation":{"resourcePath":"missions/s5_damnation.mis","displayName":"S5-Damnation","missionTypes":["CTF"]},"S5_DamnationLT":{"resourcePath":"missions/s5_damnationlt.mis","displayName":"S5-Damnation LT","missionTypes":["LCTF"]},"S5_Drache":{"resourcePath":"missions/s5_drache.mis","displayName":"S5-Drache","missionTypes":["CTF"]},"S5_HawkingHeat":{"resourcePath":"missions/s5_hawkingheat.mis","displayName":"S5-Hawking Heat","missionTypes":["CTF"]},"S5_Icedance":{"resourcePath":"missions/s5_icedance.mis","displayName":"S5-Icedance","missionTypes":["CTF"]},"S5_Massive":{"resourcePath":"missions/s5_massive.mis","displayName":"S5-Massive","missionTypes":["CTF"]},"S5_MassiveLT":{"resourcePath":"missions/s5_massivelt.mis","displayName":"S5-Massive LT","missionTypes":["LCTF"]},"S5_Mimicry":{"resourcePath":"missions/s5_mimicry.mis","displayName":"S5-Mimicry","missionTypes":["CTF"]},"S5_Misadventure":{"resourcePath":"missions/s5_misadventure.mis","displayName":"S5-Misadventure","missionTypes":["CTF"]},"S5_Mordacity":{"resourcePath":"missions/s5_mordacity.mis","displayName":"S5-Mordacity","missionTypes":["CTF"]},"S5_Reynard":{"resourcePath":"missions/s5_reynard.mis","displayName":"S5-Reynard","missionTypes":["CTF"]},"S5_Sherman":{"resourcePath":"missions/s5_sherman.mis","displayName":"S5-Sherman","missionTypes":["CTF"]},"S5_Silenus":{"resourcePath":"missions/s5_silenus.mis","displayName":"S5-Silenus","missionTypes":["CTF"]},"S5_SilenusLT":{"resourcePath":"missions/s5_silenuslt.mis","displayName":"S5-Silenus LT","missionTypes":["LCTF"]},"S5_Woodymyrk":{"resourcePath":"missions/s5_woodymyrk.mis","displayName":"S5-WoodyMyrk","missionTypes":["CTF"]},"S8_Cardiac":{"resourcePath":"missions/s8_cardiac.mis","displayName":"S8-Cardiac","missionTypes":["CTF"]},"S8_CentralDogma":{"resourcePath":"missions/s8_centraldogma.mis","displayName":"S8-Central Dogma","missionTypes":["CTF"]},"S8_Geothermal":{"resourcePath":"missions/s8_geothermal.mis","displayName":"S8-Geothermal","missionTypes":["CTF"]},"S8_GeothermalLak":{"resourcePath":"missions/s8_geothermallak.mis","displayName":"S8_Geothermal","missionTypes":["LakRabbit"]},"S8_Mountking":{"resourcePath":"missions/s8_mountking.mis","displayName":"S8-Mountain King","missionTypes":["CTF"]},"S8_Opus":{"resourcePath":"missions/s8_opus.mis","displayName":"S8-Opus","missionTypes":["CTF"]},"S8_Zilch":{"resourcePath":"missions/s8_zilch.mis","displayName":"S8-Zilch","missionTypes":["CTF"]},"S8_ZilchLT":{"resourcePath":"missions/s8_zilchlt.mis","displayName":"S8-Zilch LT","missionTypes":["LCTF"]},"SaddiesHill":{"resourcePath":"missions/saddieshill.mis","displayName":"Saddie's Hill","missionTypes":["LakRabbit"]},"Sanctuary":{"resourcePath":"missions/sanctuary.mis","displayName":null,"missionTypes":["CTF"]},"SandOcean":{"resourcePath":"missions/sandocean.mis","displayName":null,"missionTypes":["CTF"]},"Sandstorm":{"resourcePath":"missions/sandstorm.mis","displayName":"Sandstorm","missionTypes":["CTF","CnH","DnD"]},"SandstormLak":{"resourcePath":"missions/sandstormlak.mis","displayName":"Sandstorm","missionTypes":["LakRabbit","LakZM","TeamLak"]},"SandyRunLT":{"resourcePath":"missions/sandyrunlt.mis","displayName":"SandyRunLT","missionTypes":["LCTF"]},"Sangre_de_Grado":{"resourcePath":"missions/sangre_de_grado.mis","displayName":"Sangre de Grado","missionTypes":["CTF"]},"SC_Badlands":{"resourcePath":"missions/sc_badlands.mis","displayName":"Small Crossing (Badlands)","missionTypes":["CTF"]},"SC_Desert":{"resourcePath":"missions/sc_desert.mis","displayName":"Small Crossing (Desert)","missionTypes":["CTF"]},"SC_Ice":{"resourcePath":"missions/sc_ice.mis","displayName":"Small Crossing (Ice)","missionTypes":["CTF"]},"SC_Lush":{"resourcePath":"missions/sc_lush.mis","displayName":"Small Crossing (Lush)","missionTypes":["CTF"]},"SC_Night":{"resourcePath":"missions/sc_night.mis","displayName":"Small Crossing (Night)","missionTypes":["CTF"]},"SC_Normal":{"resourcePath":"missions/sc_normal.mis","displayName":"Small Crossing","missionTypes":["CTF"]},"Scarabrae_nef":{"resourcePath":"missions/scarabrae_nef.mis","displayName":"Scarabrae","missionTypes":["CTF","DnD"]},"Sector1":{"resourcePath":"missions/sector1.mis","displayName":"Sector1","missionTypes":["CTF"]},"Sentry":{"resourcePath":"missions/sentry.mis","displayName":"Sentry","missionTypes":["CTF"]},"ShockRidge":{"resourcePath":"missions/shockridge.mis","displayName":"Shock Ridge","missionTypes":["CTF","CnH"]},"Shortfall":{"resourcePath":"missions/shortfall.mis","displayName":"Shortfall","missionTypes":["CTF"]},"ShrineArena":{"resourcePath":"missions/shrinearena.mis","displayName":"ShrineArena","missionTypes":["Arena"]},"ShrineArenaII":{"resourcePath":"missions/shrinearenaii.mis","displayName":"_ShrineArena II","missionTypes":["Arena"]},"ShrineDM":{"resourcePath":"missions/shrinedm.mis","displayName":"ShrineDM","missionTypes":["DM"]},"SideWinder":{"resourcePath":"missions/sidewinder.mis","displayName":"DMP2-SideWinder","missionTypes":["CTF"]},"Signal":{"resourcePath":"missions/signal.mis","displayName":"Signal","missionTypes":["CTF"]},"SignalDX":{"resourcePath":"missions/signaldx.mis","displayName":"Signal DX","missionTypes":["CTF"]},"SignalLT":{"resourcePath":"missions/signallt.mis","displayName":"Signal LT","missionTypes":["LCTF"]},"Sirocco":{"resourcePath":"missions/sirocco.mis","displayName":null,"missionTypes":["CnH"]},"SkinnyDip":{"resourcePath":"missions/skinnydip.mis","displayName":"Skinny Dip","missionTypes":["TR2"]},"SkinnyDipLak":{"resourcePath":"missions/skinnydiplak.mis","displayName":"Skinny Dip","missionTypes":["LakRabbit","LakZM","TeamLak"]},"Slamnation":{"resourcePath":"missions/slamnation.mis","displayName":"Slamnation","missionTypes":["CTF"]},"Slapdash":{"resourcePath":"missions/slapdash.mis","displayName":"Slapdash","missionTypes":["CTF"]},"Slapdash_x2":{"resourcePath":"missions/slapdash_x2.mis","displayName":"Slapdash (x2)","missionTypes":["CTF"]},"slapdashMInferno":{"resourcePath":"missions/slapdashminferno.mis","displayName":"DMP2-SlapdashM Inferno","missionTypes":["CTF"]},"slapdashMStorm":{"resourcePath":"missions/slapdashmstorm.mis","displayName":"DMP2-SlapdashM Storm","missionTypes":["CTF"]},"SmallCrossing":{"resourcePath":"missions/smallcrossing.mis","displayName":"Small Crossing","missionTypes":["CTF"]},"SmallCrossingLT":{"resourcePath":"missions/smallcrossinglt.mis","displayName":"Small Crossing LT","missionTypes":["LCTF"]},"SmallDesertofDeath":{"resourcePath":"missions/smalldesertofdeath.mis","displayName":"Small Desert of Death","missionTypes":["CTF","SCtF"]},"SmallMelee":{"resourcePath":"missions/smallmelee.mis","displayName":"Small Melee","missionTypes":["CTF","SCtF"]},"SmallSpit":{"resourcePath":"missions/smallspit.mis","displayName":"Small Spit","missionTypes":["CTF"]},"SmallSpitLT":{"resourcePath":"missions/smallspitlt.mis","displayName":"Small Spit LT","missionTypes":["LCTF"]},"SmallTimeCTF":{"resourcePath":"missions/smalltimectf.mis","displayName":"SmallTime CTF","missionTypes":["CTF"]},"SmallTimeLT":{"resourcePath":"missions/smalltimelt.mis","displayName":"SmallTime LT","missionTypes":["LCTF"]},"Smog_x2":{"resourcePath":"missions/smog_x2.mis","displayName":"Smog (x2)","missionTypes":["CTF"]},"SmogArena":{"resourcePath":"missions/smogarena.mis","displayName":"Smog Arena","missionTypes":["Arena"]},"Snowblind_nef":{"resourcePath":"missions/snowblind_nef.mis","displayName":"Snowblind","missionTypes":["CTF"]},"SnowBound":{"resourcePath":"missions/snowbound.mis","displayName":"SnowBound","missionTypes":["Arena"]},"Snowcone":{"resourcePath":"missions/snowcone.mis","displayName":null,"missionTypes":["CTF"]},"SoccerLand":{"resourcePath":"missions/soccerland.mis","displayName":"^_^ SoccerLand","missionTypes":["Arena"]},"SolsDescent":{"resourcePath":"missions/solsdescent.mis","displayName":"Sol's Descent","missionTypes":["TR2"]},"SolsDescentLak":{"resourcePath":"missions/solsdescentlak.mis","displayName":"Sol's Descent","missionTypes":["LakRabbit"]},"SoylentGreen":{"resourcePath":"missions/soylentgreen.mis","displayName":null,"missionTypes":["CTF"]},"Spacewalk":{"resourcePath":"missions/spacewalk.mis","displayName":"Spacewalk","missionTypes":["CTF"]},"SpectreLak":{"resourcePath":"missions/spectrelak.mis","displayName":"Spectre","missionTypes":["LakRabbit"]},"SpyLand":{"resourcePath":"missions/spyland.mis","displayName":"^_^ SpyLand","missionTypes":["Arena"]},"StarFallCTF":{"resourcePath":"missions/starfallctf.mis","displayName":"StarFall","missionTypes":["CTF"]},"Starfallen":{"resourcePath":"missions/starfallen.mis","displayName":"Starfallen","missionTypes":["CTF","DnD"]},"StarIce":{"resourcePath":"missions/starice.mis","displayName":"StarIce [Reverse-CTF]","missionTypes":["CTF","CnH"]},"Stonehenge_Arena":{"resourcePath":"missions/stonehenge_arena.mis","displayName":null,"missionTypes":["Arena"]},"Stonehenge_nef":{"resourcePath":"missions/stonehenge_nef.mis","displayName":"Stonehenge","missionTypes":["CTF"]},"stormsrage":{"resourcePath":"missions/stormsrage.mis","displayName":"DMP2-Storms Rage","missionTypes":["CTF"]},"Stripmine_x2":{"resourcePath":"missions/stripmine_x2.mis","displayName":"Stripmine (x2)","missionTypes":["CTF"]},"SubZero":{"resourcePath":"missions/subzero.mis","displayName":"Sub-zero","missionTypes":["CTF"]},"SubzeroV":{"resourcePath":"missions/subzerov.mis","displayName":"Sub-ZeroV","missionTypes":["CTF"]},"Sulfide":{"resourcePath":"missions/sulfide.mis","displayName":"Sulfide","missionTypes":["LakRabbit"]},"Sundance":{"resourcePath":"missions/sundance.mis","displayName":"SunDance","missionTypes":["LakRabbit"]},"SunDried":{"resourcePath":"missions/sundried.mis","displayName":"Sun Dried","missionTypes":["Hunters","Bounty","DM","Rabbit"]},"SunDriedLak":{"resourcePath":"missions/sundriedlak.mis","displayName":"Sun Dried","missionTypes":["LakRabbit"]},"SuperHappyBouncyFunTime":{"resourcePath":"missions/superhappybouncyfuntime.mis","displayName":"Super Happy Bouncy Fun Time","missionTypes":["CTF"]},"SuperiorWaterworks":{"resourcePath":"missions/superiorwaterworks.mis","displayName":"Superior Waterworks","missionTypes":["CTF"]},"Surreal":{"resourcePath":"missions/surreal.mis","displayName":"Surreal","missionTypes":["Bounty","CTF","DM"]},"SurrealLT":{"resourcePath":"missions/surreallt.mis","displayName":"Surreal LT","missionTypes":["LCTF"]},"Surro":{"resourcePath":"missions/surro.mis","displayName":"Surro","missionTypes":["CTF"]},"Talus":{"resourcePath":"missions/talus.mis","displayName":null,"missionTypes":["Hunters","Bounty","DM"]},"TempleTussleVersion2":{"resourcePath":"missions/templetussleversion2.mis","displayName":"_TempleTussle Version II","missionTypes":["Arena"]},"Tenebrous":{"resourcePath":"missions/tenebrous.mis","displayName":"Tenebrous","missionTypes":["Arena"]},"TenebrousCTF":{"resourcePath":"missions/tenebrousctf.mis","displayName":"Tenebrous","missionTypes":["CTF"]},"The_Calm":{"resourcePath":"missions/the_calm.mis","displayName":"The Calm","missionTypes":["CTF"]},"TheClocktower":{"resourcePath":"missions/theclocktower.mis","displayName":"The Clocktower","missionTypes":["CTF"]},"TheFray":{"resourcePath":"missions/thefray.mis","displayName":"The Fray","missionTypes":["CTF"]},"ThinIce":{"resourcePath":"missions/thinice.mis","displayName":"Thin Ice","missionTypes":["CTF"]},"ThunderGiant_x2":{"resourcePath":"missions/thundergiant_x2.mis","displayName":"Thunder Giant (x2)","missionTypes":["CTF"]},"TibbawLak":{"resourcePath":"missions/tibbawlak.mis","displayName":"Tibbaw","missionTypes":["LakRabbit"]},"Titan":{"resourcePath":"missions/titan.mis","displayName":"Titan","missionTypes":["CTF"]},"TitaniaLak":{"resourcePath":"missions/titanialak.mis","displayName":"Titania","missionTypes":["LakRabbit"]},"TitanV":{"resourcePath":"missions/titanv.mis","displayName":"TitanV","missionTypes":["CTF"]},"TitForTat":{"resourcePath":"missions/titfortat.mis","displayName":"Tit For Tat","missionTypes":["CTF"]},"Tombstone":{"resourcePath":"missions/tombstone.mis","displayName":null,"missionTypes":["CTF"]},"Tombstone_x2":{"resourcePath":"missions/tombstone_x2.mis","displayName":"Tombstone (x2)","missionTypes":["CTF"]},"Training1":{"resourcePath":"missions/training1.mis","displayName":"Newblood","missionTypes":["SinglePlayer"]},"Training2":{"resourcePath":"missions/training2.mis","displayName":"Warrior","missionTypes":["SinglePlayer"]},"Training3":{"resourcePath":"missions/training3.mis","displayName":"Ranger","missionTypes":["SinglePlayer"]},"Training4":{"resourcePath":"missions/training4.mis","displayName":"Sergeant","missionTypes":["SinglePlayer"]},"Training5":{"resourcePath":"missions/training5.mis","displayName":"Lieutenant","missionTypes":["SinglePlayer"]},"TreasureIsland":{"resourcePath":"missions/treasureisland.mis","displayName":"Treasure Island","missionTypes":["TR2"]},"TreasureIslandLak":{"resourcePath":"missions/treasureislandlak.mis","displayName":"Treasure Island","missionTypes":["LakRabbit","LakZM","TeamLak"]},"Triad":{"resourcePath":"missions/triad.mis","displayName":"Triad","missionTypes":["CTF"]},"Trident":{"resourcePath":"missions/trident.mis","displayName":"Trident","missionTypes":["Siege"]},"TrueGrit":{"resourcePath":"missions/truegrit.mis","displayName":"True Grit","missionTypes":["Arena"]},"TST_SphereMap":{"resourcePath":"missions/tst_spheremap.mis","displayName":"TST-SphereMap","missionTypes":["CTF"]},"TuskLT":{"resourcePath":"missions/tusklt.mis","displayName":"DMP2-Tusk LT","missionTypes":["SCtF","LCTF"]},"TwilightGroveLT":{"resourcePath":"missions/twilightgrovelt.mis","displayName":"DMP2-Twilight Grove LT","missionTypes":["SCtF","LCTF"]},"twinDrakes":{"resourcePath":"missions/twindrakes.mis","displayName":"DMP2-Twin Drakes","missionTypes":["CTF"]},"TwinTorrentsCCW":{"resourcePath":"missions/twintorrentsccw.mis","displayName":"DMP2-Twin Torrents CCW","missionTypes":["CTF"]},"TwinTorrentsCW":{"resourcePath":"missions/twintorrentscw.mis","displayName":"DMP2-Twin Torrents CW","missionTypes":["CTF"]},"TWL2_Bleed":{"resourcePath":"missions/twl2_bleed.mis","displayName":"TWL2-Bleed","missionTypes":["CTF"]},"TWL2_BlueMoon":{"resourcePath":"missions/twl2_bluemoon.mis","displayName":"TWL2-Blue Moon","missionTypes":["CTF"]},"TWL2_CanyonCrusadeDeluxe":{"resourcePath":"missions/twl2_canyoncrusadedeluxe.mis","displayName":"TWL2-Canyon Crusade Deluxe","missionTypes":["CTF"]},"TWL2_CanyonCrusadeDeluxeLT":{"resourcePath":"missions/twl2_canyoncrusadedeluxelt.mis","displayName":"TWL2-Canyon Crusade DeluxeLT","missionTypes":["LCTF"]},"TWL2_Celerity":{"resourcePath":"missions/twl2_celerity.mis","displayName":"TWL2-Celerity","missionTypes":["CTF"]},"TWL2_CelerityLT":{"resourcePath":"missions/twl2_celeritylt.mis","displayName":"TWL2-Celerity LT","missionTypes":["LCTF"]},"TWL2_CloakOfNight":{"resourcePath":"missions/twl2_cloakofnight.mis","displayName":"TWL2-Cloak of Night","missionTypes":["CTF"]},"TWL2_Crevice":{"resourcePath":"missions/twl2_crevice.mis","displayName":"TWL2-Crevice","missionTypes":["CTF"]},"TWL2_Dissention":{"resourcePath":"missions/twl2_dissention.mis","displayName":"TWL2-Dissention","missionTypes":["CTF"]},"TWL2_Drifts":{"resourcePath":"missions/twl2_drifts.mis","displayName":"TWL2-Drifts","missionTypes":["CTF"]},"TWL2_Drorck":{"resourcePath":"missions/twl2_drorck.mis","displayName":"TWL2-Drorck","missionTypes":["CTF"]},"TWL2_FrozenGlory":{"resourcePath":"missions/twl2_frozenglory.mis","displayName":"TWL2-Frozen Glory","missionTypes":["CTF"]},"TWL2_FrozenHope":{"resourcePath":"missions/twl2_frozenhope.mis","displayName":"TWL2-Frozen Hope","missionTypes":["CTF"]},"TWL2_Hildebrand":{"resourcePath":"missions/twl2_hildebrand.mis","displayName":"TWL2-Hildebrand","missionTypes":["CTF"]},"TWL2_HildebrandLT":{"resourcePath":"missions/twl2_hildebrandlt.mis","displayName":"TWL2-HildebrandLT","missionTypes":["LCTF"]},"TWL2_IceDagger":{"resourcePath":"missions/twl2_icedagger.mis","displayName":"TWL2-Ice Dagger","missionTypes":["CTF"]},"TWL2_JaggedClaw":{"resourcePath":"missions/twl2_jaggedclaw.mis","displayName":"TWL2-Jagged Claw","missionTypes":["CTF"]},"TWL2_JaggedClawLT":{"resourcePath":"missions/twl2_jaggedclawlt.mis","displayName":"TWL2-Jagged Claw LT","missionTypes":["LCTF"]},"TWL2_Magnum":{"resourcePath":"missions/twl2_magnum.mis","displayName":"TWL2-Magnum","missionTypes":["CTF"]},"TWL2_MidnightMayhemDeluxe":{"resourcePath":"missions/twl2_midnightmayhemdeluxe.mis","displayName":"TWL2-Midnight Mayhem Deluxe","missionTypes":["CTF"]},"TWL2_MuddySwamp":{"resourcePath":"missions/twl2_muddyswamp.mis","displayName":"TWL2-Muddy Swamp","missionTypes":["CTF"]},"TWL2_MuddySwampLak":{"resourcePath":"missions/twl2_muddyswamplak.mis","displayName":"TWL2-Muddy Swamp","missionTypes":["LakRabbit"]},"TWL2_Norty":{"resourcePath":"missions/twl2_norty.mis","displayName":"TWL2-Norty","missionTypes":["CTF"]},"TWL2_Ocular":{"resourcePath":"missions/twl2_ocular.mis","displayName":"TWL2-Ocular","missionTypes":["CTF"]},"TWL2_RoughLand":{"resourcePath":"missions/twl2_roughland.mis","displayName":"TWL2-Rough Land","missionTypes":["CTF"]},"TWL2_Ruined":{"resourcePath":"missions/twl2_ruined.mis","displayName":"TWL2-Ruined","missionTypes":["CTF"]},"TWL2_Skylight":{"resourcePath":"missions/twl2_skylight.mis","displayName":"TWL2-Skylight","missionTypes":["CTF"]},"TWL2_SkylightLT":{"resourcePath":"missions/twl2_skylightlt.mis","displayName":"TWL2-Skylight LT","missionTypes":["LCTF"]},"TWL2_WoodyMyrk":{"resourcePath":"missions/twl2_woodymyrk.mis","displayName":"TWL2-Woody Myrk","missionTypes":["CTF"]},"TWL_Abaddon":{"resourcePath":"missions/twl_abaddon.mis","displayName":"TWL-Abaddon","missionTypes":["CTF"]},"TWL_BaNsHee":{"resourcePath":"missions/twl_banshee.mis","displayName":"TWL-BaNsHee","missionTypes":["CTF"]},"TWL_BeachBlitz":{"resourcePath":"missions/twl_beachblitz.mis","displayName":"TWL-Beach Blitz","missionTypes":["CTF"]},"TWL_BeachBlitzLak":{"resourcePath":"missions/twl_beachblitzlak.mis","displayName":"TWL-Beach Blitz","missionTypes":["LakRabbit"]},"TWL_BeachBlitzLT":{"resourcePath":"missions/twl_beachblitzlt.mis","displayName":"TWL-Beach Blitz LT","missionTypes":["LCTF"]},"TWL_BeachBlitzM":{"resourcePath":"missions/twl_beachblitzm.mis","displayName":"DMP2-Beach Blitz-M","missionTypes":["CTF"]},"TWL_BeachBlitzMLT":{"resourcePath":"missions/twl_beachblitzmlt.mis","displayName":"DMP2-Beach Blitz-M LT","missionTypes":["SCtF","LCTF"]},"TWL_BeggarsRun":{"resourcePath":"missions/twl_beggarsrun.mis","displayName":"TWL-Beggar's Run","missionTypes":["CTF"]},"TWL_BlueMoon":{"resourcePath":"missions/twl_bluemoon.mis","displayName":"TWL-Blue Moon","missionTypes":["CTF"]},"TWL_Boss":{"resourcePath":"missions/twl_boss.mis","displayName":"TWL-Boss","missionTypes":["CTF"]},"TWL_Celerity":{"resourcePath":"missions/twl_celerity.mis","displayName":"TWL-Celerity","missionTypes":["CTF"]},"TWL_Chokepoint":{"resourcePath":"missions/twl_chokepoint.mis","displayName":"TWL-Choke Point","missionTypes":["CTF"]},"TWL_Cinereous":{"resourcePath":"missions/twl_cinereous.mis","displayName":"TWL-Cinereous","missionTypes":["CTF"]},"TWL_Clusterfuct":{"resourcePath":"missions/twl_clusterfuct.mis","displayName":"TWL-Clusterfuct","missionTypes":["CTF"]},"TWL_Crossfire":{"resourcePath":"missions/twl_crossfire.mis","displayName":"TWL-Cross Fire","missionTypes":["CTF"]},"TWL_Curtilage":{"resourcePath":"missions/twl_curtilage.mis","displayName":"TWL-Curtilage","missionTypes":["CTF"]},"TWL_Damnation":{"resourcePath":"missions/twl_damnation.mis","displayName":"TWL-Damnation","missionTypes":["CTF"]},"TWL_DangerousCrossing":{"resourcePath":"missions/twl_dangerouscrossing.mis","displayName":"TWL-Dangerous Crossing","missionTypes":["CTF"]},"TWL_DeadlyBirdsSong":{"resourcePath":"missions/twl_deadlybirdssong.mis","displayName":"TWL-Deadly Birds Song","missionTypes":["CTF"]},"TWL_Deserted":{"resourcePath":"missions/twl_deserted.mis","displayName":"TWL-Deserted","missionTypes":["CTF"]},"TWL_Drifts":{"resourcePath":"missions/twl_drifts.mis","displayName":"TWL-Drifts","missionTypes":["CTF"]},"TWL_Feign":{"resourcePath":"missions/twl_feign.mis","displayName":"TWL-Feign","missionTypes":["CTF"]},"TWL_FeignLT":{"resourcePath":"missions/twl_feignlt.mis","displayName":"TWL-Feign LT","missionTypes":["LCTF"]},"TWL_Frostclaw":{"resourcePath":"missions/twl_frostclaw.mis","displayName":"TWL-Frostclaw","missionTypes":["CTF"]},"TWL_Frozen":{"resourcePath":"missions/twl_frozen.mis","displayName":"TWL-Frozen","missionTypes":["CTF"]},"TWL_Harvester":{"resourcePath":"missions/twl_harvester.mis","displayName":"TWL-Harvester","missionTypes":["CTF"]},"TWL_Horde":{"resourcePath":"missions/twl_horde.mis","displayName":"TWL-Horde","missionTypes":["CTF"]},"TWL_Katabatic":{"resourcePath":"missions/twl_katabatic.mis","displayName":"TWL-Katabatic","missionTypes":["CTF"]},"TWL_Magmatic":{"resourcePath":"missions/twl_magmatic.mis","displayName":"TWL-Magmatic","missionTypes":["CTF"]},"TWL_Minotaur":{"resourcePath":"missions/twl_minotaur.mis","displayName":"TWL-Minotaur","missionTypes":["CTF"]},"TWL_Neve":{"resourcePath":"missions/twl_neve.mis","displayName":"TWL-Neve","missionTypes":["CTF"]},"TWL_NoShelter":{"resourcePath":"missions/twl_noshelter.mis","displayName":"TWL-No Shelter","missionTypes":["CTF"]},"TWL_OsIris":{"resourcePath":"missions/twl_osiris.mis","displayName":"TWL-Os Iris","missionTypes":["CTF"]},"TWL_Pandemonium":{"resourcePath":"missions/twl_pandemonium.mis","displayName":"TWL-Pandemonium","missionTypes":["CTF"]},"TWL_Quagmire":{"resourcePath":"missions/twl_quagmire.mis","displayName":"TWL-Quagmire","missionTypes":["CTF"]},"TWL_Raindance":{"resourcePath":"missions/twl_raindance.mis","displayName":"TWL-Raindance","missionTypes":["CTF"]},"TWL_Ramparts":{"resourcePath":"missions/twl_ramparts.mis","displayName":"TWL-Ramparts","missionTypes":["CTF"]},"TWL_Reversion":{"resourcePath":"missions/twl_reversion.mis","displayName":"TWL-Reversion","missionTypes":["CTF"]},"TWL_Rollercoaster":{"resourcePath":"missions/twl_rollercoaster.mis","displayName":"TWL-Rollercoaster","missionTypes":["CTF"]},"TWL_RollercoasterLT":{"resourcePath":"missions/twl_rollercoasterlt.mis","displayName":"TWL-Rollercoaster LT","missionTypes":["LCTF"]},"TWL_Runenmacht":{"resourcePath":"missions/twl_runenmacht.mis","displayName":"TWL-Runenmacht","missionTypes":["CTF"]},"TWL_Sandstorm":{"resourcePath":"missions/twl_sandstorm.mis","displayName":"TWL-Sandstorm","missionTypes":["CTF"]},"TWL_Slapdash":{"resourcePath":"missions/twl_slapdash.mis","displayName":"TWL-Slapdash","missionTypes":["CTF"]},"TWL_Snowblind":{"resourcePath":"missions/twl_snowblind.mis","displayName":"TWL-Snowblind","missionTypes":["CTF"]},"TWL_Starfallen":{"resourcePath":"missions/twl_starfallen.mis","displayName":"TWL-Starfallen","missionTypes":["CTF"]},"TWL_Stonehenge":{"resourcePath":"missions/twl_stonehenge.mis","displayName":"TWL-Stonehenge","missionTypes":["CTF"]},"TWL_StonehengeLT":{"resourcePath":"missions/twl_stonehengelt.mis","displayName":"TWL-StonehengeLT","missionTypes":["LCTF"]},"TWL_SubZero":{"resourcePath":"missions/twl_subzero.mis","displayName":"TWL-Subzero","missionTypes":["CTF"]},"TWL_Surreal":{"resourcePath":"missions/twl_surreal.mis","displayName":"TWL-Surreal","missionTypes":["CTF"]},"TWL_Titan":{"resourcePath":"missions/twl_titan.mis","displayName":"TWL-Titan","missionTypes":["CTF"]},"TWL_WhiteDwarf":{"resourcePath":"missions/twl_whitedwarf.mis","displayName":"TWL-White Dwarf","missionTypes":["CTF"]},"TWL_WilderZone":{"resourcePath":"missions/twl_wilderzone.mis","displayName":"TWL-WilderZone","missionTypes":["CTF"]},"TWL_WilderZoneLT":{"resourcePath":"missions/twl_wilderzonelt.mis","displayName":"TWL-WilderZone LT","missionTypes":["LCTF"]},"TWL_WoodyMyrk":{"resourcePath":"missions/twl_woodymyrk.mis","displayName":"TWL-WoodyMyrk","missionTypes":["CTF"]},"Two_Towers":{"resourcePath":"missions/two_towers.mis","displayName":"DMP2-Two Towers","missionTypes":["CTF"]},"UltimaThule":{"resourcePath":"missions/ultimathule.mis","displayName":"Ultima Thule","missionTypes":["Siege"]},"Underhill":{"resourcePath":"missions/underhill.mis","displayName":null,"missionTypes":["Hunters","Bounty","DM"]},"UporDown":{"resourcePath":"missions/upordown.mis","displayName":"_UporDown","missionTypes":["Arena"]},"VanDamnedCTF":{"resourcePath":"missions/vandamnedctf.mis","displayName":"VanDamned","missionTypes":["CTF"]},"VanDamnedLT":{"resourcePath":"missions/vandamnedlt.mis","displayName":"VanDamned LT","missionTypes":["LCTF"]},"Vauban":{"resourcePath":"missions/vauban.mis","displayName":null,"missionTypes":["CTF"]},"Vaubania":{"resourcePath":"missions/vaubania.mis","displayName":"Vaubania","missionTypes":["CTF"]},"VaubanLak":{"resourcePath":"missions/vaubanlak.mis","displayName":"Vauban","missionTypes":["LakRabbit"]},"VulcansWrathDM":{"resourcePath":"missions/vulcanswrathdm.mis","displayName":"VulcansWrathDM","missionTypes":["DM"]},"WalledIn":{"resourcePath":"missions/walledin.mis","displayName":"WalledIn","missionTypes":["Arena"]},"WalledInII":{"resourcePath":"missions/walledinii.mis","displayName":"[Original]Walledin","missionTypes":["Arena"]},"Wasteland_x2":{"resourcePath":"missions/wasteland_x2.mis","displayName":"Wasteland (x2)","missionTypes":["CTF"]},"WhiteDwarf":{"resourcePath":"missions/whitedwarf.mis","displayName":"White Dwarf","missionTypes":["CTF"]},"WhiteDwarfDeluxe":{"resourcePath":"missions/whitedwarfdeluxe.mis","displayName":"WhiteDwarf Deluxe","missionTypes":["CTF"]},"WhiteDwarfDeluxeLT":{"resourcePath":"missions/whitedwarfdeluxelt.mis","displayName":"WhiteDwarf Deluxe LT","missionTypes":["LCTF"]},"Whiteout":{"resourcePath":"missions/whiteout.mis","displayName":null,"missionTypes":["DM","Bounty"]},"WindyGap":{"resourcePath":"missions/windygap.mis","displayName":null,"missionTypes":["CTF"]},"woe":{"resourcePath":"missions/woe.mis","displayName":"DMP2-What On Earth","missionTypes":["CTF"]},"WonderLand":{"resourcePath":"missions/wonderland.mis","displayName":"^_^ WonderLand","missionTypes":["Arena"]},"WoodyMyrk_x2":{"resourcePath":"missions/woodymyrk_x2.mis","displayName":"WoodyMyrk (x2)","missionTypes":["CTF"]},"Wrongside":{"resourcePath":"missions/wrongside.mis","displayName":"Wrongside","missionTypes":["TDM"]},"Yubarena":{"resourcePath":"missions/yubarena.mis","displayName":"_Yubarena","missionTypes":["Arena"]},"Zilch":{"resourcePath":"missions/zilch.mis","displayName":"Zilch","missionTypes":["CTF"]}}`)};function i(t){return e(t).toLowerCase()}function a(){return r.resources}function o(e){let[t,...n]=r.resources[e],[i,a]=n[n.length-1];return[i,a??t]}function s(e){let t=i(e);if(r.resources[t])return t;let n=t.replace(/\d+(\.(png))$/i,`$1`);if(r.resources[n])return n;throw Error(`Resource not found in manifest: ${e}`)}function c(){return Object.keys(r.resources)}var l=[``,`.jpg`,`.png`,`.gif`,`.bmp`];function u(e){let t=i(e);for(let e of l){let n=`${t}${e}`;if(r.resources[n])return n}return t}function d(e){let t=r.missions[e];if(!t)throw Error(`Mission not found: ${e}`);return t}function f(e){return e in r.missions}function p(){return Object.keys(r.missions)}function m(e){return e.split(/(?:\r\n|\r|\n)/g).map(e=>e.trim()).filter(Boolean).filter(e=>!e.startsWith(`;`)).map(e=>{let t=e.match(/^(.+)\s(\d+)$/);if(t){let e=parseInt(t[2],10);return{name:t[1],frameCount:e}}else return{name:e,frameCount:1}})}var h=256;function g(e){let t=new DataView(e),n=0,r=t.getUint8(n++),i=new Uint16Array(h*h),a=[],o=e=>{let r=``;for(let i=0;i0&&a.push(i)}let c=[];for(let e of a){let e=new Uint8Array(h*h);for(let r=0;r1?r.slice(0,-1).join(`/`)+`/`:``}${t}`),b)}function E(e){return x(u(`textures/${e}`),b)}function D(e){return x(`audio/${e}`).replace(/\.wav$/i,`.m4a`)}async function O(e){let t=x(`textures/${e}`);return(await(await fetch(t)).text()).split(/(?:\r\n|\r|\n)/).map(e=>{if(e=e.trim(),!e.startsWith(`;`))return e}).filter(Boolean)}async function k(e){let t=d(e),r=await(await fetch(x(t.resourcePath))).arrayBuffer(),i;try{i=new TextDecoder(`utf-8`,{fatal:!0}).decode(r)}catch{i=new TextDecoder(`windows-1252`).decode(r)}return i=i.replaceAll(`�`,`'`),n(i)}async function A(e){let t=x(`terrains/${e}`);_.debug(`Fetching terrain: %s`,t);let n=await fetch(t);if(!n.ok)throw Error(`[loadTerrain] Failed to fetch ${t}: ${n.status} ${n.statusText}`);let r=await n.arrayBuffer();return _.debug(`Loaded terrain %s: %d bytes`,e,r.byteLength),g(r)}async function j(e){let t=x(e);return m(await(await fetch(t)).text())}export{c as _,T as a,u as b,j as c,C as d,w as f,i as g,p as h,x as i,k as l,d as m,y as n,S as o,E as p,D as r,O as s,b as t,A as u,a as v,f as x,o as y}; \ No newline at end of file diff --git a/docs/assets/manifest-MMwwguGo.js b/docs/assets/manifest-MMwwguGo.js new file mode 100644 index 00000000..8a0cd299 --- /dev/null +++ b/docs/assets/manifest-MMwwguGo.js @@ -0,0 +1 @@ +import{i as e}from"./stringUtils-EmGsjr9D.js";var t={resources:JSON.parse(`{"audio/alarm.m4a":["audio/alarm.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/alarm.wav":["audio/alarm.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/alienanimal2.m4a":["audio/alienanimal2.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/alienanimal2.wav":["audio/alienanimal2.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/alienanimal4.m4a":["audio/alienanimal4.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/alienanimal4.wav":["audio/alienanimal4.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/alienanimal5.m4a":["audio/alienanimal5.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/alienanimal5.wav":["audio/alienanimal5.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/alienanimal6.m4a":["audio/alienanimal6.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/alienanimal6.wav":["audio/alienanimal6.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/alienanimal7.m4a":["audio/alienanimal7.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/alienanimal7.wav":["audio/alienanimal7.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/basshit.m4a":["audio/bassHit.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/basshit.wav":["audio/bassHit.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/birdfrog.m4a":["audio/birdfrog.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/birdfrog.wav":["audio/birdfrog.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/buildclose.m4a":["audio/buildClose.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/buildclose.wav":["audio/buildClose.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/buildopen.m4a":["audio/buildOpen.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/buildopen.wav":["audio/buildOpen.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/drywindlong.m4a":["audio/drywindlong.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/drywindlong.wav":["audio/drywindlong.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/fx/armor/breath_bio_uw.m4a":["audio/fx/armor/breath_bio_uw.m4a",["audio.vl2"]],"audio/fx/armor/breath_bio_uw.wav":["audio/fx/armor/breath_bio_uw.wav",["audio.vl2"]],"audio/fx/armor/breath_fem_uw.m4a":["audio/fx/armor/breath_fem_uw.m4a",["audio.vl2"]],"audio/fx/armor/breath_fem_uw.wav":["audio/fx/armor/breath_fem_uw.wav",["audio.vl2"]],"audio/fx/armor/breath_uw.m4a":["audio/fx/armor/breath_uw.m4a",["audio.vl2"]],"audio/fx/armor/breath_uw.wav":["audio/fx/armor/breath_uw.wav",["audio.vl2"]],"audio/fx/armor/bubbletrail.m4a":["audio/fx/armor/bubbletrail.m4a",["audio.vl2"]],"audio/fx/armor/bubbletrail.wav":["audio/fx/armor/bubbletrail.wav",["audio.vl2"]],"audio/fx/armor/bubbletrail2.m4a":["audio/fx/armor/bubbletrail2.m4a",["audio.vl2"]],"audio/fx/armor/bubbletrail2.wav":["audio/fx/armor/bubbletrail2.wav",["audio.vl2"]],"audio/fx/armor/general_water_bigsplash.m4a":["audio/fx/armor/general_water_bigsplash.m4a",["audio.vl2"]],"audio/fx/armor/general_water_bigsplash.wav":["audio/fx/armor/general_water_bigsplash.wav",["audio.vl2"]],"audio/fx/armor/general_water_exit.m4a":["audio/fx/armor/general_water_exit.m4a",["audio.vl2"]],"audio/fx/armor/general_water_exit.wav":["audio/fx/armor/general_water_exit.wav",["audio.vl2"]],"audio/fx/armor/general_water_exit2.m4a":["audio/fx/armor/general_water_exit2.m4a",["audio.vl2"]],"audio/fx/armor/general_water_exit2.wav":["audio/fx/armor/general_water_exit2.wav",["audio.vl2"]],"audio/fx/armor/general_water_medsplash.m4a":["audio/fx/armor/general_water_medsplash.m4a",["audio.vl2"]],"audio/fx/armor/general_water_medsplash.wav":["audio/fx/armor/general_water_medsplash.wav",["audio.vl2"]],"audio/fx/armor/general_water_smallsplash.m4a":["audio/fx/armor/general_water_smallsplash.m4a",["audio.vl2"]],"audio/fx/armor/general_water_smallsplash.wav":["audio/fx/armor/general_water_smallsplash.wav",["audio.vl2"]],"audio/fx/armor/general_water_smallsplash2.m4a":["audio/fx/armor/general_water_smallsplash2.m4a",["audio.vl2"]],"audio/fx/armor/general_water_smallsplash2.wav":["audio/fx/armor/general_water_smallsplash2.wav",["audio.vl2"]],"audio/fx/armor/heavy_land_hard.m4a":["audio/fx/armor/heavy_land_hard.m4a",["audio.vl2"]],"audio/fx/armor/heavy_land_hard.wav":["audio/fx/armor/heavy_land_hard.wav",["audio.vl2"]],"audio/fx/armor/heavy_land_snow.m4a":["audio/fx/armor/heavy_land_snow.m4a",["audio.vl2"]],"audio/fx/armor/heavy_land_snow.wav":["audio/fx/armor/heavy_land_snow.wav",["audio.vl2"]],"audio/fx/armor/heavy_land_soft.m4a":["audio/fx/armor/heavy_land_soft.m4a",["audio.vl2"]],"audio/fx/armor/heavy_land_soft.wav":["audio/fx/armor/heavy_land_soft.wav",["audio.vl2"]],"audio/fx/armor/heavy_lf_hard.m4a":["audio/fx/armor/heavy_LF_hard.m4a",["audio.vl2"]],"audio/fx/armor/heavy_lf_hard.wav":["audio/fx/armor/heavy_LF_hard.wav",["audio.vl2"]],"audio/fx/armor/heavy_lf_metal.m4a":["audio/fx/armor/heavy_LF_metal.m4a",["audio.vl2"]],"audio/fx/armor/heavy_lf_metal.wav":["audio/fx/armor/heavy_LF_metal.wav",["audio.vl2"]],"audio/fx/armor/heavy_lf_snow.m4a":["audio/fx/armor/heavy_LF_snow.m4a",["audio.vl2"]],"audio/fx/armor/heavy_lf_snow.wav":["audio/fx/armor/heavy_LF_snow.wav",["audio.vl2"]],"audio/fx/armor/heavy_lf_soft.m4a":["audio/fx/armor/heavy_LF_soft.m4a",["audio.vl2"]],"audio/fx/armor/heavy_lf_soft.wav":["audio/fx/armor/heavy_LF_soft.wav",["audio.vl2"]],"audio/fx/armor/heavy_lf_uw.m4a":["audio/fx/armor/heavy_LF_uw.m4a",["audio.vl2"]],"audio/fx/armor/heavy_lf_uw.wav":["audio/fx/armor/heavy_LF_uw.wav",["audio.vl2"]],"audio/fx/armor/heavy_lf_water.m4a":["audio/fx/armor/heavy_LF_water.m4a",["audio.vl2"]],"audio/fx/armor/heavy_lf_water.wav":["audio/fx/armor/heavy_LF_water.wav",["audio.vl2"]],"audio/fx/armor/heavy_rf_hard.m4a":["audio/fx/armor/heavy_RF_hard.m4a",["audio.vl2"]],"audio/fx/armor/heavy_rf_hard.wav":["audio/fx/armor/heavy_RF_hard.wav",["audio.vl2"]],"audio/fx/armor/heavy_rf_metal.m4a":["audio/fx/armor/heavy_RF_metal.m4a",["audio.vl2"]],"audio/fx/armor/heavy_rf_metal.wav":["audio/fx/armor/heavy_RF_metal.wav",["audio.vl2"]],"audio/fx/armor/heavy_rf_snow.m4a":["audio/fx/armor/heavy_RF_snow.m4a",["audio.vl2"]],"audio/fx/armor/heavy_rf_snow.wav":["audio/fx/armor/heavy_RF_snow.wav",["audio.vl2"]],"audio/fx/armor/heavy_rf_soft.m4a":["audio/fx/armor/heavy_RF_soft.m4a",["audio.vl2"]],"audio/fx/armor/heavy_rf_soft.wav":["audio/fx/armor/heavy_RF_soft.wav",["audio.vl2"]],"audio/fx/armor/heavy_rf_uw.m4a":["audio/fx/armor/heavy_RF_uw.m4a",["audio.vl2"]],"audio/fx/armor/heavy_rf_uw.wav":["audio/fx/armor/heavy_RF_uw.wav",["audio.vl2"]],"audio/fx/armor/heavy_rf_water.m4a":["audio/fx/armor/heavy_RF_water.m4a",["audio.vl2"]],"audio/fx/armor/heavy_rf_water.wav":["audio/fx/armor/heavy_RF_water.wav",["audio.vl2"]],"audio/fx/armor/light_land_hard.m4a":["audio/fx/armor/light_land_hard.m4a",["audio.vl2"]],"audio/fx/armor/light_land_hard.wav":["audio/fx/armor/light_land_hard.wav",["audio.vl2"]],"audio/fx/armor/light_land_metal.m4a":["audio/fx/armor/light_land_metal.m4a",["audio.vl2"]],"audio/fx/armor/light_land_metal.wav":["audio/fx/armor/light_land_metal.wav",["audio.vl2"]],"audio/fx/armor/light_land_snow.m4a":["audio/fx/armor/light_land_snow.m4a",["audio.vl2"]],"audio/fx/armor/light_land_snow.wav":["audio/fx/armor/light_land_snow.wav",["audio.vl2"]],"audio/fx/armor/light_land_soft.m4a":["audio/fx/armor/light_land_soft.m4a",["audio.vl2"]],"audio/fx/armor/light_land_soft.wav":["audio/fx/armor/light_land_soft.wav",["audio.vl2"]],"audio/fx/armor/light_lf_bubbles.m4a":["audio/fx/armor/light_LF_bubbles.m4a",["audio.vl2"]],"audio/fx/armor/light_lf_bubbles.wav":["audio/fx/armor/light_LF_bubbles.wav",["audio.vl2"]],"audio/fx/armor/light_lf_hard.m4a":["audio/fx/armor/light_LF_hard.m4a",["audio.vl2"]],"audio/fx/armor/light_lf_hard.wav":["audio/fx/armor/light_LF_hard.wav",["audio.vl2"]],"audio/fx/armor/light_lf_metal.m4a":["audio/fx/armor/light_LF_metal.m4a",["audio.vl2"]],"audio/fx/armor/light_lf_metal.wav":["audio/fx/armor/light_LF_metal.wav",["audio.vl2"]],"audio/fx/armor/light_lf_snow.m4a":["audio/fx/armor/light_LF_snow.m4a",["audio.vl2"]],"audio/fx/armor/light_lf_snow.wav":["audio/fx/armor/light_LF_snow.wav",["audio.vl2"]],"audio/fx/armor/light_lf_soft.m4a":["audio/fx/armor/light_LF_soft.m4a",["audio.vl2"]],"audio/fx/armor/light_lf_soft.wav":["audio/fx/armor/light_LF_soft.wav",["audio.vl2"]],"audio/fx/armor/light_lf_uw.m4a":["audio/fx/armor/light_LF_uw.m4a",["audio.vl2"]],"audio/fx/armor/light_lf_uw.wav":["audio/fx/armor/light_LF_uw.wav",["audio.vl2"]],"audio/fx/armor/light_lf_wade.m4a":["audio/fx/armor/light_LF_wade.m4a",["audio.vl2"]],"audio/fx/armor/light_lf_wade.wav":["audio/fx/armor/light_LF_wade.wav",["audio.vl2"]],"audio/fx/armor/light_lf_water.m4a":["audio/fx/armor/light_LF_water.m4a",["audio.vl2"]],"audio/fx/armor/light_lf_water.wav":["audio/fx/armor/light_LF_water.wav",["audio.vl2"]],"audio/fx/armor/light_rf_bubbles.m4a":["audio/fx/armor/light_RF_bubbles.m4a",["audio.vl2"]],"audio/fx/armor/light_rf_bubbles.wav":["audio/fx/armor/light_RF_bubbles.wav",["audio.vl2"]],"audio/fx/armor/light_rf_hard.m4a":["audio/fx/armor/light_RF_hard.m4a",["audio.vl2"]],"audio/fx/armor/light_rf_hard.wav":["audio/fx/armor/light_RF_hard.wav",["audio.vl2"]],"audio/fx/armor/light_rf_metal.m4a":["audio/fx/armor/light_RF_metal.m4a",["audio.vl2"]],"audio/fx/armor/light_rf_metal.wav":["audio/fx/armor/light_RF_metal.wav",["audio.vl2"]],"audio/fx/armor/light_rf_snow.m4a":["audio/fx/armor/light_RF_snow.m4a",["audio.vl2"]],"audio/fx/armor/light_rf_snow.wav":["audio/fx/armor/light_RF_snow.wav",["audio.vl2"]],"audio/fx/armor/light_rf_soft.m4a":["audio/fx/armor/light_RF_soft.m4a",["audio.vl2"]],"audio/fx/armor/light_rf_soft.wav":["audio/fx/armor/light_RF_soft.wav",["audio.vl2"]],"audio/fx/armor/light_rf_uw.m4a":["audio/fx/armor/light_RF_uw.m4a",["audio.vl2"]],"audio/fx/armor/light_rf_uw.wav":["audio/fx/armor/light_RF_uw.wav",["audio.vl2"]],"audio/fx/armor/light_rf_wade.m4a":["audio/fx/armor/light_RF_wade.m4a",["audio.vl2"]],"audio/fx/armor/light_rf_wade.wav":["audio/fx/armor/light_RF_wade.wav",["audio.vl2"]],"audio/fx/armor/light_rf_water.m4a":["audio/fx/armor/light_RF_water.m4a",["audio.vl2"]],"audio/fx/armor/light_rf_water.wav":["audio/fx/armor/light_RF_water.wav",["audio.vl2"]],"audio/fx/armor/med_land_hard.m4a":["audio/fx/armor/med_land_hard.m4a",["audio.vl2"]],"audio/fx/armor/med_land_hard.wav":["audio/fx/armor/med_land_hard.wav",["audio.vl2"]],"audio/fx/armor/med_land_snow.m4a":["audio/fx/armor/med_land_snow.m4a",["audio.vl2"]],"audio/fx/armor/med_land_snow.wav":["audio/fx/armor/med_land_snow.wav",["audio.vl2"]],"audio/fx/armor/med_land_soft.m4a":["audio/fx/armor/med_land_soft.m4a",["audio.vl2"]],"audio/fx/armor/med_land_soft.wav":["audio/fx/armor/med_land_soft.wav",["audio.vl2"]],"audio/fx/armor/med_lf_hard.m4a":["audio/fx/armor/med_LF_hard.m4a",["audio.vl2"]],"audio/fx/armor/med_lf_hard.wav":["audio/fx/armor/med_LF_hard.wav",["audio.vl2"]],"audio/fx/armor/med_lf_metal.m4a":["audio/fx/armor/med_LF_metal.m4a",["audio.vl2"]],"audio/fx/armor/med_lf_metal.wav":["audio/fx/armor/med_LF_metal.wav",["audio.vl2"]],"audio/fx/armor/med_lf_snow.m4a":["audio/fx/armor/med_LF_snow.m4a",["audio.vl2"]],"audio/fx/armor/med_lf_snow.wav":["audio/fx/armor/med_LF_snow.wav",["audio.vl2"]],"audio/fx/armor/med_lf_soft.m4a":["audio/fx/armor/med_LF_soft.m4a",["audio.vl2"]],"audio/fx/armor/med_lf_soft.wav":["audio/fx/armor/med_LF_soft.wav",["audio.vl2"]],"audio/fx/armor/med_lf_uw.m4a":["audio/fx/armor/med_LF_uw.m4a",["audio.vl2"]],"audio/fx/armor/med_lf_uw.wav":["audio/fx/armor/med_LF_uw.wav",["audio.vl2"]],"audio/fx/armor/med_lf_water.m4a":["audio/fx/armor/med_LF_water.m4a",["audio.vl2"]],"audio/fx/armor/med_lf_water.wav":["audio/fx/armor/med_LF_water.wav",["audio.vl2"]],"audio/fx/armor/med_rf_hard.m4a":["audio/fx/armor/med_RF_hard.m4a",["audio.vl2"]],"audio/fx/armor/med_rf_hard.wav":["audio/fx/armor/med_RF_hard.wav",["audio.vl2"]],"audio/fx/armor/med_rf_metal.m4a":["audio/fx/armor/med_RF_metal.m4a",["audio.vl2"]],"audio/fx/armor/med_rf_metal.wav":["audio/fx/armor/med_RF_metal.wav",["audio.vl2"]],"audio/fx/armor/med_rf_snow.m4a":["audio/fx/armor/med_RF_snow.m4a",["audio.vl2"]],"audio/fx/armor/med_rf_snow.wav":["audio/fx/armor/med_RF_snow.wav",["audio.vl2"]],"audio/fx/armor/med_rf_soft.m4a":["audio/fx/armor/med_RF_soft.m4a",["audio.vl2"]],"audio/fx/armor/med_rf_soft.wav":["audio/fx/armor/med_RF_soft.wav",["audio.vl2"]],"audio/fx/armor/med_rf_uw.m4a":["audio/fx/armor/med_RF_uw.m4a",["audio.vl2"]],"audio/fx/armor/med_rf_uw.wav":["audio/fx/armor/med_RF_uw.wav",["audio.vl2"]],"audio/fx/armor/med_rf_water.m4a":["audio/fx/armor/med_RF_water.m4a",["audio.vl2"]],"audio/fx/armor/med_rf_water.wav":["audio/fx/armor/med_RF_water.wav",["audio.vl2"]],"audio/fx/armor/ski_soft.m4a":["audio/fx/armor/ski_soft.m4a",["audio.vl2"]],"audio/fx/armor/ski_soft.wav":["audio/fx/armor/ski_soft.wav",["audio.vl2"]],"audio/fx/armor/thrust.m4a":["audio/fx/armor/thrust.m4a",["audio.vl2"]],"audio/fx/armor/thrust.wav":["audio/fx/armor/thrust.wav",["audio.vl2"]],"audio/fx/armor/thrust_uw.m4a":["audio/fx/armor/thrust_uw.m4a",["audio.vl2"]],"audio/fx/armor/thrust_uw.wav":["audio/fx/armor/thrust_uw.wav",["audio.vl2"]],"audio/fx/bonuses/down_passback1_prayer.m4a":["audio/fx/Bonuses/down_passback1_prayer.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/down_passback1_prayer.wav":["audio/fx/Bonuses/down_passback1_prayer.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/down_passback2_moyoyo.m4a":["audio/fx/Bonuses/down_passback2_moyoyo.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/down_passback2_moyoyo.wav":["audio/fx/Bonuses/down_passback2_moyoyo.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/down_passback3_rocket.m4a":["audio/fx/Bonuses/down_passback3_rocket.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/down_passback3_rocket.wav":["audio/fx/Bonuses/down_passback3_rocket.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/down_perppass1_blast.m4a":["audio/fx/Bonuses/down_perppass1_blast.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/down_perppass1_blast.wav":["audio/fx/Bonuses/down_perppass1_blast.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/down_perppass2_deepdish.m4a":["audio/fx/Bonuses/down_perppass2_deepdish.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/down_perppass2_deepdish.wav":["audio/fx/Bonuses/down_perppass2_deepdish.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/down_perppass3_bunnybump.m4a":["audio/fx/Bonuses/down_perppass3_bunnybump.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/down_perppass3_bunnybump.wav":["audio/fx/Bonuses/down_perppass3_bunnybump.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/down_straipass1_yoyo.m4a":["audio/fx/Bonuses/down_straipass1_yoyo.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/down_straipass1_yoyo.wav":["audio/fx/Bonuses/down_straipass1_yoyo.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/down_straipass2_skydive.m4a":["audio/fx/Bonuses/down_straipass2_skydive.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/down_straipass2_skydive.wav":["audio/fx/Bonuses/down_straipass2_skydive.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/down_straipass3_jolt.m4a":["audio/fx/Bonuses/down_straipass3_jolt.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/down_straipass3_jolt.wav":["audio/fx/Bonuses/down_straipass3_jolt.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/evillaugh.m4a":["audio/fx/Bonuses/evillaugh.m4a",["TR2final105-client.vl2"]],"audio/fx/bonuses/evillaugh.wav":["audio/fx/Bonuses/evillaugh.wav",["TR2final105-client.vl2"]],"audio/fx/bonuses/gadget3.m4a":["audio/fx/Bonuses/gadget3.m4a",["TR2final105-client.vl2"]],"audio/fx/bonuses/gadget3.wav":["audio/fx/Bonuses/gadget3.wav",["TR2final105-client.vl2"]],"audio/fx/bonuses/high-level1-frozen.m4a":["audio/fx/Bonuses/high-level1-frozen.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/high-level1-frozen.wav":["audio/fx/Bonuses/high-level1-frozen.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/high-level2-shooting.m4a":["audio/fx/Bonuses/high-level2-shooting.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/high-level2-shooting.wav":["audio/fx/Bonuses/high-level2-shooting.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/high-level3-dangling.m4a":["audio/fx/Bonuses/high-level3-dangling.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/high-level3-dangling.wav":["audio/fx/Bonuses/high-level3-dangling.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/high-level4-blazing.m4a":["audio/fx/Bonuses/high-level4-blazing.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/high-level4-blazing.wav":["audio/fx/Bonuses/high-level4-blazing.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/high-level5-raining.m4a":["audio/fx/Bonuses/high-level5-raining.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/high-level5-raining.wav":["audio/fx/Bonuses/high-level5-raining.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/high-level6-falling.m4a":["audio/fx/Bonuses/high-level6-falling.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/high-level6-falling.wav":["audio/fx/Bonuses/high-level6-falling.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/horz_passback1_jab.m4a":["audio/fx/Bonuses/horz_passback1_jab.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/horz_passback1_jab.wav":["audio/fx/Bonuses/horz_passback1_jab.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/horz_passback2_backbreaker.m4a":["audio/fx/Bonuses/horz_passback2_backbreaker.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/horz_passback2_backbreaker.wav":["audio/fx/Bonuses/horz_passback2_backbreaker.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/horz_passback3_leetlob.m4a":["audio/fx/Bonuses/horz_passback3_leetlob.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/horz_passback3_leetlob.wav":["audio/fx/Bonuses/horz_passback3_leetlob.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/horz_perppass1_peeler.m4a":["audio/fx/Bonuses/horz_perppass1_peeler.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/horz_perppass1_peeler.wav":["audio/fx/Bonuses/horz_perppass1_peeler.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/horz_perppass2_blender.m4a":["audio/fx/Bonuses/horz_perppass2_blender.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/horz_perppass2_blender.wav":["audio/fx/Bonuses/horz_perppass2_blender.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/horz_perppass3_glasssmash.m4a":["audio/fx/Bonuses/horz_perppass3_glasssmash.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/horz_perppass3_glasssmash.wav":["audio/fx/Bonuses/horz_perppass3_glasssmash.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/horz_straipass1_bullet.m4a":["audio/fx/Bonuses/horz_straipass1_bullet.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/horz_straipass1_bullet.wav":["audio/fx/Bonuses/horz_straipass1_bullet.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/horz_straipass2_heist.m4a":["audio/fx/Bonuses/horz_straipass2_heist.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/horz_straipass2_heist.wav":["audio/fx/Bonuses/horz_straipass2_heist.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/horz_straipass3_smackshot.m4a":["audio/fx/Bonuses/horz_straipass3_smackshot.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/horz_straipass3_smackshot.wav":["audio/fx/Bonuses/horz_straipass3_smackshot.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/low-level1-sharp.m4a":["audio/fx/Bonuses/low-level1-sharp.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/low-level1-sharp.wav":["audio/fx/Bonuses/low-level1-sharp.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/low-level2-spitting.m4a":["audio/fx/Bonuses/low-level2-spitting.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/low-level2-spitting.wav":["audio/fx/Bonuses/low-level2-spitting.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/low-level3-whipped.m4a":["audio/fx/Bonuses/low-level3-whipped.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/low-level3-whipped.wav":["audio/fx/Bonuses/low-level3-whipped.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/low-level4-popping.m4a":["audio/fx/Bonuses/low-level4-popping.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/low-level4-popping.wav":["audio/fx/Bonuses/low-level4-popping.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/low-level5-bursting.m4a":["audio/fx/Bonuses/low-level5-bursting.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/low-level5-bursting.wav":["audio/fx/Bonuses/low-level5-bursting.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/mario-6notes.m4a":["audio/fx/Bonuses/mario-6notes.m4a",["TR2final105-client.vl2"]],"audio/fx/bonuses/mario-6notes.wav":["audio/fx/Bonuses/mario-6notes.wav",["TR2final105-client.vl2"]],"audio/fx/bonuses/med-level1-modest.m4a":["audio/fx/Bonuses/med-level1-modest.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/med-level1-modest.wav":["audio/fx/Bonuses/med-level1-modest.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/med-level2-ripped.m4a":["audio/fx/Bonuses/med-level2-ripped.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/med-level2-ripped.wav":["audio/fx/Bonuses/med-level2-ripped.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/med-level3-shining.m4a":["audio/fx/Bonuses/med-level3-shining.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/med-level3-shining.wav":["audio/fx/Bonuses/med-level3-shining.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/med-level4-slick.m4a":["audio/fx/Bonuses/med-level4-slick.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/med-level4-slick.wav":["audio/fx/Bonuses/med-level4-slick.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/med-level5-sprinkling.m4a":["audio/fx/Bonuses/med-level5-sprinkling.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/med-level5-sprinkling.wav":["audio/fx/Bonuses/med-level5-sprinkling.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/med-level6-brilliant.m4a":["audio/fx/Bonuses/med-level6-brilliant.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/med-level6-brilliant.wav":["audio/fx/Bonuses/med-level6-brilliant.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/airplane.m4a":["audio/fx/Bonuses/Nouns/airplane.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/airplane.wav":["audio/fx/Bonuses/Nouns/airplane.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/astronaut.m4a":["audio/fx/Bonuses/Nouns/astronaut.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/astronaut.wav":["audio/fx/Bonuses/Nouns/astronaut.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/atmosphere.m4a":["audio/fx/Bonuses/Nouns/atmosphere.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/atmosphere.wav":["audio/fx/Bonuses/Nouns/atmosphere.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/balloon.m4a":["audio/fx/Bonuses/Nouns/balloon.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/balloon.wav":["audio/fx/Bonuses/Nouns/balloon.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/bats.m4a":["audio/fx/Bonuses/Nouns/bats.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/bats.wav":["audio/fx/Bonuses/Nouns/bats.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/beeswarm.m4a":["audio/fx/Bonuses/Nouns/beeswarm.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/beeswarm.wav":["audio/fx/Bonuses/Nouns/beeswarm.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/birdofprey.m4a":["audio/fx/Bonuses/Nouns/birdofprey.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/birdofprey.wav":["audio/fx/Bonuses/Nouns/birdofprey.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/blimp.m4a":["audio/fx/Bonuses/Nouns/blimp.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/blimp.wav":["audio/fx/Bonuses/Nouns/blimp.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/bluejay.m4a":["audio/fx/Bonuses/Nouns/bluejay.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/bluejay.wav":["audio/fx/Bonuses/Nouns/bluejay.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/budgie.m4a":["audio/fx/Bonuses/Nouns/budgie.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/budgie.wav":["audio/fx/Bonuses/Nouns/budgie.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/butterfly.m4a":["audio/fx/Bonuses/Nouns/butterfly.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/butterfly.wav":["audio/fx/Bonuses/Nouns/butterfly.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/camel.m4a":["audio/fx/Bonuses/Nouns/camel.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/camel.wav":["audio/fx/Bonuses/Nouns/camel.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/captain.m4a":["audio/fx/Bonuses/Nouns/captain.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/captain.wav":["audio/fx/Bonuses/Nouns/captain.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/cat.m4a":["audio/fx/Bonuses/Nouns/cat.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/cat.wav":["audio/fx/Bonuses/Nouns/cat.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/cheetah.m4a":["audio/fx/Bonuses/Nouns/cheetah.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/cheetah.wav":["audio/fx/Bonuses/Nouns/cheetah.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/chickadee.m4a":["audio/fx/Bonuses/Nouns/chickadee.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/chickadee.wav":["audio/fx/Bonuses/Nouns/chickadee.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/cloud.m4a":["audio/fx/Bonuses/Nouns/cloud.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/cloud.wav":["audio/fx/Bonuses/Nouns/cloud.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/colonel.m4a":["audio/fx/Bonuses/Nouns/colonel.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/colonel.wav":["audio/fx/Bonuses/Nouns/colonel.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/condor.m4a":["audio/fx/Bonuses/Nouns/condor.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/condor.wav":["audio/fx/Bonuses/Nouns/condor.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/cougar.m4a":["audio/fx/Bonuses/Nouns/cougar.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/cougar.wav":["audio/fx/Bonuses/Nouns/cougar.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/cow.m4a":["audio/fx/Bonuses/Nouns/cow.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/cow.wav":["audio/fx/Bonuses/Nouns/cow.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/coyote.m4a":["audio/fx/Bonuses/Nouns/coyote.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/coyote.wav":["audio/fx/Bonuses/Nouns/coyote.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/crow.m4a":["audio/fx/Bonuses/Nouns/crow.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/crow.wav":["audio/fx/Bonuses/Nouns/crow.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/dog.m4a":["audio/fx/Bonuses/Nouns/dog.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/dog.wav":["audio/fx/Bonuses/Nouns/dog.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/donkey.m4a":["audio/fx/Bonuses/Nouns/donkey.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/donkey.wav":["audio/fx/Bonuses/Nouns/donkey.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/dove.m4a":["audio/fx/Bonuses/Nouns/dove.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/dove.wav":["audio/fx/Bonuses/Nouns/dove.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/dragonfly.m4a":["audio/fx/Bonuses/Nouns/dragonfly.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/dragonfly.wav":["audio/fx/Bonuses/Nouns/dragonfly.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/flamingo.m4a":["audio/fx/Bonuses/Nouns/flamingo.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/flamingo.wav":["audio/fx/Bonuses/Nouns/flamingo.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/fly.m4a":["audio/fx/Bonuses/Nouns/fly.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/fly.wav":["audio/fx/Bonuses/Nouns/fly.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/general.m4a":["audio/fx/Bonuses/Nouns/general.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/general.wav":["audio/fx/Bonuses/Nouns/general.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/goldfinch.m4a":["audio/fx/Bonuses/Nouns/goldfinch.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/goldfinch.wav":["audio/fx/Bonuses/Nouns/goldfinch.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/grasshopper.m4a":["audio/fx/Bonuses/Nouns/grasshopper.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/grasshopper.wav":["audio/fx/Bonuses/Nouns/grasshopper.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/helicopter.m4a":["audio/fx/Bonuses/Nouns/helicopter.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/helicopter.wav":["audio/fx/Bonuses/Nouns/helicopter.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/hornet.m4a":["audio/fx/Bonuses/Nouns/hornet.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/hornet.wav":["audio/fx/Bonuses/Nouns/hornet.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/horse.m4a":["audio/fx/Bonuses/Nouns/horse.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/horse.wav":["audio/fx/Bonuses/Nouns/horse.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/hurricane.m4a":["audio/fx/Bonuses/Nouns/hurricane.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/hurricane.wav":["audio/fx/Bonuses/Nouns/hurricane.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/iguana.m4a":["audio/fx/Bonuses/Nouns/iguana.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/iguana.wav":["audio/fx/Bonuses/Nouns/iguana.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/jaguar.m4a":["audio/fx/Bonuses/Nouns/jaguar.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/jaguar.wav":["audio/fx/Bonuses/Nouns/jaguar.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/llama.m4a":["audio/fx/Bonuses/Nouns/llama.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/llama.wav":["audio/fx/Bonuses/Nouns/llama.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/major.m4a":["audio/fx/Bonuses/Nouns/major.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/major.wav":["audio/fx/Bonuses/Nouns/major.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/moon.m4a":["audio/fx/Bonuses/Nouns/moon.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/moon.wav":["audio/fx/Bonuses/Nouns/moon.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/msquito.m4a":["audio/fx/Bonuses/Nouns/msquito.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/msquito.wav":["audio/fx/Bonuses/Nouns/msquito.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/ostrich.m4a":["audio/fx/Bonuses/Nouns/ostrich.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/ostrich.wav":["audio/fx/Bonuses/Nouns/ostrich.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/owl.m4a":["audio/fx/Bonuses/Nouns/owl.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/owl.wav":["audio/fx/Bonuses/Nouns/owl.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/ozone.m4a":["audio/fx/Bonuses/Nouns/ozone.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/ozone.wav":["audio/fx/Bonuses/Nouns/ozone.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/parakeet.m4a":["audio/fx/Bonuses/Nouns/parakeet.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/parakeet.wav":["audio/fx/Bonuses/Nouns/parakeet.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/pelican.m4a":["audio/fx/Bonuses/Nouns/pelican.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/pelican.wav":["audio/fx/Bonuses/Nouns/pelican.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/puppy.m4a":["audio/fx/Bonuses/Nouns/puppy.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/puppy.wav":["audio/fx/Bonuses/Nouns/puppy.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/shark.m4a":["audio/fx/Bonuses/Nouns/shark.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/shark.wav":["audio/fx/Bonuses/Nouns/shark.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/snake.m4a":["audio/fx/Bonuses/Nouns/snake.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/snake.wav":["audio/fx/Bonuses/Nouns/snake.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/special1.m4a":["audio/fx/Bonuses/Nouns/special1.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/special1.wav":["audio/fx/Bonuses/Nouns/special1.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/special2.m4a":["audio/fx/Bonuses/Nouns/special2.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/special2.wav":["audio/fx/Bonuses/Nouns/special2.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/special3.m4a":["audio/fx/Bonuses/Nouns/special3.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/special3.wav":["audio/fx/Bonuses/Nouns/special3.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/swallow.m4a":["audio/fx/Bonuses/Nouns/swallow.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/swallow.wav":["audio/fx/Bonuses/Nouns/swallow.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/tiger.m4a":["audio/fx/Bonuses/Nouns/tiger.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/tiger.wav":["audio/fx/Bonuses/Nouns/tiger.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/tornado.m4a":["audio/fx/Bonuses/Nouns/tornado.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/tornado.wav":["audio/fx/Bonuses/Nouns/tornado.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/turtle.m4a":["audio/fx/Bonuses/Nouns/turtle.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/turtle.wav":["audio/fx/Bonuses/Nouns/turtle.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/warnipple.m4a":["audio/fx/Bonuses/Nouns/warnipple.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/warnipple.wav":["audio/fx/Bonuses/Nouns/warnipple.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/wasp.m4a":["audio/fx/Bonuses/Nouns/wasp.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/wasp.wav":["audio/fx/Bonuses/Nouns/wasp.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/wolf.m4a":["audio/fx/Bonuses/Nouns/wolf.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/wolf.wav":["audio/fx/Bonuses/Nouns/wolf.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/zebra.m4a":["audio/fx/Bonuses/Nouns/zebra.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/zebra.wav":["audio/fx/Bonuses/Nouns/zebra.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/zeppellin.m4a":["audio/fx/Bonuses/Nouns/zeppellin.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/nouns/zeppellin.wav":["audio/fx/Bonuses/Nouns/zeppellin.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/qseq1.m4a":["audio/fx/Bonuses/qseq1.m4a",["TR2final105-client.vl2"]],"audio/fx/bonuses/qseq1.wav":["audio/fx/Bonuses/qseq1.wav",["TR2final105-client.vl2"]],"audio/fx/bonuses/qseq2.m4a":["audio/fx/Bonuses/qseq2.m4a",["TR2final105-client.vl2"]],"audio/fx/bonuses/qseq2.wav":["audio/fx/Bonuses/qseq2.wav",["TR2final105-client.vl2"]],"audio/fx/bonuses/qseq3.m4a":["audio/fx/Bonuses/qseq3.m4a",["TR2final105-client.vl2"]],"audio/fx/bonuses/qseq3.wav":["audio/fx/Bonuses/qseq3.wav",["TR2final105-client.vl2"]],"audio/fx/bonuses/trex.m4a":["audio/fx/Bonuses/TRex.m4a",["TR2final105-client.vl2"]],"audio/fx/bonuses/trex.wav":["audio/fx/Bonuses/TRex.wav",["TR2final105-client.vl2"]],"audio/fx/bonuses/upward_passback1_bomb.m4a":["audio/fx/Bonuses/upward_passback1_bomb.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/upward_passback1_bomb.wav":["audio/fx/Bonuses/upward_passback1_bomb.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/upward_passback2_deliverance.m4a":["audio/fx/Bonuses/upward_passback2_deliverance.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/upward_passback2_deliverance.wav":["audio/fx/Bonuses/upward_passback2_deliverance.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/upward_passback3_crank.m4a":["audio/fx/Bonuses/upward_passback3_crank.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/upward_passback3_crank.wav":["audio/fx/Bonuses/upward_passback3_crank.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/upward_perppass1_fling.m4a":["audio/fx/Bonuses/upward_perppass1_fling.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/upward_perppass1_fling.wav":["audio/fx/Bonuses/upward_perppass1_fling.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/upward_perppass2_quark.m4a":["audio/fx/Bonuses/upward_perppass2_quark.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/upward_perppass2_quark.wav":["audio/fx/Bonuses/upward_perppass2_quark.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/upward_perppass3_juggletoss.m4a":["audio/fx/Bonuses/upward_perppass3_juggletoss.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/upward_perppass3_juggletoss.wav":["audio/fx/Bonuses/upward_perppass3_juggletoss.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/upward_straipass1_ascension.m4a":["audio/fx/Bonuses/upward_straipass1_ascension.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/upward_straipass1_ascension.wav":["audio/fx/Bonuses/upward_straipass1_ascension.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/upward_straipass2_elevator.m4a":["audio/fx/Bonuses/upward_straipass2_elevator.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/upward_straipass2_elevator.wav":["audio/fx/Bonuses/upward_straipass2_elevator.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/wow-level1-suspended.m4a":["audio/fx/Bonuses/wow-level1-suspended.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/wow-level1-suspended.wav":["audio/fx/Bonuses/wow-level1-suspended.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/wow-level2-skeeting.m4a":["audio/fx/Bonuses/wow-level2-skeeting.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/wow-level2-skeeting.wav":["audio/fx/Bonuses/wow-level2-skeeting.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/wow-level3-hanging.m4a":["audio/fx/Bonuses/wow-level3-hanging.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/wow-level3-hanging.wav":["audio/fx/Bonuses/wow-level3-hanging.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/wow-level4-arcing.m4a":["audio/fx/Bonuses/wow-level4-arcing.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/wow-level4-arcing.wav":["audio/fx/Bonuses/wow-level4-arcing.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/wow-level5-pouring.m4a":["audio/fx/Bonuses/wow-level5-pouring.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/wow-level5-pouring.wav":["audio/fx/Bonuses/wow-level5-pouring.wav",["TR2final093-extras.vl2"]],"audio/fx/bonuses/wow-level6-elite.m4a":["audio/fx/Bonuses/wow-level6-elite.m4a",["TR2final093-extras.vl2"]],"audio/fx/bonuses/wow-level6-elite.wav":["audio/fx/Bonuses/wow-level6-elite.wav",["TR2final093-extras.vl2"]],"audio/fx/environment/base_1.m4a":["audio/fx/environment/base_1.m4a",["audio.vl2"]],"audio/fx/environment/base_1.wav":["audio/fx/environment/base_1.wav",["audio.vl2"]],"audio/fx/environment/base_2.m4a":["audio/fx/environment/base_2.m4a",["audio.vl2"]],"audio/fx/environment/base_2.wav":["audio/fx/environment/base_2.wav",["audio.vl2"]],"audio/fx/environment/base_3.m4a":["audio/fx/environment/base_3.m4a",["audio.vl2"]],"audio/fx/environment/base_3.wav":["audio/fx/environment/base_3.wav",["audio.vl2"]],"audio/fx/environment/base_pulse_1.m4a":["audio/fx/environment/base_pulse_1.m4a",["audio.vl2"]],"audio/fx/environment/base_pulse_1.wav":["audio/fx/environment/base_pulse_1.wav",["audio.vl2"]],"audio/fx/environment/base_pulse_2.m4a":["audio/fx/environment/base_pulse_2.m4a",["audio.vl2"]],"audio/fx/environment/base_pulse_2.wav":["audio/fx/environment/base_pulse_2.wav",["audio.vl2"]],"audio/fx/environment/bird_echo1.m4a":["audio/fx/environment/bird_echo1.m4a",["audio.vl2"]],"audio/fx/environment/bird_echo1.wav":["audio/fx/environment/bird_echo1.wav",["audio.vl2"]],"audio/fx/environment/bird_echo2.m4a":["audio/fx/environment/bird_echo2.m4a",["audio.vl2"]],"audio/fx/environment/bird_echo2.wav":["audio/fx/environment/bird_echo2.wav",["audio.vl2"]],"audio/fx/environment/bird_echo3.m4a":["audio/fx/environment/bird_echo3.m4a",["audio.vl2"]],"audio/fx/environment/bird_echo3.wav":["audio/fx/environment/bird_echo3.wav",["audio.vl2"]],"audio/fx/environment/bird_echo4.m4a":["audio/fx/environment/bird_echo4.m4a",["audio.vl2"]],"audio/fx/environment/bird_echo4.wav":["audio/fx/environment/bird_echo4.wav",["audio.vl2"]],"audio/fx/environment/bird_echo5.m4a":["audio/fx/environment/bird_echo5.m4a",["audio.vl2"]],"audio/fx/environment/bird_echo5.wav":["audio/fx/environment/bird_echo5.wav",["audio.vl2"]],"audio/fx/environment/bubbles1.m4a":["audio/fx/environment/bubbles1.m4a",["audio.vl2"]],"audio/fx/environment/bubbles1.wav":["audio/fx/environment/bubbles1.wav",["audio.vl2"]],"audio/fx/environment/bubbles2.m4a":["audio/fx/environment/bubbles2.m4a",["audio.vl2"]],"audio/fx/environment/bubbles2.wav":["audio/fx/environment/bubbles2.wav",["audio.vl2"]],"audio/fx/environment/caynonwind144k.m4a":["audio/fx/environment/caynonwind144k.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/caynonwind144k.wav":["audio/fx/environment/caynonwind144k.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/coldwind1.m4a":["audio/fx/environment/coldwind1.m4a",["audio.vl2"]],"audio/fx/environment/coldwind1.wav":["audio/fx/environment/coldwind1.wav",["audio.vl2"]],"audio/fx/environment/crickets.m4a":["audio/fx/environment/crickets.m4a",["audio.vl2"]],"audio/fx/environment/crickets.wav":["audio/fx/environment/crickets.wav",["audio.vl2"]],"audio/fx/environment/crickets_drygrass.m4a":["audio/fx/environment/crickets_drygrass.m4a",["audio.vl2"]],"audio/fx/environment/crickets_drygrass.wav":["audio/fx/environment/crickets_drygrass.wav",["audio.vl2"]],"audio/fx/environment/ctmelody1.m4a":["audio/fx/environment/ctmelody1.m4a",["audio.vl2"]],"audio/fx/environment/ctmelody1.wav":["audio/fx/environment/ctmelody1.WAV",["audio.vl2"]],"audio/fx/environment/ctmelody2.m4a":["audio/fx/environment/ctmelody2.m4a",["audio.vl2"]],"audio/fx/environment/ctmelody2.wav":["audio/fx/environment/ctmelody2.WAV",["audio.vl2"]],"audio/fx/environment/ctmelody3.m4a":["audio/fx/environment/ctmelody3.m4a",["audio.vl2"]],"audio/fx/environment/ctmelody3.wav":["audio/fx/environment/ctmelody3.WAV",["audio.vl2"]],"audio/fx/environment/ctmelody4.m4a":["audio/fx/environment/ctmelody4.m4a",["audio.vl2"]],"audio/fx/environment/ctmelody4.wav":["audio/fx/environment/ctmelody4.WAV",["audio.vl2"]],"audio/fx/environment/desertowl.m4a":["audio/fx/environment/desertowl.m4a",["audio.vl2"]],"audio/fx/environment/desertowl.wav":["audio/fx/environment/desertowl.wav",["audio.vl2"]],"audio/fx/environment/dnabird1.m4a":["audio/fx/environment/dnabird1.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnabird1.wav":["audio/fx/environment/dnabird1.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnabird3.m4a":["audio/fx/environment/dnabird3.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnabird3.wav":["audio/fx/environment/dnabird3.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnacloseriver.m4a":["audio/fx/environment/dnacloseriver.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnacloseriver.wav":["audio/fx/environment/dnacloseriver.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnacricketnight.m4a":["audio/fx/environment/dnacricketnight.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnacricketnight.wav":["audio/fx/environment/dnacricketnight.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnaforest1.m4a":["audio/fx/environment/dnaforest1.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnaforest1.wav":["audio/fx/environment/dnaforest1.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnaforest2.m4a":["audio/fx/environment/dnaforest2.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnaforest2.wav":["audio/fx/environment/dnaforest2.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnafrog.m4a":["audio/fx/environment/dnafrog.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnafrog.wav":["audio/fx/environment/dnafrog.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnagabbiano.m4a":["audio/fx/environment/dnagabbiano.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnagabbiano.wav":["audio/fx/environment/dnagabbiano.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnaghost.m4a":["audio/fx/environment/dnaghost.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnaghost.wav":["audio/fx/environment/dnaghost.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnanightengale.m4a":["audio/fx/environment/dnanightengale.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnanightengale.wav":["audio/fx/environment/dnanightengale.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnaoceano.m4a":["audio/fx/environment/dnaoceano.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnaoceano.wav":["audio/fx/environment/dnaoceano.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnaoceano2.m4a":["audio/fx/environment/dnaoceano2.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnaoceano2.wav":["audio/fx/environment/dnaoceano2.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnaoceano3.m4a":["audio/fx/environment/dnaoceano3.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnaoceano3.wav":["audio/fx/environment/dnaoceano3.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnapanelsounds.m4a":["audio/fx/environment/dnapanelsounds.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnapanelsounds.wav":["audio/fx/environment/dnapanelsounds.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnapanelsounds2.m4a":["audio/fx/environment/dnapanelsounds2.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnapanelsounds2.wav":["audio/fx/environment/dnapanelsounds2.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnapigeon.m4a":["audio/fx/environment/dnapigeon.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnapigeon.wav":["audio/fx/environment/dnapigeon.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnastormblows.m4a":["audio/fx/environment/dnastormblows.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnastormblows.wav":["audio/fx/environment/dnastormblows.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnawolf.m4a":["audio/fx/environment/dnawolf.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnawolf.wav":["audio/fx/environment/dnawolf.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnawolf2.m4a":["audio/fx/environment/dnawolf2.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/dnawolf2.wav":["audio/fx/environment/dnawolf2.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/drywind.m4a":["audio/fx/environment/drywind.m4a",["audio.vl2"]],"audio/fx/environment/drywind.wav":["audio/fx/environment/drywind.wav",["audio.vl2"]],"audio/fx/environment/drywind2.m4a":["audio/fx/environment/drywind2.m4a",["audio.vl2"]],"audio/fx/environment/drywind2.wav":["audio/fx/environment/drywind2.wav",["audio.vl2"]],"audio/fx/environment/fly_swarm.m4a":["audio/fx/environment/fly_swarm.m4a",["audio.vl2"]],"audio/fx/environment/fly_swarm.wav":["audio/fx/environment/fly_swarm.wav",["audio.vl2"]],"audio/fx/environment/fog.m4a":["audio/fx/environment/fog.m4a",["audio.vl2"]],"audio/fx/environment/fog.wav":["audio/fx/environment/fog.wav",["audio.vl2"]],"audio/fx/environment/frog1.m4a":["audio/fx/environment/frog1.m4a",["audio.vl2"]],"audio/fx/environment/frog1.wav":["audio/fx/environment/frog1.wav",["audio.vl2"]],"audio/fx/environment/frog2.m4a":["audio/fx/environment/frog2.m4a",["audio.vl2"]],"audio/fx/environment/frog2.wav":["audio/fx/environment/frog2.wav",["audio.vl2"]],"audio/fx/environment/gravel1.m4a":["audio/fx/environment/gravel1.m4a",["audio.vl2"]],"audio/fx/environment/gravel1.wav":["audio/fx/environment/gravel1.wav",["audio.vl2"]],"audio/fx/environment/gravel2.m4a":["audio/fx/environment/gravel2.m4a",["audio.vl2"]],"audio/fx/environment/gravel2.wav":["audio/fx/environment/gravel2.wav",["audio.vl2"]],"audio/fx/environment/gravel3.m4a":["audio/fx/environment/gravel3.m4a",["audio.vl2"]],"audio/fx/environment/gravel3.wav":["audio/fx/environment/gravel3.wav",["audio.vl2"]],"audio/fx/environment/growl1.m4a":["audio/fx/environment/growl1.m4a",["audio.vl2"]],"audio/fx/environment/growl1.wav":["audio/fx/environment/growl1.wav",["audio.vl2"]],"audio/fx/environment/growl2.m4a":["audio/fx/environment/growl2.m4a",["audio.vl2"]],"audio/fx/environment/growl2.wav":["audio/fx/environment/growl2.wav",["audio.vl2"]],"audio/fx/environment/growl3.m4a":["audio/fx/environment/growl3.m4a",["audio.vl2"]],"audio/fx/environment/growl3.wav":["audio/fx/environment/growl3.wav",["audio.vl2"]],"audio/fx/environment/growl4.m4a":["audio/fx/environment/growl4.m4a",["audio.vl2"]],"audio/fx/environment/growl4.wav":["audio/fx/environment/growl4.wav",["audio.vl2"]],"audio/fx/environment/growl5.m4a":["audio/fx/environment/growl5.m4a",["audio.vl2"]],"audio/fx/environment/growl5.wav":["audio/fx/environment/growl5.wav",["audio.vl2"]],"audio/fx/environment/howlingwind1.m4a":["audio/fx/environment/howlingwind1.m4a",["audio.vl2"]],"audio/fx/environment/howlingwind1.wav":["audio/fx/environment/howlingwind1.wav",["audio.vl2"]],"audio/fx/environment/howlingwind2.m4a":["audio/fx/environment/howlingwind2.m4a",["audio.vl2"]],"audio/fx/environment/howlingwind2.wav":["audio/fx/environment/howlingwind2.wav",["audio.vl2"]],"audio/fx/environment/howlingwind3.m4a":["audio/fx/environment/howlingwind3.m4a",["audio.vl2"]],"audio/fx/environment/howlingwind3.wav":["audio/fx/environment/howlingwind3.wav",["audio.vl2"]],"audio/fx/environment/icecrack1.m4a":["audio/fx/environment/icecrack1.m4a",["audio.vl2"]],"audio/fx/environment/icecrack1.wav":["audio/fx/environment/icecrack1.wav",["audio.vl2"]],"audio/fx/environment/icecrack2.m4a":["audio/fx/environment/icecrack2.m4a",["audio.vl2"]],"audio/fx/environment/icecrack2.wav":["audio/fx/environment/icecrack2.wav",["audio.vl2"]],"audio/fx/environment/icefall1.m4a":["audio/fx/environment/icefall1.m4a",["audio.vl2"]],"audio/fx/environment/icefall1.wav":["audio/fx/environment/icefall1.wav",["audio.vl2"]],"audio/fx/environment/icefall2.m4a":["audio/fx/environment/icefall2.m4a",["audio.vl2"]],"audio/fx/environment/icefall2.wav":["audio/fx/environment/icefall2.wav",["audio.vl2"]],"audio/fx/environment/icefall3.m4a":["audio/fx/environment/icefall3.m4a",["audio.vl2"]],"audio/fx/environment/icefall3.wav":["audio/fx/environment/icefall3.wav",["audio.vl2"]],"audio/fx/environment/irisstaticsweep.m4a":["audio/fx/environment/IrisStaticSweep.m4a",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"audio/fx/environment/irisstaticsweep.wav":["audio/fx/environment/IrisStaticSweep.wav",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"audio/fx/environment/lakewaves.m4a":["audio/fx/environment/lakewaves.m4a",["audio.vl2"]],"audio/fx/environment/lakewaves.wav":["audio/fx/environment/lakewaves.wav",["audio.vl2"]],"audio/fx/environment/lakewaves2.m4a":["audio/fx/environment/lakewaves2.m4a",["audio.vl2"]],"audio/fx/environment/lakewaves2.wav":["audio/fx/environment/lakewaves2.wav",["audio.vl2"]],"audio/fx/environment/lavabloop1.m4a":["audio/fx/environment/lavabloop1.m4a",["audio.vl2"]],"audio/fx/environment/lavabloop1.wav":["audio/fx/environment/lavabloop1.wav",["audio.vl2"]],"audio/fx/environment/lavabloop2.m4a":["audio/fx/environment/lavabloop2.m4a",["audio.vl2"]],"audio/fx/environment/lavabloop2.wav":["audio/fx/environment/lavabloop2.wav",["audio.vl2"]],"audio/fx/environment/lavabloop3.m4a":["audio/fx/environment/lavabloop3.m4a",["audio.vl2"]],"audio/fx/environment/lavabloop3.wav":["audio/fx/environment/lavabloop3.wav",["audio.vl2"]],"audio/fx/environment/lavabloop4.m4a":["audio/fx/environment/lavabloop4.m4a",["audio.vl2"]],"audio/fx/environment/lavabloop4.wav":["audio/fx/environment/lavabloop4.wav",["audio.vl2"]],"audio/fx/environment/lavabloop5.m4a":["audio/fx/environment/lavabloop5.m4a",["audio.vl2"]],"audio/fx/environment/lavabloop5.wav":["audio/fx/environment/lavabloop5.wav",["audio.vl2"]],"audio/fx/environment/lavabloop6.m4a":["audio/fx/environment/lavabloop6.m4a",["audio.vl2"]],"audio/fx/environment/lavabloop6.wav":["audio/fx/environment/lavabloop6.wav",["audio.vl2"]],"audio/fx/environment/lavabloop7.m4a":["audio/fx/environment/lavabloop7.m4a",["audio.vl2"]],"audio/fx/environment/lavabloop7.wav":["audio/fx/environment/lavabloop7.wav",["audio.vl2"]],"audio/fx/environment/lavahiss.m4a":["audio/fx/environment/lavahiss.m4a",["audio.vl2"]],"audio/fx/environment/lavahiss.wav":["audio/fx/environment/lavahiss.wav",["audio.vl2"]],"audio/fx/environment/lavahostile.m4a":["audio/fx/environment/lavahostile.m4a",["audio.vl2"]],"audio/fx/environment/lavahostile.wav":["audio/fx/environment/lavahostile.wav",["audio.vl2"]],"audio/fx/environment/lavamellow1.m4a":["audio/fx/environment/lavamellow1.m4a",["audio.vl2"]],"audio/fx/environment/lavamellow1.wav":["audio/fx/environment/lavamellow1.wav",["audio.vl2"]],"audio/fx/environment/leavesrustling.m4a":["audio/fx/environment/leavesrustling.m4a",["audio.vl2"]],"audio/fx/environment/leavesrustling.wav":["audio/fx/environment/leavesrustling.wav",["audio.vl2"]],"audio/fx/environment/moaningwind1.m4a":["audio/fx/environment/moaningwind1.m4a",["audio.vl2"]],"audio/fx/environment/moaningwind1.wav":["audio/fx/environment/moaningwind1.wav",["audio.vl2"]],"audio/fx/environment/oceanwaves.m4a":["audio/fx/environment/oceanwaves.m4a",["audio.vl2"]],"audio/fx/environment/oceanwaves.wav":["audio/fx/environment/oceanwaves.wav",["audio.vl2"]],"audio/fx/environment/rain_hard_1.m4a":["audio/fx/environment/rain_hard_1.m4a",["audio.vl2"]],"audio/fx/environment/rain_hard_1.wav":["audio/fx/environment/rain_hard_1.wav",["audio.vl2"]],"audio/fx/environment/rain_hard_2.m4a":["audio/fx/environment/rain_hard_2.m4a",["audio.vl2"]],"audio/fx/environment/rain_hard_2.wav":["audio/fx/environment/rain_hard_2.wav",["audio.vl2"]],"audio/fx/environment/rain_light_1.m4a":["audio/fx/environment/rain_light_1.m4a",["audio.vl2"]],"audio/fx/environment/rain_light_1.wav":["audio/fx/environment/rain_light_1.wav",["audio.vl2"]],"audio/fx/environment/rain_light_2.m4a":["audio/fx/environment/rain_light_2.m4a",["audio.vl2"]],"audio/fx/environment/rain_light_2.wav":["audio/fx/environment/rain_light_2.wav",["audio.vl2"]],"audio/fx/environment/rain_medium_1.m4a":["audio/fx/environment/rain_medium_1.m4a",["audio.vl2"]],"audio/fx/environment/rain_medium_1.wav":["audio/fx/environment/rain_medium_1.wav",["audio.vl2"]],"audio/fx/environment/rain_medium_2.m4a":["audio/fx/environment/rain_medium_2.m4a",["audio.vl2"]],"audio/fx/environment/rain_medium_2.wav":["audio/fx/environment/rain_medium_2.wav",["audio.vl2"]],"audio/fx/environment/rain_medium_3.m4a":["audio/fx/environment/rain_medium_3.m4a",["audio.vl2"]],"audio/fx/environment/rain_medium_3.wav":["audio/fx/environment/rain_medium_3.wav",["audio.vl2"]],"audio/fx/environment/river1.m4a":["audio/fx/environment/river1.m4a",["audio.vl2"]],"audio/fx/environment/river1.wav":["audio/fx/environment/river1.wav",["audio.vl2"]],"audio/fx/environment/river2.m4a":["audio/fx/environment/river2.m4a",["audio.vl2"]],"audio/fx/environment/river2.wav":["audio/fx/environment/river2.wav",["audio.vl2"]],"audio/fx/environment/river3.m4a":["audio/fx/environment/river3.m4a",["audio.vl2"]],"audio/fx/environment/river3.wav":["audio/fx/environment/river3.wav",["audio.vl2"]],"audio/fx/environment/rockslide1.m4a":["audio/fx/environment/rockslide1.m4a",["audio.vl2"]],"audio/fx/environment/rockslide1.wav":["audio/fx/environment/rockslide1.wav",["audio.vl2"]],"audio/fx/environment/rockslide2.m4a":["audio/fx/environment/rockslide2.m4a",["audio.vl2"]],"audio/fx/environment/rockslide2.wav":["audio/fx/environment/rockslide2.wav",["audio.vl2"]],"audio/fx/environment/rumblingthunder.m4a":["audio/fx/environment/rumblingthunder.m4a",["audio.vl2"]],"audio/fx/environment/rumblingthunder.wav":["audio/fx/environment/rumblingthunder.wav",["audio.vl2"]],"audio/fx/environment/salbaseambience.m4a":["audio/fx/environment/Salbaseambience.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/salbaseambience.wav":["audio/fx/environment/Salbaseambience.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/saldefencewarning.m4a":["audio/fx/environment/SalDefenceWarning.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/saldefencewarning.wav":["audio/fx/environment/SalDefenceWarning.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/salwindsand.m4a":["audio/fx/environment/Salwindsand.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/salwindsand.wav":["audio/fx/environment/Salwindsand.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/sandpatter1.m4a":["audio/fx/environment/sandpatter1.m4a",["audio.vl2"]],"audio/fx/environment/sandpatter1.wav":["audio/fx/environment/sandpatter1.wav",["audio.vl2"]],"audio/fx/environment/sandpatter2.m4a":["audio/fx/environment/sandpatter2.m4a",["audio.vl2"]],"audio/fx/environment/sandpatter2.wav":["audio/fx/environment/sandpatter2.wav",["audio.vl2"]],"audio/fx/environment/sandstorm.m4a":["audio/fx/environment/sandstorm.m4a",["audio.vl2"]],"audio/fx/environment/sandstorm.wav":["audio/fx/environment/sandstorm.wav",["audio.vl2"]],"audio/fx/environment/sandstorm2.m4a":["audio/fx/environment/sandstorm2.m4a",["audio.vl2"]],"audio/fx/environment/sandstorm2.wav":["audio/fx/environment/sandstorm2.wav",["audio.vl2"]],"audio/fx/environment/seagull1.m4a":["audio/fx/environment/seagull1.m4a",["TR2final105-client.vl2"]],"audio/fx/environment/seagull1.wav":["audio/fx/environment/seagull1.wav",["TR2final105-client.vl2"]],"audio/fx/environment/snowfall1.m4a":["audio/fx/environment/snowfall1.m4a",["audio.vl2"]],"audio/fx/environment/snowfall1.wav":["audio/fx/environment/snowfall1.wav",["audio.vl2"]],"audio/fx/environment/snowfall2.m4a":["audio/fx/environment/snowfall2.m4a",["audio.vl2"]],"audio/fx/environment/snowfall2.wav":["audio/fx/environment/snowfall2.wav",["audio.vl2"]],"audio/fx/environment/snowfall3.m4a":["audio/fx/environment/snowfall3.m4a",["audio.vl2"]],"audio/fx/environment/snowfall3.wav":["audio/fx/environment/snowfall3.wav",["audio.vl2"]],"audio/fx/environment/snowfall4.m4a":["audio/fx/environment/snowfall4.m4a",["audio.vl2"]],"audio/fx/environment/snowfall4.wav":["audio/fx/environment/snowfall4.wav",["audio.vl2"]],"audio/fx/environment/snowstorm1.m4a":["audio/fx/environment/snowstorm1.m4a",["audio.vl2"]],"audio/fx/environment/snowstorm1.wav":["audio/fx/environment/snowstorm1.wav",["audio.vl2"]],"audio/fx/environment/snowstorm2.m4a":["audio/fx/environment/snowstorm2.m4a",["audio.vl2"]],"audio/fx/environment/snowstorm2.wav":["audio/fx/environment/snowstorm2.wav",["audio.vl2"]],"audio/fx/environment/sys-boilingwater.m4a":["audio/fx/environment/sys-boilingwater.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/sys-boilingwater.wav":["audio/fx/environment/sys-boilingwater.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/sys-lava1.m4a":["audio/fx/environment/sys-lava1.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/sys-lava1.wav":["audio/fx/environment/sys-lava1.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/sys-lava2.m4a":["audio/fx/environment/sys-lava2.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/sys-lava2.wav":["audio/fx/environment/sys-lava2.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/sys-lavastream.m4a":["audio/fx/environment/sys-lavastream.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/sys-lavastream.wav":["audio/fx/environment/sys-lavastream.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/sys-ocean.m4a":["audio/fx/environment/sys-ocean.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/sys-ocean.wav":["audio/fx/environment/sys-ocean.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/sys-riverfast.m4a":["audio/fx/environment/sys-riverfast.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/sys-riverfast.wav":["audio/fx/environment/sys-riverfast.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/sys-riverslow.m4a":["audio/fx/environment/sys-riverslow.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/sys-riverslow.wav":["audio/fx/environment/sys-riverslow.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/sys-thunder1.m4a":["audio/fx/environment/sys-thunder1.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/sys-thunder1.wav":["audio/fx/environment/sys-thunder1.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/sys-thunderaway.m4a":["audio/fx/environment/sys-thunderaway.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/sys-thunderaway.wav":["audio/fx/environment/sys-thunderaway.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/sys-windstream.m4a":["audio/fx/environment/sys-windstream.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/sys-windstream.wav":["audio/fx/environment/sys-windstream.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/wetwind.m4a":["audio/fx/environment/wetwind.m4a",["audio.vl2"]],"audio/fx/environment/wetwind.wav":["audio/fx/environment/wetwind.wav",["audio.vl2"]],"audio/fx/environment/whispers.m4a":["audio/fx/environment/whispers.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/whispers.wav":["audio/fx/environment/whispers.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/fx/environment/wind_sandstorm.m4a":["audio/fx/environment/wind_sandstorm.m4a",["audio.vl2"]],"audio/fx/environment/wind_sandstorm.wav":["audio/fx/environment/wind_sandstorm.wav",["audio.vl2"]],"audio/fx/environment/yeti_howl1.m4a":["audio/fx/environment/yeti_howl1.m4a",["audio.vl2"]],"audio/fx/environment/yeti_howl1.wav":["audio/fx/environment/yeti_howl1.wav",["audio.vl2"]],"audio/fx/environment/yeti_howl2.m4a":["audio/fx/environment/yeti_howl2.m4a",["audio.vl2"]],"audio/fx/environment/yeti_howl2.wav":["audio/fx/environment/yeti_howl2.wav",["audio.vl2"]],"audio/fx/explosions/deployables_explosion.m4a":["audio/fx/explosions/deployables_explosion.m4a",["audio.vl2"]],"audio/fx/explosions/deployables_explosion.wav":["audio/fx/explosions/deployables_explosion.wav",["audio.vl2"]],"audio/fx/explosions/explosion.xpl03.m4a":["audio/fx/explosions/explosion.xpl03.m4a",["audio.vl2"]],"audio/fx/explosions/explosion.xpl03.wav":["audio/fx/explosions/explosion.xpl03.wav",["audio.vl2"]],"audio/fx/explosions/explosion.xpl10.m4a":["audio/fx/explosions/explosion.xpl10.m4a",["audio.vl2"]],"audio/fx/explosions/explosion.xpl10.wav":["audio/fx/explosions/explosion.xpl10.wav",["audio.vl2"]],"audio/fx/explosions/explosion.xpl23.m4a":["audio/fx/explosions/explosion.xpl23.m4a",["audio.vl2"]],"audio/fx/explosions/explosion.xpl23.wav":["audio/fx/explosions/explosion.xpl23.wav",["audio.vl2"]],"audio/fx/explosions/explosion.xpl27.m4a":["audio/fx/explosions/explosion.xpl27.m4a",["audio.vl2"]],"audio/fx/explosions/explosion.xpl27.wav":["audio/fx/explosions/explosion.xpl27.wav",["audio.vl2"]],"audio/fx/explosions/grenade_flash_explode.m4a":["audio/fx/explosions/grenade_flash_explode.m4a",["audio.vl2"]],"audio/fx/explosions/grenade_flash_explode.wav":["audio/fx/explosions/grenade_flash_explode.wav",["audio.vl2"]],"audio/fx/explosions/vehicle_explosion.m4a":["audio/fx/explosions/vehicle_explosion.m4a",["audio.vl2"]],"audio/fx/explosions/vehicle_explosion.wav":["audio/fx/explosions/vehicle_explosion.wav",["audio.vl2"]],"audio/fx/misc/bounty_bonus.m4a":["audio/fx/misc/bounty_bonus.m4a",["audio.vl2"]],"audio/fx/misc/bounty_bonus.wav":["audio/fx/misc/bounty_bonus.wav",["audio.vl2"]],"audio/fx/misc/bounty_completed.m4a":["audio/fx/misc/bounty_completed.m4a",["audio.vl2"]],"audio/fx/misc/bounty_completed.wav":["audio/fx/misc/bounty_completed.wav",["audio.vl2"]],"audio/fx/misc/bounty_objrem1.m4a":["audio/fx/misc/bounty_objrem1.m4a",["audio.vl2"]],"audio/fx/misc/bounty_objrem1.wav":["audio/fx/misc/bounty_objrem1.wav",["audio.vl2"]],"audio/fx/misc/bounty_objrem2.m4a":["audio/fx/misc/bounty_objrem2.m4a",["audio.vl2"]],"audio/fx/misc/bounty_objrem2.wav":["audio/fx/misc/bounty_objrem2.wav",["audio.vl2"]],"audio/fx/misc/cannonshot.m4a":["audio/fx/misc/cannonshot.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/cannonshot.wav":["audio/fx/misc/cannonshot.wav",["TR2final105-client.vl2"]],"audio/fx/misc/cannonstart.m4a":["audio/fx/misc/cannonstart.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/cannonstart.wav":["audio/fx/misc/cannonstart.wav",["TR2final105-client.vl2"]],"audio/fx/misc/carscreech.m4a":["audio/fx/misc/carscreech.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/carscreech.wav":["audio/fx/misc/carscreech.wav",["TR2final105-client.vl2"]],"audio/fx/misc/cheer.m4a":["audio/fx/misc/Cheer.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/cheer.wav":["audio/fx/misc/Cheer.wav",["TR2final105-client.vl2"]],"audio/fx/misc/coin.m4a":["audio/fx/misc/coin.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/coin.wav":["audio/fx/misc/coin.wav",["TR2final105-client.vl2"]],"audio/fx/misc/crowd-clap.m4a":["audio/fx/misc/crowd-clap.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/crowd-clap.wav":["audio/fx/misc/crowd-clap.wav",["TR2final105-client.vl2"]],"audio/fx/misc/crowd-dis2.m4a":["audio/fx/misc/crowd-dis2.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/crowd-dis2.wav":["audio/fx/misc/crowd-dis2.wav",["TR2final105-client.vl2"]],"audio/fx/misc/crowd.m4a":["audio/fx/misc/crowd.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/crowd.wav":["audio/fx/misc/crowd.wav",["TR2final105-client.vl2"]],"audio/fx/misc/crowd2.m4a":["audio/fx/misc/crowd2.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/crowd2.wav":["audio/fx/misc/crowd2.wav",["TR2final105-client.vl2"]],"audio/fx/misc/crowd3.m4a":["audio/fx/misc/crowd3.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/crowd3.wav":["audio/fx/misc/crowd3.wav",["TR2final105-client.vl2"]],"audio/fx/misc/crowdfade.m4a":["audio/fx/misc/crowdfade.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/crowdfade.wav":["audio/fx/misc/crowdfade.wav",["TR2final105-client.vl2"]],"audio/fx/misc/crowdtransition1a.m4a":["audio/fx/misc/crowdtransition1a.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/crowdtransition1a.wav":["audio/fx/misc/crowdtransition1a.wav",["TR2final105-client.vl2"]],"audio/fx/misc/crowdtransition1b.m4a":["audio/fx/misc/crowdtransition1b.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/crowdtransition1b.wav":["audio/fx/misc/crowdtransition1b.wav",["TR2final105-client.vl2"]],"audio/fx/misc/crowdtransition2a.m4a":["audio/fx/misc/crowdtransition2a.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/crowdtransition2a.wav":["audio/fx/misc/crowdtransition2a.wav",["TR2final105-client.vl2"]],"audio/fx/misc/crowdtransition2b.m4a":["audio/fx/misc/crowdtransition2b.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/crowdtransition2b.wav":["audio/fx/misc/crowdtransition2b.wav",["TR2final105-client.vl2"]],"audio/fx/misc/crowdtransition3a.m4a":["audio/fx/misc/crowdtransition3a.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/crowdtransition3a.wav":["audio/fx/misc/crowdtransition3a.wav",["TR2final105-client.vl2"]],"audio/fx/misc/crowdtransition3b.m4a":["audio/fx/misc/crowdtransition3b.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/crowdtransition3b.wav":["audio/fx/misc/crowdtransition3b.wav",["TR2final105-client.vl2"]],"audio/fx/misc/diagnostic_beep.m4a":["audio/fx/misc/diagnostic_beep.m4a",["audio.vl2"]],"audio/fx/misc/diagnostic_beep.wav":["audio/fx/misc/diagnostic_beep.wav",["audio.vl2"]],"audio/fx/misc/diagnostic_on.m4a":["audio/fx/misc/diagnostic_on.m4a",["audio.vl2"]],"audio/fx/misc/diagnostic_on.wav":["audio/fx/misc/diagnostic_on.wav",["audio.vl2"]],"audio/fx/misc/downloading.m4a":["audio/fx/misc/downloading.m4a",["audio.vl2"]],"audio/fx/misc/downloading.wav":["audio/fx/misc/downloading.wav",["audio.vl2"]],"audio/fx/misc/flag1.m4a":["audio/fx/misc/Flag1.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/flag1.wav":["audio/fx/misc/Flag1.wav",["TR2final105-client.vl2"]],"audio/fx/misc/flag_capture.m4a":["audio/fx/misc/flag_capture.m4a",["audio.vl2"]],"audio/fx/misc/flag_capture.wav":["audio/fx/misc/flag_capture.wav",["audio.vl2"]],"audio/fx/misc/flag_drop.m4a":["audio/fx/misc/flag_drop.m4a",["audio.vl2"]],"audio/fx/misc/flag_drop.wav":["audio/fx/misc/flag_drop.wav",["audio.vl2"]],"audio/fx/misc/flag_lost.m4a":["audio/fx/misc/flag_lost.m4a",["audio.vl2"]],"audio/fx/misc/flag_lost.wav":["audio/fx/misc/flag_lost.wav",["audio.vl2"]],"audio/fx/misc/flag_mined_female.m4a":["audio/fx/misc/flag_mined_female.m4a",["audio.vl2"]],"audio/fx/misc/flag_mined_female.wav":["audio/fx/misc/flag_mined_female.wav",["audio.vl2"]],"audio/fx/misc/flag_mined_male.m4a":["audio/fx/misc/flag_mined_male.m4a",["audio.vl2"]],"audio/fx/misc/flag_mined_male.wav":["audio/fx/misc/flag_mined_male.wav",["audio.vl2"]],"audio/fx/misc/flag_return.m4a":["audio/fx/misc/flag_return.m4a",["audio.vl2"]],"audio/fx/misc/flag_return.wav":["audio/fx/misc/flag_return.wav",["audio.vl2"]],"audio/fx/misc/flag_snatch.m4a":["audio/fx/misc/flag_snatch.m4a",["audio.vl2"]],"audio/fx/misc/flag_snatch.wav":["audio/fx/misc/flag_snatch.wav",["audio.vl2"]],"audio/fx/misc/flag_taken.m4a":["audio/fx/misc/flag_taken.m4a",["audio.vl2"]],"audio/fx/misc/flag_taken.wav":["audio/fx/misc/flag_taken.wav",["audio.vl2"]],"audio/fx/misc/flagcapture.m4a":["audio/fx/misc/flagcapture.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/flagcapture.wav":["audio/fx/misc/flagcapture.wav",["TR2final105-client.vl2"]],"audio/fx/misc/flagenemy.m4a":["audio/fx/misc/flagenemy.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/flagenemy.wav":["audio/fx/misc/flagenemy.wav",["TR2final105-client.vl2"]],"audio/fx/misc/flagflap.m4a":["audio/fx/misc/flagflap.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/flagflap.wav":["audio/fx/misc/flagflap.wav",["TR2final105-client.vl2"]],"audio/fx/misc/flagfriend.m4a":["audio/fx/misc/flagfriend.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/flagfriend.wav":["audio/fx/misc/flagfriend.wav",["TR2final105-client.vl2"]],"audio/fx/misc/flagreturn.m4a":["audio/fx/misc/flagreturn.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/flagreturn.wav":["audio/fx/misc/flagreturn.wav",["TR2final105-client.vl2"]],"audio/fx/misc/flagself.m4a":["audio/fx/misc/flagself.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/flagself.wav":["audio/fx/misc/flagself.wav",["TR2final105-client.vl2"]],"audio/fx/misc/flair.m4a":["audio/fx/misc/Flair.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/flair.wav":["audio/fx/misc/Flair.wav",["TR2final105-client.vl2"]],"audio/fx/misc/flipflop_lost.m4a":["audio/fx/misc/flipflop_lost.m4a",["audio.vl2"]],"audio/fx/misc/flipflop_lost.wav":["audio/fx/misc/flipflop_lost.wav",["audio.vl2"]],"audio/fx/misc/flipflop_taken.m4a":["audio/fx/misc/flipflop_taken.m4a",["audio.vl2"]],"audio/fx/misc/flipflop_taken.wav":["audio/fx/misc/flipflop_taken.wav",["audio.vl2"]],"audio/fx/misc/gameover.m4a":["audio/fx/misc/gameover.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/gameover.wav":["audio/fx/misc/gameover.wav",["TR2final105-client.vl2"]],"audio/fx/misc/gamestart.m4a":["audio/fx/misc/gamestart.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/gamestart.wav":["audio/fx/misc/gamestart.wav",["TR2final105-client.vl2"]],"audio/fx/misc/goal.m4a":["audio/fx/misc/goal.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/goal.wav":["audio/fx/misc/goal.wav",["TR2final105-client.vl2"]],"audio/fx/misc/gridjump.m4a":["audio/fx/misc/gridjump.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/gridjump.wav":["audio/fx/misc/gridjump.wav",["TR2final105-client.vl2"]],"audio/fx/misc/health_patch.m4a":["audio/fx/misc/health_patch.m4a",["audio.vl2"]],"audio/fx/misc/health_patch.wav":["audio/fx/misc/health_patch.wav",["audio.vl2"]],"audio/fx/misc/heartbeat.m4a":["audio/fx/misc/heartbeat.m4a",["audio.vl2"]],"audio/fx/misc/heartbeat.wav":["audio/fx/misc/heartbeat.wav",["audio.vl2"]],"audio/fx/misc/hunters_1.m4a":["audio/fx/misc/hunters_1.m4a",["audio.vl2"]],"audio/fx/misc/hunters_1.wav":["audio/fx/misc/hunters_1.wav",["audio.vl2"]],"audio/fx/misc/hunters_10.m4a":["audio/fx/misc/hunters_10.m4a",["audio.vl2"]],"audio/fx/misc/hunters_10.wav":["audio/fx/misc/hunters_10.wav",["audio.vl2"]],"audio/fx/misc/hunters_15.m4a":["audio/fx/misc/hunters_15.m4a",["audio.vl2"]],"audio/fx/misc/hunters_15.wav":["audio/fx/misc/hunters_15.wav",["audio.vl2"]],"audio/fx/misc/hunters_2.m4a":["audio/fx/misc/hunters_2.m4a",["audio.vl2"]],"audio/fx/misc/hunters_2.wav":["audio/fx/misc/hunters_2.wav",["audio.vl2"]],"audio/fx/misc/hunters_3.m4a":["audio/fx/misc/hunters_3.m4a",["audio.vl2"]],"audio/fx/misc/hunters_3.wav":["audio/fx/misc/hunters_3.wav",["audio.vl2"]],"audio/fx/misc/hunters_30.m4a":["audio/fx/misc/hunters_30.m4a",["audio.vl2"]],"audio/fx/misc/hunters_30.wav":["audio/fx/misc/hunters_30.wav",["audio.vl2"]],"audio/fx/misc/hunters_4.m4a":["audio/fx/misc/hunters_4.m4a",["audio.vl2"]],"audio/fx/misc/hunters_4.wav":["audio/fx/misc/hunters_4.wav",["audio.vl2"]],"audio/fx/misc/hunters_5.m4a":["audio/fx/misc/hunters_5.m4a",["audio.vl2"]],"audio/fx/misc/hunters_5.wav":["audio/fx/misc/hunters_5.wav",["audio.vl2"]],"audio/fx/misc/hunters_60.m4a":["audio/fx/misc/hunters_60.m4a",["audio.vl2"]],"audio/fx/misc/hunters_60.wav":["audio/fx/misc/hunters_60.wav",["audio.vl2"]],"audio/fx/misc/hunters_flag_snatch.m4a":["audio/fx/misc/hunters_flag_snatch.m4a",["audio.vl2"]],"audio/fx/misc/hunters_flag_snatch.wav":["audio/fx/misc/hunters_flag_snatch.wav",["audio.vl2"]],"audio/fx/misc/hunters_greed.m4a":["audio/fx/misc/hunters_greed.m4a",["audio.vl2"]],"audio/fx/misc/hunters_greed.wav":["audio/fx/misc/hunters_greed.wav",["audio.vl2"]],"audio/fx/misc/hunters_horde.m4a":["audio/fx/misc/hunters_horde.m4a",["audio.vl2"]],"audio/fx/misc/hunters_horde.wav":["audio/fx/misc/hunters_horde.wav",["audio.vl2"]],"audio/fx/misc/launcher.m4a":["audio/fx/misc/launcher.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/launcher.wav":["audio/fx/misc/launcher.wav",["TR2final105-client.vl2"]],"audio/fx/misc/lightning_impact.m4a":["audio/fx/misc/lightning_impact.m4a",["audio.vl2"]],"audio/fx/misc/lightning_impact.wav":["audio/fx/misc/lightning_impact.wav",["audio.vl2"]],"audio/fx/misc/ma1.m4a":["audio/fx/misc/MA1.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/ma1.wav":["audio/fx/misc/MA1.wav",["TR2final105-client.vl2"]],"audio/fx/misc/ma2.m4a":["audio/fx/misc/MA2.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/ma2.wav":["audio/fx/misc/MA2.wav",["TR2final105-client.vl2"]],"audio/fx/misc/ma3.m4a":["audio/fx/misc/MA3.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/ma3.wav":["audio/fx/misc/MA3.wav",["TR2final105-client.vl2"]],"audio/fx/misc/mine.deploy.m4a":["audio/fx/misc/mine.deploy.m4a",["audio.vl2"]],"audio/fx/misc/mine.deploy.wav":["audio/fx/misc/mine.deploy.WAV",["audio.vl2"]],"audio/fx/misc/misc.error.m4a":["audio/fx/misc/misc.error.m4a",["audio.vl2"]],"audio/fx/misc/misc.error.wav":["audio/fx/misc/misc.error.wav",["audio.vl2"]],"audio/fx/misc/missed.m4a":["audio/fx/misc/missed.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/missed.wav":["audio/fx/misc/missed.wav",["TR2final105-client.vl2"]],"audio/fx/misc/nexus_cap.m4a":["audio/fx/misc/nexus_cap.m4a",["audio.vl2"]],"audio/fx/misc/nexus_cap.wav":["audio/fx/misc/nexus_cap.wav",["audio.vl2"]],"audio/fx/misc/nexus_idle.m4a":["audio/fx/misc/nexus_idle.m4a",["audio.vl2"]],"audio/fx/misc/nexus_idle.wav":["audio/fx/misc/nexus_idle.wav",["audio.vl2"]],"audio/fx/misc/red_alert.m4a":["audio/fx/misc/red_alert.m4a",["audio.vl2"]],"audio/fx/misc/red_alert.wav":["audio/fx/misc/red_alert.wav",["audio.vl2"]],"audio/fx/misc/red_alert_short.m4a":["audio/fx/misc/red_alert_short.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/red_alert_short.wav":["audio/fx/misc/red_alert_short.wav",["TR2final105-client.vl2"]],"audio/fx/misc/rolechange.m4a":["audio/fx/misc/rolechange.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/rolechange.wav":["audio/fx/misc/rolechange.wav",["TR2final105-client.vl2"]],"audio/fx/misc/shieldh1.m4a":["audio/fx/misc/SHIELDH1.m4a",["audio.vl2"]],"audio/fx/misc/shieldh1.wav":["audio/fx/misc/SHIELDH1.WAV",["audio.vl2"]],"audio/fx/misc/siege_switching.m4a":["audio/fx/misc/Siege_Switching.m4a",["audio.vl2"]],"audio/fx/misc/siege_switching.wav":["audio/fx/misc/Siege_Switching.WAV",["audio.vl2"]],"audio/fx/misc/slapshot.m4a":["audio/fx/misc/slapshot.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/slapshot.wav":["audio/fx/misc/slapshot.wav",["TR2final105-client.vl2"]],"audio/fx/misc/static.m4a":["audio/fx/misc/static.m4a",["audio.vl2"]],"audio/fx/misc/static.wav":["audio/fx/misc/static.wav",["audio.vl2"]],"audio/fx/misc/switch_taken.m4a":["audio/fx/misc/switch_taken.m4a",["audio.vl2"]],"audio/fx/misc/switch_taken.wav":["audio/fx/misc/switch_taken.wav",["audio.vl2"]],"audio/fx/misc/target_waypoint.m4a":["audio/fx/misc/target_waypoint.m4a",["audio.vl2"]],"audio/fx/misc/target_waypoint.wav":["audio/fx/misc/target_waypoint.wav",["audio.vl2"]],"audio/fx/misc/vote_fails.m4a":["audio/fx/misc/vote_fails.m4a",["audio.vl2"]],"audio/fx/misc/vote_fails.wav":["audio/fx/misc/vote_fails.wav",["audio.vl2"]],"audio/fx/misc/vote_initiated.m4a":["audio/fx/misc/vote_initiated.m4a",["audio.vl2"]],"audio/fx/misc/vote_initiated.wav":["audio/fx/misc/vote_initiated.wav",["audio.vl2"]],"audio/fx/misc/vote_passes.m4a":["audio/fx/misc/vote_passes.m4a",["audio.vl2"]],"audio/fx/misc/vote_passes.wav":["audio/fx/misc/vote_passes.wav",["audio.vl2"]],"audio/fx/misc/warning_beep.m4a":["audio/fx/misc/warning_beep.m4a",["audio.vl2"]],"audio/fx/misc/warning_beep.wav":["audio/fx/misc/warning_beep.wav",["audio.vl2"]],"audio/fx/misc/whistle.m4a":["audio/fx/misc/whistle.m4a",["TR2final105-client.vl2"]],"audio/fx/misc/whistle.wav":["audio/fx/misc/whistle.wav",["TR2final105-client.vl2"]],"audio/fx/misc/yardsale.m4a":["audio/fx/misc/Yardsale.m4a",["audio.vl2"]],"audio/fx/misc/yardsale.wav":["audio/fx/misc/Yardsale.WAV",["audio.vl2"]],"audio/fx/packs/cloak_on.m4a":["audio/fx/packs/cloak_on.m4a",["audio.vl2"]],"audio/fx/packs/cloak_on.wav":["audio/fx/packs/cloak_on.wav",["audio.vl2"]],"audio/fx/packs/inventory_deploy.m4a":["audio/fx/packs/inventory_deploy.m4a",["audio.vl2"]],"audio/fx/packs/inventory_deploy.wav":["audio/fx/packs/inventory_deploy.wav",["audio.vl2"]],"audio/fx/packs/packs.pickuppack.m4a":["audio/fx/packs/packs.pickupPack.m4a",["audio.vl2"]],"audio/fx/packs/packs.pickuppack.wav":["audio/fx/packs/packs.pickupPack.wav",["audio.vl2"]],"audio/fx/packs/packs.repairpackon.m4a":["audio/fx/packs/packs.repairPackOn.m4a",["audio.vl2"]],"audio/fx/packs/packs.repairpackon.wav":["audio/fx/packs/packs.repairPackOn.wav",["audio.vl2"]],"audio/fx/packs/packs.throwpack.m4a":["audio/fx/packs/packs.throwPack.m4a",["audio.vl2"]],"audio/fx/packs/packs.throwpack.wav":["audio/fx/packs/packs.throwPack.wav",["audio.vl2"]],"audio/fx/packs/repair_use.m4a":["audio/fx/packs/repair_use.m4a",["audio.vl2"]],"audio/fx/packs/repair_use.wav":["audio/fx/packs/repair_use.wav",["audio.vl2"]],"audio/fx/packs/satchel_pack_activate.m4a":["audio/fx/packs/satchel_pack_activate.m4a",["audio.vl2"]],"audio/fx/packs/satchel_pack_activate.wav":["audio/fx/packs/satchel_pack_activate.wav",["audio.vl2"]],"audio/fx/packs/satchel_pack_detonate.m4a":["audio/fx/packs/satchel_pack_detonate.m4a",["audio.vl2"]],"audio/fx/packs/satchel_pack_detonate.wav":["audio/fx/packs/satchel_pack_detonate.wav",["audio.vl2"]],"audio/fx/packs/sensorjammerpack_on.m4a":["audio/fx/packs/sensorjammerpack_on.m4a",["audio.vl2"]],"audio/fx/packs/sensorjammerpack_on.wav":["audio/fx/packs/sensorjammerpack_on.wav",["audio.vl2"]],"audio/fx/packs/shield_hit.m4a":["audio/fx/packs/shield_hit.m4a",["audio.vl2"]],"audio/fx/packs/shield_hit.wav":["audio/fx/packs/shield_hit.wav",["audio.vl2"]],"audio/fx/packs/shield_on.m4a":["audio/fx/packs/shield_on.m4a",["audio.vl2"]],"audio/fx/packs/shield_on.wav":["audio/fx/packs/shield_on.WAV",["audio.vl2"]],"audio/fx/packs/turret_place.m4a":["audio/fx/packs/turret_place.m4a",["audio.vl2"]],"audio/fx/packs/turret_place.wav":["audio/fx/packs/turret_place.wav",["audio.vl2"]],"audio/fx/powered/base_power_loop.m4a":["audio/fx/powered/base_power_loop.m4a",["audio.vl2"]],"audio/fx/powered/base_power_loop.wav":["audio/fx/powered/base_power_loop.wav",["audio.vl2"]],"audio/fx/powered/base_power_off.m4a":["audio/fx/powered/base_power_off.m4a",["audio.vl2"]],"audio/fx/powered/base_power_off.wav":["audio/fx/powered/base_power_off.wav",["audio.vl2"]],"audio/fx/powered/base_power_on.m4a":["audio/fx/powered/base_power_on.m4a",["audio.vl2"]],"audio/fx/powered/base_power_on.wav":["audio/fx/powered/base_power_on.wav",["audio.vl2"]],"audio/fx/powered/dep_inv_station.m4a":["audio/fx/powered/dep_inv_station.m4a",["audio.vl2"]],"audio/fx/powered/dep_inv_station.wav":["audio/fx/powered/dep_inv_station.wav",["audio.vl2"]],"audio/fx/powered/generator_hum.m4a":["audio/fx/powered/generator_hum.m4a",["audio.vl2"]],"audio/fx/powered/generator_hum.wav":["audio/fx/powered/generator_hum.wav",["audio.vl2"]],"audio/fx/powered/inv_pad_appear.m4a":["audio/fx/powered/inv_pad_appear.m4a",["audio.vl2"]],"audio/fx/powered/inv_pad_appear.wav":["audio/fx/powered/inv_pad_appear.wav",["audio.vl2"]],"audio/fx/powered/inv_pad_off.m4a":["audio/fx/powered/inv_pad_off.m4a",["audio.vl2"]],"audio/fx/powered/inv_pad_off.wav":["audio/fx/powered/inv_pad_off.wav",["audio.vl2"]],"audio/fx/powered/inv_pad_on.m4a":["audio/fx/powered/inv_pad_on.m4a",["audio.vl2"]],"audio/fx/powered/inv_pad_on.wav":["audio/fx/powered/inv_pad_on.wav",["audio.vl2"]],"audio/fx/powered/motion_sensor_activate.m4a":["audio/fx/powered/motion_sensor_activate.m4a",["audio.vl2"]],"audio/fx/powered/motion_sensor_activate.wav":["audio/fx/powered/motion_sensor_activate.wav",["audio.vl2"]],"audio/fx/powered/nexus_deny.m4a":["audio/fx/powered/nexus_deny.m4a",["audio.vl2"]],"audio/fx/powered/nexus_deny.wav":["audio/fx/powered/nexus_deny.wav",["audio.vl2"]],"audio/fx/powered/sensor_activate.m4a":["audio/fx/powered/sensor_activate.m4a",["audio.vl2"]],"audio/fx/powered/sensor_activate.wav":["audio/fx/powered/sensor_activate.wav",["audio.vl2"]],"audio/fx/powered/sensor_hum.m4a":["audio/fx/powered/sensor_hum.m4a",["audio.vl2"]],"audio/fx/powered/sensor_hum.wav":["audio/fx/powered/sensor_hum.wav",["audio.vl2"]],"audio/fx/powered/station_denied.m4a":["audio/fx/powered/station_denied.m4a",["audio.vl2"]],"audio/fx/powered/station_denied.wav":["audio/fx/powered/station_denied.wav",["audio.vl2"]],"audio/fx/powered/station_hum.m4a":["audio/fx/powered/station_hum.m4a",["audio.vl2"]],"audio/fx/powered/station_hum.wav":["audio/fx/powered/station_hum.wav",["audio.vl2"]],"audio/fx/powered/turret_aa_activate.m4a":["audio/fx/powered/turret_aa_activate.m4a",["audio.vl2"]],"audio/fx/powered/turret_aa_activate.wav":["audio/fx/powered/turret_aa_activate.wav",["audio.vl2"]],"audio/fx/powered/turret_aa_fire.m4a":["audio/fx/powered/turret_aa_fire.m4a",["audio.vl2"]],"audio/fx/powered/turret_aa_fire.wav":["audio/fx/powered/turret_aa_fire.wav",["audio.vl2"]],"audio/fx/powered/turret_heavy_activate.m4a":["audio/fx/powered/turret_heavy_activate.m4a",["audio.vl2"]],"audio/fx/powered/turret_heavy_activate.wav":["audio/fx/powered/turret_heavy_activate.wav",["audio.vl2"]],"audio/fx/powered/turret_heavy_idle.m4a":["audio/fx/powered/turret_heavy_idle.m4a",["audio.vl2"]],"audio/fx/powered/turret_heavy_idle.wav":["audio/fx/powered/turret_heavy_idle.wav",["audio.vl2"]],"audio/fx/powered/turret_heavy_reload.m4a":["audio/fx/powered/turret_heavy_reload.m4a",["audio.vl2"]],"audio/fx/powered/turret_heavy_reload.wav":["audio/fx/powered/turret_heavy_reload.wav",["audio.vl2"]],"audio/fx/powered/turret_indoor_fire.m4a":["audio/fx/powered/turret_indoor_fire.m4a",["audio.vl2"]],"audio/fx/powered/turret_indoor_fire.wav":["audio/fx/powered/turret_indoor_fire.wav",["audio.vl2"]],"audio/fx/powered/turret_light_activate.m4a":["audio/fx/powered/turret_light_activate.m4a",["audio.vl2"]],"audio/fx/powered/turret_light_activate.wav":["audio/fx/powered/turret_light_activate.wav",["audio.vl2"]],"audio/fx/powered/turret_light_idle.m4a":["audio/fx/powered/turret_light_idle.m4a",["audio.vl2"]],"audio/fx/powered/turret_light_idle.wav":["audio/fx/powered/turret_light_idle.wav",["audio.vl2"]],"audio/fx/powered/turret_light_reload.m4a":["audio/fx/powered/turret_light_reload.m4a",["audio.vl2"]],"audio/fx/powered/turret_light_reload.wav":["audio/fx/powered/turret_light_reload.wav",["audio.vl2"]],"audio/fx/powered/turret_missile_activate.m4a":["audio/fx/powered/turret_missile_activate.m4a",["audio.vl2"]],"audio/fx/powered/turret_missile_activate.wav":["audio/fx/powered/turret_missile_activate.wav",["audio.vl2"]],"audio/fx/powered/turret_missile_fire.m4a":["audio/fx/powered/turret_missile_fire.m4a",["audio.vl2"]],"audio/fx/powered/turret_missile_fire.wav":["audio/fx/powered/turret_missile_fire.wav",["audio.vl2"]],"audio/fx/powered/turret_mortar_explode.m4a":["audio/fx/powered/turret_mortar_explode.m4a",["audio.vl2"]],"audio/fx/powered/turret_mortar_explode.wav":["audio/fx/powered/turret_mortar_explode.wav",["audio.vl2"]],"audio/fx/powered/turret_mortar_fire.m4a":["audio/fx/powered/turret_mortar_fire.m4a",["audio.vl2"]],"audio/fx/powered/turret_mortar_fire.wav":["audio/fx/powered/turret_mortar_fire.wav",["audio.vl2"]],"audio/fx/powered/turret_outdoor_fire.m4a":["audio/fx/powered/turret_outdoor_fire.m4a",["audio.vl2"]],"audio/fx/powered/turret_outdoor_fire.wav":["audio/fx/powered/turret_outdoor_fire.wav",["audio.vl2"]],"audio/fx/powered/turret_plasma_explode.m4a":["audio/fx/powered/turret_plasma_explode.m4a",["audio.vl2"]],"audio/fx/powered/turret_plasma_explode.wav":["audio/fx/powered/turret_plasma_explode.wav",["audio.vl2"]],"audio/fx/powered/turret_plasma_fire.m4a":["audio/fx/powered/turret_plasma_fire.m4a",["audio.vl2"]],"audio/fx/powered/turret_plasma_fire.wav":["audio/fx/powered/turret_plasma_fire.wav",["audio.vl2"]],"audio/fx/powered/turret_sentry_activate.m4a":["audio/fx/powered/turret_sentry_activate.m4a",["audio.vl2"]],"audio/fx/powered/turret_sentry_activate.wav":["audio/fx/powered/turret_sentry_activate.wav",["audio.vl2"]],"audio/fx/powered/turret_sentry_fire.m4a":["audio/fx/powered/turret_sentry_fire.m4a",["audio.vl2"]],"audio/fx/powered/turret_sentry_fire.wav":["audio/fx/powered/turret_sentry_fire.wav",["audio.vl2"]],"audio/fx/powered/turret_sentry_impact.m4a":["audio/fx/powered/turret_sentry_impact.m4a",["audio.vl2"]],"audio/fx/powered/turret_sentry_impact.wav":["audio/fx/powered/turret_sentry_impact.wav",["audio.vl2"]],"audio/fx/powered/vehicle_pad_on.m4a":["audio/fx/powered/vehicle_pad_on.m4a",["audio.vl2"]],"audio/fx/powered/vehicle_pad_on.wav":["audio/fx/powered/vehicle_pad_on.wav",["audio.vl2"]],"audio/fx/powered/vehicle_screen_off.m4a":["audio/fx/powered/vehicle_screen_off.m4a",["audio.vl2"]],"audio/fx/powered/vehicle_screen_off.wav":["audio/fx/powered/vehicle_screen_off.wav",["audio.vl2"]],"audio/fx/powered/vehicle_screen_on.m4a":["audio/fx/powered/vehicle_screen_on.m4a",["audio.vl2"]],"audio/fx/powered/vehicle_screen_on.wav":["audio/fx/powered/vehicle_screen_on.wav",["audio.vl2"]],"audio/fx/powered/vehicle_screen_on2.m4a":["audio/fx/powered/vehicle_screen_on2.m4a",["audio.vl2"]],"audio/fx/powered/vehicle_screen_on2.wav":["audio/fx/powered/vehicle_screen_on2.wav",["audio.vl2"]],"audio/fx/vehicles/bomber_bomb_dryfire.m4a":["audio/fx/vehicles/bomber_bomb_dryfire.m4a",["audio.vl2"]],"audio/fx/vehicles/bomber_bomb_dryfire.wav":["audio/fx/vehicles/bomber_bomb_dryfire.wav",["audio.vl2"]],"audio/fx/vehicles/bomber_bomb_impact.m4a":["audio/fx/vehicles/bomber_bomb_impact.m4a",["audio.vl2"]],"audio/fx/vehicles/bomber_bomb_impact.wav":["audio/fx/vehicles/bomber_bomb_impact.wav",["audio.vl2"]],"audio/fx/vehicles/bomber_bomb_projectile.m4a":["audio/fx/vehicles/bomber_bomb_projectile.m4a",["audio.vl2"]],"audio/fx/vehicles/bomber_bomb_projectile.wav":["audio/fx/vehicles/bomber_bomb_projectile.wav",["audio.vl2"]],"audio/fx/vehicles/bomber_bomb_reload.m4a":["audio/fx/vehicles/bomber_bomb_reload.m4a",["audio.vl2"]],"audio/fx/vehicles/bomber_bomb_reload.wav":["audio/fx/vehicles/bomber_bomb_reload.wav",["audio.vl2"]],"audio/fx/vehicles/bomber_boost.m4a":["audio/fx/vehicles/bomber_boost.m4a",["audio.vl2"]],"audio/fx/vehicles/bomber_boost.wav":["audio/fx/vehicles/bomber_boost.wav",["audio.vl2"]],"audio/fx/vehicles/bomber_engine.m4a":["audio/fx/vehicles/bomber_engine.m4a",["audio.vl2"]],"audio/fx/vehicles/bomber_engine.wav":["audio/fx/vehicles/bomber_engine.wav",["audio.vl2"]],"audio/fx/vehicles/bomber_turret_activate.m4a":["audio/fx/vehicles/bomber_turret_activate.m4a",["audio.vl2"]],"audio/fx/vehicles/bomber_turret_activate.wav":["audio/fx/vehicles/bomber_turret_activate.wav",["audio.vl2"]],"audio/fx/vehicles/bomber_turret_dryfire.m4a":["audio/fx/vehicles/bomber_turret_dryfire.m4a",["audio.vl2"]],"audio/fx/vehicles/bomber_turret_dryfire.wav":["audio/fx/vehicles/bomber_turret_dryfire.wav",["audio.vl2"]],"audio/fx/vehicles/bomber_turret_fire.m4a":["audio/fx/vehicles/bomber_turret_fire.m4a",["audio.vl2"]],"audio/fx/vehicles/bomber_turret_fire.wav":["audio/fx/vehicles/bomber_turret_fire.wav",["audio.vl2"]],"audio/fx/vehicles/bomber_turret_reload.m4a":["audio/fx/vehicles/bomber_turret_reload.m4a",["audio.vl2"]],"audio/fx/vehicles/bomber_turret_reload.wav":["audio/fx/vehicles/bomber_turret_reload.wav",["audio.vl2"]],"audio/fx/vehicles/cockpit_activate.m4a":["audio/fx/vehicles/cockpit_activate.m4a",["audio.vl2"]],"audio/fx/vehicles/cockpit_activate.wav":["audio/fx/vehicles/cockpit_activate.wav",["audio.vl2"]],"audio/fx/vehicles/crash_grav_soft.m4a":["audio/fx/vehicles/crash_grav_soft.m4a",["audio.vl2"]],"audio/fx/vehicles/crash_grav_soft.wav":["audio/fx/vehicles/crash_grav_soft.wav",["audio.vl2"]],"audio/fx/vehicles/crash_ground_vehicle.m4a":["audio/fx/vehicles/crash_ground_vehicle.m4a",["audio.vl2"]],"audio/fx/vehicles/crash_ground_vehicle.wav":["audio/fx/vehicles/crash_ground_vehicle.wav",["audio.vl2"]],"audio/fx/vehicles/crash_hard.m4a":["audio/fx/vehicles/crash_hard.m4a",["audio.vl2"]],"audio/fx/vehicles/crash_hard.wav":["audio/fx/vehicles/crash_hard.wav",["audio.vl2"]],"audio/fx/vehicles/crash_soft.m4a":["audio/fx/vehicles/crash_soft.m4a",["audio.vl2"]],"audio/fx/vehicles/crash_soft.wav":["audio/fx/vehicles/crash_soft.wav",["audio.vl2"]],"audio/fx/vehicles/htransport_boost.m4a":["audio/fx/vehicles/htransport_boost.m4a",["audio.vl2"]],"audio/fx/vehicles/htransport_boost.wav":["audio/fx/vehicles/htransport_boost.wav",["audio.vl2"]],"audio/fx/vehicles/htransport_thrust.m4a":["audio/fx/vehicles/htransport_thrust.m4a",["audio.vl2"]],"audio/fx/vehicles/htransport_thrust.wav":["audio/fx/vehicles/htransport_thrust.wav",["audio.vl2"]],"audio/fx/vehicles/inventory_pad_appear.m4a":["audio/fx/vehicles/inventory_pad_appear.m4a",["audio.vl2"]],"audio/fx/vehicles/inventory_pad_appear.wav":["audio/fx/vehicles/inventory_pad_appear.wav",["audio.vl2"]],"audio/fx/vehicles/inventory_pad_on.m4a":["audio/fx/vehicles/inventory_pad_on.m4a",["audio.vl2"]],"audio/fx/vehicles/inventory_pad_on.wav":["audio/fx/vehicles/inventory_pad_on.wav",["audio.vl2"]],"audio/fx/vehicles/mount.m4a":["audio/fx/vehicles/mount.m4a",["audio.vl2"]],"audio/fx/vehicles/mount.wav":["audio/fx/vehicles/mount.wav",["audio.vl2"]],"audio/fx/vehicles/mount_dis.m4a":["audio/fx/vehicles/mount_dis.m4a",["audio.vl2"]],"audio/fx/vehicles/mount_dis.wav":["audio/fx/vehicles/mount_dis.wav",["audio.vl2"]],"audio/fx/vehicles/mpb_boost.m4a":["audio/fx/vehicles/mpb_boost.m4a",["audio.vl2"]],"audio/fx/vehicles/mpb_boost.wav":["audio/fx/vehicles/mpb_boost.wav",["audio.vl2"]],"audio/fx/vehicles/mpb_close_lid.m4a":["audio/fx/vehicles/MPB_close_lid.m4a",["audio.vl2"]],"audio/fx/vehicles/mpb_close_lid.wav":["audio/fx/vehicles/MPB_close_lid.wav",["audio.vl2"]],"audio/fx/vehicles/mpb_deploy.m4a":["audio/fx/vehicles/MPB_deploy.m4a",["audio.vl2"]],"audio/fx/vehicles/mpb_deploy.wav":["audio/fx/vehicles/MPB_deploy.wav",["audio.vl2"]],"audio/fx/vehicles/mpb_deploy_station.m4a":["audio/fx/vehicles/MPB_deploy_station.m4a",["audio.vl2"]],"audio/fx/vehicles/mpb_deploy_station.wav":["audio/fx/vehicles/MPB_deploy_station.wav",["audio.vl2"]],"audio/fx/vehicles/mpb_deploy_turret.m4a":["audio/fx/vehicles/MPB_deploy_turret.m4a",["audio.vl2"]],"audio/fx/vehicles/mpb_deploy_turret.wav":["audio/fx/vehicles/MPB_deploy_turret.wav",["audio.vl2"]],"audio/fx/vehicles/mpb_inv_station.m4a":["audio/fx/vehicles/mpb_inv_station.m4a",["audio.vl2"]],"audio/fx/vehicles/mpb_inv_station.wav":["audio/fx/vehicles/mpb_inv_station.wav",["audio.vl2"]],"audio/fx/vehicles/mpb_thrust.m4a":["audio/fx/vehicles/mpb_thrust.m4a",["audio.vl2"]],"audio/fx/vehicles/mpb_thrust.wav":["audio/fx/vehicles/mpb_thrust.wav",["audio.vl2"]],"audio/fx/vehicles/mpb_undeploy_turret.m4a":["audio/fx/vehicles/MPB_undeploy_turret.m4a",["audio.vl2"]],"audio/fx/vehicles/mpb_undeploy_turret.wav":["audio/fx/vehicles/MPB_undeploy_turret.wav",["audio.vl2"]],"audio/fx/vehicles/mpb_undeploy_turret2.m4a":["audio/fx/vehicles/MPB_undeploy_turret2.m4a",["audio.vl2"]],"audio/fx/vehicles/mpb_undeploy_turret2.wav":["audio/fx/vehicles/MPB_undeploy_turret2.wav",["audio.vl2"]],"audio/fx/vehicles/outrider_boost.m4a":["audio/fx/vehicles/outrider_boost.m4a",["audio.vl2"]],"audio/fx/vehicles/outrider_boost.wav":["audio/fx/vehicles/outrider_boost.wav",["audio.vl2"]],"audio/fx/vehicles/outrider_engine.m4a":["audio/fx/vehicles/outrider_engine.m4a",["audio.vl2"]],"audio/fx/vehicles/outrider_engine.wav":["audio/fx/vehicles/outrider_engine.wav",["audio.vl2"]],"audio/fx/vehicles/outrider_skid.m4a":["audio/fx/vehicles/outrider_skid.m4a",["audio.vl2"]],"audio/fx/vehicles/outrider_skid.wav":["audio/fx/vehicles/outrider_skid.wav",["audio.vl2"]],"audio/fx/vehicles/shrike_blaster.m4a":["audio/fx/vehicles/shrike_blaster.m4a",["audio.vl2"]],"audio/fx/vehicles/shrike_blaster.wav":["audio/fx/vehicles/shrike_blaster.wav",["audio.vl2"]],"audio/fx/vehicles/shrike_blaster_projectile.m4a":["audio/fx/vehicles/shrike_blaster_projectile.m4a",["audio.vl2"]],"audio/fx/vehicles/shrike_blaster_projectile.wav":["audio/fx/vehicles/shrike_blaster_projectile.wav",["audio.vl2"]],"audio/fx/vehicles/shrike_blaster_projectile_impact.m4a":["audio/fx/vehicles/shrike_blaster_projectile_impact.m4a",["audio.vl2"]],"audio/fx/vehicles/shrike_blaster_projectile_impact.wav":["audio/fx/vehicles/shrike_blaster_projectile_impact.wav",["audio.vl2"]],"audio/fx/vehicles/shrike_boost.m4a":["audio/fx/vehicles/shrike_boost.m4a",["audio.vl2"]],"audio/fx/vehicles/shrike_boost.wav":["audio/fx/vehicles/shrike_boost.wav",["audio.vl2"]],"audio/fx/vehicles/shrike_engine.m4a":["audio/fx/vehicles/shrike_engine.m4a",["audio.vl2"]],"audio/fx/vehicles/shrike_engine.wav":["audio/fx/vehicles/shrike_engine.wav",["audio.vl2"]],"audio/fx/vehicles/tank_activate.m4a":["audio/fx/vehicles/tank_activate.m4a",["audio.vl2"]],"audio/fx/vehicles/tank_activate.wav":["audio/fx/vehicles/tank_activate.wav",["audio.vl2"]],"audio/fx/vehicles/tank_boost.m4a":["audio/fx/vehicles/tank_boost.m4a",["audio.vl2"]],"audio/fx/vehicles/tank_boost.wav":["audio/fx/vehicles/tank_boost.wav",["audio.vl2"]],"audio/fx/vehicles/tank_chaingun.m4a":["audio/fx/vehicles/tank_chaingun.m4a",["audio.vl2"]],"audio/fx/vehicles/tank_chaingun.wav":["audio/fx/vehicles/tank_chaingun.wav",["audio.vl2"]],"audio/fx/vehicles/tank_engine.m4a":["audio/fx/vehicles/tank_engine.m4a",["audio.vl2"]],"audio/fx/vehicles/tank_engine.wav":["audio/fx/vehicles/tank_engine.wav",["audio.vl2"]],"audio/fx/vehicles/tank_mortar_fire.m4a":["audio/fx/vehicles/tank_mortar_fire.m4a",["audio.vl2"]],"audio/fx/vehicles/tank_mortar_fire.wav":["audio/fx/vehicles/tank_mortar_fire.wav",["audio.vl2"]],"audio/fx/vehicles/tank_skid.m4a":["audio/fx/vehicles/tank_skid.m4a",["audio.vl2"]],"audio/fx/vehicles/tank_skid.wav":["audio/fx/vehicles/tank_skid.wav",["audio.vl2"]],"audio/fx/vehicles/wake_shrike_n_tank.m4a":["audio/fx/vehicles/wake_shrike_n_tank.m4a",["audio.vl2"]],"audio/fx/vehicles/wake_shrike_n_tank.wav":["audio/fx/vehicles/wake_shrike_n_tank.wav",["audio.vl2"]],"audio/fx/vehicles/wake_wildcat.m4a":["audio/fx/vehicles/wake_wildcat.m4a",["audio.vl2"]],"audio/fx/vehicles/wake_wildcat.wav":["audio/fx/vehicles/wake_wildcat.wav",["audio.vl2"]],"audio/fx/weapons/blaster_activate.m4a":["audio/fx/weapons/blaster_activate.m4a",["audio.vl2"]],"audio/fx/weapons/blaster_activate.wav":["audio/fx/weapons/blaster_activate.wav",["audio.vl2"]],"audio/fx/weapons/blaster_fire.m4a":["audio/fx/weapons/blaster_fire.m4a",["audio.vl2"]],"audio/fx/weapons/blaster_fire.wav":["audio/fx/weapons/blaster_fire.WAV",["audio.vl2"]],"audio/fx/weapons/blaster_impact.m4a":["audio/fx/weapons/blaster_impact.m4a",["audio.vl2"]],"audio/fx/weapons/blaster_impact.wav":["audio/fx/weapons/blaster_impact.wav",["audio.vl2"]],"audio/fx/weapons/blaster_projectile.m4a":["audio/fx/weapons/blaster_projectile.m4a",["audio.vl2"]],"audio/fx/weapons/blaster_projectile.wav":["audio/fx/weapons/blaster_projectile.wav",["audio.vl2"]],"audio/fx/weapons/cg_hard1.m4a":["audio/fx/weapons/cg_hard1.m4a",["audio.vl2"]],"audio/fx/weapons/cg_hard1.wav":["audio/fx/weapons/cg_hard1.wav",["audio.vl2"]],"audio/fx/weapons/cg_hard2.m4a":["audio/fx/weapons/cg_hard2.m4a",["audio.vl2"]],"audio/fx/weapons/cg_hard2.wav":["audio/fx/weapons/cg_hard2.wav",["audio.vl2"]],"audio/fx/weapons/cg_hard3.m4a":["audio/fx/weapons/cg_hard3.m4a",["audio.vl2"]],"audio/fx/weapons/cg_hard3.wav":["audio/fx/weapons/cg_hard3.wav",["audio.vl2"]],"audio/fx/weapons/cg_hard4.m4a":["audio/fx/weapons/cg_hard4.m4a",["audio.vl2"]],"audio/fx/weapons/cg_hard4.wav":["audio/fx/weapons/cg_hard4.wav",["audio.vl2"]],"audio/fx/weapons/cg_metal1.m4a":["audio/fx/weapons/cg_metal1.m4a",["audio.vl2"]],"audio/fx/weapons/cg_metal1.wav":["audio/fx/weapons/cg_metal1.wav",["audio.vl2"]],"audio/fx/weapons/cg_metal2.m4a":["audio/fx/weapons/cg_metal2.m4a",["audio.vl2"]],"audio/fx/weapons/cg_metal2.wav":["audio/fx/weapons/cg_metal2.wav",["audio.vl2"]],"audio/fx/weapons/cg_metal3.m4a":["audio/fx/weapons/cg_metal3.m4a",["audio.vl2"]],"audio/fx/weapons/cg_metal3.wav":["audio/fx/weapons/cg_metal3.wav",["audio.vl2"]],"audio/fx/weapons/cg_metal4.m4a":["audio/fx/weapons/cg_metal4.m4a",["audio.vl2"]],"audio/fx/weapons/cg_metal4.wav":["audio/fx/weapons/cg_metal4.wav",["audio.vl2"]],"audio/fx/weapons/cg_soft1.m4a":["audio/fx/weapons/cg_soft1.m4a",["audio.vl2"]],"audio/fx/weapons/cg_soft1.wav":["audio/fx/weapons/cg_soft1.wav",["audio.vl2"]],"audio/fx/weapons/cg_soft2.m4a":["audio/fx/weapons/cg_soft2.m4a",["audio.vl2"]],"audio/fx/weapons/cg_soft2.wav":["audio/fx/weapons/cg_soft2.wav",["audio.vl2"]],"audio/fx/weapons/cg_soft3.m4a":["audio/fx/weapons/cg_soft3.m4a",["audio.vl2"]],"audio/fx/weapons/cg_soft3.wav":["audio/fx/weapons/cg_soft3.wav",["audio.vl2"]],"audio/fx/weapons/cg_soft4.m4a":["audio/fx/weapons/cg_soft4.m4a",["audio.vl2"]],"audio/fx/weapons/cg_soft4.wav":["audio/fx/weapons/cg_soft4.wav",["audio.vl2"]],"audio/fx/weapons/cg_water1.m4a":["audio/fx/weapons/cg_water1.m4a",["audio.vl2"]],"audio/fx/weapons/cg_water1.wav":["audio/fx/weapons/cg_water1.wav",["audio.vl2"]],"audio/fx/weapons/cg_water2.m4a":["audio/fx/weapons/cg_water2.m4a",["audio.vl2"]],"audio/fx/weapons/cg_water2.wav":["audio/fx/weapons/cg_water2.wav",["audio.vl2"]],"audio/fx/weapons/cg_water3.m4a":["audio/fx/weapons/cg_water3.m4a",["audio.vl2"]],"audio/fx/weapons/cg_water3.wav":["audio/fx/weapons/cg_water3.wav",["audio.vl2"]],"audio/fx/weapons/cg_water4.m4a":["audio/fx/weapons/cg_water4.m4a",["audio.vl2"]],"audio/fx/weapons/cg_water4.wav":["audio/fx/weapons/cg_water4.wav",["audio.vl2"]],"audio/fx/weapons/chaingun_activate.m4a":["audio/fx/weapons/chaingun_activate.m4a",["audio.vl2"]],"audio/fx/weapons/chaingun_activate.wav":["audio/fx/weapons/chaingun_activate.wav",["audio.vl2"]],"audio/fx/weapons/chaingun_dryfire.m4a":["audio/fx/weapons/chaingun_dryfire.m4a",["audio.vl2"]],"audio/fx/weapons/chaingun_dryfire.wav":["audio/fx/weapons/chaingun_dryfire.wav",["audio.vl2"]],"audio/fx/weapons/chaingun_fire.m4a":["audio/fx/weapons/chaingun_fire.m4a",["audio.vl2"]],"audio/fx/weapons/chaingun_fire.wav":["audio/fx/weapons/chaingun_fire.wav",["audio.vl2"]],"audio/fx/weapons/chaingun_impact.m4a":["audio/fx/weapons/chaingun_impact.m4a",["audio.vl2"]],"audio/fx/weapons/chaingun_impact.wav":["audio/fx/weapons/chaingun_impact.wav",["audio.vl2"]],"audio/fx/weapons/chaingun_off.m4a":["audio/fx/weapons/chaingun_off.m4a",["audio.vl2"]],"audio/fx/weapons/chaingun_off.wav":["audio/fx/weapons/chaingun_off.wav",["audio.vl2"]],"audio/fx/weapons/chaingun_projectile.m4a":["audio/fx/weapons/chaingun_projectile.m4a",["audio.vl2"]],"audio/fx/weapons/chaingun_projectile.wav":["audio/fx/weapons/chaingun_projectile.wav",["audio.vl2"]],"audio/fx/weapons/chaingun_spindown.m4a":["audio/fx/weapons/chaingun_spindown.m4a",["audio.vl2"]],"audio/fx/weapons/chaingun_spindown.wav":["audio/fx/weapons/chaingun_spindown.wav",["audio.vl2"]],"audio/fx/weapons/chaingun_spinup.m4a":["audio/fx/weapons/chaingun_spinup.m4a",["audio.vl2"]],"audio/fx/weapons/chaingun_spinup.wav":["audio/fx/weapons/chaingun_spinup.wav",["audio.vl2"]],"audio/fx/weapons/chaingun_start.m4a":["audio/fx/weapons/chaingun_start.m4a",["audio.vl2"]],"audio/fx/weapons/chaingun_start.wav":["audio/fx/weapons/chaingun_start.wav",["audio.vl2"]],"audio/fx/weapons/elf_fire.m4a":["audio/fx/weapons/ELF_fire.m4a",["audio.vl2"]],"audio/fx/weapons/elf_fire.wav":["audio/fx/weapons/ELF_fire.wav",["audio.vl2"]],"audio/fx/weapons/elf_hit.m4a":["audio/fx/weapons/ELF_hit.m4a",["audio.vl2"]],"audio/fx/weapons/elf_hit.wav":["audio/fx/weapons/ELF_hit.wav",["audio.vl2"]],"audio/fx/weapons/elf_underwater.m4a":["audio/fx/weapons/ELF_underwater.m4a",["audio.vl2"]],"audio/fx/weapons/elf_underwater.wav":["audio/fx/weapons/ELF_underwater.wav",["audio.vl2"]],"audio/fx/weapons/generic_switch.m4a":["audio/fx/weapons/generic_switch.m4a",["audio.vl2"]],"audio/fx/weapons/generic_switch.wav":["audio/fx/weapons/generic_switch.wav",["audio.vl2"]],"audio/fx/weapons/grenade_camera_activate.m4a":["audio/fx/weapons/grenade_camera_activate.m4a",["audio.vl2"]],"audio/fx/weapons/grenade_camera_activate.wav":["audio/fx/weapons/grenade_camera_activate.wav",["audio.vl2"]],"audio/fx/weapons/grenade_camera_attach.m4a":["audio/fx/weapons/grenade_camera_attach.m4a",["audio.vl2"]],"audio/fx/weapons/grenade_camera_attach.wav":["audio/fx/weapons/grenade_camera_attach.wav",["audio.vl2"]],"audio/fx/weapons/grenade_explode.m4a":["audio/fx/weapons/grenade_explode.m4a",["audio.vl2"]],"audio/fx/weapons/grenade_explode.wav":["audio/fx/weapons/grenade_explode.wav",["audio.vl2"]],"audio/fx/weapons/grenade_explode_uw.m4a":["audio/fx/weapons/grenade_explode_UW.m4a",["audio.vl2"]],"audio/fx/weapons/grenade_explode_uw.wav":["audio/fx/weapons/grenade_explode_UW.wav",["audio.vl2"]],"audio/fx/weapons/grenade_flash_explode.m4a":["audio/fx/weapons/grenade_flash_explode.m4a",["audio.vl2"]],"audio/fx/weapons/grenade_flash_explode.wav":["audio/fx/weapons/grenade_flash_explode.wav",["audio.vl2"]],"audio/fx/weapons/grenade_switch.m4a":["audio/fx/weapons/grenade_switch.m4a",["audio.vl2"]],"audio/fx/weapons/grenade_switch.wav":["audio/fx/weapons/grenade_switch.wav",["audio.vl2"]],"audio/fx/weapons/grenade_throw.m4a":["audio/fx/weapons/grenade_throw.m4a",["audio.vl2"]],"audio/fx/weapons/grenade_throw.wav":["audio/fx/weapons/grenade_throw.wav",["audio.vl2"]],"audio/fx/weapons/grenadelauncher_activate.m4a":["audio/fx/weapons/grenadelauncher_activate.m4a",["audio.vl2"]],"audio/fx/weapons/grenadelauncher_activate.wav":["audio/fx/weapons/grenadelauncher_activate.wav",["audio.vl2"]],"audio/fx/weapons/grenadelauncher_dryfire.m4a":["audio/fx/weapons/grenadelauncher_dryfire.m4a",["audio.vl2"]],"audio/fx/weapons/grenadelauncher_dryfire.wav":["audio/fx/weapons/grenadelauncher_dryfire.wav",["audio.vl2"]],"audio/fx/weapons/grenadelauncher_fire.m4a":["audio/fx/weapons/grenadelauncher_fire.m4a",["audio.vl2"]],"audio/fx/weapons/grenadelauncher_fire.wav":["audio/fx/weapons/grenadelauncher_fire.wav",["audio.vl2"]],"audio/fx/weapons/grenadelauncher_projectile.m4a":["audio/fx/weapons/grenadelauncher_projectile.m4a",["audio.vl2"]],"audio/fx/weapons/grenadelauncher_projectile.wav":["audio/fx/weapons/grenadelauncher_projectile.wav",["audio.vl2"]],"audio/fx/weapons/grenadelauncher_reload.m4a":["audio/fx/weapons/grenadelauncher_reload.m4a",["audio.vl2"]],"audio/fx/weapons/grenadelauncher_reload.wav":["audio/fx/weapons/grenadelauncher_reload.wav",["audio.vl2"]],"audio/fx/weapons/mine_deploy.m4a":["audio/fx/weapons/mine_deploy.m4a",["audio.vl2"]],"audio/fx/weapons/mine_deploy.wav":["audio/fx/weapons/mine_deploy.wav",["audio.vl2"]],"audio/fx/weapons/mine_detonate.m4a":["audio/fx/weapons/mine_detonate.m4a",["audio.vl2"]],"audio/fx/weapons/mine_detonate.wav":["audio/fx/weapons/mine_detonate.wav",["audio.vl2"]],"audio/fx/weapons/mine_detonate_uw.m4a":["audio/fx/weapons/mine_detonate_UW.m4a",["audio.vl2"]],"audio/fx/weapons/mine_detonate_uw.wav":["audio/fx/weapons/mine_detonate_UW.wav",["audio.vl2"]],"audio/fx/weapons/mine_switch.m4a":["audio/fx/weapons/mine_switch.m4a",["audio.vl2"]],"audio/fx/weapons/mine_switch.wav":["audio/fx/weapons/mine_switch.wav",["audio.vl2"]],"audio/fx/weapons/missile_fire.m4a":["audio/fx/weapons/missile_fire.m4a",["audio.vl2"]],"audio/fx/weapons/missile_fire.wav":["audio/fx/weapons/missile_fire.wav",["audio.vl2"]],"audio/fx/weapons/missile_firer_lock.m4a":["audio/fx/weapons/missile_firer_lock.m4a",["audio.vl2"]],"audio/fx/weapons/missile_firer_lock.wav":["audio/fx/weapons/missile_firer_lock.wav",["audio.vl2"]],"audio/fx/weapons/missile_firer_search.m4a":["audio/fx/weapons/missile_firer_search.m4a",["audio.vl2"]],"audio/fx/weapons/missile_firer_search.wav":["audio/fx/weapons/missile_firer_search.wav",["audio.vl2"]],"audio/fx/weapons/missile_launcher_activate.m4a":["audio/fx/weapons/missile_launcher_activate.m4a",["audio.vl2"]],"audio/fx/weapons/missile_launcher_activate.wav":["audio/fx/weapons/missile_launcher_activate.wav",["audio.vl2"]],"audio/fx/weapons/missile_launcher_dryfire.m4a":["audio/fx/weapons/missile_launcher_dryfire.m4a",["audio.vl2"]],"audio/fx/weapons/missile_launcher_dryfire.wav":["audio/fx/weapons/missile_launcher_dryfire.wav",["audio.vl2"]],"audio/fx/weapons/missile_projectile.m4a":["audio/fx/weapons/missile_projectile.m4a",["audio.vl2"]],"audio/fx/weapons/missile_projectile.wav":["audio/fx/weapons/missile_projectile.wav",["audio.vl2"]],"audio/fx/weapons/missile_target_inbound.m4a":["audio/fx/weapons/missile_target_inbound.m4a",["audio.vl2"]],"audio/fx/weapons/missile_target_inbound.wav":["audio/fx/weapons/missile_target_inbound.wav",["audio.vl2"]],"audio/fx/weapons/missile_target_lock.m4a":["audio/fx/weapons/missile_target_lock.m4a",["audio.vl2"]],"audio/fx/weapons/missile_target_lock.wav":["audio/fx/weapons/missile_target_lock.wav",["audio.vl2"]],"audio/fx/weapons/mortar_activate.m4a":["audio/fx/weapons/mortar_activate.m4a",["audio.vl2"]],"audio/fx/weapons/mortar_activate.wav":["audio/fx/weapons/mortar_activate.wav",["audio.vl2"]],"audio/fx/weapons/mortar_dryfire.m4a":["audio/fx/weapons/mortar_dryfire.m4a",["audio.vl2"]],"audio/fx/weapons/mortar_dryfire.wav":["audio/fx/weapons/mortar_dryfire.wav",["audio.vl2"]],"audio/fx/weapons/mortar_explode.m4a":["audio/fx/weapons/mortar_explode.m4a",["audio.vl2"]],"audio/fx/weapons/mortar_explode.wav":["audio/fx/weapons/mortar_explode.wav",["audio.vl2"]],"audio/fx/weapons/mortar_explode_uw.m4a":["audio/fx/weapons/mortar_explode_UW.m4a",["audio.vl2"]],"audio/fx/weapons/mortar_explode_uw.wav":["audio/fx/weapons/mortar_explode_UW.wav",["audio.vl2"]],"audio/fx/weapons/mortar_fire.m4a":["audio/fx/weapons/mortar_fire.m4a",["audio.vl2"]],"audio/fx/weapons/mortar_fire.wav":["audio/fx/weapons/mortar_fire.wav",["audio.vl2"]],"audio/fx/weapons/mortar_projectile.m4a":["audio/fx/weapons/mortar_projectile.m4a",["audio.vl2"]],"audio/fx/weapons/mortar_projectile.wav":["audio/fx/weapons/mortar_projectile.wav",["audio.vl2"]],"audio/fx/weapons/mortar_reload.m4a":["audio/fx/weapons/mortar_reload.m4a",["audio.vl2"]],"audio/fx/weapons/mortar_reload.wav":["audio/fx/weapons/mortar_reload.wav",["audio.vl2"]],"audio/fx/weapons/plasma_dryfire.m4a":["audio/fx/weapons/plasma_dryfire.m4a",["audio.vl2"]],"audio/fx/weapons/plasma_dryfire.wav":["audio/fx/weapons/plasma_dryfire.wav",["audio.vl2"]],"audio/fx/weapons/plasma_fizzle.m4a":["audio/fx/weapons/plasma_fizzle.m4a",["audio.vl2"]],"audio/fx/weapons/plasma_fizzle.wav":["audio/fx/weapons/plasma_fizzle.wav",["audio.vl2"]],"audio/fx/weapons/plasma_rifle_activate.m4a":["audio/fx/weapons/plasma_rifle_activate.m4a",["audio.vl2"]],"audio/fx/weapons/plasma_rifle_activate.wav":["audio/fx/weapons/plasma_rifle_activate.WAV",["audio.vl2"]],"audio/fx/weapons/plasma_rifle_fire.m4a":["audio/fx/weapons/plasma_rifle_fire.m4a",["audio.vl2"]],"audio/fx/weapons/plasma_rifle_fire.wav":["audio/fx/weapons/plasma_rifle_fire.WAV",["audio.vl2"]],"audio/fx/weapons/plasma_rifle_idle.m4a":["audio/fx/weapons/plasma_rifle_idle.m4a",["audio.vl2"]],"audio/fx/weapons/plasma_rifle_idle.wav":["audio/fx/weapons/plasma_rifle_idle.WAV",["audio.vl2"]],"audio/fx/weapons/plasma_rifle_projectile.m4a":["audio/fx/weapons/plasma_rifle_projectile.m4a",["audio.vl2"]],"audio/fx/weapons/plasma_rifle_projectile.wav":["audio/fx/weapons/plasma_rifle_projectile.WAV",["audio.vl2"]],"audio/fx/weapons/plasma_rifle_projectile_die.m4a":["audio/fx/weapons/plasma_rifle_projectile_die.m4a",["audio.vl2"]],"audio/fx/weapons/plasma_rifle_projectile_die.wav":["audio/fx/weapons/plasma_rifle_projectile_die.WAV",["audio.vl2"]],"audio/fx/weapons/plasma_rifle_projectile_hit.m4a":["audio/fx/weapons/plasma_rifle_projectile_hit.m4a",["audio.vl2"]],"audio/fx/weapons/plasma_rifle_projectile_hit.wav":["audio/fx/weapons/plasma_rifle_projectile_hit.WAV",["audio.vl2"]],"audio/fx/weapons/plasma_rifle_reload.m4a":["audio/fx/weapons/plasma_rifle_reload.m4a",["audio.vl2"]],"audio/fx/weapons/plasma_rifle_reload.wav":["audio/fx/weapons/plasma_rifle_reload.WAV",["audio.vl2"]],"audio/fx/weapons/shocklance_activate.m4a":["audio/fx/weapons/shocklance_activate.m4a",["audio.vl2"]],"audio/fx/weapons/shocklance_activate.wav":["audio/fx/weapons/shocklance_activate.wav",["audio.vl2"]],"audio/fx/weapons/shocklance_dryfire.m4a":["audio/fx/weapons/shocklance_dryfire.m4a",["audio.vl2"]],"audio/fx/weapons/shocklance_dryfire.wav":["audio/fx/weapons/shocklance_dryfire.wav",["audio.vl2"]],"audio/fx/weapons/shocklance_fire.m4a":["audio/fx/weapons/shocklance_fire.m4a",["audio.vl2"]],"audio/fx/weapons/shocklance_fire.wav":["audio/fx/weapons/shocklance_fire.wav",["audio.vl2"]],"audio/fx/weapons/shocklance_miss.m4a":["audio/fx/weapons/shocklance_miss.m4a",["audio.vl2"]],"audio/fx/weapons/shocklance_miss.wav":["audio/fx/weapons/shocklance_miss.wav",["audio.vl2"]],"audio/fx/weapons/shocklance_reload.m4a":["audio/fx/weapons/shocklance_reload.m4a",["audio.vl2"]],"audio/fx/weapons/shocklance_reload.wav":["audio/fx/weapons/shocklance_reload.wav",["audio.vl2"]],"audio/fx/weapons/sniper_activate.m4a":["audio/fx/weapons/sniper_activate.m4a",["audio.vl2"]],"audio/fx/weapons/sniper_activate.wav":["audio/fx/weapons/sniper_activate.wav",["audio.vl2"]],"audio/fx/weapons/sniper_fire.m4a":["audio/fx/weapons/sniper_fire.m4a",["audio.vl2"]],"audio/fx/weapons/sniper_fire.wav":["audio/fx/weapons/sniper_fire.wav",["audio.vl2"]],"audio/fx/weapons/sniper_impact.m4a":["audio/fx/weapons/sniper_impact.m4a",["audio.vl2"]],"audio/fx/weapons/sniper_impact.wav":["audio/fx/weapons/sniper_impact.wav",["audio.vl2"]],"audio/fx/weapons/sniper_miss.m4a":["audio/fx/weapons/sniper_miss.m4a",["audio.vl2"]],"audio/fx/weapons/sniper_miss.wav":["audio/fx/weapons/sniper_miss.wav",["audio.vl2"]],"audio/fx/weapons/sniper_underwater.m4a":["audio/fx/weapons/sniper_underwater.m4a",["audio.vl2"]],"audio/fx/weapons/sniper_underwater.wav":["audio/fx/weapons/sniper_underwater.wav",["audio.vl2"]],"audio/fx/weapons/spinfusor_activate.m4a":["audio/fx/weapons/spinfusor_activate.m4a",["audio.vl2"]],"audio/fx/weapons/spinfusor_activate.wav":["audio/fx/weapons/spinfusor_activate.wav",["audio.vl2"]],"audio/fx/weapons/spinfusor_dryfire.m4a":["audio/fx/weapons/spinfusor_dryfire.m4a",["audio.vl2"]],"audio/fx/weapons/spinfusor_dryfire.wav":["audio/fx/weapons/spinfusor_dryfire.wav",["audio.vl2"]],"audio/fx/weapons/spinfusor_fire.m4a":["audio/fx/weapons/spinfusor_fire.m4a",["audio.vl2"]],"audio/fx/weapons/spinfusor_fire.wav":["audio/fx/weapons/spinfusor_fire.wav",["audio.vl2"]],"audio/fx/weapons/spinfusor_idle.m4a":["audio/fx/weapons/spinfusor_idle.m4a",["audio.vl2"]],"audio/fx/weapons/spinfusor_idle.wav":["audio/fx/weapons/spinfusor_idle.wav",["audio.vl2"]],"audio/fx/weapons/spinfusor_impact.m4a":["audio/fx/weapons/spinfusor_impact.m4a",["audio.vl2"]],"audio/fx/weapons/spinfusor_impact.wav":["audio/fx/weapons/spinfusor_impact.wav",["audio.vl2"]],"audio/fx/weapons/spinfusor_impact_uw.m4a":["audio/fx/weapons/spinfusor_impact_UW.m4a",["audio.vl2"]],"audio/fx/weapons/spinfusor_impact_uw.wav":["audio/fx/weapons/spinfusor_impact_UW.wav",["audio.vl2"]],"audio/fx/weapons/spinfusor_projectile.m4a":["audio/fx/weapons/spinfusor_projectile.m4a",["audio.vl2"]],"audio/fx/weapons/spinfusor_projectile.wav":["audio/fx/weapons/spinfusor_projectile.wav",["audio.vl2"]],"audio/fx/weapons/spinfusor_reload.m4a":["audio/fx/weapons/spinfusor_reload.m4a",["audio.vl2"]],"audio/fx/weapons/spinfusor_reload.sfk":["audio/fx/weapons/spinfusor_reload.sfk",["audio.vl2"]],"audio/fx/weapons/spinfusor_reload.wav":["audio/fx/weapons/spinfusor_reload.wav",["audio.vl2"]],"audio/fx/weapons/targetinglaser_paint.m4a":["audio/fx/weapons/targetinglaser_paint.m4a",["audio.vl2"]],"audio/fx/weapons/targetinglaser_paint.wav":["audio/fx/weapons/targetinglaser_paint.wav",["audio.vl2"]],"audio/fx/weapons/temp.m4a":["audio/fx/weapons/temp.m4a",["audio.vl2"]],"audio/fx/weapons/temp.wav":["audio/fx/weapons/temp.wav",["audio.vl2"]],"audio/fx/weapons/throw_grenade.m4a":["audio/fx/weapons/throw_grenade.m4a",["audio.vl2"]],"audio/fx/weapons/throw_grenade.wav":["audio/fx/weapons/throw_grenade.wav",["audio.vl2"]],"audio/fx/weapons/throw_mine.m4a":["audio/fx/weapons/throw_mine.m4a",["audio.vl2"]],"audio/fx/weapons/throw_mine.wav":["audio/fx/weapons/throw_mine.wav",["audio.vl2"]],"audio/fx/weapons/tr2spinfusor_fire.m4a":["audio/fx/weapons/TR2spinfusor_fire.m4a",["TR2final105-client.vl2"]],"audio/fx/weapons/tr2spinfusor_fire.wav":["audio/fx/weapons/TR2spinfusor_fire.wav",["TR2final105-client.vl2"]],"audio/fx/weapons/weapon.missilereload.m4a":["audio/fx/weapons/weapon.missilereload.m4a",["audio.vl2"]],"audio/fx/weapons/weapon.missilereload.wav":["audio/fx/weapons/weapon.missilereload.wav",["audio.vl2"]],"audio/gui/buttondown.m4a":["audio/gui/buttonDown.m4a",["audio.vl2"]],"audio/gui/buttondown.wav":["audio/gui/buttonDown.wav",["audio.vl2"]],"audio/gui/buttonover.m4a":["audio/gui/buttonOver.m4a",["audio.vl2"]],"audio/gui/buttonover.wav":["audio/gui/buttonOver.wav",["audio.vl2"]],"audio/gui/command_hum.m4a":["audio/gui/command_hum.m4a",["audio.vl2"]],"audio/gui/command_hum.wav":["audio/gui/command_hum.wav",["audio.vl2"]],"audio/gui/command_off.m4a":["audio/gui/command_off.m4a",["audio.vl2"]],"audio/gui/command_off.wav":["audio/gui/command_off.wav",["audio.vl2"]],"audio/gui/command_on.m4a":["audio/gui/command_on.m4a",["audio.vl2"]],"audio/gui/command_on.wav":["audio/gui/command_on.wav",["audio.vl2"]],"audio/gui/inventory_hum.m4a":["audio/gui/inventory_hum.m4a",["audio.vl2"]],"audio/gui/inventory_hum.wav":["audio/gui/inventory_hum.wav",["audio.vl2"]],"audio/gui/inventory_off.m4a":["audio/gui/inventory_off.m4a",["audio.vl2"]],"audio/gui/inventory_off.wav":["audio/gui/inventory_off.wav",["audio.vl2"]],"audio/gui/inventory_on.m4a":["audio/gui/inventory_on.m4a",["audio.vl2"]],"audio/gui/inventory_on.wav":["audio/gui/inventory_on.wav",["audio.vl2"]],"audio/gui/launchmenuopen.m4a":["audio/gui/launchMenuOpen.m4a",["audio.vl2"]],"audio/gui/launchmenuopen.wav":["audio/gui/launchMenuOpen.wav",["audio.vl2"]],"audio/gui/launchmenuover.m4a":["audio/gui/launchMenuOver.m4a",["audio.vl2"]],"audio/gui/launchmenuover.wav":["audio/gui/launchMenuOver.wav",["audio.vl2"]],"audio/gui/loading_hum.m4a":["audio/gui/loading_hum.m4a",["audio.vl2"]],"audio/gui/loading_hum.wav":["audio/gui/loading_hum.wav",["audio.vl2"]],"audio/gui/objective_notification.m4a":["audio/gui/objective_notification.m4a",["audio.vl2"]],"audio/gui/objective_notification.wav":["audio/gui/objective_notification.wav",["audio.vl2"]],"audio/gui/shell_hum.m4a":["audio/gui/shell_hum.m4a",["audio.vl2"]],"audio/gui/shell_hum.wav":["audio/gui/shell_hum.wav",["audio.vl2"]],"audio/gui/vote_nopass.m4a":["audio/gui/vote_nopass.m4a",["audio.vl2"]],"audio/gui/vote_nopass.wav":["audio/gui/vote_nopass.wav",["audio.vl2"]],"audio/gui/vote_pass.m4a":["audio/gui/vote_pass.m4a",["audio.vl2"]],"audio/gui/vote_pass.wav":["audio/gui/vote_pass.wav",["audio.vl2"]],"audio/gui/youvegotmail.m4a":["audio/gui/youvegotmail.m4a",["audio.vl2"]],"audio/gui/youvegotmail.wav":["audio/gui/youvegotmail.wav",["audio.vl2"]],"audio/gui/youvegotmail2.m4a":["audio/gui/youvegotmail2.m4a",["audio.vl2"]],"audio/gui/youvegotmail2.wav":["audio/gui/youvegotmail2.WAV",["audio.vl2"]],"audio/icelakefractures.m4a":["audio/iceLakeFractures.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/icelakefractures.wav":["audio/iceLakeFractures.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/lowrum.m4a":["audio/lowrum.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/lowrum.wav":["audio/lowrum.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/mortarbombfire.m4a":["audio/mortarBombFire.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/mortarbombfire.wav":["audio/mortarBombFire.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/nflag_lost.m4a":["audio/Nflag_lost.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/nflag_lost.wav":["audio/Nflag_lost.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/nflag_snatch.m4a":["audio/Nflag_snatch.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/nflag_snatch.wav":["audio/Nflag_snatch.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/nflipflop_lost.m4a":["audio/Nflipflop_lost.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/nflipflop_lost.wav":["audio/Nflipflop_lost.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/nflipflop_taken.m4a":["audio/Nflipflop_taken.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/nflipflop_taken.wav":["audio/Nflipflop_taken.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/nhunters_horde.m4a":["audio/Nhunters_horde.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/nhunters_horde.wav":["audio/Nhunters_horde.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/nukeboom.m4a":["audio/nukeBoom.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/nukeboom.wav":["audio/nukeBoom.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/nukethud.m4a":["audio/nukeThud.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/nukethud.wav":["audio/nukeThud.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/space_bird_3.m4a":["audio/space_bird_3.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/space_bird_3.wav":["audio/space_bird_3.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/t1sounds/access_denied.m4a":["audio/t1sounds/Access_Denied.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/access_denied.wav":["audio/t1sounds/Access_Denied.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/ammo_activate.m4a":["audio/t1sounds/ammo_activate.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/ammo_activate.wav":["audio/t1sounds/ammo_activate.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/ammo_use.m4a":["audio/t1sounds/ammo_use.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/ammo_use.wav":["audio/t1sounds/ammo_use.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/command_activate.m4a":["audio/t1sounds/command_activate.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/command_activate.wav":["audio/t1sounds/command_activate.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/discloop.m4a":["audio/t1sounds/DISCLOOP.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/discloop.wav":["audio/t1sounds/DISCLOOP.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/discreload.m4a":["audio/t1sounds/discreload.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/discreload.wav":["audio/t1sounds/discreload.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/discspin.m4a":["audio/t1sounds/discspin.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/discspin.wav":["audio/t1sounds/discspin.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/dryfire1.m4a":["audio/t1sounds/Dryfire1.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/dryfire1.wav":["audio/t1sounds/Dryfire1.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/energyexp.m4a":["audio/t1sounds/energyexp.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/energyexp.wav":["audio/t1sounds/energyexp.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/explo3.m4a":["audio/t1sounds/EXPLO3.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/explo3.wav":["audio/t1sounds/EXPLO3.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/explo4.m4a":["audio/t1sounds/Explo4.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/explo4.wav":["audio/t1sounds/Explo4.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/flierrocket.m4a":["audio/t1sounds/flierRocket.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/flierrocket.wav":["audio/t1sounds/flierRocket.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/flyer_dismount.m4a":["audio/t1sounds/flyer_dismount.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/flyer_dismount.wav":["audio/t1sounds/flyer_dismount.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/flyer_fly.m4a":["audio/t1sounds/flyer_fly.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/flyer_fly.wav":["audio/t1sounds/flyer_fly.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/flyer_idle.m4a":["audio/t1sounds/flyer_idle.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/flyer_idle.wav":["audio/t1sounds/flyer_idle.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/flyer_mount.m4a":["audio/t1sounds/flyer_mount.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/flyer_mount.wav":["audio/t1sounds/flyer_mount.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/forceclose.m4a":["audio/t1sounds/forceclose.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/forceclose.wav":["audio/t1sounds/forceclose.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/forceopen.m4a":["audio/t1sounds/forceopen.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/forceopen.wav":["audio/t1sounds/forceopen.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/generator.m4a":["audio/t1sounds/generator.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/generator.wav":["audio/t1sounds/generator.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/grenade.m4a":["audio/t1sounds/Grenade.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/grenade.wav":["audio/t1sounds/Grenade.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/inv_activate.m4a":["audio/t1sounds/inv_activate.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/inv_activate.wav":["audio/t1sounds/inv_activate.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/inv_power.m4a":["audio/t1sounds/inv_power.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/inv_power.wav":["audio/t1sounds/inv_power.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/inv_use.m4a":["audio/t1sounds/inv_use.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/inv_use.wav":["audio/t1sounds/inv_use.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/laserhit.m4a":["audio/t1sounds/laserhit.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/laserhit.wav":["audio/t1sounds/laserhit.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/machgun2.m4a":["audio/t1sounds/Machgun2.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/machgun2.wav":["audio/t1sounds/Machgun2.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/machgun3.m4a":["audio/t1sounds/machgun3.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/machgun3.wav":["audio/t1sounds/machgun3.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/machinegun.m4a":["audio/t1sounds/machinegun.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/machinegun.wav":["audio/t1sounds/machinegun.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/mortar_fire.m4a":["audio/t1sounds/mortar_fire.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/mortar_fire.wav":["audio/t1sounds/mortar_fire.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/mortar_idle.m4a":["audio/t1sounds/mortar_idle.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/mortar_idle.wav":["audio/t1sounds/mortar_idle.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/mortar_reload.m4a":["audio/t1sounds/Mortar_reload.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/mortar_reload.wav":["audio/t1sounds/Mortar_reload.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/pku_weap.m4a":["audio/t1sounds/Pku_weap.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/pku_weap.wav":["audio/t1sounds/Pku_weap.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/plasma2.m4a":["audio/t1sounds/Plasma2.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/plasma2.wav":["audio/t1sounds/Plasma2.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/pulse_power.m4a":["audio/t1sounds/pulse_power.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/pulse_power.wav":["audio/t1sounds/pulse_power.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/rain.m4a":["audio/t1sounds/rain.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/rain.wav":["audio/t1sounds/rain.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/repair.m4a":["audio/t1sounds/repair.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/repair.wav":["audio/t1sounds/repair.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/ricoche1.m4a":["audio/t1sounds/Ricoche1.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/ricoche1.wav":["audio/t1sounds/Ricoche1.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/ricoche2.m4a":["audio/t1sounds/Ricoche2.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/ricoche2.wav":["audio/t1sounds/Ricoche2.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/ricoche3.m4a":["audio/t1sounds/Ricoche3.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/ricoche3.wav":["audio/t1sounds/Ricoche3.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/rifle1.m4a":["audio/t1sounds/rifle1.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/rifle1.wav":["audio/t1sounds/rifle1.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/rocket2.m4a":["audio/t1sounds/rocket2.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/rocket2.wav":["audio/t1sounds/rocket2.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/rockexp.m4a":["audio/t1sounds/rockexp.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/rockexp.wav":["audio/t1sounds/rockexp.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/shockexp.m4a":["audio/t1sounds/shockexp.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/shockexp.wav":["audio/t1sounds/shockexp.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/sniper.m4a":["audio/t1sounds/sniper.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/sniper.wav":["audio/t1sounds/sniper.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/tgt_laser.m4a":["audio/t1sounds/tgt_laser.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/tgt_laser.wav":["audio/t1sounds/tgt_laser.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/turretexp.m4a":["audio/t1sounds/turretexp.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/turretexp.wav":["audio/t1sounds/turretexp.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/turretfire1.m4a":["audio/t1sounds/turretfire1.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/turretfire1.wav":["audio/t1sounds/turretfire1.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/turretfire4.m4a":["audio/t1sounds/turretfire4.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/turretfire4.wav":["audio/t1sounds/turretfire4.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/turretoff1.m4a":["audio/t1sounds/turretoff1.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/turretoff1.wav":["audio/t1sounds/turretoff1.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/turretoff4.m4a":["audio/t1sounds/turretoff4.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/turretoff4.wav":["audio/t1sounds/turretoff4.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/turreton1.m4a":["audio/t1sounds/turreton1.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/turreton1.wav":["audio/t1sounds/turreton1.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/turreton4.m4a":["audio/t1sounds/turreton4.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/turreton4.wav":["audio/t1sounds/turreton4.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/turretturn4.m4a":["audio/t1sounds/turretturn4.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t1sounds/turretturn4.wav":["audio/t1sounds/turretturn4.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/t2intro.m4a":["audio/T2Intro.m4a",["audio.vl2"]],"audio/t2intro.wav":["audio/T2Intro.wav",["audio.vl2"]],"audio/thud.m4a":["audio/thud.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/thud.wav":["audio/thud.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/turret_2.m4a":["audio/turret_2.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/turret_2.wav":["audio/turret_2.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/turret_3.m4a":["audio/turret_3.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/turret_3.wav":["audio/turret_3.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/ve3.m4a":["audio/ve3.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/ve3.wav":["audio/ve3.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/vocboomstr.m4a":["audio/vocBoomStr.m4a",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/vocboomstr.wav":["audio/vocBoomStr.wav",["z_mappacks/z_DMP2-V0.6.vl2"]],"audio/voice/announcer/ann.10sec.m4a":["audio/voice/Announcer/ANN.10sec.m4a",["voice.vl2"]],"audio/voice/announcer/ann.10sec.wav":["audio/voice/Announcer/ANN.10sec.WAV",["voice.vl2"]],"audio/voice/announcer/ann.15sec.m4a":["audio/voice/Announcer/ANN.15sec.m4a",["voice.vl2"]],"audio/voice/announcer/ann.15sec.wav":["audio/voice/Announcer/ANN.15sec.WAV",["voice.vl2"]],"audio/voice/announcer/ann.30.m4a":["audio/voice/Announcer/ANN.30.m4a",["voice.vl2"]],"audio/voice/announcer/ann.30.wav":["audio/voice/Announcer/ANN.30.WAV",["voice.vl2"]],"audio/voice/announcer/ann.60.m4a":["audio/voice/Announcer/ANN.60.m4a",["voice.vl2"]],"audio/voice/announcer/ann.60.wav":["audio/voice/Announcer/ANN.60.WAV",["voice.vl2"]],"audio/voice/announcer/ann.bdscore.m4a":["audio/voice/Announcer/ANN.bdscore.m4a",["voice.vl2"]],"audio/voice/announcer/ann.bdscore.wav":["audio/voice/Announcer/ANN.bdscore.WAV",["voice.vl2"]],"audio/voice/announcer/ann.bdwin.m4a":["audio/voice/Announcer/ANN.bdwin.m4a",["voice.vl2"]],"audio/voice/announcer/ann.bdwin.wav":["audio/voice/Announcer/ANN.bdwin.WAV",["voice.vl2"]],"audio/voice/announcer/ann.bescore.m4a":["audio/voice/Announcer/ANN.bescore.m4a",["voice.vl2"]],"audio/voice/announcer/ann.bescore.wav":["audio/voice/Announcer/ANN.bescore.WAV",["voice.vl2"]],"audio/voice/announcer/ann.bewin.m4a":["audio/voice/Announcer/ANN.bewin.m4a",["voice.vl2"]],"audio/voice/announcer/ann.bewin.wav":["audio/voice/Announcer/ANN.bewin.WAV",["voice.vl2"]],"audio/voice/announcer/ann.closegame_01.m4a":["audio/voice/Announcer/ANN.closegame_01.m4a",["voice.vl2"]],"audio/voice/announcer/ann.closegame_01.wav":["audio/voice/Announcer/ANN.closegame_01.WAV",["voice.vl2"]],"audio/voice/announcer/ann.closegame_03.m4a":["audio/voice/Announcer/ANN.closegame_03.m4a",["voice.vl2"]],"audio/voice/announcer/ann.closegame_03.wav":["audio/voice/Announcer/ANN.closegame_03.WAV",["voice.vl2"]],"audio/voice/announcer/ann.closegame_04.m4a":["audio/voice/Announcer/ANN.closegame_04.m4a",["voice.vl2"]],"audio/voice/announcer/ann.closegame_04.wav":["audio/voice/Announcer/ANN.closegame_04.WAV",["voice.vl2"]],"audio/voice/announcer/ann.dsscore.m4a":["audio/voice/Announcer/ANN.dsscore.m4a",["voice.vl2"]],"audio/voice/announcer/ann.dsscore.wav":["audio/voice/Announcer/ANN.dsscore.WAV",["voice.vl2"]],"audio/voice/announcer/ann.dswin.m4a":["audio/voice/Announcer/ANN.dswin.m4a",["voice.vl2"]],"audio/voice/announcer/ann.dswin.wav":["audio/voice/Announcer/ANN.dswin.WAV",["voice.vl2"]],"audio/voice/announcer/ann.gameover.m4a":["audio/voice/Announcer/ANN.gameover.m4a",["voice.vl2"]],"audio/voice/announcer/ann.gameover.wav":["audio/voice/Announcer/ANN.gameover.WAV",["voice.vl2"]],"audio/voice/announcer/ann.gamepoint_imminent.m4a":["audio/voice/Announcer/ANN.gamepoint_imminent.m4a",["voice.vl2"]],"audio/voice/announcer/ann.gamepoint_imminent.wav":["audio/voice/Announcer/ANN.gamepoint_imminent.WAV",["voice.vl2"]],"audio/voice/announcer/ann.greed.m4a":["audio/voice/Announcer/ANN.greed.m4a",["voice.vl2"]],"audio/voice/announcer/ann.greed.wav":["audio/voice/Announcer/ANN.greed.WAV",["voice.vl2"]],"audio/voice/announcer/ann.hoard.m4a":["audio/voice/Announcer/ANN.hoard.m4a",["voice.vl2"]],"audio/voice/announcer/ann.hoard.wav":["audio/voice/Announcer/ANN.hoard.WAV",["voice.vl2"]],"audio/voice/announcer/ann.holdflags.m4a":["audio/voice/Announcer/ANN.holdflags.m4a",["voice.vl2"]],"audio/voice/announcer/ann.holdflags.wav":["audio/voice/Announcer/ANN.holdflags.WAV",["voice.vl2"]],"audio/voice/announcer/ann.ib.m4a":["audio/voice/Announcer/ANN.ib.m4a",["voice.vl2"]],"audio/voice/announcer/ann.ib.wav":["audio/voice/Announcer/ANN.ib.WAV",["voice.vl2"]],"audio/voice/announcer/ann.infdenied.m4a":["audio/voice/Announcer/ANN.infdenied.m4a",["voice.vl2"]],"audio/voice/announcer/ann.infdenied.wav":["audio/voice/Announcer/ANN.infdenied.WAV",["voice.vl2"]],"audio/voice/announcer/ann.infscores.m4a":["audio/voice/Announcer/ANN.infscores.m4a",["voice.vl2"]],"audio/voice/announcer/ann.infscores.wav":["audio/voice/Announcer/ANN.infscores.WAV",["voice.vl2"]],"audio/voice/announcer/ann.infwins.m4a":["audio/voice/Announcer/ANN.infwins.m4a",["voice.vl2"]],"audio/voice/announcer/ann.infwins.wav":["audio/voice/Announcer/ANN.infwins.WAV",["voice.vl2"]],"audio/voice/announcer/ann.match_begins.m4a":["audio/voice/Announcer/ANN.match_begins.m4a",["voice.vl2"]],"audio/voice/announcer/ann.match_begins.wav":["audio/voice/Announcer/ANN.match_begins.WAV",["voice.vl2"]],"audio/voice/announcer/ann.oob.m4a":["audio/voice/Announcer/ANN.oob.m4a",["voice.vl2"]],"audio/voice/announcer/ann.oob.wav":["audio/voice/Announcer/ANN.oob.WAV",["voice.vl2"]],"audio/voice/announcer/ann.oobh.m4a":["audio/voice/Announcer/ANN.oobh.m4a",["voice.vl2"]],"audio/voice/announcer/ann.oobh.wav":["audio/voice/Announcer/ANN.oobh.WAV",["voice.vl2"]],"audio/voice/announcer/ann.oobv.m4a":["audio/voice/Announcer/ANN.oobv.m4a",["voice.vl2"]],"audio/voice/announcer/ann.oobv.wav":["audio/voice/Announcer/ANN.oobv.WAV",["voice.vl2"]],"audio/voice/announcer/ann.prepare.m4a":["audio/voice/Announcer/ANN.prepare.m4a",["voice.vl2"]],"audio/voice/announcer/ann.prepare.wav":["audio/voice/Announcer/ANN.prepare.WAV",["voice.vl2"]],"audio/voice/announcer/ann.pxscore.m4a":["audio/voice/Announcer/ANN.pxscore.m4a",["voice.vl2"]],"audio/voice/announcer/ann.pxscore.wav":["audio/voice/Announcer/ANN.pxscore.WAV",["voice.vl2"]],"audio/voice/announcer/ann.pxwin.m4a":["audio/voice/Announcer/ANN.pxwin.m4a",["voice.vl2"]],"audio/voice/announcer/ann.pxwin.wav":["audio/voice/Announcer/ANN.pxwin.WAV",["voice.vl2"]],"audio/voice/announcer/ann.siege.m4a":["audio/voice/Announcer/ANN.siege.m4a",["voice.vl2"]],"audio/voice/announcer/ann.siege.wav":["audio/voice/Announcer/ANN.siege.WAV",["voice.vl2"]],"audio/voice/announcer/ann.stodenied.m4a":["audio/voice/Announcer/ANN.stodenied.m4a",["voice.vl2"]],"audio/voice/announcer/ann.stodenied.wav":["audio/voice/Announcer/ANN.stodenied.WAV",["voice.vl2"]],"audio/voice/announcer/ann.stoscores.m4a":["audio/voice/Announcer/ANN.stoscores.m4a",["voice.vl2"]],"audio/voice/announcer/ann.stoscores.wav":["audio/voice/Announcer/ANN.stoscores.WAV",["voice.vl2"]],"audio/voice/announcer/ann.stowins.m4a":["audio/voice/Announcer/ANN.stowins.m4a",["voice.vl2"]],"audio/voice/announcer/ann.stowins.wav":["audio/voice/Announcer/ANN.stowins.WAV",["voice.vl2"]],"audio/voice/announcer/ann.swscore.m4a":["audio/voice/Announcer/ANN.swscore.m4a",["voice.vl2"]],"audio/voice/announcer/ann.swscore.wav":["audio/voice/Announcer/ANN.swscore.WAV",["voice.vl2"]],"audio/voice/announcer/ann.swwin.m4a":["audio/voice/Announcer/ANN.swwin.m4a",["voice.vl2"]],"audio/voice/announcer/ann.swwin.wav":["audio/voice/Announcer/ANN.swwin.WAV",["voice.vl2"]],"audio/voice/announcer/ann.t1score.m4a":["audio/voice/Announcer/ANN.t1score.m4a",["voice.vl2"]],"audio/voice/announcer/ann.t1score.wav":["audio/voice/Announcer/ANN.t1score.WAV",["voice.vl2"]],"audio/voice/announcer/ann.t1win.m4a":["audio/voice/Announcer/ANN.t1win.m4a",["voice.vl2"]],"audio/voice/announcer/ann.t1win.wav":["audio/voice/Announcer/ANN.t1win.WAV",["voice.vl2"]],"audio/voice/announcer/ann.t2score.m4a":["audio/voice/Announcer/ANN.t2score.m4a",["voice.vl2"]],"audio/voice/announcer/ann.t2score.wav":["audio/voice/Announcer/ANN.t2score.WAV",["voice.vl2"]],"audio/voice/announcer/ann.t2win.m4a":["audio/voice/Announcer/ANN.t2win.m4a",["voice.vl2"]],"audio/voice/announcer/ann.t2win.wav":["audio/voice/Announcer/ANN.t2win.WAV",["voice.vl2"]],"audio/voice/announcer/ann.votefail.m4a":["audio/voice/Announcer/ANN.votefail.m4a",["voice.vl2"]],"audio/voice/announcer/ann.votefail.wav":["audio/voice/Announcer/ANN.votefail.WAV",["voice.vl2"]],"audio/voice/announcer/ann.voteinit.m4a":["audio/voice/Announcer/ANN.voteinit.m4a",["voice.vl2"]],"audio/voice/announcer/ann.voteinit.wav":["audio/voice/Announcer/ANN.voteinit.WAV",["voice.vl2"]],"audio/voice/announcer/ann.votepass.m4a":["audio/voice/Announcer/ANN.votepass.m4a",["voice.vl2"]],"audio/voice/announcer/ann.votepass.wav":["audio/voice/Announcer/ANN.votepass.WAV",["voice.vl2"]],"audio/voice/announcer/ann.yardsale.m4a":["audio/voice/Announcer/ANN.yardsale.m4a",["voice.vl2"]],"audio/voice/announcer/ann.yardsale.wav":["audio/voice/Announcer/ANN.yardsale.WAV",["voice.vl2"]],"audio/voice/announcer/flag_minedfem.m4a":["audio/voice/Announcer/flag_minedFem.m4a",["voice.vl2"]],"audio/voice/announcer/flag_minedfem.wav":["audio/voice/Announcer/flag_minedFem.WAV",["voice.vl2"]],"audio/voice/announcer/flag_minedmale.m4a":["audio/voice/Announcer/flag_minedMale.m4a",["voice.vl2"]],"audio/voice/announcer/flag_minedmale.wav":["audio/voice/Announcer/flag_minedMale.WAV",["voice.vl2"]],"audio/voice/announcer/switching_sides.m4a":["audio/voice/Announcer/switching_sides.m4a",["voice.vl2"]],"audio/voice/announcer/switching_sides.wav":["audio/voice/Announcer/switching_sides.WAV",["voice.vl2"]],"audio/voice/bot1/att.attack.m4a":["audio/voice/Bot1/att.attack.m4a",["voice.vl2"]],"audio/voice/bot1/att.attack.wav":["audio/voice/Bot1/att.attack.wav",["voice.vl2"]],"audio/voice/bot1/att.base.m4a":["audio/voice/Bot1/att.base.m4a",["voice.vl2"]],"audio/voice/bot1/att.base.wav":["audio/voice/Bot1/att.base.wav",["voice.vl2"]],"audio/voice/bot1/att.chase.m4a":["audio/voice/Bot1/att.chase.m4a",["voice.vl2"]],"audio/voice/bot1/att.chase.wav":["audio/voice/Bot1/att.chase.wav",["voice.vl2"]],"audio/voice/bot1/att.distract.m4a":["audio/voice/Bot1/att.distract.m4a",["voice.vl2"]],"audio/voice/bot1/att.distract.wav":["audio/voice/Bot1/att.distract.wav",["voice.vl2"]],"audio/voice/bot1/att.flag.m4a":["audio/voice/Bot1/att.flag.m4a",["voice.vl2"]],"audio/voice/bot1/att.flag.wav":["audio/voice/Bot1/att.flag.wav",["voice.vl2"]],"audio/voice/bot1/att.generator.m4a":["audio/voice/Bot1/att.generator.m4a",["voice.vl2"]],"audio/voice/bot1/att.generator.wav":["audio/voice/Bot1/att.generator.wav",["voice.vl2"]],"audio/voice/bot1/att.objective.m4a":["audio/voice/Bot1/att.objective.m4a",["voice.vl2"]],"audio/voice/bot1/att.objective.wav":["audio/voice/Bot1/att.objective.wav",["voice.vl2"]],"audio/voice/bot1/att.reinforcements.m4a":["audio/voice/Bot1/att.reinforcements.m4a",["voice.vl2"]],"audio/voice/bot1/att.reinforcements.wav":["audio/voice/Bot1/att.reinforcements.wav",["voice.vl2"]],"audio/voice/bot1/att.sensors.m4a":["audio/voice/Bot1/att.sensors.m4a",["voice.vl2"]],"audio/voice/bot1/att.sensors.wav":["audio/voice/Bot1/att.sensors.wav",["voice.vl2"]],"audio/voice/bot1/att.turrets.m4a":["audio/voice/Bot1/att.turrets.m4a",["voice.vl2"]],"audio/voice/bot1/att.turrets.wav":["audio/voice/Bot1/att.turrets.wav",["voice.vl2"]],"audio/voice/bot1/att.vehicle.m4a":["audio/voice/Bot1/att.vehicle.m4a",["voice.vl2"]],"audio/voice/bot1/att.vehicle.wav":["audio/voice/Bot1/att.vehicle.wav",["voice.vl2"]],"audio/voice/bot1/att.wait.m4a":["audio/voice/Bot1/att.wait.m4a",["voice.vl2"]],"audio/voice/bot1/att.wait.wav":["audio/voice/Bot1/att.wait.wav",["voice.vl2"]],"audio/voice/bot1/avo.deathcry_01.m4a":["audio/voice/Bot1/avo.deathcry_01.m4a",["voice.vl2"]],"audio/voice/bot1/avo.deathcry_01.wav":["audio/voice/Bot1/avo.deathcry_01.wav",["voice.vl2"]],"audio/voice/bot1/avo.deathcry_02.m4a":["audio/voice/Bot1/avo.deathcry_02.m4a",["voice.vl2"]],"audio/voice/bot1/avo.deathcry_02.wav":["audio/voice/Bot1/avo.deathcry_02.wav",["voice.vl2"]],"audio/voice/bot1/avo.grunt.m4a":["audio/voice/Bot1/avo.grunt.m4a",["voice.vl2"]],"audio/voice/bot1/avo.grunt.wav":["audio/voice/Bot1/avo.grunt.wav",["voice.vl2"]],"audio/voice/bot1/avo.pain.m4a":["audio/voice/Bot1/avo.pain.m4a",["voice.vl2"]],"audio/voice/bot1/avo.pain.wav":["audio/voice/Bot1/avo.pain.wav",["voice.vl2"]],"audio/voice/bot1/bas.clear.m4a":["audio/voice/Bot1/bas.clear.m4a",["voice.vl2"]],"audio/voice/bot1/bas.clear.wav":["audio/voice/Bot1/bas.clear.wav",["voice.vl2"]],"audio/voice/bot1/bas.enemy.m4a":["audio/voice/Bot1/bas.enemy.m4a",["voice.vl2"]],"audio/voice/bot1/bas.enemy.wav":["audio/voice/Bot1/bas.enemy.wav",["voice.vl2"]],"audio/voice/bot1/bas.retake.m4a":["audio/voice/Bot1/bas.retake.m4a",["voice.vl2"]],"audio/voice/bot1/bas.retake.wav":["audio/voice/Bot1/bas.retake.wav",["voice.vl2"]],"audio/voice/bot1/bas.secure.m4a":["audio/voice/Bot1/bas.secure.m4a",["voice.vl2"]],"audio/voice/bot1/bas.secure.wav":["audio/voice/Bot1/bas.secure.wav",["voice.vl2"]],"audio/voice/bot1/bas.taken.m4a":["audio/voice/Bot1/bas.taken.m4a",["voice.vl2"]],"audio/voice/bot1/bas.taken.wav":["audio/voice/Bot1/bas.taken.wav",["voice.vl2"]],"audio/voice/bot1/cmd.acknowledge.m4a":["audio/voice/Bot1/cmd.acknowledge.m4a",["voice.vl2"]],"audio/voice/bot1/cmd.acknowledge.wav":["audio/voice/Bot1/cmd.acknowledge.wav",["voice.vl2"]],"audio/voice/bot1/cmd.bot.m4a":["audio/voice/Bot1/cmd.bot.m4a",["voice.vl2"]],"audio/voice/bot1/cmd.bot.wav":["audio/voice/Bot1/cmd.bot.WAV",["voice.vl2"]],"audio/voice/bot1/cmd.completed.m4a":["audio/voice/Bot1/cmd.completed.m4a",["voice.vl2"]],"audio/voice/bot1/cmd.completed.wav":["audio/voice/Bot1/cmd.completed.wav",["voice.vl2"]],"audio/voice/bot1/cmd.decline.m4a":["audio/voice/Bot1/cmd.decline.m4a",["voice.vl2"]],"audio/voice/bot1/cmd.decline.wav":["audio/voice/Bot1/cmd.decline.wav",["voice.vl2"]],"audio/voice/bot1/def.base.m4a":["audio/voice/Bot1/def.base.m4a",["voice.vl2"]],"audio/voice/bot1/def.base.wav":["audio/voice/Bot1/def.base.wav",["voice.vl2"]],"audio/voice/bot1/def.carrier.m4a":["audio/voice/Bot1/def.carrier.m4a",["voice.vl2"]],"audio/voice/bot1/def.carrier.wav":["audio/voice/Bot1/def.carrier.wav",["voice.vl2"]],"audio/voice/bot1/def.entrances.m4a":["audio/voice/Bot1/def.entrances.m4a",["voice.vl2"]],"audio/voice/bot1/def.entrances.wav":["audio/voice/Bot1/def.entrances.wav",["voice.vl2"]],"audio/voice/bot1/def.flag.m4a":["audio/voice/Bot1/def.flag.m4a",["voice.vl2"]],"audio/voice/bot1/def.flag.wav":["audio/voice/Bot1/def.flag.wav",["voice.vl2"]],"audio/voice/bot1/def.generator.m4a":["audio/voice/Bot1/def.generator.m4a",["voice.vl2"]],"audio/voice/bot1/def.generator.wav":["audio/voice/Bot1/def.generator.wav",["voice.vl2"]],"audio/voice/bot1/def.me.m4a":["audio/voice/Bot1/def.me.m4a",["voice.vl2"]],"audio/voice/bot1/def.me.wav":["audio/voice/Bot1/def.me.wav",["voice.vl2"]],"audio/voice/bot1/def.nexus.m4a":["audio/voice/Bot1/def.nexus.m4a",["voice.vl2"]],"audio/voice/bot1/def.nexus.wav":["audio/voice/Bot1/def.nexus.wav",["voice.vl2"]],"audio/voice/bot1/def.objective.m4a":["audio/voice/Bot1/def.objective.m4a",["voice.vl2"]],"audio/voice/bot1/def.objective.wav":["audio/voice/Bot1/def.objective.wav",["voice.vl2"]],"audio/voice/bot1/def.reinforce.m4a":["audio/voice/Bot1/def.reinforce.m4a",["voice.vl2"]],"audio/voice/bot1/def.reinforce.wav":["audio/voice/Bot1/def.reinforce.wav",["voice.vl2"]],"audio/voice/bot1/def.sensors.m4a":["audio/voice/Bot1/def.sensors.m4a",["voice.vl2"]],"audio/voice/bot1/def.sensors.wav":["audio/voice/Bot1/def.sensors.wav",["voice.vl2"]],"audio/voice/bot1/def.turrets.m4a":["audio/voice/Bot1/def.turrets.m4a",["voice.vl2"]],"audio/voice/bot1/def.turrets.wav":["audio/voice/Bot1/def.turrets.wav",["voice.vl2"]],"audio/voice/bot1/def.vehicle.m4a":["audio/voice/Bot1/def.vehicle.m4a",["voice.vl2"]],"audio/voice/bot1/def.vehicle.wav":["audio/voice/Bot1/def.vehicle.wav",["voice.vl2"]],"audio/voice/bot1/ene.base.m4a":["audio/voice/Bot1/ene.base.m4a",["voice.vl2"]],"audio/voice/bot1/ene.base.wav":["audio/voice/Bot1/ene.base.wav",["voice.vl2"]],"audio/voice/bot1/ene.disarray.m4a":["audio/voice/Bot1/ene.disarray.m4a",["voice.vl2"]],"audio/voice/bot1/ene.disarray.wav":["audio/voice/Bot1/ene.disarray.wav",["voice.vl2"]],"audio/voice/bot1/ene.generator.m4a":["audio/voice/Bot1/ene.generator.m4a",["voice.vl2"]],"audio/voice/bot1/ene.generator.wav":["audio/voice/Bot1/ene.generator.wav",["voice.vl2"]],"audio/voice/bot1/ene.remotes.m4a":["audio/voice/Bot1/ene.remotes.m4a",["voice.vl2"]],"audio/voice/bot1/ene.remotes.wav":["audio/voice/Bot1/ene.remotes.wav",["voice.vl2"]],"audio/voice/bot1/ene.sensors.m4a":["audio/voice/Bot1/ene.sensors.m4a",["voice.vl2"]],"audio/voice/bot1/ene.sensors.wav":["audio/voice/Bot1/ene.sensors.wav",["voice.vl2"]],"audio/voice/bot1/ene.turrets.m4a":["audio/voice/Bot1/ene.turrets.m4a",["voice.vl2"]],"audio/voice/bot1/ene.turrets.wav":["audio/voice/Bot1/ene.turrets.wav",["voice.vl2"]],"audio/voice/bot1/ene.vehicle.m4a":["audio/voice/Bot1/ene.vehicle.m4a",["voice.vl2"]],"audio/voice/bot1/ene.vehicle.wav":["audio/voice/Bot1/ene.vehicle.wav",["voice.vl2"]],"audio/voice/bot1/flg.flag.m4a":["audio/voice/Bot1/flg.flag.m4a",["voice.vl2"]],"audio/voice/bot1/flg.flag.wav":["audio/voice/Bot1/flg.flag.WAV",["voice.vl2"]],"audio/voice/bot1/flg.give.m4a":["audio/voice/Bot1/flg.give.m4a",["voice.vl2"]],"audio/voice/bot1/flg.give.wav":["audio/voice/Bot1/flg.give.wav",["voice.vl2"]],"audio/voice/bot1/flg.huntergive.m4a":["audio/voice/Bot1/flg.huntergive.m4a",["voice.vl2"]],"audio/voice/bot1/flg.huntergive.wav":["audio/voice/Bot1/flg.huntergive.wav",["voice.vl2"]],"audio/voice/bot1/flg.huntertake.m4a":["audio/voice/Bot1/flg.huntertake.m4a",["voice.vl2"]],"audio/voice/bot1/flg.huntertake.wav":["audio/voice/Bot1/flg.huntertake.wav",["voice.vl2"]],"audio/voice/bot1/flg.secure.m4a":["audio/voice/Bot1/flg.secure.m4a",["voice.vl2"]],"audio/voice/bot1/flg.secure.wav":["audio/voice/Bot1/flg.secure.wav",["voice.vl2"]],"audio/voice/bot1/flg.take.m4a":["audio/voice/Bot1/flg.take.m4a",["voice.vl2"]],"audio/voice/bot1/flg.take.wav":["audio/voice/Bot1/flg.take.wav",["voice.vl2"]],"audio/voice/bot1/gbl.anytime.m4a":["audio/voice/Bot1/gbl.anytime.m4a",["voice.vl2"]],"audio/voice/bot1/gbl.anytime.wav":["audio/voice/Bot1/gbl.anytime.wav",["voice.vl2"]],"audio/voice/bot1/gbl.awesome.m4a":["audio/voice/Bot1/gbl.awesome.m4a",["voice.vl2"]],"audio/voice/bot1/gbl.awesome.wav":["audio/voice/Bot1/gbl.awesome.wav",["voice.vl2"]],"audio/voice/bot1/gbl.aww.m4a":["audio/voice/Bot1/gbl.aww.m4a",["voice.vl2"]],"audio/voice/bot1/gbl.aww.wav":["audio/voice/Bot1/gbl.aww.wav",["voice.vl2"]],"audio/voice/bot1/gbl.brag.m4a":["audio/voice/Bot1/gbl.brag.m4a",["voice.vl2"]],"audio/voice/bot1/gbl.brag.wav":["audio/voice/Bot1/gbl.brag.wav",["voice.vl2"]],"audio/voice/bot1/gbl.bye.m4a":["audio/voice/Bot1/gbl.bye.m4a",["voice.vl2"]],"audio/voice/bot1/gbl.bye.wav":["audio/voice/Bot1/gbl.bye.wav",["voice.vl2"]],"audio/voice/bot1/gbl.doh.m4a":["audio/voice/Bot1/gbl.doh.m4a",["voice.vl2"]],"audio/voice/bot1/gbl.doh.wav":["audio/voice/Bot1/gbl.doh.wav",["voice.vl2"]],"audio/voice/bot1/gbl.dunno.m4a":["audio/voice/Bot1/gbl.dunno.m4a",["voice.vl2"]],"audio/voice/bot1/gbl.dunno.wav":["audio/voice/Bot1/gbl.dunno.wav",["voice.vl2"]],"audio/voice/bot1/gbl.goodgame.m4a":["audio/voice/Bot1/gbl.goodgame.m4a",["voice.vl2"]],"audio/voice/bot1/gbl.goodgame.wav":["audio/voice/Bot1/gbl.goodgame.wav",["voice.vl2"]],"audio/voice/bot1/gbl.hi.m4a":["audio/voice/Bot1/gbl.hi.m4a",["voice.vl2"]],"audio/voice/bot1/gbl.hi.wav":["audio/voice/Bot1/gbl.hi.wav",["voice.vl2"]],"audio/voice/bot1/gbl.nice.m4a":["audio/voice/Bot1/gbl.nice.m4a",["voice.vl2"]],"audio/voice/bot1/gbl.nice.wav":["audio/voice/Bot1/gbl.nice.wav",["voice.vl2"]],"audio/voice/bot1/gbl.no.m4a":["audio/voice/Bot1/gbl.no.m4a",["voice.vl2"]],"audio/voice/bot1/gbl.no.wav":["audio/voice/Bot1/gbl.no.wav",["voice.vl2"]],"audio/voice/bot1/gbl.obnoxious.m4a":["audio/voice/Bot1/gbl.obnoxious.m4a",["voice.vl2"]],"audio/voice/bot1/gbl.obnoxious.wav":["audio/voice/Bot1/gbl.obnoxious.wav",["voice.vl2"]],"audio/voice/bot1/gbl.oops.m4a":["audio/voice/Bot1/gbl.oops.m4a",["voice.vl2"]],"audio/voice/bot1/gbl.oops.wav":["audio/voice/Bot1/gbl.oops.wav",["voice.vl2"]],"audio/voice/bot1/gbl.quiet.m4a":["audio/voice/Bot1/gbl.quiet.m4a",["voice.vl2"]],"audio/voice/bot1/gbl.quiet.wav":["audio/voice/Bot1/gbl.quiet.WAV",["voice.vl2"]],"audio/voice/bot1/gbl.rock.m4a":["audio/voice/Bot1/gbl.rock.m4a",["voice.vl2"]],"audio/voice/bot1/gbl.rock.wav":["audio/voice/Bot1/gbl.rock.WAV",["voice.vl2"]],"audio/voice/bot1/gbl.sarcasm.m4a":["audio/voice/Bot1/gbl.sarcasm.m4a",["voice.vl2"]],"audio/voice/bot1/gbl.sarcasm.wav":["audio/voice/Bot1/gbl.sarcasm.wav",["voice.vl2"]],"audio/voice/bot1/gbl.shazbot.m4a":["audio/voice/Bot1/gbl.shazbot.m4a",["voice.vl2"]],"audio/voice/bot1/gbl.shazbot.wav":["audio/voice/Bot1/gbl.shazbot.wav",["voice.vl2"]],"audio/voice/bot1/gbl.shooting.m4a":["audio/voice/Bot1/gbl.shooting.m4a",["voice.vl2"]],"audio/voice/bot1/gbl.shooting.wav":["audio/voice/Bot1/gbl.shooting.WAV",["voice.vl2"]],"audio/voice/bot1/gbl.thanks.m4a":["audio/voice/Bot1/gbl.thanks.m4a",["voice.vl2"]],"audio/voice/bot1/gbl.thanks.wav":["audio/voice/Bot1/gbl.thanks.wav",["voice.vl2"]],"audio/voice/bot1/gbl.wait.m4a":["audio/voice/Bot1/gbl.wait.m4a",["voice.vl2"]],"audio/voice/bot1/gbl.wait.wav":["audio/voice/Bot1/gbl.wait.wav",["voice.vl2"]],"audio/voice/bot1/gbl.when.m4a":["audio/voice/Bot1/gbl.when.m4a",["voice.vl2"]],"audio/voice/bot1/gbl.when.wav":["audio/voice/Bot1/gbl.when.wav",["voice.vl2"]],"audio/voice/bot1/gbl.yes.m4a":["audio/voice/Bot1/gbl.yes.m4a",["voice.vl2"]],"audio/voice/bot1/gbl.yes.wav":["audio/voice/Bot1/gbl.yes.wav",["voice.vl2"]],"audio/voice/bot1/need.bombardier.m4a":["audio/voice/Bot1/need.bombardier.m4a",["voice.vl2"]],"audio/voice/bot1/need.bombardier.wav":["audio/voice/Bot1/need.bombardier.wav",["voice.vl2"]],"audio/voice/bot1/need.cover.m4a":["audio/voice/Bot1/need.cover.m4a",["voice.vl2"]],"audio/voice/bot1/need.cover.wav":["audio/voice/Bot1/need.cover.WAV",["voice.vl2"]],"audio/voice/bot1/need.driver.m4a":["audio/voice/Bot1/need.driver.m4a",["voice.vl2"]],"audio/voice/bot1/need.driver.wav":["audio/voice/Bot1/need.driver.wav",["voice.vl2"]],"audio/voice/bot1/need.escort.m4a":["audio/voice/Bot1/need.escort.m4a",["voice.vl2"]],"audio/voice/bot1/need.escort.wav":["audio/voice/Bot1/need.escort.wav",["voice.vl2"]],"audio/voice/bot1/need.flyer.m4a":["audio/voice/Bot1/need.flyer.m4a",["voice.vl2"]],"audio/voice/bot1/need.flyer.wav":["audio/voice/Bot1/need.flyer.WAV",["voice.vl2"]],"audio/voice/bot1/need.gunship.m4a":["audio/voice/Bot1/need.gunship.m4a",["voice.vl2"]],"audio/voice/bot1/need.gunship.wav":["audio/voice/Bot1/need.gunship.WAV",["voice.vl2"]],"audio/voice/bot1/need.hold.m4a":["audio/voice/Bot1/need.hold.m4a",["voice.vl2"]],"audio/voice/bot1/need.hold.wav":["audio/voice/Bot1/need.hold.wav",["voice.vl2"]],"audio/voice/bot1/need.ride.m4a":["audio/voice/Bot1/need.ride.m4a",["voice.vl2"]],"audio/voice/bot1/need.ride.wav":["audio/voice/Bot1/need.ride.WAV",["voice.vl2"]],"audio/voice/bot1/need.support.m4a":["audio/voice/Bot1/need.support.m4a",["voice.vl2"]],"audio/voice/bot1/need.support.wav":["audio/voice/Bot1/need.support.wav",["voice.vl2"]],"audio/voice/bot1/need.tailgunner.m4a":["audio/voice/Bot1/need.tailgunner.m4a",["voice.vl2"]],"audio/voice/bot1/need.tailgunner.wav":["audio/voice/Bot1/need.tailgunner.wav",["voice.vl2"]],"audio/voice/bot1/need.where.m4a":["audio/voice/Bot1/need.where.m4a",["voice.vl2"]],"audio/voice/bot1/need.where.wav":["audio/voice/Bot1/need.where.wav",["voice.vl2"]],"audio/voice/bot1/rep.base.m4a":["audio/voice/Bot1/rep.base.m4a",["voice.vl2"]],"audio/voice/bot1/rep.base.wav":["audio/voice/Bot1/rep.base.wav",["voice.vl2"]],"audio/voice/bot1/rep.generator.m4a":["audio/voice/Bot1/rep.generator.m4a",["voice.vl2"]],"audio/voice/bot1/rep.generator.wav":["audio/voice/Bot1/rep.generator.wav",["voice.vl2"]],"audio/voice/bot1/rep.me.m4a":["audio/voice/Bot1/rep.me.m4a",["voice.vl2"]],"audio/voice/bot1/rep.me.wav":["audio/voice/Bot1/rep.me.wav",["voice.vl2"]],"audio/voice/bot1/rep.sensors.m4a":["audio/voice/Bot1/rep.sensors.m4a",["voice.vl2"]],"audio/voice/bot1/rep.sensors.wav":["audio/voice/Bot1/rep.sensors.wav",["voice.vl2"]],"audio/voice/bot1/rep.turrets.m4a":["audio/voice/Bot1/rep.turrets.m4a",["voice.vl2"]],"audio/voice/bot1/rep.turrets.wav":["audio/voice/Bot1/rep.turrets.wav",["voice.vl2"]],"audio/voice/bot1/rep.vehicle.m4a":["audio/voice/Bot1/rep.vehicle.m4a",["voice.vl2"]],"audio/voice/bot1/rep.vehicle.wav":["audio/voice/Bot1/rep.vehicle.wav",["voice.vl2"]],"audio/voice/bot1/slf.att.attack.m4a":["audio/voice/Bot1/slf.att.attack.m4a",["voice.vl2"]],"audio/voice/bot1/slf.att.attack.wav":["audio/voice/Bot1/slf.att.attack.wav",["voice.vl2"]],"audio/voice/bot1/slf.att.base.m4a":["audio/voice/Bot1/slf.att.base.m4a",["voice.vl2"]],"audio/voice/bot1/slf.att.base.wav":["audio/voice/Bot1/slf.att.base.wav",["voice.vl2"]],"audio/voice/bot1/slf.att.flag.m4a":["audio/voice/Bot1/slf.att.flag.m4a",["voice.vl2"]],"audio/voice/bot1/slf.att.flag.wav":["audio/voice/Bot1/slf.att.flag.wav",["voice.vl2"]],"audio/voice/bot1/slf.att.generator.m4a":["audio/voice/Bot1/slf.att.generator.m4a",["voice.vl2"]],"audio/voice/bot1/slf.att.generator.wav":["audio/voice/Bot1/slf.att.generator.wav",["voice.vl2"]],"audio/voice/bot1/slf.att.sensors.m4a":["audio/voice/Bot1/slf.att.sensors.m4a",["voice.vl2"]],"audio/voice/bot1/slf.att.sensors.wav":["audio/voice/Bot1/slf.att.sensors.wav",["voice.vl2"]],"audio/voice/bot1/slf.att.turrets.m4a":["audio/voice/Bot1/slf.att.turrets.m4a",["voice.vl2"]],"audio/voice/bot1/slf.att.turrets.wav":["audio/voice/Bot1/slf.att.turrets.wav",["voice.vl2"]],"audio/voice/bot1/slf.att.vehicle.m4a":["audio/voice/Bot1/slf.att.vehicle.m4a",["voice.vl2"]],"audio/voice/bot1/slf.att.vehicle.wav":["audio/voice/Bot1/slf.att.vehicle.wav",["voice.vl2"]],"audio/voice/bot1/slf.def.base.m4a":["audio/voice/Bot1/slf.def.base.m4a",["voice.vl2"]],"audio/voice/bot1/slf.def.base.wav":["audio/voice/Bot1/slf.def.base.wav",["voice.vl2"]],"audio/voice/bot1/slf.def.defend.m4a":["audio/voice/Bot1/slf.def.defend.m4a",["voice.vl2"]],"audio/voice/bot1/slf.def.defend.wav":["audio/voice/Bot1/slf.def.defend.wav",["voice.vl2"]],"audio/voice/bot1/slf.def.flag.m4a":["audio/voice/Bot1/slf.def.flag.m4a",["voice.vl2"]],"audio/voice/bot1/slf.def.flag.wav":["audio/voice/Bot1/slf.def.flag.wav",["voice.vl2"]],"audio/voice/bot1/slf.def.generator.m4a":["audio/voice/Bot1/slf.def.generator.m4a",["voice.vl2"]],"audio/voice/bot1/slf.def.generator.wav":["audio/voice/Bot1/slf.def.generator.wav",["voice.vl2"]],"audio/voice/bot1/slf.def.nexus.m4a":["audio/voice/Bot1/slf.def.nexus.m4a",["voice.vl2"]],"audio/voice/bot1/slf.def.nexus.wav":["audio/voice/Bot1/slf.def.nexus.wav",["voice.vl2"]],"audio/voice/bot1/slf.def.sensors.m4a":["audio/voice/Bot1/slf.def.sensors.m4a",["voice.vl2"]],"audio/voice/bot1/slf.def.sensors.wav":["audio/voice/Bot1/slf.def.sensors.wav",["voice.vl2"]],"audio/voice/bot1/slf.def.turrets.m4a":["audio/voice/Bot1/slf.def.turrets.m4a",["voice.vl2"]],"audio/voice/bot1/slf.def.turrets.wav":["audio/voice/Bot1/slf.def.turrets.wav",["voice.vl2"]],"audio/voice/bot1/slf.def.vehicle.m4a":["audio/voice/Bot1/slf.def.vehicle.m4a",["voice.vl2"]],"audio/voice/bot1/slf.def.vehicle.wav":["audio/voice/Bot1/slf.def.vehicle.wav",["voice.vl2"]],"audio/voice/bot1/slf.rep.base.m4a":["audio/voice/Bot1/slf.rep.base.m4a",["voice.vl2"]],"audio/voice/bot1/slf.rep.base.wav":["audio/voice/Bot1/slf.rep.base.wav",["voice.vl2"]],"audio/voice/bot1/slf.rep.equipment.m4a":["audio/voice/Bot1/slf.rep.equipment.m4a",["voice.vl2"]],"audio/voice/bot1/slf.rep.equipment.wav":["audio/voice/Bot1/slf.rep.equipment.wav",["voice.vl2"]],"audio/voice/bot1/slf.rep.generator.m4a":["audio/voice/Bot1/slf.rep.generator.m4a",["voice.vl2"]],"audio/voice/bot1/slf.rep.generator.wav":["audio/voice/Bot1/slf.rep.generator.wav",["voice.vl2"]],"audio/voice/bot1/slf.rep.repairing.m4a":["audio/voice/Bot1/slf.rep.repairing.m4a",["voice.vl2"]],"audio/voice/bot1/slf.rep.repairing.wav":["audio/voice/Bot1/slf.rep.repairing.wav",["voice.vl2"]],"audio/voice/bot1/slf.rep.sensors.m4a":["audio/voice/Bot1/slf.rep.sensors.m4a",["voice.vl2"]],"audio/voice/bot1/slf.rep.sensors.wav":["audio/voice/Bot1/slf.rep.sensors.wav",["voice.vl2"]],"audio/voice/bot1/slf.rep.turrets.m4a":["audio/voice/Bot1/slf.rep.turrets.m4a",["voice.vl2"]],"audio/voice/bot1/slf.rep.turrets.wav":["audio/voice/Bot1/slf.rep.turrets.wav",["voice.vl2"]],"audio/voice/bot1/slf.rep.vehicle.m4a":["audio/voice/Bot1/slf.rep.vehicle.m4a",["voice.vl2"]],"audio/voice/bot1/slf.rep.vehicle.wav":["audio/voice/Bot1/slf.rep.vehicle.wav",["voice.vl2"]],"audio/voice/bot1/slf.tsk.cover.m4a":["audio/voice/Bot1/slf.tsk.cover.m4a",["voice.vl2"]],"audio/voice/bot1/slf.tsk.cover.wav":["audio/voice/Bot1/slf.tsk.cover.WAV",["voice.vl2"]],"audio/voice/bot1/slf.tsk.defense.m4a":["audio/voice/Bot1/slf.tsk.defense.m4a",["voice.vl2"]],"audio/voice/bot1/slf.tsk.defense.wav":["audio/voice/Bot1/slf.tsk.defense.wav",["voice.vl2"]],"audio/voice/bot1/slf.tsk.generic.m4a":["audio/voice/Bot1/slf.tsk.generic.m4a",["voice.vl2"]],"audio/voice/bot1/slf.tsk.generic.wav":["audio/voice/Bot1/slf.tsk.generic.WAV",["voice.vl2"]],"audio/voice/bot1/slf.tsk.remotes.m4a":["audio/voice/Bot1/slf.tsk.remotes.m4a",["voice.vl2"]],"audio/voice/bot1/slf.tsk.remotes.wav":["audio/voice/Bot1/slf.tsk.remotes.wav",["voice.vl2"]],"audio/voice/bot1/slf.tsk.sensors.m4a":["audio/voice/Bot1/slf.tsk.sensors.m4a",["voice.vl2"]],"audio/voice/bot1/slf.tsk.sensors.wav":["audio/voice/Bot1/slf.tsk.sensors.wav",["voice.vl2"]],"audio/voice/bot1/slf.tsk.turrets.m4a":["audio/voice/Bot1/slf.tsk.turrets.m4a",["voice.vl2"]],"audio/voice/bot1/slf.tsk.turrets.wav":["audio/voice/Bot1/slf.tsk.turrets.wav",["voice.vl2"]],"audio/voice/bot1/slf.tsk.vehicle.m4a":["audio/voice/Bot1/slf.tsk.vehicle.m4a",["voice.vl2"]],"audio/voice/bot1/slf.tsk.vehicle.wav":["audio/voice/Bot1/slf.tsk.vehicle.WAV",["voice.vl2"]],"audio/voice/bot1/tgt.acquired.m4a":["audio/voice/Bot1/tgt.acquired.m4a",["voice.vl2"]],"audio/voice/bot1/tgt.acquired.wav":["audio/voice/Bot1/tgt.acquired.wav",["voice.vl2"]],"audio/voice/bot1/tgt.base.m4a":["audio/voice/Bot1/tgt.base.m4a",["voice.vl2"]],"audio/voice/bot1/tgt.base.wav":["audio/voice/Bot1/tgt.base.wav",["voice.vl2"]],"audio/voice/bot1/tgt.destroyed.m4a":["audio/voice/Bot1/tgt.destroyed.m4a",["voice.vl2"]],"audio/voice/bot1/tgt.destroyed.wav":["audio/voice/Bot1/tgt.destroyed.wav",["voice.vl2"]],"audio/voice/bot1/tgt.flag.m4a":["audio/voice/Bot1/tgt.flag.m4a",["voice.vl2"]],"audio/voice/bot1/tgt.flag.wav":["audio/voice/Bot1/tgt.flag.wav",["voice.vl2"]],"audio/voice/bot1/tgt.my.m4a":["audio/voice/Bot1/tgt.my.m4a",["voice.vl2"]],"audio/voice/bot1/tgt.my.wav":["audio/voice/Bot1/tgt.my.WAV",["voice.vl2"]],"audio/voice/bot1/tgt.need.m4a":["audio/voice/Bot1/tgt.need.m4a",["voice.vl2"]],"audio/voice/bot1/tgt.need.wav":["audio/voice/Bot1/tgt.need.wav",["voice.vl2"]],"audio/voice/bot1/tgt.sensors.m4a":["audio/voice/Bot1/tgt.sensors.m4a",["voice.vl2"]],"audio/voice/bot1/tgt.sensors.wav":["audio/voice/Bot1/tgt.sensors.wav",["voice.vl2"]],"audio/voice/bot1/tgt.turret.m4a":["audio/voice/Bot1/tgt.turret.m4a",["voice.vl2"]],"audio/voice/bot1/tgt.turret.wav":["audio/voice/Bot1/tgt.turret.wav",["voice.vl2"]],"audio/voice/bot1/tgt.wait.m4a":["audio/voice/Bot1/tgt.wait.m4a",["voice.vl2"]],"audio/voice/bot1/tgt.wait.wav":["audio/voice/Bot1/tgt.wait.wav",["voice.vl2"]],"audio/voice/bot1/vqk.anytime.m4a":["audio/voice/Bot1/vqk.anytime.m4a",["voice.vl2"]],"audio/voice/bot1/vqk.anytime.wav":["audio/voice/Bot1/vqk.anytime.wav",["voice.vl2"]],"audio/voice/bot1/vqk.ceasefire.m4a":["audio/voice/Bot1/vqk.ceasefire.m4a",["voice.vl2"]],"audio/voice/bot1/vqk.ceasefire.wav":["audio/voice/Bot1/vqk.ceasefire.wav",["voice.vl2"]],"audio/voice/bot1/vqk.dunno.m4a":["audio/voice/Bot1/vqk.dunno.m4a",["voice.vl2"]],"audio/voice/bot1/vqk.dunno.wav":["audio/voice/Bot1/vqk.dunno.wav",["voice.vl2"]],"audio/voice/bot1/vqk.move.m4a":["audio/voice/Bot1/vqk.move.m4a",["voice.vl2"]],"audio/voice/bot1/vqk.move.wav":["audio/voice/Bot1/vqk.move.wav",["voice.vl2"]],"audio/voice/bot1/vqk.no.m4a":["audio/voice/Bot1/vqk.no.m4a",["voice.vl2"]],"audio/voice/bot1/vqk.no.wav":["audio/voice/Bot1/vqk.no.wav",["voice.vl2"]],"audio/voice/bot1/vqk.quiet.m4a":["audio/voice/Bot1/vqk.quiet.m4a",["voice.vl2"]],"audio/voice/bot1/vqk.quiet.wav":["audio/voice/Bot1/vqk.quiet.WAV",["voice.vl2"]],"audio/voice/bot1/vqk.sorry.m4a":["audio/voice/Bot1/vqk.sorry.m4a",["voice.vl2"]],"audio/voice/bot1/vqk.sorry.wav":["audio/voice/Bot1/vqk.sorry.wav",["voice.vl2"]],"audio/voice/bot1/vqk.thanks.m4a":["audio/voice/Bot1/vqk.thanks.m4a",["voice.vl2"]],"audio/voice/bot1/vqk.thanks.wav":["audio/voice/Bot1/vqk.thanks.wav",["voice.vl2"]],"audio/voice/bot1/vqk.wait.m4a":["audio/voice/Bot1/vqk.wait.m4a",["voice.vl2"]],"audio/voice/bot1/vqk.wait.wav":["audio/voice/Bot1/vqk.wait.wav",["voice.vl2"]],"audio/voice/bot1/vqk.yes.m4a":["audio/voice/Bot1/vqk.yes.m4a",["voice.vl2"]],"audio/voice/bot1/vqk.yes.wav":["audio/voice/Bot1/vqk.yes.wav",["voice.vl2"]],"audio/voice/bot1/wrn.bomber.m4a":["audio/voice/Bot1/wrn.bomber.m4a",["voice.vl2"]],"audio/voice/bot1/wrn.bomber.wav":["audio/voice/Bot1/wrn.bomber.wav",["voice.vl2"]],"audio/voice/bot1/wrn.enemy.m4a":["audio/voice/Bot1/wrn.enemy.m4a",["voice.vl2"]],"audio/voice/bot1/wrn.enemy.wav":["audio/voice/Bot1/wrn.enemy.wav",["voice.vl2"]],"audio/voice/bot1/wrn.vehicles.m4a":["audio/voice/Bot1/wrn.vehicles.m4a",["voice.vl2"]],"audio/voice/bot1/wrn.vehicles.wav":["audio/voice/Bot1/wrn.vehicles.wav",["voice.vl2"]],"audio/voice/bot1/wrn.watchit.m4a":["audio/voice/Bot1/wrn.watchit.m4a",["voice.vl2"]],"audio/voice/bot1/wrn.watchit.wav":["audio/voice/Bot1/wrn.watchit.wav",["voice.vl2"]],"audio/voice/derm1/att.attack.m4a":["audio/voice/Derm1/att.attack.m4a",["voice.vl2"]],"audio/voice/derm1/att.attack.wav":["audio/voice/Derm1/att.attack.wav",["voice.vl2"]],"audio/voice/derm1/att.base.m4a":["audio/voice/Derm1/att.base.m4a",["voice.vl2"]],"audio/voice/derm1/att.base.wav":["audio/voice/Derm1/att.base.wav",["voice.vl2"]],"audio/voice/derm1/att.chase.m4a":["audio/voice/Derm1/att.chase.m4a",["voice.vl2"]],"audio/voice/derm1/att.chase.wav":["audio/voice/Derm1/att.chase.wav",["voice.vl2"]],"audio/voice/derm1/att.distract.m4a":["audio/voice/Derm1/att.distract.m4a",["voice.vl2"]],"audio/voice/derm1/att.distract.wav":["audio/voice/Derm1/att.distract.wav",["voice.vl2"]],"audio/voice/derm1/att.flag.m4a":["audio/voice/Derm1/att.flag.m4a",["voice.vl2"]],"audio/voice/derm1/att.flag.wav":["audio/voice/Derm1/att.flag.wav",["voice.vl2"]],"audio/voice/derm1/att.generator.m4a":["audio/voice/Derm1/att.generator.m4a",["voice.vl2"]],"audio/voice/derm1/att.generator.wav":["audio/voice/Derm1/att.generator.wav",["voice.vl2"]],"audio/voice/derm1/att.objective.m4a":["audio/voice/Derm1/att.objective.m4a",["voice.vl2"]],"audio/voice/derm1/att.objective.wav":["audio/voice/Derm1/att.objective.wav",["voice.vl2"]],"audio/voice/derm1/att.reinforcements.m4a":["audio/voice/Derm1/att.reinforcements.m4a",["voice.vl2"]],"audio/voice/derm1/att.reinforcements.wav":["audio/voice/Derm1/att.reinforcements.wav",["voice.vl2"]],"audio/voice/derm1/att.sensors.m4a":["audio/voice/Derm1/att.sensors.m4a",["voice.vl2"]],"audio/voice/derm1/att.sensors.wav":["audio/voice/Derm1/att.sensors.wav",["voice.vl2"]],"audio/voice/derm1/att.turrets.m4a":["audio/voice/Derm1/att.turrets.m4a",["voice.vl2"]],"audio/voice/derm1/att.turrets.wav":["audio/voice/Derm1/att.turrets.wav",["voice.vl2"]],"audio/voice/derm1/att.vehicle.m4a":["audio/voice/Derm1/att.vehicle.m4a",["voice.vl2"]],"audio/voice/derm1/att.vehicle.wav":["audio/voice/Derm1/att.vehicle.wav",["voice.vl2"]],"audio/voice/derm1/att.wait.m4a":["audio/voice/Derm1/att.wait.m4a",["voice.vl2"]],"audio/voice/derm1/att.wait.wav":["audio/voice/Derm1/att.wait.wav",["voice.vl2"]],"audio/voice/derm1/avo.deathcry_01.m4a":["audio/voice/Derm1/avo.deathcry_01.m4a",["voice.vl2"]],"audio/voice/derm1/avo.deathcry_01.wav":["audio/voice/Derm1/avo.deathcry_01.wav",["voice.vl2"]],"audio/voice/derm1/avo.deathcry_02.m4a":["audio/voice/Derm1/avo.deathcry_02.m4a",["voice.vl2"]],"audio/voice/derm1/avo.deathcry_02.wav":["audio/voice/Derm1/avo.deathcry_02.wav",["voice.vl2"]],"audio/voice/derm1/avo.grunt.m4a":["audio/voice/Derm1/avo.grunt.m4a",["voice.vl2"]],"audio/voice/derm1/avo.grunt.wav":["audio/voice/Derm1/avo.grunt.wav",["voice.vl2"]],"audio/voice/derm1/avo.pain.m4a":["audio/voice/Derm1/avo.pain.m4a",["voice.vl2"]],"audio/voice/derm1/avo.pain.wav":["audio/voice/Derm1/avo.pain.wav",["voice.vl2"]],"audio/voice/derm1/bas.clear.m4a":["audio/voice/Derm1/bas.clear.m4a",["voice.vl2"]],"audio/voice/derm1/bas.clear.wav":["audio/voice/Derm1/bas.clear.wav",["voice.vl2"]],"audio/voice/derm1/bas.enemy.m4a":["audio/voice/Derm1/bas.enemy.m4a",["voice.vl2"]],"audio/voice/derm1/bas.enemy.wav":["audio/voice/Derm1/bas.enemy.wav",["voice.vl2"]],"audio/voice/derm1/bas.retake.m4a":["audio/voice/Derm1/bas.retake.m4a",["voice.vl2"]],"audio/voice/derm1/bas.retake.wav":["audio/voice/Derm1/bas.retake.wav",["voice.vl2"]],"audio/voice/derm1/bas.secure.m4a":["audio/voice/Derm1/bas.secure.m4a",["voice.vl2"]],"audio/voice/derm1/bas.secure.wav":["audio/voice/Derm1/bas.secure.wav",["voice.vl2"]],"audio/voice/derm1/bas.taken.m4a":["audio/voice/Derm1/bas.taken.m4a",["voice.vl2"]],"audio/voice/derm1/bas.taken.wav":["audio/voice/Derm1/bas.taken.wav",["voice.vl2"]],"audio/voice/derm1/cmd.acknowledge.m4a":["audio/voice/Derm1/cmd.acknowledge.m4a",["voice.vl2"]],"audio/voice/derm1/cmd.acknowledge.wav":["audio/voice/Derm1/cmd.acknowledge.wav",["voice.vl2"]],"audio/voice/derm1/cmd.bot.m4a":["audio/voice/Derm1/cmd.bot.m4a",["voice.vl2"]],"audio/voice/derm1/cmd.bot.wav":["audio/voice/Derm1/cmd.bot.WAV",["voice.vl2"]],"audio/voice/derm1/cmd.completed.m4a":["audio/voice/Derm1/cmd.completed.m4a",["voice.vl2"]],"audio/voice/derm1/cmd.completed.wav":["audio/voice/Derm1/cmd.completed.wav",["voice.vl2"]],"audio/voice/derm1/cmd.decline.m4a":["audio/voice/Derm1/cmd.decline.m4a",["voice.vl2"]],"audio/voice/derm1/cmd.decline.wav":["audio/voice/Derm1/cmd.decline.wav",["voice.vl2"]],"audio/voice/derm1/def.base.m4a":["audio/voice/Derm1/def.base.m4a",["voice.vl2"]],"audio/voice/derm1/def.base.wav":["audio/voice/Derm1/def.base.wav",["voice.vl2"]],"audio/voice/derm1/def.carrier.m4a":["audio/voice/Derm1/def.carrier.m4a",["voice.vl2"]],"audio/voice/derm1/def.carrier.wav":["audio/voice/Derm1/def.carrier.wav",["voice.vl2"]],"audio/voice/derm1/def.entrances.m4a":["audio/voice/Derm1/def.entrances.m4a",["voice.vl2"]],"audio/voice/derm1/def.entrances.wav":["audio/voice/Derm1/def.entrances.wav",["voice.vl2"]],"audio/voice/derm1/def.flag.m4a":["audio/voice/Derm1/def.flag.m4a",["voice.vl2"]],"audio/voice/derm1/def.flag.wav":["audio/voice/Derm1/def.flag.wav",["voice.vl2"]],"audio/voice/derm1/def.generator.m4a":["audio/voice/Derm1/def.generator.m4a",["voice.vl2"]],"audio/voice/derm1/def.generator.wav":["audio/voice/Derm1/def.generator.wav",["voice.vl2"]],"audio/voice/derm1/def.me.m4a":["audio/voice/Derm1/def.me.m4a",["voice.vl2"]],"audio/voice/derm1/def.me.wav":["audio/voice/Derm1/def.me.wav",["voice.vl2"]],"audio/voice/derm1/def.nexus.m4a":["audio/voice/Derm1/def.nexus.m4a",["voice.vl2"]],"audio/voice/derm1/def.nexus.wav":["audio/voice/Derm1/def.nexus.wav",["voice.vl2"]],"audio/voice/derm1/def.objective.m4a":["audio/voice/Derm1/def.objective.m4a",["voice.vl2"]],"audio/voice/derm1/def.objective.wav":["audio/voice/Derm1/def.objective.wav",["voice.vl2"]],"audio/voice/derm1/def.reinforce.m4a":["audio/voice/Derm1/def.reinforce.m4a",["voice.vl2"]],"audio/voice/derm1/def.reinforce.wav":["audio/voice/Derm1/def.reinforce.wav",["voice.vl2"]],"audio/voice/derm1/def.sensors.m4a":["audio/voice/Derm1/def.sensors.m4a",["voice.vl2"]],"audio/voice/derm1/def.sensors.wav":["audio/voice/Derm1/def.sensors.wav",["voice.vl2"]],"audio/voice/derm1/def.turrets.m4a":["audio/voice/Derm1/def.turrets.m4a",["voice.vl2"]],"audio/voice/derm1/def.turrets.wav":["audio/voice/Derm1/def.turrets.wav",["voice.vl2"]],"audio/voice/derm1/def.vehicle.m4a":["audio/voice/Derm1/def.vehicle.m4a",["voice.vl2"]],"audio/voice/derm1/def.vehicle.wav":["audio/voice/Derm1/def.vehicle.wav",["voice.vl2"]],"audio/voice/derm1/ene.base.m4a":["audio/voice/Derm1/ene.base.m4a",["voice.vl2"]],"audio/voice/derm1/ene.base.wav":["audio/voice/Derm1/ene.base.wav",["voice.vl2"]],"audio/voice/derm1/ene.disarray.m4a":["audio/voice/Derm1/ene.disarray.m4a",["voice.vl2"]],"audio/voice/derm1/ene.disarray.wav":["audio/voice/Derm1/ene.disarray.wav",["voice.vl2"]],"audio/voice/derm1/ene.generator.m4a":["audio/voice/Derm1/ene.generator.m4a",["voice.vl2"]],"audio/voice/derm1/ene.generator.wav":["audio/voice/Derm1/ene.generator.wav",["voice.vl2"]],"audio/voice/derm1/ene.remotes.m4a":["audio/voice/Derm1/ene.remotes.m4a",["voice.vl2"]],"audio/voice/derm1/ene.remotes.wav":["audio/voice/Derm1/ene.remotes.wav",["voice.vl2"]],"audio/voice/derm1/ene.sensors.m4a":["audio/voice/Derm1/ene.sensors.m4a",["voice.vl2"]],"audio/voice/derm1/ene.sensors.wav":["audio/voice/Derm1/ene.sensors.wav",["voice.vl2"]],"audio/voice/derm1/ene.turrets.m4a":["audio/voice/Derm1/ene.turrets.m4a",["voice.vl2"]],"audio/voice/derm1/ene.turrets.wav":["audio/voice/Derm1/ene.turrets.wav",["voice.vl2"]],"audio/voice/derm1/ene.vehicle.m4a":["audio/voice/Derm1/ene.vehicle.m4a",["voice.vl2"]],"audio/voice/derm1/ene.vehicle.wav":["audio/voice/Derm1/ene.vehicle.wav",["voice.vl2"]],"audio/voice/derm1/flg.flag.m4a":["audio/voice/Derm1/flg.flag.m4a",["voice.vl2"]],"audio/voice/derm1/flg.flag.wav":["audio/voice/Derm1/flg.flag.WAV",["voice.vl2"]],"audio/voice/derm1/flg.give.m4a":["audio/voice/Derm1/flg.give.m4a",["voice.vl2"]],"audio/voice/derm1/flg.give.wav":["audio/voice/Derm1/flg.give.wav",["voice.vl2"]],"audio/voice/derm1/flg.huntergive.m4a":["audio/voice/Derm1/flg.huntergive.m4a",["voice.vl2"]],"audio/voice/derm1/flg.huntergive.wav":["audio/voice/Derm1/flg.huntergive.wav",["voice.vl2"]],"audio/voice/derm1/flg.huntertake.m4a":["audio/voice/Derm1/flg.huntertake.m4a",["voice.vl2"]],"audio/voice/derm1/flg.huntertake.wav":["audio/voice/Derm1/flg.huntertake.wav",["voice.vl2"]],"audio/voice/derm1/flg.retrieve.m4a":["audio/voice/Derm1/flg.retrieve.m4a",["voice.vl2"]],"audio/voice/derm1/flg.retrieve.wav":["audio/voice/Derm1/flg.retrieve.wav",["voice.vl2"]],"audio/voice/derm1/flg.secure.m4a":["audio/voice/Derm1/flg.secure.m4a",["voice.vl2"]],"audio/voice/derm1/flg.secure.wav":["audio/voice/Derm1/flg.secure.wav",["voice.vl2"]],"audio/voice/derm1/flg.take.m4a":["audio/voice/Derm1/flg.take.m4a",["voice.vl2"]],"audio/voice/derm1/flg.take.wav":["audio/voice/Derm1/flg.take.wav",["voice.vl2"]],"audio/voice/derm1/gbl.anytime.m4a":["audio/voice/Derm1/gbl.anytime.m4a",["voice.vl2"]],"audio/voice/derm1/gbl.anytime.wav":["audio/voice/Derm1/gbl.anytime.wav",["voice.vl2"]],"audio/voice/derm1/gbl.awesome.m4a":["audio/voice/Derm1/gbl.awesome.m4a",["voice.vl2"]],"audio/voice/derm1/gbl.awesome.wav":["audio/voice/Derm1/gbl.awesome.wav",["voice.vl2"]],"audio/voice/derm1/gbl.aww.m4a":["audio/voice/Derm1/gbl.aww.m4a",["voice.vl2"]],"audio/voice/derm1/gbl.aww.wav":["audio/voice/Derm1/gbl.aww.wav",["voice.vl2"]],"audio/voice/derm1/gbl.brag.m4a":["audio/voice/Derm1/gbl.brag.m4a",["voice.vl2"]],"audio/voice/derm1/gbl.brag.wav":["audio/voice/Derm1/gbl.brag.wav",["voice.vl2"]],"audio/voice/derm1/gbl.bye.m4a":["audio/voice/Derm1/gbl.bye.m4a",["voice.vl2"]],"audio/voice/derm1/gbl.bye.wav":["audio/voice/Derm1/gbl.bye.wav",["voice.vl2"]],"audio/voice/derm1/gbl.dunno.m4a":["audio/voice/Derm1/gbl.dunno.m4a",["voice.vl2"]],"audio/voice/derm1/gbl.dunno.wav":["audio/voice/Derm1/gbl.dunno.wav",["voice.vl2"]],"audio/voice/derm1/gbl.goodgame.m4a":["audio/voice/Derm1/gbl.goodgame.m4a",["voice.vl2"]],"audio/voice/derm1/gbl.goodgame.wav":["audio/voice/Derm1/gbl.goodgame.wav",["voice.vl2"]],"audio/voice/derm1/gbl.hi.m4a":["audio/voice/Derm1/gbl.hi.m4a",["voice.vl2"]],"audio/voice/derm1/gbl.hi.wav":["audio/voice/Derm1/gbl.hi.wav",["voice.vl2"]],"audio/voice/derm1/gbl.nice.m4a":["audio/voice/Derm1/gbl.nice.m4a",["voice.vl2"]],"audio/voice/derm1/gbl.nice.wav":["audio/voice/Derm1/gbl.nice.wav",["voice.vl2"]],"audio/voice/derm1/gbl.no.m4a":["audio/voice/Derm1/gbl.no.m4a",["voice.vl2"]],"audio/voice/derm1/gbl.no.wav":["audio/voice/Derm1/gbl.no.wav",["voice.vl2"]],"audio/voice/derm1/gbl.obnoxious.m4a":["audio/voice/Derm1/gbl.obnoxious.m4a",["voice.vl2"]],"audio/voice/derm1/gbl.obnoxious.wav":["audio/voice/Derm1/gbl.obnoxious.wav",["voice.vl2"]],"audio/voice/derm1/gbl.oops.m4a":["audio/voice/Derm1/gbl.oops.m4a",["voice.vl2"]],"audio/voice/derm1/gbl.oops.wav":["audio/voice/Derm1/gbl.oops.wav",["voice.vl2"]],"audio/voice/derm1/gbl.quiet.m4a":["audio/voice/Derm1/gbl.quiet.m4a",["voice.vl2"]],"audio/voice/derm1/gbl.quiet.wav":["audio/voice/Derm1/gbl.quiet.WAV",["voice.vl2"]],"audio/voice/derm1/gbl.rock.m4a":["audio/voice/Derm1/gbl.rock.m4a",["voice.vl2"]],"audio/voice/derm1/gbl.rock.wav":["audio/voice/Derm1/gbl.rock.WAV",["voice.vl2"]],"audio/voice/derm1/gbl.sarcasm.m4a":["audio/voice/Derm1/gbl.sarcasm.m4a",["voice.vl2"]],"audio/voice/derm1/gbl.sarcasm.wav":["audio/voice/Derm1/gbl.sarcasm.WAV",["voice.vl2"]],"audio/voice/derm1/gbl.shazbot.m4a":["audio/voice/Derm1/gbl.shazbot.m4a",["voice.vl2"]],"audio/voice/derm1/gbl.shazbot.wav":["audio/voice/Derm1/gbl.shazbot.wav",["voice.vl2"]],"audio/voice/derm1/gbl.shooting.m4a":["audio/voice/Derm1/gbl.shooting.m4a",["voice.vl2"]],"audio/voice/derm1/gbl.shooting.wav":["audio/voice/Derm1/gbl.shooting.WAV",["voice.vl2"]],"audio/voice/derm1/gbl.thanks.m4a":["audio/voice/Derm1/gbl.thanks.m4a",["voice.vl2"]],"audio/voice/derm1/gbl.thanks.wav":["audio/voice/Derm1/gbl.thanks.wav",["voice.vl2"]],"audio/voice/derm1/gbl.wait.m4a":["audio/voice/Derm1/gbl.wait.m4a",["voice.vl2"]],"audio/voice/derm1/gbl.wait.wav":["audio/voice/Derm1/gbl.wait.wav",["voice.vl2"]],"audio/voice/derm1/gbl.when.m4a":["audio/voice/Derm1/gbl.when.m4a",["voice.vl2"]],"audio/voice/derm1/gbl.when.wav":["audio/voice/Derm1/gbl.when.wav",["voice.vl2"]],"audio/voice/derm1/gbl.woohoo.m4a":["audio/voice/Derm1/gbl.woohoo.m4a",["voice.vl2"]],"audio/voice/derm1/gbl.woohoo.wav":["audio/voice/Derm1/gbl.woohoo.wav",["voice.vl2"]],"audio/voice/derm1/gbl.yes.m4a":["audio/voice/Derm1/gbl.yes.m4a",["voice.vl2"]],"audio/voice/derm1/gbl.yes.wav":["audio/voice/Derm1/gbl.yes.wav",["voice.vl2"]],"audio/voice/derm1/need.bombardier.m4a":["audio/voice/Derm1/need.bombardier.m4a",["voice.vl2"]],"audio/voice/derm1/need.bombardier.wav":["audio/voice/Derm1/need.bombardier.wav",["voice.vl2"]],"audio/voice/derm1/need.cover.m4a":["audio/voice/Derm1/need.cover.m4a",["voice.vl2"]],"audio/voice/derm1/need.cover.wav":["audio/voice/Derm1/need.cover.WAV",["voice.vl2"]],"audio/voice/derm1/need.driver.m4a":["audio/voice/Derm1/need.driver.m4a",["voice.vl2"]],"audio/voice/derm1/need.driver.wav":["audio/voice/Derm1/need.driver.wav",["voice.vl2"]],"audio/voice/derm1/need.escort.m4a":["audio/voice/Derm1/need.escort.m4a",["voice.vl2"]],"audio/voice/derm1/need.escort.wav":["audio/voice/Derm1/need.escort.wav",["voice.vl2"]],"audio/voice/derm1/need.flyer.m4a":["audio/voice/Derm1/need.flyer.m4a",["voice.vl2"]],"audio/voice/derm1/need.flyer.wav":["audio/voice/Derm1/need.flyer.WAV",["voice.vl2"]],"audio/voice/derm1/need.gunship.m4a":["audio/voice/Derm1/need.gunship.m4a",["voice.vl2"]],"audio/voice/derm1/need.gunship.wav":["audio/voice/Derm1/need.gunship.WAV",["voice.vl2"]],"audio/voice/derm1/need.hold.m4a":["audio/voice/Derm1/need.hold.m4a",["voice.vl2"]],"audio/voice/derm1/need.hold.wav":["audio/voice/Derm1/need.hold.wav",["voice.vl2"]],"audio/voice/derm1/need.ride.m4a":["audio/voice/Derm1/need.ride.m4a",["voice.vl2"]],"audio/voice/derm1/need.ride.wav":["audio/voice/Derm1/need.ride.WAV",["voice.vl2"]],"audio/voice/derm1/need.support.m4a":["audio/voice/Derm1/need.support.m4a",["voice.vl2"]],"audio/voice/derm1/need.support.wav":["audio/voice/Derm1/need.support.wav",["voice.vl2"]],"audio/voice/derm1/need.tailgunner.m4a":["audio/voice/Derm1/need.tailgunner.m4a",["voice.vl2"]],"audio/voice/derm1/need.tailgunner.wav":["audio/voice/Derm1/need.tailgunner.wav",["voice.vl2"]],"audio/voice/derm1/need.where.m4a":["audio/voice/Derm1/need.where.m4a",["voice.vl2"]],"audio/voice/derm1/need.where.wav":["audio/voice/Derm1/need.where.wav",["voice.vl2"]],"audio/voice/derm1/rep.base.m4a":["audio/voice/Derm1/rep.base.m4a",["voice.vl2"]],"audio/voice/derm1/rep.base.wav":["audio/voice/Derm1/rep.base.wav",["voice.vl2"]],"audio/voice/derm1/rep.generator.m4a":["audio/voice/Derm1/rep.generator.m4a",["voice.vl2"]],"audio/voice/derm1/rep.generator.wav":["audio/voice/Derm1/rep.generator.wav",["voice.vl2"]],"audio/voice/derm1/rep.me.m4a":["audio/voice/Derm1/rep.me.m4a",["voice.vl2"]],"audio/voice/derm1/rep.me.wav":["audio/voice/Derm1/rep.me.wav",["voice.vl2"]],"audio/voice/derm1/rep.sensors.m4a":["audio/voice/Derm1/rep.sensors.m4a",["voice.vl2"]],"audio/voice/derm1/rep.sensors.wav":["audio/voice/Derm1/rep.sensors.wav",["voice.vl2"]],"audio/voice/derm1/rep.turrets.m4a":["audio/voice/Derm1/rep.turrets.m4a",["voice.vl2"]],"audio/voice/derm1/rep.turrets.wav":["audio/voice/Derm1/rep.turrets.wav",["voice.vl2"]],"audio/voice/derm1/rep.vehicle.m4a":["audio/voice/Derm1/rep.vehicle.m4a",["voice.vl2"]],"audio/voice/derm1/rep.vehicle.wav":["audio/voice/Derm1/rep.vehicle.wav",["voice.vl2"]],"audio/voice/derm1/slf.att.attack.m4a":["audio/voice/Derm1/slf.att.attack.m4a",["voice.vl2"]],"audio/voice/derm1/slf.att.attack.wav":["audio/voice/Derm1/slf.att.attack.wav",["voice.vl2"]],"audio/voice/derm1/slf.att.base.m4a":["audio/voice/Derm1/slf.att.base.m4a",["voice.vl2"]],"audio/voice/derm1/slf.att.base.wav":["audio/voice/Derm1/slf.att.base.wav",["voice.vl2"]],"audio/voice/derm1/slf.att.flag.m4a":["audio/voice/Derm1/slf.att.flag.m4a",["voice.vl2"]],"audio/voice/derm1/slf.att.flag.wav":["audio/voice/Derm1/slf.att.flag.wav",["voice.vl2"]],"audio/voice/derm1/slf.att.generator.m4a":["audio/voice/Derm1/slf.att.generator.m4a",["voice.vl2"]],"audio/voice/derm1/slf.att.generator.wav":["audio/voice/Derm1/slf.att.generator.wav",["voice.vl2"]],"audio/voice/derm1/slf.att.sensors.m4a":["audio/voice/Derm1/slf.att.sensors.m4a",["voice.vl2"]],"audio/voice/derm1/slf.att.sensors.wav":["audio/voice/Derm1/slf.att.sensors.wav",["voice.vl2"]],"audio/voice/derm1/slf.att.turrets.m4a":["audio/voice/Derm1/slf.att.turrets.m4a",["voice.vl2"]],"audio/voice/derm1/slf.att.turrets.wav":["audio/voice/Derm1/slf.att.turrets.wav",["voice.vl2"]],"audio/voice/derm1/slf.att.vehicle.m4a":["audio/voice/Derm1/slf.att.vehicle.m4a",["voice.vl2"]],"audio/voice/derm1/slf.att.vehicle.wav":["audio/voice/Derm1/slf.att.vehicle.wav",["voice.vl2"]],"audio/voice/derm1/slf.def.base.m4a":["audio/voice/Derm1/slf.def.base.m4a",["voice.vl2"]],"audio/voice/derm1/slf.def.base.wav":["audio/voice/Derm1/slf.def.base.wav",["voice.vl2"]],"audio/voice/derm1/slf.def.defend.m4a":["audio/voice/Derm1/slf.def.defend.m4a",["voice.vl2"]],"audio/voice/derm1/slf.def.defend.wav":["audio/voice/Derm1/slf.def.defend.wav",["voice.vl2"]],"audio/voice/derm1/slf.def.flag.m4a":["audio/voice/Derm1/slf.def.flag.m4a",["voice.vl2"]],"audio/voice/derm1/slf.def.flag.wav":["audio/voice/Derm1/slf.def.flag.wav",["voice.vl2"]],"audio/voice/derm1/slf.def.generator.m4a":["audio/voice/Derm1/slf.def.generator.m4a",["voice.vl2"]],"audio/voice/derm1/slf.def.generator.wav":["audio/voice/Derm1/slf.def.generator.wav",["voice.vl2"]],"audio/voice/derm1/slf.def.nexus.m4a":["audio/voice/Derm1/slf.def.nexus.m4a",["voice.vl2"]],"audio/voice/derm1/slf.def.nexus.wav":["audio/voice/Derm1/slf.def.nexus.wav",["voice.vl2"]],"audio/voice/derm1/slf.def.sensors.m4a":["audio/voice/Derm1/slf.def.sensors.m4a",["voice.vl2"]],"audio/voice/derm1/slf.def.sensors.wav":["audio/voice/Derm1/slf.def.sensors.wav",["voice.vl2"]],"audio/voice/derm1/slf.def.turrets.m4a":["audio/voice/Derm1/slf.def.turrets.m4a",["voice.vl2"]],"audio/voice/derm1/slf.def.turrets.wav":["audio/voice/Derm1/slf.def.turrets.wav",["voice.vl2"]],"audio/voice/derm1/slf.def.vehicle.m4a":["audio/voice/Derm1/slf.def.vehicle.m4a",["voice.vl2"]],"audio/voice/derm1/slf.def.vehicle.wav":["audio/voice/Derm1/slf.def.vehicle.wav",["voice.vl2"]],"audio/voice/derm1/slf.rep.base.m4a":["audio/voice/Derm1/slf.rep.base.m4a",["voice.vl2"]],"audio/voice/derm1/slf.rep.base.wav":["audio/voice/Derm1/slf.rep.base.wav",["voice.vl2"]],"audio/voice/derm1/slf.rep.equipment.m4a":["audio/voice/Derm1/slf.rep.equipment.m4a",["voice.vl2"]],"audio/voice/derm1/slf.rep.equipment.wav":["audio/voice/Derm1/slf.rep.equipment.wav",["voice.vl2"]],"audio/voice/derm1/slf.rep.generator.m4a":["audio/voice/Derm1/slf.rep.generator.m4a",["voice.vl2"]],"audio/voice/derm1/slf.rep.generator.wav":["audio/voice/Derm1/slf.rep.generator.wav",["voice.vl2"]],"audio/voice/derm1/slf.rep.repairing.m4a":["audio/voice/Derm1/slf.rep.repairing.m4a",["voice.vl2"]],"audio/voice/derm1/slf.rep.repairing.wav":["audio/voice/Derm1/slf.rep.repairing.wav",["voice.vl2"]],"audio/voice/derm1/slf.rep.sensors.m4a":["audio/voice/Derm1/slf.rep.sensors.m4a",["voice.vl2"]],"audio/voice/derm1/slf.rep.sensors.wav":["audio/voice/Derm1/slf.rep.sensors.wav",["voice.vl2"]],"audio/voice/derm1/slf.rep.turrets.m4a":["audio/voice/Derm1/slf.rep.turrets.m4a",["voice.vl2"]],"audio/voice/derm1/slf.rep.turrets.wav":["audio/voice/Derm1/slf.rep.turrets.wav",["voice.vl2"]],"audio/voice/derm1/slf.rep.vehicle.m4a":["audio/voice/Derm1/slf.rep.vehicle.m4a",["voice.vl2"]],"audio/voice/derm1/slf.rep.vehicle.wav":["audio/voice/Derm1/slf.rep.vehicle.wav",["voice.vl2"]],"audio/voice/derm1/slf.tsk.cover.m4a":["audio/voice/Derm1/slf.tsk.cover.m4a",["voice.vl2"]],"audio/voice/derm1/slf.tsk.cover.wav":["audio/voice/Derm1/slf.tsk.cover.WAV",["voice.vl2"]],"audio/voice/derm1/slf.tsk.defense.m4a":["audio/voice/Derm1/slf.tsk.defense.m4a",["voice.vl2"]],"audio/voice/derm1/slf.tsk.defense.wav":["audio/voice/Derm1/slf.tsk.defense.wav",["voice.vl2"]],"audio/voice/derm1/slf.tsk.generic.m4a":["audio/voice/Derm1/slf.tsk.generic.m4a",["voice.vl2"]],"audio/voice/derm1/slf.tsk.generic.wav":["audio/voice/Derm1/slf.tsk.generic.WAV",["voice.vl2"]],"audio/voice/derm1/slf.tsk.remotes.m4a":["audio/voice/Derm1/slf.tsk.remotes.m4a",["voice.vl2"]],"audio/voice/derm1/slf.tsk.remotes.wav":["audio/voice/Derm1/slf.tsk.remotes.wav",["voice.vl2"]],"audio/voice/derm1/slf.tsk.sensors.m4a":["audio/voice/Derm1/slf.tsk.sensors.m4a",["voice.vl2"]],"audio/voice/derm1/slf.tsk.sensors.wav":["audio/voice/Derm1/slf.tsk.sensors.wav",["voice.vl2"]],"audio/voice/derm1/slf.tsk.turrets.m4a":["audio/voice/Derm1/slf.tsk.turrets.m4a",["voice.vl2"]],"audio/voice/derm1/slf.tsk.turrets.wav":["audio/voice/Derm1/slf.tsk.turrets.wav",["voice.vl2"]],"audio/voice/derm1/slf.tsk.vehicle.m4a":["audio/voice/Derm1/slf.tsk.vehicle.m4a",["voice.vl2"]],"audio/voice/derm1/slf.tsk.vehicle.wav":["audio/voice/Derm1/slf.tsk.vehicle.WAV",["voice.vl2"]],"audio/voice/derm1/tgt.acquired.m4a":["audio/voice/Derm1/tgt.acquired.m4a",["voice.vl2"]],"audio/voice/derm1/tgt.acquired.wav":["audio/voice/Derm1/tgt.acquired.wav",["voice.vl2"]],"audio/voice/derm1/tgt.base.m4a":["audio/voice/Derm1/tgt.base.m4a",["voice.vl2"]],"audio/voice/derm1/tgt.base.wav":["audio/voice/Derm1/tgt.base.wav",["voice.vl2"]],"audio/voice/derm1/tgt.destroyed.m4a":["audio/voice/Derm1/tgt.destroyed.m4a",["voice.vl2"]],"audio/voice/derm1/tgt.destroyed.wav":["audio/voice/Derm1/tgt.destroyed.wav",["voice.vl2"]],"audio/voice/derm1/tgt.flag.m4a":["audio/voice/Derm1/tgt.flag.m4a",["voice.vl2"]],"audio/voice/derm1/tgt.flag.wav":["audio/voice/Derm1/tgt.flag.wav",["voice.vl2"]],"audio/voice/derm1/tgt.my.m4a":["audio/voice/Derm1/tgt.my.m4a",["voice.vl2"]],"audio/voice/derm1/tgt.my.wav":["audio/voice/Derm1/tgt.my.WAV",["voice.vl2"]],"audio/voice/derm1/tgt.need.m4a":["audio/voice/Derm1/tgt.need.m4a",["voice.vl2"]],"audio/voice/derm1/tgt.need.wav":["audio/voice/Derm1/tgt.need.wav",["voice.vl2"]],"audio/voice/derm1/tgt.sensors.m4a":["audio/voice/Derm1/tgt.sensors.m4a",["voice.vl2"]],"audio/voice/derm1/tgt.sensors.wav":["audio/voice/Derm1/tgt.sensors.wav",["voice.vl2"]],"audio/voice/derm1/tgt.turret.m4a":["audio/voice/Derm1/tgt.turret.m4a",["voice.vl2"]],"audio/voice/derm1/tgt.turret.wav":["audio/voice/Derm1/tgt.turret.wav",["voice.vl2"]],"audio/voice/derm1/tgt.wait.m4a":["audio/voice/Derm1/tgt.wait.m4a",["voice.vl2"]],"audio/voice/derm1/tgt.wait.wav":["audio/voice/Derm1/tgt.wait.wav",["voice.vl2"]],"audio/voice/derm1/vqk.anytime.m4a":["audio/voice/Derm1/vqk.anytime.m4a",["voice.vl2"]],"audio/voice/derm1/vqk.anytime.wav":["audio/voice/Derm1/vqk.anytime.wav",["voice.vl2"]],"audio/voice/derm1/vqk.base.m4a":["audio/voice/Derm1/vqk.base.m4a",["voice.vl2"]],"audio/voice/derm1/vqk.base.wav":["audio/voice/Derm1/vqk.base.wav",["voice.vl2"]],"audio/voice/derm1/vqk.ceasefire.m4a":["audio/voice/Derm1/vqk.ceasefire.m4a",["voice.vl2"]],"audio/voice/derm1/vqk.ceasefire.wav":["audio/voice/Derm1/vqk.ceasefire.wav",["voice.vl2"]],"audio/voice/derm1/vqk.dunno.m4a":["audio/voice/Derm1/vqk.dunno.m4a",["voice.vl2"]],"audio/voice/derm1/vqk.dunno.wav":["audio/voice/Derm1/vqk.dunno.wav",["voice.vl2"]],"audio/voice/derm1/vqk.help.m4a":["audio/voice/Derm1/vqk.help.m4a",["voice.vl2"]],"audio/voice/derm1/vqk.help.wav":["audio/voice/Derm1/vqk.help.wav",["voice.vl2"]],"audio/voice/derm1/vqk.move.m4a":["audio/voice/Derm1/vqk.move.m4a",["voice.vl2"]],"audio/voice/derm1/vqk.move.wav":["audio/voice/Derm1/vqk.move.wav",["voice.vl2"]],"audio/voice/derm1/vqk.no.m4a":["audio/voice/Derm1/vqk.no.m4a",["voice.vl2"]],"audio/voice/derm1/vqk.no.wav":["audio/voice/Derm1/vqk.no.wav",["voice.vl2"]],"audio/voice/derm1/vqk.quiet.m4a":["audio/voice/Derm1/vqk.quiet.m4a",["voice.vl2"]],"audio/voice/derm1/vqk.quiet.wav":["audio/voice/Derm1/vqk.quiet.WAV",["voice.vl2"]],"audio/voice/derm1/vqk.sorry.m4a":["audio/voice/Derm1/vqk.sorry.m4a",["voice.vl2"]],"audio/voice/derm1/vqk.sorry.wav":["audio/voice/Derm1/vqk.sorry.wav",["voice.vl2"]],"audio/voice/derm1/vqk.thanks.m4a":["audio/voice/Derm1/vqk.thanks.m4a",["voice.vl2"]],"audio/voice/derm1/vqk.thanks.wav":["audio/voice/Derm1/vqk.thanks.wav",["voice.vl2"]],"audio/voice/derm1/vqk.wait.m4a":["audio/voice/Derm1/vqk.wait.m4a",["voice.vl2"]],"audio/voice/derm1/vqk.wait.wav":["audio/voice/Derm1/vqk.wait.wav",["voice.vl2"]],"audio/voice/derm1/vqk.yes.m4a":["audio/voice/Derm1/vqk.yes.m4a",["voice.vl2"]],"audio/voice/derm1/vqk.yes.wav":["audio/voice/Derm1/vqk.yes.wav",["voice.vl2"]],"audio/voice/derm1/wrn.bomber.m4a":["audio/voice/Derm1/wrn.bomber.m4a",["voice.vl2"]],"audio/voice/derm1/wrn.bomber.wav":["audio/voice/Derm1/wrn.bomber.wav",["voice.vl2"]],"audio/voice/derm1/wrn.enemy.m4a":["audio/voice/Derm1/wrn.enemy.m4a",["voice.vl2"]],"audio/voice/derm1/wrn.enemy.wav":["audio/voice/Derm1/wrn.enemy.wav",["voice.vl2"]],"audio/voice/derm1/wrn.vehicles.m4a":["audio/voice/Derm1/wrn.vehicles.m4a",["voice.vl2"]],"audio/voice/derm1/wrn.vehicles.wav":["audio/voice/Derm1/wrn.vehicles.wav",["voice.vl2"]],"audio/voice/derm1/wrn.watchit.m4a":["audio/voice/Derm1/wrn.watchit.m4a",["voice.vl2"]],"audio/voice/derm1/wrn.watchit.wav":["audio/voice/Derm1/wrn.watchit.wav",["voice.vl2"]],"audio/voice/derm2/att.attack.m4a":["audio/voice/Derm2/att.attack.m4a",["voice.vl2"]],"audio/voice/derm2/att.attack.wav":["audio/voice/Derm2/att.attack.WAV",["voice.vl2"]],"audio/voice/derm2/att.base.m4a":["audio/voice/Derm2/att.base.m4a",["voice.vl2"]],"audio/voice/derm2/att.base.wav":["audio/voice/Derm2/att.base.WAV",["voice.vl2"]],"audio/voice/derm2/att.chase.m4a":["audio/voice/Derm2/att.chase.m4a",["voice.vl2"]],"audio/voice/derm2/att.chase.wav":["audio/voice/Derm2/att.chase.WAV",["voice.vl2"]],"audio/voice/derm2/att.distract.m4a":["audio/voice/Derm2/att.distract.m4a",["voice.vl2"]],"audio/voice/derm2/att.distract.wav":["audio/voice/Derm2/att.distract.WAV",["voice.vl2"]],"audio/voice/derm2/att.flag.m4a":["audio/voice/Derm2/att.flag.m4a",["voice.vl2"]],"audio/voice/derm2/att.flag.wav":["audio/voice/Derm2/att.flag.WAV",["voice.vl2"]],"audio/voice/derm2/att.generator.m4a":["audio/voice/Derm2/att.generator.m4a",["voice.vl2"]],"audio/voice/derm2/att.generator.wav":["audio/voice/Derm2/att.generator.WAV",["voice.vl2"]],"audio/voice/derm2/att.objective.m4a":["audio/voice/Derm2/att.objective.m4a",["voice.vl2"]],"audio/voice/derm2/att.objective.wav":["audio/voice/Derm2/att.objective.WAV",["voice.vl2"]],"audio/voice/derm2/att.reinforcements.m4a":["audio/voice/Derm2/att.reinforcements.m4a",["voice.vl2"]],"audio/voice/derm2/att.reinforcements.wav":["audio/voice/Derm2/att.reinforcements.WAV",["voice.vl2"]],"audio/voice/derm2/att.sensors.m4a":["audio/voice/Derm2/att.sensors.m4a",["voice.vl2"]],"audio/voice/derm2/att.sensors.wav":["audio/voice/Derm2/att.sensors.WAV",["voice.vl2"]],"audio/voice/derm2/att.turrets.m4a":["audio/voice/Derm2/att.turrets.m4a",["voice.vl2"]],"audio/voice/derm2/att.turrets.wav":["audio/voice/Derm2/att.turrets.WAV",["voice.vl2"]],"audio/voice/derm2/att.vehicle.m4a":["audio/voice/Derm2/att.vehicle.m4a",["voice.vl2"]],"audio/voice/derm2/att.vehicle.wav":["audio/voice/Derm2/att.vehicle.WAV",["voice.vl2"]],"audio/voice/derm2/att.wait.m4a":["audio/voice/Derm2/att.wait.m4a",["voice.vl2"]],"audio/voice/derm2/att.wait.wav":["audio/voice/Derm2/att.wait.WAV",["voice.vl2"]],"audio/voice/derm2/avo.deathcry_01.m4a":["audio/voice/Derm2/avo.deathcry_01.m4a",["voice.vl2"]],"audio/voice/derm2/avo.deathcry_01.wav":["audio/voice/Derm2/avo.deathcry_01.WAV",["voice.vl2"]],"audio/voice/derm2/avo.deathcry_02.m4a":["audio/voice/Derm2/avo.deathcry_02.m4a",["voice.vl2"]],"audio/voice/derm2/avo.deathcry_02.wav":["audio/voice/Derm2/avo.deathcry_02.WAV",["voice.vl2"]],"audio/voice/derm2/avo.grunt.m4a":["audio/voice/Derm2/avo.grunt.m4a",["voice.vl2"]],"audio/voice/derm2/avo.grunt.wav":["audio/voice/Derm2/avo.grunt.WAV",["voice.vl2"]],"audio/voice/derm2/avo.pain.m4a":["audio/voice/Derm2/avo.pain.m4a",["voice.vl2"]],"audio/voice/derm2/avo.pain.wav":["audio/voice/Derm2/avo.pain.WAV",["voice.vl2"]],"audio/voice/derm2/bas.clear.m4a":["audio/voice/Derm2/bas.clear.m4a",["voice.vl2"]],"audio/voice/derm2/bas.clear.wav":["audio/voice/Derm2/bas.clear.WAV",["voice.vl2"]],"audio/voice/derm2/bas.enemy.m4a":["audio/voice/Derm2/bas.enemy.m4a",["voice.vl2"]],"audio/voice/derm2/bas.enemy.wav":["audio/voice/Derm2/bas.enemy.WAV",["voice.vl2"]],"audio/voice/derm2/bas.retake.m4a":["audio/voice/Derm2/bas.retake.m4a",["voice.vl2"]],"audio/voice/derm2/bas.retake.wav":["audio/voice/Derm2/bas.retake.WAV",["voice.vl2"]],"audio/voice/derm2/bas.secure.m4a":["audio/voice/Derm2/bas.secure.m4a",["voice.vl2"]],"audio/voice/derm2/bas.secure.wav":["audio/voice/Derm2/bas.secure.WAV",["voice.vl2"]],"audio/voice/derm2/bas.taken.m4a":["audio/voice/Derm2/bas.taken.m4a",["voice.vl2"]],"audio/voice/derm2/bas.taken.wav":["audio/voice/Derm2/bas.taken.WAV",["voice.vl2"]],"audio/voice/derm2/cmd.acknowledge.m4a":["audio/voice/Derm2/cmd.acknowledge.m4a",["voice.vl2"]],"audio/voice/derm2/cmd.acknowledge.wav":["audio/voice/Derm2/cmd.acknowledge.WAV",["voice.vl2"]],"audio/voice/derm2/cmd.bot.m4a":["audio/voice/Derm2/cmd.bot.m4a",["voice.vl2"]],"audio/voice/derm2/cmd.bot.wav":["audio/voice/Derm2/cmd.bot.WAV",["voice.vl2"]],"audio/voice/derm2/cmd.completed.m4a":["audio/voice/Derm2/cmd.completed.m4a",["voice.vl2"]],"audio/voice/derm2/cmd.completed.wav":["audio/voice/Derm2/cmd.completed.WAV",["voice.vl2"]],"audio/voice/derm2/cmd.decline.m4a":["audio/voice/Derm2/cmd.decline.m4a",["voice.vl2"]],"audio/voice/derm2/cmd.decline.wav":["audio/voice/Derm2/cmd.decline.WAV",["voice.vl2"]],"audio/voice/derm2/def.base.m4a":["audio/voice/Derm2/def.base.m4a",["voice.vl2"]],"audio/voice/derm2/def.base.wav":["audio/voice/Derm2/def.base.WAV",["voice.vl2"]],"audio/voice/derm2/def.carrier.m4a":["audio/voice/Derm2/def.carrier.m4a",["voice.vl2"]],"audio/voice/derm2/def.carrier.wav":["audio/voice/Derm2/def.carrier.WAV",["voice.vl2"]],"audio/voice/derm2/def.entrances.m4a":["audio/voice/Derm2/def.entrances.m4a",["voice.vl2"]],"audio/voice/derm2/def.entrances.wav":["audio/voice/Derm2/def.entrances.WAV",["voice.vl2"]],"audio/voice/derm2/def.flag.m4a":["audio/voice/Derm2/def.flag.m4a",["voice.vl2"]],"audio/voice/derm2/def.flag.wav":["audio/voice/Derm2/def.flag.WAV",["voice.vl2"]],"audio/voice/derm2/def.generator.m4a":["audio/voice/Derm2/def.generator.m4a",["voice.vl2"]],"audio/voice/derm2/def.generator.wav":["audio/voice/Derm2/def.generator.WAV",["voice.vl2"]],"audio/voice/derm2/def.me.m4a":["audio/voice/Derm2/def.me.m4a",["voice.vl2"]],"audio/voice/derm2/def.me.wav":["audio/voice/Derm2/def.me.WAV",["voice.vl2"]],"audio/voice/derm2/def.nexus.m4a":["audio/voice/Derm2/def.nexus.m4a",["voice.vl2"]],"audio/voice/derm2/def.nexus.wav":["audio/voice/Derm2/def.nexus.WAV",["voice.vl2"]],"audio/voice/derm2/def.objective.m4a":["audio/voice/Derm2/def.objective.m4a",["voice.vl2"]],"audio/voice/derm2/def.objective.wav":["audio/voice/Derm2/def.objective.WAV",["voice.vl2"]],"audio/voice/derm2/def.reinforce.m4a":["audio/voice/Derm2/def.reinforce.m4a",["voice.vl2"]],"audio/voice/derm2/def.reinforce.wav":["audio/voice/Derm2/def.reinforce.WAV",["voice.vl2"]],"audio/voice/derm2/def.sensors.m4a":["audio/voice/Derm2/def.sensors.m4a",["voice.vl2"]],"audio/voice/derm2/def.sensors.wav":["audio/voice/Derm2/def.sensors.WAV",["voice.vl2"]],"audio/voice/derm2/def.turrets.m4a":["audio/voice/Derm2/def.turrets.m4a",["voice.vl2"]],"audio/voice/derm2/def.turrets.wav":["audio/voice/Derm2/def.turrets.WAV",["voice.vl2"]],"audio/voice/derm2/def.vehicle.m4a":["audio/voice/Derm2/def.vehicle.m4a",["voice.vl2"]],"audio/voice/derm2/def.vehicle.wav":["audio/voice/Derm2/def.vehicle.WAV",["voice.vl2"]],"audio/voice/derm2/ene.base.m4a":["audio/voice/Derm2/ene.base.m4a",["voice.vl2"]],"audio/voice/derm2/ene.base.wav":["audio/voice/Derm2/ene.base.WAV",["voice.vl2"]],"audio/voice/derm2/ene.disarray.m4a":["audio/voice/Derm2/ene.disarray.m4a",["voice.vl2"]],"audio/voice/derm2/ene.disarray.wav":["audio/voice/Derm2/ene.disarray.WAV",["voice.vl2"]],"audio/voice/derm2/ene.generator.m4a":["audio/voice/Derm2/ene.generator.m4a",["voice.vl2"]],"audio/voice/derm2/ene.generator.wav":["audio/voice/Derm2/ene.generator.WAV",["voice.vl2"]],"audio/voice/derm2/ene.remotes.m4a":["audio/voice/Derm2/ene.remotes.m4a",["voice.vl2"]],"audio/voice/derm2/ene.remotes.wav":["audio/voice/Derm2/ene.remotes.WAV",["voice.vl2"]],"audio/voice/derm2/ene.sensors.m4a":["audio/voice/Derm2/ene.sensors.m4a",["voice.vl2"]],"audio/voice/derm2/ene.sensors.wav":["audio/voice/Derm2/ene.sensors.WAV",["voice.vl2"]],"audio/voice/derm2/ene.turrets.m4a":["audio/voice/Derm2/ene.turrets.m4a",["voice.vl2"]],"audio/voice/derm2/ene.turrets.wav":["audio/voice/Derm2/ene.turrets.WAV",["voice.vl2"]],"audio/voice/derm2/ene.vehicle.m4a":["audio/voice/Derm2/ene.vehicle.m4a",["voice.vl2"]],"audio/voice/derm2/ene.vehicle.wav":["audio/voice/Derm2/ene.vehicle.WAV",["voice.vl2"]],"audio/voice/derm2/flg.flag.m4a":["audio/voice/Derm2/flg.flag.m4a",["voice.vl2"]],"audio/voice/derm2/flg.flag.wav":["audio/voice/Derm2/flg.flag.WAV",["voice.vl2"]],"audio/voice/derm2/flg.give.m4a":["audio/voice/Derm2/flg.give.m4a",["voice.vl2"]],"audio/voice/derm2/flg.give.wav":["audio/voice/Derm2/flg.give.WAV",["voice.vl2"]],"audio/voice/derm2/flg.huntergive.m4a":["audio/voice/Derm2/flg.huntergive.m4a",["voice.vl2"]],"audio/voice/derm2/flg.huntergive.wav":["audio/voice/Derm2/flg.huntergive.WAV",["voice.vl2"]],"audio/voice/derm2/flg.huntertake.m4a":["audio/voice/Derm2/flg.huntertake.m4a",["voice.vl2"]],"audio/voice/derm2/flg.huntertake.wav":["audio/voice/Derm2/flg.huntertake.WAV",["voice.vl2"]],"audio/voice/derm2/flg.retrieve.m4a":["audio/voice/Derm2/flg.retrieve.m4a",["voice.vl2"]],"audio/voice/derm2/flg.retrieve.wav":["audio/voice/Derm2/flg.retrieve.WAV",["voice.vl2"]],"audio/voice/derm2/flg.secure.m4a":["audio/voice/Derm2/flg.secure.m4a",["voice.vl2"]],"audio/voice/derm2/flg.secure.wav":["audio/voice/Derm2/flg.secure.WAV",["voice.vl2"]],"audio/voice/derm2/flg.take.m4a":["audio/voice/Derm2/flg.take.m4a",["voice.vl2"]],"audio/voice/derm2/flg.take.wav":["audio/voice/Derm2/flg.take.WAV",["voice.vl2"]],"audio/voice/derm2/gbl.anytime.m4a":["audio/voice/Derm2/gbl.anytime.m4a",["voice.vl2"]],"audio/voice/derm2/gbl.anytime.wav":["audio/voice/Derm2/gbl.anytime.WAV",["voice.vl2"]],"audio/voice/derm2/gbl.awesome.m4a":["audio/voice/Derm2/gbl.awesome.m4a",["voice.vl2"]],"audio/voice/derm2/gbl.awesome.wav":["audio/voice/Derm2/gbl.awesome.WAV",["voice.vl2"]],"audio/voice/derm2/gbl.aww.m4a":["audio/voice/Derm2/gbl.aww.m4a",["voice.vl2"]],"audio/voice/derm2/gbl.aww.wav":["audio/voice/Derm2/gbl.aww.WAV",["voice.vl2"]],"audio/voice/derm2/gbl.brag.m4a":["audio/voice/Derm2/gbl.brag.m4a",["voice.vl2"]],"audio/voice/derm2/gbl.brag.wav":["audio/voice/Derm2/gbl.brag.WAV",["voice.vl2"]],"audio/voice/derm2/gbl.bye.m4a":["audio/voice/Derm2/gbl.bye.m4a",["voice.vl2"]],"audio/voice/derm2/gbl.bye.wav":["audio/voice/Derm2/gbl.bye.WAV",["voice.vl2"]],"audio/voice/derm2/gbl.dunno.m4a":["audio/voice/Derm2/gbl.dunno.m4a",["voice.vl2"]],"audio/voice/derm2/gbl.dunno.wav":["audio/voice/Derm2/gbl.dunno.WAV",["voice.vl2"]],"audio/voice/derm2/gbl.goodgame.m4a":["audio/voice/Derm2/gbl.goodgame.m4a",["voice.vl2"]],"audio/voice/derm2/gbl.goodgame.wav":["audio/voice/Derm2/gbl.goodgame.WAV",["voice.vl2"]],"audio/voice/derm2/gbl.hi.m4a":["audio/voice/Derm2/gbl.hi.m4a",["voice.vl2"]],"audio/voice/derm2/gbl.hi.wav":["audio/voice/Derm2/gbl.hi.WAV",["voice.vl2"]],"audio/voice/derm2/gbl.nice.m4a":["audio/voice/Derm2/gbl.nice.m4a",["voice.vl2"]],"audio/voice/derm2/gbl.nice.wav":["audio/voice/Derm2/gbl.nice.WAV",["voice.vl2"]],"audio/voice/derm2/gbl.no.m4a":["audio/voice/Derm2/gbl.no.m4a",["voice.vl2"]],"audio/voice/derm2/gbl.no.wav":["audio/voice/Derm2/gbl.no.WAV",["voice.vl2"]],"audio/voice/derm2/gbl.obnoxious.m4a":["audio/voice/Derm2/gbl.obnoxious.m4a",["voice.vl2"]],"audio/voice/derm2/gbl.obnoxious.wav":["audio/voice/Derm2/gbl.obnoxious.WAV",["voice.vl2"]],"audio/voice/derm2/gbl.oops.m4a":["audio/voice/Derm2/gbl.oops.m4a",["voice.vl2"]],"audio/voice/derm2/gbl.oops.wav":["audio/voice/Derm2/gbl.oops.WAV",["voice.vl2"]],"audio/voice/derm2/gbl.quiet.m4a":["audio/voice/Derm2/gbl.quiet.m4a",["voice.vl2"]],"audio/voice/derm2/gbl.quiet.wav":["audio/voice/Derm2/gbl.quiet.WAV",["voice.vl2"]],"audio/voice/derm2/gbl.rock.m4a":["audio/voice/Derm2/gbl.rock.m4a",["voice.vl2"]],"audio/voice/derm2/gbl.rock.wav":["audio/voice/Derm2/gbl.rock.WAV",["voice.vl2"]],"audio/voice/derm2/gbl.sarcasm.m4a":["audio/voice/Derm2/gbl.sarcasm.m4a",["voice.vl2"]],"audio/voice/derm2/gbl.sarcasm.wav":["audio/voice/Derm2/gbl.sarcasm.WAV",["voice.vl2"]],"audio/voice/derm2/gbl.shazbot.m4a":["audio/voice/Derm2/gbl.shazbot.m4a",["voice.vl2"]],"audio/voice/derm2/gbl.shazbot.wav":["audio/voice/Derm2/gbl.shazbot.WAV",["voice.vl2"]],"audio/voice/derm2/gbl.shooting.m4a":["audio/voice/Derm2/gbl.shooting.m4a",["voice.vl2"]],"audio/voice/derm2/gbl.shooting.wav":["audio/voice/Derm2/gbl.shooting.WAV",["voice.vl2"]],"audio/voice/derm2/gbl.thanks.m4a":["audio/voice/Derm2/gbl.thanks.m4a",["voice.vl2"]],"audio/voice/derm2/gbl.thanks.wav":["audio/voice/Derm2/gbl.thanks.WAV",["voice.vl2"]],"audio/voice/derm2/gbl.wait.m4a":["audio/voice/Derm2/gbl.wait.m4a",["voice.vl2"]],"audio/voice/derm2/gbl.wait.wav":["audio/voice/Derm2/gbl.wait.WAV",["voice.vl2"]],"audio/voice/derm2/gbl.when.m4a":["audio/voice/Derm2/gbl.when.m4a",["voice.vl2"]],"audio/voice/derm2/gbl.when.wav":["audio/voice/Derm2/gbl.when.WAV",["voice.vl2"]],"audio/voice/derm2/gbl.woohoo.m4a":["audio/voice/Derm2/gbl.woohoo.m4a",["voice.vl2"]],"audio/voice/derm2/gbl.woohoo.wav":["audio/voice/Derm2/gbl.woohoo.WAV",["voice.vl2"]],"audio/voice/derm2/gbl.yes.m4a":["audio/voice/Derm2/gbl.yes.m4a",["voice.vl2"]],"audio/voice/derm2/gbl.yes.wav":["audio/voice/Derm2/gbl.yes.WAV",["voice.vl2"]],"audio/voice/derm2/need.bombardier.m4a":["audio/voice/Derm2/need.bombardier.m4a",["voice.vl2"]],"audio/voice/derm2/need.bombardier.wav":["audio/voice/Derm2/need.bombardier.WAV",["voice.vl2"]],"audio/voice/derm2/need.cover.m4a":["audio/voice/Derm2/need.cover.m4a",["voice.vl2"]],"audio/voice/derm2/need.cover.wav":["audio/voice/Derm2/need.cover.WAV",["voice.vl2"]],"audio/voice/derm2/need.driver.m4a":["audio/voice/Derm2/need.driver.m4a",["voice.vl2"]],"audio/voice/derm2/need.driver.wav":["audio/voice/Derm2/need.driver.WAV",["voice.vl2"]],"audio/voice/derm2/need.escort.m4a":["audio/voice/Derm2/need.escort.m4a",["voice.vl2"]],"audio/voice/derm2/need.escort.wav":["audio/voice/Derm2/need.escort.WAV",["voice.vl2"]],"audio/voice/derm2/need.flyer.m4a":["audio/voice/Derm2/need.flyer.m4a",["voice.vl2"]],"audio/voice/derm2/need.flyer.wav":["audio/voice/Derm2/need.flyer.WAV",["voice.vl2"]],"audio/voice/derm2/need.gunship.m4a":["audio/voice/Derm2/need.gunship.m4a",["voice.vl2"]],"audio/voice/derm2/need.gunship.wav":["audio/voice/Derm2/need.gunship.WAV",["voice.vl2"]],"audio/voice/derm2/need.hold.m4a":["audio/voice/Derm2/need.hold.m4a",["voice.vl2"]],"audio/voice/derm2/need.hold.wav":["audio/voice/Derm2/need.hold.WAV",["voice.vl2"]],"audio/voice/derm2/need.ride.m4a":["audio/voice/Derm2/need.ride.m4a",["voice.vl2"]],"audio/voice/derm2/need.ride.wav":["audio/voice/Derm2/need.ride.WAV",["voice.vl2"]],"audio/voice/derm2/need.support.m4a":["audio/voice/Derm2/need.support.m4a",["voice.vl2"]],"audio/voice/derm2/need.support.wav":["audio/voice/Derm2/need.support.WAV",["voice.vl2"]],"audio/voice/derm2/need.tailgunner.m4a":["audio/voice/Derm2/need.tailgunner.m4a",["voice.vl2"]],"audio/voice/derm2/need.tailgunner.wav":["audio/voice/Derm2/need.tailgunner.WAV",["voice.vl2"]],"audio/voice/derm2/need.where.m4a":["audio/voice/Derm2/need.where.m4a",["voice.vl2"]],"audio/voice/derm2/need.where.wav":["audio/voice/Derm2/need.where.WAV",["voice.vl2"]],"audio/voice/derm2/rep.base.m4a":["audio/voice/Derm2/rep.base.m4a",["voice.vl2"]],"audio/voice/derm2/rep.base.wav":["audio/voice/Derm2/rep.base.WAV",["voice.vl2"]],"audio/voice/derm2/rep.generator.m4a":["audio/voice/Derm2/rep.generator.m4a",["voice.vl2"]],"audio/voice/derm2/rep.generator.wav":["audio/voice/Derm2/rep.generator.WAV",["voice.vl2"]],"audio/voice/derm2/rep.me.m4a":["audio/voice/Derm2/rep.me.m4a",["voice.vl2"]],"audio/voice/derm2/rep.me.wav":["audio/voice/Derm2/rep.me.WAV",["voice.vl2"]],"audio/voice/derm2/rep.sensors.m4a":["audio/voice/Derm2/rep.sensors.m4a",["voice.vl2"]],"audio/voice/derm2/rep.sensors.wav":["audio/voice/Derm2/rep.sensors.WAV",["voice.vl2"]],"audio/voice/derm2/rep.turrets.m4a":["audio/voice/Derm2/rep.turrets.m4a",["voice.vl2"]],"audio/voice/derm2/rep.turrets.wav":["audio/voice/Derm2/rep.turrets.WAV",["voice.vl2"]],"audio/voice/derm2/rep.vehicle.m4a":["audio/voice/Derm2/rep.vehicle.m4a",["voice.vl2"]],"audio/voice/derm2/rep.vehicle.wav":["audio/voice/Derm2/rep.vehicle.WAV",["voice.vl2"]],"audio/voice/derm2/slf.att.attack.m4a":["audio/voice/Derm2/slf.att.attack.m4a",["voice.vl2"]],"audio/voice/derm2/slf.att.attack.wav":["audio/voice/Derm2/slf.att.attack.WAV",["voice.vl2"]],"audio/voice/derm2/slf.att.base.m4a":["audio/voice/Derm2/slf.att.base.m4a",["voice.vl2"]],"audio/voice/derm2/slf.att.base.wav":["audio/voice/Derm2/slf.att.base.WAV",["voice.vl2"]],"audio/voice/derm2/slf.att.flag.m4a":["audio/voice/Derm2/slf.att.flag.m4a",["voice.vl2"]],"audio/voice/derm2/slf.att.flag.wav":["audio/voice/Derm2/slf.att.flag.WAV",["voice.vl2"]],"audio/voice/derm2/slf.att.generator.m4a":["audio/voice/Derm2/slf.att.generator.m4a",["voice.vl2"]],"audio/voice/derm2/slf.att.generator.wav":["audio/voice/Derm2/slf.att.generator.WAV",["voice.vl2"]],"audio/voice/derm2/slf.att.sensors.m4a":["audio/voice/Derm2/slf.att.sensors.m4a",["voice.vl2"]],"audio/voice/derm2/slf.att.sensors.wav":["audio/voice/Derm2/slf.att.sensors.WAV",["voice.vl2"]],"audio/voice/derm2/slf.att.turrets.m4a":["audio/voice/Derm2/slf.att.turrets.m4a",["voice.vl2"]],"audio/voice/derm2/slf.att.turrets.wav":["audio/voice/Derm2/slf.att.turrets.WAV",["voice.vl2"]],"audio/voice/derm2/slf.att.vehicle.m4a":["audio/voice/Derm2/slf.att.vehicle.m4a",["voice.vl2"]],"audio/voice/derm2/slf.att.vehicle.wav":["audio/voice/Derm2/slf.att.vehicle.WAV",["voice.vl2"]],"audio/voice/derm2/slf.def.base.m4a":["audio/voice/Derm2/slf.def.base.m4a",["voice.vl2"]],"audio/voice/derm2/slf.def.base.wav":["audio/voice/Derm2/slf.def.base.WAV",["voice.vl2"]],"audio/voice/derm2/slf.def.defend.m4a":["audio/voice/Derm2/slf.def.defend.m4a",["voice.vl2"]],"audio/voice/derm2/slf.def.defend.wav":["audio/voice/Derm2/slf.def.defend.WAV",["voice.vl2"]],"audio/voice/derm2/slf.def.flag.m4a":["audio/voice/Derm2/slf.def.flag.m4a",["voice.vl2"]],"audio/voice/derm2/slf.def.flag.wav":["audio/voice/Derm2/slf.def.flag.WAV",["voice.vl2"]],"audio/voice/derm2/slf.def.generator.m4a":["audio/voice/Derm2/slf.def.generator.m4a",["voice.vl2"]],"audio/voice/derm2/slf.def.generator.wav":["audio/voice/Derm2/slf.def.generator.WAV",["voice.vl2"]],"audio/voice/derm2/slf.def.nexus.m4a":["audio/voice/Derm2/slf.def.nexus.m4a",["voice.vl2"]],"audio/voice/derm2/slf.def.nexus.wav":["audio/voice/Derm2/slf.def.nexus.WAV",["voice.vl2"]],"audio/voice/derm2/slf.def.sensors.m4a":["audio/voice/Derm2/slf.def.sensors.m4a",["voice.vl2"]],"audio/voice/derm2/slf.def.sensors.wav":["audio/voice/Derm2/slf.def.sensors.WAV",["voice.vl2"]],"audio/voice/derm2/slf.def.turrets.m4a":["audio/voice/Derm2/slf.def.turrets.m4a",["voice.vl2"]],"audio/voice/derm2/slf.def.turrets.wav":["audio/voice/Derm2/slf.def.turrets.WAV",["voice.vl2"]],"audio/voice/derm2/slf.def.vehicle.m4a":["audio/voice/Derm2/slf.def.vehicle.m4a",["voice.vl2"]],"audio/voice/derm2/slf.def.vehicle.wav":["audio/voice/Derm2/slf.def.vehicle.WAV",["voice.vl2"]],"audio/voice/derm2/slf.rep.base.m4a":["audio/voice/Derm2/slf.rep.base.m4a",["voice.vl2"]],"audio/voice/derm2/slf.rep.base.wav":["audio/voice/Derm2/slf.rep.base.WAV",["voice.vl2"]],"audio/voice/derm2/slf.rep.equipment.m4a":["audio/voice/Derm2/slf.rep.equipment.m4a",["voice.vl2"]],"audio/voice/derm2/slf.rep.equipment.wav":["audio/voice/Derm2/slf.rep.equipment.WAV",["voice.vl2"]],"audio/voice/derm2/slf.rep.generator.m4a":["audio/voice/Derm2/slf.rep.generator.m4a",["voice.vl2"]],"audio/voice/derm2/slf.rep.generator.wav":["audio/voice/Derm2/slf.rep.generator.WAV",["voice.vl2"]],"audio/voice/derm2/slf.rep.repairing.m4a":["audio/voice/Derm2/slf.rep.repairing.m4a",["voice.vl2"]],"audio/voice/derm2/slf.rep.repairing.wav":["audio/voice/Derm2/slf.rep.repairing.WAV",["voice.vl2"]],"audio/voice/derm2/slf.rep.sensors.m4a":["audio/voice/Derm2/slf.rep.sensors.m4a",["voice.vl2"]],"audio/voice/derm2/slf.rep.sensors.wav":["audio/voice/Derm2/slf.rep.sensors.WAV",["voice.vl2"]],"audio/voice/derm2/slf.rep.turrets.m4a":["audio/voice/Derm2/slf.rep.turrets.m4a",["voice.vl2"]],"audio/voice/derm2/slf.rep.turrets.wav":["audio/voice/Derm2/slf.rep.turrets.WAV",["voice.vl2"]],"audio/voice/derm2/slf.rep.vehicle.m4a":["audio/voice/Derm2/slf.rep.vehicle.m4a",["voice.vl2"]],"audio/voice/derm2/slf.rep.vehicle.wav":["audio/voice/Derm2/slf.rep.vehicle.WAV",["voice.vl2"]],"audio/voice/derm2/slf.tsk.cover.m4a":["audio/voice/Derm2/slf.tsk.cover.m4a",["voice.vl2"]],"audio/voice/derm2/slf.tsk.cover.wav":["audio/voice/Derm2/slf.tsk.cover.WAV",["voice.vl2"]],"audio/voice/derm2/slf.tsk.defense.m4a":["audio/voice/Derm2/slf.tsk.defense.m4a",["voice.vl2"]],"audio/voice/derm2/slf.tsk.defense.wav":["audio/voice/Derm2/slf.tsk.defense.WAV",["voice.vl2"]],"audio/voice/derm2/slf.tsk.generic.m4a":["audio/voice/Derm2/slf.tsk.generic.m4a",["voice.vl2"]],"audio/voice/derm2/slf.tsk.generic.wav":["audio/voice/Derm2/slf.tsk.generic.WAV",["voice.vl2"]],"audio/voice/derm2/slf.tsk.remotes.m4a":["audio/voice/Derm2/slf.tsk.remotes.m4a",["voice.vl2"]],"audio/voice/derm2/slf.tsk.remotes.wav":["audio/voice/Derm2/slf.tsk.remotes.WAV",["voice.vl2"]],"audio/voice/derm2/slf.tsk.sensors.m4a":["audio/voice/Derm2/slf.tsk.sensors.m4a",["voice.vl2"]],"audio/voice/derm2/slf.tsk.sensors.wav":["audio/voice/Derm2/slf.tsk.sensors.WAV",["voice.vl2"]],"audio/voice/derm2/slf.tsk.turrets.m4a":["audio/voice/Derm2/slf.tsk.turrets.m4a",["voice.vl2"]],"audio/voice/derm2/slf.tsk.turrets.wav":["audio/voice/Derm2/slf.tsk.turrets.WAV",["voice.vl2"]],"audio/voice/derm2/slf.tsk.vehicle.m4a":["audio/voice/Derm2/slf.tsk.vehicle.m4a",["voice.vl2"]],"audio/voice/derm2/slf.tsk.vehicle.wav":["audio/voice/Derm2/slf.tsk.vehicle.WAV",["voice.vl2"]],"audio/voice/derm2/tgt.acquired.m4a":["audio/voice/Derm2/tgt.acquired.m4a",["voice.vl2"]],"audio/voice/derm2/tgt.acquired.wav":["audio/voice/Derm2/tgt.acquired.WAV",["voice.vl2"]],"audio/voice/derm2/tgt.base.m4a":["audio/voice/Derm2/tgt.base.m4a",["voice.vl2"]],"audio/voice/derm2/tgt.base.wav":["audio/voice/Derm2/tgt.base.WAV",["voice.vl2"]],"audio/voice/derm2/tgt.destroyed.m4a":["audio/voice/Derm2/tgt.destroyed.m4a",["voice.vl2"]],"audio/voice/derm2/tgt.destroyed.wav":["audio/voice/Derm2/tgt.destroyed.WAV",["voice.vl2"]],"audio/voice/derm2/tgt.flag.m4a":["audio/voice/Derm2/tgt.flag.m4a",["voice.vl2"]],"audio/voice/derm2/tgt.flag.wav":["audio/voice/Derm2/tgt.flag.WAV",["voice.vl2"]],"audio/voice/derm2/tgt.my.m4a":["audio/voice/Derm2/tgt.my.m4a",["voice.vl2"]],"audio/voice/derm2/tgt.my.wav":["audio/voice/Derm2/tgt.my.WAV",["voice.vl2"]],"audio/voice/derm2/tgt.need.m4a":["audio/voice/Derm2/tgt.need.m4a",["voice.vl2"]],"audio/voice/derm2/tgt.need.wav":["audio/voice/Derm2/tgt.need.WAV",["voice.vl2"]],"audio/voice/derm2/tgt.sensors.m4a":["audio/voice/Derm2/tgt.sensors.m4a",["voice.vl2"]],"audio/voice/derm2/tgt.sensors.wav":["audio/voice/Derm2/tgt.sensors.WAV",["voice.vl2"]],"audio/voice/derm2/tgt.turret.m4a":["audio/voice/Derm2/tgt.turret.m4a",["voice.vl2"]],"audio/voice/derm2/tgt.turret.wav":["audio/voice/Derm2/tgt.turret.WAV",["voice.vl2"]],"audio/voice/derm2/tgt.wait.m4a":["audio/voice/Derm2/tgt.wait.m4a",["voice.vl2"]],"audio/voice/derm2/tgt.wait.wav":["audio/voice/Derm2/tgt.wait.WAV",["voice.vl2"]],"audio/voice/derm2/vqk.anytime.m4a":["audio/voice/Derm2/vqk.anytime.m4a",["voice.vl2"]],"audio/voice/derm2/vqk.anytime.wav":["audio/voice/Derm2/vqk.anytime.WAV",["voice.vl2"]],"audio/voice/derm2/vqk.base.m4a":["audio/voice/Derm2/vqk.base.m4a",["voice.vl2"]],"audio/voice/derm2/vqk.base.wav":["audio/voice/Derm2/vqk.base.WAV",["voice.vl2"]],"audio/voice/derm2/vqk.ceasefire.m4a":["audio/voice/Derm2/vqk.ceasefire.m4a",["voice.vl2"]],"audio/voice/derm2/vqk.ceasefire.wav":["audio/voice/Derm2/vqk.ceasefire.WAV",["voice.vl2"]],"audio/voice/derm2/vqk.dunno.m4a":["audio/voice/Derm2/vqk.dunno.m4a",["voice.vl2"]],"audio/voice/derm2/vqk.dunno.wav":["audio/voice/Derm2/vqk.dunno.WAV",["voice.vl2"]],"audio/voice/derm2/vqk.help.m4a":["audio/voice/Derm2/vqk.help.m4a",["voice.vl2"]],"audio/voice/derm2/vqk.help.wav":["audio/voice/Derm2/vqk.help.WAV",["voice.vl2"]],"audio/voice/derm2/vqk.move.m4a":["audio/voice/Derm2/vqk.move.m4a",["voice.vl2"]],"audio/voice/derm2/vqk.move.wav":["audio/voice/Derm2/vqk.move.WAV",["voice.vl2"]],"audio/voice/derm2/vqk.no.m4a":["audio/voice/Derm2/vqk.no.m4a",["voice.vl2"]],"audio/voice/derm2/vqk.no.wav":["audio/voice/Derm2/vqk.no.WAV",["voice.vl2"]],"audio/voice/derm2/vqk.quiet.m4a":["audio/voice/Derm2/vqk.quiet.m4a",["voice.vl2"]],"audio/voice/derm2/vqk.quiet.wav":["audio/voice/Derm2/vqk.quiet.WAV",["voice.vl2"]],"audio/voice/derm2/vqk.sorry.m4a":["audio/voice/Derm2/vqk.sorry.m4a",["voice.vl2"]],"audio/voice/derm2/vqk.sorry.wav":["audio/voice/Derm2/vqk.sorry.WAV",["voice.vl2"]],"audio/voice/derm2/vqk.thanks.m4a":["audio/voice/Derm2/vqk.thanks.m4a",["voice.vl2"]],"audio/voice/derm2/vqk.thanks.wav":["audio/voice/Derm2/vqk.thanks.WAV",["voice.vl2"]],"audio/voice/derm2/vqk.wait.m4a":["audio/voice/Derm2/vqk.wait.m4a",["voice.vl2"]],"audio/voice/derm2/vqk.wait.wav":["audio/voice/Derm2/vqk.wait.WAV",["voice.vl2"]],"audio/voice/derm2/vqk.yes.m4a":["audio/voice/Derm2/vqk.yes.m4a",["voice.vl2"]],"audio/voice/derm2/vqk.yes.wav":["audio/voice/Derm2/vqk.yes.WAV",["voice.vl2"]],"audio/voice/derm2/wrn.bomber.m4a":["audio/voice/Derm2/wrn.bomber.m4a",["voice.vl2"]],"audio/voice/derm2/wrn.bomber.wav":["audio/voice/Derm2/wrn.bomber.WAV",["voice.vl2"]],"audio/voice/derm2/wrn.enemy.m4a":["audio/voice/Derm2/wrn.enemy.m4a",["voice.vl2"]],"audio/voice/derm2/wrn.enemy.wav":["audio/voice/Derm2/wrn.enemy.WAV",["voice.vl2"]],"audio/voice/derm2/wrn.vehicles.m4a":["audio/voice/Derm2/wrn.vehicles.m4a",["voice.vl2"]],"audio/voice/derm2/wrn.vehicles.wav":["audio/voice/Derm2/wrn.vehicles.WAV",["voice.vl2"]],"audio/voice/derm2/wrn.watchit.m4a":["audio/voice/Derm2/wrn.watchit.m4a",["voice.vl2"]],"audio/voice/derm2/wrn.watchit.wav":["audio/voice/Derm2/wrn.watchit.WAV",["voice.vl2"]],"audio/voice/derm3/att.attack.m4a":["audio/voice/Derm3/att.attack.m4a",["voice.vl2"]],"audio/voice/derm3/att.attack.wav":["audio/voice/Derm3/att.attack.WAV",["voice.vl2"]],"audio/voice/derm3/att.base.m4a":["audio/voice/Derm3/att.base.m4a",["voice.vl2"]],"audio/voice/derm3/att.base.wav":["audio/voice/Derm3/att.base.WAV",["voice.vl2"]],"audio/voice/derm3/att.chase.m4a":["audio/voice/Derm3/att.chase.m4a",["voice.vl2"]],"audio/voice/derm3/att.chase.wav":["audio/voice/Derm3/att.chase.WAV",["voice.vl2"]],"audio/voice/derm3/att.distract.m4a":["audio/voice/Derm3/att.distract.m4a",["voice.vl2"]],"audio/voice/derm3/att.distract.wav":["audio/voice/Derm3/att.distract.WAV",["voice.vl2"]],"audio/voice/derm3/att.flag.m4a":["audio/voice/Derm3/att.flag.m4a",["voice.vl2"]],"audio/voice/derm3/att.flag.wav":["audio/voice/Derm3/att.flag.WAV",["voice.vl2"]],"audio/voice/derm3/att.generator.m4a":["audio/voice/Derm3/att.generator.m4a",["voice.vl2"]],"audio/voice/derm3/att.generator.wav":["audio/voice/Derm3/att.generator.WAV",["voice.vl2"]],"audio/voice/derm3/att.objective.m4a":["audio/voice/Derm3/att.objective.m4a",["voice.vl2"]],"audio/voice/derm3/att.objective.wav":["audio/voice/Derm3/att.objective.WAV",["voice.vl2"]],"audio/voice/derm3/att.reinforcements.m4a":["audio/voice/Derm3/att.reinforcements.m4a",["voice.vl2"]],"audio/voice/derm3/att.reinforcements.wav":["audio/voice/Derm3/att.reinforcements.WAV",["voice.vl2"]],"audio/voice/derm3/att.sensors.m4a":["audio/voice/Derm3/att.sensors.m4a",["voice.vl2"]],"audio/voice/derm3/att.sensors.wav":["audio/voice/Derm3/att.sensors.WAV",["voice.vl2"]],"audio/voice/derm3/att.turrets.m4a":["audio/voice/Derm3/att.turrets.m4a",["voice.vl2"]],"audio/voice/derm3/att.turrets.wav":["audio/voice/Derm3/att.turrets.WAV",["voice.vl2"]],"audio/voice/derm3/att.vehicle.m4a":["audio/voice/Derm3/att.vehicle.m4a",["voice.vl2"]],"audio/voice/derm3/att.vehicle.wav":["audio/voice/Derm3/att.vehicle.WAV",["voice.vl2"]],"audio/voice/derm3/att.wait.m4a":["audio/voice/Derm3/att.wait.m4a",["voice.vl2"]],"audio/voice/derm3/att.wait.wav":["audio/voice/Derm3/att.wait.WAV",["voice.vl2"]],"audio/voice/derm3/avo.deathcry_01.m4a":["audio/voice/Derm3/avo.deathcry_01.m4a",["voice.vl2"]],"audio/voice/derm3/avo.deathcry_01.wav":["audio/voice/Derm3/avo.deathcry_01.WAV",["voice.vl2"]],"audio/voice/derm3/avo.deathcry_02.m4a":["audio/voice/Derm3/avo.deathcry_02.m4a",["voice.vl2"]],"audio/voice/derm3/avo.deathcry_02.wav":["audio/voice/Derm3/avo.deathcry_02.WAV",["voice.vl2"]],"audio/voice/derm3/avo.grunt.m4a":["audio/voice/Derm3/avo.grunt.m4a",["voice.vl2"]],"audio/voice/derm3/avo.grunt.wav":["audio/voice/Derm3/avo.grunt.WAV",["voice.vl2"]],"audio/voice/derm3/avo.pain.m4a":["audio/voice/Derm3/avo.pain.m4a",["voice.vl2"]],"audio/voice/derm3/avo.pain.wav":["audio/voice/Derm3/avo.pain.WAV",["voice.vl2"]],"audio/voice/derm3/bas.clear.m4a":["audio/voice/Derm3/bas.clear.m4a",["voice.vl2"]],"audio/voice/derm3/bas.clear.wav":["audio/voice/Derm3/bas.clear.WAV",["voice.vl2"]],"audio/voice/derm3/bas.enemy.m4a":["audio/voice/Derm3/bas.enemy.m4a",["voice.vl2"]],"audio/voice/derm3/bas.enemy.wav":["audio/voice/Derm3/bas.enemy.WAV",["voice.vl2"]],"audio/voice/derm3/bas.retake.m4a":["audio/voice/Derm3/bas.retake.m4a",["voice.vl2"]],"audio/voice/derm3/bas.retake.wav":["audio/voice/Derm3/bas.retake.WAV",["voice.vl2"]],"audio/voice/derm3/bas.secure.m4a":["audio/voice/Derm3/bas.secure.m4a",["voice.vl2"]],"audio/voice/derm3/bas.secure.wav":["audio/voice/Derm3/bas.secure.WAV",["voice.vl2"]],"audio/voice/derm3/bas.taken.m4a":["audio/voice/Derm3/bas.taken.m4a",["voice.vl2"]],"audio/voice/derm3/bas.taken.wav":["audio/voice/Derm3/bas.taken.WAV",["voice.vl2"]],"audio/voice/derm3/cmd.acknowledge.m4a":["audio/voice/Derm3/cmd.acknowledge.m4a",["voice.vl2"]],"audio/voice/derm3/cmd.acknowledge.wav":["audio/voice/Derm3/cmd.acknowledge.WAV",["voice.vl2"]],"audio/voice/derm3/cmd.bot.m4a":["audio/voice/Derm3/cmd.bot.m4a",["voice.vl2"]],"audio/voice/derm3/cmd.bot.wav":["audio/voice/Derm3/cmd.bot.WAV",["voice.vl2"]],"audio/voice/derm3/cmd.completed.m4a":["audio/voice/Derm3/cmd.completed.m4a",["voice.vl2"]],"audio/voice/derm3/cmd.completed.wav":["audio/voice/Derm3/cmd.completed.WAV",["voice.vl2"]],"audio/voice/derm3/cmd.decline.m4a":["audio/voice/Derm3/cmd.decline.m4a",["voice.vl2"]],"audio/voice/derm3/cmd.decline.wav":["audio/voice/Derm3/cmd.decline.WAV",["voice.vl2"]],"audio/voice/derm3/def.base.m4a":["audio/voice/Derm3/def.base.m4a",["voice.vl2"]],"audio/voice/derm3/def.base.wav":["audio/voice/Derm3/def.base.WAV",["voice.vl2"]],"audio/voice/derm3/def.carrier.m4a":["audio/voice/Derm3/def.carrier.m4a",["voice.vl2"]],"audio/voice/derm3/def.carrier.wav":["audio/voice/Derm3/def.carrier.WAV",["voice.vl2"]],"audio/voice/derm3/def.entrances.m4a":["audio/voice/Derm3/def.entrances.m4a",["voice.vl2"]],"audio/voice/derm3/def.entrances.wav":["audio/voice/Derm3/def.entrances.WAV",["voice.vl2"]],"audio/voice/derm3/def.flag.m4a":["audio/voice/Derm3/def.flag.m4a",["voice.vl2"]],"audio/voice/derm3/def.flag.wav":["audio/voice/Derm3/def.flag.WAV",["voice.vl2"]],"audio/voice/derm3/def.generator.m4a":["audio/voice/Derm3/def.generator.m4a",["voice.vl2"]],"audio/voice/derm3/def.generator.wav":["audio/voice/Derm3/def.generator.WAV",["voice.vl2"]],"audio/voice/derm3/def.me.m4a":["audio/voice/Derm3/def.me.m4a",["voice.vl2"]],"audio/voice/derm3/def.me.wav":["audio/voice/Derm3/def.me.WAV",["voice.vl2"]],"audio/voice/derm3/def.nexus.m4a":["audio/voice/Derm3/def.nexus.m4a",["voice.vl2"]],"audio/voice/derm3/def.nexus.wav":["audio/voice/Derm3/def.nexus.WAV",["voice.vl2"]],"audio/voice/derm3/def.objective.m4a":["audio/voice/Derm3/def.objective.m4a",["voice.vl2"]],"audio/voice/derm3/def.objective.wav":["audio/voice/Derm3/def.objective.WAV",["voice.vl2"]],"audio/voice/derm3/def.reinforce.m4a":["audio/voice/Derm3/def.reinforce.m4a",["voice.vl2"]],"audio/voice/derm3/def.reinforce.wav":["audio/voice/Derm3/def.reinforce.WAV",["voice.vl2"]],"audio/voice/derm3/def.sensors.m4a":["audio/voice/Derm3/def.sensors.m4a",["voice.vl2"]],"audio/voice/derm3/def.sensors.wav":["audio/voice/Derm3/def.sensors.WAV",["voice.vl2"]],"audio/voice/derm3/def.turrets.m4a":["audio/voice/Derm3/def.turrets.m4a",["voice.vl2"]],"audio/voice/derm3/def.turrets.wav":["audio/voice/Derm3/def.turrets.WAV",["voice.vl2"]],"audio/voice/derm3/def.vehicle.m4a":["audio/voice/Derm3/def.vehicle.m4a",["voice.vl2"]],"audio/voice/derm3/def.vehicle.wav":["audio/voice/Derm3/def.vehicle.WAV",["voice.vl2"]],"audio/voice/derm3/ene.base.m4a":["audio/voice/Derm3/ene.base.m4a",["voice.vl2"]],"audio/voice/derm3/ene.base.wav":["audio/voice/Derm3/ene.base.WAV",["voice.vl2"]],"audio/voice/derm3/ene.disarray.m4a":["audio/voice/Derm3/ene.disarray.m4a",["voice.vl2"]],"audio/voice/derm3/ene.disarray.wav":["audio/voice/Derm3/ene.disarray.WAV",["voice.vl2"]],"audio/voice/derm3/ene.generator.m4a":["audio/voice/Derm3/ene.generator.m4a",["voice.vl2"]],"audio/voice/derm3/ene.generator.wav":["audio/voice/Derm3/ene.generator.WAV",["voice.vl2"]],"audio/voice/derm3/ene.remotes.m4a":["audio/voice/Derm3/ene.remotes.m4a",["voice.vl2"]],"audio/voice/derm3/ene.remotes.wav":["audio/voice/Derm3/ene.remotes.WAV",["voice.vl2"]],"audio/voice/derm3/ene.sensors.m4a":["audio/voice/Derm3/ene.sensors.m4a",["voice.vl2"]],"audio/voice/derm3/ene.sensors.wav":["audio/voice/Derm3/ene.sensors.WAV",["voice.vl2"]],"audio/voice/derm3/ene.turrets.m4a":["audio/voice/Derm3/ene.turrets.m4a",["voice.vl2"]],"audio/voice/derm3/ene.turrets.wav":["audio/voice/Derm3/ene.turrets.WAV",["voice.vl2"]],"audio/voice/derm3/ene.vehicle.m4a":["audio/voice/Derm3/ene.vehicle.m4a",["voice.vl2"]],"audio/voice/derm3/ene.vehicle.wav":["audio/voice/Derm3/ene.vehicle.WAV",["voice.vl2"]],"audio/voice/derm3/flg.flag.m4a":["audio/voice/Derm3/flg.flag.m4a",["voice.vl2"]],"audio/voice/derm3/flg.flag.wav":["audio/voice/Derm3/flg.flag.WAV",["voice.vl2"]],"audio/voice/derm3/flg.give.m4a":["audio/voice/Derm3/flg.give.m4a",["voice.vl2"]],"audio/voice/derm3/flg.give.wav":["audio/voice/Derm3/flg.give.WAV",["voice.vl2"]],"audio/voice/derm3/flg.huntergive.m4a":["audio/voice/Derm3/flg.huntergive.m4a",["voice.vl2"]],"audio/voice/derm3/flg.huntergive.wav":["audio/voice/Derm3/flg.huntergive.WAV",["voice.vl2"]],"audio/voice/derm3/flg.huntertake.m4a":["audio/voice/Derm3/flg.huntertake.m4a",["voice.vl2"]],"audio/voice/derm3/flg.huntertake.wav":["audio/voice/Derm3/flg.huntertake.WAV",["voice.vl2"]],"audio/voice/derm3/flg.retrieve.m4a":["audio/voice/Derm3/flg.retrieve.m4a",["voice.vl2"]],"audio/voice/derm3/flg.retrieve.wav":["audio/voice/Derm3/flg.retrieve.WAV",["voice.vl2"]],"audio/voice/derm3/flg.secure.m4a":["audio/voice/Derm3/flg.secure.m4a",["voice.vl2"]],"audio/voice/derm3/flg.secure.wav":["audio/voice/Derm3/flg.secure.WAV",["voice.vl2"]],"audio/voice/derm3/flg.take.m4a":["audio/voice/Derm3/flg.take.m4a",["voice.vl2"]],"audio/voice/derm3/flg.take.wav":["audio/voice/Derm3/flg.take.WAV",["voice.vl2"]],"audio/voice/derm3/gbl.anytime.m4a":["audio/voice/Derm3/gbl.anytime.m4a",["voice.vl2"]],"audio/voice/derm3/gbl.anytime.wav":["audio/voice/Derm3/gbl.anytime.WAV",["voice.vl2"]],"audio/voice/derm3/gbl.awesome.m4a":["audio/voice/Derm3/gbl.awesome.m4a",["voice.vl2"]],"audio/voice/derm3/gbl.awesome.wav":["audio/voice/Derm3/gbl.awesome.WAV",["voice.vl2"]],"audio/voice/derm3/gbl.aww.m4a":["audio/voice/Derm3/gbl.aww.m4a",["voice.vl2"]],"audio/voice/derm3/gbl.aww.wav":["audio/voice/Derm3/gbl.aww.WAV",["voice.vl2"]],"audio/voice/derm3/gbl.brag.m4a":["audio/voice/Derm3/gbl.brag.m4a",["voice.vl2"]],"audio/voice/derm3/gbl.brag.wav":["audio/voice/Derm3/gbl.brag.WAV",["voice.vl2"]],"audio/voice/derm3/gbl.bye.m4a":["audio/voice/Derm3/gbl.bye.m4a",["voice.vl2"]],"audio/voice/derm3/gbl.bye.wav":["audio/voice/Derm3/gbl.bye.WAV",["voice.vl2"]],"audio/voice/derm3/gbl.dunno.m4a":["audio/voice/Derm3/gbl.dunno.m4a",["voice.vl2"]],"audio/voice/derm3/gbl.dunno.wav":["audio/voice/Derm3/gbl.dunno.WAV",["voice.vl2"]],"audio/voice/derm3/gbl.goodgame.m4a":["audio/voice/Derm3/gbl.goodgame.m4a",["voice.vl2"]],"audio/voice/derm3/gbl.goodgame.wav":["audio/voice/Derm3/gbl.goodgame.WAV",["voice.vl2"]],"audio/voice/derm3/gbl.hi.m4a":["audio/voice/Derm3/gbl.hi.m4a",["voice.vl2"]],"audio/voice/derm3/gbl.hi.wav":["audio/voice/Derm3/gbl.hi.WAV",["voice.vl2"]],"audio/voice/derm3/gbl.nice.m4a":["audio/voice/Derm3/gbl.nice.m4a",["voice.vl2"]],"audio/voice/derm3/gbl.nice.wav":["audio/voice/Derm3/gbl.nice.WAV",["voice.vl2"]],"audio/voice/derm3/gbl.no.m4a":["audio/voice/Derm3/gbl.no.m4a",["voice.vl2"]],"audio/voice/derm3/gbl.no.wav":["audio/voice/Derm3/gbl.no.WAV",["voice.vl2"]],"audio/voice/derm3/gbl.obnoxious.m4a":["audio/voice/Derm3/gbl.obnoxious.m4a",["voice.vl2"]],"audio/voice/derm3/gbl.obnoxious.wav":["audio/voice/Derm3/gbl.obnoxious.WAV",["voice.vl2"]],"audio/voice/derm3/gbl.oops.m4a":["audio/voice/Derm3/gbl.oops.m4a",["voice.vl2"]],"audio/voice/derm3/gbl.oops.wav":["audio/voice/Derm3/gbl.oops.WAV",["voice.vl2"]],"audio/voice/derm3/gbl.quiet.m4a":["audio/voice/Derm3/gbl.quiet.m4a",["voice.vl2"]],"audio/voice/derm3/gbl.quiet.wav":["audio/voice/Derm3/gbl.quiet.WAV",["voice.vl2"]],"audio/voice/derm3/gbl.rock.m4a":["audio/voice/Derm3/gbl.rock.m4a",["voice.vl2"]],"audio/voice/derm3/gbl.rock.wav":["audio/voice/Derm3/gbl.rock.WAV",["voice.vl2"]],"audio/voice/derm3/gbl.sarcasm.m4a":["audio/voice/Derm3/gbl.sarcasm.m4a",["voice.vl2"]],"audio/voice/derm3/gbl.sarcasm.wav":["audio/voice/Derm3/gbl.sarcasm.WAV",["voice.vl2"]],"audio/voice/derm3/gbl.shazbot.m4a":["audio/voice/Derm3/gbl.shazbot.m4a",["voice.vl2"]],"audio/voice/derm3/gbl.shazbot.wav":["audio/voice/Derm3/gbl.shazbot.WAV",["voice.vl2"]],"audio/voice/derm3/gbl.shooting.m4a":["audio/voice/Derm3/gbl.shooting.m4a",["voice.vl2"]],"audio/voice/derm3/gbl.shooting.wav":["audio/voice/Derm3/gbl.shooting.WAV",["voice.vl2"]],"audio/voice/derm3/gbl.thanks.m4a":["audio/voice/Derm3/gbl.thanks.m4a",["voice.vl2"]],"audio/voice/derm3/gbl.thanks.wav":["audio/voice/Derm3/gbl.thanks.WAV",["voice.vl2"]],"audio/voice/derm3/gbl.wait.m4a":["audio/voice/Derm3/gbl.wait.m4a",["voice.vl2"]],"audio/voice/derm3/gbl.wait.wav":["audio/voice/Derm3/gbl.wait.WAV",["voice.vl2"]],"audio/voice/derm3/gbl.when.m4a":["audio/voice/Derm3/gbl.when.m4a",["voice.vl2"]],"audio/voice/derm3/gbl.when.wav":["audio/voice/Derm3/gbl.when.WAV",["voice.vl2"]],"audio/voice/derm3/gbl.woohoo.m4a":["audio/voice/Derm3/gbl.woohoo.m4a",["voice.vl2"]],"audio/voice/derm3/gbl.woohoo.wav":["audio/voice/Derm3/gbl.woohoo.WAV",["voice.vl2"]],"audio/voice/derm3/gbl.yes.m4a":["audio/voice/Derm3/gbl.yes.m4a",["voice.vl2"]],"audio/voice/derm3/gbl.yes.wav":["audio/voice/Derm3/gbl.yes.WAV",["voice.vl2"]],"audio/voice/derm3/need.bombardier.m4a":["audio/voice/Derm3/need.bombardier.m4a",["voice.vl2"]],"audio/voice/derm3/need.bombardier.wav":["audio/voice/Derm3/need.bombardier.WAV",["voice.vl2"]],"audio/voice/derm3/need.cover.m4a":["audio/voice/Derm3/need.cover.m4a",["voice.vl2"]],"audio/voice/derm3/need.cover.wav":["audio/voice/Derm3/need.cover.WAV",["voice.vl2"]],"audio/voice/derm3/need.driver.m4a":["audio/voice/Derm3/need.driver.m4a",["voice.vl2"]],"audio/voice/derm3/need.driver.wav":["audio/voice/Derm3/need.driver.WAV",["voice.vl2"]],"audio/voice/derm3/need.escort.m4a":["audio/voice/Derm3/need.escort.m4a",["voice.vl2"]],"audio/voice/derm3/need.escort.wav":["audio/voice/Derm3/need.escort.WAV",["voice.vl2"]],"audio/voice/derm3/need.flyer.m4a":["audio/voice/Derm3/need.flyer.m4a",["voice.vl2"]],"audio/voice/derm3/need.flyer.wav":["audio/voice/Derm3/need.flyer.WAV",["voice.vl2"]],"audio/voice/derm3/need.gunship.m4a":["audio/voice/Derm3/need.gunship.m4a",["voice.vl2"]],"audio/voice/derm3/need.gunship.wav":["audio/voice/Derm3/need.gunship.WAV",["voice.vl2"]],"audio/voice/derm3/need.hold.m4a":["audio/voice/Derm3/need.hold.m4a",["voice.vl2"]],"audio/voice/derm3/need.hold.wav":["audio/voice/Derm3/need.hold.WAV",["voice.vl2"]],"audio/voice/derm3/need.ride.m4a":["audio/voice/Derm3/need.ride.m4a",["voice.vl2"]],"audio/voice/derm3/need.ride.wav":["audio/voice/Derm3/need.ride.WAV",["voice.vl2"]],"audio/voice/derm3/need.support.m4a":["audio/voice/Derm3/need.support.m4a",["voice.vl2"]],"audio/voice/derm3/need.support.wav":["audio/voice/Derm3/need.support.WAV",["voice.vl2"]],"audio/voice/derm3/need.tailgunner.m4a":["audio/voice/Derm3/need.tailgunner.m4a",["voice.vl2"]],"audio/voice/derm3/need.tailgunner.wav":["audio/voice/Derm3/need.tailgunner.WAV",["voice.vl2"]],"audio/voice/derm3/need.where.m4a":["audio/voice/Derm3/need.where.m4a",["voice.vl2"]],"audio/voice/derm3/need.where.wav":["audio/voice/Derm3/need.where.WAV",["voice.vl2"]],"audio/voice/derm3/rep.base.m4a":["audio/voice/Derm3/rep.base.m4a",["voice.vl2"]],"audio/voice/derm3/rep.base.wav":["audio/voice/Derm3/rep.base.WAV",["voice.vl2"]],"audio/voice/derm3/rep.generator.m4a":["audio/voice/Derm3/rep.generator.m4a",["voice.vl2"]],"audio/voice/derm3/rep.generator.wav":["audio/voice/Derm3/rep.generator.WAV",["voice.vl2"]],"audio/voice/derm3/rep.me.m4a":["audio/voice/Derm3/rep.me.m4a",["voice.vl2"]],"audio/voice/derm3/rep.me.wav":["audio/voice/Derm3/rep.me.WAV",["voice.vl2"]],"audio/voice/derm3/rep.sensors.m4a":["audio/voice/Derm3/rep.sensors.m4a",["voice.vl2"]],"audio/voice/derm3/rep.sensors.wav":["audio/voice/Derm3/rep.sensors.WAV",["voice.vl2"]],"audio/voice/derm3/rep.turrets.m4a":["audio/voice/Derm3/rep.turrets.m4a",["voice.vl2"]],"audio/voice/derm3/rep.turrets.wav":["audio/voice/Derm3/rep.turrets.WAV",["voice.vl2"]],"audio/voice/derm3/rep.vehicle.m4a":["audio/voice/Derm3/rep.vehicle.m4a",["voice.vl2"]],"audio/voice/derm3/rep.vehicle.wav":["audio/voice/Derm3/rep.vehicle.WAV",["voice.vl2"]],"audio/voice/derm3/slf.att.attack.m4a":["audio/voice/Derm3/slf.att.attack.m4a",["voice.vl2"]],"audio/voice/derm3/slf.att.attack.wav":["audio/voice/Derm3/slf.att.attack.WAV",["voice.vl2"]],"audio/voice/derm3/slf.att.base.m4a":["audio/voice/Derm3/slf.att.base.m4a",["voice.vl2"]],"audio/voice/derm3/slf.att.base.wav":["audio/voice/Derm3/slf.att.base.WAV",["voice.vl2"]],"audio/voice/derm3/slf.att.flag.m4a":["audio/voice/Derm3/slf.att.flag.m4a",["voice.vl2"]],"audio/voice/derm3/slf.att.flag.wav":["audio/voice/Derm3/slf.att.flag.WAV",["voice.vl2"]],"audio/voice/derm3/slf.att.generator.m4a":["audio/voice/Derm3/slf.att.generator.m4a",["voice.vl2"]],"audio/voice/derm3/slf.att.generator.wav":["audio/voice/Derm3/slf.att.generator.WAV",["voice.vl2"]],"audio/voice/derm3/slf.att.sensors.m4a":["audio/voice/Derm3/slf.att.sensors.m4a",["voice.vl2"]],"audio/voice/derm3/slf.att.sensors.wav":["audio/voice/Derm3/slf.att.sensors.WAV",["voice.vl2"]],"audio/voice/derm3/slf.att.turrets.m4a":["audio/voice/Derm3/slf.att.turrets.m4a",["voice.vl2"]],"audio/voice/derm3/slf.att.turrets.wav":["audio/voice/Derm3/slf.att.turrets.WAV",["voice.vl2"]],"audio/voice/derm3/slf.att.vehicle.m4a":["audio/voice/Derm3/slf.att.vehicle.m4a",["voice.vl2"]],"audio/voice/derm3/slf.att.vehicle.wav":["audio/voice/Derm3/slf.att.vehicle.WAV",["voice.vl2"]],"audio/voice/derm3/slf.def.base.m4a":["audio/voice/Derm3/slf.def.base.m4a",["voice.vl2"]],"audio/voice/derm3/slf.def.base.wav":["audio/voice/Derm3/slf.def.base.WAV",["voice.vl2"]],"audio/voice/derm3/slf.def.defend.m4a":["audio/voice/Derm3/slf.def.defend.m4a",["voice.vl2"]],"audio/voice/derm3/slf.def.defend.wav":["audio/voice/Derm3/slf.def.defend.WAV",["voice.vl2"]],"audio/voice/derm3/slf.def.flag.m4a":["audio/voice/Derm3/slf.def.flag.m4a",["voice.vl2"]],"audio/voice/derm3/slf.def.flag.wav":["audio/voice/Derm3/slf.def.flag.WAV",["voice.vl2"]],"audio/voice/derm3/slf.def.generator.m4a":["audio/voice/Derm3/slf.def.generator.m4a",["voice.vl2"]],"audio/voice/derm3/slf.def.generator.wav":["audio/voice/Derm3/slf.def.generator.WAV",["voice.vl2"]],"audio/voice/derm3/slf.def.nexus.m4a":["audio/voice/Derm3/slf.def.nexus.m4a",["voice.vl2"]],"audio/voice/derm3/slf.def.nexus.wav":["audio/voice/Derm3/slf.def.nexus.WAV",["voice.vl2"]],"audio/voice/derm3/slf.def.sensors.m4a":["audio/voice/Derm3/slf.def.sensors.m4a",["voice.vl2"]],"audio/voice/derm3/slf.def.sensors.wav":["audio/voice/Derm3/slf.def.sensors.WAV",["voice.vl2"]],"audio/voice/derm3/slf.def.turrets.m4a":["audio/voice/Derm3/slf.def.turrets.m4a",["voice.vl2"]],"audio/voice/derm3/slf.def.turrets.wav":["audio/voice/Derm3/slf.def.turrets.WAV",["voice.vl2"]],"audio/voice/derm3/slf.def.vehicle.m4a":["audio/voice/Derm3/slf.def.vehicle.m4a",["voice.vl2"]],"audio/voice/derm3/slf.def.vehicle.wav":["audio/voice/Derm3/slf.def.vehicle.WAV",["voice.vl2"]],"audio/voice/derm3/slf.rep.base.m4a":["audio/voice/Derm3/slf.rep.base.m4a",["voice.vl2"]],"audio/voice/derm3/slf.rep.base.wav":["audio/voice/Derm3/slf.rep.base.WAV",["voice.vl2"]],"audio/voice/derm3/slf.rep.equipment.m4a":["audio/voice/Derm3/slf.rep.equipment.m4a",["voice.vl2"]],"audio/voice/derm3/slf.rep.equipment.wav":["audio/voice/Derm3/slf.rep.equipment.WAV",["voice.vl2"]],"audio/voice/derm3/slf.rep.generator.m4a":["audio/voice/Derm3/slf.rep.generator.m4a",["voice.vl2"]],"audio/voice/derm3/slf.rep.generator.wav":["audio/voice/Derm3/slf.rep.generator.WAV",["voice.vl2"]],"audio/voice/derm3/slf.rep.repairing.m4a":["audio/voice/Derm3/slf.rep.repairing.m4a",["voice.vl2"]],"audio/voice/derm3/slf.rep.repairing.wav":["audio/voice/Derm3/slf.rep.repairing.WAV",["voice.vl2"]],"audio/voice/derm3/slf.rep.sensors.m4a":["audio/voice/Derm3/slf.rep.sensors.m4a",["voice.vl2"]],"audio/voice/derm3/slf.rep.sensors.wav":["audio/voice/Derm3/slf.rep.sensors.WAV",["voice.vl2"]],"audio/voice/derm3/slf.rep.turrets.m4a":["audio/voice/Derm3/slf.rep.turrets.m4a",["voice.vl2"]],"audio/voice/derm3/slf.rep.turrets.wav":["audio/voice/Derm3/slf.rep.turrets.WAV",["voice.vl2"]],"audio/voice/derm3/slf.rep.vehicle.m4a":["audio/voice/Derm3/slf.rep.vehicle.m4a",["voice.vl2"]],"audio/voice/derm3/slf.rep.vehicle.wav":["audio/voice/Derm3/slf.rep.vehicle.WAV",["voice.vl2"]],"audio/voice/derm3/slf.tsk.cover.m4a":["audio/voice/Derm3/slf.tsk.cover.m4a",["voice.vl2"]],"audio/voice/derm3/slf.tsk.cover.wav":["audio/voice/Derm3/slf.tsk.cover.WAV",["voice.vl2"]],"audio/voice/derm3/slf.tsk.defense.m4a":["audio/voice/Derm3/slf.tsk.defense.m4a",["voice.vl2"]],"audio/voice/derm3/slf.tsk.defense.wav":["audio/voice/Derm3/slf.tsk.defense.WAV",["voice.vl2"]],"audio/voice/derm3/slf.tsk.generic.m4a":["audio/voice/Derm3/slf.tsk.generic.m4a",["voice.vl2"]],"audio/voice/derm3/slf.tsk.generic.wav":["audio/voice/Derm3/slf.tsk.generic.WAV",["voice.vl2"]],"audio/voice/derm3/slf.tsk.remotes.m4a":["audio/voice/Derm3/slf.tsk.remotes.m4a",["voice.vl2"]],"audio/voice/derm3/slf.tsk.remotes.wav":["audio/voice/Derm3/slf.tsk.remotes.WAV",["voice.vl2"]],"audio/voice/derm3/slf.tsk.sensors.m4a":["audio/voice/Derm3/slf.tsk.sensors.m4a",["voice.vl2"]],"audio/voice/derm3/slf.tsk.sensors.wav":["audio/voice/Derm3/slf.tsk.sensors.WAV",["voice.vl2"]],"audio/voice/derm3/slf.tsk.turrets.m4a":["audio/voice/Derm3/slf.tsk.turrets.m4a",["voice.vl2"]],"audio/voice/derm3/slf.tsk.turrets.wav":["audio/voice/Derm3/slf.tsk.turrets.WAV",["voice.vl2"]],"audio/voice/derm3/slf.tsk.vehicle.m4a":["audio/voice/Derm3/slf.tsk.vehicle.m4a",["voice.vl2"]],"audio/voice/derm3/slf.tsk.vehicle.wav":["audio/voice/Derm3/slf.tsk.vehicle.WAV",["voice.vl2"]],"audio/voice/derm3/tgt.acquired.m4a":["audio/voice/Derm3/tgt.acquired.m4a",["voice.vl2"]],"audio/voice/derm3/tgt.acquired.wav":["audio/voice/Derm3/tgt.acquired.WAV",["voice.vl2"]],"audio/voice/derm3/tgt.base.m4a":["audio/voice/Derm3/tgt.base.m4a",["voice.vl2"]],"audio/voice/derm3/tgt.base.wav":["audio/voice/Derm3/tgt.base.WAV",["voice.vl2"]],"audio/voice/derm3/tgt.destroyed.m4a":["audio/voice/Derm3/tgt.destroyed.m4a",["voice.vl2"]],"audio/voice/derm3/tgt.destroyed.wav":["audio/voice/Derm3/tgt.destroyed.WAV",["voice.vl2"]],"audio/voice/derm3/tgt.flag.m4a":["audio/voice/Derm3/tgt.flag.m4a",["voice.vl2"]],"audio/voice/derm3/tgt.flag.wav":["audio/voice/Derm3/tgt.flag.WAV",["voice.vl2"]],"audio/voice/derm3/tgt.my.m4a":["audio/voice/Derm3/tgt.my.m4a",["voice.vl2"]],"audio/voice/derm3/tgt.my.wav":["audio/voice/Derm3/tgt.my.WAV",["voice.vl2"]],"audio/voice/derm3/tgt.need.m4a":["audio/voice/Derm3/tgt.need.m4a",["voice.vl2"]],"audio/voice/derm3/tgt.need.wav":["audio/voice/Derm3/tgt.need.WAV",["voice.vl2"]],"audio/voice/derm3/tgt.sensors.m4a":["audio/voice/Derm3/tgt.sensors.m4a",["voice.vl2"]],"audio/voice/derm3/tgt.sensors.wav":["audio/voice/Derm3/tgt.sensors.WAV",["voice.vl2"]],"audio/voice/derm3/tgt.turret.m4a":["audio/voice/Derm3/tgt.turret.m4a",["voice.vl2"]],"audio/voice/derm3/tgt.turret.wav":["audio/voice/Derm3/tgt.turret.WAV",["voice.vl2"]],"audio/voice/derm3/tgt.wait.m4a":["audio/voice/Derm3/tgt.wait.m4a",["voice.vl2"]],"audio/voice/derm3/tgt.wait.wav":["audio/voice/Derm3/tgt.wait.WAV",["voice.vl2"]],"audio/voice/derm3/vqk.anytime.m4a":["audio/voice/Derm3/vqk.anytime.m4a",["voice.vl2"]],"audio/voice/derm3/vqk.anytime.wav":["audio/voice/Derm3/vqk.anytime.WAV",["voice.vl2"]],"audio/voice/derm3/vqk.base.m4a":["audio/voice/Derm3/vqk.base.m4a",["voice.vl2"]],"audio/voice/derm3/vqk.base.wav":["audio/voice/Derm3/vqk.base.WAV",["voice.vl2"]],"audio/voice/derm3/vqk.ceasefire.m4a":["audio/voice/Derm3/vqk.ceasefire.m4a",["voice.vl2"]],"audio/voice/derm3/vqk.ceasefire.wav":["audio/voice/Derm3/vqk.ceasefire.WAV",["voice.vl2"]],"audio/voice/derm3/vqk.dunno.m4a":["audio/voice/Derm3/vqk.dunno.m4a",["voice.vl2"]],"audio/voice/derm3/vqk.dunno.wav":["audio/voice/Derm3/vqk.dunno.WAV",["voice.vl2"]],"audio/voice/derm3/vqk.help.m4a":["audio/voice/Derm3/vqk.help.m4a",["voice.vl2"]],"audio/voice/derm3/vqk.help.wav":["audio/voice/Derm3/vqk.help.WAV",["voice.vl2"]],"audio/voice/derm3/vqk.move.m4a":["audio/voice/Derm3/vqk.move.m4a",["voice.vl2"]],"audio/voice/derm3/vqk.move.wav":["audio/voice/Derm3/vqk.move.WAV",["voice.vl2"]],"audio/voice/derm3/vqk.no.m4a":["audio/voice/Derm3/vqk.no.m4a",["voice.vl2"]],"audio/voice/derm3/vqk.no.wav":["audio/voice/Derm3/vqk.no.WAV",["voice.vl2"]],"audio/voice/derm3/vqk.quiet.m4a":["audio/voice/Derm3/vqk.quiet.m4a",["voice.vl2"]],"audio/voice/derm3/vqk.quiet.wav":["audio/voice/Derm3/vqk.quiet.WAV",["voice.vl2"]],"audio/voice/derm3/vqk.sorry.m4a":["audio/voice/Derm3/vqk.sorry.m4a",["voice.vl2"]],"audio/voice/derm3/vqk.sorry.wav":["audio/voice/Derm3/vqk.sorry.WAV",["voice.vl2"]],"audio/voice/derm3/vqk.thanks.m4a":["audio/voice/Derm3/vqk.thanks.m4a",["voice.vl2"]],"audio/voice/derm3/vqk.thanks.wav":["audio/voice/Derm3/vqk.thanks.WAV",["voice.vl2"]],"audio/voice/derm3/vqk.wait.m4a":["audio/voice/Derm3/vqk.wait.m4a",["voice.vl2"]],"audio/voice/derm3/vqk.wait.wav":["audio/voice/Derm3/vqk.wait.WAV",["voice.vl2"]],"audio/voice/derm3/vqk.yes.m4a":["audio/voice/Derm3/vqk.yes.m4a",["voice.vl2"]],"audio/voice/derm3/vqk.yes.wav":["audio/voice/Derm3/vqk.yes.WAV",["voice.vl2"]],"audio/voice/derm3/wrn.bomber.m4a":["audio/voice/Derm3/wrn.bomber.m4a",["voice.vl2"]],"audio/voice/derm3/wrn.bomber.wav":["audio/voice/Derm3/wrn.bomber.WAV",["voice.vl2"]],"audio/voice/derm3/wrn.enemy.m4a":["audio/voice/Derm3/wrn.enemy.m4a",["voice.vl2"]],"audio/voice/derm3/wrn.enemy.wav":["audio/voice/Derm3/wrn.enemy.WAV",["voice.vl2"]],"audio/voice/derm3/wrn.vehicles.m4a":["audio/voice/Derm3/wrn.vehicles.m4a",["voice.vl2"]],"audio/voice/derm3/wrn.vehicles.wav":["audio/voice/Derm3/wrn.vehicles.WAV",["voice.vl2"]],"audio/voice/derm3/wrn.watchit.m4a":["audio/voice/Derm3/wrn.watchit.m4a",["voice.vl2"]],"audio/voice/derm3/wrn.watchit.wav":["audio/voice/Derm3/wrn.watchit.WAV",["voice.vl2"]],"audio/voice/fem1/att.attack.m4a":["audio/voice/Fem1/att.attack.m4a",["voice.vl2"]],"audio/voice/fem1/att.attack.wav":["audio/voice/Fem1/att.attack.WAV",["voice.vl2"]],"audio/voice/fem1/att.base.m4a":["audio/voice/Fem1/att.base.m4a",["voice.vl2"]],"audio/voice/fem1/att.base.wav":["audio/voice/Fem1/att.base.WAV",["voice.vl2"]],"audio/voice/fem1/att.chase.m4a":["audio/voice/Fem1/att.chase.m4a",["voice.vl2"]],"audio/voice/fem1/att.chase.wav":["audio/voice/Fem1/att.chase.WAV",["voice.vl2"]],"audio/voice/fem1/att.distract.m4a":["audio/voice/Fem1/att.distract.m4a",["voice.vl2"]],"audio/voice/fem1/att.distract.wav":["audio/voice/Fem1/att.distract.WAV",["voice.vl2"]],"audio/voice/fem1/att.flag.m4a":["audio/voice/Fem1/att.flag.m4a",["voice.vl2"]],"audio/voice/fem1/att.flag.wav":["audio/voice/Fem1/att.flag.WAV",["voice.vl2"]],"audio/voice/fem1/att.generator.m4a":["audio/voice/Fem1/att.generator.m4a",["voice.vl2"]],"audio/voice/fem1/att.generator.wav":["audio/voice/Fem1/att.generator.WAV",["voice.vl2"]],"audio/voice/fem1/att.objective.m4a":["audio/voice/Fem1/att.objective.m4a",["voice.vl2"]],"audio/voice/fem1/att.objective.wav":["audio/voice/Fem1/att.objective.WAV",["voice.vl2"]],"audio/voice/fem1/att.reinforcements.m4a":["audio/voice/Fem1/att.reinforcements.m4a",["voice.vl2"]],"audio/voice/fem1/att.reinforcements.wav":["audio/voice/Fem1/att.reinforcements.WAV",["voice.vl2"]],"audio/voice/fem1/att.sensors.m4a":["audio/voice/Fem1/att.sensors.m4a",["voice.vl2"]],"audio/voice/fem1/att.sensors.wav":["audio/voice/Fem1/att.sensors.WAV",["voice.vl2"]],"audio/voice/fem1/att.turrets.m4a":["audio/voice/Fem1/att.turrets.m4a",["voice.vl2"]],"audio/voice/fem1/att.turrets.wav":["audio/voice/Fem1/att.turrets.WAV",["voice.vl2"]],"audio/voice/fem1/att.vehicle.m4a":["audio/voice/Fem1/att.vehicle.m4a",["voice.vl2"]],"audio/voice/fem1/att.vehicle.wav":["audio/voice/Fem1/att.vehicle.WAV",["voice.vl2"]],"audio/voice/fem1/att.wait.m4a":["audio/voice/Fem1/att.wait.m4a",["voice.vl2"]],"audio/voice/fem1/att.wait.wav":["audio/voice/Fem1/att.wait.WAV",["voice.vl2"]],"audio/voice/fem1/avo.deathcry_01.m4a":["audio/voice/Fem1/avo.deathcry_01.m4a",["voice.vl2"]],"audio/voice/fem1/avo.deathcry_01.wav":["audio/voice/Fem1/avo.deathcry_01.WAV",["voice.vl2"]],"audio/voice/fem1/avo.deathcry_02.m4a":["audio/voice/Fem1/avo.deathcry_02.m4a",["voice.vl2"]],"audio/voice/fem1/avo.deathcry_02.wav":["audio/voice/Fem1/avo.deathcry_02.WAV",["voice.vl2"]],"audio/voice/fem1/avo.grunt.m4a":["audio/voice/Fem1/avo.grunt.m4a",["voice.vl2"]],"audio/voice/fem1/avo.grunt.wav":["audio/voice/Fem1/avo.grunt.WAV",["voice.vl2"]],"audio/voice/fem1/avo.pain.m4a":["audio/voice/Fem1/avo.pain.m4a",["voice.vl2"]],"audio/voice/fem1/avo.pain.wav":["audio/voice/Fem1/avo.pain.WAV",["voice.vl2"]],"audio/voice/fem1/bas.clear.m4a":["audio/voice/Fem1/bas.clear.m4a",["voice.vl2"]],"audio/voice/fem1/bas.clear.wav":["audio/voice/Fem1/bas.clear.WAV",["voice.vl2"]],"audio/voice/fem1/bas.enemy.m4a":["audio/voice/Fem1/bas.enemy.m4a",["voice.vl2"]],"audio/voice/fem1/bas.enemy.wav":["audio/voice/Fem1/bas.enemy.WAV",["voice.vl2"]],"audio/voice/fem1/bas.retake.m4a":["audio/voice/Fem1/bas.retake.m4a",["voice.vl2"]],"audio/voice/fem1/bas.retake.wav":["audio/voice/Fem1/bas.retake.WAV",["voice.vl2"]],"audio/voice/fem1/bas.secure.m4a":["audio/voice/Fem1/bas.secure.m4a",["voice.vl2"]],"audio/voice/fem1/bas.secure.wav":["audio/voice/Fem1/bas.secure.WAV",["voice.vl2"]],"audio/voice/fem1/bas.taken.m4a":["audio/voice/Fem1/bas.taken.m4a",["voice.vl2"]],"audio/voice/fem1/bas.taken.wav":["audio/voice/Fem1/bas.taken.WAV",["voice.vl2"]],"audio/voice/fem1/cmd.acknowledge.m4a":["audio/voice/Fem1/cmd.acknowledge.m4a",["voice.vl2"]],"audio/voice/fem1/cmd.acknowledge.wav":["audio/voice/Fem1/cmd.acknowledge.WAV",["voice.vl2"]],"audio/voice/fem1/cmd.bot.m4a":["audio/voice/Fem1/cmd.bot.m4a",["voice.vl2"]],"audio/voice/fem1/cmd.bot.wav":["audio/voice/Fem1/cmd.bot.WAV",["voice.vl2"]],"audio/voice/fem1/cmd.completed.m4a":["audio/voice/Fem1/cmd.completed.m4a",["voice.vl2"]],"audio/voice/fem1/cmd.completed.wav":["audio/voice/Fem1/cmd.completed.WAV",["voice.vl2"]],"audio/voice/fem1/cmd.decline.m4a":["audio/voice/Fem1/cmd.decline.m4a",["voice.vl2"]],"audio/voice/fem1/cmd.decline.wav":["audio/voice/Fem1/cmd.decline.WAV",["voice.vl2"]],"audio/voice/fem1/def.base.m4a":["audio/voice/Fem1/def.base.m4a",["voice.vl2"]],"audio/voice/fem1/def.base.wav":["audio/voice/Fem1/def.base.WAV",["voice.vl2"]],"audio/voice/fem1/def.carrier.m4a":["audio/voice/Fem1/def.carrier.m4a",["voice.vl2"]],"audio/voice/fem1/def.carrier.wav":["audio/voice/Fem1/def.carrier.WAV",["voice.vl2"]],"audio/voice/fem1/def.entrances.m4a":["audio/voice/Fem1/def.entrances.m4a",["voice.vl2"]],"audio/voice/fem1/def.entrances.wav":["audio/voice/Fem1/def.entrances.WAV",["voice.vl2"]],"audio/voice/fem1/def.flag.m4a":["audio/voice/Fem1/def.flag.m4a",["voice.vl2"]],"audio/voice/fem1/def.flag.wav":["audio/voice/Fem1/def.flag.WAV",["voice.vl2"]],"audio/voice/fem1/def.generator.m4a":["audio/voice/Fem1/def.generator.m4a",["voice.vl2"]],"audio/voice/fem1/def.generator.wav":["audio/voice/Fem1/def.generator.WAV",["voice.vl2"]],"audio/voice/fem1/def.me.m4a":["audio/voice/Fem1/def.me.m4a",["voice.vl2"]],"audio/voice/fem1/def.me.wav":["audio/voice/Fem1/def.me.WAV",["voice.vl2"]],"audio/voice/fem1/def.nexus.m4a":["audio/voice/Fem1/def.nexus.m4a",["voice.vl2"]],"audio/voice/fem1/def.nexus.wav":["audio/voice/Fem1/def.nexus.WAV",["voice.vl2"]],"audio/voice/fem1/def.objective.m4a":["audio/voice/Fem1/def.objective.m4a",["voice.vl2"]],"audio/voice/fem1/def.objective.wav":["audio/voice/Fem1/def.objective.WAV",["voice.vl2"]],"audio/voice/fem1/def.reinforce.m4a":["audio/voice/Fem1/def.reinforce.m4a",["voice.vl2"]],"audio/voice/fem1/def.reinforce.wav":["audio/voice/Fem1/def.reinforce.WAV",["voice.vl2"]],"audio/voice/fem1/def.sensors.m4a":["audio/voice/Fem1/def.sensors.m4a",["voice.vl2"]],"audio/voice/fem1/def.sensors.wav":["audio/voice/Fem1/def.sensors.WAV",["voice.vl2"]],"audio/voice/fem1/def.turrets.m4a":["audio/voice/Fem1/def.turrets.m4a",["voice.vl2"]],"audio/voice/fem1/def.turrets.wav":["audio/voice/Fem1/def.turrets.WAV",["voice.vl2"]],"audio/voice/fem1/def.vehicle.m4a":["audio/voice/Fem1/def.vehicle.m4a",["voice.vl2"]],"audio/voice/fem1/def.vehicle.wav":["audio/voice/Fem1/def.vehicle.WAV",["voice.vl2"]],"audio/voice/fem1/ene.base.m4a":["audio/voice/Fem1/ene.base.m4a",["voice.vl2"]],"audio/voice/fem1/ene.base.wav":["audio/voice/Fem1/ene.base.WAV",["voice.vl2"]],"audio/voice/fem1/ene.disarray.m4a":["audio/voice/Fem1/ene.disarray.m4a",["voice.vl2"]],"audio/voice/fem1/ene.disarray.wav":["audio/voice/Fem1/ene.disarray.WAV",["voice.vl2"]],"audio/voice/fem1/ene.generator.m4a":["audio/voice/Fem1/ene.generator.m4a",["voice.vl2"]],"audio/voice/fem1/ene.generator.wav":["audio/voice/Fem1/ene.generator.WAV",["voice.vl2"]],"audio/voice/fem1/ene.remotes.m4a":["audio/voice/Fem1/ene.remotes.m4a",["voice.vl2"]],"audio/voice/fem1/ene.remotes.wav":["audio/voice/Fem1/ene.remotes.WAV",["voice.vl2"]],"audio/voice/fem1/ene.sensors.m4a":["audio/voice/Fem1/ene.sensors.m4a",["voice.vl2"]],"audio/voice/fem1/ene.sensors.wav":["audio/voice/Fem1/ene.sensors.WAV",["voice.vl2"]],"audio/voice/fem1/ene.turrets.m4a":["audio/voice/Fem1/ene.turrets.m4a",["voice.vl2"]],"audio/voice/fem1/ene.turrets.wav":["audio/voice/Fem1/ene.turrets.WAV",["voice.vl2"]],"audio/voice/fem1/ene.vehicle.m4a":["audio/voice/Fem1/ene.vehicle.m4a",["voice.vl2"]],"audio/voice/fem1/ene.vehicle.wav":["audio/voice/Fem1/ene.vehicle.WAV",["voice.vl2"]],"audio/voice/fem1/flg.flag.m4a":["audio/voice/Fem1/flg.flag.m4a",["voice.vl2"]],"audio/voice/fem1/flg.flag.wav":["audio/voice/Fem1/flg.flag.WAV",["voice.vl2"]],"audio/voice/fem1/flg.give.m4a":["audio/voice/Fem1/flg.give.m4a",["voice.vl2"]],"audio/voice/fem1/flg.give.wav":["audio/voice/Fem1/flg.give.WAV",["voice.vl2"]],"audio/voice/fem1/flg.huntergive.m4a":["audio/voice/Fem1/flg.huntergive.m4a",["voice.vl2"]],"audio/voice/fem1/flg.huntergive.wav":["audio/voice/Fem1/flg.huntergive.WAV",["voice.vl2"]],"audio/voice/fem1/flg.huntertake.m4a":["audio/voice/Fem1/flg.huntertake.m4a",["voice.vl2"]],"audio/voice/fem1/flg.huntertake.wav":["audio/voice/Fem1/flg.huntertake.WAV",["voice.vl2"]],"audio/voice/fem1/flg.retrieve.m4a":["audio/voice/Fem1/flg.retrieve.m4a",["voice.vl2"]],"audio/voice/fem1/flg.retrieve.wav":["audio/voice/Fem1/flg.retrieve.WAV",["voice.vl2"]],"audio/voice/fem1/flg.secure.m4a":["audio/voice/Fem1/flg.secure.m4a",["voice.vl2"]],"audio/voice/fem1/flg.secure.wav":["audio/voice/Fem1/flg.secure.WAV",["voice.vl2"]],"audio/voice/fem1/flg.take.m4a":["audio/voice/Fem1/flg.take.m4a",["voice.vl2"]],"audio/voice/fem1/flg.take.wav":["audio/voice/Fem1/flg.take.WAV",["voice.vl2"]],"audio/voice/fem1/gbl.anytime.m4a":["audio/voice/Fem1/gbl.anytime.m4a",["voice.vl2"]],"audio/voice/fem1/gbl.anytime.wav":["audio/voice/Fem1/gbl.anytime.WAV",["voice.vl2"]],"audio/voice/fem1/gbl.awesome.m4a":["audio/voice/Fem1/gbl.awesome.m4a",["voice.vl2"]],"audio/voice/fem1/gbl.awesome.wav":["audio/voice/Fem1/gbl.awesome.WAV",["voice.vl2"]],"audio/voice/fem1/gbl.aww.m4a":["audio/voice/Fem1/gbl.aww.m4a",["voice.vl2"]],"audio/voice/fem1/gbl.aww.wav":["audio/voice/Fem1/gbl.aww.WAV",["voice.vl2"]],"audio/voice/fem1/gbl.brag.m4a":["audio/voice/Fem1/gbl.brag.m4a",["voice.vl2"]],"audio/voice/fem1/gbl.brag.wav":["audio/voice/Fem1/gbl.brag.WAV",["voice.vl2"]],"audio/voice/fem1/gbl.bye.m4a":["audio/voice/Fem1/gbl.bye.m4a",["voice.vl2"]],"audio/voice/fem1/gbl.bye.wav":["audio/voice/Fem1/gbl.bye.WAV",["voice.vl2"]],"audio/voice/fem1/gbl.dunno.m4a":["audio/voice/Fem1/gbl.dunno.m4a",["voice.vl2"]],"audio/voice/fem1/gbl.dunno.wav":["audio/voice/Fem1/gbl.dunno.WAV",["voice.vl2"]],"audio/voice/fem1/gbl.goodgame.m4a":["audio/voice/Fem1/gbl.goodgame.m4a",["voice.vl2"]],"audio/voice/fem1/gbl.goodgame.wav":["audio/voice/Fem1/gbl.goodgame.WAV",["voice.vl2"]],"audio/voice/fem1/gbl.hi.m4a":["audio/voice/Fem1/gbl.hi.m4a",["voice.vl2"]],"audio/voice/fem1/gbl.hi.wav":["audio/voice/Fem1/gbl.hi.WAV",["voice.vl2"]],"audio/voice/fem1/gbl.nice.m4a":["audio/voice/Fem1/gbl.nice.m4a",["voice.vl2"]],"audio/voice/fem1/gbl.nice.wav":["audio/voice/Fem1/gbl.nice.WAV",["voice.vl2"]],"audio/voice/fem1/gbl.no.m4a":["audio/voice/Fem1/gbl.no.m4a",["voice.vl2"]],"audio/voice/fem1/gbl.no.wav":["audio/voice/Fem1/gbl.no.WAV",["voice.vl2"]],"audio/voice/fem1/gbl.obnoxious.m4a":["audio/voice/Fem1/gbl.obnoxious.m4a",["voice.vl2"]],"audio/voice/fem1/gbl.obnoxious.wav":["audio/voice/Fem1/gbl.obnoxious.WAV",["voice.vl2"]],"audio/voice/fem1/gbl.oops.m4a":["audio/voice/Fem1/gbl.oops.m4a",["voice.vl2"]],"audio/voice/fem1/gbl.oops.wav":["audio/voice/Fem1/gbl.oops.WAV",["voice.vl2"]],"audio/voice/fem1/gbl.quiet.m4a":["audio/voice/Fem1/gbl.quiet.m4a",["voice.vl2"]],"audio/voice/fem1/gbl.quiet.wav":["audio/voice/Fem1/gbl.quiet.WAV",["voice.vl2"]],"audio/voice/fem1/gbl.rock.m4a":["audio/voice/Fem1/gbl.rock.m4a",["voice.vl2"]],"audio/voice/fem1/gbl.rock.wav":["audio/voice/Fem1/gbl.rock.WAV",["voice.vl2"]],"audio/voice/fem1/gbl.sarcasm.m4a":["audio/voice/Fem1/gbl.sarcasm.m4a",["voice.vl2"]],"audio/voice/fem1/gbl.sarcasm.wav":["audio/voice/Fem1/gbl.sarcasm.WAV",["voice.vl2"]],"audio/voice/fem1/gbl.shazbot.m4a":["audio/voice/Fem1/gbl.shazbot.m4a",["voice.vl2"]],"audio/voice/fem1/gbl.shazbot.wav":["audio/voice/Fem1/gbl.shazbot.WAV",["voice.vl2"]],"audio/voice/fem1/gbl.shooting.m4a":["audio/voice/Fem1/gbl.shooting.m4a",["voice.vl2"]],"audio/voice/fem1/gbl.shooting.wav":["audio/voice/Fem1/gbl.shooting.WAV",["voice.vl2"]],"audio/voice/fem1/gbl.thanks.m4a":["audio/voice/Fem1/gbl.thanks.m4a",["voice.vl2"]],"audio/voice/fem1/gbl.thanks.wav":["audio/voice/Fem1/gbl.thanks.WAV",["voice.vl2"]],"audio/voice/fem1/gbl.wait.m4a":["audio/voice/Fem1/gbl.wait.m4a",["voice.vl2"]],"audio/voice/fem1/gbl.wait.wav":["audio/voice/Fem1/gbl.wait.WAV",["voice.vl2"]],"audio/voice/fem1/gbl.when.m4a":["audio/voice/Fem1/gbl.when.m4a",["voice.vl2"]],"audio/voice/fem1/gbl.when.wav":["audio/voice/Fem1/gbl.when.WAV",["voice.vl2"]],"audio/voice/fem1/gbl.woohoo.m4a":["audio/voice/Fem1/gbl.woohoo.m4a",["voice.vl2"]],"audio/voice/fem1/gbl.woohoo.wav":["audio/voice/Fem1/gbl.woohoo.WAV",["voice.vl2"]],"audio/voice/fem1/gbl.yes.m4a":["audio/voice/Fem1/gbl.yes.m4a",["voice.vl2"]],"audio/voice/fem1/gbl.yes.wav":["audio/voice/Fem1/gbl.yes.WAV",["voice.vl2"]],"audio/voice/fem1/need.bombardier.m4a":["audio/voice/Fem1/need.bombardier.m4a",["voice.vl2"]],"audio/voice/fem1/need.bombardier.wav":["audio/voice/Fem1/need.bombardier.WAV",["voice.vl2"]],"audio/voice/fem1/need.cover.m4a":["audio/voice/Fem1/need.cover.m4a",["voice.vl2"]],"audio/voice/fem1/need.cover.wav":["audio/voice/Fem1/need.cover.WAV",["voice.vl2"]],"audio/voice/fem1/need.driver.m4a":["audio/voice/Fem1/need.driver.m4a",["voice.vl2"]],"audio/voice/fem1/need.driver.wav":["audio/voice/Fem1/need.driver.WAV",["voice.vl2"]],"audio/voice/fem1/need.escort.m4a":["audio/voice/Fem1/need.escort.m4a",["voice.vl2"]],"audio/voice/fem1/need.escort.wav":["audio/voice/Fem1/need.escort.WAV",["voice.vl2"]],"audio/voice/fem1/need.flyer.m4a":["audio/voice/Fem1/need.flyer.m4a",["voice.vl2"]],"audio/voice/fem1/need.flyer.wav":["audio/voice/Fem1/need.flyer.WAV",["voice.vl2"]],"audio/voice/fem1/need.gunship.m4a":["audio/voice/Fem1/need.gunship.m4a",["voice.vl2"]],"audio/voice/fem1/need.gunship.wav":["audio/voice/Fem1/need.gunship.WAV",["voice.vl2"]],"audio/voice/fem1/need.hold.m4a":["audio/voice/Fem1/need.hold.m4a",["voice.vl2"]],"audio/voice/fem1/need.hold.wav":["audio/voice/Fem1/need.hold.WAV",["voice.vl2"]],"audio/voice/fem1/need.ride.m4a":["audio/voice/Fem1/need.ride.m4a",["voice.vl2"]],"audio/voice/fem1/need.ride.wav":["audio/voice/Fem1/need.ride.WAV",["voice.vl2"]],"audio/voice/fem1/need.support.m4a":["audio/voice/Fem1/need.support.m4a",["voice.vl2"]],"audio/voice/fem1/need.support.wav":["audio/voice/Fem1/need.support.WAV",["voice.vl2"]],"audio/voice/fem1/need.tailgunner.m4a":["audio/voice/Fem1/need.tailgunner.m4a",["voice.vl2"]],"audio/voice/fem1/need.tailgunner.wav":["audio/voice/Fem1/need.tailgunner.WAV",["voice.vl2"]],"audio/voice/fem1/need.where.m4a":["audio/voice/Fem1/need.where.m4a",["voice.vl2"]],"audio/voice/fem1/need.where.wav":["audio/voice/Fem1/need.where.WAV",["voice.vl2"]],"audio/voice/fem1/rep.base.m4a":["audio/voice/Fem1/rep.base.m4a",["voice.vl2"]],"audio/voice/fem1/rep.base.wav":["audio/voice/Fem1/rep.base.WAV",["voice.vl2"]],"audio/voice/fem1/rep.generator.m4a":["audio/voice/Fem1/rep.generator.m4a",["voice.vl2"]],"audio/voice/fem1/rep.generator.wav":["audio/voice/Fem1/rep.generator.WAV",["voice.vl2"]],"audio/voice/fem1/rep.me.m4a":["audio/voice/Fem1/rep.me.m4a",["voice.vl2"]],"audio/voice/fem1/rep.me.wav":["audio/voice/Fem1/rep.me.WAV",["voice.vl2"]],"audio/voice/fem1/rep.sensors.m4a":["audio/voice/Fem1/rep.sensors.m4a",["voice.vl2"]],"audio/voice/fem1/rep.sensors.wav":["audio/voice/Fem1/rep.sensors.WAV",["voice.vl2"]],"audio/voice/fem1/rep.turrets.m4a":["audio/voice/Fem1/rep.turrets.m4a",["voice.vl2"]],"audio/voice/fem1/rep.turrets.wav":["audio/voice/Fem1/rep.turrets.WAV",["voice.vl2"]],"audio/voice/fem1/rep.vehicle.m4a":["audio/voice/Fem1/rep.vehicle.m4a",["voice.vl2"]],"audio/voice/fem1/rep.vehicle.wav":["audio/voice/Fem1/rep.vehicle.WAV",["voice.vl2"]],"audio/voice/fem1/slf.att.attack.m4a":["audio/voice/Fem1/slf.att.attack.m4a",["voice.vl2"]],"audio/voice/fem1/slf.att.attack.wav":["audio/voice/Fem1/slf.att.attack.WAV",["voice.vl2"]],"audio/voice/fem1/slf.att.base.m4a":["audio/voice/Fem1/slf.att.base.m4a",["voice.vl2"]],"audio/voice/fem1/slf.att.base.wav":["audio/voice/Fem1/slf.att.base.WAV",["voice.vl2"]],"audio/voice/fem1/slf.att.flag.m4a":["audio/voice/Fem1/slf.att.flag.m4a",["voice.vl2"]],"audio/voice/fem1/slf.att.flag.wav":["audio/voice/Fem1/slf.att.flag.WAV",["voice.vl2"]],"audio/voice/fem1/slf.att.generator.m4a":["audio/voice/Fem1/slf.att.generator.m4a",["voice.vl2"]],"audio/voice/fem1/slf.att.generator.wav":["audio/voice/Fem1/slf.att.generator.WAV",["voice.vl2"]],"audio/voice/fem1/slf.att.sensors.m4a":["audio/voice/Fem1/slf.att.sensors.m4a",["voice.vl2"]],"audio/voice/fem1/slf.att.sensors.wav":["audio/voice/Fem1/slf.att.sensors.WAV",["voice.vl2"]],"audio/voice/fem1/slf.att.turrets.m4a":["audio/voice/Fem1/slf.att.turrets.m4a",["voice.vl2"]],"audio/voice/fem1/slf.att.turrets.wav":["audio/voice/Fem1/slf.att.turrets.WAV",["voice.vl2"]],"audio/voice/fem1/slf.att.vehicle.m4a":["audio/voice/Fem1/slf.att.vehicle.m4a",["voice.vl2"]],"audio/voice/fem1/slf.att.vehicle.wav":["audio/voice/Fem1/slf.att.vehicle.WAV",["voice.vl2"]],"audio/voice/fem1/slf.def.base.m4a":["audio/voice/Fem1/slf.def.base.m4a",["voice.vl2"]],"audio/voice/fem1/slf.def.base.wav":["audio/voice/Fem1/slf.def.base.WAV",["voice.vl2"]],"audio/voice/fem1/slf.def.defend.m4a":["audio/voice/Fem1/slf.def.defend.m4a",["voice.vl2"]],"audio/voice/fem1/slf.def.defend.wav":["audio/voice/Fem1/slf.def.defend.WAV",["voice.vl2"]],"audio/voice/fem1/slf.def.flag.m4a":["audio/voice/Fem1/slf.def.flag.m4a",["voice.vl2"]],"audio/voice/fem1/slf.def.flag.wav":["audio/voice/Fem1/slf.def.flag.WAV",["voice.vl2"]],"audio/voice/fem1/slf.def.generator.m4a":["audio/voice/Fem1/slf.def.generator.m4a",["voice.vl2"]],"audio/voice/fem1/slf.def.generator.wav":["audio/voice/Fem1/slf.def.generator.WAV",["voice.vl2"]],"audio/voice/fem1/slf.def.nexus.m4a":["audio/voice/Fem1/slf.def.nexus.m4a",["voice.vl2"]],"audio/voice/fem1/slf.def.nexus.wav":["audio/voice/Fem1/slf.def.nexus.WAV",["voice.vl2"]],"audio/voice/fem1/slf.def.sensors.m4a":["audio/voice/Fem1/slf.def.sensors.m4a",["voice.vl2"]],"audio/voice/fem1/slf.def.sensors.wav":["audio/voice/Fem1/slf.def.sensors.WAV",["voice.vl2"]],"audio/voice/fem1/slf.def.turrets.m4a":["audio/voice/Fem1/slf.def.turrets.m4a",["voice.vl2"]],"audio/voice/fem1/slf.def.turrets.wav":["audio/voice/Fem1/slf.def.turrets.WAV",["voice.vl2"]],"audio/voice/fem1/slf.def.vehicle.m4a":["audio/voice/Fem1/slf.def.vehicle.m4a",["voice.vl2"]],"audio/voice/fem1/slf.def.vehicle.wav":["audio/voice/Fem1/slf.def.vehicle.WAV",["voice.vl2"]],"audio/voice/fem1/slf.rep.base.m4a":["audio/voice/Fem1/slf.rep.base.m4a",["voice.vl2"]],"audio/voice/fem1/slf.rep.base.wav":["audio/voice/Fem1/slf.rep.base.WAV",["voice.vl2"]],"audio/voice/fem1/slf.rep.equipment.m4a":["audio/voice/Fem1/slf.rep.equipment.m4a",["voice.vl2"]],"audio/voice/fem1/slf.rep.equipment.wav":["audio/voice/Fem1/slf.rep.equipment.WAV",["voice.vl2"]],"audio/voice/fem1/slf.rep.generator.m4a":["audio/voice/Fem1/slf.rep.generator.m4a",["voice.vl2"]],"audio/voice/fem1/slf.rep.generator.wav":["audio/voice/Fem1/slf.rep.generator.WAV",["voice.vl2"]],"audio/voice/fem1/slf.rep.repairing.m4a":["audio/voice/Fem1/slf.rep.repairing.m4a",["voice.vl2"]],"audio/voice/fem1/slf.rep.repairing.wav":["audio/voice/Fem1/slf.rep.repairing.WAV",["voice.vl2"]],"audio/voice/fem1/slf.rep.sensors.m4a":["audio/voice/Fem1/slf.rep.sensors.m4a",["voice.vl2"]],"audio/voice/fem1/slf.rep.sensors.wav":["audio/voice/Fem1/slf.rep.sensors.WAV",["voice.vl2"]],"audio/voice/fem1/slf.rep.turrets.m4a":["audio/voice/Fem1/slf.rep.turrets.m4a",["voice.vl2"]],"audio/voice/fem1/slf.rep.turrets.wav":["audio/voice/Fem1/slf.rep.turrets.WAV",["voice.vl2"]],"audio/voice/fem1/slf.rep.vehicle.m4a":["audio/voice/Fem1/slf.rep.vehicle.m4a",["voice.vl2"]],"audio/voice/fem1/slf.rep.vehicle.wav":["audio/voice/Fem1/slf.rep.vehicle.WAV",["voice.vl2"]],"audio/voice/fem1/slf.tsk.cover.m4a":["audio/voice/Fem1/slf.tsk.cover.m4a",["voice.vl2"]],"audio/voice/fem1/slf.tsk.cover.wav":["audio/voice/Fem1/slf.tsk.cover.WAV",["voice.vl2"]],"audio/voice/fem1/slf.tsk.defense.m4a":["audio/voice/Fem1/slf.tsk.defense.m4a",["voice.vl2"]],"audio/voice/fem1/slf.tsk.defense.wav":["audio/voice/Fem1/slf.tsk.defense.WAV",["voice.vl2"]],"audio/voice/fem1/slf.tsk.generic.m4a":["audio/voice/Fem1/slf.tsk.generic.m4a",["voice.vl2"]],"audio/voice/fem1/slf.tsk.generic.wav":["audio/voice/Fem1/slf.tsk.generic.WAV",["voice.vl2"]],"audio/voice/fem1/slf.tsk.remotes.m4a":["audio/voice/Fem1/slf.tsk.remotes.m4a",["voice.vl2"]],"audio/voice/fem1/slf.tsk.remotes.wav":["audio/voice/Fem1/slf.tsk.remotes.WAV",["voice.vl2"]],"audio/voice/fem1/slf.tsk.sensors.m4a":["audio/voice/Fem1/slf.tsk.sensors.m4a",["voice.vl2"]],"audio/voice/fem1/slf.tsk.sensors.wav":["audio/voice/Fem1/slf.tsk.sensors.WAV",["voice.vl2"]],"audio/voice/fem1/slf.tsk.turrets.m4a":["audio/voice/Fem1/slf.tsk.turrets.m4a",["voice.vl2"]],"audio/voice/fem1/slf.tsk.turrets.wav":["audio/voice/Fem1/slf.tsk.turrets.WAV",["voice.vl2"]],"audio/voice/fem1/slf.tsk.vehicle.m4a":["audio/voice/Fem1/slf.tsk.vehicle.m4a",["voice.vl2"]],"audio/voice/fem1/slf.tsk.vehicle.wav":["audio/voice/Fem1/slf.tsk.vehicle.WAV",["voice.vl2"]],"audio/voice/fem1/tgt.acquired.m4a":["audio/voice/Fem1/tgt.acquired.m4a",["voice.vl2"]],"audio/voice/fem1/tgt.acquired.wav":["audio/voice/Fem1/tgt.acquired.WAV",["voice.vl2"]],"audio/voice/fem1/tgt.base.m4a":["audio/voice/Fem1/tgt.base.m4a",["voice.vl2"]],"audio/voice/fem1/tgt.base.wav":["audio/voice/Fem1/tgt.base.WAV",["voice.vl2"]],"audio/voice/fem1/tgt.destroyed.m4a":["audio/voice/Fem1/tgt.destroyed.m4a",["voice.vl2"]],"audio/voice/fem1/tgt.destroyed.wav":["audio/voice/Fem1/tgt.destroyed.WAV",["voice.vl2"]],"audio/voice/fem1/tgt.flag.m4a":["audio/voice/Fem1/tgt.flag.m4a",["voice.vl2"]],"audio/voice/fem1/tgt.flag.wav":["audio/voice/Fem1/tgt.flag.WAV",["voice.vl2"]],"audio/voice/fem1/tgt.my.m4a":["audio/voice/Fem1/tgt.my.m4a",["voice.vl2"]],"audio/voice/fem1/tgt.my.wav":["audio/voice/Fem1/tgt.my.WAV",["voice.vl2"]],"audio/voice/fem1/tgt.need.m4a":["audio/voice/Fem1/tgt.need.m4a",["voice.vl2"]],"audio/voice/fem1/tgt.need.wav":["audio/voice/Fem1/tgt.need.WAV",["voice.vl2"]],"audio/voice/fem1/tgt.sensors.m4a":["audio/voice/Fem1/tgt.sensors.m4a",["voice.vl2"]],"audio/voice/fem1/tgt.sensors.wav":["audio/voice/Fem1/tgt.sensors.WAV",["voice.vl2"]],"audio/voice/fem1/tgt.turret.m4a":["audio/voice/Fem1/tgt.turret.m4a",["voice.vl2"]],"audio/voice/fem1/tgt.turret.wav":["audio/voice/Fem1/tgt.turret.WAV",["voice.vl2"]],"audio/voice/fem1/tgt.wait.m4a":["audio/voice/Fem1/tgt.wait.m4a",["voice.vl2"]],"audio/voice/fem1/tgt.wait.wav":["audio/voice/Fem1/tgt.wait.WAV",["voice.vl2"]],"audio/voice/fem1/vqk.anytime.m4a":["audio/voice/Fem1/vqk.anytime.m4a",["voice.vl2"]],"audio/voice/fem1/vqk.anytime.wav":["audio/voice/Fem1/vqk.anytime.WAV",["voice.vl2"]],"audio/voice/fem1/vqk.base.m4a":["audio/voice/Fem1/vqk.base.m4a",["voice.vl2"]],"audio/voice/fem1/vqk.base.wav":["audio/voice/Fem1/vqk.base.WAV",["voice.vl2"]],"audio/voice/fem1/vqk.ceasefire.m4a":["audio/voice/Fem1/vqk.ceasefire.m4a",["voice.vl2"]],"audio/voice/fem1/vqk.ceasefire.wav":["audio/voice/Fem1/vqk.ceasefire.WAV",["voice.vl2"]],"audio/voice/fem1/vqk.dunno.m4a":["audio/voice/Fem1/vqk.dunno.m4a",["voice.vl2"]],"audio/voice/fem1/vqk.dunno.wav":["audio/voice/Fem1/vqk.dunno.WAV",["voice.vl2"]],"audio/voice/fem1/vqk.help.m4a":["audio/voice/Fem1/vqk.help.m4a",["voice.vl2"]],"audio/voice/fem1/vqk.help.wav":["audio/voice/Fem1/vqk.help.WAV",["voice.vl2"]],"audio/voice/fem1/vqk.move.m4a":["audio/voice/Fem1/vqk.move.m4a",["voice.vl2"]],"audio/voice/fem1/vqk.move.wav":["audio/voice/Fem1/vqk.move.WAV",["voice.vl2"]],"audio/voice/fem1/vqk.no.m4a":["audio/voice/Fem1/vqk.no.m4a",["voice.vl2"]],"audio/voice/fem1/vqk.no.wav":["audio/voice/Fem1/vqk.no.WAV",["voice.vl2"]],"audio/voice/fem1/vqk.quiet.m4a":["audio/voice/Fem1/vqk.quiet.m4a",["voice.vl2"]],"audio/voice/fem1/vqk.quiet.wav":["audio/voice/Fem1/vqk.quiet.WAV",["voice.vl2"]],"audio/voice/fem1/vqk.sorry.m4a":["audio/voice/Fem1/vqk.sorry.m4a",["voice.vl2"]],"audio/voice/fem1/vqk.sorry.wav":["audio/voice/Fem1/vqk.sorry.WAV",["voice.vl2"]],"audio/voice/fem1/vqk.thanks.m4a":["audio/voice/Fem1/vqk.thanks.m4a",["voice.vl2"]],"audio/voice/fem1/vqk.thanks.wav":["audio/voice/Fem1/vqk.thanks.WAV",["voice.vl2"]],"audio/voice/fem1/vqk.wait.m4a":["audio/voice/Fem1/vqk.wait.m4a",["voice.vl2"]],"audio/voice/fem1/vqk.wait.wav":["audio/voice/Fem1/vqk.wait.WAV",["voice.vl2"]],"audio/voice/fem1/vqk.yes.m4a":["audio/voice/Fem1/vqk.yes.m4a",["voice.vl2"]],"audio/voice/fem1/vqk.yes.wav":["audio/voice/Fem1/vqk.yes.WAV",["voice.vl2"]],"audio/voice/fem1/wrn.bomber.m4a":["audio/voice/Fem1/wrn.bomber.m4a",["voice.vl2"]],"audio/voice/fem1/wrn.bomber.wav":["audio/voice/Fem1/wrn.bomber.WAV",["voice.vl2"]],"audio/voice/fem1/wrn.enemy.m4a":["audio/voice/Fem1/wrn.enemy.m4a",["voice.vl2"]],"audio/voice/fem1/wrn.enemy.wav":["audio/voice/Fem1/wrn.enemy.WAV",["voice.vl2"]],"audio/voice/fem1/wrn.vehicles.m4a":["audio/voice/Fem1/wrn.vehicles.m4a",["voice.vl2"]],"audio/voice/fem1/wrn.vehicles.wav":["audio/voice/Fem1/wrn.vehicles.WAV",["voice.vl2"]],"audio/voice/fem1/wrn.watchit.m4a":["audio/voice/Fem1/wrn.watchit.m4a",["voice.vl2"]],"audio/voice/fem1/wrn.watchit.wav":["audio/voice/Fem1/wrn.watchit.WAV",["voice.vl2"]],"audio/voice/fem2/att.attack.m4a":["audio/voice/Fem2/att.attack.m4a",["voice.vl2"]],"audio/voice/fem2/att.attack.wav":["audio/voice/Fem2/att.attack.wav",["voice.vl2"]],"audio/voice/fem2/att.base.m4a":["audio/voice/Fem2/att.base.m4a",["voice.vl2"]],"audio/voice/fem2/att.base.wav":["audio/voice/Fem2/att.base.wav",["voice.vl2"]],"audio/voice/fem2/att.chase.m4a":["audio/voice/Fem2/att.chase.m4a",["voice.vl2"]],"audio/voice/fem2/att.chase.wav":["audio/voice/Fem2/att.chase.wav",["voice.vl2"]],"audio/voice/fem2/att.distract.m4a":["audio/voice/Fem2/att.distract.m4a",["voice.vl2"]],"audio/voice/fem2/att.distract.wav":["audio/voice/Fem2/att.distract.wav",["voice.vl2"]],"audio/voice/fem2/att.flag.m4a":["audio/voice/Fem2/att.flag.m4a",["voice.vl2"]],"audio/voice/fem2/att.flag.wav":["audio/voice/Fem2/att.flag.wav",["voice.vl2"]],"audio/voice/fem2/att.generator.m4a":["audio/voice/Fem2/att.generator.m4a",["voice.vl2"]],"audio/voice/fem2/att.generator.wav":["audio/voice/Fem2/att.generator.wav",["voice.vl2"]],"audio/voice/fem2/att.objective.m4a":["audio/voice/Fem2/att.objective.m4a",["voice.vl2"]],"audio/voice/fem2/att.objective.wav":["audio/voice/Fem2/att.objective.wav",["voice.vl2"]],"audio/voice/fem2/att.reinforcements.m4a":["audio/voice/Fem2/att.reinforcements.m4a",["voice.vl2"]],"audio/voice/fem2/att.reinforcements.wav":["audio/voice/Fem2/att.reinforcements.wav",["voice.vl2"]],"audio/voice/fem2/att.sensors.m4a":["audio/voice/Fem2/att.sensors.m4a",["voice.vl2"]],"audio/voice/fem2/att.sensors.wav":["audio/voice/Fem2/att.sensors.wav",["voice.vl2"]],"audio/voice/fem2/att.turrets.m4a":["audio/voice/Fem2/att.turrets.m4a",["voice.vl2"]],"audio/voice/fem2/att.turrets.wav":["audio/voice/Fem2/att.turrets.wav",["voice.vl2"]],"audio/voice/fem2/att.vehicle.m4a":["audio/voice/Fem2/att.vehicle.m4a",["voice.vl2"]],"audio/voice/fem2/att.vehicle.wav":["audio/voice/Fem2/att.vehicle.wav",["voice.vl2"]],"audio/voice/fem2/att.wait.m4a":["audio/voice/Fem2/att.wait.m4a",["voice.vl2"]],"audio/voice/fem2/att.wait.wav":["audio/voice/Fem2/att.wait.wav",["voice.vl2"]],"audio/voice/fem2/avo.deathcry_01.m4a":["audio/voice/Fem2/avo.deathcry_01.m4a",["voice.vl2"]],"audio/voice/fem2/avo.deathcry_01.wav":["audio/voice/Fem2/avo.deathcry_01.wav",["voice.vl2"]],"audio/voice/fem2/avo.deathcry_02.m4a":["audio/voice/Fem2/avo.deathcry_02.m4a",["voice.vl2"]],"audio/voice/fem2/avo.deathcry_02.wav":["audio/voice/Fem2/avo.deathcry_02.wav",["voice.vl2"]],"audio/voice/fem2/avo.grunt.m4a":["audio/voice/Fem2/avo.grunt.m4a",["voice.vl2"]],"audio/voice/fem2/avo.grunt.wav":["audio/voice/Fem2/avo.grunt.wav",["voice.vl2"]],"audio/voice/fem2/avo.pain.m4a":["audio/voice/Fem2/avo.pain.m4a",["voice.vl2"]],"audio/voice/fem2/avo.pain.wav":["audio/voice/Fem2/avo.pain.wav",["voice.vl2"]],"audio/voice/fem2/bas.clear.m4a":["audio/voice/Fem2/bas.clear.m4a",["voice.vl2"]],"audio/voice/fem2/bas.clear.wav":["audio/voice/Fem2/bas.clear.wav",["voice.vl2"]],"audio/voice/fem2/bas.enemy.m4a":["audio/voice/Fem2/bas.enemy.m4a",["voice.vl2"]],"audio/voice/fem2/bas.enemy.wav":["audio/voice/Fem2/bas.enemy.wav",["voice.vl2"]],"audio/voice/fem2/bas.retake.m4a":["audio/voice/Fem2/bas.retake.m4a",["voice.vl2"]],"audio/voice/fem2/bas.retake.wav":["audio/voice/Fem2/bas.retake.wav",["voice.vl2"]],"audio/voice/fem2/bas.secure.m4a":["audio/voice/Fem2/bas.secure.m4a",["voice.vl2"]],"audio/voice/fem2/bas.secure.wav":["audio/voice/Fem2/bas.secure.wav",["voice.vl2"]],"audio/voice/fem2/bas.taken.m4a":["audio/voice/Fem2/bas.taken.m4a",["voice.vl2"]],"audio/voice/fem2/bas.taken.wav":["audio/voice/Fem2/bas.taken.wav",["voice.vl2"]],"audio/voice/fem2/cmd.acknowledge.m4a":["audio/voice/Fem2/cmd.acknowledge.m4a",["voice.vl2"]],"audio/voice/fem2/cmd.acknowledge.wav":["audio/voice/Fem2/cmd.acknowledge.wav",["voice.vl2"]],"audio/voice/fem2/cmd.bot.m4a":["audio/voice/Fem2/cmd.bot.m4a",["voice.vl2"]],"audio/voice/fem2/cmd.bot.wav":["audio/voice/Fem2/cmd.bot.WAV",["voice.vl2"]],"audio/voice/fem2/cmd.completed.m4a":["audio/voice/Fem2/cmd.completed.m4a",["voice.vl2"]],"audio/voice/fem2/cmd.completed.wav":["audio/voice/Fem2/cmd.completed.wav",["voice.vl2"]],"audio/voice/fem2/cmd.decline.m4a":["audio/voice/Fem2/cmd.decline.m4a",["voice.vl2"]],"audio/voice/fem2/cmd.decline.wav":["audio/voice/Fem2/cmd.decline.wav",["voice.vl2"]],"audio/voice/fem2/def.base.m4a":["audio/voice/Fem2/def.base.m4a",["voice.vl2"]],"audio/voice/fem2/def.base.wav":["audio/voice/Fem2/def.base.wav",["voice.vl2"]],"audio/voice/fem2/def.carrier.m4a":["audio/voice/Fem2/def.carrier.m4a",["voice.vl2"]],"audio/voice/fem2/def.carrier.wav":["audio/voice/Fem2/def.carrier.wav",["voice.vl2"]],"audio/voice/fem2/def.entrances.m4a":["audio/voice/Fem2/def.entrances.m4a",["voice.vl2"]],"audio/voice/fem2/def.entrances.wav":["audio/voice/Fem2/def.entrances.wav",["voice.vl2"]],"audio/voice/fem2/def.flag.m4a":["audio/voice/Fem2/def.flag.m4a",["voice.vl2"]],"audio/voice/fem2/def.flag.wav":["audio/voice/Fem2/def.flag.wav",["voice.vl2"]],"audio/voice/fem2/def.generator.m4a":["audio/voice/Fem2/def.generator.m4a",["voice.vl2"]],"audio/voice/fem2/def.generator.wav":["audio/voice/Fem2/def.generator.wav",["voice.vl2"]],"audio/voice/fem2/def.me.m4a":["audio/voice/Fem2/def.me.m4a",["voice.vl2"]],"audio/voice/fem2/def.me.wav":["audio/voice/Fem2/def.me.wav",["voice.vl2"]],"audio/voice/fem2/def.nexus.m4a":["audio/voice/Fem2/def.nexus.m4a",["voice.vl2"]],"audio/voice/fem2/def.nexus.wav":["audio/voice/Fem2/def.nexus.wav",["voice.vl2"]],"audio/voice/fem2/def.objective.m4a":["audio/voice/Fem2/def.objective.m4a",["voice.vl2"]],"audio/voice/fem2/def.objective.wav":["audio/voice/Fem2/def.objective.wav",["voice.vl2"]],"audio/voice/fem2/def.reinforce.m4a":["audio/voice/Fem2/def.reinforce.m4a",["voice.vl2"]],"audio/voice/fem2/def.reinforce.wav":["audio/voice/Fem2/def.reinforce.wav",["voice.vl2"]],"audio/voice/fem2/def.sensors.m4a":["audio/voice/Fem2/def.sensors.m4a",["voice.vl2"]],"audio/voice/fem2/def.sensors.wav":["audio/voice/Fem2/def.sensors.wav",["voice.vl2"]],"audio/voice/fem2/def.turrets.m4a":["audio/voice/Fem2/def.turrets.m4a",["voice.vl2"]],"audio/voice/fem2/def.turrets.wav":["audio/voice/Fem2/def.turrets.wav",["voice.vl2"]],"audio/voice/fem2/def.vehicle.m4a":["audio/voice/Fem2/def.vehicle.m4a",["voice.vl2"]],"audio/voice/fem2/def.vehicle.wav":["audio/voice/Fem2/def.vehicle.wav",["voice.vl2"]],"audio/voice/fem2/ene.base.m4a":["audio/voice/Fem2/ene.base.m4a",["voice.vl2"]],"audio/voice/fem2/ene.base.wav":["audio/voice/Fem2/ene.base.wav",["voice.vl2"]],"audio/voice/fem2/ene.disarray.m4a":["audio/voice/Fem2/ene.disarray.m4a",["voice.vl2"]],"audio/voice/fem2/ene.disarray.wav":["audio/voice/Fem2/ene.disarray.wav",["voice.vl2"]],"audio/voice/fem2/ene.generator.m4a":["audio/voice/Fem2/ene.generator.m4a",["voice.vl2"]],"audio/voice/fem2/ene.generator.wav":["audio/voice/Fem2/ene.generator.wav",["voice.vl2"]],"audio/voice/fem2/ene.remotes.m4a":["audio/voice/Fem2/ene.remotes.m4a",["voice.vl2"]],"audio/voice/fem2/ene.remotes.wav":["audio/voice/Fem2/ene.remotes.wav",["voice.vl2"]],"audio/voice/fem2/ene.sensors.m4a":["audio/voice/Fem2/ene.sensors.m4a",["voice.vl2"]],"audio/voice/fem2/ene.sensors.wav":["audio/voice/Fem2/ene.sensors.wav",["voice.vl2"]],"audio/voice/fem2/ene.turrets.m4a":["audio/voice/Fem2/ene.turrets.m4a",["voice.vl2"]],"audio/voice/fem2/ene.turrets.wav":["audio/voice/Fem2/ene.turrets.wav",["voice.vl2"]],"audio/voice/fem2/ene.vehicle.m4a":["audio/voice/Fem2/ene.vehicle.m4a",["voice.vl2"]],"audio/voice/fem2/ene.vehicle.wav":["audio/voice/Fem2/ene.vehicle.wav",["voice.vl2"]],"audio/voice/fem2/flg.flag.m4a":["audio/voice/Fem2/flg.flag.m4a",["voice.vl2"]],"audio/voice/fem2/flg.flag.wav":["audio/voice/Fem2/flg.flag.WAV",["voice.vl2"]],"audio/voice/fem2/flg.give.m4a":["audio/voice/Fem2/flg.give.m4a",["voice.vl2"]],"audio/voice/fem2/flg.give.wav":["audio/voice/Fem2/flg.give.wav",["voice.vl2"]],"audio/voice/fem2/flg.huntergive.m4a":["audio/voice/Fem2/flg.huntergive.m4a",["voice.vl2"]],"audio/voice/fem2/flg.huntergive.wav":["audio/voice/Fem2/flg.huntergive.wav",["voice.vl2"]],"audio/voice/fem2/flg.huntertake.m4a":["audio/voice/Fem2/flg.huntertake.m4a",["voice.vl2"]],"audio/voice/fem2/flg.huntertake.wav":["audio/voice/Fem2/flg.huntertake.wav",["voice.vl2"]],"audio/voice/fem2/flg.retrieve.m4a":["audio/voice/Fem2/flg.retrieve.m4a",["voice.vl2"]],"audio/voice/fem2/flg.retrieve.wav":["audio/voice/Fem2/flg.retrieve.wav",["voice.vl2"]],"audio/voice/fem2/flg.secure.m4a":["audio/voice/Fem2/flg.secure.m4a",["voice.vl2"]],"audio/voice/fem2/flg.secure.wav":["audio/voice/Fem2/flg.secure.wav",["voice.vl2"]],"audio/voice/fem2/flg.take.m4a":["audio/voice/Fem2/flg.take.m4a",["voice.vl2"]],"audio/voice/fem2/flg.take.wav":["audio/voice/Fem2/flg.take.wav",["voice.vl2"]],"audio/voice/fem2/gbl.anytime.m4a":["audio/voice/Fem2/gbl.anytime.m4a",["voice.vl2"]],"audio/voice/fem2/gbl.anytime.wav":["audio/voice/Fem2/gbl.anytime.wav",["voice.vl2"]],"audio/voice/fem2/gbl.awesome.m4a":["audio/voice/Fem2/gbl.awesome.m4a",["voice.vl2"]],"audio/voice/fem2/gbl.awesome.wav":["audio/voice/Fem2/gbl.awesome.wav",["voice.vl2"]],"audio/voice/fem2/gbl.aww.m4a":["audio/voice/Fem2/gbl.aww.m4a",["voice.vl2"]],"audio/voice/fem2/gbl.aww.wav":["audio/voice/Fem2/gbl.aww.wav",["voice.vl2"]],"audio/voice/fem2/gbl.brag.m4a":["audio/voice/Fem2/gbl.brag.m4a",["voice.vl2"]],"audio/voice/fem2/gbl.brag.wav":["audio/voice/Fem2/gbl.brag.wav",["voice.vl2"]],"audio/voice/fem2/gbl.bye.m4a":["audio/voice/Fem2/gbl.bye.m4a",["voice.vl2"]],"audio/voice/fem2/gbl.bye.wav":["audio/voice/Fem2/gbl.bye.wav",["voice.vl2"]],"audio/voice/fem2/gbl.dunno.m4a":["audio/voice/Fem2/gbl.dunno.m4a",["voice.vl2"]],"audio/voice/fem2/gbl.dunno.wav":["audio/voice/Fem2/gbl.dunno.wav",["voice.vl2"]],"audio/voice/fem2/gbl.goodgame.m4a":["audio/voice/Fem2/gbl.goodgame.m4a",["voice.vl2"]],"audio/voice/fem2/gbl.goodgame.wav":["audio/voice/Fem2/gbl.goodgame.wav",["voice.vl2"]],"audio/voice/fem2/gbl.hi.m4a":["audio/voice/Fem2/gbl.hi.m4a",["voice.vl2"]],"audio/voice/fem2/gbl.hi.wav":["audio/voice/Fem2/gbl.hi.wav",["voice.vl2"]],"audio/voice/fem2/gbl.nice.m4a":["audio/voice/Fem2/gbl.nice.m4a",["voice.vl2"]],"audio/voice/fem2/gbl.nice.wav":["audio/voice/Fem2/gbl.nice.wav",["voice.vl2"]],"audio/voice/fem2/gbl.no.m4a":["audio/voice/Fem2/gbl.no.m4a",["voice.vl2"]],"audio/voice/fem2/gbl.no.wav":["audio/voice/Fem2/gbl.no.wav",["voice.vl2"]],"audio/voice/fem2/gbl.obnoxious.m4a":["audio/voice/Fem2/gbl.obnoxious.m4a",["voice.vl2"]],"audio/voice/fem2/gbl.obnoxious.wav":["audio/voice/Fem2/gbl.obnoxious.wav",["voice.vl2"]],"audio/voice/fem2/gbl.oops.m4a":["audio/voice/Fem2/gbl.oops.m4a",["voice.vl2"]],"audio/voice/fem2/gbl.oops.wav":["audio/voice/Fem2/gbl.oops.wav",["voice.vl2"]],"audio/voice/fem2/gbl.quiet.m4a":["audio/voice/Fem2/gbl.quiet.m4a",["voice.vl2"]],"audio/voice/fem2/gbl.quiet.wav":["audio/voice/Fem2/gbl.quiet.WAV",["voice.vl2"]],"audio/voice/fem2/gbl.rock.m4a":["audio/voice/Fem2/gbl.rock.m4a",["voice.vl2"]],"audio/voice/fem2/gbl.rock.wav":["audio/voice/Fem2/gbl.rock.WAV",["voice.vl2"]],"audio/voice/fem2/gbl.sarcasm.m4a":["audio/voice/Fem2/gbl.sarcasm.m4a",["voice.vl2"]],"audio/voice/fem2/gbl.sarcasm.wav":["audio/voice/Fem2/gbl.sarcasm.wav",["voice.vl2"]],"audio/voice/fem2/gbl.shazbot.m4a":["audio/voice/Fem2/gbl.shazbot.m4a",["voice.vl2"]],"audio/voice/fem2/gbl.shazbot.wav":["audio/voice/Fem2/gbl.shazbot.wav",["voice.vl2"]],"audio/voice/fem2/gbl.shooting.m4a":["audio/voice/Fem2/gbl.shooting.m4a",["voice.vl2"]],"audio/voice/fem2/gbl.shooting.wav":["audio/voice/Fem2/gbl.shooting.WAV",["voice.vl2"]],"audio/voice/fem2/gbl.thanks.m4a":["audio/voice/Fem2/gbl.thanks.m4a",["voice.vl2"]],"audio/voice/fem2/gbl.thanks.wav":["audio/voice/Fem2/gbl.thanks.wav",["voice.vl2"]],"audio/voice/fem2/gbl.wait.m4a":["audio/voice/Fem2/gbl.wait.m4a",["voice.vl2"]],"audio/voice/fem2/gbl.wait.wav":["audio/voice/Fem2/gbl.wait.wav",["voice.vl2"]],"audio/voice/fem2/gbl.when.m4a":["audio/voice/Fem2/gbl.when.m4a",["voice.vl2"]],"audio/voice/fem2/gbl.when.wav":["audio/voice/Fem2/gbl.when.wav",["voice.vl2"]],"audio/voice/fem2/gbl.woohoo.m4a":["audio/voice/Fem2/gbl.woohoo.m4a",["voice.vl2"]],"audio/voice/fem2/gbl.woohoo.wav":["audio/voice/Fem2/gbl.woohoo.wav",["voice.vl2"]],"audio/voice/fem2/gbl.yes.m4a":["audio/voice/Fem2/gbl.yes.m4a",["voice.vl2"]],"audio/voice/fem2/gbl.yes.wav":["audio/voice/Fem2/gbl.yes.wav",["voice.vl2"]],"audio/voice/fem2/need.bombardier.m4a":["audio/voice/Fem2/need.bombardier.m4a",["voice.vl2"]],"audio/voice/fem2/need.bombardier.wav":["audio/voice/Fem2/need.bombardier.wav",["voice.vl2"]],"audio/voice/fem2/need.cover.m4a":["audio/voice/Fem2/need.cover.m4a",["voice.vl2"]],"audio/voice/fem2/need.cover.wav":["audio/voice/Fem2/need.cover.WAV",["voice.vl2"]],"audio/voice/fem2/need.driver.m4a":["audio/voice/Fem2/need.driver.m4a",["voice.vl2"]],"audio/voice/fem2/need.driver.wav":["audio/voice/Fem2/need.driver.wav",["voice.vl2"]],"audio/voice/fem2/need.escort.m4a":["audio/voice/Fem2/need.escort.m4a",["voice.vl2"]],"audio/voice/fem2/need.escort.wav":["audio/voice/Fem2/need.escort.wav",["voice.vl2"]],"audio/voice/fem2/need.flyer.m4a":["audio/voice/Fem2/need.flyer.m4a",["voice.vl2"]],"audio/voice/fem2/need.flyer.wav":["audio/voice/Fem2/need.flyer.WAV",["voice.vl2"]],"audio/voice/fem2/need.gunship.m4a":["audio/voice/Fem2/need.gunship.m4a",["voice.vl2"]],"audio/voice/fem2/need.gunship.wav":["audio/voice/Fem2/need.gunship.WAV",["voice.vl2"]],"audio/voice/fem2/need.hold.m4a":["audio/voice/Fem2/need.hold.m4a",["voice.vl2"]],"audio/voice/fem2/need.hold.wav":["audio/voice/Fem2/need.hold.wav",["voice.vl2"]],"audio/voice/fem2/need.ride.m4a":["audio/voice/Fem2/need.ride.m4a",["voice.vl2"]],"audio/voice/fem2/need.ride.wav":["audio/voice/Fem2/need.ride.WAV",["voice.vl2"]],"audio/voice/fem2/need.support.m4a":["audio/voice/Fem2/need.support.m4a",["voice.vl2"]],"audio/voice/fem2/need.support.wav":["audio/voice/Fem2/need.support.wav",["voice.vl2"]],"audio/voice/fem2/need.tailgunner.m4a":["audio/voice/Fem2/need.tailgunner.m4a",["voice.vl2"]],"audio/voice/fem2/need.tailgunner.wav":["audio/voice/Fem2/need.tailgunner.wav",["voice.vl2"]],"audio/voice/fem2/need.where.m4a":["audio/voice/Fem2/need.where.m4a",["voice.vl2"]],"audio/voice/fem2/need.where.wav":["audio/voice/Fem2/need.where.wav",["voice.vl2"]],"audio/voice/fem2/rep.base.m4a":["audio/voice/Fem2/rep.base.m4a",["voice.vl2"]],"audio/voice/fem2/rep.base.wav":["audio/voice/Fem2/rep.base.wav",["voice.vl2"]],"audio/voice/fem2/rep.generator.m4a":["audio/voice/Fem2/rep.generator.m4a",["voice.vl2"]],"audio/voice/fem2/rep.generator.wav":["audio/voice/Fem2/rep.generator.wav",["voice.vl2"]],"audio/voice/fem2/rep.me.m4a":["audio/voice/Fem2/rep.me.m4a",["voice.vl2"]],"audio/voice/fem2/rep.me.wav":["audio/voice/Fem2/rep.me.wav",["voice.vl2"]],"audio/voice/fem2/rep.sensors.m4a":["audio/voice/Fem2/rep.sensors.m4a",["voice.vl2"]],"audio/voice/fem2/rep.sensors.wav":["audio/voice/Fem2/rep.sensors.wav",["voice.vl2"]],"audio/voice/fem2/rep.turrets.m4a":["audio/voice/Fem2/rep.turrets.m4a",["voice.vl2"]],"audio/voice/fem2/rep.turrets.wav":["audio/voice/Fem2/rep.turrets.wav",["voice.vl2"]],"audio/voice/fem2/rep.vehicle.m4a":["audio/voice/Fem2/rep.vehicle.m4a",["voice.vl2"]],"audio/voice/fem2/rep.vehicle.wav":["audio/voice/Fem2/rep.vehicle.wav",["voice.vl2"]],"audio/voice/fem2/slf.att.attack.m4a":["audio/voice/Fem2/slf.att.attack.m4a",["voice.vl2"]],"audio/voice/fem2/slf.att.attack.wav":["audio/voice/Fem2/slf.att.attack.wav",["voice.vl2"]],"audio/voice/fem2/slf.att.base.m4a":["audio/voice/Fem2/slf.att.base.m4a",["voice.vl2"]],"audio/voice/fem2/slf.att.base.wav":["audio/voice/Fem2/slf.att.base.wav",["voice.vl2"]],"audio/voice/fem2/slf.att.flag.m4a":["audio/voice/Fem2/slf.att.flag.m4a",["voice.vl2"]],"audio/voice/fem2/slf.att.flag.wav":["audio/voice/Fem2/slf.att.flag.wav",["voice.vl2"]],"audio/voice/fem2/slf.att.generator.m4a":["audio/voice/Fem2/slf.att.generator.m4a",["voice.vl2"]],"audio/voice/fem2/slf.att.generator.wav":["audio/voice/Fem2/slf.att.generator.wav",["voice.vl2"]],"audio/voice/fem2/slf.att.sensors.m4a":["audio/voice/Fem2/slf.att.sensors.m4a",["voice.vl2"]],"audio/voice/fem2/slf.att.sensors.wav":["audio/voice/Fem2/slf.att.sensors.wav",["voice.vl2"]],"audio/voice/fem2/slf.att.turrets.m4a":["audio/voice/Fem2/slf.att.turrets.m4a",["voice.vl2"]],"audio/voice/fem2/slf.att.turrets.wav":["audio/voice/Fem2/slf.att.turrets.wav",["voice.vl2"]],"audio/voice/fem2/slf.att.vehicle.m4a":["audio/voice/Fem2/slf.att.vehicle.m4a",["voice.vl2"]],"audio/voice/fem2/slf.att.vehicle.wav":["audio/voice/Fem2/slf.att.vehicle.wav",["voice.vl2"]],"audio/voice/fem2/slf.def.base.m4a":["audio/voice/Fem2/slf.def.base.m4a",["voice.vl2"]],"audio/voice/fem2/slf.def.base.wav":["audio/voice/Fem2/slf.def.base.wav",["voice.vl2"]],"audio/voice/fem2/slf.def.defend.m4a":["audio/voice/Fem2/slf.def.defend.m4a",["voice.vl2"]],"audio/voice/fem2/slf.def.defend.wav":["audio/voice/Fem2/slf.def.defend.wav",["voice.vl2"]],"audio/voice/fem2/slf.def.flag.m4a":["audio/voice/Fem2/slf.def.flag.m4a",["voice.vl2"]],"audio/voice/fem2/slf.def.flag.wav":["audio/voice/Fem2/slf.def.flag.wav",["voice.vl2"]],"audio/voice/fem2/slf.def.generator.m4a":["audio/voice/Fem2/slf.def.generator.m4a",["voice.vl2"]],"audio/voice/fem2/slf.def.generator.wav":["audio/voice/Fem2/slf.def.generator.wav",["voice.vl2"]],"audio/voice/fem2/slf.def.nexus.m4a":["audio/voice/Fem2/slf.def.nexus.m4a",["voice.vl2"]],"audio/voice/fem2/slf.def.nexus.wav":["audio/voice/Fem2/slf.def.nexus.wav",["voice.vl2"]],"audio/voice/fem2/slf.def.sensors.m4a":["audio/voice/Fem2/slf.def.sensors.m4a",["voice.vl2"]],"audio/voice/fem2/slf.def.sensors.wav":["audio/voice/Fem2/slf.def.sensors.wav",["voice.vl2"]],"audio/voice/fem2/slf.def.turrets.m4a":["audio/voice/Fem2/slf.def.turrets.m4a",["voice.vl2"]],"audio/voice/fem2/slf.def.turrets.wav":["audio/voice/Fem2/slf.def.turrets.wav",["voice.vl2"]],"audio/voice/fem2/slf.def.vehicle.m4a":["audio/voice/Fem2/slf.def.vehicle.m4a",["voice.vl2"]],"audio/voice/fem2/slf.def.vehicle.wav":["audio/voice/Fem2/slf.def.vehicle.wav",["voice.vl2"]],"audio/voice/fem2/slf.rep.base.m4a":["audio/voice/Fem2/slf.rep.base.m4a",["voice.vl2"]],"audio/voice/fem2/slf.rep.base.wav":["audio/voice/Fem2/slf.rep.base.wav",["voice.vl2"]],"audio/voice/fem2/slf.rep.equipment.m4a":["audio/voice/Fem2/slf.rep.equipment.m4a",["voice.vl2"]],"audio/voice/fem2/slf.rep.equipment.wav":["audio/voice/Fem2/slf.rep.equipment.wav",["voice.vl2"]],"audio/voice/fem2/slf.rep.generator.m4a":["audio/voice/Fem2/slf.rep.generator.m4a",["voice.vl2"]],"audio/voice/fem2/slf.rep.generator.wav":["audio/voice/Fem2/slf.rep.generator.wav",["voice.vl2"]],"audio/voice/fem2/slf.rep.repairing.m4a":["audio/voice/Fem2/slf.rep.repairing.m4a",["voice.vl2"]],"audio/voice/fem2/slf.rep.repairing.wav":["audio/voice/Fem2/slf.rep.repairing.wav",["voice.vl2"]],"audio/voice/fem2/slf.rep.sensors.m4a":["audio/voice/Fem2/slf.rep.sensors.m4a",["voice.vl2"]],"audio/voice/fem2/slf.rep.sensors.wav":["audio/voice/Fem2/slf.rep.sensors.wav",["voice.vl2"]],"audio/voice/fem2/slf.rep.turrets.m4a":["audio/voice/Fem2/slf.rep.turrets.m4a",["voice.vl2"]],"audio/voice/fem2/slf.rep.turrets.wav":["audio/voice/Fem2/slf.rep.turrets.wav",["voice.vl2"]],"audio/voice/fem2/slf.rep.vehicle.m4a":["audio/voice/Fem2/slf.rep.vehicle.m4a",["voice.vl2"]],"audio/voice/fem2/slf.rep.vehicle.wav":["audio/voice/Fem2/slf.rep.vehicle.wav",["voice.vl2"]],"audio/voice/fem2/slf.tsk.cover.m4a":["audio/voice/Fem2/slf.tsk.cover.m4a",["voice.vl2"]],"audio/voice/fem2/slf.tsk.cover.wav":["audio/voice/Fem2/slf.tsk.cover.WAV",["voice.vl2"]],"audio/voice/fem2/slf.tsk.defense.m4a":["audio/voice/Fem2/slf.tsk.defense.m4a",["voice.vl2"]],"audio/voice/fem2/slf.tsk.defense.wav":["audio/voice/Fem2/slf.tsk.defense.wav",["voice.vl2"]],"audio/voice/fem2/slf.tsk.generic.m4a":["audio/voice/Fem2/slf.tsk.generic.m4a",["voice.vl2"]],"audio/voice/fem2/slf.tsk.generic.wav":["audio/voice/Fem2/slf.tsk.generic.WAV",["voice.vl2"]],"audio/voice/fem2/slf.tsk.remotes.m4a":["audio/voice/Fem2/slf.tsk.remotes.m4a",["voice.vl2"]],"audio/voice/fem2/slf.tsk.remotes.wav":["audio/voice/Fem2/slf.tsk.remotes.wav",["voice.vl2"]],"audio/voice/fem2/slf.tsk.sensors.m4a":["audio/voice/Fem2/slf.tsk.sensors.m4a",["voice.vl2"]],"audio/voice/fem2/slf.tsk.sensors.wav":["audio/voice/Fem2/slf.tsk.sensors.wav",["voice.vl2"]],"audio/voice/fem2/slf.tsk.turrets.m4a":["audio/voice/Fem2/slf.tsk.turrets.m4a",["voice.vl2"]],"audio/voice/fem2/slf.tsk.turrets.wav":["audio/voice/Fem2/slf.tsk.turrets.wav",["voice.vl2"]],"audio/voice/fem2/slf.tsk.vehicle.m4a":["audio/voice/Fem2/slf.tsk.vehicle.m4a",["voice.vl2"]],"audio/voice/fem2/slf.tsk.vehicle.wav":["audio/voice/Fem2/slf.tsk.vehicle.WAV",["voice.vl2"]],"audio/voice/fem2/tgt.acquired.m4a":["audio/voice/Fem2/tgt.acquired.m4a",["voice.vl2"]],"audio/voice/fem2/tgt.acquired.wav":["audio/voice/Fem2/tgt.acquired.wav",["voice.vl2"]],"audio/voice/fem2/tgt.base.m4a":["audio/voice/Fem2/tgt.base.m4a",["voice.vl2"]],"audio/voice/fem2/tgt.base.wav":["audio/voice/Fem2/tgt.base.wav",["voice.vl2"]],"audio/voice/fem2/tgt.destroyed.m4a":["audio/voice/Fem2/tgt.destroyed.m4a",["voice.vl2"]],"audio/voice/fem2/tgt.destroyed.wav":["audio/voice/Fem2/tgt.destroyed.wav",["voice.vl2"]],"audio/voice/fem2/tgt.flag.m4a":["audio/voice/Fem2/tgt.flag.m4a",["voice.vl2"]],"audio/voice/fem2/tgt.flag.wav":["audio/voice/Fem2/tgt.flag.wav",["voice.vl2"]],"audio/voice/fem2/tgt.my.m4a":["audio/voice/Fem2/tgt.my.m4a",["voice.vl2"]],"audio/voice/fem2/tgt.my.wav":["audio/voice/Fem2/tgt.my.WAV",["voice.vl2"]],"audio/voice/fem2/tgt.need.m4a":["audio/voice/Fem2/tgt.need.m4a",["voice.vl2"]],"audio/voice/fem2/tgt.need.wav":["audio/voice/Fem2/tgt.need.wav",["voice.vl2"]],"audio/voice/fem2/tgt.sensors.m4a":["audio/voice/Fem2/tgt.sensors.m4a",["voice.vl2"]],"audio/voice/fem2/tgt.sensors.wav":["audio/voice/Fem2/tgt.sensors.wav",["voice.vl2"]],"audio/voice/fem2/tgt.turret.m4a":["audio/voice/Fem2/tgt.turret.m4a",["voice.vl2"]],"audio/voice/fem2/tgt.turret.wav":["audio/voice/Fem2/tgt.turret.wav",["voice.vl2"]],"audio/voice/fem2/tgt.wait.m4a":["audio/voice/Fem2/tgt.wait.m4a",["voice.vl2"]],"audio/voice/fem2/tgt.wait.wav":["audio/voice/Fem2/tgt.wait.wav",["voice.vl2"]],"audio/voice/fem2/vqk.anytime.m4a":["audio/voice/Fem2/vqk.anytime.m4a",["voice.vl2"]],"audio/voice/fem2/vqk.anytime.wav":["audio/voice/Fem2/vqk.anytime.wav",["voice.vl2"]],"audio/voice/fem2/vqk.base.m4a":["audio/voice/Fem2/vqk.base.m4a",["voice.vl2"]],"audio/voice/fem2/vqk.base.wav":["audio/voice/Fem2/vqk.base.wav",["voice.vl2"]],"audio/voice/fem2/vqk.ceasefire.m4a":["audio/voice/Fem2/vqk.ceasefire.m4a",["voice.vl2"]],"audio/voice/fem2/vqk.ceasefire.wav":["audio/voice/Fem2/vqk.ceasefire.wav",["voice.vl2"]],"audio/voice/fem2/vqk.dunno.m4a":["audio/voice/Fem2/vqk.dunno.m4a",["voice.vl2"]],"audio/voice/fem2/vqk.dunno.wav":["audio/voice/Fem2/vqk.dunno.wav",["voice.vl2"]],"audio/voice/fem2/vqk.help.m4a":["audio/voice/Fem2/vqk.help.m4a",["voice.vl2"]],"audio/voice/fem2/vqk.help.wav":["audio/voice/Fem2/vqk.help.wav",["voice.vl2"]],"audio/voice/fem2/vqk.move.m4a":["audio/voice/Fem2/vqk.move.m4a",["voice.vl2"]],"audio/voice/fem2/vqk.move.wav":["audio/voice/Fem2/vqk.move.wav",["voice.vl2"]],"audio/voice/fem2/vqk.no.m4a":["audio/voice/Fem2/vqk.no.m4a",["voice.vl2"]],"audio/voice/fem2/vqk.no.wav":["audio/voice/Fem2/vqk.no.wav",["voice.vl2"]],"audio/voice/fem2/vqk.quiet.m4a":["audio/voice/Fem2/vqk.quiet.m4a",["voice.vl2"]],"audio/voice/fem2/vqk.quiet.wav":["audio/voice/Fem2/vqk.quiet.WAV",["voice.vl2"]],"audio/voice/fem2/vqk.sorry.m4a":["audio/voice/Fem2/vqk.sorry.m4a",["voice.vl2"]],"audio/voice/fem2/vqk.sorry.wav":["audio/voice/Fem2/vqk.sorry.wav",["voice.vl2"]],"audio/voice/fem2/vqk.thanks.m4a":["audio/voice/Fem2/vqk.thanks.m4a",["voice.vl2"]],"audio/voice/fem2/vqk.thanks.wav":["audio/voice/Fem2/vqk.thanks.wav",["voice.vl2"]],"audio/voice/fem2/vqk.wait.m4a":["audio/voice/Fem2/vqk.wait.m4a",["voice.vl2"]],"audio/voice/fem2/vqk.wait.wav":["audio/voice/Fem2/vqk.wait.wav",["voice.vl2"]],"audio/voice/fem2/vqk.yes.m4a":["audio/voice/Fem2/vqk.yes.m4a",["voice.vl2"]],"audio/voice/fem2/vqk.yes.wav":["audio/voice/Fem2/vqk.yes.wav",["voice.vl2"]],"audio/voice/fem2/wrn.bomber.m4a":["audio/voice/Fem2/wrn.bomber.m4a",["voice.vl2"]],"audio/voice/fem2/wrn.bomber.wav":["audio/voice/Fem2/wrn.bomber.wav",["voice.vl2"]],"audio/voice/fem2/wrn.enemy.m4a":["audio/voice/Fem2/wrn.enemy.m4a",["voice.vl2"]],"audio/voice/fem2/wrn.enemy.wav":["audio/voice/Fem2/wrn.enemy.wav",["voice.vl2"]],"audio/voice/fem2/wrn.vehicles.m4a":["audio/voice/Fem2/wrn.vehicles.m4a",["voice.vl2"]],"audio/voice/fem2/wrn.vehicles.wav":["audio/voice/Fem2/wrn.vehicles.wav",["voice.vl2"]],"audio/voice/fem2/wrn.watchit.m4a":["audio/voice/Fem2/wrn.watchit.m4a",["voice.vl2"]],"audio/voice/fem2/wrn.watchit.wav":["audio/voice/Fem2/wrn.watchit.wav",["voice.vl2"]],"audio/voice/fem3/att.attack.m4a":["audio/voice/Fem3/att.attack.m4a",["voice.vl2"]],"audio/voice/fem3/att.attack.wav":["audio/voice/Fem3/att.attack.WAV",["voice.vl2"]],"audio/voice/fem3/att.base.m4a":["audio/voice/Fem3/att.base.m4a",["voice.vl2"]],"audio/voice/fem3/att.base.wav":["audio/voice/Fem3/att.base.WAV",["voice.vl2"]],"audio/voice/fem3/att.chase.m4a":["audio/voice/Fem3/att.chase.m4a",["voice.vl2"]],"audio/voice/fem3/att.chase.wav":["audio/voice/Fem3/att.chase.WAV",["voice.vl2"]],"audio/voice/fem3/att.distract.m4a":["audio/voice/Fem3/att.distract.m4a",["voice.vl2"]],"audio/voice/fem3/att.distract.wav":["audio/voice/Fem3/att.distract.WAV",["voice.vl2"]],"audio/voice/fem3/att.flag.m4a":["audio/voice/Fem3/att.flag.m4a",["voice.vl2"]],"audio/voice/fem3/att.flag.wav":["audio/voice/Fem3/att.flag.WAV",["voice.vl2"]],"audio/voice/fem3/att.generator.m4a":["audio/voice/Fem3/att.generator.m4a",["voice.vl2"]],"audio/voice/fem3/att.generator.wav":["audio/voice/Fem3/att.generator.WAV",["voice.vl2"]],"audio/voice/fem3/att.objective.m4a":["audio/voice/Fem3/att.objective.m4a",["voice.vl2"]],"audio/voice/fem3/att.objective.wav":["audio/voice/Fem3/att.objective.WAV",["voice.vl2"]],"audio/voice/fem3/att.reinforcements.m4a":["audio/voice/Fem3/att.reinforcements.m4a",["voice.vl2"]],"audio/voice/fem3/att.reinforcements.wav":["audio/voice/Fem3/att.reinforcements.WAV",["voice.vl2"]],"audio/voice/fem3/att.sensors.m4a":["audio/voice/Fem3/att.sensors.m4a",["voice.vl2"]],"audio/voice/fem3/att.sensors.wav":["audio/voice/Fem3/att.sensors.WAV",["voice.vl2"]],"audio/voice/fem3/att.turrets.m4a":["audio/voice/Fem3/att.turrets.m4a",["voice.vl2"]],"audio/voice/fem3/att.turrets.wav":["audio/voice/Fem3/att.turrets.WAV",["voice.vl2"]],"audio/voice/fem3/att.vehicle.m4a":["audio/voice/Fem3/att.vehicle.m4a",["voice.vl2"]],"audio/voice/fem3/att.vehicle.wav":["audio/voice/Fem3/att.vehicle.WAV",["voice.vl2"]],"audio/voice/fem3/att.wait.m4a":["audio/voice/Fem3/att.wait.m4a",["voice.vl2"]],"audio/voice/fem3/att.wait.wav":["audio/voice/Fem3/att.wait.WAV",["voice.vl2"]],"audio/voice/fem3/avo.deathcry_01.m4a":["audio/voice/Fem3/avo.deathcry_01.m4a",["voice.vl2"]],"audio/voice/fem3/avo.deathcry_01.wav":["audio/voice/Fem3/avo.deathcry_01.WAV",["voice.vl2"]],"audio/voice/fem3/avo.deathcry_02.m4a":["audio/voice/Fem3/avo.deathcry_02.m4a",["voice.vl2"]],"audio/voice/fem3/avo.deathcry_02.wav":["audio/voice/Fem3/avo.deathcry_02.WAV",["voice.vl2"]],"audio/voice/fem3/avo.grunt.m4a":["audio/voice/Fem3/avo.grunt.m4a",["voice.vl2"]],"audio/voice/fem3/avo.grunt.wav":["audio/voice/Fem3/avo.grunt.WAV",["voice.vl2"]],"audio/voice/fem3/avo.pain.m4a":["audio/voice/Fem3/avo.pain.m4a",["voice.vl2"]],"audio/voice/fem3/avo.pain.wav":["audio/voice/Fem3/avo.pain.WAV",["voice.vl2"]],"audio/voice/fem3/bas.clear.m4a":["audio/voice/Fem3/bas.clear.m4a",["voice.vl2"]],"audio/voice/fem3/bas.clear.wav":["audio/voice/Fem3/bas.clear.WAV",["voice.vl2"]],"audio/voice/fem3/bas.enemy.m4a":["audio/voice/Fem3/bas.enemy.m4a",["voice.vl2"]],"audio/voice/fem3/bas.enemy.wav":["audio/voice/Fem3/bas.enemy.WAV",["voice.vl2"]],"audio/voice/fem3/bas.retake.m4a":["audio/voice/Fem3/bas.retake.m4a",["voice.vl2"]],"audio/voice/fem3/bas.retake.wav":["audio/voice/Fem3/bas.retake.WAV",["voice.vl2"]],"audio/voice/fem3/bas.secure.m4a":["audio/voice/Fem3/bas.secure.m4a",["voice.vl2"]],"audio/voice/fem3/bas.secure.wav":["audio/voice/Fem3/bas.secure.WAV",["voice.vl2"]],"audio/voice/fem3/bas.taken.m4a":["audio/voice/Fem3/bas.taken.m4a",["voice.vl2"]],"audio/voice/fem3/bas.taken.wav":["audio/voice/Fem3/bas.taken.WAV",["voice.vl2"]],"audio/voice/fem3/cmd.acknowledge.m4a":["audio/voice/Fem3/cmd.acknowledge.m4a",["voice.vl2"]],"audio/voice/fem3/cmd.acknowledge.wav":["audio/voice/Fem3/cmd.acknowledge.WAV",["voice.vl2"]],"audio/voice/fem3/cmd.bot.m4a":["audio/voice/Fem3/cmd.bot.m4a",["voice.vl2"]],"audio/voice/fem3/cmd.bot.wav":["audio/voice/Fem3/cmd.bot.WAV",["voice.vl2"]],"audio/voice/fem3/cmd.completed.m4a":["audio/voice/Fem3/cmd.completed.m4a",["voice.vl2"]],"audio/voice/fem3/cmd.completed.wav":["audio/voice/Fem3/cmd.completed.WAV",["voice.vl2"]],"audio/voice/fem3/cmd.decline.m4a":["audio/voice/Fem3/cmd.decline.m4a",["voice.vl2"]],"audio/voice/fem3/cmd.decline.wav":["audio/voice/Fem3/cmd.decline.WAV",["voice.vl2"]],"audio/voice/fem3/def.base.m4a":["audio/voice/Fem3/def.base.m4a",["voice.vl2"]],"audio/voice/fem3/def.base.wav":["audio/voice/Fem3/def.base.WAV",["voice.vl2"]],"audio/voice/fem3/def.carrier.m4a":["audio/voice/Fem3/def.carrier.m4a",["voice.vl2"]],"audio/voice/fem3/def.carrier.wav":["audio/voice/Fem3/def.carrier.WAV",["voice.vl2"]],"audio/voice/fem3/def.entrances.m4a":["audio/voice/Fem3/def.entrances.m4a",["voice.vl2"]],"audio/voice/fem3/def.entrances.wav":["audio/voice/Fem3/def.entrances.WAV",["voice.vl2"]],"audio/voice/fem3/def.flag.m4a":["audio/voice/Fem3/def.flag.m4a",["voice.vl2"]],"audio/voice/fem3/def.flag.wav":["audio/voice/Fem3/def.flag.WAV",["voice.vl2"]],"audio/voice/fem3/def.generator.m4a":["audio/voice/Fem3/def.generator.m4a",["voice.vl2"]],"audio/voice/fem3/def.generator.wav":["audio/voice/Fem3/def.generator.WAV",["voice.vl2"]],"audio/voice/fem3/def.me.m4a":["audio/voice/Fem3/def.me.m4a",["voice.vl2"]],"audio/voice/fem3/def.me.wav":["audio/voice/Fem3/def.me.WAV",["voice.vl2"]],"audio/voice/fem3/def.nexus.m4a":["audio/voice/Fem3/def.nexus.m4a",["voice.vl2"]],"audio/voice/fem3/def.nexus.wav":["audio/voice/Fem3/def.nexus.WAV",["voice.vl2"]],"audio/voice/fem3/def.objective.m4a":["audio/voice/Fem3/def.objective.m4a",["voice.vl2"]],"audio/voice/fem3/def.objective.wav":["audio/voice/Fem3/def.objective.WAV",["voice.vl2"]],"audio/voice/fem3/def.reinforce.m4a":["audio/voice/Fem3/def.reinforce.m4a",["voice.vl2"]],"audio/voice/fem3/def.reinforce.wav":["audio/voice/Fem3/def.reinforce.WAV",["voice.vl2"]],"audio/voice/fem3/def.sensors.m4a":["audio/voice/Fem3/def.sensors.m4a",["voice.vl2"]],"audio/voice/fem3/def.sensors.wav":["audio/voice/Fem3/def.sensors.WAV",["voice.vl2"]],"audio/voice/fem3/def.turrets.m4a":["audio/voice/Fem3/def.turrets.m4a",["voice.vl2"]],"audio/voice/fem3/def.turrets.wav":["audio/voice/Fem3/def.turrets.WAV",["voice.vl2"]],"audio/voice/fem3/def.vehicle.m4a":["audio/voice/Fem3/def.vehicle.m4a",["voice.vl2"]],"audio/voice/fem3/def.vehicle.wav":["audio/voice/Fem3/def.vehicle.WAV",["voice.vl2"]],"audio/voice/fem3/ene.base.m4a":["audio/voice/Fem3/ene.base.m4a",["voice.vl2"]],"audio/voice/fem3/ene.base.wav":["audio/voice/Fem3/ene.base.WAV",["voice.vl2"]],"audio/voice/fem3/ene.disarray.m4a":["audio/voice/Fem3/ene.disarray.m4a",["voice.vl2"]],"audio/voice/fem3/ene.disarray.wav":["audio/voice/Fem3/ene.disarray.WAV",["voice.vl2"]],"audio/voice/fem3/ene.generator.m4a":["audio/voice/Fem3/ene.generator.m4a",["voice.vl2"]],"audio/voice/fem3/ene.generator.wav":["audio/voice/Fem3/ene.generator.WAV",["voice.vl2"]],"audio/voice/fem3/ene.remotes.m4a":["audio/voice/Fem3/ene.remotes.m4a",["voice.vl2"]],"audio/voice/fem3/ene.remotes.wav":["audio/voice/Fem3/ene.remotes.WAV",["voice.vl2"]],"audio/voice/fem3/ene.sensors.m4a":["audio/voice/Fem3/ene.sensors.m4a",["voice.vl2"]],"audio/voice/fem3/ene.sensors.wav":["audio/voice/Fem3/ene.sensors.WAV",["voice.vl2"]],"audio/voice/fem3/ene.turrets.m4a":["audio/voice/Fem3/ene.turrets.m4a",["voice.vl2"]],"audio/voice/fem3/ene.turrets.wav":["audio/voice/Fem3/ene.turrets.WAV",["voice.vl2"]],"audio/voice/fem3/ene.vehicle.m4a":["audio/voice/Fem3/ene.vehicle.m4a",["voice.vl2"]],"audio/voice/fem3/ene.vehicle.wav":["audio/voice/Fem3/ene.vehicle.WAV",["voice.vl2"]],"audio/voice/fem3/flg.flag.m4a":["audio/voice/Fem3/flg.flag.m4a",["voice.vl2"]],"audio/voice/fem3/flg.flag.wav":["audio/voice/Fem3/flg.flag.WAV",["voice.vl2"]],"audio/voice/fem3/flg.give.m4a":["audio/voice/Fem3/flg.give.m4a",["voice.vl2"]],"audio/voice/fem3/flg.give.wav":["audio/voice/Fem3/flg.give.WAV",["voice.vl2"]],"audio/voice/fem3/flg.huntergive.m4a":["audio/voice/Fem3/flg.huntergive.m4a",["voice.vl2"]],"audio/voice/fem3/flg.huntergive.wav":["audio/voice/Fem3/flg.huntergive.WAV",["voice.vl2"]],"audio/voice/fem3/flg.huntertake.m4a":["audio/voice/Fem3/flg.huntertake.m4a",["voice.vl2"]],"audio/voice/fem3/flg.huntertake.wav":["audio/voice/Fem3/flg.huntertake.WAV",["voice.vl2"]],"audio/voice/fem3/flg.retrieve.m4a":["audio/voice/Fem3/flg.retrieve.m4a",["voice.vl2"]],"audio/voice/fem3/flg.retrieve.wav":["audio/voice/Fem3/flg.retrieve.WAV",["voice.vl2"]],"audio/voice/fem3/flg.secure.m4a":["audio/voice/Fem3/flg.secure.m4a",["voice.vl2"]],"audio/voice/fem3/flg.secure.wav":["audio/voice/Fem3/flg.secure.WAV",["voice.vl2"]],"audio/voice/fem3/flg.take.m4a":["audio/voice/Fem3/flg.take.m4a",["voice.vl2"]],"audio/voice/fem3/flg.take.wav":["audio/voice/Fem3/flg.take.WAV",["voice.vl2"]],"audio/voice/fem3/gbl.anytime.m4a":["audio/voice/Fem3/gbl.anytime.m4a",["voice.vl2"]],"audio/voice/fem3/gbl.anytime.wav":["audio/voice/Fem3/gbl.anytime.WAV",["voice.vl2"]],"audio/voice/fem3/gbl.awesome.m4a":["audio/voice/Fem3/gbl.awesome.m4a",["voice.vl2"]],"audio/voice/fem3/gbl.awesome.wav":["audio/voice/Fem3/gbl.awesome.WAV",["voice.vl2"]],"audio/voice/fem3/gbl.aww.m4a":["audio/voice/Fem3/gbl.aww.m4a",["voice.vl2"]],"audio/voice/fem3/gbl.aww.wav":["audio/voice/Fem3/gbl.aww.WAV",["voice.vl2"]],"audio/voice/fem3/gbl.brag.m4a":["audio/voice/Fem3/gbl.brag.m4a",["voice.vl2"]],"audio/voice/fem3/gbl.brag.wav":["audio/voice/Fem3/gbl.brag.WAV",["voice.vl2"]],"audio/voice/fem3/gbl.bye.m4a":["audio/voice/Fem3/gbl.bye.m4a",["voice.vl2"]],"audio/voice/fem3/gbl.bye.wav":["audio/voice/Fem3/gbl.bye.WAV",["voice.vl2"]],"audio/voice/fem3/gbl.dunno.m4a":["audio/voice/Fem3/gbl.dunno.m4a",["voice.vl2"]],"audio/voice/fem3/gbl.dunno.wav":["audio/voice/Fem3/gbl.dunno.WAV",["voice.vl2"]],"audio/voice/fem3/gbl.goodgame.m4a":["audio/voice/Fem3/gbl.goodgame.m4a",["voice.vl2"]],"audio/voice/fem3/gbl.goodgame.wav":["audio/voice/Fem3/gbl.goodgame.WAV",["voice.vl2"]],"audio/voice/fem3/gbl.hi.m4a":["audio/voice/Fem3/gbl.hi.m4a",["voice.vl2"]],"audio/voice/fem3/gbl.hi.wav":["audio/voice/Fem3/gbl.hi.WAV",["voice.vl2"]],"audio/voice/fem3/gbl.nice.m4a":["audio/voice/Fem3/gbl.nice.m4a",["voice.vl2"]],"audio/voice/fem3/gbl.nice.wav":["audio/voice/Fem3/gbl.nice.WAV",["voice.vl2"]],"audio/voice/fem3/gbl.no.m4a":["audio/voice/Fem3/gbl.no.m4a",["voice.vl2"]],"audio/voice/fem3/gbl.no.wav":["audio/voice/Fem3/gbl.no.WAV",["voice.vl2"]],"audio/voice/fem3/gbl.obnoxious.m4a":["audio/voice/Fem3/gbl.obnoxious.m4a",["voice.vl2"]],"audio/voice/fem3/gbl.obnoxious.wav":["audio/voice/Fem3/gbl.obnoxious.WAV",["voice.vl2"]],"audio/voice/fem3/gbl.oops.m4a":["audio/voice/Fem3/gbl.oops.m4a",["voice.vl2"]],"audio/voice/fem3/gbl.oops.wav":["audio/voice/Fem3/gbl.oops.WAV",["voice.vl2"]],"audio/voice/fem3/gbl.quiet.m4a":["audio/voice/Fem3/gbl.quiet.m4a",["voice.vl2"]],"audio/voice/fem3/gbl.quiet.wav":["audio/voice/Fem3/gbl.quiet.WAV",["voice.vl2"]],"audio/voice/fem3/gbl.rock.m4a":["audio/voice/Fem3/gbl.rock.m4a",["voice.vl2"]],"audio/voice/fem3/gbl.rock.wav":["audio/voice/Fem3/gbl.rock.WAV",["voice.vl2"]],"audio/voice/fem3/gbl.sarcasm.m4a":["audio/voice/Fem3/gbl.sarcasm.m4a",["voice.vl2"]],"audio/voice/fem3/gbl.sarcasm.wav":["audio/voice/Fem3/gbl.sarcasm.WAV",["voice.vl2"]],"audio/voice/fem3/gbl.shazbot.m4a":["audio/voice/Fem3/gbl.shazbot.m4a",["voice.vl2"]],"audio/voice/fem3/gbl.shazbot.wav":["audio/voice/Fem3/gbl.shazbot.WAV",["voice.vl2"]],"audio/voice/fem3/gbl.shooting.m4a":["audio/voice/Fem3/gbl.shooting.m4a",["voice.vl2"]],"audio/voice/fem3/gbl.shooting.wav":["audio/voice/Fem3/gbl.shooting.WAV",["voice.vl2"]],"audio/voice/fem3/gbl.thanks.m4a":["audio/voice/Fem3/gbl.thanks.m4a",["voice.vl2"]],"audio/voice/fem3/gbl.thanks.wav":["audio/voice/Fem3/gbl.thanks.WAV",["voice.vl2"]],"audio/voice/fem3/gbl.wait.m4a":["audio/voice/Fem3/gbl.wait.m4a",["voice.vl2"]],"audio/voice/fem3/gbl.wait.wav":["audio/voice/Fem3/gbl.wait.WAV",["voice.vl2"]],"audio/voice/fem3/gbl.when.m4a":["audio/voice/Fem3/gbl.when.m4a",["voice.vl2"]],"audio/voice/fem3/gbl.when.wav":["audio/voice/Fem3/gbl.when.WAV",["voice.vl2"]],"audio/voice/fem3/gbl.woohoo.m4a":["audio/voice/Fem3/gbl.woohoo.m4a",["voice.vl2"]],"audio/voice/fem3/gbl.woohoo.wav":["audio/voice/Fem3/gbl.woohoo.WAV",["voice.vl2"]],"audio/voice/fem3/gbl.yes.m4a":["audio/voice/Fem3/gbl.yes.m4a",["voice.vl2"]],"audio/voice/fem3/gbl.yes.wav":["audio/voice/Fem3/gbl.yes.WAV",["voice.vl2"]],"audio/voice/fem3/need.bombardier.m4a":["audio/voice/Fem3/need.bombardier.m4a",["voice.vl2"]],"audio/voice/fem3/need.bombardier.wav":["audio/voice/Fem3/need.bombardier.WAV",["voice.vl2"]],"audio/voice/fem3/need.cover.m4a":["audio/voice/Fem3/need.cover.m4a",["voice.vl2"]],"audio/voice/fem3/need.cover.wav":["audio/voice/Fem3/need.cover.WAV",["voice.vl2"]],"audio/voice/fem3/need.driver.m4a":["audio/voice/Fem3/need.driver.m4a",["voice.vl2"]],"audio/voice/fem3/need.driver.wav":["audio/voice/Fem3/need.driver.WAV",["voice.vl2"]],"audio/voice/fem3/need.escort.m4a":["audio/voice/Fem3/need.escort.m4a",["voice.vl2"]],"audio/voice/fem3/need.escort.wav":["audio/voice/Fem3/need.escort.WAV",["voice.vl2"]],"audio/voice/fem3/need.flyer.m4a":["audio/voice/Fem3/need.flyer.m4a",["voice.vl2"]],"audio/voice/fem3/need.flyer.wav":["audio/voice/Fem3/need.flyer.WAV",["voice.vl2"]],"audio/voice/fem3/need.gunship.m4a":["audio/voice/Fem3/need.gunship.m4a",["voice.vl2"]],"audio/voice/fem3/need.gunship.wav":["audio/voice/Fem3/need.gunship.WAV",["voice.vl2"]],"audio/voice/fem3/need.hold.m4a":["audio/voice/Fem3/need.hold.m4a",["voice.vl2"]],"audio/voice/fem3/need.hold.wav":["audio/voice/Fem3/need.hold.WAV",["voice.vl2"]],"audio/voice/fem3/need.ride.m4a":["audio/voice/Fem3/need.ride.m4a",["voice.vl2"]],"audio/voice/fem3/need.ride.wav":["audio/voice/Fem3/need.ride.WAV",["voice.vl2"]],"audio/voice/fem3/need.support.m4a":["audio/voice/Fem3/need.support.m4a",["voice.vl2"]],"audio/voice/fem3/need.support.wav":["audio/voice/Fem3/need.support.WAV",["voice.vl2"]],"audio/voice/fem3/need.tailgunner.m4a":["audio/voice/Fem3/need.tailgunner.m4a",["voice.vl2"]],"audio/voice/fem3/need.tailgunner.wav":["audio/voice/Fem3/need.tailgunner.WAV",["voice.vl2"]],"audio/voice/fem3/need.where.m4a":["audio/voice/Fem3/need.where.m4a",["voice.vl2"]],"audio/voice/fem3/need.where.wav":["audio/voice/Fem3/need.where.WAV",["voice.vl2"]],"audio/voice/fem3/rep.base.m4a":["audio/voice/Fem3/rep.base.m4a",["voice.vl2"]],"audio/voice/fem3/rep.base.wav":["audio/voice/Fem3/rep.base.WAV",["voice.vl2"]],"audio/voice/fem3/rep.generator.m4a":["audio/voice/Fem3/rep.generator.m4a",["voice.vl2"]],"audio/voice/fem3/rep.generator.wav":["audio/voice/Fem3/rep.generator.WAV",["voice.vl2"]],"audio/voice/fem3/rep.me.m4a":["audio/voice/Fem3/rep.me.m4a",["voice.vl2"]],"audio/voice/fem3/rep.me.wav":["audio/voice/Fem3/rep.me.WAV",["voice.vl2"]],"audio/voice/fem3/rep.sensors.m4a":["audio/voice/Fem3/rep.sensors.m4a",["voice.vl2"]],"audio/voice/fem3/rep.sensors.wav":["audio/voice/Fem3/rep.sensors.WAV",["voice.vl2"]],"audio/voice/fem3/rep.turrets.m4a":["audio/voice/Fem3/rep.turrets.m4a",["voice.vl2"]],"audio/voice/fem3/rep.turrets.wav":["audio/voice/Fem3/rep.turrets.WAV",["voice.vl2"]],"audio/voice/fem3/rep.vehicle.m4a":["audio/voice/Fem3/rep.vehicle.m4a",["voice.vl2"]],"audio/voice/fem3/rep.vehicle.wav":["audio/voice/Fem3/rep.vehicle.WAV",["voice.vl2"]],"audio/voice/fem3/slf.att.attack.m4a":["audio/voice/Fem3/slf.att.attack.m4a",["voice.vl2"]],"audio/voice/fem3/slf.att.attack.wav":["audio/voice/Fem3/slf.att.attack.WAV",["voice.vl2"]],"audio/voice/fem3/slf.att.base.m4a":["audio/voice/Fem3/slf.att.base.m4a",["voice.vl2"]],"audio/voice/fem3/slf.att.base.wav":["audio/voice/Fem3/slf.att.base.WAV",["voice.vl2"]],"audio/voice/fem3/slf.att.flag.m4a":["audio/voice/Fem3/slf.att.flag.m4a",["voice.vl2"]],"audio/voice/fem3/slf.att.flag.wav":["audio/voice/Fem3/slf.att.flag.WAV",["voice.vl2"]],"audio/voice/fem3/slf.att.generator.m4a":["audio/voice/Fem3/slf.att.generator.m4a",["voice.vl2"]],"audio/voice/fem3/slf.att.generator.wav":["audio/voice/Fem3/slf.att.generator.WAV",["voice.vl2"]],"audio/voice/fem3/slf.att.sensors.m4a":["audio/voice/Fem3/slf.att.sensors.m4a",["voice.vl2"]],"audio/voice/fem3/slf.att.sensors.wav":["audio/voice/Fem3/slf.att.sensors.WAV",["voice.vl2"]],"audio/voice/fem3/slf.att.turrets.m4a":["audio/voice/Fem3/slf.att.turrets.m4a",["voice.vl2"]],"audio/voice/fem3/slf.att.turrets.wav":["audio/voice/Fem3/slf.att.turrets.WAV",["voice.vl2"]],"audio/voice/fem3/slf.att.vehicle.m4a":["audio/voice/Fem3/slf.att.vehicle.m4a",["voice.vl2"]],"audio/voice/fem3/slf.att.vehicle.wav":["audio/voice/Fem3/slf.att.vehicle.WAV",["voice.vl2"]],"audio/voice/fem3/slf.def.base.m4a":["audio/voice/Fem3/slf.def.base.m4a",["voice.vl2"]],"audio/voice/fem3/slf.def.base.wav":["audio/voice/Fem3/slf.def.base.WAV",["voice.vl2"]],"audio/voice/fem3/slf.def.defend.m4a":["audio/voice/Fem3/slf.def.defend.m4a",["voice.vl2"]],"audio/voice/fem3/slf.def.defend.wav":["audio/voice/Fem3/slf.def.defend.WAV",["voice.vl2"]],"audio/voice/fem3/slf.def.flag.m4a":["audio/voice/Fem3/slf.def.flag.m4a",["voice.vl2"]],"audio/voice/fem3/slf.def.flag.wav":["audio/voice/Fem3/slf.def.flag.WAV",["voice.vl2"]],"audio/voice/fem3/slf.def.generator.m4a":["audio/voice/Fem3/slf.def.generator.m4a",["voice.vl2"]],"audio/voice/fem3/slf.def.generator.wav":["audio/voice/Fem3/slf.def.generator.WAV",["voice.vl2"]],"audio/voice/fem3/slf.def.nexus.m4a":["audio/voice/Fem3/slf.def.nexus.m4a",["voice.vl2"]],"audio/voice/fem3/slf.def.nexus.wav":["audio/voice/Fem3/slf.def.nexus.WAV",["voice.vl2"]],"audio/voice/fem3/slf.def.sensors.m4a":["audio/voice/Fem3/slf.def.sensors.m4a",["voice.vl2"]],"audio/voice/fem3/slf.def.sensors.wav":["audio/voice/Fem3/slf.def.sensors.WAV",["voice.vl2"]],"audio/voice/fem3/slf.def.turrets.m4a":["audio/voice/Fem3/slf.def.turrets.m4a",["voice.vl2"]],"audio/voice/fem3/slf.def.turrets.wav":["audio/voice/Fem3/slf.def.turrets.WAV",["voice.vl2"]],"audio/voice/fem3/slf.def.vehicle.m4a":["audio/voice/Fem3/slf.def.vehicle.m4a",["voice.vl2"]],"audio/voice/fem3/slf.def.vehicle.wav":["audio/voice/Fem3/slf.def.vehicle.WAV",["voice.vl2"]],"audio/voice/fem3/slf.rep.base.m4a":["audio/voice/Fem3/slf.rep.base.m4a",["voice.vl2"]],"audio/voice/fem3/slf.rep.base.wav":["audio/voice/Fem3/slf.rep.base.WAV",["voice.vl2"]],"audio/voice/fem3/slf.rep.equipment.m4a":["audio/voice/Fem3/slf.rep.equipment.m4a",["voice.vl2"]],"audio/voice/fem3/slf.rep.equipment.wav":["audio/voice/Fem3/slf.rep.equipment.WAV",["voice.vl2"]],"audio/voice/fem3/slf.rep.generator.m4a":["audio/voice/Fem3/slf.rep.generator.m4a",["voice.vl2"]],"audio/voice/fem3/slf.rep.generator.wav":["audio/voice/Fem3/slf.rep.generator.WAV",["voice.vl2"]],"audio/voice/fem3/slf.rep.repairing.m4a":["audio/voice/Fem3/slf.rep.repairing.m4a",["voice.vl2"]],"audio/voice/fem3/slf.rep.repairing.wav":["audio/voice/Fem3/slf.rep.repairing.WAV",["voice.vl2"]],"audio/voice/fem3/slf.rep.sensors.m4a":["audio/voice/Fem3/slf.rep.sensors.m4a",["voice.vl2"]],"audio/voice/fem3/slf.rep.sensors.wav":["audio/voice/Fem3/slf.rep.sensors.WAV",["voice.vl2"]],"audio/voice/fem3/slf.rep.turrets.m4a":["audio/voice/Fem3/slf.rep.turrets.m4a",["voice.vl2"]],"audio/voice/fem3/slf.rep.turrets.wav":["audio/voice/Fem3/slf.rep.turrets.WAV",["voice.vl2"]],"audio/voice/fem3/slf.rep.vehicle.m4a":["audio/voice/Fem3/slf.rep.vehicle.m4a",["voice.vl2"]],"audio/voice/fem3/slf.rep.vehicle.wav":["audio/voice/Fem3/slf.rep.vehicle.WAV",["voice.vl2"]],"audio/voice/fem3/slf.tsk.cover.m4a":["audio/voice/Fem3/slf.tsk.cover.m4a",["voice.vl2"]],"audio/voice/fem3/slf.tsk.cover.wav":["audio/voice/Fem3/slf.tsk.cover.WAV",["voice.vl2"]],"audio/voice/fem3/slf.tsk.defense.m4a":["audio/voice/Fem3/slf.tsk.defense.m4a",["voice.vl2"]],"audio/voice/fem3/slf.tsk.defense.wav":["audio/voice/Fem3/slf.tsk.defense.WAV",["voice.vl2"]],"audio/voice/fem3/slf.tsk.generic.m4a":["audio/voice/Fem3/slf.tsk.generic.m4a",["voice.vl2"]],"audio/voice/fem3/slf.tsk.generic.wav":["audio/voice/Fem3/slf.tsk.generic.WAV",["voice.vl2"]],"audio/voice/fem3/slf.tsk.remotes.m4a":["audio/voice/Fem3/slf.tsk.remotes.m4a",["voice.vl2"]],"audio/voice/fem3/slf.tsk.remotes.wav":["audio/voice/Fem3/slf.tsk.remotes.WAV",["voice.vl2"]],"audio/voice/fem3/slf.tsk.sensors.m4a":["audio/voice/Fem3/slf.tsk.sensors.m4a",["voice.vl2"]],"audio/voice/fem3/slf.tsk.sensors.wav":["audio/voice/Fem3/slf.tsk.sensors.WAV",["voice.vl2"]],"audio/voice/fem3/slf.tsk.turrets.m4a":["audio/voice/Fem3/slf.tsk.turrets.m4a",["voice.vl2"]],"audio/voice/fem3/slf.tsk.turrets.wav":["audio/voice/Fem3/slf.tsk.turrets.WAV",["voice.vl2"]],"audio/voice/fem3/slf.tsk.vehicle.m4a":["audio/voice/Fem3/slf.tsk.vehicle.m4a",["voice.vl2"]],"audio/voice/fem3/slf.tsk.vehicle.wav":["audio/voice/Fem3/slf.tsk.vehicle.WAV",["voice.vl2"]],"audio/voice/fem3/tgt.acquired.m4a":["audio/voice/Fem3/tgt.acquired.m4a",["voice.vl2"]],"audio/voice/fem3/tgt.acquired.wav":["audio/voice/Fem3/tgt.acquired.WAV",["voice.vl2"]],"audio/voice/fem3/tgt.base.m4a":["audio/voice/Fem3/tgt.base.m4a",["voice.vl2"]],"audio/voice/fem3/tgt.base.wav":["audio/voice/Fem3/tgt.base.WAV",["voice.vl2"]],"audio/voice/fem3/tgt.destroyed.m4a":["audio/voice/Fem3/tgt.destroyed.m4a",["voice.vl2"]],"audio/voice/fem3/tgt.destroyed.wav":["audio/voice/Fem3/tgt.destroyed.WAV",["voice.vl2"]],"audio/voice/fem3/tgt.flag.m4a":["audio/voice/Fem3/tgt.flag.m4a",["voice.vl2"]],"audio/voice/fem3/tgt.flag.wav":["audio/voice/Fem3/tgt.flag.WAV",["voice.vl2"]],"audio/voice/fem3/tgt.my.m4a":["audio/voice/Fem3/tgt.my.m4a",["voice.vl2"]],"audio/voice/fem3/tgt.my.wav":["audio/voice/Fem3/tgt.my.WAV",["voice.vl2"]],"audio/voice/fem3/tgt.need.m4a":["audio/voice/Fem3/tgt.need.m4a",["voice.vl2"]],"audio/voice/fem3/tgt.need.wav":["audio/voice/Fem3/tgt.need.WAV",["voice.vl2"]],"audio/voice/fem3/tgt.sensors.m4a":["audio/voice/Fem3/tgt.sensors.m4a",["voice.vl2"]],"audio/voice/fem3/tgt.sensors.wav":["audio/voice/Fem3/tgt.sensors.WAV",["voice.vl2"]],"audio/voice/fem3/tgt.turret.m4a":["audio/voice/Fem3/tgt.turret.m4a",["voice.vl2"]],"audio/voice/fem3/tgt.turret.wav":["audio/voice/Fem3/tgt.turret.WAV",["voice.vl2"]],"audio/voice/fem3/tgt.wait.m4a":["audio/voice/Fem3/tgt.wait.m4a",["voice.vl2"]],"audio/voice/fem3/tgt.wait.wav":["audio/voice/Fem3/tgt.wait.WAV",["voice.vl2"]],"audio/voice/fem3/vqk.anytime.m4a":["audio/voice/Fem3/vqk.anytime.m4a",["voice.vl2"]],"audio/voice/fem3/vqk.anytime.wav":["audio/voice/Fem3/vqk.anytime.WAV",["voice.vl2"]],"audio/voice/fem3/vqk.base.m4a":["audio/voice/Fem3/vqk.base.m4a",["voice.vl2"]],"audio/voice/fem3/vqk.base.wav":["audio/voice/Fem3/vqk.base.WAV",["voice.vl2"]],"audio/voice/fem3/vqk.ceasefire.m4a":["audio/voice/Fem3/vqk.ceasefire.m4a",["voice.vl2"]],"audio/voice/fem3/vqk.ceasefire.wav":["audio/voice/Fem3/vqk.ceasefire.WAV",["voice.vl2"]],"audio/voice/fem3/vqk.dunno.m4a":["audio/voice/Fem3/vqk.dunno.m4a",["voice.vl2"]],"audio/voice/fem3/vqk.dunno.wav":["audio/voice/Fem3/vqk.dunno.WAV",["voice.vl2"]],"audio/voice/fem3/vqk.help.m4a":["audio/voice/Fem3/vqk.help.m4a",["voice.vl2"]],"audio/voice/fem3/vqk.help.wav":["audio/voice/Fem3/vqk.help.WAV",["voice.vl2"]],"audio/voice/fem3/vqk.move.m4a":["audio/voice/Fem3/vqk.move.m4a",["voice.vl2"]],"audio/voice/fem3/vqk.move.wav":["audio/voice/Fem3/vqk.move.WAV",["voice.vl2"]],"audio/voice/fem3/vqk.no.m4a":["audio/voice/Fem3/vqk.no.m4a",["voice.vl2"]],"audio/voice/fem3/vqk.no.wav":["audio/voice/Fem3/vqk.no.WAV",["voice.vl2"]],"audio/voice/fem3/vqk.quiet.m4a":["audio/voice/Fem3/vqk.quiet.m4a",["voice.vl2"]],"audio/voice/fem3/vqk.quiet.wav":["audio/voice/Fem3/vqk.quiet.WAV",["voice.vl2"]],"audio/voice/fem3/vqk.sorry.m4a":["audio/voice/Fem3/vqk.sorry.m4a",["voice.vl2"]],"audio/voice/fem3/vqk.sorry.wav":["audio/voice/Fem3/vqk.sorry.WAV",["voice.vl2"]],"audio/voice/fem3/vqk.thanks.m4a":["audio/voice/Fem3/vqk.thanks.m4a",["voice.vl2"]],"audio/voice/fem3/vqk.thanks.wav":["audio/voice/Fem3/vqk.thanks.WAV",["voice.vl2"]],"audio/voice/fem3/vqk.wait.m4a":["audio/voice/Fem3/vqk.wait.m4a",["voice.vl2"]],"audio/voice/fem3/vqk.wait.wav":["audio/voice/Fem3/vqk.wait.WAV",["voice.vl2"]],"audio/voice/fem3/vqk.yes.m4a":["audio/voice/Fem3/vqk.yes.m4a",["voice.vl2"]],"audio/voice/fem3/vqk.yes.wav":["audio/voice/Fem3/vqk.yes.WAV",["voice.vl2"]],"audio/voice/fem3/wrn.bomber.m4a":["audio/voice/Fem3/wrn.bomber.m4a",["voice.vl2"]],"audio/voice/fem3/wrn.bomber.wav":["audio/voice/Fem3/wrn.bomber.WAV",["voice.vl2"]],"audio/voice/fem3/wrn.enemy.m4a":["audio/voice/Fem3/wrn.enemy.m4a",["voice.vl2"]],"audio/voice/fem3/wrn.enemy.wav":["audio/voice/Fem3/wrn.enemy.WAV",["voice.vl2"]],"audio/voice/fem3/wrn.vehicles.m4a":["audio/voice/Fem3/wrn.vehicles.m4a",["voice.vl2"]],"audio/voice/fem3/wrn.vehicles.wav":["audio/voice/Fem3/wrn.vehicles.WAV",["voice.vl2"]],"audio/voice/fem3/wrn.watchit.m4a":["audio/voice/Fem3/wrn.watchit.m4a",["voice.vl2"]],"audio/voice/fem3/wrn.watchit.wav":["audio/voice/Fem3/wrn.watchit.WAV",["voice.vl2"]],"audio/voice/fem4/att.attack.m4a":["audio/voice/Fem4/att.attack.m4a",["voice.vl2"]],"audio/voice/fem4/att.attack.wav":["audio/voice/Fem4/att.attack.WAV",["voice.vl2"]],"audio/voice/fem4/att.base.m4a":["audio/voice/Fem4/att.base.m4a",["voice.vl2"]],"audio/voice/fem4/att.base.wav":["audio/voice/Fem4/att.base.WAV",["voice.vl2"]],"audio/voice/fem4/att.chase.m4a":["audio/voice/Fem4/att.chase.m4a",["voice.vl2"]],"audio/voice/fem4/att.chase.wav":["audio/voice/Fem4/att.chase.WAV",["voice.vl2"]],"audio/voice/fem4/att.distract.m4a":["audio/voice/Fem4/att.distract.m4a",["voice.vl2"]],"audio/voice/fem4/att.distract.wav":["audio/voice/Fem4/att.distract.WAV",["voice.vl2"]],"audio/voice/fem4/att.flag.m4a":["audio/voice/Fem4/att.flag.m4a",["voice.vl2"]],"audio/voice/fem4/att.flag.wav":["audio/voice/Fem4/att.flag.WAV",["voice.vl2"]],"audio/voice/fem4/att.generator.m4a":["audio/voice/Fem4/att.generator.m4a",["voice.vl2"]],"audio/voice/fem4/att.generator.wav":["audio/voice/Fem4/att.generator.WAV",["voice.vl2"]],"audio/voice/fem4/att.objective.m4a":["audio/voice/Fem4/att.objective.m4a",["voice.vl2"]],"audio/voice/fem4/att.objective.wav":["audio/voice/Fem4/att.objective.WAV",["voice.vl2"]],"audio/voice/fem4/att.reinforcements.m4a":["audio/voice/Fem4/att.reinforcements.m4a",["voice.vl2"]],"audio/voice/fem4/att.reinforcements.wav":["audio/voice/Fem4/att.reinforcements.WAV",["voice.vl2"]],"audio/voice/fem4/att.sensors.m4a":["audio/voice/Fem4/att.sensors.m4a",["voice.vl2"]],"audio/voice/fem4/att.sensors.wav":["audio/voice/Fem4/att.sensors.WAV",["voice.vl2"]],"audio/voice/fem4/att.turrets.m4a":["audio/voice/Fem4/att.turrets.m4a",["voice.vl2"]],"audio/voice/fem4/att.turrets.wav":["audio/voice/Fem4/att.turrets.WAV",["voice.vl2"]],"audio/voice/fem4/att.vehicle.m4a":["audio/voice/Fem4/att.vehicle.m4a",["voice.vl2"]],"audio/voice/fem4/att.vehicle.wav":["audio/voice/Fem4/att.vehicle.WAV",["voice.vl2"]],"audio/voice/fem4/att.wait.m4a":["audio/voice/Fem4/att.wait.m4a",["voice.vl2"]],"audio/voice/fem4/att.wait.wav":["audio/voice/Fem4/att.wait.WAV",["voice.vl2"]],"audio/voice/fem4/avo.deathcry_01.m4a":["audio/voice/Fem4/avo.deathcry_01.m4a",["voice.vl2"]],"audio/voice/fem4/avo.deathcry_01.wav":["audio/voice/Fem4/avo.deathcry_01.WAV",["voice.vl2"]],"audio/voice/fem4/avo.deathcry_02.m4a":["audio/voice/Fem4/avo.deathcry_02.m4a",["voice.vl2"]],"audio/voice/fem4/avo.deathcry_02.wav":["audio/voice/Fem4/avo.deathcry_02.WAV",["voice.vl2"]],"audio/voice/fem4/avo.grunt.m4a":["audio/voice/Fem4/avo.grunt.m4a",["voice.vl2"]],"audio/voice/fem4/avo.grunt.wav":["audio/voice/Fem4/avo.grunt.WAV",["voice.vl2"]],"audio/voice/fem4/avo.pain.m4a":["audio/voice/Fem4/avo.pain.m4a",["voice.vl2"]],"audio/voice/fem4/avo.pain.wav":["audio/voice/Fem4/avo.pain.WAV",["voice.vl2"]],"audio/voice/fem4/bas.clear.m4a":["audio/voice/Fem4/bas.clear.m4a",["voice.vl2"]],"audio/voice/fem4/bas.clear.wav":["audio/voice/Fem4/bas.clear.WAV",["voice.vl2"]],"audio/voice/fem4/bas.enemy.m4a":["audio/voice/Fem4/bas.enemy.m4a",["voice.vl2"]],"audio/voice/fem4/bas.enemy.wav":["audio/voice/Fem4/bas.enemy.WAV",["voice.vl2"]],"audio/voice/fem4/bas.retake.m4a":["audio/voice/Fem4/bas.retake.m4a",["voice.vl2"]],"audio/voice/fem4/bas.retake.wav":["audio/voice/Fem4/bas.retake.WAV",["voice.vl2"]],"audio/voice/fem4/bas.secure.m4a":["audio/voice/Fem4/bas.secure.m4a",["voice.vl2"]],"audio/voice/fem4/bas.secure.wav":["audio/voice/Fem4/bas.secure.WAV",["voice.vl2"]],"audio/voice/fem4/bas.taken.m4a":["audio/voice/Fem4/bas.taken.m4a",["voice.vl2"]],"audio/voice/fem4/bas.taken.wav":["audio/voice/Fem4/bas.taken.WAV",["voice.vl2"]],"audio/voice/fem4/cmd.acknowledge.m4a":["audio/voice/Fem4/cmd.acknowledge.m4a",["voice.vl2"]],"audio/voice/fem4/cmd.acknowledge.wav":["audio/voice/Fem4/cmd.acknowledge.WAV",["voice.vl2"]],"audio/voice/fem4/cmd.bot.m4a":["audio/voice/Fem4/cmd.bot.m4a",["voice.vl2"]],"audio/voice/fem4/cmd.bot.wav":["audio/voice/Fem4/cmd.bot.WAV",["voice.vl2"]],"audio/voice/fem4/cmd.completed.m4a":["audio/voice/Fem4/cmd.completed.m4a",["voice.vl2"]],"audio/voice/fem4/cmd.completed.wav":["audio/voice/Fem4/cmd.completed.WAV",["voice.vl2"]],"audio/voice/fem4/cmd.decline.m4a":["audio/voice/Fem4/cmd.decline.m4a",["voice.vl2"]],"audio/voice/fem4/cmd.decline.wav":["audio/voice/Fem4/cmd.decline.WAV",["voice.vl2"]],"audio/voice/fem4/def.base.m4a":["audio/voice/Fem4/def.base.m4a",["voice.vl2"]],"audio/voice/fem4/def.base.wav":["audio/voice/Fem4/def.base.WAV",["voice.vl2"]],"audio/voice/fem4/def.carrier.m4a":["audio/voice/Fem4/def.carrier.m4a",["voice.vl2"]],"audio/voice/fem4/def.carrier.wav":["audio/voice/Fem4/def.carrier.WAV",["voice.vl2"]],"audio/voice/fem4/def.entrances.m4a":["audio/voice/Fem4/def.entrances.m4a",["voice.vl2"]],"audio/voice/fem4/def.entrances.wav":["audio/voice/Fem4/def.entrances.WAV",["voice.vl2"]],"audio/voice/fem4/def.flag.m4a":["audio/voice/Fem4/def.flag.m4a",["voice.vl2"]],"audio/voice/fem4/def.flag.wav":["audio/voice/Fem4/def.flag.WAV",["voice.vl2"]],"audio/voice/fem4/def.generator.m4a":["audio/voice/Fem4/def.generator.m4a",["voice.vl2"]],"audio/voice/fem4/def.generator.wav":["audio/voice/Fem4/def.generator.WAV",["voice.vl2"]],"audio/voice/fem4/def.me.m4a":["audio/voice/Fem4/def.me.m4a",["voice.vl2"]],"audio/voice/fem4/def.me.wav":["audio/voice/Fem4/def.me.WAV",["voice.vl2"]],"audio/voice/fem4/def.nexus.m4a":["audio/voice/Fem4/def.nexus.m4a",["voice.vl2"]],"audio/voice/fem4/def.nexus.wav":["audio/voice/Fem4/def.nexus.WAV",["voice.vl2"]],"audio/voice/fem4/def.objective.m4a":["audio/voice/Fem4/def.objective.m4a",["voice.vl2"]],"audio/voice/fem4/def.objective.wav":["audio/voice/Fem4/def.objective.WAV",["voice.vl2"]],"audio/voice/fem4/def.reinforce.m4a":["audio/voice/Fem4/def.reinforce.m4a",["voice.vl2"]],"audio/voice/fem4/def.reinforce.wav":["audio/voice/Fem4/def.reinforce.WAV",["voice.vl2"]],"audio/voice/fem4/def.sensors.m4a":["audio/voice/Fem4/def.sensors.m4a",["voice.vl2"]],"audio/voice/fem4/def.sensors.wav":["audio/voice/Fem4/def.sensors.WAV",["voice.vl2"]],"audio/voice/fem4/def.turrets.m4a":["audio/voice/Fem4/def.turrets.m4a",["voice.vl2"]],"audio/voice/fem4/def.turrets.wav":["audio/voice/Fem4/def.turrets.WAV",["voice.vl2"]],"audio/voice/fem4/def.vehicle.m4a":["audio/voice/Fem4/def.vehicle.m4a",["voice.vl2"]],"audio/voice/fem4/def.vehicle.wav":["audio/voice/Fem4/def.vehicle.WAV",["voice.vl2"]],"audio/voice/fem4/ene.base.m4a":["audio/voice/Fem4/ene.base.m4a",["voice.vl2"]],"audio/voice/fem4/ene.base.wav":["audio/voice/Fem4/ene.base.WAV",["voice.vl2"]],"audio/voice/fem4/ene.disarray.m4a":["audio/voice/Fem4/ene.disarray.m4a",["voice.vl2"]],"audio/voice/fem4/ene.disarray.wav":["audio/voice/Fem4/ene.disarray.WAV",["voice.vl2"]],"audio/voice/fem4/ene.generator.m4a":["audio/voice/Fem4/ene.generator.m4a",["voice.vl2"]],"audio/voice/fem4/ene.generator.wav":["audio/voice/Fem4/ene.generator.WAV",["voice.vl2"]],"audio/voice/fem4/ene.remotes.m4a":["audio/voice/Fem4/ene.remotes.m4a",["voice.vl2"]],"audio/voice/fem4/ene.remotes.wav":["audio/voice/Fem4/ene.remotes.WAV",["voice.vl2"]],"audio/voice/fem4/ene.sensors.m4a":["audio/voice/Fem4/ene.sensors.m4a",["voice.vl2"]],"audio/voice/fem4/ene.sensors.wav":["audio/voice/Fem4/ene.sensors.WAV",["voice.vl2"]],"audio/voice/fem4/ene.turrets.m4a":["audio/voice/Fem4/ene.turrets.m4a",["voice.vl2"]],"audio/voice/fem4/ene.turrets.wav":["audio/voice/Fem4/ene.turrets.WAV",["voice.vl2"]],"audio/voice/fem4/ene.vehicle.m4a":["audio/voice/Fem4/ene.vehicle.m4a",["voice.vl2"]],"audio/voice/fem4/ene.vehicle.wav":["audio/voice/Fem4/ene.vehicle.WAV",["voice.vl2"]],"audio/voice/fem4/flg.flag.m4a":["audio/voice/Fem4/flg.flag.m4a",["voice.vl2"]],"audio/voice/fem4/flg.flag.wav":["audio/voice/Fem4/flg.flag.WAV",["voice.vl2"]],"audio/voice/fem4/flg.give.m4a":["audio/voice/Fem4/flg.give.m4a",["voice.vl2"]],"audio/voice/fem4/flg.give.wav":["audio/voice/Fem4/flg.give.WAV",["voice.vl2"]],"audio/voice/fem4/flg.huntergive.m4a":["audio/voice/Fem4/flg.huntergive.m4a",["voice.vl2"]],"audio/voice/fem4/flg.huntergive.wav":["audio/voice/Fem4/flg.huntergive.WAV",["voice.vl2"]],"audio/voice/fem4/flg.huntertake.m4a":["audio/voice/Fem4/flg.huntertake.m4a",["voice.vl2"]],"audio/voice/fem4/flg.huntertake.wav":["audio/voice/Fem4/flg.huntertake.WAV",["voice.vl2"]],"audio/voice/fem4/flg.retrieve.m4a":["audio/voice/Fem4/flg.retrieve.m4a",["voice.vl2"]],"audio/voice/fem4/flg.retrieve.wav":["audio/voice/Fem4/flg.retrieve.WAV",["voice.vl2"]],"audio/voice/fem4/flg.secure.m4a":["audio/voice/Fem4/flg.secure.m4a",["voice.vl2"]],"audio/voice/fem4/flg.secure.wav":["audio/voice/Fem4/flg.secure.WAV",["voice.vl2"]],"audio/voice/fem4/flg.take.m4a":["audio/voice/Fem4/flg.take.m4a",["voice.vl2"]],"audio/voice/fem4/flg.take.wav":["audio/voice/Fem4/flg.take.WAV",["voice.vl2"]],"audio/voice/fem4/gbl.anytime.m4a":["audio/voice/Fem4/gbl.anytime.m4a",["voice.vl2"]],"audio/voice/fem4/gbl.anytime.wav":["audio/voice/Fem4/gbl.anytime.WAV",["voice.vl2"]],"audio/voice/fem4/gbl.awesome.m4a":["audio/voice/Fem4/gbl.awesome.m4a",["voice.vl2"]],"audio/voice/fem4/gbl.awesome.wav":["audio/voice/Fem4/gbl.awesome.WAV",["voice.vl2"]],"audio/voice/fem4/gbl.aww.m4a":["audio/voice/Fem4/gbl.aww.m4a",["voice.vl2"]],"audio/voice/fem4/gbl.aww.wav":["audio/voice/Fem4/gbl.aww.WAV",["voice.vl2"]],"audio/voice/fem4/gbl.brag.m4a":["audio/voice/Fem4/gbl.brag.m4a",["voice.vl2"]],"audio/voice/fem4/gbl.brag.wav":["audio/voice/Fem4/gbl.brag.WAV",["voice.vl2"]],"audio/voice/fem4/gbl.bye.m4a":["audio/voice/Fem4/gbl.bye.m4a",["voice.vl2"]],"audio/voice/fem4/gbl.bye.wav":["audio/voice/Fem4/gbl.bye.WAV",["voice.vl2"]],"audio/voice/fem4/gbl.dunno.m4a":["audio/voice/Fem4/gbl.dunno.m4a",["voice.vl2"]],"audio/voice/fem4/gbl.dunno.wav":["audio/voice/Fem4/gbl.dunno.WAV",["voice.vl2"]],"audio/voice/fem4/gbl.goodgame.m4a":["audio/voice/Fem4/gbl.goodgame.m4a",["voice.vl2"]],"audio/voice/fem4/gbl.goodgame.wav":["audio/voice/Fem4/gbl.goodgame.WAV",["voice.vl2"]],"audio/voice/fem4/gbl.hi.m4a":["audio/voice/Fem4/gbl.hi.m4a",["voice.vl2"]],"audio/voice/fem4/gbl.hi.wav":["audio/voice/Fem4/gbl.hi.WAV",["voice.vl2"]],"audio/voice/fem4/gbl.nice.m4a":["audio/voice/Fem4/gbl.nice.m4a",["voice.vl2"]],"audio/voice/fem4/gbl.nice.wav":["audio/voice/Fem4/gbl.nice.WAV",["voice.vl2"]],"audio/voice/fem4/gbl.no.m4a":["audio/voice/Fem4/gbl.no.m4a",["voice.vl2"]],"audio/voice/fem4/gbl.no.wav":["audio/voice/Fem4/gbl.no.WAV",["voice.vl2"]],"audio/voice/fem4/gbl.obnoxious.m4a":["audio/voice/Fem4/gbl.obnoxious.m4a",["voice.vl2"]],"audio/voice/fem4/gbl.obnoxious.wav":["audio/voice/Fem4/gbl.obnoxious.WAV",["voice.vl2"]],"audio/voice/fem4/gbl.oops.m4a":["audio/voice/Fem4/gbl.oops.m4a",["voice.vl2"]],"audio/voice/fem4/gbl.oops.wav":["audio/voice/Fem4/gbl.oops.WAV",["voice.vl2"]],"audio/voice/fem4/gbl.quiet.m4a":["audio/voice/Fem4/gbl.quiet.m4a",["voice.vl2"]],"audio/voice/fem4/gbl.quiet.wav":["audio/voice/Fem4/gbl.quiet.WAV",["voice.vl2"]],"audio/voice/fem4/gbl.rock.m4a":["audio/voice/Fem4/gbl.rock.m4a",["voice.vl2"]],"audio/voice/fem4/gbl.rock.wav":["audio/voice/Fem4/gbl.rock.WAV",["voice.vl2"]],"audio/voice/fem4/gbl.sarcasm.m4a":["audio/voice/Fem4/gbl.sarcasm.m4a",["voice.vl2"]],"audio/voice/fem4/gbl.sarcasm.wav":["audio/voice/Fem4/gbl.sarcasm.WAV",["voice.vl2"]],"audio/voice/fem4/gbl.shazbot.m4a":["audio/voice/Fem4/gbl.shazbot.m4a",["voice.vl2"]],"audio/voice/fem4/gbl.shazbot.wav":["audio/voice/Fem4/gbl.shazbot.WAV",["voice.vl2"]],"audio/voice/fem4/gbl.shooting.m4a":["audio/voice/Fem4/gbl.shooting.m4a",["voice.vl2"]],"audio/voice/fem4/gbl.shooting.wav":["audio/voice/Fem4/gbl.shooting.WAV",["voice.vl2"]],"audio/voice/fem4/gbl.thanks.m4a":["audio/voice/Fem4/gbl.thanks.m4a",["voice.vl2"]],"audio/voice/fem4/gbl.thanks.wav":["audio/voice/Fem4/gbl.thanks.WAV",["voice.vl2"]],"audio/voice/fem4/gbl.wait.m4a":["audio/voice/Fem4/gbl.wait.m4a",["voice.vl2"]],"audio/voice/fem4/gbl.wait.wav":["audio/voice/Fem4/gbl.wait.WAV",["voice.vl2"]],"audio/voice/fem4/gbl.when.m4a":["audio/voice/Fem4/gbl.when.m4a",["voice.vl2"]],"audio/voice/fem4/gbl.when.wav":["audio/voice/Fem4/gbl.when.WAV",["voice.vl2"]],"audio/voice/fem4/gbl.woohoo.m4a":["audio/voice/Fem4/gbl.woohoo.m4a",["voice.vl2"]],"audio/voice/fem4/gbl.woohoo.wav":["audio/voice/Fem4/gbl.woohoo.WAV",["voice.vl2"]],"audio/voice/fem4/gbl.yes.m4a":["audio/voice/Fem4/gbl.yes.m4a",["voice.vl2"]],"audio/voice/fem4/gbl.yes.wav":["audio/voice/Fem4/gbl.yes.WAV",["voice.vl2"]],"audio/voice/fem4/need.bombardier.m4a":["audio/voice/Fem4/need.bombardier.m4a",["voice.vl2"]],"audio/voice/fem4/need.bombardier.wav":["audio/voice/Fem4/need.bombardier.WAV",["voice.vl2"]],"audio/voice/fem4/need.cover.m4a":["audio/voice/Fem4/need.cover.m4a",["voice.vl2"]],"audio/voice/fem4/need.cover.wav":["audio/voice/Fem4/need.cover.WAV",["voice.vl2"]],"audio/voice/fem4/need.driver.m4a":["audio/voice/Fem4/need.driver.m4a",["voice.vl2"]],"audio/voice/fem4/need.driver.wav":["audio/voice/Fem4/need.driver.WAV",["voice.vl2"]],"audio/voice/fem4/need.escort.m4a":["audio/voice/Fem4/need.escort.m4a",["voice.vl2"]],"audio/voice/fem4/need.escort.wav":["audio/voice/Fem4/need.escort.WAV",["voice.vl2"]],"audio/voice/fem4/need.flyer.m4a":["audio/voice/Fem4/need.flyer.m4a",["voice.vl2"]],"audio/voice/fem4/need.flyer.wav":["audio/voice/Fem4/need.flyer.WAV",["voice.vl2"]],"audio/voice/fem4/need.gunship.m4a":["audio/voice/Fem4/need.gunship.m4a",["voice.vl2"]],"audio/voice/fem4/need.gunship.wav":["audio/voice/Fem4/need.gunship.WAV",["voice.vl2"]],"audio/voice/fem4/need.hold.m4a":["audio/voice/Fem4/need.hold.m4a",["voice.vl2"]],"audio/voice/fem4/need.hold.wav":["audio/voice/Fem4/need.hold.WAV",["voice.vl2"]],"audio/voice/fem4/need.ride.m4a":["audio/voice/Fem4/need.ride.m4a",["voice.vl2"]],"audio/voice/fem4/need.ride.wav":["audio/voice/Fem4/need.ride.WAV",["voice.vl2"]],"audio/voice/fem4/need.support.m4a":["audio/voice/Fem4/need.support.m4a",["voice.vl2"]],"audio/voice/fem4/need.support.wav":["audio/voice/Fem4/need.support.WAV",["voice.vl2"]],"audio/voice/fem4/need.tailgunner.m4a":["audio/voice/Fem4/need.tailgunner.m4a",["voice.vl2"]],"audio/voice/fem4/need.tailgunner.wav":["audio/voice/Fem4/need.tailgunner.WAV",["voice.vl2"]],"audio/voice/fem4/need.where.m4a":["audio/voice/Fem4/need.where.m4a",["voice.vl2"]],"audio/voice/fem4/need.where.wav":["audio/voice/Fem4/need.where.WAV",["voice.vl2"]],"audio/voice/fem4/rep.base.m4a":["audio/voice/Fem4/rep.base.m4a",["voice.vl2"]],"audio/voice/fem4/rep.base.wav":["audio/voice/Fem4/rep.base.WAV",["voice.vl2"]],"audio/voice/fem4/rep.generator.m4a":["audio/voice/Fem4/rep.generator.m4a",["voice.vl2"]],"audio/voice/fem4/rep.generator.wav":["audio/voice/Fem4/rep.generator.WAV",["voice.vl2"]],"audio/voice/fem4/rep.me.m4a":["audio/voice/Fem4/rep.me.m4a",["voice.vl2"]],"audio/voice/fem4/rep.me.wav":["audio/voice/Fem4/rep.me.WAV",["voice.vl2"]],"audio/voice/fem4/rep.sensors.m4a":["audio/voice/Fem4/rep.sensors.m4a",["voice.vl2"]],"audio/voice/fem4/rep.sensors.wav":["audio/voice/Fem4/rep.sensors.WAV",["voice.vl2"]],"audio/voice/fem4/rep.turrets.m4a":["audio/voice/Fem4/rep.turrets.m4a",["voice.vl2"]],"audio/voice/fem4/rep.turrets.wav":["audio/voice/Fem4/rep.turrets.WAV",["voice.vl2"]],"audio/voice/fem4/rep.vehicle.m4a":["audio/voice/Fem4/rep.vehicle.m4a",["voice.vl2"]],"audio/voice/fem4/rep.vehicle.wav":["audio/voice/Fem4/rep.vehicle.WAV",["voice.vl2"]],"audio/voice/fem4/slf.att.attack.m4a":["audio/voice/Fem4/slf.att.attack.m4a",["voice.vl2"]],"audio/voice/fem4/slf.att.attack.wav":["audio/voice/Fem4/slf.att.attack.WAV",["voice.vl2"]],"audio/voice/fem4/slf.att.base.m4a":["audio/voice/Fem4/slf.att.base.m4a",["voice.vl2"]],"audio/voice/fem4/slf.att.base.wav":["audio/voice/Fem4/slf.att.base.WAV",["voice.vl2"]],"audio/voice/fem4/slf.att.flag.m4a":["audio/voice/Fem4/slf.att.flag.m4a",["voice.vl2"]],"audio/voice/fem4/slf.att.flag.wav":["audio/voice/Fem4/slf.att.flag.WAV",["voice.vl2"]],"audio/voice/fem4/slf.att.generator.m4a":["audio/voice/Fem4/slf.att.generator.m4a",["voice.vl2"]],"audio/voice/fem4/slf.att.generator.wav":["audio/voice/Fem4/slf.att.generator.WAV",["voice.vl2"]],"audio/voice/fem4/slf.att.sensors.m4a":["audio/voice/Fem4/slf.att.sensors.m4a",["voice.vl2"]],"audio/voice/fem4/slf.att.sensors.wav":["audio/voice/Fem4/slf.att.sensors.WAV",["voice.vl2"]],"audio/voice/fem4/slf.att.turrets.m4a":["audio/voice/Fem4/slf.att.turrets.m4a",["voice.vl2"]],"audio/voice/fem4/slf.att.turrets.wav":["audio/voice/Fem4/slf.att.turrets.WAV",["voice.vl2"]],"audio/voice/fem4/slf.att.vehicle.m4a":["audio/voice/Fem4/slf.att.vehicle.m4a",["voice.vl2"]],"audio/voice/fem4/slf.att.vehicle.wav":["audio/voice/Fem4/slf.att.vehicle.WAV",["voice.vl2"]],"audio/voice/fem4/slf.def.base.m4a":["audio/voice/Fem4/slf.def.base.m4a",["voice.vl2"]],"audio/voice/fem4/slf.def.base.wav":["audio/voice/Fem4/slf.def.base.WAV",["voice.vl2"]],"audio/voice/fem4/slf.def.defend.m4a":["audio/voice/Fem4/slf.def.defend.m4a",["voice.vl2"]],"audio/voice/fem4/slf.def.defend.wav":["audio/voice/Fem4/slf.def.defend.WAV",["voice.vl2"]],"audio/voice/fem4/slf.def.flag.m4a":["audio/voice/Fem4/slf.def.flag.m4a",["voice.vl2"]],"audio/voice/fem4/slf.def.flag.wav":["audio/voice/Fem4/slf.def.flag.WAV",["voice.vl2"]],"audio/voice/fem4/slf.def.generator.m4a":["audio/voice/Fem4/slf.def.generator.m4a",["voice.vl2"]],"audio/voice/fem4/slf.def.generator.wav":["audio/voice/Fem4/slf.def.generator.WAV",["voice.vl2"]],"audio/voice/fem4/slf.def.nexus.m4a":["audio/voice/Fem4/slf.def.nexus.m4a",["voice.vl2"]],"audio/voice/fem4/slf.def.nexus.wav":["audio/voice/Fem4/slf.def.nexus.WAV",["voice.vl2"]],"audio/voice/fem4/slf.def.sensors.m4a":["audio/voice/Fem4/slf.def.sensors.m4a",["voice.vl2"]],"audio/voice/fem4/slf.def.sensors.wav":["audio/voice/Fem4/slf.def.sensors.WAV",["voice.vl2"]],"audio/voice/fem4/slf.def.turrets.m4a":["audio/voice/Fem4/slf.def.turrets.m4a",["voice.vl2"]],"audio/voice/fem4/slf.def.turrets.wav":["audio/voice/Fem4/slf.def.turrets.WAV",["voice.vl2"]],"audio/voice/fem4/slf.def.vehicle.m4a":["audio/voice/Fem4/slf.def.vehicle.m4a",["voice.vl2"]],"audio/voice/fem4/slf.def.vehicle.wav":["audio/voice/Fem4/slf.def.vehicle.WAV",["voice.vl2"]],"audio/voice/fem4/slf.rep.base.m4a":["audio/voice/Fem4/slf.rep.base.m4a",["voice.vl2"]],"audio/voice/fem4/slf.rep.base.wav":["audio/voice/Fem4/slf.rep.base.WAV",["voice.vl2"]],"audio/voice/fem4/slf.rep.equipment.m4a":["audio/voice/Fem4/slf.rep.equipment.m4a",["voice.vl2"]],"audio/voice/fem4/slf.rep.equipment.wav":["audio/voice/Fem4/slf.rep.equipment.WAV",["voice.vl2"]],"audio/voice/fem4/slf.rep.generator.m4a":["audio/voice/Fem4/slf.rep.generator.m4a",["voice.vl2"]],"audio/voice/fem4/slf.rep.generator.wav":["audio/voice/Fem4/slf.rep.generator.WAV",["voice.vl2"]],"audio/voice/fem4/slf.rep.repairing.m4a":["audio/voice/Fem4/slf.rep.repairing.m4a",["voice.vl2"]],"audio/voice/fem4/slf.rep.repairing.wav":["audio/voice/Fem4/slf.rep.repairing.WAV",["voice.vl2"]],"audio/voice/fem4/slf.rep.sensors.m4a":["audio/voice/Fem4/slf.rep.sensors.m4a",["voice.vl2"]],"audio/voice/fem4/slf.rep.sensors.wav":["audio/voice/Fem4/slf.rep.sensors.WAV",["voice.vl2"]],"audio/voice/fem4/slf.rep.turrets.m4a":["audio/voice/Fem4/slf.rep.turrets.m4a",["voice.vl2"]],"audio/voice/fem4/slf.rep.turrets.wav":["audio/voice/Fem4/slf.rep.turrets.WAV",["voice.vl2"]],"audio/voice/fem4/slf.rep.vehicle.m4a":["audio/voice/Fem4/slf.rep.vehicle.m4a",["voice.vl2"]],"audio/voice/fem4/slf.rep.vehicle.wav":["audio/voice/Fem4/slf.rep.vehicle.WAV",["voice.vl2"]],"audio/voice/fem4/slf.tsk.cover.m4a":["audio/voice/Fem4/slf.tsk.cover.m4a",["voice.vl2"]],"audio/voice/fem4/slf.tsk.cover.wav":["audio/voice/Fem4/slf.tsk.cover.WAV",["voice.vl2"]],"audio/voice/fem4/slf.tsk.defense.m4a":["audio/voice/Fem4/slf.tsk.defense.m4a",["voice.vl2"]],"audio/voice/fem4/slf.tsk.defense.wav":["audio/voice/Fem4/slf.tsk.defense.WAV",["voice.vl2"]],"audio/voice/fem4/slf.tsk.generic.m4a":["audio/voice/Fem4/slf.tsk.generic.m4a",["voice.vl2"]],"audio/voice/fem4/slf.tsk.generic.wav":["audio/voice/Fem4/slf.tsk.generic.WAV",["voice.vl2"]],"audio/voice/fem4/slf.tsk.remotes.m4a":["audio/voice/Fem4/slf.tsk.remotes.m4a",["voice.vl2"]],"audio/voice/fem4/slf.tsk.remotes.wav":["audio/voice/Fem4/slf.tsk.remotes.WAV",["voice.vl2"]],"audio/voice/fem4/slf.tsk.sensors.m4a":["audio/voice/Fem4/slf.tsk.sensors.m4a",["voice.vl2"]],"audio/voice/fem4/slf.tsk.sensors.wav":["audio/voice/Fem4/slf.tsk.sensors.WAV",["voice.vl2"]],"audio/voice/fem4/slf.tsk.turrets.m4a":["audio/voice/Fem4/slf.tsk.turrets.m4a",["voice.vl2"]],"audio/voice/fem4/slf.tsk.turrets.wav":["audio/voice/Fem4/slf.tsk.turrets.WAV",["voice.vl2"]],"audio/voice/fem4/slf.tsk.vehicle.m4a":["audio/voice/Fem4/slf.tsk.vehicle.m4a",["voice.vl2"]],"audio/voice/fem4/slf.tsk.vehicle.wav":["audio/voice/Fem4/slf.tsk.vehicle.WAV",["voice.vl2"]],"audio/voice/fem4/tgt.acquired.m4a":["audio/voice/Fem4/tgt.acquired.m4a",["voice.vl2"]],"audio/voice/fem4/tgt.acquired.wav":["audio/voice/Fem4/tgt.acquired.WAV",["voice.vl2"]],"audio/voice/fem4/tgt.base.m4a":["audio/voice/Fem4/tgt.base.m4a",["voice.vl2"]],"audio/voice/fem4/tgt.base.wav":["audio/voice/Fem4/tgt.base.WAV",["voice.vl2"]],"audio/voice/fem4/tgt.destroyed.m4a":["audio/voice/Fem4/tgt.destroyed.m4a",["voice.vl2"]],"audio/voice/fem4/tgt.destroyed.wav":["audio/voice/Fem4/tgt.destroyed.WAV",["voice.vl2"]],"audio/voice/fem4/tgt.flag.m4a":["audio/voice/Fem4/tgt.flag.m4a",["voice.vl2"]],"audio/voice/fem4/tgt.flag.wav":["audio/voice/Fem4/tgt.flag.WAV",["voice.vl2"]],"audio/voice/fem4/tgt.my.m4a":["audio/voice/Fem4/tgt.my.m4a",["voice.vl2"]],"audio/voice/fem4/tgt.my.wav":["audio/voice/Fem4/tgt.my.WAV",["voice.vl2"]],"audio/voice/fem4/tgt.need.m4a":["audio/voice/Fem4/tgt.need.m4a",["voice.vl2"]],"audio/voice/fem4/tgt.need.wav":["audio/voice/Fem4/tgt.need.WAV",["voice.vl2"]],"audio/voice/fem4/tgt.sensors.m4a":["audio/voice/Fem4/tgt.sensors.m4a",["voice.vl2"]],"audio/voice/fem4/tgt.sensors.wav":["audio/voice/Fem4/tgt.sensors.WAV",["voice.vl2"]],"audio/voice/fem4/tgt.turret.m4a":["audio/voice/Fem4/tgt.turret.m4a",["voice.vl2"]],"audio/voice/fem4/tgt.turret.wav":["audio/voice/Fem4/tgt.turret.WAV",["voice.vl2"]],"audio/voice/fem4/tgt.wait.m4a":["audio/voice/Fem4/tgt.wait.m4a",["voice.vl2"]],"audio/voice/fem4/tgt.wait.wav":["audio/voice/Fem4/tgt.wait.WAV",["voice.vl2"]],"audio/voice/fem4/vqk.anytime.m4a":["audio/voice/Fem4/vqk.anytime.m4a",["voice.vl2"]],"audio/voice/fem4/vqk.anytime.wav":["audio/voice/Fem4/vqk.anytime.WAV",["voice.vl2"]],"audio/voice/fem4/vqk.base.m4a":["audio/voice/Fem4/vqk.base.m4a",["voice.vl2"]],"audio/voice/fem4/vqk.base.wav":["audio/voice/Fem4/vqk.base.WAV",["voice.vl2"]],"audio/voice/fem4/vqk.ceasefire.m4a":["audio/voice/Fem4/vqk.ceasefire.m4a",["voice.vl2"]],"audio/voice/fem4/vqk.ceasefire.wav":["audio/voice/Fem4/vqk.ceasefire.WAV",["voice.vl2"]],"audio/voice/fem4/vqk.dunno.m4a":["audio/voice/Fem4/vqk.dunno.m4a",["voice.vl2"]],"audio/voice/fem4/vqk.dunno.wav":["audio/voice/Fem4/vqk.dunno.WAV",["voice.vl2"]],"audio/voice/fem4/vqk.help.m4a":["audio/voice/Fem4/vqk.help.m4a",["voice.vl2"]],"audio/voice/fem4/vqk.help.wav":["audio/voice/Fem4/vqk.help.WAV",["voice.vl2"]],"audio/voice/fem4/vqk.move.m4a":["audio/voice/Fem4/vqk.move.m4a",["voice.vl2"]],"audio/voice/fem4/vqk.move.wav":["audio/voice/Fem4/vqk.move.WAV",["voice.vl2"]],"audio/voice/fem4/vqk.no.m4a":["audio/voice/Fem4/vqk.no.m4a",["voice.vl2"]],"audio/voice/fem4/vqk.no.wav":["audio/voice/Fem4/vqk.no.WAV",["voice.vl2"]],"audio/voice/fem4/vqk.quiet.m4a":["audio/voice/Fem4/vqk.quiet.m4a",["voice.vl2"]],"audio/voice/fem4/vqk.quiet.wav":["audio/voice/Fem4/vqk.quiet.WAV",["voice.vl2"]],"audio/voice/fem4/vqk.sorry.m4a":["audio/voice/Fem4/vqk.sorry.m4a",["voice.vl2"]],"audio/voice/fem4/vqk.sorry.wav":["audio/voice/Fem4/vqk.sorry.WAV",["voice.vl2"]],"audio/voice/fem4/vqk.thanks.m4a":["audio/voice/Fem4/vqk.thanks.m4a",["voice.vl2"]],"audio/voice/fem4/vqk.thanks.wav":["audio/voice/Fem4/vqk.thanks.WAV",["voice.vl2"]],"audio/voice/fem4/vqk.wait.m4a":["audio/voice/Fem4/vqk.wait.m4a",["voice.vl2"]],"audio/voice/fem4/vqk.wait.wav":["audio/voice/Fem4/vqk.wait.WAV",["voice.vl2"]],"audio/voice/fem4/vqk.yes.m4a":["audio/voice/Fem4/vqk.yes.m4a",["voice.vl2"]],"audio/voice/fem4/vqk.yes.wav":["audio/voice/Fem4/vqk.yes.WAV",["voice.vl2"]],"audio/voice/fem4/wrn.bomber.m4a":["audio/voice/Fem4/wrn.bomber.m4a",["voice.vl2"]],"audio/voice/fem4/wrn.bomber.wav":["audio/voice/Fem4/wrn.bomber.WAV",["voice.vl2"]],"audio/voice/fem4/wrn.enemy.m4a":["audio/voice/Fem4/wrn.enemy.m4a",["voice.vl2"]],"audio/voice/fem4/wrn.enemy.wav":["audio/voice/Fem4/wrn.enemy.WAV",["voice.vl2"]],"audio/voice/fem4/wrn.vehicles.m4a":["audio/voice/Fem4/wrn.vehicles.m4a",["voice.vl2"]],"audio/voice/fem4/wrn.vehicles.wav":["audio/voice/Fem4/wrn.vehicles.WAV",["voice.vl2"]],"audio/voice/fem4/wrn.watchit.m4a":["audio/voice/Fem4/wrn.watchit.m4a",["voice.vl2"]],"audio/voice/fem4/wrn.watchit.wav":["audio/voice/Fem4/wrn.watchit.WAV",["voice.vl2"]],"audio/voice/fem5/att.attack.m4a":["audio/voice/Fem5/att.attack.m4a",["voice.vl2"]],"audio/voice/fem5/att.attack.wav":["audio/voice/Fem5/att.attack.WAV",["voice.vl2"]],"audio/voice/fem5/att.base.m4a":["audio/voice/Fem5/att.base.m4a",["voice.vl2"]],"audio/voice/fem5/att.base.wav":["audio/voice/Fem5/att.base.WAV",["voice.vl2"]],"audio/voice/fem5/att.chase.m4a":["audio/voice/Fem5/att.chase.m4a",["voice.vl2"]],"audio/voice/fem5/att.chase.wav":["audio/voice/Fem5/att.chase.WAV",["voice.vl2"]],"audio/voice/fem5/att.distract.m4a":["audio/voice/Fem5/att.distract.m4a",["voice.vl2"]],"audio/voice/fem5/att.distract.wav":["audio/voice/Fem5/att.distract.WAV",["voice.vl2"]],"audio/voice/fem5/att.flag.m4a":["audio/voice/Fem5/att.flag.m4a",["voice.vl2"]],"audio/voice/fem5/att.flag.wav":["audio/voice/Fem5/att.flag.WAV",["voice.vl2"]],"audio/voice/fem5/att.generator.m4a":["audio/voice/Fem5/att.generator.m4a",["voice.vl2"]],"audio/voice/fem5/att.generator.wav":["audio/voice/Fem5/att.generator.WAV",["voice.vl2"]],"audio/voice/fem5/att.objective.m4a":["audio/voice/Fem5/att.objective.m4a",["voice.vl2"]],"audio/voice/fem5/att.objective.wav":["audio/voice/Fem5/att.objective.WAV",["voice.vl2"]],"audio/voice/fem5/att.reinforcements.m4a":["audio/voice/Fem5/att.reinforcements.m4a",["voice.vl2"]],"audio/voice/fem5/att.reinforcements.wav":["audio/voice/Fem5/att.reinforcements.WAV",["voice.vl2"]],"audio/voice/fem5/att.sensors.m4a":["audio/voice/Fem5/att.sensors.m4a",["voice.vl2"]],"audio/voice/fem5/att.sensors.wav":["audio/voice/Fem5/att.sensors.WAV",["voice.vl2"]],"audio/voice/fem5/att.turrets.m4a":["audio/voice/Fem5/att.turrets.m4a",["voice.vl2"]],"audio/voice/fem5/att.turrets.wav":["audio/voice/Fem5/att.turrets.WAV",["voice.vl2"]],"audio/voice/fem5/att.vehicle.m4a":["audio/voice/Fem5/att.vehicle.m4a",["voice.vl2"]],"audio/voice/fem5/att.vehicle.wav":["audio/voice/Fem5/att.vehicle.WAV",["voice.vl2"]],"audio/voice/fem5/att.wait.m4a":["audio/voice/Fem5/att.wait.m4a",["voice.vl2"]],"audio/voice/fem5/att.wait.wav":["audio/voice/Fem5/att.wait.WAV",["voice.vl2"]],"audio/voice/fem5/avo.deathcry_01.m4a":["audio/voice/Fem5/avo.deathcry_01.m4a",["voice.vl2"]],"audio/voice/fem5/avo.deathcry_01.wav":["audio/voice/Fem5/avo.deathcry_01.WAV",["voice.vl2"]],"audio/voice/fem5/avo.deathcry_02.m4a":["audio/voice/Fem5/avo.deathcry_02.m4a",["voice.vl2"]],"audio/voice/fem5/avo.deathcry_02.wav":["audio/voice/Fem5/avo.deathcry_02.WAV",["voice.vl2"]],"audio/voice/fem5/avo.grunt.m4a":["audio/voice/Fem5/avo.grunt.m4a",["voice.vl2"]],"audio/voice/fem5/avo.grunt.wav":["audio/voice/Fem5/avo.grunt.WAV",["voice.vl2"]],"audio/voice/fem5/avo.pain.m4a":["audio/voice/Fem5/avo.pain.m4a",["voice.vl2"]],"audio/voice/fem5/avo.pain.wav":["audio/voice/Fem5/avo.pain.WAV",["voice.vl2"]],"audio/voice/fem5/bas.clear.m4a":["audio/voice/Fem5/bas.clear.m4a",["voice.vl2"]],"audio/voice/fem5/bas.clear.wav":["audio/voice/Fem5/bas.clear.WAV",["voice.vl2"]],"audio/voice/fem5/bas.enemy.m4a":["audio/voice/Fem5/bas.enemy.m4a",["voice.vl2"]],"audio/voice/fem5/bas.enemy.wav":["audio/voice/Fem5/bas.enemy.WAV",["voice.vl2"]],"audio/voice/fem5/bas.retake.m4a":["audio/voice/Fem5/bas.retake.m4a",["voice.vl2"]],"audio/voice/fem5/bas.retake.wav":["audio/voice/Fem5/bas.retake.WAV",["voice.vl2"]],"audio/voice/fem5/bas.secure.m4a":["audio/voice/Fem5/bas.secure.m4a",["voice.vl2"]],"audio/voice/fem5/bas.secure.wav":["audio/voice/Fem5/bas.secure.WAV",["voice.vl2"]],"audio/voice/fem5/bas.taken.m4a":["audio/voice/Fem5/bas.taken.m4a",["voice.vl2"]],"audio/voice/fem5/bas.taken.wav":["audio/voice/Fem5/bas.taken.WAV",["voice.vl2"]],"audio/voice/fem5/cmd.acknowledge.m4a":["audio/voice/Fem5/cmd.acknowledge.m4a",["voice.vl2"]],"audio/voice/fem5/cmd.acknowledge.wav":["audio/voice/Fem5/cmd.acknowledge.WAV",["voice.vl2"]],"audio/voice/fem5/cmd.bot.m4a":["audio/voice/Fem5/cmd.bot.m4a",["voice.vl2"]],"audio/voice/fem5/cmd.bot.wav":["audio/voice/Fem5/cmd.bot.WAV",["voice.vl2"]],"audio/voice/fem5/cmd.completed.m4a":["audio/voice/Fem5/cmd.completed.m4a",["voice.vl2"]],"audio/voice/fem5/cmd.completed.wav":["audio/voice/Fem5/cmd.completed.WAV",["voice.vl2"]],"audio/voice/fem5/cmd.decline.m4a":["audio/voice/Fem5/cmd.decline.m4a",["voice.vl2"]],"audio/voice/fem5/cmd.decline.wav":["audio/voice/Fem5/cmd.decline.WAV",["voice.vl2"]],"audio/voice/fem5/def.base.m4a":["audio/voice/Fem5/def.base.m4a",["voice.vl2"]],"audio/voice/fem5/def.base.wav":["audio/voice/Fem5/def.base.WAV",["voice.vl2"]],"audio/voice/fem5/def.carrier.m4a":["audio/voice/Fem5/def.carrier.m4a",["voice.vl2"]],"audio/voice/fem5/def.carrier.wav":["audio/voice/Fem5/def.carrier.WAV",["voice.vl2"]],"audio/voice/fem5/def.entrances.m4a":["audio/voice/Fem5/def.entrances.m4a",["voice.vl2"]],"audio/voice/fem5/def.entrances.wav":["audio/voice/Fem5/def.entrances.WAV",["voice.vl2"]],"audio/voice/fem5/def.flag.m4a":["audio/voice/Fem5/def.flag.m4a",["voice.vl2"]],"audio/voice/fem5/def.flag.wav":["audio/voice/Fem5/def.flag.WAV",["voice.vl2"]],"audio/voice/fem5/def.generator.m4a":["audio/voice/Fem5/def.generator.m4a",["voice.vl2"]],"audio/voice/fem5/def.generator.wav":["audio/voice/Fem5/def.generator.WAV",["voice.vl2"]],"audio/voice/fem5/def.me.m4a":["audio/voice/Fem5/def.me.m4a",["voice.vl2"]],"audio/voice/fem5/def.me.wav":["audio/voice/Fem5/def.me.WAV",["voice.vl2"]],"audio/voice/fem5/def.nexus.m4a":["audio/voice/Fem5/def.nexus.m4a",["voice.vl2"]],"audio/voice/fem5/def.nexus.wav":["audio/voice/Fem5/def.nexus.WAV",["voice.vl2"]],"audio/voice/fem5/def.objective.m4a":["audio/voice/Fem5/def.objective.m4a",["voice.vl2"]],"audio/voice/fem5/def.objective.wav":["audio/voice/Fem5/def.objective.WAV",["voice.vl2"]],"audio/voice/fem5/def.reinforce.m4a":["audio/voice/Fem5/def.reinforce.m4a",["voice.vl2"]],"audio/voice/fem5/def.reinforce.wav":["audio/voice/Fem5/def.reinforce.WAV",["voice.vl2"]],"audio/voice/fem5/def.sensors.m4a":["audio/voice/Fem5/def.sensors.m4a",["voice.vl2"]],"audio/voice/fem5/def.sensors.wav":["audio/voice/Fem5/def.sensors.WAV",["voice.vl2"]],"audio/voice/fem5/def.turrets.m4a":["audio/voice/Fem5/def.turrets.m4a",["voice.vl2"]],"audio/voice/fem5/def.turrets.wav":["audio/voice/Fem5/def.turrets.WAV",["voice.vl2"]],"audio/voice/fem5/def.vehicle.m4a":["audio/voice/Fem5/def.vehicle.m4a",["voice.vl2"]],"audio/voice/fem5/def.vehicle.wav":["audio/voice/Fem5/def.vehicle.WAV",["voice.vl2"]],"audio/voice/fem5/ene.base.m4a":["audio/voice/Fem5/ene.base.m4a",["voice.vl2"]],"audio/voice/fem5/ene.base.wav":["audio/voice/Fem5/ene.base.WAV",["voice.vl2"]],"audio/voice/fem5/ene.disarray.m4a":["audio/voice/Fem5/ene.disarray.m4a",["voice.vl2"]],"audio/voice/fem5/ene.disarray.wav":["audio/voice/Fem5/ene.disarray.WAV",["voice.vl2"]],"audio/voice/fem5/ene.generator.m4a":["audio/voice/Fem5/ene.generator.m4a",["voice.vl2"]],"audio/voice/fem5/ene.generator.wav":["audio/voice/Fem5/ene.generator.WAV",["voice.vl2"]],"audio/voice/fem5/ene.remotes.m4a":["audio/voice/Fem5/ene.remotes.m4a",["voice.vl2"]],"audio/voice/fem5/ene.remotes.wav":["audio/voice/Fem5/ene.remotes.WAV",["voice.vl2"]],"audio/voice/fem5/ene.sensors.m4a":["audio/voice/Fem5/ene.sensors.m4a",["voice.vl2"]],"audio/voice/fem5/ene.sensors.wav":["audio/voice/Fem5/ene.sensors.WAV",["voice.vl2"]],"audio/voice/fem5/ene.turrets.m4a":["audio/voice/Fem5/ene.turrets.m4a",["voice.vl2"]],"audio/voice/fem5/ene.turrets.wav":["audio/voice/Fem5/ene.turrets.WAV",["voice.vl2"]],"audio/voice/fem5/ene.vehicle.m4a":["audio/voice/Fem5/ene.vehicle.m4a",["voice.vl2"]],"audio/voice/fem5/ene.vehicle.wav":["audio/voice/Fem5/ene.vehicle.WAV",["voice.vl2"]],"audio/voice/fem5/flg.flag.m4a":["audio/voice/Fem5/flg.flag.m4a",["voice.vl2"]],"audio/voice/fem5/flg.flag.wav":["audio/voice/Fem5/flg.flag.WAV",["voice.vl2"]],"audio/voice/fem5/flg.give.m4a":["audio/voice/Fem5/flg.give.m4a",["voice.vl2"]],"audio/voice/fem5/flg.give.wav":["audio/voice/Fem5/flg.give.WAV",["voice.vl2"]],"audio/voice/fem5/flg.huntergive.m4a":["audio/voice/Fem5/flg.huntergive.m4a",["voice.vl2"]],"audio/voice/fem5/flg.huntergive.wav":["audio/voice/Fem5/flg.huntergive.WAV",["voice.vl2"]],"audio/voice/fem5/flg.huntertake.m4a":["audio/voice/Fem5/flg.huntertake.m4a",["voice.vl2"]],"audio/voice/fem5/flg.huntertake.wav":["audio/voice/Fem5/flg.huntertake.WAV",["voice.vl2"]],"audio/voice/fem5/flg.retrieve.m4a":["audio/voice/Fem5/flg.retrieve.m4a",["voice.vl2"]],"audio/voice/fem5/flg.retrieve.wav":["audio/voice/Fem5/flg.retrieve.WAV",["voice.vl2"]],"audio/voice/fem5/flg.secure.m4a":["audio/voice/Fem5/flg.secure.m4a",["voice.vl2"]],"audio/voice/fem5/flg.secure.wav":["audio/voice/Fem5/flg.secure.WAV",["voice.vl2"]],"audio/voice/fem5/flg.take.m4a":["audio/voice/Fem5/flg.take.m4a",["voice.vl2"]],"audio/voice/fem5/flg.take.wav":["audio/voice/Fem5/flg.take.WAV",["voice.vl2"]],"audio/voice/fem5/gbl.anytime.m4a":["audio/voice/Fem5/gbl.anytime.m4a",["voice.vl2"]],"audio/voice/fem5/gbl.anytime.wav":["audio/voice/Fem5/gbl.anytime.WAV",["voice.vl2"]],"audio/voice/fem5/gbl.awesome.m4a":["audio/voice/Fem5/gbl.awesome.m4a",["voice.vl2"]],"audio/voice/fem5/gbl.awesome.wav":["audio/voice/Fem5/gbl.awesome.WAV",["voice.vl2"]],"audio/voice/fem5/gbl.aww.m4a":["audio/voice/Fem5/gbl.aww.m4a",["voice.vl2"]],"audio/voice/fem5/gbl.aww.wav":["audio/voice/Fem5/gbl.aww.WAV",["voice.vl2"]],"audio/voice/fem5/gbl.brag.m4a":["audio/voice/Fem5/gbl.brag.m4a",["voice.vl2"]],"audio/voice/fem5/gbl.brag.wav":["audio/voice/Fem5/gbl.brag.WAV",["voice.vl2"]],"audio/voice/fem5/gbl.bye.m4a":["audio/voice/Fem5/gbl.bye.m4a",["voice.vl2"]],"audio/voice/fem5/gbl.bye.wav":["audio/voice/Fem5/gbl.bye.WAV",["voice.vl2"]],"audio/voice/fem5/gbl.dunno.m4a":["audio/voice/Fem5/gbl.dunno.m4a",["voice.vl2"]],"audio/voice/fem5/gbl.dunno.wav":["audio/voice/Fem5/gbl.dunno.WAV",["voice.vl2"]],"audio/voice/fem5/gbl.goodgame.m4a":["audio/voice/Fem5/gbl.goodgame.m4a",["voice.vl2"]],"audio/voice/fem5/gbl.goodgame.wav":["audio/voice/Fem5/gbl.goodgame.WAV",["voice.vl2"]],"audio/voice/fem5/gbl.hi.m4a":["audio/voice/Fem5/gbl.hi.m4a",["voice.vl2"]],"audio/voice/fem5/gbl.hi.wav":["audio/voice/Fem5/gbl.hi.WAV",["voice.vl2"]],"audio/voice/fem5/gbl.nice.m4a":["audio/voice/Fem5/gbl.nice.m4a",["voice.vl2"]],"audio/voice/fem5/gbl.nice.wav":["audio/voice/Fem5/gbl.nice.WAV",["voice.vl2"]],"audio/voice/fem5/gbl.no.m4a":["audio/voice/Fem5/gbl.no.m4a",["voice.vl2"]],"audio/voice/fem5/gbl.no.wav":["audio/voice/Fem5/gbl.no.WAV",["voice.vl2"]],"audio/voice/fem5/gbl.obnoxious.m4a":["audio/voice/Fem5/gbl.obnoxious.m4a",["voice.vl2"]],"audio/voice/fem5/gbl.obnoxious.wav":["audio/voice/Fem5/gbl.obnoxious.WAV",["voice.vl2"]],"audio/voice/fem5/gbl.oops.m4a":["audio/voice/Fem5/gbl.oops.m4a",["voice.vl2"]],"audio/voice/fem5/gbl.oops.wav":["audio/voice/Fem5/gbl.oops.WAV",["voice.vl2"]],"audio/voice/fem5/gbl.quiet.m4a":["audio/voice/Fem5/gbl.quiet.m4a",["voice.vl2"]],"audio/voice/fem5/gbl.quiet.wav":["audio/voice/Fem5/gbl.quiet.WAV",["voice.vl2"]],"audio/voice/fem5/gbl.rock.m4a":["audio/voice/Fem5/gbl.rock.m4a",["voice.vl2"]],"audio/voice/fem5/gbl.rock.wav":["audio/voice/Fem5/gbl.rock.WAV",["voice.vl2"]],"audio/voice/fem5/gbl.sarcasm.m4a":["audio/voice/Fem5/gbl.sarcasm.m4a",["voice.vl2"]],"audio/voice/fem5/gbl.sarcasm.wav":["audio/voice/Fem5/gbl.sarcasm.WAV",["voice.vl2"]],"audio/voice/fem5/gbl.shazbot.m4a":["audio/voice/Fem5/gbl.shazbot.m4a",["voice.vl2"]],"audio/voice/fem5/gbl.shazbot.wav":["audio/voice/Fem5/gbl.shazbot.WAV",["voice.vl2"]],"audio/voice/fem5/gbl.shooting.m4a":["audio/voice/Fem5/gbl.shooting.m4a",["voice.vl2"]],"audio/voice/fem5/gbl.shooting.wav":["audio/voice/Fem5/gbl.shooting.WAV",["voice.vl2"]],"audio/voice/fem5/gbl.thanks.m4a":["audio/voice/Fem5/gbl.thanks.m4a",["voice.vl2"]],"audio/voice/fem5/gbl.thanks.wav":["audio/voice/Fem5/gbl.thanks.WAV",["voice.vl2"]],"audio/voice/fem5/gbl.wait.m4a":["audio/voice/Fem5/gbl.wait.m4a",["voice.vl2"]],"audio/voice/fem5/gbl.wait.wav":["audio/voice/Fem5/gbl.wait.WAV",["voice.vl2"]],"audio/voice/fem5/gbl.when.m4a":["audio/voice/Fem5/gbl.when.m4a",["voice.vl2"]],"audio/voice/fem5/gbl.when.wav":["audio/voice/Fem5/gbl.when.WAV",["voice.vl2"]],"audio/voice/fem5/gbl.woohoo.m4a":["audio/voice/Fem5/gbl.woohoo.m4a",["voice.vl2"]],"audio/voice/fem5/gbl.woohoo.wav":["audio/voice/Fem5/gbl.woohoo.WAV",["voice.vl2"]],"audio/voice/fem5/gbl.yes.m4a":["audio/voice/Fem5/gbl.yes.m4a",["voice.vl2"]],"audio/voice/fem5/gbl.yes.wav":["audio/voice/Fem5/gbl.yes.WAV",["voice.vl2"]],"audio/voice/fem5/need.bombardier.m4a":["audio/voice/Fem5/need.bombardier.m4a",["voice.vl2"]],"audio/voice/fem5/need.bombardier.wav":["audio/voice/Fem5/need.bombardier.WAV",["voice.vl2"]],"audio/voice/fem5/need.cover.m4a":["audio/voice/Fem5/need.cover.m4a",["voice.vl2"]],"audio/voice/fem5/need.cover.wav":["audio/voice/Fem5/need.cover.WAV",["voice.vl2"]],"audio/voice/fem5/need.driver.m4a":["audio/voice/Fem5/need.driver.m4a",["voice.vl2"]],"audio/voice/fem5/need.driver.wav":["audio/voice/Fem5/need.driver.WAV",["voice.vl2"]],"audio/voice/fem5/need.escort.m4a":["audio/voice/Fem5/need.escort.m4a",["voice.vl2"]],"audio/voice/fem5/need.escort.wav":["audio/voice/Fem5/need.escort.WAV",["voice.vl2"]],"audio/voice/fem5/need.flyer.m4a":["audio/voice/Fem5/need.flyer.m4a",["voice.vl2"]],"audio/voice/fem5/need.flyer.wav":["audio/voice/Fem5/need.flyer.WAV",["voice.vl2"]],"audio/voice/fem5/need.gunship.m4a":["audio/voice/Fem5/need.gunship.m4a",["voice.vl2"]],"audio/voice/fem5/need.gunship.wav":["audio/voice/Fem5/need.gunship.WAV",["voice.vl2"]],"audio/voice/fem5/need.hold.m4a":["audio/voice/Fem5/need.hold.m4a",["voice.vl2"]],"audio/voice/fem5/need.hold.wav":["audio/voice/Fem5/need.hold.WAV",["voice.vl2"]],"audio/voice/fem5/need.ride.m4a":["audio/voice/Fem5/need.ride.m4a",["voice.vl2"]],"audio/voice/fem5/need.ride.wav":["audio/voice/Fem5/need.ride.WAV",["voice.vl2"]],"audio/voice/fem5/need.support.m4a":["audio/voice/Fem5/need.support.m4a",["voice.vl2"]],"audio/voice/fem5/need.support.wav":["audio/voice/Fem5/need.support.WAV",["voice.vl2"]],"audio/voice/fem5/need.tailgunner.m4a":["audio/voice/Fem5/need.tailgunner.m4a",["voice.vl2"]],"audio/voice/fem5/need.tailgunner.wav":["audio/voice/Fem5/need.tailgunner.WAV",["voice.vl2"]],"audio/voice/fem5/need.where.m4a":["audio/voice/Fem5/need.where.m4a",["voice.vl2"]],"audio/voice/fem5/need.where.wav":["audio/voice/Fem5/need.where.WAV",["voice.vl2"]],"audio/voice/fem5/rep.base.m4a":["audio/voice/Fem5/rep.base.m4a",["voice.vl2"]],"audio/voice/fem5/rep.base.wav":["audio/voice/Fem5/rep.base.WAV",["voice.vl2"]],"audio/voice/fem5/rep.generator.m4a":["audio/voice/Fem5/rep.generator.m4a",["voice.vl2"]],"audio/voice/fem5/rep.generator.wav":["audio/voice/Fem5/rep.generator.WAV",["voice.vl2"]],"audio/voice/fem5/rep.me.m4a":["audio/voice/Fem5/rep.me.m4a",["voice.vl2"]],"audio/voice/fem5/rep.me.wav":["audio/voice/Fem5/rep.me.WAV",["voice.vl2"]],"audio/voice/fem5/rep.sensors.m4a":["audio/voice/Fem5/rep.sensors.m4a",["voice.vl2"]],"audio/voice/fem5/rep.sensors.wav":["audio/voice/Fem5/rep.sensors.WAV",["voice.vl2"]],"audio/voice/fem5/rep.turrets.m4a":["audio/voice/Fem5/rep.turrets.m4a",["voice.vl2"]],"audio/voice/fem5/rep.turrets.wav":["audio/voice/Fem5/rep.turrets.WAV",["voice.vl2"]],"audio/voice/fem5/rep.vehicle.m4a":["audio/voice/Fem5/rep.vehicle.m4a",["voice.vl2"]],"audio/voice/fem5/rep.vehicle.wav":["audio/voice/Fem5/rep.vehicle.WAV",["voice.vl2"]],"audio/voice/fem5/slf.att.attack.m4a":["audio/voice/Fem5/slf.att.attack.m4a",["voice.vl2"]],"audio/voice/fem5/slf.att.attack.wav":["audio/voice/Fem5/slf.att.attack.WAV",["voice.vl2"]],"audio/voice/fem5/slf.att.base.m4a":["audio/voice/Fem5/slf.att.base.m4a",["voice.vl2"]],"audio/voice/fem5/slf.att.base.wav":["audio/voice/Fem5/slf.att.base.WAV",["voice.vl2"]],"audio/voice/fem5/slf.att.flag.m4a":["audio/voice/Fem5/slf.att.flag.m4a",["voice.vl2"]],"audio/voice/fem5/slf.att.flag.wav":["audio/voice/Fem5/slf.att.flag.WAV",["voice.vl2"]],"audio/voice/fem5/slf.att.generator.m4a":["audio/voice/Fem5/slf.att.generator.m4a",["voice.vl2"]],"audio/voice/fem5/slf.att.generator.wav":["audio/voice/Fem5/slf.att.generator.WAV",["voice.vl2"]],"audio/voice/fem5/slf.att.sensors.m4a":["audio/voice/Fem5/slf.att.sensors.m4a",["voice.vl2"]],"audio/voice/fem5/slf.att.sensors.wav":["audio/voice/Fem5/slf.att.sensors.WAV",["voice.vl2"]],"audio/voice/fem5/slf.att.turrets.m4a":["audio/voice/Fem5/slf.att.turrets.m4a",["voice.vl2"]],"audio/voice/fem5/slf.att.turrets.wav":["audio/voice/Fem5/slf.att.turrets.WAV",["voice.vl2"]],"audio/voice/fem5/slf.att.vehicle.m4a":["audio/voice/Fem5/slf.att.vehicle.m4a",["voice.vl2"]],"audio/voice/fem5/slf.att.vehicle.wav":["audio/voice/Fem5/slf.att.vehicle.WAV",["voice.vl2"]],"audio/voice/fem5/slf.def.base.m4a":["audio/voice/Fem5/slf.def.base.m4a",["voice.vl2"]],"audio/voice/fem5/slf.def.base.wav":["audio/voice/Fem5/slf.def.base.WAV",["voice.vl2"]],"audio/voice/fem5/slf.def.defend.m4a":["audio/voice/Fem5/slf.def.defend.m4a",["voice.vl2"]],"audio/voice/fem5/slf.def.defend.wav":["audio/voice/Fem5/slf.def.defend.WAV",["voice.vl2"]],"audio/voice/fem5/slf.def.flag.m4a":["audio/voice/Fem5/slf.def.flag.m4a",["voice.vl2"]],"audio/voice/fem5/slf.def.flag.wav":["audio/voice/Fem5/slf.def.flag.WAV",["voice.vl2"]],"audio/voice/fem5/slf.def.generator.m4a":["audio/voice/Fem5/slf.def.generator.m4a",["voice.vl2"]],"audio/voice/fem5/slf.def.generator.wav":["audio/voice/Fem5/slf.def.generator.WAV",["voice.vl2"]],"audio/voice/fem5/slf.def.nexus.m4a":["audio/voice/Fem5/slf.def.nexus.m4a",["voice.vl2"]],"audio/voice/fem5/slf.def.nexus.wav":["audio/voice/Fem5/slf.def.nexus.WAV",["voice.vl2"]],"audio/voice/fem5/slf.def.sensors.m4a":["audio/voice/Fem5/slf.def.sensors.m4a",["voice.vl2"]],"audio/voice/fem5/slf.def.sensors.wav":["audio/voice/Fem5/slf.def.sensors.WAV",["voice.vl2"]],"audio/voice/fem5/slf.def.turrets.m4a":["audio/voice/Fem5/slf.def.turrets.m4a",["voice.vl2"]],"audio/voice/fem5/slf.def.turrets.wav":["audio/voice/Fem5/slf.def.turrets.WAV",["voice.vl2"]],"audio/voice/fem5/slf.def.vehicle.m4a":["audio/voice/Fem5/slf.def.vehicle.m4a",["voice.vl2"]],"audio/voice/fem5/slf.def.vehicle.wav":["audio/voice/Fem5/slf.def.vehicle.WAV",["voice.vl2"]],"audio/voice/fem5/slf.rep.base.m4a":["audio/voice/Fem5/slf.rep.base.m4a",["voice.vl2"]],"audio/voice/fem5/slf.rep.base.wav":["audio/voice/Fem5/slf.rep.base.WAV",["voice.vl2"]],"audio/voice/fem5/slf.rep.equipment.m4a":["audio/voice/Fem5/slf.rep.equipment.m4a",["voice.vl2"]],"audio/voice/fem5/slf.rep.equipment.wav":["audio/voice/Fem5/slf.rep.equipment.WAV",["voice.vl2"]],"audio/voice/fem5/slf.rep.generator.m4a":["audio/voice/Fem5/slf.rep.generator.m4a",["voice.vl2"]],"audio/voice/fem5/slf.rep.generator.wav":["audio/voice/Fem5/slf.rep.generator.WAV",["voice.vl2"]],"audio/voice/fem5/slf.rep.repairing.m4a":["audio/voice/Fem5/slf.rep.repairing.m4a",["voice.vl2"]],"audio/voice/fem5/slf.rep.repairing.wav":["audio/voice/Fem5/slf.rep.repairing.WAV",["voice.vl2"]],"audio/voice/fem5/slf.rep.sensors.m4a":["audio/voice/Fem5/slf.rep.sensors.m4a",["voice.vl2"]],"audio/voice/fem5/slf.rep.sensors.wav":["audio/voice/Fem5/slf.rep.sensors.WAV",["voice.vl2"]],"audio/voice/fem5/slf.rep.turrets.m4a":["audio/voice/Fem5/slf.rep.turrets.m4a",["voice.vl2"]],"audio/voice/fem5/slf.rep.turrets.wav":["audio/voice/Fem5/slf.rep.turrets.WAV",["voice.vl2"]],"audio/voice/fem5/slf.rep.vehicle.m4a":["audio/voice/Fem5/slf.rep.vehicle.m4a",["voice.vl2"]],"audio/voice/fem5/slf.rep.vehicle.wav":["audio/voice/Fem5/slf.rep.vehicle.WAV",["voice.vl2"]],"audio/voice/fem5/slf.tsk.cover.m4a":["audio/voice/Fem5/slf.tsk.cover.m4a",["voice.vl2"]],"audio/voice/fem5/slf.tsk.cover.wav":["audio/voice/Fem5/slf.tsk.cover.WAV",["voice.vl2"]],"audio/voice/fem5/slf.tsk.defense.m4a":["audio/voice/Fem5/slf.tsk.defense.m4a",["voice.vl2"]],"audio/voice/fem5/slf.tsk.defense.wav":["audio/voice/Fem5/slf.tsk.defense.WAV",["voice.vl2"]],"audio/voice/fem5/slf.tsk.generic.m4a":["audio/voice/Fem5/slf.tsk.generic.m4a",["voice.vl2"]],"audio/voice/fem5/slf.tsk.generic.wav":["audio/voice/Fem5/slf.tsk.generic.WAV",["voice.vl2"]],"audio/voice/fem5/slf.tsk.remotes.m4a":["audio/voice/Fem5/slf.tsk.remotes.m4a",["voice.vl2"]],"audio/voice/fem5/slf.tsk.remotes.wav":["audio/voice/Fem5/slf.tsk.remotes.WAV",["voice.vl2"]],"audio/voice/fem5/slf.tsk.sensors.m4a":["audio/voice/Fem5/slf.tsk.sensors.m4a",["voice.vl2"]],"audio/voice/fem5/slf.tsk.sensors.wav":["audio/voice/Fem5/slf.tsk.sensors.WAV",["voice.vl2"]],"audio/voice/fem5/slf.tsk.turrets.m4a":["audio/voice/Fem5/slf.tsk.turrets.m4a",["voice.vl2"]],"audio/voice/fem5/slf.tsk.turrets.wav":["audio/voice/Fem5/slf.tsk.turrets.WAV",["voice.vl2"]],"audio/voice/fem5/slf.tsk.vehicle.m4a":["audio/voice/Fem5/slf.tsk.vehicle.m4a",["voice.vl2"]],"audio/voice/fem5/slf.tsk.vehicle.wav":["audio/voice/Fem5/slf.tsk.vehicle.WAV",["voice.vl2"]],"audio/voice/fem5/tgt.acquired.m4a":["audio/voice/Fem5/tgt.acquired.m4a",["voice.vl2"]],"audio/voice/fem5/tgt.acquired.wav":["audio/voice/Fem5/tgt.acquired.WAV",["voice.vl2"]],"audio/voice/fem5/tgt.base.m4a":["audio/voice/Fem5/tgt.base.m4a",["voice.vl2"]],"audio/voice/fem5/tgt.base.wav":["audio/voice/Fem5/tgt.base.WAV",["voice.vl2"]],"audio/voice/fem5/tgt.destroyed.m4a":["audio/voice/Fem5/tgt.destroyed.m4a",["voice.vl2"]],"audio/voice/fem5/tgt.destroyed.wav":["audio/voice/Fem5/tgt.destroyed.WAV",["voice.vl2"]],"audio/voice/fem5/tgt.flag.m4a":["audio/voice/Fem5/tgt.flag.m4a",["voice.vl2"]],"audio/voice/fem5/tgt.flag.wav":["audio/voice/Fem5/tgt.flag.WAV",["voice.vl2"]],"audio/voice/fem5/tgt.my.m4a":["audio/voice/Fem5/tgt.my.m4a",["voice.vl2"]],"audio/voice/fem5/tgt.my.wav":["audio/voice/Fem5/tgt.my.WAV",["voice.vl2"]],"audio/voice/fem5/tgt.need.m4a":["audio/voice/Fem5/tgt.need.m4a",["voice.vl2"]],"audio/voice/fem5/tgt.need.wav":["audio/voice/Fem5/tgt.need.WAV",["voice.vl2"]],"audio/voice/fem5/tgt.sensors.m4a":["audio/voice/Fem5/tgt.sensors.m4a",["voice.vl2"]],"audio/voice/fem5/tgt.sensors.wav":["audio/voice/Fem5/tgt.sensors.WAV",["voice.vl2"]],"audio/voice/fem5/tgt.turret.m4a":["audio/voice/Fem5/tgt.turret.m4a",["voice.vl2"]],"audio/voice/fem5/tgt.turret.wav":["audio/voice/Fem5/tgt.turret.WAV",["voice.vl2"]],"audio/voice/fem5/tgt.wait.m4a":["audio/voice/Fem5/tgt.wait.m4a",["voice.vl2"]],"audio/voice/fem5/tgt.wait.wav":["audio/voice/Fem5/tgt.wait.WAV",["voice.vl2"]],"audio/voice/fem5/vqk.anytime.m4a":["audio/voice/Fem5/vqk.anytime.m4a",["voice.vl2"]],"audio/voice/fem5/vqk.anytime.wav":["audio/voice/Fem5/vqk.anytime.WAV",["voice.vl2"]],"audio/voice/fem5/vqk.base.m4a":["audio/voice/Fem5/vqk.base.m4a",["voice.vl2"]],"audio/voice/fem5/vqk.base.wav":["audio/voice/Fem5/vqk.base.WAV",["voice.vl2"]],"audio/voice/fem5/vqk.ceasefire.m4a":["audio/voice/Fem5/vqk.ceasefire.m4a",["voice.vl2"]],"audio/voice/fem5/vqk.ceasefire.wav":["audio/voice/Fem5/vqk.ceasefire.WAV",["voice.vl2"]],"audio/voice/fem5/vqk.dunno.m4a":["audio/voice/Fem5/vqk.dunno.m4a",["voice.vl2"]],"audio/voice/fem5/vqk.dunno.wav":["audio/voice/Fem5/vqk.dunno.WAV",["voice.vl2"]],"audio/voice/fem5/vqk.help.m4a":["audio/voice/Fem5/vqk.help.m4a",["voice.vl2"]],"audio/voice/fem5/vqk.help.wav":["audio/voice/Fem5/vqk.help.WAV",["voice.vl2"]],"audio/voice/fem5/vqk.move.m4a":["audio/voice/Fem5/vqk.move.m4a",["voice.vl2"]],"audio/voice/fem5/vqk.move.wav":["audio/voice/Fem5/vqk.move.WAV",["voice.vl2"]],"audio/voice/fem5/vqk.no.m4a":["audio/voice/Fem5/vqk.no.m4a",["voice.vl2"]],"audio/voice/fem5/vqk.no.wav":["audio/voice/Fem5/vqk.no.WAV",["voice.vl2"]],"audio/voice/fem5/vqk.quiet.m4a":["audio/voice/Fem5/vqk.quiet.m4a",["voice.vl2"]],"audio/voice/fem5/vqk.quiet.wav":["audio/voice/Fem5/vqk.quiet.WAV",["voice.vl2"]],"audio/voice/fem5/vqk.sorry.m4a":["audio/voice/Fem5/vqk.sorry.m4a",["voice.vl2"]],"audio/voice/fem5/vqk.sorry.wav":["audio/voice/Fem5/vqk.sorry.WAV",["voice.vl2"]],"audio/voice/fem5/vqk.thanks.m4a":["audio/voice/Fem5/vqk.thanks.m4a",["voice.vl2"]],"audio/voice/fem5/vqk.thanks.wav":["audio/voice/Fem5/vqk.thanks.WAV",["voice.vl2"]],"audio/voice/fem5/vqk.wait.m4a":["audio/voice/Fem5/vqk.wait.m4a",["voice.vl2"]],"audio/voice/fem5/vqk.wait.wav":["audio/voice/Fem5/vqk.wait.WAV",["voice.vl2"]],"audio/voice/fem5/vqk.yes.m4a":["audio/voice/Fem5/vqk.yes.m4a",["voice.vl2"]],"audio/voice/fem5/vqk.yes.wav":["audio/voice/Fem5/vqk.yes.WAV",["voice.vl2"]],"audio/voice/fem5/wrn.bomber.m4a":["audio/voice/Fem5/wrn.bomber.m4a",["voice.vl2"]],"audio/voice/fem5/wrn.bomber.wav":["audio/voice/Fem5/wrn.bomber.WAV",["voice.vl2"]],"audio/voice/fem5/wrn.enemy.m4a":["audio/voice/Fem5/wrn.enemy.m4a",["voice.vl2"]],"audio/voice/fem5/wrn.enemy.wav":["audio/voice/Fem5/wrn.enemy.WAV",["voice.vl2"]],"audio/voice/fem5/wrn.vehicles.m4a":["audio/voice/Fem5/wrn.vehicles.m4a",["voice.vl2"]],"audio/voice/fem5/wrn.vehicles.wav":["audio/voice/Fem5/wrn.vehicles.WAV",["voice.vl2"]],"audio/voice/fem5/wrn.watchit.m4a":["audio/voice/Fem5/wrn.watchit.m4a",["voice.vl2"]],"audio/voice/fem5/wrn.watchit.wav":["audio/voice/Fem5/wrn.watchit.WAV",["voice.vl2"]],"audio/voice/male1/att.attack.m4a":["audio/voice/Male1/att.attack.m4a",["voice.vl2"]],"audio/voice/male1/att.attack.wav":["audio/voice/Male1/att.attack.wav",["voice.vl2"]],"audio/voice/male1/att.base.m4a":["audio/voice/Male1/att.base.m4a",["voice.vl2"]],"audio/voice/male1/att.base.wav":["audio/voice/Male1/att.base.wav",["voice.vl2"]],"audio/voice/male1/att.chase.m4a":["audio/voice/Male1/att.chase.m4a",["voice.vl2"]],"audio/voice/male1/att.chase.wav":["audio/voice/Male1/att.chase.wav",["voice.vl2"]],"audio/voice/male1/att.distract.m4a":["audio/voice/Male1/att.distract.m4a",["voice.vl2"]],"audio/voice/male1/att.distract.wav":["audio/voice/Male1/att.distract.wav",["voice.vl2"]],"audio/voice/male1/att.flag.m4a":["audio/voice/Male1/att.flag.m4a",["voice.vl2"]],"audio/voice/male1/att.flag.wav":["audio/voice/Male1/att.flag.wav",["voice.vl2"]],"audio/voice/male1/att.generator.m4a":["audio/voice/Male1/att.generator.m4a",["voice.vl2"]],"audio/voice/male1/att.generator.wav":["audio/voice/Male1/att.generator.wav",["voice.vl2"]],"audio/voice/male1/att.objective.m4a":["audio/voice/Male1/att.objective.m4a",["voice.vl2"]],"audio/voice/male1/att.objective.wav":["audio/voice/Male1/att.objective.wav",["voice.vl2"]],"audio/voice/male1/att.reinforcements.m4a":["audio/voice/Male1/att.reinforcements.m4a",["voice.vl2"]],"audio/voice/male1/att.reinforcements.wav":["audio/voice/Male1/att.reinforcements.wav",["voice.vl2"]],"audio/voice/male1/att.sensors.m4a":["audio/voice/Male1/att.sensors.m4a",["voice.vl2"]],"audio/voice/male1/att.sensors.wav":["audio/voice/Male1/att.sensors.wav",["voice.vl2"]],"audio/voice/male1/att.turrets.m4a":["audio/voice/Male1/att.turrets.m4a",["voice.vl2"]],"audio/voice/male1/att.turrets.wav":["audio/voice/Male1/att.turrets.wav",["voice.vl2"]],"audio/voice/male1/att.vehicle.m4a":["audio/voice/Male1/att.vehicle.m4a",["voice.vl2"]],"audio/voice/male1/att.vehicle.wav":["audio/voice/Male1/att.vehicle.wav",["voice.vl2"]],"audio/voice/male1/att.wait.m4a":["audio/voice/Male1/att.wait.m4a",["voice.vl2"]],"audio/voice/male1/att.wait.wav":["audio/voice/Male1/att.wait.wav",["voice.vl2"]],"audio/voice/male1/avo.deathcry_01.m4a":["audio/voice/Male1/avo.deathcry_01.m4a",["voice.vl2"]],"audio/voice/male1/avo.deathcry_01.wav":["audio/voice/Male1/avo.deathcry_01.wav",["voice.vl2"]],"audio/voice/male1/avo.deathcry_02.m4a":["audio/voice/Male1/avo.deathcry_02.m4a",["voice.vl2"]],"audio/voice/male1/avo.deathcry_02.wav":["audio/voice/Male1/avo.deathcry_02.wav",["voice.vl2"]],"audio/voice/male1/avo.grunt.m4a":["audio/voice/Male1/avo.grunt.m4a",["voice.vl2"]],"audio/voice/male1/avo.grunt.wav":["audio/voice/Male1/avo.grunt.wav",["voice.vl2"]],"audio/voice/male1/avo.pain.m4a":["audio/voice/Male1/avo.pain.m4a",["voice.vl2"]],"audio/voice/male1/avo.pain.wav":["audio/voice/Male1/avo.pain.wav",["voice.vl2"]],"audio/voice/male1/bas.clear.m4a":["audio/voice/Male1/bas.clear.m4a",["voice.vl2"]],"audio/voice/male1/bas.clear.wav":["audio/voice/Male1/bas.clear.wav",["voice.vl2"]],"audio/voice/male1/bas.enemy.m4a":["audio/voice/Male1/bas.enemy.m4a",["voice.vl2"]],"audio/voice/male1/bas.enemy.wav":["audio/voice/Male1/bas.enemy.WAV",["voice.vl2"]],"audio/voice/male1/bas.retake.m4a":["audio/voice/Male1/bas.retake.m4a",["voice.vl2"]],"audio/voice/male1/bas.retake.wav":["audio/voice/Male1/bas.retake.wav",["voice.vl2"]],"audio/voice/male1/bas.secure.m4a":["audio/voice/Male1/bas.secure.m4a",["voice.vl2"]],"audio/voice/male1/bas.secure.wav":["audio/voice/Male1/bas.secure.wav",["voice.vl2"]],"audio/voice/male1/bas.taken.m4a":["audio/voice/Male1/bas.taken.m4a",["voice.vl2"]],"audio/voice/male1/bas.taken.wav":["audio/voice/Male1/bas.taken.wav",["voice.vl2"]],"audio/voice/male1/cmd.acknowledge.m4a":["audio/voice/Male1/cmd.acknowledge.m4a",["voice.vl2"]],"audio/voice/male1/cmd.acknowledge.wav":["audio/voice/Male1/cmd.acknowledge.wav",["voice.vl2"]],"audio/voice/male1/cmd.bot.m4a":["audio/voice/Male1/cmd.bot.m4a",["voice.vl2"]],"audio/voice/male1/cmd.bot.wav":["audio/voice/Male1/cmd.bot.WAV",["voice.vl2"]],"audio/voice/male1/cmd.completed.m4a":["audio/voice/Male1/cmd.completed.m4a",["voice.vl2"]],"audio/voice/male1/cmd.completed.wav":["audio/voice/Male1/cmd.completed.wav",["voice.vl2"]],"audio/voice/male1/cmd.decline.m4a":["audio/voice/Male1/cmd.decline.m4a",["voice.vl2"]],"audio/voice/male1/cmd.decline.wav":["audio/voice/Male1/cmd.decline.wav",["voice.vl2"]],"audio/voice/male1/def.base.m4a":["audio/voice/Male1/def.base.m4a",["voice.vl2"]],"audio/voice/male1/def.base.wav":["audio/voice/Male1/def.base.wav",["voice.vl2"]],"audio/voice/male1/def.carrier.m4a":["audio/voice/Male1/def.carrier.m4a",["voice.vl2"]],"audio/voice/male1/def.carrier.wav":["audio/voice/Male1/def.carrier.wav",["voice.vl2"]],"audio/voice/male1/def.entrances.m4a":["audio/voice/Male1/def.entrances.m4a",["voice.vl2"]],"audio/voice/male1/def.entrances.wav":["audio/voice/Male1/def.entrances.wav",["voice.vl2"]],"audio/voice/male1/def.flag.m4a":["audio/voice/Male1/def.flag.m4a",["voice.vl2"]],"audio/voice/male1/def.flag.wav":["audio/voice/Male1/def.flag.wav",["voice.vl2"]],"audio/voice/male1/def.generator.m4a":["audio/voice/Male1/def.generator.m4a",["voice.vl2"]],"audio/voice/male1/def.generator.wav":["audio/voice/Male1/def.generator.wav",["voice.vl2"]],"audio/voice/male1/def.me.m4a":["audio/voice/Male1/def.me.m4a",["voice.vl2"]],"audio/voice/male1/def.me.wav":["audio/voice/Male1/def.me.wav",["voice.vl2"]],"audio/voice/male1/def.nexus.m4a":["audio/voice/Male1/def.nexus.m4a",["voice.vl2"]],"audio/voice/male1/def.nexus.wav":["audio/voice/Male1/def.nexus.wav",["voice.vl2"]],"audio/voice/male1/def.objective.m4a":["audio/voice/Male1/def.objective.m4a",["voice.vl2"]],"audio/voice/male1/def.objective.wav":["audio/voice/Male1/def.objective.wav",["voice.vl2"]],"audio/voice/male1/def.reinforce.m4a":["audio/voice/Male1/def.reinforce.m4a",["voice.vl2"]],"audio/voice/male1/def.reinforce.wav":["audio/voice/Male1/def.reinforce.wav",["voice.vl2"]],"audio/voice/male1/def.sensors.m4a":["audio/voice/Male1/def.sensors.m4a",["voice.vl2"]],"audio/voice/male1/def.sensors.wav":["audio/voice/Male1/def.sensors.wav",["voice.vl2"]],"audio/voice/male1/def.turrets.m4a":["audio/voice/Male1/def.turrets.m4a",["voice.vl2"]],"audio/voice/male1/def.turrets.wav":["audio/voice/Male1/def.turrets.wav",["voice.vl2"]],"audio/voice/male1/def.vehicle.m4a":["audio/voice/Male1/def.vehicle.m4a",["voice.vl2"]],"audio/voice/male1/def.vehicle.wav":["audio/voice/Male1/def.vehicle.wav",["voice.vl2"]],"audio/voice/male1/ene.base.m4a":["audio/voice/Male1/ene.base.m4a",["voice.vl2"]],"audio/voice/male1/ene.base.wav":["audio/voice/Male1/ene.base.wav",["voice.vl2"]],"audio/voice/male1/ene.disarray.m4a":["audio/voice/Male1/ene.disarray.m4a",["voice.vl2"]],"audio/voice/male1/ene.disarray.wav":["audio/voice/Male1/ene.disarray.wav",["voice.vl2"]],"audio/voice/male1/ene.generator.m4a":["audio/voice/Male1/ene.generator.m4a",["voice.vl2"]],"audio/voice/male1/ene.generator.wav":["audio/voice/Male1/ene.generator.wav",["voice.vl2"]],"audio/voice/male1/ene.remotes.m4a":["audio/voice/Male1/ene.remotes.m4a",["voice.vl2"]],"audio/voice/male1/ene.remotes.wav":["audio/voice/Male1/ene.remotes.wav",["voice.vl2"]],"audio/voice/male1/ene.sensors.m4a":["audio/voice/Male1/ene.sensors.m4a",["voice.vl2"]],"audio/voice/male1/ene.sensors.wav":["audio/voice/Male1/ene.sensors.wav",["voice.vl2"]],"audio/voice/male1/ene.turrets.m4a":["audio/voice/Male1/ene.turrets.m4a",["voice.vl2"]],"audio/voice/male1/ene.turrets.wav":["audio/voice/Male1/ene.turrets.wav",["voice.vl2"]],"audio/voice/male1/ene.vehicle.m4a":["audio/voice/Male1/ene.vehicle.m4a",["voice.vl2"]],"audio/voice/male1/ene.vehicle.wav":["audio/voice/Male1/ene.vehicle.wav",["voice.vl2"]],"audio/voice/male1/flg.flag.m4a":["audio/voice/Male1/flg.flag.m4a",["voice.vl2"]],"audio/voice/male1/flg.flag.wav":["audio/voice/Male1/flg.flag.WAV",["voice.vl2"]],"audio/voice/male1/flg.give.m4a":["audio/voice/Male1/flg.give.m4a",["voice.vl2"]],"audio/voice/male1/flg.give.wav":["audio/voice/Male1/flg.give.wav",["voice.vl2"]],"audio/voice/male1/flg.huntergive.m4a":["audio/voice/Male1/flg.huntergive.m4a",["voice.vl2"]],"audio/voice/male1/flg.huntergive.wav":["audio/voice/Male1/flg.huntergive.wav",["voice.vl2"]],"audio/voice/male1/flg.huntertake.m4a":["audio/voice/Male1/flg.huntertake.m4a",["voice.vl2"]],"audio/voice/male1/flg.huntertake.wav":["audio/voice/Male1/flg.huntertake.wav",["voice.vl2"]],"audio/voice/male1/flg.retrieve.m4a":["audio/voice/Male1/flg.retrieve.m4a",["voice.vl2"]],"audio/voice/male1/flg.retrieve.wav":["audio/voice/Male1/flg.retrieve.WAV",["voice.vl2"]],"audio/voice/male1/flg.secure.m4a":["audio/voice/Male1/flg.secure.m4a",["voice.vl2"]],"audio/voice/male1/flg.secure.wav":["audio/voice/Male1/flg.secure.wav",["voice.vl2"]],"audio/voice/male1/flg.take.m4a":["audio/voice/Male1/flg.take.m4a",["voice.vl2"]],"audio/voice/male1/flg.take.wav":["audio/voice/Male1/flg.take.wav",["voice.vl2"]],"audio/voice/male1/gbl.anytime.m4a":["audio/voice/Male1/gbl.anytime.m4a",["voice.vl2"]],"audio/voice/male1/gbl.anytime.wav":["audio/voice/Male1/gbl.anytime.wav",["voice.vl2"]],"audio/voice/male1/gbl.awesome.m4a":["audio/voice/Male1/gbl.awesome.m4a",["voice.vl2"]],"audio/voice/male1/gbl.awesome.wav":["audio/voice/Male1/gbl.awesome.wav",["voice.vl2"]],"audio/voice/male1/gbl.aww.m4a":["audio/voice/Male1/gbl.aww.m4a",["voice.vl2"]],"audio/voice/male1/gbl.aww.wav":["audio/voice/Male1/gbl.aww.wav",["voice.vl2"]],"audio/voice/male1/gbl.brag.m4a":["audio/voice/Male1/gbl.brag.m4a",["voice.vl2"]],"audio/voice/male1/gbl.brag.wav":["audio/voice/Male1/gbl.brag.WAV",["voice.vl2"]],"audio/voice/male1/gbl.bye.m4a":["audio/voice/Male1/gbl.bye.m4a",["voice.vl2"]],"audio/voice/male1/gbl.bye.wav":["audio/voice/Male1/gbl.bye.wav",["voice.vl2"]],"audio/voice/male1/gbl.dunno.m4a":["audio/voice/Male1/gbl.dunno.m4a",["voice.vl2"]],"audio/voice/male1/gbl.dunno.wav":["audio/voice/Male1/gbl.dunno.wav",["voice.vl2"]],"audio/voice/male1/gbl.goodgame.m4a":["audio/voice/Male1/gbl.goodgame.m4a",["voice.vl2"]],"audio/voice/male1/gbl.goodgame.wav":["audio/voice/Male1/gbl.goodgame.wav",["voice.vl2"]],"audio/voice/male1/gbl.hi.m4a":["audio/voice/Male1/gbl.hi.m4a",["voice.vl2"]],"audio/voice/male1/gbl.hi.wav":["audio/voice/Male1/gbl.hi.wav",["voice.vl2"]],"audio/voice/male1/gbl.nice.m4a":["audio/voice/Male1/gbl.nice.m4a",["voice.vl2"]],"audio/voice/male1/gbl.nice.wav":["audio/voice/Male1/gbl.nice.wav",["voice.vl2"]],"audio/voice/male1/gbl.no.m4a":["audio/voice/Male1/gbl.no.m4a",["voice.vl2"]],"audio/voice/male1/gbl.no.wav":["audio/voice/Male1/gbl.no.wav",["voice.vl2"]],"audio/voice/male1/gbl.obnoxious.m4a":["audio/voice/Male1/gbl.obnoxious.m4a",["voice.vl2"]],"audio/voice/male1/gbl.obnoxious.wav":["audio/voice/Male1/gbl.obnoxious.WAV",["voice.vl2"]],"audio/voice/male1/gbl.oops.m4a":["audio/voice/Male1/gbl.oops.m4a",["voice.vl2"]],"audio/voice/male1/gbl.oops.wav":["audio/voice/Male1/gbl.oops.wav",["voice.vl2"]],"audio/voice/male1/gbl.quiet.m4a":["audio/voice/Male1/gbl.quiet.m4a",["voice.vl2"]],"audio/voice/male1/gbl.quiet.wav":["audio/voice/Male1/gbl.quiet.WAV",["voice.vl2"]],"audio/voice/male1/gbl.rock.m4a":["audio/voice/Male1/gbl.rock.m4a",["voice.vl2"]],"audio/voice/male1/gbl.rock.wav":["audio/voice/Male1/gbl.rock.WAV",["voice.vl2"]],"audio/voice/male1/gbl.sarcasm.m4a":["audio/voice/Male1/gbl.sarcasm.m4a",["voice.vl2"]],"audio/voice/male1/gbl.sarcasm.wav":["audio/voice/Male1/gbl.sarcasm.WAV",["voice.vl2"]],"audio/voice/male1/gbl.shazbot.m4a":["audio/voice/Male1/gbl.shazbot.m4a",["voice.vl2"]],"audio/voice/male1/gbl.shazbot.wav":["audio/voice/Male1/gbl.shazbot.wav",["voice.vl2"]],"audio/voice/male1/gbl.shooting.m4a":["audio/voice/Male1/gbl.shooting.m4a",["voice.vl2"]],"audio/voice/male1/gbl.shooting.wav":["audio/voice/Male1/gbl.shooting.WAV",["voice.vl2"]],"audio/voice/male1/gbl.thanks.m4a":["audio/voice/Male1/gbl.thanks.m4a",["voice.vl2"]],"audio/voice/male1/gbl.thanks.wav":["audio/voice/Male1/gbl.thanks.wav",["voice.vl2"]],"audio/voice/male1/gbl.wait.m4a":["audio/voice/Male1/gbl.wait.m4a",["voice.vl2"]],"audio/voice/male1/gbl.wait.wav":["audio/voice/Male1/gbl.wait.wav",["voice.vl2"]],"audio/voice/male1/gbl.when.m4a":["audio/voice/Male1/gbl.when.m4a",["voice.vl2"]],"audio/voice/male1/gbl.when.wav":["audio/voice/Male1/gbl.when.wav",["voice.vl2"]],"audio/voice/male1/gbl.woohoo.m4a":["audio/voice/Male1/gbl.woohoo.m4a",["voice.vl2"]],"audio/voice/male1/gbl.woohoo.wav":["audio/voice/Male1/gbl.woohoo.WAV",["voice.vl2"]],"audio/voice/male1/gbl.yes.m4a":["audio/voice/Male1/gbl.yes.m4a",["voice.vl2"]],"audio/voice/male1/gbl.yes.wav":["audio/voice/Male1/gbl.yes.wav",["voice.vl2"]],"audio/voice/male1/need.bombardier.m4a":["audio/voice/Male1/need.bombardier.m4a",["voice.vl2"]],"audio/voice/male1/need.bombardier.wav":["audio/voice/Male1/need.bombardier.wav",["voice.vl2"]],"audio/voice/male1/need.cover.m4a":["audio/voice/Male1/need.cover.m4a",["voice.vl2"]],"audio/voice/male1/need.cover.wav":["audio/voice/Male1/need.cover.WAV",["voice.vl2"]],"audio/voice/male1/need.driver.m4a":["audio/voice/Male1/need.driver.m4a",["voice.vl2"]],"audio/voice/male1/need.driver.wav":["audio/voice/Male1/need.driver.wav",["voice.vl2"]],"audio/voice/male1/need.escort.m4a":["audio/voice/Male1/need.escort.m4a",["voice.vl2"]],"audio/voice/male1/need.escort.wav":["audio/voice/Male1/need.escort.wav",["voice.vl2"]],"audio/voice/male1/need.flyer.m4a":["audio/voice/Male1/need.flyer.m4a",["voice.vl2"]],"audio/voice/male1/need.flyer.wav":["audio/voice/Male1/need.flyer.WAV",["voice.vl2"]],"audio/voice/male1/need.gunship.m4a":["audio/voice/Male1/need.gunship.m4a",["voice.vl2"]],"audio/voice/male1/need.gunship.wav":["audio/voice/Male1/need.gunship.WAV",["voice.vl2"]],"audio/voice/male1/need.hold.m4a":["audio/voice/Male1/need.hold.m4a",["voice.vl2"]],"audio/voice/male1/need.hold.wav":["audio/voice/Male1/need.hold.wav",["voice.vl2"]],"audio/voice/male1/need.ride.m4a":["audio/voice/Male1/need.ride.m4a",["voice.vl2"]],"audio/voice/male1/need.ride.wav":["audio/voice/Male1/need.ride.WAV",["voice.vl2"]],"audio/voice/male1/need.support.m4a":["audio/voice/Male1/need.support.m4a",["voice.vl2"]],"audio/voice/male1/need.support.wav":["audio/voice/Male1/need.support.wav",["voice.vl2"]],"audio/voice/male1/need.tailgunner.m4a":["audio/voice/Male1/need.tailgunner.m4a",["voice.vl2"]],"audio/voice/male1/need.tailgunner.wav":["audio/voice/Male1/need.tailgunner.wav",["voice.vl2"]],"audio/voice/male1/need.where.m4a":["audio/voice/Male1/need.where.m4a",["voice.vl2"]],"audio/voice/male1/need.where.wav":["audio/voice/Male1/need.where.wav",["voice.vl2"]],"audio/voice/male1/rep.base.m4a":["audio/voice/Male1/rep.base.m4a",["voice.vl2"]],"audio/voice/male1/rep.base.wav":["audio/voice/Male1/rep.base.wav",["voice.vl2"]],"audio/voice/male1/rep.generator.m4a":["audio/voice/Male1/rep.generator.m4a",["voice.vl2"]],"audio/voice/male1/rep.generator.wav":["audio/voice/Male1/rep.generator.wav",["voice.vl2"]],"audio/voice/male1/rep.me.m4a":["audio/voice/Male1/rep.me.m4a",["voice.vl2"]],"audio/voice/male1/rep.me.wav":["audio/voice/Male1/rep.me.wav",["voice.vl2"]],"audio/voice/male1/rep.sensors.m4a":["audio/voice/Male1/rep.sensors.m4a",["voice.vl2"]],"audio/voice/male1/rep.sensors.wav":["audio/voice/Male1/rep.sensors.wav",["voice.vl2"]],"audio/voice/male1/rep.turrets.m4a":["audio/voice/Male1/rep.turrets.m4a",["voice.vl2"]],"audio/voice/male1/rep.turrets.wav":["audio/voice/Male1/rep.turrets.wav",["voice.vl2"]],"audio/voice/male1/rep.vehicle.m4a":["audio/voice/Male1/rep.vehicle.m4a",["voice.vl2"]],"audio/voice/male1/rep.vehicle.wav":["audio/voice/Male1/rep.vehicle.wav",["voice.vl2"]],"audio/voice/male1/slf.att.attack.m4a":["audio/voice/Male1/slf.att.attack.m4a",["voice.vl2"]],"audio/voice/male1/slf.att.attack.wav":["audio/voice/Male1/slf.att.attack.WAV",["voice.vl2"]],"audio/voice/male1/slf.att.base.m4a":["audio/voice/Male1/slf.att.base.m4a",["voice.vl2"]],"audio/voice/male1/slf.att.base.wav":["audio/voice/Male1/slf.att.base.WAV",["voice.vl2"]],"audio/voice/male1/slf.att.flag.m4a":["audio/voice/Male1/slf.att.flag.m4a",["voice.vl2"]],"audio/voice/male1/slf.att.flag.wav":["audio/voice/Male1/slf.att.flag.WAV",["voice.vl2"]],"audio/voice/male1/slf.att.generator.m4a":["audio/voice/Male1/slf.att.generator.m4a",["voice.vl2"]],"audio/voice/male1/slf.att.generator.wav":["audio/voice/Male1/slf.att.generator.WAV",["voice.vl2"]],"audio/voice/male1/slf.att.sensors.m4a":["audio/voice/Male1/slf.att.sensors.m4a",["voice.vl2"]],"audio/voice/male1/slf.att.sensors.wav":["audio/voice/Male1/slf.att.sensors.WAV",["voice.vl2"]],"audio/voice/male1/slf.att.turrets.m4a":["audio/voice/Male1/slf.att.turrets.m4a",["voice.vl2"]],"audio/voice/male1/slf.att.turrets.wav":["audio/voice/Male1/slf.att.turrets.WAV",["voice.vl2"]],"audio/voice/male1/slf.att.vehicle.m4a":["audio/voice/Male1/slf.att.vehicle.m4a",["voice.vl2"]],"audio/voice/male1/slf.att.vehicle.wav":["audio/voice/Male1/slf.att.vehicle.WAV",["voice.vl2"]],"audio/voice/male1/slf.def.base.m4a":["audio/voice/Male1/slf.def.base.m4a",["voice.vl2"]],"audio/voice/male1/slf.def.base.wav":["audio/voice/Male1/slf.def.base.WAV",["voice.vl2"]],"audio/voice/male1/slf.def.defend.m4a":["audio/voice/Male1/slf.def.defend.m4a",["voice.vl2"]],"audio/voice/male1/slf.def.defend.wav":["audio/voice/Male1/slf.def.defend.WAV",["voice.vl2"]],"audio/voice/male1/slf.def.flag.m4a":["audio/voice/Male1/slf.def.flag.m4a",["voice.vl2"]],"audio/voice/male1/slf.def.flag.wav":["audio/voice/Male1/slf.def.flag.WAV",["voice.vl2"]],"audio/voice/male1/slf.def.generator.m4a":["audio/voice/Male1/slf.def.generator.m4a",["voice.vl2"]],"audio/voice/male1/slf.def.generator.wav":["audio/voice/Male1/slf.def.generator.WAV",["voice.vl2"]],"audio/voice/male1/slf.def.nexus.m4a":["audio/voice/Male1/slf.def.nexus.m4a",["voice.vl2"]],"audio/voice/male1/slf.def.nexus.wav":["audio/voice/Male1/slf.def.nexus.WAV",["voice.vl2"]],"audio/voice/male1/slf.def.sensors.m4a":["audio/voice/Male1/slf.def.sensors.m4a",["voice.vl2"]],"audio/voice/male1/slf.def.sensors.wav":["audio/voice/Male1/slf.def.sensors.WAV",["voice.vl2"]],"audio/voice/male1/slf.def.turrets.m4a":["audio/voice/Male1/slf.def.turrets.m4a",["voice.vl2"]],"audio/voice/male1/slf.def.turrets.wav":["audio/voice/Male1/slf.def.turrets.WAV",["voice.vl2"]],"audio/voice/male1/slf.def.vehicle.m4a":["audio/voice/Male1/slf.def.vehicle.m4a",["voice.vl2"]],"audio/voice/male1/slf.def.vehicle.wav":["audio/voice/Male1/slf.def.vehicle.WAV",["voice.vl2"]],"audio/voice/male1/slf.rep.base.m4a":["audio/voice/Male1/slf.rep.base.m4a",["voice.vl2"]],"audio/voice/male1/slf.rep.base.wav":["audio/voice/Male1/slf.rep.base.WAV",["voice.vl2"]],"audio/voice/male1/slf.rep.equipment.m4a":["audio/voice/Male1/slf.rep.equipment.m4a",["voice.vl2"]],"audio/voice/male1/slf.rep.equipment.wav":["audio/voice/Male1/slf.rep.equipment.WAV",["voice.vl2"]],"audio/voice/male1/slf.rep.generator.m4a":["audio/voice/Male1/slf.rep.generator.m4a",["voice.vl2"]],"audio/voice/male1/slf.rep.generator.wav":["audio/voice/Male1/slf.rep.generator.WAV",["voice.vl2"]],"audio/voice/male1/slf.rep.repairing.m4a":["audio/voice/Male1/slf.rep.repairing.m4a",["voice.vl2"]],"audio/voice/male1/slf.rep.repairing.wav":["audio/voice/Male1/slf.rep.repairing.WAV",["voice.vl2"]],"audio/voice/male1/slf.rep.sensors.m4a":["audio/voice/Male1/slf.rep.sensors.m4a",["voice.vl2"]],"audio/voice/male1/slf.rep.sensors.wav":["audio/voice/Male1/slf.rep.sensors.WAV",["voice.vl2"]],"audio/voice/male1/slf.rep.turrets.m4a":["audio/voice/Male1/slf.rep.turrets.m4a",["voice.vl2"]],"audio/voice/male1/slf.rep.turrets.wav":["audio/voice/Male1/slf.rep.turrets.WAV",["voice.vl2"]],"audio/voice/male1/slf.rep.vehicle.m4a":["audio/voice/Male1/slf.rep.vehicle.m4a",["voice.vl2"]],"audio/voice/male1/slf.rep.vehicle.wav":["audio/voice/Male1/slf.rep.vehicle.WAV",["voice.vl2"]],"audio/voice/male1/slf.tsk.cover.m4a":["audio/voice/Male1/slf.tsk.cover.m4a",["voice.vl2"]],"audio/voice/male1/slf.tsk.cover.wav":["audio/voice/Male1/slf.tsk.cover.WAV",["voice.vl2"]],"audio/voice/male1/slf.tsk.defense.m4a":["audio/voice/Male1/slf.tsk.defense.m4a",["voice.vl2"]],"audio/voice/male1/slf.tsk.defense.wav":["audio/voice/Male1/slf.tsk.defense.WAV",["voice.vl2"]],"audio/voice/male1/slf.tsk.generic.m4a":["audio/voice/Male1/slf.tsk.generic.m4a",["voice.vl2"]],"audio/voice/male1/slf.tsk.generic.wav":["audio/voice/Male1/slf.tsk.generic.WAV",["voice.vl2"]],"audio/voice/male1/slf.tsk.remotes.m4a":["audio/voice/Male1/slf.tsk.remotes.m4a",["voice.vl2"]],"audio/voice/male1/slf.tsk.remotes.wav":["audio/voice/Male1/slf.tsk.remotes.WAV",["voice.vl2"]],"audio/voice/male1/slf.tsk.sensors.m4a":["audio/voice/Male1/slf.tsk.sensors.m4a",["voice.vl2"]],"audio/voice/male1/slf.tsk.sensors.wav":["audio/voice/Male1/slf.tsk.sensors.WAV",["voice.vl2"]],"audio/voice/male1/slf.tsk.turrets.m4a":["audio/voice/Male1/slf.tsk.turrets.m4a",["voice.vl2"]],"audio/voice/male1/slf.tsk.turrets.wav":["audio/voice/Male1/slf.tsk.turrets.WAV",["voice.vl2"]],"audio/voice/male1/slf.tsk.vehicle.m4a":["audio/voice/Male1/slf.tsk.vehicle.m4a",["voice.vl2"]],"audio/voice/male1/slf.tsk.vehicle.wav":["audio/voice/Male1/slf.tsk.vehicle.WAV",["voice.vl2"]],"audio/voice/male1/tgt.acquired.m4a":["audio/voice/Male1/tgt.acquired.m4a",["voice.vl2"]],"audio/voice/male1/tgt.acquired.wav":["audio/voice/Male1/tgt.acquired.wav",["voice.vl2"]],"audio/voice/male1/tgt.base.m4a":["audio/voice/Male1/tgt.base.m4a",["voice.vl2"]],"audio/voice/male1/tgt.base.wav":["audio/voice/Male1/tgt.base.wav",["voice.vl2"]],"audio/voice/male1/tgt.destroyed.m4a":["audio/voice/Male1/tgt.destroyed.m4a",["voice.vl2"]],"audio/voice/male1/tgt.destroyed.wav":["audio/voice/Male1/tgt.destroyed.wav",["voice.vl2"]],"audio/voice/male1/tgt.flag.m4a":["audio/voice/Male1/tgt.flag.m4a",["voice.vl2"]],"audio/voice/male1/tgt.flag.wav":["audio/voice/Male1/tgt.flag.wav",["voice.vl2"]],"audio/voice/male1/tgt.my.m4a":["audio/voice/Male1/tgt.my.m4a",["voice.vl2"]],"audio/voice/male1/tgt.my.wav":["audio/voice/Male1/tgt.my.WAV",["voice.vl2"]],"audio/voice/male1/tgt.need.m4a":["audio/voice/Male1/tgt.need.m4a",["voice.vl2"]],"audio/voice/male1/tgt.need.wav":["audio/voice/Male1/tgt.need.wav",["voice.vl2"]],"audio/voice/male1/tgt.sensors.m4a":["audio/voice/Male1/tgt.sensors.m4a",["voice.vl2"]],"audio/voice/male1/tgt.sensors.wav":["audio/voice/Male1/tgt.sensors.wav",["voice.vl2"]],"audio/voice/male1/tgt.turret.m4a":["audio/voice/Male1/tgt.turret.m4a",["voice.vl2"]],"audio/voice/male1/tgt.turret.wav":["audio/voice/Male1/tgt.turret.wav",["voice.vl2"]],"audio/voice/male1/tgt.wait.m4a":["audio/voice/Male1/tgt.wait.m4a",["voice.vl2"]],"audio/voice/male1/tgt.wait.wav":["audio/voice/Male1/tgt.wait.wav",["voice.vl2"]],"audio/voice/male1/vqk.anytime.m4a":["audio/voice/Male1/vqk.anytime.m4a",["voice.vl2"]],"audio/voice/male1/vqk.anytime.wav":["audio/voice/Male1/vqk.anytime.wav",["voice.vl2"]],"audio/voice/male1/vqk.base.m4a":["audio/voice/Male1/vqk.base.m4a",["voice.vl2"]],"audio/voice/male1/vqk.base.wav":["audio/voice/Male1/vqk.base.WAV",["voice.vl2"]],"audio/voice/male1/vqk.ceasefire.m4a":["audio/voice/Male1/vqk.ceasefire.m4a",["voice.vl2"]],"audio/voice/male1/vqk.ceasefire.wav":["audio/voice/Male1/vqk.ceasefire.wav",["voice.vl2"]],"audio/voice/male1/vqk.dunno.m4a":["audio/voice/Male1/vqk.dunno.m4a",["voice.vl2"]],"audio/voice/male1/vqk.dunno.wav":["audio/voice/Male1/vqk.dunno.wav",["voice.vl2"]],"audio/voice/male1/vqk.help.m4a":["audio/voice/Male1/vqk.help.m4a",["voice.vl2"]],"audio/voice/male1/vqk.help.wav":["audio/voice/Male1/vqk.help.WAV",["voice.vl2"]],"audio/voice/male1/vqk.move.m4a":["audio/voice/Male1/vqk.move.m4a",["voice.vl2"]],"audio/voice/male1/vqk.move.wav":["audio/voice/Male1/vqk.move.wav",["voice.vl2"]],"audio/voice/male1/vqk.no.m4a":["audio/voice/Male1/vqk.no.m4a",["voice.vl2"]],"audio/voice/male1/vqk.no.wav":["audio/voice/Male1/vqk.no.wav",["voice.vl2"]],"audio/voice/male1/vqk.quiet.m4a":["audio/voice/Male1/vqk.quiet.m4a",["voice.vl2"]],"audio/voice/male1/vqk.quiet.wav":["audio/voice/Male1/vqk.quiet.WAV",["voice.vl2"]],"audio/voice/male1/vqk.sorry.m4a":["audio/voice/Male1/vqk.sorry.m4a",["voice.vl2"]],"audio/voice/male1/vqk.sorry.wav":["audio/voice/Male1/vqk.sorry.wav",["voice.vl2"]],"audio/voice/male1/vqk.thanks.m4a":["audio/voice/Male1/vqk.thanks.m4a",["voice.vl2"]],"audio/voice/male1/vqk.thanks.wav":["audio/voice/Male1/vqk.thanks.wav",["voice.vl2"]],"audio/voice/male1/vqk.wait.m4a":["audio/voice/Male1/vqk.wait.m4a",["voice.vl2"]],"audio/voice/male1/vqk.wait.wav":["audio/voice/Male1/vqk.wait.wav",["voice.vl2"]],"audio/voice/male1/vqk.yes.m4a":["audio/voice/Male1/vqk.yes.m4a",["voice.vl2"]],"audio/voice/male1/vqk.yes.wav":["audio/voice/Male1/vqk.yes.wav",["voice.vl2"]],"audio/voice/male1/wrn.bomber.m4a":["audio/voice/Male1/wrn.bomber.m4a",["voice.vl2"]],"audio/voice/male1/wrn.bomber.wav":["audio/voice/Male1/wrn.bomber.wav",["voice.vl2"]],"audio/voice/male1/wrn.enemy.m4a":["audio/voice/Male1/wrn.enemy.m4a",["voice.vl2"]],"audio/voice/male1/wrn.enemy.wav":["audio/voice/Male1/wrn.enemy.wav",["voice.vl2"]],"audio/voice/male1/wrn.vehicles.m4a":["audio/voice/Male1/wrn.vehicles.m4a",["voice.vl2"]],"audio/voice/male1/wrn.vehicles.wav":["audio/voice/Male1/wrn.vehicles.wav",["voice.vl2"]],"audio/voice/male1/wrn.watchit.m4a":["audio/voice/Male1/wrn.watchit.m4a",["voice.vl2"]],"audio/voice/male1/wrn.watchit.wav":["audio/voice/Male1/wrn.watchit.wav",["voice.vl2"]],"audio/voice/male2/att.attack.m4a":["audio/voice/Male2/att.attack.m4a",["voice.vl2"]],"audio/voice/male2/att.attack.wav":["audio/voice/Male2/att.attack.WAV",["voice.vl2"]],"audio/voice/male2/att.base.m4a":["audio/voice/Male2/att.base.m4a",["voice.vl2"]],"audio/voice/male2/att.base.wav":["audio/voice/Male2/att.base.WAV",["voice.vl2"]],"audio/voice/male2/att.chase.m4a":["audio/voice/Male2/att.chase.m4a",["voice.vl2"]],"audio/voice/male2/att.chase.wav":["audio/voice/Male2/att.chase.WAV",["voice.vl2"]],"audio/voice/male2/att.distract.m4a":["audio/voice/Male2/att.distract.m4a",["voice.vl2"]],"audio/voice/male2/att.distract.wav":["audio/voice/Male2/att.distract.WAV",["voice.vl2"]],"audio/voice/male2/att.flag.m4a":["audio/voice/Male2/att.flag.m4a",["voice.vl2"]],"audio/voice/male2/att.flag.wav":["audio/voice/Male2/att.flag.WAV",["voice.vl2"]],"audio/voice/male2/att.generator.m4a":["audio/voice/Male2/att.generator.m4a",["voice.vl2"]],"audio/voice/male2/att.generator.wav":["audio/voice/Male2/att.generator.WAV",["voice.vl2"]],"audio/voice/male2/att.objective.m4a":["audio/voice/Male2/att.objective.m4a",["voice.vl2"]],"audio/voice/male2/att.objective.wav":["audio/voice/Male2/att.objective.WAV",["voice.vl2"]],"audio/voice/male2/att.reinforcements.m4a":["audio/voice/Male2/att.reinforcements.m4a",["voice.vl2"]],"audio/voice/male2/att.reinforcements.wav":["audio/voice/Male2/att.reinforcements.WAV",["voice.vl2"]],"audio/voice/male2/att.sensors.m4a":["audio/voice/Male2/att.sensors.m4a",["voice.vl2"]],"audio/voice/male2/att.sensors.wav":["audio/voice/Male2/att.sensors.WAV",["voice.vl2"]],"audio/voice/male2/att.turrets.m4a":["audio/voice/Male2/att.turrets.m4a",["voice.vl2"]],"audio/voice/male2/att.turrets.wav":["audio/voice/Male2/att.turrets.WAV",["voice.vl2"]],"audio/voice/male2/att.vehicle.m4a":["audio/voice/Male2/att.vehicle.m4a",["voice.vl2"]],"audio/voice/male2/att.vehicle.wav":["audio/voice/Male2/att.vehicle.WAV",["voice.vl2"]],"audio/voice/male2/att.wait.m4a":["audio/voice/Male2/att.wait.m4a",["voice.vl2"]],"audio/voice/male2/att.wait.wav":["audio/voice/Male2/att.wait.WAV",["voice.vl2"]],"audio/voice/male2/avo.deathcry_01.m4a":["audio/voice/Male2/avo.deathcry_01.m4a",["voice.vl2"]],"audio/voice/male2/avo.deathcry_01.wav":["audio/voice/Male2/avo.deathcry_01.WAV",["voice.vl2"]],"audio/voice/male2/avo.deathcry_02.m4a":["audio/voice/Male2/avo.deathcry_02.m4a",["voice.vl2"]],"audio/voice/male2/avo.deathcry_02.wav":["audio/voice/Male2/avo.deathcry_02.WAV",["voice.vl2"]],"audio/voice/male2/avo.grunt.m4a":["audio/voice/Male2/avo.grunt.m4a",["voice.vl2"]],"audio/voice/male2/avo.grunt.wav":["audio/voice/Male2/avo.grunt.WAV",["voice.vl2"]],"audio/voice/male2/avo.pain.m4a":["audio/voice/Male2/avo.pain.m4a",["voice.vl2"]],"audio/voice/male2/avo.pain.wav":["audio/voice/Male2/avo.pain.WAV",["voice.vl2"]],"audio/voice/male2/bas.clear.m4a":["audio/voice/Male2/bas.clear.m4a",["voice.vl2"]],"audio/voice/male2/bas.clear.wav":["audio/voice/Male2/bas.clear.WAV",["voice.vl2"]],"audio/voice/male2/bas.enemy.m4a":["audio/voice/Male2/bas.enemy.m4a",["voice.vl2"]],"audio/voice/male2/bas.enemy.wav":["audio/voice/Male2/bas.enemy.WAV",["voice.vl2"]],"audio/voice/male2/bas.retake.m4a":["audio/voice/Male2/bas.retake.m4a",["voice.vl2"]],"audio/voice/male2/bas.retake.wav":["audio/voice/Male2/bas.retake.WAV",["voice.vl2"]],"audio/voice/male2/bas.secure.m4a":["audio/voice/Male2/bas.secure.m4a",["voice.vl2"]],"audio/voice/male2/bas.secure.wav":["audio/voice/Male2/bas.secure.WAV",["voice.vl2"]],"audio/voice/male2/bas.taken.m4a":["audio/voice/Male2/bas.taken.m4a",["voice.vl2"]],"audio/voice/male2/bas.taken.wav":["audio/voice/Male2/bas.taken.WAV",["voice.vl2"]],"audio/voice/male2/cmd.acknowledge.m4a":["audio/voice/Male2/cmd.acknowledge.m4a",["voice.vl2"]],"audio/voice/male2/cmd.acknowledge.wav":["audio/voice/Male2/cmd.acknowledge.WAV",["voice.vl2"]],"audio/voice/male2/cmd.bot.m4a":["audio/voice/Male2/cmd.bot.m4a",["voice.vl2"]],"audio/voice/male2/cmd.bot.wav":["audio/voice/Male2/cmd.bot.WAV",["voice.vl2"]],"audio/voice/male2/cmd.completed.m4a":["audio/voice/Male2/cmd.completed.m4a",["voice.vl2"]],"audio/voice/male2/cmd.completed.wav":["audio/voice/Male2/cmd.completed.WAV",["voice.vl2"]],"audio/voice/male2/cmd.decline.m4a":["audio/voice/Male2/cmd.decline.m4a",["voice.vl2"]],"audio/voice/male2/cmd.decline.wav":["audio/voice/Male2/cmd.decline.WAV",["voice.vl2"]],"audio/voice/male2/def.base.m4a":["audio/voice/Male2/def.base.m4a",["voice.vl2"]],"audio/voice/male2/def.base.wav":["audio/voice/Male2/def.base.WAV",["voice.vl2"]],"audio/voice/male2/def.carrier.m4a":["audio/voice/Male2/def.carrier.m4a",["voice.vl2"]],"audio/voice/male2/def.carrier.wav":["audio/voice/Male2/def.carrier.WAV",["voice.vl2"]],"audio/voice/male2/def.entrances.m4a":["audio/voice/Male2/def.entrances.m4a",["voice.vl2"]],"audio/voice/male2/def.entrances.wav":["audio/voice/Male2/def.entrances.WAV",["voice.vl2"]],"audio/voice/male2/def.flag.m4a":["audio/voice/Male2/def.flag.m4a",["voice.vl2"]],"audio/voice/male2/def.flag.wav":["audio/voice/Male2/def.flag.WAV",["voice.vl2"]],"audio/voice/male2/def.generator.m4a":["audio/voice/Male2/def.generator.m4a",["voice.vl2"]],"audio/voice/male2/def.generator.wav":["audio/voice/Male2/def.generator.WAV",["voice.vl2"]],"audio/voice/male2/def.me.m4a":["audio/voice/Male2/def.me.m4a",["voice.vl2"]],"audio/voice/male2/def.me.wav":["audio/voice/Male2/def.me.WAV",["voice.vl2"]],"audio/voice/male2/def.nexus.m4a":["audio/voice/Male2/def.nexus.m4a",["voice.vl2"]],"audio/voice/male2/def.nexus.wav":["audio/voice/Male2/def.nexus.WAV",["voice.vl2"]],"audio/voice/male2/def.objective.m4a":["audio/voice/Male2/def.objective.m4a",["voice.vl2"]],"audio/voice/male2/def.objective.wav":["audio/voice/Male2/def.objective.WAV",["voice.vl2"]],"audio/voice/male2/def.reinforce.m4a":["audio/voice/Male2/def.reinforce.m4a",["voice.vl2"]],"audio/voice/male2/def.reinforce.wav":["audio/voice/Male2/def.reinforce.WAV",["voice.vl2"]],"audio/voice/male2/def.sensors.m4a":["audio/voice/Male2/def.sensors.m4a",["voice.vl2"]],"audio/voice/male2/def.sensors.wav":["audio/voice/Male2/def.sensors.WAV",["voice.vl2"]],"audio/voice/male2/def.turrets.m4a":["audio/voice/Male2/def.turrets.m4a",["voice.vl2"]],"audio/voice/male2/def.turrets.wav":["audio/voice/Male2/def.turrets.WAV",["voice.vl2"]],"audio/voice/male2/def.vehicle.m4a":["audio/voice/Male2/def.vehicle.m4a",["voice.vl2"]],"audio/voice/male2/def.vehicle.wav":["audio/voice/Male2/def.vehicle.WAV",["voice.vl2"]],"audio/voice/male2/ene.base.m4a":["audio/voice/Male2/ene.base.m4a",["voice.vl2"]],"audio/voice/male2/ene.base.wav":["audio/voice/Male2/ene.base.WAV",["voice.vl2"]],"audio/voice/male2/ene.disarray.m4a":["audio/voice/Male2/ene.disarray.m4a",["voice.vl2"]],"audio/voice/male2/ene.disarray.wav":["audio/voice/Male2/ene.disarray.WAV",["voice.vl2"]],"audio/voice/male2/ene.generator.m4a":["audio/voice/Male2/ene.generator.m4a",["voice.vl2"]],"audio/voice/male2/ene.generator.wav":["audio/voice/Male2/ene.generator.WAV",["voice.vl2"]],"audio/voice/male2/ene.remotes.m4a":["audio/voice/Male2/ene.remotes.m4a",["voice.vl2"]],"audio/voice/male2/ene.remotes.wav":["audio/voice/Male2/ene.remotes.WAV",["voice.vl2"]],"audio/voice/male2/ene.sensors.m4a":["audio/voice/Male2/ene.sensors.m4a",["voice.vl2"]],"audio/voice/male2/ene.sensors.wav":["audio/voice/Male2/ene.sensors.WAV",["voice.vl2"]],"audio/voice/male2/ene.turrets.m4a":["audio/voice/Male2/ene.turrets.m4a",["voice.vl2"]],"audio/voice/male2/ene.turrets.wav":["audio/voice/Male2/ene.turrets.WAV",["voice.vl2"]],"audio/voice/male2/ene.vehicle.m4a":["audio/voice/Male2/ene.vehicle.m4a",["voice.vl2"]],"audio/voice/male2/ene.vehicle.wav":["audio/voice/Male2/ene.vehicle.WAV",["voice.vl2"]],"audio/voice/male2/flg.flag.m4a":["audio/voice/Male2/flg.flag.m4a",["voice.vl2"]],"audio/voice/male2/flg.flag.wav":["audio/voice/Male2/flg.flag.WAV",["voice.vl2"]],"audio/voice/male2/flg.give.m4a":["audio/voice/Male2/flg.give.m4a",["voice.vl2"]],"audio/voice/male2/flg.give.wav":["audio/voice/Male2/flg.give.WAV",["voice.vl2"]],"audio/voice/male2/flg.huntergive.m4a":["audio/voice/Male2/flg.huntergive.m4a",["voice.vl2"]],"audio/voice/male2/flg.huntergive.wav":["audio/voice/Male2/flg.huntergive.WAV",["voice.vl2"]],"audio/voice/male2/flg.huntertake.m4a":["audio/voice/Male2/flg.huntertake.m4a",["voice.vl2"]],"audio/voice/male2/flg.huntertake.wav":["audio/voice/Male2/flg.huntertake.WAV",["voice.vl2"]],"audio/voice/male2/flg.retrieve.m4a":["audio/voice/Male2/flg.retrieve.m4a",["voice.vl2"]],"audio/voice/male2/flg.retrieve.wav":["audio/voice/Male2/flg.retrieve.WAV",["voice.vl2"]],"audio/voice/male2/flg.secure.m4a":["audio/voice/Male2/flg.secure.m4a",["voice.vl2"]],"audio/voice/male2/flg.secure.wav":["audio/voice/Male2/flg.secure.WAV",["voice.vl2"]],"audio/voice/male2/flg.take.m4a":["audio/voice/Male2/flg.take.m4a",["voice.vl2"]],"audio/voice/male2/flg.take.wav":["audio/voice/Male2/flg.take.WAV",["voice.vl2"]],"audio/voice/male2/gbl.anytime.m4a":["audio/voice/Male2/gbl.anytime.m4a",["voice.vl2"]],"audio/voice/male2/gbl.anytime.wav":["audio/voice/Male2/gbl.anytime.WAV",["voice.vl2"]],"audio/voice/male2/gbl.awesome.m4a":["audio/voice/Male2/gbl.awesome.m4a",["voice.vl2"]],"audio/voice/male2/gbl.awesome.wav":["audio/voice/Male2/gbl.awesome.WAV",["voice.vl2"]],"audio/voice/male2/gbl.aww.m4a":["audio/voice/Male2/gbl.aww.m4a",["voice.vl2"]],"audio/voice/male2/gbl.aww.wav":["audio/voice/Male2/gbl.aww.WAV",["voice.vl2"]],"audio/voice/male2/gbl.brag.m4a":["audio/voice/Male2/gbl.brag.m4a",["voice.vl2"]],"audio/voice/male2/gbl.brag.wav":["audio/voice/Male2/gbl.brag.WAV",["voice.vl2"]],"audio/voice/male2/gbl.bye.m4a":["audio/voice/Male2/gbl.bye.m4a",["voice.vl2"]],"audio/voice/male2/gbl.bye.wav":["audio/voice/Male2/gbl.bye.WAV",["voice.vl2"]],"audio/voice/male2/gbl.dunno.m4a":["audio/voice/Male2/gbl.dunno.m4a",["voice.vl2"]],"audio/voice/male2/gbl.dunno.wav":["audio/voice/Male2/gbl.dunno.WAV",["voice.vl2"]],"audio/voice/male2/gbl.goodgame.m4a":["audio/voice/Male2/gbl.goodgame.m4a",["voice.vl2"]],"audio/voice/male2/gbl.goodgame.wav":["audio/voice/Male2/gbl.goodgame.WAV",["voice.vl2"]],"audio/voice/male2/gbl.hi.m4a":["audio/voice/Male2/gbl.hi.m4a",["voice.vl2"]],"audio/voice/male2/gbl.hi.wav":["audio/voice/Male2/gbl.hi.WAV",["voice.vl2"]],"audio/voice/male2/gbl.nice.m4a":["audio/voice/Male2/gbl.nice.m4a",["voice.vl2"]],"audio/voice/male2/gbl.nice.wav":["audio/voice/Male2/gbl.nice.WAV",["voice.vl2"]],"audio/voice/male2/gbl.no.m4a":["audio/voice/Male2/gbl.no.m4a",["voice.vl2"]],"audio/voice/male2/gbl.no.wav":["audio/voice/Male2/gbl.no.WAV",["voice.vl2"]],"audio/voice/male2/gbl.obnoxious.m4a":["audio/voice/Male2/gbl.obnoxious.m4a",["voice.vl2"]],"audio/voice/male2/gbl.obnoxious.wav":["audio/voice/Male2/gbl.obnoxious.WAV",["voice.vl2"]],"audio/voice/male2/gbl.oops.m4a":["audio/voice/Male2/gbl.oops.m4a",["voice.vl2"]],"audio/voice/male2/gbl.oops.wav":["audio/voice/Male2/gbl.oops.WAV",["voice.vl2"]],"audio/voice/male2/gbl.quiet.m4a":["audio/voice/Male2/gbl.quiet.m4a",["voice.vl2"]],"audio/voice/male2/gbl.quiet.wav":["audio/voice/Male2/gbl.quiet.WAV",["voice.vl2"]],"audio/voice/male2/gbl.rock.m4a":["audio/voice/Male2/gbl.rock.m4a",["voice.vl2"]],"audio/voice/male2/gbl.rock.wav":["audio/voice/Male2/gbl.rock.WAV",["voice.vl2"]],"audio/voice/male2/gbl.sarcasm.m4a":["audio/voice/Male2/gbl.sarcasm.m4a",["voice.vl2"]],"audio/voice/male2/gbl.sarcasm.wav":["audio/voice/Male2/gbl.sarcasm.WAV",["voice.vl2"]],"audio/voice/male2/gbl.shazbot.m4a":["audio/voice/Male2/gbl.shazbot.m4a",["voice.vl2"]],"audio/voice/male2/gbl.shazbot.wav":["audio/voice/Male2/gbl.shazbot.WAV",["voice.vl2"]],"audio/voice/male2/gbl.shooting.m4a":["audio/voice/Male2/gbl.shooting.m4a",["voice.vl2"]],"audio/voice/male2/gbl.shooting.wav":["audio/voice/Male2/gbl.shooting.WAV",["voice.vl2"]],"audio/voice/male2/gbl.thanks.m4a":["audio/voice/Male2/gbl.thanks.m4a",["voice.vl2"]],"audio/voice/male2/gbl.thanks.wav":["audio/voice/Male2/gbl.thanks.WAV",["voice.vl2"]],"audio/voice/male2/gbl.wait.m4a":["audio/voice/Male2/gbl.wait.m4a",["voice.vl2"]],"audio/voice/male2/gbl.wait.wav":["audio/voice/Male2/gbl.wait.WAV",["voice.vl2"]],"audio/voice/male2/gbl.when.m4a":["audio/voice/Male2/gbl.when.m4a",["voice.vl2"]],"audio/voice/male2/gbl.when.wav":["audio/voice/Male2/gbl.when.WAV",["voice.vl2"]],"audio/voice/male2/gbl.woohoo.m4a":["audio/voice/Male2/gbl.woohoo.m4a",["voice.vl2"]],"audio/voice/male2/gbl.woohoo.wav":["audio/voice/Male2/gbl.woohoo.WAV",["voice.vl2"]],"audio/voice/male2/gbl.yes.m4a":["audio/voice/Male2/gbl.yes.m4a",["voice.vl2"]],"audio/voice/male2/gbl.yes.wav":["audio/voice/Male2/gbl.yes.WAV",["voice.vl2"]],"audio/voice/male2/need.bombardier.m4a":["audio/voice/Male2/need.bombardier.m4a",["voice.vl2"]],"audio/voice/male2/need.bombardier.wav":["audio/voice/Male2/need.bombardier.WAV",["voice.vl2"]],"audio/voice/male2/need.cover.m4a":["audio/voice/Male2/need.cover.m4a",["voice.vl2"]],"audio/voice/male2/need.cover.wav":["audio/voice/Male2/need.cover.WAV",["voice.vl2"]],"audio/voice/male2/need.driver.m4a":["audio/voice/Male2/need.driver.m4a",["voice.vl2"]],"audio/voice/male2/need.driver.wav":["audio/voice/Male2/need.driver.WAV",["voice.vl2"]],"audio/voice/male2/need.escort.m4a":["audio/voice/Male2/need.escort.m4a",["voice.vl2"]],"audio/voice/male2/need.escort.wav":["audio/voice/Male2/need.escort.WAV",["voice.vl2"]],"audio/voice/male2/need.flyer.m4a":["audio/voice/Male2/need.flyer.m4a",["voice.vl2"]],"audio/voice/male2/need.flyer.wav":["audio/voice/Male2/need.flyer.WAV",["voice.vl2"]],"audio/voice/male2/need.gunship.m4a":["audio/voice/Male2/need.gunship.m4a",["voice.vl2"]],"audio/voice/male2/need.gunship.wav":["audio/voice/Male2/need.gunship.WAV",["voice.vl2"]],"audio/voice/male2/need.hold.m4a":["audio/voice/Male2/need.hold.m4a",["voice.vl2"]],"audio/voice/male2/need.hold.wav":["audio/voice/Male2/need.hold.WAV",["voice.vl2"]],"audio/voice/male2/need.ride.m4a":["audio/voice/Male2/need.ride.m4a",["voice.vl2"]],"audio/voice/male2/need.ride.wav":["audio/voice/Male2/need.ride.WAV",["voice.vl2"]],"audio/voice/male2/need.support.m4a":["audio/voice/Male2/need.support.m4a",["voice.vl2"]],"audio/voice/male2/need.support.wav":["audio/voice/Male2/need.support.WAV",["voice.vl2"]],"audio/voice/male2/need.tailgunner.m4a":["audio/voice/Male2/need.tailgunner.m4a",["voice.vl2"]],"audio/voice/male2/need.tailgunner.wav":["audio/voice/Male2/need.tailgunner.WAV",["voice.vl2"]],"audio/voice/male2/need.where.m4a":["audio/voice/Male2/need.where.m4a",["voice.vl2"]],"audio/voice/male2/need.where.wav":["audio/voice/Male2/need.where.WAV",["voice.vl2"]],"audio/voice/male2/rep.base.m4a":["audio/voice/Male2/rep.base.m4a",["voice.vl2"]],"audio/voice/male2/rep.base.wav":["audio/voice/Male2/rep.base.WAV",["voice.vl2"]],"audio/voice/male2/rep.generator.m4a":["audio/voice/Male2/rep.generator.m4a",["voice.vl2"]],"audio/voice/male2/rep.generator.wav":["audio/voice/Male2/rep.generator.WAV",["voice.vl2"]],"audio/voice/male2/rep.me.m4a":["audio/voice/Male2/rep.me.m4a",["voice.vl2"]],"audio/voice/male2/rep.me.wav":["audio/voice/Male2/rep.me.WAV",["voice.vl2"]],"audio/voice/male2/rep.sensors.m4a":["audio/voice/Male2/rep.sensors.m4a",["voice.vl2"]],"audio/voice/male2/rep.sensors.wav":["audio/voice/Male2/rep.sensors.WAV",["voice.vl2"]],"audio/voice/male2/rep.turrets.m4a":["audio/voice/Male2/rep.turrets.m4a",["voice.vl2"]],"audio/voice/male2/rep.turrets.wav":["audio/voice/Male2/rep.turrets.WAV",["voice.vl2"]],"audio/voice/male2/rep.vehicle.m4a":["audio/voice/Male2/rep.vehicle.m4a",["voice.vl2"]],"audio/voice/male2/rep.vehicle.wav":["audio/voice/Male2/rep.vehicle.WAV",["voice.vl2"]],"audio/voice/male2/slf.att.attack.m4a":["audio/voice/Male2/slf.att.attack.m4a",["voice.vl2"]],"audio/voice/male2/slf.att.attack.wav":["audio/voice/Male2/slf.att.attack.WAV",["voice.vl2"]],"audio/voice/male2/slf.att.base.m4a":["audio/voice/Male2/slf.att.base.m4a",["voice.vl2"]],"audio/voice/male2/slf.att.base.wav":["audio/voice/Male2/slf.att.base.WAV",["voice.vl2"]],"audio/voice/male2/slf.att.flag.m4a":["audio/voice/Male2/slf.att.flag.m4a",["voice.vl2"]],"audio/voice/male2/slf.att.flag.wav":["audio/voice/Male2/slf.att.flag.WAV",["voice.vl2"]],"audio/voice/male2/slf.att.generator.m4a":["audio/voice/Male2/slf.att.generator.m4a",["voice.vl2"]],"audio/voice/male2/slf.att.generator.wav":["audio/voice/Male2/slf.att.generator.WAV",["voice.vl2"]],"audio/voice/male2/slf.att.sensors.m4a":["audio/voice/Male2/slf.att.sensors.m4a",["voice.vl2"]],"audio/voice/male2/slf.att.sensors.wav":["audio/voice/Male2/slf.att.sensors.WAV",["voice.vl2"]],"audio/voice/male2/slf.att.turrets.m4a":["audio/voice/Male2/slf.att.turrets.m4a",["voice.vl2"]],"audio/voice/male2/slf.att.turrets.wav":["audio/voice/Male2/slf.att.turrets.WAV",["voice.vl2"]],"audio/voice/male2/slf.att.vehicle.m4a":["audio/voice/Male2/slf.att.vehicle.m4a",["voice.vl2"]],"audio/voice/male2/slf.att.vehicle.wav":["audio/voice/Male2/slf.att.vehicle.WAV",["voice.vl2"]],"audio/voice/male2/slf.def.base.m4a":["audio/voice/Male2/slf.def.base.m4a",["voice.vl2"]],"audio/voice/male2/slf.def.base.wav":["audio/voice/Male2/slf.def.base.WAV",["voice.vl2"]],"audio/voice/male2/slf.def.defend.m4a":["audio/voice/Male2/slf.def.defend.m4a",["voice.vl2"]],"audio/voice/male2/slf.def.defend.wav":["audio/voice/Male2/slf.def.defend.WAV",["voice.vl2"]],"audio/voice/male2/slf.def.flag.m4a":["audio/voice/Male2/slf.def.flag.m4a",["voice.vl2"]],"audio/voice/male2/slf.def.flag.wav":["audio/voice/Male2/slf.def.flag.WAV",["voice.vl2"]],"audio/voice/male2/slf.def.generator.m4a":["audio/voice/Male2/slf.def.generator.m4a",["voice.vl2"]],"audio/voice/male2/slf.def.generator.wav":["audio/voice/Male2/slf.def.generator.WAV",["voice.vl2"]],"audio/voice/male2/slf.def.nexus.m4a":["audio/voice/Male2/slf.def.nexus.m4a",["voice.vl2"]],"audio/voice/male2/slf.def.nexus.wav":["audio/voice/Male2/slf.def.nexus.WAV",["voice.vl2"]],"audio/voice/male2/slf.def.sensors.m4a":["audio/voice/Male2/slf.def.sensors.m4a",["voice.vl2"]],"audio/voice/male2/slf.def.sensors.wav":["audio/voice/Male2/slf.def.sensors.WAV",["voice.vl2"]],"audio/voice/male2/slf.def.turrets.m4a":["audio/voice/Male2/slf.def.turrets.m4a",["voice.vl2"]],"audio/voice/male2/slf.def.turrets.wav":["audio/voice/Male2/slf.def.turrets.WAV",["voice.vl2"]],"audio/voice/male2/slf.def.vehicle.m4a":["audio/voice/Male2/slf.def.vehicle.m4a",["voice.vl2"]],"audio/voice/male2/slf.def.vehicle.wav":["audio/voice/Male2/slf.def.vehicle.WAV",["voice.vl2"]],"audio/voice/male2/slf.rep.base.m4a":["audio/voice/Male2/slf.rep.base.m4a",["voice.vl2"]],"audio/voice/male2/slf.rep.base.wav":["audio/voice/Male2/slf.rep.base.WAV",["voice.vl2"]],"audio/voice/male2/slf.rep.equipment.m4a":["audio/voice/Male2/slf.rep.equipment.m4a",["voice.vl2"]],"audio/voice/male2/slf.rep.equipment.wav":["audio/voice/Male2/slf.rep.equipment.WAV",["voice.vl2"]],"audio/voice/male2/slf.rep.generator.m4a":["audio/voice/Male2/slf.rep.generator.m4a",["voice.vl2"]],"audio/voice/male2/slf.rep.generator.wav":["audio/voice/Male2/slf.rep.generator.WAV",["voice.vl2"]],"audio/voice/male2/slf.rep.repairing.m4a":["audio/voice/Male2/slf.rep.repairing.m4a",["voice.vl2"]],"audio/voice/male2/slf.rep.repairing.wav":["audio/voice/Male2/slf.rep.repairing.WAV",["voice.vl2"]],"audio/voice/male2/slf.rep.sensors.m4a":["audio/voice/Male2/slf.rep.sensors.m4a",["voice.vl2"]],"audio/voice/male2/slf.rep.sensors.wav":["audio/voice/Male2/slf.rep.sensors.WAV",["voice.vl2"]],"audio/voice/male2/slf.rep.turrets.m4a":["audio/voice/Male2/slf.rep.turrets.m4a",["voice.vl2"]],"audio/voice/male2/slf.rep.turrets.wav":["audio/voice/Male2/slf.rep.turrets.WAV",["voice.vl2"]],"audio/voice/male2/slf.rep.vehicle.m4a":["audio/voice/Male2/slf.rep.vehicle.m4a",["voice.vl2"]],"audio/voice/male2/slf.rep.vehicle.wav":["audio/voice/Male2/slf.rep.vehicle.WAV",["voice.vl2"]],"audio/voice/male2/slf.tsk.cover.m4a":["audio/voice/Male2/slf.tsk.cover.m4a",["voice.vl2"]],"audio/voice/male2/slf.tsk.cover.wav":["audio/voice/Male2/slf.tsk.cover.WAV",["voice.vl2"]],"audio/voice/male2/slf.tsk.defense.m4a":["audio/voice/Male2/slf.tsk.defense.m4a",["voice.vl2"]],"audio/voice/male2/slf.tsk.defense.wav":["audio/voice/Male2/slf.tsk.defense.WAV",["voice.vl2"]],"audio/voice/male2/slf.tsk.generic.m4a":["audio/voice/Male2/slf.tsk.generic.m4a",["voice.vl2"]],"audio/voice/male2/slf.tsk.generic.wav":["audio/voice/Male2/slf.tsk.generic.WAV",["voice.vl2"]],"audio/voice/male2/slf.tsk.remotes.m4a":["audio/voice/Male2/slf.tsk.remotes.m4a",["voice.vl2"]],"audio/voice/male2/slf.tsk.remotes.wav":["audio/voice/Male2/slf.tsk.remotes.WAV",["voice.vl2"]],"audio/voice/male2/slf.tsk.sensors.m4a":["audio/voice/Male2/slf.tsk.sensors.m4a",["voice.vl2"]],"audio/voice/male2/slf.tsk.sensors.wav":["audio/voice/Male2/slf.tsk.sensors.WAV",["voice.vl2"]],"audio/voice/male2/slf.tsk.turrets.m4a":["audio/voice/Male2/slf.tsk.turrets.m4a",["voice.vl2"]],"audio/voice/male2/slf.tsk.turrets.wav":["audio/voice/Male2/slf.tsk.turrets.WAV",["voice.vl2"]],"audio/voice/male2/slf.tsk.vehicle.m4a":["audio/voice/Male2/slf.tsk.vehicle.m4a",["voice.vl2"]],"audio/voice/male2/slf.tsk.vehicle.wav":["audio/voice/Male2/slf.tsk.vehicle.WAV",["voice.vl2"]],"audio/voice/male2/tgt.acquired.m4a":["audio/voice/Male2/tgt.acquired.m4a",["voice.vl2"]],"audio/voice/male2/tgt.acquired.wav":["audio/voice/Male2/tgt.acquired.WAV",["voice.vl2"]],"audio/voice/male2/tgt.base.m4a":["audio/voice/Male2/tgt.base.m4a",["voice.vl2"]],"audio/voice/male2/tgt.base.wav":["audio/voice/Male2/tgt.base.WAV",["voice.vl2"]],"audio/voice/male2/tgt.destroyed.m4a":["audio/voice/Male2/tgt.destroyed.m4a",["voice.vl2"]],"audio/voice/male2/tgt.destroyed.wav":["audio/voice/Male2/tgt.destroyed.WAV",["voice.vl2"]],"audio/voice/male2/tgt.flag.m4a":["audio/voice/Male2/tgt.flag.m4a",["voice.vl2"]],"audio/voice/male2/tgt.flag.wav":["audio/voice/Male2/tgt.flag.WAV",["voice.vl2"]],"audio/voice/male2/tgt.my.m4a":["audio/voice/Male2/tgt.my.m4a",["voice.vl2"]],"audio/voice/male2/tgt.my.wav":["audio/voice/Male2/tgt.my.WAV",["voice.vl2"]],"audio/voice/male2/tgt.need.m4a":["audio/voice/Male2/tgt.need.m4a",["voice.vl2"]],"audio/voice/male2/tgt.need.wav":["audio/voice/Male2/tgt.need.WAV",["voice.vl2"]],"audio/voice/male2/tgt.sensors.m4a":["audio/voice/Male2/tgt.sensors.m4a",["voice.vl2"]],"audio/voice/male2/tgt.sensors.wav":["audio/voice/Male2/tgt.sensors.WAV",["voice.vl2"]],"audio/voice/male2/tgt.turret.m4a":["audio/voice/Male2/tgt.turret.m4a",["voice.vl2"]],"audio/voice/male2/tgt.turret.wav":["audio/voice/Male2/tgt.turret.WAV",["voice.vl2"]],"audio/voice/male2/tgt.wait.m4a":["audio/voice/Male2/tgt.wait.m4a",["voice.vl2"]],"audio/voice/male2/tgt.wait.wav":["audio/voice/Male2/tgt.wait.WAV",["voice.vl2"]],"audio/voice/male2/vqk.anytime.m4a":["audio/voice/Male2/vqk.anytime.m4a",["voice.vl2"]],"audio/voice/male2/vqk.anytime.wav":["audio/voice/Male2/vqk.anytime.WAV",["voice.vl2"]],"audio/voice/male2/vqk.base.m4a":["audio/voice/Male2/vqk.base.m4a",["voice.vl2"]],"audio/voice/male2/vqk.base.wav":["audio/voice/Male2/vqk.base.WAV",["voice.vl2"]],"audio/voice/male2/vqk.ceasefire.m4a":["audio/voice/Male2/vqk.ceasefire.m4a",["voice.vl2"]],"audio/voice/male2/vqk.ceasefire.wav":["audio/voice/Male2/vqk.ceasefire.WAV",["voice.vl2"]],"audio/voice/male2/vqk.dunno.m4a":["audio/voice/Male2/vqk.dunno.m4a",["voice.vl2"]],"audio/voice/male2/vqk.dunno.wav":["audio/voice/Male2/vqk.dunno.WAV",["voice.vl2"]],"audio/voice/male2/vqk.help.m4a":["audio/voice/Male2/vqk.help.m4a",["voice.vl2"]],"audio/voice/male2/vqk.help.wav":["audio/voice/Male2/vqk.help.WAV",["voice.vl2"]],"audio/voice/male2/vqk.move.m4a":["audio/voice/Male2/vqk.move.m4a",["voice.vl2"]],"audio/voice/male2/vqk.move.wav":["audio/voice/Male2/vqk.move.WAV",["voice.vl2"]],"audio/voice/male2/vqk.no.m4a":["audio/voice/Male2/vqk.no.m4a",["voice.vl2"]],"audio/voice/male2/vqk.no.wav":["audio/voice/Male2/vqk.no.WAV",["voice.vl2"]],"audio/voice/male2/vqk.quiet.m4a":["audio/voice/Male2/vqk.quiet.m4a",["voice.vl2"]],"audio/voice/male2/vqk.quiet.wav":["audio/voice/Male2/vqk.quiet.WAV",["voice.vl2"]],"audio/voice/male2/vqk.sorry.m4a":["audio/voice/Male2/vqk.sorry.m4a",["voice.vl2"]],"audio/voice/male2/vqk.sorry.wav":["audio/voice/Male2/vqk.sorry.WAV",["voice.vl2"]],"audio/voice/male2/vqk.thanks.m4a":["audio/voice/Male2/vqk.thanks.m4a",["voice.vl2"]],"audio/voice/male2/vqk.thanks.wav":["audio/voice/Male2/vqk.thanks.WAV",["voice.vl2"]],"audio/voice/male2/vqk.wait.m4a":["audio/voice/Male2/vqk.wait.m4a",["voice.vl2"]],"audio/voice/male2/vqk.wait.wav":["audio/voice/Male2/vqk.wait.WAV",["voice.vl2"]],"audio/voice/male2/vqk.yes.m4a":["audio/voice/Male2/vqk.yes.m4a",["voice.vl2"]],"audio/voice/male2/vqk.yes.wav":["audio/voice/Male2/vqk.yes.WAV",["voice.vl2"]],"audio/voice/male2/wrn.bomber.m4a":["audio/voice/Male2/wrn.bomber.m4a",["voice.vl2"]],"audio/voice/male2/wrn.bomber.wav":["audio/voice/Male2/wrn.bomber.WAV",["voice.vl2"]],"audio/voice/male2/wrn.enemy.m4a":["audio/voice/Male2/wrn.enemy.m4a",["voice.vl2"]],"audio/voice/male2/wrn.enemy.wav":["audio/voice/Male2/wrn.enemy.WAV",["voice.vl2"]],"audio/voice/male2/wrn.vehicles.m4a":["audio/voice/Male2/wrn.vehicles.m4a",["voice.vl2"]],"audio/voice/male2/wrn.vehicles.wav":["audio/voice/Male2/wrn.vehicles.WAV",["voice.vl2"]],"audio/voice/male2/wrn.watchit.m4a":["audio/voice/Male2/wrn.watchit.m4a",["voice.vl2"]],"audio/voice/male2/wrn.watchit.wav":["audio/voice/Male2/wrn.watchit.WAV",["voice.vl2"]],"audio/voice/male3/att.attack.m4a":["audio/voice/Male3/att.attack.m4a",["voice.vl2"]],"audio/voice/male3/att.attack.wav":["audio/voice/Male3/att.attack.WAV",["voice.vl2"]],"audio/voice/male3/att.base.m4a":["audio/voice/Male3/att.base.m4a",["voice.vl2"]],"audio/voice/male3/att.base.wav":["audio/voice/Male3/att.base.WAV",["voice.vl2"]],"audio/voice/male3/att.chase.m4a":["audio/voice/Male3/att.chase.m4a",["voice.vl2"]],"audio/voice/male3/att.chase.wav":["audio/voice/Male3/att.chase.WAV",["voice.vl2"]],"audio/voice/male3/att.distract.m4a":["audio/voice/Male3/att.distract.m4a",["voice.vl2"]],"audio/voice/male3/att.distract.wav":["audio/voice/Male3/att.distract.WAV",["voice.vl2"]],"audio/voice/male3/att.flag.m4a":["audio/voice/Male3/att.flag.m4a",["voice.vl2"]],"audio/voice/male3/att.flag.wav":["audio/voice/Male3/att.flag.WAV",["voice.vl2"]],"audio/voice/male3/att.generator.m4a":["audio/voice/Male3/att.generator.m4a",["voice.vl2"]],"audio/voice/male3/att.generator.wav":["audio/voice/Male3/att.generator.WAV",["voice.vl2"]],"audio/voice/male3/att.objective.m4a":["audio/voice/Male3/att.objective.m4a",["voice.vl2"]],"audio/voice/male3/att.objective.wav":["audio/voice/Male3/att.objective.WAV",["voice.vl2"]],"audio/voice/male3/att.reinforcements.m4a":["audio/voice/Male3/att.reinforcements.m4a",["voice.vl2"]],"audio/voice/male3/att.reinforcements.wav":["audio/voice/Male3/att.reinforcements.WAV",["voice.vl2"]],"audio/voice/male3/att.sensors.m4a":["audio/voice/Male3/att.sensors.m4a",["voice.vl2"]],"audio/voice/male3/att.sensors.wav":["audio/voice/Male3/att.sensors.WAV",["voice.vl2"]],"audio/voice/male3/att.turrets.m4a":["audio/voice/Male3/att.turrets.m4a",["voice.vl2"]],"audio/voice/male3/att.turrets.wav":["audio/voice/Male3/att.turrets.WAV",["voice.vl2"]],"audio/voice/male3/att.vehicle.m4a":["audio/voice/Male3/att.vehicle.m4a",["voice.vl2"]],"audio/voice/male3/att.vehicle.wav":["audio/voice/Male3/att.vehicle.WAV",["voice.vl2"]],"audio/voice/male3/att.wait.m4a":["audio/voice/Male3/att.wait.m4a",["voice.vl2"]],"audio/voice/male3/att.wait.wav":["audio/voice/Male3/att.wait.WAV",["voice.vl2"]],"audio/voice/male3/avo.deathcry_01.m4a":["audio/voice/Male3/avo.deathcry_01.m4a",["voice.vl2"]],"audio/voice/male3/avo.deathcry_01.wav":["audio/voice/Male3/avo.deathcry_01.WAV",["voice.vl2"]],"audio/voice/male3/avo.deathcry_02.m4a":["audio/voice/Male3/avo.deathcry_02.m4a",["voice.vl2"]],"audio/voice/male3/avo.deathcry_02.wav":["audio/voice/Male3/avo.deathcry_02.WAV",["voice.vl2"]],"audio/voice/male3/avo.grunt.m4a":["audio/voice/Male3/avo.grunt.m4a",["voice.vl2"]],"audio/voice/male3/avo.grunt.wav":["audio/voice/Male3/avo.grunt.WAV",["voice.vl2"]],"audio/voice/male3/avo.pain.m4a":["audio/voice/Male3/avo.pain.m4a",["voice.vl2"]],"audio/voice/male3/avo.pain.wav":["audio/voice/Male3/avo.pain.WAV",["voice.vl2"]],"audio/voice/male3/bas.clear.m4a":["audio/voice/Male3/bas.clear.m4a",["voice.vl2"]],"audio/voice/male3/bas.clear.wav":["audio/voice/Male3/bas.clear.WAV",["voice.vl2"]],"audio/voice/male3/bas.enemy.m4a":["audio/voice/Male3/bas.enemy.m4a",["voice.vl2"]],"audio/voice/male3/bas.enemy.wav":["audio/voice/Male3/bas.enemy.WAV",["voice.vl2"]],"audio/voice/male3/bas.retake.m4a":["audio/voice/Male3/bas.retake.m4a",["voice.vl2"]],"audio/voice/male3/bas.retake.wav":["audio/voice/Male3/bas.retake.WAV",["voice.vl2"]],"audio/voice/male3/bas.secure.m4a":["audio/voice/Male3/bas.secure.m4a",["voice.vl2"]],"audio/voice/male3/bas.secure.wav":["audio/voice/Male3/bas.secure.WAV",["voice.vl2"]],"audio/voice/male3/bas.taken.m4a":["audio/voice/Male3/bas.taken.m4a",["voice.vl2"]],"audio/voice/male3/bas.taken.wav":["audio/voice/Male3/bas.taken.WAV",["voice.vl2"]],"audio/voice/male3/cmd.acknowledge.m4a":["audio/voice/Male3/cmd.acknowledge.m4a",["voice.vl2"]],"audio/voice/male3/cmd.acknowledge.wav":["audio/voice/Male3/cmd.acknowledge.WAV",["voice.vl2"]],"audio/voice/male3/cmd.bot.m4a":["audio/voice/Male3/cmd.bot.m4a",["voice.vl2"]],"audio/voice/male3/cmd.bot.wav":["audio/voice/Male3/cmd.bot.WAV",["voice.vl2"]],"audio/voice/male3/cmd.completed.m4a":["audio/voice/Male3/cmd.completed.m4a",["voice.vl2"]],"audio/voice/male3/cmd.completed.wav":["audio/voice/Male3/cmd.completed.WAV",["voice.vl2"]],"audio/voice/male3/cmd.decline.m4a":["audio/voice/Male3/cmd.decline.m4a",["voice.vl2"]],"audio/voice/male3/cmd.decline.wav":["audio/voice/Male3/cmd.decline.WAV",["voice.vl2"]],"audio/voice/male3/def.base.m4a":["audio/voice/Male3/def.base.m4a",["voice.vl2"]],"audio/voice/male3/def.base.wav":["audio/voice/Male3/def.base.WAV",["voice.vl2"]],"audio/voice/male3/def.carrier.m4a":["audio/voice/Male3/def.carrier.m4a",["voice.vl2"]],"audio/voice/male3/def.carrier.wav":["audio/voice/Male3/def.carrier.WAV",["voice.vl2"]],"audio/voice/male3/def.entrances.m4a":["audio/voice/Male3/def.entrances.m4a",["voice.vl2"]],"audio/voice/male3/def.entrances.wav":["audio/voice/Male3/def.entrances.WAV",["voice.vl2"]],"audio/voice/male3/def.flag.m4a":["audio/voice/Male3/def.flag.m4a",["voice.vl2"]],"audio/voice/male3/def.flag.wav":["audio/voice/Male3/def.flag.WAV",["voice.vl2"]],"audio/voice/male3/def.generator.m4a":["audio/voice/Male3/def.generator.m4a",["voice.vl2"]],"audio/voice/male3/def.generator.wav":["audio/voice/Male3/def.generator.WAV",["voice.vl2"]],"audio/voice/male3/def.me.m4a":["audio/voice/Male3/def.me.m4a",["voice.vl2"]],"audio/voice/male3/def.me.wav":["audio/voice/Male3/def.me.WAV",["voice.vl2"]],"audio/voice/male3/def.nexus.m4a":["audio/voice/Male3/def.nexus.m4a",["voice.vl2"]],"audio/voice/male3/def.nexus.wav":["audio/voice/Male3/def.nexus.WAV",["voice.vl2"]],"audio/voice/male3/def.objective.m4a":["audio/voice/Male3/def.objective.m4a",["voice.vl2"]],"audio/voice/male3/def.objective.wav":["audio/voice/Male3/def.objective.WAV",["voice.vl2"]],"audio/voice/male3/def.reinforce.m4a":["audio/voice/Male3/def.reinforce.m4a",["voice.vl2"]],"audio/voice/male3/def.reinforce.wav":["audio/voice/Male3/def.reinforce.WAV",["voice.vl2"]],"audio/voice/male3/def.sensors.m4a":["audio/voice/Male3/def.sensors.m4a",["voice.vl2"]],"audio/voice/male3/def.sensors.wav":["audio/voice/Male3/def.sensors.WAV",["voice.vl2"]],"audio/voice/male3/def.turrets.m4a":["audio/voice/Male3/def.turrets.m4a",["voice.vl2"]],"audio/voice/male3/def.turrets.wav":["audio/voice/Male3/def.turrets.WAV",["voice.vl2"]],"audio/voice/male3/def.vehicle.m4a":["audio/voice/Male3/def.vehicle.m4a",["voice.vl2"]],"audio/voice/male3/def.vehicle.wav":["audio/voice/Male3/def.vehicle.WAV",["voice.vl2"]],"audio/voice/male3/ene.base.m4a":["audio/voice/Male3/ene.base.m4a",["voice.vl2"]],"audio/voice/male3/ene.base.wav":["audio/voice/Male3/ene.base.WAV",["voice.vl2"]],"audio/voice/male3/ene.disarray.m4a":["audio/voice/Male3/ene.disarray.m4a",["voice.vl2"]],"audio/voice/male3/ene.disarray.wav":["audio/voice/Male3/ene.disarray.WAV",["voice.vl2"]],"audio/voice/male3/ene.generator.m4a":["audio/voice/Male3/ene.generator.m4a",["voice.vl2"]],"audio/voice/male3/ene.generator.wav":["audio/voice/Male3/ene.generator.WAV",["voice.vl2"]],"audio/voice/male3/ene.remotes.m4a":["audio/voice/Male3/ene.remotes.m4a",["voice.vl2"]],"audio/voice/male3/ene.remotes.wav":["audio/voice/Male3/ene.remotes.WAV",["voice.vl2"]],"audio/voice/male3/ene.sensors.m4a":["audio/voice/Male3/ene.sensors.m4a",["voice.vl2"]],"audio/voice/male3/ene.sensors.wav":["audio/voice/Male3/ene.sensors.WAV",["voice.vl2"]],"audio/voice/male3/ene.turrets.m4a":["audio/voice/Male3/ene.turrets.m4a",["voice.vl2"]],"audio/voice/male3/ene.turrets.wav":["audio/voice/Male3/ene.turrets.WAV",["voice.vl2"]],"audio/voice/male3/ene.vehicle.m4a":["audio/voice/Male3/ene.vehicle.m4a",["voice.vl2"]],"audio/voice/male3/ene.vehicle.wav":["audio/voice/Male3/ene.vehicle.WAV",["voice.vl2"]],"audio/voice/male3/flg.flag.m4a":["audio/voice/Male3/flg.flag.m4a",["voice.vl2"]],"audio/voice/male3/flg.flag.wav":["audio/voice/Male3/flg.flag.WAV",["voice.vl2"]],"audio/voice/male3/flg.give.m4a":["audio/voice/Male3/flg.give.m4a",["voice.vl2"]],"audio/voice/male3/flg.give.wav":["audio/voice/Male3/flg.give.WAV",["voice.vl2"]],"audio/voice/male3/flg.huntergive.m4a":["audio/voice/Male3/flg.huntergive.m4a",["voice.vl2"]],"audio/voice/male3/flg.huntergive.wav":["audio/voice/Male3/flg.huntergive.WAV",["voice.vl2"]],"audio/voice/male3/flg.huntertake.m4a":["audio/voice/Male3/flg.huntertake.m4a",["voice.vl2"]],"audio/voice/male3/flg.huntertake.wav":["audio/voice/Male3/flg.huntertake.WAV",["voice.vl2"]],"audio/voice/male3/flg.retrieve.m4a":["audio/voice/Male3/flg.retrieve.m4a",["voice.vl2"]],"audio/voice/male3/flg.retrieve.wav":["audio/voice/Male3/flg.retrieve.WAV",["voice.vl2"]],"audio/voice/male3/flg.secure.m4a":["audio/voice/Male3/flg.secure.m4a",["voice.vl2"]],"audio/voice/male3/flg.secure.wav":["audio/voice/Male3/flg.secure.WAV",["voice.vl2"]],"audio/voice/male3/flg.take.m4a":["audio/voice/Male3/flg.take.m4a",["voice.vl2"]],"audio/voice/male3/flg.take.wav":["audio/voice/Male3/flg.take.WAV",["voice.vl2"]],"audio/voice/male3/gbl.anytime.m4a":["audio/voice/Male3/gbl.anytime.m4a",["voice.vl2"]],"audio/voice/male3/gbl.anytime.wav":["audio/voice/Male3/gbl.anytime.WAV",["voice.vl2"]],"audio/voice/male3/gbl.awesome.m4a":["audio/voice/Male3/gbl.awesome.m4a",["voice.vl2"]],"audio/voice/male3/gbl.awesome.wav":["audio/voice/Male3/gbl.awesome.WAV",["voice.vl2"]],"audio/voice/male3/gbl.aww.m4a":["audio/voice/Male3/gbl.aww.m4a",["voice.vl2"]],"audio/voice/male3/gbl.aww.wav":["audio/voice/Male3/gbl.aww.WAV",["voice.vl2"]],"audio/voice/male3/gbl.brag.m4a":["audio/voice/Male3/gbl.brag.m4a",["voice.vl2"]],"audio/voice/male3/gbl.brag.wav":["audio/voice/Male3/gbl.brag.WAV",["voice.vl2"]],"audio/voice/male3/gbl.bye.m4a":["audio/voice/Male3/gbl.bye.m4a",["voice.vl2"]],"audio/voice/male3/gbl.bye.wav":["audio/voice/Male3/gbl.bye.WAV",["voice.vl2"]],"audio/voice/male3/gbl.dunno.m4a":["audio/voice/Male3/gbl.dunno.m4a",["voice.vl2"]],"audio/voice/male3/gbl.dunno.wav":["audio/voice/Male3/gbl.dunno.WAV",["voice.vl2"]],"audio/voice/male3/gbl.goodgame.m4a":["audio/voice/Male3/gbl.goodgame.m4a",["voice.vl2"]],"audio/voice/male3/gbl.goodgame.wav":["audio/voice/Male3/gbl.goodgame.WAV",["voice.vl2"]],"audio/voice/male3/gbl.hi.m4a":["audio/voice/Male3/gbl.hi.m4a",["voice.vl2"]],"audio/voice/male3/gbl.hi.wav":["audio/voice/Male3/gbl.hi.WAV",["voice.vl2"]],"audio/voice/male3/gbl.nice.m4a":["audio/voice/Male3/gbl.nice.m4a",["voice.vl2"]],"audio/voice/male3/gbl.nice.wav":["audio/voice/Male3/gbl.nice.WAV",["voice.vl2"]],"audio/voice/male3/gbl.no.m4a":["audio/voice/Male3/gbl.no.m4a",["voice.vl2"]],"audio/voice/male3/gbl.no.wav":["audio/voice/Male3/gbl.no.WAV",["voice.vl2"]],"audio/voice/male3/gbl.obnoxious.m4a":["audio/voice/Male3/gbl.obnoxious.m4a",["voice.vl2"]],"audio/voice/male3/gbl.obnoxious.wav":["audio/voice/Male3/gbl.obnoxious.WAV",["voice.vl2"]],"audio/voice/male3/gbl.oops.m4a":["audio/voice/Male3/gbl.oops.m4a",["voice.vl2"]],"audio/voice/male3/gbl.oops.wav":["audio/voice/Male3/gbl.oops.WAV",["voice.vl2"]],"audio/voice/male3/gbl.quiet.m4a":["audio/voice/Male3/gbl.quiet.m4a",["voice.vl2"]],"audio/voice/male3/gbl.quiet.wav":["audio/voice/Male3/gbl.quiet.WAV",["voice.vl2"]],"audio/voice/male3/gbl.rock.m4a":["audio/voice/Male3/gbl.rock.m4a",["voice.vl2"]],"audio/voice/male3/gbl.rock.wav":["audio/voice/Male3/gbl.rock.WAV",["voice.vl2"]],"audio/voice/male3/gbl.sarcasm.m4a":["audio/voice/Male3/gbl.sarcasm.m4a",["voice.vl2"]],"audio/voice/male3/gbl.sarcasm.wav":["audio/voice/Male3/gbl.sarcasm.WAV",["voice.vl2"]],"audio/voice/male3/gbl.shazbot.m4a":["audio/voice/Male3/gbl.shazbot.m4a",["voice.vl2"]],"audio/voice/male3/gbl.shazbot.wav":["audio/voice/Male3/gbl.shazbot.WAV",["voice.vl2"]],"audio/voice/male3/gbl.shooting.m4a":["audio/voice/Male3/gbl.shooting.m4a",["voice.vl2"]],"audio/voice/male3/gbl.shooting.wav":["audio/voice/Male3/gbl.shooting.WAV",["voice.vl2"]],"audio/voice/male3/gbl.thanks.m4a":["audio/voice/Male3/gbl.thanks.m4a",["voice.vl2"]],"audio/voice/male3/gbl.thanks.wav":["audio/voice/Male3/gbl.thanks.WAV",["voice.vl2"]],"audio/voice/male3/gbl.wait.m4a":["audio/voice/Male3/gbl.wait.m4a",["voice.vl2"]],"audio/voice/male3/gbl.wait.wav":["audio/voice/Male3/gbl.wait.WAV",["voice.vl2"]],"audio/voice/male3/gbl.when.m4a":["audio/voice/Male3/gbl.when.m4a",["voice.vl2"]],"audio/voice/male3/gbl.when.wav":["audio/voice/Male3/gbl.when.WAV",["voice.vl2"]],"audio/voice/male3/gbl.woohoo.m4a":["audio/voice/Male3/gbl.woohoo.m4a",["voice.vl2"]],"audio/voice/male3/gbl.woohoo.wav":["audio/voice/Male3/gbl.woohoo.WAV",["voice.vl2"]],"audio/voice/male3/gbl.yes.m4a":["audio/voice/Male3/gbl.yes.m4a",["voice.vl2"]],"audio/voice/male3/gbl.yes.wav":["audio/voice/Male3/gbl.yes.WAV",["voice.vl2"]],"audio/voice/male3/need.bombardier.m4a":["audio/voice/Male3/need.bombardier.m4a",["voice.vl2"]],"audio/voice/male3/need.bombardier.wav":["audio/voice/Male3/need.bombardier.WAV",["voice.vl2"]],"audio/voice/male3/need.cover.m4a":["audio/voice/Male3/need.cover.m4a",["voice.vl2"]],"audio/voice/male3/need.cover.wav":["audio/voice/Male3/need.cover.WAV",["voice.vl2"]],"audio/voice/male3/need.driver.m4a":["audio/voice/Male3/need.driver.m4a",["voice.vl2"]],"audio/voice/male3/need.driver.wav":["audio/voice/Male3/need.driver.WAV",["voice.vl2"]],"audio/voice/male3/need.escort.m4a":["audio/voice/Male3/need.escort.m4a",["voice.vl2"]],"audio/voice/male3/need.escort.wav":["audio/voice/Male3/need.escort.WAV",["voice.vl2"]],"audio/voice/male3/need.flyer.m4a":["audio/voice/Male3/need.flyer.m4a",["voice.vl2"]],"audio/voice/male3/need.flyer.wav":["audio/voice/Male3/need.flyer.WAV",["voice.vl2"]],"audio/voice/male3/need.gunship.m4a":["audio/voice/Male3/need.gunship.m4a",["voice.vl2"]],"audio/voice/male3/need.gunship.wav":["audio/voice/Male3/need.gunship.WAV",["voice.vl2"]],"audio/voice/male3/need.hold.m4a":["audio/voice/Male3/need.hold.m4a",["voice.vl2"]],"audio/voice/male3/need.hold.wav":["audio/voice/Male3/need.hold.WAV",["voice.vl2"]],"audio/voice/male3/need.ride.m4a":["audio/voice/Male3/need.ride.m4a",["voice.vl2"]],"audio/voice/male3/need.ride.wav":["audio/voice/Male3/need.ride.WAV",["voice.vl2"]],"audio/voice/male3/need.support.m4a":["audio/voice/Male3/need.support.m4a",["voice.vl2"]],"audio/voice/male3/need.support.wav":["audio/voice/Male3/need.support.WAV",["voice.vl2"]],"audio/voice/male3/need.tailgunner.m4a":["audio/voice/Male3/need.tailgunner.m4a",["voice.vl2"]],"audio/voice/male3/need.tailgunner.wav":["audio/voice/Male3/need.tailgunner.WAV",["voice.vl2"]],"audio/voice/male3/need.where.m4a":["audio/voice/Male3/need.where.m4a",["voice.vl2"]],"audio/voice/male3/need.where.wav":["audio/voice/Male3/need.where.WAV",["voice.vl2"]],"audio/voice/male3/rep.base.m4a":["audio/voice/Male3/rep.base.m4a",["voice.vl2"]],"audio/voice/male3/rep.base.wav":["audio/voice/Male3/rep.base.WAV",["voice.vl2"]],"audio/voice/male3/rep.generator.m4a":["audio/voice/Male3/rep.generator.m4a",["voice.vl2"]],"audio/voice/male3/rep.generator.wav":["audio/voice/Male3/rep.generator.WAV",["voice.vl2"]],"audio/voice/male3/rep.me.m4a":["audio/voice/Male3/rep.me.m4a",["voice.vl2"]],"audio/voice/male3/rep.me.wav":["audio/voice/Male3/rep.me.WAV",["voice.vl2"]],"audio/voice/male3/rep.sensors.m4a":["audio/voice/Male3/rep.sensors.m4a",["voice.vl2"]],"audio/voice/male3/rep.sensors.wav":["audio/voice/Male3/rep.sensors.WAV",["voice.vl2"]],"audio/voice/male3/rep.turrets.m4a":["audio/voice/Male3/rep.turrets.m4a",["voice.vl2"]],"audio/voice/male3/rep.turrets.wav":["audio/voice/Male3/rep.turrets.WAV",["voice.vl2"]],"audio/voice/male3/rep.vehicle.m4a":["audio/voice/Male3/rep.vehicle.m4a",["voice.vl2"]],"audio/voice/male3/rep.vehicle.wav":["audio/voice/Male3/rep.vehicle.WAV",["voice.vl2"]],"audio/voice/male3/slf.att.attack.m4a":["audio/voice/Male3/slf.att.attack.m4a",["voice.vl2"]],"audio/voice/male3/slf.att.attack.wav":["audio/voice/Male3/slf.att.attack.WAV",["voice.vl2"]],"audio/voice/male3/slf.att.base.m4a":["audio/voice/Male3/slf.att.base.m4a",["voice.vl2"]],"audio/voice/male3/slf.att.base.wav":["audio/voice/Male3/slf.att.base.WAV",["voice.vl2"]],"audio/voice/male3/slf.att.flag.m4a":["audio/voice/Male3/slf.att.flag.m4a",["voice.vl2"]],"audio/voice/male3/slf.att.flag.wav":["audio/voice/Male3/slf.att.flag.WAV",["voice.vl2"]],"audio/voice/male3/slf.att.generator.m4a":["audio/voice/Male3/slf.att.generator.m4a",["voice.vl2"]],"audio/voice/male3/slf.att.generator.wav":["audio/voice/Male3/slf.att.generator.WAV",["voice.vl2"]],"audio/voice/male3/slf.att.sensors.m4a":["audio/voice/Male3/slf.att.sensors.m4a",["voice.vl2"]],"audio/voice/male3/slf.att.sensors.wav":["audio/voice/Male3/slf.att.sensors.WAV",["voice.vl2"]],"audio/voice/male3/slf.att.turrets.m4a":["audio/voice/Male3/slf.att.turrets.m4a",["voice.vl2"]],"audio/voice/male3/slf.att.turrets.wav":["audio/voice/Male3/slf.att.turrets.WAV",["voice.vl2"]],"audio/voice/male3/slf.att.vehicle.m4a":["audio/voice/Male3/slf.att.vehicle.m4a",["voice.vl2"]],"audio/voice/male3/slf.att.vehicle.wav":["audio/voice/Male3/slf.att.vehicle.WAV",["voice.vl2"]],"audio/voice/male3/slf.def.base.m4a":["audio/voice/Male3/slf.def.base.m4a",["voice.vl2"]],"audio/voice/male3/slf.def.base.wav":["audio/voice/Male3/slf.def.base.WAV",["voice.vl2"]],"audio/voice/male3/slf.def.defend.m4a":["audio/voice/Male3/slf.def.defend.m4a",["voice.vl2"]],"audio/voice/male3/slf.def.defend.wav":["audio/voice/Male3/slf.def.defend.WAV",["voice.vl2"]],"audio/voice/male3/slf.def.flag.m4a":["audio/voice/Male3/slf.def.flag.m4a",["voice.vl2"]],"audio/voice/male3/slf.def.flag.wav":["audio/voice/Male3/slf.def.flag.WAV",["voice.vl2"]],"audio/voice/male3/slf.def.generator.m4a":["audio/voice/Male3/slf.def.generator.m4a",["voice.vl2"]],"audio/voice/male3/slf.def.generator.wav":["audio/voice/Male3/slf.def.generator.WAV",["voice.vl2"]],"audio/voice/male3/slf.def.nexus.m4a":["audio/voice/Male3/slf.def.nexus.m4a",["voice.vl2"]],"audio/voice/male3/slf.def.nexus.wav":["audio/voice/Male3/slf.def.nexus.WAV",["voice.vl2"]],"audio/voice/male3/slf.def.sensors.m4a":["audio/voice/Male3/slf.def.sensors.m4a",["voice.vl2"]],"audio/voice/male3/slf.def.sensors.wav":["audio/voice/Male3/slf.def.sensors.WAV",["voice.vl2"]],"audio/voice/male3/slf.def.turrets.m4a":["audio/voice/Male3/slf.def.turrets.m4a",["voice.vl2"]],"audio/voice/male3/slf.def.turrets.wav":["audio/voice/Male3/slf.def.turrets.WAV",["voice.vl2"]],"audio/voice/male3/slf.def.vehicle.m4a":["audio/voice/Male3/slf.def.vehicle.m4a",["voice.vl2"]],"audio/voice/male3/slf.def.vehicle.wav":["audio/voice/Male3/slf.def.vehicle.WAV",["voice.vl2"]],"audio/voice/male3/slf.rep.base.m4a":["audio/voice/Male3/slf.rep.base.m4a",["voice.vl2"]],"audio/voice/male3/slf.rep.base.wav":["audio/voice/Male3/slf.rep.base.WAV",["voice.vl2"]],"audio/voice/male3/slf.rep.equipment.m4a":["audio/voice/Male3/slf.rep.equipment.m4a",["voice.vl2"]],"audio/voice/male3/slf.rep.equipment.wav":["audio/voice/Male3/slf.rep.equipment.WAV",["voice.vl2"]],"audio/voice/male3/slf.rep.generator.m4a":["audio/voice/Male3/slf.rep.generator.m4a",["voice.vl2"]],"audio/voice/male3/slf.rep.generator.wav":["audio/voice/Male3/slf.rep.generator.WAV",["voice.vl2"]],"audio/voice/male3/slf.rep.repairing.m4a":["audio/voice/Male3/slf.rep.repairing.m4a",["voice.vl2"]],"audio/voice/male3/slf.rep.repairing.wav":["audio/voice/Male3/slf.rep.repairing.WAV",["voice.vl2"]],"audio/voice/male3/slf.rep.sensors.m4a":["audio/voice/Male3/slf.rep.sensors.m4a",["voice.vl2"]],"audio/voice/male3/slf.rep.sensors.wav":["audio/voice/Male3/slf.rep.sensors.WAV",["voice.vl2"]],"audio/voice/male3/slf.rep.turrets.m4a":["audio/voice/Male3/slf.rep.turrets.m4a",["voice.vl2"]],"audio/voice/male3/slf.rep.turrets.wav":["audio/voice/Male3/slf.rep.turrets.WAV",["voice.vl2"]],"audio/voice/male3/slf.rep.vehicle.m4a":["audio/voice/Male3/slf.rep.vehicle.m4a",["voice.vl2"]],"audio/voice/male3/slf.rep.vehicle.wav":["audio/voice/Male3/slf.rep.vehicle.WAV",["voice.vl2"]],"audio/voice/male3/slf.tsk.cover.m4a":["audio/voice/Male3/slf.tsk.cover.m4a",["voice.vl2"]],"audio/voice/male3/slf.tsk.cover.wav":["audio/voice/Male3/slf.tsk.cover.WAV",["voice.vl2"]],"audio/voice/male3/slf.tsk.defense.m4a":["audio/voice/Male3/slf.tsk.defense.m4a",["voice.vl2"]],"audio/voice/male3/slf.tsk.defense.wav":["audio/voice/Male3/slf.tsk.defense.WAV",["voice.vl2"]],"audio/voice/male3/slf.tsk.generic.m4a":["audio/voice/Male3/slf.tsk.generic.m4a",["voice.vl2"]],"audio/voice/male3/slf.tsk.generic.wav":["audio/voice/Male3/slf.tsk.generic.WAV",["voice.vl2"]],"audio/voice/male3/slf.tsk.remotes.m4a":["audio/voice/Male3/slf.tsk.remotes.m4a",["voice.vl2"]],"audio/voice/male3/slf.tsk.remotes.wav":["audio/voice/Male3/slf.tsk.remotes.WAV",["voice.vl2"]],"audio/voice/male3/slf.tsk.sensors.m4a":["audio/voice/Male3/slf.tsk.sensors.m4a",["voice.vl2"]],"audio/voice/male3/slf.tsk.sensors.wav":["audio/voice/Male3/slf.tsk.sensors.WAV",["voice.vl2"]],"audio/voice/male3/slf.tsk.turrets.m4a":["audio/voice/Male3/slf.tsk.turrets.m4a",["voice.vl2"]],"audio/voice/male3/slf.tsk.turrets.wav":["audio/voice/Male3/slf.tsk.turrets.WAV",["voice.vl2"]],"audio/voice/male3/slf.tsk.vehicle.m4a":["audio/voice/Male3/slf.tsk.vehicle.m4a",["voice.vl2"]],"audio/voice/male3/slf.tsk.vehicle.wav":["audio/voice/Male3/slf.tsk.vehicle.WAV",["voice.vl2"]],"audio/voice/male3/tgt.acquired.m4a":["audio/voice/Male3/tgt.acquired.m4a",["voice.vl2"]],"audio/voice/male3/tgt.acquired.wav":["audio/voice/Male3/tgt.acquired.WAV",["voice.vl2"]],"audio/voice/male3/tgt.base.m4a":["audio/voice/Male3/tgt.base.m4a",["voice.vl2"]],"audio/voice/male3/tgt.base.wav":["audio/voice/Male3/tgt.base.WAV",["voice.vl2"]],"audio/voice/male3/tgt.destroyed.m4a":["audio/voice/Male3/tgt.destroyed.m4a",["voice.vl2"]],"audio/voice/male3/tgt.destroyed.wav":["audio/voice/Male3/tgt.destroyed.WAV",["voice.vl2"]],"audio/voice/male3/tgt.flag.m4a":["audio/voice/Male3/tgt.flag.m4a",["voice.vl2"]],"audio/voice/male3/tgt.flag.wav":["audio/voice/Male3/tgt.flag.WAV",["voice.vl2"]],"audio/voice/male3/tgt.my.m4a":["audio/voice/Male3/tgt.my.m4a",["voice.vl2"]],"audio/voice/male3/tgt.my.wav":["audio/voice/Male3/tgt.my.WAV",["voice.vl2"]],"audio/voice/male3/tgt.need.m4a":["audio/voice/Male3/tgt.need.m4a",["voice.vl2"]],"audio/voice/male3/tgt.need.wav":["audio/voice/Male3/tgt.need.WAV",["voice.vl2"]],"audio/voice/male3/tgt.sensors.m4a":["audio/voice/Male3/tgt.sensors.m4a",["voice.vl2"]],"audio/voice/male3/tgt.sensors.wav":["audio/voice/Male3/tgt.sensors.WAV",["voice.vl2"]],"audio/voice/male3/tgt.turret.m4a":["audio/voice/Male3/tgt.turret.m4a",["voice.vl2"]],"audio/voice/male3/tgt.turret.wav":["audio/voice/Male3/tgt.turret.WAV",["voice.vl2"]],"audio/voice/male3/tgt.wait.m4a":["audio/voice/Male3/tgt.wait.m4a",["voice.vl2"]],"audio/voice/male3/tgt.wait.wav":["audio/voice/Male3/tgt.wait.WAV",["voice.vl2"]],"audio/voice/male3/vqk.anytime.m4a":["audio/voice/Male3/vqk.anytime.m4a",["voice.vl2"]],"audio/voice/male3/vqk.anytime.wav":["audio/voice/Male3/vqk.anytime.WAV",["voice.vl2"]],"audio/voice/male3/vqk.base.m4a":["audio/voice/Male3/vqk.base.m4a",["voice.vl2"]],"audio/voice/male3/vqk.base.wav":["audio/voice/Male3/vqk.base.WAV",["voice.vl2"]],"audio/voice/male3/vqk.ceasefire.m4a":["audio/voice/Male3/vqk.ceasefire.m4a",["voice.vl2"]],"audio/voice/male3/vqk.ceasefire.wav":["audio/voice/Male3/vqk.ceasefire.WAV",["voice.vl2"]],"audio/voice/male3/vqk.dunno.m4a":["audio/voice/Male3/vqk.dunno.m4a",["voice.vl2"]],"audio/voice/male3/vqk.dunno.wav":["audio/voice/Male3/vqk.dunno.WAV",["voice.vl2"]],"audio/voice/male3/vqk.help.m4a":["audio/voice/Male3/vqk.help.m4a",["voice.vl2"]],"audio/voice/male3/vqk.help.wav":["audio/voice/Male3/vqk.help.WAV",["voice.vl2"]],"audio/voice/male3/vqk.move.m4a":["audio/voice/Male3/vqk.move.m4a",["voice.vl2"]],"audio/voice/male3/vqk.move.wav":["audio/voice/Male3/vqk.move.WAV",["voice.vl2"]],"audio/voice/male3/vqk.no.m4a":["audio/voice/Male3/vqk.no.m4a",["voice.vl2"]],"audio/voice/male3/vqk.no.wav":["audio/voice/Male3/vqk.no.WAV",["voice.vl2"]],"audio/voice/male3/vqk.quiet.m4a":["audio/voice/Male3/vqk.quiet.m4a",["voice.vl2"]],"audio/voice/male3/vqk.quiet.wav":["audio/voice/Male3/vqk.quiet.WAV",["voice.vl2"]],"audio/voice/male3/vqk.sorry.m4a":["audio/voice/Male3/vqk.sorry.m4a",["voice.vl2"]],"audio/voice/male3/vqk.sorry.wav":["audio/voice/Male3/vqk.sorry.WAV",["voice.vl2"]],"audio/voice/male3/vqk.thanks.m4a":["audio/voice/Male3/vqk.thanks.m4a",["voice.vl2"]],"audio/voice/male3/vqk.thanks.wav":["audio/voice/Male3/vqk.thanks.WAV",["voice.vl2"]],"audio/voice/male3/vqk.wait.m4a":["audio/voice/Male3/vqk.wait.m4a",["voice.vl2"]],"audio/voice/male3/vqk.wait.wav":["audio/voice/Male3/vqk.wait.WAV",["voice.vl2"]],"audio/voice/male3/vqk.yes.m4a":["audio/voice/Male3/vqk.yes.m4a",["voice.vl2"]],"audio/voice/male3/vqk.yes.wav":["audio/voice/Male3/vqk.yes.WAV",["voice.vl2"]],"audio/voice/male3/wrn.bomber.m4a":["audio/voice/Male3/wrn.bomber.m4a",["voice.vl2"]],"audio/voice/male3/wrn.bomber.wav":["audio/voice/Male3/wrn.bomber.WAV",["voice.vl2"]],"audio/voice/male3/wrn.enemy.m4a":["audio/voice/Male3/wrn.enemy.m4a",["voice.vl2"]],"audio/voice/male3/wrn.enemy.wav":["audio/voice/Male3/wrn.enemy.WAV",["voice.vl2"]],"audio/voice/male3/wrn.vehicles.m4a":["audio/voice/Male3/wrn.vehicles.m4a",["voice.vl2"]],"audio/voice/male3/wrn.vehicles.wav":["audio/voice/Male3/wrn.vehicles.WAV",["voice.vl2"]],"audio/voice/male3/wrn.watchit.m4a":["audio/voice/Male3/wrn.watchit.m4a",["voice.vl2"]],"audio/voice/male3/wrn.watchit.wav":["audio/voice/Male3/wrn.watchit.WAV",["voice.vl2"]],"audio/voice/male4/att.attack.m4a":["audio/voice/Male4/att.attack.m4a",["voice.vl2"]],"audio/voice/male4/att.attack.wav":["audio/voice/Male4/att.attack.WAV",["voice.vl2"]],"audio/voice/male4/att.base.m4a":["audio/voice/Male4/att.base.m4a",["voice.vl2"]],"audio/voice/male4/att.base.wav":["audio/voice/Male4/att.base.WAV",["voice.vl2"]],"audio/voice/male4/att.chase.m4a":["audio/voice/Male4/att.chase.m4a",["voice.vl2"]],"audio/voice/male4/att.chase.wav":["audio/voice/Male4/att.chase.WAV",["voice.vl2"]],"audio/voice/male4/att.distract.m4a":["audio/voice/Male4/att.distract.m4a",["voice.vl2"]],"audio/voice/male4/att.distract.wav":["audio/voice/Male4/att.distract.WAV",["voice.vl2"]],"audio/voice/male4/att.flag.m4a":["audio/voice/Male4/att.flag.m4a",["voice.vl2"]],"audio/voice/male4/att.flag.wav":["audio/voice/Male4/att.flag.WAV",["voice.vl2"]],"audio/voice/male4/att.generator.m4a":["audio/voice/Male4/att.generator.m4a",["voice.vl2"]],"audio/voice/male4/att.generator.wav":["audio/voice/Male4/att.generator.WAV",["voice.vl2"]],"audio/voice/male4/att.objective.m4a":["audio/voice/Male4/att.objective.m4a",["voice.vl2"]],"audio/voice/male4/att.objective.wav":["audio/voice/Male4/att.objective.WAV",["voice.vl2"]],"audio/voice/male4/att.reinforcements.m4a":["audio/voice/Male4/att.reinforcements.m4a",["voice.vl2"]],"audio/voice/male4/att.reinforcements.wav":["audio/voice/Male4/att.reinforcements.WAV",["voice.vl2"]],"audio/voice/male4/att.sensors.m4a":["audio/voice/Male4/att.sensors.m4a",["voice.vl2"]],"audio/voice/male4/att.sensors.wav":["audio/voice/Male4/att.sensors.WAV",["voice.vl2"]],"audio/voice/male4/att.turrets.m4a":["audio/voice/Male4/att.turrets.m4a",["voice.vl2"]],"audio/voice/male4/att.turrets.wav":["audio/voice/Male4/att.turrets.WAV",["voice.vl2"]],"audio/voice/male4/att.vehicle.m4a":["audio/voice/Male4/att.vehicle.m4a",["voice.vl2"]],"audio/voice/male4/att.vehicle.wav":["audio/voice/Male4/att.vehicle.WAV",["voice.vl2"]],"audio/voice/male4/att.wait.m4a":["audio/voice/Male4/att.wait.m4a",["voice.vl2"]],"audio/voice/male4/att.wait.wav":["audio/voice/Male4/att.wait.WAV",["voice.vl2"]],"audio/voice/male4/avo.deathcry_01.m4a":["audio/voice/Male4/avo.deathcry_01.m4a",["voice.vl2"]],"audio/voice/male4/avo.deathcry_01.wav":["audio/voice/Male4/avo.deathcry_01.WAV",["voice.vl2"]],"audio/voice/male4/avo.deathcry_02.m4a":["audio/voice/Male4/avo.deathcry_02.m4a",["voice.vl2"]],"audio/voice/male4/avo.deathcry_02.wav":["audio/voice/Male4/avo.deathcry_02.WAV",["voice.vl2"]],"audio/voice/male4/avo.grunt.m4a":["audio/voice/Male4/avo.grunt.m4a",["voice.vl2"]],"audio/voice/male4/avo.grunt.wav":["audio/voice/Male4/avo.grunt.WAV",["voice.vl2"]],"audio/voice/male4/avo.pain.m4a":["audio/voice/Male4/avo.pain.m4a",["voice.vl2"]],"audio/voice/male4/avo.pain.wav":["audio/voice/Male4/avo.pain.WAV",["voice.vl2"]],"audio/voice/male4/bas.clear.m4a":["audio/voice/Male4/bas.clear.m4a",["voice.vl2"]],"audio/voice/male4/bas.clear.wav":["audio/voice/Male4/bas.clear.WAV",["voice.vl2"]],"audio/voice/male4/bas.enemy.m4a":["audio/voice/Male4/bas.enemy.m4a",["voice.vl2"]],"audio/voice/male4/bas.enemy.wav":["audio/voice/Male4/bas.enemy.WAV",["voice.vl2"]],"audio/voice/male4/bas.retake.m4a":["audio/voice/Male4/bas.retake.m4a",["voice.vl2"]],"audio/voice/male4/bas.retake.wav":["audio/voice/Male4/bas.retake.WAV",["voice.vl2"]],"audio/voice/male4/bas.secure.m4a":["audio/voice/Male4/bas.secure.m4a",["voice.vl2"]],"audio/voice/male4/bas.secure.wav":["audio/voice/Male4/bas.secure.WAV",["voice.vl2"]],"audio/voice/male4/bas.taken.m4a":["audio/voice/Male4/bas.taken.m4a",["voice.vl2"]],"audio/voice/male4/bas.taken.wav":["audio/voice/Male4/bas.taken.WAV",["voice.vl2"]],"audio/voice/male4/cmd.acknowledge.m4a":["audio/voice/Male4/cmd.acknowledge.m4a",["voice.vl2"]],"audio/voice/male4/cmd.acknowledge.wav":["audio/voice/Male4/cmd.acknowledge.WAV",["voice.vl2"]],"audio/voice/male4/cmd.bot.m4a":["audio/voice/Male4/cmd.bot.m4a",["voice.vl2"]],"audio/voice/male4/cmd.bot.wav":["audio/voice/Male4/cmd.bot.WAV",["voice.vl2"]],"audio/voice/male4/cmd.completed.m4a":["audio/voice/Male4/cmd.completed.m4a",["voice.vl2"]],"audio/voice/male4/cmd.completed.wav":["audio/voice/Male4/cmd.completed.WAV",["voice.vl2"]],"audio/voice/male4/cmd.decline.m4a":["audio/voice/Male4/cmd.decline.m4a",["voice.vl2"]],"audio/voice/male4/cmd.decline.wav":["audio/voice/Male4/cmd.decline.WAV",["voice.vl2"]],"audio/voice/male4/def.base.m4a":["audio/voice/Male4/def.base.m4a",["voice.vl2"]],"audio/voice/male4/def.base.wav":["audio/voice/Male4/def.base.WAV",["voice.vl2"]],"audio/voice/male4/def.carrier.m4a":["audio/voice/Male4/def.carrier.m4a",["voice.vl2"]],"audio/voice/male4/def.carrier.wav":["audio/voice/Male4/def.carrier.WAV",["voice.vl2"]],"audio/voice/male4/def.entrances.m4a":["audio/voice/Male4/def.entrances.m4a",["voice.vl2"]],"audio/voice/male4/def.entrances.wav":["audio/voice/Male4/def.entrances.WAV",["voice.vl2"]],"audio/voice/male4/def.flag.m4a":["audio/voice/Male4/def.flag.m4a",["voice.vl2"]],"audio/voice/male4/def.flag.wav":["audio/voice/Male4/def.flag.WAV",["voice.vl2"]],"audio/voice/male4/def.generator.m4a":["audio/voice/Male4/def.generator.m4a",["voice.vl2"]],"audio/voice/male4/def.generator.wav":["audio/voice/Male4/def.generator.WAV",["voice.vl2"]],"audio/voice/male4/def.me.m4a":["audio/voice/Male4/def.me.m4a",["voice.vl2"]],"audio/voice/male4/def.me.wav":["audio/voice/Male4/def.me.WAV",["voice.vl2"]],"audio/voice/male4/def.nexus.m4a":["audio/voice/Male4/def.nexus.m4a",["voice.vl2"]],"audio/voice/male4/def.nexus.wav":["audio/voice/Male4/def.nexus.WAV",["voice.vl2"]],"audio/voice/male4/def.objective.m4a":["audio/voice/Male4/def.objective.m4a",["voice.vl2"]],"audio/voice/male4/def.objective.wav":["audio/voice/Male4/def.objective.WAV",["voice.vl2"]],"audio/voice/male4/def.reinforce.m4a":["audio/voice/Male4/def.reinforce.m4a",["voice.vl2"]],"audio/voice/male4/def.reinforce.wav":["audio/voice/Male4/def.reinforce.WAV",["voice.vl2"]],"audio/voice/male4/def.sensors.m4a":["audio/voice/Male4/def.sensors.m4a",["voice.vl2"]],"audio/voice/male4/def.sensors.wav":["audio/voice/Male4/def.sensors.WAV",["voice.vl2"]],"audio/voice/male4/def.turrets.m4a":["audio/voice/Male4/def.turrets.m4a",["voice.vl2"]],"audio/voice/male4/def.turrets.wav":["audio/voice/Male4/def.turrets.WAV",["voice.vl2"]],"audio/voice/male4/def.vehicle.m4a":["audio/voice/Male4/def.vehicle.m4a",["voice.vl2"]],"audio/voice/male4/def.vehicle.wav":["audio/voice/Male4/def.vehicle.WAV",["voice.vl2"]],"audio/voice/male4/ene.base.m4a":["audio/voice/Male4/ene.base.m4a",["voice.vl2"]],"audio/voice/male4/ene.base.wav":["audio/voice/Male4/ene.base.WAV",["voice.vl2"]],"audio/voice/male4/ene.disarray.m4a":["audio/voice/Male4/ene.disarray.m4a",["voice.vl2"]],"audio/voice/male4/ene.disarray.wav":["audio/voice/Male4/ene.disarray.WAV",["voice.vl2"]],"audio/voice/male4/ene.generator.m4a":["audio/voice/Male4/ene.generator.m4a",["voice.vl2"]],"audio/voice/male4/ene.generator.wav":["audio/voice/Male4/ene.generator.WAV",["voice.vl2"]],"audio/voice/male4/ene.remotes.m4a":["audio/voice/Male4/ene.remotes.m4a",["voice.vl2"]],"audio/voice/male4/ene.remotes.wav":["audio/voice/Male4/ene.remotes.WAV",["voice.vl2"]],"audio/voice/male4/ene.sensors.m4a":["audio/voice/Male4/ene.sensors.m4a",["voice.vl2"]],"audio/voice/male4/ene.sensors.wav":["audio/voice/Male4/ene.sensors.WAV",["voice.vl2"]],"audio/voice/male4/ene.turrets.m4a":["audio/voice/Male4/ene.turrets.m4a",["voice.vl2"]],"audio/voice/male4/ene.turrets.wav":["audio/voice/Male4/ene.turrets.WAV",["voice.vl2"]],"audio/voice/male4/ene.vehicle.m4a":["audio/voice/Male4/ene.vehicle.m4a",["voice.vl2"]],"audio/voice/male4/ene.vehicle.wav":["audio/voice/Male4/ene.vehicle.WAV",["voice.vl2"]],"audio/voice/male4/flg.flag.m4a":["audio/voice/Male4/flg.flag.m4a",["voice.vl2"]],"audio/voice/male4/flg.flag.wav":["audio/voice/Male4/flg.flag.WAV",["voice.vl2"]],"audio/voice/male4/flg.give.m4a":["audio/voice/Male4/flg.give.m4a",["voice.vl2"]],"audio/voice/male4/flg.give.wav":["audio/voice/Male4/flg.give.WAV",["voice.vl2"]],"audio/voice/male4/flg.huntergive.m4a":["audio/voice/Male4/flg.huntergive.m4a",["voice.vl2"]],"audio/voice/male4/flg.huntergive.wav":["audio/voice/Male4/flg.huntergive.WAV",["voice.vl2"]],"audio/voice/male4/flg.huntertake.m4a":["audio/voice/Male4/flg.huntertake.m4a",["voice.vl2"]],"audio/voice/male4/flg.huntertake.wav":["audio/voice/Male4/flg.huntertake.WAV",["voice.vl2"]],"audio/voice/male4/flg.retrieve.m4a":["audio/voice/Male4/flg.retrieve.m4a",["voice.vl2"]],"audio/voice/male4/flg.retrieve.wav":["audio/voice/Male4/flg.retrieve.WAV",["voice.vl2"]],"audio/voice/male4/flg.secure.m4a":["audio/voice/Male4/flg.secure.m4a",["voice.vl2"]],"audio/voice/male4/flg.secure.wav":["audio/voice/Male4/flg.secure.WAV",["voice.vl2"]],"audio/voice/male4/flg.take.m4a":["audio/voice/Male4/flg.take.m4a",["voice.vl2"]],"audio/voice/male4/flg.take.wav":["audio/voice/Male4/flg.take.WAV",["voice.vl2"]],"audio/voice/male4/gbl.anytime.m4a":["audio/voice/Male4/gbl.anytime.m4a",["voice.vl2"]],"audio/voice/male4/gbl.anytime.wav":["audio/voice/Male4/gbl.anytime.WAV",["voice.vl2"]],"audio/voice/male4/gbl.awesome.m4a":["audio/voice/Male4/gbl.awesome.m4a",["voice.vl2"]],"audio/voice/male4/gbl.awesome.wav":["audio/voice/Male4/gbl.awesome.WAV",["voice.vl2"]],"audio/voice/male4/gbl.aww.m4a":["audio/voice/Male4/gbl.aww.m4a",["voice.vl2"]],"audio/voice/male4/gbl.aww.wav":["audio/voice/Male4/gbl.aww.WAV",["voice.vl2"]],"audio/voice/male4/gbl.brag.m4a":["audio/voice/Male4/gbl.brag.m4a",["voice.vl2"]],"audio/voice/male4/gbl.brag.wav":["audio/voice/Male4/gbl.brag.WAV",["voice.vl2"]],"audio/voice/male4/gbl.bye.m4a":["audio/voice/Male4/gbl.bye.m4a",["voice.vl2"]],"audio/voice/male4/gbl.bye.wav":["audio/voice/Male4/gbl.bye.WAV",["voice.vl2"]],"audio/voice/male4/gbl.dunno.m4a":["audio/voice/Male4/gbl.dunno.m4a",["voice.vl2"]],"audio/voice/male4/gbl.dunno.wav":["audio/voice/Male4/gbl.dunno.WAV",["voice.vl2"]],"audio/voice/male4/gbl.goodgame.m4a":["audio/voice/Male4/gbl.goodgame.m4a",["voice.vl2"]],"audio/voice/male4/gbl.goodgame.wav":["audio/voice/Male4/gbl.goodgame.WAV",["voice.vl2"]],"audio/voice/male4/gbl.hi.m4a":["audio/voice/Male4/gbl.hi.m4a",["voice.vl2"]],"audio/voice/male4/gbl.hi.wav":["audio/voice/Male4/gbl.hi.WAV",["voice.vl2"]],"audio/voice/male4/gbl.nice.m4a":["audio/voice/Male4/gbl.nice.m4a",["voice.vl2"]],"audio/voice/male4/gbl.nice.wav":["audio/voice/Male4/gbl.nice.WAV",["voice.vl2"]],"audio/voice/male4/gbl.no.m4a":["audio/voice/Male4/gbl.no.m4a",["voice.vl2"]],"audio/voice/male4/gbl.no.wav":["audio/voice/Male4/gbl.no.WAV",["voice.vl2"]],"audio/voice/male4/gbl.obnoxious.m4a":["audio/voice/Male4/gbl.obnoxious.m4a",["voice.vl2"]],"audio/voice/male4/gbl.obnoxious.wav":["audio/voice/Male4/gbl.obnoxious.WAV",["voice.vl2"]],"audio/voice/male4/gbl.oops.m4a":["audio/voice/Male4/gbl.oops.m4a",["voice.vl2"]],"audio/voice/male4/gbl.oops.wav":["audio/voice/Male4/gbl.oops.WAV",["voice.vl2"]],"audio/voice/male4/gbl.quiet.m4a":["audio/voice/Male4/gbl.quiet.m4a",["voice.vl2"]],"audio/voice/male4/gbl.quiet.wav":["audio/voice/Male4/gbl.quiet.WAV",["voice.vl2"]],"audio/voice/male4/gbl.rock.m4a":["audio/voice/Male4/gbl.rock.m4a",["voice.vl2"]],"audio/voice/male4/gbl.rock.wav":["audio/voice/Male4/gbl.rock.WAV",["voice.vl2"]],"audio/voice/male4/gbl.sarcasm.m4a":["audio/voice/Male4/gbl.sarcasm.m4a",["voice.vl2"]],"audio/voice/male4/gbl.sarcasm.wav":["audio/voice/Male4/gbl.sarcasm.WAV",["voice.vl2"]],"audio/voice/male4/gbl.shazbot.m4a":["audio/voice/Male4/gbl.shazbot.m4a",["voice.vl2"]],"audio/voice/male4/gbl.shazbot.wav":["audio/voice/Male4/gbl.shazbot.WAV",["voice.vl2"]],"audio/voice/male4/gbl.shooting.m4a":["audio/voice/Male4/gbl.shooting.m4a",["voice.vl2"]],"audio/voice/male4/gbl.shooting.wav":["audio/voice/Male4/gbl.shooting.WAV",["voice.vl2"]],"audio/voice/male4/gbl.thanks.m4a":["audio/voice/Male4/gbl.thanks.m4a",["voice.vl2"]],"audio/voice/male4/gbl.thanks.wav":["audio/voice/Male4/gbl.thanks.WAV",["voice.vl2"]],"audio/voice/male4/gbl.wait.m4a":["audio/voice/Male4/gbl.wait.m4a",["voice.vl2"]],"audio/voice/male4/gbl.wait.wav":["audio/voice/Male4/gbl.wait.WAV",["voice.vl2"]],"audio/voice/male4/gbl.when.m4a":["audio/voice/Male4/gbl.when.m4a",["voice.vl2"]],"audio/voice/male4/gbl.when.wav":["audio/voice/Male4/gbl.when.WAV",["voice.vl2"]],"audio/voice/male4/gbl.woohoo.m4a":["audio/voice/Male4/gbl.woohoo.m4a",["voice.vl2"]],"audio/voice/male4/gbl.woohoo.wav":["audio/voice/Male4/gbl.woohoo.WAV",["voice.vl2"]],"audio/voice/male4/gbl.yes.m4a":["audio/voice/Male4/gbl.yes.m4a",["voice.vl2"]],"audio/voice/male4/gbl.yes.wav":["audio/voice/Male4/gbl.yes.WAV",["voice.vl2"]],"audio/voice/male4/need.bombardier.m4a":["audio/voice/Male4/need.bombardier.m4a",["voice.vl2"]],"audio/voice/male4/need.bombardier.wav":["audio/voice/Male4/need.bombardier.WAV",["voice.vl2"]],"audio/voice/male4/need.cover.m4a":["audio/voice/Male4/need.cover.m4a",["voice.vl2"]],"audio/voice/male4/need.cover.wav":["audio/voice/Male4/need.cover.WAV",["voice.vl2"]],"audio/voice/male4/need.driver.m4a":["audio/voice/Male4/need.driver.m4a",["voice.vl2"]],"audio/voice/male4/need.driver.wav":["audio/voice/Male4/need.driver.WAV",["voice.vl2"]],"audio/voice/male4/need.escort.m4a":["audio/voice/Male4/need.escort.m4a",["voice.vl2"]],"audio/voice/male4/need.escort.wav":["audio/voice/Male4/need.escort.WAV",["voice.vl2"]],"audio/voice/male4/need.flyer.m4a":["audio/voice/Male4/need.flyer.m4a",["voice.vl2"]],"audio/voice/male4/need.flyer.wav":["audio/voice/Male4/need.flyer.WAV",["voice.vl2"]],"audio/voice/male4/need.gunship.m4a":["audio/voice/Male4/need.gunship.m4a",["voice.vl2"]],"audio/voice/male4/need.gunship.wav":["audio/voice/Male4/need.gunship.WAV",["voice.vl2"]],"audio/voice/male4/need.hold.m4a":["audio/voice/Male4/need.hold.m4a",["voice.vl2"]],"audio/voice/male4/need.hold.wav":["audio/voice/Male4/need.hold.WAV",["voice.vl2"]],"audio/voice/male4/need.ride.m4a":["audio/voice/Male4/need.ride.m4a",["voice.vl2"]],"audio/voice/male4/need.ride.wav":["audio/voice/Male4/need.ride.WAV",["voice.vl2"]],"audio/voice/male4/need.support.m4a":["audio/voice/Male4/need.support.m4a",["voice.vl2"]],"audio/voice/male4/need.support.wav":["audio/voice/Male4/need.support.WAV",["voice.vl2"]],"audio/voice/male4/need.tailgunner.m4a":["audio/voice/Male4/need.tailgunner.m4a",["voice.vl2"]],"audio/voice/male4/need.tailgunner.wav":["audio/voice/Male4/need.tailgunner.WAV",["voice.vl2"]],"audio/voice/male4/need.where.m4a":["audio/voice/Male4/need.where.m4a",["voice.vl2"]],"audio/voice/male4/need.where.wav":["audio/voice/Male4/need.where.WAV",["voice.vl2"]],"audio/voice/male4/rep.base.m4a":["audio/voice/Male4/rep.base.m4a",["voice.vl2"]],"audio/voice/male4/rep.base.wav":["audio/voice/Male4/rep.base.WAV",["voice.vl2"]],"audio/voice/male4/rep.generator.m4a":["audio/voice/Male4/rep.generator.m4a",["voice.vl2"]],"audio/voice/male4/rep.generator.wav":["audio/voice/Male4/rep.generator.WAV",["voice.vl2"]],"audio/voice/male4/rep.me.m4a":["audio/voice/Male4/rep.me.m4a",["voice.vl2"]],"audio/voice/male4/rep.me.wav":["audio/voice/Male4/rep.me.WAV",["voice.vl2"]],"audio/voice/male4/rep.sensors.m4a":["audio/voice/Male4/rep.sensors.m4a",["voice.vl2"]],"audio/voice/male4/rep.sensors.wav":["audio/voice/Male4/rep.sensors.WAV",["voice.vl2"]],"audio/voice/male4/rep.turrets.m4a":["audio/voice/Male4/rep.turrets.m4a",["voice.vl2"]],"audio/voice/male4/rep.turrets.wav":["audio/voice/Male4/rep.turrets.WAV",["voice.vl2"]],"audio/voice/male4/rep.vehicle.m4a":["audio/voice/Male4/rep.vehicle.m4a",["voice.vl2"]],"audio/voice/male4/rep.vehicle.wav":["audio/voice/Male4/rep.vehicle.WAV",["voice.vl2"]],"audio/voice/male4/slf.att.attack.m4a":["audio/voice/Male4/slf.att.attack.m4a",["voice.vl2"]],"audio/voice/male4/slf.att.attack.wav":["audio/voice/Male4/slf.att.attack.WAV",["voice.vl2"]],"audio/voice/male4/slf.att.base.m4a":["audio/voice/Male4/slf.att.base.m4a",["voice.vl2"]],"audio/voice/male4/slf.att.base.wav":["audio/voice/Male4/slf.att.base.WAV",["voice.vl2"]],"audio/voice/male4/slf.att.flag.m4a":["audio/voice/Male4/slf.att.flag.m4a",["voice.vl2"]],"audio/voice/male4/slf.att.flag.wav":["audio/voice/Male4/slf.att.flag.WAV",["voice.vl2"]],"audio/voice/male4/slf.att.generator.m4a":["audio/voice/Male4/slf.att.generator.m4a",["voice.vl2"]],"audio/voice/male4/slf.att.generator.wav":["audio/voice/Male4/slf.att.generator.WAV",["voice.vl2"]],"audio/voice/male4/slf.att.sensors.m4a":["audio/voice/Male4/slf.att.sensors.m4a",["voice.vl2"]],"audio/voice/male4/slf.att.sensors.wav":["audio/voice/Male4/slf.att.sensors.WAV",["voice.vl2"]],"audio/voice/male4/slf.att.turrets.m4a":["audio/voice/Male4/slf.att.turrets.m4a",["voice.vl2"]],"audio/voice/male4/slf.att.turrets.wav":["audio/voice/Male4/slf.att.turrets.WAV",["voice.vl2"]],"audio/voice/male4/slf.att.vehicles.m4a":["audio/voice/Male4/slf.att.vehicles.m4a",["voice.vl2"]],"audio/voice/male4/slf.att.vehicles.wav":["audio/voice/Male4/slf.att.vehicles.WAV",["voice.vl2"]],"audio/voice/male4/slf.def.base.m4a":["audio/voice/Male4/slf.def.base.m4a",["voice.vl2"]],"audio/voice/male4/slf.def.base.wav":["audio/voice/Male4/slf.def.base.WAV",["voice.vl2"]],"audio/voice/male4/slf.def.defend.m4a":["audio/voice/Male4/slf.def.defend.m4a",["voice.vl2"]],"audio/voice/male4/slf.def.defend.wav":["audio/voice/Male4/slf.def.defend.WAV",["voice.vl2"]],"audio/voice/male4/slf.def.flag.m4a":["audio/voice/Male4/slf.def.flag.m4a",["voice.vl2"]],"audio/voice/male4/slf.def.flag.wav":["audio/voice/Male4/slf.def.flag.WAV",["voice.vl2"]],"audio/voice/male4/slf.def.generator.m4a":["audio/voice/Male4/slf.def.generator.m4a",["voice.vl2"]],"audio/voice/male4/slf.def.generator.wav":["audio/voice/Male4/slf.def.generator.WAV",["voice.vl2"]],"audio/voice/male4/slf.def.nexus.m4a":["audio/voice/Male4/slf.def.nexus.m4a",["voice.vl2"]],"audio/voice/male4/slf.def.nexus.wav":["audio/voice/Male4/slf.def.nexus.WAV",["voice.vl2"]],"audio/voice/male4/slf.def.sensors.m4a":["audio/voice/Male4/slf.def.sensors.m4a",["voice.vl2"]],"audio/voice/male4/slf.def.sensors.wav":["audio/voice/Male4/slf.def.sensors.WAV",["voice.vl2"]],"audio/voice/male4/slf.def.turrets.m4a":["audio/voice/Male4/slf.def.turrets.m4a",["voice.vl2"]],"audio/voice/male4/slf.def.turrets.wav":["audio/voice/Male4/slf.def.turrets.WAV",["voice.vl2"]],"audio/voice/male4/slf.def.vehicle.m4a":["audio/voice/Male4/slf.def.vehicle.m4a",["voice.vl2"]],"audio/voice/male4/slf.def.vehicle.wav":["audio/voice/Male4/slf.def.vehicle.WAV",["voice.vl2"]],"audio/voice/male4/slf.rep.base.m4a":["audio/voice/Male4/slf.rep.base.m4a",["voice.vl2"]],"audio/voice/male4/slf.rep.base.wav":["audio/voice/Male4/slf.rep.base.WAV",["voice.vl2"]],"audio/voice/male4/slf.rep.equipment.m4a":["audio/voice/Male4/slf.rep.equipment.m4a",["voice.vl2"]],"audio/voice/male4/slf.rep.equipment.wav":["audio/voice/Male4/slf.rep.equipment.WAV",["voice.vl2"]],"audio/voice/male4/slf.rep.generator.m4a":["audio/voice/Male4/slf.rep.generator.m4a",["voice.vl2"]],"audio/voice/male4/slf.rep.generator.wav":["audio/voice/Male4/slf.rep.generator.WAV",["voice.vl2"]],"audio/voice/male4/slf.rep.repairing.m4a":["audio/voice/Male4/slf.rep.repairing.m4a",["voice.vl2"]],"audio/voice/male4/slf.rep.repairing.wav":["audio/voice/Male4/slf.rep.repairing.WAV",["voice.vl2"]],"audio/voice/male4/slf.rep.sensors.m4a":["audio/voice/Male4/slf.rep.sensors.m4a",["voice.vl2"]],"audio/voice/male4/slf.rep.sensors.wav":["audio/voice/Male4/slf.rep.sensors.WAV",["voice.vl2"]],"audio/voice/male4/slf.rep.turrets.m4a":["audio/voice/Male4/slf.rep.turrets.m4a",["voice.vl2"]],"audio/voice/male4/slf.rep.turrets.wav":["audio/voice/Male4/slf.rep.turrets.WAV",["voice.vl2"]],"audio/voice/male4/slf.rep.vehicle.m4a":["audio/voice/Male4/slf.rep.vehicle.m4a",["voice.vl2"]],"audio/voice/male4/slf.rep.vehicle.wav":["audio/voice/Male4/slf.rep.vehicle.WAV",["voice.vl2"]],"audio/voice/male4/slf.tsk.cover.m4a":["audio/voice/Male4/slf.tsk.cover.m4a",["voice.vl2"]],"audio/voice/male4/slf.tsk.cover.wav":["audio/voice/Male4/slf.tsk.cover.WAV",["voice.vl2"]],"audio/voice/male4/slf.tsk.defense.m4a":["audio/voice/Male4/slf.tsk.defense.m4a",["voice.vl2"]],"audio/voice/male4/slf.tsk.defense.wav":["audio/voice/Male4/slf.tsk.defense.WAV",["voice.vl2"]],"audio/voice/male4/slf.tsk.generic.m4a":["audio/voice/Male4/slf.tsk.generic.m4a",["voice.vl2"]],"audio/voice/male4/slf.tsk.generic.wav":["audio/voice/Male4/slf.tsk.generic.WAV",["voice.vl2"]],"audio/voice/male4/slf.tsk.remotes.m4a":["audio/voice/Male4/slf.tsk.remotes.m4a",["voice.vl2"]],"audio/voice/male4/slf.tsk.remotes.wav":["audio/voice/Male4/slf.tsk.remotes.WAV",["voice.vl2"]],"audio/voice/male4/slf.tsk.sensors.m4a":["audio/voice/Male4/slf.tsk.sensors.m4a",["voice.vl2"]],"audio/voice/male4/slf.tsk.sensors.wav":["audio/voice/Male4/slf.tsk.sensors.WAV",["voice.vl2"]],"audio/voice/male4/slf.tsk.turrets.m4a":["audio/voice/Male4/slf.tsk.turrets.m4a",["voice.vl2"]],"audio/voice/male4/slf.tsk.turrets.wav":["audio/voice/Male4/slf.tsk.turrets.WAV",["voice.vl2"]],"audio/voice/male4/slf.tsk.vehicle.m4a":["audio/voice/Male4/slf.tsk.vehicle.m4a",["voice.vl2"]],"audio/voice/male4/slf.tsk.vehicle.wav":["audio/voice/Male4/slf.tsk.vehicle.WAV",["voice.vl2"]],"audio/voice/male4/tgt.acquired.m4a":["audio/voice/Male4/tgt.acquired.m4a",["voice.vl2"]],"audio/voice/male4/tgt.acquired.wav":["audio/voice/Male4/tgt.acquired.WAV",["voice.vl2"]],"audio/voice/male4/tgt.base.m4a":["audio/voice/Male4/tgt.base.m4a",["voice.vl2"]],"audio/voice/male4/tgt.base.wav":["audio/voice/Male4/tgt.base.WAV",["voice.vl2"]],"audio/voice/male4/tgt.destroyed.m4a":["audio/voice/Male4/tgt.destroyed.m4a",["voice.vl2"]],"audio/voice/male4/tgt.destroyed.wav":["audio/voice/Male4/tgt.destroyed.WAV",["voice.vl2"]],"audio/voice/male4/tgt.flag.m4a":["audio/voice/Male4/tgt.flag.m4a",["voice.vl2"]],"audio/voice/male4/tgt.flag.wav":["audio/voice/Male4/tgt.flag.WAV",["voice.vl2"]],"audio/voice/male4/tgt.my.m4a":["audio/voice/Male4/tgt.my.m4a",["voice.vl2"]],"audio/voice/male4/tgt.my.wav":["audio/voice/Male4/tgt.my.WAV",["voice.vl2"]],"audio/voice/male4/tgt.need.m4a":["audio/voice/Male4/tgt.need.m4a",["voice.vl2"]],"audio/voice/male4/tgt.need.wav":["audio/voice/Male4/tgt.need.WAV",["voice.vl2"]],"audio/voice/male4/tgt.sensors.m4a":["audio/voice/Male4/tgt.sensors.m4a",["voice.vl2"]],"audio/voice/male4/tgt.sensors.wav":["audio/voice/Male4/tgt.sensors.WAV",["voice.vl2"]],"audio/voice/male4/tgt.turret.m4a":["audio/voice/Male4/tgt.turret.m4a",["voice.vl2"]],"audio/voice/male4/tgt.turret.wav":["audio/voice/Male4/tgt.turret.WAV",["voice.vl2"]],"audio/voice/male4/tgt.wait.m4a":["audio/voice/Male4/tgt.wait.m4a",["voice.vl2"]],"audio/voice/male4/tgt.wait.wav":["audio/voice/Male4/tgt.wait.WAV",["voice.vl2"]],"audio/voice/male4/vqk.anytime.m4a":["audio/voice/Male4/vqk.anytime.m4a",["voice.vl2"]],"audio/voice/male4/vqk.anytime.wav":["audio/voice/Male4/vqk.anytime.WAV",["voice.vl2"]],"audio/voice/male4/vqk.base.m4a":["audio/voice/Male4/vqk.base.m4a",["voice.vl2"]],"audio/voice/male4/vqk.base.wav":["audio/voice/Male4/vqk.base.WAV",["voice.vl2"]],"audio/voice/male4/vqk.ceasefire.m4a":["audio/voice/Male4/vqk.ceasefire.m4a",["voice.vl2"]],"audio/voice/male4/vqk.ceasefire.wav":["audio/voice/Male4/vqk.ceasefire.WAV",["voice.vl2"]],"audio/voice/male4/vqk.dunno.m4a":["audio/voice/Male4/vqk.dunno.m4a",["voice.vl2"]],"audio/voice/male4/vqk.dunno.wav":["audio/voice/Male4/vqk.dunno.WAV",["voice.vl2"]],"audio/voice/male4/vqk.help.m4a":["audio/voice/Male4/vqk.help.m4a",["voice.vl2"]],"audio/voice/male4/vqk.help.wav":["audio/voice/Male4/vqk.help.WAV",["voice.vl2"]],"audio/voice/male4/vqk.move.m4a":["audio/voice/Male4/vqk.move.m4a",["voice.vl2"]],"audio/voice/male4/vqk.move.wav":["audio/voice/Male4/vqk.move.WAV",["voice.vl2"]],"audio/voice/male4/vqk.no.m4a":["audio/voice/Male4/vqk.no.m4a",["voice.vl2"]],"audio/voice/male4/vqk.no.wav":["audio/voice/Male4/vqk.no.WAV",["voice.vl2"]],"audio/voice/male4/vqk.quiet.m4a":["audio/voice/Male4/vqk.quiet.m4a",["voice.vl2"]],"audio/voice/male4/vqk.quiet.wav":["audio/voice/Male4/vqk.quiet.WAV",["voice.vl2"]],"audio/voice/male4/vqk.sorry.m4a":["audio/voice/Male4/vqk.sorry.m4a",["voice.vl2"]],"audio/voice/male4/vqk.sorry.wav":["audio/voice/Male4/vqk.sorry.WAV",["voice.vl2"]],"audio/voice/male4/vqk.thanks.m4a":["audio/voice/Male4/vqk.thanks.m4a",["voice.vl2"]],"audio/voice/male4/vqk.thanks.wav":["audio/voice/Male4/vqk.thanks.WAV",["voice.vl2"]],"audio/voice/male4/vqk.wait.m4a":["audio/voice/Male4/vqk.wait.m4a",["voice.vl2"]],"audio/voice/male4/vqk.wait.wav":["audio/voice/Male4/vqk.wait.WAV",["voice.vl2"]],"audio/voice/male4/vqk.yes.m4a":["audio/voice/Male4/vqk.yes.m4a",["voice.vl2"]],"audio/voice/male4/vqk.yes.wav":["audio/voice/Male4/vqk.yes.WAV",["voice.vl2"]],"audio/voice/male4/wrn.bomber.m4a":["audio/voice/Male4/wrn.bomber.m4a",["voice.vl2"]],"audio/voice/male4/wrn.bomber.wav":["audio/voice/Male4/wrn.bomber.WAV",["voice.vl2"]],"audio/voice/male4/wrn.enemy.m4a":["audio/voice/Male4/wrn.enemy.m4a",["voice.vl2"]],"audio/voice/male4/wrn.enemy.wav":["audio/voice/Male4/wrn.enemy.WAV",["voice.vl2"]],"audio/voice/male4/wrn.vehicles.m4a":["audio/voice/Male4/wrn.vehicles.m4a",["voice.vl2"]],"audio/voice/male4/wrn.vehicles.wav":["audio/voice/Male4/wrn.vehicles.WAV",["voice.vl2"]],"audio/voice/male4/wrn.watchit.m4a":["audio/voice/Male4/wrn.watchit.m4a",["voice.vl2"]],"audio/voice/male4/wrn.watchit.wav":["audio/voice/Male4/wrn.watchit.WAV",["voice.vl2"]],"audio/voice/male5/att.attack.m4a":["audio/voice/Male5/att.attack.m4a",["voice.vl2"]],"audio/voice/male5/att.attack.wav":["audio/voice/Male5/att.attack.WAV",["voice.vl2"]],"audio/voice/male5/att.base.m4a":["audio/voice/Male5/att.base.m4a",["voice.vl2"]],"audio/voice/male5/att.base.wav":["audio/voice/Male5/att.base.WAV",["voice.vl2"]],"audio/voice/male5/att.chase.m4a":["audio/voice/Male5/att.chase.m4a",["voice.vl2"]],"audio/voice/male5/att.chase.wav":["audio/voice/Male5/att.chase.WAV",["voice.vl2"]],"audio/voice/male5/att.distract.m4a":["audio/voice/Male5/att.distract.m4a",["voice.vl2"]],"audio/voice/male5/att.distract.wav":["audio/voice/Male5/att.distract.WAV",["voice.vl2"]],"audio/voice/male5/att.flag.m4a":["audio/voice/Male5/att.flag.m4a",["voice.vl2"]],"audio/voice/male5/att.flag.wav":["audio/voice/Male5/att.flag.WAV",["voice.vl2"]],"audio/voice/male5/att.generator.m4a":["audio/voice/Male5/att.generator.m4a",["voice.vl2"]],"audio/voice/male5/att.generator.wav":["audio/voice/Male5/att.generator.WAV",["voice.vl2"]],"audio/voice/male5/att.objective.m4a":["audio/voice/Male5/att.objective.m4a",["voice.vl2"]],"audio/voice/male5/att.objective.wav":["audio/voice/Male5/att.objective.WAV",["voice.vl2"]],"audio/voice/male5/att.reinforcements.m4a":["audio/voice/Male5/att.reinforcements.m4a",["voice.vl2"]],"audio/voice/male5/att.reinforcements.wav":["audio/voice/Male5/att.reinforcements.WAV",["voice.vl2"]],"audio/voice/male5/att.sensors.m4a":["audio/voice/Male5/att.sensors.m4a",["voice.vl2"]],"audio/voice/male5/att.sensors.wav":["audio/voice/Male5/att.sensors.WAV",["voice.vl2"]],"audio/voice/male5/att.turrets.m4a":["audio/voice/Male5/att.turrets.m4a",["voice.vl2"]],"audio/voice/male5/att.turrets.wav":["audio/voice/Male5/att.turrets.WAV",["voice.vl2"]],"audio/voice/male5/att.vehicle.m4a":["audio/voice/Male5/att.vehicle.m4a",["voice.vl2"]],"audio/voice/male5/att.vehicle.wav":["audio/voice/Male5/att.vehicle.WAV",["voice.vl2"]],"audio/voice/male5/att.wait.m4a":["audio/voice/Male5/att.wait.m4a",["voice.vl2"]],"audio/voice/male5/att.wait.wav":["audio/voice/Male5/att.wait.WAV",["voice.vl2"]],"audio/voice/male5/avo.deathcry_01.m4a":["audio/voice/Male5/avo.deathcry_01.m4a",["voice.vl2"]],"audio/voice/male5/avo.deathcry_01.wav":["audio/voice/Male5/avo.deathcry_01.WAV",["voice.vl2"]],"audio/voice/male5/avo.deathcry_02.m4a":["audio/voice/Male5/avo.deathcry_02.m4a",["voice.vl2"]],"audio/voice/male5/avo.deathcry_02.wav":["audio/voice/Male5/avo.deathcry_02.WAV",["voice.vl2"]],"audio/voice/male5/avo.grunt.m4a":["audio/voice/Male5/avo.grunt.m4a",["voice.vl2"]],"audio/voice/male5/avo.grunt.wav":["audio/voice/Male5/avo.grunt.WAV",["voice.vl2"]],"audio/voice/male5/avo.pain.m4a":["audio/voice/Male5/avo.pain.m4a",["voice.vl2"]],"audio/voice/male5/avo.pain.wav":["audio/voice/Male5/avo.pain.WAV",["voice.vl2"]],"audio/voice/male5/bas.clear.m4a":["audio/voice/Male5/bas.clear.m4a",["voice.vl2"]],"audio/voice/male5/bas.clear.wav":["audio/voice/Male5/bas.clear.WAV",["voice.vl2"]],"audio/voice/male5/bas.enemy.m4a":["audio/voice/Male5/bas.enemy.m4a",["voice.vl2"]],"audio/voice/male5/bas.enemy.wav":["audio/voice/Male5/bas.enemy.WAV",["voice.vl2"]],"audio/voice/male5/bas.retake.m4a":["audio/voice/Male5/bas.retake.m4a",["voice.vl2"]],"audio/voice/male5/bas.retake.wav":["audio/voice/Male5/bas.retake.WAV",["voice.vl2"]],"audio/voice/male5/bas.secure.m4a":["audio/voice/Male5/bas.secure.m4a",["voice.vl2"]],"audio/voice/male5/bas.secure.wav":["audio/voice/Male5/bas.secure.WAV",["voice.vl2"]],"audio/voice/male5/bas.taken.m4a":["audio/voice/Male5/bas.taken.m4a",["voice.vl2"]],"audio/voice/male5/bas.taken.wav":["audio/voice/Male5/bas.taken.WAV",["voice.vl2"]],"audio/voice/male5/cmd.acknowledge.m4a":["audio/voice/Male5/cmd.acknowledge.m4a",["voice.vl2"]],"audio/voice/male5/cmd.acknowledge.wav":["audio/voice/Male5/cmd.acknowledge.WAV",["voice.vl2"]],"audio/voice/male5/cmd.bot.m4a":["audio/voice/Male5/cmd.bot.m4a",["voice.vl2"]],"audio/voice/male5/cmd.bot.wav":["audio/voice/Male5/cmd.bot.WAV",["voice.vl2"]],"audio/voice/male5/cmd.completed.m4a":["audio/voice/Male5/cmd.completed.m4a",["voice.vl2"]],"audio/voice/male5/cmd.completed.wav":["audio/voice/Male5/cmd.completed.WAV",["voice.vl2"]],"audio/voice/male5/cmd.decline.m4a":["audio/voice/Male5/cmd.decline.m4a",["voice.vl2"]],"audio/voice/male5/cmd.decline.wav":["audio/voice/Male5/cmd.decline.WAV",["voice.vl2"]],"audio/voice/male5/def.base.m4a":["audio/voice/Male5/def.base.m4a",["voice.vl2"]],"audio/voice/male5/def.base.wav":["audio/voice/Male5/def.base.WAV",["voice.vl2"]],"audio/voice/male5/def.carrier.m4a":["audio/voice/Male5/def.carrier.m4a",["voice.vl2"]],"audio/voice/male5/def.carrier.wav":["audio/voice/Male5/def.carrier.WAV",["voice.vl2"]],"audio/voice/male5/def.entrances.m4a":["audio/voice/Male5/def.entrances.m4a",["voice.vl2"]],"audio/voice/male5/def.entrances.wav":["audio/voice/Male5/def.entrances.WAV",["voice.vl2"]],"audio/voice/male5/def.flag.m4a":["audio/voice/Male5/def.flag.m4a",["voice.vl2"]],"audio/voice/male5/def.flag.wav":["audio/voice/Male5/def.flag.WAV",["voice.vl2"]],"audio/voice/male5/def.generator.m4a":["audio/voice/Male5/def.generator.m4a",["voice.vl2"]],"audio/voice/male5/def.generator.wav":["audio/voice/Male5/def.generator.WAV",["voice.vl2"]],"audio/voice/male5/def.me.m4a":["audio/voice/Male5/def.me.m4a",["voice.vl2"]],"audio/voice/male5/def.me.wav":["audio/voice/Male5/def.me.WAV",["voice.vl2"]],"audio/voice/male5/def.nexus.m4a":["audio/voice/Male5/def.nexus.m4a",["voice.vl2"]],"audio/voice/male5/def.nexus.wav":["audio/voice/Male5/def.nexus.WAV",["voice.vl2"]],"audio/voice/male5/def.objective.m4a":["audio/voice/Male5/def.objective.m4a",["voice.vl2"]],"audio/voice/male5/def.objective.wav":["audio/voice/Male5/def.objective.WAV",["voice.vl2"]],"audio/voice/male5/def.reinforce.m4a":["audio/voice/Male5/def.reinforce.m4a",["voice.vl2"]],"audio/voice/male5/def.reinforce.wav":["audio/voice/Male5/def.reinforce.WAV",["voice.vl2"]],"audio/voice/male5/def.sensors.m4a":["audio/voice/Male5/def.sensors.m4a",["voice.vl2"]],"audio/voice/male5/def.sensors.wav":["audio/voice/Male5/def.sensors.WAV",["voice.vl2"]],"audio/voice/male5/def.turrets.m4a":["audio/voice/Male5/def.turrets.m4a",["voice.vl2"]],"audio/voice/male5/def.turrets.wav":["audio/voice/Male5/def.turrets.WAV",["voice.vl2"]],"audio/voice/male5/def.vehicle.m4a":["audio/voice/Male5/def.vehicle.m4a",["voice.vl2"]],"audio/voice/male5/def.vehicle.wav":["audio/voice/Male5/def.vehicle.WAV",["voice.vl2"]],"audio/voice/male5/ene.base.m4a":["audio/voice/Male5/ene.base.m4a",["voice.vl2"]],"audio/voice/male5/ene.base.wav":["audio/voice/Male5/ene.base.WAV",["voice.vl2"]],"audio/voice/male5/ene.disarray.m4a":["audio/voice/Male5/ene.disarray.m4a",["voice.vl2"]],"audio/voice/male5/ene.disarray.wav":["audio/voice/Male5/ene.disarray.WAV",["voice.vl2"]],"audio/voice/male5/ene.generator.m4a":["audio/voice/Male5/ene.generator.m4a",["voice.vl2"]],"audio/voice/male5/ene.generator.wav":["audio/voice/Male5/ene.generator.WAV",["voice.vl2"]],"audio/voice/male5/ene.remotes.m4a":["audio/voice/Male5/ene.remotes.m4a",["voice.vl2"]],"audio/voice/male5/ene.remotes.wav":["audio/voice/Male5/ene.remotes.WAV",["voice.vl2"]],"audio/voice/male5/ene.sensors.m4a":["audio/voice/Male5/ene.sensors.m4a",["voice.vl2"]],"audio/voice/male5/ene.sensors.wav":["audio/voice/Male5/ene.sensors.WAV",["voice.vl2"]],"audio/voice/male5/ene.turrets.m4a":["audio/voice/Male5/ene.turrets.m4a",["voice.vl2"]],"audio/voice/male5/ene.turrets.wav":["audio/voice/Male5/ene.turrets.WAV",["voice.vl2"]],"audio/voice/male5/ene.vehicle.m4a":["audio/voice/Male5/ene.vehicle.m4a",["voice.vl2"]],"audio/voice/male5/ene.vehicle.wav":["audio/voice/Male5/ene.vehicle.WAV",["voice.vl2"]],"audio/voice/male5/flg.flag.m4a":["audio/voice/Male5/flg.flag.m4a",["voice.vl2"]],"audio/voice/male5/flg.flag.wav":["audio/voice/Male5/flg.flag.WAV",["voice.vl2"]],"audio/voice/male5/flg.give.m4a":["audio/voice/Male5/flg.give.m4a",["voice.vl2"]],"audio/voice/male5/flg.give.wav":["audio/voice/Male5/flg.give.WAV",["voice.vl2"]],"audio/voice/male5/flg.huntergive.m4a":["audio/voice/Male5/flg.huntergive.m4a",["voice.vl2"]],"audio/voice/male5/flg.huntergive.wav":["audio/voice/Male5/flg.huntergive.WAV",["voice.vl2"]],"audio/voice/male5/flg.huntertake.m4a":["audio/voice/Male5/flg.huntertake.m4a",["voice.vl2"]],"audio/voice/male5/flg.huntertake.wav":["audio/voice/Male5/flg.huntertake.WAV",["voice.vl2"]],"audio/voice/male5/flg.retrieve.m4a":["audio/voice/Male5/flg.retrieve.m4a",["voice.vl2"]],"audio/voice/male5/flg.retrieve.wav":["audio/voice/Male5/flg.retrieve.WAV",["voice.vl2"]],"audio/voice/male5/flg.secure.m4a":["audio/voice/Male5/flg.secure.m4a",["voice.vl2"]],"audio/voice/male5/flg.secure.wav":["audio/voice/Male5/flg.secure.WAV",["voice.vl2"]],"audio/voice/male5/flg.take.m4a":["audio/voice/Male5/flg.take.m4a",["voice.vl2"]],"audio/voice/male5/flg.take.wav":["audio/voice/Male5/flg.take.WAV",["voice.vl2"]],"audio/voice/male5/gbl.anytime.m4a":["audio/voice/Male5/gbl.anytime.m4a",["voice.vl2"]],"audio/voice/male5/gbl.anytime.wav":["audio/voice/Male5/gbl.anytime.WAV",["voice.vl2"]],"audio/voice/male5/gbl.awesome.m4a":["audio/voice/Male5/gbl.awesome.m4a",["voice.vl2"]],"audio/voice/male5/gbl.awesome.wav":["audio/voice/Male5/gbl.awesome.WAV",["voice.vl2"]],"audio/voice/male5/gbl.aww.m4a":["audio/voice/Male5/gbl.aww.m4a",["voice.vl2"]],"audio/voice/male5/gbl.aww.wav":["audio/voice/Male5/gbl.aww.WAV",["voice.vl2"]],"audio/voice/male5/gbl.brag.m4a":["audio/voice/Male5/gbl.brag.m4a",["voice.vl2"]],"audio/voice/male5/gbl.brag.wav":["audio/voice/Male5/gbl.brag.WAV",["voice.vl2"]],"audio/voice/male5/gbl.bye.m4a":["audio/voice/Male5/gbl.bye.m4a",["voice.vl2"]],"audio/voice/male5/gbl.bye.wav":["audio/voice/Male5/gbl.bye.WAV",["voice.vl2"]],"audio/voice/male5/gbl.dunno.m4a":["audio/voice/Male5/gbl.dunno.m4a",["voice.vl2"]],"audio/voice/male5/gbl.dunno.wav":["audio/voice/Male5/gbl.dunno.WAV",["voice.vl2"]],"audio/voice/male5/gbl.goodgame.m4a":["audio/voice/Male5/gbl.goodgame.m4a",["voice.vl2"]],"audio/voice/male5/gbl.goodgame.wav":["audio/voice/Male5/gbl.goodgame.WAV",["voice.vl2"]],"audio/voice/male5/gbl.hi.m4a":["audio/voice/Male5/gbl.hi.m4a",["voice.vl2"]],"audio/voice/male5/gbl.hi.wav":["audio/voice/Male5/gbl.hi.WAV",["voice.vl2"]],"audio/voice/male5/gbl.nice.m4a":["audio/voice/Male5/gbl.nice.m4a",["voice.vl2"]],"audio/voice/male5/gbl.nice.wav":["audio/voice/Male5/gbl.nice.WAV",["voice.vl2"]],"audio/voice/male5/gbl.no.m4a":["audio/voice/Male5/gbl.no.m4a",["voice.vl2"]],"audio/voice/male5/gbl.no.wav":["audio/voice/Male5/gbl.no.WAV",["voice.vl2"]],"audio/voice/male5/gbl.obnoxious.m4a":["audio/voice/Male5/gbl.obnoxious.m4a",["voice.vl2"]],"audio/voice/male5/gbl.obnoxious.wav":["audio/voice/Male5/gbl.obnoxious.WAV",["voice.vl2"]],"audio/voice/male5/gbl.oops.m4a":["audio/voice/Male5/gbl.oops.m4a",["voice.vl2"]],"audio/voice/male5/gbl.oops.wav":["audio/voice/Male5/gbl.oops.WAV",["voice.vl2"]],"audio/voice/male5/gbl.quiet.m4a":["audio/voice/Male5/gbl.quiet.m4a",["voice.vl2"]],"audio/voice/male5/gbl.quiet.wav":["audio/voice/Male5/gbl.quiet.WAV",["voice.vl2"]],"audio/voice/male5/gbl.rock.m4a":["audio/voice/Male5/gbl.rock.m4a",["voice.vl2"]],"audio/voice/male5/gbl.rock.wav":["audio/voice/Male5/gbl.rock.WAV",["voice.vl2"]],"audio/voice/male5/gbl.sarcasm.m4a":["audio/voice/Male5/gbl.sarcasm.m4a",["voice.vl2"]],"audio/voice/male5/gbl.sarcasm.wav":["audio/voice/Male5/gbl.sarcasm.WAV",["voice.vl2"]],"audio/voice/male5/gbl.shazbot.m4a":["audio/voice/Male5/gbl.shazbot.m4a",["voice.vl2"]],"audio/voice/male5/gbl.shazbot.wav":["audio/voice/Male5/gbl.shazbot.WAV",["voice.vl2"]],"audio/voice/male5/gbl.shooting.m4a":["audio/voice/Male5/gbl.shooting.m4a",["voice.vl2"]],"audio/voice/male5/gbl.shooting.wav":["audio/voice/Male5/gbl.shooting.WAV",["voice.vl2"]],"audio/voice/male5/gbl.thanks.m4a":["audio/voice/Male5/gbl.thanks.m4a",["voice.vl2"]],"audio/voice/male5/gbl.thanks.wav":["audio/voice/Male5/gbl.thanks.WAV",["voice.vl2"]],"audio/voice/male5/gbl.wait.m4a":["audio/voice/Male5/gbl.wait.m4a",["voice.vl2"]],"audio/voice/male5/gbl.wait.wav":["audio/voice/Male5/gbl.wait.WAV",["voice.vl2"]],"audio/voice/male5/gbl.when.m4a":["audio/voice/Male5/gbl.when.m4a",["voice.vl2"]],"audio/voice/male5/gbl.when.wav":["audio/voice/Male5/gbl.when.WAV",["voice.vl2"]],"audio/voice/male5/gbl.woohoo.m4a":["audio/voice/Male5/gbl.woohoo.m4a",["voice.vl2"]],"audio/voice/male5/gbl.woohoo.wav":["audio/voice/Male5/gbl.woohoo.WAV",["voice.vl2"]],"audio/voice/male5/gbl.yes.m4a":["audio/voice/Male5/gbl.yes.m4a",["voice.vl2"]],"audio/voice/male5/gbl.yes.wav":["audio/voice/Male5/gbl.yes.WAV",["voice.vl2"]],"audio/voice/male5/need.bombardier.m4a":["audio/voice/Male5/need.bombardier.m4a",["voice.vl2"]],"audio/voice/male5/need.bombardier.wav":["audio/voice/Male5/need.bombardier.WAV",["voice.vl2"]],"audio/voice/male5/need.cover.m4a":["audio/voice/Male5/need.cover.m4a",["voice.vl2"]],"audio/voice/male5/need.cover.wav":["audio/voice/Male5/need.cover.WAV",["voice.vl2"]],"audio/voice/male5/need.driver.m4a":["audio/voice/Male5/need.driver.m4a",["voice.vl2"]],"audio/voice/male5/need.driver.wav":["audio/voice/Male5/need.driver.WAV",["voice.vl2"]],"audio/voice/male5/need.escort.m4a":["audio/voice/Male5/need.escort.m4a",["voice.vl2"]],"audio/voice/male5/need.escort.wav":["audio/voice/Male5/need.escort.WAV",["voice.vl2"]],"audio/voice/male5/need.flyer.m4a":["audio/voice/Male5/need.flyer.m4a",["voice.vl2"]],"audio/voice/male5/need.flyer.wav":["audio/voice/Male5/need.flyer.WAV",["voice.vl2"]],"audio/voice/male5/need.gunship.m4a":["audio/voice/Male5/need.gunship.m4a",["voice.vl2"]],"audio/voice/male5/need.gunship.wav":["audio/voice/Male5/need.gunship.WAV",["voice.vl2"]],"audio/voice/male5/need.hold.m4a":["audio/voice/Male5/need.hold.m4a",["voice.vl2"]],"audio/voice/male5/need.hold.wav":["audio/voice/Male5/need.hold.WAV",["voice.vl2"]],"audio/voice/male5/need.ride.m4a":["audio/voice/Male5/need.ride.m4a",["voice.vl2"]],"audio/voice/male5/need.ride.wav":["audio/voice/Male5/need.ride.WAV",["voice.vl2"]],"audio/voice/male5/need.support.m4a":["audio/voice/Male5/need.support.m4a",["voice.vl2"]],"audio/voice/male5/need.support.wav":["audio/voice/Male5/need.support.WAV",["voice.vl2"]],"audio/voice/male5/need.tailgunner.m4a":["audio/voice/Male5/need.tailgunner.m4a",["voice.vl2"]],"audio/voice/male5/need.tailgunner.wav":["audio/voice/Male5/need.tailgunner.WAV",["voice.vl2"]],"audio/voice/male5/need.where.m4a":["audio/voice/Male5/need.where.m4a",["voice.vl2"]],"audio/voice/male5/need.where.wav":["audio/voice/Male5/need.where.WAV",["voice.vl2"]],"audio/voice/male5/rep.base.m4a":["audio/voice/Male5/rep.base.m4a",["voice.vl2"]],"audio/voice/male5/rep.base.wav":["audio/voice/Male5/rep.base.WAV",["voice.vl2"]],"audio/voice/male5/rep.generator.m4a":["audio/voice/Male5/rep.generator.m4a",["voice.vl2"]],"audio/voice/male5/rep.generator.wav":["audio/voice/Male5/rep.generator.WAV",["voice.vl2"]],"audio/voice/male5/rep.me.m4a":["audio/voice/Male5/rep.me.m4a",["voice.vl2"]],"audio/voice/male5/rep.me.wav":["audio/voice/Male5/rep.me.WAV",["voice.vl2"]],"audio/voice/male5/rep.sensors.m4a":["audio/voice/Male5/rep.sensors.m4a",["voice.vl2"]],"audio/voice/male5/rep.sensors.wav":["audio/voice/Male5/rep.sensors.WAV",["voice.vl2"]],"audio/voice/male5/rep.turrets.m4a":["audio/voice/Male5/rep.turrets.m4a",["voice.vl2"]],"audio/voice/male5/rep.turrets.wav":["audio/voice/Male5/rep.turrets.WAV",["voice.vl2"]],"audio/voice/male5/rep.vehicle.m4a":["audio/voice/Male5/rep.vehicle.m4a",["voice.vl2"]],"audio/voice/male5/rep.vehicle.wav":["audio/voice/Male5/rep.vehicle.WAV",["voice.vl2"]],"audio/voice/male5/slf.att.attack.m4a":["audio/voice/Male5/slf.att.attack.m4a",["voice.vl2"]],"audio/voice/male5/slf.att.attack.wav":["audio/voice/Male5/slf.att.attack.WAV",["voice.vl2"]],"audio/voice/male5/slf.att.base.m4a":["audio/voice/Male5/slf.att.base.m4a",["voice.vl2"]],"audio/voice/male5/slf.att.base.wav":["audio/voice/Male5/slf.att.base.WAV",["voice.vl2"]],"audio/voice/male5/slf.att.flag.m4a":["audio/voice/Male5/slf.att.flag.m4a",["voice.vl2"]],"audio/voice/male5/slf.att.flag.wav":["audio/voice/Male5/slf.att.flag.WAV",["voice.vl2"]],"audio/voice/male5/slf.att.generator.m4a":["audio/voice/Male5/slf.att.generator.m4a",["voice.vl2"]],"audio/voice/male5/slf.att.generator.wav":["audio/voice/Male5/slf.att.generator.WAV",["voice.vl2"]],"audio/voice/male5/slf.att.sensors.m4a":["audio/voice/Male5/slf.att.sensors.m4a",["voice.vl2"]],"audio/voice/male5/slf.att.sensors.wav":["audio/voice/Male5/slf.att.sensors.WAV",["voice.vl2"]],"audio/voice/male5/slf.att.turrets.m4a":["audio/voice/Male5/slf.att.turrets.m4a",["voice.vl2"]],"audio/voice/male5/slf.att.turrets.wav":["audio/voice/Male5/slf.att.turrets.WAV",["voice.vl2"]],"audio/voice/male5/slf.att.vehicle.m4a":["audio/voice/Male5/slf.att.vehicle.m4a",["voice.vl2"]],"audio/voice/male5/slf.att.vehicle.wav":["audio/voice/Male5/slf.att.vehicle.WAV",["voice.vl2"]],"audio/voice/male5/slf.def.base.m4a":["audio/voice/Male5/slf.def.base.m4a",["voice.vl2"]],"audio/voice/male5/slf.def.base.wav":["audio/voice/Male5/slf.def.base.WAV",["voice.vl2"]],"audio/voice/male5/slf.def.defend.m4a":["audio/voice/Male5/slf.def.defend.m4a",["voice.vl2"]],"audio/voice/male5/slf.def.defend.wav":["audio/voice/Male5/slf.def.defend.WAV",["voice.vl2"]],"audio/voice/male5/slf.def.flag.m4a":["audio/voice/Male5/slf.def.flag.m4a",["voice.vl2"]],"audio/voice/male5/slf.def.flag.wav":["audio/voice/Male5/slf.def.flag.WAV",["voice.vl2"]],"audio/voice/male5/slf.def.generator.m4a":["audio/voice/Male5/slf.def.generator.m4a",["voice.vl2"]],"audio/voice/male5/slf.def.generator.wav":["audio/voice/Male5/slf.def.generator.WAV",["voice.vl2"]],"audio/voice/male5/slf.def.nexus.m4a":["audio/voice/Male5/slf.def.nexus.m4a",["voice.vl2"]],"audio/voice/male5/slf.def.nexus.wav":["audio/voice/Male5/slf.def.nexus.WAV",["voice.vl2"]],"audio/voice/male5/slf.def.sensors.m4a":["audio/voice/Male5/slf.def.sensors.m4a",["voice.vl2"]],"audio/voice/male5/slf.def.sensors.wav":["audio/voice/Male5/slf.def.sensors.WAV",["voice.vl2"]],"audio/voice/male5/slf.def.turrets.m4a":["audio/voice/Male5/slf.def.turrets.m4a",["voice.vl2"]],"audio/voice/male5/slf.def.turrets.wav":["audio/voice/Male5/slf.def.turrets.WAV",["voice.vl2"]],"audio/voice/male5/slf.def.vehicle.m4a":["audio/voice/Male5/slf.def.vehicle.m4a",["voice.vl2"]],"audio/voice/male5/slf.def.vehicle.wav":["audio/voice/Male5/slf.def.vehicle.WAV",["voice.vl2"]],"audio/voice/male5/slf.rep.base.m4a":["audio/voice/Male5/slf.rep.base.m4a",["voice.vl2"]],"audio/voice/male5/slf.rep.base.wav":["audio/voice/Male5/slf.rep.base.WAV",["voice.vl2"]],"audio/voice/male5/slf.rep.equipment.m4a":["audio/voice/Male5/slf.rep.equipment.m4a",["voice.vl2"]],"audio/voice/male5/slf.rep.equipment.wav":["audio/voice/Male5/slf.rep.equipment.WAV",["voice.vl2"]],"audio/voice/male5/slf.rep.generator.m4a":["audio/voice/Male5/slf.rep.generator.m4a",["voice.vl2"]],"audio/voice/male5/slf.rep.generator.wav":["audio/voice/Male5/slf.rep.generator.WAV",["voice.vl2"]],"audio/voice/male5/slf.rep.repairing.m4a":["audio/voice/Male5/slf.rep.repairing.m4a",["voice.vl2"]],"audio/voice/male5/slf.rep.repairing.wav":["audio/voice/Male5/slf.rep.repairing.WAV",["voice.vl2"]],"audio/voice/male5/slf.rep.sensors.m4a":["audio/voice/Male5/slf.rep.sensors.m4a",["voice.vl2"]],"audio/voice/male5/slf.rep.sensors.wav":["audio/voice/Male5/slf.rep.sensors.WAV",["voice.vl2"]],"audio/voice/male5/slf.rep.turrets.m4a":["audio/voice/Male5/slf.rep.turrets.m4a",["voice.vl2"]],"audio/voice/male5/slf.rep.turrets.wav":["audio/voice/Male5/slf.rep.turrets.WAV",["voice.vl2"]],"audio/voice/male5/slf.rep.vehicle.m4a":["audio/voice/Male5/slf.rep.vehicle.m4a",["voice.vl2"]],"audio/voice/male5/slf.rep.vehicle.wav":["audio/voice/Male5/slf.rep.vehicle.WAV",["voice.vl2"]],"audio/voice/male5/slf.tsk.cover.m4a":["audio/voice/Male5/slf.tsk.cover.m4a",["voice.vl2"]],"audio/voice/male5/slf.tsk.cover.wav":["audio/voice/Male5/slf.tsk.cover.WAV",["voice.vl2"]],"audio/voice/male5/slf.tsk.defense.m4a":["audio/voice/Male5/slf.tsk.defense.m4a",["voice.vl2"]],"audio/voice/male5/slf.tsk.defense.wav":["audio/voice/Male5/slf.tsk.defense.WAV",["voice.vl2"]],"audio/voice/male5/slf.tsk.generic.m4a":["audio/voice/Male5/slf.tsk.generic.m4a",["voice.vl2"]],"audio/voice/male5/slf.tsk.generic.wav":["audio/voice/Male5/slf.tsk.generic.WAV",["voice.vl2"]],"audio/voice/male5/slf.tsk.remotes.m4a":["audio/voice/Male5/slf.tsk.remotes.m4a",["voice.vl2"]],"audio/voice/male5/slf.tsk.remotes.wav":["audio/voice/Male5/slf.tsk.remotes.WAV",["voice.vl2"]],"audio/voice/male5/slf.tsk.sensors.m4a":["audio/voice/Male5/slf.tsk.sensors.m4a",["voice.vl2"]],"audio/voice/male5/slf.tsk.sensors.wav":["audio/voice/Male5/slf.tsk.sensors.WAV",["voice.vl2"]],"audio/voice/male5/slf.tsk.turrets.m4a":["audio/voice/Male5/slf.tsk.turrets.m4a",["voice.vl2"]],"audio/voice/male5/slf.tsk.turrets.wav":["audio/voice/Male5/slf.tsk.turrets.WAV",["voice.vl2"]],"audio/voice/male5/slf.tsk.vehicle.m4a":["audio/voice/Male5/slf.tsk.vehicle.m4a",["voice.vl2"]],"audio/voice/male5/slf.tsk.vehicle.wav":["audio/voice/Male5/slf.tsk.vehicle.WAV",["voice.vl2"]],"audio/voice/male5/tgt.acquired.m4a":["audio/voice/Male5/tgt.acquired.m4a",["voice.vl2"]],"audio/voice/male5/tgt.acquired.wav":["audio/voice/Male5/tgt.acquired.WAV",["voice.vl2"]],"audio/voice/male5/tgt.base.m4a":["audio/voice/Male5/tgt.base.m4a",["voice.vl2"]],"audio/voice/male5/tgt.base.wav":["audio/voice/Male5/tgt.base.WAV",["voice.vl2"]],"audio/voice/male5/tgt.destroyed.m4a":["audio/voice/Male5/tgt.destroyed.m4a",["voice.vl2"]],"audio/voice/male5/tgt.destroyed.wav":["audio/voice/Male5/tgt.destroyed.WAV",["voice.vl2"]],"audio/voice/male5/tgt.flag.m4a":["audio/voice/Male5/tgt.flag.m4a",["voice.vl2"]],"audio/voice/male5/tgt.flag.wav":["audio/voice/Male5/tgt.flag.WAV",["voice.vl2"]],"audio/voice/male5/tgt.my.m4a":["audio/voice/Male5/tgt.my.m4a",["voice.vl2"]],"audio/voice/male5/tgt.my.wav":["audio/voice/Male5/tgt.my.WAV",["voice.vl2"]],"audio/voice/male5/tgt.need.m4a":["audio/voice/Male5/tgt.need.m4a",["voice.vl2"]],"audio/voice/male5/tgt.need.wav":["audio/voice/Male5/tgt.need.WAV",["voice.vl2"]],"audio/voice/male5/tgt.sensors.m4a":["audio/voice/Male5/tgt.sensors.m4a",["voice.vl2"]],"audio/voice/male5/tgt.sensors.wav":["audio/voice/Male5/tgt.sensors.WAV",["voice.vl2"]],"audio/voice/male5/tgt.turret.m4a":["audio/voice/Male5/tgt.turret.m4a",["voice.vl2"]],"audio/voice/male5/tgt.turret.wav":["audio/voice/Male5/tgt.turret.WAV",["voice.vl2"]],"audio/voice/male5/tgt.wait.m4a":["audio/voice/Male5/tgt.wait.m4a",["voice.vl2"]],"audio/voice/male5/tgt.wait.wav":["audio/voice/Male5/tgt.wait.WAV",["voice.vl2"]],"audio/voice/male5/vqk.anytime.m4a":["audio/voice/Male5/vqk.anytime.m4a",["voice.vl2"]],"audio/voice/male5/vqk.anytime.wav":["audio/voice/Male5/vqk.anytime.WAV",["voice.vl2"]],"audio/voice/male5/vqk.base.m4a":["audio/voice/Male5/vqk.base.m4a",["voice.vl2"]],"audio/voice/male5/vqk.base.wav":["audio/voice/Male5/vqk.base.WAV",["voice.vl2"]],"audio/voice/male5/vqk.ceasefire.m4a":["audio/voice/Male5/vqk.ceasefire.m4a",["voice.vl2"]],"audio/voice/male5/vqk.ceasefire.wav":["audio/voice/Male5/vqk.ceasefire.WAV",["voice.vl2"]],"audio/voice/male5/vqk.dunno.m4a":["audio/voice/Male5/vqk.dunno.m4a",["voice.vl2"]],"audio/voice/male5/vqk.dunno.wav":["audio/voice/Male5/vqk.dunno.WAV",["voice.vl2"]],"audio/voice/male5/vqk.help.m4a":["audio/voice/Male5/vqk.help.m4a",["voice.vl2"]],"audio/voice/male5/vqk.help.wav":["audio/voice/Male5/vqk.help.WAV",["voice.vl2"]],"audio/voice/male5/vqk.move.m4a":["audio/voice/Male5/vqk.move.m4a",["voice.vl2"]],"audio/voice/male5/vqk.move.wav":["audio/voice/Male5/vqk.move.WAV",["voice.vl2"]],"audio/voice/male5/vqk.no.m4a":["audio/voice/Male5/vqk.no.m4a",["voice.vl2"]],"audio/voice/male5/vqk.no.wav":["audio/voice/Male5/vqk.no.WAV",["voice.vl2"]],"audio/voice/male5/vqk.quiet.m4a":["audio/voice/Male5/vqk.quiet.m4a",["voice.vl2"]],"audio/voice/male5/vqk.quiet.wav":["audio/voice/Male5/vqk.quiet.WAV",["voice.vl2"]],"audio/voice/male5/vqk.sorry.m4a":["audio/voice/Male5/vqk.sorry.m4a",["voice.vl2"]],"audio/voice/male5/vqk.sorry.wav":["audio/voice/Male5/vqk.sorry.WAV",["voice.vl2"]],"audio/voice/male5/vqk.thanks.m4a":["audio/voice/Male5/vqk.thanks.m4a",["voice.vl2"]],"audio/voice/male5/vqk.thanks.wav":["audio/voice/Male5/vqk.thanks.WAV",["voice.vl2"]],"audio/voice/male5/vqk.wait.m4a":["audio/voice/Male5/vqk.wait.m4a",["voice.vl2"]],"audio/voice/male5/vqk.wait.wav":["audio/voice/Male5/vqk.wait.WAV",["voice.vl2"]],"audio/voice/male5/vqk.yes.m4a":["audio/voice/Male5/vqk.yes.m4a",["voice.vl2"]],"audio/voice/male5/vqk.yes.wav":["audio/voice/Male5/vqk.yes.WAV",["voice.vl2"]],"audio/voice/male5/wrn.bomber.m4a":["audio/voice/Male5/wrn.bomber.m4a",["voice.vl2"]],"audio/voice/male5/wrn.bomber.wav":["audio/voice/Male5/wrn.bomber.WAV",["voice.vl2"]],"audio/voice/male5/wrn.enemy.m4a":["audio/voice/Male5/wrn.enemy.m4a",["voice.vl2"]],"audio/voice/male5/wrn.enemy.wav":["audio/voice/Male5/wrn.enemy.WAV",["voice.vl2"]],"audio/voice/male5/wrn.vehicles.m4a":["audio/voice/Male5/wrn.vehicles.m4a",["voice.vl2"]],"audio/voice/male5/wrn.vehicles.wav":["audio/voice/Male5/wrn.vehicles.WAV",["voice.vl2"]],"audio/voice/male5/wrn.watchit.m4a":["audio/voice/Male5/wrn.watchit.m4a",["voice.vl2"]],"audio/voice/male5/wrn.watchit.wav":["audio/voice/Male5/wrn.watchit.WAV",["voice.vl2"]],"audio/voice/training/any/any.abort.m4a":["audio/voice/Training/Any/ANY.abort.m4a",["voice.vl2"]],"audio/voice/training/any/any.abort.wav":["audio/voice/Training/Any/ANY.abort.WAV",["voice.vl2"]],"audio/voice/training/any/any.abortsoon.m4a":["audio/voice/Training/Any/ANY.abortsoon.m4a",["voice.vl2"]],"audio/voice/training/any/any.abortsoon.wav":["audio/voice/Training/Any/ANY.abortsoon.WAV",["voice.vl2"]],"audio/voice/training/any/any.abortwarn.m4a":["audio/voice/Training/Any/ANY.abortwarn.m4a",["voice.vl2"]],"audio/voice/training/any/any.abortwarn.wav":["audio/voice/Training/Any/ANY.abortwarn.WAV",["voice.vl2"]],"audio/voice/training/any/any.alright.m4a":["audio/voice/Training/Any/ANY.alright.m4a",["voice.vl2"]],"audio/voice/training/any/any.alright.wav":["audio/voice/Training/Any/ANY.alright.WAV",["voice.vl2"]],"audio/voice/training/any/any.blowoff01.m4a":["audio/voice/Training/Any/ANY.blowoff01.m4a",["voice.vl2"]],"audio/voice/training/any/any.blowoff01.wav":["audio/voice/Training/Any/ANY.blowoff01.WAV",["voice.vl2"]],"audio/voice/training/any/any.blowoff02.m4a":["audio/voice/Training/Any/ANY.blowoff02.m4a",["voice.vl2"]],"audio/voice/training/any/any.blowoff02.wav":["audio/voice/Training/Any/ANY.blowoff02.WAV",["voice.vl2"]],"audio/voice/training/any/any.blowoff03.m4a":["audio/voice/Training/Any/ANY.blowoff03.m4a",["voice.vl2"]],"audio/voice/training/any/any.blowoff03.wav":["audio/voice/Training/Any/ANY.blowoff03.WAV",["voice.vl2"]],"audio/voice/training/any/any.careful.m4a":["audio/voice/Training/Any/ANY.careful.m4a",["voice.vl2"]],"audio/voice/training/any/any.careful.wav":["audio/voice/Training/Any/ANY.careful.WAV",["voice.vl2"]],"audio/voice/training/any/any.check01.m4a":["audio/voice/Training/Any/ANY.check01.m4a",["voice.vl2"]],"audio/voice/training/any/any.check01.wav":["audio/voice/Training/Any/ANY.check01.WAV",["voice.vl2"]],"audio/voice/training/any/any.check02.m4a":["audio/voice/Training/Any/ANY.check02.m4a",["voice.vl2"]],"audio/voice/training/any/any.check02.wav":["audio/voice/Training/Any/ANY.check02.WAV",["voice.vl2"]],"audio/voice/training/any/any.good.m4a":["audio/voice/Training/Any/ANY.good.m4a",["voice.vl2"]],"audio/voice/training/any/any.good.wav":["audio/voice/Training/Any/ANY.good.WAV",["voice.vl2"]],"audio/voice/training/any/any.healthkit.m4a":["audio/voice/Training/Any/ANY.healthkit.m4a",["voice.vl2"]],"audio/voice/training/any/any.healthkit.wav":["audio/voice/Training/Any/ANY.healthkit.WAV",["voice.vl2"]],"audio/voice/training/any/any.hunting.m4a":["audio/voice/Training/Any/ANY.hunting.m4a",["voice.vl2"]],"audio/voice/training/any/any.hunting.wav":["audio/voice/Training/Any/ANY.hunting.WAV",["voice.vl2"]],"audio/voice/training/any/any.incoming_msg.m4a":["audio/voice/Training/Any/ANY.incoming_msg.m4a",["voice.vl2"]],"audio/voice/training/any/any.incoming_msg.wav":["audio/voice/Training/Any/ANY.incoming_msg.WAV",["voice.vl2"]],"audio/voice/training/any/any.jingo01.m4a":["audio/voice/Training/Any/ANY.jingo01.m4a",["voice.vl2"]],"audio/voice/training/any/any.jingo01.wav":["audio/voice/Training/Any/ANY.jingo01.WAV",["voice.vl2"]],"audio/voice/training/any/any.jingo02.m4a":["audio/voice/Training/Any/ANY.jingo02.m4a",["voice.vl2"]],"audio/voice/training/any/any.jingo02.wav":["audio/voice/Training/Any/ANY.jingo02.WAV",["voice.vl2"]],"audio/voice/training/any/any.jingo03.m4a":["audio/voice/Training/Any/ANY.jingo03.m4a",["voice.vl2"]],"audio/voice/training/any/any.jingo03.wav":["audio/voice/Training/Any/ANY.jingo03.WAV",["voice.vl2"]],"audio/voice/training/any/any.kudo01.m4a":["audio/voice/Training/Any/ANY.kudo01.m4a",["voice.vl2"]],"audio/voice/training/any/any.kudo01.wav":["audio/voice/Training/Any/ANY.kudo01.WAV",["voice.vl2"]],"audio/voice/training/any/any.kudo02.m4a":["audio/voice/Training/Any/ANY.kudo02.m4a",["voice.vl2"]],"audio/voice/training/any/any.kudo02.wav":["audio/voice/Training/Any/ANY.kudo02.WAV",["voice.vl2"]],"audio/voice/training/any/any.kudo03.m4a":["audio/voice/Training/Any/ANY.kudo03.m4a",["voice.vl2"]],"audio/voice/training/any/any.kudo03.wav":["audio/voice/Training/Any/ANY.kudo03.WAV",["voice.vl2"]],"audio/voice/training/any/any.kudo04.m4a":["audio/voice/Training/Any/ANY.kudo04.m4a",["voice.vl2"]],"audio/voice/training/any/any.kudo04.wav":["audio/voice/Training/Any/ANY.kudo04.WAV",["voice.vl2"]],"audio/voice/training/any/any.obj_complete_01.m4a":["audio/voice/Training/Any/ANY.obj_complete_01.m4a",["voice.vl2"]],"audio/voice/training/any/any.obj_complete_01.wav":["audio/voice/Training/Any/ANY.obj_complete_01.WAV",["voice.vl2"]],"audio/voice/training/any/any.obj_complete_02.m4a":["audio/voice/Training/Any/ANY.obj_complete_02.m4a",["voice.vl2"]],"audio/voice/training/any/any.obj_complete_02.wav":["audio/voice/Training/Any/ANY.obj_complete_02.WAV",["voice.vl2"]],"audio/voice/training/any/any.offcourse.m4a":["audio/voice/Training/Any/ANY.offcourse.m4a",["voice.vl2"]],"audio/voice/training/any/any.offcourse.wav":["audio/voice/Training/Any/ANY.offcourse.WAV",["voice.vl2"]],"audio/voice/training/any/any.prompt01.m4a":["audio/voice/Training/Any/ANY.prompt01.m4a",["voice.vl2"]],"audio/voice/training/any/any.prompt01.wav":["audio/voice/Training/Any/ANY.prompt01.WAV",["voice.vl2"]],"audio/voice/training/any/any.prompt02.m4a":["audio/voice/Training/Any/ANY.prompt02.m4a",["voice.vl2"]],"audio/voice/training/any/any.prompt02.wav":["audio/voice/Training/Any/ANY.prompt02.WAV",["voice.vl2"]],"audio/voice/training/any/any.prompt03.m4a":["audio/voice/Training/Any/ANY.prompt03.m4a",["voice.vl2"]],"audio/voice/training/any/any.prompt03.wav":["audio/voice/Training/Any/ANY.prompt03.WAV",["voice.vl2"]],"audio/voice/training/any/any.prompt04.m4a":["audio/voice/Training/Any/ANY.prompt04.m4a",["voice.vl2"]],"audio/voice/training/any/any.prompt04.wav":["audio/voice/Training/Any/ANY.prompt04.WAV",["voice.vl2"]],"audio/voice/training/any/any.prompt05.m4a":["audio/voice/Training/Any/ANY.prompt05.m4a",["voice.vl2"]],"audio/voice/training/any/any.prompt05.wav":["audio/voice/Training/Any/ANY.prompt05.WAV",["voice.vl2"]],"audio/voice/training/any/any.prompt06.m4a":["audio/voice/Training/Any/ANY.prompt06.m4a",["voice.vl2"]],"audio/voice/training/any/any.prompt06.wav":["audio/voice/Training/Any/ANY.prompt06.WAV",["voice.vl2"]],"audio/voice/training/any/any.prompt07.m4a":["audio/voice/Training/Any/ANY.prompt07.m4a",["voice.vl2"]],"audio/voice/training/any/any.prompt07.wav":["audio/voice/Training/Any/ANY.prompt07.WAV",["voice.vl2"]],"audio/voice/training/any/any.timer01.m4a":["audio/voice/Training/Any/ANY.timer01.m4a",["voice.vl2"]],"audio/voice/training/any/any.timer01.wav":["audio/voice/Training/Any/ANY.timer01.WAV",["voice.vl2"]],"audio/voice/training/any/any.timer02.m4a":["audio/voice/Training/Any/ANY.timer02.m4a",["voice.vl2"]],"audio/voice/training/any/any.timer02.wav":["audio/voice/Training/Any/ANY.timer02.WAV",["voice.vl2"]],"audio/voice/training/any/any.tip.scavenge01.m4a":["audio/voice/Training/Any/ANY.tip.scavenge01.m4a",["voice.vl2"]],"audio/voice/training/any/any.tip.scavenge01.wav":["audio/voice/Training/Any/ANY.tip.scavenge01.WAV",["voice.vl2"]],"audio/voice/training/any/any.tip.scavenge02.m4a":["audio/voice/Training/Any/ANY.tip.scavenge02.m4a",["voice.vl2"]],"audio/voice/training/any/any.tip.scavenge02.wav":["audio/voice/Training/Any/ANY.tip.scavenge02.WAV",["voice.vl2"]],"audio/voice/training/any/any.tip.skiing.m4a":["audio/voice/Training/Any/ANY.tip.skiing.m4a",["voice.vl2"]],"audio/voice/training/any/any.tip.skiing.wav":["audio/voice/Training/Any/ANY.tip.skiing.WAV",["voice.vl2"]],"audio/voice/training/any/any.tip_now01.m4a":["audio/voice/Training/Any/ANY.tip_now01.m4a",["voice.vl2"]],"audio/voice/training/any/any.tip_now01.wav":["audio/voice/Training/Any/ANY.tip_now01.WAV",["voice.vl2"]],"audio/voice/training/any/any.tip_now02.m4a":["audio/voice/Training/Any/ANY.tip_now02.m4a",["voice.vl2"]],"audio/voice/training/any/any.tip_now02.wav":["audio/voice/Training/Any/ANY.tip_now02.WAV",["voice.vl2"]],"audio/voice/training/any/any.warning01.m4a":["audio/voice/Training/Any/ANY.warning01.m4a",["voice.vl2"]],"audio/voice/training/any/any.warning01.wav":["audio/voice/Training/Any/ANY.warning01.WAV",["voice.vl2"]],"audio/voice/training/any/any.warning02.m4a":["audio/voice/Training/Any/ANY.warning02.m4a",["voice.vl2"]],"audio/voice/training/any/any.warning02.wav":["audio/voice/Training/Any/ANY.warning02.WAV",["voice.vl2"]],"audio/voice/training/any/any.warning03.m4a":["audio/voice/Training/Any/ANY.warning03.m4a",["voice.vl2"]],"audio/voice/training/any/any.warning03.wav":["audio/voice/Training/Any/ANY.warning03.WAV",["voice.vl2"]],"audio/voice/training/any/any.warning04.m4a":["audio/voice/Training/Any/ANY.warning04.m4a",["voice.vl2"]],"audio/voice/training/any/any.warning04.wav":["audio/voice/Training/Any/ANY.warning04.WAV",["voice.vl2"]],"audio/voice/training/any/any.warning05.m4a":["audio/voice/Training/Any/ANY.warning05.m4a",["voice.vl2"]],"audio/voice/training/any/any.warning05.wav":["audio/voice/Training/Any/ANY.warning05.WAV",["voice.vl2"]],"audio/voice/training/any/any.warning06.m4a":["audio/voice/Training/Any/ANY.warning06.m4a",["voice.vl2"]],"audio/voice/training/any/any.warning06.wav":["audio/voice/Training/Any/ANY.warning06.WAV",["voice.vl2"]],"audio/voice/training/any/any.warning07.m4a":["audio/voice/Training/Any/ANY.warning07.m4a",["voice.vl2"]],"audio/voice/training/any/any.warning07.wav":["audio/voice/Training/Any/ANY.warning07.WAV",["voice.vl2"]],"audio/voice/training/any/any.waypoint01.m4a":["audio/voice/Training/Any/ANY.waypoint01.m4a",["voice.vl2"]],"audio/voice/training/any/any.waypoint01.wav":["audio/voice/Training/Any/ANY.waypoint01.WAV",["voice.vl2"]],"audio/voice/training/any/any.waypoint02.m4a":["audio/voice/Training/Any/ANY.waypoint02.m4a",["voice.vl2"]],"audio/voice/training/any/any.waypoint02.wav":["audio/voice/Training/Any/ANY.waypoint02.WAV",["voice.vl2"]],"audio/voice/training/any/any.waypoint03.m4a":["audio/voice/Training/Any/ANY.waypoint03.m4a",["voice.vl2"]],"audio/voice/training/any/any.waypoint03.wav":["audio/voice/Training/Any/ANY.waypoint03.WAV",["voice.vl2"]],"audio/voice/training/briefings/t1.brief01.m4a":["audio/voice/Training/Briefings/T1.brief01.m4a",["voice.vl2"]],"audio/voice/training/briefings/t1.brief01.wav":["audio/voice/Training/Briefings/T1.brief01.WAV",["voice.vl2"]],"audio/voice/training/briefings/t1.brief02.m4a":["audio/voice/Training/Briefings/T1.brief02.m4a",["voice.vl2"]],"audio/voice/training/briefings/t1.brief02.wav":["audio/voice/Training/Briefings/T1.brief02.WAV",["voice.vl2"]],"audio/voice/training/briefings/t1.brief03.m4a":["audio/voice/Training/Briefings/T1.brief03.m4a",["voice.vl2"]],"audio/voice/training/briefings/t1.brief03.wav":["audio/voice/Training/Briefings/T1.brief03.WAV",["voice.vl2"]],"audio/voice/training/briefings/t1.brief04.m4a":["audio/voice/Training/Briefings/T1.brief04.m4a",["voice.vl2"]],"audio/voice/training/briefings/t1.brief04.wav":["audio/voice/Training/Briefings/T1.brief04.WAV",["voice.vl2"]],"audio/voice/training/briefings/t1.brief05.m4a":["audio/voice/Training/Briefings/T1.brief05.m4a",["voice.vl2"]],"audio/voice/training/briefings/t1.brief05.wav":["audio/voice/Training/Briefings/T1.brief05.WAV",["voice.vl2"]],"audio/voice/training/briefings/t1.brief06.m4a":["audio/voice/Training/Briefings/T1.brief06.m4a",["voice.vl2"]],"audio/voice/training/briefings/t1.brief06.wav":["audio/voice/Training/Briefings/T1.brief06.WAV",["voice.vl2"]],"audio/voice/training/briefings/t2.brief01.m4a":["audio/voice/Training/Briefings/T2.brief01.m4a",["voice.vl2"]],"audio/voice/training/briefings/t2.brief01.wav":["audio/voice/Training/Briefings/T2.brief01.WAV",["voice.vl2"]],"audio/voice/training/briefings/t2.brief02.m4a":["audio/voice/Training/Briefings/T2.brief02.m4a",["voice.vl2"]],"audio/voice/training/briefings/t2.brief02.wav":["audio/voice/Training/Briefings/T2.brief02.WAV",["voice.vl2"]],"audio/voice/training/briefings/t2.brief03.m4a":["audio/voice/Training/Briefings/T2.brief03.m4a",["voice.vl2"]],"audio/voice/training/briefings/t2.brief03.wav":["audio/voice/Training/Briefings/T2.brief03.WAV",["voice.vl2"]],"audio/voice/training/briefings/t2.brief04.m4a":["audio/voice/Training/Briefings/T2.brief04.m4a",["voice.vl2"]],"audio/voice/training/briefings/t2.brief04.wav":["audio/voice/Training/Briefings/T2.brief04.WAV",["voice.vl2"]],"audio/voice/training/briefings/t2.brief05.m4a":["audio/voice/Training/Briefings/T2.brief05.m4a",["voice.vl2"]],"audio/voice/training/briefings/t2.brief05.wav":["audio/voice/Training/Briefings/T2.brief05.WAV",["voice.vl2"]],"audio/voice/training/briefings/t2.brief06.m4a":["audio/voice/Training/Briefings/T2.brief06.m4a",["voice.vl2"]],"audio/voice/training/briefings/t2.brief06.wav":["audio/voice/Training/Briefings/T2.brief06.WAV",["voice.vl2"]],"audio/voice/training/briefings/t3.brief01.m4a":["audio/voice/Training/Briefings/T3.brief01.m4a",["voice.vl2"]],"audio/voice/training/briefings/t3.brief01.wav":["audio/voice/Training/Briefings/T3.brief01.WAV",["voice.vl2"]],"audio/voice/training/briefings/t3.brief02.m4a":["audio/voice/Training/Briefings/T3.brief02.m4a",["voice.vl2"]],"audio/voice/training/briefings/t3.brief02.wav":["audio/voice/Training/Briefings/T3.brief02.WAV",["voice.vl2"]],"audio/voice/training/briefings/t3.brief03.m4a":["audio/voice/Training/Briefings/T3.brief03.m4a",["voice.vl2"]],"audio/voice/training/briefings/t3.brief03.wav":["audio/voice/Training/Briefings/T3.brief03.WAV",["voice.vl2"]],"audio/voice/training/briefings/t3.brief04.m4a":["audio/voice/Training/Briefings/T3.brief04.m4a",["voice.vl2"]],"audio/voice/training/briefings/t3.brief04.wav":["audio/voice/Training/Briefings/T3.brief04.WAV",["voice.vl2"]],"audio/voice/training/briefings/t3.brief05.m4a":["audio/voice/Training/Briefings/T3.brief05.m4a",["voice.vl2"]],"audio/voice/training/briefings/t3.brief05.wav":["audio/voice/Training/Briefings/T3.brief05.WAV",["voice.vl2"]],"audio/voice/training/briefings/t3.brief06.m4a":["audio/voice/Training/Briefings/T3.brief06.m4a",["voice.vl2"]],"audio/voice/training/briefings/t3.brief06.wav":["audio/voice/Training/Briefings/T3.brief06.WAV",["voice.vl2"]],"audio/voice/training/briefings/t4.brief01.m4a":["audio/voice/Training/Briefings/T4.brief01.m4a",["voice.vl2"]],"audio/voice/training/briefings/t4.brief01.wav":["audio/voice/Training/Briefings/T4.brief01.WAV",["voice.vl2"]],"audio/voice/training/briefings/t4.brief02.m4a":["audio/voice/Training/Briefings/T4.brief02.m4a",["voice.vl2"]],"audio/voice/training/briefings/t4.brief02.wav":["audio/voice/Training/Briefings/T4.brief02.WAV",["voice.vl2"]],"audio/voice/training/briefings/t4.brief03.m4a":["audio/voice/Training/Briefings/T4.brief03.m4a",["voice.vl2"]],"audio/voice/training/briefings/t4.brief03.wav":["audio/voice/Training/Briefings/T4.brief03.WAV",["voice.vl2"]],"audio/voice/training/briefings/t4.brief04.m4a":["audio/voice/Training/Briefings/T4.brief04.m4a",["voice.vl2"]],"audio/voice/training/briefings/t4.brief04.wav":["audio/voice/Training/Briefings/T4.brief04.WAV",["voice.vl2"]],"audio/voice/training/briefings/t4.brief05.m4a":["audio/voice/Training/Briefings/T4.brief05.m4a",["voice.vl2"]],"audio/voice/training/briefings/t4.brief05.wav":["audio/voice/Training/Briefings/T4.brief05.WAV",["voice.vl2"]],"audio/voice/training/briefings/t4.brief06.m4a":["audio/voice/Training/Briefings/T4.brief06.m4a",["voice.vl2"]],"audio/voice/training/briefings/t4.brief06.wav":["audio/voice/Training/Briefings/T4.brief06.WAV",["voice.vl2"]],"audio/voice/training/briefings/t5.brief01.m4a":["audio/voice/Training/Briefings/T5.brief01.m4a",["voice.vl2"]],"audio/voice/training/briefings/t5.brief01.wav":["audio/voice/Training/Briefings/T5.brief01.WAV",["voice.vl2"]],"audio/voice/training/briefings/t5.brief02.m4a":["audio/voice/Training/Briefings/T5.brief02.m4a",["voice.vl2"]],"audio/voice/training/briefings/t5.brief02.wav":["audio/voice/Training/Briefings/T5.brief02.WAV",["voice.vl2"]],"audio/voice/training/briefings/t5.brief03.m4a":["audio/voice/Training/Briefings/T5.brief03.m4a",["voice.vl2"]],"audio/voice/training/briefings/t5.brief03.wav":["audio/voice/Training/Briefings/T5.brief03.WAV",["voice.vl2"]],"audio/voice/training/briefings/t5.brief04.m4a":["audio/voice/Training/Briefings/T5.brief04.m4a",["voice.vl2"]],"audio/voice/training/briefings/t5.brief04.wav":["audio/voice/Training/Briefings/T5.brief04.WAV",["voice.vl2"]],"audio/voice/training/briefings/t5.brief05.m4a":["audio/voice/Training/Briefings/T5.brief05.m4a",["voice.vl2"]],"audio/voice/training/briefings/t5.brief05.wav":["audio/voice/Training/Briefings/T5.brief05.WAV",["voice.vl2"]],"audio/voice/training/briefings/t5.brief06.m4a":["audio/voice/Training/Briefings/T5.brief06.m4a",["voice.vl2"]],"audio/voice/training/briefings/t5.brief06.wav":["audio/voice/Training/Briefings/T5.brief06.WAV",["voice.vl2"]],"audio/voice/training/briefings/t6.brief01.m4a":["audio/voice/Training/Briefings/T6.brief01.m4a",["voice.vl2"]],"audio/voice/training/briefings/t6.brief01.wav":["audio/voice/Training/Briefings/T6.brief01.WAV",["voice.vl2"]],"audio/voice/training/briefings/t6.brief02.m4a":["audio/voice/Training/Briefings/T6.brief02.m4a",["voice.vl2"]],"audio/voice/training/briefings/t6.brief02.wav":["audio/voice/Training/Briefings/T6.brief02.WAV",["voice.vl2"]],"audio/voice/training/briefings/t6.brief03.m4a":["audio/voice/Training/Briefings/T6.brief03.m4a",["voice.vl2"]],"audio/voice/training/briefings/t6.brief03.wav":["audio/voice/Training/Briefings/T6.brief03.WAV",["voice.vl2"]],"audio/voice/training/briefings/t6.brief04.m4a":["audio/voice/Training/Briefings/T6.brief04.m4a",["voice.vl2"]],"audio/voice/training/briefings/t6.brief04.wav":["audio/voice/Training/Briefings/T6.brief04.WAV",["voice.vl2"]],"audio/voice/training/briefings/t6.brief05.m4a":["audio/voice/Training/Briefings/T6.brief05.m4a",["voice.vl2"]],"audio/voice/training/briefings/t6.brief05.wav":["audio/voice/Training/Briefings/T6.brief05.WAV",["voice.vl2"]],"audio/voice/training/briefings/t6.brief06.m4a":["audio/voice/Training/Briefings/T6.brief06.m4a",["voice.vl2"]],"audio/voice/training/briefings/t6.brief06.wav":["audio/voice/Training/Briefings/T6.brief06.WAV",["voice.vl2"]],"audio/voice/training/mission1/any.move.m4a":["audio/voice/Training/Mission1/ANY.move.m4a",["voice.vl2"]],"audio/voice/training/mission1/any.move.wav":["audio/voice/Training/Mission1/ANY.move.WAV",["voice.vl2"]],"audio/voice/training/mission1/any.practice.m4a":["audio/voice/Training/Mission1/ANY.practice.m4a",["voice.vl2"]],"audio/voice/training/mission1/any.practice.wav":["audio/voice/Training/Mission1/ANY.practice.WAV",["voice.vl2"]],"audio/voice/training/mission1/any.practice1.m4a":["audio/voice/Training/Mission1/ANY.practice1.m4a",["voice.vl2"]],"audio/voice/training/mission1/any.practice1.wav":["audio/voice/Training/Mission1/ANY.practice1.WAV",["voice.vl2"]],"audio/voice/training/mission1/any.warning06.m4a":["audio/voice/Training/Mission1/ANY.warning06.m4a",["voice.vl2"]],"audio/voice/training/mission1/any.warning06.wav":["audio/voice/Training/Mission1/ANY.warning06.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.blaster01.m4a":["audio/voice/Training/Mission1/T1.tip.blaster01.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.blaster01.wav":["audio/voice/Training/Mission1/T1.tip.blaster01.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.chaingun.m4a":["audio/voice/Training/Mission1/T1.tip.chaingun.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.chaingun.wav":["audio/voice/Training/Mission1/T1.tip.chaingun.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.energy.m4a":["audio/voice/Training/Mission1/T1.tip.energy.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.energy.wav":["audio/voice/Training/Mission1/T1.tip.energy.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.iff.m4a":["audio/voice/Training/Mission1/T1.tip.IFF.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.iff.wav":["audio/voice/Training/Mission1/T1.tip.IFF.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.jets01.m4a":["audio/voice/Training/Mission1/T1.tip.jets01.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.jets01.wav":["audio/voice/Training/Mission1/T1.tip.jets01.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.jets02.m4a":["audio/voice/Training/Mission1/T1.tip.jets02.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.jets02.wav":["audio/voice/Training/Mission1/T1.tip.jets02.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.jets03.m4a":["audio/voice/Training/Mission1/T1.tip.jets03.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.jets03.wav":["audio/voice/Training/Mission1/T1.tip.jets03.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.pack01.m4a":["audio/voice/Training/Mission1/T1.tip.pack01.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.pack01.wav":["audio/voice/Training/Mission1/T1.tip.pack01.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.pack02.m4a":["audio/voice/Training/Mission1/T1.tip.pack02.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.pack02.wav":["audio/voice/Training/Mission1/T1.tip.pack02.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.skiing01.m4a":["audio/voice/Training/Mission1/T1.tip.skiing01.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.skiing01.wav":["audio/voice/Training/Mission1/T1.tip.skiing01.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.skiing02.m4a":["audio/voice/Training/Mission1/T1.tip.skiing02.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.skiing02.wav":["audio/voice/Training/Mission1/T1.tip.skiing02.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.skiing02a.m4a":["audio/voice/Training/Mission1/T1.tip.skiing02a.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.skiing02a.wav":["audio/voice/Training/Mission1/T1.tip.skiing02a.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.skiing03.m4a":["audio/voice/Training/Mission1/T1.tip.skiing03.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.skiing03.wav":["audio/voice/Training/Mission1/T1.tip.skiing03.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.sniper02.m4a":["audio/voice/Training/Mission1/T1.tip.sniper02.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.sniper02.wav":["audio/voice/Training/Mission1/T1.tip.sniper02.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.sniper03.m4a":["audio/voice/Training/Mission1/T1.tip.sniper03.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.sniper03.wav":["audio/voice/Training/Mission1/T1.tip.sniper03.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.sniper04.m4a":["audio/voice/Training/Mission1/T1.tip.sniper04.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.sniper04.wav":["audio/voice/Training/Mission1/T1.tip.sniper04.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.spinfusor.m4a":["audio/voice/Training/Mission1/T1.tip.spinfusor.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.spinfusor.wav":["audio/voice/Training/Mission1/T1.tip.spinfusor.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.tactics.m4a":["audio/voice/Training/Mission1/T1.tip.tactics.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.tactics.wav":["audio/voice/Training/Mission1/T1.tip.tactics.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.tactics02.m4a":["audio/voice/Training/Mission1/T1.tip.tactics02.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1.tip.tactics02.wav":["audio/voice/Training/Mission1/T1.tip.tactics02.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_01.m4a":["audio/voice/Training/Mission1/T1_01.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_01.wav":["audio/voice/Training/Mission1/T1_01.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_01a.m4a":["audio/voice/Training/Mission1/T1_01a.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_01a.wav":["audio/voice/Training/Mission1/T1_01a.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_01b.m4a":["audio/voice/Training/Mission1/T1_01b.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_01b.wav":["audio/voice/Training/Mission1/T1_01b.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_01c.m4a":["audio/voice/Training/Mission1/T1_01c.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_01c.wav":["audio/voice/Training/Mission1/T1_01c.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_02.m4a":["audio/voice/Training/Mission1/T1_02.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_02.wav":["audio/voice/Training/Mission1/T1_02.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_02a.m4a":["audio/voice/Training/Mission1/T1_02a.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_02a.wav":["audio/voice/Training/Mission1/T1_02a.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_03.m4a":["audio/voice/Training/Mission1/T1_03.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_03.wav":["audio/voice/Training/Mission1/T1_03.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_03a.m4a":["audio/voice/Training/Mission1/T1_03a.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_03a.wav":["audio/voice/Training/Mission1/T1_03a.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_03b.m4a":["audio/voice/Training/Mission1/T1_03b.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_03b.wav":["audio/voice/Training/Mission1/T1_03b.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_03c.m4a":["audio/voice/Training/Mission1/T1_03c.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_03c.wav":["audio/voice/Training/Mission1/T1_03c.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_04.m4a":["audio/voice/Training/Mission1/T1_04.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_04.wav":["audio/voice/Training/Mission1/T1_04.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_05.m4a":["audio/voice/Training/Mission1/T1_05.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_05.wav":["audio/voice/Training/Mission1/T1_05.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_06.m4a":["audio/voice/Training/Mission1/T1_06.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_06.wav":["audio/voice/Training/Mission1/T1_06.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_08.m4a":["audio/voice/Training/Mission1/T1_08.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_08.wav":["audio/voice/Training/Mission1/T1_08.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_09.m4a":["audio/voice/Training/Mission1/T1_09.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_09.wav":["audio/voice/Training/Mission1/T1_09.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_10.m4a":["audio/voice/Training/Mission1/T1_10.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_10.wav":["audio/voice/Training/Mission1/T1_10.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_10a.m4a":["audio/voice/Training/Mission1/T1_10a.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_10a.wav":["audio/voice/Training/Mission1/T1_10a.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_10b.m4a":["audio/voice/Training/Mission1/T1_10b.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_10b.wav":["audio/voice/Training/Mission1/T1_10b.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_11.m4a":["audio/voice/Training/Mission1/T1_11.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_11.wav":["audio/voice/Training/Mission1/T1_11.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_12a.m4a":["audio/voice/Training/Mission1/T1_12a.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_12a.wav":["audio/voice/Training/Mission1/T1_12a.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_12b.m4a":["audio/voice/Training/Mission1/T1_12b.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_12b.wav":["audio/voice/Training/Mission1/T1_12b.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_13.m4a":["audio/voice/Training/Mission1/T1_13.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_13.wav":["audio/voice/Training/Mission1/T1_13.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_14.m4a":["audio/voice/Training/Mission1/T1_14.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_14.wav":["audio/voice/Training/Mission1/T1_14.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_15.m4a":["audio/voice/Training/Mission1/T1_15.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_15.wav":["audio/voice/Training/Mission1/T1_15.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_16.m4a":["audio/voice/Training/Mission1/T1_16.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_16.wav":["audio/voice/Training/Mission1/T1_16.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_17.m4a":["audio/voice/Training/Mission1/T1_17.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_17.wav":["audio/voice/Training/Mission1/T1_17.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_18.m4a":["audio/voice/Training/Mission1/T1_18.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_18.wav":["audio/voice/Training/Mission1/T1_18.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_21.m4a":["audio/voice/Training/Mission1/T1_21.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_21.wav":["audio/voice/Training/Mission1/T1_21.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_22.m4a":["audio/voice/Training/Mission1/T1_22.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_22.wav":["audio/voice/Training/Mission1/T1_22.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_22a.m4a":["audio/voice/Training/Mission1/T1_22a.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_22a.wav":["audio/voice/Training/Mission1/T1_22a.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_23.m4a":["audio/voice/Training/Mission1/T1_23.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_23.wav":["audio/voice/Training/Mission1/T1_23.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_23a.m4a":["audio/voice/Training/Mission1/T1_23a.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_23a.wav":["audio/voice/Training/Mission1/T1_23a.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_23b.m4a":["audio/voice/Training/Mission1/T1_23b.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_23b.wav":["audio/voice/Training/Mission1/T1_23b.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_24.m4a":["audio/voice/Training/Mission1/T1_24.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_24.wav":["audio/voice/Training/Mission1/T1_24.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_24a.m4a":["audio/voice/Training/Mission1/T1_24a.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_24a.wav":["audio/voice/Training/Mission1/T1_24a.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_25.m4a":["audio/voice/Training/Mission1/T1_25.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_25.wav":["audio/voice/Training/Mission1/T1_25.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_25a.m4a":["audio/voice/Training/Mission1/T1_25a.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_25a.wav":["audio/voice/Training/Mission1/T1_25a.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_26.m4a":["audio/voice/Training/Mission1/T1_26.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_26.wav":["audio/voice/Training/Mission1/T1_26.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_27.m4a":["audio/voice/Training/Mission1/T1_27.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_27.wav":["audio/voice/Training/Mission1/T1_27.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_27a.m4a":["audio/voice/Training/Mission1/T1_27a.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_27a.wav":["audio/voice/Training/Mission1/T1_27a.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_27b.m4a":["audio/voice/Training/Mission1/T1_27b.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_27b.wav":["audio/voice/Training/Mission1/T1_27b.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_28.m4a":["audio/voice/Training/Mission1/T1_28.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_28.wav":["audio/voice/Training/Mission1/T1_28.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_29.m4a":["audio/voice/Training/Mission1/T1_29.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_29.wav":["audio/voice/Training/Mission1/T1_29.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_29a.m4a":["audio/voice/Training/Mission1/T1_29a.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_29a.wav":["audio/voice/Training/Mission1/T1_29a.WAV",["voice.vl2"]],"audio/voice/training/mission1/t1_30.m4a":["audio/voice/Training/Mission1/T1_30.m4a",["voice.vl2"]],"audio/voice/training/mission1/t1_30.wav":["audio/voice/Training/Mission1/T1_30.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2.cya01.m4a":["audio/voice/Training/Mission2/T2.cya01.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2.cya01.wav":["audio/voice/Training/Mission2/T2.cya01.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2.inventory01.m4a":["audio/voice/Training/Mission2/T2.inventory01.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2.inventory01.wav":["audio/voice/Training/Mission2/T2.inventory01.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2.repairpack.m4a":["audio/voice/Training/Mission2/T2.repairpack.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2.repairpack.wav":["audio/voice/Training/Mission2/T2.repairpack.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.defense01.m4a":["audio/voice/Training/Mission2/T2.tip.defense01.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.defense01.wav":["audio/voice/Training/Mission2/T2.tip.defense01.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.defense02.m4a":["audio/voice/Training/Mission2/T2.tip.defense02.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.defense02.wav":["audio/voice/Training/Mission2/T2.tip.defense02.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.defense03.m4a":["audio/voice/Training/Mission2/T2.tip.defense03.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.defense03.wav":["audio/voice/Training/Mission2/T2.tip.defense03.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.defense05.m4a":["audio/voice/Training/Mission2/T2.tip.defense05.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.defense05.wav":["audio/voice/Training/Mission2/T2.tip.defense05.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.defense05a.m4a":["audio/voice/Training/Mission2/T2.tip.defense05a.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.defense05a.wav":["audio/voice/Training/Mission2/T2.tip.defense05a.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.defense06.m4a":["audio/voice/Training/Mission2/T2.tip.defense06.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.defense06.wav":["audio/voice/Training/Mission2/T2.tip.defense06.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.defense07.m4a":["audio/voice/Training/Mission2/T2.tip.defense07.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.defense07.wav":["audio/voice/Training/Mission2/T2.tip.defense07.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.dropit.m4a":["audio/voice/Training/Mission2/T2.tip.dropit.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.dropit.wav":["audio/voice/Training/Mission2/T2.tip.dropit.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.elf.m4a":["audio/voice/Training/Mission2/T2.tip.elf.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.elf.wav":["audio/voice/Training/Mission2/T2.tip.elf.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.evading.m4a":["audio/voice/Training/Mission2/T2.tip.evading.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.evading.wav":["audio/voice/Training/Mission2/T2.tip.evading.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.gens01.m4a":["audio/voice/Training/Mission2/T2.tip.gens01.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.gens01.wav":["audio/voice/Training/Mission2/T2.tip.gens01.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.inventory.m4a":["audio/voice/Training/Mission2/T2.tip.inventory.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.inventory.wav":["audio/voice/Training/Mission2/T2.tip.inventory.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.inventory01.m4a":["audio/voice/Training/Mission2/T2.tip.inventory01.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.inventory01.wav":["audio/voice/Training/Mission2/T2.tip.inventory01.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.inventory03.m4a":["audio/voice/Training/Mission2/T2.tip.inventory03.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.inventory03.wav":["audio/voice/Training/Mission2/T2.tip.inventory03.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.missile.m4a":["audio/voice/Training/Mission2/T2.tip.missile.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.missile.wav":["audio/voice/Training/Mission2/T2.tip.missile.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.missile02.m4a":["audio/voice/Training/Mission2/T2.tip.missile02.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.missile02.wav":["audio/voice/Training/Mission2/T2.tip.missile02.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.missile03.m4a":["audio/voice/Training/Mission2/T2.tip.missile03.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.missile03.wav":["audio/voice/Training/Mission2/T2.tip.missile03.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.plasma.m4a":["audio/voice/Training/Mission2/T2.tip.plasma.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.plasma.wav":["audio/voice/Training/Mission2/T2.tip.plasma.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.repair01.m4a":["audio/voice/Training/Mission2/T2.tip.repair01.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.repair01.wav":["audio/voice/Training/Mission2/T2.tip.repair01.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.repair02.m4a":["audio/voice/Training/Mission2/T2.tip.repair02.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.repair02.wav":["audio/voice/Training/Mission2/T2.tip.repair02.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.repair03.m4a":["audio/voice/Training/Mission2/T2.tip.repair03.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.repair03.wav":["audio/voice/Training/Mission2/T2.tip.repair03.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.scanned.m4a":["audio/voice/Training/Mission2/T2.tip.scanned.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.scanned.wav":["audio/voice/Training/Mission2/T2.tip.scanned.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.shieldpack.m4a":["audio/voice/Training/Mission2/T2.tip.shieldpack.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.shieldpack.wav":["audio/voice/Training/Mission2/T2.tip.shieldpack.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.tlaser.m4a":["audio/voice/Training/Mission2/T2.tip.tlaser.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.tlaser.wav":["audio/voice/Training/Mission2/T2.tip.tlaser.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.turret01.m4a":["audio/voice/Training/Mission2/T2.tip.turret01.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.turret01.wav":["audio/voice/Training/Mission2/T2.tip.turret01.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.turret02.m4a":["audio/voice/Training/Mission2/T2.tip.turret02.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2.tip.turret02.wav":["audio/voice/Training/Mission2/T2.tip.turret02.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2_01.m4a":["audio/voice/Training/Mission2/T2_01.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2_01.wav":["audio/voice/Training/Mission2/T2_01.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2_01a.m4a":["audio/voice/Training/Mission2/T2_01a.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2_01a.wav":["audio/voice/Training/Mission2/T2_01a.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2_01b.m4a":["audio/voice/Training/Mission2/T2_01b.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2_01b.wav":["audio/voice/Training/Mission2/T2_01b.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2_02.m4a":["audio/voice/Training/Mission2/T2_02.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2_02.wav":["audio/voice/Training/Mission2/T2_02.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2_03.m4a":["audio/voice/Training/Mission2/T2_03.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2_03.wav":["audio/voice/Training/Mission2/T2_03.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2_04.m4a":["audio/voice/Training/Mission2/T2_04.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2_04.wav":["audio/voice/Training/Mission2/T2_04.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2_04a.m4a":["audio/voice/Training/Mission2/T2_04a.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2_04a.wav":["audio/voice/Training/Mission2/T2_04a.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2_05.m4a":["audio/voice/Training/Mission2/T2_05.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2_05.wav":["audio/voice/Training/Mission2/T2_05.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2_05a.m4a":["audio/voice/Training/Mission2/T2_05a.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2_05a.wav":["audio/voice/Training/Mission2/T2_05a.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2_05b.m4a":["audio/voice/Training/Mission2/T2_05b.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2_05b.wav":["audio/voice/Training/Mission2/T2_05b.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2_05c.m4a":["audio/voice/Training/Mission2/T2_05c.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2_05c.wav":["audio/voice/Training/Mission2/T2_05c.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2_07.m4a":["audio/voice/Training/Mission2/T2_07.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2_07.wav":["audio/voice/Training/Mission2/T2_07.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2_08.m4a":["audio/voice/Training/Mission2/T2_08.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2_08.wav":["audio/voice/Training/Mission2/T2_08.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2_09.m4a":["audio/voice/Training/Mission2/T2_09.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2_09.wav":["audio/voice/Training/Mission2/T2_09.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2_09a.m4a":["audio/voice/Training/Mission2/T2_09a.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2_09a.wav":["audio/voice/Training/Mission2/T2_09a.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2_09b.m4a":["audio/voice/Training/Mission2/T2_09b.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2_09b.wav":["audio/voice/Training/Mission2/T2_09b.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2_10.m4a":["audio/voice/Training/Mission2/T2_10.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2_10.wav":["audio/voice/Training/Mission2/T2_10.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2_10a.m4a":["audio/voice/Training/Mission2/T2_10a.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2_10a.wav":["audio/voice/Training/Mission2/T2_10a.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2_11.m4a":["audio/voice/Training/Mission2/T2_11.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2_11.wav":["audio/voice/Training/Mission2/T2_11.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2_12.m4a":["audio/voice/Training/Mission2/T2_12.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2_12.wav":["audio/voice/Training/Mission2/T2_12.WAV",["voice.vl2"]],"audio/voice/training/mission2/t2_13.m4a":["audio/voice/Training/Mission2/T2_13.m4a",["voice.vl2"]],"audio/voice/training/mission2/t2_13.wav":["audio/voice/Training/Mission2/T2_13.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3.cloaking.m4a":["audio/voice/Training/Mission3/T3.cloaking.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3.cloaking.wav":["audio/voice/Training/Mission3/T3.cloaking.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3.tip.cloaking01.m4a":["audio/voice/Training/Mission3/T3.tip.cloaking01.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3.tip.cloaking01.wav":["audio/voice/Training/Mission3/T3.tip.cloaking01.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3.tip.cloaking02.m4a":["audio/voice/Training/Mission3/T3.tip.cloaking02.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3.tip.cloaking02.wav":["audio/voice/Training/Mission3/T3.tip.cloaking02.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3.tip.cloaking03.m4a":["audio/voice/Training/Mission3/T3.tip.cloaking03.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3.tip.cloaking03.wav":["audio/voice/Training/Mission3/T3.tip.cloaking03.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3.tip.equipment01.m4a":["audio/voice/Training/Mission3/T3.tip.equipment01.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3.tip.equipment01.wav":["audio/voice/Training/Mission3/T3.tip.equipment01.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3.tip.equipment02.m4a":["audio/voice/Training/Mission3/T3.tip.equipment02.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3.tip.equipment02.wav":["audio/voice/Training/Mission3/T3.tip.equipment02.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3.tip.freelook.m4a":["audio/voice/Training/Mission3/T3.tip.freelook.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3.tip.freelook.wav":["audio/voice/Training/Mission3/T3.tip.freelook.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3.tip.piloting01.m4a":["audio/voice/Training/Mission3/T3.tip.piloting01.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3.tip.piloting01.wav":["audio/voice/Training/Mission3/T3.tip.piloting01.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3.tip.piloting02.m4a":["audio/voice/Training/Mission3/T3.tip.piloting02.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3.tip.piloting02.wav":["audio/voice/Training/Mission3/T3.tip.piloting02.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3.tip.piloting03.m4a":["audio/voice/Training/Mission3/T3.tip.piloting03.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3.tip.piloting03.wav":["audio/voice/Training/Mission3/T3.tip.piloting03.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3.tip.piloting04.m4a":["audio/voice/Training/Mission3/T3.tip.piloting04.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3.tip.piloting04.wav":["audio/voice/Training/Mission3/T3.tip.piloting04.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3.tip.shocklance.m4a":["audio/voice/Training/Mission3/T3.tip.shocklance.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3.tip.shocklance.wav":["audio/voice/Training/Mission3/T3.tip.shocklance.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3.tip.underwater01.m4a":["audio/voice/Training/Mission3/T3.tip.underwater01.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3.tip.underwater01.wav":["audio/voice/Training/Mission3/T3.tip.underwater01.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3.tip.underwater02.m4a":["audio/voice/Training/Mission3/T3.tip.underwater02.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3.tip.underwater02.wav":["audio/voice/Training/Mission3/T3.tip.underwater02.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3.warning01.m4a":["audio/voice/Training/Mission3/T3.warning01.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3.warning01.wav":["audio/voice/Training/Mission3/T3.warning01.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3.warning02.m4a":["audio/voice/Training/Mission3/T3.warning02.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3.warning02.wav":["audio/voice/Training/Mission3/T3.warning02.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3.warning03.m4a":["audio/voice/Training/Mission3/T3.warning03.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3.warning03.wav":["audio/voice/Training/Mission3/T3.warning03.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3_01.m4a":["audio/voice/Training/Mission3/T3_01.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3_01.wav":["audio/voice/Training/Mission3/T3_01.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3_02.m4a":["audio/voice/Training/Mission3/T3_02.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3_02.wav":["audio/voice/Training/Mission3/T3_02.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3_03.m4a":["audio/voice/Training/Mission3/T3_03.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3_03.wav":["audio/voice/Training/Mission3/T3_03.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3_04.m4a":["audio/voice/Training/Mission3/T3_04.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3_04.wav":["audio/voice/Training/Mission3/T3_04.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3_05.m4a":["audio/voice/Training/Mission3/T3_05.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3_05.wav":["audio/voice/Training/Mission3/T3_05.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3_06.m4a":["audio/voice/Training/Mission3/T3_06.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3_06.wav":["audio/voice/Training/Mission3/T3_06.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3_07.m4a":["audio/voice/Training/Mission3/T3_07.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3_07.wav":["audio/voice/Training/Mission3/T3_07.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3_07a.m4a":["audio/voice/Training/Mission3/T3_07a.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3_07a.wav":["audio/voice/Training/Mission3/T3_07a.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3_07b.m4a":["audio/voice/Training/Mission3/T3_07b.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3_07b.wav":["audio/voice/Training/Mission3/T3_07b.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3_08.m4a":["audio/voice/Training/Mission3/T3_08.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3_08.wav":["audio/voice/Training/Mission3/T3_08.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3_08a.m4a":["audio/voice/Training/Mission3/T3_08a.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3_08a.wav":["audio/voice/Training/Mission3/T3_08a.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3_08b.m4a":["audio/voice/Training/Mission3/T3_08b.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3_08b.wav":["audio/voice/Training/Mission3/T3_08b.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3_09.m4a":["audio/voice/Training/Mission3/T3_09.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3_09.wav":["audio/voice/Training/Mission3/T3_09.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3_09a.m4a":["audio/voice/Training/Mission3/T3_09a.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3_09a.wav":["audio/voice/Training/Mission3/T3_09a.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3_10.m4a":["audio/voice/Training/Mission3/T3_10.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3_10.wav":["audio/voice/Training/Mission3/T3_10.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3_11.m4a":["audio/voice/Training/Mission3/T3_11.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3_11.wav":["audio/voice/Training/Mission3/T3_11.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3_12.m4a":["audio/voice/Training/Mission3/T3_12.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3_12.wav":["audio/voice/Training/Mission3/T3_12.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3_12a.m4a":["audio/voice/Training/Mission3/T3_12a.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3_12a.wav":["audio/voice/Training/Mission3/T3_12a.WAV",["voice.vl2"]],"audio/voice/training/mission3/t3_13.m4a":["audio/voice/Training/Mission3/T3_13.m4a",["voice.vl2"]],"audio/voice/training/mission3/t3_13.wav":["audio/voice/Training/Mission3/T3_13.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.defense01.m4a":["audio/voice/Training/Mission4/T4.defense01.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.defense01.wav":["audio/voice/Training/Mission4/T4.defense01.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.ff_gendown01.m4a":["audio/voice/Training/Mission4/T4.ff_gendown01.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.ff_gendown01.wav":["audio/voice/Training/Mission4/T4.ff_gendown01.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.ff_gendown02.m4a":["audio/voice/Training/Mission4/T4.ff_gendown02.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.ff_gendown02.wav":["audio/voice/Training/Mission4/T4.ff_gendown02.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.fieldsup_01.m4a":["audio/voice/Training/Mission4/T4.fieldsUP_01.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.fieldsup_01.wav":["audio/voice/Training/Mission4/T4.fieldsUP_01.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.fieldsup_02.m4a":["audio/voice/Training/Mission4/T4.fieldsUP_02.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.fieldsup_02.wav":["audio/voice/Training/Mission4/T4.fieldsUP_02.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.forcefields01.m4a":["audio/voice/Training/Mission4/T4.forcefields01.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.forcefields01.wav":["audio/voice/Training/Mission4/T4.forcefields01.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.forcefields02.m4a":["audio/voice/Training/Mission4/T4.forcefields02.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.forcefields02.wav":["audio/voice/Training/Mission4/T4.forcefields02.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.gendown02.m4a":["audio/voice/Training/Mission4/T4.gendown02.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.gendown02.wav":["audio/voice/Training/Mission4/T4.gendown02.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.gendown02a.m4a":["audio/voice/Training/Mission4/T4.gendown02a.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.gendown02a.wav":["audio/voice/Training/Mission4/T4.gendown02a.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.genup.m4a":["audio/voice/Training/Mission4/T4.genup.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.genup.wav":["audio/voice/Training/Mission4/T4.genup.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.genup02.m4a":["audio/voice/Training/Mission4/T4.genup02.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.genup02.wav":["audio/voice/Training/Mission4/T4.genup02.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.genup02a.m4a":["audio/voice/Training/Mission4/T4.genup02a.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.genup02a.wav":["audio/voice/Training/Mission4/T4.genup02a.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.repgen.m4a":["audio/voice/Training/Mission4/T4.repgen.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.repgen.wav":["audio/voice/Training/Mission4/T4.repgen.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.camera01.m4a":["audio/voice/Training/Mission4/T4.tip.camera01.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.camera01.wav":["audio/voice/Training/Mission4/T4.tip.camera01.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.camera02.m4a":["audio/voice/Training/Mission4/T4.tip.camera02.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.camera02.wav":["audio/voice/Training/Mission4/T4.tip.camera02.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.camera03.m4a":["audio/voice/Training/Mission4/T4.tip.camera03.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.camera03.wav":["audio/voice/Training/Mission4/T4.tip.camera03.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.camera04.m4a":["audio/voice/Training/Mission4/T4.tip.camera04.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.camera04.wav":["audio/voice/Training/Mission4/T4.tip.camera04.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.defense02.m4a":["audio/voice/Training/Mission4/T4.tip.defense02.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.defense02.wav":["audio/voice/Training/Mission4/T4.tip.defense02.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.defense03.m4a":["audio/voice/Training/Mission4/T4.tip.defense03.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.defense03.wav":["audio/voice/Training/Mission4/T4.tip.defense03.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.defense05.m4a":["audio/voice/Training/Mission4/T4.tip.defense05.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.defense05.wav":["audio/voice/Training/Mission4/T4.tip.defense05.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.defense06.m4a":["audio/voice/Training/Mission4/T4.tip.defense06.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.defense06.wav":["audio/voice/Training/Mission4/T4.tip.defense06.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.defense07.m4a":["audio/voice/Training/Mission4/T4.tip.defense07.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.defense07.wav":["audio/voice/Training/Mission4/T4.tip.defense07.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.defense08.m4a":["audio/voice/Training/Mission4/T4.tip.defense08.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.defense08.wav":["audio/voice/Training/Mission4/T4.tip.defense08.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.defense09.m4a":["audio/voice/Training/Mission4/T4.tip.defense09.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.defense09.wav":["audio/voice/Training/Mission4/T4.tip.defense09.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.deploy.m4a":["audio/voice/Training/Mission4/T4.tip.deploy.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.deploy.wav":["audio/voice/Training/Mission4/T4.tip.deploy.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.deploy01.m4a":["audio/voice/Training/Mission4/T4.tip.deploy01.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.deploy01.wav":["audio/voice/Training/Mission4/T4.tip.deploy01.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.deploy02.m4a":["audio/voice/Training/Mission4/T4.tip.deploy02.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.deploy02.wav":["audio/voice/Training/Mission4/T4.tip.deploy02.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.depturret.m4a":["audio/voice/Training/Mission4/T4.tip.depturret.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.depturret.wav":["audio/voice/Training/Mission4/T4.tip.depturret.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.generator01.m4a":["audio/voice/Training/Mission4/T4.tip.generator01.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.generator01.wav":["audio/voice/Training/Mission4/T4.tip.generator01.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.generator01a.m4a":["audio/voice/Training/Mission4/T4.tip.generator01a.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.generator01a.wav":["audio/voice/Training/Mission4/T4.tip.generator01a.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.generator01b.m4a":["audio/voice/Training/Mission4/T4.tip.generator01b.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.generator01b.wav":["audio/voice/Training/Mission4/T4.tip.generator01b.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.generator02.m4a":["audio/voice/Training/Mission4/T4.tip.generator02.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.generator02.wav":["audio/voice/Training/Mission4/T4.tip.generator02.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.mortar.m4a":["audio/voice/Training/Mission4/T4.tip.mortar.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.mortar.wav":["audio/voice/Training/Mission4/T4.tip.mortar.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.mortar_02.m4a":["audio/voice/Training/Mission4/T4.tip.mortar_02.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.mortar_02.wav":["audio/voice/Training/Mission4/T4.tip.mortar_02.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.objects.m4a":["audio/voice/Training/Mission4/T4.tip.objects.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.tip.objects.wav":["audio/voice/Training/Mission4/T4.tip.objects.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.warning01.m4a":["audio/voice/Training/Mission4/T4.warning01.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.warning01.wav":["audio/voice/Training/Mission4/T4.warning01.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4.warning02.m4a":["audio/voice/Training/Mission4/T4.warning02.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4.warning02.wav":["audio/voice/Training/Mission4/T4.warning02.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4_01.m4a":["audio/voice/Training/Mission4/T4_01.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4_01.wav":["audio/voice/Training/Mission4/T4_01.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4_01a.m4a":["audio/voice/Training/Mission4/T4_01a.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4_01a.wav":["audio/voice/Training/Mission4/T4_01a.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4_01b.m4a":["audio/voice/Training/Mission4/T4_01b.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4_01b.wav":["audio/voice/Training/Mission4/T4_01b.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4_01c.m4a":["audio/voice/Training/Mission4/T4_01c.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4_01c.wav":["audio/voice/Training/Mission4/T4_01c.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4_02.m4a":["audio/voice/Training/Mission4/T4_02.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4_02.wav":["audio/voice/Training/Mission4/T4_02.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4_02a.m4a":["audio/voice/Training/Mission4/T4_02a.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4_02a.wav":["audio/voice/Training/Mission4/T4_02a.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4_02b.m4a":["audio/voice/Training/Mission4/T4_02b.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4_02b.wav":["audio/voice/Training/Mission4/T4_02b.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4_03.m4a":["audio/voice/Training/Mission4/T4_03.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4_03.wav":["audio/voice/Training/Mission4/T4_03.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4_03a.m4a":["audio/voice/Training/Mission4/T4_03a.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4_03a.wav":["audio/voice/Training/Mission4/T4_03a.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4_03b.m4a":["audio/voice/Training/Mission4/T4_03b.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4_03b.wav":["audio/voice/Training/Mission4/T4_03b.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4_03c.m4a":["audio/voice/Training/Mission4/T4_03c.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4_03c.wav":["audio/voice/Training/Mission4/T4_03c.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4_03d.m4a":["audio/voice/Training/Mission4/T4_03d.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4_03d.wav":["audio/voice/Training/Mission4/T4_03d.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4_03e.m4a":["audio/voice/Training/Mission4/T4_03e.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4_03e.wav":["audio/voice/Training/Mission4/T4_03e.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4_03f.m4a":["audio/voice/Training/Mission4/T4_03f.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4_03f.wav":["audio/voice/Training/Mission4/T4_03f.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4_03g.m4a":["audio/voice/Training/Mission4/T4_03g.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4_03g.wav":["audio/voice/Training/Mission4/T4_03g.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4_03h.m4a":["audio/voice/Training/Mission4/T4_03h.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4_03h.wav":["audio/voice/Training/Mission4/T4_03h.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4_03i.m4a":["audio/voice/Training/Mission4/T4_03i.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4_03i.wav":["audio/voice/Training/Mission4/T4_03i.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4_03j.m4a":["audio/voice/Training/Mission4/T4_03j.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4_03j.wav":["audio/voice/Training/Mission4/T4_03j.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4_03k.m4a":["audio/voice/Training/Mission4/T4_03k.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4_03k.wav":["audio/voice/Training/Mission4/T4_03k.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4_04.m4a":["audio/voice/Training/Mission4/T4_04.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4_04.wav":["audio/voice/Training/Mission4/T4_04.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4_04a.m4a":["audio/voice/Training/Mission4/T4_04a.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4_04a.wav":["audio/voice/Training/Mission4/T4_04a.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4_04b.m4a":["audio/voice/Training/Mission4/T4_04b.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4_04b.wav":["audio/voice/Training/Mission4/T4_04b.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4_05.m4a":["audio/voice/Training/Mission4/T4_05.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4_05.wav":["audio/voice/Training/Mission4/T4_05.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4_06.m4a":["audio/voice/Training/Mission4/T4_06.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4_06.wav":["audio/voice/Training/Mission4/T4_06.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4_07.m4a":["audio/voice/Training/Mission4/T4_07.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4_07.wav":["audio/voice/Training/Mission4/T4_07.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4_07a.m4a":["audio/voice/Training/Mission4/T4_07a.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4_07a.wav":["audio/voice/Training/Mission4/T4_07a.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4_08.m4a":["audio/voice/Training/Mission4/T4_08.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4_08.wav":["audio/voice/Training/Mission4/T4_08.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4_09.m4a":["audio/voice/Training/Mission4/T4_09.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4_09.wav":["audio/voice/Training/Mission4/T4_09.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4_10.m4a":["audio/voice/Training/Mission4/T4_10.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4_10.wav":["audio/voice/Training/Mission4/T4_10.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4_11.m4a":["audio/voice/Training/Mission4/T4_11.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4_11.wav":["audio/voice/Training/Mission4/T4_11.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4_ccend.m4a":["audio/voice/Training/Mission4/T4_CCend.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4_ccend.wav":["audio/voice/Training/Mission4/T4_CCend.WAV",["voice.vl2"]],"audio/voice/training/mission4/t4_controlturret.m4a":["audio/voice/Training/Mission4/T4_controlTurret.m4a",["voice.vl2"]],"audio/voice/training/mission4/t4_controlturret.wav":["audio/voice/Training/Mission4/T4_controlTurret.WAV",["voice.vl2"]],"audio/voice/training/mission5/t5.failure01.m4a":["audio/voice/Training/Mission5/T5.failure01.m4a",["voice.vl2"]],"audio/voice/training/mission5/t5.failure01.wav":["audio/voice/Training/Mission5/T5.failure01.WAV",["voice.vl2"]],"audio/voice/training/mission5/t5.failure02.m4a":["audio/voice/Training/Mission5/T5.failure02.m4a",["voice.vl2"]],"audio/voice/training/mission5/t5.failure02.wav":["audio/voice/Training/Mission5/T5.failure02.WAV",["voice.vl2"]],"audio/voice/training/mission5/t5.tip.firepower.m4a":["audio/voice/Training/Mission5/T5.tip.firepower.m4a",["voice.vl2"]],"audio/voice/training/mission5/t5.tip.firepower.wav":["audio/voice/Training/Mission5/T5.tip.firepower.WAV",["voice.vl2"]],"audio/voice/training/mission5/t5.tip.satchel01.m4a":["audio/voice/Training/Mission5/T5.tip.satchel01.m4a",["voice.vl2"]],"audio/voice/training/mission5/t5.tip.satchel01.wav":["audio/voice/Training/Mission5/T5.tip.satchel01.WAV",["voice.vl2"]],"audio/voice/training/mission5/t5.tip.stations01.m4a":["audio/voice/Training/Mission5/T5.tip.stations01.m4a",["voice.vl2"]],"audio/voice/training/mission5/t5.tip.stations01.wav":["audio/voice/Training/Mission5/T5.tip.stations01.WAV",["voice.vl2"]],"audio/voice/training/mission5/t5.tip.stations02.m4a":["audio/voice/Training/Mission5/T5.tip.stations02.m4a",["voice.vl2"]],"audio/voice/training/mission5/t5.tip.stations02.wav":["audio/voice/Training/Mission5/T5.tip.stations02.WAV",["voice.vl2"]],"audio/voice/training/mission5/t5_01.m4a":["audio/voice/Training/Mission5/T5_01.m4a",["voice.vl2"]],"audio/voice/training/mission5/t5_01.wav":["audio/voice/Training/Mission5/T5_01.WAV",["voice.vl2"]],"audio/voice/training/mission5/t5_02.m4a":["audio/voice/Training/Mission5/T5_02.m4a",["voice.vl2"]],"audio/voice/training/mission5/t5_02.wav":["audio/voice/Training/Mission5/T5_02.WAV",["voice.vl2"]],"audio/voice/training/mission5/t5_03.m4a":["audio/voice/Training/Mission5/T5_03.m4a",["voice.vl2"]],"audio/voice/training/mission5/t5_03.wav":["audio/voice/Training/Mission5/T5_03.WAV",["voice.vl2"]],"audio/voice/training/mission5/t5_04.m4a":["audio/voice/Training/Mission5/T5_04.m4a",["voice.vl2"]],"audio/voice/training/mission5/t5_04.wav":["audio/voice/Training/Mission5/T5_04.WAV",["voice.vl2"]],"audio/voice/training/mission5/t5_05.m4a":["audio/voice/Training/Mission5/T5_05.m4a",["voice.vl2"]],"audio/voice/training/mission5/t5_05.wav":["audio/voice/Training/Mission5/T5_05.WAV",["voice.vl2"]],"audio/voice/training/mission5/t5_05a.m4a":["audio/voice/Training/Mission5/T5_05a.m4a",["voice.vl2"]],"audio/voice/training/mission5/t5_05a.wav":["audio/voice/Training/Mission5/T5_05a.WAV",["voice.vl2"]],"audio/voice/training/mission5/t5_05b.m4a":["audio/voice/Training/Mission5/T5_05b.m4a",["voice.vl2"]],"audio/voice/training/mission5/t5_05b.wav":["audio/voice/Training/Mission5/T5_05b.WAV",["voice.vl2"]],"audio/voice/training/mission5/t5_06.m4a":["audio/voice/Training/Mission5/T5_06.m4a",["voice.vl2"]],"audio/voice/training/mission5/t5_06.wav":["audio/voice/Training/Mission5/T5_06.WAV",["voice.vl2"]],"audio/voice/training/mission5/t5_06a.m4a":["audio/voice/Training/Mission5/T5_06a.m4a",["voice.vl2"]],"audio/voice/training/mission5/t5_06a.wav":["audio/voice/Training/Mission5/T5_06a.WAV",["voice.vl2"]],"audio/voice/training/mission5/t5_06b.m4a":["audio/voice/Training/Mission5/T5_06b.m4a",["voice.vl2"]],"audio/voice/training/mission5/t5_06b.wav":["audio/voice/Training/Mission5/T5_06b.WAV",["voice.vl2"]],"audio/voice/training/mission5/t5_06c.m4a":["audio/voice/Training/Mission5/T5_06c.m4a",["voice.vl2"]],"audio/voice/training/mission5/t5_06c.wav":["audio/voice/Training/Mission5/T5_06c.WAV",["voice.vl2"]],"audio/voice/training/mission5/t5_06d.m4a":["audio/voice/Training/Mission5/T5_06d.m4a",["voice.vl2"]],"audio/voice/training/mission5/t5_06d.wav":["audio/voice/Training/Mission5/T5_06d.WAV",["voice.vl2"]],"audio/voice/training/mission5/t5_07.m4a":["audio/voice/Training/Mission5/T5_07.m4a",["voice.vl2"]],"audio/voice/training/mission5/t5_07.wav":["audio/voice/Training/Mission5/T5_07.WAV",["voice.vl2"]],"audio/voice/training/mission5/t5_07a.m4a":["audio/voice/Training/Mission5/T5_07a.m4a",["voice.vl2"]],"audio/voice/training/mission5/t5_07a.wav":["audio/voice/Training/Mission5/T5_07a.WAV",["voice.vl2"]],"audio/voice/training/mission5/t5_08.m4a":["audio/voice/Training/Mission5/T5_08.m4a",["voice.vl2"]],"audio/voice/training/mission5/t5_08.wav":["audio/voice/Training/Mission5/T5_08.WAV",["voice.vl2"]],"audio/voice/training/mission5/t5_08_urgent.m4a":["audio/voice/Training/Mission5/T5_08_urgent.m4a",["voice.vl2"]],"audio/voice/training/mission5/t5_08_urgent.wav":["audio/voice/Training/Mission5/T5_08_urgent.WAV",["voice.vl2"]],"audio/voice/training/mission5/t5_08a.m4a":["audio/voice/Training/Mission5/T5_08a.m4a",["voice.vl2"]],"audio/voice/training/mission5/t5_08a.wav":["audio/voice/Training/Mission5/T5_08a.WAV",["voice.vl2"]],"audio/voice/training/mission5/t5_08b.m4a":["audio/voice/Training/Mission5/T5_08b.m4a",["voice.vl2"]],"audio/voice/training/mission5/t5_08b.wav":["audio/voice/Training/Mission5/T5_08b.WAV",["voice.vl2"]],"audio/voice/training/mission5/t5_08c.m4a":["audio/voice/Training/Mission5/T5_08c.m4a",["voice.vl2"]],"audio/voice/training/mission5/t5_08c.wav":["audio/voice/Training/Mission5/T5_08c.WAV",["voice.vl2"]],"audio/voice/training/mission5/t5_08d.m4a":["audio/voice/Training/Mission5/T5_08d.m4a",["voice.vl2"]],"audio/voice/training/mission5/t5_08d.wav":["audio/voice/Training/Mission5/T5_08d.WAV",["voice.vl2"]],"audio/voice/training/mission5/t5_09.m4a":["audio/voice/Training/Mission5/T5_09.m4a",["voice.vl2"]],"audio/voice/training/mission5/t5_09.wav":["audio/voice/Training/Mission5/T5_09.WAV",["voice.vl2"]],"audio/windloop2.m4a":["audio/Windloop2.m4a",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"audio/windloop2.wav":["audio/Windloop2.wav",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"autoload.cs":["autoload.cs",["z_scripts/support.vl2"]],"console_end.cs":["console_end.cs",["base.vl2"]],"effects/armor.ifr":["effects/Armor.ifr",["base.vl2"]],"effects/explosions.ifr":["effects/explosions.ifr",["base.vl2"]],"effects/gui.ifr":["effects/gui.ifr",["base.vl2"]],"effects/misc.ifr":["effects/misc.ifr",["base.vl2"]],"effects/packs.ifr":["effects/packs.ifr",["base.vl2"]],"effects/powered.ifr":["effects/powered.ifr",["base.vl2"]],"effects/vehicles.ifr":["effects/vehicles.ifr",["base.vl2"]],"effects/weapons.ifr":["effects/weapons.ifr",["base.vl2"]],"flags.png":["flags.png",["z_textures/zflags.vl2"]],"gui/guiprofiles.cs":["gui/guiProfiles.cs",["scripts.vl2"]],"gui/multiinterpolateoptions.cs":["gui/multiInterpolateOptions.cs",["multiInterpolate.vl2"]],"help/1. about.hfl":["help/1. About.hfl",["scripts.vl2"]],"help/2. mission editor overview.hfl":["help/2. Mission Editor Overview.hfl",["scripts.vl2"]],"help/3. world editor.hfl":["help/3. World Editor.hfl",["scripts.vl2"]],"help/4. mission area editor.hfl":["help/4. Mission Area Editor.hfl",["scripts.vl2"]],"help/5. terrain editor.hfl":["help/5. Terrain Editor.hfl",["scripts.vl2"]],"help/6. terrain terraform editor.hfl":["help/6. Terrain Terraform Editor.hfl",["scripts.vl2"]],"help/7. terrain texture editor.hfl":["help/7. Terrain Texture Editor.hfl",["scripts.vl2"]],"help/8. terrain texture painter.hfl":["help/8. Terrain Texture Painter.hfl",["scripts.vl2"]],"input.log":["input.log",["base.vl2"]],"interiors/8mcube.dif":["interiors/8mCube.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/anomalybase.dif":["interiors/anomalyBase.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/anomalycannon.dif":["interiors/anomalyCannon.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/anomalycenterbase.dif":["interiors/anomalyCenterBase.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/anthem_cardiacbase.dif":["interiors/anthem_cardiacbase.dif",["z_mappacks/CTF/S8maps.vl2"]],"interiors/anthem_cardiacbridge.dif":["interiors/anthem_cardiacbridge.dif",["z_mappacks/CTF/S8maps.vl2"]],"interiors/anthem_cardiacstand.dif":["interiors/anthem_cardiacstand.dif",["z_mappacks/CTF/S8maps.vl2"]],"interiors/anthem_cardiactower.dif":["interiors/anthem_cardiactower.dif",["z_mappacks/CTF/S8maps.vl2"]],"interiors/anthem_cardiacturret.dif":["interiors/anthem_cardiacturret.dif",["z_mappacks/CTF/S8maps.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/anthem_pipebasemini.dif":["interiors/anthem_pipebasemini.dif",["z_mappacks/CTF/S5maps.vl2"]],"interiors/anthem_pipebunker.dif":["interiors/anthem_pipebunker.dif",["z_mappacks/CTF/S5maps.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/anthem_pipestand2-badlands.dif":["interiors/anthem_pipestand2-badlands.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/anthem_pipestand2-beach.dif":["interiors/anthem_pipestand2-beach.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/anthem_pipestand2-desert.dif":["interiors/anthem_pipestand2-desert.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/anthem_pipestand2-ice.dif":["interiors/anthem_pipestand2-ice.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/anthem_pipestand2-lava.dif":["interiors/anthem_pipestand2-lava.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/anthem_pipestand2.dif":["interiors/anthem_pipestand2.dif",["z_mappacks/CTF/S5maps.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/anthem_pitbase.dif":["interiors/anthem_pitbase.dif",["z_mappacks/CTF/S5maps.vl2"]],"interiors/anthem_pitstand.dif":["interiors/anthem_pitstand.dif",["z_mappacks/CTF/S5maps.vl2"]],"interiors/anthemblock.dif":["interiors/anthemblock.dif",["z_mappacks/CTF/S5maps.vl2"]],"interiors/arkring.dif":["interiors/arkRing.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/bbase1.dif":["interiors/bbase1.dif",["interiors.vl2"]],"interiors/bbase4cm.dif":["interiors/bbase4cm.dif",["interiors.vl2"]],"interiors/bbase6.dif":["interiors/bbase6.dif",["interiors.vl2"]],"interiors/bbase7.dif":["interiors/bbase7.dif",["interiors.vl2"]],"interiors/bbase9.dif":["interiors/bbase9.dif",["interiors.vl2"]],"interiors/bbase_-nefvbase_x.dif":["interiors/bbase_-nefvbase_x.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/bbase_-nefvbase_x2.dif":["interiors/bbase_-nefvbase_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"interiors/bbase_ccb1.dif":["interiors/bbase_ccb1.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/bbase_ccb5.dif":["interiors/bbase_ccb5.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/bbase_nefhillside.dif":["interiors/bbase_nefhillside.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/bbrdg0.dif":["interiors/bbrdg0.dif",["interiors.vl2"]],"interiors/bbrdg1.dif":["interiors/bbrdg1.dif",["interiors.vl2"]],"interiors/bbrdg2.dif":["interiors/bbrdg2.dif",["interiors.vl2"]],"interiors/bbrdg3.dif":["interiors/bbrdg3.dif",["interiors.vl2"]],"interiors/bbrdg4.dif":["interiors/bbrdg4.dif",["interiors.vl2"]],"interiors/bbrdg5.dif":["interiors/bbrdg5.dif",["interiors.vl2"]],"interiors/bbrdg6.dif":["interiors/bbrdg6.dif",["interiors.vl2"]],"interiors/bbrdg7.dif":["interiors/bbrdg7.dif",["interiors.vl2"]],"interiors/bbrdg8.dif":["interiors/bbrdg8.dif",["interiors.vl2"]],"interiors/bbrdg9.dif":["interiors/bbrdg9.dif",["interiors.vl2"]],"interiors/bbrdga.dif":["interiors/bbrdga.dif",["interiors.vl2"]],"interiors/bbrdgb.dif":["interiors/bbrdgb.dif",["interiors.vl2"]],"interiors/bbrdgn.dif":["interiors/bbrdgn.dif",["interiors.vl2"]],"interiors/bbrdgo.dif":["interiors/bbrdgo.dif",["interiors.vl2"]],"interiors/bbstand.dif":["interiors/bbstand.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/bbunk1.dif":["interiors/bbunk1.dif",["interiors.vl2"]],"interiors/bbunk2.dif":["interiors/bbunk2.dif",["interiors.vl2"]],"interiors/bbunk5.dif":["interiors/bbunk5.dif",["interiors.vl2"]],"interiors/bbunk7.dif":["interiors/bbunk7.dif",["interiors.vl2"]],"interiors/bbunk8.dif":["interiors/bbunk8.dif",["interiors.vl2"]],"interiors/bbunk9.dif":["interiors/bbunk9.dif",["interiors.vl2"]],"interiors/bbunkb.dif":["interiors/bbunkb.dif",["interiors.vl2"]],"interiors/bbunkc.dif":["interiors/bbunkc.dif",["interiors.vl2"]],"interiors/bbunkd.dif":["interiors/bbunkd.dif",["interiors.vl2"]],"interiors/bbunke.dif":["interiors/bbunke.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"],["z_mappacks/CTF/DynamixFinalPack.vl2"]],"interiors/bcannon.dif":["interiors/bcannon.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/betunnel.dif":["interiors/beTunnel.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/bfbridge.dif":["interiors/bfBridge.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/bfbridgecap.dif":["interiors/bfBridgeCap.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/bfstand.dif":["interiors/bfstand.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/bigtube.dif":["interiors/bigTube.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/bmisc1.dif":["interiors/bmisc1.dif",["interiors.vl2"]],"interiors/bmisc2.dif":["interiors/bmisc2.dif",["interiors.vl2"]],"interiors/bmisc3.dif":["interiors/bmisc3.dif",["interiors.vl2"]],"interiors/bmisc4.dif":["interiors/bmisc4.dif",["interiors.vl2"]],"interiors/bmisc5.dif":["interiors/bmisc5.dif",["interiors.vl2"]],"interiors/bmisc6.dif":["interiors/bmisc6.dif",["interiors.vl2"]],"interiors/bmisc7.dif":["interiors/bmisc7.dif",["interiors.vl2"]],"interiors/bmisc8.dif":["interiors/bmisc8.dif",["interiors.vl2"]],"interiors/bmisc9.dif":["interiors/bmisc9.dif",["interiors.vl2"]],"interiors/bmisc_-nef_flagstand1_x.dif":["interiors/bmisc_-nef_flagstand1_x.dif",["TR2final105-client.vl2"],["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/bmisc_-nef_flagstand1_x2.dif":["interiors/bmisc_-nef_flagstand1_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/bmisc_nefledge1.dif":["interiors/bmisc_nefledge1.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/bmisc_neftrstand1.dif":["interiors/bmisc_neftrstand1.dif",["TR2final105-client.vl2"],["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/bmisc_nefvbay.dif":["interiors/bmisc_nefvbay.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/bmiscpan_bridge0.dif":["interiors/bmiscpan_bridge0.dif",["z_mappacks/CTF/DynamixFinalPack.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/bmiscpan_bridge0_x2.dif":["interiors/bmiscpan_bridge0_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"interiors/bmiscpan_bunker1.dif":["interiors/bmiscpan_bunker1.dif",["z_mappacks/CTF/DynamixFinalPack.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/bmiscpan_bunker1_x.dif":["interiors/bmiscpan_bunker1_x.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/bmiscpan_bunker1_x2.dif":["interiors/bmiscpan_bunker1_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"interiors/bmiscpan_ruina.dif":["interiors/bmiscpan_ruina.dif",["z_mappacks/CTF/DynamixFinalPack.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/bmiscpan_ruina_x2.dif":["interiors/bmiscpan_ruina_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"interiors/bmiscpan_ruinb.dif":["interiors/bmiscpan_ruinb.dif",["z_mappacks/CTF/DynamixFinalPack.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/bmiscpan_ruinb_x2.dif":["interiors/bmiscpan_ruinb_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"interiors/bmiscpan_ruinc.dif":["interiors/bmiscpan_ruinc.dif",["z_mappacks/CTF/DynamixFinalPack.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/bmiscpan_ruinc_x2.dif":["interiors/bmiscpan_ruinc_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"interiors/bmiscpan_ruind.dif":["interiors/bmiscpan_ruind.dif",["z_mappacks/CTF/DynamixFinalPack.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/bmiscpan_ruind_x2.dif":["interiors/bmiscpan_ruind_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"interiors/bmiscpan_ruine.dif":["interiors/bmiscpan_ruine.dif",["z_mappacks/CTF/DynamixFinalPack.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/bmiscpan_ruine_x2.dif":["interiors/bmiscpan_ruine_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"interiors/bmiscpan_ruinf.dif":["interiors/bmiscpan_ruinf.dif",["z_mappacks/CTF/DynamixFinalPack.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/bmiscpan_ruinf_x2.dif":["interiors/bmiscpan_ruinf_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"interiors/bmiscpan_ruing.dif":["interiors/bmiscpan_ruing.dif",["z_mappacks/CTF/DynamixFinalPack.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/bmiscpan_ruing_x2.dif":["interiors/bmiscpan_ruing_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"interiors/bmiscpan_ruinh.dif":["interiors/bmiscpan_ruinh.dif",["z_mappacks/CTF/DynamixFinalPack.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/bmiscpan_ruinh_x2.dif":["interiors/bmiscpan_ruinh_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"interiors/bmiscpan_ruini.dif":["interiors/bmiscpan_ruini.dif",["z_mappacks/CTF/DynamixFinalPack.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/bmiscpan_tower1.dif":["interiors/bmiscpan_tower1.dif",["z_mappacks/CTF/DynamixFinalPack.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/bmiscpan_tower1_x2.dif":["interiors/bmiscpan_tower1_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"interiors/bmiscpan_tower2.dif":["interiors/bmiscpan_tower2.dif",["z_mappacks/CTF/DynamixFinalPack.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/bmiscpan_tower2_x.dif":["interiors/bmiscpan_tower2_x.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/bmiscpan_tower2_x2.dif":["interiors/bmiscpan_tower2_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"interiors/bmortar.dif":["interiors/bmortar.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/bombbase.dif":["interiors/bombbase.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/bplat1.dif":["interiors/bplat1.dif",["interiors.vl2"]],"interiors/bplat2.dif":["interiors/bplat2.dif",["interiors.vl2"]],"interiors/bplat3.dif":["interiors/bplat3.dif",["interiors.vl2"]],"interiors/bplat4.dif":["interiors/bplat4.dif",["interiors.vl2"]],"interiors/bplat6.dif":["interiors/bplat6.dif",["interiors.vl2"]],"interiors/bpower1.dif":["interiors/bpower1.dif",["interiors.vl2"]],"interiors/brock6.dif":["interiors/brock6.dif",["interiors.vl2"]],"interiors/brock7.dif":["interiors/brock7.dif",["interiors.vl2"]],"interiors/brock8.dif":["interiors/brock8.dif",["interiors.vl2"]],"interiors/brocka.dif":["interiors/brocka.dif",["interiors.vl2"]],"interiors/brockc.dif":["interiors/brockc.dif",["interiors.vl2"]],"interiors/bspir1.dif":["interiors/bspir1.dif",["interiors.vl2"]],"interiors/bspir2.dif":["interiors/bspir2.dif",["interiors.vl2"]],"interiors/bspir3.dif":["interiors/bspir3.dif",["interiors.vl2"]],"interiors/bspir4.dif":["interiors/bspir4.dif",["interiors.vl2"]],"interiors/bspir5.dif":["interiors/bspir5.dif",["interiors.vl2"]],"interiors/btf_base1.dif":["interiors/btf_base1.dif",["z_mappacks/CTF/DynamixFinalPack.vl2"],["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/btf_bridge1.dif":["interiors/btf_bridge1.dif",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"interiors/btf_bridge2.dif":["interiors/btf_bridge2.dif",["z_mappacks/CTF/DynamixFinalPack.vl2"],["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/btf_bridge3.dif":["interiors/btf_bridge3.dif",["z_mappacks/CTF/DynamixFinalPack.vl2"],["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/btf_genbunk.dif":["interiors/btf_genbunk.dif",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"interiors/btf_turretplatform.dif":["interiors/btf_turretplatform.dif",["z_mappacks/CTF/DynamixFinalPack.vl2"],["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/btf_turretplatform_c.dif":["interiors/btf_turretplatform_c.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/btf_turretplatform_x.dif":["interiors/btf_turretplatform_x.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/btf_turretplatform_x2.dif":["interiors/btf_turretplatform_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/btowr2.dif":["interiors/btowr2.dif",["interiors.vl2"]],"interiors/btowr5-lava.dif":["interiors/btowr5-Lava.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/btowr5.dif":["interiors/btowr5.dif",["interiors.vl2"]],"interiors/btowr6.dif":["interiors/btowr6.dif",["interiors.vl2"]],"interiors/btowr8.dif":["interiors/btowr8.dif",["interiors.vl2"]],"interiors/btowr9.dif":["interiors/btowr9.dif",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"interiors/btowr_ccb1.dif":["interiors/btowr_ccb1.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/btowra.dif":["interiors/btowra.dif",["interiors.vl2"]],"interiors/bvpad.dif":["interiors/bvpad.dif",["interiors.vl2"]],"interiors/bwall1.dif":["interiors/bwall1.dif",["interiors.vl2"]],"interiors/bwall2.dif":["interiors/bwall2.dif",["interiors.vl2"]],"interiors/bwall3.dif":["interiors/bwall3.dif",["interiors.vl2"]],"interiors/bwall4.dif":["interiors/bwall4.dif",["interiors.vl2"]],"interiors/cannon.dif":["interiors/cannon.dif",["TR2final105-client.vl2"]],"interiors/cannon2.dif":["interiors/cannon2.dif",["TR2final105-client.vl2"]],"interiors/cannontunnel.dif":["interiors/cannonTunnel.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/cap.dif":["interiors/cap.dif",["TR2final105-client.vl2"]],"interiors/ccb_be_tower1a_x2.dif":["interiors/ccb_be_tower1a_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"interiors/ccb_be_tower1b_x2.dif":["interiors/ccb_be_tower1b_x2.dif",["z_mappacks/CTF/S5maps.vl2"],["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"interiors/ccbase1.dif":["interiors/ccbase1.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/ccbase2.dif":["interiors/ccbase2.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/ccflagstand.dif":["interiors/ccflagstand.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/cctower.dif":["interiors/cctower.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/centaur.dif":["interiors/centaur.dif",["z_mappacks/CTF/S5maps.vl2"]],"interiors/centower.dif":["interiors/centower.dif",["z_mappacks/CTF/S5maps.vl2"]],"interiors/conbase.dif":["interiors/conbase.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/conspire.dif":["interiors/conspire.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/damnationstand.dif":["interiors/damnationstand.dif",["z_mappacks/CTF/S5maps.vl2"]],"interiors/dbase2.dif":["interiors/dbase2.dif",["interiors.vl2"]],"interiors/dbase3.dif":["interiors/dbase3.dif",["interiors.vl2"]],"interiors/dbase4.dif":["interiors/dbase4.dif",["interiors.vl2"]],"interiors/dbase5.dif":["interiors/dbase5.dif",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"interiors/dbase6.dif":["interiors/dbase6.dif",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"interiors/dbase_-nefbase1_x.dif":["interiors/dbase_-nefbase1_x.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/dbase_-nefbase1_x2.dif":["interiors/dbase_-nefbase1_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/dbase_-nefbase2_x.dif":["interiors/dbase_-nefbase2_x.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/dbase_-nefbase2_x2.dif":["interiors/dbase_-nefbase2_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/dbase_broadside_nef.dif":["interiors/dbase_broadside_nef.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/dbase_neffloat1.dif":["interiors/dbase_neffloat1.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/dbase_neffloat2.dif":["interiors/dbase_neffloat2.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/dbase_neficeridge.dif":["interiors/dbase_neficeridge.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/dbase_nefraindance.dif":["interiors/dbase_nefRaindance.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/dbase_tokrz_scarabrae.dif":["interiors/dbase_tokrz_scarabrae.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/dbrdg1.dif":["interiors/dbrdg1.dif",["interiors.vl2"]],"interiors/dbrdg10.dif":["interiors/dbrdg10.dif",["interiors.vl2"]],"interiors/dbrdg11.dif":["interiors/dbrdg11.dif",["interiors.vl2"]],"interiors/dbrdg2.dif":["interiors/dbrdg2.dif",["interiors.vl2"]],"interiors/dbrdg3.dif":["interiors/dbrdg3.dif",["interiors.vl2"]],"interiors/dbrdg3a.dif":["interiors/dbrdg3a.dif",["interiors.vl2"]],"interiors/dbrdg4.dif":["interiors/dbrdg4.dif",["interiors.vl2"]],"interiors/dbrdg5.dif":["interiors/dbrdg5.dif",["interiors.vl2"]],"interiors/dbrdg6.dif":["interiors/dbrdg6.dif",["interiors.vl2"]],"interiors/dbrdg7.dif":["interiors/dbrdg7.dif",["interiors.vl2"]],"interiors/dbrdg7a.dif":["interiors/dbrdg7a.dif",["interiors.vl2"]],"interiors/dbrdg8.dif":["interiors/dbrdg8.dif",["interiors.vl2"]],"interiors/dbrdg9.dif":["interiors/dbrdg9.dif",["interiors.vl2"]],"interiors/dbrdg9a.dif":["interiors/dbrdg9a.dif",["interiors.vl2"]],"interiors/dbunk5.dif":["interiors/dbunk5.dif",["interiors.vl2"]],"interiors/dbunk6.dif":["interiors/dbunk6.dif",["interiors.vl2"]],"interiors/dbunk_nef_invbunk1.dif":["interiors/dbunk_nef_invbunk1.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/dbunk_nefcliffside.dif":["interiors/dbunk_nefcliffside.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/dbunk_nefdcbunk.dif":["interiors/dbunk_nefdcbunk.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/dbunk_nefsmall.dif":["interiors/dbunk_nefsmall.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/dbunk_rf04.dif":["interiors/dbunk_rf04.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/dbunk_snowblind.dif":["interiors/dbunk_snowblind.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/dbunk_stonehenge1.dif":["interiors/dbunk_stonehenge1.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/dbunk_vbunk1.dif":["interiors/dbunk_vbunk1.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/dmisc1.dif":["interiors/dmisc1.dif",["z_mappacks/CTF/DynamixFinalPack.vl2"],["interiors.vl2"]],"interiors/dmisc1_x.dif":["interiors/dmisc1_x.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/dmisc1_x2.dif":["interiors/dmisc1_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"interiors/dmisc_-nefflagstand1_x.dif":["interiors/dmisc_-nefflagstand1_x.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/dmisc_-nefflagstand1_x2.dif":["interiors/dmisc_-nefflagstand1_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/dmisc_nefbridge.dif":["interiors/dmisc_nefbridge.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/dmisc_nefflagstand2.dif":["interiors/dmisc_nefflagstand2.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/dmisc_nefflagstand3.dif":["interiors/dmisc_nefflagstand3.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/dmisc_nefobj1.dif":["interiors/dmisc_nefobj1.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/dmisc_nefobj2.dif":["interiors/dmisc_nefobj2.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/dmisc_nefplat1.dif":["interiors/dmisc_nefplat1.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/dmisc_nefplug1.dif":["interiors/dmisc_nefplug1.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/dmisc_nefrdbridge1.dif":["interiors/dmisc_nefrdbridge1.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/dmisc_neftower1.dif":["interiors/dmisc_neftower1.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/dmisc_neftower2.dif":["interiors/dmisc_neftower2.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/dmisc_neftower3.dif":["interiors/dmisc_neftower3.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/dmisc_stonehenge1.dif":["interiors/dmisc_stonehenge1.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/dmisc_stonehenge2.dif":["interiors/dmisc_stonehenge2.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/dmisc_stonehenge3.dif":["interiors/dmisc_stonehenge3.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/doubleramp2.dif":["interiors/doubleramp2.dif",["TR2final105-client.vl2"]],"interiors/dox_bb_box_x2.dif":["interiors/dox_bb_box_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/dox_bb_bunkera_x2.dif":["interiors/dox_bb_bunkera_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/dox_bb_bunkerb_x2.dif":["interiors/dox_bb_bunkerb_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/dox_bb_droptop_x2.dif":["interiors/dox_bb_droptop_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"interiors/dox_bb_fstand_x2.dif":["interiors/dox_bb_fstand_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/dox_bb_hangar_x2.dif":["interiors/dox_bb_hangar_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/dox_bb_platform_x2.dif":["interiors/dox_bb_platform_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"interiors/dox_bb_rig_x2.dif":["interiors/dox_bb_rig_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/dox_bb_rustbox_x2.dif":["interiors/dox_bb_rustbox_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/dox_bb_sandcastle_x2.dif":["interiors/dox_bb_sandcastle_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/dox_bb_slab_x2.dif":["interiors/dox_bb_slab_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/dox_bb_spade_x2.dif":["interiors/dox_bb_spade_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/dox_bb_steelsheet2_x2.dif":["interiors/dox_bb_steelsheet2_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"interiors/dox_bb_steelsheet_x2.dif":["interiors/dox_bb_steelsheet_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"interiors/doxbunkerbase.dif":["interiors/doxBunkerBase.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/doxredstand.dif":["interiors/doxRedStand.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/dplat1.dif":["interiors/dplat1.dif",["interiors.vl2"]],"interiors/dplat2.dif":["interiors/dplat2.dif",["z_mappacks/CTF/DynamixFinalPack.vl2"],["interiors.vl2"]],"interiors/dplat3.dif":["interiors/dplat3.dif",["interiors.vl2"]],"interiors/dpole1.dif":["interiors/dpole1.dif",["interiors.vl2"]],"interiors/dragonheadl.dif":["interiors/dragonheadL.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/dragonheadneck.dif":["interiors/dragonheadNeck.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/dragonheadr.dif":["interiors/dragonheadR.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/drock6.dif":["interiors/drock6.dif",["interiors.vl2"]],"interiors/drock7.dif":["interiors/drock7.dif",["interiors.vl2"]],"interiors/drock8.dif":["interiors/drock8.dif",["interiors.vl2"]],"interiors/drocka.dif":["interiors/drocka.dif",["interiors.vl2"]],"interiors/dspir1.dif":["interiors/dspir1.dif",["interiors.vl2"]],"interiors/dspir2.dif":["interiors/dspir2.dif",["interiors.vl2"]],"interiors/dspir3.dif":["interiors/dspir3.dif",["interiors.vl2"]],"interiors/dspir4.dif":["interiors/dspir4.dif",["interiors.vl2"]],"interiors/dspir5.dif":["interiors/dspir5.dif",["interiors.vl2"]],"interiors/dtowr1.dif":["interiors/dtowr1.dif",["z_mappacks/CTF/DynamixFinalPack.vl2"],["interiors.vl2"]],"interiors/dtowr2.dif":["interiors/dtowr2.dif",["interiors.vl2"]],"interiors/dtowr4.dif":["interiors/dtowr4.dif",["interiors.vl2"]],"interiors/dtowr_classic1.dif":["interiors/dtowr_classic1.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/dvent.dif":["interiors/dvent.dif",["interiors.vl2"]],"interiors/dvpad.dif":["interiors/dvpad.dif",["interiors.vl2"]],"interiors/dvpad1.dif":["interiors/dvpad1.dif",["interiors.vl2"]],"interiors/dwall1.dif":["interiors/dwall1.dif",["interiors.vl2"]],"interiors/ee_basatin-base.dif":["interiors/ee_basatin-base.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/ee_catwalk_base.dif":["interiors/ee_catwalk_base.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/ee_dx_4way-ramp.dif":["interiors/ee_dx_4way-ramp.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/ee_nirvana-base.dif":["interiors/ee_nirvana-base.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/ee_sidewinder-bebase.dif":["interiors/ee_sidewinder-BEbase.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/ee_sidewinder-dsbase.dif":["interiors/ee_sidewinder-DSbase.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/ee_sidewinder-turret.dif":["interiors/ee_sidewinder-turret.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/ee_tg-base.dif":["interiors/ee_tg-base.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/epicrates_base.dif":["interiors/epicrates_base.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/epicrates_bridge.dif":["interiors/epicrates_bridge.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/epicrates_turret.dif":["interiors/epicrates_turret.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/euro4_bleed_base.dif":["interiors/Euro4_Bleed_Base.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/euro4_bleed_turret.dif":["interiors/Euro4_Bleed_turret.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/euro4_bleed_vpad.dif":["interiors/Euro4_Bleed_vpad.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/euro4_dissention_dox_bb_bunkera_x2.dif":["interiors/Euro4_Dissention_dox_bb_bunkera_x2.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/euro4_dissention_dox_bb_hangar_x2.dif":["interiors/Euro4_Dissention_dox_bb_hangar_x2.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/euro4_dissention_rilke_whitedwarf_mainbase.dif":["interiors/Euro4_Dissention_rilke_whitedwarf_mainbase.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/euro4_frozenhope_inf_butch_fhope_base47.dif":["interiors/Euro4_FrozenHope_inf_butch_fhope_base47.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/euro4_frozenhope_inf_butch_fhope_flag6.dif":["interiors/Euro4_FrozenHope_inf_butch_fhope_flag6.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/euro4_frozenhope_inf_butch_fhope_turret12.dif":["interiors/Euro4_FrozenHope_inf_butch_fhope_turret12.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/euro_salgenroom2.dif":["interiors/Euro_salgenroom2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/euro_salproj1.dif":["interiors/Euro_salproj1.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/euro_salturretsus1.dif":["interiors/Euro_salturretsus1.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/euro_slblocks.dif":["interiors/Euro_slblocks.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/euro_slinvstat.dif":["interiors/Euro_slinvstat.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/euro_slremo2.dif":["interiors/Euro_slremo2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/euro_slsusbr1.dif":["interiors/Euro_slsusbr1.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/euro_slvehramp1.dif":["interiors/Euro_slvehramp1.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/ext_bridge.dif":["interiors/ext_bridge.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/ext_bridge_ramp.dif":["interiors/ext_bridge_ramp.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/ext_midair_platform.dif":["interiors/ext_midair_platform.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/facebaseplat.dif":["interiors/facebasePlat.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/facingworldsbase.dif":["interiors/facingWorldsBase.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/facingworldsbaseold.dif":["interiors/facingWorldsBaseOld.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/ffwall.dif":["interiors/ffWall.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/flagbridge.dif":["interiors/flagbridge.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/flingbase01.dif":["interiors/flingbase01.dif",["z_mappacks/CTF/S5maps.vl2"]],"interiors/flingbase02.dif":["interiors/flingbase02.dif",["z_mappacks/CTF/S5maps.vl2"]],"interiors/flingrock01.dif":["interiors/flingrock01.dif",["z_mappacks/CTF/S8maps.vl2"]],"interiors/flingrockvent01.dif":["interiors/flingrockvent01.dif",["z_mappacks/CTF/S8maps.vl2"]],"interiors/flingsilo03.dif":["interiors/flingsilo03.dif",["z_mappacks/CTF/S8maps.vl2"]],"interiors/flingsilo03b.dif":["interiors/flingsilo03b.dif",["z_mappacks/CTF/S8maps.vl2"]],"interiors/flingstand01.dif":["interiors/flingstand01.dif",["z_mappacks/CTF/S5maps.vl2"]],"interiors/flingstand02.dif":["interiors/flingstand02.dif",["z_mappacks/CTF/S8maps.vl2"]],"interiors/flingtanktrap01.dif":["interiors/flingtanktrap01.dif",["z_mappacks/CTF/S8maps.vl2"]],"interiors/flingteeth.dif":["interiors/flingteeth.dif",["z_mappacks/CTF/S5maps.vl2"]],"interiors/flingtower01.dif":["interiors/flingtower01.dif",["z_mappacks/CTF/S5maps.vl2"]],"interiors/flingtower02.dif":["interiors/flingtower02.dif",["z_mappacks/CTF/S5maps.vl2"]],"interiors/flingturretstand01.dif":["interiors/flingturretstand01.dif",["z_mappacks/CTF/S5maps.vl2"]],"interiors/flingvpad01.dif":["interiors/flingvpad01.dif",["z_mappacks/CTF/S8maps.vl2"]],"interiors/flingvpad01b.dif":["interiors/flingvpad01b.dif",["z_mappacks/CTF/S8maps.vl2"]],"interiors/frostclawbase.dif":["interiors/frostclawbase.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/frozensolidstand.dif":["interiors/frozenSolidStand.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/hbbunker.dif":["interiors/hbbunker.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/hbflagstand.dif":["interiors/hbflagstand.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/idbase.dif":["interiors/idbase.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/idhangar.dif":["interiors/idhangar.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/idmiddle.dif":["interiors/idmiddle.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/inf_butch_fg2base1.dif":["interiors/inf_butch_fg2base1.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/inf_butch_fg2flag21.dif":["interiors/inf_butch_fg2flag21.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/inf_butch_fg2turret13.dif":["interiors/inf_butch_fg2turret13.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/inf_butch_fg2turret9.dif":["interiors/inf_butch_fg2turret9.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/inf_butch_icebase51.dif":["interiors/inf_butch_icebase51.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/inf_butch_iceturretbase9.dif":["interiors/inf_butch_iceturretbase9.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/inf_butch_icevehicle11.dif":["interiors/inf_butch_icevehicle11.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/inf_butch_lava_flagbase06.dif":["interiors/inf_butch_lava_flagbase06.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/inf_butch_lava_plat6.dif":["interiors/inf_butch_lava_plat6.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/inf_butch_lava_sensor12.dif":["interiors/inf_butch_lava_sensor12.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/infbutch_blackairinv13.dif":["interiors/infbutch_blackairinv13.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/infbutch_blackbase5618_final.dif":["interiors/infbutch_blackbase5618_final.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/infbutch_blackturret8.dif":["interiors/infbutch_blackturret8.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/irisbase.dif":["interiors/irisbase.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/irisinside.dif":["interiors/irisinside.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/irismonu.dif":["interiors/irismonu.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/irisruin2.dif":["interiors/irisruin2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/irisruin3.dif":["interiors/irisruin3.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/irisruins1.dif":["interiors/irisruins1.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/iristurbase.dif":["interiors/iristurbase.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/jagged_base3.dif":["interiors/jagged_base3.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/kif_cinereousfs.dif":["interiors/kif_cinereousfs.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/kif_cinereousinv.dif":["interiors/kif_cinereousinv.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/kif_cinereousplat1.dif":["interiors/kif_cinereousplat1.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/kif_cinereoustt.dif":["interiors/kif_cinereoustt.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/kif_skylightbase.dif":["interiors/kif_skylightbase.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/kif_skylightfs.dif":["interiors/kif_skylightfs.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/largeicewall.dif":["interiors/largeIceWall.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/lightningrod.dif":["interiors/lightningRod.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/magellan_kab_magbase.dif":["interiors/Magellan_kab_magbase.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/magellan_kab_magflagstand.dif":["interiors/Magellan_kab_magflagstand.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/magellan_kab_turretstand.dif":["interiors/Magellan_kab_turretstand.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/magnum_vehicle_stop.dif":["interiors/magnum_vehicle_stop.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/mfg_tower.dif":["interiors/mfg_tower.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/mmbase.dif":["interiors/mmbase.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/mmbridge.dif":["interiors/mmbridge.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/monos.dif":["interiors/monoS.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/muddyswampstand.dif":["interiors/muddyswampstand.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/nef_bowl1.dif":["interiors/nef_bowl1.dif",["TR2final105-client.vl2"]],"interiors/nef_bowl2.dif":["interiors/nef_bowl2.dif",["TR2final105-client.vl2"]],"interiors/nef_bowl3.dif":["interiors/nef_bowl3.dif",["TR2final105-client.vl2"]],"interiors/nef_ramp1.dif":["interiors/nef_ramp1.dif",["TR2final105-client.vl2"]],"interiors/nycto-base1.dif":["interiors/nycto-base1.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/nycto-base2.dif":["interiors/nycto-base2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/nycto-ec1.dif":["interiors/nycto-ec1.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/nycto-ec2.dif":["interiors/nycto-ec2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/nycto-ec3.dif":["interiors/nycto-ec3.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/nycto-ec4.dif":["interiors/nycto-ec4.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/nycto-ec5.dif":["interiors/nycto-ec5.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/nycto-ec6.dif":["interiors/nycto-ec6.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/nycto-stand1.dif":["interiors/nycto-stand1.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/nycto-tunnel-1.dif":["interiors/nycto-tunnel-1.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/ocular-flagstand.dif":["interiors/ocular-flagstand.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/pbase3.dif":["interiors/pbase3.dif",["interiors.vl2"]],"interiors/pbase_nef_giant.dif":["interiors/pbase_nef_giant.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/pbase_nef_vbase1.dif":["interiors/pbase_nef_vbase1.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/pbrdg0.dif":["interiors/pbrdg0.dif",["interiors.vl2"]],"interiors/pbrdg1.dif":["interiors/pbrdg1.dif",["interiors.vl2"]],"interiors/pbrdg2.dif":["interiors/pbrdg2.dif",["interiors.vl2"]],"interiors/pbrdg3.dif":["interiors/pbrdg3.dif",["interiors.vl2"]],"interiors/pbrdg4.dif":["interiors/pbrdg4.dif",["interiors.vl2"]],"interiors/pbrdgn.dif":["interiors/pbrdgn.dif",["interiors.vl2"]],"interiors/pbrdgo.dif":["interiors/pbrdgo.dif",["interiors.vl2"]],"interiors/pbrdgp.dif":["interiors/pbrdgp.dif",["interiors.vl2"]],"interiors/pbunk1.dif":["interiors/pbunk1.dif",["interiors.vl2"]],"interiors/pbunk2.dif":["interiors/pbunk2.dif",["interiors.vl2"]],"interiors/pbunk3.dif":["interiors/pbunk3.dif",["interiors.vl2"]],"interiors/pbunk4a_cc.dif":["interiors/pbunk4a_CC.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/pbunk5.dif":["interiors/pbunk5.dif",["interiors.vl2"]],"interiors/pbunk6.dif":["interiors/pbunk6.dif",["interiors.vl2"]],"interiors/pbunk7.dif":["interiors/pbunk7.dif",["interiors.vl2"]],"interiors/pbunk7a_cc.dif":["interiors/pbunk7a_CC.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/pbunk8.dif":["interiors/pbunk8.dif",["interiors.vl2"]],"interiors/peach_lush_bunker1.dif":["interiors/peach_lush_bunker1.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/pmisc1.dif":["interiors/pmisc1.dif",["interiors.vl2"]],"interiors/pmisc2.dif":["interiors/pmisc2.dif",["interiors.vl2"]],"interiors/pmisc3.dif":["interiors/pmisc3.dif",["interiors.vl2"]],"interiors/pmisc4.dif":["interiors/pmisc4.dif",["interiors.vl2"]],"interiors/pmisc5.dif":["interiors/pmisc5.dif",["interiors.vl2"]],"interiors/pmisca.dif":["interiors/pmisca.dif",["interiors.vl2"]],"interiors/pmiscb.dif":["interiors/pmiscb.dif",["interiors.vl2"]],"interiors/pmiscc.dif":["interiors/pmiscc.dif",["interiors.vl2"]],"interiors/pplat1.dif":["interiors/pplat1.dif",["interiors.vl2"]],"interiors/pplat2.dif":["interiors/pplat2.dif",["interiors.vl2"]],"interiors/pplat3.dif":["interiors/pplat3.dif",["interiors.vl2"]],"interiors/pplat4.dif":["interiors/pplat4.dif",["interiors.vl2"]],"interiors/pplat5.dif":["interiors/pplat5.dif",["interiors.vl2"]],"interiors/prock6.dif":["interiors/prock6.dif",["interiors.vl2"]],"interiors/prock7.dif":["interiors/prock7.dif",["interiors.vl2"]],"interiors/prock8.dif":["interiors/prock8.dif",["interiors.vl2"]],"interiors/procka.dif":["interiors/procka.dif",["interiors.vl2"]],"interiors/prockb.dif":["interiors/prockb.dif",["interiors.vl2"]],"interiors/prockc.dif":["interiors/prockc.dif",["interiors.vl2"]],"interiors/pspir1.dif":["interiors/pspir1.dif",["interiors.vl2"]],"interiors/pspir2.dif":["interiors/pspir2.dif",["interiors.vl2"]],"interiors/pspir3.dif":["interiors/pspir3.dif",["interiors.vl2"]],"interiors/pspir4.dif":["interiors/pspir4.dif",["interiors.vl2"]],"interiors/pspir5.dif":["interiors/pspir5.dif",["interiors.vl2"]],"interiors/ptowr1.dif":["interiors/ptowr1.dif",["interiors.vl2"]],"interiors/ptowr2.dif":["interiors/ptowr2.dif",["interiors.vl2"]],"interiors/ptowr4.dif":["interiors/ptowr4.dif",["interiors.vl2"]],"interiors/ptowr5.dif":["interiors/ptowr5.dif",["interiors.vl2"]],"interiors/ptowr7.dif":["interiors/ptowr7.dif",["interiors.vl2"]],"interiors/pvbay1.dif":["interiors/pvbay1.dif",["interiors.vl2"]],"interiors/pvpad.dif":["interiors/pvpad.dif",["interiors.vl2"]],"interiors/pwall1.dif":["interiors/pwall1.dif",["interiors.vl2"]],"interiors/rail1.dif":["interiors/rail1.dif",["TR2final105-client.vl2"],["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/ram_base.dif":["interiors/ram_base.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/ram_tower.dif":["interiors/ram_tower.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/ram_wall4.dif":["interiors/ram_wall4.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/ramp1.dif":["interiors/ramp1.dif",["TR2final105-client.vl2"]],"interiors/rdtower.dif":["interiors/RDTower.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/rilke_bombscare_flagstand_x2.dif":["interiors/rilke_bombscare_flagstand_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rilke_ctm1_flagstand1_x2.dif":["interiors/rilke_ctm1_flagstand1_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"interiors/rilke_ctm1_platform1_x2.dif":["interiors/rilke_ctm1_platform1_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"interiors/rilke_ctm1_sensorbunker1_x2.dif":["interiors/rilke_ctm1_sensorbunker1_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rilke_ctm1_sensorbunker2_x2.dif":["interiors/rilke_ctm1_sensorbunker2_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rilke_ctm1_vpad_x2.dif":["interiors/rilke_ctm1_vpad_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"interiors/rilke_domain2_boundrymarker.dif":["interiors/rilke_domain2_boundrymarker.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/rilke_domain2_boundrymarker2.dif":["interiors/rilke_domain2_boundrymarker2.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/rilke_domain2_bridge1.dif":["interiors/rilke_domain2_bridge1.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/rilke_domain2_mainbase.dif":["interiors/rilke_domain2_mainbase.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/rilke_domain_turretbase1.dif":["interiors/rilke_domain_turretbase1.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/rilke_whitedwarf_bridge.dif":["interiors/rilke_whitedwarf_bridge.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/rilke_whitedwarf_bridge2_x2.dif":["interiors/rilke_whitedwarf_bridge2_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rilke_whitedwarf_bridgebase1_x2.dif":["interiors/rilke_whitedwarf_bridgebase1_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rilke_whitedwarf_bunker2_x2.dif":["interiors/rilke_whitedwarf_bunker2_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rilke_whitedwarf_mainbase.dif":["interiors/rilke_whitedwarf_mainbase.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/rilke_whitedwarf_platform1.dif":["interiors/rilke_whitedwarf_platform1.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/rilke_whitedwarf_platform2_x2.dif":["interiors/rilke_whitedwarf_platform2_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rilke_whitedwarf_platform3_x2.dif":["interiors/rilke_whitedwarf_platform3_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rilke_whitedwarf_towerbunker.dif":["interiors/rilke_whitedwarf_towerbunker.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/rilke_whitedwarf_towerbunker2_x2.dif":["interiors/rilke_whitedwarf_towerbunker2_x2.dif",["z_mappacks/CTF/S5maps.vl2"],["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rilke_whitedwarf_vehiclepad_x2.dif":["interiors/rilke_whitedwarf_vehiclepad_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_agroleonbase.dif":["interiors/rst_agroleonbase.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_agroleonstand.dif":["interiors/rst_agroleonstand.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_arenalight.dif":["interiors/rst_arenalight.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_astro_bunker.dif":["interiors/rst_astro_bunker.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_astro_stand.dif":["interiors/rst_astro_stand.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_barrier1.dif":["interiors/rst_barrier1.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_barrier2.dif":["interiors/rst_barrier2.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_beagleship.dif":["interiors/rst_beagleship.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_bitterbase.dif":["interiors/rst_bitterbase.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_bitterbunker.dif":["interiors/rst_bitterbunker.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_bitterbunker2.dif":["interiors/rst_bitterbunker2.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_bitterbunker3.dif":["interiors/rst_bitterbunker3.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_bitterstand.dif":["interiors/rst_bitterstand.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_debris1.dif":["interiors/rst_debris1.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_debris2.dif":["interiors/rst_debris2.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_derm_building1.dif":["interiors/rst_derm_building1.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_derm_building2.dif":["interiors/rst_derm_building2.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_derm_building3.dif":["interiors/rst_derm_building3.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_derm_building4.dif":["interiors/rst_derm_building4.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_derm_building5.dif":["interiors/rst_derm_building5.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_derm_building6.dif":["interiors/rst_derm_building6.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_derm_building7.dif":["interiors/rst_derm_building7.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_derm_building8.dif":["interiors/rst_derm_building8.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_derm_bunker.dif":["interiors/rst_derm_bunker.dif",["z_mappacks/CTF/S5maps.vl2"]],"interiors/rst_derm_citybase.dif":["interiors/rst_derm_citybase.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_derm_citybridge.dif":["interiors/rst_derm_citybridge.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_derm_mainbase.dif":["interiors/rst_derm_mainbase.dif",["z_mappacks/CTF/S5maps.vl2"]],"interiors/rst_derm_midfield.dif":["interiors/rst_derm_midfield.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_derm_newpillarstand.dif":["interiors/rst_derm_newpillarstand.dif",["z_mappacks/CTF/S5maps.vl2"]],"interiors/rst_derm_pillar.dif":["interiors/rst_derm_pillar.dif",["z_mappacks/CTF/S5maps.vl2"]],"interiors/rst_derm_plat.dif":["interiors/rst_derm_plat.dif",["z_mappacks/CTF/S5maps.vl2"]],"interiors/rst_derm_plat2.dif":["interiors/rst_derm_plat2.dif",["z_mappacks/CTF/S5maps.vl2"]],"interiors/rst_derm_podium.dif":["interiors/rst_derm_podium.dif",["z_mappacks/CTF/S5maps.vl2"]],"interiors/rst_derm_snipenest.dif":["interiors/rst_derm_snipenest.dif",["z_mappacks/CTF/S5maps.vl2"]],"interiors/rst_derm_turretbase.dif":["interiors/rst_derm_turretbase.dif",["z_mappacks/CTF/S5maps.vl2"]],"interiors/rst_derm_vechpad.dif":["interiors/rst_derm_vechpad.dif",["z_mappacks/CTF/S5maps.vl2"]],"interiors/rst_dogma_base.dif":["interiors/rst_dogma_base.dif",["z_mappacks/CTF/S8maps.vl2"]],"interiors/rst_dogma_bridge.dif":["interiors/rst_dogma_bridge.dif",["z_mappacks/CTF/S8maps.vl2"]],"interiors/rst_dogma_bridge2.dif":["interiors/rst_dogma_bridge2.dif",["z_mappacks/CTF/S8maps.vl2"]],"interiors/rst_facebase.dif":["interiors/rst_FaceBase.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_facebase2.dif":["interiors/rst_FaceBase2.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_facebase_vehfix.dif":["interiors/rst_FaceBase_VehFix.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_facestand.dif":["interiors/rst_FaceStand.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_islebase.dif":["interiors/rst_islebase.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_islebase2.dif":["interiors/rst_islebase2.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_lighthouse.dif":["interiors/rst_lighthouse.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_lush_flagplat.dif":["interiors/rst_lush_flagplat.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_lush_floatingisle1.dif":["interiors/rst_lush_floatingisle1.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_lush_floatingisle10.dif":["interiors/rst_lush_floatingisle10.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_lush_floatingisle2.dif":["interiors/rst_lush_floatingisle2.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_lush_floatingisle3.dif":["interiors/rst_lush_floatingisle3.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_lush_floatingisle4.dif":["interiors/rst_lush_floatingisle4.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_lush_floatingisle5.dif":["interiors/rst_lush_floatingisle5.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_lush_floatingisle6.dif":["interiors/rst_lush_floatingisle6.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_lush_floatingisle7.dif":["interiors/rst_lush_floatingisle7.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_lush_floatingisle8.dif":["interiors/rst_lush_floatingisle8.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_lush_floatingisle9.dif":["interiors/rst_lush_floatingisle9.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_lush_rock2.dif":["interiors/rst_lush_rock2.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_newlighthouse.dif":["interiors/rst_newlighthouse.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_padbottom.dif":["interiors/rst_padbottom.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_padbottom2.dif":["interiors/rst_padbottom2.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_pipedream.dif":["interiors/rst_pipedream.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_sebase.dif":["interiors/rst_SEbase.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_secave1_part1.dif":["interiors/rst_SEcave1_part1.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_secave1_part2.dif":["interiors/rst_SEcave1_part2.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_secave1_part3.dif":["interiors/rst_SEcave1_part3.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_secave2.dif":["interiors/rst_SEcave2.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_setower.dif":["interiors/rst_SEtower.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_simpleflagarena.dif":["interiors/rst_SimpleFlagArena.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_spir_base3.dif":["interiors/rst_spir_base3.dif",["z_mappacks/CTF/S8maps.vl2"]],"interiors/rst_spir_pillar.dif":["interiors/rst_spir_pillar.dif",["z_mappacks/CTF/S8maps.vl2"]],"interiors/rst_spit_base.dif":["interiors/rst_spit_base.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_spit_stand.dif":["interiors/rst_spit_stand.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/rst_swd_flagstand.dif":["interiors/rst_swd_flagstand.dif",["z_mappacks/CTF/S5maps.vl2"]],"interiors/rst_swd_ship2.dif":["interiors/rst_swd_ship2.dif",["z_mappacks/CTF/S5maps.vl2"]],"interiors/ruin1.dif":["interiors/ruin1.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/ruin2.dif":["interiors/ruin2.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/ruin3.dif":["interiors/ruin3.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/ruin4.dif":["interiors/ruin4.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/ruinarch.dif":["interiors/ruinarch.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/s5_anthem_pipebase.dif":["interiors/s5_anthem_pipebase.dif",["z_mappacks/CTF/S5maps.vl2"]],"interiors/s5_anthem_pipestand.dif":["interiors/s5_anthem_pipestand.dif",["z_mappacks/CTF/S5maps.vl2"]],"interiors/sbase1.dif":["interiors/sbase1.dif",["interiors.vl2"]],"interiors/sbase3.dif":["interiors/sbase3.dif",["interiors.vl2"]],"interiors/sbase5.dif":["interiors/sbase5.dif",["interiors.vl2"]],"interiors/sbrdg1.dif":["interiors/sbrdg1.dif",["interiors.vl2"]],"interiors/sbrdg2.dif":["interiors/sbrdg2.dif",["interiors.vl2"]],"interiors/sbrdg3.dif":["interiors/sbrdg3.dif",["interiors.vl2"]],"interiors/sbrdg4.dif":["interiors/sbrdg4.dif",["interiors.vl2"]],"interiors/sbrdg5.dif":["interiors/sbrdg5.dif",["interiors.vl2"]],"interiors/sbrdg6.dif":["interiors/sbrdg6.dif",["interiors.vl2"]],"interiors/sbrdg7.dif":["interiors/sbrdg7.dif",["interiors.vl2"]],"interiors/sbrdgn.dif":["interiors/sbrdgn.dif",["interiors.vl2"]],"interiors/sbrdgo.dif":["interiors/sbrdgo.dif",["interiors.vl2"]],"interiors/sbunk2.dif":["interiors/sbunk2.dif",["interiors.vl2"]],"interiors/sbunk9.dif":["interiors/sbunk9.dif",["interiors.vl2"]],"interiors/sbunk_nef1.dif":["interiors/sbunk_nef1.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/siege.dif":["interiors/siege.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/singleramp.dif":["interiors/singleramp.dif",["TR2final105-client.vl2"]],"interiors/smisc1.dif":["interiors/smisc1.dif",["interiors.vl2"]],"interiors/smisc3.dif":["interiors/smisc3.dif",["interiors.vl2"]],"interiors/smisc4.dif":["interiors/smisc4.dif",["interiors.vl2"]],"interiors/smisc5.dif":["interiors/smisc5.dif",["interiors.vl2"]],"interiors/smisc_nef1.dif":["interiors/smisc_nef1.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/smisca.dif":["interiors/smisca.dif",["interiors.vl2"]],"interiors/smiscb.dif":["interiors/smiscb.dif",["interiors.vl2"]],"interiors/smiscc.dif":["interiors/smiscc.dif",["interiors.vl2"]],"interiors/snowtuar.dif":["interiors/snowtuar.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/snowval.dif":["interiors/snowVal.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/spawnbase.dif":["interiors/spawnbase.dif",["TR2final105-client.vl2"]],"interiors/spawnbase2.dif":["interiors/spawnbase2.dif",["TR2final105-client.vl2"]],"interiors/sphere.dif":["interiors/sphere.dif",["TR2final105-client.vl2"]],"interiors/spincycle_spbase2.dif":["interiors/SpinCycle_spbase2.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/splat1.dif":["interiors/splat1.dif",["interiors.vl2"]],"interiors/splat3.dif":["interiors/splat3.dif",["interiors.vl2"]],"interiors/splat7.dif":["interiors/splat7.dif",["interiors.vl2"]],"interiors/srock6.dif":["interiors/srock6.dif",["interiors.vl2"]],"interiors/srock7.dif":["interiors/srock7.dif",["interiors.vl2"]],"interiors/srock8.dif":["interiors/srock8.dif",["interiors.vl2"]],"interiors/srocka.dif":["interiors/srocka.dif",["interiors.vl2"]],"interiors/srockb.dif":["interiors/srockb.dif",["interiors.vl2"]],"interiors/srockc.dif":["interiors/srockc.dif",["interiors.vl2"]],"interiors/sspir1.dif":["interiors/sspir1.dif",["interiors.vl2"]],"interiors/sspir2.dif":["interiors/sspir2.dif",["interiors.vl2"]],"interiors/sspir3.dif":["interiors/sspir3.dif",["interiors.vl2"]],"interiors/sspir4.dif":["interiors/sspir4.dif",["interiors.vl2"]],"interiors/starfallen.dif":["interiors/Starfallen.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/stormstand.dif":["interiors/stormstand.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/stormtoptunnel.dif":["interiors/stormTopTunnel.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/stowr1.dif":["interiors/stowr1.dif",["interiors.vl2"]],"interiors/stowr3.dif":["interiors/stowr3.dif",["interiors.vl2"]],"interiors/stowr4.dif":["interiors/stowr4.dif",["interiors.vl2"]],"interiors/stowr6.dif":["interiors/stowr6.dif",["interiors.vl2"]],"interiors/svpad.dif":["interiors/svpad.dif",["interiors.vl2"]],"interiors/swall1.dif":["interiors/swall1.dif",["interiors.vl2"]],"interiors/swtunnel.dif":["interiors/swTunnel.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/t_bbase_ccb2a.dif":["interiors/t_bbase_ccb2a.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/t_bmisc_tunl_ccb1.dif":["interiors/t_bmisc_tunl_ccb1.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/t_bwall2a_cnr_cc.dif":["interiors/t_bwall2a_cnr_CC.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/t_bwall2a_lrg_cc.dif":["interiors/t_bwall2a_lrg_CC.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/t_bwall2a_sm_cc.dif":["interiors/t_bwall2a_sm_CC.dif",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"interiors/tes_flagbase_x2.dif":["interiors/tes_flagbase_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/tes_flagbunker.dif":["interiors/tes_flagbunker.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/tes_flyingvehicle_x2.dif":["interiors/tes_flyingvehicle_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"interiors/tes_flyingvehiclebase.dif":["interiors/tes_flyingvehiclebase.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/tes_turretholder.dif":["interiors/tes_turretholder.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/tl_bmiscpan_ruind.dif":["interiors/TL_bmiscpan_ruind.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/tl_btowr9.dif":["interiors/TL_btowr9.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/tl_drorck-base.dif":["interiors/TL_drorck-base.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/tl_magnumbase.dif":["interiors/TL_magnumbase.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/tl_magnumflag.dif":["interiors/TL_magnumflag.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/tl_magnummisc.dif":["interiors/TL_magnummisc.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/tl_magnumturret.dif":["interiors/TL_magnumturret.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/tl_magnumvs.dif":["interiors/TL_magnumvs.dif",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"interiors/tree_bowlstump.dif":["interiors/tree_bowlstump.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/tree_corridoor.dif":["interiors/tree_corridoor.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/tree_hollow.dif":["interiors/tree_hollow.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/tree_main.dif":["interiors/tree_main.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/tree_nocanopy.dif":["interiors/tree_nocanopy.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/tree_router.dif":["interiors/tree_router.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/tree_solid.dif":["interiors/tree_solid.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/tree_stump.dif":["interiors/tree_stump.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/tri_base.dif":["interiors/tri_base.dif",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"interiors/tri_gate.dif":["interiors/tri_gate.dif",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"interiors/tri_misc1.dif":["interiors/tri_misc1.dif",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"interiors/tri_powerpit.dif":["interiors/tri_powerpit.dif",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"interiors/tri_tbunker.dif":["interiors/tri_tbunker.dif",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"interiors/tri_tbunker_x.dif":["interiors/tri_tbunker_x.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/tri_tbunker_x2.dif":["interiors/tri_tbunker_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"interiors/tri_tower.dif":["interiors/tri_tower.dif",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"interiors/tri_tower_x2.dif":["interiors/tri_tower_x2.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"interiors/tri_wall3.dif":["interiors/tri_wall3.dif",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"interiors/tri_wall4.dif":["interiors/tri_wall4.dif",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"interiors/tri_wall5.dif":["interiors/tri_wall5.dif",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"interiors/tri_wall6.dif":["interiors/tri_wall6.dif",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"interiors/underhillmidbalancedfnl.dif":["interiors/underhillmidbalancedfnl.dif",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"interiors/underhillsideonefnl.dif":["interiors/underhillsideonefnl.dif",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"interiors/vocstand.dif":["interiors/vocstand.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/vpad_bunker.dif":["interiors/Vpad_Bunker.dif",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"interiors/waterstand.dif":["interiors/waterStand.dif",["z_mappacks/z_DMP2-V0.6.vl2"]],"interiors/xbase1.dif":["interiors/xbase1.dif",["interiors.vl2"]],"interiors/xbase2.dif":["interiors/xbase2.dif",["interiors.vl2"]],"interiors/xbrdg0.dif":["interiors/xbrdg0.dif",["interiors.vl2"]],"interiors/xbrdg1.dif":["interiors/xbrdg1.dif",["interiors.vl2"]],"interiors/xbrdg10.dif":["interiors/xbrdg10.dif",["interiors.vl2"]],"interiors/xbrdg2.dif":["interiors/xbrdg2.dif",["interiors.vl2"]],"interiors/xbrdg3.dif":["interiors/xbrdg3.dif",["interiors.vl2"]],"interiors/xbrdg4.dif":["interiors/xbrdg4.dif",["interiors.vl2"]],"interiors/xbrdg5.dif":["interiors/xbrdg5.dif",["interiors.vl2"]],"interiors/xbrdg6.dif":["interiors/xbrdg6.dif",["interiors.vl2"]],"interiors/xbrdg7.dif":["interiors/xbrdg7.dif",["interiors.vl2"]],"interiors/xbrdg8.dif":["interiors/xbrdg8.dif",["interiors.vl2"]],"interiors/xbrdg9.dif":["interiors/xbrdg9.dif",["interiors.vl2"]],"interiors/xbrdga.dif":["interiors/xbrdga.dif",["interiors.vl2"]],"interiors/xbrdgb.dif":["interiors/xbrdgb.dif",["interiors.vl2"]],"interiors/xbrdgn.dif":["interiors/xbrdgn.dif",["interiors.vl2"]],"interiors/xbrdgo.dif":["interiors/xbrdgo.dif",["interiors.vl2"]],"interiors/xbunk1.dif":["interiors/xbunk1.dif",["interiors.vl2"]],"interiors/xbunk2.dif":["interiors/xbunk2.dif",["interiors.vl2"]],"interiors/xbunk5.dif":["interiors/xbunk5.dif",["interiors.vl2"]],"interiors/xbunk6.dif":["interiors/xbunk6.dif",["interiors.vl2"]],"interiors/xbunk9.dif":["interiors/xbunk9.dif",["interiors.vl2"]],"interiors/xbunkb.dif":["interiors/xbunkb.dif",["interiors.vl2"]],"interiors/xmisc1.dif":["interiors/xmisc1.dif",["interiors.vl2"]],"interiors/xmisc2.dif":["interiors/xmisc2.dif",["interiors.vl2"]],"interiors/xmisc3.dif":["interiors/xmisc3.dif",["interiors.vl2"]],"interiors/xmisc4.dif":["interiors/xmisc4.dif",["interiors.vl2"]],"interiors/xmisc5.dif":["interiors/xmisc5.dif",["interiors.vl2"]],"interiors/xmisca.dif":["interiors/xmisca.dif",["interiors.vl2"]],"interiors/xmiscb.dif":["interiors/xmiscb.dif",["interiors.vl2"]],"interiors/xmiscc.dif":["interiors/xmiscc.dif",["interiors.vl2"]],"interiors/xplat1.dif":["interiors/xplat1.dif",["interiors.vl2"]],"interiors/xplat2.dif":["interiors/xplat2.dif",["interiors.vl2"]],"interiors/xplat3.dif":["interiors/xplat3.dif",["interiors.vl2"]],"interiors/xrock6.dif":["interiors/xrock6.dif",["interiors.vl2"]],"interiors/xrock7.dif":["interiors/xrock7.dif",["interiors.vl2"]],"interiors/xrock8.dif":["interiors/xrock8.dif",["interiors.vl2"]],"interiors/xrocka.dif":["interiors/xrocka.dif",["interiors.vl2"]],"interiors/xrockb.dif":["interiors/xrockb.dif",["interiors.vl2"]],"interiors/xrockc.dif":["interiors/xrockc.dif",["interiors.vl2"]],"interiors/xspir1.dif":["interiors/xspir1.dif",["interiors.vl2"]],"interiors/xspir2.dif":["interiors/xspir2.dif",["interiors.vl2"]],"interiors/xspir3.dif":["interiors/xspir3.dif",["interiors.vl2"]],"interiors/xspir5.dif":["interiors/xspir5.dif",["interiors.vl2"]],"interiors/xtowr1.dif":["interiors/xtowr1.dif",["interiors.vl2"]],"interiors/xtowr3.dif":["interiors/xtowr3.dif",["interiors.vl2"]],"interiors/xtowr4.dif":["interiors/xtowr4.dif",["interiors.vl2"]],"interiors/xtowr7.dif":["interiors/xtowr7.dif",["interiors.vl2"]],"interiors/xtra_af_airtower.dif":["interiors/Xtra_AF_airtower.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_af_invowheel.dif":["interiors/Xtra_AF_invowheel.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_af_newbase.dif":["interiors/Xtra_AF_newbase.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_attrition_infernoflagstand.dif":["interiors/Xtra_attrition_infernoflagstand.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_attrition_stormflagstand.dif":["interiors/Xtra_attrition_stormflagstand.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_attrition_tower.dif":["interiors/Xtra_attrition_tower.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_attrition_vbase.dif":["interiors/Xtra_attrition_vbase.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_bastage_bt_bunktower.dif":["interiors/Xtra_Bastage_BT_bunktower.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_bastage_bt_mainbase_ck.dif":["interiors/Xtra_Bastage_BT_MainBase_CK.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_bastage_bt_tunnel.dif":["interiors/Xtra_Bastage_BT_tunnel.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_beachchair01.dif":["interiors/Xtra_beachchair01.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_caustic_tri_bridge.dif":["interiors/Xtra_Caustic_tri_bridge.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_caustic_tri_lamp.dif":["interiors/Xtra_Caustic_tri_lamp.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_caustic_tri_main.dif":["interiors/Xtra_Caustic_tri_main.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_caustic_tri_turret.dif":["interiors/Xtra_Caustic_tri_turret.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_crown_tri_flag.dif":["interiors/Xtra_Crown_tri_flag.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_crown_tri_turret.dif":["interiors/Xtra_Crown_tri_turret.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_dmisc_-nefflagstand1_x2.dif":["interiors/Xtra_dmisc_-nefflagstand1_x2.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_ghostdance_proto.dif":["interiors/Xtra_ghostdance_proto.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_gravestone_cross.dif":["interiors/Xtra_GraveStone_cross.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_gravestone_cross2.dif":["interiors/Xtra_GraveStone_cross2.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_gravestone_obtower.dif":["interiors/Xtra_GraveStone_obtower.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_gravestone_tombstone2.dif":["interiors/Xtra_GraveStone_tombstone2.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_gravestone_tombstone3.dif":["interiors/Xtra_GraveStone_tombstone3.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_hellfire_dbase_ccb1.dif":["interiors/Xtra_Hellfire_dbase_ccb1.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_hellfire_dmisc_int_fstand_old.dif":["interiors/Xtra_Hellfire_dmisc_int_fstand_old.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_hellfire_dwall_ccb1.dif":["interiors/Xtra_Hellfire_dwall_ccb1.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_hm_base_ck.dif":["interiors/Xtra_HM_Base_CK.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_hm_bunkera.dif":["interiors/Xtra_HM_BunkerA.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_hm_flagstand_mk2.dif":["interiors/Xtra_HM_Flagstand_mk2.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_hm_turretpillar.dif":["interiors/Xtra_HM_TurretPillar.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_imperium_base01.dif":["interiors/Xtra_imperium_base01.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_imperium_bunker01.dif":["interiors/Xtra_imperium_bunker01.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_imperium_stand01.dif":["interiors/Xtra_imperium_stand01.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_imperium_tower01.dif":["interiors/Xtra_imperium_tower01.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_insurgence_ccb_bd_base1.dif":["interiors/Xtra_Insurgence_ccb_bd_base1.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_insurgence_ccb_bd_base1_mod2a.dif":["interiors/Xtra_Insurgence_ccb_bd_base1_mod2a.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_insurgence_ccb_bd_base1_mod3.dif":["interiors/Xtra_Insurgence_ccb_bd_base1_mod3.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_insurgence_ccb_bd_base1_mod4.dif":["interiors/Xtra_Insurgence_ccb_bd_base1_mod4.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_insurgence_ccb_bd_bridge1.dif":["interiors/Xtra_Insurgence_ccb_bd_bridge1.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_insurgence_ccb_bd_bridge2.dif":["interiors/Xtra_Insurgence_ccb_bd_bridge2.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_insurgence_ccb_bd_platform2.dif":["interiors/Xtra_Insurgence_ccb_bd_platform2.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_malignant_salgenroom2.dif":["interiors/Xtra_Malignant_salgenroom2.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_malignant_salproj1.dif":["interiors/Xtra_Malignant_salproj1.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_malignant_salturretsus1.dif":["interiors/Xtra_Malignant_salturretsus1.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_malignant_slblocks.dif":["interiors/Xtra_Malignant_slblocks.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_malignant_slinvstat.dif":["interiors/Xtra_Malignant_slinvstat.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_malignant_slremo2.dif":["interiors/Xtra_Malignant_slremo2.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_malignant_slsusbr1.dif":["interiors/Xtra_Malignant_slsusbr1.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_malignant_slvehramp1.dif":["interiors/Xtra_Malignant_slvehramp1.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_metaltanks_bridge.dif":["interiors/Xtra_metaltanks_bridge.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_metaltanks_bridge_tunnel.dif":["interiors/Xtra_metaltanks_bridge_tunnel.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_metaltanks_lush_mainbase.dif":["interiors/Xtra_metaltanks_lush_mainbase.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_metaltanks_rip.dif":["interiors/Xtra_metaltanks_rip.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_metaltanks_xing.dif":["interiors/Xtra_metaltanks_xing.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_projectx_tribalma5ters_coyboybebop_basecom1.dif":["interiors/Xtra_ProjectX_tribalma5ters_coyboybebop_basecom1.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_projectx_tunneloflove.dif":["interiors/Xtra_ProjectX_tunneloflove.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_rst_transitbase.dif":["interiors/Xtra_rst_transitbase.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_rst_transitstand.dif":["interiors/Xtra_rst_transitstand.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_sr_eepbridge4.dif":["interiors/Xtra_SR_eepbridge4.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_sr_eepbridge4b.dif":["interiors/Xtra_SR_eepbridge4b.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_sr_eepbridgeh4b.dif":["interiors/Xtra_SR_eepbridgeh4b.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_sr_eepsab3.dif":["interiors/Xtra_SR_eepsab3.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_sr_eepsab4.dif":["interiors/Xtra_SR_eepsab4.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_t_base0.dif":["interiors/Xtra_t_base0.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_torrent_kif_bigbase.dif":["interiors/Xtra_Torrent_kif_bigbase.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_torrent_kif_torrent_turret_tower.dif":["interiors/Xtra_Torrent_kif_torrent_turret_tower.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_vestige_attackgate.dif":["interiors/Xtra_Vestige_attackgate.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_vestige_base.dif":["interiors/Xtra_Vestige_base.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_vestige_gate.dif":["interiors/Xtra_Vestige_gate.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_vestige_guntower.dif":["interiors/Xtra_Vestige_guntower.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_vestige_medtower.dif":["interiors/Xtra_Vestige_medtower.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_vestige_vpad.dif":["interiors/Xtra_Vestige_vpad.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_wsol_flagstand_ck.dif":["interiors/Xtra_WSol_Flagstand_CK.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_wsol_genbase_ck.dif":["interiors/Xtra_WSol_GenBase_CK.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_wsol_turret_ck.dif":["interiors/Xtra_WSol_Turret_CK.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_xerxes_proto.dif":["interiors/Xtra_Xerxes_proto.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_xerxes_turret.dif":["interiors/Xtra_Xerxes_Turret.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_xerxes_turret2.dif":["interiors/Xtra_Xerxes_Turret2.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_zv_bbunk_ccb1.dif":["interiors/Xtra_ZV_bbunk_ccb1.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xtra_zv_ccb_be_spire1.dif":["interiors/Xtra_ZV_ccb_be_spire1.dif",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"interiors/xvpad.dif":["interiors/xvpad.dif",["interiors.vl2"]],"interiors/xwall1.dif":["interiors/xwall1.dif",["interiors.vl2"]],"loginscreens.cs":["loginScreens.cs",["T2csri.vl2"]],"missions/2arenadome.mis":["missions/2ArenaDome.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/2arenavalley.mis":["missions/2ArenaValley.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/2dustbowl.mis":["missions/2DustBowl.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/2flyersarena.mis":["missions/2Flyersarena.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/2icedome.mis":["missions/2IceDome.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/2indoorintensity.mis":["missions/2IndoorIntensity.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/aabaa.mis":["missions/aabaa.mis",["z_mappacks/CTF/Aabaa.vl2"]],"missions/aabaagh.mis":["missions/aabaaGH.mis",["z_mappacks/CTF/AabaaGH.vl2"]],"missions/aardvark_x2.mis":["missions/Aardvark_x2.mis",["z_mappacks/xPack2.vl2"]],"missions/abaddon_x2.mis":["missions/Abaddon_x2.mis",["z_mappacks/xPack2.vl2"]],"missions/abominable.mis":["missions/Abominable.mis",["missions.vl2"]],"missions/acidrain.mis":["missions/AcidRain.mis",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"missions/aeroena.mis":["missions/Aeroena.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/agentsoffortune.mis":["missions/AgentsOfFortune.mis",["missions.vl2"]],"missions/agorazscium.mis":["missions/Agorazscium.mis",["z_mappacks/CTF/Agorazscium.vl2"]],"missions/alcatraz.mis":["missions/Alcatraz.mis",["missions.vl2"]],"missions/anabatic.mis":["missions/anabatic.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/anomaly.mis":["missions/anomaly.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/archipelago.mis":["missions/Archipelago.mis",["missions.vl2"]],"missions/arenadome.mis":["missions/ArenaDome.mis",["z_mappacks/CTF/ArenaDome.vl2"]],"missions/arenadomedm.mis":["missions/ArenaDomeDM.mis",["z_mappacks/DM/DMMaps.vl2"]],"missions/arenaheaven.mis":["missions/ArenaHeaven.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/arenahell.mis":["missions/ArenaHell.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/arenahell2.mis":["missions/ArenaHell2.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/arenainthehill.mis":["missions/ArenaInTheHill.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/arenaunderthehill.mis":["missions/ArenaUnderTheHill.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/arrakis.mis":["missions/Arrakis.mis",["z_mappacks/Lak/TacoStandMaps.vl2"]],"missions/arrowpass_x2.mis":["missions/ArrowPass_x2.mis",["z_mappacks/xPack2.vl2"]],"missions/aryoarena.mis":["missions/AryoArena.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/ashestoashes.mis":["missions/AshesToAshes.mis",["missions.vl2"]],"missions/astersdescent.mis":["missions/AstersDescent.mis",["z_mappacks/CTF/AstersDescent.vl2"]],"missions/astrograbber_x2.mis":["missions/AstroGrabber_x2.mis",["z_mappacks/xPack2.vl2"]],"missions/attrition.mis":["missions/Attrition.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/attritionlt.mis":["missions/AttritionLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/azoth.mis":["missions/Azoth.mis",["z_mappacks/CTF/Azoth.vl2"]],"missions/basatinlt.mis":["missions/BasatinLT.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/basinfury.mis":["missions/BasinFury.mis",["z_mappacks/CTF/BasinFury.vl2"]],"missions/battlegrove.mis":["missions/BattleGrove.mis",["z_mappacks/CTF/BattleGrove.vl2"]],"missions/beachblitz_x2.mis":["missions/BeachBlitz_x2.mis",["z_mappacks/xPack2.vl2"]],"missions/beggarsrun.mis":["missions/BeggarsRun.mis",["missions.vl2"]],"missions/beggarsrunlak.mis":["missions/BeggarsRunLak.mis",["z_mappacks/Lak/TacoStandMaps.vl2"]],"missions/beggarsrunlt.mis":["missions/BeggarsRunLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/berlard.mis":["missions/berlard.mis",["z_mappacks/CTF/Berlard.vl2"]],"missions/berylbasin.mis":["missions/BerylBasin.mis",["z_mappacks/CTF/BerylBasin.vl2"]],"missions/blastside_nef.mis":["missions/Blastside_nef.mis",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"missions/blink.mis":["missions/Blink.mis",["z_mappacks/CTF/Blink.vl2"]],"missions/bluemoon_x2.mis":["missions/BlueMoon_x2.mis",["z_mappacks/xPack2.vl2"]],"missions/bolderdash_x2.mis":["missions/BolderDash_x2.mis",["z_mappacks/xPack2.vl2"]],"missions/bombardment.mis":["missions/bombardment.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/bonespur.mis":["missions/Bonespur.mis",["z_mappacks/CTF/Bonespur.vl2"]],"missions/bonespurlt.mis":["missions/BonespurLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/boss_x2.mis":["missions/Boss_x2.mis",["z_mappacks/xPack2.vl2"]],"missions/boxlak.mis":["missions/BoxLak.mis",["z_mappacks/Lak/BoxLak.vl2"]],"missions/bridgepoint.mis":["missions/Bridgepoint.mis",["z_mappacks/CTF/Bridgepoint.vl2"]],"missions/bridgetoofar.mis":["missions/BridgeTooFar.mis",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"missions/brigdm.mis":["missions/BrigDM.mis",["z_mappacks/DM/DMMaps.vl2"]],"missions/broadside_nef.mis":["missions/Broadside_nef.mis",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"missions/bruteforce_x2.mis":["missions/BruteForce_x2.mis",["z_mappacks/xPack2.vl2"]],"missions/bulwark.mis":["missions/Bulwark.mis",["z_mappacks/CTF/DiscordBulwark.vl2"]],"missions/bulwarklt.mis":["missions/BulwarkLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/burstside.mis":["missions/Burstside.mis",["z_mappacks/CTF/Burstside.vl2"]],"missions/cadaver.mis":["missions/Cadaver.mis",["z_mappacks/CTF/Cadaver.vl2"]],"missions/caldera.mis":["missions/Caldera.mis",["missions.vl2"]],"missions/camelland.mis":["missions/Camelland.mis",["z_mappacks/CTF/Camelland.vl2"]],"missions/camellandlt.mis":["missions/CamellandLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/cankerlak.mis":["missions/CankerLak.mis",["z_mappacks/Lak/TacoStandMaps.vl2"]],"missions/canyonrun_x2.mis":["missions/Canyonrun_x2.mis",["z_mappacks/xPack2.vl2"]],"missions/caprilt.mis":["missions/CapriLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/casern_cavite.mis":["missions/Casern_Cavite.mis",["missions.vl2"]],"missions/catwalklt.mis":["missions/CatwalkLT.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/chasmclash.mis":["missions/ChasmClash.mis",["z_mappacks/CTF/ChasmClash.vl2"]],"missions/checkmate.mis":["missions/Checkmate.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/choke.mis":["missions/Choke.mis",["z_mappacks/CTF/Choke.vl2"]],"missions/cindercone.mis":["missions/CinderCone.mis",["z_mappacks/CTF/119Mappack.vl2"]],"missions/cinerarium.mis":["missions/Cinerarium.mis",["z_mappacks/CTF/Cinerarium.vl2"]],"missions/cinereous.mis":["missions/Cinereous.mis",["z_mappacks/CTF/Cinereous.vl2"]],"missions/circleofstones.mis":["missions/circleofstones.mis",["z_mappacks/CTF/CircleofStones.vl2"]],"missions/circlesedge.mis":["missions/CirclesEdge.mis",["z_mappacks/CTF/CirclesEdge.vl2"]],"missions/circlesedgelt.mis":["missions/CirclesEdgeLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/cloakoflak.mis":["missions/CloakOfLak.mis",["z_mappacks/Lak/TacoStandMaps.vl2"]],"missions/cloakofnightv.mis":["missions/CloakOfNightV.mis",["z_mappacks/CTF/CloakOfNightV.vl2"]],"missions/closecombat.mis":["missions/CloseCombat.mis",["z_mappacks/CTF/CloseCombat.vl2"]],"missions/closecombatlt.mis":["missions/CloseCombatLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/cloudburst.mis":["missions/CloudBurst.mis",["z_mappacks/CTF/CloudBurst.vl2"]],"missions/cloudcity.mis":["missions/CloudCity.mis",["z_mappacks/CTF/CloudCity.vl2"]],"missions/clusterunfuct.mis":["missions/ClusterUnFuct.mis",["z_mappacks/CTF/ClusterUnFuct.vl2"]],"missions/coconutfury.mis":["missions/CoconutFury.mis",["z_mappacks/CTF/119Mappack.vl2"]],"missions/confusco.mis":["missions/Confusco.mis",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"missions/constructionyard.mis":["missions/ConstructionYard.mis",["z_mappacks/CTF/ConstructionYard.vl2"]],"missions/coppersky.mis":["missions/Coppersky.mis",["z_mappacks/CTF/copper-sky.vl2"]],"missions/crashclash.mis":["missions/CrashClash.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/crater71.mis":["missions/Crater71.mis",["TR2final105-client.vl2"]],"missions/crater71lak.mis":["missions/Crater71Lak.mis",["z_mappacks/Lak/LakRabbit_Maps.vl2"]],"missions/crossfiredlak.mis":["missions/CrossfiredLak.mis",["z_mappacks/Lak/TacoStandMaps.vl2"]],"missions/daftgulch.mis":["missions/DaftGulch.mis",["z_mappacks/CTF/DaftGulch.vl2"]],"missions/damnation.mis":["missions/Damnation.mis",["missions.vl2"]],"missions/damnationlak.mis":["missions/DamnationLak.mis",["z_mappacks/Lak/TacoStandMaps.vl2"]],"missions/damnationlt.mis":["missions/DamnationLT.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/damnationtdm.mis":["missions/DamnationTDM.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/dangerouscrossing_nef.mis":["missions/DangerousCrossing_nef.mis",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"missions/dangerouscrossingarena.mis":["missions/DangerousCrossingArena.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/dangerouscrossinglt.mis":["missions/DangerousCrossingLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/dangerousflinglt.mis":["missions/DangerousFlingLT.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/dawntodusk.mis":["missions/dawntodusk.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/dbs_smoothed.mis":["missions/DBS_Smoothed.mis",["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/deadlybirdssong_x2.mis":["missions/DeadlyBirdsSong_x2.mis",["z_mappacks/xPack2.vl2"]],"missions/deathbirdsfly.mis":["missions/DeathBirdsFly.mis",["missions.vl2"]],"missions/deathbirdsfly1.mis":["missions/DeathBirdsFly1.mis",["z_mappacks/CTF/DeadBirdsFly1.vl2"]],"missions/dehswamp.mis":["missions/DehSwamp.mis",["z_mappacks/CTF/DehSwamp.vl2"]],"missions/dermcrossingdeluxe.mis":["missions/DermCrossingDeluxe.mis",["z_mappacks/CTF/DermCrossingDeluxe.vl2"]],"missions/dermcrossingdeluxelt.mis":["missions/DermCrossingDeluxeLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/desertofdeath_nef.mis":["missions/DesertofDeath_nef.mis",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"],["z_mappacks/CTF/DesertofDeath.vl2"]],"missions/desertofdeathlak.mis":["missions/DesertofDeathLak.mis",["z_mappacks/Lak/TacoStandMaps.vl2"]],"missions/desiccator.mis":["missions/Desiccator.mis",["missions.vl2"]],"missions/devilselbow.mis":["missions/DevilsElbow.mis",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"missions/dire.mis":["missions/Dire.mis",["z_mappacks/CTF/KryMapPack_b3EDIT.vl2"]],"missions/direlt.mis":["missions/DireLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/discord.mis":["missions/Discord.mis",["z_mappacks/CTF/DiscordBulwark.vl2"]],"missions/discordlt.mis":["missions/DiscordLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/disjointed.mis":["missions/Disjointed.mis",["z_mappacks/CTF/KryMapPack_b3EDIT.vl2"]],"missions/dmp_agroleon.mis":["missions/DMP_Agroleon.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/dmp_astro.mis":["missions/DMP_Astro.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/dmp_bastardforge.mis":["missions/DMP_BastardForge.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/dmp_bastardforgelt.mis":["missions/DMP_BastardForgeLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/dmp_bittergorge.mis":["missions/DMP_BitterGorge.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/dmp_bunkered.mis":["missions/DMP_Bunkered.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/dmp_bunkeredlt.mis":["missions/DMP_BunkeredLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/dmp_cinerarium.mis":["missions/DMP_Cinerarium.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/dmp_cinerariumlt.mis":["missions/DMP_CinerariumLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/dmp_dermcity.mis":["missions/DMP_DermCity.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/dmp_embers.mis":["missions/DMP_Embers.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/dmp_emberslt.mis":["missions/DMP_EmbersLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/dmp_emeraldspit.mis":["missions/DMP_EmeraldSpit.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/dmp_facecrossing.mis":["missions/DMP_FaceCrossing.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/dmp_hoth.mis":["missions/DMP_Hoth.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/dmp_icegiant.mis":["missions/DMP_IceGiant.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/dmp_isledebatalla.mis":["missions/DMP_IsleDeBatalla.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/dmp_lavagods.mis":["missions/DMP_LavaGods.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/dmp_magellan.mis":["missions/DMP_Magellan.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/dmp_moondance.mis":["missions/DMP_MoonDance.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/dmp_pantheon.mis":["missions/DMP_Pantheon.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/dmp_paranoia.mis":["missions/DMP_Paranoia.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/dmp_pariah.mis":["missions/DMP_Pariah.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/dmp_pariahlt.mis":["missions/DMP_PariahLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/dmp_pipedream.mis":["missions/DMP_PipeDream.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/dmp_ravinev.mis":["missions/DMP_RavineV.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/dmp_scorchedearth.mis":["missions/DMP_ScorchedEarth.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/dmp_simpleflagarena.mis":["missions/DMP_SimpleFlagArena.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/dmp_spincycle.mis":["missions/DMP_SpinCycle.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/dmp_spincyclelt.mis":["missions/DMP_SpinCycleLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/dmp_starfall.mis":["missions/DMP_StarFall.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/dmp_starfalllt.mis":["missions/DMP_StarFallLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/dmp_tyre.mis":["missions/DMP_Tyre.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/dmp_wasteland.mis":["missions/DMP_Wasteland.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/draco.mis":["missions/Draco.mis",["z_mappacks/CTF/Draco.vl2"]],"missions/drafts.mis":["missions/Drafts.mis",["z_mappacks/CTF/Drafts.vl2"]],"missions/drifts_x2.mis":["missions/Drifts_x2.mis",["z_mappacks/xPack2.vl2"]],"missions/dropinlt.mis":["missions/DropInLT.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/duelersdelight.mis":["missions/DuelersDelight.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/dustlust.mis":["missions/DustLust.mis",["z_mappacks/CTF/DustLust.vl2"]],"missions/dustrunlak.mis":["missions/DustRunLak.mis",["z_mappacks/Lak/TacoStandMaps.vl2"]],"missions/dusttodust.mis":["missions/DustToDust.mis",["missions.vl2"]],"missions/dx_badlands.mis":["missions/DX_Badlands.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/dx_desert.mis":["missions/DX_Desert.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/dx_ice.mis":["missions/DX_Ice.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/dx_icelt.mis":["missions/DX_IceLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/einfach.mis":["missions/Einfach.mis",["z_mappacks/CTF/Einfach.vl2"]],"missions/eivoitoxico.mis":["missions/EivoItoxico.mis",["z_mappacks/CTF/EivoItoxico.vl2"]],"missions/el_fin.mis":["missions/El_Fin.mis",["z_mappacks/CTF/El_Fin.vl2"]],"missions/el_finlt.mis":["missions/El_FinLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/entombeddm.mis":["missions/EntombedDM.mis",["z_mappacks/DM/DMMaps.vl2"]],"missions/envyrena.mis":["missions/Envyrena.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/enyland.mis":["missions/EnyLand.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/equinox.mis":["missions/Equinox.mis",["missions.vl2"]],"missions/equinoxlak.mis":["missions/EquinoxLak.mis",["z_mappacks/Lak/TacoStandMaps.vl2"]],"missions/erebus_x2.mis":["missions/Erebus_x2.mis",["z_mappacks/xPack2.vl2"]],"missions/escalade.mis":["missions/Escalade.mis",["missions.vl2"]],"missions/escaladelak.mis":["missions/EscaladeLak.mis",["z_mappacks/Lak/EscaladeLak.vl2"]],"missions/eveningland.mis":["missions/EveningLand.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/ewok_hamlet.mis":["missions/Ewok_Hamlet.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/ewok_village.mis":["missions/Ewok_Village.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/exhumed.mis":["missions/Exhumed.mis",["z_mappacks/CTF/Exhumed.vl2"]],"missions/extractor.mis":["missions/Extractor.mis",["z_mappacks/CTF/Extractor.vl2"]],"missions/facingworlds.mis":["missions/facingWorlds.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/facingworldsarena.mis":["missions/facingWorldsArena.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/facingworldslt.mis":["missions/facingWorldsLT.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/fallout.mis":["missions/Fallout.mis",["z_mappacks/CTF/Fallout.vl2"]],"missions/fenix.mis":["missions/Fenix.mis",["z_mappacks/CTF/Fenix.vl2"]],"missions/filtereddust.mis":["missions/FilteredDust.mis",["z_mappacks/CTF/FilteredDust.vl2"]],"missions/fireballs_x2.mis":["missions/Fireballs_x2.mis",["z_mappacks/xPack2.vl2"]],"missions/firestorm.mis":["missions/Firestorm.mis",["missions.vl2"]],"missions/firestormlt.mis":["missions/FirestormLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/firn.mis":["missions/firn.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/flashpoint.mis":["missions/Flashpoint.mis",["missions.vl2"]],"missions/foursquaredm.mis":["missions/FourSquareDM.mis",["z_mappacks/DM/DMMaps.vl2"]],"missions/fracas.mis":["missions/Fracas.mis",["missions.vl2"]],"missions/frostbite.mis":["missions/FrostBite.mis",["z_mappacks/CTF/FrostBite.vl2"]],"missions/frostline.mis":["missions/frostline.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/frostpipe.mis":["missions/FrostPipe.mis",["z_mappacks/CTF/FrostPipe.vl2"]],"missions/frozenforgelt.mis":["missions/FrozenForgeLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/frozenfury.mis":["missions/FrozenFury.mis",["TR2final105-client.vl2"]],"missions/frozenfurylak.mis":["missions/FrozenFuryLak.mis",["z_mappacks/Lak/TacoStandMaps.vl2"]],"missions/frozenhope.mis":["missions/FrozenHope.mis",["z_mappacks/CTF/FrozenHope.vl2"]],"missions/frozenhopelt.mis":["missions/FrozenHopeLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/frozensolid.mis":["missions/frozenSolid.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/fullcircle.mis":["missions/FullCircle.mis",["z_mappacks/CTF/KryMapPack_b3EDIT.vl2"]],"missions/gauntlet.mis":["missions/Gauntlet.mis",["missions.vl2"]],"missions/gehenna.mis":["missions/Gehenna.mis",["missions.vl2"]],"missions/glade.mis":["missions/Glade.mis",["z_mappacks/CTF/Glade.vl2"]],"missions/godsrift.mis":["missions/GodsRift.mis",["TR2final105-client.vl2"]],"missions/godsriftlak.mis":["missions/GodsRiftLak.mis",["z_mappacks/Lak/TacoStandMaps.vl2"]],"missions/gorgon.mis":["missions/Gorgon.mis",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Gorgon.vl2"]],"missions/gorgondm.mis":["missions/GorgonDM.mis",["z_mappacks/DM/DMMaps.vl2"]],"missions/grassyknolllt.mis":["missions/GrassyKnollLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/greenlawn.mis":["missions/GreenLawn.mis",["z_mappacks/CTF/GreenLawn.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/harvestdance.mis":["missions/HarvestDance.mis",["z_mappacks/CTF/HarvestDance.vl2"]],"missions/harvester_x2.mis":["missions/Harvester_x2.mis",["z_mappacks/xPack2.vl2"]],"missions/haven.mis":["missions/Haven.mis",["TR2final105-client.vl2"]],"missions/havenlak.mis":["missions/HavenLak.mis",["z_mappacks/Lak/LakRabbit_Maps.vl2"]],"missions/headstone.mis":["missions/Headstone.mis",["z_mappacks/CTF/KryMapPack_b3EDIT.vl2"]],"missions/helioarena.mis":["missions/Helioarena.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/highanxiety.mis":["missions/HighAnxiety.mis",["z_mappacks/CTF/HighAnxiety.vl2"]],"missions/highoctane.mis":["missions/HighOctane.mis",["z_mappacks/CTF/HighOctane.vl2"]],"missions/hightrepidation.mis":["missions/HighTrepidation.mis",["z_mappacks/CTF/HighTrepidation.vl2"]],"missions/highwire.mis":["missions/HighWire.mis",["z_mappacks/CTF/HighWire.vl2"]],"missions/hillkingctf.mis":["missions/HillKingCTF.mis",["z_mappacks/CTF/HillKingCTF.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/hillkinglt.mis":["missions/HillKingLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/hillside.mis":["missions/Hillside.mis",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"missions/hillsidelt.mis":["missions/HillSideLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/hillsofsorrow.mis":["missions/HillsOfSorrow.mis",["z_mappacks/Lak/hills-sorrow .vl2"]],"missions/hivelt.mis":["missions/HiveLT.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/ho_badlands.mis":["missions/HO_Badlands.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/ho_desert.mis":["missions/HO_Desert.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/ho_ice.mis":["missions/HO_Ice.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/ho_lush.mis":["missions/HO_Lush.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/hogansrun24.mis":["missions/HogansRun24.mis",["z_mappacks/CTF/HogansRun24.vl2"]],"missions/hooftoedm.mis":["missions/HoofToeDM.mis",["z_mappacks/DM/DMMaps.vl2"]],"missions/horde.mis":["missions/Horde.mis",["z_mappacks/CTF/Horde.vl2"]],"missions/hostileloch.mis":["missions/HostileLoch.mis",["z_mappacks/CTF/HostileLoch.vl2"]],"missions/hostility.mis":["missions/Hostility.mis",["z_mappacks/CTF/hostility.vl2"]],"missions/hydroelectric_x2.mis":["missions/HydroElectric_x2.mis",["z_mappacks/xPack2.vl2"]],"missions/icebound.mis":["missions/IceBound.mis",["missions.vl2"]],"missions/icedomedm.mis":["missions/IceDomeDM.mis",["z_mappacks/DM/DMMaps.vl2"]],"missions/icegulch.mis":["missions/IceGulch.mis",["z_mappacks/CTF/KryMapPack_b3EDIT.vl2"]],"missions/icepick.mis":["missions/IcePick.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/icepickm.mis":["missions/IcePickM.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/iceridge_nef.mis":["missions/IceRidge_nef.mis",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"missions/infernosroar.mis":["missions/infernosroar.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/infernus.mis":["missions/Infernus.mis",["z_mappacks/CTF/Infernus.vl2"]],"missions/infernuslak.mis":["missions/InfernusLak.mis",["z_mappacks/Lak/TacoStandMaps.vl2"]],"missions/innersanctum.mis":["missions/InnerSanctum.mis",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"missions/insalubria.mis":["missions/Insalubria.mis",["missions.vl2"]],"missions/insalubrius_x2.mis":["missions/Insalubrius_x2.mis",["z_mappacks/xPack2.vl2"]],"missions/insideout_x2.mis":["missions/InsideOut_x2.mis",["z_mappacks/xPack2.vl2"]],"missions/invictus.mis":["missions/Invictus.mis",["missions.vl2"]],"missions/islahermano.mis":["missions/IslaHermano.mis",["z_mappacks/CTF/IslaHermano.vl2"]],"missions/island.mis":["missions/Island.mis",["z_mappacks/CTF/Island.vl2"]],"missions/isleofman.mis":["missions/IsleOfMan.mis",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"missions/ivehadworse.mis":["missions/IveHadWorse.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/jacobsladder.mis":["missions/JacobsLadder.mis",["missions.vl2"]],"missions/jadevalley.mis":["missions/JadeValley.mis",["z_mappacks/CTF/KryMapPack_b3EDIT.vl2"]],"missions/jettisoned.mis":["missions/Jettisoned.mis",["z_mappacks/CTF/Jettisoned.vl2"]],"missions/katabatic.mis":["missions/Katabatic.mis",["missions.vl2"]],"missions/katabatic_x2.mis":["missions/Katabatic_x2.mis",["z_mappacks/xPack2.vl2"]],"missions/kataminfernot.mis":["missions/KataMInfernoT.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/katamstormt.mis":["missions/KataMStormT.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/khalarena.mis":["missions/Khalarena.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/ks_braistv.mis":["missions/ks_braistv.mis",["z_mappacks/CTF/KS_BraisT_V.vl2"]],"missions/lakefront.mis":["missions/Lakefront.mis",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"missions/landingparty.mis":["missions/LandingParty.mis",["z_mappacks/CTF/LandingParty.vl2"]],"missions/lapiths.mis":["missions/Lapiths.mis",["z_mappacks/CTF/Lapiths.vl2"]],"missions/livebaitdm.mis":["missions/LiveBaitDM.mis",["z_mappacks/DM/DMMaps.vl2"]],"missions/logans_run.mis":["missions/Logans_Run.mis",["z_mappacks/CTF/LogansRun.vl2"]],"missions/lushlak.mis":["missions/LushLak.mis",["z_mappacks/Lak/LakRabbit_Maps.vl2"]],"missions/mac_flagarena.mis":["missions/Mac_FlagArena.mis",["z_mappacks/CTF/MachineheadsFlagArenaEDIT.vl2"]],"missions/machineeggs.mis":["missions/Machineeggs.mis",["z_mappacks/CTF/Machineeggs.vl2"]],"missions/magmatic.mis":["missions/Magmatic.mis",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"missions/magmaticlak.mis":["missions/MagmaticLak.mis",["z_mappacks/Lak/TacoStandMaps.vl2"]],"missions/mapassets.mis":["missions/MapAssets.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/mapscripts/coppersky.cs":["missions/mapscripts/Coppersky.cs",["z_mappacks/CTF/copper-sky.vl2"]],"missions/mapscripts/mapexample.map":["missions/mapscripts/mapExample.map",["z_mappacks/CTF/copper-sky.vl2"]],"missions/masada.mis":["missions/Masada.mis",["missions.vl2"]],"missions/minisundried.mis":["missions/MiniSunDried.mis",["z_mappacks/Lak/mini-sundried.vl2"]],"missions/minotaur.mis":["missions/Minotaur.mis",["missions.vl2"]],"missions/mirage.mis":["missions/Mirage.mis",["z_mappacks/CTF/KryMapPack_b3EDIT.vl2"]],"missions/misadventurev2.mis":["missions/MisadventureV2.mis",["z_mappacks/CTF/MisadventureV2.vl2"]],"missions/moondance.mis":["missions/MoonDance.mis",["z_mappacks/CTF/MoonDance.vl2"]],"missions/moonwalk.mis":["missions/Moonwalk.mis",["z_mappacks/CTF/Moonwalk.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/moonwalklt.mis":["missions/MoonwalkLT.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/morena.mis":["missions/Morena.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/mountainmist.mis":["missions/MountainMist.mis",["z_mappacks/CTF/KryMapPack_b3EDIT.vl2"]],"missions/mountaintopmayhem.mis":["missions/MountaintopMayhem.mis",["z_mappacks/CTF/MountaintopMayhem.vl2"]],"missions/mudside.mis":["missions/Mudside.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/myrkwood.mis":["missions/MyrkWood.mis",["missions.vl2"]],"missions/narcolepsy.mis":["missions/Narcolepsy.mis",["z_mappacks/CTF/Narcolepsy.vl2"]],"missions/narcolepsylt.mis":["missions/NarcolepsyLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/naturemagic.mis":["missions/NatureMagic.mis",["z_mappacks/CTF/Surro_StarIce_NatureMagic.vl2"]],"missions/nightdance.mis":["missions/Nightdance.mis",["z_mappacks/CTF/Nightdance.vl2"]],"missions/nirvanalt.mis":["missions/NirvanaLT.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/norty.mis":["missions/Norty.mis",["z_mappacks/CTF/Norty.vl2"]],"missions/noshelter_x2.mis":["missions/NoShelter_x2.mis",["z_mappacks/xPack2.vl2"]],"missions/oasis.mis":["missions/Oasis.mis",["missions.vl2"]],"missions/oasisintensity.mis":["missions/oasisintensity.mis",["z_mappacks/CTF/oasisintensity.vl2"]],"missions/obsidianlt.mis":["missions/ObsidianLT.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/octoberrust.mis":["missions/octoberrust.mis",["z_mappacks/CTF/OctoberRust.vl2"]],"missions/osirislt.mis":["missions/OsIrisLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/outerwilds.mis":["missions/OuterWilds.mis",["z_mappacks/CTF/OuterWilds.vl2"]],"missions/overreach.mis":["missions/Overreach.mis",["missions.vl2"]],"missions/pandemonium_x2.mis":["missions/Pandemonium_x2.mis",["z_mappacks/xPack2.vl2"]],"missions/pantheon.mis":["missions/Pantheon.mis",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"missions/pantheon_x2.mis":["missions/Pantheon_x2.mis",["z_mappacks/xPack2.vl2"]],"missions/pariah.mis":["missions/Pariah.mis",["z_mappacks/CTF/Pariah.vl2"]],"missions/peak.mis":["missions/Peak.mis",["z_mappacks/CTF/KryMapPack_b3EDIT.vl2"]],"missions/pendulum.mis":["missions/Pendulum.mis",["z_mappacks/CTF/KryMapPack_b3EDIT.vl2"]],"missions/phasmadust.mis":["missions/PhasmaDust.mis",["TR2final105-client.vl2"]],"missions/phasmadustlak.mis":["missions/PhasmaDustLak.mis",["z_mappacks/Lak/TacoStandMaps.vl2"]],"missions/pipedreamlt.mis":["missions/PipeDreamLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/pitsdm.mis":["missions/PitsDM.mis",["z_mappacks/DM/DMMaps.vl2"]],"missions/planetside.mis":["missions/Planetside.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/planetx.mis":["missions/PlanetX.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/prismatic.mis":["missions/Prismatic.mis",["z_mappacks/CTF/Prismatic.vl2"]],"missions/prizmaticlt.mis":["missions/PrizmaticLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/proarena.mis":["missions/ProArena.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/puliveivari.mis":["missions/PuliVeivari.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/pyroclasm.mis":["missions/Pyroclasm.mis",["missions.vl2"]],"missions/quagmire.mis":["missions/Quagmire.mis",["missions.vl2"]],"missions/quagmire_x2.mis":["missions/Quagmire_x2.mis",["z_mappacks/xPack2.vl2"]],"missions/raindance_nef.mis":["missions/Raindance_nef.mis",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"missions/raindance_neflak.mis":["missions/Raindance_nefLak.mis",["z_mappacks/Lak/TacoStandMaps.vl2"]],"missions/raindancelt.mis":["missions/RaindanceLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/ramparts.mis":["missions/Ramparts.mis",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"missions/rampartsdm.mis":["missions/RampartsDM.mis",["z_mappacks/DM/DMMaps.vl2"]],"missions/rasp.mis":["missions/Rasp.mis",["missions.vl2"]],"missions/raspdm.mis":["missions/RaspDM.mis",["z_mappacks/DM/DMMaps.vl2"]],"missions/raspian.mis":["missions/Raspian.mis",["z_mappacks/CTF/Raspian.vl2"]],"missions/ravine.mis":["missions/Ravine.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/ravinelt.mis":["missions/RavineLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/recalescence.mis":["missions/Recalescence.mis",["missions.vl2"]],"missions/respite.mis":["missions/Respite.mis",["missions.vl2"]],"missions/retrodct2.mis":["missions/RetroDCT2.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/retrodx.mis":["missions/RetroDX.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/retrord.mis":["missions/RetroRD.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/retrordt2.mis":["missions/RetroRDT2.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/retrosb.mis":["missions/RetroSB.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/retrosh.mis":["missions/RetroSH.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/retrosht2.mis":["missions/RetroSHT2.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/reversion.mis":["missions/Reversion.mis",["missions.vl2"]],"missions/reversion_x2.mis":["missions/Reversion_x2.mis",["z_mappacks/xPack2.vl2"]],"missions/ridgerena.mis":["missions/Ridgerena.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/rimehold.mis":["missions/Rimehold.mis",["missions.vl2"]],"missions/ringoffiredm.mis":["missions/RingofFireDM.mis",["z_mappacks/DM/RingofFireDM.vl2"]],"missions/riverdance.mis":["missions/RiverDance.mis",["missions.vl2"]],"missions/rollercoaster_nef.mis":["missions/Rollercoaster_nef.mis",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"missions/rollercoaster_nef_fz.mis":["missions/Rollercoaster_nef_FZ.mis",["z_mappacks/CTF/Rollercoaster_nef_FZ.vl2"]],"missions/roundthemountain.mis":["missions/RoundTheMountain.mis",["z_mappacks/CTF/KryMapPack_b3EDIT.vl2"]],"missions/roundthemountainlt.mis":["missions/RoundTheMountainLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/ruined.mis":["missions/Ruined.mis",["z_mappacks/CTF/Ruined.vl2"]],"missions/runenmachtlt.mis":["missions/RunenmachtLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/rush.mis":["missions/Rush.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/rushlt.mis":["missions/RushLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/s5_centaur.mis":["missions/S5_Centaur.mis",["z_mappacks/CTF/S5maps.vl2"]],"missions/s5_damnation.mis":["missions/S5_Damnation.mis",["z_mappacks/CTF/S5maps.vl2"]],"missions/s5_damnationlt.mis":["missions/S5_DamnationLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/s5_drache.mis":["missions/S5_Drache.mis",["z_mappacks/CTF/S5maps.vl2"]],"missions/s5_hawkingheat.mis":["missions/S5_HawkingHeat.mis",["z_mappacks/CTF/S5maps.vl2"]],"missions/s5_icedance.mis":["missions/S5_Icedance.mis",["z_mappacks/CTF/S5maps.vl2"]],"missions/s5_massive.mis":["missions/S5_Massive.mis",["z_mappacks/CTF/S5maps.vl2"]],"missions/s5_massivelt.mis":["missions/S5_MassiveLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/s5_mimicry.mis":["missions/S5_Mimicry.mis",["z_mappacks/CTF/S5maps.vl2"]],"missions/s5_misadventure.mis":["missions/S5_Misadventure.mis",["z_mappacks/CTF/S5maps.vl2"]],"missions/s5_mordacity.mis":["missions/S5_Mordacity.mis",["z_mappacks/CTF/S5maps.vl2"]],"missions/s5_reynard.mis":["missions/S5_Reynard.mis",["z_mappacks/CTF/S5maps.vl2"]],"missions/s5_sherman.mis":["missions/S5_Sherman.mis",["z_mappacks/CTF/S5maps.vl2"]],"missions/s5_silenus.mis":["missions/S5_Silenus.mis",["z_mappacks/CTF/S5maps.vl2"]],"missions/s5_silenuslt.mis":["missions/S5_SilenusLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/s5_woodymyrk.mis":["missions/S5_Woodymyrk.mis",["z_mappacks/CTF/S5maps.vl2"]],"missions/s8_cardiac.mis":["missions/S8_Cardiac.mis",["z_mappacks/CTF/S8maps.vl2"]],"missions/s8_centraldogma.mis":["missions/S8_CentralDogma.mis",["z_mappacks/CTF/S8maps.vl2"]],"missions/s8_geothermal.mis":["missions/S8_Geothermal.mis",["z_mappacks/CTF/S8maps.vl2"]],"missions/s8_geothermallak.mis":["missions/S8_GeothermalLak.mis",["z_mappacks/Lak/TacoStandMaps.vl2"]],"missions/s8_mountking.mis":["missions/S8_Mountking.mis",["z_mappacks/CTF/S8maps.vl2"]],"missions/s8_opus.mis":["missions/S8_Opus.mis",["z_mappacks/CTF/S8maps.vl2"]],"missions/s8_zilch.mis":["missions/S8_Zilch.mis",["z_mappacks/CTF/S8maps.vl2"]],"missions/s8_zilchlt.mis":["missions/S8_ZilchLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/saddieshill.mis":["missions/SaddiesHill.mis",["z_mappacks/Lak/TacoStandMaps.vl2"]],"missions/sanctuary.mis":["missions/Sanctuary.mis",["missions.vl2"]],"missions/sandocean.mis":["missions/SandOcean.mis",["z_mappacks/CTF/SandOcean.vl2"]],"missions/sandstorm.mis":["missions/Sandstorm.mis",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"missions/sandstormlak.mis":["missions/SandstormLak.mis",["z_mappacks/Lak/TacoStandMaps.vl2"]],"missions/sandyrunlt.mis":["missions/SandyRunLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/sangre_de_grado.mis":["missions/Sangre_de_Grado.mis",["z_mappacks/CTF/Sangre_de_Grado.vl2"]],"missions/sc_badlands.mis":["missions/SC_Badlands.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/sc_desert.mis":["missions/SC_Desert.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/sc_ice.mis":["missions/SC_Ice.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/sc_lush.mis":["missions/SC_Lush.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/sc_night.mis":["missions/SC_Night.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/sc_normal.mis":["missions/SC_Normal.mis",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/scarabrae_nef.mis":["missions/Scarabrae_nef.mis",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"missions/sector1.mis":["missions/Sector1.mis",["z_mappacks/CTF/119Mappack.vl2"]],"missions/sentry.mis":["missions/Sentry.mis",["z_mappacks/CTF/Sentry.vl2"]],"missions/shockridge.mis":["missions/ShockRidge.mis",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"missions/shortfall.mis":["missions/Shortfall.mis",["z_mappacks/CTF/ShortFall.vl2"]],"missions/shrinearena.mis":["missions/ShrineArena.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/shrinearenaii.mis":["missions/ShrineArenaII.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/shrinedm.mis":["missions/ShrineDM.mis",["z_mappacks/DM/DMMaps.vl2"]],"missions/sidewinder.mis":["missions/SideWinder.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/signal.mis":["missions/Signal.mis",["z_mappacks/CTF/Signal.vl2"]],"missions/signaldx.mis":["missions/SignalDX.mis",["z_mappacks/CTF/SignalDX.vl2"]],"missions/signallt.mis":["missions/SignalLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/sirocco.mis":["missions/Sirocco.mis",["missions.vl2"]],"missions/skinnydip.mis":["missions/SkinnyDip.mis",["TR2final105-client.vl2"]],"missions/skinnydiplak.mis":["missions/SkinnyDipLak.mis",["z_mappacks/Lak/LakRabbit_Maps.vl2"]],"missions/slamnation.mis":["missions/Slamnation.mis",["z_mappacks/CTF/119Mappack.vl2"]],"missions/slapdash.mis":["missions/Slapdash.mis",["missions.vl2"]],"missions/slapdash_x2.mis":["missions/Slapdash_x2.mis",["z_mappacks/xPack2.vl2"]],"missions/slapdashminferno.mis":["missions/slapdashMInferno.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/slapdashmstorm.mis":["missions/slapdashMStorm.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/smallcrossing.mis":["missions/SmallCrossing.mis",["z_mappacks/CTF/SmallCrossing.vl2"]],"missions/smallcrossinglt.mis":["missions/SmallCrossingLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/smalldesertofdeath.mis":["missions/SmallDesertofDeath.mis",["z_mappacks/CTF/SmallDesertofDeath.vl2"]],"missions/smallmelee.mis":["missions/SmallMelee.mis",["z_mappacks/CTF/SmallMelee.vl2"]],"missions/smallspit.mis":["missions/SmallSpit.mis",["z_mappacks/CTF/SmallSpit.vl2"]],"missions/smallspitlt.mis":["missions/SmallSpitLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/smalltimectf.mis":["missions/SmallTimeCTF.mis",["z_mappacks/CTF/SmallTimeCTF.vl2"]],"missions/smalltimelt.mis":["missions/SmallTimeLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/smog_x2.mis":["missions/Smog_x2.mis",["z_mappacks/xPack2.vl2"]],"missions/smogarena.mis":["missions/SmogArena.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/snowblind_nef.mis":["missions/Snowblind_nef.mis",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"missions/snowbound.mis":["missions/SnowBound.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/snowcone.mis":["missions/Snowcone.mis",["z_mappacks/CTF/KryMapPack_b3EDIT.vl2"]],"missions/soccerland.mis":["missions/SoccerLand.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/solsdescent.mis":["missions/SolsDescent.mis",["TR2final105-client.vl2"]],"missions/solsdescentlak.mis":["missions/SolsDescentLak.mis",["z_mappacks/Lak/TacoStandMaps.vl2"]],"missions/soylentgreen.mis":["missions/SoylentGreen.mis",["z_mappacks/CTF/SoylentGreen.vl2"]],"missions/spacewalk.mis":["missions/Spacewalk.mis",["z_mappacks/CTF/Spacewalk.vl2"]],"missions/spectrelak.mis":["missions/SpectreLak.mis",["z_mappacks/Lak/TacoStandMaps.vl2"]],"missions/spyland.mis":["missions/SpyLand.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/starfallctf.mis":["missions/StarFallCTF.mis",["z_mappacks/CTF/StarFallCTF.vl2"]],"missions/starfallen.mis":["missions/Starfallen.mis",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"missions/starice.mis":["missions/StarIce.mis",["z_mappacks/CTF/Surro_StarIce_NatureMagic.vl2"]],"missions/stonehenge_arena.mis":["missions/Stonehenge_Arena.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/stonehenge_nef.mis":["missions/Stonehenge_nef.mis",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"missions/stormsrage.mis":["missions/stormsrage.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/stripmine_x2.mis":["missions/Stripmine_x2.mis",["z_mappacks/xPack2.vl2"]],"missions/subzero.mis":["missions/SubZero.mis",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"missions/subzerov.mis":["missions/SubzeroV.mis",["z_mappacks/CTF/TitanV-SubZeroV.vl2"]],"missions/sulfide.mis":["missions/Sulfide.mis",["z_mappacks/Lak/TacoStandMaps.vl2"]],"missions/sundance.mis":["missions/Sundance.mis",["z_mappacks/Lak/TacoStandMaps.vl2"]],"missions/sundried.mis":["missions/SunDried.mis",["missions.vl2"]],"missions/sundriedlak.mis":["missions/SunDriedLak.mis",["z_mappacks/Lak/TacoStandMaps.vl2"]],"missions/superhappybouncyfuntime.mis":["missions/SuperHappyBouncyFunTime.mis",["z_mappacks/CTF/SuperHappyBouncyFunTime.vl2"]],"missions/superiorwaterworks.mis":["missions/SuperiorWaterworks.mis",["z_mappacks/CTF/SuperiorWaterworks.vl2"]],"missions/surreal.mis":["missions/Surreal.mis",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"missions/surreallt.mis":["missions/SurrealLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/surro.mis":["missions/Surro.mis",["z_mappacks/CTF/Surro_StarIce_NatureMagic.vl2"]],"missions/talus.mis":["missions/Talus.mis",["missions.vl2"]],"missions/templetussleversion2.mis":["missions/TempleTussleVersion2.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/tenebrous.mis":["missions/Tenebrous.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/tenebrousctf.mis":["missions/TenebrousCTF.mis",["z_mappacks/CTF/KryMapPack_b3EDIT.vl2"]],"missions/the_calm.mis":["missions/The_Calm.mis",["z_mappacks/CTF/The_Calm.vl2"]],"missions/theclocktower.mis":["missions/TheClocktower.mis",["z_mappacks/CTF/TheClocktower.vl2"]],"missions/thefray.mis":["missions/TheFray.mis",["z_mappacks/CTF/KryMapPack_b3EDIT.vl2"]],"missions/thinice.mis":["missions/ThinIce.mis",["missions.vl2"]],"missions/thundergiant_x2.mis":["missions/ThunderGiant_x2.mis",["z_mappacks/xPack2.vl2"]],"missions/tibbawlak.mis":["missions/TibbawLak.mis",["z_mappacks/Lak/TacoStandMaps.vl2"]],"missions/titan.mis":["missions/Titan.mis",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"missions/titanialak.mis":["missions/TitaniaLak.mis",["z_mappacks/Lak/TacoStandMaps.vl2"]],"missions/titanv.mis":["missions/TitanV.mis",["z_mappacks/CTF/TitanV-SubZeroV.vl2"]],"missions/titfortat.mis":["missions/TitForTat.mis",["z_mappacks/CTF/TitForTat.vl2"]],"missions/tombstone.mis":["missions/Tombstone.mis",["missions.vl2"]],"missions/tombstone_x2.mis":["missions/Tombstone_x2.mis",["z_mappacks/xPack2.vl2"]],"missions/training1.mis":["missions/Training1.mis",["missions.vl2"]],"missions/training2.mis":["missions/Training2.mis",["missions.vl2"]],"missions/training3.mis":["missions/Training3.mis",["missions.vl2"]],"missions/training4.mis":["missions/Training4.mis",["missions.vl2"]],"missions/training5.mis":["missions/Training5.mis",["missions.vl2"]],"missions/treasureisland.mis":["missions/TreasureIsland.mis",["TR2final105-client.vl2"]],"missions/treasureislandlak.mis":["missions/TreasureIslandLak.mis",["z_mappacks/Lak/TacoStandMaps.vl2"]],"missions/triad.mis":["missions/Triad.mis",["z_mappacks/CTF/Triad.vl2"]],"missions/trident.mis":["missions/Trident.mis",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"missions/truegrit.mis":["missions/TrueGrit.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/tst_spheremap.mis":["missions/TST_SphereMap.mis",["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/tusklt.mis":["missions/TuskLT.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/twilightgrovelt.mis":["missions/TwilightGroveLT.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/twindrakes.mis":["missions/twinDrakes.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/twintorrentsccw.mis":["missions/TwinTorrentsCCW.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/twintorrentscw.mis":["missions/TwinTorrentsCW.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/twl2_bleed.mis":["missions/TWL2_Bleed.mis",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"missions/twl2_bluemoon.mis":["missions/TWL2_BlueMoon.mis",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"missions/twl2_canyoncrusadedeluxe.mis":["missions/TWL2_CanyonCrusadeDeluxe.mis",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"missions/twl2_canyoncrusadedeluxelt.mis":["missions/TWL2_CanyonCrusadeDeluxeLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/twl2_celerity.mis":["missions/TWL2_Celerity.mis",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"missions/twl2_celeritylt.mis":["missions/TWL2_CelerityLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/twl2_cloakofnight.mis":["missions/TWL2_CloakOfNight.mis",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"missions/twl2_crevice.mis":["missions/TWL2_Crevice.mis",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"missions/twl2_dissention.mis":["missions/TWL2_Dissention.mis",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"missions/twl2_drifts.mis":["missions/TWL2_Drifts.mis",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"missions/twl2_drorck.mis":["missions/TWL2_Drorck.mis",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"missions/twl2_frozenglory.mis":["missions/TWL2_FrozenGlory.mis",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"missions/twl2_frozenhope.mis":["missions/TWL2_FrozenHope.mis",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"missions/twl2_hildebrand.mis":["missions/TWL2_Hildebrand.mis",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"missions/twl2_hildebrandlt.mis":["missions/TWL2_HildebrandLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/twl2_icedagger.mis":["missions/TWL2_IceDagger.mis",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"missions/twl2_jaggedclaw.mis":["missions/TWL2_JaggedClaw.mis",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"missions/twl2_jaggedclawlt.mis":["missions/TWL2_JaggedClawLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/twl2_magnum.mis":["missions/TWL2_Magnum.mis",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"missions/twl2_midnightmayhemdeluxe.mis":["missions/TWL2_MidnightMayhemDeluxe.mis",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"missions/twl2_muddyswamp.mis":["missions/TWL2_MuddySwamp.mis",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"missions/twl2_muddyswamplak.mis":["missions/TWL2_MuddySwampLak.mis",["z_mappacks/Lak/TacoStandMaps.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"missions/twl2_norty.mis":["missions/TWL2_Norty.mis",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"missions/twl2_ocular.mis":["missions/TWL2_Ocular.mis",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"missions/twl2_roughland.mis":["missions/TWL2_RoughLand.mis",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"missions/twl2_ruined.mis":["missions/TWL2_Ruined.mis",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"missions/twl2_skylight.mis":["missions/TWL2_Skylight.mis",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"missions/twl2_skylightlt.mis":["missions/TWL2_SkylightLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/twl2_woodymyrk.mis":["missions/TWL2_WoodyMyrk.mis",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"missions/twl_abaddon.mis":["missions/TWL_Abaddon.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_banshee.mis":["missions/TWL_BaNsHee.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_beachblitz.mis":["missions/TWL_BeachBlitz.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_beachblitzlak.mis":["missions/TWL_BeachBlitzLak.mis",["z_mappacks/Lak/TacoStandMaps.vl2"]],"missions/twl_beachblitzlt.mis":["missions/TWL_BeachBlitzLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/twl_beachblitzm.mis":["missions/TWL_BeachBlitzM.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/twl_beachblitzmlt.mis":["missions/TWL_BeachBlitzMLT.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/twl_beggarsrun.mis":["missions/TWL_BeggarsRun.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_bluemoon.mis":["missions/TWL_BlueMoon.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_boss.mis":["missions/TWL_Boss.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_celerity.mis":["missions/TWL_Celerity.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_chokepoint.mis":["missions/TWL_Chokepoint.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_cinereous.mis":["missions/TWL_Cinereous.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_clusterfuct.mis":["missions/TWL_Clusterfuct.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_crossfire.mis":["missions/TWL_Crossfire.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_curtilage.mis":["missions/TWL_Curtilage.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_damnation.mis":["missions/TWL_Damnation.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_dangerouscrossing.mis":["missions/TWL_DangerousCrossing.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_deadlybirdssong.mis":["missions/TWL_DeadlyBirdsSong.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_deserted.mis":["missions/TWL_Deserted.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_drifts.mis":["missions/TWL_Drifts.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_feign.mis":["missions/TWL_Feign.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_feignlt.mis":["missions/TWL_FeignLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/twl_frostclaw.mis":["missions/TWL_Frostclaw.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_frozen.mis":["missions/TWL_Frozen.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_harvester.mis":["missions/TWL_Harvester.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_horde.mis":["missions/TWL_Horde.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_katabatic.mis":["missions/TWL_Katabatic.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_magmatic.mis":["missions/TWL_Magmatic.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_minotaur.mis":["missions/TWL_Minotaur.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_neve.mis":["missions/TWL_Neve.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_noshelter.mis":["missions/TWL_NoShelter.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_osiris.mis":["missions/TWL_OsIris.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_pandemonium.mis":["missions/TWL_Pandemonium.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_quagmire.mis":["missions/TWL_Quagmire.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_raindance.mis":["missions/TWL_Raindance.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_ramparts.mis":["missions/TWL_Ramparts.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_reversion.mis":["missions/TWL_Reversion.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_rollercoaster.mis":["missions/TWL_Rollercoaster.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_rollercoasterlt.mis":["missions/TWL_RollercoasterLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/twl_runenmacht.mis":["missions/TWL_Runenmacht.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_sandstorm.mis":["missions/TWL_Sandstorm.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_slapdash.mis":["missions/TWL_Slapdash.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_snowblind.mis":["missions/TWL_Snowblind.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_starfallen.mis":["missions/TWL_Starfallen.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_stonehenge.mis":["missions/TWL_Stonehenge.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_stonehengelt.mis":["missions/TWL_StonehengeLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/twl_subzero.mis":["missions/TWL_SubZero.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_surreal.mis":["missions/TWL_Surreal.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_titan.mis":["missions/TWL_Titan.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_whitedwarf.mis":["missions/TWL_WhiteDwarf.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_wilderzone.mis":["missions/TWL_WilderZone.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/twl_wilderzonelt.mis":["missions/TWL_WilderZoneLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/twl_woodymyrk.mis":["missions/TWL_WoodyMyrk.mis",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"missions/two_towers.mis":["missions/Two_Towers.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/ultimathule.mis":["missions/UltimaThule.mis",["missions.vl2"]],"missions/underhill.mis":["missions/Underhill.mis",["missions.vl2"]],"missions/upordown.mis":["missions/UporDown.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/vandamnedctf.mis":["missions/VanDamnedCTF.mis",["z_mappacks/CTF/VanDamnedCTF.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"missions/vandamnedlt.mis":["missions/VanDamnedLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/vauban.mis":["missions/Vauban.mis",["z_mappacks/CTF/Vauban.vl2"]],"missions/vaubania.mis":["missions/Vaubania.mis",["z_mappacks/CTF/Vaubania.vl2"]],"missions/vaubanlak.mis":["missions/VaubanLak.mis",["z_mappacks/Lak/TacoStandMaps.vl2"]],"missions/vulcanswrathdm.mis":["missions/VulcansWrathDM.mis",["z_mappacks/DM/DMMaps.vl2"]],"missions/walledin.mis":["missions/WalledIn.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/walledinii.mis":["missions/WalledInII.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/wasteland_x2.mis":["missions/Wasteland_x2.mis",["z_mappacks/xPack2.vl2"]],"missions/whitedwarf.mis":["missions/WhiteDwarf.mis",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"missions/whitedwarfdeluxe.mis":["missions/WhiteDwarfDeluxe.mis",["z_mappacks/CTF/WhiteDwarfDeluxe.vl2"]],"missions/whitedwarfdeluxelt.mis":["missions/WhiteDwarfDeluxeLT.mis",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"missions/whiteout.mis":["missions/Whiteout.mis",["missions.vl2"]],"missions/windygap.mis":["missions/WindyGap.mis",["z_mappacks/CTF/WindyGap.vl2"]],"missions/woe.mis":["missions/woe.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/wonderland.mis":["missions/WonderLand.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/woodymyrk_x2.mis":["missions/WoodyMyrk_x2.mis",["z_mappacks/xPack2.vl2"]],"missions/wrongside.mis":["missions/Wrongside.mis",["z_mappacks/z_DMP2-V0.6.vl2"]],"missions/yubarena.mis":["missions/Yubarena.mis",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"missions/zilch.mis":["missions/Zilch.mis",["z_mappacks/CTF/Zilch.vl2"]],"music/badlands.mp3":["music/badlands.mp3",[""]],"music/desert.mp3":["music/desert.mp3",[""]],"music/ice.mp3":["music/ice.mp3",[""]],"music/lush.mp3":["music/lush.mp3",[""]],"music/volcanic.mp3":["music/volcanic.mp3",[""]],"readme.md":["README.md",["z_mappacks/z_DMP2-V0.6.vl2"]],"scripts/admin.cs":["scripts/admin.cs",["scripts.vl2"]],"scripts/ai.cs":["scripts/ai.cs",["scripts.vl2"]],"scripts/aibotprofiles.cs":["scripts/aiBotProfiles.cs",["scripts.vl2"]],"scripts/aibountygame.cs":["scripts/aiBountyGame.cs",["scripts.vl2"]],"scripts/aichat.cs":["scripts/aiChat.cs",["scripts.vl2"]],"scripts/aicnh.cs":["scripts/aiCnH.cs",["scripts.vl2"]],"scripts/aictf.cs":["scripts/aiCTF.cs",["scripts.vl2"]],"scripts/aideathmatch.cs":["scripts/aiDeathMatch.cs",["scripts.vl2"]],"scripts/aidebug.cs":["scripts/aiDebug.cs",["scripts.vl2"]],"scripts/aidefaulttasks.cs":["scripts/aiDefaultTasks.cs",["scripts.vl2"]],"scripts/aidnd.cs":["scripts/aiDnD.cs",["scripts.vl2"]],"scripts/aihumantasks.cs":["scripts/aiHumanTasks.cs",["scripts.vl2"]],"scripts/aihunters.cs":["scripts/aiHunters.cs",["scripts.vl2"]],"scripts/aiinventory.cs":["scripts/aiInventory.cs",["scripts.vl2"]],"scripts/aiobjectivebuilder.cs":["scripts/aiObjectiveBuilder.cs",["scripts.vl2"]],"scripts/aiobjectives.cs":["scripts/aiObjectives.cs",["scripts.vl2"]],"scripts/airabbit.cs":["scripts/aiRabbit.cs",["scripts.vl2"]],"scripts/aisiege.cs":["scripts/aiSiege.cs",["scripts.vl2"]],"scripts/aitdm.cs":["scripts/aiTDM.cs",["z_mappacks/z_DMP2-V0.6.vl2"]],"scripts/aiteamhunters.cs":["scripts/aiTeamHunters.cs",["scripts.vl2"]],"scripts/autoexec/adminhud.cs":["scripts/autoexec/adminHud.cs",[""],["zz_Classic_client_v1.vl2"]],"scripts/autoexec/allowbotskin.cs":["scripts/autoexec/AllowBotSkin.cs",[""]],"scripts/autoexec/arenasupport.cs":["scripts/autoexec/arenaSupport.cs",["z_scripts/everything_else/arenaSupport.vl2"]],"scripts/autoexec/autoload_launcher.cs":["scripts/autoexec/autoload_launcher.cs",["z_scripts/support.vl2"]],"scripts/autoexec/chatmenuhudclear.cs":["scripts/autoexec/chatmenuHudClear.cs",[""]],"scripts/autoexec/classicpropmap.cs":["scripts/autoexec/classicPropMap.cs",["zz_Classic_client_v1.vl2"]],"scripts/autoexec/clientoverloads.cs":["scripts/autoexec/clientOverloads.cs",["zz_Classic_client_v1.vl2"]],"scripts/autoexec/dmp2versioncheck.cs":["scripts/autoexec/dmp2VersionCheck.cs",["z_mappacks/z_DMP2-V0.6.vl2"]],"scripts/autoexec/invincibleinv.cs":["scripts/autoexec/InvincibleInv.cs",["z_mappacks/zDMP-4.7.3DX.vl2"]],"scripts/autoexec/lakrabbitobjhud.cs":["scripts/autoexec/LakRabbitObjHud.cs",["z_scripts/everything_else/LakRabbit_Client.vl2"]],"scripts/autoexec/mapsupport.cs":["scripts/autoexec/mapSupport.cs",["z_mappacks/CTF/copper-sky.vl2"]],"scripts/autoexec/modhud.cs":["scripts/autoexec/modHud.cs",[""],["zz_Classic_client_v1.vl2"]],"scripts/autoexec/multiinterpolate.cs":["scripts/autoexec/multiInterpolate.cs",["multiInterpolate.vl2"]],"scripts/autoexec/nochaterror.cs":["scripts/autoexec/noChatError.cs",["noChatError.vl2"]],"scripts/autoexec/practicehud.cs":["scripts/autoexec/practiceHud.cs",["zz_Classic_client_v1.vl2"]],"scripts/autoexec/registershapes.cs":["scripts/autoexec/RegisterShapes.cs",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"scripts/autoexec/statushud.cs":["scripts/autoexec/statushud.cs",[""]],"scripts/autoexec/t1vehselect.cs":["scripts/autoexec/t1VehSelect.cs",["z_mappacks/z_DMP2-V0.6.vl2"]],"scripts/autoexec/vehiclerespawnfix.cs":["scripts/autoexec/vehicleRespawnFix.cs",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"scripts/autoexec/vmenufix.cs":["scripts/autoexec/vMenuFix.cs",[""]],"scripts/badlandspropmap.cs":["scripts/badlandsPropMap.cs",["scripts.vl2"]],"scripts/bioderm_heavy.cs":["scripts/bioderm_heavy.cs",["scripts.vl2"]],"scripts/bioderm_light.cs":["scripts/bioderm_light.cs",["scripts.vl2"]],"scripts/bioderm_medium.cs":["scripts/bioderm_medium.cs",["scripts.vl2"]],"scripts/bountygame.cs":["scripts/BountyGame.cs",["scripts.vl2"]],"scripts/camera.cs":["scripts/camera.cs",["scripts.vl2"]],"scripts/cannedchatitems.cs":["scripts/cannedChatItems.cs",["scripts.vl2"]],"scripts/centerprint.cs":["scripts/CenterPrint.cs",["scripts.vl2"]],"scripts/chatgui.cs":["scripts/ChatGui.cs",["scripts.vl2"]],"scripts/chatmenuhud.cs":["scripts/chatMenuHud.cs",["scripts.vl2"]],"scripts/choosefilterdlg.cs":["scripts/ChooseFilterDlg.cs",["scripts.vl2"]],"scripts/client.cs":["scripts/client.cs",["scripts.vl2"]],"scripts/clientaudio.cs":["scripts/clientAudio.cs",["scripts.vl2"]],"scripts/clientdefaults.cs":["scripts/clientDefaults.cs",["scripts.vl2"]],"scripts/clienttasks.cs":["scripts/clientTasks.cs",["scripts.vl2"]],"scripts/cnhgame.cs":["scripts/CnHGame.cs",["scripts.vl2"]],"scripts/commandermap.cs":["scripts/commanderMap.cs",["scripts.vl2"]],"scripts/commandermaphelptext.cs":["scripts/commanderMapHelpText.cs",["scripts.vl2"]],"scripts/commandermapicons.cs":["scripts/commanderMapIcons.cs",["scripts.vl2"]],"scripts/commanderprofiles.cs":["scripts/commanderProfiles.cs",["scripts.vl2"]],"scripts/commondialogs.cs":["scripts/commonDialogs.cs",["scripts.vl2"]],"scripts/controldefaults.cs":["scripts/controlDefaults.cs",["scripts.vl2"]],"scripts/coppersky/ai.cs":["scripts/coppersky/ai.cs",["z_mappacks/CTF/copper-sky.vl2"]],"scripts/coppersky/aichat.cs":["scripts/coppersky/aiChat.cs",["z_mappacks/CTF/copper-sky.vl2"]],"scripts/coppersky/aidefaulttasks.cs":["scripts/coppersky/aiDefaultTasks.cs",["z_mappacks/CTF/copper-sky.vl2"]],"scripts/coppersky/aiinventory.cs":["scripts/coppersky/aiInventory.cs",["z_mappacks/CTF/copper-sky.vl2"]],"scripts/coppersky/ainewobjectives.cs":["scripts/coppersky/aiNewObjectives.cs",["z_mappacks/CTF/copper-sky.vl2"]],"scripts/coppersky/aiobjectives.cs":["scripts/coppersky/aiObjectives.cs",["z_mappacks/CTF/copper-sky.vl2"]],"scripts/coppersky/aioverloads.cs":["scripts/coppersky/aiOverloads.cs",["z_mappacks/CTF/copper-sky.vl2"]],"scripts/coppersky/aivehicle.cs":["scripts/coppersky/aiVehicle.cs",["z_mappacks/CTF/copper-sky.vl2"]],"scripts/coppersky/servertasks.cs":["scripts/coppersky/serverTasks.cs",["z_mappacks/CTF/copper-sky.vl2"]],"scripts/creativitygame.cs":["scripts/CreativityGame.cs",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"scripts/creditsgui.cs":["scripts/creditsGui.cs",["scripts.vl2"]],"scripts/creditstext.cs":["scripts/creditsText.cs",["scripts.vl2"]],"scripts/ctfgame.cs":["scripts/CTFGame.cs",["scripts.vl2"]],"scripts/cursors.cs":["scripts/cursors.cs",["scripts.vl2"]],"scripts/damagetypes.cs":["scripts/damageTypes.cs",["scripts.vl2"]],"scripts/deathmessages.cs":["scripts/deathMessages.cs",["scripts.vl2"]],"scripts/debriefgui.cs":["scripts/DebriefGui.cs",["scripts.vl2"]],"scripts/debuggergui.cs":["scripts/debuggerGui.cs",["scripts.vl2"]],"scripts/defaultgame.cs":["scripts/defaultGame.cs",["scripts.vl2"]],"scripts/defaultturretsgame.cs":["scripts/DefaultTurretsGame.cs",["z_mappacks/zDMP-4.7.3DX.vl2"]],"scripts/demoendgui.cs":["scripts/DemoEndGui.cs",["scripts.vl2"]],"scripts/deployables.cs":["scripts/deployables.cs",["scripts.vl2"]],"scripts/depthsort.cs":["scripts/depthSort.cs",["scripts.vl2"]],"scripts/desertpropmap.cs":["scripts/desertPropMap.cs",["scripts.vl2"]],"scripts/dmgame.cs":["scripts/DMGame.cs",["scripts.vl2"]],"scripts/dndgame.cs":["scripts/DnDGame.cs",["scripts.vl2"]],"scripts/editchatmenugui.cs":["scripts/EditChatMenuGui.cs",["scripts.vl2"]],"scripts/editor.bind.cs":["scripts/editor.bind.cs",["scripts.vl2"]],"scripts/editor.cs":["scripts/editor.cs",["scripts.vl2"]],"scripts/editorgui.cs":["scripts/EditorGui.cs",["scripts.vl2"]],"scripts/editorprofiles.cs":["scripts/EditorProfiles.cs",["scripts.vl2"]],"scripts/editorrender.cs":["scripts/editorRender.cs",["scripts.vl2"]],"scripts/environmentals.cs":["scripts/environmentals.cs",["scripts.vl2"]],"scripts/forcefield.cs":["scripts/forceField.cs",["scripts.vl2"]],"scripts/gamebase.cs":["scripts/gameBase.cs",["scripts.vl2"]],"scripts/gamecanvas.cs":["scripts/gameCanvas.cs",["scripts.vl2"]],"scripts/gamegui.cs":["scripts/GameGui.cs",["scripts.vl2"]],"scripts/graphbuild.cs":["scripts/graphBuild.cs",["scripts.vl2"]],"scripts/heavy_male.cs":["scripts/heavy_male.cs",["scripts.vl2"]],"scripts/help.cs":["scripts/help.cs",["scripts.vl2"]],"scripts/helpguitext.cs":["scripts/helpGuiText.cs",["scripts.vl2"]],"scripts/hothffsgame.cs":["scripts/HothFFsGame.cs",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"scripts/hud.cs":["scripts/hud.cs",["scripts.vl2"]],"scripts/huntersgame.cs":["scripts/HuntersGame.cs",["scripts.vl2"]],"scripts/icepropmap.cs":["scripts/icePropMap.cs",["scripts.vl2"]],"scripts/inventory.cs":["scripts/inventory.cs",["scripts.vl2"]],"scripts/inventoryhud.cs":["scripts/inventoryHud.cs",["scripts.vl2"]],"scripts/item.cs":["scripts/item.cs",["scripts.vl2"]],"scripts/joystickbind.cs":["scripts/joystickBind.cs",["scripts.vl2"]],"scripts/launchlangui.cs":["scripts/LaunchLanGui.cs",["scripts.vl2"]],"scripts/lavapropmap.cs":["scripts/lavaPropMap.cs",["scripts.vl2"]],"scripts/light_female.cs":["scripts/light_female.cs",["scripts.vl2"]],"scripts/light_male.cs":["scripts/light_male.cs",["scripts.vl2"]],"scripts/lightning.cs":["scripts/lightning.cs",["scripts.vl2"]],"scripts/liquidprofiles.cs":["scripts/liquidProfiles.cs",["scripts.vl2"]],"scripts/loadinggui.cs":["scripts/loadingGui.cs",["scripts.vl2"]],"scripts/lobbygui.cs":["scripts/LobbyGui.cs",["scripts.vl2"]],"scripts/lushpropmap.cs":["scripts/lushPropMap.cs",["scripts.vl2"]],"scripts/mapgame.cs":["scripts/mapGame.cs",["z_mappacks/CTF/copper-sky.vl2"]],"scripts/markers.cs":["scripts/markers.cs",["scripts.vl2"]],"scripts/medium_female.cs":["scripts/medium_female.cs",["scripts.vl2"]],"scripts/medium_male.cs":["scripts/medium_male.cs",["scripts.vl2"]],"scripts/message.cs":["scripts/message.cs",["scripts.vl2"]],"scripts/navgraph.cs":["scripts/navGraph.cs",["scripts.vl2"]],"scripts/objectivehud.cs":["scripts/objectiveHud.cs",["scripts.vl2"]],"scripts/optionsdlg.cs":["scripts/OptionsDlg.cs",["scripts.vl2"]],"scripts/pack.cs":["scripts/pack.cs",["scripts.vl2"]],"scripts/packs/aabarrelpack.cs":["scripts/packs/aabarrelPack.cs",["scripts.vl2"]],"scripts/packs/ammopack.cs":["scripts/packs/ammopack.cs",["scripts.vl2"]],"scripts/packs/cloakingpack.cs":["scripts/packs/cloakingpack.cs",["scripts.vl2"]],"scripts/packs/elfbarrelpack.cs":["scripts/packs/ELFbarrelPack.cs",["scripts.vl2"]],"scripts/packs/energypack.cs":["scripts/packs/energypack.cs",["scripts.vl2"]],"scripts/packs/missilebarrelpack.cs":["scripts/packs/missilebarrelPack.cs",["scripts.vl2"]],"scripts/packs/mortarbarrelpack.cs":["scripts/packs/mortarBarrelPack.cs",["scripts.vl2"]],"scripts/packs/plasmabarrelpack.cs":["scripts/packs/plasmabarrelPack.cs",["scripts.vl2"]],"scripts/packs/repairpack.cs":["scripts/packs/repairpack.cs",["scripts.vl2"]],"scripts/packs/satchelcharge.cs":["scripts/packs/satchelCharge.cs",["scripts.vl2"]],"scripts/packs/sensorjammerpack.cs":["scripts/packs/sensorjammerpack.cs",["scripts.vl2"]],"scripts/packs/shieldpack.cs":["scripts/packs/shieldpack.cs",["scripts.vl2"]],"scripts/packs/tr2energypack.cs":["scripts/packs/TR2energypack.cs",["TR2final105-server.vl2"]],"scripts/pantherxl.cs":["scripts/PantherXL.cs",["scripts.vl2"]],"scripts/particledummies.cs":["scripts/particleDummies.cs",["scripts.vl2"]],"scripts/particleemitter.cs":["scripts/particleEmitter.cs",["scripts.vl2"]],"scripts/pathedit.cs":["scripts/PathEdit.cs",["scripts.vl2"]],"scripts/player.cs":["scripts/player.cs",["scripts.vl2"]],"scripts/power.cs":["scripts/power.cs",["scripts.vl2"]],"scripts/projectiles.cs":["scripts/projectiles.cs",["scripts.vl2"]],"scripts/rabbitgame.cs":["scripts/RabbitGame.cs",["scripts.vl2"]],"scripts/recordings.cs":["scripts/recordings.cs",["scripts.vl2"]],"scripts/redbook.cs":["scripts/redbook.cs",["scripts.vl2"]],"scripts/scorelist.cs":["scripts/scoreList.cs",["scripts.vl2"]],"scripts/scorescreen.cs":["scripts/scoreScreen.cs",["scripts.vl2"]],"scripts/server.cs":["scripts/server.cs",["scripts.vl2"]],"scripts/serveraudio.cs":["scripts/serverAudio.cs",["scripts.vl2"]],"scripts/servercommandermap.cs":["scripts/serverCommanderMap.cs",["scripts.vl2"]],"scripts/serverdefaults.cs":["scripts/serverDefaults.cs",["scripts.vl2"]],"scripts/servertasks.cs":["scripts/serverTasks.cs",["scripts.vl2"]],"scripts/siegegame.cs":["scripts/SiegeGame.cs",["scripts.vl2"]],"scripts/simgroup.cs":["scripts/simGroup.cs",["scripts.vl2"]],"scripts/singleplayergame.cs":["scripts/SinglePlayerGame.cs",["scripts.vl2"]],"scripts/spdialog.cs":["scripts/spdialog.cs",["scripts.vl2"]],"scripts/staticshape.cs":["scripts/staticShape.cs",["scripts.vl2"]],"scripts/station.cs":["scripts/station.cs",["scripts.vl2"]],"scripts/stationsetinv.cs":["scripts/stationSetInv.cs",["scripts.vl2"]],"scripts/superhappybouncyfuntime.cs":["scripts/SuperHappyBouncyFunTime.cs",["z_mappacks/CTF/SuperHappyBouncyFunTime.vl2"]],"scripts/targetmanager.cs":["scripts/targetManager.cs",["scripts.vl2"]],"scripts/tdmgame.cs":["scripts/TDMGame.cs",["z_mappacks/z_DMP2-V0.6.vl2"]],"scripts/teamhuntersgame.cs":["scripts/TeamHuntersGame.cs",["scripts.vl2"]],"scripts/teleportgame.cs":["scripts/TeleportGame.cs",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"scripts/tr2bonuscategories.cs":["scripts/TR2BonusCategories.cs",["TR2final105-server.vl2"]],"scripts/tr2bonuses.cs":["scripts/TR2Bonuses.cs",["TR2final105-server.vl2"]],"scripts/tr2bonushud.cs":["scripts/TR2BonusHud.cs",["TR2final105-client.vl2"]],"scripts/tr2bonussounds.cs":["scripts/TR2BonusSounds.cs",["TR2final105-server.vl2"]],"scripts/tr2descriptions.cs":["scripts/TR2Descriptions.cs",["TR2final105-server.vl2"]],"scripts/tr2eventhud.cs":["scripts/TR2EventHud.cs",["TR2final105-client.vl2"]],"scripts/tr2flagtoss.cs":["scripts/TR2FlagToss.cs",["TR2final105-client.vl2"]],"scripts/tr2game.cs":["scripts/TR2Game.cs",["TR2final105-server.vl2"]],"scripts/tr2heavy_male.cs":["scripts/TR2heavy_male.cs",["TR2final105-server.vl2"]],"scripts/tr2items.cs":["scripts/TR2Items.cs",["TR2final105-server.vl2"]],"scripts/tr2light_female.cs":["scripts/TR2light_female.cs",["TR2final105-server.vl2"]],"scripts/tr2light_male.cs":["scripts/TR2light_male.cs",["TR2final105-server.vl2"]],"scripts/tr2medium_female.cs":["scripts/TR2medium_female.cs",["TR2final105-server.vl2"]],"scripts/tr2medium_male.cs":["scripts/TR2medium_male.cs",["TR2final105-server.vl2"]],"scripts/tr2nouns.cs":["scripts/TR2Nouns.cs",["TR2final105-server.vl2"]],"scripts/tr2observerqueue.cs":["scripts/TR2ObserverQueue.cs",["TR2final105-server.vl2"]],"scripts/tr2otherbonuses.cs":["scripts/TR2OtherBonuses.cs",["TR2final105-server.vl2"]],"scripts/tr2packages.cs":["scripts/TR2Packages.cs",["TR2final105-server.vl2"]],"scripts/tr2particles.cs":["scripts/TR2Particles.cs",["TR2final105-server.vl2"]],"scripts/tr2penalties.cs":["scripts/TR2Penalties.cs",["TR2final105-server.vl2"]],"scripts/tr2physics.cs":["scripts/TR2Physics.cs",["TR2final105-server.vl2"]],"scripts/tr2prefixes.cs":["scripts/TR2Prefixes.cs",["TR2final105-server.vl2"]],"scripts/tr2qualifiers.cs":["scripts/TR2Qualifiers.cs",["TR2final105-server.vl2"]],"scripts/tr2roles.cs":["scripts/TR2Roles.cs",["TR2final105-server.vl2"]],"scripts/tr2weaponbonuses.cs":["scripts/TR2WeaponBonuses.cs",["TR2final105-server.vl2"]],"scripts/training1.cs":["scripts/Training1.cs",["scripts.vl2"]],"scripts/training2.cs":["scripts/Training2.cs",["scripts.vl2"]],"scripts/training3.cs":["scripts/Training3.cs",["scripts.vl2"]],"scripts/training4.cs":["scripts/Training4.cs",["scripts.vl2"]],"scripts/training5.cs":["scripts/Training5.cs",["scripts.vl2"]],"scripts/traininggui.cs":["scripts/TrainingGui.cs",["scripts.vl2"]],"scripts/trigger.cs":["scripts/trigger.cs",["scripts.vl2"]],"scripts/turret.cs":["scripts/turret.cs",["scripts.vl2"]],"scripts/turrets/aabarrellarge.cs":["scripts/turrets/aaBarrelLarge.cs",["scripts.vl2"]],"scripts/turrets/elfbarrellarge.cs":["scripts/turrets/ELFBarrelLarge.cs",["scripts.vl2"]],"scripts/turrets/indoordeployablebarrel.cs":["scripts/turrets/indoorDeployableBarrel.cs",["scripts.vl2"]],"scripts/turrets/missilebarrellarge.cs":["scripts/turrets/missileBarrelLarge.cs",["scripts.vl2"]],"scripts/turrets/mortarbarrellarge.cs":["scripts/turrets/mortarBarrelLarge.cs",["scripts.vl2"]],"scripts/turrets/outdoordeployablebarrel.cs":["scripts/turrets/outdoorDeployableBarrel.cs",["scripts.vl2"]],"scripts/turrets/plasmabarrellarge.cs":["scripts/turrets/plasmaBarrelLarge.cs",["scripts.vl2"]],"scripts/turrets/sentryturret.cs":["scripts/turrets/sentryTurret.cs",["scripts.vl2"]],"scripts/turretslist.cs":["scripts/turretslist.cs",["multiInterpolate.vl2"]],"scripts/vehicles/clientvehiclehud.cs":["scripts/vehicles/clientVehicleHud.cs",["scripts.vl2"]],"scripts/vehicles/servervehiclehud.cs":["scripts/vehicles/serverVehicleHud.cs",["scripts.vl2"]],"scripts/vehicles/vehicle.cs":["scripts/vehicles/vehicle.cs",["scripts.vl2"]],"scripts/vehicles/vehicle_bomber.cs":["scripts/vehicles/vehicle_bomber.cs",["scripts.vl2"]],"scripts/vehicles/vehicle_havoc.cs":["scripts/vehicles/vehicle_havoc.cs",["scripts.vl2"]],"scripts/vehicles/vehicle_mpb.cs":["scripts/vehicles/vehicle_mpb.cs",["scripts.vl2"]],"scripts/vehicles/vehicle_shrike.cs":["scripts/vehicles/vehicle_shrike.cs",["scripts.vl2"]],"scripts/vehicles/vehicle_spec_fx.cs":["scripts/vehicles/vehicle_spec_fx.cs",["scripts.vl2"]],"scripts/vehicles/vehicle_tank.cs":["scripts/vehicles/vehicle_tank.cs",["scripts.vl2"]],"scripts/vehicles/vehicle_wildcat.cs":["scripts/vehicles/vehicle_wildcat.cs",["scripts.vl2"]],"scripts/vehicleslist.cs":["scripts/vehicleslist.cs",["multiInterpolate.vl2"]],"scripts/voicebinds.cs":["scripts/voiceBinds.cs",["scripts.vl2"]],"scripts/voicechat.cs":["scripts/voiceChat.cs",["scripts.vl2"]],"scripts/waveprofiles.cs":["scripts/waveProfiles.cs",["scripts.vl2"]],"scripts/weapons.cs":["scripts/weapons.cs",["scripts.vl2"]],"scripts/weapons/blaster.cs":["scripts/weapons/blaster.cs",["scripts.vl2"]],"scripts/weapons/cameragrenade.cs":["scripts/weapons/cameraGrenade.cs",["scripts.vl2"]],"scripts/weapons/chaingun.cs":["scripts/weapons/chaingun.cs",["scripts.vl2"]],"scripts/weapons/concussiongrenade.cs":["scripts/weapons/concussionGrenade.cs",["scripts.vl2"]],"scripts/weapons/disc.cs":["scripts/weapons/disc.cs",["scripts.vl2"]],"scripts/weapons/elfgun.cs":["scripts/weapons/ELFGun.cs",["scripts.vl2"]],"scripts/weapons/flaregrenade.cs":["scripts/weapons/flareGrenade.cs",["scripts.vl2"]],"scripts/weapons/flashgrenade.cs":["scripts/weapons/flashGrenade.cs",["scripts.vl2"]],"scripts/weapons/grenade.cs":["scripts/weapons/grenade.cs",["scripts.vl2"]],"scripts/weapons/grenadelauncher.cs":["scripts/weapons/grenadeLauncher.cs",["scripts.vl2"]],"scripts/weapons/mine.cs":["scripts/weapons/mine.cs",["scripts.vl2"]],"scripts/weapons/missilelauncher.cs":["scripts/weapons/missileLauncher.cs",["scripts.vl2"]],"scripts/weapons/mortar.cs":["scripts/weapons/mortar.cs",["scripts.vl2"]],"scripts/weapons/plasma.cs":["scripts/weapons/plasma.cs",["scripts.vl2"]],"scripts/weapons/shocklance.cs":["scripts/weapons/shockLance.cs",["scripts.vl2"]],"scripts/weapons/sniperrifle.cs":["scripts/weapons/sniperRifle.cs",["scripts.vl2"]],"scripts/weapons/targetinglaser.cs":["scripts/weapons/targetingLaser.cs",["scripts.vl2"]],"scripts/weapons/tr2chaingun.cs":["scripts/weapons/TR2chaingun.cs",["TR2final105-server.vl2"]],"scripts/weapons/tr2disc.cs":["scripts/weapons/TR2disc.cs",["TR2final105-server.vl2"]],"scripts/weapons/tr2grenade.cs":["scripts/weapons/TR2grenade.cs",["TR2final105-server.vl2"]],"scripts/weapons/tr2grenadelauncher.cs":["scripts/weapons/TR2grenadeLauncher.cs",["TR2final105-server.vl2"]],"scripts/weapons/tr2mortar.cs":["scripts/weapons/TR2mortar.cs",["TR2final105-server.vl2"]],"scripts/weapons/tr2shocklance.cs":["scripts/weapons/TR2shockLance.cs",["TR2final105-server.vl2"]],"scripts/weapons/tr2targetinglaser.cs":["scripts/weapons/TR2targetingLaser.cs",["TR2final105-server.vl2"]],"scripts/weaponslist.cs":["scripts/weaponslist.cs",["multiInterpolate.vl2"]],"scripts/weapturretcode.cs":["scripts/weapTurretCode.cs",["scripts.vl2"]],"scripts/weather.cs":["scripts/weather.cs",["scripts.vl2"]],"scripts/webbrowser.cs":["scripts/webbrowser.cs",["scripts.vl2"]],"scripts/webemail.cs":["scripts/webemail.cs",["scripts.vl2"]],"scripts/webforums.cs":["scripts/webforums.cs",["scripts.vl2"]],"scripts/weblinks.cs":["scripts/weblinks.cs",["scripts.vl2"]],"scripts/webnews.cs":["scripts/webnews.cs",["scripts.vl2"]],"scripts/webstuff.cs":["scripts/webstuff.cs",["scripts.vl2"]],"scripts/webtest.cs":["scripts/webtest.cs",["scripts.vl2"]],"scripts/zanabaticgame.cs":["scripts/zAnabaticGame.cs",["z_mappacks/z_DMP2-V0.6.vl2"]],"scripts/zanomalygame.cs":["scripts/zAnomalyGame.cs",["z_mappacks/z_DMP2-V0.6.vl2"]],"scripts/zbbgame.cs":["scripts/zBBGame.cs",["z_mappacks/z_DMP2-V0.6.vl2"]],"scripts/zfacingworldsgame.cs":["scripts/zFacingWorldsGame.cs",["z_mappacks/z_DMP2-V0.6.vl2"]],"scripts/zfirngame.cs":["scripts/zFirnGame.cs",["z_mappacks/z_DMP2-V0.6.vl2"]],"scripts/zfrostbitegame.cs":["scripts/zFrostBiteGame.cs",["z_mappacks/z_DMP2-V0.6.vl2"]],"scripts/zinfernoroargame.cs":["scripts/zInfernoRoarGame.cs",["z_mappacks/z_DMP2-V0.6.vl2"]],"scripts/zslapdashmirrorgame.cs":["scripts/zSlapDashMirrorGame.cs",["z_mappacks/z_DMP2-V0.6.vl2"]],"scripts/zstarsiegetribesgame.cs":["scripts/zStarsiegeTribesGame.cs",["z_mappacks/z_DMP2-V0.6.vl2"]],"scripts/zstormsragegame.cs":["scripts/zStormsRageGame.cs",["z_mappacks/z_DMP2-V0.6.vl2"]],"scripts/zt2ammostationgame.cs":["scripts/zT2AmmoStationGame.cs",["z_mappacks/z_DMP2-V0.6.vl2"]],"scripts/ztwindrakesgame.cs":["scripts/zTwinDrakesGame.cs",["z_mappacks/z_DMP2-V0.6.vl2"]],"scripts/ztwintorrentgame.cs":["scripts/zTwinTorrentGame.cs",["z_mappacks/z_DMP2-V0.6.vl2"]],"scripts/zwaterskigame.cs":["scripts/zWaterSkiGame.cs",["z_mappacks/z_DMP2-V0.6.vl2"]],"scripts/zwoegame.cs":["scripts/zWOEGame.cs",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/ammo_chaingun.dts":["shapes/ammo_chaingun.dts",["shapes.vl2"]],"shapes/ammo_disc.dts":["shapes/ammo_disc.dts",["shapes.vl2"]],"shapes/ammo_grenade.dts":["shapes/ammo_grenade.dts",["shapes.vl2"]],"shapes/ammo_mine.dts":["shapes/ammo_mine.dts",["shapes.vl2"]],"shapes/ammo_missile.dts":["shapes/ammo_missile.dts",["shapes.vl2"]],"shapes/ammo_mortar.dts":["shapes/ammo_mortar.dts",["shapes.vl2"]],"shapes/ammo_plasma.dts":["shapes/ammo_plasma.dts",["shapes.vl2"]],"shapes/banner_honor.dts":["shapes/banner_honor.dts",["shapes.vl2"]],"shapes/banner_strength.dts":["shapes/banner_strength.dts",["shapes.vl2"]],"shapes/banner_unity.dts":["shapes/banner_unity.dts",["shapes.vl2"]],"shapes/beacon.dts":["shapes/beacon.dts",["shapes.vl2"]],"shapes/billboard_1.dts":["shapes/billboard_1.dts",["TR2final105-client.vl2"]],"shapes/billboard_2.dts":["shapes/billboard_2.dts",["TR2final105-client.vl2"]],"shapes/billboard_3.dts":["shapes/billboard_3.dts",["TR2final105-client.vl2"]],"shapes/billboard_4.dts":["shapes/billboard_4.dts",["TR2final105-client.vl2"]],"shapes/bio_player_debris.dts":["shapes/bio_player_debris.dts",["shapes.vl2"]],"shapes/bioderm_heavy.dts":["shapes/bioderm_heavy.dts",["shapes.vl2"]],"shapes/bioderm_heavy_back.dsq":["shapes/bioderm_heavy_back.dsq",["shapes.vl2"]],"shapes/bioderm_heavy_celflex2.dsq":["shapes/bioderm_heavy_celflex2.dsq",["shapes.vl2"]],"shapes/bioderm_heavy_celgora.dsq":["shapes/bioderm_heavy_celgora.dsq",["shapes.vl2"]],"shapes/bioderm_heavy_celjump.dsq":["shapes/bioderm_heavy_celjump.dsq",["shapes.vl2"]],"shapes/bioderm_heavy_celroar.dsq":["shapes/bioderm_heavy_celroar.dsq",["shapes.vl2"]],"shapes/bioderm_heavy_celsalute.dsq":["shapes/bioderm_heavy_celsalute.dsq",["shapes.vl2"]],"shapes/bioderm_heavy_celyeah.dsq":["shapes/bioderm_heavy_celyeah.dsq",["shapes.vl2"]],"shapes/bioderm_heavy_dieback.dsq":["shapes/bioderm_heavy_dieback.dsq",["shapes.vl2"]],"shapes/bioderm_heavy_diechest.dsq":["shapes/bioderm_heavy_diechest.dsq",["shapes.vl2"]],"shapes/bioderm_heavy_dieforward.dsq":["shapes/bioderm_heavy_dieforward.dsq",["shapes.vl2"]],"shapes/bioderm_heavy_diehead.dsq":["shapes/bioderm_heavy_diehead.dsq",["shapes.vl2"]],"shapes/bioderm_heavy_dieknees.dsq":["shapes/bioderm_heavy_dieknees.dsq",["shapes.vl2"]],"shapes/bioderm_heavy_dieleglft.dsq":["shapes/bioderm_heavy_dieleglft.dsq",["shapes.vl2"]],"shapes/bioderm_heavy_dielegrt.dsq":["shapes/bioderm_heavy_dielegrt.dsq",["shapes.vl2"]],"shapes/bioderm_heavy_diesidelft.dsq":["shapes/bioderm_heavy_diesidelft.dsq",["shapes.vl2"]],"shapes/bioderm_heavy_diesidert.dsq":["shapes/bioderm_heavy_diesidert.dsq",["shapes.vl2"]],"shapes/bioderm_heavy_dieslump.dsq":["shapes/bioderm_heavy_dieslump.dsq",["shapes.vl2"]],"shapes/bioderm_heavy_diespin.dsq":["shapes/bioderm_heavy_diespin.dsq",["shapes.vl2"]],"shapes/bioderm_heavy_fall.dsq":["shapes/bioderm_heavy_fall.dsq",["shapes.vl2"]],"shapes/bioderm_heavy_forward.dsq":["shapes/bioderm_heavy_forward.dsq",["shapes.vl2"]],"shapes/bioderm_heavy_head.dsq":["shapes/bioderm_heavy_head.dsq",["shapes.vl2"]],"shapes/bioderm_heavy_headside.dsq":["shapes/bioderm_heavy_headside.dsq",["shapes.vl2"]],"shapes/bioderm_heavy_idlepda.dsq":["shapes/bioderm_heavy_idlepda.dsq",["shapes.vl2"]],"shapes/bioderm_heavy_jet.dsq":["shapes/bioderm_heavy_jet.dsq",["shapes.vl2"]],"shapes/bioderm_heavy_jump.dsq":["shapes/bioderm_heavy_jump.dsq",["shapes.vl2"]],"shapes/bioderm_heavy_land.dsq":["shapes/bioderm_heavy_land.dsq",["shapes.vl2"]],"shapes/bioderm_heavy_lookde.dsq":["shapes/bioderm_heavy_lookde.dsq",["shapes.vl2"]],"shapes/bioderm_heavy_lookms.dsq":["shapes/bioderm_heavy_lookms.dsq",["shapes.vl2"]],"shapes/bioderm_heavy_looknw.dsq":["shapes/bioderm_heavy_looknw.dsq",["shapes.vl2"]],"shapes/bioderm_heavy_recoilde.dsq":["shapes/bioderm_heavy_recoilde.dsq",["shapes.vl2"]],"shapes/bioderm_heavy_root.dsq":["shapes/bioderm_heavy_root.dsq",["shapes.vl2"]],"shapes/bioderm_heavy_side.dsq":["shapes/bioderm_heavy_side.dsq",["shapes.vl2"]],"shapes/bioderm_heavy_ski.dsq":["shapes/bioderm_heavy_ski.dsq",["shapes.vl2"]],"shapes/bioderm_heavy_standjump.dsq":["shapes/bioderm_heavy_standjump.dsq",["shapes.vl2"]],"shapes/bioderm_heavy_tauntbest.dsq":["shapes/bioderm_heavy_tauntbest.dsq",["shapes.vl2"]],"shapes/bioderm_heavy_tauntbull.dsq":["shapes/bioderm_heavy_tauntbull.dsq",["shapes.vl2"]],"shapes/bioderm_light.dts":["shapes/bioderm_light.dts",["shapes.vl2"]],"shapes/bioderm_light_back.dsq":["shapes/bioderm_light_back.dsq",["shapes.vl2"]],"shapes/bioderm_light_celflex2.dsq":["shapes/bioderm_light_celflex2.dsq",["shapes.vl2"]],"shapes/bioderm_light_celgora.dsq":["shapes/bioderm_light_celgora.dsq",["shapes.vl2"]],"shapes/bioderm_light_celjump.dsq":["shapes/bioderm_light_celjump.dsq",["shapes.vl2"]],"shapes/bioderm_light_celroar.dsq":["shapes/bioderm_light_celroar.dsq",["shapes.vl2"]],"shapes/bioderm_light_celsalute.dsq":["shapes/bioderm_light_celsalute.dsq",["shapes.vl2"]],"shapes/bioderm_light_celyeah.dsq":["shapes/bioderm_light_celyeah.dsq",["shapes.vl2"]],"shapes/bioderm_light_dieback.dsq":["shapes/bioderm_light_dieback.dsq",["shapes.vl2"]],"shapes/bioderm_light_diechest.dsq":["shapes/bioderm_light_diechest.dsq",["shapes.vl2"]],"shapes/bioderm_light_dieforward.dsq":["shapes/bioderm_light_dieforward.dsq",["shapes.vl2"]],"shapes/bioderm_light_diehead.dsq":["shapes/bioderm_light_diehead.dsq",["shapes.vl2"]],"shapes/bioderm_light_dieknees.dsq":["shapes/bioderm_light_dieknees.dsq",["shapes.vl2"]],"shapes/bioderm_light_dieleglft.dsq":["shapes/bioderm_light_dieleglft.dsq",["shapes.vl2"]],"shapes/bioderm_light_dielegrt.dsq":["shapes/bioderm_light_dielegrt.dsq",["shapes.vl2"]],"shapes/bioderm_light_diesidelft.dsq":["shapes/bioderm_light_diesidelft.dsq",["shapes.vl2"]],"shapes/bioderm_light_diesidert.dsq":["shapes/bioderm_light_diesidert.dsq",["shapes.vl2"]],"shapes/bioderm_light_dieslump.dsq":["shapes/bioderm_light_dieslump.dsq",["shapes.vl2"]],"shapes/bioderm_light_diespin.dsq":["shapes/bioderm_light_diespin.dsq",["shapes.vl2"]],"shapes/bioderm_light_fall.dsq":["shapes/bioderm_light_fall.dsq",["shapes.vl2"]],"shapes/bioderm_light_forward.dsq":["shapes/bioderm_light_forward.dsq",["shapes.vl2"]],"shapes/bioderm_light_head.dsq":["shapes/bioderm_light_head.dsq",["shapes.vl2"]],"shapes/bioderm_light_headside.dsq":["shapes/bioderm_light_headside.dsq",["shapes.vl2"]],"shapes/bioderm_light_idlepda.dsq":["shapes/bioderm_light_idlepda.dsq",["shapes.vl2"]],"shapes/bioderm_light_jet.dsq":["shapes/bioderm_light_jet.dsq",["shapes.vl2"]],"shapes/bioderm_light_jump.dsq":["shapes/bioderm_light_jump.dsq",["shapes.vl2"]],"shapes/bioderm_light_land.dsq":["shapes/bioderm_light_land.dsq",["shapes.vl2"]],"shapes/bioderm_light_lookde.dsq":["shapes/bioderm_light_lookde.dsq",["shapes.vl2"]],"shapes/bioderm_light_lookms.dsq":["shapes/bioderm_light_lookms.dsq",["shapes.vl2"]],"shapes/bioderm_light_looknw.dsq":["shapes/bioderm_light_looknw.dsq",["shapes.vl2"]],"shapes/bioderm_light_recoilde.dsq":["shapes/bioderm_light_recoilde.dsq",["shapes.vl2"]],"shapes/bioderm_light_root.dsq":["shapes/bioderm_light_root.dsq",["shapes.vl2"]],"shapes/bioderm_light_scoutroot.dsq":["shapes/bioderm_light_scoutroot.dsq",["shapes.vl2"]],"shapes/bioderm_light_side.dsq":["shapes/bioderm_light_side.dsq",["shapes.vl2"]],"shapes/bioderm_light_sitting.dsq":["shapes/bioderm_light_sitting.dsq",["shapes.vl2"]],"shapes/bioderm_light_ski.dsq":["shapes/bioderm_light_ski.dsq",["shapes.vl2"]],"shapes/bioderm_light_standjump.dsq":["shapes/bioderm_light_standjump.dsq",["shapes.vl2"]],"shapes/bioderm_light_tauntbest.dsq":["shapes/bioderm_light_tauntbest.dsq",["shapes.vl2"]],"shapes/bioderm_light_tauntbull.dsq":["shapes/bioderm_light_tauntbull.dsq",["shapes.vl2"]],"shapes/bioderm_medium.dts":["shapes/bioderm_medium.dts",["shapes.vl2"]],"shapes/bioderm_medium_back.dsq":["shapes/bioderm_medium_back.dsq",["shapes.vl2"]],"shapes/bioderm_medium_celflex2.dsq":["shapes/bioderm_medium_celflex2.dsq",["shapes.vl2"]],"shapes/bioderm_medium_celgora.dsq":["shapes/bioderm_medium_celgora.dsq",["shapes.vl2"]],"shapes/bioderm_medium_celjump.dsq":["shapes/bioderm_medium_celjump.dsq",["shapes.vl2"]],"shapes/bioderm_medium_celroar.dsq":["shapes/bioderm_medium_celroar.dsq",["shapes.vl2"]],"shapes/bioderm_medium_celsalute.dsq":["shapes/bioderm_medium_celsalute.dsq",["shapes.vl2"]],"shapes/bioderm_medium_celyeah.dsq":["shapes/bioderm_medium_celyeah.dsq",["shapes.vl2"]],"shapes/bioderm_medium_dieback.dsq":["shapes/bioderm_medium_dieback.dsq",["shapes.vl2"]],"shapes/bioderm_medium_diechest.dsq":["shapes/bioderm_medium_diechest.dsq",["shapes.vl2"]],"shapes/bioderm_medium_dieforward.dsq":["shapes/bioderm_medium_dieforward.dsq",["shapes.vl2"]],"shapes/bioderm_medium_diehead.dsq":["shapes/bioderm_medium_diehead.dsq",["shapes.vl2"]],"shapes/bioderm_medium_dieknees.dsq":["shapes/bioderm_medium_dieknees.dsq",["shapes.vl2"]],"shapes/bioderm_medium_dieleglft.dsq":["shapes/bioderm_medium_dieleglft.dsq",["shapes.vl2"]],"shapes/bioderm_medium_dielegrt.dsq":["shapes/bioderm_medium_dielegrt.dsq",["shapes.vl2"]],"shapes/bioderm_medium_diesidelft.dsq":["shapes/bioderm_medium_diesidelft.dsq",["shapes.vl2"]],"shapes/bioderm_medium_diesidert.dsq":["shapes/bioderm_medium_diesidert.dsq",["shapes.vl2"]],"shapes/bioderm_medium_dieslump.dsq":["shapes/bioderm_medium_dieslump.dsq",["shapes.vl2"]],"shapes/bioderm_medium_diespin.dsq":["shapes/bioderm_medium_diespin.dsq",["shapes.vl2"]],"shapes/bioderm_medium_fall.dsq":["shapes/bioderm_medium_fall.dsq",["shapes.vl2"]],"shapes/bioderm_medium_forward.dsq":["shapes/bioderm_medium_forward.dsq",["shapes.vl2"]],"shapes/bioderm_medium_head.dsq":["shapes/bioderm_medium_head.dsq",["shapes.vl2"]],"shapes/bioderm_medium_headside.dsq":["shapes/bioderm_medium_headside.dsq",["shapes.vl2"]],"shapes/bioderm_medium_idlepda.dsq":["shapes/bioderm_medium_idlepda.dsq",["shapes.vl2"]],"shapes/bioderm_medium_jet.dsq":["shapes/bioderm_medium_jet.dsq",["shapes.vl2"]],"shapes/bioderm_medium_jump.dsq":["shapes/bioderm_medium_jump.dsq",["shapes.vl2"]],"shapes/bioderm_medium_land.dsq":["shapes/bioderm_medium_land.dsq",["shapes.vl2"]],"shapes/bioderm_medium_lookde.dsq":["shapes/bioderm_medium_lookde.dsq",["shapes.vl2"]],"shapes/bioderm_medium_lookms.dsq":["shapes/bioderm_medium_lookms.dsq",["shapes.vl2"]],"shapes/bioderm_medium_looknw.dsq":["shapes/bioderm_medium_looknw.dsq",["shapes.vl2"]],"shapes/bioderm_medium_recoilde.dsq":["shapes/bioderm_medium_recoilde.dsq",["shapes.vl2"]],"shapes/bioderm_medium_root.dsq":["shapes/bioderm_medium_root.dsq",["shapes.vl2"]],"shapes/bioderm_medium_side.dsq":["shapes/bioderm_medium_side.dsq",["shapes.vl2"]],"shapes/bioderm_medium_sitting.dsq":["shapes/bioderm_medium_sitting.dsq",["shapes.vl2"]],"shapes/bioderm_medium_ski.dsq":["shapes/bioderm_medium_ski.dsq",["shapes.vl2"]],"shapes/bioderm_medium_standjump.dsq":["shapes/bioderm_medium_standjump.dsq",["shapes.vl2"]],"shapes/bioderm_medium_tauntbest.dsq":["shapes/bioderm_medium_tauntbest.dsq",["shapes.vl2"]],"shapes/bioderm_medium_tauntbull.dsq":["shapes/bioderm_medium_tauntbull.dsq",["shapes.vl2"]],"shapes/bmiscf.dts":["shapes/bmiscf.dts",["shapes.vl2"]],"shapes/bomb.dts":["shapes/bomb.dts",["shapes.vl2"]],"shapes/bombers_eye.dts":["shapes/bombers_eye.dts",["shapes.vl2"]],"shapes/borg1.dts":["shapes/borg1.dts",["shapes.vl2"]],"shapes/borg11.dts":["shapes/borg11.dts",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"shapes/borg12.dts":["shapes/borg12.dts",["shapes.vl2"]],"shapes/borg13.dts":["shapes/borg13.dts",["shapes.vl2"]],"shapes/borg15.dts":["shapes/borg15.dts",["shapes.vl2"]],"shapes/borg16-autumn.dts":["shapes/borg16-Autumn.dts",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"shapes/borg16.dts":["shapes/borg16.dts",["shapes.vl2"]],"shapes/borg17.dts":["shapes/borg17.dts",["shapes.vl2"]],"shapes/borg18.dts":["shapes/borg18.dts",["shapes.vl2"]],"shapes/borg19-autumn.dts":["shapes/borg19-Autumn.dts",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"shapes/borg19.dts":["shapes/borg19.dts",["shapes.vl2"]],"shapes/borg2.dts":["shapes/borg2.dts",["shapes.vl2"]],"shapes/borg20.dts":["shapes/borg20.dts",["shapes.vl2"]],"shapes/borg23.dts":["shapes/borg23.dts",["shapes.vl2"]],"shapes/borg25.dts":["shapes/borg25.dts",["shapes.vl2"]],"shapes/borg3.dts":["shapes/borg3.dts",["shapes.vl2"]],"shapes/borg31.dts":["shapes/borg31.dts",["shapes.vl2"]],"shapes/borg32.dts":["shapes/borg32.dts",["shapes.vl2"]],"shapes/borg33.dts":["shapes/borg33.dts",["shapes.vl2"]],"shapes/borg34.dts":["shapes/borg34.dts",["shapes.vl2"]],"shapes/borg4.dts":["shapes/borg4.dts",["shapes.vl2"]],"shapes/borg5.dts":["shapes/borg5.dts",["shapes.vl2"]],"shapes/borg6.dts":["shapes/borg6.dts",["shapes.vl2"]],"shapes/borg7.dts":["shapes/borg7.dts",["shapes.vl2"]],"shapes/borg8.dts":["shapes/borg8.dts",["shapes.vl2"]],"shapes/bter.dts":["shapes/bTer.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/buildstation.dts":["shapes/buildStation.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/c_baselopro.dts":["shapes/C_BaseLoPro.dts",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"shapes/camera.dts":["shapes/camera.dts",["shapes.vl2"]],"shapes/cannontip.dts":["shapes/cannonTip.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/catmaxloaf.dts":["shapes/catMaxLoaf.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/chaingun_shot.dts":["shapes/chaingun_shot.dts",["shapes.vl2"]],"shapes/chrometest.dts":["shapes/chromeTest.dts",["shapes.vl2"]],"shapes/debris_generic.dts":["shapes/debris_generic.dts",["shapes.vl2"]],"shapes/debris_generic_small.dts":["shapes/debris_generic_small.dts",["shapes.vl2"]],"shapes/debris_player.dts":["shapes/debris_player.dts",["shapes.vl2"]],"shapes/deploy_ammo.dts":["shapes/deploy_ammo.dts",["shapes.vl2"]],"shapes/deploy_inventory.dts":["shapes/deploy_inventory.dts",["shapes.vl2"]],"shapes/deploy_sensor_motion.dts":["shapes/deploy_sensor_motion.dts",["shapes.vl2"]],"shapes/deploy_sensor_pulse.dts":["shapes/deploy_sensor_pulse.dts",["shapes.vl2"]],"shapes/disc.dts":["shapes/disc.dts",["shapes.vl2"]],"shapes/disc_explosion.dts":["shapes/disc_explosion.dts",["shapes.vl2"]],"shapes/dmiscf.dts":["shapes/dmiscf.dts",["shapes.vl2"]],"shapes/dorg15.dts":["shapes/dorg15.dts",["shapes.vl2"]],"shapes/dorg16.dts":["shapes/dorg16.dts",["shapes.vl2"]],"shapes/dorg17.dts":["shapes/dorg17.dts",["shapes.vl2"]],"shapes/dorg18.dts":["shapes/dorg18.dts",["shapes.vl2"]],"shapes/dorg19.dts":["shapes/dorg19.dts",["shapes.vl2"]],"shapes/dsflame.dts":["shapes/dsFlame.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/dsplane.dts":["shapes/dsPlane.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/effect_plasma_explosion.dts":["shapes/effect_plasma_explosion.dts",["shapes.vl2"]],"shapes/energy_bolt.dts":["shapes/energy_bolt.dts",["shapes.vl2"]],"shapes/energy_explosion.dts":["shapes/energy_explosion.dts",["shapes.vl2"]],"shapes/engsphere.dts":["shapes/engSphere.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/ext_flagstand.dts":["shapes/ext_flagstand.dts",["shapes.vl2"]],"shapes/facebox.dts":["shapes/faceBox.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/facesphere.dts":["shapes/faceSphere.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/flag.dts":["shapes/flag.dts",["shapes.vl2"]],"shapes/flagiconfoe.dts":["shapes/flagIconFoe.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/flagiconfriend.dts":["shapes/flagIconFriend.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/foemark.dts":["shapes/foeMark.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/friendmark.dts":["shapes/friendMark.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/goal_back.dts":["shapes/goal_back.dts",["TR2final105-client.vl2"]],"shapes/goal_panel.dts":["shapes/goal_panel.dts",["TR2final105-client.vl2"]],"shapes/goal_side.dts":["shapes/goal_side.dts",["TR2final105-client.vl2"]],"shapes/goal_top.dts":["shapes/goal_top.dts",["TR2final105-client.vl2"]],"shapes/gold_goal_back.dts":["shapes/gold_goal_back.dts",["TR2final105-client.vl2"]],"shapes/gold_goal_side.dts":["shapes/gold_goal_side.dts",["TR2final105-client.vl2"]],"shapes/gold_goal_top.dts":["shapes/gold_goal_top.dts",["TR2final105-client.vl2"]],"shapes/golden_pole.dts":["shapes/golden_pole.dts",["TR2final105-client.vl2"]],"shapes/gravemarker_1.dts":["shapes/gravemarker_1.dts",["shapes.vl2"]],"shapes/grenade.dts":["shapes/grenade.dts",["shapes.vl2"]],"shapes/grenade_flare.dts":["shapes/grenade_flare.dts",["shapes.vl2"]],"shapes/grenade_flash.dts":["shapes/grenade_flash.dts",["shapes.vl2"]],"shapes/grenade_projectile.dts":["shapes/grenade_projectile.dts",["shapes.vl2"]],"shapes/heavy_male.dts":["shapes/heavy_male.dts",["shapes.vl2"]],"shapes/heavy_male_back.dsq":["shapes/heavy_male_back.dsq",["shapes.vl2"]],"shapes/heavy_male_celdance.dsq":["shapes/heavy_male_celdance.dsq",["shapes.vl2"]],"shapes/heavy_male_celflex.dsq":["shapes/heavy_male_celflex.dsq",["shapes.vl2"]],"shapes/heavy_male_celjump.dsq":["shapes/heavy_male_celjump.dsq",["shapes.vl2"]],"shapes/heavy_male_celsalute.dsq":["shapes/heavy_male_celsalute.dsq",["shapes.vl2"]],"shapes/heavy_male_celtaunt.dsq":["shapes/heavy_male_celtaunt.dsq",["shapes.vl2"]],"shapes/heavy_male_celwave.dsq":["shapes/heavy_male_celwave.dsq",["shapes.vl2"]],"shapes/heavy_male_dead.dts":["shapes/heavy_male_dead.dts",["shapes.vl2"]],"shapes/heavy_male_dieback.dsq":["shapes/heavy_male_dieback.dsq",["shapes.vl2"]],"shapes/heavy_male_diechest.dsq":["shapes/heavy_male_diechest.dsq",["shapes.vl2"]],"shapes/heavy_male_dieforward.dsq":["shapes/heavy_male_dieforward.dsq",["shapes.vl2"]],"shapes/heavy_male_diehead.dsq":["shapes/heavy_male_diehead.dsq",["shapes.vl2"]],"shapes/heavy_male_dieknees.dsq":["shapes/heavy_male_dieknees.dsq",["shapes.vl2"]],"shapes/heavy_male_dieleglf.dsq":["shapes/heavy_male_dieleglf.dsq",["shapes.vl2"]],"shapes/heavy_male_dielegrt.dsq":["shapes/heavy_male_dielegrt.dsq",["shapes.vl2"]],"shapes/heavy_male_diesidelf.dsq":["shapes/heavy_male_diesidelf.dsq",["shapes.vl2"]],"shapes/heavy_male_diesidert.dsq":["shapes/heavy_male_diesidert.dsq",["shapes.vl2"]],"shapes/heavy_male_dieslump.dsq":["shapes/heavy_male_dieslump.dsq",["shapes.vl2"]],"shapes/heavy_male_diespin.dsq":["shapes/heavy_male_diespin.dsq",["shapes.vl2"]],"shapes/heavy_male_fall.dsq":["shapes/heavy_male_fall.dsq",["shapes.vl2"]],"shapes/heavy_male_forward.dsq":["shapes/heavy_male_forward.dsq",["shapes.vl2"]],"shapes/heavy_male_head.dsq":["shapes/heavy_male_head.dsq",["shapes.vl2"]],"shapes/heavy_male_headside.dsq":["shapes/heavy_male_headside.dsq",["shapes.vl2"]],"shapes/heavy_male_idlepda.dsq":["shapes/heavy_male_idlepda.dsq",["shapes.vl2"]],"shapes/heavy_male_jet.dsq":["shapes/heavy_male_jet.dsq",["shapes.vl2"]],"shapes/heavy_male_jump.dsq":["shapes/heavy_male_jump.dsq",["shapes.vl2"]],"shapes/heavy_male_land.dsq":["shapes/heavy_male_land.dsq",["shapes.vl2"]],"shapes/heavy_male_lookde.dsq":["shapes/heavy_male_lookde.dsq",["shapes.vl2"]],"shapes/heavy_male_lookms.dsq":["shapes/heavy_male_lookms.dsq",["shapes.vl2"]],"shapes/heavy_male_looknw.dsq":["shapes/heavy_male_looknw.dsq",["shapes.vl2"]],"shapes/heavy_male_recoilde.dsq":["shapes/heavy_male_recoilde.dsq",["shapes.vl2"]],"shapes/heavy_male_root.dsq":["shapes/heavy_male_root.dsq",["shapes.vl2"]],"shapes/heavy_male_side.dsq":["shapes/heavy_male_side.dsq",["shapes.vl2"]],"shapes/heavy_male_ski.dsq":["shapes/heavy_male_ski.dsq",["shapes.vl2"]],"shapes/heavy_male_standjump.dsq":["shapes/heavy_male_standjump.dsq",["shapes.vl2"]],"shapes/heavy_male_tauntbest.dsq":["shapes/heavy_male_tauntbest.dsq",["shapes.vl2"]],"shapes/heavy_male_tauntimp.dsq":["shapes/heavy_male_tauntimp.dsq",["shapes.vl2"]],"shapes/hellfiregun.dts":["shapes/hellFireGun.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/hellfireturret.dts":["shapes/hellFireTurret.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/huntersflag.dts":["shapes/huntersflag.dts",["shapes.vl2"]],"shapes/icecube.dts":["shapes/iceCube.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/int_flagstand.dts":["shapes/int_flagstand.dts",["shapes.vl2"]],"shapes/light_female.dts":["shapes/light_female.dts",["shapes.vl2"]],"shapes/light_female_back.dsq":["shapes/light_female_back.dsq",["shapes.vl2"]],"shapes/light_female_celbow.dsq":["shapes/light_female_celbow.dsq",["shapes.vl2"]],"shapes/light_female_celdance.dsq":["shapes/light_female_celdance.dsq",["shapes.vl2"]],"shapes/light_female_celsalute.dsq":["shapes/light_female_celsalute.dsq",["shapes.vl2"]],"shapes/light_female_celwave.dsq":["shapes/light_female_celwave.dsq",["shapes.vl2"]],"shapes/light_female_dieback.dsq":["shapes/light_female_dieback.dsq",["shapes.vl2"]],"shapes/light_female_diechest.dsq":["shapes/light_female_diechest.dsq",["shapes.vl2"]],"shapes/light_female_dieforward.dsq":["shapes/light_female_dieforward.dsq",["shapes.vl2"]],"shapes/light_female_diehead.dsq":["shapes/light_female_diehead.dsq",["shapes.vl2"]],"shapes/light_female_dieknees.dsq":["shapes/light_female_dieknees.dsq",["shapes.vl2"]],"shapes/light_female_dieleglf.dsq":["shapes/light_female_dieleglf.dsq",["shapes.vl2"]],"shapes/light_female_dielegrt.dsq":["shapes/light_female_dielegrt.dsq",["shapes.vl2"]],"shapes/light_female_diesidelf.dsq":["shapes/light_female_diesidelf.dsq",["shapes.vl2"]],"shapes/light_female_diesidert.dsq":["shapes/light_female_diesidert.dsq",["shapes.vl2"]],"shapes/light_female_dieslump.dsq":["shapes/light_female_dieslump.dsq",["shapes.vl2"]],"shapes/light_female_diespin.dsq":["shapes/light_female_diespin.dsq",["shapes.vl2"]],"shapes/light_female_fall.dsq":["shapes/light_female_fall.dsq",["shapes.vl2"]],"shapes/light_female_forward.dsq":["shapes/light_female_forward.dsq",["shapes.vl2"]],"shapes/light_female_head.dsq":["shapes/light_female_head.dsq",["shapes.vl2"]],"shapes/light_female_headside.dsq":["shapes/light_female_headside.dsq",["shapes.vl2"]],"shapes/light_female_idlepda.dsq":["shapes/light_female_idlepda.dsq",["shapes.vl2"]],"shapes/light_female_jet.dsq":["shapes/light_female_jet.dsq",["shapes.vl2"]],"shapes/light_female_jump.dsq":["shapes/light_female_jump.dsq",["shapes.vl2"]],"shapes/light_female_land.dsq":["shapes/light_female_land.dsq",["shapes.vl2"]],"shapes/light_female_lookde.dsq":["shapes/light_female_lookde.dsq",["shapes.vl2"]],"shapes/light_female_lookms.dsq":["shapes/light_female_lookms.dsq",["shapes.vl2"]],"shapes/light_female_looknw.dsq":["shapes/light_female_looknw.dsq",["shapes.vl2"]],"shapes/light_female_looksn.dsq":["shapes/light_female_looksn.dsq",["shapes.vl2"]],"shapes/light_female_recoilde.dsq":["shapes/light_female_recoilde.dsq",["shapes.vl2"]],"shapes/light_female_root.dsq":["shapes/light_female_root.dsq",["shapes.vl2"]],"shapes/light_female_scoutroot.dsq":["shapes/light_female_scoutroot.dsq",["shapes.vl2"]],"shapes/light_female_side.dsq":["shapes/light_female_side.dsq",["shapes.vl2"]],"shapes/light_female_sitting.dsq":["shapes/light_female_sitting.dsq",["shapes.vl2"]],"shapes/light_female_ski.dsq":["shapes/light_female_ski.dsq",["shapes.vl2"]],"shapes/light_female_standjump.dsq":["shapes/light_female_standjump.dsq",["shapes.vl2"]],"shapes/light_female_tauntbest.dsq":["shapes/light_female_tauntbest.dsq",["shapes.vl2"]],"shapes/light_female_tauntbutt.dsq":["shapes/light_female_tauntbutt.dsq",["shapes.vl2"]],"shapes/light_female_tauntimp.dsq":["shapes/light_female_tauntimp.dsq",["shapes.vl2"]],"shapes/light_female_tauntkiss.dsq":["shapes/light_female_tauntkiss.dsq",["shapes.vl2"]],"shapes/light_male.dts":["shapes/light_male.dts",["shapes.vl2"]],"shapes/light_male_back.dsq":["shapes/light_male_back.dsq",["shapes.vl2"]],"shapes/light_male_celdisco.dsq":["shapes/light_male_celdisco.dsq",["shapes.vl2"]],"shapes/light_male_celflex.dsq":["shapes/light_male_celflex.dsq",["shapes.vl2"]],"shapes/light_male_celrocky.dsq":["shapes/light_male_celrocky.dsq",["shapes.vl2"]],"shapes/light_male_celsalute.dsq":["shapes/light_male_celsalute.dsq",["shapes.vl2"]],"shapes/light_male_celtaunt.dsq":["shapes/light_male_celtaunt.dsq",["shapes.vl2"]],"shapes/light_male_celwave.dsq":["shapes/light_male_celwave.dsq",["shapes.vl2"]],"shapes/light_male_dead.dts":["shapes/light_male_dead.dts",["shapes.vl2"]],"shapes/light_male_dieback.dsq":["shapes/light_male_dieback.dsq",["shapes.vl2"]],"shapes/light_male_diechest.dsq":["shapes/light_male_diechest.dsq",["shapes.vl2"]],"shapes/light_male_dieforward.dsq":["shapes/light_male_dieforward.dsq",["shapes.vl2"]],"shapes/light_male_diehead.dsq":["shapes/light_male_diehead.dsq",["shapes.vl2"]],"shapes/light_male_dieknees.dsq":["shapes/light_male_dieknees.dsq",["shapes.vl2"]],"shapes/light_male_dieleglf.dsq":["shapes/light_male_dieleglf.dsq",["shapes.vl2"]],"shapes/light_male_dielegrt.dsq":["shapes/light_male_dielegrt.dsq",["shapes.vl2"]],"shapes/light_male_diesidelf.dsq":["shapes/light_male_diesidelf.dsq",["shapes.vl2"]],"shapes/light_male_diesidert.dsq":["shapes/light_male_diesidert.dsq",["shapes.vl2"]],"shapes/light_male_dieslump.dsq":["shapes/light_male_dieslump.dsq",["shapes.vl2"]],"shapes/light_male_diespin.dsq":["shapes/light_male_diespin.dsq",["shapes.vl2"]],"shapes/light_male_fall.dsq":["shapes/light_male_fall.dsq",["shapes.vl2"]],"shapes/light_male_forward.dsq":["shapes/light_male_forward.dsq",["shapes.vl2"]],"shapes/light_male_head.dsq":["shapes/light_male_head.dsq",["shapes.vl2"]],"shapes/light_male_headside.dsq":["shapes/light_male_headside.dsq",["shapes.vl2"]],"shapes/light_male_idlepda.dsq":["shapes/light_male_idlepda.dsq",["shapes.vl2"]],"shapes/light_male_jet.dsq":["shapes/light_male_jet.dsq",["shapes.vl2"]],"shapes/light_male_jump.dsq":["shapes/light_male_jump.dsq",["shapes.vl2"]],"shapes/light_male_land.dsq":["shapes/light_male_land.dsq",["shapes.vl2"]],"shapes/light_male_lookde.dsq":["shapes/light_male_lookde.dsq",["shapes.vl2"]],"shapes/light_male_lookms.dsq":["shapes/light_male_lookms.dsq",["shapes.vl2"]],"shapes/light_male_looknw.dsq":["shapes/light_male_looknw.dsq",["shapes.vl2"]],"shapes/light_male_looksn.dsq":["shapes/light_male_looksn.dsq",["shapes.vl2"]],"shapes/light_male_newland.dsq":["shapes/light_male_newland.dsq",["shapes.vl2"]],"shapes/light_male_recoilde.dsq":["shapes/light_male_recoilde.dsq",["shapes.vl2"]],"shapes/light_male_root.dsq":["shapes/light_male_root.dsq",["shapes.vl2"]],"shapes/light_male_scoutroot.dsq":["shapes/light_male_scoutroot.dsq",["shapes.vl2"]],"shapes/light_male_side.dsq":["shapes/light_male_side.dsq",["shapes.vl2"]],"shapes/light_male_sitting.dsq":["shapes/light_male_sitting.dsq",["shapes.vl2"]],"shapes/light_male_ski.dsq":["shapes/light_male_ski.dsq",["shapes.vl2"]],"shapes/light_male_standjump.dsq":["shapes/light_male_standjump.dsq",["shapes.vl2"]],"shapes/light_male_tauntbest.dsq":["shapes/light_male_tauntbest.dsq",["shapes.vl2"]],"shapes/light_male_tauntimp.dsq":["shapes/light_male_tauntimp.dsq",["shapes.vl2"]],"shapes/medium_female.dts":["shapes/medium_female.dts",["shapes.vl2"]],"shapes/medium_female_back.dsq":["shapes/medium_female_back.dsq",["shapes.vl2"]],"shapes/medium_female_celbow.dsq":["shapes/medium_female_celbow.dsq",["shapes.vl2"]],"shapes/medium_female_celdisco.dsq":["shapes/medium_female_celdisco.dsq",["shapes.vl2"]],"shapes/medium_female_celsalute.dsq":["shapes/medium_female_celsalute.dsq",["shapes.vl2"]],"shapes/medium_female_celwave.dsq":["shapes/medium_female_celwave.dsq",["shapes.vl2"]],"shapes/medium_female_dieback.dsq":["shapes/medium_female_dieback.dsq",["shapes.vl2"]],"shapes/medium_female_diechest.dsq":["shapes/medium_female_diechest.dsq",["shapes.vl2"]],"shapes/medium_female_dieforward.dsq":["shapes/medium_female_dieforward.dsq",["shapes.vl2"]],"shapes/medium_female_diehead.dsq":["shapes/medium_female_diehead.dsq",["shapes.vl2"]],"shapes/medium_female_dieknees.dsq":["shapes/medium_female_dieknees.dsq",["shapes.vl2"]],"shapes/medium_female_dieleglf.dsq":["shapes/medium_female_dieleglf.dsq",["shapes.vl2"]],"shapes/medium_female_dielegrt.dsq":["shapes/medium_female_dielegrt.dsq",["shapes.vl2"]],"shapes/medium_female_diesidelf.dsq":["shapes/medium_female_diesidelf.dsq",["shapes.vl2"]],"shapes/medium_female_diesidert.dsq":["shapes/medium_female_diesidert.dsq",["shapes.vl2"]],"shapes/medium_female_dieslump.dsq":["shapes/medium_female_dieslump.dsq",["shapes.vl2"]],"shapes/medium_female_diespin.dsq":["shapes/medium_female_diespin.dsq",["shapes.vl2"]],"shapes/medium_female_fall.dsq":["shapes/medium_female_fall.dsq",["shapes.vl2"]],"shapes/medium_female_forward.dsq":["shapes/medium_female_forward.dsq",["shapes.vl2"]],"shapes/medium_female_head.dsq":["shapes/medium_female_head.dsq",["shapes.vl2"]],"shapes/medium_female_headside.dsq":["shapes/medium_female_headside.dsq",["shapes.vl2"]],"shapes/medium_female_idlepda.dsq":["shapes/medium_female_idlepda.dsq",["shapes.vl2"]],"shapes/medium_female_jet.dsq":["shapes/medium_female_jet.dsq",["shapes.vl2"]],"shapes/medium_female_jump.dsq":["shapes/medium_female_jump.dsq",["shapes.vl2"]],"shapes/medium_female_land.dsq":["shapes/medium_female_land.dsq",["shapes.vl2"]],"shapes/medium_female_lookde.dsq":["shapes/medium_female_lookde.dsq",["shapes.vl2"]],"shapes/medium_female_lookms.dsq":["shapes/medium_female_lookms.dsq",["shapes.vl2"]],"shapes/medium_female_looknw.dsq":["shapes/medium_female_looknw.dsq",["shapes.vl2"]],"shapes/medium_female_looksn.dsq":["shapes/medium_female_looksn.dsq",["shapes.vl2"]],"shapes/medium_female_recoilde.dsq":["shapes/medium_female_recoilde.dsq",["shapes.vl2"]],"shapes/medium_female_root.dsq":["shapes/medium_female_root.dsq",["shapes.vl2"]],"shapes/medium_female_side.dsq":["shapes/medium_female_side.dsq",["shapes.vl2"]],"shapes/medium_female_sitting.dsq":["shapes/medium_female_sitting.dsq",["shapes.vl2"]],"shapes/medium_female_ski.dsq":["shapes/medium_female_ski.dsq",["shapes.vl2"]],"shapes/medium_female_standjump.dsq":["shapes/medium_female_standjump.dsq",["shapes.vl2"]],"shapes/medium_female_tauntbest.dsq":["shapes/medium_female_tauntbest.dsq",["shapes.vl2"]],"shapes/medium_female_tauntbutt.dsq":["shapes/medium_female_tauntbutt.dsq",["shapes.vl2"]],"shapes/medium_female_tauntimp.dsq":["shapes/medium_female_tauntimp.dsq",["shapes.vl2"]],"shapes/medium_female_tauntkiss.dsq":["shapes/medium_female_tauntkiss.dsq",["shapes.vl2"]],"shapes/medium_male.dts":["shapes/medium_male.dts",["shapes.vl2"]],"shapes/medium_male_back.dsq":["shapes/medium_male_back.dsq",["shapes.vl2"]],"shapes/medium_male_celdance.dsq":["shapes/medium_male_celdance.dsq",["shapes.vl2"]],"shapes/medium_male_celflex.dsq":["shapes/medium_male_celflex.dsq",["shapes.vl2"]],"shapes/medium_male_celrocky.dsq":["shapes/medium_male_celrocky.dsq",["shapes.vl2"]],"shapes/medium_male_celsalute.dsq":["shapes/medium_male_celsalute.dsq",["shapes.vl2"]],"shapes/medium_male_celtaunt.dsq":["shapes/medium_male_celtaunt.dsq",["shapes.vl2"]],"shapes/medium_male_celwave.dsq":["shapes/medium_male_celwave.dsq",["shapes.vl2"]],"shapes/medium_male_dead.dts":["shapes/medium_male_dead.dts",["shapes.vl2"]],"shapes/medium_male_dieback.dsq":["shapes/medium_male_dieback.dsq",["shapes.vl2"]],"shapes/medium_male_diechest.dsq":["shapes/medium_male_diechest.dsq",["shapes.vl2"]],"shapes/medium_male_dieforward.dsq":["shapes/medium_male_dieforward.dsq",["shapes.vl2"]],"shapes/medium_male_diehead.dsq":["shapes/medium_male_diehead.dsq",["shapes.vl2"]],"shapes/medium_male_dieknees.dsq":["shapes/medium_male_dieknees.dsq",["shapes.vl2"]],"shapes/medium_male_dieleglf.dsq":["shapes/medium_male_dieleglf.dsq",["shapes.vl2"]],"shapes/medium_male_dielegrt.dsq":["shapes/medium_male_dielegrt.dsq",["shapes.vl2"]],"shapes/medium_male_diesidelf.dsq":["shapes/medium_male_diesidelf.dsq",["shapes.vl2"]],"shapes/medium_male_diesidert.dsq":["shapes/medium_male_diesidert.dsq",["shapes.vl2"]],"shapes/medium_male_dieslump.dsq":["shapes/medium_male_dieslump.dsq",["shapes.vl2"]],"shapes/medium_male_diespin.dsq":["shapes/medium_male_diespin.dsq",["shapes.vl2"]],"shapes/medium_male_fall.dsq":["shapes/medium_male_fall.dsq",["shapes.vl2"]],"shapes/medium_male_forward.dsq":["shapes/medium_male_forward.dsq",["shapes.vl2"]],"shapes/medium_male_head.dsq":["shapes/medium_male_head.dsq",["shapes.vl2"]],"shapes/medium_male_headside.dsq":["shapes/medium_male_headside.dsq",["shapes.vl2"]],"shapes/medium_male_idlepda.dsq":["shapes/medium_male_idlepda.dsq",["shapes.vl2"]],"shapes/medium_male_jet.dsq":["shapes/medium_male_jet.dsq",["shapes.vl2"]],"shapes/medium_male_jump.dsq":["shapes/medium_male_jump.dsq",["shapes.vl2"]],"shapes/medium_male_land.dsq":["shapes/medium_male_land.dsq",["shapes.vl2"]],"shapes/medium_male_lookde.dsq":["shapes/medium_male_lookde.dsq",["shapes.vl2"]],"shapes/medium_male_lookms.dsq":["shapes/medium_male_lookms.dsq",["shapes.vl2"]],"shapes/medium_male_looknw.dsq":["shapes/medium_male_looknw.dsq",["shapes.vl2"]],"shapes/medium_male_looksn.dsq":["shapes/medium_male_looksn.dsq",["shapes.vl2"]],"shapes/medium_male_recoilde.dsq":["shapes/medium_male_recoilde.dsq",["shapes.vl2"]],"shapes/medium_male_root.dsq":["shapes/medium_male_root.dsq",["shapes.vl2"]],"shapes/medium_male_side.dsq":["shapes/medium_male_side.dsq",["shapes.vl2"]],"shapes/medium_male_sitting.dsq":["shapes/medium_male_sitting.dsq",["shapes.vl2"]],"shapes/medium_male_ski.dsq":["shapes/medium_male_ski.dsq",["shapes.vl2"]],"shapes/medium_male_standjump.dsq":["shapes/medium_male_standjump.dsq",["shapes.vl2"]],"shapes/medium_male_tauntbest.dsq":["shapes/medium_male_tauntbest.dsq",["shapes.vl2"]],"shapes/medium_male_tauntimp.dsq":["shapes/medium_male_tauntimp.dsq",["shapes.vl2"]],"shapes/mine.dts":["shapes/mine.dts",["shapes.vl2"]],"shapes/mortar_explosion.dts":["shapes/mortar_explosion.dts",["shapes.vl2"]],"shapes/mortar_projectile.dts":["shapes/mortar_projectile.dts",["shapes.vl2"]],"shapes/nexus_effect.dts":["shapes/nexus_effect.dts",["shapes.vl2"]],"shapes/nexusbase.dts":["shapes/nexusbase.dts",["shapes.vl2"]],"shapes/nexuscap.dts":["shapes/nexuscap.dts",["shapes.vl2"]],"shapes/octahedron.dts":["shapes/octahedron.dts",["shapes.vl2"]],"shapes/pack_barrel_aa.dts":["shapes/pack_barrel_aa.dts",["shapes.vl2"]],"shapes/pack_barrel_elf.dts":["shapes/pack_barrel_elf.dts",["shapes.vl2"]],"shapes/pack_barrel_fusion.dts":["shapes/pack_barrel_fusion.dts",["shapes.vl2"]],"shapes/pack_barrel_missile.dts":["shapes/pack_barrel_missile.dts",["shapes.vl2"]],"shapes/pack_barrel_mortar.dts":["shapes/pack_barrel_mortar.dts",["shapes.vl2"]],"shapes/pack_deploy_ammo.dts":["shapes/pack_deploy_ammo.dts",["shapes.vl2"]],"shapes/pack_deploy_inventory.dts":["shapes/pack_deploy_inventory.dts",["shapes.vl2"]],"shapes/pack_deploy_sensor_motion.dts":["shapes/pack_deploy_sensor_motion.dts",["shapes.vl2"]],"shapes/pack_deploy_sensor_pulse.dts":["shapes/pack_deploy_sensor_pulse.dts",["shapes.vl2"]],"shapes/pack_deploy_turreti.dts":["shapes/pack_deploy_turreti.dts",["shapes.vl2"]],"shapes/pack_deploy_turreto.dts":["shapes/pack_deploy_turreto.dts",["shapes.vl2"]],"shapes/pack_upgrade_ammo.dts":["shapes/pack_upgrade_ammo.dts",["shapes.vl2"]],"shapes/pack_upgrade_cloaking.dts":["shapes/pack_upgrade_cloaking.dts",["shapes.vl2"]],"shapes/pack_upgrade_energy.dts":["shapes/pack_upgrade_energy.dts",["shapes.vl2"]],"shapes/pack_upgrade_repair.dts":["shapes/pack_upgrade_repair.dts",["shapes.vl2"]],"shapes/pack_upgrade_satchel.dts":["shapes/pack_upgrade_satchel.dts",["shapes.vl2"]],"shapes/pack_upgrade_sensorjammer.dts":["shapes/pack_upgrade_sensorjammer.dts",["shapes.vl2"]],"shapes/pack_upgrade_shield.dts":["shapes/pack_upgrade_shield.dts",["shapes.vl2"]],"shapes/paperflag.dts":["shapes/paperFlag.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/plasmabolt.dts":["shapes/plasmabolt.dts",["shapes.vl2"]],"shapes/pmiscf.dts":["shapes/pmiscf.dts",["shapes.vl2"]],"shapes/porg1-dark.dts":["shapes/porg1-dark.dts",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"shapes/porg1.dts":["shapes/porg1.dts",["shapes.vl2"]],"shapes/porg2.dts":["shapes/porg2.dts",["shapes.vl2"]],"shapes/porg20.dts":["shapes/porg20.dts",["shapes.vl2"]],"shapes/porg22.dts":["shapes/porg22.dts",["shapes.vl2"]],"shapes/porg3.dts":["shapes/porg3.dts",["shapes.vl2"]],"shapes/porg4.dts":["shapes/porg4.dts",["shapes.vl2"]],"shapes/porg5.dts":["shapes/porg5.dts",["shapes.vl2"]],"shapes/porg6.dts":["shapes/porg6.dts",["shapes.vl2"]],"shapes/redeemer.dts":["shapes/redeemer.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/repair_kit.dts":["shapes/repair_kit.dts",["shapes.vl2"]],"shapes/repair_patch.dts":["shapes/repair_patch.dts",["shapes.vl2"]],"shapes/reticle_bomber.dts":["shapes/reticle_bomber.dts",["shapes.vl2"]],"shapes/rst-chocotaco.dts":["shapes/rst-chocotaco.dts",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"shapes/rst-goonflag.dts":["shapes/rst-goonflag.dts",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"shapes/rst-samifin.dts":["shapes/rst-samifin.dts",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"shapes/rst-santahat.dts":["shapes/rst-santahat.dts",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"shapes/rst-taobook.dts":["shapes/rst-taobook.dts",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"shapes/rst-tcmug.dts":["shapes/rst-TCmug.dts",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"shapes/rst-tnmug.dts":["shapes/rst-TNmug.dts",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"shapes/rst-turtle.dts":["shapes/rst-turtle.dts",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"shapes/sensor_pulse_large.dts":["shapes/sensor_pulse_large.dts",["shapes.vl2"]],"shapes/sensor_pulse_medium.dts":["shapes/sensor_pulse_medium.dts",["shapes.vl2"]],"shapes/silver_pole.dts":["shapes/silver_pole.dts",["TR2final105-client.vl2"]],"shapes/skyspherea.dts":["shapes/skySphereA.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/skysphereb.dts":["shapes/skySphereB.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/smiscf.dts":["shapes/smiscf.dts",["shapes.vl2"]],"shapes/solarpanel.dts":["shapes/solarpanel.dts",["shapes.vl2"]],"shapes/sorg20.dts":["shapes/sorg20.dts",["shapes.vl2"]],"shapes/sorg21.dts":["shapes/sorg21.dts",["shapes.vl2"]],"shapes/sorg22.dts":["shapes/sorg22.dts",["shapes.vl2"]],"shapes/sorg23.dts":["shapes/sorg23.dts",["shapes.vl2"]],"shapes/sorg24.dts":["shapes/sorg24.dts",["shapes.vl2"]],"shapes/stackable1l.dts":["shapes/stackable1l.dts",["shapes.vl2"]],"shapes/stackable1m.dts":["shapes/stackable1m.dts",["shapes.vl2"]],"shapes/stackable1s.dts":["shapes/stackable1s.dts",["shapes.vl2"]],"shapes/stackable2l.dts":["shapes/stackable2l.dts",["shapes.vl2"]],"shapes/stackable2m.dts":["shapes/stackable2m.dts",["shapes.vl2"]],"shapes/stackable2s.dts":["shapes/stackable2s.dts",["shapes.vl2"]],"shapes/stackable3l.dts":["shapes/stackable3l.dts",["shapes.vl2"]],"shapes/stackable3m.dts":["shapes/stackable3m.dts",["shapes.vl2"]],"shapes/stackable3s.dts":["shapes/stackable3s.dts",["shapes.vl2"]],"shapes/stackable4l.dts":["shapes/stackable4l.dts",["shapes.vl2"]],"shapes/stackable4m.dts":["shapes/stackable4m.dts",["shapes.vl2"]],"shapes/stackable5l.dts":["shapes/stackable5l.dts",["shapes.vl2"]],"shapes/stackable5m.dts":["shapes/stackable5m.dts",["shapes.vl2"]],"shapes/station_generator_large.dts":["shapes/station_generator_large.dts",["shapes.vl2"]],"shapes/station_inv_human.dts":["shapes/station_inv_human.dts",["shapes.vl2"]],"shapes/station_inv_mpb.dts":["shapes/station_inv_mpb.dts",["shapes.vl2"]],"shapes/station_teleport.dts":["shapes/station_teleport.dts",["shapes.vl2"]],"shapes/statue_base.dts":["shapes/statue_base.dts",["shapes.vl2"]],"shapes/statue_hmale.dts":["shapes/statue_hmale.dts",["shapes.vl2"]],"shapes/statue_lfemale.dts":["shapes/statue_lfemale.dts",["shapes.vl2"]],"shapes/statue_lmale.dts":["shapes/statue_lmale.dts",["shapes.vl2"]],"shapes/statue_plaque.dts":["shapes/statue_plaque.dts",["shapes.vl2"]],"shapes/switch.dts":["shapes/switch.dts",["shapes.vl2"]],"shapes/t1ammopad.dts":["shapes/t1ammopad.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1baseflag.dts":["shapes/t1baseflag.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1baseflagb.dts":["shapes/t1baseflagB.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1baseflagd.dts":["shapes/t1baseflagD.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1baseflagp.dts":["shapes/t1baseflagP.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1baseflags.dts":["shapes/t1baseflagS.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1blaster.dts":["shapes/t1blaster.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1chaingun.dts":["shapes/t1Chaingun.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1cmdstation.dts":["shapes/t1CMDStation.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1depammo.dts":["shapes/t1DepAmmo.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1depinvy.dts":["shapes/t1DepInvy.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1depinvy_pack.dts":["shapes/t1DepInvy_Pack.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1disc.dts":["shapes/t1disc.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1elf.dts":["shapes/T1ELF.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1elfturret.dts":["shapes/t1elfTurret.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1flyer.dts":["shapes/t1flyer.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1flyer2.dts":["shapes/t1flyer2.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1grenadelauncher.dts":["shapes/t1GrenadeLauncher.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1hpc.dts":["shapes/t1hpc.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1inventorystation.dts":["shapes/t1inventorystation.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1lpc.dts":["shapes/t1lpc.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1lsensor.dts":["shapes/t1LSensor.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1misturret.dts":["shapes/t1MisTurret.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1mortar.dts":["shapes/t1mortar.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1msensor.dts":["shapes/t1mSensor.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1pgen.dts":["shapes/t1pGen.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1plasma.dts":["shapes/t1plasma.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1powergen.dts":["shapes/t1PowerGen.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1remoteturret.dts":["shapes/t1RemoteTurret.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1remoteturret_pack.dts":["shapes/t1RemoteTurret_Pack.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1repairpack.dts":["shapes/t1RepairPack.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1repairpackgun.dts":["shapes/t1RepairPackGun.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1sentry.dts":["shapes/t1Sentry.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1sniper.dts":["shapes/t1sniper.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1solar.dts":["shapes/t1Solar.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1targetlaser.dts":["shapes/t1TargetLaser.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1vehpad.dts":["shapes/t1VehPad.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t1vehstation.dts":["shapes/t1VehStation.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t2depammo.dts":["shapes/t2DepAmmo.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/t2depammo_pack.dts":["shapes/t2DepAmmo_Pack.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/targetcube.dts":["shapes/targetCube.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/tcube.dts":["shapes/tCube.dts",["z_mappacks/z_DMP2-V0.6.vl2"]],"shapes/teamlogo_bd.dts":["shapes/teamlogo_bd.dts",["shapes.vl2"]],"shapes/teamlogo_be.dts":["shapes/teamlogo_be.dts",["shapes.vl2"]],"shapes/teamlogo_ds.dts":["shapes/teamlogo_ds.dts",["shapes.vl2"]],"shapes/teamlogo_hb.dts":["shapes/teamlogo_hb.dts",["shapes.vl2"]],"shapes/teamlogo_inf.dts":["shapes/teamlogo_inf.dts",["shapes.vl2"]],"shapes/teamlogo_projector.dts":["shapes/teamlogo_projector.dts",["shapes.vl2"]],"shapes/teamlogo_storm.dts":["shapes/teamlogo_storm.dts",["shapes.vl2"]],"shapes/teamlogo_sw.dts":["shapes/teamlogo_sw.dts",["shapes.vl2"]],"shapes/tr2flag.dts":["shapes/TR2flag.dts",["TR2final105-client.vl2"]],"shapes/tr2heavy_male.dts":["shapes/TR2heavy_male.dts",["TR2final105-client.vl2"]],"shapes/tr2heavy_male_back.dsq":["shapes/TR2heavy_male_back.dsq",["TR2final105-client.vl2"]],"shapes/tr2heavy_male_celdance.dsq":["shapes/TR2heavy_male_celdance.dsq",["TR2final105-client.vl2"]],"shapes/tr2heavy_male_celflex.dsq":["shapes/TR2heavy_male_celflex.dsq",["TR2final105-client.vl2"]],"shapes/tr2heavy_male_celjump.dsq":["shapes/TR2heavy_male_celjump.dsq",["TR2final105-client.vl2"]],"shapes/tr2heavy_male_celsalute.dsq":["shapes/TR2heavy_male_celsalute.dsq",["TR2final105-client.vl2"]],"shapes/tr2heavy_male_celtaunt.dsq":["shapes/TR2heavy_male_celtaunt.dsq",["TR2final105-client.vl2"]],"shapes/tr2heavy_male_celwave.dsq":["shapes/TR2heavy_male_celwave.dsq",["TR2final105-client.vl2"]],"shapes/tr2heavy_male_dieback.dsq":["shapes/TR2heavy_male_dieback.dsq",["TR2final105-client.vl2"]],"shapes/tr2heavy_male_diechest.dsq":["shapes/TR2heavy_male_diechest.dsq",["TR2final105-client.vl2"]],"shapes/tr2heavy_male_dieforward.dsq":["shapes/TR2heavy_male_dieforward.dsq",["TR2final105-client.vl2"]],"shapes/tr2heavy_male_diehead.dsq":["shapes/TR2heavy_male_diehead.dsq",["TR2final105-client.vl2"]],"shapes/tr2heavy_male_dieknees.dsq":["shapes/TR2heavy_male_dieknees.dsq",["TR2final105-client.vl2"]],"shapes/tr2heavy_male_dieleglf.dsq":["shapes/TR2heavy_male_dieleglf.dsq",["TR2final105-client.vl2"]],"shapes/tr2heavy_male_dielegrt.dsq":["shapes/TR2heavy_male_dielegrt.dsq",["TR2final105-client.vl2"]],"shapes/tr2heavy_male_diesidelf.dsq":["shapes/TR2heavy_male_diesidelf.dsq",["TR2final105-client.vl2"]],"shapes/tr2heavy_male_diesidert.dsq":["shapes/TR2heavy_male_diesidert.dsq",["TR2final105-client.vl2"]],"shapes/tr2heavy_male_dieslump.dsq":["shapes/TR2heavy_male_dieslump.dsq",["TR2final105-client.vl2"]],"shapes/tr2heavy_male_diespin.dsq":["shapes/TR2heavy_male_diespin.dsq",["TR2final105-client.vl2"]],"shapes/tr2heavy_male_fall.dsq":["shapes/TR2heavy_male_fall.dsq",["TR2final105-client.vl2"]],"shapes/tr2heavy_male_forward.dsq":["shapes/TR2heavy_male_forward.dsq",["TR2final105-client.vl2"]],"shapes/tr2heavy_male_jet.dsq":["shapes/TR2heavy_male_jet.dsq",["TR2final105-client.vl2"]],"shapes/tr2heavy_male_jump.dsq":["shapes/TR2heavy_male_jump.dsq",["TR2final105-client.vl2"]],"shapes/tr2heavy_male_land.dsq":["shapes/TR2heavy_male_land.dsq",["TR2final105-client.vl2"]],"shapes/tr2heavy_male_root.dsq":["shapes/TR2heavy_male_root.dsq",["TR2final105-client.vl2"]],"shapes/tr2heavy_male_side.dsq":["shapes/TR2heavy_male_side.dsq",["TR2final105-client.vl2"]],"shapes/tr2heavy_male_ski.dsq":["shapes/TR2heavy_male_ski.dsq",["TR2final105-client.vl2"]],"shapes/tr2heavy_male_standjump.dsq":["shapes/TR2heavy_male_standjump.dsq",["TR2final105-client.vl2"]],"shapes/tr2heavy_male_tauntbest.dsq":["shapes/TR2heavy_male_tauntbest.dsq",["TR2final105-client.vl2"]],"shapes/tr2heavy_male_tauntimp.dsq":["shapes/TR2heavy_male_tauntimp.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_female.dts":["shapes/TR2light_female.dts",["TR2final105-client.vl2"]],"shapes/tr2light_female_back.dsq":["shapes/TR2light_female_back.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_female_celbow.dsq":["shapes/TR2light_female_celbow.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_female_celdance.dsq":["shapes/TR2light_female_celdance.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_female_celsalute.dsq":["shapes/TR2light_female_celsalute.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_female_celwave.dsq":["shapes/TR2light_female_celwave.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_female_dieback.dsq":["shapes/TR2light_female_dieback.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_female_diechest.dsq":["shapes/TR2light_female_diechest.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_female_dieforward.dsq":["shapes/TR2light_female_dieforward.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_female_diehead.dsq":["shapes/TR2light_female_diehead.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_female_dieknees.dsq":["shapes/TR2light_female_dieknees.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_female_dieleglf.dsq":["shapes/TR2light_female_dieleglf.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_female_dielegrt.dsq":["shapes/TR2light_female_dielegrt.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_female_diesidelf.dsq":["shapes/TR2light_female_diesidelf.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_female_diesidert.dsq":["shapes/TR2light_female_diesidert.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_female_dieslump.dsq":["shapes/TR2light_female_dieslump.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_female_diespin.dsq":["shapes/TR2light_female_diespin.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_female_fall.dsq":["shapes/TR2light_female_fall.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_female_forward.dsq":["shapes/TR2light_female_forward.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_female_jet.dsq":["shapes/TR2light_female_jet.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_female_jump.dsq":["shapes/TR2light_female_jump.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_female_land.dsq":["shapes/TR2light_female_land.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_female_root.dsq":["shapes/TR2light_female_root.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_female_side.dsq":["shapes/TR2light_female_side.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_female_ski.dsq":["shapes/TR2light_female_ski.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_female_standjump.dsq":["shapes/TR2light_female_standjump.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_female_tauntbest.dsq":["shapes/TR2light_female_tauntbest.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_female_tauntbutt.dsq":["shapes/TR2light_female_tauntbutt.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_female_tauntimp.dsq":["shapes/TR2light_female_tauntimp.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_female_tauntkiss.dsq":["shapes/TR2light_female_tauntkiss.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_male.dts":["shapes/TR2light_male.dts",["TR2final105-client.vl2"]],"shapes/tr2light_male_back.dsq":["shapes/TR2light_male_back.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_male_fall.dsq":["shapes/TR2light_male_fall.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_male_forward.dsq":["shapes/TR2light_male_forward.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_male_jet.dsq":["shapes/TR2light_male_jet.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_male_jump.dsq":["shapes/TR2light_male_jump.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_male_land.dsq":["shapes/TR2light_male_land.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_male_root.dsq":["shapes/TR2light_male_root.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_male_side.dsq":["shapes/TR2light_male_side.dsq",["TR2final105-client.vl2"]],"shapes/tr2light_male_ski.dsq":["shapes/TR2light_male_ski.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_female.dts":["shapes/TR2medium_female.dts",["TR2final105-client.vl2"]],"shapes/tr2medium_female_back.dsq":["shapes/TR2medium_female_back.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_female_celbow.dsq":["shapes/TR2medium_female_celbow.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_female_celdisco.dsq":["shapes/TR2medium_female_celdisco.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_female_celsalute.dsq":["shapes/TR2medium_female_celsalute.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_female_celwave.dsq":["shapes/TR2medium_female_celwave.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_female_dieback.dsq":["shapes/TR2medium_female_dieback.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_female_diechest.dsq":["shapes/TR2medium_female_diechest.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_female_dieforward.dsq":["shapes/TR2medium_female_dieforward.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_female_diehead.dsq":["shapes/TR2medium_female_diehead.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_female_dieknees.dsq":["shapes/TR2medium_female_dieknees.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_female_dieleglf.dsq":["shapes/TR2medium_female_dieleglf.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_female_dielegrt.dsq":["shapes/TR2medium_female_dielegrt.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_female_diesidelf.dsq":["shapes/TR2medium_female_diesidelf.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_female_diesidert.dsq":["shapes/TR2medium_female_diesidert.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_female_dieslump.dsq":["shapes/TR2medium_female_dieslump.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_female_diespin.dsq":["shapes/TR2medium_female_diespin.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_female_fall.dsq":["shapes/TR2medium_female_fall.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_female_forward.dsq":["shapes/TR2medium_female_forward.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_female_jet.dsq":["shapes/TR2medium_female_jet.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_female_jump.dsq":["shapes/TR2medium_female_jump.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_female_land.dsq":["shapes/TR2medium_female_land.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_female_root.dsq":["shapes/TR2medium_female_root.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_female_side.dsq":["shapes/TR2medium_female_side.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_female_ski.dsq":["shapes/TR2medium_female_ski.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_female_standjump.dsq":["shapes/TR2medium_female_standjump.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_female_tauntbest.dsq":["shapes/TR2medium_female_tauntbest.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_female_tauntbutt.dsq":["shapes/TR2medium_female_tauntbutt.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_female_tauntimp.dsq":["shapes/TR2medium_female_tauntimp.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_female_tauntkiss.dsq":["shapes/TR2medium_female_tauntkiss.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_male.dts":["shapes/TR2medium_male.dts",["TR2final105-client.vl2"]],"shapes/tr2medium_male_back.dsq":["shapes/TR2medium_male_back.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_male_celdance.dsq":["shapes/TR2medium_male_celdance.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_male_celflex.dsq":["shapes/TR2medium_male_celflex.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_male_celrocky.dsq":["shapes/TR2medium_male_celrocky.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_male_celsalute.dsq":["shapes/TR2medium_male_celsalute.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_male_celtaunt.dsq":["shapes/TR2medium_male_celtaunt.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_male_celwave.dsq":["shapes/TR2medium_male_celwave.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_male_dieback.dsq":["shapes/TR2medium_male_dieback.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_male_diechest.dsq":["shapes/TR2medium_male_diechest.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_male_dieforward.dsq":["shapes/TR2medium_male_dieforward.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_male_diehead.dsq":["shapes/TR2medium_male_diehead.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_male_dieknees.dsq":["shapes/TR2medium_male_dieknees.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_male_dieleglf.dsq":["shapes/TR2medium_male_dieleglf.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_male_dielegrt.dsq":["shapes/TR2medium_male_dielegrt.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_male_diesidelf.dsq":["shapes/TR2medium_male_diesidelf.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_male_diesidert.dsq":["shapes/TR2medium_male_diesidert.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_male_dieslump.dsq":["shapes/TR2medium_male_dieslump.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_male_diespin.dsq":["shapes/TR2medium_male_diespin.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_male_fall.dsq":["shapes/TR2medium_male_fall.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_male_forward.dsq":["shapes/TR2medium_male_forward.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_male_jet.dsq":["shapes/TR2medium_male_jet.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_male_jump.dsq":["shapes/TR2medium_male_jump.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_male_land.dsq":["shapes/TR2medium_male_land.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_male_root.dsq":["shapes/TR2medium_male_root.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_male_side.dsq":["shapes/TR2medium_male_side.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_male_sitting.dsq":["shapes/TR2medium_male_sitting.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_male_ski.dsq":["shapes/TR2medium_male_ski.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_male_standjump.dsq":["shapes/TR2medium_male_standjump.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_male_tauntbest.dsq":["shapes/TR2medium_male_tauntbest.dsq",["TR2final105-client.vl2"]],"shapes/tr2medium_male_tauntimp.dsq":["shapes/TR2medium_male_tauntimp.dsq",["TR2final105-client.vl2"]],"shapes/tr2weapon_chaingun.dts":["shapes/TR2weapon_chaingun.dts",["TR2final105-client.vl2"]],"shapes/tr2weapon_disc.dts":["shapes/TR2weapon_disc.dts",["TR2final105-client.vl2"]],"shapes/tr2weapon_grenade_launcher.dts":["shapes/TR2weapon_grenade_launcher.dts",["TR2final105-client.vl2"]],"shapes/tr2weapon_mortar.dts":["shapes/TR2weapon_mortar.dts",["TR2final105-client.vl2"]],"shapes/tr2weapon_shocklance.dts":["shapes/TR2weapon_shocklance.dts",["TR2final105-client.vl2"]],"shapes/turret_aa_large.dts":["shapes/turret_aa_large.dts",["shapes.vl2"]],"shapes/turret_assaulttank_mortar.dts":["shapes/turret_assaulttank_mortar.dts",["shapes.vl2"]],"shapes/turret_assaulttank_plasma.dts":["shapes/turret_assaulttank_plasma.dts",["shapes.vl2"]],"shapes/turret_base_large.dts":["shapes/turret_base_large.dts",["shapes.vl2"]],"shapes/turret_base_mpb.dts":["shapes/turret_base_mpb.dts",["shapes.vl2"]],"shapes/turret_belly_barrell.dts":["shapes/turret_belly_barrell.dts",["shapes.vl2"]],"shapes/turret_belly_barrelr.dts":["shapes/turret_belly_barrelr.dts",["shapes.vl2"]],"shapes/turret_belly_base.dts":["shapes/turret_belly_base.dts",["shapes.vl2"]],"shapes/turret_elf_large.dts":["shapes/turret_elf_large.dts",["shapes.vl2"]],"shapes/turret_fusion_large.dts":["shapes/turret_fusion_large.dts",["shapes.vl2"]],"shapes/turret_indoor_deployc.dts":["shapes/turret_indoor_deployc.dts",["shapes.vl2"]],"shapes/turret_indoor_deployf.dts":["shapes/turret_indoor_deployf.dts",["shapes.vl2"]],"shapes/turret_indoor_deployw.dts":["shapes/turret_indoor_deployw.dts",["shapes.vl2"]],"shapes/turret_missile_large.dts":["shapes/turret_missile_large.dts",["shapes.vl2"]],"shapes/turret_mortar_large.dts":["shapes/turret_mortar_large.dts",["shapes.vl2"]],"shapes/turret_muzzlepoint.dts":["shapes/turret_muzzlepoint.dts",["shapes.vl2"]],"shapes/turret_outdoor_deploy.dts":["shapes/turret_outdoor_deploy.dts",["shapes.vl2"]],"shapes/turret_sentry.dts":["shapes/turret_sentry.dts",["shapes.vl2"]],"shapes/turret_tank_barrelchain.dts":["shapes/turret_tank_barrelchain.dts",["shapes.vl2"]],"shapes/turret_tank_barrelmortar.dts":["shapes/turret_tank_barrelmortar.dts",["shapes.vl2"]],"shapes/turret_tank_base.dts":["shapes/turret_tank_base.dts",["shapes.vl2"]],"shapes/vehicle_air_bomber.dts":["shapes/vehicle_air_bomber.dts",["shapes.vl2"]],"shapes/vehicle_air_bomber_debris.dts":["shapes/vehicle_air_bomber_debris.dts",["shapes.vl2"]],"shapes/vehicle_air_hapc.dts":["shapes/vehicle_air_hapc.dts",["shapes.vl2"]],"shapes/vehicle_air_hapc_debris.dts":["shapes/vehicle_air_hapc_debris.dts",["shapes.vl2"]],"shapes/vehicle_air_scout.dts":["shapes/vehicle_air_scout.dts",["shapes.vl2"]],"shapes/vehicle_air_scout_debris.dts":["shapes/vehicle_air_scout_debris.dts",["shapes.vl2"]],"shapes/vehicle_air_scout_wreck.dts":["shapes/vehicle_air_scout_wreck.dts",["shapes.vl2"]],"shapes/vehicle_grav_scout.dts":["shapes/vehicle_grav_scout.dts",["shapes.vl2"]],"shapes/vehicle_grav_scout_debris.dts":["shapes/vehicle_grav_scout_debris.dts",["shapes.vl2"]],"shapes/vehicle_grav_tank.dts":["shapes/vehicle_grav_tank.dts",["shapes.vl2"]],"shapes/vehicle_grav_tank_debris.dts":["shapes/vehicle_grav_tank_debris.dts",["shapes.vl2"]],"shapes/vehicle_grav_tank_wreck.dts":["shapes/vehicle_grav_tank_wreck.dts",["shapes.vl2"]],"shapes/vehicle_land_assault.dts":["shapes/vehicle_land_assault.dts",["shapes.vl2"]],"shapes/vehicle_land_assault_debris.dts":["shapes/vehicle_land_assault_debris.dts",["shapes.vl2"]],"shapes/vehicle_land_assault_wreck.dts":["shapes/vehicle_land_assault_wreck.dts",["shapes.vl2"]],"shapes/vehicle_land_mpbase.dts":["shapes/vehicle_land_mpbase.dts",["shapes.vl2"]],"shapes/vehicle_land_mpbase_debris.dts":["shapes/vehicle_land_mpbase_debris.dts",["shapes.vl2"]],"shapes/vehicle_pad.dts":["shapes/vehicle_pad.dts",["shapes.vl2"]],"shapes/vehicle_pad_station.dts":["shapes/vehicle_pad_station.dts",["shapes.vl2"]],"shapes/vend.dts":["shapes/vend.dts",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"shapes/weapon_chaingun.dts":["shapes/weapon_chaingun.dts",["shapes.vl2"]],"shapes/weapon_chaingun_ammocasing.dts":["shapes/weapon_chaingun_ammocasing.dts",["shapes.vl2"]],"shapes/weapon_disc.dts":["shapes/weapon_disc.dts",["shapes.vl2"]],"shapes/weapon_elf.dts":["shapes/weapon_elf.dts",["shapes.vl2"]],"shapes/weapon_energy.dts":["shapes/weapon_energy.dts",["shapes.vl2"]],"shapes/weapon_energy_vehicle.dts":["shapes/weapon_energy_vehicle.dts",["shapes.vl2"]],"shapes/weapon_grenade_launcher.dts":["shapes/weapon_grenade_launcher.dts",["shapes.vl2"]],"shapes/weapon_missile.dts":["shapes/weapon_missile.dts",["shapes.vl2"]],"shapes/weapon_missile_casement.dts":["shapes/weapon_missile_casement.dts",["shapes.vl2"]],"shapes/weapon_missile_fleschette.dts":["shapes/weapon_missile_fleschette.dts",["shapes.vl2"]],"shapes/weapon_missile_projectile.dts":["shapes/weapon_missile_projectile.dts",["shapes.vl2"]],"shapes/weapon_mortar.dts":["shapes/weapon_mortar.dts",["shapes.vl2"]],"shapes/weapon_plasma.dts":["shapes/weapon_plasma.dts",["shapes.vl2"]],"shapes/weapon_repair.dts":["shapes/weapon_repair.dts",["shapes.vl2"]],"shapes/weapon_shocklance.dts":["shapes/weapon_shocklance.dts",["shapes.vl2"]],"shapes/weapon_sniper.dts":["shapes/weapon_sniper.dts",["shapes.vl2"]],"shapes/weapon_targeting.dts":["shapes/weapon_targeting.dts",["shapes.vl2"]],"shapes/xmiscf.dts":["shapes/xmiscf.dts",["shapes.vl2"]],"shapes/xorg2.dts":["shapes/xorg2.dts",["shapes.vl2"]],"shapes/xorg20.dts":["shapes/xorg20.dts",["shapes.vl2"]],"shapes/xorg21.dts":["shapes/xorg21.dts",["shapes.vl2"]],"shapes/xorg3.dts":["shapes/xorg3.dts",["shapes.vl2"]],"shapes/xorg4.dts":["shapes/xorg4.dts",["shapes.vl2"]],"shapes/xorg5.dts":["shapes/xorg5.dts",["shapes.vl2"]],"support/bind_manager.cs":["support/bind_manager.cs",["z_scripts/support.vl2"]],"support/callback.cs":["support/callback.cs",["z_scripts/support.vl2"]],"support/circular_queue.cs":["support/circular_queue.cs",["z_scripts/support.vl2"]],"support/date_support.cs":["support/date_support.cs",["z_scripts/support.vl2"]],"support/docking_tools.cs":["support/docking_tools.cs",["z_scripts/support.vl2"]],"support/events.cs":["support/events.cs",["z_scripts/support.vl2"]],"support/file_tools.cs":["support/file_tools.cs",["z_scripts/support.vl2"]],"support/flag_tracker.cs":["support/flag_tracker.cs",["z_scripts/support.vl2"]],"support/flood_protect.cs":["support/flood_protect.cs",["z_scripts/support.vl2"]],"support/key_callbacks.cs":["support/key_callbacks.cs",["z_scripts/support.vl2"]],"support/kill_callbacks.cs":["support/kill_callbacks.cs",["z_scripts/support.vl2"]],"support/launch_menu.cs":["support/launch_menu.cs",["z_scripts/support.vl2"]],"support/list.cs":["support/list.cs",["z_scripts/support.vl2"]],"support/loadout.cs":["support/loadout.cs",["z_scripts/support.vl2"]],"support/map.cs":["support/map.cs",["z_scripts/support.vl2"]],"support/menu_system.cs":["support/menu_system.cs",["z_scripts/support.vl2"]],"support/mission_callbacks.cs":["support/mission_callbacks.cs",["z_scripts/support.vl2"]],"support/mute_tools.cs":["support/mute_tools.cs",["z_scripts/support.vl2"]],"support/object_tools.cs":["support/object_tools.cs",["z_scripts/support.vl2"]],"support/pjcolorselector.cs":["support/PJColorSelector.cs",["z_scripts/support.vl2"]],"support/pjenhancedrecording.cs":["support/PJEnhancedRecording.cs",["z_scripts/support.vl2"]],"support/pjfontselector.cs":["support/PJFontSelector.cs",["z_scripts/support.vl2"]],"support/player_support.cs":["support/player_support.cs",["z_scripts/support.vl2"]],"support/stat_support.cs":["support/stat_support.cs",["z_scripts/support.vl2"]],"support/string_tools.cs":["support/string_tools.cs",["z_scripts/support.vl2"]],"support/tap.cs":["support/tap.cs",["z_scripts/support.vl2"]],"support/team_tracker.cs":["support/team_tracker.cs",["z_scripts/support.vl2"]],"support/template_tools.cs":["support/template_tools.cs",["z_scripts/support.vl2"]],"support/tourney_mode.cs":["support/tourney_mode.cs",["z_scripts/support.vl2"]],"support/vector.cs":["support/vector.cs",["z_scripts/support.vl2"]],"support/vehicle_callbacks.cs":["support/vehicle_callbacks.cs",["z_scripts/support.vl2"]],"support/weapon_list.cs":["support/weapon_list.cs",["z_scripts/support.vl2"]],"t2csri/authconnect.cs":["t2csri/authconnect.cs",["T2csri.vl2"]],"t2csri/authinterface.cs":["t2csri/authinterface.cs",["T2csri.vl2"]],"t2csri/autoupdate.cs":["t2csri/autoupdate.cs",["T2csri.vl2"]],"t2csri/bans.cs":["t2csri/bans.cs",["T2csri.vl2"]],"t2csri/base64.cs":["t2csri/base64.cs",["T2csri.vl2"]],"t2csri/certstore.rb":["t2csri/certstore.rb",["T2csri.vl2"]],"t2csri/clientside.cs":["t2csri/clientSide.cs",["T2csri.vl2"]],"t2csri/clientsideclans.cs":["t2csri/clientSideClans.cs",["T2csri.vl2"]],"t2csri/crypto.rb":["t2csri/crypto.rb",["T2csri.vl2"]],"t2csri/glue.cs":["t2csri/glue.cs",["T2csri.vl2"]],"t2csri/ipv4.cs":["t2csri/ipv4.cs",["T2csri.vl2"]],"t2csri/rubyutils.cs":["t2csri/rubyUtils.cs",["T2csri.vl2"]],"t2csri/serverglue.cs":["t2csri/serverglue.cs",["T2csri.vl2"]],"t2csri/serverlist.cs":["t2csri/serverList.cs",["T2csri.vl2"]],"t2csri/serverside.cs":["t2csri/serverSide.cs",["T2csri.vl2"]],"t2csri/serversideclans.cs":["t2csri/serverSideClans.cs",["T2csri.vl2"]],"terrains/2arenadome.spn":["terrains/2ArenaDome.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/2arenavalley.spn":["terrains/2ArenaValley.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/2dustbowl.spn":["terrains/2DustBowl.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/2flyersarena.spn":["terrains/2Flyersarena.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/2icedome.spn":["terrains/2IceDome.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/2indoorintensity.spn":["terrains/2IndoorIntensity.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/aabaa.spn":["terrains/aabaa.spn",["z_mappacks/CTF/Aabaa.vl2"]],"terrains/aabaagh.spn":["terrains/aabaaGH.spn",["z_mappacks/CTF/AabaaGH.vl2"]],"terrains/aardvark_x2.spn":["terrains/Aardvark_x2.spn",["z_mappacks/xPack2.vl2"]],"terrains/aardvark_x2.ter":["terrains/Aardvark_x2.ter",["z_mappacks/xPack2.vl2"]],"terrains/abaddon_x2.spn":["terrains/Abaddon_x2.spn",["z_mappacks/xPack2.vl2"]],"terrains/abaddon_x2.ter":["terrains/Abaddon_x2.ter",["z_mappacks/xPack2.vl2"]],"terrains/abominable.spn":["terrains/Abominable.spn",["missions.vl2"]],"terrains/abominable.ter":["terrains/Abominable.ter",["missions.vl2"]],"terrains/acidrain.spn":["terrains/AcidRain.spn",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/acidrain.ter":["terrains/AcidRain.ter",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/aeroena.spn":["terrains/Aeroena.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/agentsoffortune.spn":["terrains/AgentsOfFortune.spn",["missions.vl2"]],"terrains/agentsoffortune.ter":["terrains/AgentsOfFortune.ter",["missions.vl2"]],"terrains/agorazscium.spn":["terrains/Agorazscium.spn",["z_mappacks/CTF/Agorazscium.vl2"]],"terrains/alcatraz.spn":["terrains/Alcatraz.spn",["missions.vl2"]],"terrains/alcatraz.ter":["terrains/Alcatraz.ter",["missions.vl2"]],"terrains/anabatic.spn":["terrains/anabatic.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/anabatic.ter":["terrains/anabatic.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/anomaly.spn":["terrains/anomaly.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/anomaly.ter":["terrains/anomaly.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/archipelago.spn":["terrains/Archipelago.spn",["missions.vl2"]],"terrains/archipelago.ter":["terrains/Archipelago.ter",["missions.vl2"]],"terrains/arenadome.spn":["terrains/ArenaDome.spn",["z_mappacks/CTF/ArenaDome.vl2"]],"terrains/arenadomedm.spn":["terrains/ArenaDomeDM.spn",["z_mappacks/DM/DMMaps.vl2"]],"terrains/arenaheaven.spn":["terrains/ArenaHeaven.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/arenahell.spn":["terrains/ArenaHell.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/arenahell2.spn":["terrains/ArenaHell2.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/arenainthehill.spn":["terrains/ArenaInTheHill.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/arenaunderthehill.spn":["terrains/ArenaUnderTheHill.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/arrowpass_x2.spn":["terrains/ArrowPass_x2.spn",["z_mappacks/xPack2.vl2"]],"terrains/arrowpass_x2.ter":["terrains/ArrowPass_x2.ter",["z_mappacks/xPack2.vl2"]],"terrains/aryoarena.spn":["terrains/AryoArena.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/ashestoashes.spn":["terrains/AshesToAshes.spn",["missions.vl2"]],"terrains/ashestoashes.ter":["terrains/AshesToAshes.ter",["missions.vl2"]],"terrains/astersdescent.spn":["terrains/AstersDescent.spn",["z_mappacks/CTF/AstersDescent.vl2"]],"terrains/astrograbber_x2.spn":["terrains/AstroGrabber_x2.spn",["z_mappacks/xPack2.vl2"]],"terrains/astrograbber_x2.ter":["terrains/AstroGrabber_x2.ter",["z_mappacks/xPack2.vl2"]],"terrains/attrition.spn":["terrains/Attrition.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/attrition.ter":["terrains/Attrition.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/attritionlt.spn":["terrains/AttritionLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/azoth.spn":["terrains/Azoth.spn",["z_mappacks/CTF/Azoth.vl2"]],"terrains/basatin.spn":["terrains/Basatin.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/basatin.ter":["terrains/Basatin.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/basatinlt.spn":["terrains/BasatinLT.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/basinfury.spn":["terrains/BasinFury.spn",["z_mappacks/CTF/BasinFury.vl2"]],"terrains/bastardforge.ter":["terrains/BastardForge.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/battlegrove.spn":["terrains/BattleGrove.spn",["z_mappacks/CTF/BattleGrove.vl2"]],"terrains/beachblitz_x2.spn":["terrains/BeachBlitz_x2.spn",["z_mappacks/xPack2.vl2"]],"terrains/beachblitz_x2.ter":["terrains/BeachBlitz_x2.ter",["z_mappacks/xPack2.vl2"]],"terrains/beggarsrun.spn":["terrains/BeggarsRun.spn",["missions.vl2"]],"terrains/beggarsrun.ter":["terrains/BeggarsRun.ter",["missions.vl2"]],"terrains/beggarsrunlt.spn":["terrains/BeggarsRunLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/berlard.spn":["terrains/berlard.spn",["z_mappacks/CTF/Berlard.vl2"]],"terrains/berylbasin.spn":["terrains/BerylBasin.spn",["z_mappacks/CTF/BerylBasin.vl2"]],"terrains/blastside_nef.spn":["terrains/Blastside_nef.spn",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/blink.spn":["terrains/Blink.spn",["z_mappacks/CTF/Blink.vl2"]],"terrains/bluemoon_x2.spn":["terrains/BlueMoon_x2.spn",["z_mappacks/xPack2.vl2"]],"terrains/bluemoon_x2.ter":["terrains/BlueMoon_x2.ter",["z_mappacks/xPack2.vl2"]],"terrains/bolderdash_x2.spn":["terrains/BolderDash_x2.spn",["z_mappacks/xPack2.vl2"]],"terrains/bolderdash_x2.ter":["terrains/BolderDash_x2.ter",["z_mappacks/xPack2.vl2"]],"terrains/bombardment.spn":["terrains/bombardment.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/bombardment.ter":["terrains/bombardment.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/bonespur.spn":["terrains/Bonespur.spn",["z_mappacks/CTF/Bonespur.vl2"]],"terrains/bonespurlt.spn":["terrains/BonespurLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/boss_x2.spn":["terrains/Boss_x2.spn",["z_mappacks/xPack2.vl2"]],"terrains/boss_x2.ter":["terrains/Boss_x2.ter",["z_mappacks/xPack2.vl2"]],"terrains/boxlak.spn":["terrains/BoxLak.spn",["z_mappacks/Lak/BoxLak.vl2"]],"terrains/bridgepoint.spn":["terrains/Bridgepoint.spn",["z_mappacks/CTF/Bridgepoint.vl2"]],"terrains/bridgetoofar.spn":["terrains/BridgeTooFar.spn",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"terrains/bridgetoofar.ter":["terrains/BridgeTooFar.ter",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"terrains/brigdm.spn":["terrains/BrigDM.spn",["z_mappacks/DM/DMMaps.vl2"]],"terrains/broadside_nef.spn":["terrains/Broadside_nef.spn",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/broadside_nef.ter":["terrains/Broadside_nef.ter",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/bruteforce_x2.spn":["terrains/BruteForce_x2.spn",["z_mappacks/xPack2.vl2"]],"terrains/bruteforce_x2.ter":["terrains/BruteForce_x2.ter",["z_mappacks/xPack2.vl2"]],"terrains/bulwark.spn":["terrains/Bulwark.spn",["z_mappacks/CTF/DiscordBulwark.vl2"]],"terrains/bulwarklt.spn":["terrains/BulwarkLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/bunkered.ter":["terrains/Bunkered.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/burstside.spn":["terrains/Burstside.spn",["z_mappacks/CTF/Burstside.vl2"]],"terrains/cadaver.spn":["terrains/Cadaver.spn",["z_mappacks/CTF/Cadaver.vl2"]],"terrains/caldera.spn":["terrains/Caldera.spn",["missions.vl2"]],"terrains/caldera.ter":["terrains/Caldera.ter",["missions.vl2"]],"terrains/camelland.spn":["terrains/Camelland.spn",["z_mappacks/CTF/Camelland.vl2"]],"terrains/camellandlt.spn":["terrains/CamellandLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/canyonrun_x2.spn":["terrains/Canyonrun_x2.spn",["z_mappacks/xPack2.vl2"]],"terrains/canyonrun_x2.ter":["terrains/Canyonrun_x2.ter",["z_mappacks/xPack2.vl2"]],"terrains/caprilt.spn":["terrains/CapriLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/cardiac.ter":["terrains/Cardiac.ter",["z_mappacks/CTF/S8maps.vl2"]],"terrains/casern_cavite.spn":["terrains/Casern_Cavite.spn",["missions.vl2"]],"terrains/casern_cavite.ter":["terrains/Casern_Cavite.ter",["missions.vl2"]],"terrains/catwalklt.spn":["terrains/CatwalkLT.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/ccd.ter":["terrains/CCD.ter",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/celerityse.ter":["terrains/CeleritySE.ter",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/chasmaclysmic.spn":["terrains/Chasmaclysmic.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/chasmaclysmic.ter":["terrains/Chasmaclysmic.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/chasmclash.spn":["terrains/ChasmClash.spn",["z_mappacks/CTF/ChasmClash.vl2"]],"terrains/checkmate.spn":["terrains/Checkmate.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/choke.spn":["terrains/Choke.spn",["z_mappacks/CTF/Choke.vl2"]],"terrains/cindercone.spn":["terrains/CinderCone.spn",["z_mappacks/CTF/119Mappack.vl2"]],"terrains/cinerarium.spn":["terrains/Cinerarium.spn",["z_mappacks/CTF/Cinerarium.vl2"]],"terrains/cinerarium.ter":["terrains/Cinerarium.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/cinereous.spn":["terrains/Cinereous.spn",["z_mappacks/CTF/Cinereous.vl2"]],"terrains/circleofstones.spn":["terrains/circleofstones.spn",["z_mappacks/CTF/CircleofStones.vl2"]],"terrains/circlesedge.spn":["terrains/CirclesEdge.spn",["z_mappacks/CTF/CirclesEdge.vl2"]],"terrains/circlesedgelt.spn":["terrains/CirclesEdgeLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/cloak.ter":["terrains/cloak.ter",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/cloakofnightv.spn":["terrains/CloakOfNightV.spn",["z_mappacks/CTF/CloakOfNightV.vl2"]],"terrains/closecombat.spn":["terrains/CloseCombat.spn",["z_mappacks/CTF/CloseCombat.vl2"]],"terrains/closecombatlt.spn":["terrains/CloseCombatLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/cloudburst.spn":["terrains/CloudBurst.spn",["z_mappacks/CTF/CloudBurst.vl2"]],"terrains/cloudcity.spn":["terrains/CloudCity.spn",["z_mappacks/CTF/CloudCity.vl2"]],"terrains/clusterunfuct.spn":["terrains/ClusterUnFuct.spn",["z_mappacks/CTF/ClusterUnFuct.vl2"]],"terrains/coconutfury.spn":["terrains/CoconutFury.spn",["z_mappacks/CTF/119Mappack.vl2"]],"terrains/compusa_melee.spn":["terrains/CompUSA_Melee.spn",["missions.vl2"]],"terrains/compusa_melee.ter":["terrains/CompUSA_Melee.ter",["missions.vl2"]],"terrains/confusco.spn":["terrains/Confusco.spn",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/confusco.ter":["terrains/Confusco.ter",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/constructionyard.spn":["terrains/ConstructionYard.spn",["z_mappacks/CTF/ConstructionYard.vl2"]],"terrains/coppera.ter":["terrains/Coppera.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/coppersky.spn":["terrains/Coppersky.spn",["z_mappacks/CTF/copper-sky.vl2"]],"terrains/crashclash.spn":["terrains/CrashClash.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/crater71.spn":["terrains/Crater71.spn",["TR2final105-client.vl2"]],"terrains/crater71.ter":["terrains/Crater71.ter",["z_mappacks/Lak/LakRabbit_Maps.vl2"],["TR2final105-client.vl2"]],"terrains/daftgulch.spn":["terrains/DaftGulch.spn",["z_mappacks/CTF/DaftGulch.vl2"]],"terrains/damnation.spn":["terrains/Damnation.spn",["missions.vl2"]],"terrains/damnation.ter":["terrains/Damnation.ter",["z_mappacks/Lak/LakRabbit_Maps.vl2"],["missions.vl2"]],"terrains/damnationlt.spn":["terrains/DamnationLT.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/damnationlt.ter":["terrains/damnationlt.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/damnationtdm.spn":["terrains/DamnationTDM.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/dangerouscrossing_nef.spn":["terrains/DangerousCrossing_nef.spn",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/dangerouscrossing_nef.ter":["terrains/DangerousCrossing_nef.ter",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/dangerouscrossingarena.spn":["terrains/DangerousCrossingArena.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/dangerouscrossinglt.spn":["terrains/DangerousCrossingLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/dangerousflinglt.spn":["terrains/DangerousFlingLT.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/dawntodusk.spn":["terrains/dawntodusk.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/dawntodusk.ter":["terrains/dawntodusk.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/dbs_smoothed.spn":["terrains/DBS_Smoothed.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/dbs_smoothed.ter":["terrains/DBS_Smoothed.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/deadlybirdssong_x2.spn":["terrains/DeadlyBirdsSong_x2.spn",["z_mappacks/xPack2.vl2"]],"terrains/deadlybirdssong_x2.ter":["terrains/DeadlyBirdsSong_x2.ter",["z_mappacks/xPack2.vl2"]],"terrains/deathbirdsfly.spn":["terrains/DeathBirdsFly.spn",["missions.vl2"]],"terrains/deathbirdsfly.ter":["terrains/DeathBirdsFly.ter",["missions.vl2"]],"terrains/deathbirdsfly1.spn":["terrains/DeathBirdsFly1.spn",["z_mappacks/CTF/DeadBirdsFly1.vl2"]],"terrains/dehswamp.spn":["terrains/DehSwamp.spn",["z_mappacks/CTF/DehSwamp.vl2"]],"terrains/dermcrossingdeluxe.spn":["terrains/DermCrossingDeluxe.spn",["z_mappacks/CTF/DermCrossingDeluxe.vl2"]],"terrains/dermcrossingdeluxelt.spn":["terrains/DermCrossingDeluxeLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/desertofdeath_nef.spn":["terrains/DesertofDeath_nef.spn",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/desertofdeath_nef.ter":["terrains/DesertofDeath_nef.ter",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"],["z_mappacks/Lak/LakRabbit_Maps.vl2"]],"terrains/desiccator.spn":["terrains/Desiccator.spn",["missions.vl2"]],"terrains/desiccator.ter":["terrains/Desiccator.ter",["missions.vl2"]],"terrains/devilselbow.spn":["terrains/DevilsElbow.spn",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"terrains/devilselbow.ter":["terrains/DevilsElbow.ter",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"terrains/dire.spn":["terrains/Dire.spn",["z_mappacks/CTF/KryMapPack_b3EDIT.vl2"]],"terrains/direlt.spn":["terrains/DireLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/discord.spn":["terrains/Discord.spn",["z_mappacks/CTF/DiscordBulwark.vl2"]],"terrains/discordlt.spn":["terrains/DiscordLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/disjointed.spn":["terrains/Disjointed.spn",["z_mappacks/CTF/KryMapPack_b3EDIT.vl2"]],"terrains/dmp_agroleon.spn":["terrains/DMP_Agroleon.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/dmp_astro.spn":["terrains/DMP_Astro.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/dmp_bastardforge.spn":["terrains/DMP_BastardForge.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/dmp_bastardforgelt.spn":["terrains/DMP_BastardForgeLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/dmp_bittergorge.spn":["terrains/DMP_BitterGorge.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/dmp_bunkered.spn":["terrains/DMP_Bunkered.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/dmp_bunkeredlt.spn":["terrains/DMP_BunkeredLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/dmp_cinerarium.spn":["terrains/DMP_Cinerarium.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/dmp_cinerariumlt.spn":["terrains/DMP_CinerariumLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/dmp_dermcity.spn":["terrains/DMP_DermCity.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/dmp_embers.spn":["terrains/DMP_Embers.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/dmp_emberslt.spn":["terrains/DMP_EmbersLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/dmp_emeraldspit.spn":["terrains/DMP_EmeraldSpit.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/dmp_facecrossing.spn":["terrains/DMP_FaceCrossing.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/dmp_hoth.spn":["terrains/DMP_Hoth.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/dmp_icegiant.spn":["terrains/DMP_IceGiant.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/dmp_isledebatalla.spn":["terrains/DMP_IsleDeBatalla.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/dmp_lavagods.spn":["terrains/DMP_LavaGods.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/dmp_magellan.spn":["terrains/DMP_Magellan.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/dmp_moondance.spn":["terrains/DMP_MoonDance.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/dmp_pantheon.spn":["terrains/DMP_Pantheon.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/dmp_pantheon.ter":["terrains/DMP_Pantheon.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/dmp_paranoia.spn":["terrains/DMP_Paranoia.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/dmp_pariah.spn":["terrains/DMP_Pariah.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/dmp_pariahlt.spn":["terrains/DMP_PariahLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/dmp_pipedream.spn":["terrains/DMP_PipeDream.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/dmp_ravinev.spn":["terrains/DMP_RavineV.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/dmp_scorchedearth.spn":["terrains/DMP_ScorchedEarth.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/dmp_simpleflagarena.spn":["terrains/DMP_SimpleFlagArena.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/dmp_spincycle.spn":["terrains/DMP_SpinCycle.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/dmp_spincyclelt.spn":["terrains/DMP_SpinCycleLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/dmp_starfall.spn":["terrains/DMP_StarFall.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/dmp_starfalllt.spn":["terrains/DMP_StarFallLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/dmp_tyre.spn":["terrains/DMP_Tyre.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/dmp_wasteland.spn":["terrains/DMP_Wasteland.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/draco.spn":["terrains/Draco.spn",["z_mappacks/CTF/Draco.vl2"]],"terrains/drafts.spn":["terrains/Drafts.spn",["z_mappacks/CTF/Drafts.vl2"]],"terrains/drifts_x2.spn":["terrains/Drifts_x2.spn",["z_mappacks/xPack2.vl2"]],"terrains/drifts_x2.ter":["terrains/Drifts_x2.ter",["z_mappacks/xPack2.vl2"]],"terrains/dropin.ter":["terrains/dropin.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/dropinlt.spn":["terrains/DropInLT.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/duelersdelight.spn":["terrains/DuelersDelight.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/dustlust.spn":["terrains/DustLust.spn",["z_mappacks/CTF/DustLust.vl2"]],"terrains/dusttodust.spn":["terrains/DustToDust.spn",["missions.vl2"]],"terrains/dusttodust.ter":["terrains/DustToDust.ter",["missions.vl2"]],"terrains/dx_badlands.spn":["terrains/DX_Badlands.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/dx_badlands.ter":["terrains/DX_Badlands.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/dx_desert.spn":["terrains/DX_Desert.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/dx_desert.ter":["terrains/DX_Desert.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/dx_ice.spn":["terrains/DX_Ice.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/dx_ice.ter":["terrains/DX_Ice.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/dx_icelt.spn":["terrains/DX_IceLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/dxfling.ter":["terrains/dxfling.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/eb_hades.spn":["terrains/EB_Hades.spn",["missions.vl2"]],"terrains/eb_hades.ter":["terrains/EB_Hades.ter",["missions.vl2"]],"terrains/einfach.spn":["terrains/Einfach.spn",["z_mappacks/CTF/Einfach.vl2"]],"terrains/eivoitoxico.spn":["terrains/EivoItoxico.spn",["z_mappacks/CTF/EivoItoxico.vl2"]],"terrains/el_fin.spn":["terrains/El_Fin.spn",["z_mappacks/CTF/El_Fin.vl2"]],"terrains/el_finlt.spn":["terrains/El_FinLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/embers.ter":["terrains/Embers.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/entombeddm.spn":["terrains/EntombedDM.spn",["z_mappacks/DM/DMMaps.vl2"]],"terrains/envyrena.spn":["terrains/Envyrena.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/enyland.spn":["terrains/EnyLand.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/equinox.spn":["terrains/Equinox.spn",["missions.vl2"]],"terrains/equinox.ter":["terrains/Equinox.ter",["missions.vl2"]],"terrains/erebus_x2.spn":["terrains/Erebus_x2.spn",["z_mappacks/xPack2.vl2"]],"terrains/erebus_x2.ter":["terrains/Erebus_x2.ter",["z_mappacks/xPack2.vl2"]],"terrains/escalade.spn":["terrains/Escalade.spn",["z_mappacks/Lak/EscaladeLak.vl2"],["missions.vl2"]],"terrains/escalade.ter":["terrains/Escalade.ter",["z_mappacks/Lak/EscaladeLak.vl2"],["missions.vl2"]],"terrains/euro4_bleed.ter":["terrains/Euro4_Bleed.ter",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/euro4_dissention.ter":["terrains/Euro4_Dissention.ter",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/euro4_frozenhope.ter":["terrains/Euro4_FrozenHope.ter",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/euro_drifts_se.ter":["terrains/Euro_Drifts_SE.ter",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/eveningland.spn":["terrains/EveningLand.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/ewok_hamlet.spn":["terrains/Ewok_Hamlet.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/ewok_hamlet.ter":["terrains/Ewok_Hamlet.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/ewok_village.spn":["terrains/Ewok_Village.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/ewok_village.ter":["terrains/Ewok_Village.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/exhumed.spn":["terrains/Exhumed.spn",["z_mappacks/CTF/Exhumed.vl2"]],"terrains/extra_badlands1.ter":["terrains/Extra_Badlands1.ter",["missions.vl2"]],"terrains/extractor.spn":["terrains/Extractor.spn",["z_mappacks/CTF/Extractor.vl2"]],"terrains/facingworlds.spn":["terrains/facingWorlds.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/facingworlds.ter":["terrains/facingWorlds.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/facingworldsarena.spn":["terrains/facingWorldsArena.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/facingworldslt.spn":["terrains/facingWorldsLT.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/fallout.spn":["terrains/Fallout.spn",["z_mappacks/CTF/Fallout.vl2"]],"terrains/fenix.spn":["terrains/Fenix.spn",["z_mappacks/CTF/Fenix.vl2"]],"terrains/filtereddust.spn":["terrains/FilteredDust.spn",["z_mappacks/CTF/FilteredDust.vl2"]],"terrains/fireballs_x2.spn":["terrains/Fireballs_x2.spn",["z_mappacks/xPack2.vl2"]],"terrains/fireballs_x2.ter":["terrains/FireBalls_x2.ter",["z_mappacks/xPack2.vl2"]],"terrains/firestorm.spn":["terrains/Firestorm.spn",["missions.vl2"]],"terrains/firestorm.ter":["terrains/Firestorm.ter",["missions.vl2"]],"terrains/firestormlt.spn":["terrains/FirestormLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/firn.spn":["terrains/firn.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/firn.ter":["terrains/firn.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/flashpoint.spn":["terrains/FlashPoint.spn",["missions.vl2"]],"terrains/flashpoint.ter":["terrains/Flashpoint.ter",["missions.vl2"]],"terrains/foursquaredm.spn":["terrains/FourSquareDM.spn",["z_mappacks/DM/DMMaps.vl2"]],"terrains/fracas.spn":["terrains/Fracas.spn",["missions.vl2"]],"terrains/fracas.ter":["terrains/Fracas.ter",["missions.vl2"]],"terrains/frostbite.spn":["terrains/FrostBite.spn",["z_mappacks/CTF/FrostBite.vl2"]],"terrains/frostline.spn":["terrains/frostline.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/frostline.ter":["terrains/frostline.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/frostpipe.spn":["terrains/FrostPipe.spn",["z_mappacks/CTF/FrostPipe.vl2"]],"terrains/frozenforgelt.spn":["terrains/FrozenForgeLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/frozenfury.spn":["terrains/FrozenFury.spn",["TR2final105-client.vl2"]],"terrains/frozenfury.ter":["terrains/FrozenFury.ter",["TR2final105-client.vl2"]],"terrains/frozenhope.spn":["terrains/FrozenHope.spn",["z_mappacks/CTF/FrozenHope.vl2"]],"terrains/frozenhopelt.spn":["terrains/FrozenHopeLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/frozennopelt.spn":["terrains/FrozenNopeLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/frozensolid.spn":["terrains/frozenSolid.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/frozensolid.ter":["terrains/frozenSolid.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/fullcircle.spn":["terrains/FullCircle.spn",["z_mappacks/CTF/KryMapPack_b3EDIT.vl2"]],"terrains/gauntlet.spn":["terrains/Gauntlet.spn",["missions.vl2"]],"terrains/gauntlet.ter":["terrains/Gauntlet.ter",["missions.vl2"]],"terrains/gehenna.spn":["terrains/Gehenna.spn",["missions.vl2"]],"terrains/gehenna.ter":["terrains/Gehenna.ter",["missions.vl2"]],"terrains/geothermal.ter":["terrains/Geothermal.ter",["z_mappacks/CTF/S8maps.vl2"]],"terrains/glade.spn":["terrains/Glade.spn",["z_mappacks/CTF/Glade.vl2"]],"terrains/godsrift.spn":["terrains/GodsRift.spn",["TR2final105-client.vl2"]],"terrains/godsrift.ter":["terrains/GodsRift.ter",["TR2final105-client.vl2"]],"terrains/gorgon.spn":["terrains/Gorgon.spn",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Gorgon.vl2"]],"terrains/gorgon.ter":["terrains/Gorgon.ter",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"],["z_mappacks/CTF/Gorgon.vl2"]],"terrains/gorgondm.spn":["terrains/GorgonDM.spn",["z_mappacks/DM/DMMaps.vl2"]],"terrains/grassyknolllt.spn":["terrains/GrassyKnollLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/greenlawn.spn":["terrains/GreenLawn.spn",["z_mappacks/CTF/GreenLawn.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/harvestdance.spn":["terrains/HarvestDance.spn",["z_mappacks/CTF/HarvestDance.vl2"]],"terrains/harvester_x2.spn":["terrains/Harvester_x2.spn",["z_mappacks/xPack2.vl2"]],"terrains/harvester_x2.ter":["terrains/Harvester_x2.ter",["z_mappacks/xPack2.vl2"]],"terrains/haven.spn":["terrains/Haven.spn",["TR2final105-client.vl2"]],"terrains/haven.ter":["terrains/Haven.ter",["z_mappacks/Lak/LakRabbit_Maps.vl2"],["TR2final105-client.vl2"]],"terrains/headstone.spn":["terrains/Headstone.spn",["z_mappacks/CTF/KryMapPack_b3EDIT.vl2"]],"terrains/heightfield/ctf.katabatic_heightfield.cs":["terrains/heightfield/CTF.Katabatic_heightfield.cs",["missions.vl2"]],"terrains/heightfield/ctf.riverdance_heightfield.cs":["terrains/heightfield/CTF.RiverDance_heightfield.cs",["missions.vl2"]],"terrains/heightfield/deathbirdsfly_heightfield.cs":["terrains/heightfield/DeathBirdsFly_heightfield.cs",["missions.vl2"]],"terrains/heightfield/desert.cs":["terrains/heightfield/desert.cs",["missions.vl2"]],"terrains/heightfield/einfach_heightfield.cs":["terrains/heightfield/Einfach_heightfield.cs",["z_mappacks/CTF/Einfach.vl2"]],"terrains/heightfield/fall_to_glory_heightfield.cs":["terrains/heightfield/Fall_To_Glory_heightfield.cs",["missions.vl2"]],"terrains/heightfield/glade_heightfield.cs":["terrains/heightfield/Glade_heightfield.cs",["z_mappacks/CTF/Glade.vl2"]],"terrains/heightfield/home.badlands_heightfield.cs":["terrains/heightfield/Home.Badlands_heightfield.cs",["missions.vl2"]],"terrains/heightfield/home.desert_heightfield.cs":["terrains/heightfield/Home.Desert_heightfield.cs",["missions.vl2"]],"terrains/heightfield/home.lush_heightfield.cs":["terrains/heightfield/Home.Lush_heightfield.cs",["missions.vl2"]],"terrains/heightfield/home.snow2_heightfield.cs":["terrains/heightfield/Home.Snow2_heightfield.cs",["missions.vl2"]],"terrains/heightfield/home.snow_heightfield.cs":["terrains/heightfield/Home.Snow_heightfield.cs",["missions.vl2"]],"terrains/heightfield/hunters.burnout_heightfield.cs":["terrains/heightfield/Hunters.Burnout_heightfield.cs",["missions.vl2"]],"terrains/heightfield/hunters.casern_cavite_heightfield.cs":["terrains/heightfield/Hunters.Casern_Cavite_heightfield.cs",["missions.vl2"]],"terrains/heightfield/hunters.chaopia_heightfield.cs":["terrains/heightfield/Hunters.Chaopia_heightfield.cs",["missions.vl2"]],"terrains/heightfield/hunters.intaglio_heightfield.cs":["terrains/heightfield/Hunters.Intaglio_heightfield.cs",["missions.vl2"]],"terrains/heightfield/hunters.myrkwood_heightfield.cs":["terrains/heightfield/Hunters.MyrkWood_heightfield.cs",["missions.vl2"]],"terrains/heightfield/hunters.rasp_heightfield.cs":["terrains/heightfield/Hunters.Rasp_heightfield.cs",["missions.vl2"]],"terrains/heightfield/hunters.sundried_heightfield.cs":["terrains/heightfield/Hunters.SunDried_heightfield.cs",["missions.vl2"]],"terrains/heightfield/logans_run_heightfield.cs":["terrains/heightfield/Logans_Run_heightfield.cs",["z_mappacks/CTF/LogansRun.vl2"]],"terrains/heightfield/lush.cs":["terrains/heightfield/Lush.cs",["missions.vl2"]],"terrains/heightfield/lush1.cs":["terrains/heightfield/Lush1.cs",["missions.vl2"]],"terrains/heightfield/lush2.cs":["terrains/heightfield/Lush2.cs",["missions.vl2"]],"terrains/heightfield/lush3.cs":["terrains/heightfield/Lush3.cs",["missions.vl2"]],"terrains/heightfield/lush4.cs":["terrains/heightfield/Lush4.cs",["missions.vl2"]],"terrains/heightfield/lush5.cs":["terrains/heightfield/Lush5.cs",["missions.vl2"]],"terrains/heightfield/lush8.cs":["terrains/heightfield/Lush8.cs",["missions.vl2"]],"terrains/heightfield/mark1_heightfield.cs":["terrains/heightfield/Mark1_heightfield.cs",["missions.vl2"]],"terrains/heightfield/myrkwoodmask.png":["terrains/heightfield/MyrkWoodMask.png",["missions.vl2"]],"terrains/heightfield/myrkwoodstream.png":["terrains/heightfield/MyrkWoodStream.png",["missions.vl2"]],"terrains/heightfield/newlava1_heightfield.cs":["terrains/heightfield/NewLava1_heightfield.cs",["missions.vl2"]],"terrains/heightfield/overreach_heightfield.cs":["terrains/heightfield/Overreach_heightfield.cs",["missions.vl2"]],"terrains/heightfield/reversion_heightfield.cs":["terrains/heightfield/Reversion_heightfield.cs",["missions.vl2"]],"terrains/heightfield/roads.cs":["terrains/heightfield/Roads.cs",["missions.vl2"]],"terrains/heightfield/rst_hawking.png":["terrains/heightfield/RST_hawking.png",["z_mappacks/CTF/S5maps.vl2"]],"terrains/heightfield/rst_hawkingheat.png":["terrains/heightfield/RST_hawkingheat.png",["z_mappacks/CTF/S5maps.vl2"]],"terrains/heightfield/rst_misadventure.png":["terrains/heightfield/RST_misadventure.png",["z_mappacks/CTF/S5maps.vl2"]],"terrains/heightfield/rst_reynard.png":["terrains/heightfield/RST_reynard.png",["z_mappacks/CTF/S5maps.vl2"]],"terrains/heightfield/rst_silenus.png":["terrains/heightfield/RST_silenus.png",["z_mappacks/CTF/S5maps.vl2"]],"terrains/heightfield/siege.gauntlet_heightfield.cs":["terrains/heightfield/Siege.Gauntlet_heightfield.cs",["missions.vl2"]],"terrains/heightfield/siege.icebound_heightfield.cs":["terrains/heightfield/Siege.IceBound_heightfield.cs",["missions.vl2"]],"terrains/heightfield/singleplayer.skiing_heightfield.cs":["terrains/heightfield/SinglePlayer.Skiing_heightfield.cs",["missions.vl2"]],"terrains/heightfield/sounds.mission1_heightfield.cs":["terrains/heightfield/Sounds.Mission1_heightfield.cs",["missions.vl2"]],"terrains/heightfield/sundriedmask.png":["terrains/heightfield/SunDriedMask.png",["missions.vl2"]],"terrains/heightfield/thinice_heightfield.cs":["terrains/heightfield/ThinIce_heightfield.cs",["missions.vl2"]],"terrains/heightfield/working.badlands1_heightfield.cs":["terrains/heightfield/Working.Badlands1_heightfield.cs",["missions.vl2"]],"terrains/heightfield/working.badlands2_heightfield.cs":["terrains/heightfield/Working.Badlands2_heightfield.cs",["missions.vl2"]],"terrains/heightfield/working.badlands3_heightfield.cs":["terrains/heightfield/Working.Badlands3_heightfield.cs",["missions.vl2"]],"terrains/heightfield/working.badlands4_heightfield.cs":["terrains/heightfield/Working.Badlands4_heightfield.cs",["missions.vl2"]],"terrains/heightfield/working.desert1_heightfield.cs":["terrains/heightfield/Working.Desert1_heightfield.cs",["missions.vl2"]],"terrains/heightfield/working.desert2_heightfield.cs":["terrains/heightfield/Working.Desert2_heightfield.cs",["missions.vl2"]],"terrains/heightfield/working.desert5_heightfield.cs":["terrains/heightfield/Working.Desert5_heightfield.cs",["missions.vl2"]],"terrains/heightfield/working.lush1_heightfield.cs":["terrains/heightfield/Working.Lush1_heightfield.cs",["missions.vl2"]],"terrains/heightfield/working.lush2_heightfield.cs":["terrains/heightfield/Working.Lush2_heightfield.cs",["missions.vl2"]],"terrains/helioarena.spn":["terrains/Helioarena.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/highanxiety.spn":["terrains/HighAnxiety.spn",["z_mappacks/CTF/HighAnxiety.vl2"]],"terrains/highoctane.spn":["terrains/HighOctane.spn",["z_mappacks/CTF/HighOctane.vl2"]],"terrains/hightrepidation.spn":["terrains/HighTrepidation.spn",["z_mappacks/CTF/HighTrepidation.vl2"]],"terrains/highwire.spn":["terrains/HighWire.spn",["z_mappacks/CTF/HighWire.vl2"]],"terrains/hildebrand.ter":["terrains/Hildebrand.ter",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/hillking.ter":["terrains/HillKing.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/hillkingctf.spn":["terrains/HillKingCTF.spn",["z_mappacks/CTF/HillKingCTF.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/hillkinglt.spn":["terrains/HillKingLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/hillside.spn":["terrains/Hillside.spn",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/hillside.ter":["terrains/Hillside.ter",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"],["z_mappacks/Lak/LakRabbit_Maps.vl2"]],"terrains/hillsidelt.spn":["terrains/HillSideLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/hillsofsorrow.spn":["terrains/HillsOfSorrow.spn",["z_mappacks/Lak/hills-sorrow .vl2"]],"terrains/hive.ter":["terrains/hive.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/hivelt.spn":["terrains/HiveLT.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/ho_badlands.spn":["terrains/HO_Badlands.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/ho_badlands.ter":["terrains/HO_Badlands.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/ho_desert.spn":["terrains/HO_Desert.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/ho_desert.ter":["terrains/HO_Desert.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/ho_ice.spn":["terrains/HO_Ice.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/ho_ice.ter":["terrains/HO_Ice.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/ho_lush.spn":["terrains/HO_Lush.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/ho_lush.ter":["terrains/HO_Lush.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/hogansrun24.spn":["terrains/HogansRun24.spn",["z_mappacks/CTF/HogansRun24.vl2"]],"terrains/hooftoedm.spn":["terrains/HoofToeDM.spn",["z_mappacks/DM/DMMaps.vl2"]],"terrains/horde.spn":["terrains/Horde.spn",["z_mappacks/CTF/Horde.vl2"]],"terrains/hostileloch.spn":["terrains/HostileLoch.spn",["z_mappacks/CTF/HostileLoch.vl2"]],"terrains/hostility.spn":["terrains/hostility.spn",["z_mappacks/CTF/hostility.vl2"]],"terrains/hoth.ter":["terrains/Hoth.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/hydroelectric_x2.spn":["terrains/HydroElectric_x2.spn",["z_mappacks/xPack2.vl2"]],"terrains/hydroelectric_x2.ter":["terrains/HydroElectric_x2.ter",["z_mappacks/xPack2.vl2"]],"terrains/icebound.spn":["terrains/IceBound.spn",["missions.vl2"]],"terrains/icebound.ter":["terrains/IceBound.ter",["missions.vl2"]],"terrains/icedagger.ter":["terrains/icedagger.ter",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/icedomedm.spn":["terrains/IceDomeDM.spn",["z_mappacks/DM/DMMaps.vl2"]],"terrains/icegiant.ter":["terrains/IceGiant.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/icegulch.spn":["terrains/IceGulch.spn",["z_mappacks/CTF/KryMapPack_b3EDIT.vl2"]],"terrains/icepick.spn":["terrains/IcePick.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/icepickm.spn":["terrains/IcePickM.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/icepickm.ter":["terrains/icepickm.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/iceridge_nef.spn":["terrains/IceRidge_nef.spn",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/iceridge_nef.ter":["terrains/IceRidge_nef.ter",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/infernosroar.spn":["terrains/infernosroar.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/infernosroar.ter":["terrains/infernosroar.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/infernus.spn":["terrains/Infernus.spn",["z_mappacks/CTF/Infernus.vl2"]],"terrains/innersanctum.spn":["terrains/InnerSanctum.spn",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"terrains/innersanctum.ter":["terrains/InnerSanctum.ter",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"terrains/insalubria.spn":["terrains/Insalubria.spn",["missions.vl2"]],"terrains/insalubria.ter":["terrains/Insalubria.ter",["missions.vl2"]],"terrains/insalubrius_x2.spn":["terrains/Insalubrius_x2.spn",["z_mappacks/xPack2.vl2"]],"terrains/insalubrius_x2.ter":["terrains/Insalubrius_x2.ter",["z_mappacks/xPack2.vl2"]],"terrains/insideout_x2.spn":["terrains/InsideOut_x2.spn",["z_mappacks/xPack2.vl2"]],"terrains/invictus.spn":["terrains/Invictus.spn",["missions.vl2"]],"terrains/invictus.ter":["terrains/Invictus.ter",["missions.vl2"]],"terrains/islahermano.spn":["terrains/IslaHermano.spn",["z_mappacks/CTF/IslaHermano.vl2"]],"terrains/island.spn":["terrains/Island.spn",["z_mappacks/CTF/Island.vl2"]],"terrains/isleofman.spn":["terrains/IsleOfMan.spn",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"terrains/isleofman.ter":["terrains/IsleOfMan.ter",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"terrains/ivehadworse.spn":["terrains/IveHadWorse.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/jacobsladder.spn":["terrains/JacobsLadder.spn",["missions.vl2"]],"terrains/jacobsladder.ter":["terrains/JacobsLadder.ter",["missions.vl2"]],"terrains/jadevalley.spn":["terrains/JadeValley.spn",["z_mappacks/CTF/KryMapPack_b3EDIT.vl2"]],"terrains/jaggedclaw.ter":["terrains/jaggedclaw.ter",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/jettisoned.spn":["terrains/Jettisoned.spn",["z_mappacks/CTF/Jettisoned.vl2"]],"terrains/katabatic.spn":["terrains/Katabatic.spn",["missions.vl2"]],"terrains/katabatic.ter":["terrains/Katabatic.ter",["missions.vl2"]],"terrains/katabatic_x2.spn":["terrains/Katabatic_x2.spn",["z_mappacks/xPack2.vl2"]],"terrains/katabatic_x2.ter":["terrains/Katabatic_x2.ter",["z_mappacks/xPack2.vl2"]],"terrains/kataminfernot.spn":["terrains/KataMInfernoT.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/kataminfernot.ter":["terrains/KataMInfernoT.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/katamstorm.spn":["terrains/KataMStorm.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/katamstormt.spn":["terrains/KataMStormT.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/katamstormt.ter":["terrains/KataMStormT.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/khalarena.spn":["terrains/Khalarena.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/ks_braistv.spn":["terrains/ks_braistv.spn",["z_mappacks/CTF/KS_BraisT_V.vl2"]],"terrains/lakefront.spn":["terrains/Lakefront.spn",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/lakefront.ter":["terrains/Lakefront.ter",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/landingparty.spn":["terrains/LandingParty.spn",["z_mappacks/CTF/LandingParty.vl2"]],"terrains/lapiths.spn":["terrains/Lapiths.spn",["z_mappacks/CTF/Lapiths.vl2"]],"terrains/lavagods.ter":["terrains/LavaGods.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/livebaitdm.spn":["terrains/LiveBaitDM.spn",["z_mappacks/DM/DMMaps.vl2"]],"terrains/logans_run.spn":["terrains/Logans_Run.spn",["z_mappacks/CTF/LogansRun.vl2"]],"terrains/mac_flagarena.spn":["terrains/Mac_FlagArena.spn",["z_mappacks/CTF/MachineheadsFlagArenaEDIT.vl2"]],"terrains/machineeggs.spn":["terrains/Machineeggs.spn",["z_mappacks/CTF/Machineeggs.vl2"]],"terrains/magellan.ter":["terrains/Magellan.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/magmatic.spn":["terrains/Magmatic.spn",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/magmatic.ter":["terrains/Magmatic.ter",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/mapassets.ter":["terrains/MapAssets.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/masada.spn":["terrains/Masada.spn",["missions.vl2"]],"terrains/masada.ter":["terrains/Masada.ter",["missions.vl2"]],"terrains/minisundried.spn":["terrains/MiniSunDried.spn",["z_mappacks/Lak/mini-sundried.vl2"]],"terrains/minotaur.spn":["terrains/Minotaur.spn",["missions.vl2"]],"terrains/minotaur.ter":["terrains/Minotaur.ter",["missions.vl2"]],"terrains/mirage.spn":["terrains/Mirage.spn",["z_mappacks/CTF/KryMapPack_b3EDIT.vl2"]],"terrains/misadventurev2.spn":["terrains/MisadventureV2.spn",["z_mappacks/CTF/MisadventureV2.vl2"]],"terrains/mmd.ter":["terrains/mmd.ter",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/moondance.spn":["terrains/MoonDance.spn",["z_mappacks/CTF/MoonDance.vl2"]],"terrains/moondance2.ter":["terrains/MoonDance2.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/moonwalk.spn":["terrains/Moonwalk.spn",["z_mappacks/CTF/Moonwalk.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/moonwalk.ter":["terrains/Moonwalk.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/moonwalklt.spn":["terrains/MoonwalkLT.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/morena.spn":["terrains/Morena.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/mountainmist.spn":["terrains/MountainMist.spn",["z_mappacks/CTF/KryMapPack_b3EDIT.vl2"]],"terrains/mountaintopmayhem.spn":["terrains/MountaintopMayhem.spn",["z_mappacks/CTF/MountaintopMayhem.vl2"]],"terrains/mountking.ter":["terrains/mountking.ter",["z_mappacks/CTF/S8maps.vl2"]],"terrains/mudside.spn":["terrains/Mudside.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/myrkwood.spn":["terrains/MyrkWood.spn",["missions.vl2"]],"terrains/myrkwood.ter":["terrains/MyrkWood.ter",["missions.vl2"]],"terrains/narcolepsy.spn":["terrains/Narcolepsy.spn",["z_mappacks/CTF/Narcolepsy.vl2"]],"terrains/narcolepsylt.spn":["terrains/NarcolepsyLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/naturemagic.spn":["terrains/NatureMagic.spn",["z_mappacks/CTF/Surro_StarIce_NatureMagic.vl2"]],"terrains/nightdance.spn":["terrains/Nightdance.spn",["z_mappacks/CTF/Nightdance.vl2"]],"terrains/nirvanalt.spn":["terrains/NirvanaLT.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/norty.spn":["terrains/Norty.spn",["z_mappacks/CTF/Norty.vl2"]],"terrains/norty.ter":["terrains/norty.ter",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/noshelter_x2.spn":["terrains/NoShelter_x2.spn",["z_mappacks/xPack2.vl2"]],"terrains/noshelter_x2.ter":["terrains/NoShelter_x2.ter",["z_mappacks/xPack2.vl2"]],"terrains/oasis.spn":["terrains/Oasis.spn",["missions.vl2"]],"terrains/oasis.ter":["terrains/Oasis.ter",["missions.vl2"]],"terrains/oasisintensity.spn":["terrains/oasisintensity.spn",["z_mappacks/CTF/oasisintensity.vl2"]],"terrains/obsidian.ter":["terrains/obsidian.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/obsidianlt.spn":["terrains/ObsidianLT.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/octane.ter":["terrains/Octane.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/octoberrust.spn":["terrains/octoberrust.spn",["z_mappacks/CTF/OctoberRust.vl2"]],"terrains/ocular.ter":["terrains/Ocular.ter",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/osirislt.spn":["terrains/OsIrisLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/outerwilds.spn":["terrains/OuterWilds.spn",["z_mappacks/CTF/OuterWilds.vl2"]],"terrains/overreach.spn":["terrains/Overreach.spn",["missions.vl2"]],"terrains/overreach.ter":["terrains/Overreach.ter",["missions.vl2"]],"terrains/pandemonium_x2.spn":["terrains/Pandemonium_x2.spn",["z_mappacks/xPack2.vl2"]],"terrains/pandemonium_x2.ter":["terrains/Pandemonium_x2.ter",["z_mappacks/xPack2.vl2"]],"terrains/pantheon.spn":["terrains/Pantheon.spn",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"terrains/pantheon.ter":["terrains/Pantheon.ter",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"terrains/pantheon_x2.spn":["terrains/Pantheon_x2.spn",["z_mappacks/xPack2.vl2"]],"terrains/pantheon_x2.ter":["terrains/Pantheon_x2.ter",["z_mappacks/xPack2.vl2"]],"terrains/paranoia.ter":["terrains/Paranoia.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/pariah.spn":["terrains/Pariah.spn",["z_mappacks/CTF/Pariah.vl2"]],"terrains/pariah.ter":["terrains/Pariah.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/pariah2.ter":["terrains/Pariah2.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/pariah_mirrored.spn":["terrains/Pariah_Mirrored.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/pariahlt.spn":["terrains/PariahLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/peak.spn":["terrains/Peak.spn",["z_mappacks/CTF/KryMapPack_b3EDIT.vl2"]],"terrains/pendulum.spn":["terrains/Pendulum.spn",["z_mappacks/CTF/KryMapPack_b3EDIT.vl2"]],"terrains/phasmadust.spn":["terrains/PhasmaDust.spn",["TR2final105-client.vl2"]],"terrains/phasmadust.ter":["terrains/PhasmaDust.ter",["TR2final105-client.vl2"]],"terrains/pipedreamlt.spn":["terrains/PipeDreamLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/pitsdm.spn":["terrains/PitsDM.spn",["z_mappacks/DM/DMMaps.vl2"]],"terrains/planetside.spn":["terrains/Planetside.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/planetx.spn":["terrains/PlanetX.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/planetx2.ter":["terrains/PlanetX2.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/prismatic.spn":["terrains/Prismatic.spn",["z_mappacks/CTF/Prismatic.vl2"]],"terrains/prizmaticlt.spn":["terrains/PrizmaticLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/proarena.spn":["terrains/ProArena.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/puliveivari.spn":["terrains/PuliVeivari.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/puliveivari.ter":["terrains/PuliVeivari.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/pyroclasm.spn":["terrains/Pyroclasm.spn",["missions.vl2"]],"terrains/pyroclasm.ter":["terrains/Pyroclasm.ter",["missions.vl2"]],"terrains/quagmire.spn":["terrains/Quagmire.spn",["missions.vl2"]],"terrains/quagmire.ter":["terrains/Quagmire.ter",["missions.vl2"]],"terrains/quagmire2.spn":["terrains/Quagmire2.spn",["z_mappacks/CTF/KryMapPack_b3EDIT.vl2"]],"terrains/quagmire_x2.spn":["terrains/Quagmire_x2.spn",["z_mappacks/xPack2.vl2"]],"terrains/quagmire_x2.ter":["terrains/Quagmire_x2.ter",["z_mappacks/xPack2.vl2"]],"terrains/raindance_nef.spn":["terrains/Raindance_nef.spn",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/raindance_nef.ter":["terrains/Raindance_nef.ter",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/raindancelt.spn":["terrains/RaindanceLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/ramparts.spn":["terrains/Ramparts.spn",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/ramparts.ter":["terrains/Ramparts.ter",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/rampartsdm.spn":["terrains/RampartsDM.spn",["z_mappacks/DM/DMMaps.vl2"]],"terrains/randomter1.ter":["terrains/RandomTer1.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/randomter10.ter":["terrains/RandomTer10.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/randomter2.ter":["terrains/RandomTer2.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/randomter3.ter":["terrains/RandomTer3.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/randomter4.ter":["terrains/RandomTer4.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/randomter5.ter":["terrains/RandomTer5.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/randomter6.ter":["terrains/RandomTer6.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/randomter7.ter":["terrains/RandomTer7.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/randomter8.ter":["terrains/RandomTer8.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/randomter9.ter":["terrains/RandomTer9.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/rasp.spn":["terrains/Rasp.spn",["missions.vl2"]],"terrains/rasp.ter":["terrains/Rasp.ter",["missions.vl2"]],"terrains/raspdm.spn":["terrains/RaspDM.spn",["z_mappacks/DM/DMMaps.vl2"]],"terrains/raspian.spn":["terrains/Raspian.spn",["z_mappacks/CTF/Raspian.vl2"]],"terrains/ravine.spn":["terrains/Ravine.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/ravine.ter":["terrains/Ravine.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/ravinelt.spn":["terrains/RavineLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/ravinev.ter":["terrains/RavineV.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/recalescence.spn":["terrains/Recalescence.spn",["missions.vl2"]],"terrains/recalescence.ter":["terrains/Recalescence.ter",["missions.vl2"]],"terrains/respite.spn":["terrains/Respite.spn",["missions.vl2"]],"terrains/respite.ter":["terrains/Respite.ter",["missions.vl2"]],"terrains/retrodct2.spn":["terrains/RetroDCT2.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/retrodct2.ter":["terrains/retroDCT2.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/retrodx.spn":["terrains/RetroDX.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/retrodx.ter":["terrains/retroDX.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/retrord.spn":["terrains/RetroRD.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/retrord.ter":["terrains/retroRD.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/retrordt2.spn":["terrains/RetroRDT2.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/retrordt2.ter":["terrains/retroRDT2.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/retrosb.spn":["terrains/RetroSB.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/retrosh.spn":["terrains/RetroSH.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/retrosh.ter":["terrains/retroSH.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/retrosht2.spn":["terrains/RetroSHT2.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/retrosht2.ter":["terrains/retroSHT2.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/retrosnowblind.ter":["terrains/retroSnowBlind.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/reversion.spn":["terrains/Reversion.spn",["missions.vl2"]],"terrains/reversion.ter":["terrains/Reversion.ter",["missions.vl2"]],"terrains/reversion_x2.spn":["terrains/Reversion_x2.spn",["z_mappacks/xPack2.vl2"]],"terrains/ridgerena.spn":["terrains/Ridgerena.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/rimehold.spn":["terrains/Rimehold.spn",["missions.vl2"]],"terrains/rimehold.ter":["terrains/Rimehold.ter",["missions.vl2"]],"terrains/ringoffiredm.spn":["terrains/RingofFireDM.spn",["z_mappacks/DM/RingofFireDM.vl2"]],"terrains/riverdance.spn":["terrains/RiverDance.spn",["missions.vl2"]],"terrains/riverdance.ter":["terrains/RiverDance.ter",["missions.vl2"]],"terrains/rollercoaster_nef.spn":["terrains/Rollercoaster_nef.spn",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/rollercoaster_nef.ter":["terrains/Rollercoaster_nef.ter",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/rollercoaster_nef_fz.spn":["terrains/Rollercoaster_nef_FZ.spn",["z_mappacks/CTF/Rollercoaster_nef_FZ.vl2"]],"terrains/roundthemountain.spn":["terrains/RoundTheMountain.spn",["z_mappacks/CTF/KryMapPack_b3EDIT.vl2"]],"terrains/roundthemountainlt.spn":["terrains/RoundTheMountainLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/rst_agroleon.ter":["terrains/rst_agroleon.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/rst_astro.ter":["terrains/rst_Astro.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/rst_bittergorge.ter":["terrains/rst_bittergorge.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/rst_crumpie.ter":["terrains/rst_crumpie.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/rst_dermcity.ter":["terrains/rst_dermcity.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/rst_facecrossing.ter":["terrains/rst_FaceCrossing.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/rst_isledebatalla.ter":["terrains/rst_isledebatalla.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/rst_scorchedearth.ter":["terrains/Rst_ScorchedEarth.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/rst_simpleflagarena.ter":["terrains/rst_SimpleFlagArena.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/rst_spit.ter":["terrains/rst_spit.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/ruined.spn":["terrains/Ruined.spn",["z_mappacks/CTF/Ruined.vl2"]],"terrains/runenmachtlt.spn":["terrains/RunenmachtLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/rush.spn":["terrains/Rush.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/rush.ter":["terrains/Rush.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/rushlt.spn":["terrains/RushLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/s5-icedance.ter":["terrains/S5-Icedance.ter",["z_mappacks/CTF/S5maps.vl2"]],"terrains/s5-massive.ter":["terrains/S5-massive.ter",["z_mappacks/CTF/S5maps.vl2"]],"terrains/s5-mordacity.ter":["terrains/S5-Mordacity.ter",["z_mappacks/CTF/S5maps.vl2"]],"terrains/s5_centaur.spn":["terrains/S5_Centaur.spn",["z_mappacks/CTF/S5maps.vl2"]],"terrains/s5_centaur.ter":["terrains/S5_Centaur.ter",["z_mappacks/CTF/S5maps.vl2"]],"terrains/s5_damnation.spn":["terrains/S5_Damnation.spn",["z_mappacks/CTF/S5maps.vl2"]],"terrains/s5_damnationlt.spn":["terrains/S5_DamnationLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/s5_drache.spn":["terrains/S5_Drache.spn",["z_mappacks/CTF/S5maps.vl2"]],"terrains/s5_drache.ter":["terrains/S5_Drache.ter",["z_mappacks/CTF/S5maps.vl2"]],"terrains/s5_hawkingheat.spn":["terrains/S5_HawkingHeat.spn",["z_mappacks/CTF/S5maps.vl2"]],"terrains/s5_icedance.spn":["terrains/S5_Icedance.spn",["z_mappacks/CTF/S5maps.vl2"]],"terrains/s5_icedance.ter":["terrains/S5_Icedance.ter",["z_mappacks/CTF/S5maps.vl2"]],"terrains/s5_massive.spn":["terrains/S5_Massive.spn",["z_mappacks/CTF/S5maps.vl2"]],"terrains/s5_massive.ter":["terrains/S5_massive.ter",["z_mappacks/CTF/S5maps.vl2"]],"terrains/s5_massivelt.spn":["terrains/S5_MassiveLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/s5_mimicry.spn":["terrains/S5_Mimicry.spn",["z_mappacks/CTF/S5maps.vl2"]],"terrains/s5_misadventure.spn":["terrains/S5_Misadventure.spn",["z_mappacks/CTF/S5maps.vl2"]],"terrains/s5_mordacity.spn":["terrains/S5_Mordacity.spn",["z_mappacks/CTF/S5maps.vl2"]],"terrains/s5_mordacity.ter":["terrains/S5_Mordacity.ter",["z_mappacks/CTF/S5maps.vl2"]],"terrains/s5_pipedream.spn":["terrains/S5_PipeDream.spn",["z_mappacks/CTF/S5maps.vl2"]],"terrains/s5_reynard.spn":["terrains/S5_Reynard.spn",["z_mappacks/CTF/S5maps.vl2"]],"terrains/s5_rst_hawkingheat.ter":["terrains/S5_rst_hawkingheat.ter",["z_mappacks/CTF/S5maps.vl2"]],"terrains/s5_rst_misadventure.ter":["terrains/S5_rst_misadventure.ter",["z_mappacks/CTF/S5maps.vl2"]],"terrains/s5_rst_reynard.ter":["terrains/S5_rst_reynard.ter",["z_mappacks/CTF/S5maps.vl2"]],"terrains/s5_rst_silenus.ter":["terrains/S5_rst_silenus.ter",["z_mappacks/CTF/S5maps.vl2"]],"terrains/s5_sherman.spn":["terrains/S5_Sherman.spn",["z_mappacks/CTF/S5maps.vl2"]],"terrains/s5_sherman.ter":["terrains/S5_Sherman.ter",["z_mappacks/CTF/S5maps.vl2"]],"terrains/s5_silenus.spn":["terrains/S5_Silenus.spn",["z_mappacks/CTF/S5maps.vl2"]],"terrains/s5_silenuslt.spn":["terrains/S5_SilenusLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/s5_woodymyrk.spn":["terrains/S5_WoodyMyrk.spn",["z_mappacks/CTF/S5maps.vl2"]],"terrains/s8_cardiac.spn":["terrains/s8_Cardiac.spn",["z_mappacks/CTF/S8maps.vl2"]],"terrains/s8_geothermal.spn":["terrains/S8_Geothermal.spn",["z_mappacks/CTF/S8maps.vl2"]],"terrains/s8_mountking.spn":["terrains/S8_Mountking.spn",["z_mappacks/CTF/S8maps.vl2"]],"terrains/s8_opus.spn":["terrains/S8_Opus.spn",["z_mappacks/CTF/S8maps.vl2"]],"terrains/s8_rst_dogma.ter":["terrains/S8_rst_dogma.ter",["z_mappacks/CTF/S8maps.vl2"]],"terrains/s8_rst_opus.ter":["terrains/S8_rst_opus.ter",["z_mappacks/CTF/S8maps.vl2"]],"terrains/s8_zilch.spn":["terrains/S8_Zilch.spn",["z_mappacks/CTF/S8maps.vl2"]],"terrains/s8_zilch.ter":["terrains/S8_zilch.ter",["z_mappacks/CTF/S8maps.vl2"]],"terrains/s8_zilchlt.spn":["terrains/S8_ZilchLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/sanctuary.spn":["terrains/Sanctuary.spn",["missions.vl2"]],"terrains/sanctuary.ter":["terrains/Sanctuary.ter",["missions.vl2"]],"terrains/sandocean.spn":["terrains/SandOcean.spn",["z_mappacks/CTF/SandOcean.vl2"]],"terrains/sandstorm.spn":["terrains/Sandstorm.spn",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/sandstorm.ter":["terrains/Sandstorm.ter",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/sandyrunlt.spn":["terrains/SandyRunLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/sangre_de_grado.spn":["terrains/Sangre_de_Grado.spn",["z_mappacks/CTF/Sangre_de_Grado.vl2"]],"terrains/sc_badlands.spn":["terrains/SC_Badlands.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/sc_badlands.ter":["terrains/SC_Badlands.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/sc_desert.spn":["terrains/SC_Desert.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/sc_desert.ter":["terrains/SC_Desert.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/sc_ice.spn":["terrains/SC_Ice.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/sc_ice.ter":["terrains/SC_Ice.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/sc_lush.spn":["terrains/SC_Lush.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/sc_lush.ter":["terrains/SC_Lush.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/sc_night.spn":["terrains/SC_Night.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/sc_night.ter":["terrains/SC_Night.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/sc_normal.spn":["terrains/SC_Normal.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/sc_normal.ter":["terrains/SC_Normal.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/scarabrae_nef.spn":["terrains/Scarabrae_nef.spn",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/scarabrae_nef.ter":["terrains/Scarabrae_nef.ter",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/sector1.spn":["terrains/Sector1.spn",["z_mappacks/CTF/119Mappack.vl2"]],"terrains/sentry.spn":["terrains/Sentry.spn",["z_mappacks/CTF/Sentry.vl2"]],"terrains/shadow.spn":["terrains/Shadow.spn",["z_mappacks/CTF/KryMapPack_b3EDIT.vl2"]],"terrains/shockridge.spn":["terrains/ShockRidge.spn",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/shockridge.ter":["terrains/ShockRidge.ter",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/shortfall.spn":["terrains/Shortfall.spn",["z_mappacks/CTF/ShortFall.vl2"]],"terrains/shrinearena.spn":["terrains/ShrineArena.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/shrinearenaii.spn":["terrains/ShrineArenaII.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/shrinedm.spn":["terrains/ShrineDM.spn",["z_mappacks/DM/DMMaps.vl2"]],"terrains/sidewinder.spn":["terrains/SideWinder.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/sidewinder.ter":["terrains/SideWinder.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/signal.spn":["terrains/Signal.spn",["z_mappacks/CTF/Signal.vl2"]],"terrains/signaldx.spn":["terrains/SignalDX.spn",["z_mappacks/CTF/SignalDX.vl2"]],"terrains/signallt.spn":["terrains/SignalLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/sirocco.spn":["terrains/Sirocco.spn",["missions.vl2"]],"terrains/sirocco.ter":["terrains/Sirocco.ter",["missions.vl2"]],"terrains/skinnydip.spn":["terrains/SkinnyDip.spn",["TR2final105-client.vl2"]],"terrains/skinnydip.ter":["terrains/SkinnyDip.ter",["z_mappacks/Lak/LakRabbit_Maps.vl2"],["TR2final105-client.vl2"]],"terrains/slamnation.spn":["terrains/Slamnation.spn",["z_mappacks/CTF/119Mappack.vl2"]],"terrains/slapdash.spn":["terrains/SlapDash.spn",["missions.vl2"]],"terrains/slapdash.ter":["terrains/Slapdash.ter",["missions.vl2"]],"terrains/slapdash_x2.spn":["terrains/Slapdash_x2.spn",["z_mappacks/xPack2.vl2"]],"terrains/slapdash_x2.ter":["terrains/Slapdash_x2.ter",["z_mappacks/xPack2.vl2"]],"terrains/slapdashmi.ter":["terrains/slapdashMI.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/slapdashminferno.spn":["terrains/slapdashMInferno.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/slapdashms.ter":["terrains/slapdashMS.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/slapdashmstorm.spn":["terrains/slapdashMStorm.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/smallcrossing.spn":["terrains/SmallCrossing.spn",["z_mappacks/CTF/SmallCrossing.vl2"]],"terrains/smallcrossinglt.spn":["terrains/SmallCrossingLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/smalldesertofdeath.spn":["terrains/SmallDesertofDeath.spn",["z_mappacks/CTF/SmallDesertofDeath.vl2"]],"terrains/smallmelee.spn":["terrains/SmallMelee.spn",["z_mappacks/CTF/SmallMelee.vl2"]],"terrains/smallspit.spn":["terrains/SmallSpit.spn",["z_mappacks/CTF/SmallSpit.vl2"]],"terrains/smallspitlt.spn":["terrains/SmallSpitLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/smalltimectf.spn":["terrains/SmallTimeCTF.spn",["z_mappacks/CTF/SmallTimeCTF.vl2"]],"terrains/smalltimelt.spn":["terrains/SmallTimeLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/smog_x2.spn":["terrains/Smog_x2.spn",["z_mappacks/xPack2.vl2"]],"terrains/smog_x2.ter":["terrains/Smog_x2.ter",["z_mappacks/xPack2.vl2"]],"terrains/smogarena.spn":["terrains/SmogArena.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/snowblind_nef.spn":["terrains/Snowblind_nef.spn",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/snowblind_nef.ter":["terrains/Snowblind_nef.ter",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/snowbound.spn":["terrains/SnowBound.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/snowcone.spn":["terrains/Snowcone.spn",["z_mappacks/CTF/KryMapPack_b3EDIT.vl2"]],"terrains/soccerland.spn":["terrains/SoccerLand.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/solsdescent.spn":["terrains/SolsDescent.spn",["TR2final105-client.vl2"]],"terrains/solsdescent.ter":["terrains/SolsDescent.ter",["z_mappacks/Lak/LakRabbit_Maps.vl2"],["TR2final105-client.vl2"]],"terrains/soylentgreen.spn":["terrains/SoylentGreen.spn",["z_mappacks/CTF/SoylentGreen.vl2"]],"terrains/spacewalk.spn":["terrains/Spacewalk.spn",["z_mappacks/CTF/Spacewalk.vl2"]],"terrains/spincycle.ter":["terrains/SpinCycle.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/spyland.spn":["terrains/SpyLand.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/starfallctf.spn":["terrains/StarFallCTF.spn",["z_mappacks/CTF/StarFallCTF.vl2"]],"terrains/starfallctf2.ter":["terrains/StarFallCTF2.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/starfallen.spn":["terrains/Starfallen.spn",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/starfallen.ter":["terrains/Starfallen.ter",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/starice.spn":["terrains/starice.spn",["z_mappacks/CTF/Surro_StarIce_NatureMagic.vl2"]],"terrains/stonehenge_arena.spn":["terrains/Stonehenge_Arena.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/stonehenge_nef.spn":["terrains/Stonehenge_nef.spn",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/stonehenge_nef.ter":["terrains/Stonehenge_nef.ter",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/stormsrage.spn":["terrains/stormsrage.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/stormsrage.ter":["terrains/stormsrage.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/stripmine.spn":["terrains/Stripmine.spn",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/stripmine_x2.spn":["terrains/Stripmine_x2.spn",["z_mappacks/xPack2.vl2"]],"terrains/stripmine_x2.ter":["terrains/Stripmine_x2.ter",["z_mappacks/xPack2.vl2"]],"terrains/subzero.spn":["terrains/SubZero.spn",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/subzero.ter":["terrains/SubZero.ter",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/subzerov.spn":["terrains/SubzeroV.spn",["z_mappacks/CTF/TitanV-SubZeroV.vl2"]],"terrains/sundried.spn":["terrains/SunDried.spn",["missions.vl2"]],"terrains/sundried.ter":["terrains/SunDried.ter",["missions.vl2"]],"terrains/superhappybouncyfuntime.spn":["terrains/SuperHappyBouncyFunTime.spn",["z_mappacks/CTF/SuperHappyBouncyFunTime.vl2"]],"terrains/superiorwaterworks.spn":["terrains/SuperiorWaterworks.spn",["z_mappacks/CTF/SuperiorWaterworks.vl2"]],"terrains/surreal.spn":["terrains/Surreal.spn",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/surreal.ter":["terrains/Surreal.ter",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/surreallt.spn":["terrains/SurrealLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/surro.spn":["terrains/Surro.spn",["z_mappacks/CTF/Surro_StarIce_NatureMagic.vl2"]],"terrains/talus.spn":["terrains/Talus.spn",["missions.vl2"]],"terrains/talus.ter":["terrains/Talus.ter",["missions.vl2"]],"terrains/templetussleversion2.spn":["terrains/TempleTussleVersion2.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/tenebrous.spn":["terrains/Tenebrous.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/tenebrousctf.spn":["terrains/TenebrousCTF.spn",["z_mappacks/CTF/KryMapPack_b3EDIT.vl2"]],"terrains/texture/deathbirdsfly_texture.cs":["terrains/texture/DeathBirdsFly_texture.cs",["missions.vl2"]],"terrains/texture/mark1_texture.cs":["terrains/texture/Mark1_texture.cs",["missions.vl2"]],"terrains/texture/newdesert1_texture.cs":["terrains/texture/NewDesert1_texture.cs",["missions.vl2"]],"terrains/texture/newdesert2_texture.cs":["terrains/texture/NewDesert2_texture.cs",["missions.vl2"]],"terrains/texture/newdesert3_texture.cs":["terrains/texture/NewDesert3_texture.cs",["missions.vl2"]],"terrains/texture/newlava1_texture.cs":["terrains/texture/NewLava1_texture.cs",["missions.vl2"]],"terrains/texture/newlava2_texture.cs":["terrains/texture/NewLava2_texture.cs",["missions.vl2"]],"terrains/texture/newlush1_texture.cs":["terrains/texture/NewLush1_texture.cs",["missions.vl2"]],"terrains/texture/newlush2_texture.cs":["terrains/texture/NewLush2_texture.cs",["missions.vl2"]],"terrains/texture/newlush3_texture.cs":["terrains/texture/NewLush3_texture.cs",["missions.vl2"]],"terrains/texture/newsnow1_texture.cs":["terrains/texture/NewSnow1_texture.cs",["missions.vl2"]],"terrains/texture/newsnow2_texture.cs":["terrains/texture/NewSnow2_texture.cs",["missions.vl2"]],"terrains/texture/newsnow3_textures.cs":["terrains/texture/NewSnow3_textures.cs",["missions.vl2"]],"terrains/texture/newsnowygrass_texture.cs":["terrains/texture/NewSnowyGrass_texture.cs",["missions.vl2"]],"terrains/texture/overreach_texture.cs":["terrains/texture/Overreach_texture.cs",["missions.vl2"]],"terrains/texture/reversion_texture.cs":["terrains/texture/Reversion_texture.cs",["missions.vl2"]],"terrains/texture/sounds.mission1_texture.cs":["terrains/texture/Sounds.Mission1_texture.cs",["missions.vl2"]],"terrains/texture/thinice_texture.cs":["terrains/texture/ThinIce_texture.cs",["missions.vl2"]],"terrains/the_calm.spn":["terrains/The_Calm.spn",["z_mappacks/CTF/The_Calm.vl2"]],"terrains/theclocktower.spn":["terrains/TheClocktower.spn",["z_mappacks/CTF/TheClocktower.vl2"]],"terrains/thefray.spn":["terrains/TheFray.spn",["z_mappacks/CTF/KryMapPack_b3EDIT.vl2"]],"terrains/thinice.spn":["terrains/ThinIce.spn",["missions.vl2"]],"terrains/thinice.ter":["terrains/ThinIce.ter",["missions.vl2"]],"terrains/thundergiant_x2.spn":["terrains/ThunderGiant_x2.spn",["z_mappacks/xPack2.vl2"]],"terrains/thundergiant_x2.ter":["terrains/ThunderGiant_x2.ter",["z_mappacks/xPack2.vl2"]],"terrains/titan.spn":["terrains/Titan.spn",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/titan.ter":["terrains/Titan.ter",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"],["z_mappacks/Lak/LakRabbit_Maps.vl2"]],"terrains/titanv.spn":["terrains/TitanV.spn",["z_mappacks/CTF/TitanV-SubZeroV.vl2"]],"terrains/titfortat.spn":["terrains/TitForTat.spn",["z_mappacks/CTF/TitForTat.vl2"]],"terrains/tl_drorck.ter":["terrains/TL_Drorck.ter",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/tl_magnum.ter":["terrains/TL_Magnum.ter",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/tl_muddyswamp.ter":["terrains/TL_MuddySwamp.ter",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/tl_roughland.ter":["terrains/TL_RoughLand.ter",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/tl_skylight.ter":["terrains/TL_Skylight.ter",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/tombstone.spn":["terrains/Tombstone.spn",["missions.vl2"]],"terrains/tombstone.ter":["terrains/Tombstone.ter",["missions.vl2"]],"terrains/tombstone_x2.spn":["terrains/Tombstone_x2.spn",["z_mappacks/xPack2.vl2"]],"terrains/tombstone_x2.ter":["terrains/Tombstone_x2.ter",["z_mappacks/xPack2.vl2"]],"terrains/training1.ter":["terrains/Training1.ter",["missions.vl2"]],"terrains/training2.ter":["terrains/Training2.ter",["missions.vl2"]],"terrains/training3.ter":["terrains/Training3.ter",["missions.vl2"]],"terrains/training4.ter":["terrains/Training4.ter",["missions.vl2"]],"terrains/training5.ter":["terrains/Training5.ter",["missions.vl2"]],"terrains/treasureisland.spn":["terrains/TreasureIsland.spn",["TR2final105-client.vl2"]],"terrains/treasureisland.ter":["terrains/TreasureIsland.ter",["z_mappacks/Lak/LakRabbit_Maps.vl2"],["TR2final105-client.vl2"]],"terrains/triad.spn":["terrains/Triad.spn",["z_mappacks/CTF/Triad.vl2"]],"terrains/trident.spn":["terrains/Trident.spn",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"terrains/trident.ter":["terrains/Trident.ter",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"terrains/truegrit.spn":["terrains/TrueGrit.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/tusk.ter":["terrains/tusk.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/tusklt.spn":["terrains/TuskLT.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/twilightgrovelt.spn":["terrains/TwilightGroveLT.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/twilightgrovelt.ter":["terrains/TwilightGroveLT.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/twindrakes.spn":["terrains/twinDrakes.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/twindrakes.ter":["terrains/twinDrakes.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/twintorrents.ter":["terrains/TwinTorrents.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/twintorrentsccw.spn":["terrains/TwinTorrentsCCW.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/twintorrentscw.spn":["terrains/TwinTorrentsCW.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/twl-abaddon.ter":["terrains/TWL-Abaddon.ter",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl-banshee.ter":["terrains/TWL-BaNsHee.ter",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl-beachblitz.ter":["terrains/TWL-BeachBlitz.ter",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl-beggarsrun.ter":["terrains/TWL-BeggarsRun.ter",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl-bluemoon.ter":["terrains/TWL-BlueMoon.ter",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/twl-boss.ter":["terrains/TWL-Boss.ter",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl-chokepoint.ter":["terrains/TWL-Chokepoint.ter",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl-cinereous.ter":["terrains/TWL-Cinereous.ter",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl-clusterfuct.ter":["terrains/TWL-Clusterfuct.ter",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl-curtilage.ter":["terrains/TWL-Curtilage.ter",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl-damnation.ter":["terrains/TWL-Damnation.ter",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl-deadlybirdssong.ter":["terrains/TWL-DeadlyBirdsSong.ter",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl-deserted.ter":["terrains/TWL-Deserted.ter",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl-desiccator.ter":["terrains/TWL-Desiccator.ter",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl-drifts.ter":["terrains/TWL-Drifts.ter",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl-euro_feign.ter":["terrains/TWL-Euro_Feign.ter",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl-frostclaw.ter":["terrains/TWL-Frostclaw.ter",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl-frozen.ter":["terrains/TWL-Frozen.ter",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl-harvester.ter":["terrains/TWL-Harvester.ter",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl-horde.ter":["terrains/TWL-Horde.ter",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl-katabatic.ter":["terrains/TWL-Katabatic.ter",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl-neve.ter":["terrains/TWL-Neve.ter",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl-noshelter.ter":["terrains/TWL-NoShelter.ter",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl-os_iris.ter":["terrains/TWL-Os_Iris.ter",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl-pandemonium.ter":["terrains/TWL-Pandemonium.ter",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl-runenmacht.ter":["terrains/TWL-Runenmacht.ter",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl-slapdash.ter":["terrains/TWL-Slapdash.ter",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl-subzero.ter":["terrains/TWL-SubZero.ter",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl-wilderzone.ter":["terrains/TWL-WilderZone.ter",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl-woodymyrk.ter":["terrains/TWL-WoodyMyrk.ter",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl2_bleed.spn":["terrains/TWL2_Bleed.spn",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/twl2_bluemoon.spn":["terrains/TWL2_BlueMoon.spn",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/twl2_canyoncrusadedeluxe.spn":["terrains/TWL2_CanyonCrusadeDeluxe.spn",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/twl2_canyoncrusadedeluxelt.spn":["terrains/TWL2_CanyonCrusadeDeluxeLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/twl2_celerity.spn":["terrains/TWL2_Celerity.spn",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/twl2_celeritylt.spn":["terrains/TWL2_CelerityLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/twl2_cloakofnight.spn":["terrains/TWL2_CloakOfNight.spn",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/twl2_crevice.spn":["terrains/TWL2_Crevice.spn",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/twl2_crevice.ter":["terrains/TWL2_Crevice.ter",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/twl2_dissention.spn":["terrains/TWL2_Dissention.spn",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/twl2_drifts.spn":["terrains/TWL2_Drifts.spn",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/twl2_drorck.spn":["terrains/TWL2_Drorck.spn",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/twl2_frozenglory.spn":["terrains/TWL2_FrozenGlory.spn",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/twl2_frozenglory.ter":["terrains/TWL2_Frozenglory.ter",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/twl2_frozenhope.spn":["terrains/TWL2_FrozenHope.spn",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/twl2_hildebrand.spn":["terrains/TWL2_Hildebrand.spn",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/twl2_hildebrandlt.spn":["terrains/TWL2_HildebrandLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/twl2_icedagger.spn":["terrains/TWL2_IceDagger.spn",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/twl2_jaggedclaw.spn":["terrains/TWL2_JaggedClaw.spn",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/twl2_jaggedclawlt.spn":["terrains/TWL2_JaggedClawLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/twl2_magnum.spn":["terrains/TWL2_Magnum.spn",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/twl2_midnightmayhemdeluxe.spn":["terrains/TWL2_MidnightMayhemDeluxe.spn",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/twl2_muddyswamp.spn":["terrains/TWL2_MuddySwamp.spn",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/twl2_norty.spn":["terrains/TWL2_Norty.spn",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/twl2_ocular.spn":["terrains/TWL2_Ocular.spn",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/twl2_roughland.spn":["terrains/TWL2_RoughLand.spn",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/twl2_ruined.spn":["terrains/TWL2_Ruined.spn",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/twl2_ruined.ter":["terrains/TWL2_Ruined.ter",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/twl2_skylight.spn":["terrains/TWL2_Skylight.spn",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/twl2_skylightlt.spn":["terrains/TWL2_SkylightLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/twl2_woodymyrk.spn":["terrains/TWL2_WoodyMyrk.spn",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/twl_abaddon.spn":["terrains/TWL_Abaddon.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_banshee.spn":["terrains/TWL_BaNsHee.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_beachblitz.spn":["terrains/TWL_BeachBlitz.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_beachblitzlt.spn":["terrains/TWL_BeachBlitzLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/twl_beachblitzm.spn":["terrains/TWL_BeachBlitzM.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/twl_beachblitzm.ter":["terrains/TWL_BeachBlitzM.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/twl_beachblitzmlt.spn":["terrains/TWL_BeachBlitzMLT.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/twl_beggarsrun.spn":["terrains/TWL_BeggarsRun.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_bluemoon.spn":["terrains/TWL_BlueMoon.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_boss.spn":["terrains/TWL_Boss.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_celerity.spn":["terrains/TWL_Celerity.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_chokepoint.spn":["terrains/TWL_Chokepoint.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_cinereous.spn":["terrains/TWL_Cinereous.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_clusterfuct.spn":["terrains/TWL_Clusterfuct.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_crossfire.spn":["terrains/TWL_Crossfire.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_crossfire.ter":["terrains/TWL_Crossfire.ter",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_curtilage.spn":["terrains/TWL_Curtilage.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_damnation.spn":["terrains/TWL_Damnation.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_dangerouscrossing.spn":["terrains/TWL_DangerousCrossing.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_deadlybirdssong.spn":["terrains/TWL_DeadlyBirdsSong.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_deserted.spn":["terrains/TWL_Deserted.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_desiccator.spn":["terrains/TWL_Desiccator.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_drifts.spn":["terrains/TWL_Drifts.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_feign.spn":["terrains/TWL_Feign.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_feignlt.spn":["terrains/TWL_FeignLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/twl_frostclaw.spn":["terrains/TWL_Frostclaw.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_frozen.spn":["terrains/TWL_Frozen.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_harvester.spn":["terrains/TWL_Harvester.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_horde.spn":["terrains/TWL_Horde.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_katabatic.spn":["terrains/TWL_Katabatic.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_magmatic.spn":["terrains/TWL_Magmatic.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_minotaur.spn":["terrains/TWL_Minotaur.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_neve.spn":["terrains/TWL_Neve.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_noshelter.spn":["terrains/TWL_NoShelter.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_osiris.spn":["terrains/TWL_OsIris.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_pandemonium.spn":["terrains/TWL_Pandemonium.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_quagmire.spn":["terrains/TWL_Quagmire.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_raindance.spn":["terrains/TWL_Raindance.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_ramparts.spn":["terrains/TWL_Ramparts.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_reversion.spn":["terrains/TWL_Reversion.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_rollercoaster.spn":["terrains/TWL_Rollercoaster.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_rollercoasterlt.spn":["terrains/TWL_RollercoasterLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/twl_runenmacht.spn":["terrains/TWL_Runenmacht.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_sandstorm.spn":["terrains/TWL_Sandstorm.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_slapdash.spn":["terrains/TWL_Slapdash.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_snowblind.spn":["terrains/TWL_Snowblind.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_starfallen.spn":["terrains/TWL_Starfallen.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_stonehenge.spn":["terrains/TWL_Stonehenge.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_stonehengelt.spn":["terrains/TWL_StonehengeLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/twl_subzero.spn":["terrains/TWL_SubZero.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_surreal.spn":["terrains/TWL_Surreal.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_titan.spn":["terrains/TWL_Titan.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_whitedwarf.spn":["terrains/TWL_WhiteDwarf.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_wilderzone.spn":["terrains/TWL_WilderZone.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/twl_wilderzonelt.spn":["terrains/TWL_WilderZoneLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/twl_woodymyrk.spn":["terrains/TWL_WoodyMyrk.spn",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"terrains/two_towers.spn":["terrains/Two_Towers.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/two_towers.ter":["terrains/Two_Towers.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/tyre.ter":["terrains/Tyre.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/ultimathule.spn":["terrains/UltimaThule.spn",["missions.vl2"]],"terrains/ultimathule.ter":["terrains/UltimaThule.ter",["missions.vl2"]],"terrains/underhill.spn":["terrains/Underhill.spn",["missions.vl2"]],"terrains/underhill.ter":["terrains/Underhill.ter",["missions.vl2"]],"terrains/upordown.spn":["terrains/UporDown.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/vandamnedctf.spn":["terrains/VanDamnedCTF.spn",["z_mappacks/CTF/VanDamnedCTF.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/vandamnedlt.spn":["terrains/VanDamnedLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/vauban.spn":["terrains/Vauban.spn",["z_mappacks/CTF/Vauban.vl2"]],"terrains/vaubania.spn":["terrains/Vaubania.spn",["z_mappacks/CTF/Vaubania.vl2"]],"terrains/vulcanswrathdm.spn":["terrains/VulcansWrathDM.spn",["z_mappacks/DM/DMMaps.vl2"]],"terrains/walledin.spn":["terrains/WalledIn.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/walledinii.spn":["terrains/WalledInII.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/wasteland.ter":["terrains/Wasteland.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/wasteland_x2.spn":["terrains/Wasteland_x2.spn",["z_mappacks/xPack2.vl2"]],"terrains/wasteland_x2.ter":["terrains/Wasteland_x2.ter",["z_mappacks/xPack2.vl2"]],"terrains/whitedwarf.spn":["terrains/WhiteDwarf.spn",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/whitedwarf.ter":["terrains/WhiteDwarf.ter",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"terrains/whitedwarfdeluxe.spn":["terrains/WhiteDwarfDeluxe.spn",["z_mappacks/CTF/WhiteDwarfDeluxe.vl2"]],"terrains/whitedwarfdeluxelt.spn":["terrains/WhiteDwarfDeluxeLT.spn",["z_mappacks/LCTF/zLCTFmaps.vl2"]],"terrains/whiteout.spn":["terrains/Whiteout.spn",["missions.vl2"]],"terrains/whiteout.ter":["terrains/Whiteout.ter",["missions.vl2"]],"terrains/windygap.spn":["terrains/WindyGap.spn",["z_mappacks/CTF/WindyGap.vl2"]],"terrains/woe.spn":["terrains/woe.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/woe.ter":["terrains/woe.ter",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/wonderland.spn":["terrains/WonderLand.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/woodymyrk_x2.spn":["terrains/WoodyMyrk_x2.spn",["z_mappacks/xPack2.vl2"]],"terrains/woodymyrk_x2.ter":["terrains/WoodyMyrk_x2.ter",["z_mappacks/xPack2.vl2"]],"terrains/woodymyrkse.ter":["terrains/WoodyMyrkSE.ter",["z_mappacks/CTF/S5maps.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"terrains/wrongside.spn":["terrains/Wrongside.spn",["z_mappacks/z_DMP2-V0.6.vl2"]],"terrains/xtra_ashenpowder.ter":["terrains/Xtra_AshenPowder.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/xtra_bastage.ter":["terrains/Xtra_Bastage.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/xtra_birthright.ter":["terrains/Xtra_Birthright.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/xtra_crown.ter":["terrains/Xtra_Crown.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/xtra_desertedse.ter":["terrains/Xtra_DesertedSE.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/xtra_helion.ter":["terrains/Xtra_Helion.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/xtra_soupladle.ter":["terrains/Xtra_SoupLadle.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/xtra_starfall_t1.ter":["terrains/Xtra_StarFall_T1.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/xtra_stripmine.ter":["terrains/Xtra_Stripmine.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/xtra_thundergiant.ter":["terrains/Xtra_ThunderGiant.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/xtra_vandamned.ter":["terrains/Xtra_VanDamned.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/xtra_voodoo.ter":["terrains/Xtra_Voodoo.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/xtra_xerxes.ter":["terrains/Xtra_Xerxes.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/xtra_ziggurat.ter":["terrains/Xtra_ziggurat.ter",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"terrains/yubarena.spn":["terrains/Yubarena.spn",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"terrains/zilch.spn":["terrains/Zilch.spn",["z_mappacks/CTF/Zilch.vl2"]],"texture/deathbirdsfly_texture.cs":["texture/DeathBirdsFly_texture.cs",["z_mappacks/Lak/EscaladeLak.vl2"]],"texture/mark1_texture.cs":["texture/Mark1_texture.cs",["z_mappacks/Lak/EscaladeLak.vl2"]],"texture/newdesert1_texture.cs":["texture/NewDesert1_texture.cs",["z_mappacks/Lak/EscaladeLak.vl2"]],"texture/newdesert2_texture.cs":["texture/NewDesert2_texture.cs",["z_mappacks/Lak/EscaladeLak.vl2"]],"texture/newdesert3_texture.cs":["texture/NewDesert3_texture.cs",["z_mappacks/Lak/EscaladeLak.vl2"]],"texture/newlava1_texture.cs":["texture/NewLava1_texture.cs",["z_mappacks/Lak/EscaladeLak.vl2"]],"texture/newlava2_texture.cs":["texture/NewLava2_texture.cs",["z_mappacks/Lak/EscaladeLak.vl2"]],"texture/newlush1_texture.cs":["texture/NewLush1_texture.cs",["z_mappacks/Lak/EscaladeLak.vl2"]],"texture/newlush2_texture.cs":["texture/NewLush2_texture.cs",["z_mappacks/Lak/EscaladeLak.vl2"]],"texture/newlush3_texture.cs":["texture/NewLush3_texture.cs",["z_mappacks/Lak/EscaladeLak.vl2"]],"texture/newsnow1_texture.cs":["texture/NewSnow1_texture.cs",["z_mappacks/Lak/EscaladeLak.vl2"]],"texture/newsnow2_texture.cs":["texture/NewSnow2_texture.cs",["z_mappacks/Lak/EscaladeLak.vl2"]],"texture/newsnow3_textures.cs":["texture/NewSnow3_textures.cs",["z_mappacks/Lak/EscaladeLak.vl2"]],"texture/newsnowygrass_texture.cs":["texture/NewSnowyGrass_texture.cs",["z_mappacks/Lak/EscaladeLak.vl2"]],"texture/overreach_texture.cs":["texture/Overreach_texture.cs",["z_mappacks/Lak/EscaladeLak.vl2"]],"texture/reversion_texture.cs":["texture/Reversion_texture.cs",["z_mappacks/Lak/EscaladeLak.vl2"]],"texture/sounds.mission1_texture.cs":["texture/Sounds.Mission1_texture.cs",["z_mappacks/Lak/EscaladeLak.vl2"]],"texture/thinice_texture.cs":["texture/ThinIce_texture.cs",["z_mappacks/Lak/EscaladeLak.vl2"]],"textures/amocmd00.png":["textures/amocmd00.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/amoncmd.png":["textures/amoncmd.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/amun01.png":["textures/amun01.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/anabatic.dml":["textures/anabatic.dml",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/armageddon/armageddon_v5_bk.bmp":["textures/armageddon/Armageddon_v5_BK.bmp",["TR2final105-client.vl2"]],"textures/armageddon/armageddon_v5_fr.bmp":["textures/armageddon/Armageddon_v5_FR.bmp",["TR2final105-client.vl2"]],"textures/armageddon/armageddon_v5_lf.bmp":["textures/armageddon/Armageddon_v5_LF.bmp",["TR2final105-client.vl2"]],"textures/armageddon/armageddon_v5_rt.bmp":["textures/armageddon/Armageddon_v5_RT.bmp",["TR2final105-client.vl2"]],"textures/armageddon/armageddon_v5_rtr.bmp":["textures/armageddon/Armageddon_v5_RTR.bmp",["TR2final105-client.vl2"]],"textures/armageddon/armageddon_v5_up.bmp":["textures/armageddon/Armageddon_v5_UP.bmp",["TR2final105-client.vl2"]],"textures/armorpack.png":["textures/armorpack.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/aurawisp.dml":["textures/aurawisp.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/aw-starfield3b.png":["textures/AW-Starfield3b.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/badlandday.dml":["textures/badlandday.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/badlands/bd_1wal03c.png":["textures/badlands/bd_1wal03c.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ebor01.png":["textures/badlands/bd_ebor01.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ebor02.png":["textures/badlands/bd_ebor02.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ebor03.png":["textures/badlands/bd_ebor03.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ebor04.png":["textures/badlands/bd_ebor04.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ebor05.png":["textures/badlands/bd_ebor05.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ecol01.png":["textures/badlands/bd_eCol01.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ecol01a.png":["textures/badlands/bd_eCol01a.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ecol02.png":["textures/badlands/bd_eCol02.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ecombo1a.png":["textures/badlands/bd_ecombo1a.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ecombo1b.png":["textures/badlands/bd_ecombo1b.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ecombo2a.png":["textures/badlands/bd_ecombo2a.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ecombo2b.png":["textures/badlands/bd_ecombo2b.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ecombo3a.png":["textures/badlands/bd_ecombo3a.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ecombo3b.png":["textures/badlands/bd_ecombo3b.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ecombo3d.png":["textures/badlands/bd_ecombo3d.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ecombo4a.png":["textures/badlands/bd_ecombo4a.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ecombo4b.png":["textures/badlands/bd_ecombo4b.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_edoo01.png":["textures/badlands/bd_edoo01.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_edoo02.png":["textures/badlands/bd_edoo02.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_eflo01.png":["textures/badlands/bd_eflo01.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_elig02.png":["textures/badlands/bd_elig02.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_elig02a.png":["textures/badlands/bd_elig02a.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_elig03.png":["textures/badlands/bd_elig03.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_elig03a.png":["textures/badlands/bd_elig03a.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_espe01.png":["textures/badlands/bd_espe01.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_espe02.png":["textures/badlands/bd_espe02.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_espe03.png":["textures/badlands/bd_espe03.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_eterrain1a.png":["textures/badlands/bd_eterrain1a.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_eterrain2a.png":["textures/badlands/bd_eterrain2a.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_eterrain3a.png":["textures/badlands/bd_eterrain3a.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_eterrain3b.png":["textures/badlands/bd_eterrain3b.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_eterrain4a.png":["textures/badlands/bd_eterrain4a.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_eterrain5a.png":["textures/badlands/bd_eterrain5a.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ewal02.png":["textures/badlands/bd_ewal02.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ewal03c.png":["textures/badlands/bd_ewal03c.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ewal04.png":["textures/badlands/bd_ewal04.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ewal05.png":["textures/badlands/bd_ewal05.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ewal06a.png":["textures/badlands/bd_ewal06a.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ewal07.png":["textures/badlands/bd_ewal07.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ewal08.png":["textures/badlands/bd_ewal08.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ewal09.png":["textures/badlands/bd_ewal09.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ewal10.png":["textures/badlands/bd_ewal10.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ewal11.png":["textures/badlands/bd_ewal11.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ewal13.png":["textures/badlands/bd_ewal13.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ewal13a.png":["textures/badlands/bd_ewal13A.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ewal14.png":["textures/badlands/bd_ewal14.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ewal15.png":["textures/badlands/bd_ewal15.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ewal16.png":["textures/badlands/bd_ewal16.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ibor01.png":["textures/badlands/bd_ibor01.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ibor02.png":["textures/badlands/bd_ibor02.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ibor03.png":["textures/badlands/bd_ibor03.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ibor04.png":["textures/badlands/bd_ibor04.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ibor05.png":["textures/badlands/bd_ibor05.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ibor10.png":["textures/badlands/bd_ibor10.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ibor6.png":["textures/badlands/bd_ibor6.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ibor7.png":["textures/badlands/bd_ibor7.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ibor8.png":["textures/badlands/bd_ibor8.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ibor9.png":["textures/badlands/bd_ibor9.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_icei01.png":["textures/badlands/bd_icei01.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_icei02.png":["textures/badlands/bd_icei02.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_icei02a.png":["textures/badlands/bd_icei02a.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_icei03.png":["textures/badlands/bd_icei03.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_iceilig01.png":["textures/badlands/bd_iceilig01.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_iceilig02.png":["textures/badlands/bd_iceilig02.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_iceilig03.png":["textures/badlands/bd_iceilig03.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ichute01.png":["textures/badlands/bd_ichute01.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ichute02a.png":["textures/badlands/bd_ichute02a.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_icol01.png":["textures/badlands/bd_iCol01.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_icol02.png":["textures/badlands/bd_iCol02.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_icoligola.png":["textures/badlands/bd_icoligolA.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_icomp01.png":["textures/badlands/bd_icomp01.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_idoo03.png":["textures/badlands/bd_idoo03.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_iflo01.png":["textures/badlands/bd_iflo01.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_iflo02.png":["textures/badlands/bd_iflo02.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_iflo03b.png":["textures/badlands/bd_iflo03b.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ifunctec01a.png":["textures/badlands/bd_ifunctec01a.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ifunctec02.png":["textures/badlands/bd_ifunctec02.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ilig01.png":["textures/badlands/bd_ilig01.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ilig01a.png":["textures/badlands/bd_ilig01a.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_inf_ichute03.png":["textures/badlands/bd_inf_ichute03.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/badlands/bd_ispe01.png":["textures/badlands/bd_ispe01.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ispe03.png":["textures/badlands/bd_ispe03.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ispe04.png":["textures/badlands/bd_ispe04.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ispe06.png":["textures/badlands/bd_ispe06.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ispe07.png":["textures/badlands/bd_ispe07.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_ispe07a.png":["textures/badlands/bd_ispe07a.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_itebor01.png":["textures/badlands/bd_itebor01.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_itec01.png":["textures/badlands/bd_itec01.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_itec01a.png":["textures/badlands/bd_itec01a.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_itec02.png":["textures/badlands/bd_itec02.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_itec03.png":["textures/badlands/bd_itec03.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_itec05.png":["textures/badlands/bd_itec05.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_itec06a.png":["textures/badlands/bd_itec06a.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_itewal01.png":["textures/badlands/bd_itewal01.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_itewal01b.png":["textures/badlands/bd_itewal01b.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_itewal01c.png":["textures/badlands/bd_itewal01c.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_itewal01e.png":["textures/badlands/bd_itewal01e.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_iwal01b.png":["textures/badlands/bd_iwal01b.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_iwal01e.png":["textures/badlands/bd_iwal01e.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_iwal02.png":["textures/badlands/bd_iwal02.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_iwal03.png":["textures/badlands/bd_iwal03.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_iwal03c.png":["textures/badlands/bd_iwal03c.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_iwal16.png":["textures/badlands/bd_iwal16.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_screen.png":["textures/badlands/bd_screen.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_thresh01a.png":["textures/badlands/bd_thresh01a.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_thresh02.png":["textures/badlands/bd_thresh02.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/bd_thresh02a.png":["textures/badlands/bd_thresh02a.png",["badlands.vl2"],["yHDTextures2.0.vl2"]],"textures/badlands/be_ebor03.png":["textures/badlands/be_ebor03.PNG",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/badlands/be_eflo02.png":["textures/badlands/be_eflo02.PNG",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/badlands/be_elig03.png":["textures/badlands/be_elig03.PNG",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/badlands/be_ewal06.png":["textures/badlands/be_ewal06.PNG",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/badlands/be_ewal07.png":["textures/badlands/be_ewal07.PNG",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/badlands/be_icei01a.png":["textures/badlands/be_icei01a.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/badlands/cp_ibor03.png":["textures/badlands/cp_ibor03.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/badlands/ds_efloor1.png":["textures/badlands/ds_efloor1.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/badlands/ds_ilig03.png":["textures/badlands/ds_ilig03.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/badlands/inf_butch_grey1.png":["textures/badlands/inf_butch_grey1.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/badlands/inf_butch_grey5.png":["textures/badlands/inf_butch_grey5.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/badlands/iwal20.png":["textures/badlands/iwal20.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/badlands/iwal21.png":["textures/badlands/iwal21.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/badlands/iwal22.png":["textures/badlands/iwal22.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/badlands/skies/badlandday_bk.png":["textures/badlands/skies/badlandday_BK.png",["badlands.vl2"]],"textures/badlands/skies/badlandday_dn.png":["textures/badlands/skies/badlandday_DN.png",["badlands.vl2"]],"textures/badlands/skies/badlandday_fr.png":["textures/badlands/skies/badlandday_FR.png",["badlands.vl2"]],"textures/badlands/skies/badlandday_lf.png":["textures/badlands/skies/badlandday_LF.png",["badlands.vl2"]],"textures/badlands/skies/badlandday_rt.png":["textures/badlands/skies/badlandday_RT.png",["badlands.vl2"]],"textures/badlands/skies/badlandday_up.png":["textures/badlands/skies/badlandday_UP.png",["badlands.vl2"]],"textures/badlands/skies/bd_day_cloud1.png":["textures/badlands/skies/bd_day_cloud1.png",["badlands.vl2"]],"textures/badlands/skies/bd_day_cloud2.png":["textures/badlands/skies/bd_day_cloud2.png",["badlands.vl2"]],"textures/badlands/skies/bd_day_cloud_emap.png":["textures/badlands/skies/bd_day_cloud_emap.png",["badlands.vl2"]],"textures/badlands/skies/bd_nite_starry_emap.png":["textures/badlands/skies/bd_nite_starry_emap.png",["badlands.vl2"]],"textures/badlands/skies/starrynite_v2_bk.png":["textures/badlands/skies/starrynite_v2_BK.png",["badlands.vl2"]],"textures/badlands/skies/starrynite_v2_dn.png":["textures/badlands/skies/starrynite_v2_DN.png",["badlands.vl2"]],"textures/badlands/skies/starrynite_v2_fr.png":["textures/badlands/skies/starrynite_v2_FR.png",["badlands.vl2"]],"textures/badlands/skies/starrynite_v2_lf.png":["textures/badlands/skies/starrynite_v2_LF.png",["badlands.vl2"]],"textures/badlands/skies/starrynite_v2_rt.png":["textures/badlands/skies/starrynite_v2_RT.png",["badlands.vl2"]],"textures/badlands/skies/starrynite_v2_up.png":["textures/badlands/skies/starrynite_v2_UP.png",["badlands.vl2"]],"textures/badlands_l4.dml":["textures/Badlands_l4.dml",["textures.vl2"]],"textures/base.flag.png":["textures/base.flag.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/base.lmale.png":["textures/base.lmale.png",["TR2final105-client.vl2"]],"textures/base1c.png":["textures/base1c.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/base_tex.png":["textures/base_tex.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/bblue.png":["textures/bBlue.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/bd_ewal11.png":["textures/bd_ewal11.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/bd_idoo03.png":["textures/bd_idoo03.PNG",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/be_espec02.png":["textures/be_espec02.PNG",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/be_itelig01.png":["textures/be_itelig01.PNG",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/be_itewal01.png":["textures/be_itewal01.PNG",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/beagle.flag.png":["textures/beagle.flag.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/blackdust.dml":["textures/blackdust.dml",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/blackdust/blackdust_bk.png":["textures/blackdust/blackdust_bk.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/blackdust/blackdust_cloud1.png":["textures/blackdust/blackdust_cloud1.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/blackdust/blackdust_cloud2.png":["textures/blackdust/blackdust_cloud2.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/blackdust/blackdust_dn.png":["textures/blackdust/blackdust_DN.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/blackdust/blackdust_fr.png":["textures/blackdust/blackdust_fr.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/blackdust/blackdust_lf.png":["textures/blackdust/blackdust_lf.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/blackdust/blackdust_rt.png":["textures/blackdust/blackdust_rt.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/blackdust/blackdust_up.png":["textures/blackdust/blackdust_up.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/blblue.png":["textures/bLBlue.PNG",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/blite00.png":["textures/blite00.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/blite04.png":["textures/blite04.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/blue_blink4.png":["textures/blue_blink4.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/bluspherecrash.png":["textures/bluSphereCrash.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/borealis.dml":["textures/borealis.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/bred.png":["textures/bRed.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/bsmoke02.png":["textures/bsmoke02.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/canyon_crusade.dml":["textures/canyon_crusade.dml",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/catmat.png":["textures/catMat.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/catwhiskers.png":["textures/catWhiskers.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/ccbsky2.dml":["textures/ccbsky2.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/clouds.dml":["textures/clouds.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/cmdlite01.png":["textures/cmdlite01.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/commander/cursors/com_cursor_arrow_icon.png":["textures/commander/Cursors/com_cursor_arrow_icon.png",["textures.vl2"]],"textures/commander/cursors/com_handclose_icon.png":["textures/commander/Cursors/com_handclose_icon.png",["textures.vl2"]],"textures/commander/cursors/com_handopen_icon.png":["textures/commander/Cursors/com_handopen_icon.png",["textures.vl2"]],"textures/commander/cursors/com_maglass_icon.png":["textures/commander/Cursors/com_maglass_icon.png",["textures.vl2"]],"textures/commander/cursors/com_pointer_icon.png":["textures/commander/Cursors/com_pointer_icon.png",["textures.vl2"]],"textures/commander/cursors/com_pointer_pos_icon.png":["textures/commander/Cursors/com_pointer_pos_icon.png",["textures.vl2"]],"textures/commander/gui/cmd_columnheadbar.png":["textures/commander/Gui/cmd_columnheadbar.png",["textures.vl2"]],"textures/commander/gui/cmd_control_checkbox.png":["textures/commander/Gui/cmd_control_checkbox.png",["textures.vl2"]],"textures/commander/gui/cmd_gradient.png":["textures/commander/Gui/cmd_gradient.png",["textures.vl2"]],"textures/commander/gui/cmd_icon_camera.png":["textures/commander/Gui/cmd_icon_camera.png",["textures.vl2"]],"textures/commander/gui/cmd_icon_center.png":["textures/commander/Gui/cmd_icon_center.png",["textures.vl2"]],"textures/commander/gui/cmd_icon_misc.png":["textures/commander/Gui/cmd_icon_misc.png",["textures.vl2"]],"textures/commander/gui/cmd_icon_misc_d.png":["textures/commander/Gui/cmd_icon_misc_D.png",["textures.vl2"]],"textures/commander/gui/cmd_icon_moveselect.png":["textures/commander/Gui/cmd_icon_moveselect.png",["textures.vl2"]],"textures/commander/gui/cmd_icon_objectives.png":["textures/commander/Gui/cmd_icon_objectives.png",["textures.vl2"]],"textures/commander/gui/cmd_icon_players.png":["textures/commander/Gui/cmd_icon_players.png",["textures.vl2"]],"textures/commander/gui/cmd_icon_sensor.png":["textures/commander/Gui/cmd_icon_sensor.png",["textures.vl2"]],"textures/commander/gui/cmd_icon_tactical.png":["textures/commander/Gui/cmd_icon_tactical.png",["textures.vl2"]],"textures/commander/gui/cmd_icon_tactical_d.png":["textures/commander/Gui/cmd_icon_tactical_D.png",["textures.vl2"]],"textures/commander/gui/cmd_icon_text.png":["textures/commander/Gui/cmd_icon_text.png",["textures.vl2"]],"textures/commander/gui/cmd_icon_waypoints.png":["textures/commander/Gui/cmd_icon_waypoints.png",["textures.vl2"]],"textures/commander/gui/cmd_icon_zoom.png":["textures/commander/Gui/cmd_icon_zoom.png",["textures.vl2"]],"textures/commander/gui/cmd_offscreen_arrow.png":["textures/commander/Gui/cmd_offscreen_arrow.png",["textures.vl2"]],"textures/commander/gui/cmd_tv_frame.png":["textures/commander/Gui/cmd_tv_frame.png",["textures.vl2"]],"textures/commander/gui/cmd_tv_static.png":["textures/commander/Gui/cmd_tv_static.png",["textures.vl2"]],"textures/commander/icons/assigned_task_anim.dml":["textures/commander/Icons/assigned_task_anim.dml",["textures.vl2"]],"textures/commander/icons/base_select.dml":["textures/commander/Icons/base_select.dml",["textures.vl2"]],"textures/commander/icons/com_icon_bioderm.png":["textures/commander/Icons/com_icon_bioderm.png",["textures.vl2"]],"textures/commander/icons/com_icon_bioderm_glow.png":["textures/commander/Icons/com_icon_bioderm_glow.png",["textures.vl2"]],"textures/commander/icons/com_icon_bloodeagle.png":["textures/commander/Icons/com_icon_bloodeagle.png",["textures.vl2"]],"textures/commander/icons/com_icon_bloodeagle_glow.png":["textures/commander/Icons/com_icon_bloodeagle_glow.png",["textures.vl2"]],"textures/commander/icons/com_icon_bomber.png":["textures/commander/Icons/com_icon_bomber.png",["textures.vl2"]],"textures/commander/icons/com_icon_bomber_glow.png":["textures/commander/Icons/com_icon_bomber_glow.png",["textures.vl2"]],"textures/commander/icons/com_icon_camera.png":["textures/commander/Icons/com_icon_camera.png",["textures.vl2"]],"textures/commander/icons/com_icon_camera_glow.png":["textures/commander/Icons/com_icon_camera_glow.png",["textures.vl2"]],"textures/commander/icons/com_icon_diamsword.png":["textures/commander/Icons/com_icon_diamsword.png",["textures.vl2"]],"textures/commander/icons/com_icon_diamsword_glow.png":["textures/commander/Icons/com_icon_diamsword_glow.png",["textures.vl2"]],"textures/commander/icons/com_icon_flag_outside.png":["textures/commander/Icons/com_icon_flag_outside.png",["textures.vl2"]],"textures/commander/icons/com_icon_flag_outside_glow.png":["textures/commander/Icons/com_icon_flag_outside_glow.png",["textures.vl2"]],"textures/commander/icons/com_icon_generator.png":["textures/commander/Icons/com_icon_generator.png",["textures.vl2"]],"textures/commander/icons/com_icon_generator_glow.png":["textures/commander/Icons/com_icon_generator_glow.png",["textures.vl2"]],"textures/commander/icons/com_icon_genericswitch.png":["textures/commander/Icons/com_icon_genericswitch.png",["textures.vl2"]],"textures/commander/icons/com_icon_genericswitch_glow.png":["textures/commander/Icons/com_icon_genericswitch_glow.png",["textures.vl2"]],"textures/commander/icons/com_icon_hapc.png":["textures/commander/Icons/com_icon_hapc.png",["textures.vl2"]],"textures/commander/icons/com_icon_hapc_glow.png":["textures/commander/Icons/com_icon_hapc_glow.png",["textures.vl2"]],"textures/commander/icons/com_icon_harbinger.png":["textures/commander/Icons/com_icon_harbinger.png",["textures.vl2"]],"textures/commander/icons/com_icon_harbinger_glow.png":["textures/commander/Icons/com_icon_harbinger_glow.png",["textures.vl2"]],"textures/commander/icons/com_icon_inferno.png":["textures/commander/Icons/com_icon_inferno.png",["textures.vl2"]],"textures/commander/icons/com_icon_inferno_glow.png":["textures/commander/Icons/com_icon_inferno_glow.png",["textures.vl2"]],"textures/commander/icons/com_icon_inventory.png":["textures/commander/Icons/com_icon_inventory.png",["textures.vl2"]],"textures/commander/icons/com_icon_inventory_glow.png":["textures/commander/Icons/com_icon_inventory_glow.png",["textures.vl2"]],"textures/commander/icons/com_icon_landscout.png":["textures/commander/Icons/com_icon_landscout.png",["textures.vl2"]],"textures/commander/icons/com_icon_landscout_glow.png":["textures/commander/Icons/com_icon_landscout_glow.png",["textures.vl2"]],"textures/commander/icons/com_icon_mpb.png":["textures/commander/Icons/com_icon_mpb.png",["textures.vl2"]],"textures/commander/icons/com_icon_mpb_glow.png":["textures/commander/Icons/com_icon_mpb_glow.png",["textures.vl2"]],"textures/commander/icons/com_icon_nexus.png":["textures/commander/Icons/com_icon_nexus.png",["textures.vl2"]],"textures/commander/icons/com_icon_nexus_glow.png":["textures/commander/Icons/com_icon_nexus_glow.png",["textures.vl2"]],"textures/commander/icons/com_icon_scout.png":["textures/commander/Icons/com_icon_scout.png",["textures.vl2"]],"textures/commander/icons/com_icon_scout_glow.png":["textures/commander/Icons/com_icon_scout_glow.png",["textures.vl2"]],"textures/commander/icons/com_icon_sensor.png":["textures/commander/Icons/com_icon_sensor.png",["textures.vl2"]],"textures/commander/icons/com_icon_sensor_glow.png":["textures/commander/Icons/com_icon_sensor_glow.png",["textures.vl2"]],"textures/commander/icons/com_icon_solar_gen.png":["textures/commander/Icons/com_icon_solar_gen.png",["textures.vl2"]],"textures/commander/icons/com_icon_solar_gen_glow.png":["textures/commander/Icons/com_icon_solar_gen_glow.png",["textures.vl2"]],"textures/commander/icons/com_icon_starwolf.png":["textures/commander/Icons/com_icon_starwolf.png",["textures.vl2"]],"textures/commander/icons/com_icon_starwolf_glow.png":["textures/commander/Icons/com_icon_starwolf_glow.png",["textures.vl2"]],"textures/commander/icons/com_icon_storm.png":["textures/commander/Icons/com_icon_storm.png",["textures.vl2"]],"textures/commander/icons/com_icon_storm_glow.png":["textures/commander/Icons/com_icon_storm_glow.png",["textures.vl2"]],"textures/commander/icons/com_icon_tank.png":["textures/commander/Icons/com_icon_tank.png",["textures.vl2"]],"textures/commander/icons/com_icon_tank_glow.png":["textures/commander/Icons/com_icon_tank_glow.png",["textures.vl2"]],"textures/commander/icons/com_icon_turret.png":["textures/commander/Icons/com_icon_turret.png",["textures.vl2"]],"textures/commander/icons/com_icon_turret_glow.png":["textures/commander/Icons/com_icon_turret_glow.png",["textures.vl2"]],"textures/commander/icons/com_icon_turretbase.png":["textures/commander/Icons/com_icon_turretbase.png",["textures.vl2"]],"textures/commander/icons/com_icon_turretbase_glow.png":["textures/commander/Icons/com_icon_turretbase_glow.png",["textures.vl2"]],"textures/commander/icons/com_icon_vehicle_inventory.png":["textures/commander/Icons/com_icon_vehicle_inventory.png",["textures.vl2"]],"textures/commander/icons/com_icon_vehicle_inventory_glow.png":["textures/commander/Icons/com_icon_vehicle_inventory_glow.png",["textures.vl2"]],"textures/commander/icons/com_player_grey_24x.png":["textures/commander/Icons/com_player_grey_24x.png",["textures.vl2"]],"textures/commander/icons/com_player_grey_24x_glow.png":["textures/commander/Icons/com_player_grey_24x_glow.png",["textures.vl2"]],"textures/commander/icons/com_waypoint_1.png":["textures/commander/Icons/com_waypoint_1.png",["textures.vl2"]],"textures/commander/icons/com_waypoint_2.png":["textures/commander/Icons/com_waypoint_2.png",["textures.vl2"]],"textures/commander/icons/com_waypoint_3.png":["textures/commander/Icons/com_waypoint_3.png",["textures.vl2"]],"textures/commander/icons/com_waypoint_4.png":["textures/commander/Icons/com_waypoint_4.png",["textures.vl2"]],"textures/commander/icons/com_waypoint_5.png":["textures/commander/Icons/com_waypoint_5.png",["textures.vl2"]],"textures/commander/icons/com_waypoint_6.png":["textures/commander/Icons/com_waypoint_6.png",["textures.vl2"]],"textures/commander/icons/com_waypoint_7.png":["textures/commander/Icons/com_waypoint_7.png",["textures.vl2"]],"textures/commander/icons/diamond_frame_1.png":["textures/commander/Icons/diamond_frame_1.png",["textures.vl2"]],"textures/commander/icons/diamond_frame_2.png":["textures/commander/Icons/diamond_frame_2.png",["textures.vl2"]],"textures/commander/icons/diamond_frame_3.png":["textures/commander/Icons/diamond_frame_3.png",["textures.vl2"]],"textures/commander/icons/diamond_frame_4.png":["textures/commander/Icons/diamond_frame_4.png",["textures.vl2"]],"textures/commander/icons/diamond_frame_5.png":["textures/commander/Icons/diamond_frame_5.png",["textures.vl2"]],"textures/commander/icons/diamond_frame_6.png":["textures/commander/Icons/diamond_frame_6.png",["textures.vl2"]],"textures/commander/icons/diamond_not_selected.png":["textures/commander/Icons/diamond_not_selected.png",["textures.vl2"]],"textures/commander/icons/player_glow.dml":["textures/commander/Icons/player_glow.dml",["textures.vl2"]],"textures/commander/icons/selectobject_1.png":["textures/commander/Icons/selectobject_1.png",["textures.vl2"]],"textures/commander/icons/selectobject_2.png":["textures/commander/Icons/selectobject_2.png",["textures.vl2"]],"textures/commander/icons/selectobject_3.png":["textures/commander/Icons/selectobject_3.png",["textures.vl2"]],"textures/commander/icons/selectobject_4.png":["textures/commander/Icons/selectobject_4.png",["textures.vl2"]],"textures/commander/icons/selectobject_5.png":["textures/commander/Icons/selectobject_5.png",["textures.vl2"]],"textures/commander/icons/selectobject_6.png":["textures/commander/Icons/selectobject_6.png",["textures.vl2"]],"textures/commander/icons/selectobject_7.png":["textures/commander/Icons/selectobject_7.png",["textures.vl2"]],"textures/commander/icons/waypoint_anim.dml":["textures/commander/Icons/waypoint_anim.dml",["textures.vl2"]],"textures/commander/miniicons/com_bomber_grey.png":["textures/commander/MiniIcons/com_bomber_grey.png",["textures.vl2"]],"textures/commander/miniicons/com_camera_grey.png":["textures/commander/MiniIcons/com_camera_grey.png",["textures.vl2"]],"textures/commander/miniicons/com_deploymotionsensor.png":["textures/commander/MiniIcons/com_deploymotionsensor.png",["textures.vl2"]],"textures/commander/miniicons/com_deploypulsesensor.png":["textures/commander/MiniIcons/com_deploypulsesensor.png",["textures.vl2"]],"textures/commander/miniicons/com_flag_grey.png":["textures/commander/MiniIcons/com_flag_grey.png",["textures.vl2"]],"textures/commander/miniicons/com_generator.png":["textures/commander/MiniIcons/com_generator.png",["textures.vl2"]],"textures/commander/miniicons/com_hapc_grey.png":["textures/commander/MiniIcons/com_hapc_grey.png",["textures.vl2"]],"textures/commander/miniicons/com_inventory_grey.png":["textures/commander/MiniIcons/com_inventory_grey.png",["textures.vl2"]],"textures/commander/miniicons/com_landscout_grey.png":["textures/commander/MiniIcons/com_landscout_grey.png",["textures.vl2"]],"textures/commander/miniicons/com_mpb_grey.png":["textures/commander/MiniIcons/com_mpb_grey.png",["textures.vl2"]],"textures/commander/miniicons/com_player_grey.png":["textures/commander/MiniIcons/com_player_grey.png",["textures.vl2"]],"textures/commander/miniicons/com_scout_grey.png":["textures/commander/MiniIcons/com_scout_grey.png",["textures.vl2"]],"textures/commander/miniicons/com_sensor_grey.png":["textures/commander/MiniIcons/com_sensor_grey.png",["textures.vl2"]],"textures/commander/miniicons/com_solargen_grey.png":["textures/commander/MiniIcons/com_solargen_grey.png",["textures.vl2"]],"textures/commander/miniicons/com_switch_grey.png":["textures/commander/MiniIcons/com_switch_grey.png",["textures.vl2"]],"textures/commander/miniicons/com_tank_grey.png":["textures/commander/MiniIcons/com_tank_grey.png",["textures.vl2"]],"textures/commander/miniicons/com_turret_grey.png":["textures/commander/MiniIcons/com_turret_grey.png",["textures.vl2"]],"textures/commander/miniicons/com_turretbase_grey.png":["textures/commander/MiniIcons/com_turretbase_grey.png",["textures.vl2"]],"textures/commander/miniicons/com_vehicle_pad_inventory.png":["textures/commander/MiniIcons/com_vehicle_pad_inventory.png",["textures.vl2"]],"textures/commander/miniicons/com_waypoint_grey.png":["textures/commander/MiniIcons/com_waypoint_grey.png",["textures.vl2"]],"textures/commander/miniicons/tr2com_flag_grey.png":["textures/commander/MiniIcons/TR2com_flag_grey.png",["TR2final105-client.vl2"]],"textures/concretefloor.png":["textures/ConcreteFloor.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/concretevents.png":["textures/ConcreteVents.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/control.png":["textures/control.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/cp_nebula3.png":["textures/cp_nebula3.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/cphoenix.flag.png":["textures/cphoenix.flag.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/cubemap.dml":["textures/cubemap.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/cylinder_tex.png":["textures/cylinder_tex.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/damskyback.png":["textures/damSkyBack.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/damskyfront.png":["textures/damSkyFront.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/damskyleft.png":["textures/damSkyLeft.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/damskyright.png":["textures/damSkyRight.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/damskytop.png":["textures/damSkyTop.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dark_green.dml":["textures/dark_green.dml",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/dark_green/dark_green_bk.png":["textures/dark_green/dark_green_BK.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/dark_green/dark_green_cloud1.png":["textures/dark_green/dark_green_cloud1.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/dark_green/dark_green_cloud2.png":["textures/dark_green/dark_green_cloud2.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/dark_green/dark_green_dn.png":["textures/dark_green/dark_green_DN.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/dark_green/dark_green_fr.png":["textures/dark_green/dark_green_FR.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/dark_green/dark_green_lf.png":["textures/dark_green/dark_green_LF.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/dark_green/dark_green_rt.png":["textures/dark_green/dark_green_RT.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/dark_green/dark_green_up.png":["textures/dark_green/dark_green_UP.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/darkstormy.dml":["textures/DarkStormy.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dd2.png":["textures/dd2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/deploy_ammo.png":["textures/deploy_Ammo.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/deploy_ammo2.png":["textures/deploy_Ammo2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/desert/cp_ecombo1a.png":["textures/desert/cp_ecombo1a.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_ecombo1b.png":["textures/desert/cp_ecombo1b.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_eport01.png":["textures/desert/cp_eport01.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_eport01c.png":["textures/desert/cp_eport01c.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_espec01.png":["textures/desert/cp_espec01.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_espec02.png":["textures/desert/cp_espec02.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_espec02base.png":["textures/desert/cp_espec02BASE.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_espec02cap.png":["textures/desert/cp_espec02CAP.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_espec03.png":["textures/desert/cp_espec03.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_etec01.png":["textures/desert/cp_etec01.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_etec02.png":["textures/desert/cp_etec02.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_ewal01.png":["textures/desert/cp_ewal01.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_ewal01a.png":["textures/desert/cp_ewal01a.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_ewal01b.png":["textures/desert/cp_ewal01b.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_ewal01c.png":["textures/desert/cp_ewal01c.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_ewal01d.png":["textures/desert/cp_ewal01d.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_ewal01e.png":["textures/desert/cp_ewal01e.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_ewal01f.png":["textures/desert/cp_ewal01f.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_ibor01.png":["textures/desert/cp_ibor01.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_ibor01a.png":["textures/desert/cp_ibor01a.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_ibor02.png":["textures/desert/cp_ibor02.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_ibor02a.png":["textures/desert/cp_ibor02a.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_ibor03.png":["textures/desert/cp_ibor03.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_ichute01.png":["textures/desert/cp_ichute01.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_ichute02.png":["textures/desert/cp_ichute02.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_icoldeco01.png":["textures/desert/cp_icoldeco01.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_icoldeco01a.png":["textures/desert/cp_icoldeco01a.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_icoligola.png":["textures/desert/cp_icoligolA.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_icomp01b.png":["textures/desert/cp_icomp01b.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_icomp01c.png":["textures/desert/cp_icomp01c.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_icomp01e.png":["textures/desert/cp_icomp01e.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_icomp01f.png":["textures/desert/cp_icomp01f.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_icomp01g.png":["textures/desert/cp_icomp01g.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_idoo01.png":["textures/desert/cp_idoo01.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_iflo01.png":["textures/desert/cp_iflo01.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_iflo01d.png":["textures/desert/cp_iflo01d.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_iflo02.png":["textures/desert/cp_iflo02.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_iflo02a.png":["textures/desert/cp_iflo02a.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_iflo02b.png":["textures/desert/cp_iflo02b.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_iflo02c.png":["textures/desert/cp_iflo02c.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_ilig01.png":["textures/desert/cp_ilig01.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_ilig01a.png":["textures/desert/cp_ilig01a.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_ilig02.png":["textures/desert/cp_ilig02.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_ilig02a.png":["textures/desert/cp_ilig02a.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_ilig02b.png":["textures/desert/cp_ilig02b.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_ilig02c.png":["textures/desert/cp_ilig02c.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_ilig05a.png":["textures/desert/cp_ilig05a.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_ilig05b.png":["textures/desert/cp_ilig05b.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_ispec01.png":["textures/desert/cp_ispec01.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_ispec01cap.png":["textures/desert/cp_ispec01CAP.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_ispec02b.png":["textures/desert/cp_ispec02b.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_ispec02cap.png":["textures/desert/cp_ispec02CAP.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_ispecbase01.png":["textures/desert/cp_ispecbase01.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_ispecbase01a.png":["textures/desert/cp_ispecbase01a.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_ispecbase01d.png":["textures/desert/cp_ispecbase01d.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_ispecbase01f.png":["textures/desert/cp_ispecbase01f.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_ispecbase01g.png":["textures/desert/cp_ispecbase01g.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_istair01.png":["textures/desert/cp_istair01.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_istrface01.png":["textures/desert/cp_istrface01.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_istrface01c.png":["textures/desert/cp_istrface01c.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_istrface01d.png":["textures/desert/cp_istrface01d.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_istrface01e.png":["textures/desert/cp_istrface01e.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_istrface01f.png":["textures/desert/cp_istrface01f.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_istrface01g.png":["textures/desert/cp_istrface01g.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_istrface01h.png":["textures/desert/cp_istrface01h.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_itec01.png":["textures/desert/cp_itec01.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_itec01c.png":["textures/desert/cp_itec01c.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_itec02.png":["textures/desert/cp_itec02.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_itec03a.png":["textures/desert/cp_itec03a.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_itec03b.png":["textures/desert/cp_itec03b.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_itecwal01.png":["textures/desert/cp_itecwal01.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_itecwal01a.png":["textures/desert/cp_itecwal01a.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_itecwal01b.png":["textures/desert/cp_itecwal01b.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_iwal02b.png":["textures/desert/cp_iwal02b.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_iwal02d.png":["textures/desert/cp_iwal02d.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_iwal02f.png":["textures/desert/cp_iwal02f.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_iwal02g.png":["textures/desert/cp_iwal02g.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_iwalbase02.png":["textures/desert/cp_iwalbase02.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_iwalbase02a.png":["textures/desert/cp_iwalbase02a.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_sand.png":["textures/desert/cp_sand.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_screen.png":["textures/desert/cp_screen.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_scrnbrdr01a.png":["textures/desert/cp_scrnbrdr01a.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_scrnbrdr01c.png":["textures/desert/cp_scrnbrdr01c.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_thresh01off.png":["textures/desert/cp_thresh01OFF.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/cp_thresh01on.png":["textures/desert/cp_thresh01ON.png",["desert.vl2"],["yHDTextures2.0.vl2"]],"textures/desert/iwal2020.png":["textures/desert/iwal2020.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/desert/iwal2021.png":["textures/desert/iwal2021.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/desert/iwal2022.png":["textures/desert/iwal2022.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/desert/skies/d_n_b.png":["textures/desert/skies/d_N_b.png",["desert.vl2"]],"textures/desert/skies/d_n_d.png":["textures/desert/skies/d_N_d.png",["desert.vl2"]],"textures/desert/skies/d_n_f.png":["textures/desert/skies/d_N_f.png",["desert.vl2"]],"textures/desert/skies/d_n_l.png":["textures/desert/skies/d_N_l.png",["desert.vl2"]],"textures/desert/skies/d_n_move1.png":["textures/desert/skies/d_n_move1.png",["desert.vl2"]],"textures/desert/skies/d_n_move2.png":["textures/desert/skies/d_n_move2.png",["desert.vl2"]],"textures/desert/skies/d_n_move3.png":["textures/desert/skies/d_n_move3.png",["desert.vl2"]],"textures/desert/skies/d_n_r.png":["textures/desert/skies/d_N_r.png",["desert.vl2"]],"textures/desert/skies/d_n_t.png":["textures/desert/skies/d_N_t.png",["desert.vl2"]],"textures/desert/skies/db2.png":["textures/desert/skies/db2.png",["desert.vl2"]],"textures/desert/skies/dd2.png":["textures/desert/skies/dd2.png",["desert.vl2"]],"textures/desert/skies/desert_blue_emap.png":["textures/desert/skies/desert_blue_emap.png",["desert.vl2"]],"textures/desert/skies/desert_brown_emap.png":["textures/desert/skies/desert_brown_emap.png",["desert.vl2"]],"textures/desert/skies/desert_starrynite_emap.png":["textures/desert/skies/desert_starrynite_emap.png",["desert.vl2"]],"textures/desert/skies/desertmove1.png":["textures/desert/skies/desertmove1.png",["desert.vl2"]],"textures/desert/skies/desertmove2.png":["textures/desert/skies/desertmove2.png",["desert.vl2"]],"textures/desert/skies/desertmove3.png":["textures/desert/skies/desertmove3.png",["desert.vl2"]],"textures/desert/skies/desertmove4.png":["textures/desert/skies/desertmove4.png",["desert.vl2"]],"textures/desert/skies/df2.png":["textures/desert/skies/df2.png",["desert.vl2"]],"textures/desert/skies/dl2.png":["textures/desert/skies/dl2.png",["desert.vl2"]],"textures/desert/skies/dr2.png":["textures/desert/skies/dr2.png",["desert.vl2"]],"textures/desert/skies/dt2.png":["textures/desert/skies/dt2.png",["desert.vl2"]],"textures/desert/skies/starrynite_v3_bk.png":["textures/desert/skies/starrynite_v3_BK.png",["desert.vl2"]],"textures/desert/skies/starrynite_v3_dn.png":["textures/desert/skies/starrynite_v3_DN.png",["desert.vl2"]],"textures/desert/skies/starrynite_v3_fr.png":["textures/desert/skies/starrynite_v3_FR.png",["desert.vl2"]],"textures/desert/skies/starrynite_v3_lf.png":["textures/desert/skies/starrynite_v3_LF.png",["desert.vl2"]],"textures/desert/skies/starrynite_v3_rt.png":["textures/desert/skies/starrynite_v3_RT.png",["desert.vl2"]],"textures/desert/skies/starrynite_v3_up.png":["textures/desert/skies/starrynite_v3_UP.png",["desert.vl2"]],"textures/desert512.png":["textures/desert512.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/desert_l4.dml":["textures/Desert_l4.dml",["textures.vl2"]],"textures/desertdust.png":["textures/desertDust.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/details/baddet1.png":["textures/details/BadDet1.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/details/baddet2.png":["textures/details/BadDet2.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/details/bb_det2.png":["textures/Details/bb_det2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2","textures/details/bb_det2.png"]],"textures/details/desertdet1.png":["textures/details/DesertDet1.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/details/desertdet2.png":["textures/details/DesertDet2.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/details/lavadet1.png":["textures/details/LavaDet1.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/details/lavadet2.png":["textures/details/LavaDet2.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/details/lushdet1.png":["textures/details/LushDet1.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/details/lushdet2.png":["textures/details/LushDet2.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/details/planetx_cb1.png":["textures/details/PlanetX_CB1.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/details/snowdet1.png":["textures/details/SnowDet1.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/details/snowdet2.png":["textures/details/SnowDet2.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/dkmetal.png":["textures/dkmetal.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/4circle_lite.png":["textures/dox/4circle_lite.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/4square_lite.png":["textures/dox/4square_lite.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/ancient3.png":["textures/dox/ancient3.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/antigrav.png":["textures/dox/antigrav.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/base1c.png":["textures/dox/base1c.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/base_dark2.png":["textures/dox/base_dark2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/base_rockburn.png":["textures/dox/base_rockburn.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/base_rocklog.png":["textures/dox/base_rocklog.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/bb_red.png":["textures/dox/bb_red.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/bb_red2.png":["textures/dox/bb_red2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/bb_sand.png":["textures/dox/bb_sand.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/bd_ispe07.png":["textures/dox/bd_ispe07.PNG",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/be_edoo02.png":["textures/dox/be_edoo02.PNG",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/be_elig02.png":["textures/dox/be_elig02.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/be_elig02_nd.png":["textures/dox/be_elig02_nd.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/be_elig03.png":["textures/dox/be_elig03.PNG",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/be_espec02.png":["textures/dox/be_espec02.PNG",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/be_ewal03_hl.png":["textures/dox/be_ewal03_hl.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/be_ewal03acrk.png":["textures/dox/be_ewal03acrk.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/be_ewal06.png":["textures/dox/be_ewal06.PNG",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/be_gr3streak.png":["textures/dox/be_gr3streak.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/be_gr4streak.png":["textures/dox/be_gr4streak.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/be_icei01a.png":["textures/dox/be_icei01a.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/be_ihalig.png":["textures/dox/be_ihalig.PNG",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/be_iprflo01.png":["textures/dox/be_iprflo01.PNG",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/be_itebor04.png":["textures/dox/be_itebor04.PNG",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/be_itedoo01.png":["textures/dox/be_itedoo01.PNG",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/be_itelig01.png":["textures/dox/be_itelig01.PNG",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/be_itelig02.png":["textures/dox/be_itelig02.PNG",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/be_itewal01.png":["textures/dox/be_itewal01.PNG",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/be_itewal04.png":["textures/dox/be_itewal04.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/beaglelz.png":["textures/dox/beaglelz.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/beam01.png":["textures/dox/beam01.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/belogo.png":["textures/dox/BELogo.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/belogo2.png":["textures/dox/BElogo2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/bigrust.png":["textures/dox/bigrust.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/bigrust2.png":["textures/dox/bigrust2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/blue_light1.png":["textures/dox/blue_light1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/blue_light2.png":["textures/dox/blue_light2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/bluemoon.png":["textures/dox/BlueMoon.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/bluescrdeath.png":["textures/dox/bluescrdeath.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/bluetrim1.png":["textures/dox/bluetrim1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/bluetrim2.png":["textures/dox/bluetrim2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/bluetrim2a.png":["textures/dox/bluetrim2a.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/bluetrim3.png":["textures/dox/bluetrim3.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/bluetrim4.png":["textures/dox/bluetrim4.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/bolttrim.png":["textures/dox/bolttrim.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/box_a.png":["textures/dox/box_a.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/box_b.png":["textures/dox/box_b.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/box_c.png":["textures/dox/box_c.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/cam1.png":["textures/dox/cam1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/cargo.png":["textures/dox/cargo.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/cargo1.png":["textures/dox/cargo1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/cargoend.png":["textures/dox/cargoend.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/cargoend2.png":["textures/dox/cargoend2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/cargotop.png":["textures/dox/cargotop.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/carinternalwall.png":["textures/dox/carinternalwall.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/carrierlogo1.png":["textures/dox/carrierlogo1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/carrierlogo2.png":["textures/dox/carrierlogo2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/carrierwall2.png":["textures/dox/carrierwall2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/carrierwall4.png":["textures/dox/carrierwall4.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/cementwall6.png":["textures/dox/cementwall6.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/cementwall8.png":["textures/dox/cementwall8.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/concretefloor.png":["textures/dox/ConcreteFloor.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/concretefloords.png":["textures/dox/ConcreteFloorDS.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/concretevents.png":["textures/dox/ConcreteVents.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/corridorfloor.png":["textures/dox/CorridorFloor.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/corridorwa.png":["textures/dox/CorridorWA.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/corridorwb.png":["textures/dox/CorridorWB.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/corridorwd.png":["textures/dox/CorridorWD.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/cretepillarc.png":["textures/dox/cretepillarc.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/crudewarn.png":["textures/dox/crudewarn.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/deck1+.png":["textures/dox/deck1+.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/doorlogo1.png":["textures/dox/doorlogo1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/doorlogo2.png":["textures/dox/doorlogo2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/dox_beam.png":["textures/dox/dox_beam.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/dox_bluelite1.png":["textures/dox/dox_bluelite1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/dox_bluelite2.png":["textures/dox/dox_bluelite2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/dox_grsteel3.png":["textures/dox/dox_grsteel3.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/dox_grsteel3_b.png":["textures/dox/dox_grsteel3_b.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/dox_grsteel3_f.png":["textures/dox/dox_grsteel3_f.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/dox_grsteel4.png":["textures/dox/dox_grsteel4.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/dox_pipe1.png":["textures/dox/dox_pipe1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/drkmtldpanelc.png":["textures/dox/drkmtldpanelc.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/ds_etechbor01.png":["textures/dox/ds_etechbor01.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/ds_etechbrdr2.png":["textures/dox/ds_etechbrdr2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/ds_ewall06.png":["textures/dox/ds_ewall06.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/ds_ewall07.png":["textures/dox/ds_ewall07.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/ds_genfloor.png":["textures/dox/ds_genfloor.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/ds_genwall.png":["textures/dox/ds_genwall.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/ds_ilig02.png":["textures/dox/ds_ilig02.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/ds_ilig03.png":["textures/dox/ds_ilig03.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/ds_ilig04.png":["textures/dox/ds_ilig04.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/ds_iwal01.png":["textures/dox/ds_iwal01.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/ds_jet03.png":["textures/dox/ds_jet03.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/ds_nefbltrim.png":["textures/dox/ds_NefBlTrim.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/ds_nefblue.png":["textures/dox/ds_NefBlue.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/ds_nefblue1.png":["textures/dox/ds_NefBlue1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/ds_neffloor1.png":["textures/dox/ds_Neffloor1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/ds_neffloor5.png":["textures/dox/ds_Neffloor5.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/ds_nefwall1.png":["textures/dox/ds_NefWall1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/dswordlz.png":["textures/dox/dswordlz.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e6cfloordented.png":["textures/dox/e6cfloordented.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e6girdergrate.png":["textures/dox/e6girdergrate.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e6grate2flr.png":["textures/dox/e6grate2flr.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e6horzlight.png":["textures/dox/e6horzlight.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e6smlgrtflr2bl.png":["textures/dox/e6smlgrtflr2bl.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e6strimlight.png":["textures/dox/e6strimlight.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8_base1.png":["textures/dox/e8_base1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8_base1b.png":["textures/dox/e8_base1b.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8_base1c.png":["textures/dox/e8_base1c.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8_btrim01.png":["textures/dox/e8_btrim01.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8_btrim05.png":["textures/dox/e8_btrim05.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8_launchpad1.png":["textures/dox/e8_launchpad1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8_mtlwall1b.png":["textures/dox/e8_mtlwall1b.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8_mtlwall3.png":["textures/dox/e8_mtlwall3.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8_mtlwall4.png":["textures/dox/e8_mtlwall4.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8_rlight_0000.png":["textures/dox/e8_rlight_0000.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8_rlightb.png":["textures/dox/e8_rlightb.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8_rlightb_0000.png":["textures/dox/e8_rlightb_0000.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8basictrim2_bl.png":["textures/dox/e8basictrim2_bl.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8beam01.png":["textures/dox/e8beam01.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8beam01b.png":["textures/dox/e8beam01b.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8beam02.png":["textures/dox/e8beam02.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8bgrate01.png":["textures/dox/e8bgrate01.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8bolttrim.png":["textures/dox/e8bolttrim.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8bolttrimb.png":["textures/dox/e8bolttrimb.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8clangfloor.png":["textures/dox/e8clangfloor.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8clangfloor01.png":["textures/dox/e8clangfloor01.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8clangfloor03.png":["textures/dox/e8clangfloor03.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8clangfloor05c.png":["textures/dox/e8clangfloor05c.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8clangwarnmix_.png":["textures/dox/e8clangwarnmix_.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8crete01.png":["textures/dox/e8crete01.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8crete01stair1.png":["textures/dox/e8crete01stair1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8crete03.png":["textures/dox/e8crete03.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8crete03b.png":["textures/dox/e8crete03b.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8crete03c.png":["textures/dox/e8crete03c.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8crete03cc.png":["textures/dox/e8crete03cc.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8crete03d.png":["textures/dox/e8crete03d.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8crete03fadedw.png":["textures/dox/e8crete03fadedw.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8cretefloor02.png":["textures/dox/e8cretefloor02.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8cretefloor_ti.png":["textures/dox/e8cretefloor_ti.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8cretesmlltrim.png":["textures/dox/e8cretesmlltrim.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8lighttrim.png":["textures/dox/e8lighttrim.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8lighttrim_b.png":["textures/dox/e8lighttrim_b.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8metal03c_blue.png":["textures/dox/e8metal03c_blue.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8mtltrim.png":["textures/dox/e8mtltrim.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8mtltrim1.png":["textures/dox/e8mtltrim1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8mtltrim1b.png":["textures/dox/e8mtltrim1b.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8mtltrim2.png":["textures/dox/e8mtltrim2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8smlltrim1.png":["textures/dox/e8smlltrim1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8spawn01b.png":["textures/dox/e8spawn01b.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8support02.png":["textures/dox/e8support02.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8support02c.png":["textures/dox/e8support02c.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8support04b_bl.png":["textures/dox/e8support04b_bl.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8support05.png":["textures/dox/e8support05.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8tinylight_000.png":["textures/dox/e8tinylight_000.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8tmtllight2.png":["textures/dox/e8tmtllight2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8trimlight_000.png":["textures/dox/e8trimlight_000.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8warning2.png":["textures/dox/e8warning2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8warning256.png":["textures/dox/e8warning256.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8warning2step.png":["textures/dox/e8warning2step.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8wrntrim.png":["textures/dox/e8wrntrim.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/e8wrntrim2b.png":["textures/dox/e8wrntrim2b.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/emap_beachblitz.png":["textures/dox/emap_beachblitz.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/engine1.png":["textures/dox/engine1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/exteriora.png":["textures/dox/ExteriorA.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/exteriord.png":["textures/dox/ExteriorD.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/exteriord2.png":["textures/dox/ExteriorD2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/extspheremetal.png":["textures/dox/ExtSphereMetal.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/floormetacir.png":["textures/dox/FloorMetaCir.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/floormetal.png":["textures/dox/FloorMetal.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/floormetal02.png":["textures/dox/FloorMetal02.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/floormetalbe.png":["textures/dox/FloorMetalBE.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/grate1.png":["textures/dox/grate1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/grate2.png":["textures/dox/grate2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/grate_logo.png":["textures/dox/grate_logo.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/gratered.png":["textures/dox/gratered.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/greylite2.png":["textures/dox/greylite2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/gtext2a.png":["textures/dox/gtext2a.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/hangar_indoor1.png":["textures/dox/hangar_indoor1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/hangar_indoor3.png":["textures/dox/hangar_indoor3.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/hangarwall.png":["textures/dox/hangarwall.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/hangarwall2.png":["textures/dox/hangarwall2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/hitec_wall1.png":["textures/dox/hitec_wall1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/housewall.png":["textures/dox/housewall.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/idkmetal2.png":["textures/dox/idkmetal2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/idkmetal2a.png":["textures/dox/idkmetal2a.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/ir_blocks.png":["textures/dox/ir_blocks.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/ir_plain.png":["textures/dox/ir_plain.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/ir_relief.png":["textures/dox/ir_relief.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/ir_trim1.png":["textures/dox/ir_trim1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/ir_trim2.png":["textures/dox/ir_trim2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/ir_wall.png":["textures/dox/ir_wall.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/jaxscr.png":["textures/dox/jaxscr.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/light_cold3.png":["textures/dox/light_cold3.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/light_small.png":["textures/dox/light_small.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/light_small2.png":["textures/dox/light_small2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/light_small3.png":["textures/dox/light_small3.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/light_small4.png":["textures/dox/light_small4.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/marblefloorb.png":["textures/dox/MarbleFloorB.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/marblefloorc.png":["textures/dox/MarbleFloorC.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/marblewallc.png":["textures/dox/MarbleWallC.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/marblewalle.png":["textures/dox/MarbleWallE.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/marblewallf.png":["textures/dox/MarbleWallF.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/matalwalla.png":["textures/dox/MatalWallA.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/metalventwall.png":["textures/dox/MetalVentWall.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/metalwall.png":["textures/dox/MetalWall.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/minesign.png":["textures/dox/minesign.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/mtlsupgrt2light.png":["textures/dox/mtlsupgrt2light.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/mx3_logo.png":["textures/dox/mx3_logo.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/mx3_memb.png":["textures/dox/mx3_memb.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/mx3_tribute.png":["textures/dox/mx3_tribute.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/mx3_wall.png":["textures/dox/mx3_wall.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/null.png":["textures/dox/null.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/nycto-comp3.png":["textures/dox/Nycto-comp3.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/nycto-computer.png":["textures/dox/Nycto-computer.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/paintwalla.png":["textures/dox/PaintWallA.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/paintwallb.png":["textures/dox/PaintWallB.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/paintwalle.png":["textures/dox/PaintWallE.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/pc1.png":["textures/dox/pc1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/pc2.png":["textures/dox/pc2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/pc3.png":["textures/dox/pc3.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/prisonwall.png":["textures/dox/PrisonWall.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/prisonwo.png":["textures/dox/PrisonWO.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/radarscr.png":["textures/dox/radarscr.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/radarscr2.png":["textures/dox/radarscr2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/redstripe2.png":["textures/dox/redstripe2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/redvent2.png":["textures/dox/redvent2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/rock_smalllite.png":["textures/dox/rock_smalllite.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/rock_stripe.png":["textures/dox/rock_stripe.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/rock_stripe2.png":["textures/dox/rock_stripe2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/rock_wall_lite.png":["textures/dox/rock_wall_lite.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/rock_wall_lite2.png":["textures/dox/rock_wall_lite2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/rock_wall_lite3.png":["textures/dox/rock_wall_lite3.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/rock_wall_lite4.png":["textures/dox/rock_wall_lite4.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/rock_wall_lite5.png":["textures/dox/rock_wall_lite5.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/rock_wall_lite6.png":["textures/dox/rock_wall_lite6.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/rock_wall_lite7.png":["textures/dox/rock_wall_lite7.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/rock_wall_lite8.png":["textures/dox/rock_wall_lite8.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/rockwall_logo.png":["textures/dox/rockwall_logo.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/roman_colla.png":["textures/dox/Roman_COLLa.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/roman_collb.png":["textures/dox/Roman_COLLb.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/roman_roof.png":["textures/dox/Roman_ROOF.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/roman_stone.png":["textures/dox/Roman_STONE.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/roofbeam.png":["textures/dox/roofbeam.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/rustbox.png":["textures/dox/rustbox.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/rustbox_logo.png":["textures/dox/rustbox_logo.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/rway1_start.png":["textures/dox/rway1_start.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/rway2_start.png":["textures/dox/rway2_start.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/rway_end2.png":["textures/dox/rway_end2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/rway_middle.png":["textures/dox/rway_middle.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/sboxlogo2.png":["textures/dox/sboxlogo2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/sboxlogotop.png":["textures/dox/sboxlogotop.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/sign1.png":["textures/dox/sign1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/sign2.png":["textures/dox/sign2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/slabgrill.png":["textures/dox/slabgrill.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/special_shield2.png":["textures/dox/special_shield2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/steelwall_logo.png":["textures/dox/steelwall_logo.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/stone_wall1.png":["textures/dox/stone_wall1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/stone_wall2.png":["textures/dox/stone_wall2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/stone_wall3.png":["textures/dox/stone_wall3.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/stone_wall4.png":["textures/dox/stone_wall4.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/stone_wall5.png":["textures/dox/stone_wall5.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/stone_wall7.png":["textures/dox/stone_wall7.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/stonewall.png":["textures/dox/StoneWall.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/stonewallplain.png":["textures/dox/StoneWallPlain.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/stonewt.png":["textures/dox/StoneWT.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/stripe1.png":["textures/dox/stripe1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/stripe2.png":["textures/dox/stripe2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/stripe3.png":["textures/dox/stripe3.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/striplite2.png":["textures/dox/striplite2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/striplite3.png":["textures/dox/striplite3.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/sub_wall.png":["textures/dox/sub_wall.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/subchart1.png":["textures/dox/subchart1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/subdamage.png":["textures/dox/subdamage.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/tcement1a.png":["textures/dox/tcement1a.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/tfloor.png":["textures/dox/tfloor.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/tlroddtilecln.png":["textures/dox/tlroddtilecln.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/tmtllight.png":["textures/dox/tmtllight.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/transporter.png":["textures/dox/transporter.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/transtek.png":["textures/dox/transtek.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/trimodd.png":["textures/dox/trimodd.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/wall_1.png":["textures/dox/wall_1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/wall_1rust.png":["textures/dox/wall_1rust.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/wall_2.png":["textures/dox/wall_2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/wall_3.png":["textures/dox/wall_3.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/wall_4.png":["textures/dox/wall_4.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/wall_5.png":["textures/dox/wall_5.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/wallmetal01.png":["textures/dox/WallMetal01.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/wallmetal02.png":["textures/dox/WallMetal02.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/wallmetalp.png":["textures/dox/WallMetalP.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/wallmetalp0.png":["textures/dox/WallMetalP0.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/wallmetalp2.png":["textures/dox/WallMetalP2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/wallmetalp3.png":["textures/dox/WallMetalp3.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/wallmetalstrips.png":["textures/dox/WallMetalStrips.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/warm_wtlite.png":["textures/dox/warm_wtlite.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/warning2.png":["textures/dox/warning2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox/white_striplite.png":["textures/dox/white_striplite.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dox_textures/4circle_lite.png":["textures/dox_textures/4circle_lite.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/antigrav.png":["textures/dox_textures/antigrav.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/bluetrim1.png":["textures/dox_textures/bluetrim1.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/bluetrim2.png":["textures/dox_textures/bluetrim2.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/bluetrim3.png":["textures/dox_textures/bluetrim3.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/carinternalwall.png":["textures/dox_textures/carinternalwall.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/carrierwall4.png":["textures/dox_textures/carrierwall4.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/doorlogo2.png":["textures/dox_textures/doorlogo2.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/ds_etechbor01.png":["textures/dox_textures/ds_etechbor01.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/ds_etechbrdr2.png":["textures/dox_textures/ds_etechbrdr2.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/ds_ewall06.png":["textures/dox_textures/ds_ewall06.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/ds_ewall07.png":["textures/dox_textures/ds_ewall07.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/ds_genfloor.png":["textures/dox_textures/ds_genfloor.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/ds_genwall.png":["textures/dox_textures/ds_genwall.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/ds_ilig04.png":["textures/dox_textures/ds_ilig04.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/ds_iwal01.png":["textures/dox_textures/ds_iwal01.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/grate1.png":["textures/dox_textures/grate1.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/grate2.png":["textures/dox_textures/grate2.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/hangar_indoor1.png":["textures/dox_textures/hangar_indoor1.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/hangar_indoor3.png":["textures/dox_textures/hangar_indoor3.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/light_cold3.png":["textures/dox_textures/light_cold3.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/light_small2.png":["textures/dox_textures/light_small2.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/redstripe2.png":["textures/dox_textures/redstripe2.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/rock_smalllite.png":["textures/dox_textures/rock_smalllite.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/rock_wall_lite.png":["textures/dox_textures/rock_wall_lite.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/rock_wall_lite3.png":["textures/dox_textures/rock_wall_lite3.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/rock_wall_lite4.png":["textures/dox_textures/rock_wall_lite4.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/rock_wall_lite5.png":["textures/dox_textures/rock_wall_lite5.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/roofbeam.png":["textures/dox_textures/roofbeam.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/rway_middle.png":["textures/dox_textures/rway_middle.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/sboxlogotop.png":["textures/dox_textures/sboxlogotop.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/slabgrill.png":["textures/dox_textures/slabgrill.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/stripe2.png":["textures/dox_textures/stripe2.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/striplite2.png":["textures/dox_textures/striplite2.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/striplite3.png":["textures/dox_textures/striplite3.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/wall_2.png":["textures/dox_textures/wall_2.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/wall_3.png":["textures/dox_textures/wall_3.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dox_textures/white_striplite.png":["textures/dox_textures/white_striplite.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/dparticle.png":["textures/dParticle.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/ds_ewall07.png":["textures/ds_ewall07.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/ds_ilig02.png":["textures/ds_ilig02.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/ds_iwal01.png":["textures/ds_iwal01.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/ds_nefbltrim.png":["textures/ds_NefBlTrim.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/ds_nefblue1.png":["textures/ds_NefBlue1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/ds_neffloor1.png":["textures/ds_Neffloor1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/ds_nefwall1.png":["textures/ds_NefWall1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dsdust.png":["textures/dsDust.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dsword.flag.png":["textures/dsword.flag.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/dust00.png":["textures/dust00.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/dust01.png":["textures/dust01.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/dust02.png":["textures/dust02.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/dust03.png":["textures/dust03.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/dust04.png":["textures/dust04.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/dust05.png":["textures/dust05.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/dust06.png":["textures/dust06.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/dust07.png":["textures/dust07.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/dust08.png":["textures/dust08.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/dust09.png":["textures/dust09.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/dust10.png":["textures/dust10.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/e8clangfloor05c.png":["textures/e8clangfloor05c.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/e8clangwarnmix_.png":["textures/e8clangwarnmix_.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/e8mtltrim1b.png":["textures/e8mtltrim1b.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/e8trimlight_000.png":["textures/e8trimlight_000.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/earthofrog.png":["textures/EarthofRog.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/ee_dxfling.dml":["textures/ee_dxfling.dml",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/ee_greenrain.dml":["textures/ee_greenrain.dml",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/ee_hive.dml":["textures/ee_hive.dml",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/ee_murkymist.dml":["textures/ee_murkymist.dml",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/ee_sidewinder.dml":["textures/ee_sidewinder.dml",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/ee_tusk.dml":["textures/ee_tusk.dml",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/ee_twilightgrove.dml":["textures/ee_twilightgrove.dml",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/ee_underpin.dml":["textures/ee_underpin.dml",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eedessert.dml":["textures/eedessert.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/eeor/base1c.png":["textures/eeor/base1c.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/be_itedoo01.png":["textures/eeor/be_itedoo01.PNG",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/be_itelig01.png":["textures/eeor/be_itelig01.PNG",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/beaglelz.png":["textures/eeor/beaglelz.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/belogo2.png":["textures/eeor/BElogo2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/bluetrim1.png":["textures/eeor/bluetrim1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/bluetrim2.png":["textures/eeor/bluetrim2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/bluetrim2a.png":["textures/eeor/bluetrim2a.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/bluetrim4.png":["textures/eeor/bluetrim4.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/crudewarn.png":["textures/eeor/crudewarn.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/dox_bluelite2.png":["textures/eeor/dox_bluelite2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/ds_ilig02.png":["textures/eeor/ds_ilig02.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/ds_nefblue1.png":["textures/eeor/ds_NefBlue1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/ds_neffloor5.png":["textures/eeor/ds_Neffloor5.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/ds_nefwall1.png":["textures/eeor/ds_NefWall1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/e8_base1.png":["textures/eeor/e8_base1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/grate1.png":["textures/eeor/grate1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/radarscr.png":["textures/eeor/radarscr.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/redstripe2.png":["textures/eeor/redstripe2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/afternoondelight/afternoondelight_back.png":["textures/eeor/skies/afternoondelight/afternoondelight_back.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/afternoondelight/afternoondelight_bottom.png":["textures/eeor/skies/afternoondelight/afternoondelight_bottom.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/afternoondelight/afternoondelight_front.png":["textures/eeor/skies/afternoondelight/afternoondelight_front.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/afternoondelight/afternoondelight_left.png":["textures/eeor/skies/afternoondelight/afternoondelight_left.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/afternoondelight/afternoondelight_right.png":["textures/eeor/skies/afternoondelight/afternoondelight_right.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/afternoondelight/afternoondelight_sky.png":["textures/eeor/skies/afternoondelight/AfternoonDelight_sky.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/afternoondelight/afternoondelight_top.png":["textures/eeor/skies/afternoondelight/afternoondelight_top.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/arcticfever/arcticfever_back.png":["textures/eeor/skies/arcticfever/arcticfever_back.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/arcticfever/arcticfever_bottom.png":["textures/eeor/skies/arcticfever/arcticfever_bottom.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/arcticfever/arcticfever_front.png":["textures/eeor/skies/arcticfever/arcticfever_front.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/arcticfever/arcticfever_left.png":["textures/eeor/skies/arcticfever/arcticfever_left.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/arcticfever/arcticfever_right.png":["textures/eeor/skies/arcticfever/arcticfever_right.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/arcticfever/arcticfever_top.png":["textures/eeor/skies/arcticfever/arcticfever_top.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/cloudscape/cloudscape_back.png":["textures/eeor/skies/cloudscape/Cloudscape_back.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/cloudscape/cloudscape_bottom.png":["textures/eeor/skies/cloudscape/Cloudscape_bottom.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/cloudscape/cloudscape_front.png":["textures/eeor/skies/cloudscape/Cloudscape_front.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/cloudscape/cloudscape_left.png":["textures/eeor/skies/cloudscape/Cloudscape_left.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/cloudscape/cloudscape_right.png":["textures/eeor/skies/cloudscape/Cloudscape_right.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/cloudscape/cloudscape_sky.png":["textures/eeor/skies/cloudscape/Cloudscape_sky.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/cloudscape/cloudscape_top.png":["textures/eeor/skies/cloudscape/Cloudscape_top.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/greenrain/greenrain_back.png":["textures/eeor/skies/greenrain/greenrain_back.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/greenrain/greenrain_bottom.png":["textures/eeor/skies/greenrain/greenrain_bottom.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/greenrain/greenrain_front.png":["textures/eeor/skies/greenrain/greenrain_front.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/greenrain/greenrain_left.png":["textures/eeor/skies/greenrain/greenrain_left.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/greenrain/greenrain_right.png":["textures/eeor/skies/greenrain/greenrain_right.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/greenrain/greenrain_top.png":["textures/eeor/skies/greenrain/greenrain_top.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/lonelycrimson/lonelycrimson_back.png":["textures/eeor/skies/lonelycrimson/LonelyCrimson_back.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/lonelycrimson/lonelycrimson_bottom.png":["textures/eeor/skies/lonelycrimson/LonelyCrimson_bottom.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/lonelycrimson/lonelycrimson_front.png":["textures/eeor/skies/lonelycrimson/LonelyCrimson_front.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/lonelycrimson/lonelycrimson_left.png":["textures/eeor/skies/lonelycrimson/LonelyCrimson_left.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/lonelycrimson/lonelycrimson_right.png":["textures/eeor/skies/lonelycrimson/LonelyCrimson_right.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/lonelycrimson/lonelycrimson_sky.png":["textures/eeor/skies/lonelycrimson/LonelyCrimson_sky.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/lonelycrimson/lonelycrimson_top.png":["textures/eeor/skies/lonelycrimson/LonelyCrimson_top.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/murkymist/murkymist_back.png":["textures/eeor/skies/murkymist/MurkyMist_back.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/murkymist/murkymist_bottom.png":["textures/eeor/skies/murkymist/MurkyMist_bottom.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/murkymist/murkymist_front.png":["textures/eeor/skies/murkymist/MurkyMist_front.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/murkymist/murkymist_left.png":["textures/eeor/skies/murkymist/MurkyMist_left.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/murkymist/murkymist_right.png":["textures/eeor/skies/murkymist/MurkyMist_right.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/murkymist/murkymist_sky.png":["textures/eeor/skies/murkymist/MurkyMist_sky.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/murkymist/murkymist_top.png":["textures/eeor/skies/murkymist/MurkyMist_top.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/stormopoly/stormopoly_back.png":["textures/eeor/skies/stormopoly/Stormopoly_back.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/stormopoly/stormopoly_bottom.png":["textures/eeor/skies/stormopoly/Stormopoly_bottom.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/stormopoly/stormopoly_front.png":["textures/eeor/skies/stormopoly/Stormopoly_front.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/stormopoly/stormopoly_left.png":["textures/eeor/skies/stormopoly/Stormopoly_left.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/stormopoly/stormopoly_right.png":["textures/eeor/skies/stormopoly/Stormopoly_right.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/stormopoly/stormopoly_sky.png":["textures/eeor/skies/stormopoly/Stormopoly_sky.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/stormopoly/stormopoly_top.png":["textures/eeor/skies/stormopoly/Stormopoly_top.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/underpin/underpin_back.png":["textures/eeor/skies/underpin/underpin_back.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/underpin/underpin_bottom.png":["textures/eeor/skies/underpin/underpin_bottom.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/underpin/underpin_front.png":["textures/eeor/skies/underpin/underpin_front.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/underpin/underpin_left.png":["textures/eeor/skies/underpin/underpin_left.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/underpin/underpin_right.png":["textures/eeor/skies/underpin/underpin_right.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/underpin/underpin_sky.png":["textures/eeor/skies/underpin/underpin_sky.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/skies/underpin/underpin_top.png":["textures/eeor/skies/underpin/underpin_top.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/striplite2.png":["textures/eeor/striplite2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/tcement1a.png":["textures/eeor/tcement1a.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/tech_st1_blk2.png":["textures/eeor/tech_st1_blk2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/techcomp1_blk2.png":["textures/eeor/techcomp1_blk2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/techcomp1_ylw1.png":["textures/eeor/techcomp1_ylw1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/techcomp4_blk2.png":["textures/eeor/techcomp4_blk2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/techflat1_blk1.png":["textures/eeor/techflat1_blk1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/techflat1_red2.png":["textures/eeor/techflat1_red2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/techflat1_ylw1.png":["textures/eeor/techflat1_ylw1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/techflr1_blk2.png":["textures/eeor/techflr1_blk2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/techflr1_red2.png":["textures/eeor/techflr1_red2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/techflr1_ylw1.png":["textures/eeor/techflr1_ylw1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eeor/techwall2_grey1.png":["textures/eeor/techwall2_grey1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eflareb2.png":["textures/EFlareB2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/eflarer2.png":["textures/EFlareR2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/elevator1.png":["textures/elevator1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/emap.bmp":["textures/emap.bmp",["textures.vl2"]],"textures/emap.png":["textures/emap.png",["yHDTextures2.0.vl2"]],"textures/emitterglowgridd.png":["textures/emitterGlowGridD.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/emittergridd.png":["textures/emitterGridD.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/energyhaze.png":["textures/energyHaze.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/euro4_bleed.dml":["textures/Euro4_Bleed.dml",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/euro4_frozenhope.dml":["textures/Euro4_FrozenHope.dml",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/eve1.dml":["textures/eve1.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/eve2.dml":["textures/eve2.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/eve3.dml":["textures/eve3.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/eve4.dml":["textures/eve4.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/eve5.dml":["textures/eve5.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/eve6.dml":["textures/eve6.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/eve7.dml":["textures/eve7.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/eve8.dml":["textures/eve8.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/evil/ancient3.png":["textures/evil/ancient3.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/evil/base1c.png":["textures/evil/base1c.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/evil/beam01.png":["textures/evil/beam01.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/evil/bolttrim.png":["textures/evil/bolttrim.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/evil/cementwall6.png":["textures/evil/cementwall6.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/evil/cementwall8.png":["textures/evil/cementwall8.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/evil/cretepillarc.png":["textures/evil/cretepillarc.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/evil/crudewarn.png":["textures/evil/crudewarn.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/evil/drkmtldpanelc.png":["textures/evil/drkmtldpanelc.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/evil/e6cfloordented.png":["textures/evil/e6cfloordented.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/evil/e6girdergrate.png":["textures/evil/e6girdergrate.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/evil/e6grate2flr.png":["textures/evil/e6grate2flr.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/evil/e6horzlight.png":["textures/evil/e6horzlight.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/evil/e6smlgrtflr2bl.png":["textures/evil/e6smlgrtflr2bl.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/evil/e6strimlight.png":["textures/evil/e6strimlight.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/evil/housewall.png":["textures/evil/housewall.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/evil/mtlsupgrt2light.png":["textures/evil/mtlsupgrt2light.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/evil/tfloor.png":["textures/evil/tfloor.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/evil/tlroddtilecln.png":["textures/evil/tlroddtilecln.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/evil/tmtllight.png":["textures/evil/tmtllight.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/evil/trimodd.png":["textures/evil/trimodd.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/evil/warning2.png":["textures/evil/warning2.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/evil8/e8_base1.png":["textures/Evil8/e8_base1.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8_base1b.png":["textures/Evil8/e8_base1b.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8_base1c.png":["textures/Evil8/e8_base1c.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8_btrim01.png":["textures/Evil8/e8_btrim01.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8_btrim05.png":["textures/Evil8/e8_btrim05.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8_launchpad1.png":["textures/Evil8/e8_launchpad1.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8_mtlwall1b.png":["textures/Evil8/e8_mtlwall1b.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8_mtlwall3.png":["textures/Evil8/e8_mtlwall3.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8_mtlwall4.png":["textures/Evil8/e8_mtlwall4.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8_rlight_0000.png":["textures/Evil8/e8_rlight_0000.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8_rlightb.png":["textures/Evil8/e8_rlightb.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8_rlightb_0000.png":["textures/Evil8/e8_rlightb_0000.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8basictrim2_bl.png":["textures/Evil8/e8basictrim2_bl.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8beam01.png":["textures/Evil8/e8beam01.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8beam01b.png":["textures/Evil8/e8beam01b.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8beam02.png":["textures/Evil8/e8beam02.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8bgrate01.png":["textures/Evil8/e8bgrate01.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8bolttrim.png":["textures/Evil8/e8bolttrim.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8bolttrimb.png":["textures/Evil8/e8bolttrimb.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8clangfloor.png":["textures/Evil8/e8clangfloor.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8clangfloor01.png":["textures/Evil8/e8clangfloor01.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8clangfloor03.png":["textures/Evil8/e8clangfloor03.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8clangfloor05c.png":["textures/Evil8/e8clangfloor05c.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8clangwarnmix_.png":["textures/Evil8/e8clangwarnmix_.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8crete01.png":["textures/Evil8/e8crete01.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8crete01stair1.png":["textures/Evil8/e8crete01stair1.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8crete03.png":["textures/Evil8/e8crete03.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8crete03b.png":["textures/Evil8/e8crete03b.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8crete03c.png":["textures/Evil8/e8crete03c.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8crete03cc.png":["textures/Evil8/e8crete03cc.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8crete03d.png":["textures/Evil8/e8crete03d.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8crete03fadedw.png":["textures/Evil8/e8crete03fadedw.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8cretefloor02.png":["textures/Evil8/e8cretefloor02.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8cretefloor_ti.png":["textures/Evil8/e8cretefloor_ti.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8cretesmlltrim.png":["textures/Evil8/e8cretesmlltrim.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8lighttrim.png":["textures/Evil8/e8lighttrim.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8lighttrim_b.png":["textures/Evil8/e8lighttrim_b.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8metal03c_blue.png":["textures/Evil8/e8metal03c_blue.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8mtltrim.png":["textures/Evil8/e8mtltrim.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8mtltrim1.png":["textures/Evil8/e8mtltrim1.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8mtltrim1b.png":["textures/Evil8/e8mtltrim1b.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8mtltrim2.png":["textures/Evil8/e8mtltrim2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8smlltrim1.png":["textures/Evil8/e8smlltrim1.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8spawn01b.png":["textures/Evil8/e8spawn01b.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8support02.png":["textures/Evil8/e8support02.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8support02c.png":["textures/Evil8/e8support02c.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8support04b_bl.png":["textures/Evil8/e8support04b_bl.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8support05.png":["textures/Evil8/e8support05.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8tinylight_000.png":["textures/Evil8/e8tinylight_000.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8tmtllight2.png":["textures/Evil8/e8tmtllight2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8trimlight_000.png":["textures/Evil8/e8trimlight_000.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8warning2.png":["textures/Evil8/e8warning2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8warning256.png":["textures/Evil8/e8warning256.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8warning2step.png":["textures/Evil8/e8warning2step.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8wrntrim.png":["textures/Evil8/e8wrntrim.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/e8wrntrim2b.png":["textures/Evil8/e8wrntrim2b.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/evil8/null.png":["textures/Evil8/null.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/ewok/canopyleaves.png":["textures/ewok/canopyLeaves.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/ewok/floorlogs.png":["textures/ewok/floorLogs.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/ewok/logend.png":["textures/ewok/logEnd.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/ewok/roughwood.png":["textures/ewok/roughWood.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/ewok/smoothwood.png":["textures/ewok/smoothWood.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/ewok/thatchroof.png":["textures/ewok/thatchRoof.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/ewok/treebark.png":["textures/ewok/treeBark.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/ewok/treeinside.png":["textures/ewok/TREEINSIDE.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/exflame.png":["textures/exFlame.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/flag_skinmap.png":["textures/flag_skinmap.png",["TR2final105-client.vl2"]],"textures/flarebase.png":["textures/flarebase.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/flaremod.png":["textures/flaremod.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/fling1/bd_ispe07.png":["textures/fling1/bd_ispe07.PNG",["z_mappacks/CTF/S8maps.vl2"]],"textures/fling1/be_edoo02.png":["textures/fling1/be_edoo02.PNG",["z_mappacks/CTF/S8maps.vl2"]],"textures/fling1/be_icei01a.png":["textures/fling1/be_icei01a.png",["z_mappacks/CTF/S8maps.vl2"]],"textures/fling1/crudewarn.png":["textures/fling1/crudewarn.png",["z_mappacks/CTF/S8maps.vl2"]],"textures/fling1/dox_bluelite1.png":["textures/fling1/dox_bluelite1.png",["z_mappacks/CTF/S8maps.vl2"]],"textures/fling1/ds_ilig02.png":["textures/fling1/ds_ilig02.png",["z_mappacks/CTF/S8maps.vl2"]],"textures/fling1/ds_ilig04.png":["textures/fling1/ds_ilig04.png",["z_mappacks/CTF/S8maps.vl2"]],"textures/fling1/ds_jet03.png":["textures/fling1/ds_jet03.png",["z_mappacks/CTF/S8maps.vl2"]],"textures/fling1/ds_nefblue.png":["textures/fling1/ds_NefBlue.png",["z_mappacks/CTF/S8maps.vl2"]],"textures/fling1/ds_nefblue1.png":["textures/fling1/ds_NefBlue1.png",["z_mappacks/CTF/S8maps.vl2"]],"textures/fling1/ds_neffloor1.png":["textures/fling1/ds_Neffloor1.png",["z_mappacks/CTF/S8maps.vl2"]],"textures/fling1/e6strimlight.png":["textures/fling1/e6strimlight.png",["z_mappacks/CTF/S8maps.vl2"]],"textures/fling1/e8clangfloor.png":["textures/fling1/e8clangfloor.png",["z_mappacks/CTF/S8maps.vl2"]],"textures/fling1/e8tinylight_000.png":["textures/fling1/e8tinylight_000.png",["z_mappacks/CTF/S8maps.vl2"]],"textures/fling1/null.png":["textures/fling1/null.png",["z_mappacks/CTF/S8maps.vl2"]],"textures/fling1/nycto-comp3.png":["textures/fling1/Nycto-comp3.png",["z_mappacks/CTF/S8maps.vl2"]],"textures/fling1/nycto-computer.png":["textures/fling1/Nycto-computer.png",["z_mappacks/CTF/S8maps.vl2"]],"textures/flingsky/emap_muddy.png":["textures/flingsky/emap_muddy.png",["z_mappacks/CTF/S8maps.vl2"]],"textures/flingsky/flingsky03_bk.png":["textures/flingsky/flingsky03_BK.png",["z_mappacks/CTF/S8maps.vl2"]],"textures/flingsky/flingsky03_dn.png":["textures/flingsky/flingsky03_DN.png",["z_mappacks/CTF/S8maps.vl2"]],"textures/flingsky/flingsky03_fr.png":["textures/flingsky/flingsky03_FR.png",["z_mappacks/CTF/S8maps.vl2"]],"textures/flingsky/flingsky03_lf.png":["textures/flingsky/flingsky03_LF.png",["z_mappacks/CTF/S8maps.vl2"]],"textures/flingsky/flingsky03_rt.png":["textures/flingsky/flingsky03_RT.png",["z_mappacks/CTF/S8maps.vl2"]],"textures/flingsky/flingsky03_up.png":["textures/flingsky/flingsky03_UP.png",["z_mappacks/CTF/S8maps.vl2"]],"textures/flingsky03.dml":["textures/flingsky03.dml",["z_mappacks/CTF/S8maps.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/fluid_lava.dml":["textures/fluid_lava.dml",["textures.vl2"]],"textures/fluid_water.dml":["textures/fluid_water.dml",["textures.vl2"]],"textures/flyer.png":["textures/flyer.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/flyer2.png":["textures/flyer2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/flyercockpit.png":["textures/flyercockpit.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/flyerexhaust.png":["textures/flyerexhaust.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/flyerflame.png":["textures/flyerflame.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/grate1.png":["textures/grate1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/greenbg.png":["textures/greenBg.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/grn_blink4.png":["textures/grn_blink4.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/gui/beacon_base.png":["textures/gui/beacon_base.png",["textures.vl2"]],"textures/gui/bg_bioderm.png":["textures/gui/bg_Bioderm.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/gui/bg_bloodeagle.png":["textures/gui/bg_Bloodeagle.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/gui/bg_diamondsword.png":["textures/gui/bg_Diamondsword.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/gui/bg_hammers.png":["textures/gui/bg_Hammers.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/gui/bg_harbingers.png":["textures/gui/bg_Harbingers.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/gui/bg_starwolf.png":["textures/gui/bg_Starwolf.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/gui/bloodeagle.png":["textures/gui/BloodEagle.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/gui/cred_1.png":["textures/gui/CRED_1.png",["textures.vl2"]],"textures/gui/cred_10.png":["textures/gui/CRED_10.png",["textures.vl2"]],"textures/gui/cred_11.png":["textures/gui/CRED_11.png",["textures.vl2"]],"textures/gui/cred_12.png":["textures/gui/CRED_12.png",["textures.vl2"]],"textures/gui/cred_13.png":["textures/gui/CRED_13.png",["textures.vl2"]],"textures/gui/cred_14.png":["textures/gui/CRED_14.png",["textures.vl2"]],"textures/gui/cred_15.png":["textures/gui/CRED_15.png",["textures.vl2"]],"textures/gui/cred_16.png":["textures/gui/CRED_16.png",["textures.vl2"]],"textures/gui/cred_17.png":["textures/gui/CRED_17.png",["textures.vl2"]],"textures/gui/cred_18.png":["textures/gui/CRED_18.png",["textures.vl2"]],"textures/gui/cred_19.png":["textures/gui/CRED_19.png",["textures.vl2"]],"textures/gui/cred_2.png":["textures/gui/CRED_2.png",["textures.vl2"]],"textures/gui/cred_20.png":["textures/gui/CRED_20.png",["textures.vl2"]],"textures/gui/cred_21.png":["textures/gui/CRED_21.png",["textures.vl2"]],"textures/gui/cred_22.png":["textures/gui/CRED_22.png",["textures.vl2"]],"textures/gui/cred_23.png":["textures/gui/CRED_23.png",["textures.vl2"]],"textures/gui/cred_24.png":["textures/gui/CRED_24.png",["textures.vl2"]],"textures/gui/cred_25.png":["textures/gui/CRED_25.png",["textures.vl2"]],"textures/gui/cred_26.png":["textures/gui/CRED_26.png",["textures.vl2"]],"textures/gui/cred_27.png":["textures/gui/CRED_27.png",["textures.vl2"]],"textures/gui/cred_28.png":["textures/gui/CRED_28.png",["textures.vl2"]],"textures/gui/cred_29.png":["textures/gui/CRED_29.png",["textures.vl2"]],"textures/gui/cred_3.png":["textures/gui/CRED_3.png",["textures.vl2"]],"textures/gui/cred_30.png":["textures/gui/CRED_30.png",["textures.vl2"]],"textures/gui/cred_31.png":["textures/gui/CRED_31.png",["textures.vl2"]],"textures/gui/cred_32.png":["textures/gui/CRED_32.png",["textures.vl2"]],"textures/gui/cred_33.png":["textures/gui/CRED_33.png",["textures.vl2"]],"textures/gui/cred_34.png":["textures/gui/CRED_34.png",["textures.vl2"]],"textures/gui/cred_35.png":["textures/gui/CRED_35.png",["textures.vl2"]],"textures/gui/cred_36.png":["textures/gui/CRED_36.png",["textures.vl2"]],"textures/gui/cred_37.png":["textures/gui/CRED_37.png",["textures.vl2"]],"textures/gui/cred_38.png":["textures/gui/CRED_38.png",["textures.vl2"]],"textures/gui/cred_39.png":["textures/gui/CRED_39.png",["textures.vl2"]],"textures/gui/cred_4.png":["textures/gui/CRED_4.png",["textures.vl2"]],"textures/gui/cred_40.png":["textures/gui/CRED_40.png",["textures.vl2"]],"textures/gui/cred_41.png":["textures/gui/CRED_41.png",["textures.vl2"]],"textures/gui/cred_42.png":["textures/gui/CRED_42.png",["textures.vl2"]],"textures/gui/cred_43.png":["textures/gui/CRED_43.png",["textures.vl2"]],"textures/gui/cred_44.png":["textures/gui/CRED_44.png",["textures.vl2"]],"textures/gui/cred_45.png":["textures/gui/CRED_45.png",["textures.vl2"]],"textures/gui/cred_46.png":["textures/gui/CRED_46.png",["textures.vl2"]],"textures/gui/cred_5.png":["textures/gui/CRED_5.png",["textures.vl2"]],"textures/gui/cred_6.png":["textures/gui/CRED_6.png",["textures.vl2"]],"textures/gui/cred_7.png":["textures/gui/CRED_7.png",["textures.vl2"]],"textures/gui/cred_8.png":["textures/gui/CRED_8.png",["textures.vl2"]],"textures/gui/cred_9.png":["textures/gui/CRED_9.png",["textures.vl2"]],"textures/gui/crosshairs.png":["textures/gui/crosshairs.png",["textures.vl2"]],"textures/gui/cur_3darrow.png":["textures/gui/CUR_3darrow.png",["textures.vl2"]],"textures/gui/cur_3darrowhelp.png":["textures/gui/CUR_3darrowhelp.png",["textures.vl2"]],"textures/gui/cur_3darrowno.png":["textures/gui/CUR_3darrowno.PNG",["textures.vl2"]],"textures/gui/cur_3darrowwait.png":["textures/gui/CUR_3darrowwait.png",["textures.vl2"]],"textures/gui/cur_3ddiagleft.png":["textures/gui/CUR_3ddiagleft.png",["textures.vl2"]],"textures/gui/cur_3ddiagright.png":["textures/gui/CUR_3ddiagright.png",["textures.vl2"]],"textures/gui/cur_3dleftright.png":["textures/gui/CUR_3dleftright.png",["textures.vl2"]],"textures/gui/cur_3dmove.png":["textures/gui/CUR_3dmove.png",["textures.vl2"]],"textures/gui/cur_3dresizeright.png":["textures/gui/CUR_3dresizeright.png",["textures.vl2"]],"textures/gui/cur_3dupdown.png":["textures/gui/CUR_3dupdown.PNG",["textures.vl2"]],"textures/gui/cur_grab.png":["textures/gui/CUR_Grab.png",["textures.vl2"]],"textures/gui/cur_hand.png":["textures/gui/CUR_Hand.png",["textures.vl2"]],"textures/gui/cur_rotate.png":["textures/gui/CUR_Rotate.png",["textures.vl2"]],"textures/gui/darkscroll.png":["textures/gui/darkScroll.png",["textures.vl2"]],"textures/gui/darkwindow.png":["textures/gui/darkWindow.png",["textures.vl2"]],"textures/gui/dlg_box.png":["textures/gui/dlg_box.png",["textures.vl2"]],"textures/gui/dlg_button.png":["textures/gui/dlg_button.png",["textures.vl2"]],"textures/gui/dlg_fieldfill.png":["textures/gui/dlg_fieldfill.png",["textures.vl2"]],"textures/gui/dlg_fieldgrade.png":["textures/gui/dlg_fieldgrade.png",["textures.vl2"]],"textures/gui/dlg_frame_edge.png":["textures/gui/dlg_frame_edge.png",["textures.vl2"]],"textures/gui/dlg_frame_end.png":["textures/gui/dlg_frame_end.png",["textures.vl2"]],"textures/gui/dlg_titletab.png":["textures/gui/dlg_titletab.png",["textures.vl2"]],"textures/gui/editor_defaulthandle.png":["textures/gui/Editor_DefaultHandle.png",["textures.vl2"]],"textures/gui/editor_lockedhandle.png":["textures/gui/Editor_LockedHandle.png",["textures.vl2"]],"textures/gui/editor_selecthandle.png":["textures/gui/Editor_SelectHandle.png",["textures.vl2"]],"textures/gui/email_notread.png":["textures/gui/email_notread.png",["textures.vl2"]],"textures/gui/email_read.png":["textures/gui/email_read.png",["textures.vl2"]],"textures/gui/ggsplash.jpg":["textures/gui/GGSplash.jpg",["textures.vl2"]],"textures/gui/hud_alliedtriangle.png":["textures/gui/hud_alliedtriangle.png",["textures.vl2"]],"textures/gui/hud_ammopack.png":["textures/gui/hud_ammopack.png",["textures.vl2"]],"textures/gui/hud_armbar.png":["textures/gui/hud_armbar.png",["textures.vl2"]],"textures/gui/hud_armbaricon.png":["textures/gui/hud_armbaricon.png",["textures.vl2"]],"textures/gui/hud_beacon.png":["textures/gui/hud_beacon.png",["textures.vl2"]],"textures/gui/hud_blaster.png":["textures/gui/hud_blaster.png",["textures.vl2"]],"textures/gui/hud_camera.png":["textures/gui/hud_camera.png",["textures.vl2"]],"textures/gui/hud_chaingun.png":["textures/gui/hud_chaingun.png",["textures.vl2"]],"textures/gui/hud_chat.png":["textures/gui/hud_chat.png",["textures.vl2"]],"textures/gui/hud_chat_button_off.png":["textures/gui/Hud_chat_button_off.png",["textures.vl2"]],"textures/gui/hud_chat_button_on.png":["textures/gui/Hud_chat_button_on.png",["textures.vl2"]],"textures/gui/hud_chatpagedown.png":["textures/gui/hud_ChatPageDown.png",["textures.vl2"]],"textures/gui/hud_cloakpack.png":["textures/gui/hud_cloakpack.png",["textures.vl2"]],"textures/gui/hud_cmmndfield.png":["textures/gui/hud_cmmndfield.png",["textures.vl2"]],"textures/gui/hud_deploypack.png":["textures/gui/hud_deploypack.png",["textures.vl2"]],"textures/gui/hud_disc.png":["textures/gui/hud_disc.png",["textures.vl2"]],"textures/gui/hud_disconnect.png":["textures/gui/hud_disconnect.png",["textures.vl2"]],"textures/gui/hud_dot.png":["textures/gui/hud_dot.png",["textures.vl2"]],"textures/gui/hud_east.png":["textures/gui/hud_east.png",["textures.vl2"]],"textures/gui/hud_elfgun.png":["textures/gui/hud_elfgun.png",["textures.vl2"]],"textures/gui/hud_enemytriangle.png":["textures/gui/hud_enemytriangle.png",["textures.vl2"]],"textures/gui/hud_energypack.png":["textures/gui/hud_energypack.png",["textures.vl2"]],"textures/gui/hud_ergbar.png":["textures/gui/hud_ergbar.png",["textures.vl2"]],"textures/gui/hud_ergbaricon.png":["textures/gui/hud_ergbaricon.png",["textures.vl2"]],"textures/gui/hud_grenlaunch.png":["textures/gui/hud_grenlaunch.png",["textures.vl2"]],"textures/gui/hud_handgren.png":["textures/gui/hud_handgren.png",["textures.vl2"]],"textures/gui/hud_infinity.png":["textures/gui/hud_infinity.png",["textures.vl2"]],"textures/gui/hud_jamm.png":["textures/gui/hud_jamm.png",["textures.vl2"]],"textures/gui/hud_medpack.png":["textures/gui/hud_medpack.png",["textures.vl2"]],"textures/gui/hud_mine.png":["textures/gui/hud_mine.png",["textures.vl2"]],"textures/gui/hud_missiles.png":["textures/gui/hud_missiles.png",["textures.vl2"]],"textures/gui/hud_mistimer.png":["textures/gui/hud_mistimer.png",["textures.vl2"]],"textures/gui/hud_mortor.png":["textures/gui/hud_mortor.png",["textures.vl2"]],"textures/gui/hud_navcirc.png":["textures/gui/hud_navcirc.png",["textures.vl2"]],"textures/gui/hud_new_beacon.png":["textures/gui/hud_new_beacon.png",["textures.vl2"]],"textures/gui/hud_new_blaster.png":["textures/gui/hud_new_blaster.png",["textures.vl2"]],"textures/gui/hud_new_chaingun.png":["textures/gui/hud_new_chaingun.png",["textures.vl2"]],"textures/gui/hud_new_cog.png":["textures/gui/hud_new_cog.png",["textures.vl2"]],"textures/gui/hud_new_compass.png":["textures/gui/hud_new_compass.png",["textures.vl2"]],"textures/gui/hud_new_disc.png":["textures/gui/hud_new_disc.png",["textures.vl2"]],"textures/gui/hud_new_elfgun.png":["textures/gui/hud_new_elfgun.png",["textures.vl2"]],"textures/gui/hud_new_grenlaunch.png":["textures/gui/hud_new_grenlaunch.png",["textures.vl2"]],"textures/gui/hud_new_handgren.png":["textures/gui/hud_new_handgren.png",["textures.vl2"]],"textures/gui/hud_new_medpack.png":["textures/gui/hud_new_medpack.png",["textures.vl2"]],"textures/gui/hud_new_mine.png":["textures/gui/hud_new_mine.png",["textures.vl2"]],"textures/gui/hud_new_missile.png":["textures/gui/hud_new_missile.png",["textures.vl2"]],"textures/gui/hud_new_mortar.png":["textures/gui/hud_new_mortar.png",["textures.vl2"]],"textures/gui/hud_new_nsew.png":["textures/gui/hud_new_NSEW.png",["textures.vl2"]],"textures/gui/hud_new_packammo.png":["textures/gui/hud_new_packammo.png",["textures.vl2"]],"textures/gui/hud_new_packcloak.png":["textures/gui/hud_new_packcloak.png",["textures.vl2"]],"textures/gui/hud_new_packcloak_armed.png":["textures/gui/hud_new_packcloak_armed.png",["textures.vl2"]],"textures/gui/hud_new_packenergy.png":["textures/gui/hud_new_packenergy.png",["textures.vl2"]],"textures/gui/hud_new_packinventory.png":["textures/gui/hud_new_packinventory.png",["textures.vl2"]],"textures/gui/hud_new_packmotionsens.png":["textures/gui/hud_new_packmotionsens.png",["textures.vl2"]],"textures/gui/hud_new_packradar.png":["textures/gui/hud_new_packradar.png",["textures.vl2"]],"textures/gui/hud_new_packrepair.png":["textures/gui/hud_new_packrepair.png",["textures.vl2"]],"textures/gui/hud_new_packrepair_armed.png":["textures/gui/hud_new_packrepair_armed.png",["textures.vl2"]],"textures/gui/hud_new_packsatchel.png":["textures/gui/hud_new_packsatchel.png",["textures.vl2"]],"textures/gui/hud_new_packsensjam.png":["textures/gui/hud_new_packsensjam.png",["textures.vl2"]],"textures/gui/hud_new_packsensjam_armed.png":["textures/gui/hud_new_packsensjam_armed.png",["textures.vl2"]],"textures/gui/hud_new_packshield.png":["textures/gui/hud_new_packshield.png",["textures.vl2"]],"textures/gui/hud_new_packshield_armed.png":["textures/gui/hud_new_packshield_armed.png",["textures.vl2"]],"textures/gui/hud_new_packturret.png":["textures/gui/hud_new_packturret.png",["textures.vl2"]],"textures/gui/hud_new_packturretin.png":["textures/gui/hud_new_packturretin.png",["textures.vl2"]],"textures/gui/hud_new_packturretout.png":["textures/gui/hud_new_packturretout.png",["textures.vl2"]],"textures/gui/hud_new_panel.png":["textures/gui/hud_new_panel.png",["textures.vl2"]],"textures/gui/hud_new_ping.png":["textures/gui/hud_new_ping.png",["textures.vl2"]],"textures/gui/hud_new_ping_green.png":["textures/gui/hud_new_ping_green.png",["textures.vl2"]],"textures/gui/hud_new_ping_red.png":["textures/gui/hud_new_ping_red.png",["textures.vl2"]],"textures/gui/hud_new_ping_yellow.png":["textures/gui/hud_new_ping_yellow.png",["textures.vl2"]],"textures/gui/hud_new_plasma.png":["textures/gui/hud_new_plasma.png",["textures.vl2"]],"textures/gui/hud_new_scorewindow.png":["textures/gui/hud_new_scorewindow.png",["textures.vl2"]],"textures/gui/hud_new_shocklance.png":["textures/gui/hud_new_shocklance.png",["textures.vl2"]],"textures/gui/hud_new_sniper.png":["textures/gui/hud_new_sniper.png",["textures.vl2"]],"textures/gui/hud_new_targetlaser.png":["textures/gui/hud_new_targetlaser.png",["textures.vl2"]],"textures/gui/hud_new_weaponselect.png":["textures/gui/hud_new_weaponselect.png",["textures.vl2"]],"textures/gui/hud_new_window_bl.png":["textures/gui/hud_new_window_BL.png",["textures.vl2"]],"textures/gui/hud_new_window_bm.png":["textures/gui/hud_new_window_BM.png",["textures.vl2"]],"textures/gui/hud_new_window_br.png":["textures/gui/hud_new_window_BR.png",["textures.vl2"]],"textures/gui/hud_new_window_ml.png":["textures/gui/hud_new_window_ML.png",["textures.vl2"]],"textures/gui/hud_new_window_mm.png":["textures/gui/hud_new_window_MM.png",["textures.vl2"]],"textures/gui/hud_new_window_mr.png":["textures/gui/hud_new_window_MR.png",["textures.vl2"]],"textures/gui/hud_new_window_tl.png":["textures/gui/hud_new_window_TL.png",["textures.vl2"]],"textures/gui/hud_new_window_tm.png":["textures/gui/hud_new_window_TM.png",["textures.vl2"]],"textures/gui/hud_new_window_tr.png":["textures/gui/hud_new_window_TR.png",["textures.vl2"]],"textures/gui/hud_nopack.png":["textures/gui/hud_nopack.png",["textures.vl2"]],"textures/gui/hud_north.png":["textures/gui/hud_north.png",["textures.vl2"]],"textures/gui/hud_objective.png":["textures/gui/hud_objective.png",["textures.vl2"]],"textures/gui/hud_objtimer.png":["textures/gui/hud_objtimer.png",["textures.vl2"]],"textures/gui/hud_packback.png":["textures/gui/hud_packback.png",["textures.vl2"]],"textures/gui/hud_packwin.png":["textures/gui/hud_packwin.png",["textures.vl2"]],"textures/gui/hud_ping.png":["textures/gui/hud_ping.png",["textures.vl2"]],"textures/gui/hud_plasma.png":["textures/gui/hud_plasma.png",["textures.vl2"]],"textures/gui/hud_playertriangle.png":["textures/gui/hud_playertriangle.png",["textures.vl2"]],"textures/gui/hud_playertriangle_enemy.png":["textures/gui/hud_playertriangle_enemy.png",["textures.vl2"]],"textures/gui/hud_repairpack.png":["textures/gui/hud_repairpack.png",["textures.vl2"]],"textures/gui/hud_ret_bomber.png":["textures/gui/hud_ret_bomber.png",["textures.vl2"]],"textures/gui/hud_ret_shocklance.png":["textures/gui/hud_ret_shocklance.png",["textures.vl2"]],"textures/gui/hud_ret_shrike.png":["textures/gui/hud_ret_shrike.png",["textures.vl2"]],"textures/gui/hud_ret_sniper.png":["textures/gui/hud_ret_sniper.png",["textures.vl2"]],"textures/gui/hud_ret_tankchaingun.png":["textures/gui/hud_ret_tankchaingun.png",["textures.vl2"]],"textures/gui/hud_ret_tankmortar.png":["textures/gui/hud_ret_tankmortar.png",["textures.vl2"]],"textures/gui/hud_ret_targlaser.png":["textures/gui/hud_ret_targlaser.png",["textures.vl2"]],"textures/gui/hud_retrng.png":["textures/gui/hud_retrng.png",["textures.vl2"]],"textures/gui/hud_satchel_armed.png":["textures/gui/hud_satchel_armed.png",["textures.vl2"]],"textures/gui/hud_satchel_unarmed.png":["textures/gui/hud_satchel_unarmed.png",["textures.vl2"]],"textures/gui/hud_sensorbar.png":["textures/gui/hud_sensorbar.png",["textures.vl2"]],"textures/gui/hud_sensorbar_glow.png":["textures/gui/hud_sensorbar_glow.png",["textures.vl2"]],"textures/gui/hud_sensorbar_glow1.png":["textures/gui/hud_sensorbar_glow1.png",["textures.vl2"]],"textures/gui/hud_sensorbar_glow2.png":["textures/gui/hud_sensorbar_glow2.png",["textures.vl2"]],"textures/gui/hud_shieldpack.png":["textures/gui/hud_shieldpack.png",["textures.vl2"]],"textures/gui/hud_shocklance.png":["textures/gui/hud_shocklance.png",["textures.vl2"]],"textures/gui/hud_sniper.png":["textures/gui/hud_sniper.png",["textures.vl2"]],"textures/gui/hud_south.png":["textures/gui/hud_south.png",["textures.vl2"]],"textures/gui/hud_targetlaser.png":["textures/gui/hud_targetlaser.png",["textures.vl2"]],"textures/gui/hud_veh_bomb.png":["textures/gui/hud_veh_bomb.png",["textures.vl2"]],"textures/gui/hud_veh_enrgbar.png":["textures/gui/hud_veh_enrgbar.png",["textures.vl2"]],"textures/gui/hud_veh_enrgbarback.png":["textures/gui/hud_veh_enrgbarback.png",["textures.vl2"]],"textures/gui/hud_veh_icon_assault.png":["textures/gui/hud_veh_icon_assault.png",["textures.vl2"]],"textures/gui/hud_veh_icon_bomber.png":["textures/gui/hud_veh_icon_bomber.png",["textures.vl2"]],"textures/gui/hud_veh_icon_hapc.png":["textures/gui/hud_veh_icon_hapc.png",["textures.vl2"]],"textures/gui/hud_veh_icon_hole.png":["textures/gui/hud_veh_icon_hole.png",["textures.vl2"]],"textures/gui/hud_veh_icon_hoverbike.png":["textures/gui/hud_veh_icon_hoverbike.png",["textures.vl2"]],"textures/gui/hud_veh_icon_mpb.png":["textures/gui/hud_veh_icon_mpb.png",["textures.vl2"]],"textures/gui/hud_veh_icon_shrike.png":["textures/gui/hud_veh_icon_shrike.png",["textures.vl2"]],"textures/gui/hud_veh_new_bombardier_dash.png":["textures/gui/hud_veh_new_bombardier_dash.png",["textures.vl2"]],"textures/gui/hud_veh_new_dash.png":["textures/gui/hud_veh_new_dash.png",["textures.vl2"]],"textures/gui/hud_veh_new_dashpiece_1.png":["textures/gui/hud_veh_new_dashpiece_1.png",["textures.vl2"]],"textures/gui/hud_veh_new_dashpiece_2.png":["textures/gui/hud_veh_new_dashpiece_2.png",["textures.vl2"]],"textures/gui/hud_veh_new_dashpiece_3.png":["textures/gui/hud_veh_new_dashpiece_3.png",["textures.vl2"]],"textures/gui/hud_veh_new_dashpiece_4.png":["textures/gui/hud_veh_new_dashpiece_4.png",["textures.vl2"]],"textures/gui/hud_veh_new_dashpiece_5.png":["textures/gui/hud_veh_new_dashpiece_5.png",["textures.vl2"]],"textures/gui/hud_veh_new_hilite_left.png":["textures/gui/hud_veh_new_hilite_left.png",["textures.vl2"]],"textures/gui/hud_veh_new_hilite_middle.png":["textures/gui/hud_veh_new_hilite_middle.png",["textures.vl2"]],"textures/gui/hud_veh_new_hilite_right.png":["textures/gui/hud_veh_new_hilite_right.png",["textures.vl2"]],"textures/gui/hud_veh_new_tankgunner_dash.png":["textures/gui/hud_veh_new_tankgunner_dash.png",["textures.vl2"]],"textures/gui/hud_veh_nrgbar.png":["textures/gui/hud_veh_nrgbar.png",["textures.vl2"]],"textures/gui/hud_veh_nrgbar_back.png":["textures/gui/hud_veh_nrgbar_back.png",["textures.vl2"]],"textures/gui/hud_veh_passenger_dot.png":["textures/gui/hud_veh_passenger_dot.png",["textures.vl2"]],"textures/gui/hud_veh_passengers.png":["textures/gui/hud_veh_passengers.png",["textures.vl2"]],"textures/gui/hud_veh_seatdot.png":["textures/gui/hud_veh_seatdot.png",["textures.vl2"]],"textures/gui/hud_veh_speedaltwin.png":["textures/gui/hud_veh_speedaltwin.png",["textures.vl2"]],"textures/gui/hud_veh_speedaltwinback.png":["textures/gui/hud_veh_speedaltwinback.png",["textures.vl2"]],"textures/gui/hud_veh_speedo_bkgrnd.png":["textures/gui/hud_veh_speedo_bkgrnd.png",["textures.vl2"]],"textures/gui/hud_veh_speedo_frame.png":["textures/gui/hud_veh_speedo_frame.png",["textures.vl2"]],"textures/gui/hud_veh_weapon_back.png":["textures/gui/hud_veh_weapon_back.png",["textures.vl2"]],"textures/gui/hud_veh_weapon_frame.png":["textures/gui/hud_veh_weapon_frame.png",["textures.vl2"]],"textures/gui/hud_veh_weaponback.png":["textures/gui/hud_veh_weaponback.png",["textures.vl2"]],"textures/gui/hud_veh_weaponwin.png":["textures/gui/hud_veh_weaponwin.png",["textures.vl2"]],"textures/gui/hud_watermark1.png":["textures/gui/HUD_watermark1.png",["textures.vl2"]],"textures/gui/hud_watermark2.png":["textures/gui/HUD_watermark2.png",["textures.vl2"]],"textures/gui/hud_weaphigh.png":["textures/gui/hud_weaphigh.png",["textures.vl2"]],"textures/gui/hud_weapwin.png":["textures/gui/hud_weapwin.png",["textures.vl2"]],"textures/gui/hud_west.png":["textures/gui/hud_west.png",["textures.vl2"]],"textures/gui/immersion.jpg":["textures/gui/immersion.jpg",["textures.vl2"]],"textures/gui/infobar.png":["textures/gui/InfoBar.png",["textures.vl2"]],"textures/gui/killme.png":["textures/gui/KILLME.PNG",["textures.vl2"]],"textures/gui/launch_btn.png":["textures/gui/launch_btn.png",["textures.vl2"]],"textures/gui/launch_btn_act.png":["textures/gui/launch_btn_act.png",["textures.vl2"]],"textures/gui/launch_btn_rol.png":["textures/gui/launch_btn_rol.png",["textures.vl2"]],"textures/gui/launchtop_btn.png":["textures/gui/launchtop_btn.png",["textures.vl2"]],"textures/gui/launchtop_btn_act.png":["textures/gui/launchtop_btn_act.png",["textures.vl2"]],"textures/gui/lnch_tab.png":["textures/gui/lnch_Tab.png",["textures.vl2"]],"textures/gui/load_2arenadome.png":["textures/gui/Load_2ArenaDome.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_2arenavalley.png":["textures/gui/Load_2ArenaValley.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_2dustbowl.png":["textures/gui/Load_2DustBowl.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_2flyersarena.png":["textures/gui/Load_2Flyersarena.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_2icedome.png":["textures/gui/Load_2IceDome.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_2indoorintensity.png":["textures/gui/Load_2IndoorIntensity.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_aardvark_x2.png":["textures/gui/Load_Aardvark_x2.png",["z_mappacks/xPack2.vl2"]],"textures/gui/load_abaddon_x2.png":["textures/gui/Load_Abaddon_x2.png",["z_mappacks/xPack2.vl2"]],"textures/gui/load_abominable.png":["textures/gui/Load_Abominable.png",["textures.vl2"]],"textures/gui/load_acidrain.png":["textures/gui/Load_AcidRain.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/gui/load_aeroena.png":["textures/gui/Load_Aeroena.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_agentsoffortune.png":["textures/gui/Load_AgentsOfFortune.png",["textures.vl2"]],"textures/gui/load_alcatraz.png":["textures/gui/Load_Alcatraz.png",["textures.vl2"]],"textures/gui/load_archipelago.png":["textures/gui/Load_Archipelago.png",["textures.vl2"]],"textures/gui/load_arenaheaven.png":["textures/gui/Load_ArenaHeaven.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_arenahell.png":["textures/gui/Load_ArenaHell.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_arenahell2.png":["textures/gui/Load_ArenaHell2.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_arenainthehill.png":["textures/gui/Load_ArenaInTheHill.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_arenaunderthehill.png":["textures/gui/Load_ArenaUnderTheHill.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_arrowpass_x2.png":["textures/gui/Load_ArrowPass_x2.png",["z_mappacks/xPack2.vl2"]],"textures/gui/load_aryoarena.png":["textures/gui/Load_AryoArena.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_ashestoashes.png":["textures/gui/Load_AshesToAshes.png",["textures.vl2"]],"textures/gui/load_astersdescent.png":["textures/gui/Load_AstersDescent.png",["z_mappacks/CTF/AstersDescent.vl2"]],"textures/gui/load_astrograbber_x2.png":["textures/gui/Load_AstroGrabber_x2.png",["z_mappacks/xPack2.vl2"]],"textures/gui/load_azoth.png":["textures/gui/LOAD_Azoth.png",["z_mappacks/CTF/Azoth.vl2"]],"textures/gui/load_battlegrove.png":["textures/gui/load_BattleGrove.png",["z_mappacks/CTF/BattleGrove.vl2"]],"textures/gui/load_beachblitz_x2.png":["textures/gui/Load_BeachBlitz_x2.png",["z_mappacks/xPack2.vl2"]],"textures/gui/load_beggarsrun.png":["textures/gui/Load_BeggarsRun.png",["textures.vl2"]],"textures/gui/load_berlard.png":["textures/gui/load_berlard.png",["z_mappacks/CTF/Berlard.vl2"]],"textures/gui/load_blastside_nef.png":["textures/gui/Load_Blastside_nef.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/gui/load_bluemoon_x2.png":["textures/gui/Load_BlueMoon_x2.png",["z_mappacks/xPack2.vl2"]],"textures/gui/load_bolderdash_x2.png":["textures/gui/Load_BolderDash_x2.png",["z_mappacks/xPack2.vl2"]],"textures/gui/load_boss_x2.png":["textures/gui/Load_Boss_x2.png",["z_mappacks/xPack2.vl2"]],"textures/gui/load_bridgetoofar.png":["textures/gui/Load_BridgeTooFar.png",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"textures/gui/load_broadside_nef.png":["textures/gui/Load_Broadside_nef.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/gui/load_bruteforce_x2.png":["textures/gui/Load_BruteForce_x2.png",["z_mappacks/xPack2.vl2"]],"textures/gui/load_caldera.png":["textures/gui/Load_Caldera.png",["textures.vl2"]],"textures/gui/load_canyonrun_x2.png":["textures/gui/Load_Canyonrun_x2.png",["z_mappacks/xPack2.vl2"]],"textures/gui/load_casern_cavite.png":["textures/gui/Load_Casern_Cavite.png",["textures.vl2"]],"textures/gui/load_circleofstones.png":["textures/gui/load_circleofstones.png",["z_mappacks/CTF/CircleofStones.vl2"]],"textures/gui/load_compusa-melee.png":["textures/gui/Load_CompUSA-Melee.png",["textures.vl2"]],"textures/gui/load_compusa_melee.png":["textures/gui/Load_CompUSA_Melee.png",["textures.vl2"]],"textures/gui/load_confusco.png":["textures/gui/Load_Confusco.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/gui/load_constructionyard.png":["textures/gui/LOAD_ConstructionYard.png",["z_mappacks/CTF/ConstructionYard.vl2"]],"textures/gui/load_crashclash.png":["textures/gui/Load_CrashClash.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_damnation.png":["textures/gui/Load_Damnation.png",["textures.vl2"]],"textures/gui/load_dangerouscrossing_nef.png":["textures/gui/Load_DangerousCrossing_nef.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/gui/load_dangerouscrossingarena.png":["textures/gui/Load_DangerousCrossingArena.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_deadlybirdssong_x2.png":["textures/gui/Load_DeadlyBirdsSong_x2.png",["z_mappacks/xPack2.vl2"]],"textures/gui/load_deathbirdsfly.png":["textures/gui/Load_DeathBirdsFly.png",["textures.vl2"]],"textures/gui/load_desertofdeath_nef.png":["textures/gui/Load_DesertOfDeath_nef.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/gui/load_desiccator.png":["textures/gui/Load_Desiccator.png",["textures.vl2"]],"textures/gui/load_devilselbow.png":["textures/gui/Load_DevilsElbow.png",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"textures/gui/load_dmp_agroleon.png":["textures/gui/Load_DMP_Agroleon.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/gui/load_dmp_astro.png":["textures/gui/Load_DMP_Astro.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/gui/load_dmp_bastardforge.png":["textures/gui/Load_DMP_BastardForge.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/gui/load_dmp_bittergorge.png":["textures/gui/Load_DMP_BitterGorge.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/gui/load_dmp_bunkered.png":["textures/gui/Load_DMP_Bunkered.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/gui/load_dmp_cinerarium.png":["textures/gui/Load_DMP_Cinerarium.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/gui/load_dmp_dermcity.png":["textures/gui/Load_DMP_DermCity.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/gui/load_dmp_embers.png":["textures/gui/Load_DMP_Embers.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/gui/load_dmp_emeraldspit.png":["textures/gui/Load_DMP_EmeraldSpit.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/gui/load_dmp_facecrossing.png":["textures/gui/Load_DMP_FaceCrossing.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/gui/load_dmp_hoth.png":["textures/gui/Load_DMP_Hoth.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/gui/load_dmp_icegiant.png":["textures/gui/Load_DMP_IceGiant.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/gui/load_dmp_isledebatalla.png":["textures/gui/Load_DMP_IsleDeBatalla.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/gui/load_dmp_lavagods.png":["textures/gui/Load_DMP_LavaGods.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/gui/load_dmp_magellan.png":["textures/gui/Load_DMP_Magellan.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/gui/load_dmp_moondance.png":["textures/gui/Load_DMP_MoonDance.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/gui/load_dmp_pantheon.png":["textures/gui/Load_DMP_Pantheon.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/gui/load_dmp_paranoia.png":["textures/gui/Load_DMP_Paranoia.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/gui/load_dmp_pariah.png":["textures/gui/Load_DMP_Pariah.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/gui/load_dmp_pipedream.png":["textures/gui/Load_DMP_PipeDream.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/gui/load_dmp_ravinev.png":["textures/gui/Load_DMP_RavineV.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/gui/load_dmp_scorchedearth.png":["textures/gui/Load_DMP_ScorchedEarth.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/gui/load_dmp_simpleflagarena.png":["textures/gui/Load_DMP_SimpleFlagArena.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/gui/load_dmp_spincycle.png":["textures/gui/Load_DMP_SpinCycle.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/gui/load_dmp_starfall.png":["textures/gui/Load_DMP_StarFall.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/gui/load_dmp_tyre.png":["textures/gui/Load_DMP_Tyre.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/gui/load_dmp_wasteland.png":["textures/gui/Load_DMP_Wasteland.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/gui/load_drifts_x2.png":["textures/gui/Load_Drifts_x2.png",["z_mappacks/xPack2.vl2"]],"textures/gui/load_dusttodust.png":["textures/gui/Load_DustToDust.png",["textures.vl2"]],"textures/gui/load_eb-hades.png":["textures/gui/Load_EB-Hades.png",["textures.vl2"]],"textures/gui/load_eb_hades.png":["textures/gui/Load_EB_Hades.png",["textures.vl2"]],"textures/gui/load_eivoitoxico.png":["textures/gui/LOAD_EivoItoxico.png",["z_mappacks/CTF/EivoItoxico.vl2"]],"textures/gui/load_envyrena.png":["textures/gui/Load_Envyrena.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_enyland.png":["textures/gui/Load_EnyLand.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_equinox.png":["textures/gui/Load_Equinox.png",["textures.vl2"]],"textures/gui/load_erebus_x2.png":["textures/gui/Load_Erebus_x2.png",["z_mappacks/xPack2.vl2"]],"textures/gui/load_escalade.png":["textures/gui/Load_Escalade.png",["textures.vl2"]],"textures/gui/load_eveningland.png":["textures/gui/Load_EveningLand.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_fall_to_glory.png":["textures/gui/Load_Fall_To_Glory.png",["textures.vl2"]],"textures/gui/load_fireballs_x2.png":["textures/gui/Load_Fireballs_x2.png",["z_mappacks/xPack2.vl2"]],"textures/gui/load_firestorm.png":["textures/gui/load_Firestorm.png",["textures.vl2"]],"textures/gui/load_flashpoint.png":["textures/gui/Load_Flashpoint.png",["textures.vl2"]],"textures/gui/load_fracas.png":["textures/gui/load_Fracas.png",["textures.vl2"]],"textures/gui/load_gauntlet.png":["textures/gui/Load_Gauntlet.png",["textures.vl2"]],"textures/gui/load_gehenna.png":["textures/gui/Load_Gehenna.png",["textures.vl2"]],"textures/gui/load_gorgon.png":["textures/gui/Load_Gorgon.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/gui/load_harvester_x2.png":["textures/gui/Load_Harvester_x2.png",["z_mappacks/xPack2.vl2"]],"textures/gui/load_helioarena.png":["textures/gui/Load_Helioarena.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_hillside.png":["textures/gui/Load_Hillside.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/gui/load_hydroelectric_x2.png":["textures/gui/Load_HydroElectric_x2.png",["z_mappacks/xPack2.vl2"]],"textures/gui/load_icebound.png":["textures/gui/Load_Icebound.png",["textures.vl2"]],"textures/gui/load_iceridge_nef.png":["textures/gui/Load_IceRidge_nef.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/gui/load_innersanctum.png":["textures/gui/Load_InnerSanctum.png",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"textures/gui/load_insalubria.png":["textures/gui/Load_Insalubria.png",["textures.vl2"]],"textures/gui/load_insalubrius_x2.png":["textures/gui/Load_Insalubrius_x2.png",["z_mappacks/xPack2.vl2"]],"textures/gui/load_insideout_x2.png":["textures/gui/Load_InsideOut_x2.png",["z_mappacks/xPack2.vl2"]],"textures/gui/load_invictus.png":["textures/gui/Load_Invictus.png",["textures.vl2"]],"textures/gui/load_island.png":["textures/gui/LOAD_Island.png",["z_mappacks/CTF/Island.vl2"]],"textures/gui/load_isleofman.png":["textures/gui/Load_IsleOfMan.png",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"textures/gui/load_ivehadworse.png":["textures/gui/Load_IveHadWorse.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_jacobsladder.png":["textures/gui/Load_JacobsLadder.png",["textures.vl2"]],"textures/gui/load_katabatic.png":["textures/gui/load_Katabatic.png",["textures.vl2"]],"textures/gui/load_katabatic_x2.png":["textures/gui/Load_Katabatic_x2.png",["z_mappacks/xPack2.vl2"]],"textures/gui/load_khalarena.png":["textures/gui/Load_Khalarena.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_lakefront.png":["textures/gui/Load_Lakefront.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/gui/load_logans_run.png":["textures/gui/LOAD_Logans_Run.png",["z_mappacks/CTF/LogansRun.vl2"]],"textures/gui/load_mac_flagarena.png":["textures/gui/Load_Mac_FlagArena.png",["z_mappacks/CTF/MachineheadsFlagArenaEDIT.vl2"]],"textures/gui/load_magmatic.png":["textures/gui/Load_Magmatic.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/gui/load_masada.png":["textures/gui/Load_Masada.png",["textures.vl2"]],"textures/gui/load_minotaur.png":["textures/gui/Load_Minotaur.png",["textures.vl2"]],"textures/gui/load_morena.png":["textures/gui/Load_Morena.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_mudside.png":["textures/gui/Load_Mudside.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_myrkwood.png":["textures/gui/Load_MyrkWood.png",["textures.vl2"]],"textures/gui/load_naturemagic.png":["textures/gui/load_naturemagic.png",["z_mappacks/CTF/Surro_StarIce_NatureMagic.vl2"]],"textures/gui/load_noshelter_x2.png":["textures/gui/Load_NoShelter_x2.png",["z_mappacks/xPack2.vl2"]],"textures/gui/load_oasis.png":["textures/gui/Load_Oasis.png",["textures.vl2"]],"textures/gui/load_oasisintensity.png":["textures/gui/load_oasisintensity.png",["z_mappacks/CTF/oasisintensity.vl2"]],"textures/gui/load_octoberrust.png":["textures/gui/LOAD_octoberrust.png",["z_mappacks/CTF/OctoberRust.vl2"]],"textures/gui/load_overreach.png":["textures/gui/Load_Overreach.png",["textures.vl2"]],"textures/gui/load_pandemonium_x2.png":["textures/gui/Load_Pandemonium_x2.png",["z_mappacks/xPack2.vl2"]],"textures/gui/load_pantheon.png":["textures/gui/Load_Pantheon.png",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"textures/gui/load_pantheon_x2.png":["textures/gui/Load_Pantheon_x2.png",["z_mappacks/xPack2.vl2"]],"textures/gui/load_planetside.png":["textures/gui/Load_Planetside.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_pyroclasm.png":["textures/gui/Load_Pyroclasm.png",["textures.vl2"]],"textures/gui/load_quagmire.png":["textures/gui/Load_Quagmire.png",["textures.vl2"]],"textures/gui/load_quagmire_x2.png":["textures/gui/Load_Quagmire_x2.png",["z_mappacks/xPack2.vl2"]],"textures/gui/load_raindance_nef.png":["textures/gui/Load_Raindance_nef.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/gui/load_ramparts.png":["textures/gui/Load_Ramparts.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/gui/load_rasp.png":["textures/gui/Load_Rasp.png",["textures.vl2"]],"textures/gui/load_recalescence.png":["textures/gui/Load_Recalescence.png",["textures.vl2"]],"textures/gui/load_respite.png":["textures/gui/Load_Respite.png",["textures.vl2"]],"textures/gui/load_reversion.png":["textures/gui/Load_Reversion.png",["textures.vl2"]],"textures/gui/load_reversion_x2.png":["textures/gui/Load_Reversion_x2.png",["z_mappacks/xPack2.vl2"]],"textures/gui/load_ridgerena.png":["textures/gui/Load_Ridgerena.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_rimehold.png":["textures/gui/Load_Rimehold.png",["textures.vl2"]],"textures/gui/load_riverdance.png":["textures/gui/load_Riverdance.png",["textures.vl2"]],"textures/gui/load_rollercoaster_nef.png":["textures/gui/Load_Rollercoaster_nef.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/gui/load_s5_centaur.png":["textures/gui/Load_S5_Centaur.png",["z_mappacks/CTF/S5maps.vl2"]],"textures/gui/load_s5_damnation.png":["textures/gui/Load_S5_Damnation.png",["z_mappacks/CTF/S5maps.vl2"]],"textures/gui/load_s5_drache.png":["textures/gui/Load_S5_Drache.png",["z_mappacks/CTF/S5maps.vl2"]],"textures/gui/load_s5_hawkingheat.png":["textures/gui/Load_S5_HawkingHeat.png",["z_mappacks/CTF/S5maps.vl2"]],"textures/gui/load_s5_icedance.png":["textures/gui/Load_S5_Icedance.png",["z_mappacks/CTF/S5maps.vl2"]],"textures/gui/load_s5_massive.png":["textures/gui/Load_S5_Massive.png",["z_mappacks/CTF/S5maps.vl2"]],"textures/gui/load_s5_mimicry.png":["textures/gui/Load_S5_Mimicry.png",["z_mappacks/CTF/S5maps.vl2"]],"textures/gui/load_s5_misadventure.png":["textures/gui/Load_S5_Misadventure.png",["z_mappacks/CTF/S5maps.vl2"]],"textures/gui/load_s5_mordacity.png":["textures/gui/Load_S5_Mordacity.png",["z_mappacks/CTF/S5maps.vl2"]],"textures/gui/load_s5_reynard.png":["textures/gui/Load_S5_Reynard.png",["z_mappacks/CTF/S5maps.vl2"]],"textures/gui/load_s5_sherman.png":["textures/gui/Load_S5_Sherman.png",["z_mappacks/CTF/S5maps.vl2"]],"textures/gui/load_s5_silenus.png":["textures/gui/Load_S5_Silenus.png",["z_mappacks/CTF/S5maps.vl2"]],"textures/gui/load_s5_woodymyrk.png":["textures/gui/Load_S5_Woodymyrk.png",["z_mappacks/CTF/S5maps.vl2"]],"textures/gui/load_sanctuary.png":["textures/gui/Load_Sanctuary.png",["textures.vl2"]],"textures/gui/load_sandstorm.png":["textures/gui/Load_Sandstorm.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/gui/load_scarabrae_nef.png":["textures/gui/Load_Scarabrae_nef.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/gui/load_shockridge.png":["textures/gui/Load_ShockRidge.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/gui/load_shrinearena.png":["textures/gui/Load_ShrineArena.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_shrinearenaii.png":["textures/gui/Load_ShrineArenaII.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_sirocco.png":["textures/gui/Load_Sirocco.png",["textures.vl2"]],"textures/gui/load_slapdash.png":["textures/gui/Load_Slapdash.png",["textures.vl2"]],"textures/gui/load_slapdash_x2.png":["textures/gui/Load_Slapdash_x2.png",["z_mappacks/xPack2.vl2"]],"textures/gui/load_smog_x2.png":["textures/gui/Load_Smog_x2.png",["z_mappacks/xPack2.vl2"]],"textures/gui/load_snowblind_nef.png":["textures/gui/Load_Snowblind_nef.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/gui/load_soccerland.png":["textures/gui/Load_SoccerLand.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_spyland.png":["textures/gui/Load_SpyLand.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_starfallen.png":["textures/gui/Load_Starfallen.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/gui/load_starice.png":["textures/gui/load_starice.png",["z_mappacks/CTF/Surro_StarIce_NatureMagic.vl2"]],"textures/gui/load_stonehenge_nef.png":["textures/gui/Load_Stonehenge_nef.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/gui/load_stripmine_x2.png":["textures/gui/Load_Stripmine_x2.png",["z_mappacks/xPack2.vl2"]],"textures/gui/load_subzero.png":["textures/gui/Load_Subzero.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/gui/load_subzerov.png":["textures/gui/LOAD_SubzeroV.png",["z_mappacks/CTF/TitanV-SubZeroV.vl2"]],"textures/gui/load_sundried.png":["textures/gui/Load_SunDried.png",["textures.vl2"]],"textures/gui/load_surreal.png":["textures/gui/Load_Surreal.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/gui/load_surro.png":["textures/gui/load_surro.png",["z_mappacks/CTF/Surro_StarIce_NatureMagic.vl2"]],"textures/gui/load_talus.png":["textures/gui/Load_Talus.png",["textures.vl2"]],"textures/gui/load_templetussleversion2.png":["textures/gui/Load_TempleTussleVersion2.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_the_calm.png":["textures/gui/Load_The_Calm.png",["z_mappacks/CTF/The_Calm.vl2"]],"textures/gui/load_thinice.png":["textures/gui/Load_ThinIce.png",["textures.vl2"]],"textures/gui/load_thundergiant_x2.png":["textures/gui/Load_ThunderGiant_x2.png",["z_mappacks/xPack2.vl2"]],"textures/gui/load_titan.png":["textures/gui/Load_Titan.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/gui/load_titanv.png":["textures/gui/LOAD_TitanV.png",["z_mappacks/CTF/TitanV-SubZeroV.vl2"]],"textures/gui/load_tombstone.png":["textures/gui/Load_Tombstone.png",["textures.vl2"]],"textures/gui/load_tombstone_x2.png":["textures/gui/Load_Tombstone_x2.png",["z_mappacks/xPack2.vl2"]],"textures/gui/load_training1.png":["textures/gui/Load_Training1.png",["textures.vl2"]],"textures/gui/load_training2.png":["textures/gui/Load_Training2.png",["textures.vl2"]],"textures/gui/load_training3.png":["textures/gui/Load_Training3.png",["textures.vl2"]],"textures/gui/load_training4.png":["textures/gui/Load_Training4.png",["textures.vl2"]],"textures/gui/load_training5.png":["textures/gui/Load_Training5.png",["textures.vl2"]],"textures/gui/load_trident.png":["textures/gui/Load_Trident.png",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"textures/gui/load_truegrit.png":["textures/gui/Load_TrueGrit.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_twl2_bleed.png":["textures/gui/Load_TWL2_Bleed.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/gui/load_twl2_bluemoon.png":["textures/gui/Load_TWL2_BlueMoon.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/gui/load_twl2_canyoncrusadedeluxe.png":["textures/gui/Load_TWL2_CanyonCrusadeDeluxe.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/gui/load_twl2_celerity.png":["textures/gui/Load_TWL2_Celerity.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/gui/load_twl2_cloakofnight.png":["textures/gui/Load_TWL2_CloakOfNight.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/gui/load_twl2_crevice.png":["textures/gui/Load_TWL2_Crevice.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/gui/load_twl2_dissention.png":["textures/gui/Load_TWL2_Dissention.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/gui/load_twl2_drifts.png":["textures/gui/Load_TWL2_Drifts.PNG",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/gui/load_twl2_drorck.png":["textures/gui/Load_TWL2_Drorck.PNG",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/gui/load_twl2_frozenglory.png":["textures/gui/Load_TWL2_FrozenGlory.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/gui/load_twl2_frozenhope.png":["textures/gui/Load_TWL2_FrozenHope.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/gui/load_twl2_hildebrand.png":["textures/gui/Load_TWL2_Hildebrand.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/gui/load_twl2_icedagger.png":["textures/gui/Load_TWL2_IceDagger.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/gui/load_twl2_jaggedclaw.png":["textures/gui/Load_TWL2_JaggedClaw.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/gui/load_twl2_magnum.png":["textures/gui/Load_TWL2_Magnum.PNG",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/gui/load_twl2_midnightmayhemdeluxe.png":["textures/gui/Load_TWL2_MidnightMayhemDeluxe.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/gui/load_twl2_muddyswamp.png":["textures/gui/Load_TWL2_MuddySwamp.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/gui/load_twl2_norty.png":["textures/gui/Load_TWL2_Norty.PNG",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/gui/load_twl2_ocular.png":["textures/gui/Load_TWL2_Ocular.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/gui/load_twl2_roughland.png":["textures/gui/Load_TWL2_RoughLand.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/gui/load_twl2_ruined.png":["textures/gui/Load_TWL2_Ruined.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/gui/load_twl2_skylight.png":["textures/gui/Load_TWL2_Skylight.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/gui/load_twl2_woodymyrk.png":["textures/gui/Load_TWL2_WoodyMyrk.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/gui/load_twl_abaddon.png":["textures/gui/Load_TWL_Abaddon.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_banshee.png":["textures/gui/Load_TWL_BaNsHee.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_beachblitz.png":["textures/gui/Load_TWL_BeachBlitz.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_beggarsrun.png":["textures/gui/Load_TWL_BeggarsRun.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_bluemoon.png":["textures/gui/Load_TWL_BlueMoon.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_boss.png":["textures/gui/Load_TWL_Boss.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_celerity.png":["textures/gui/Load_TWL_Celerity.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_chokepoint.png":["textures/gui/Load_TWL_Chokepoint.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_cinereous.png":["textures/gui/Load_TWL_Cinereous.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_clusterfuct.png":["textures/gui/Load_TWL_Clusterfuct.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_crossfire.png":["textures/gui/Load_TWL_Crossfire.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_curtilage.png":["textures/gui/Load_TWL_Curtilage.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_damnation.png":["textures/gui/Load_TWL_Damnation.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_dangerouscrossing.png":["textures/gui/Load_TWL_DangerousCrossing.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_deadlybirdssong.png":["textures/gui/Load_TWL_DeadlyBirdsSong.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_deserted.png":["textures/gui/Load_TWL_Deserted.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_desiccator.png":["textures/gui/Load_TWL_Desiccator.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_drifts.png":["textures/gui/Load_TWL_Drifts.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_feign.png":["textures/gui/Load_TWL_Feign.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_frostclaw.png":["textures/gui/Load_TWL_Frostclaw.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_frozen.png":["textures/gui/Load_TWL_Frozen.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_harvester.png":["textures/gui/Load_TWL_Harvester.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_horde.png":["textures/gui/Load_TWL_Horde.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_katabatic.png":["textures/gui/Load_TWL_Katabatic.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_magmatic.png":["textures/gui/Load_TWL_Magmatic.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_minotaur.png":["textures/gui/Load_TWL_Minotaur.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_neve.png":["textures/gui/Load_TWL_Neve.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_noshelter.png":["textures/gui/Load_TWL_NoShelter.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_osiris.png":["textures/gui/Load_TWL_OsIris.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_pandemonium.png":["textures/gui/Load_TWL_Pandemonium.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_quagmire.png":["textures/gui/Load_TWL_Quagmire.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_raindance.png":["textures/gui/Load_TWL_Raindance.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_ramparts.png":["textures/gui/Load_TWL_Ramparts.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_reversion.png":["textures/gui/Load_TWL_Reversion.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_rollercoaster.png":["textures/gui/Load_TWL_Rollercoaster.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_runenmacht.png":["textures/gui/Load_TWL_Runenmacht.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_sandstorm.png":["textures/gui/Load_TWL_Sandstorm.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_slapdash.png":["textures/gui/Load_TWL_Slapdash.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_snowblind.png":["textures/gui/Load_TWL_Snowblind.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_starfallen.png":["textures/gui/Load_TWL_Starfallen.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_stonehenge.png":["textures/gui/Load_TWL_Stonehenge.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_subzero.png":["textures/gui/Load_TWL_SubZero.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_surreal.png":["textures/gui/Load_TWL_Surreal.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_titan.png":["textures/gui/Load_TWL_Titan.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_whitedwarf.png":["textures/gui/Load_TWL_WhiteDwarf.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_wilderzone.png":["textures/gui/Load_TWL_WilderZone.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_twl_woodymyrk.png":["textures/gui/Load_TWL_WoodyMyrk.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/gui/load_ultimathule.png":["textures/gui/Load_UltimaThule.png",["textures.vl2"]],"textures/gui/load_underhill.png":["textures/gui/Load_Underhill.png",["textures.vl2"]],"textures/gui/load_upordown.png":["textures/gui/Load_UporDown.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_walledin.png":["textures/gui/Load_WalledIn.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_walledinii.png":["textures/gui/Load_WalledInII.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_wasteland_x2.png":["textures/gui/Load_Wasteland_x2.png",["z_mappacks/xPack2.vl2"]],"textures/gui/load_whitedwarf.png":["textures/gui/Load_WhiteDwarf.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/gui/load_whiteout.png":["textures/gui/Load_Whiteout.png",["textures.vl2"]],"textures/gui/load_wonderland.png":["textures/gui/Load_WonderLand.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_woodymyrk.png":["textures/gui/Load_WoodyMyrk.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/load_woodymyrk_x2.png":["textures/gui/Load_WoodyMyrk_x2.png",["z_mappacks/xPack2.vl2"]],"textures/gui/load_yubarena.png":["textures/gui/Load_Yubarena.png",["z_mappacks/TWL_T2arenaOfficialMaps.vl2"]],"textures/gui/loading.png":["textures/gui/Loading.png",["textures.vl2"]],"textures/gui/lobby_headset.png":["textures/gui/lobby_headset.png",["textures.vl2"]],"textures/gui/lobby_icon_listen.png":["textures/gui/lobby_icon_listen.png",["textures.vl2"]],"textures/gui/lobby_icon_speak.png":["textures/gui/lobby_icon_speak.png",["textures.vl2"]],"textures/gui/ret_blaster.png":["textures/gui/RET_blaster.png",["textures.vl2"]],"textures/gui/ret_chaingun.png":["textures/gui/RET_chaingun.png",["textures.vl2"]],"textures/gui/ret_disc.png":["textures/gui/RET_disc.png",["textures.vl2"]],"textures/gui/ret_elf.png":["textures/gui/RET_elf.png",["textures.vl2"]],"textures/gui/ret_grenade.png":["textures/gui/RET_grenade.png",["textures.vl2"]],"textures/gui/ret_missile.png":["textures/gui/RET_missile.png",["textures.vl2"]],"textures/gui/ret_missile_horizflash_red.png":["textures/gui/RET_missile_horizflash_red.png",["textures.vl2"]],"textures/gui/ret_missile_marker.png":["textures/gui/RET_missile_marker.png",["textures.vl2"]],"textures/gui/ret_missile_marker_red.png":["textures/gui/RET_missile_marker_red.png",["textures.vl2"]],"textures/gui/ret_missile_vertflash_red.png":["textures/gui/RET_missile_vertflash_red.png",["textures.vl2"]],"textures/gui/ret_mortor.png":["textures/gui/RET_mortor.png",["textures.vl2"]],"textures/gui/ret_plasma.png":["textures/gui/RET_plasma.png",["textures.vl2"]],"textures/gui/server_retrievebar.png":["textures/gui/server_retrievebar.png",["textures.vl2"]],"textures/gui/server_tabs.png":["textures/gui/server_tabs.png",["textures.vl2"]],"textures/gui/shellscroll.png":["textures/gui/shellScroll.png",["textures.vl2"]],"textures/gui/shelltbbuttonhilight.png":["textures/gui/ShellTBButtonHilight.png",["textures.vl2"]],"textures/gui/shelltbbuttonnormal.png":["textures/gui/ShellTBButtonNormal.png",["textures.vl2"]],"textures/gui/shelltbbuttonpressed.png":["textures/gui/ShellTBButtonPressed.png",["textures.vl2"]],"textures/gui/shll_bar_act.png":["textures/gui/shll_bar_act.png",["textures.vl2"]],"textures/gui/shll_bar_rol.png":["textures/gui/shll_bar_rol.png",["textures.vl2"]],"textures/gui/shll_button.png":["textures/gui/shll_button.png",["textures.vl2"]],"textures/gui/shll_entryfield.png":["textures/gui/shll_entryfield.png",["textures.vl2"]],"textures/gui/shll_field_bl.png":["textures/gui/shll_field_BL.png",["textures.vl2"]],"textures/gui/shll_field_bm.png":["textures/gui/shll_field_BM.png",["textures.vl2"]],"textures/gui/shll_field_br.png":["textures/gui/shll_field_BR.png",["textures.vl2"]],"textures/gui/shll_field_ml.png":["textures/gui/shll_field_ML.png",["textures.vl2"]],"textures/gui/shll_field_mm.png":["textures/gui/shll_field_MM.png",["textures.vl2"]],"textures/gui/shll_field_mr.png":["textures/gui/shll_field_MR.png",["textures.vl2"]],"textures/gui/shll_field_tl.png":["textures/gui/shll_field_TL.png",["textures.vl2"]],"textures/gui/shll_field_tm.png":["textures/gui/shll_field_TM.png",["textures.vl2"]],"textures/gui/shll_field_tr.png":["textures/gui/shll_field_TR.png",["textures.vl2"]],"textures/gui/shll_fieldfill.png":["textures/gui/shll_fieldfill.png",["textures.vl2"]],"textures/gui/shll_fieldgrade.png":["textures/gui/shll_fieldgrade.png",["textures.vl2"]],"textures/gui/shll_frame_edge.png":["textures/gui/shll_frame_edge.png",["textures.vl2"]],"textures/gui/shll_frame_end.png":["textures/gui/shll_frame_end.png",["textures.vl2"]],"textures/gui/shll_horizontalfield.png":["textures/gui/shll_horizontalfield.png",["textures.vl2"]],"textures/gui/shll_horzspacer.png":["textures/gui/shll_horzspacer.png",["textures.vl2"]],"textures/gui/shll_horztabbutton.png":["textures/gui/shll_horztabbutton.png",["textures.vl2"]],"textures/gui/shll_horztabbuttonb.png":["textures/gui/shll_horztabbuttonB.png",["textures.vl2"]],"textures/gui/shll_horztabframeclose.png":["textures/gui/shll_horztabframeclose.png",["textures.vl2"]],"textures/gui/shll_horztabframeclosea.png":["textures/gui/shll_horztabframeclosea.png",["textures.vl2"]],"textures/gui/shll_horztabframegrad.png":["textures/gui/shll_horztabframegrad.png",["textures.vl2"]],"textures/gui/shll_horztabframegrada.png":["textures/gui/shll_horztabframegrada.png",["textures.vl2"]],"textures/gui/shll_horztabframegradedge.png":["textures/gui/shll_horztabframegradedge.png",["textures.vl2"]],"textures/gui/shll_horztabframegradedgea.png":["textures/gui/shll_horztabframegradedgea.png",["textures.vl2"]],"textures/gui/shll_icon_dedicated.png":["textures/gui/shll_icon_dedicated.png",["textures.vl2"]],"textures/gui/shll_icon_dedicated_hi.png":["textures/gui/shll_icon_dedicated_hi.png",["textures.vl2"]],"textures/gui/shll_icon_favorite.png":["textures/gui/shll_icon_favorite.png",["textures.vl2"]],"textures/gui/shll_icon_favorite_hi.png":["textures/gui/shll_icon_favorite_hi.png",["textures.vl2"]],"textures/gui/shll_icon_notqueried.png":["textures/gui/shll_icon_notqueried.png",["textures.vl2"]],"textures/gui/shll_icon_notqueried_hi.png":["textures/gui/shll_icon_notqueried_hi.png",["textures.vl2"]],"textures/gui/shll_icon_passworded.png":["textures/gui/shll_icon_passworded.png",["textures.vl2"]],"textures/gui/shll_icon_passworded_hi.png":["textures/gui/shll_icon_passworded_hi.png",["textures.vl2"]],"textures/gui/shll_icon_penguin.png":["textures/gui/shll_icon_penguin.png",["textures.vl2"]],"textures/gui/shll_icon_querying.png":["textures/gui/shll_icon_querying.png",["textures.vl2"]],"textures/gui/shll_icon_querying_hi.png":["textures/gui/shll_icon_querying_hi.png",["textures.vl2"]],"textures/gui/shll_icon_timedout.png":["textures/gui/shll_icon_timedout.png",["textures.vl2"]],"textures/gui/shll_icon_tourney.png":["textures/gui/shll_icon_tourney.png",["textures.vl2"]],"textures/gui/shll_icon_tourney_hi.png":["textures/gui/shll_icon_tourney_hi.png",["textures.vl2"]],"textures/gui/shll_launch_act.png":["textures/gui/shll_launch_act.png",["textures.vl2"]],"textures/gui/shll_launch_rol.png":["textures/gui/shll_launch_rol.png",["textures.vl2"]],"textures/gui/shll_launch_sep.png":["textures/gui/shll_launch_sep.png",["textures.vl2"]],"textures/gui/shll_menuclose.png":["textures/gui/shll_menuclose.png",["textures.vl2"]],"textures/gui/shll_menufield.png":["textures/gui/shll_menufield.png",["textures.vl2"]],"textures/gui/shll_pulldown.png":["textures/gui/shll_pulldown.png",["textures.vl2"]],"textures/gui/shll_pulldown_bl.png":["textures/gui/shll_pulldown_BL.png",["textures.vl2"]],"textures/gui/shll_pulldown_bm.png":["textures/gui/shll_pulldown_BM.png",["textures.vl2"]],"textures/gui/shll_pulldown_br.png":["textures/gui/shll_pulldown_BR.png",["textures.vl2"]],"textures/gui/shll_pulldown_ml.png":["textures/gui/shll_pulldown_ML.png",["textures.vl2"]],"textures/gui/shll_pulldown_mm.png":["textures/gui/shll_pulldown_MM.png",["textures.vl2"]],"textures/gui/shll_pulldown_mr.png":["textures/gui/shll_pulldown_MR.png",["textures.vl2"]],"textures/gui/shll_pulldown_tl.png":["textures/gui/shll_pulldown_TL.png",["textures.vl2"]],"textures/gui/shll_pulldown_tm.png":["textures/gui/shll_pulldown_TM.png",["textures.vl2"]],"textures/gui/shll_pulldown_tr.png":["textures/gui/shll_pulldown_TR.png",["textures.vl2"]],"textures/gui/shll_pulldownbar_act.png":["textures/gui/shll_pulldownbar_act.png",["textures.vl2"]],"textures/gui/shll_pulldownbar_rol.png":["textures/gui/shll_pulldownbar_rol.png",["textures.vl2"]],"textures/gui/shll_radio.png":["textures/gui/shll_radio.png",["textures.vl2"]],"textures/gui/shll_scroll_horzbar.png":["textures/gui/shll_scroll_horzbar.png",["textures.vl2"]],"textures/gui/shll_scroll_horzbuttons.png":["textures/gui/shll_scroll_horzbuttons.png",["textures.vl2"]],"textures/gui/shll_scroll_horzfield.png":["textures/gui/shll_scroll_horzfield.png",["textures.vl2"]],"textures/gui/shll_scroll_scale.png":["textures/gui/shll_scroll_scale.png",["textures.vl2"]],"textures/gui/shll_scroll_vertbar.png":["textures/gui/shll_scroll_vertbar.png",["textures.vl2"]],"textures/gui/shll_scroll_vertbuttons.png":["textures/gui/shll_scroll_vertbuttons.png",["textures.vl2"]],"textures/gui/shll_scroll_vertfield.png":["textures/gui/shll_scroll_vertfield.png",["textures.vl2"]],"textures/gui/shll_sortarrow.png":["textures/gui/shll_sortarrow.png",["textures.vl2"]],"textures/gui/shll_soundbutton.png":["textures/gui/shll_soundbutton.png",["textures.vl2"]],"textures/gui/shll_tabbutton.png":["textures/gui/shll_tabbutton.png",["textures.vl2"]],"textures/gui/shll_tabframegrad.png":["textures/gui/shll_tabframegrad.png",["textures.vl2"]],"textures/gui/shll_tabframegradedge.png":["textures/gui/shll_tabframegradedge.png",["textures.vl2"]],"textures/gui/shll_titletab.png":["textures/gui/shll_titletab.png",["textures.vl2"]],"textures/gui/shll_treeview.png":["textures/gui/shll_treeView.png",["textures.vl2"]],"textures/gui/shll_verticalfield.png":["textures/gui/shll_verticalfield.png",["textures.vl2"]],"textures/gui/shll_vertspacer.png":["textures/gui/shll_vertspacer.png",["textures.vl2"]],"textures/gui/shll_wipe.png":["textures/gui/shll_wipe.png",["textures.vl2"]],"textures/gui/shll_wipeend.png":["textures/gui/shll_wipeend.png",["textures.vl2"]],"textures/gui/shll_wipefill.png":["textures/gui/shll_wipefill.png",["textures.vl2"]],"textures/gui/shll_wphfieldbttm.png":["textures/gui/shll_wphfieldbttm.png",["textures.vl2"]],"textures/gui/shll_wphfieldtop.png":["textures/gui/shll_wphfieldtop.png",["textures.vl2"]],"textures/gui/shll_wpvfield.png":["textures/gui/shll_wpvfield.png",["textures.vl2"]],"textures/gui/tr2hud_playertriangle.png":["textures/gui/TR2hud_playertriangle.png",["TR2final105-client.vl2"]],"textures/gui/tr2hud_playertriangle_enemy.png":["textures/gui/TR2hud_playertriangle_enemy.png",["TR2final105-client.vl2"]],"textures/gui/treeview.png":["textures/gui/treeView.png",["textures.vl2"]],"textures/gui/trn_1charybdis.png":["textures/gui/trn_1charybdis.png",["textures.vl2"]],"textures/gui/trn_2sehrganda.png":["textures/gui/trn_2sehrganda.png",["textures.vl2"]],"textures/gui/trn_3ymir.png":["textures/gui/trn_3ymir.png",["textures.vl2"]],"textures/gui/trn_4bloodjewel.png":["textures/gui/trn_4bloodjewel.png",["textures.vl2"]],"textures/gui/trn_5draconis.png":["textures/gui/trn_5draconis.png",["textures.vl2"]],"textures/gui/vin_assaultvehicle.png":["textures/gui/vin_assaultVehicle.png",["textures.vl2"]],"textures/gui/vin_bomberflyer.png":["textures/gui/vin_bomberFlyer.png",["textures.vl2"]],"textures/gui/vin_hapcflyer.png":["textures/gui/vin_hapcFlyer.png",["textures.vl2"]],"textures/gui/vin_mobilebasevehicle.png":["textures/gui/vin_mobileBaseVehicle.png",["textures.vl2"]],"textures/gui/vin_scoutflyer.png":["textures/gui/vin_scoutFlyer.png",["textures.vl2"]],"textures/gui/vin_scoutvehicle.png":["textures/gui/vin_scoutVehicle.png",["textures.vl2"]],"textures/gui/votemeterpassbar.png":["textures/gui/votemeterpassbar.png",["textures.vl2"]],"textures/gui/window_close.png":["textures/gui/window_close.png",["textures.vl2"]],"textures/gui/window_corner.png":["textures/gui/window_corner.png",["textures.vl2"]],"textures/gui/window_titletab.png":["textures/gui/window_titletab.png",["textures.vl2"]],"textures/hacgun.png":["textures/hacgun.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/haloday.dml":["textures/haloday.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/halonite.dml":["textures/halonite.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/harvest.dml":["textures/harvest.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/hmtxt.png":["textures/hmTxt.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/hotsmoke.png":["textures/hotSmoke.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/hover1.png":["textures/hover1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/hover_cockpit.png":["textures/hover_cockpit.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/hover_stand1.png":["textures/hover_stand1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/hoverexhaust.png":["textures/hoverexhaust.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/ib/skies/inf_butch_night13_bk.png":["textures/ib/skies/inf_butch_night13_BK.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/ib/skies/inf_butch_night13_dn.png":["textures/ib/skies/inf_butch_night13_DN.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/ib/skies/inf_butch_night13_fr.png":["textures/ib/skies/inf_butch_night13_FR.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/ib/skies/inf_butch_night13_lf.png":["textures/ib/skies/inf_butch_night13_LF.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/ib/skies/inf_butch_night13_rt.png":["textures/ib/skies/inf_butch_night13_RT.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/ib/skies/inf_butch_night13_up.png":["textures/ib/skies/inf_butch_night13_UP.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/ice/bd_ebor03.png":["textures/ice/bd_ebor03.PNG",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/ice/bd_espe03.png":["textures/ice/bd_espe03.PNG",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/ice/bd_ibor6.png":["textures/ice/bd_ibor6.PNG",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/ice/bd_iceilig02.png":["textures/ice/bd_iceilig02.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/ice/be_elig03.png":["textures/ice/be_elig03.PNG",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/ice/be_icei01a.png":["textures/ice/be_icei01a.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/ice/be_itebor02a.png":["textures/ice/be_itebor02a.PNG",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/ice/be_itedoo01.png":["textures/ice/be_itedoo01.PNG",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/ice/be_iteflo01.png":["textures/ice/be_iteflo01.PNG",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/ice/ds_efloor1.png":["textures/ice/ds_efloor1.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/ice/ds_ichute02.png":["textures/ice/ds_ichute02.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/ice/ds_iflo04.png":["textures/ice/ds_iflo04.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/ice/ds_ihacei01.png":["textures/ice/ds_ihacei01.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/ice/ds_ilig02.png":["textures/ice/ds_ilig02.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/ice/ds_ilig03.png":["textures/ice/ds_ilig03.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/ice/ds_iwaldeco04a.png":["textures/ice/ds_iwaldeco04a.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/ice/ds_iwaldeco05.png":["textures/ice/ds_iwaldeco05.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/ice/ds_iwaldeco06.png":["textures/ice/ds_iwaldeco06.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/ice/ds_techwall_2.png":["textures/ice/ds_techwall_2.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/ice/ds_techwall_3.png":["textures/ice/ds_techwall_3.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/ice/icewall2020.png":["textures/ice/icewall2020.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/ice/icewall2021.png":["textures/ice/icewall2021.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/ice/icewall2022.png":["textures/ice/icewall2022.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/ice/rockblue5.png":["textures/ice/rockblue5.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/rocksnow2.png":["textures/ice/rockSnow2.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/skies/dark_b.png":["textures/ice/skies/dark_b.png",["ice.vl2"]],"textures/ice/skies/dark_bottom.png":["textures/ice/skies/dark_bottom.png",["ice.vl2"]],"textures/ice/skies/dark_f.png":["textures/ice/skies/dark_f.png",["ice.vl2"]],"textures/ice/skies/dark_l.png":["textures/ice/skies/dark_l.png",["ice.vl2"]],"textures/ice/skies/dark_r.png":["textures/ice/skies/dark_r.png",["ice.vl2"]],"textures/ice/skies/dark_t.png":["textures/ice/skies/dark_t.png",["ice.vl2"]],"textures/ice/skies/ice_blue_emap.png":["textures/ice/skies/ice_blue_emap.png",["ice.vl2"]],"textures/ice/skies/ice_nite_emap.png":["textures/ice/skies/ice_nite_emap.png",["ice.vl2"]],"textures/ice/skies/icecloud1.png":["textures/ice/skies/icecloud1.png",["ice.vl2"]],"textures/ice/skies/icecloud2.png":["textures/ice/skies/icecloud2.png",["ice.vl2"]],"textures/ice/skies/icecloud3.png":["textures/ice/skies/icecloud3.png",["ice.vl2"]],"textures/ice/skies/kif_ice_day_bk.png":["textures/ice/skies/kif_ice_day_BK.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/ice/skies/kif_ice_day_dn.png":["textures/ice/skies/kif_ice_day_DN.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/ice/skies/kif_ice_day_fr.png":["textures/ice/skies/kif_ice_day_FR.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/ice/skies/kif_ice_day_lf.png":["textures/ice/skies/kif_ice_day_LF.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/ice/skies/kif_ice_day_rt.png":["textures/ice/skies/kif_ice_day_RT.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/ice/skies/kif_ice_day_up.png":["textures/ice/skies/kif_ice_day_UP.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/ice/skies/starrynite_bk.png":["textures/ice/skies/starrynite_BK.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/ice/skies/starrynite_dn.png":["textures/ice/skies/starrynite_DN.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/ice/skies/starrynite_fr.png":["textures/ice/skies/starrynite_FR.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/ice/skies/starrynite_lf.png":["textures/ice/skies/starrynite_LF.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/ice/skies/starrynite_rt.png":["textures/ice/skies/starrynite_RT.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/ice/skies/starrynite_up.png":["textures/ice/skies/starrynite_UP.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/ice/skies/starrynite_v1_bk.png":["textures/ice/skies/starrynite_v1_BK.png",["ice.vl2"]],"textures/ice/skies/starrynite_v1_dn.png":["textures/ice/skies/starrynite_v1_DN.png",["ice.vl2"]],"textures/ice/skies/starrynite_v1_fr.png":["textures/ice/skies/starrynite_v1_FR.png",["ice.vl2"]],"textures/ice/skies/starrynite_v1_lf.png":["textures/ice/skies/starrynite_v1_LF.png",["ice.vl2"]],"textures/ice/skies/starrynite_v1_rt.png":["textures/ice/skies/starrynite_v1_RT.png",["ice.vl2"]],"textures/ice/skies/starrynite_v1_up.png":["textures/ice/skies/starrynite_v1_UP.png",["ice.vl2"]],"textures/ice/skies/t2cloud1.png":["textures/ice/skies/T2cloud1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/ice/skies/t2cloud2.png":["textures/ice/skies/T2cloud2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/ice/skies/t2cloud3.png":["textures/ice/skies/T2cloud3.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/ice/skies/t2dark_b.png":["textures/ice/skies/T2dark_b.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/ice/skies/t2dark_bottom.png":["textures/ice/skies/T2dark_bottom.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/ice/skies/t2dark_f.png":["textures/ice/skies/T2dark_f.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/ice/skies/t2dark_l.png":["textures/ice/skies/T2dark_l.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/ice/skies/t2dark_r.png":["textures/ice/skies/T2dark_r.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/ice/skies/t2dark_t.png":["textures/ice/skies/T2dark_t.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/ice/skies/wave_emap.png":["textures/ice/skies/wave_emap.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/ice/snowrock.png":["textures/ice/snowrock.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/snowrock2.png":["textures/ice/snowrock2.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ebor01.png":["textures/ice/sw_ebor01.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ecap01.png":["textures/ice/sw_ecap01.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ecap01a.png":["textures/ice/sw_ecap01a.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ecap01b.png":["textures/ice/sw_ecap01b.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ecap01c.png":["textures/ice/sw_ecap01c.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ecap02.png":["textures/ice/sw_ecap02.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_edoor01.png":["textures/ice/sw_edoor01.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_edoor02.png":["textures/ice/sw_edoor02.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_edoor03.png":["textures/ice/sw_edoor03.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_edoor04.png":["textures/ice/sw_edoor04.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_eflo01.png":["textures/ice/sw_eflo01.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_eflo01a.png":["textures/ice/sw_eflo01a.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_eflo01b.png":["textures/ice/sw_eflo01b.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_eflo01c.png":["textures/ice/sw_eflo01c.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_elig01.png":["textures/ice/sw_elig01.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_elig02.png":["textures/ice/sw_elig02.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_espec01.png":["textures/ice/sw_espec01.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_espec02.png":["textures/ice/sw_espec02.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_espec03.png":["textures/ice/sw_espec03.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ewal01.png":["textures/ice/sw_ewal01.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ewal01a.png":["textures/ice/sw_ewal01a.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ewal01b.png":["textures/ice/sw_ewal01b.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ewal01c.png":["textures/ice/sw_ewal01c.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ewal01d.png":["textures/ice/sw_ewal01d.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ewal02.png":["textures/ice/sw_ewal02.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ewal02a.png":["textures/ice/sw_ewal02a.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ewal03.png":["textures/ice/sw_ewal03.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ewal03a.png":["textures/ice/sw_ewal03a.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ewal04.png":["textures/ice/sw_ewal04.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ewal06.png":["textures/ice/sw_ewal06.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ewal06b.png":["textures/ice/sw_ewal06b.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ewal06c.png":["textures/ice/sw_ewal06c.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ewal06d.png":["textures/ice/sw_ewal06d.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_floorgrate.png":["textures/ice/sw_floorgrate.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_floorthresh.png":["textures/ice/sw_floorthresh.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ibor01.png":["textures/ice/sw_ibor01.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ibor01a.png":["textures/ice/sw_ibor01a.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_iborlig01.png":["textures/ice/sw_iborlig01.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_iborlig01a.png":["textures/ice/sw_iborlig01a.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_iborlig01b.png":["textures/ice/sw_iborlig01b.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_iborlig02.png":["textures/ice/sw_iborlig02.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_iborlig02a.png":["textures/ice/sw_iborlig02a.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_iborlig02b.png":["textures/ice/sw_iborlig02b.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_icei01.png":["textures/ice/sw_icei01.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_icei01a.png":["textures/ice/sw_icei01a.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_icei02.png":["textures/ice/sw_icei02.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_icei02a.png":["textures/ice/sw_icei02a.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ichute01.png":["textures/ice/sw_ichute01.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ichute02.png":["textures/ice/sw_ichute02.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_icol01.png":["textures/ice/sw_icol01.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_icol01a.png":["textures/ice/sw_icol01a.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_icolbase.png":["textures/ice/sw_icolBASE.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_icolcap01.png":["textures/ice/sw_icolCAP01.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_icolcap02.png":["textures/ice/sw_icolCAP02.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_icoligola.png":["textures/ice/sw_icoligolA.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_icolspec01.png":["textures/ice/sw_icolSPEC01.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_icolspec02.png":["textures/ice/sw_icolSPEC02.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ifloor01.png":["textures/ice/sw_ifloor01.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ifloor01a.png":["textures/ice/sw_ifloor01a.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ifloor01b.png":["textures/ice/sw_ifloor01b.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ifloor01c.png":["textures/ice/sw_ifloor01c.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ilig01.png":["textures/ice/sw_ilig01.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ilig02.png":["textures/ice/sw_ilig02.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ilig03.png":["textures/ice/sw_ilig03.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ilig04.png":["textures/ice/sw_ilig04.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ipipe01.png":["textures/ice/sw_ipipe01.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ipipe01a.png":["textures/ice/sw_ipipe01a.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ipipe02.png":["textures/ice/sw_ipipe02.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ispec01.png":["textures/ice/sw_ispec01.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ispec01agl.png":["textures/ice/sw_ispec01agl.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ispec01gl.png":["textures/ice/sw_ispec01gl.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ispec02.png":["textures/ice/sw_ispec02.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ispec02agl.png":["textures/ice/sw_ispec02agl.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ispec02gl.png":["textures/ice/sw_ispec02gl.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ispec03.png":["textures/ice/sw_ispec03.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_ispec03glue.png":["textures/ice/sw_ispec03glue.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_iwal01.png":["textures/ice/sw_iwal01.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_iwal01_4bsb.png":["textures/ice/sw_iwal01_4BSb.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_iwal01_4bsgl.png":["textures/ice/sw_iwal01_4BSgl.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_iwal01gl.png":["textures/ice/sw_iwal01gl.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_iwal01snow.png":["textures/ice/sw_iwal01Snow.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_iwal02.png":["textures/ice/sw_iwal02.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_iwal02snow.png":["textures/ice/sw_iwal02Snow.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_iwal03.png":["textures/ice/sw_iwal03.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_iwal035bseb.png":["textures/ice/sw_iwal035BSEb.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_iwal035bsegl.png":["textures/ice/sw_iwal035BSEgl.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_iwal03gl.png":["textures/ice/sw_iwal03gl.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_iwal03snow.png":["textures/ice/sw_iwal03Snow.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_iwal04.png":["textures/ice/sw_iwal04.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_iwal04gl.png":["textures/ice/sw_iwal04gl.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_iwal05.png":["textures/ice/sw_iwal05.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_iwal05gl.png":["textures/ice/sw_iwal05gl.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_iwalcap01.png":["textures/ice/sw_iwalcap01.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_iwalcap01agl.png":["textures/ice/sw_iwalCAP01agl.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_iwalcap01b.png":["textures/ice/sw_iwalcap01b.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_iwalcap01c.png":["textures/ice/sw_iwalcap01c.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_iwalcap01d.png":["textures/ice/sw_iwalcap01d.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_iwalcap01gl.png":["textures/ice/sw_iwalCAP01gl.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_iwalcap02.png":["textures/ice/sw_iwalcap02.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_iwalcap02agl.png":["textures/ice/sw_iwalCAP02agl.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_iwalcap02b.png":["textures/ice/sw_iwalcap02b.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_iwalcap02c.png":["textures/ice/sw_iwalcap02c.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_iwalcap02d.png":["textures/ice/sw_iwalcap02d.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_iwalcap02gl.png":["textures/ice/sw_iwalCAP02gl.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_iwalsubcap.png":["textures/ice/sw_iwalsubcap.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_screen.png":["textures/ice/sw_screen.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_scrnbrdr01.png":["textures/ice/sw_scrnbrdr01.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_scrnbrdr01a.png":["textures/ice/sw_scrnbrdr01a.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_scrnbrdr01b.png":["textures/ice/sw_scrnbrdr01b.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_scrnbrdr01c.png":["textures/ice/sw_scrnbrdr01c.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_thresh01off.png":["textures/ice/sw_thresh01OFF.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_thresh01on.png":["textures/ice/sw_thresh01ON.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_threshgrate.png":["textures/ice/sw_threshgrate.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/sw_threshside.png":["textures/ice/sw_threshSIDE.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/xsnowrock3.png":["textures/ice/xsnowrock3.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice/xsnowrock4.png":["textures/ice/xsnowrock4.png",["ice.vl2"],["yHDTextures2.0.vl2"]],"textures/ice_dark.dml":["textures/ice_dark.dml",["ice.vl2"]],"textures/icedagger.dml":["textures/iceDagger.dml",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/icedagsky/sback.png":["textures/IceDagSky/sback.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/icedagsky/sdown.png":["textures/IceDagSky/sdown.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/icedagsky/sfront.png":["textures/IceDagSky/sfront.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/icedagsky/sleft.png":["textures/IceDagSky/sleft.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/icedagsky/sright.png":["textures/IceDagSky/sright.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/icedagsky/sup.png":["textures/IceDagSky/sup.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/id_flrgun.png":["textures/id_flrgun.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/inf_butch_frozenhope.dml":["textures/inf_butch_FrozenHope.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/inf_butch_night13.dml":["textures/inf_butch_night13.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/inf_butch_night13_x2.dml":["textures/inf_butch_night13_x2.dml",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/inf_butch_nov50.dml":["textures/inf_butch_nov50.dml",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/inf_butch_nov50_bk.png":["textures/inf_butch_nov50_BK.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/inf_butch_nov50_dn.png":["textures/inf_butch_nov50_DN.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/inf_butch_nov50_fr.png":["textures/inf_butch_nov50_FR.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/inf_butch_nov50_lf.png":["textures/inf_butch_nov50_LF.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/inf_butch_nov50_rt.png":["textures/inf_butch_nov50_RT.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/inf_butch_nov50_up.png":["textures/inf_butch_nov50_UP.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/inf_butchlava51.dml":["textures/inf_butchlava51.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/invtpnl1.png":["textures/invtpnl1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/iris_sky.dml":["textures/Iris_sky.dml",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/island_water.dml":["textures/island_water.dml",["textures.vl2"]],"textures/jagged.dml":["textures/jagged.dml",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/jaggedclaw/be_edoo02.png":["textures/jaggedclaw/be_edoo02.PNG",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/jaggedclaw/be_elig02.png":["textures/jaggedclaw/be_elig02.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/jaggedclaw/be_elig03.png":["textures/jaggedclaw/be_elig03.PNG",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/jaggedclaw/be_espec02.png":["textures/jaggedclaw/be_espec02.PNG",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/jaggedclaw/be_ewal06.png":["textures/jaggedclaw/be_ewal06.PNG",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/jaggedclaw/be_icei01a.png":["textures/jaggedclaw/be_icei01a.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/jaggedclaw/be_ihalig.png":["textures/jaggedclaw/be_ihalig.PNG",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/jaggedclaw/be_iprflo01.png":["textures/jaggedclaw/be_iprflo01.PNG",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/jaggedclaw/be_itebor04.png":["textures/jaggedclaw/be_itebor04.PNG",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/jaggedclaw/be_itedoo01.png":["textures/jaggedclaw/be_itedoo01.PNG",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/jaggedclaw/be_itelig01.png":["textures/jaggedclaw/be_itelig01.PNG",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/jaggedclaw/be_itelig02.png":["textures/jaggedclaw/be_itelig02.PNG",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/jaggedclaw/be_itewal01.png":["textures/jaggedclaw/be_itewal01.PNG",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/jaggedclaw/be_itewal04.png":["textures/jaggedclaw/be_itewal04.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/jaggedclaw/chateau_bk.png":["textures/jaggedclaw/chateau_bk.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/jaggedclaw/chateau_dn.png":["textures/jaggedclaw/chateau_dn.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/jaggedclaw/chateau_ft.png":["textures/jaggedclaw/chateau_ft.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/jaggedclaw/chateau_lf.png":["textures/jaggedclaw/chateau_lf.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/jaggedclaw/chateau_rt.png":["textures/jaggedclaw/chateau_rt.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/jaggedclaw/chateau_up.png":["textures/jaggedclaw/chateau_up.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/jaggedclaw/deck1+.png":["textures/jaggedclaw/deck1+.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/jaggedclaw/ds_ilig03.png":["textures/jaggedclaw/ds_ilig03.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/jaggedclaw/ds_nefbltrim.png":["textures/jaggedclaw/ds_NefBlTrim.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/jaggedclaw/ds_nefblue1.png":["textures/jaggedclaw/ds_NefBlue1.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/jaggedclaw/ds_neffloor1.png":["textures/jaggedclaw/ds_Neffloor1.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/jaggedclaw/ds_neffloor5.png":["textures/jaggedclaw/ds_Neffloor5.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/jaggedclaw/ds_nefwall1.png":["textures/jaggedclaw/ds_NefWall1.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/jaggedclaw/greylite2.png":["textures/jaggedclaw/greylite2.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/jaggedclaw/gtext2a.png":["textures/jaggedclaw/gtext2a.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/jaggedclaw/null.png":["textures/jaggedclaw/null.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/jaggedclaw/slabgrill.png":["textures/jaggedclaw/slabgrill.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/jaggedclaw/tcement1a.png":["textures/jaggedclaw/tcement1a.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/kataskyback.png":["textures/kataSkyBack.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/kataskyfront.png":["textures/kataSkyFront.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/kataskyleft.png":["textures/kataSkyLeft.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/kataskyright.png":["textures/kataSkyRight.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/kataskytop.png":["textures/kataSkyTop.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/kif_iceday.dml":["textures/kif_iceday.dml",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/kif_lava_starrynight.dml":["textures/kif_lava_starrynight.dml",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/kif_lava_starrynight62.dml":["textures/kif_lava_starrynight62.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/kif_lushsunset.dml":["textures/kif_lushsunset.dml",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/l4.dml":["textures/L4.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/launcher.png":["textures/launcher.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lava/bd_iflo03b.png":["textures/lava/bd_iflo03b.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/be_icei01a.png":["textures/lava/be_icei01a.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/be_ifunctec01a.png":["textures/lava/be_ifunctec01a.png",["z_mappacks/xPack2.vl2"]],"textures/lava/be_itelig01.png":["textures/lava/be_itelig01.PNG",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lava/be_itewal02a.png":["textures/lava/be_itewal02a.PNG",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lava/bf_alarm.png":["textures/lava/bf_alarm.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lava/bf_blue.png":["textures/lava/bf_blue.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lava/comp_screen_2.png":["textures/lava/comp_screen_2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lava/display_blue.png":["textures/lava/display_blue.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/display_yellow.png":["textures/lava/display_yellow.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/displaymxscar.png":["textures/lava/displaymxscar.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/ds_alarm.png":["textures/lava/ds_alarm.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_ebor01b.png":["textures/lava/ds_ebor01b.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/ds_ebor02.png":["textures/lava/ds_ebor02.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/ds_efloor1.png":["textures/lava/ds_efloor1.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_eflor1.png":["textures/lava/ds_eflor1.PNG",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/ds_elig01.png":["textures/lava/ds_elig01.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_elig02.png":["textures/lava/ds_elig02.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_elig0202.png":["textures/lava/ds_elig0202.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/ds_elig03.png":["textures/lava/ds_elig03.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_eport01e.png":["textures/lava/ds_eport01e.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/ds_etechbor01.png":["textures/lava/ds_etechbor01.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_etechbrdr2.png":["textures/lava/ds_etechbrdr2.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_etran1.png":["textures/lava/ds_etran1.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/ds_etrans.png":["textures/lava/ds_etrans.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_etrans01.png":["textures/lava/ds_etrans01.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_ewal01.png":["textures/lava/ds_ewal01.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_ewal01a.png":["textures/lava/ds_ewal01a.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_ewal01base.png":["textures/lava/ds_ewal01BASE.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_ewal02.png":["textures/lava/ds_ewal02.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_ewal02a.png":["textures/lava/ds_ewal02a.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/ds_ewal05d.png":["textures/lava/ds_ewal05d.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/ds_ewal11a.png":["textures/lava/ds_ewal11a.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/ds_ewaldeco01.png":["textures/lava/ds_ewaldeco01.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_ewaldeco06.png":["textures/lava/ds_ewaldeco06.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_ewaldeco07.png":["textures/lava/ds_ewaldeco07.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_ewaldeco08.png":["textures/lava/ds_ewaldeco08.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_ewaldeco09.png":["textures/lava/ds_ewaldeco09.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_ewall03.png":["textures/lava/ds_ewall03.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_ewall04.png":["textures/lava/ds_ewall04.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_ewall05.png":["textures/lava/ds_ewall05.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_ewall06.png":["textures/lava/ds_ewall06.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_ewall06a.png":["textures/lava/ds_ewall06a.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/ds_ewall07.png":["textures/lava/ds_ewall07.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_ewall1a.png":["textures/lava/ds_ewall1a.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/ds_floorgrate1.png":["textures/lava/ds_floorgrate1.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_genfloor.png":["textures/lava/ds_genfloor.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_genwall.png":["textures/lava/ds_genwall.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_girder.png":["textures/lava/ds_girder.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_ibor01.png":["textures/lava/ds_ibor01.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_ibor01a.png":["textures/lava/ds_ibor01a.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_ibor02.png":["textures/lava/ds_ibor02.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_ibor02a.png":["textures/lava/ds_ibor02a.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_ibor03.png":["textures/lava/ds_ibor03.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_ibor04.png":["textures/lava/ds_ibor04.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_icei01.png":["textures/lava/ds_icei01.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_icei05.png":["textures/lava/ds_icei05.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/ds_iceilig01.png":["textures/lava/ds_iceilig01.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_iceilig1.png":["textures/lava/ds_iceilig1.PNG",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/ds_ichute01.png":["textures/lava/ds_ichute01.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_ichute02.png":["textures/lava/ds_ichute02.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_iflo01.png":["textures/lava/ds_iflo01.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_iflo02.png":["textures/lava/ds_iflo02.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_iflo03.png":["textures/lava/ds_iflo03.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_iflo04.png":["textures/lava/ds_iflo04.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_iflolig01.png":["textures/lava/ds_ifloLig01.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_iflolig02.png":["textures/lava/ds_ifloLig02.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_ifloor01.png":["textures/lava/ds_ifloor01.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/ds_ihacei01.png":["textures/lava/ds_ihacei01.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_ihaceilig01.png":["textures/lava/ds_ihaceilig01.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_ihalig.png":["textures/lava/ds_ihalig.PNG",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/ds_ilavlight.png":["textures/lava/ds_ilavlight.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_ilig01.png":["textures/lava/ds_ilig01.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_ilig02.png":["textures/lava/ds_ilig02.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_ilig03.png":["textures/lava/ds_ilig03.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_ilig04.png":["textures/lava/ds_ilig04.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_ilig05.png":["textures/lava/ds_ilig05.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_ilig06.png":["textures/lava/ds_ilig06.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_inolite.png":["textures/lava/ds_inolite.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/ds_iwal01.png":["textures/lava/ds_iwal01.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_iwal01a.png":["textures/lava/ds_iwal01a.png",["lava.vl2"],["yHDTextures2.0.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/ds_iwal01aa.png":["textures/lava/ds_iwal01aa.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/ds_iwaldeco01.png":["textures/lava/ds_iwaldeco01.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_iwaldeco01a.png":["textures/lava/ds_iwaldeco01a.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_iwaldeco02.png":["textures/lava/ds_iwaldeco02.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_iwaldeco02a.png":["textures/lava/ds_iwaldeco02a.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_iwaldeco03.png":["textures/lava/ds_iwaldeco03.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_iwaldeco03a.png":["textures/lava/ds_iwaldeco03a.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_iwaldeco04.png":["textures/lava/ds_iwaldeco04.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_iwaldeco04a.png":["textures/lava/ds_iwaldeco04a.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_iwaldeco05.png":["textures/lava/ds_iwaldeco05.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_iwaldeco05a.png":["textures/lava/ds_iwaldeco05a.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_iwaldeco06.png":["textures/lava/ds_iwaldeco06.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_iwaldeco07.png":["textures/lava/ds_iwaldeco07.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_iwaldeco08.png":["textures/lava/ds_iwaldeco08.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_iwaldeco09.png":["textures/lava/ds_iwaldeco09.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_jet01.png":["textures/lava/ds_jet01.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_jet02.png":["textures/lava/ds_jet02.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_jet03.png":["textures/lava/ds_jet03.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_mlatched.png":["textures/lava/ds_mlatched.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_mriveted2.png":["textures/lava/ds_mriveted2.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_nefbltrim.png":["textures/lava/ds_NefBlTrim.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/ds_nefblue.png":["textures/lava/ds_NefBlue.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"],["TR2final105-client.vl2"]],"textures/lava/ds_nefblue1.png":["textures/lava/ds_NefBlue1.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"],["TR2final105-client.vl2"]],"textures/lava/ds_nefblue2.png":["textures/lava/ds_NefBlue2.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"],["TR2final105-client.vl2"]],"textures/lava/ds_nefblue3.png":["textures/lava/ds_NefBlue3.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/ds_neffloor1.png":["textures/lava/ds_Neffloor1.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/ds_neffloor2.png":["textures/lava/ds_Neffloor2.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/ds_neffloor3.png":["textures/lava/ds_Neffloor3.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/ds_neffloor4.png":["textures/lava/ds_Neffloor4.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/ds_neffloor5.png":["textures/lava/ds_Neffloor5.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/ds_neffloor6.png":["textures/lava/ds_NefFloor6.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"],["TR2final105-client.vl2"]],"textures/lava/ds_neflig01.png":["textures/lava/ds_Neflig01.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"],["TR2final105-client.vl2","textures/lava/ds_neflig01.png"]],"textures/lava/ds_nefwall1.png":["textures/lava/ds_NefWall1.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"],["TR2final105-client.vl2"]],"textures/lava/ds_obsidian.png":["textures/lava/ds_obsidian.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_screen.png":["textures/lava/ds_screen.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_techborder1.png":["textures/lava/ds_techborder1.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_techborder2.png":["textures/lava/ds_techborder2.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_techwall_1.png":["textures/lava/ds_techwall_1.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_techwall_2.png":["textures/lava/ds_techwall_2.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_techwall_3.png":["textures/lava/ds_techwall_3.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_thresh01.png":["textures/lava/ds_Thresh01.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_thresh1.png":["textures/lava/ds_Thresh1.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/ds_twall_001.png":["textures/lava/ds_twall_001.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/ds_waldeco1.png":["textures/lava/ds_waldeco1.PNG",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/ds_walldeco_06.png":["textures/lava/ds_walldeco_06.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_walldeco_07.png":["textures/lava/ds_walldeco_07.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_walldeco_08.png":["textures/lava/ds_walldeco_08.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/ds_walldeco_09.png":["textures/lava/ds_walldeco_09.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/euro4_sinivalkoinen_tma5tersmix_water_reflex.png":["textures/lava/Euro4_Sinivalkoinen_TMa5tersMix_water_RefleX.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lava/ext_grey8.png":["textures/lava/ext_grey8.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/greylite1.png":["textures/lava/greylite1.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/greylite2.png":["textures/lava/greylite2.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/greylitetrim.png":["textures/lava/greylitetrim.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/greylitetrim2.png":["textures/lava/greylitetrim2.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/grid_1.png":["textures/lava/grid_1.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lava/grid_rusty_1.png":["textures/lava/grid_rusty_1.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lava/grill1a.png":["textures/lava/grill1a.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/gtext1.png":["textures/lava/gtext1.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/gtext1a.png":["textures/lava/gtext1a.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/gtext2.png":["textures/lava/gtext2.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/gtext2a.png":["textures/lava/gtext2a.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/gtext2b.png":["textures/lava/gtext2b.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/gtext3.png":["textures/lava/gtext3.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/gtext4.png":["textures/lava/gtext4.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/gtext5.png":["textures/lava/gtext5.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/gtextpipe1.png":["textures/lava/gtextpipe1.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/inf_light011.png":["textures/lava/inf_light011.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/inf_light09.png":["textures/lava/inf_light09.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/lavadirt04.png":["textures/lava/lavadirt04.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/lavarock03.png":["textures/lava/lavarock03.png",["lava.vl2"],["yHDTextures2.0.vl2"]],"textures/lava/lavawall20.png":["textures/lava/lavawall20.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/lavawall21.png":["textures/lava/lavawall21.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/lavawall22.png":["textures/lava/lavawall22.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/nycto-bboard.png":["textures/lava/Nycto-bboard.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lava/nycto-bboard2.png":["textures/lava/Nycto-bboard2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lava/nycto-comp2.png":["textures/lava/Nycto-comp2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lava/nycto-comp3.png":["textures/lava/Nycto-comp3.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lava/nycto-comp4.png":["textures/lava/Nycto-comp4.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lava/nycto-comp7.png":["textures/lava/Nycto-comp7.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lava/nycto-computer.png":["textures/lava/Nycto-computer.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lava/nycto-disp1.png":["textures/lava/Nycto-disp1.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lava/nycto-disp2.png":["textures/lava/Nycto-disp2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lava/nycto-hitwall.png":["textures/lava/Nycto-hitwall.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lava/nycto-hitwall2.png":["textures/lava/Nycto-hitwall2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lava/nycto-map.png":["textures/lava/Nycto-map.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lava/nycto-mwall.png":["textures/lava/Nycto-mwall.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lava/nycto-mwall2.png":["textures/lava/Nycto-mwall2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lava/nycto-mwall3.png":["textures/lava/Nycto-mwall3.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lava/nycto-mwall4.png":["textures/lava/Nycto-mwall4.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lava/nycto-pipe.png":["textures/lava/Nycto-pipe.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lava/nycto-plasma.png":["textures/lava/Nycto-plasma.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lava/nycto-plates.png":["textures/lava/Nycto-Plates.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lava/nycto-trim.png":["textures/lava/Nycto-Trim.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lava/radwarn.png":["textures/lava/radwarn.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/skies/kif_lava_starrynight_bk.png":["textures/lava/skies/kif_lava_starrynight_BK.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/lava/skies/kif_lava_starrynight_dn.png":["textures/lava/skies/kif_lava_starrynight_DN.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/lava/skies/kif_lava_starrynight_fr.png":["textures/lava/skies/kif_lava_starrynight_FR.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/lava/skies/kif_lava_starrynight_lf.png":["textures/lava/skies/kif_lava_starrynight_LF.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/lava/skies/kif_lava_starrynight_rt.png":["textures/lava/skies/kif_lava_starrynight_RT.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/lava/skies/kif_lava_starrynight_up.png":["textures/lava/skies/kif_lava_starrynight_UP.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/lava/skies/lava_starrynite_emap.png":["textures/lava/skies/lava_starrynite_emap.png",["lava.vl2"]],"textures/lava/skies/lavanight_v5_bk.png":["textures/lava/skies/lavanight_v5_BK.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"],["z_mappacks/CTF/DynamixFinalPack.vl2","textures/lava/skies/Lavanight_v5_BK.png"]],"textures/lava/skies/lavanight_v5_dn.png":["textures/lava/skies/lavanight_v5_DN.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"],["z_mappacks/CTF/DynamixFinalPack.vl2","textures/lava/skies/Lavanight_v5_DN.png"]],"textures/lava/skies/lavanight_v5_fr.png":["textures/lava/skies/lavanight_v5_FR.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"],["z_mappacks/CTF/DynamixFinalPack.vl2","textures/lava/skies/Lavanight_v5_FR.png"]],"textures/lava/skies/lavanight_v5_lf.png":["textures/lava/skies/lavanight_v5_LF.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"],["z_mappacks/CTF/DynamixFinalPack.vl2","textures/lava/skies/Lavanight_v5_LF.png"]],"textures/lava/skies/lavanight_v5_rt.png":["textures/lava/skies/lavanight_v5_RT.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"],["z_mappacks/CTF/DynamixFinalPack.vl2","textures/lava/skies/Lavanight_v5_RT.png"]],"textures/lava/skies/lavanight_v5_up.png":["textures/lava/skies/lavanight_v5_UP.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"],["z_mappacks/CTF/DynamixFinalPack.vl2","textures/lava/skies/Lavanight_v5_UP.png"]],"textures/lava/skies/lavayellow_v5_bk.png":["textures/lava/skies/lavayellow_v5_BK.png",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"textures/lava/skies/lavayellow_v5_dn.png":["textures/lava/skies/lavayellow_v5_DN.png",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"textures/lava/skies/lavayellow_v5_fr.png":["textures/lava/skies/lavayellow_v5_FR.png",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"textures/lava/skies/lavayellow_v5_lf.png":["textures/lava/skies/lavayellow_v5_LF.png",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"textures/lava/skies/lavayellow_v5_rt.png":["textures/lava/skies/lavayellow_v5_RT.png",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"textures/lava/skies/lavayellow_v5_up.png":["textures/lava/skies/lavayellow_v5_UP.png",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"textures/lava/skies/starrynite_v5_bk.png":["textures/lava/skies/starrynite_v5_BK.png",["lava.vl2"]],"textures/lava/skies/starrynite_v5_dn.png":["textures/lava/skies/starrynite_v5_DN.png",["lava.vl2"]],"textures/lava/skies/starrynite_v5_fr.png":["textures/lava/skies/starrynite_v5_FR.png",["lava.vl2"]],"textures/lava/skies/starrynite_v5_lf.png":["textures/lava/skies/starrynite_v5_LF.png",["lava.vl2"]],"textures/lava/skies/starrynite_v5_rt.png":["textures/lava/skies/starrynite_v5_RT.png",["lava.vl2"]],"textures/lava/skies/starrynite_v5_up.png":["textures/lava/skies/starrynite_v5_UP.png",["lava.vl2"]],"textures/lava/skies/volcanic_starrynite_emap.png":["textures/lava/skies/volcanic_starrynite_emap.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"],["z_mappacks/CTF/DynamixFinalPack.vl2"],["lava.vl2"]],"textures/lava/skies/volcanic_starrynite_emap_x2.png":["textures/lava/skies/volcanic_starrynite_emap_x2.png",["z_mappacks/xPack2.vl2"]],"textures/lava/stplate0010.png":["textures/lava/Stplate0010.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/stplate0021.png":["textures/lava/stplate0021.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/stplate1.png":["textures/lava/Stplate1.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/stplate10a.png":["textures/lava/STPLATE10a.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/stplate10c.png":["textures/lava/STPLATE10c.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/stplate12.png":["textures/lava/STPLATE12.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/stplate13.png":["textures/lava/STPLATE13.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/stplate14.png":["textures/lava/stplate14.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/stplate2.png":["textures/lava/Stplate2.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/stplate3.png":["textures/lava/Stplate3.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/stplate5.png":["textures/lava/Stplate5.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/stplate5a.png":["textures/lava/STPLATE5a.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/stplate6.png":["textures/lava/Stplate6.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/stplate7.png":["textures/lava/Stplate7.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/stplate8.png":["textures/lava/Stplate8.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/stplate9.png":["textures/lava/Stplate9.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/sw_floorgrate.png":["textures/lava/sw_floorgrate.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/sw_ipipe02.png":["textures/lava/sw_ipipe02.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lava/tcement1a.png":["textures/lava/tcement1a.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/techwall_1.png":["textures/lava/techwall_1.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lava/techwall_paint.png":["textures/lava/techwall_paint.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lava/techwall_rusty.png":["textures/lava/techwall_rusty.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lava/techwall_rusty2.png":["textures/lava/techwall_rusty2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lava/tlite6.png":["textures/lava/tlite6.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/tma5t_cowboy1.png":["textures/lava/Tma5t_Cowboy1.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/tma5t_cowboy2.png":["textures/lava/Tma5t_Cowboy2.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/tma5t_cowboy3.png":["textures/lava/Tma5t_Cowboy3.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/tma5t_cowboy4.png":["textures/lava/Tma5t_Cowboy4.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/tma5t_cowboy5.png":["textures/lava/Tma5t_Cowboy5.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/tma5t_cowboy6.png":["textures/lava/Tma5t_Cowboy6.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/tma5t_cowboy7.png":["textures/lava/Tma5t_Cowboy7.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/tma5t_cowboy8.png":["textures/lava/Tma5t_Cowboy8.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/tma5t_cowboy9.png":["textures/lava/Tma5t_Cowboy9.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/tma5t_cowboyb10.png":["textures/lava/Tma5t_Cowboyb10.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/tma5t_cowboyb11.png":["textures/lava/Tma5t_Cowboyb11.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/tma5t_cowboyb12.png":["textures/lava/Tma5t_Cowboyb12.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/tma5t_cowboyb13.png":["textures/lava/Tma5t_Cowboyb13.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lava/tma5t_cowboyb14.png":["textures/lava/Tma5t_Cowboyb14.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lava/tma5t_cowboyb15.png":["textures/lava/Tma5t_Cowboyb15.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lava/tplate1.png":["textures/lava/tplate1.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/tplate2.png":["textures/lava/tplate2.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava/ttrim2.png":["textures/lava/ttrim2.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lava_dark.dml":["textures/lava_dark.dml",["lava.vl2"]],"textures/lava_night.dml":["textures/lava_night.dml",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"],["z_mappacks/CTF/DynamixFinalPack.vl2"]],"textures/lava_yellow.dml":["textures/lava_yellow.dml",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"textures/lavanight_v5.dml":["textures/lavanight_v5.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/legends_tower/base1.png":["textures/legends_tower/base1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/legends_tower/base1b.png":["textures/legends_tower/base1b.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/legends_tower/base1c.png":["textures/legends_tower/base1c.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/legends_tower/basictrim2b.png":["textures/legends_tower/basictrim2b.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/legends_tower/cemdrkot2.png":["textures/legends_tower/cemdrkot2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/legends_tower/cemdrktile.png":["textures/legends_tower/cemdrktile.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/legends_tower/cemdrktile7.png":["textures/legends_tower/cemdrktile7.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/legends_tower/cemtiledrk.png":["textures/legends_tower/cemtiledrk.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/legends_tower/cemtiledrk5.png":["textures/legends_tower/cemtiledrk5.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/legends_tower/concrete.png":["textures/legends_tower/concrete.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/legends_tower/confllr.png":["textures/legends_tower/confllr.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/legends_tower/confllr2.png":["textures/legends_tower/confllr2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/legends_tower/confllrtile2.png":["textures/legends_tower/confllrtile2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/legends_tower/cretefloor02.png":["textures/legends_tower/cretefloor02.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/legends_tower/e6lfloor.png":["textures/legends_tower/e6lfloor.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/legends_tower/flrcemtilsmlx.png":["textures/legends_tower/flrcemtilsmlx.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/legends_tower/flrmtlhls.png":["textures/legends_tower/flrmtlhls.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/legends_tower/hexametal.png":["textures/legends_tower/hexametal.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/legends_tower/mtltekfloor.png":["textures/legends_tower/mtltekfloor.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/legends_tower/null.png":["textures/legends_tower/null.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/legends_tower/oddtiled.png":["textures/legends_tower/oddtiled.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/legends_tower/tfloorhexsmll.png":["textures/legends_tower/tfloorhexsmll.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lightb00.png":["textures/lightb00.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/liquidtiles/algaewater.png":["textures/liquidTiles/AlgaeWater.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/archipelago_emap_cloudsground.png":["textures/liquidTiles/archipelago_emap_cloudsground.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/archipelago_water.png":["textures/liquidTiles/archipelago_water.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/bloodmoon_bloodwater2.png":["textures/liquidtiles/BloodMoon_bloodwater2.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/liquidtiles/bluewater.png":["textures/liquidTiles/BlueWater.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/caustic_water.png":["textures/liquidtiles/caustic_water.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/liquidtiles/damnation_emap_cloudsground.png":["textures/liquidTiles/damnation_emap_cloudsground.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/greenwater.png":["textures/liquidTiles/GreenWater.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/ice_water_ram.png":["textures/liquidTiles/ice_water_ram.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/liquidtiles/icebound_emap_cloudsground.png":["textures/liquidTiles/icebound_emap_cloudsground.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/icebound_water.png":["textures/liquidTiles/icebound_water.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/industrial_oil.png":["textures/LiquidTiles/industrial_oil.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2","textures/liquidtiles/industrial_oil.png"],["z_mappacks/xPack2.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2","textures/liquidtiles/industrial_oil.png"],["z_mappacks/zDMP-4.7.3DX.vl2","textures/liquidtiles/industrial_oil.png"]],"textures/liquidtiles/insalubria_emap_cloudsground.png":["textures/liquidTiles/insalubria_emap_cloudsground.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/islandwater01.png":["textures/liquidTiles/IslandWater01.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/islandwater02.png":["textures/liquidTiles/IslandWater02.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/islandwater03.png":["textures/liquidTiles/IslandWater03.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/islandwater04.png":["textures/liquidTiles/IslandWater04.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/lava.png":["textures/liquidTiles/Lava.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/lavapool01.png":["textures/liquidTiles/LavaPool01.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/lavapool02.png":["textures/liquidTiles/LavaPool02.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/lavapool03.png":["textures/liquidTiles/LavaPool03.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/lavapool04.png":["textures/liquidTiles/LavaPool04.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/lushwater01.png":["textures/liquidTiles/LushWater01.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/lushwater01_algae.png":["textures/liquidTiles/LushWater01_Algae.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/lushwater02.png":["textures/liquidTiles/LushWater02.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/lushwater02_algae.png":["textures/liquidTiles/LushWater02_Algae.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/lushwater03.png":["textures/liquidTiles/LushWater03.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/lushwater03_algae.png":["textures/liquidTiles/LushWater03_Algae.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/lushwater04.png":["textures/liquidTiles/LushWater04.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/lushwater04_algae.png":["textures/liquidTiles/LushWater04_Algae.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/modulation03.png":["textures/liquidTiles/Modulation03.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/modulation04.png":["textures/liquidTiles/Modulation04.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/muddyswamp_industrial_oil.png":["textures/liquidtiles/MuddySwamp_industrial_oil.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/liquidtiles/myrkwood_emap_cloudsground.png":["textures/liquidTiles/myrkwood_emap_cloudsground.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/oasis_emap_cloudsground.png":["textures/liquidTiles/oasis_emap_cloudsground.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/oasis_water_ripply.png":["textures/liquidTiles/oasis_water_ripply.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/planetx_cb_water.png":["textures/liquidtiles/PlanetX_CB_water.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/liquidtiles/quagmire_emap_cloudsground.png":["textures/liquidTiles/quagmire_emap_cloudsground.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/respite_emap_cloudsground.png":["textures/liquidTiles/respite_emap_cloudsground.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/reversion_emap_cloudsground.png":["textures/liquidTiles/reversion_emap_cloudsground.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/riverdance_emap_cloudsground.png":["textures/liquidTiles/riverdance_emap_cloudsground.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/riverdance_water_1.png":["textures/liquidTiles/riverdance_water_1.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/riverdance_water_5.png":["textures/liquidTiles/riverdance_water_5.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/riverdance_water_6.png":["textures/liquidTiles/riverdance_water_6.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/sanctuary_emap_cloudsground.png":["textures/liquidTiles/sanctuary_emap_cloudsground.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/sanctuary_water_1.png":["textures/liquidTiles/sanctuary_water_1.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/sanctuary_water_2.png":["textures/liquidTiles/sanctuary_water_2.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/sewagewater.png":["textures/liquidtiles/SewageWater.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/liquidtiles/shore_modulation.png":["textures/liquidTiles/Shore_Modulation.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/tes_water2.bm8":["textures/LiquidTiles/tes_water2.bm8",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/liquidtiles/tes_water2.png":["textures/LiquidTiles/tes_water2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2","textures/liquidtiles/tes_water2.png"],["z_mappacks/zDMP-4.7.3DX.vl2","textures/liquidtiles/tes_water2.png"]],"textures/liquidtiles/thinice_emap_cloudsground.png":["textures/liquidTiles/thinice_emap_cloudsground.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/tile01a.png":["textures/liquidTiles/Tile01a.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/tile02a.png":["textures/liquidTiles/Tile02a.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/tile03a.png":["textures/liquidTiles/Tile03a.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/liquidtiles/tile04a.png":["textures/liquidTiles/Tile04a.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/lite_green4a.png":["textures/lite_green4A.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lush/attrition_iflag.png":["textures/lush/attrition_iflag.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/attrition_sflag.png":["textures/lush/attrition_sflag.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/bb_red.png":["textures/lush/bb_red.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lush/bb_red2.png":["textures/lush/bb_red2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lush/bb_sand.png":["textures/lush/bb_sand.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lush/be_ebor01b.png":["textures/lush/be_ebor01b.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ebor01bb.png":["textures/lush/be_ebor01bb.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/be_ebor01d.png":["textures/lush/be_ebor01d.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ebor01e.png":["textures/lush/be_ebor01e.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ebor02.png":["textures/lush/be_ebor02.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ebor03.png":["textures/lush/be_ebor03.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ebor04a.png":["textures/lush/be_ebor04a.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ecombo02a.png":["textures/lush/be_ecombo02a.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_edoo01.png":["textures/lush/be_Edoo01.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_edoo02.png":["textures/lush/be_edoo02.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_edoo03.png":["textures/lush/be_edoo03.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_eflo01.png":["textures/lush/be_eflo01.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_eflo02.png":["textures/lush/be_eflo02.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_elig01.png":["textures/lush/be_elig01.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_elig02.png":["textures/lush/be_elig02.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_elig02_nd.png":["textures/lush/be_elig02_nd.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lush/be_elig03.png":["textures/lush/be_elig03.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_elig033.png":["textures/lush/be_elig033.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/be_epipe01.png":["textures/lush/be_epipe01.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_eport01.png":["textures/lush/be_eport01.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_eport01e.png":["textures/lush/be_eport01e.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_eport02a.png":["textures/lush/be_eport02a.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_eport02b.png":["textures/lush/be_eport02b.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_espec01.png":["textures/lush/be_espec01.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_espec02.png":["textures/lush/be_espec02.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_espec03.png":["textures/lush/be_espec03.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_espec03a.png":["textures/lush/be_espec03a.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_espec03b.png":["textures/lush/be_espec03b.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_espec04.png":["textures/lush/be_espec04.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_espec05.png":["textures/lush/be_espec05.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_espec05b.png":["textures/lush/be_espec05b.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_espec06a.png":["textures/lush/be_espec06a.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_espec07.png":["textures/lush/be_espec07.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_espec08.png":["textures/lush/be_espec08.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_espec09.png":["textures/lush/be_espec09.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_etec.png":["textures/lush/be_etec.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_eterrain02.png":["textures/lush/be_eterrain02.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_eterrain02a.png":["textures/lush/be_eterrain02a.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_eterrain02b.png":["textures/lush/be_eterrain02b.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ewal01b.png":["textures/lush/be_ewal01b.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ewal02b.png":["textures/lush/be_ewal02b.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ewal02be.png":["textures/lush/be_ewal02be.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/be_ewal03_hl.png":["textures/lush/be_ewal03_hl.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lush/be_ewal03a.png":["textures/lush/be_ewal03a.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ewal03acrk.png":["textures/lush/be_ewal03acrk.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lush/be_ewal04a.png":["textures/lush/be_ewal04a.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ewal05.png":["textures/lush/be_ewal05.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ewal05a.png":["textures/lush/be_ewal05a.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ewal05d.png":["textures/lush/be_ewal05d.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ewal06.png":["textures/lush/be_ewal06.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ewal07.png":["textures/lush/be_ewal07.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ewal077.png":["textures/lush/be_ewal077.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/be_ewal08.png":["textures/lush/be_ewal08.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ewal09b.png":["textures/lush/be_ewal09b.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ewal11b.png":["textures/lush/be_ewal11b.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ewal11d.png":["textures/lush/be_ewal11d.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ewal12b.png":["textures/lush/be_ewal12b.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ewall10.png":["textures/lush/be_ewall10.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_gr3streak.png":["textures/lush/be_gr3streak.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lush/be_gr4streak.png":["textures/lush/be_gr4streak.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lush/be_icei01.png":["textures/lush/be_icei01.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_icei01a.png":["textures/lush/be_icei01a.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_icei01b.png":["textures/lush/be_icei01b.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_icei01b1.png":["textures/lush/be_icei01b1.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/be_icei01c.png":["textures/lush/be_icei01c.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_icei01ca.png":["textures/lush/be_icei01ca.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/be_icei02.png":["textures/lush/be_icei02.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_icei03.png":["textures/lush/be_icei03.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_icei03b.png":["textures/lush/be_icei03b.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_icei04.png":["textures/lush/be_icei04.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ichute01.png":["textures/lush/be_ichute01.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ichute02.png":["textures/lush/be_ichute02.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_icobor1.png":["textures/lush/be_icobor1.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_icobor1a.png":["textures/lush/be_icobor1a.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_icocei.png":["textures/lush/be_icocei.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_icolbase01.png":["textures/lush/be_iColBase01.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_icolig.png":["textures/lush/be_icolig.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_icolig01.png":["textures/lush/be_icolig01.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_icoligola.png":["textures/lush/be_icoligolA.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_icoltop.png":["textures/lush/be_iColTop.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_icomp01.png":["textures/lush/be_icomp01.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_icomp01a.png":["textures/lush/be_icomp01a.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_icowal02.png":["textures/lush/be_icowal02.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_icowal02a.png":["textures/lush/be_icowal02a.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_icowal02b.png":["textures/lush/be_icowal02b.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_iflo01.png":["textures/lush/be_iflo01.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_iflo01a.png":["textures/lush/be_iflo01a.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_iflowet.png":["textures/lush/be_ifloWet.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ifunctec01.png":["textures/lush/be_ifunctec01.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ifunctec01a.png":["textures/lush/be_ifunctec01a.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_igeneric.png":["textures/lush/be_iGeneric.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_igenericdark.png":["textures/lush/be_iGenericDark.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ihadoo.png":["textures/lush/be_ihadoo.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ihaflo01.png":["textures/lush/be_ihaflo01.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ihalig.png":["textures/lush/be_ihalig.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ihaspe01.png":["textures/lush/be_ihaspe01.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ihawal01.png":["textures/lush/be_ihawal01.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ihawal02.png":["textures/lush/be_ihawal02.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ihawal04.png":["textures/lush/be_ihawal04.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ihawal04a.png":["textures/lush/be_ihawal04a.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ihawal04b.png":["textures/lush/be_ihawal04b.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ihawal04d.png":["textures/lush/be_ihawal04d.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ihawal05a.png":["textures/lush/be_ihawal05a.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ihawal05b.png":["textures/lush/be_ihawal05b.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ihawal05c.png":["textures/lush/be_ihawal05c.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ipipe01.png":["textures/lush/be_ipipe01.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ipipe01_iwal.png":["textures/lush/be_ipipe01_iwal.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ipipe01b.png":["textures/lush/be_ipipe01b.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_iprflo01.png":["textures/lush/be_iprflo01.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_iprwal01.png":["textures/lush/be_iprwal01.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ispec01.png":["textures/lush/be_ispec01.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ispec01a.png":["textures/lush/be_ispec01a.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_ispec01b.png":["textures/lush/be_ispec01b.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_itebor01.png":["textures/lush/be_itebor01.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_itebor02.png":["textures/lush/be_itebor02.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_itebor02a.png":["textures/lush/be_itebor02a.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_itebor02b.png":["textures/lush/be_itebor02b.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_itebor02c.png":["textures/lush/be_itebor02c.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_itebor04.png":["textures/lush/be_itebor04.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_itec01.png":["textures/lush/be_itec01.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_itec01a.png":["textures/lush/be_itec01a.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_itec01c.png":["textures/lush/be_itec01c.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_itecei01.png":["textures/lush/be_itecei01.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_itecei02.png":["textures/lush/be_itecei02.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_itedoo01.png":["textures/lush/be_itedoo01.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_iteflo01.png":["textures/lush/be_iteflo01.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_iteflo02.png":["textures/lush/be_iteflo02.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_itelig01.png":["textures/lush/be_itelig01.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_itelig02.png":["textures/lush/be_itelig02.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_itewal01.png":["textures/lush/be_itewal01.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_itewal02.png":["textures/lush/be_itewal02.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_itewal02a.png":["textures/lush/be_itewal02a.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_itewal03.png":["textures/lush/be_itewal03.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_itewal04.png":["textures/lush/be_itewal04.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_screen.png":["textures/lush/be_screen.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_thresh01.png":["textures/lush/be_thresh01.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_thresh01a.png":["textures/lush/be_thresh01a.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_thresh02.png":["textures/lush/be_thresh02.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_thresh02a.png":["textures/lush/be_thresh02a.png",["lush.vl2"],["yHDTextures2.0.vl2"]],"textures/lush/be_twal05.png":["textures/lush/be_twal05.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/beach_wal1.png":["textures/lush/beach_wal1.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/beach_wal2.png":["textures/lush/beach_wal2.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/beach_wal3.png":["textures/lush/beach_wal3.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/bluemoon.png":["textures/lush/BlueMoon.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/lush/box_a.png":["textures/lush/box_a.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lush/box_b.png":["textures/lush/box_b.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lush/box_c.png":["textures/lush/box_c.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lush/display05.png":["textures/lush/display05.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/display_07.png":["textures/lush/display_07.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/dox_beam.png":["textures/lush/dox_beam.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lush/dox_bluelite1.png":["textures/lush/dox_bluelite1.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lush/dox_bluelite2.png":["textures/lush/dox_bluelite2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lush/dox_grsteel3.png":["textures/lush/dox_grsteel3.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lush/dox_grsteel3_b.png":["textures/lush/dox_grsteel3_b.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lush/dox_grsteel3_f.png":["textures/lush/dox_grsteel3_f.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lush/dox_grsteel4.png":["textures/lush/dox_grsteel4.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lush/dox_pipe1.png":["textures/lush/dox_pipe1.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lush/emap_beachblitz.png":["textures/lush/emap_beachblitz.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lush/hazard.png":["textures/lush/hazard.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/ir_blocks.bm8":["textures/lush/ir_blocks.bm8",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/lush/ir_blocks.png":["textures/lush/ir_blocks.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lush/ir_plain.bm8":["textures/lush/ir_plain.bm8",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/lush/ir_plain.png":["textures/lush/ir_plain.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lush/ir_relief.bm8":["textures/lush/ir_relief.bm8",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/lush/ir_relief.png":["textures/lush/ir_relief.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lush/ir_trim1.bm8":["textures/lush/ir_trim1.bm8",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/lush/ir_trim1.png":["textures/lush/ir_trim1.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lush/ir_trim2.bm8":["textures/lush/ir_trim2.bm8",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/lush/ir_trim2.png":["textures/lush/ir_trim2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lush/ir_wall.bm8":["textures/lush/ir_wall.bm8",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/lush/ir_wall.png":["textures/lush/ir_wall.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lush/kb_logitech.png":["textures/lush/kb_logitech.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/light_base01.png":["textures/lush/light_base01.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/panel.png":["textures/lush/panel.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/reactor01.png":["textures/lush/reactor01.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/rip.png":["textures/lush/rip.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/roman_colla.png":["textures/lush/Roman_COLLa.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lush/roman_collb.png":["textures/lush/Roman_COLLb.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lush/roman_roof.png":["textures/lush/Roman_ROOF.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lush/roman_stone.png":["textures/lush/Roman_STONE.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lush/rustbox.png":["textures/lush/rustbox.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lush/rustbox_logo.png":["textures/lush/rustbox_logo.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/lush/skies/bbday_bk.png":["textures/lush/Skies/BBday_BK.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2","textures/lush/skies/BBday_BK.png"]],"textures/lush/skies/bbday_dn.png":["textures/lush/Skies/BBday_DN.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2","textures/lush/skies/BBday_DN.png"]],"textures/lush/skies/bbday_fr.png":["textures/lush/Skies/BBday_FR.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2","textures/lush/skies/BBday_FR.png"]],"textures/lush/skies/bbday_lf.png":["textures/lush/Skies/BBday_LF.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2","textures/lush/skies/BBday_LF.png"]],"textures/lush/skies/bbday_rt.png":["textures/lush/Skies/BBday_RT.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2","textures/lush/skies/BBday_RT.png"]],"textures/lush/skies/bbday_up.png":["textures/lush/Skies/BBday_UP.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2","textures/lush/skies/BBday_UP.png"]],"textures/lush/skies/emap_dark_green.png":["textures/lush/skies/emap_dark_green.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lush/skies/emap_muddy.png":["textures/lush/skies/emap_muddy.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lush/skies/kif_lushsunset_bk.png":["textures/lush/skies/kif_lushsunset_BK.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lush/skies/kif_lushsunset_dn.png":["textures/lush/skies/kif_lushsunset_DN.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lush/skies/kif_lushsunset_fr.png":["textures/lush/skies/kif_lushsunset_FR.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lush/skies/kif_lushsunset_lf.png":["textures/lush/skies/kif_lushsunset_LF.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lush/skies/kif_lushsunset_rt.png":["textures/lush/skies/kif_lushsunset_RT.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lush/skies/kif_lushsunset_up.png":["textures/lush/skies/kif_lushsunset_UP.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lush/skies/l4_b.png":["textures/lush/skies/L4_b.png",["lush.vl2"]],"textures/lush/skies/l4_bottom.png":["textures/lush/skies/L4_bottom.png",["lush.vl2"]],"textures/lush/skies/l4_f.png":["textures/lush/skies/L4_f.png",["lush.vl2"]],"textures/lush/skies/l4_l.png":["textures/lush/skies/L4_l.png",["lush.vl2"]],"textures/lush/skies/l4_r.png":["textures/lush/skies/L4_r.png",["lush.vl2"]],"textures/lush/skies/l4_t.png":["textures/lush/skies/L4_t.png",["lush.vl2"]],"textures/lush/skies/lush_01_day_v5_bk.png":["textures/lush/skies/lush_01_day_v5_BK.png",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"textures/lush/skies/lush_01_day_v5_bk_x2.png":["textures/lush/Skies/lush_01_day_v5_BK_x2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2","textures/lush/skies/lush_01_day_v5_BK_x2.png"]],"textures/lush/skies/lush_01_day_v5_dn.png":["textures/lush/skies/lush_01_day_v5_DN.png",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"textures/lush/skies/lush_01_day_v5_dn_x2.png":["textures/lush/Skies/lush_01_day_v5_DN_x2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2","textures/lush/skies/lush_01_day_v5_DN_x2.png"]],"textures/lush/skies/lush_01_day_v5_fr.png":["textures/lush/skies/lush_01_day_v5_FR.png",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"textures/lush/skies/lush_01_day_v5_fr_x2.png":["textures/lush/Skies/lush_01_day_v5_FR_x2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2","textures/lush/skies/lush_01_day_v5_FR_x2.png"]],"textures/lush/skies/lush_01_day_v5_lf.png":["textures/lush/skies/lush_01_day_v5_LF.png",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"textures/lush/skies/lush_01_day_v5_lf_x2.png":["textures/lush/Skies/lush_01_day_v5_LF_x2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2","textures/lush/skies/lush_01_day_v5_LF_x2.png"]],"textures/lush/skies/lush_01_day_v5_rt.png":["textures/lush/skies/lush_01_day_v5_RT.png",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"textures/lush/skies/lush_01_day_v5_rt_x2.png":["textures/lush/Skies/lush_01_day_v5_RT_x2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2","textures/lush/skies/lush_01_day_v5_RT_x2.png"]],"textures/lush/skies/lush_01_day_v5_up.png":["textures/lush/skies/lush_01_day_v5_UP.png",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"textures/lush/skies/lush_01_day_v5_up_x2.png":["textures/lush/Skies/lush_01_day_v5_UP_x2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2","textures/lush/skies/lush_01_day_v5_UP_x2.png"]],"textures/lush/skies/lush_01_night_bk.png":["textures/lush/skies/lush_01_night_BK.png",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"textures/lush/skies/lush_01_night_dn.png":["textures/lush/skies/lush_01_night_DN.png",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"textures/lush/skies/lush_01_night_fr.png":["textures/lush/skies/lush_01_night_FR.png",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"textures/lush/skies/lush_01_night_lf.png":["textures/lush/skies/lush_01_night_LF.png",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"textures/lush/skies/lush_01_night_rt.png":["textures/lush/skies/lush_01_night_RT.png",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"textures/lush/skies/lush_01_night_up.png":["textures/lush/skies/lush_01_night_UP.png",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"textures/lush/skies/lush_01_ram_v5_bk.png":["textures/lush/skies/lush_01_ram_v5_BK.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lush/skies/lush_01_ram_v5_dn.png":["textures/lush/skies/lush_01_ram_v5_DN.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lush/skies/lush_01_ram_v5_fr.png":["textures/lush/skies/lush_01_ram_v5_FR.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lush/skies/lush_01_ram_v5_lf.png":["textures/lush/skies/lush_01_ram_v5_LF.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lush/skies/lush_01_ram_v5_rt.png":["textures/lush/skies/lush_01_ram_v5_RT.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lush/skies/lush_01_ram_v5_up.png":["textures/lush/skies/lush_01_ram_v5_UP.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lush/skies/lush_02_dusk_bk.png":["textures/lush/skies/lush_02_dusk_BK.png",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"textures/lush/skies/lush_02_dusk_bk_x2.png":["textures/lush/Skies/lush_02_dusk_BK_x2.png",["z_mappacks/xPack2.vl2"]],"textures/lush/skies/lush_02_dusk_dn.png":["textures/lush/skies/lush_02_dusk_DN.png",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"textures/lush/skies/lush_02_dusk_dn_x2.png":["textures/lush/Skies/lush_02_dusk_DN_x2.png",["z_mappacks/xPack2.vl2"]],"textures/lush/skies/lush_02_dusk_fr.png":["textures/lush/skies/lush_02_dusk_FR.png",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"textures/lush/skies/lush_02_dusk_fr_x2.png":["textures/lush/Skies/lush_02_dusk_FR_x2.png",["z_mappacks/xPack2.vl2"]],"textures/lush/skies/lush_02_dusk_lf.png":["textures/lush/skies/lush_02_dusk_LF.png",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"textures/lush/skies/lush_02_dusk_lf_x2.png":["textures/lush/Skies/lush_02_dusk_LF_x2.png",["z_mappacks/xPack2.vl2"]],"textures/lush/skies/lush_02_dusk_rt.png":["textures/lush/skies/lush_02_dusk_RT.png",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"textures/lush/skies/lush_02_dusk_rt_x2.png":["textures/lush/Skies/lush_02_dusk_RT_x2.png",["z_mappacks/xPack2.vl2"]],"textures/lush/skies/lush_02_dusk_up.png":["textures/lush/skies/lush_02_dusk_UP.png",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"textures/lush/skies/lush_02_dusk_up_x2.png":["textures/lush/Skies/lush_02_dusk_UP_x2.png",["z_mappacks/xPack2.vl2"]],"textures/lush/skies/lush_02c_dusk_bk.png":["textures/lush/skies/lush_02c_dusk_BK.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lush/skies/lush_02c_dusk_dn.png":["textures/lush/skies/lush_02c_dusk_DN.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lush/skies/lush_02c_dusk_fr.png":["textures/lush/skies/lush_02c_dusk_FR.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lush/skies/lush_02c_dusk_lf.png":["textures/lush/skies/lush_02c_dusk_LF.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lush/skies/lush_02c_dusk_rt.png":["textures/lush/skies/lush_02c_dusk_RT.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lush/skies/lush_02c_dusk_up.png":["textures/lush/skies/lush_02c_dusk_UP.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lush/skies/lush_day_emap.png":["textures/lush/skies/lush_day_emap.png",["lush.vl2"]],"textures/lush/skies/lush_nite_emap.png":["textures/lush/skies/lush_nite_emap.png",["lush.vl2"]],"textures/lush/skies/lushcloud1.png":["textures/lush/skies/lushcloud1.png",["lush.vl2"]],"textures/lush/skies/lushcloud3.png":["textures/lush/skies/lushcloud3.png",["lush.vl2"]],"textures/lush/skies/lushcloud4.png":["textures/lush/skies/lushcloud4.png",["lush.vl2"]],"textures/lush/skies/starrynite_v4_bk.png":["textures/lush/skies/starrynite_v4_BK.png",["lush.vl2"]],"textures/lush/skies/starrynite_v4_dn.png":["textures/lush/skies/starrynite_v4_DN.png",["lush.vl2"]],"textures/lush/skies/starrynite_v4_fr.png":["textures/lush/skies/starrynite_v4_FR.png",["lush.vl2"]],"textures/lush/skies/starrynite_v4_lf.png":["textures/lush/skies/starrynite_v4_LF.png",["lush.vl2"]],"textures/lush/skies/starrynite_v4_rt.png":["textures/lush/skies/starrynite_v4_RT.png",["lush.vl2"]],"textures/lush/skies/starrynite_v4_up.png":["textures/lush/skies/starrynite_v4_UP.png",["lush.vl2"]],"textures/lush/skies/starrynite_v6_bk.png":["textures/lush/skies/starrynite_v6_BK.png",["lush.vl2"]],"textures/lush/skies/starrynite_v6_dn.png":["textures/lush/skies/starrynite_v6_DN.png",["lush.vl2"]],"textures/lush/skies/starrynite_v6_fr.png":["textures/lush/skies/starrynite_v6_FR.png",["lush.vl2"]],"textures/lush/skies/starrynite_v6_lf.png":["textures/lush/skies/starrynite_v6_LF.png",["lush.vl2"]],"textures/lush/skies/starrynite_v6_rt.png":["textures/lush/skies/starrynite_v6_RT.png",["lush.vl2"]],"textures/lush/skies/starrynite_v6_up.png":["textures/lush/skies/starrynite_v6_UP.png",["lush.vl2"]],"textures/lush/skull.png":["textures/lush/skull.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/special/alien-01.png":["textures/lush/special/alien-01.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/special/display04.png":["textures/lush/special/display04.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/special/display05.png":["textures/lush/special/display05.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/special/display06.png":["textures/lush/special/display06.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/special/display07.png":["textures/lush/special/display07.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/special/display08.png":["textures/lush/special/display08.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/special/display10.png":["textures/lush/special/display10.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/special/shot01.png":["textures/lush/special/shot01.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/special/shot02.png":["textures/lush/special/shot02.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/special/shot03.png":["textures/lush/special/shot03.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/special/shot04.png":["textures/lush/special/shot04.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/special/shot05.png":["textures/lush/special/shot05.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/special/shot06.png":["textures/lush/special/shot06.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/special/shot07.png":["textures/lush/special/shot07.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/special/shot08.png":["textures/lush/special/shot08.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/special/shot09.png":["textures/lush/special/shot09.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/special/shot11.png":["textures/lush/special/shot11.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/stone_wall1.png":["textures/lush/stone_wall1.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lush/stone_wall2.png":["textures/lush/stone_wall2.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lush/stone_wall3.png":["textures/lush/stone_wall3.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lush/stone_wall4.png":["textures/lush/stone_wall4.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lush/stone_wall5.png":["textures/lush/stone_wall5.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lush/stone_wall7.png":["textures/lush/stone_wall7.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/lush/trim_t01.png":["textures/lush/trim_t01.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/wall_c02.png":["textures/lush/wall_c02.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/wall_light_c01.png":["textures/lush/wall_light_c01.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/wall_trim01.png":["textures/lush/wall_trim01.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/wall_w03a.png":["textures/lush/wall_w03a.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush/xing.png":["textures/lush/xing.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lush_dark.dml":["textures/lush_dark.dml",["lush.vl2"]],"textures/lush_day.dml":["textures/lush_day.dml",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"textures/lush_day_x2.dml":["textures/lush_day_x2.dml",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/lush_dusk.dml":["textures/lush_dusk.dml",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"],["z_mappacks/CTF/DynamixFinalPack.vl2"]],"textures/lush_dusk_x2.dml":["textures/lush_dusk_x2.dml",["z_mappacks/xPack2.vl2"]],"textures/lush_l4.dml":["textures/Lush_l4.dml",["textures.vl2"]],"textures/lush_night.dml":["textures/lush_night.dml",["z_mappacks/CTF/DynamixFinalPack.vl2"]],"textures/lush_ram.dml":["textures/lush_ram.dml",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/lushdusk66.dml":["textures/lushdusk66.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/lushsky_night11.dml":["textures/lushsky_night11.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/magellan.dml":["textures/Magellan.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/magsky/mag_bk.png":["textures/magsky/mag_BK.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/magsky/mag_fr.png":["textures/magsky/mag_FR.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/magsky/mag_lf.png":["textures/magsky/mag_LF.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/magsky/mag_rt.png":["textures/magsky/mag_RT.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/magsky/mag_up.png":["textures/magsky/mag_UP.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/makkon_tech/techcomp3_blk1.png":["textures/makkon_tech/techcomp3_blk1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/makkon_tech/techflat1_blk1.png":["textures/makkon_tech/techflat1_blk1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/makkon_tech/techflat1_rst3.png":["textures/makkon_tech/techflat1_rst3.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/makkon_tech/techflat2_rst2b.png":["textures/makkon_tech/techflat2_rst2b.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/makkon_tech/techflr1_grey2.png":["textures/makkon_tech/techflr1_grey2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/makkon_tech/techflr5_blk1.png":["textures/makkon_tech/techflr5_blk1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/makkon_tech/techflr5_rst3.png":["textures/makkon_tech/techflr5_rst3.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/makkon_tech/techtrim3_red2.png":["textures/makkon_tech/techtrim3_red2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/makkon_tech/techwal9b_grn4.png":["textures/makkon_tech/techwal9b_grn4.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/malig_sky.dml":["textures/Malig_sky.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/metalwall.png":["textures/MetalWall.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/missleturret.png":["textures/missleturret.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/mmd.dml":["textures/mmd.dml",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/mmd/mmd_bk.png":["textures/mmd/mmd_BK.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/mmd/mmd_dn.png":["textures/mmd/mmd_DN.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/mmd/mmd_fr.png":["textures/mmd/mmd_FR.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/mmd/mmd_lf.png":["textures/mmd/mmd_LF.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/mmd/mmd_rt.png":["textures/mmd/mmd_RT.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/mmd/mmd_up.png":["textures/mmd/mmd_UP.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/mmetall.png":["textures/mMetalL.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/mr_02.dml":["textures/mr_02.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/muddy.dml":["textures/muddy.dml",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/muddy/skies/muddy_bk.png":["textures/muddy/skies/muddy_BK.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/muddy/skies/muddy_cloud1.png":["textures/muddy/skies/muddy_cloud1.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/muddy/skies/muddy_cloud2.png":["textures/muddy/skies/muddy_cloud2.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/muddy/skies/muddy_fr.png":["textures/muddy/skies/muddy_FR.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/muddy/skies/muddy_lf.png":["textures/muddy/skies/muddy_LF.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/muddy/skies/muddy_rt.png":["textures/muddy/skies/muddy_RT.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/muddy/skies/muddy_up.png":["textures/muddy/skies/muddy_UP.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/mx3_wall.png":["textures/mx3_wall.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/nef/skies/nef5_bk.png":["textures/nef/skies/Nef5_BK.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/nef5_dn.png":["textures/nef/skies/Nef5_DN.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/nef5_fr.png":["textures/nef/skies/Nef5_FR.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/nef5_lf.png":["textures/nef/skies/Nef5_LF.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/nef5_rt.png":["textures/nef/skies/Nef5_RT.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/nef5_up.png":["textures/nef/skies/Nef5_UP.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/nef_blueclear_1.png":["textures/nef/skies/nef_BlueClear_1.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/nef_blueclear_2.png":["textures/nef/skies/nef_BlueClear_2.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/nef_blueclear_3.png":["textures/nef/skies/nef_BlueClear_3.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/nef_blueclear_4.png":["textures/nef/skies/nef_BlueClear_4.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/nef_blueclear_5.png":["textures/nef/skies/nef_BlueClear_5.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/nef_blueclear_cloud1.png":["textures/nef/skies/nef_BlueClear_cloud1.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/nefred_1.png":["textures/nef/skies/nefRed_1.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/nefred_2.png":["textures/nef/skies/nefRed_2.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/nefred_3.png":["textures/nef/skies/nefRed_3.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/nefred_4.png":["textures/nef/skies/nefRed_4.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/nefred_5.png":["textures/nef/skies/nefRed_5.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/night1.png":["textures/nef/skies/night1.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/night2.png":["textures/nef/skies/night2.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/night3.png":["textures/nef/skies/night3.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/night4.png":["textures/nef/skies/night4.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/night5.png":["textures/nef/skies/night5.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/redplanet2_1.png":["textures/nef/skies/RedPlanet2_1.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/redplanet2_2.png":["textures/nef/skies/RedPlanet2_2.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/redplanet2_3.png":["textures/nef/skies/RedPlanet2_3.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/redplanet2_4.png":["textures/nef/skies/RedPlanet2_4.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/redplanet2_5.png":["textures/nef/skies/RedPlanet2_5.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/redplanet_1.png":["textures/nef/skies/RedPlanet_1.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/redplanet_2.png":["textures/nef/skies/RedPlanet_2.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/redplanet_3.png":["textures/nef/skies/RedPlanet_3.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/redplanet_4.png":["textures/nef/skies/RedPlanet_4.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/redplanet_5.png":["textures/nef/skies/RedPlanet_5.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/redplanet_cloud1.png":["textures/nef/skies/RedPlanet_cloud1.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/redplanet_cloud2.png":["textures/nef/skies/RedPlanet_cloud2.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/surreal1_bk.png":["textures/nef/skies/Surreal1_BK.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/surreal1_fr.png":["textures/nef/skies/Surreal1_FR.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/surreal1_lf.png":["textures/nef/skies/Surreal1_LF.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/surreal1_rt.png":["textures/nef/skies/Surreal1_RT.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/surreal1_up.png":["textures/nef/skies/Surreal1_UP.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/surreal_7.png":["textures/nef/skies/Surreal_7.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/surreal_cloud1.png":["textures/nef/skies/Surreal_Cloud1.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef/skies/surreal_cloud2.png":["textures/nef/skies/Surreal_Cloud2.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef5.dml":["textures/Nef5.dml",["TR2final105-client.vl2"]],"textures/nef5/nef5_bk.png":["textures/Nef5/Nef5_BK.png",["TR2final105-client.vl2"]],"textures/nef5/nef5_dn.png":["textures/Nef5/Nef5_DN.png",["TR2final105-client.vl2"]],"textures/nef5/nef5_fr.png":["textures/Nef5/Nef5_FR.png",["TR2final105-client.vl2"]],"textures/nef5/nef5_lf.png":["textures/Nef5/Nef5_LF.png",["TR2final105-client.vl2"]],"textures/nef5/nef5_rt.png":["textures/Nef5/Nef5_RT.png",["TR2final105-client.vl2"]],"textures/nef5/nef5_up.png":["textures/Nef5/Nef5_UP.png",["TR2final105-client.vl2"]],"textures/nef_5.dml":["textures/nef_5.dml",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef_blueclear.dml":["textures/nef_BlueClear.dml",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef_night1.dml":["textures/nef_night1.dml",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef_red_1.dml":["textures/nef_Red_1.dml",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef_redplanet.dml":["textures/nef_RedPlanet.dml",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef_redplanet2.dml":["textures/nef_RedPlanet2.dml",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef_sset2.dml":["textures/Nef_Sset2.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/nef_sset2_x2.dml":["textures/nef_sset2_x2.dml",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/nef_surreal1.dml":["textures/nef_Surreal1.dml",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/nef_tr2_red.dml":["textures/Nef_TR2_Red.dml",["TR2final105-client.vl2"]],"textures/nef_tr2_red_1.png":["textures/Nef_TR2_Red_1.png",["TR2final105-client.vl2"]],"textures/nef_tr2_red_2.png":["textures/Nef_TR2_Red_2.png",["TR2final105-client.vl2"]],"textures/nef_tr2_red_3.png":["textures/Nef_TR2_Red_3.png",["TR2final105-client.vl2"]],"textures/nef_tr2_red_4.png":["textures/Nef_TR2_Red_4.png",["TR2final105-client.vl2"]],"textures/nef_tr2_red_5.png":["textures/Nef_TR2_Red_5.png",["TR2final105-client.vl2"]],"textures/nef_tr2_red_7.png":["textures/Nef_TR2_Red_7.png",["TR2final105-client.vl2"]],"textures/nef_tr2_red_cloud1.png":["textures/Nef_TR2_Red_Cloud1.png",["TR2final105-client.vl2"]],"textures/nefred1.dml":["textures/NefRed1.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/nefred1/red1_bk_x2.png":["textures/nefred1/red1_BK_x2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/nefred1/red1_cloud1_x2.png":["textures/nefred1/red1_CLOUD1_x2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/nefred1/red1_fr_x2.png":["textures/nefred1/red1_FR_x2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/nefred1/red1_lf_x2.png":["textures/nefred1/red1_LF_x2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/nefred1/red1_rt_x2.png":["textures/nefred1/red1_RT_x2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/nefred1/red1_up_x2.png":["textures/nefred1/red1_UP_x2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/nefred1_x2.dml":["textures/nefred1_x2.dml",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/nefsset2_x2/skies/nef_sset2_bk.png":["textures/nefsset2_x2/skies/nef_sset2_BK.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/nefsset2_x2/skies/nef_sset2_fr.png":["textures/nefsset2_x2/skies/nef_sset2_FR.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/nefsset2_x2/skies/nef_sset2_lf.png":["textures/nefsset2_x2/skies/nef_sset2_LF.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/nefsset2_x2/skies/nef_sset2_rt.png":["textures/nefsset2_x2/skies/nef_sset2_RT.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/nefsset2_x2/skies/nef_sset2_up.png":["textures/nefsset2_x2/skies/nef_sset2_UP.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/nightsky82.dml":["textures/nightsky82.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/nycto-sm.dml":["textures/Nycto-sm.dml",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/nycto/stormmtn_bk.png":["textures/Nycto/stormmtn_BK.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/nycto/stormmtn_dn.png":["textures/Nycto/stormmtn_DN.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/nycto/stormmtn_env.png":["textures/Nycto/stormmtn_ENV.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/nycto/stormmtn_fr.png":["textures/Nycto/stormmtn_FR.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/nycto/stormmtn_lf.png":["textures/Nycto/stormmtn_LF.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/nycto/stormmtn_rt.png":["textures/Nycto/stormmtn_RT.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/nycto/stormmtn_up.png":["textures/Nycto/stormmtn_UP.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/ocean_water.dml":["textures/ocean_water.dml",["textures.vl2"]],"textures/ocular.dml":["textures/ocular.dml",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/pacificsky.dml":["textures/PacificSky.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/padfloor.png":["textures/padfloor.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/paperflag.png":["textures/paperFlag.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/particletest.png":["textures/particleTest.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/pglite00.png":["textures/pglite00.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/planetx.dml":["textures/PlanetX.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/plasma.png":["textures/plasma.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/portgen.png":["textures/portgen.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/portgen3.png":["textures/portgen3.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/portlit0.png":["textures/portlit0.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/precipitation/raindrops.png":["textures/precipitation/raindrops.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/precipitation/snowflake001.png":["textures/precipitation/snowflake001.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/precipitation/snowflake002.png":["textures/precipitation/snowflake002.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/precipitation/snowflake003.png":["textures/precipitation/snowflake003.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/precipitation/snowflake004.png":["textures/precipitation/snowflake004.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/precipitation/snowflake005.png":["textures/precipitation/snowflake005.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/precipitation/snowflake006.png":["textures/precipitation/snowflake006.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/precipitation/snowflake007.png":["textures/precipitation/snowflake007.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/precipitation/snowflake008.png":["textures/precipitation/snowflake008.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/precipitation/snowflake009.png":["textures/precipitation/snowflake009.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/precipitation/snowflake010.png":["textures/precipitation/snowflake010.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/precipitation/snowflake011.png":["textures/precipitation/snowflake011.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/precipitation/snowflake012.png":["textures/precipitation/snowflake012.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/precipitation/snowflake013.png":["textures/precipitation/snowflake013.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/precipitation/snowflake014.png":["textures/precipitation/snowflake014.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/precipitation/snowflake015.png":["textures/precipitation/snowflake015.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/precipitation/snowflake016.png":["textures/precipitation/snowflake016.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/precipitation/snowflake017.png":["textures/precipitation/snowflake017.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/precipitation/snowflakes.png":["textures/precipitation/snowflakes.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/purpsun.dml":["textures/purpsun.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/pwrgenr1.png":["textures/pwrgenr1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/raindrops.dml":["textures/raindrops.dml",["textures.vl2"]],"textures/rainmist.png":["textures/rainmist.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/red_blink0.png":["textures/red_blink0.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/red_blink4.png":["textures/red_blink4.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/redbg.png":["textures/redBg.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/redbrown_tex.png":["textures/redbrown_tex.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/redeemer.png":["textures/redeemer.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/redplanet.dml":["textures/RedPlanet.dml",["TR2final105-client.vl2"]],"textures/redplanet_1.png":["textures/RedPlanet_1.png",["TR2final105-client.vl2"]],"textures/redplanet_2.png":["textures/RedPlanet_2.png",["TR2final105-client.vl2"]],"textures/redplanet_3.png":["textures/RedPlanet_3.png",["TR2final105-client.vl2"]],"textures/redplanet_4.png":["textures/RedPlanet_4.png",["TR2final105-client.vl2"]],"textures/redplanet_5.png":["textures/RedPlanet_5.png",["TR2final105-client.vl2"]],"textures/redplanet_cloud1.png":["textures/RedPlanet_Cloud1.png",["TR2final105-client.vl2"]],"textures/repairgun.png":["textures/repairgun.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/rilrock/ril.darkrock.png":["textures/rilrock/ril.darkrock.png",["z_mappacks/CTF/S8maps.vl2"]],"textures/rlight00.png":["textures/rlight00.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/rlight01.png":["textures/rlight01.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/rlight02.png":["textures/rlight02.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/rlight03.png":["textures/rlight03.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/rlight04.png":["textures/rlight04.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/rlite00.png":["textures/rlite00.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/rlite03.png":["textures/rlite03.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/roelcolor.dml":["textures/roelcolor.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/rpulse00.png":["textures/rpulse00.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/rpulse01.png":["textures/rpulse01.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/rpulse02.png":["textures/rpulse02.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/rpulse03.png":["textures/rpulse03.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/rpulse04.png":["textures/rpulse04.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/rpulse05.png":["textures/rpulse05.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/rpulse06.png":["textures/rpulse06.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/rpulse07.png":["textures/rpulse07.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/rpulse08.png":["textures/rpulse08.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/rpulse09.png":["textures/rpulse09.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/rst_goonflag.png":["textures/rst_goonflag.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/rst_taotribes.png":["textures/rst_taotribes.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/rst_toitle.png":["textures/rst_toitle.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/rst_tribescastcof.png":["textures/rst_tribescastcof.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/rst_tribesnextcof.png":["textures/rst_tribesnextcof.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/sami_d.png":["textures/Sami_D.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/santahat_d.png":["textures/SantaHat_D.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/sat_up.png":["textures/sat_up.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/saturn.dml":["textures/Saturn.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/scorp1.png":["textures/scorp1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/shinny_tech.png":["textures/shinny_tech.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/shotgun.png":["textures/shotgun.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/skies/anabatic_7.png":["textures/skies/anabatic_7.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/skies/anabatic_bk.png":["textures/skies/anabatic_BK.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/skies/anabatic_cloud1.png":["textures/skies/anabatic_Cloud1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/skies/anabatic_cloud2.png":["textures/skies/anabatic_Cloud2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/skies/anabatic_fr.png":["textures/skies/anabatic_FR.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/skies/anabatic_lf.png":["textures/skies/anabatic_LF.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/skies/anabatic_rt.png":["textures/skies/anabatic_RT.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/skies/anabatic_up.png":["textures/skies/anabatic_UP.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/skies/aurawisp/aurawisp_bk.png":["textures/skies/aurawisp/AURAWISP_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/aurawisp/aurawisp_dn.png":["textures/skies/aurawisp/AURAWISP_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/aurawisp/aurawisp_fr.png":["textures/skies/aurawisp/AURAWISP_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/aurawisp/aurawisp_lf.png":["textures/skies/aurawisp/AURAWISP_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/aurawisp/aurawisp_rt.png":["textures/skies/aurawisp/AURAWISP_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/aurawisp/aurawisp_up.png":["textures/skies/aurawisp/AURAWISP_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/badlandday/badlandday_bk.png":["textures/skies/badlandday/badlandday_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/badlandday/badlandday_fr.png":["textures/skies/badlandday/badlandday_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/badlandday/badlandday_lf.png":["textures/skies/badlandday/badlandday_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/badlandday/badlandday_rt.png":["textures/skies/badlandday/badlandday_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/badlandday/badlandday_up.png":["textures/skies/badlandday/badlandday_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/blank_dn.bm8":["textures/skies/blank_DN.bm8",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/skies/blank_dn.png":["textures/skies/blank_DN.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/skies/borealis/borealis_bk.png":["textures/skies/borealis/borealis_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/borealis/borealis_dn.png":["textures/skies/borealis/borealis_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/borealis/borealis_fr.png":["textures/skies/borealis/borealis_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/borealis/borealis_lf.png":["textures/skies/borealis/borealis_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/borealis/borealis_rt.png":["textures/skies/borealis/borealis_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/borealis/borealis_up.png":["textures/skies/borealis/borealis_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/cc_sky_bk.png":["textures/skies/cc_sky_bk.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/skies/cc_sky_fr.png":["textures/skies/cc_sky_fr.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/skies/cc_sky_lf.png":["textures/skies/cc_sky_lf.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/skies/cc_sky_rt.png":["textures/skies/cc_sky_rt.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/skies/cc_sky_up.png":["textures/skies/cc_sky_up.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/skies/ccbsky2/csk2_bk.png":["textures/skies/ccbsky2/csk2_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/ccbsky2/csk2_dn.png":["textures/skies/ccbsky2/csk2_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/ccbsky2/csk2_fr.png":["textures/skies/ccbsky2/csk2_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/ccbsky2/csk2_lf.png":["textures/skies/ccbsky2/csk2_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/ccbsky2/csk2_rt.png":["textures/skies/ccbsky2/csk2_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/ccbsky2/csk2_up.png":["textures/skies/ccbsky2/csk2_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/clouds/clouds_bk.png":["textures/skies/clouds/clouds_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/clouds/clouds_dn.png":["textures/skies/clouds/clouds_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/clouds/clouds_fr.png":["textures/skies/clouds/clouds_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/clouds/clouds_lf.png":["textures/skies/clouds/clouds_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/clouds/clouds_rt.png":["textures/skies/clouds/clouds_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/clouds/clouds_up.png":["textures/skies/clouds/clouds_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/cubemap/cubemap_bk.png":["textures/skies/cubemap/cubemap_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/cubemap/cubemap_dn.png":["textures/skies/cubemap/cubemap_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/cubemap/cubemap_fr.png":["textures/skies/cubemap/cubemap_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/cubemap/cubemap_lf.png":["textures/skies/cubemap/cubemap_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/cubemap/cubemap_rt.png":["textures/skies/cubemap/cubemap_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/cubemap/cubemap_up.png":["textures/skies/cubemap/cubemap_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/darkstormy/darkstormy_bk.png":["textures/skies/DarkStormy/DarkStormy_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/darkstormy/darkstormy_dn.png":["textures/skies/DarkStormy/DarkStormy_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/darkstormy/darkstormy_fr.png":["textures/skies/DarkStormy/DarkStormy_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/darkstormy/darkstormy_lf.png":["textures/skies/DarkStormy/DarkStormy_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/darkstormy/darkstormy_rt.png":["textures/skies/DarkStormy/DarkStormy_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/darkstormy/darkstormy_up.png":["textures/skies/DarkStormy/DarkStormy_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eeps/eepdesert_bk.png":["textures/skies/eeps/eepdesert_BK.PNG",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eeps/eepdesert_fr.png":["textures/skies/eeps/eepdesert_FR.PNG",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eeps/eepdesert_lf.png":["textures/skies/eeps/eepdesert_LF.PNG",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eeps/eepdesert_rt.png":["textures/skies/eeps/eepdesert_RT.PNG",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eeps/eepdesert_up.png":["textures/skies/eeps/eepdesert_UP.PNG",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/euro4_bleed_emap.png":["textures/skies/Euro4_Bleed_emap.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/skies/euro4_bleed_sysday_bk.png":["textures/skies/Euro4_Bleed_sysday_bk.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/skies/euro4_bleed_sysday_dn.png":["textures/skies/Euro4_Bleed_sysday_dn.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/skies/euro4_bleed_sysday_fr.png":["textures/skies/Euro4_Bleed_sysday_fr.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/skies/euro4_bleed_sysday_lf.png":["textures/skies/Euro4_Bleed_sysday_lf.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/skies/euro4_bleed_sysday_rt.png":["textures/skies/Euro4_Bleed_sysday_rt.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/skies/euro4_bleed_sysday_up.png":["textures/skies/Euro4_Bleed_sysday_up.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/skies/euro4_frozenhope_inf_butchlava2_bk.png":["textures/skies/Euro4_FrozenHope_inf_butchlava2_BK.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/skies/euro4_frozenhope_inf_butchlava2_dn.png":["textures/skies/Euro4_FrozenHope_inf_butchlava2_DN.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/skies/euro4_frozenhope_inf_butchlava2_fr.png":["textures/skies/Euro4_FrozenHope_inf_butchlava2_FR.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/skies/euro4_frozenhope_inf_butchlava2_lf.png":["textures/skies/Euro4_FrozenHope_inf_butchlava2_LF.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/skies/euro4_frozenhope_inf_butchlava2_rt.png":["textures/skies/Euro4_FrozenHope_inf_butchlava2_RT.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/skies/euro4_frozenhope_inf_butchlava2_up.png":["textures/skies/Euro4_FrozenHope_inf_butchlava2_UP.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/skies/eve/eve1bk.png":["textures/skies/eve/eve1bk.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve1dn.png":["textures/skies/eve/eve1dn.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve1ft.png":["textures/skies/eve/eve1ft.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve1lf.png":["textures/skies/eve/eve1lf.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve1rt.png":["textures/skies/eve/eve1rt.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve1up.png":["textures/skies/eve/eve1up.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve2bk.png":["textures/skies/eve/eve2bk.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve2dn.png":["textures/skies/eve/eve2dn.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve2ft.png":["textures/skies/eve/eve2ft.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve2lf.png":["textures/skies/eve/eve2lf.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve2rt.png":["textures/skies/eve/eve2rt.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve2up.png":["textures/skies/eve/eve2up.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve3bk.png":["textures/skies/eve/eve3bk.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve3dn.png":["textures/skies/eve/eve3dn.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve3ft.png":["textures/skies/eve/eve3ft.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve3lf.png":["textures/skies/eve/eve3lf.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve3rt.png":["textures/skies/eve/eve3rt.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve3up.png":["textures/skies/eve/eve3up.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve4bk.png":["textures/skies/eve/eve4bk.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve4dn.png":["textures/skies/eve/eve4dn.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve4ft.png":["textures/skies/eve/eve4ft.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve4lf.png":["textures/skies/eve/eve4lf.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve4rt.png":["textures/skies/eve/eve4rt.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve4up.png":["textures/skies/eve/eve4up.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve5bk.png":["textures/skies/eve/eve5bk.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve5dn.png":["textures/skies/eve/eve5dn.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve5ft.png":["textures/skies/eve/eve5ft.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve5lf.png":["textures/skies/eve/eve5lf.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve5rt.png":["textures/skies/eve/eve5rt.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve5up.png":["textures/skies/eve/eve5up.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve6bk.png":["textures/skies/eve/eve6bk.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve6dn.png":["textures/skies/eve/eve6dn.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve6ft.png":["textures/skies/eve/eve6ft.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve6lf.png":["textures/skies/eve/eve6lf.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve6rt.png":["textures/skies/eve/eve6rt.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve6up.png":["textures/skies/eve/eve6up.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve7bk.png":["textures/skies/eve/eve7bk.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve7dn.png":["textures/skies/eve/eve7dn.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve7ft.png":["textures/skies/eve/eve7ft.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve7lf.png":["textures/skies/eve/eve7lf.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve7rt.png":["textures/skies/eve/eve7rt.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve7up.png":["textures/skies/eve/eve7up.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve8bk.png":["textures/skies/eve/eve8bk.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve8dn.png":["textures/skies/eve/eve8dn.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve8ft.png":["textures/skies/eve/eve8ft.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve8lf.png":["textures/skies/eve/eve8lf.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve8rt.png":["textures/skies/eve/eve8rt.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/eve/eve8up.png":["textures/skies/eve/eve8up.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/flingsky03/emap_muddy.png":["textures/skies/flingsky03/emap_muddy.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/flingsky03/flingsky03_bk.png":["textures/skies/flingsky03/flingsky03_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/flingsky03/flingsky03_dn.png":["textures/skies/flingsky03/flingsky03_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/flingsky03/flingsky03_fr.png":["textures/skies/flingsky03/flingsky03_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/flingsky03/flingsky03_lf.png":["textures/skies/flingsky03/flingsky03_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/flingsky03/flingsky03_rt.png":["textures/skies/flingsky03/flingsky03_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/flingsky03/flingsky03_up.png":["textures/skies/flingsky03/flingsky03_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/haloday/haloday_bk.png":["textures/skies/haloday/haloday_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/haloday/haloday_dn.png":["textures/skies/haloday/haloday_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/haloday/haloday_fr.png":["textures/skies/haloday/haloday_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/haloday/haloday_lf.png":["textures/skies/haloday/haloday_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/haloday/haloday_rt.png":["textures/skies/haloday/haloday_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/haloday/haloday_up.png":["textures/skies/haloday/haloday_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/halonite/halonite_bk.png":["textures/skies/halonite/halonite_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/halonite/halonite_dn.png":["textures/skies/halonite/halonite_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/halonite/halonite_fr.png":["textures/skies/halonite/halonite_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/halonite/halonite_lf.png":["textures/skies/halonite/halonite_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/halonite/halonite_rt.png":["textures/skies/halonite/halonite_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/halonite/halonite_up.png":["textures/skies/halonite/halonite_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/harvest/harvest_bk.png":["textures/skies/harvest/harvest_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/harvest/harvest_dn.png":["textures/skies/harvest/harvest_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/harvest/harvest_fr.png":["textures/skies/harvest/harvest_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/harvest/harvest_lf.png":["textures/skies/harvest/harvest_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/harvest/harvest_rt.png":["textures/skies/harvest/harvest_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/harvest/harvest_up.png":["textures/skies/harvest/harvest_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/inf_butch_frozenhope/inf_butch_frozenhope_bk.png":["textures/skies/inf_butch_FrozenHope/inf_butch_FrozenHope_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/inf_butch_frozenhope/inf_butch_frozenhope_dn.png":["textures/skies/inf_butch_FrozenHope/inf_butch_FrozenHope_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/inf_butch_frozenhope/inf_butch_frozenhope_fr.png":["textures/skies/inf_butch_FrozenHope/inf_butch_FrozenHope_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/inf_butch_frozenhope/inf_butch_frozenhope_lf.png":["textures/skies/inf_butch_FrozenHope/inf_butch_FrozenHope_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/inf_butch_frozenhope/inf_butch_frozenhope_rt.png":["textures/skies/inf_butch_FrozenHope/inf_butch_FrozenHope_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/inf_butch_frozenhope/inf_butch_frozenhope_up.png":["textures/skies/inf_butch_FrozenHope/inf_butch_FrozenHope_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/inf_butch_night13/inf_butch_night13_bk.png":["textures/skies/inf_butch_night13/inf_butch_night13_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/inf_butch_night13/inf_butch_night13_dn.png":["textures/skies/inf_butch_night13/inf_butch_night13_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/inf_butch_night13/inf_butch_night13_fr.png":["textures/skies/inf_butch_night13/inf_butch_night13_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/inf_butch_night13/inf_butch_night13_lf.png":["textures/skies/inf_butch_night13/inf_butch_night13_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/inf_butch_night13/inf_butch_night13_rt.png":["textures/skies/inf_butch_night13/inf_butch_night13_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/inf_butch_night13/inf_butch_night13_up.png":["textures/skies/inf_butch_night13/inf_butch_night13_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/inf_butch_nov50/inf_butch_nov50_bk.png":["textures/skies/inf_butch_nov50/inf_butch_nov50_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/inf_butch_nov50/inf_butch_nov50_dn.png":["textures/skies/inf_butch_nov50/inf_butch_nov50_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/inf_butch_nov50/inf_butch_nov50_fr.png":["textures/skies/inf_butch_nov50/inf_butch_nov50_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/inf_butch_nov50/inf_butch_nov50_lf.png":["textures/skies/inf_butch_nov50/inf_butch_nov50_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/inf_butch_nov50/inf_butch_nov50_rt.png":["textures/skies/inf_butch_nov50/inf_butch_nov50_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/inf_butch_nov50/inf_butch_nov50_up.png":["textures/skies/inf_butch_nov50/inf_butch_nov50_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/inf_butchlava51/inf_butchlava51_bk.png":["textures/skies/inf_butchlava51/inf_butchlava51_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/inf_butchlava51/inf_butchlava51_dn.png":["textures/skies/inf_butchlava51/inf_butchlava51_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/inf_butchlava51/inf_butchlava51_fr.png":["textures/skies/inf_butchlava51/inf_butchlava51_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/inf_butchlava51/inf_butchlava51_lf.png":["textures/skies/inf_butchlava51/inf_butchlava51_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/inf_butchlava51/inf_butchlava51_rt.png":["textures/skies/inf_butchlava51/inf_butchlava51_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/inf_butchlava51/inf_butchlava51_up.png":["textures/skies/inf_butchlava51/inf_butchlava51_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/iris/iris_bk.bm8":["textures/skies/Iris/Iris_BK.bm8",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/skies/iris/iris_bk.png":["textures/skies/Iris/Iris_BK.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/skies/iris/iris_dn.bm8":["textures/skies/Iris/Iris_DN.bm8",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/skies/iris/iris_dn.png":["textures/skies/Iris/Iris_DN.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/skies/iris/iris_fr.bm8":["textures/skies/Iris/Iris_FR.bm8",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/skies/iris/iris_fr.png":["textures/skies/Iris/Iris_FR.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/skies/iris/iris_lf.bm8":["textures/skies/Iris/Iris_LF.bm8",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/skies/iris/iris_lf.png":["textures/skies/Iris/Iris_LF.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/skies/iris/iris_rt.bm8":["textures/skies/Iris/Iris_RT.bm8",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/skies/iris/iris_rt.png":["textures/skies/Iris/Iris_RT.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/skies/iris/iris_up.bm8":["textures/skies/Iris/Iris_UP.bm8",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/skies/iris/iris_up.png":["textures/skies/Iris/Iris_UP.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/skies/jagged/chateau_bk.png":["textures/skies/jagged/chateau_bk.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/jagged/chateau_dn.png":["textures/skies/jagged/chateau_dn.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/jagged/chateau_ft.png":["textures/skies/jagged/chateau_ft.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/jagged/chateau_lf.png":["textures/skies/jagged/chateau_lf.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/jagged/chateau_rt.png":["textures/skies/jagged/chateau_rt.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/jagged/chateau_up.png":["textures/skies/jagged/chateau_up.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/kif_lava_starrynight62/kif_lava_starrynight62_bk.png":["textures/skies/kif_lava_starrynight62/kif_lava_starrynight62_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/kif_lava_starrynight62/kif_lava_starrynight62_dn.png":["textures/skies/kif_lava_starrynight62/kif_lava_starrynight62_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/kif_lava_starrynight62/kif_lava_starrynight62_fr.png":["textures/skies/kif_lava_starrynight62/kif_lava_starrynight62_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/kif_lava_starrynight62/kif_lava_starrynight62_lf.png":["textures/skies/kif_lava_starrynight62/kif_lava_starrynight62_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/kif_lava_starrynight62/kif_lava_starrynight62_rt.png":["textures/skies/kif_lava_starrynight62/kif_lava_starrynight62_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/kif_lava_starrynight62/kif_lava_starrynight62_up.png":["textures/skies/kif_lava_starrynight62/kif_lava_starrynight62_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/kif_lushsunset/kif_lushsunset_bk.png":["textures/skies/kif_lushsunset/kif_lushsunset_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/kif_lushsunset/kif_lushsunset_dn.png":["textures/skies/kif_lushsunset/kif_lushsunset_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/kif_lushsunset/kif_lushsunset_fr.png":["textures/skies/kif_lushsunset/kif_lushsunset_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/kif_lushsunset/kif_lushsunset_lf.png":["textures/skies/kif_lushsunset/kif_lushsunset_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/kif_lushsunset/kif_lushsunset_rt.png":["textures/skies/kif_lushsunset/kif_lushsunset_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/kif_lushsunset/kif_lushsunset_up.png":["textures/skies/kif_lushsunset/kif_lushsunset_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/l4/l4_bk.png":["textures/skies/L4/L4_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/l4/l4_dn.png":["textures/skies/L4/L4_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/l4/l4_fr.png":["textures/skies/L4/L4_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/l4/l4_lf.png":["textures/skies/L4/L4_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/l4/l4_rt.png":["textures/skies/L4/L4_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/l4/l4_up.png":["textures/skies/L4/L4_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/lavanight_v5/lavanight_v5_bk.png":["textures/skies/lavanight_v5/lavanight_v5_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/lavanight_v5/lavanight_v5_dn.png":["textures/skies/lavanight_v5/lavanight_v5_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/lavanight_v5/lavanight_v5_fr.png":["textures/skies/lavanight_v5/lavanight_v5_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/lavanight_v5/lavanight_v5_lf.png":["textures/skies/lavanight_v5/lavanight_v5_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/lavanight_v5/lavanight_v5_rt.png":["textures/skies/lavanight_v5/lavanight_v5_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/lavanight_v5/lavanight_v5_up.png":["textures/skies/lavanight_v5/lavanight_v5_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/lush_02_dusk_bk.png":["textures/skies/lush_02_dusk_BK.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/skies/lush_02_dusk_dn.png":["textures/skies/lush_02_dusk_DN.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/skies/lush_02_dusk_fr.png":["textures/skies/lush_02_dusk_FR.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/skies/lush_02_dusk_lf.png":["textures/skies/lush_02_dusk_LF.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/skies/lush_02_dusk_rt.png":["textures/skies/lush_02_dusk_RT.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/skies/lush_02_dusk_up.png":["textures/skies/lush_02_dusk_UP.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/skies/lushdusk66/lushdusk66_bk.png":["textures/skies/lushdusk66/lushdusk66_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/lushdusk66/lushdusk66_dn.png":["textures/skies/lushdusk66/lushdusk66_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/lushdusk66/lushdusk66_fr.png":["textures/skies/lushdusk66/lushdusk66_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/lushdusk66/lushdusk66_lf.png":["textures/skies/lushdusk66/lushdusk66_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/lushdusk66/lushdusk66_rt.png":["textures/skies/lushdusk66/lushdusk66_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/lushdusk66/lushdusk66_up.png":["textures/skies/lushdusk66/lushdusk66_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/lushsky_night11/lushsky_night11_bk.png":["textures/skies/lushsky_night11/lushsky_night11_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/lushsky_night11/lushsky_night11_dn.png":["textures/skies/lushsky_night11/lushsky_night11_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/lushsky_night11/lushsky_night11_fr.png":["textures/skies/lushsky_night11/lushsky_night11_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/lushsky_night11/lushsky_night11_lf.png":["textures/skies/lushsky_night11/lushsky_night11_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/lushsky_night11/lushsky_night11_rt.png":["textures/skies/lushsky_night11/lushsky_night11_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/lushsky_night11/lushsky_night11_up.png":["textures/skies/lushsky_night11/lushsky_night11_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/lushsky_night11/thumbs.db":["textures/skies/lushsky_night11/Thumbs.db",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/magellan/winterblue_v5_bk.png":["textures/skies/Magellan/WinterBlue_v5_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/magellan/winterblue_v5_dn.png":["textures/skies/Magellan/WinterBlue_v5_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/magellan/winterblue_v5_fr.png":["textures/skies/Magellan/WinterBlue_v5_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/magellan/winterblue_v5_lf.png":["textures/skies/Magellan/WinterBlue_v5_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/magellan/winterblue_v5_rt.png":["textures/skies/Magellan/WinterBlue_v5_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/magellan/winterblue_v5_up.png":["textures/skies/Magellan/WinterBlue_v5_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/mr_02/mr_02_bk.png":["textures/skies/mr_02/mr_02_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/mr_02/mr_02_dn.png":["textures/skies/mr_02/mr_02_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/mr_02/mr_02_fr.png":["textures/skies/mr_02/mr_02_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/mr_02/mr_02_lf.png":["textures/skies/mr_02/mr_02_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/mr_02/mr_02_rt.png":["textures/skies/mr_02/mr_02_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/mr_02/mr_02_up.png":["textures/skies/mr_02/mr_02_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/nef_sset2/nef_sset2_bk.png":["textures/skies/Nef_Sset2/Nef_Sset2_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/nef_sset2/nef_sset2_fr.png":["textures/skies/Nef_Sset2/Nef_Sset2_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/nef_sset2/nef_sset2_lf.png":["textures/skies/Nef_Sset2/Nef_Sset2_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/nef_sset2/nef_sset2_rt.png":["textures/skies/Nef_Sset2/Nef_Sset2_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/nef_sset2/nef_sset2_up.png":["textures/skies/Nef_Sset2/Nef_Sset2_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/nefred1/red1_bk.png":["textures/skies/nefred1/red1_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/nefred1/red1_cloud1.png":["textures/skies/nefred1/red1_CLOUD1.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/nefred1/red1_fr.png":["textures/skies/nefred1/red1_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/nefred1/red1_lf.png":["textures/skies/nefred1/red1_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/nefred1/red1_rt.png":["textures/skies/nefred1/red1_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/nefred1/red1_up.png":["textures/skies/nefred1/red1_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/nightsky82/nightsky82_bk.png":["textures/skies/nightsky82/nightsky82_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/nightsky82/nightsky82_dn.png":["textures/skies/nightsky82/nightsky82_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/nightsky82/nightsky82_fr.png":["textures/skies/nightsky82/nightsky82_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/nightsky82/nightsky82_lf.png":["textures/skies/nightsky82/nightsky82_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/nightsky82/nightsky82_rt.png":["textures/skies/nightsky82/nightsky82_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/nightsky82/nightsky82_up.png":["textures/skies/nightsky82/nightsky82_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/ocular0.bm8":["textures/skies/ocular0.bm8",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/skies/ocular0.png":["textures/skies/ocular0.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/skies/ocular180.bm8":["textures/skies/ocular180.bm8",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/skies/ocular180.png":["textures/skies/ocular180.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/skies/ocular270.bm8":["textures/skies/ocular270.bm8",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/skies/ocular270.png":["textures/skies/ocular270.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/skies/ocular90.bm8":["textures/skies/ocular90.bm8",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/skies/ocular90.png":["textures/skies/ocular90.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/skies/ocular_lush_day_emap.bm8":["textures/skies/ocular_lush_day_emap.bm8",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/skies/ocular_lush_day_emap.png":["textures/skies/ocular_lush_day_emap.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/skies/oculartop.bm8":["textures/skies/oculartop.bm8",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/skies/oculartop.png":["textures/skies/oculartop.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/skies/pacificsky/pacificsky_bk.png":["textures/skies/PacificSky/PacificSky_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/pacificsky/pacificsky_dn.png":["textures/skies/PacificSky/PacificSky_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/pacificsky/pacificsky_fr.png":["textures/skies/PacificSky/PacificSky_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/pacificsky/pacificsky_lf.png":["textures/skies/PacificSky/PacificSky_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/pacificsky/pacificsky_rt.png":["textures/skies/PacificSky/PacificSky_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/pacificsky/pacificsky_up.png":["textures/skies/PacificSky/PacificSky_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/planetx/planetx_bk.png":["textures/skies/PlanetX/PlanetX_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/planetx/planetx_dn.png":["textures/skies/PlanetX/PlanetX_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/planetx/planetx_fr.png":["textures/skies/PlanetX/PlanetX_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/planetx/planetx_lf.png":["textures/skies/PlanetX/PlanetX_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/planetx/planetx_reflect.png":["textures/skies/PlanetX/PlanetX_reflect.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/planetx/planetx_rt.png":["textures/skies/PlanetX/PlanetX_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/planetx/planetx_up.png":["textures/skies/PlanetX/PlanetX_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/purpsun/purpsun_bk.png":["textures/skies/purpsun/PURPSUN_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/purpsun/purpsun_dn.png":["textures/skies/purpsun/PURPSUN_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/purpsun/purpsun_fr.png":["textures/skies/purpsun/PURPSUN_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/purpsun/purpsun_lf.png":["textures/skies/purpsun/PURPSUN_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/purpsun/purpsun_rt.png":["textures/skies/purpsun/PURPSUN_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/purpsun/purpsun_up.png":["textures/skies/purpsun/PURPSUN_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/roelcolor/roelcolor_bk.png":["textures/skies/roelcolor/roelcolor_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/roelcolor/roelcolor_dn.png":["textures/skies/roelcolor/roelcolor_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/roelcolor/roelcolor_fr.png":["textures/skies/roelcolor/roelcolor_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/roelcolor/roelcolor_lf.png":["textures/skies/roelcolor/roelcolor_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/roelcolor/roelcolor_rt.png":["textures/skies/roelcolor/roelcolor_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/roelcolor/roelcolor_up.png":["textures/skies/roelcolor/roelcolor_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sal/malig_v1_bk.png":["textures/skies/sal/Malig_v1_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sal/malig_v1_dn.png":["textures/skies/sal/Malig_v1_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sal/malig_v1_fr.png":["textures/skies/sal/Malig_v1_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sal/malig_v1_lf.png":["textures/skies/sal/Malig_v1_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sal/malig_v1_rt.png":["textures/skies/sal/Malig_v1_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sal/malig_v1_up.png":["textures/skies/sal/Malig_v1_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/saturn/saturn_bk.png":["textures/skies/Saturn/Saturn_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/saturn/saturn_dn.png":["textures/skies/Saturn/Saturn_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/saturn/saturn_fr.png":["textures/skies/Saturn/Saturn_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/saturn/saturn_lf.png":["textures/skies/Saturn/Saturn_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/saturn/saturn_rt.png":["textures/skies/Saturn/Saturn_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/saturn/saturn_up.png":["textures/skies/Saturn/Saturn_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sky01/cloud1.png":["textures/skies/sky01/Cloud1.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sky01/sky01_fr.png":["textures/skies/sky01/sky01_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sky01/sky02_rt.png":["textures/skies/sky01/sky02_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sky01/sky03_bk.png":["textures/skies/sky01/sky03_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sky01/sky04_lf.png":["textures/skies/sky01/sky04_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sky01/sky05_up.png":["textures/skies/sky01/sky05_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sky01/sky06_dn.png":["textures/skies/sky01/sky06_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sky121/sky121_bk.png":["textures/skies/sky121/sky121_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sky121/sky121_dn.png":["textures/skies/sky121/sky121_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sky121/sky121_fr.png":["textures/skies/sky121/sky121_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sky121/sky121_lf.png":["textures/skies/sky121/sky121_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sky121/sky121_rt.png":["textures/skies/sky121/sky121_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sky121/sky121_up.png":["textures/skies/sky121/sky121_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sky127/sky127_bk.png":["textures/skies/sky127/sky127_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sky127/sky127_dn.png":["textures/skies/sky127/sky127_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sky127/sky127_fr.png":["textures/skies/sky127/sky127_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sky127/sky127_lf.png":["textures/skies/sky127/sky127_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sky127/sky127_rt.png":["textures/skies/sky127/sky127_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sky127/sky127_up.png":["textures/skies/sky127/sky127_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sky156/sky156_bk.png":["textures/skies/sky156/sky156_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sky156/sky156_dn.png":["textures/skies/sky156/sky156_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sky156/sky156_fr.png":["textures/skies/sky156/sky156_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sky156/sky156_lf.png":["textures/skies/sky156/sky156_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sky156/sky156_rt.png":["textures/skies/sky156/sky156_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sky156/sky156_up.png":["textures/skies/sky156/sky156_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_14/space_14_bk.png":["textures/skies/space_14/space_14_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_14/space_14_dn.png":["textures/skies/space_14/space_14_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_14/space_14_fr.png":["textures/skies/space_14/space_14_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_14/space_14_lf.png":["textures/skies/space_14/space_14_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_14/space_14_rt.png":["textures/skies/space_14/space_14_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_14/space_14_up.png":["textures/skies/space_14/space_14_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_14_bk.png":["textures/skies/space_14_BK.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/skies/space_14_dn.png":["textures/skies/space_14_DN.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/skies/space_14_fr.png":["textures/skies/space_14_FR.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/skies/space_14_lf.png":["textures/skies/space_14_LF.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/skies/space_14_rt.png":["textures/skies/space_14_RT.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/skies/space_14_up.png":["textures/skies/space_14_UP.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/skies/space_16/space_16_bk.png":["textures/skies/space_16/space_16_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_16/space_16_dn.png":["textures/skies/space_16/space_16_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_16/space_16_fr.png":["textures/skies/space_16/space_16_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_16/space_16_lf.png":["textures/skies/space_16/space_16_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_16/space_16_rt.png":["textures/skies/space_16/space_16_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_16/space_16_up.png":["textures/skies/space_16/space_16_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_17/space_17_bk.png":["textures/skies/space_17/space_17_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_17/space_17_dn.png":["textures/skies/space_17/space_17_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_17/space_17_fr.png":["textures/skies/space_17/space_17_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_17/space_17_lf.png":["textures/skies/space_17/space_17_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_17/space_17_rt.png":["textures/skies/space_17/space_17_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_17/space_17_up.png":["textures/skies/space_17/space_17_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_18/space_18_bk.png":["textures/skies/space_18/space_18_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_18/space_18_dn.png":["textures/skies/space_18/space_18_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_18/space_18_fr.png":["textures/skies/space_18/space_18_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_18/space_18_lf.png":["textures/skies/space_18/space_18_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_18/space_18_rt.png":["textures/skies/space_18/space_18_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_18/space_18_up.png":["textures/skies/space_18/space_18_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_19/space_19_bk.png":["textures/skies/space_19/space_19_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_19/space_19_dn.png":["textures/skies/space_19/space_19_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_19/space_19_fr.png":["textures/skies/space_19/space_19_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_19/space_19_lf.png":["textures/skies/space_19/space_19_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_19/space_19_rt.png":["textures/skies/space_19/space_19_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_19/space_19_up.png":["textures/skies/space_19/space_19_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_3/space_3_bk.png":["textures/skies/space_3/space_3_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_3/space_3_dn.png":["textures/skies/space_3/space_3_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_3/space_3_fr.png":["textures/skies/space_3/space_3_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_3/space_3_lf.png":["textures/skies/space_3/space_3_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_3/space_3_rt.png":["textures/skies/space_3/space_3_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_3/space_3_up.png":["textures/skies/space_3/space_3_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_5/space_5_bk.png":["textures/skies/space_5/space_5_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_5/space_5_dn.png":["textures/skies/space_5/space_5_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_5/space_5_fr.png":["textures/skies/space_5/space_5_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_5/space_5_lf.png":["textures/skies/space_5/space_5_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_5/space_5_rt.png":["textures/skies/space_5/space_5_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/space_5/space_5_up.png":["textures/skies/space_5/space_5_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/starrynite/starrynite_bk.png":["textures/skies/starrynite/starrynite_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/starrynite/starrynite_dn.png":["textures/skies/starrynite/starrynite_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/starrynite/starrynite_fr.png":["textures/skies/starrynite/starrynite_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/starrynite/starrynite_lf.png":["textures/skies/starrynite/starrynite_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/starrynite/starrynite_rt.png":["textures/skies/starrynite/starrynite_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/starrynite/starrynite_up.png":["textures/skies/starrynite/starrynite_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sundown25/sundown25_bk.png":["textures/skies/sundown25/sundown25_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sundown25/sundown25_dn.png":["textures/skies/sundown25/sundown25_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sundown25/sundown25_fr.png":["textures/skies/sundown25/sundown25_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sundown25/sundown25_lf.png":["textures/skies/sundown25/sundown25_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sundown25/sundown25_rt.png":["textures/skies/sundown25/sundown25_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sundown25/sundown25_up.png":["textures/skies/sundown25/sundown25_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sunnight/sunnight_bk.png":["textures/skies/sunnight/sunnight_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sunnight/sunnight_dn.png":["textures/skies/sunnight/sunnight_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sunnight/sunnight_fr.png":["textures/skies/sunnight/sunnight_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sunnight/sunnight_lf.png":["textures/skies/sunnight/sunnight_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sunnight/sunnight_rt.png":["textures/skies/sunnight/sunnight_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sunnight/sunnight_up.png":["textures/skies/sunnight/sunnight_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sunset12/sunset12_bk.png":["textures/skies/SunSet12/SunSet12_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sunset12/sunset12_dn.png":["textures/skies/SunSet12/SunSet12_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sunset12/sunset12_fr.png":["textures/skies/SunSet12/SunSet12_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sunset12/sunset12_lf.png":["textures/skies/SunSet12/SunSet12_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sunset12/sunset12_rt.png":["textures/skies/SunSet12/SunSet12_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/sunset12/sunset12_up.png":["textures/skies/SunSet12/SunSet12_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/tyre/tyre_bk.png":["textures/skies/tyre/tyre_bk.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/tyre/tyre_dn.png":["textures/skies/tyre/tyre_dn.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/tyre/tyre_ft.png":["textures/skies/tyre/tyre_ft.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/tyre/tyre_lf.png":["textures/skies/tyre/tyre_lf.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/tyre/tyre_rt.png":["textures/skies/tyre/tyre_rt.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/tyre/tyre_up.png":["textures/skies/tyre/tyre_up.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/violet/violet_bk.png":["textures/skies/violet/violet_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/violet/violet_dn.png":["textures/skies/violet/violet_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/violet/violet_fr.png":["textures/skies/violet/violet_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/violet/violet_lf.png":["textures/skies/violet/violet_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/violet/violet_rt.png":["textures/skies/violet/violet_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/violet/violet_up.png":["textures/skies/violet/violet_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/winterskyday/winterskyday_bk.png":["textures/skies/winterskyday/winterskyday_BK.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/winterskyday/winterskyday_dn.png":["textures/skies/winterskyday/winterskyday_DN.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/winterskyday/winterskyday_fr.png":["textures/skies/winterskyday/winterskyday_FR.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/winterskyday/winterskyday_lf.png":["textures/skies/winterskyday/winterskyday_LF.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/winterskyday/winterskyday_rt.png":["textures/skies/winterskyday/winterskyday_RT.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skies/winterskyday/winterskyday_up.png":["textures/skies/winterskyday/winterskyday_UP.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/a.hbioderm_512.png":["textures/skins/a.hbioderm_512.png",["skins.vl2"]],"textures/skins/a.hrobot_512.png":["textures/skins/a.hrobot_512.png",["skins.vl2"]],"textures/skins/a.lbioderm_512.png":["textures/skins/a.lbioderm_512.png",["skins.vl2"]],"textures/skins/a.lrobot_512.png":["textures/skins/a.lrobot_512.png",["skins.vl2"]],"textures/skins/a.mbioderm_512.png":["textures/skins/a.mbioderm_512.png",["skins.vl2"]],"textures/skins/a.mrobot_512.png":["textures/skins/a.mrobot_512.png",["skins.vl2"]],"textures/skins/a7branch1.png":["textures/skins/A7branch1.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/a7trunk2.png":["textures/skins/A7trunk2.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/agaritafall.png":["textures/skins/AgaritaFall.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/alienfirxbase2.png":["textures/skins/alienfirxbase2.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/ammo_chaingun.png":["textures/skins/ammo_chaingun.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/ammo_disc.png":["textures/skins/ammo_disc.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/ammo_grenade.png":["textures/skins/ammo_grenade.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/ammo_mine.png":["textures/skins/ammo_mine.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/ammo_mortar.png":["textures/skins/ammo_mortar.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/ammo_plasma.png":["textures/skins/ammo_plasma.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/armor.damage.1.png":["textures/skins/armor.damage.1.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/armor.damage.2.png":["textures/skins/armor.damage.2.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/armor.damage.3.png":["textures/skins/armor.damage.3.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/artists.plaque.png":["textures/skins/artists.plaque.png",["skins.vl2"]],"textures/skins/b.hbioderm_512.png":["textures/skins/b.hbioderm_512.png",["skins.vl2"]],"textures/skins/b.hrobot_512.png":["textures/skins/b.hrobot_512.png",["skins.vl2"]],"textures/skins/b.lbioderm_512.png":["textures/skins/b.lbioderm_512.png",["skins.vl2"]],"textures/skins/b.lrobot_512.png":["textures/skins/b.lrobot_512.png",["skins.vl2"]],"textures/skins/b.mbioderm_512.png":["textures/skins/b.mbioderm_512.png",["skins.vl2"]],"textures/skins/b.mrobot_512.png":["textures/skins/b.mrobot_512.png",["skins.vl2"]],"textures/skins/banner_honor.png":["textures/skins/banner_honor.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/banner_strength.png":["textures/skins/banner_strength.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/banner_unity.png":["textures/skins/banner_unity.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/barrel_aa_large.png":["textures/skins/barrel_aa_large.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/barrel_elf_large.png":["textures/skins/barrel_elf_large.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/barrel_fusion_large.png":["textures/skins/barrel_fusion_large.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/barrel_missile_large.png":["textures/skins/barrel_missile_large.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/barrel_mortar_large.png":["textures/skins/barrel_mortar_large.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/barrelmount.png":["textures/skins/barrelMount.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/barrensticksfall.png":["textures/skins/BarrenSticksFall.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/base.flag.png":["textures/skins/base.flag.png",["skins.vl2"],["yHDTextures2.0.vl2"],["z_textures/zflags.vl2"]],"textures/skins/base.hbioderm.png":["textures/skins/base.hbioderm.png",["skins.vl2"]],"textures/skins/base.hbioderm_512.png":["textures/skins/base.hbioderm_512.png",["skins.vl2"]],"textures/skins/base.hflag.png":["textures/skins/base.hflag.png",["skins.vl2"],["yHDTextures2.0.vl2"],["z_textures/zflags.vl2"]],"textures/skins/base.hmale.png":["textures/skins/base.hmale.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/base.lbioderm.png":["textures/skins/base.lbioderm.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/base.lbioderm_512.png":["textures/skins/base.lbioderm_512.png",["skins.vl2"]],"textures/skins/base.lfemale.png":["textures/skins/base.lfemale.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/base.lmale.png":["textures/skins/base.lmale.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/base.mbioderm.png":["textures/skins/base.mbioderm.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/base.mbioderm_512.png":["textures/skins/base.mbioderm_512.png",["skins.vl2"]],"textures/skins/base.mfemale.png":["textures/skins/base.mfemale.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/base.mmale.png":["textures/skins/base.mmale.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/base.switch.png":["textures/skins/base.switch.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/baseb.flag.png":["textures/skins/baseb.flag.png",["skins.vl2"],["yHDTextures2.0.vl2"],["z_textures/zflags.vl2"]],"textures/skins/baseb.hbioderm.png":["textures/skins/baseb.hbioderm.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/baseb.hmale.png":["textures/skins/baseb.hmale.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/baseb.lbioderm.png":["textures/skins/baseb.lbioderm.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/baseb.lfemale.png":["textures/skins/baseb.lfemale.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/baseb.lmale.png":["textures/skins/baseb.lmale.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/baseb.mbioderm.png":["textures/skins/baseb.mbioderm.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/baseb.mfemale.png":["textures/skins/baseb.mfemale.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/baseb.mmale.png":["textures/skins/baseb.mmale.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/baseb.switch.png":["textures/skins/baseb.switch.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/basebbot.hmale.png":["textures/skins/basebbot.hmale.png",["skins.vl2"]],"textures/skins/basebbot.lmale.png":["textures/skins/basebbot.lmale.png",["skins.vl2"]],"textures/skins/basebbot.mmale.png":["textures/skins/basebbot.mmale.png",["skins.vl2"]],"textures/skins/basebot.hmale.png":["textures/skins/basebot.hmale.png",["skins.vl2"]],"textures/skins/basebot.lmale.png":["textures/skins/basebot.lmale.png",["skins.vl2"]],"textures/skins/basebot.mmale.png":["textures/skins/basebot.mmale.png",["skins.vl2"]],"textures/skins/bb_bark.png":["textures/skins/bb_bark.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/skins/bb_bark2.png":["textures/skins/bb_bark2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/skins/bb_beechleaf.png":["textures/skins/bb_beechleaf.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/skins/bb_bigleaf.png":["textures/skins/bb_bigleaf.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/skins/bb_bush.png":["textures/skins/bb_bush.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/skins/bb_jnigraleaf.png":["textures/skins/bb_jnigraleaf.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/skins/bb_palmleaf.png":["textures/skins/bb_palmleaf.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/skins/bb_screen.png":["textures/skins/bb_screen.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/skins/bb_stripeleaf.png":["textures/skins/bb_stripeleaf.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/skins/bb_tree1_foliage2.png":["textures/skins/bb_tree1_foliage2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/skins/bb_tree1_side.png":["textures/skins/bb_tree1_side.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/skins/bb_tree2_foliage2.png":["textures/skins/bb_tree2_foliage2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/skins/bb_tree2_side.png":["textures/skins/bb_tree2_side.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/skins/bb_trunk.png":["textures/skins/bb_trunk.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/skins/bberryfall.png":["textures/skins/BBerryFall.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/beacon.png":["textures/skins/beacon.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/beagle.flag.png":["textures/skins/beagle.flag.png",["skins.vl2"],["yHDTextures2.0.vl2"],["z_textures/zflags.vl2"]],"textures/skins/beagle.hmale.png":["textures/skins/beagle.hmale.png",["skins.vl2"]],"textures/skins/beagle.hmale_512.png":["textures/skins/beagle.hmale_512.png",["skins.vl2"]],"textures/skins/beagle.lfemale.png":["textures/skins/beagle.lfemale.png",["skins.vl2"]],"textures/skins/beagle.lfemale_512.png":["textures/skins/beagle.lfemale_512.png",["skins.vl2"]],"textures/skins/beagle.lmale.png":["textures/skins/beagle.lmale.png",["skins.vl2"]],"textures/skins/beagle.lmale_512.png":["textures/skins/beagle.lmale_512.png",["skins.vl2"]],"textures/skins/beagle.mfemale.png":["textures/skins/beagle.mfemale.png",["skins.vl2"]],"textures/skins/beagle.mfemale_512.png":["textures/skins/beagle.mfemale_512.png",["skins.vl2"]],"textures/skins/beagle.mmale.png":["textures/skins/beagle.mmale.png",["skins.vl2"]],"textures/skins/beagle.mmale_512.png":["textures/skins/beagle.mmale_512.png",["skins.vl2"]],"textures/skins/beagle.switch.png":["textures/skins/beagle.switch.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/beampulse.png":["textures/skins/beampulse.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/bigdevdawg.plaque.png":["textures/skins/bigdevdawg.plaque.png",["skins.vl2"]],"textures/skins/billboard_1.png":["textures/skins/billboard_1.png",["TR2final105-client.vl2"]],"textures/skins/billboard_2.png":["textures/skins/billboard_2.png",["TR2final105-client.vl2"]],"textures/skins/billboard_3.png":["textures/skins/billboard_3.png",["TR2final105-client.vl2"]],"textures/skins/billboard_4.png":["textures/skins/billboard_4.png",["TR2final105-client.vl2"]],"textures/skins/blank.switch.png":["textures/skins/blank.switch.png",["skins.vl2"]],"textures/skins/blite00.png":["textures/skins/blite00.png",["skins.vl2"]],"textures/skins/blite01.png":["textures/skins/blite01.PNG",["skins.vl2"]],"textures/skins/blite02.png":["textures/skins/blite02.png",["skins.vl2"]],"textures/skins/blite03.png":["textures/skins/blite03.png",["skins.vl2"]],"textures/skins/blite04.png":["textures/skins/blite04.png",["skins.vl2"]],"textures/skins/blue.hflag.png":["textures/skins/Blue.hflag.png",["skins.vl2"],["yHDTextures2.0.vl2"],["z_textures/zflags.vl2","textures/skins/blue.hflag.png"]],"textures/skins/blue.hmale.png":["textures/skins/Blue.hmale.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/blue.lfemale.png":["textures/skins/Blue.lfemale.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/blue.lmale.png":["textures/skins/Blue.lmale.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/blue.mfemale.png":["textures/skins/Blue.mfemale.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/blue.mmale.png":["textures/skins/Blue.mmale.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/blue.png":["textures/skins/blue.png",["skins.vl2"]],"textures/skins/blue00.ifl":["textures/skins/blue00.ifl",["skins.vl2"]],"textures/skins/blue00.png":["textures/skins/blue00.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/blue01.png":["textures/skins/blue01.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/blue02.png":["textures/skins/blue02.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/blue03.png":["textures/skins/blue03.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/blue04.png":["textures/skins/blue04.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/blue_blink.ifl":["textures/skins/blue_blink.ifl",["skins.vl2"]],"textures/skins/blue_blink0.ifl":["textures/skins/blue_blink0.ifl",["skins.vl2"]],"textures/skins/blue_blink0.png":["textures/skins/blue_blink0.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/blue_blink1.png":["textures/skins/blue_blink1.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/blue_blink2.png":["textures/skins/blue_blink2.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/blue_blink2.png"]],"textures/skins/blue_blink3.png":["textures/skins/blue_blink3.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/blue_blink3.png"]],"textures/skins/blue_blink4.png":["textures/skins/blue_blink4.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/blue_blink4.png"]],"textures/skins/borg1.png":["textures/skins/borg1.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/borg2.png":["textures/skins/borg2.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/borg4.png":["textures/skins/borg4.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/borg6.png":["textures/skins/borg6.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/branch3.png":["textures/skins/Branch3.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/branch4.png":["textures/skins/Branch4.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/branch5.png":["textures/skins/Branch5.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/branch6.png":["textures/skins/Branch6.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/branch7.png":["textures/skins/Branch7.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/brsh5.png":["textures/skins/brsh5.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/brush.png":["textures/skins/brush.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/bullethole1.png":["textures/skins/bullethole1.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/bullethole2.png":["textures/skins/bullethole2.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/bullethole3.png":["textures/skins/bullethole3.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/bullethole4.png":["textures/skins/bullethole4.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/bullethole5.png":["textures/skins/bullethole5.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/bullethole6.png":["textures/skins/bullethole6.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/burntwood.png":["textures/skins/Burntwood.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/burntwoodbranch.png":["textures/skins/BurntwoodBranch.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/cactus.png":["textures/skins/cactus.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/camera.png":["textures/skins/camera.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/chaingun_shot_end.png":["textures/skins/chaingun_shot_end.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/chaingun_shot_side.png":["textures/skins/chaingun_shot_side.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/chg_fmzl.png":["textures/skins/chg_fmzl.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/chg_smzl.png":["textures/skins/chg_smzl.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/chgexhaust.ifl":["textures/skins/chgexhaust.ifl",["skins.vl2"]],"textures/skins/chkberrywinter.png":["textures/skins/ChkBerryWinter.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/cloak_core.ifl":["textures/skins/cloak_core.ifl",["skins.vl2"]],"textures/skins/cloak_core0000.png":["textures/skins/cloak_core0000.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/cloak_core0001.png":["textures/skins/cloak_core0001.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/cloak_core0002.png":["textures/skins/cloak_core0002.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/cloak_core0003.png":["textures/skins/cloak_core0003.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/cloak_core0004.png":["textures/skins/cloak_core0004.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/cloak_core0005.png":["textures/skins/cloak_core0005.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/cloak_core0006.png":["textures/skins/cloak_core0006.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/cloak_core0007.png":["textures/skins/cloak_core0007.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/cloak_core0008.png":["textures/skins/cloak_core0008.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/cloak_core0009.png":["textures/skins/cloak_core0009.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/cloak_core0010.png":["textures/skins/cloak_core0010.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/cloak_core0011.png":["textures/skins/cloak_core0011.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/cloak_core0012.png":["textures/skins/cloak_core0012.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/cloak_core0013.png":["textures/skins/cloak_core0013.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/cloak_core0014.png":["textures/skins/cloak_core0014.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/cloak_core0015.png":["textures/skins/cloak_core0015.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/cloak_core0016.png":["textures/skins/cloak_core0016.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/cloak_core0017.png":["textures/skins/cloak_core0017.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/cloak_core0018.png":["textures/skins/cloak_core0018.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/cloak_core0019.png":["textures/skins/cloak_core0019.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/cotp.flag.png":["textures/skins/cotp.flag.png",["skins.vl2"],["yHDTextures2.0.vl2"],["z_textures/zflags.vl2"]],"textures/skins/cotp.hmale.png":["textures/skins/cotp.hmale.png",["skins.vl2"]],"textures/skins/cotp.lfemale.png":["textures/skins/cotp.lfemale.png",["skins.vl2"]],"textures/skins/cotp.lmale.png":["textures/skins/cotp.lmale.png",["skins.vl2"]],"textures/skins/cotp.mfemale.png":["textures/skins/cotp.mfemale.png",["skins.vl2"]],"textures/skins/cotp.mmale.png":["textures/skins/cotp.mmale.png",["skins.vl2"]],"textures/skins/cotp.switch.png":["textures/skins/cotp.switch.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/cotp_hmale_512.png":["textures/skins/cotp_hmale_512.png",["skins.vl2"]],"textures/skins/cotp_lfemale_512.png":["textures/skins/cotp_lfemale_512.png",["skins.vl2"]],"textures/skins/cotp_lmale_512.png":["textures/skins/cotp_lmale_512.png",["skins.vl2"]],"textures/skins/cotp_mfemale_512.png":["textures/skins/cotp_mfemale_512.png",["skins.vl2"]],"textures/skins/cotp_mmale_512.png":["textures/skins/cotp_mmale_512.png",["skins.vl2"]],"textures/skins/dcase00.ifl":["textures/skins/dcase00.ifl",["skins.vl2"]],"textures/skins/dcase00.png":["textures/skins/dcase00.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/dcase00.png"]],"textures/skins/dcase01.png":["textures/skins/dcase01.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/dcase01.png"]],"textures/skins/dcase02.png":["textures/skins/dcase02.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/dcase02.png"]],"textures/skins/dcase03.png":["textures/skins/dcase03.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/dcase03.png"]],"textures/skins/dcase04.png":["textures/skins/dcase04.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/dcase04.png"]],"textures/skins/dcase05.png":["textures/skins/dcase05.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/dcase05.png"]],"textures/skins/deb01.ifl":["textures/skins/deb01.ifl",["skins.vl2"]],"textures/skins/deb01.png":["textures/skins/deb01.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/deb02.png":["textures/skins/deb02.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/deb03.png":["textures/skins/deb03.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/deb04.png":["textures/skins/deb04.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/deb05.png":["textures/skins/deb05.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/deb06.png":["textures/skins/deb06.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/deb07.png":["textures/skins/deb07.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/deb08.png":["textures/skins/deb08.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/deb09.png":["textures/skins/deb09.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/deb10.png":["textures/skins/deb10.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/deb11.png":["textures/skins/deb11.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/deb12.png":["textures/skins/deb12.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/deb13.png":["textures/skins/deb13.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/deb14.png":["textures/skins/deb14.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/deb15.png":["textures/skins/deb15.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/deb16.png":["textures/skins/deb16.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/deb17.png":["textures/skins/deb17.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/deb18.png":["textures/skins/deb18.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/deb19.png":["textures/skins/deb19.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/deb20.png":["textures/skins/deb20.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/deb21.png":["textures/skins/deb21.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/deb22.png":["textures/skins/deb22.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/deb23.png":["textures/skins/deb23.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/deb24.png":["textures/skins/deb24.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/deb25.png":["textures/skins/deb25.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/deb26.png":["textures/skins/deb26.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/deb27.png":["textures/skins/deb27.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/deb28.png":["textures/skins/deb28.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/deb29.png":["textures/skins/deb29.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/deb30.png":["textures/skins/deb30.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/deb31.png":["textures/skins/deb31.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/deb32.png":["textures/skins/deb32.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/deb33.png":["textures/skins/deb33.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/deb33.png"]],"textures/skins/deb34.png":["textures/skins/deb34.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/deb34.png"]],"textures/skins/decoy.plaque.png":["textures/skins/decoy.plaque.png",["skins.vl2"]],"textures/skins/deploy_inv_lite.ifl":["textures/skins/deploy_inv_lite.ifl",["skins.vl2"]],"textures/skins/deploy_inventory_1.png":["textures/skins/deploy_inventory_1.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/deploy_inventory_2.png":["textures/skins/deploy_inventory_2.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/deploy_sensor_pulse.png":["textures/skins/deploy_sensor_pulse.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/designers.plaque.png":["textures/skins/designers.plaque.png",["skins.vl2"]],"textures/skins/diamondback.plaque.png":["textures/skins/diamondback.plaque.png",["skins.vl2"]],"textures/skins/disc00.ifl":["textures/skins/disc00.ifl",["skins.vl2"]],"textures/skins/disc00.png":["textures/skins/disc00.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/disc00.png"]],"textures/skins/disc01.png":["textures/skins/disc01.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/disc01.png"]],"textures/skins/disc02.png":["textures/skins/disc02.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/disc02.png"]],"textures/skins/disc03.png":["textures/skins/disc03.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/disc03.png"]],"textures/skins/disc04.png":["textures/skins/disc04.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/disc04.png"]],"textures/skins/disc05.png":["textures/skins/disc05.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/disc05.png"]],"textures/skins/disc06.png":["textures/skins/disc06.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/disc06.png"]],"textures/skins/disc07.png":["textures/skins/disc07.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/disc07.png"]],"textures/skins/disc08.png":["textures/skins/disc08.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/disc08.png"]],"textures/skins/disc09.png":["textures/skins/disc09.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/disc09.png"]],"textures/skins/disc10.png":["textures/skins/disc10.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/disc10.png"]],"textures/skins/disc11.png":["textures/skins/disc11.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/disc11.png"]],"textures/skins/disc12.png":["textures/skins/disc12.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/disc12.png"]],"textures/skins/disc13.png":["textures/skins/disc13.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/disc13.png"]],"textures/skins/disc14.png":["textures/skins/disc14.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/disc14.png"]],"textures/skins/disc15.png":["textures/skins/disc15.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/disc15.png"]],"textures/skins/disc16.png":["textures/skins/disc16.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/disc16.png"]],"textures/skins/disc17.png":["textures/skins/disc17.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/disc17.png"]],"textures/skins/disc18.png":["textures/skins/disc18.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/disc18.png"]],"textures/skins/disc19.png":["textures/skins/disc19.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/disc19.png"]],"textures/skins/disc20.png":["textures/skins/disc20.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/disc20.png"]],"textures/skins/disc21.png":["textures/skins/disc21.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/disc21.png"]],"textures/skins/disc22.png":["textures/skins/disc22.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/disc22.png"]],"textures/skins/disc23.png":["textures/skins/disc23.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/disc23.png"]],"textures/skins/disc24.png":["textures/skins/disc24.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/disc24.png"]],"textures/skins/disc25.png":["textures/skins/disc25.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/disc25.png"]],"textures/skins/disc26.png":["textures/skins/disc26.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/disc26.png"]],"textures/skins/disc27.png":["textures/skins/disc27.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/disc27.png"]],"textures/skins/disc_muzzle.png":["textures/skins/disc_muzzle.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/discshield2.png":["textures/skins/discshield2.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/dox_stone.png":["textures/skins/dox_stone.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/skins/dox_wires.png":["textures/skins/dox_wires.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/skins/drawkward.plaque.png":["textures/skins/drawkward.plaque.png",["skins.vl2"]],"textures/skins/ds.hmale_512.png":["textures/skins/ds.hmale_512.png",["skins.vl2"]],"textures/skins/ds.lfemale_512.png":["textures/skins/ds.lfemale_512.png",["skins.vl2"]],"textures/skins/ds.lmale_512.png":["textures/skins/ds.lmale_512.png",["skins.vl2"]],"textures/skins/ds.mfemale_512.png":["textures/skins/ds.mfemale_512.png",["skins.vl2"]],"textures/skins/ds.mmale_512.png":["textures/skins/ds.mmale_512.png",["skins.vl2"]],"textures/skins/dsword.flag.png":["textures/skins/dsword.flag.png",["skins.vl2"],["yHDTextures2.0.vl2"],["z_textures/zflags.vl2"]],"textures/skins/dsword.hmale.png":["textures/skins/dsword.hmale.png",["skins.vl2"]],"textures/skins/dsword.lfemale.png":["textures/skins/dsword.lfemale.png",["skins.vl2"]],"textures/skins/dsword.lmale.png":["textures/skins/dsword.lmale.png",["skins.vl2"]],"textures/skins/dsword.mfemale.png":["textures/skins/dsword.mfemale.png",["skins.vl2"]],"textures/skins/dsword.mmale.png":["textures/skins/dsword.mmale.png",["skins.vl2"]],"textures/skins/dsword.switch.png":["textures/skins/dsword.switch.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/east.plaque.png":["textures/skins/east.plaque.png",["skins.vl2"]],"textures/skins/ee_blueff.png":["textures/skins/ee_blueff.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/skins/ee_fft2logodown.png":["textures/skins/ee_fft2logodown.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/skins/ee_fft2logoup.png":["textures/skins/ee_fft2logoup.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/skins/ee_playt2.png":["textures/skins/ee_playt2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/skins/energy_blast.png":["textures/skins/energy_blast.PNG",["skins.vl2"]],"textures/skins/energy_blue_blink.ifl":["textures/skins/energy_blue_blink.ifl",["skins.vl2"]],"textures/skins/energy_bolt.png":["textures/skins/energy_bolt.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/energy_bolt_aura.png":["textures/skins/energy_bolt_aura.png",["skins.vl2"]],"textures/skins/energy_bolt_front.png":["textures/skins/energy_bolt_front.png",["skins.vl2"]],"textures/skins/energy_muzzle00.ifl":["textures/skins/energy_muzzle00.ifl",["skins.vl2"]],"textures/skins/energy_side_muzzle00.ifl":["textures/skins/energy_side_muzzle00.ifl",["skins.vl2"]],"textures/skins/energyb01.ifl":["textures/skins/energyb01.ifl",["skins.vl2"]],"textures/skins/energyb01.png":["textures/skins/energyb01.png",["skins.vl2"]],"textures/skins/energyb02.png":["textures/skins/energyb02.png",["skins.vl2"]],"textures/skins/energyb03.png":["textures/skins/energyb03.png",["skins.vl2"]],"textures/skins/energyb04.png":["textures/skins/energyb04.png",["skins.vl2"]],"textures/skins/energyb05.png":["textures/skins/energyb05.png",["skins.vl2"]],"textures/skins/energydis0000.ifl":["textures/skins/energydis0000.ifl",["skins.vl2"]],"textures/skins/energydis0000.png":["textures/skins/energydis0000.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/energydis0001.png":["textures/skins/energydis0001.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/energydis0002.png":["textures/skins/energydis0002.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/energydis0003.png":["textures/skins/energydis0003.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/energydis0004.png":["textures/skins/energydis0004.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/energydis0005.png":["textures/skins/energydis0005.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrg_frnt_muzl00.png":["textures/skins/enrg_frnt_muzl00.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrg_frnt_muzl01.png":["textures/skins/enrg_frnt_muzl01.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrg_frnt_muzl02.png":["textures/skins/enrg_frnt_muzl02.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrg_frnt_muzl03.png":["textures/skins/enrg_frnt_muzl03.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrg_frnt_muzl04.png":["textures/skins/enrg_frnt_muzl04.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrg_frnt_muzl05.png":["textures/skins/enrg_frnt_muzl05.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrg_frnt_muzl06.png":["textures/skins/enrg_frnt_muzl06.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrg_frnt_muzl07.png":["textures/skins/enrg_frnt_muzl07.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrg_side_muzl00.png":["textures/skins/enrg_side_muzl00.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrg_side_muzl01.png":["textures/skins/enrg_side_muzl01.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrg_side_muzl02.png":["textures/skins/enrg_side_muzl02.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrg_side_muzl03.png":["textures/skins/enrg_side_muzl03.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrg_side_muzl04.png":["textures/skins/enrg_side_muzl04.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrg_side_muzl05.png":["textures/skins/enrg_side_muzl05.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrg_side_muzl06.png":["textures/skins/enrg_side_muzl06.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrg_side_muzl07.png":["textures/skins/enrg_side_muzl07.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrgcore0000.png":["textures/skins/enrgcore0000.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrgcore0001.png":["textures/skins/enrgcore0001.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrgcore0002.png":["textures/skins/enrgcore0002.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrgcore0003.png":["textures/skins/enrgcore0003.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrgcore0004.png":["textures/skins/enrgcore0004.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrgcore0005.png":["textures/skins/enrgcore0005.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrgcore0006.png":["textures/skins/enrgcore0006.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrgcore0007.png":["textures/skins/enrgcore0007.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrgcore0008.png":["textures/skins/enrgcore0008.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrgcore0009.png":["textures/skins/enrgcore0009.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrgpack_core.ifl":["textures/skins/enrgpack_core.ifl",["skins.vl2"]],"textures/skins/enrgpack_tubes.ifl":["textures/skins/enrgpack_tubes.ifl",["skins.vl2"]],"textures/skins/enrgtubes0000.png":["textures/skins/Enrgtubes0000.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrgtubes0001.png":["textures/skins/Enrgtubes0001.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrgtubes0002.png":["textures/skins/Enrgtubes0002.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrgtubes0003.png":["textures/skins/Enrgtubes0003.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrgtubes0004.png":["textures/skins/Enrgtubes0004.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrgtubes0005.png":["textures/skins/Enrgtubes0005.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrgtubes0006.png":["textures/skins/Enrgtubes0006.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrgtubes0007.png":["textures/skins/Enrgtubes0007.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrgtubes0008.png":["textures/skins/Enrgtubes0008.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/enrgtubes0009.png":["textures/skins/Enrgtubes0009.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/etcmodel02.plaque.png":["textures/skins/etcmodel02.plaque.png",["skins.vl2"]],"textures/skins/flag.png":["textures/skins/flag.png",["skins.vl2"],["yHDTextures2.0.vl2"],["z_textures/zflags.vl2"]],"textures/skins/flaglight1.ifl":["textures/skins/flaglight1.ifl",["skins.vl2"]],"textures/skins/flaglight1.png":["textures/skins/flaglight1.png",["skins.vl2"]],"textures/skins/flaglight2.png":["textures/skins/flaglight2.png",["skins.vl2"]],"textures/skins/flaglight3.png":["textures/skins/flaglight3.png",["skins.vl2"]],"textures/skins/flaglight4.png":["textures/skins/flaglight4.png",["skins.vl2"]],"textures/skins/flaglight5.png":["textures/skins/flaglight5.png",["skins.vl2"]],"textures/skins/flaregreen.png":["textures/skins/flaregreen.png",["skins.vl2"]],"textures/skins/flarewhite.png":["textures/skins/flarewhite.PNG",["skins.vl2"]],"textures/skins/flyerflame1.png":["textures/skins/flyerflame1.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/forcef1.png":["textures/skins/forcef1.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/forcef2.png":["textures/skins/forcef2.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/forcef3.png":["textures/skins/forcef3.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/forcef4.png":["textures/skins/forcef4.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/forcef5.png":["textures/skins/forcef5.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/forcefield_electric.ifl":["textures/skins/forcefield_electric.ifl",["skins.vl2"]],"textures/skins/forcefield_electric0.png":["textures/skins/forcefield_electric0.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/forcefield_electric1.png":["textures/skins/forcefield_electric1.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/forcefield_electric2.png":["textures/skins/forcefield_electric2.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/forcefield_electric3.png":["textures/skins/forcefield_electric3.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/forcefield_electric4.png":["textures/skins/forcefield_electric4.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/forcefield_electric5.png":["textures/skins/forcefield_electric5.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/forcefield_grn.ifl":["textures/skins/forcefield_grn.ifl",["skins.vl2"]],"textures/skins/forcefield_grn.png":["textures/skins/forcefield_grn.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/forcefield_grn1.png":["textures/skins/forcefield_grn1.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/forcefield_grn2.png":["textures/skins/forcefield_grn2.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/forcefield_grn3.png":["textures/skins/forcefield_grn3.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/forcefield_grn4.png":["textures/skins/forcefield_grn4.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/forcefield_grn5.png":["textures/skins/forcefield_grn5.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/frankrizzo.plaque.png":["textures/skins/frankrizzo.plaque.png",["skins.vl2"]],"textures/skins/generator.png":["textures/skins/generator.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/generic_scorch.png":["textures/skins/generic_scorch.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/glow_red.png":["textures/skins/glow_red.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/goal_back.png":["textures/skins/goal_back.png",["TR2final105-client.vl2"]],"textures/skins/goal_panel.png":["textures/skins/goal_panel.png",["TR2final105-client.vl2"]],"textures/skins/goal_side.png":["textures/skins/goal_side.png",["TR2final105-client.vl2"]],"textures/skins/goal_top.png":["textures/skins/goal_top.png",["TR2final105-client.vl2"]],"textures/skins/gold_goal_back.png":["textures/skins/gold_goal_back.png",["TR2final105-client.vl2"]],"textures/skins/gold_goal_side.png":["textures/skins/gold_goal_side.png",["TR2final105-client.vl2"]],"textures/skins/gold_goal_top.png":["textures/skins/gold_goal_top.png",["TR2final105-client.vl2"]],"textures/skins/gold_post.png":["textures/skins/gold_post.png",["TR2final105-client.vl2"]],"textures/skins/goldcube.png":["textures/skins/goldcube.png",["TR2final105-client.vl2"]],"textures/skins/gotmilk.plaque.png":["textures/skins/gotmilk.plaque.png",["skins.vl2"]],"textures/skins/green.hflag.png":["textures/skins/Green.hflag.png",["skins.vl2"],["yHDTextures2.0.vl2"],["z_textures/zflags.vl2","textures/skins/green.hflag.png"]],"textures/skins/green.hmale.png":["textures/skins/Green.hmale.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/green.lfemale.png":["textures/skins/Green.lfemale.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/green.lmale.png":["textures/skins/Green.lmale.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/green.mfemale.png":["textures/skins/Green.mfemale.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/green.mmale.png":["textures/skins/Green.mmale.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/green00.ifl":["textures/skins/green00.ifl",["skins.vl2"]],"textures/skins/green00.png":["textures/skins/green00.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/green01.png":["textures/skins/green01.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/green02.png":["textures/skins/green02.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/green03.png":["textures/skins/green03.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/green04.png":["textures/skins/green04.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/green_blink.ifl":["textures/skins/green_blink.ifl",["skins.vl2"]],"textures/skins/green_blink0.png":["textures/skins/green_blink0.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/green_blink1.png":["textures/skins/green_blink1.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/green_blink2.png":["textures/skins/green_blink2.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/green_blink3.png":["textures/skins/green_blink3.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/green_blink4.png":["textures/skins/green_blink4.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/greenlight.ifl":["textures/skins/greenlight.ifl",["skins.vl2"]],"textures/skins/greenmortar.ifl":["textures/skins/greenMortar.ifl",["skins.vl2"]],"textures/skins/grenade.png":["textures/skins/grenade.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/grenade_flare.png":["textures/skins/grenade_flare.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/grenade_flash.png":["textures/skins/grenade_flash.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/grenade_projectile.png":["textures/skins/grenade_projectile.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/hexabolic.plaque.png":["textures/skins/hexabolic.plaque.png",["skins.vl2"]],"textures/skins/horde.flag.png":["textures/skins/horde.flag.png",["skins.vl2"],["yHDTextures2.0.vl2"],["z_textures/zflags.vl2"]],"textures/skins/horde.hbioderm.png":["textures/skins/horde.hbioderm.png",["skins.vl2"]],"textures/skins/horde.lbioderm.png":["textures/skins/horde.lbioderm.png",["skins.vl2"]],"textures/skins/horde.mbioderm.png":["textures/skins/horde.mbioderm.png",["skins.vl2"]],"textures/skins/horde.switch.png":["textures/skins/horde.switch.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/horsenettlefall.png":["textures/skins/HorseNettleFall.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/hud_ret_bomber1.png":["textures/skins/hud_ret_bomber1.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/hud_ret_bomber2.png":["textures/skins/hud_ret_bomber2.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/hud_ret_bomber3.png":["textures/skins/hud_ret_bomber3.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/humnskn3.png":["textures/skins/Humnskn3.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/hunters.flag.png":["textures/skins/hunters.flag.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/hvybioflare.png":["textures/skins/hvybioflare.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/hvyjetpackflare.png":["textures/skins/hvyjetpackflare.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/jetflare00.ifl":["textures/skins/jetflare00.ifl",["skins.vl2"]],"textures/skins/jetflare00.png":["textures/skins/jetflare00.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/jetflare01.png":["textures/skins/jetflare01.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/jetflare02.png":["textures/skins/jetflare02.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/jetflare03.png":["textures/skins/jetflare03.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/jetflare04.png":["textures/skins/jetflare04.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/jetflare05.png":["textures/skins/jetflare05.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/jetflare2.png":["textures/skins/jetflare2.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/jetflareside00.ifl":["textures/skins/jetflareside00.ifl",["skins.vl2"]],"textures/skins/jetflareside00.png":["textures/skins/jetflareside00.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/jetflareside01.png":["textures/skins/jetflareside01.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/jetflareside02.png":["textures/skins/jetflareside02.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/jetflareside03.png":["textures/skins/jetflareside03.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/jetflareside04.png":["textures/skins/jetflareside04.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/jetflareside05.png":["textures/skins/jetflareside05.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/jetpack.png":["textures/skins/jetpack.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/jetpack_bio.png":["textures/skins/jetpack_bio.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/jetpackflare.png":["textures/skins/jetpackflare.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/jetpackflare_bio.png":["textures/skins/jetpackflare_bio.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/jets00.ifl":["textures/skins/jets00.ifl",["skins.vl2"]],"textures/skins/jets00.png":["textures/skins/jets00.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/jets01.png":["textures/skins/jets01.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/jets02.png":["textures/skins/jets02.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/jets03.png":["textures/skins/jets03.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/jets04.png":["textures/skins/jets04.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/jets05.png":["textures/skins/jets05.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/jett.plaque.png":["textures/skins/jett.plaque.png",["skins.vl2"]],"textures/skins/jetyellow.png":["textures/skins/jetyellow.png",["skins.vl2"]],"textures/skins/jimmy.plaque.png":["textures/skins/jimmy.plaque.png",["skins.vl2"]],"textures/skins/kidneythief.plaque.png":["textures/skins/kidneythief.plaque.png",["skins.vl2"]],"textures/skins/leaf_bunch2.png":["textures/skins/leaf_bunch2.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/leafydome.png":["textures/skins/leafydome.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/leafydome2.png":["textures/skins/leafydome2.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/light_blue_00.png":["textures/skins/light_blue_00.PNG",["skins.vl2"]],"textures/skins/light_blue_01.png":["textures/skins/light_blue_01.PNG",["skins.vl2"]],"textures/skins/light_blue_02.png":["textures/skins/light_blue_02.PNG",["skins.vl2"]],"textures/skins/light_blue_03.png":["textures/skins/light_blue_03.PNG",["skins.vl2"]],"textures/skins/light_blue_04.png":["textures/skins/light_blue_04.PNG",["skins.vl2"]],"textures/skins/light_blue_generator.ifl":["textures/skins/light_blue_generator.ifl",["skins.vl2"]],"textures/skins/light_green01.ifl":["textures/skins/light_green01.ifl",["skins.vl2"]],"textures/skins/light_green01.png":["textures/skins/light_green01.PNG",["skins.vl2"]],"textures/skins/light_green02.png":["textures/skins/light_green02.PNG",["skins.vl2"]],"textures/skins/light_green03.png":["textures/skins/light_green03.PNG",["skins.vl2"]],"textures/skins/light_green04.png":["textures/skins/light_green04.PNG",["skins.vl2"]],"textures/skins/light_green05.png":["textures/skins/light_green05.PNG",["skins.vl2"]],"textures/skins/light_green06.png":["textures/skins/light_green06.PNG",["skins.vl2"]],"textures/skins/light_red.ifl":["textures/skins/light_red.ifl",["skins.vl2"]],"textures/skins/light_red01.png":["textures/skins/light_red01.PNG",["skins.vl2"]],"textures/skins/light_red02.png":["textures/skins/light_red02.png",["skins.vl2"]],"textures/skins/light_red03.png":["textures/skins/light_red03.png",["skins.vl2"]],"textures/skins/light_red04.png":["textures/skins/light_red04.png",["skins.vl2"]],"textures/skins/light_red05.png":["textures/skins/light_red05.png",["skins.vl2"]],"textures/skins/light_red06.png":["textures/skins/light_red06.png",["skins.vl2"]],"textures/skins/light_red2.ifl":["textures/skins/light_red2.ifl",["skins.vl2"]],"textures/skins/light_red3.ifl":["textures/skins/light_red3.ifl",["skins.vl2"]],"textures/skins/lite_blue0.png":["textures/skins/lite_blue0.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/lite_blue1.png":["textures/skins/lite_blue1.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/lite_blue2.png":["textures/skins/lite_blue2.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/lite_blue3.png":["textures/skins/lite_blue3.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/lite_blue4.png":["textures/skins/lite_blue4.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/lite_fusturt.ifl":["textures/skins/lite_fusturt.ifl",["skins.vl2"]],"textures/skins/lite_fusturt01.ifl":["textures/skins/lite_fusturt01.ifl",["skins.vl2"]],"textures/skins/lite_green.ifl":["textures/skins/lite_green.ifl",["skins.vl2"]],"textures/skins/lite_green0.png":["textures/skins/lite_green0.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/lite_green1.png":["textures/skins/lite_green1.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/lite_green2.png":["textures/skins/lite_green2.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/lite_green3.png":["textures/skins/lite_green3.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/lite_green4.png":["textures/skins/lite_green4.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/lite_pack_cloak.ifl":["textures/skins/lite_pack_cloak.ifl",["skins.vl2"]],"textures/skins/lite_red.ifl":["textures/skins/lite_red.ifl",["skins.vl2"]],"textures/skins/lite_red0.png":["textures/skins/lite_red0.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/lite_red04.png":["textures/skins/lite_red04.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/lite_red1.png":["textures/skins/lite_red1.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/lite_red2.png":["textures/skins/lite_red2.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/lite_red3.png":["textures/skins/lite_red3.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/lite_red4.png":["textures/skins/lite_red4.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/lite_remoteturret.ifl":["textures/skins/lite_remoteTurret.ifl",["skins.vl2"]],"textures/skins/lite_rpu_pack01.ifl":["textures/skins/lite_rpu_pack01.ifl",["skins.vl2"]],"textures/skins/lite_rpu_pack02.ifl":["textures/skins/lite_rpu_pack02.ifl",["skins.vl2"]],"textures/skins/lite_sh_pack01.ifl":["textures/skins/lite_sh_pack01.ifl",["skins.vl2"]],"textures/skins/lite_sh_pack02.ifl":["textures/skins/lite_sh_pack02.ifl",["skins.vl2"]],"textures/skins/lite_turmiss.ifl":["textures/skins/lite_turmiss.ifl",["skins.vl2"]],"textures/skins/lite_turmort.ifl":["textures/skins/lite_turmort.ifl",["skins.vl2"]],"textures/skins/lushmoss.png":["textures/skins/LushMoss.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/madronebark.png":["textures/skins/MadroneBark.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/madronefall.png":["textures/skins/MadroneFall.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/madronefoliage.png":["textures/skins/MadroneFoliage.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/madronewinter.png":["textures/skins/MadroneWinter.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/maple shrub.png":["textures/skins/Maple Shrub.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/marineleaves.png":["textures/skins/marineleaves.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/marker.png":["textures/skins/marker.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/maximus.plaque.png":["textures/skins/maximus.plaque.png",["skins.vl2"]],"textures/skins/mesqbark.png":["textures/skins/MesqBark.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/mesquitebranch.png":["textures/skins/MesquiteBranch.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/mesquiteleaves.png":["textures/skins/MesquiteLeaves.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/mine.png":["textures/skins/mine.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/mine_anti_air.png":["textures/skins/mine_anti_air.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/mine_anti_land.png":["textures/skins/mine_anti_land.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/missile_flash.png":["textures/skins/missile_flash.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/missing.plaque.png":["textures/skins/missing.plaque.png",["skins.vl2"]],"textures/skins/mongo.plaque.png":["textures/skins/mongo.plaque.png",["skins.vl2"]],"textures/skins/mort000.ifl":["textures/skins/mort000.ifl",["skins.vl2"]],"textures/skins/mort000.png":["textures/skins/mort000.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/mort001.png":["textures/skins/mort001.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/mort002.png":["textures/skins/mort002.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/mort003.png":["textures/skins/mort003.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/mort004.png":["textures/skins/mort004.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/mort005.png":["textures/skins/mort005.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/mort006.png":["textures/skins/mort006.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/mort007.png":["textures/skins/mort007.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/mort008.png":["textures/skins/mort008.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/mort009.png":["textures/skins/mort009.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/mort010.png":["textures/skins/mort010.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/mort011.png":["textures/skins/mort011.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/mort012.png":["textures/skins/mort012.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/mort013.png":["textures/skins/mort013.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/mort014.png":["textures/skins/mort014.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/mort015.png":["textures/skins/mort015.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/mort016.png":["textures/skins/mort016.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/mort017.png":["textures/skins/mort017.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/mort018.png":["textures/skins/mort018.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/mort019.png":["textures/skins/mort019.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/mort020.png":["textures/skins/mort020.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/mort021.png":["textures/skins/mort021.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/mort022.png":["textures/skins/mort022.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/mort023.png":["textures/skins/mort023.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/mort024.png":["textures/skins/mort024.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/mort025.png":["textures/skins/mort025.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/mort026.png":["textures/skins/mort026.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/mort027.png":["textures/skins/mort027.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/mortar_projectile.png":["textures/skins/Mortar_Projectile.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/motionsensor.png":["textures/skins/MotionSensor.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/newedge00.ifl":["textures/skins/newedge00.ifl",["skins.vl2"]],"textures/skins/newedge00.png":["textures/skins/newedge00.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/newedge01.png":["textures/skins/newedge01.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/newedge02.png":["textures/skins/newedge02.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/newedge03.png":["textures/skins/newedge03.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/newedge04.png":["textures/skins/newedge04.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/newedge05.png":["textures/skins/newedge05.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/newmoss.png":["textures/skins/NewMoss.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/newmossfull.png":["textures/skins/NewMossFull.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexdefaultfloor.png":["textures/skins/NexDefaultFloor.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexg00.png":["textures/skins/nexg00.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexg01.png":["textures/skins/nexg01.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexg02.png":["textures/skins/nexg02.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexg03.png":["textures/skins/nexg03.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexg04.png":["textures/skins/nexg04.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexg05.png":["textures/skins/nexg05.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexg06.png":["textures/skins/nexg06.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexg07.png":["textures/skins/nexg07.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexg08.png":["textures/skins/nexg08.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexg09.png":["textures/skins/nexg09.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexg10.png":["textures/skins/nexg10.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexg11.png":["textures/skins/nexg11.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexg12.png":["textures/skins/nexg12.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexg13.png":["textures/skins/nexg13.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexg14.png":["textures/skins/nexg14.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexg15.png":["textures/skins/nexg15.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexgren.ifl":["textures/skins/nexgren.ifl",["skins.vl2"]],"textures/skins/nexgren02.ifl":["textures/skins/nexgren02.ifl",["skins.vl2"]],"textures/skins/nexhoardfloor.png":["textures/skins/NexHoardFloor.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexred.ifl":["textures/skins/nexred.ifl",["skins.vl2"]],"textures/skins/nexred00.png":["textures/skins/nexred00.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexred01.png":["textures/skins/nexred01.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexred02.ifl":["textures/skins/nexred02.ifl",["skins.vl2"]],"textures/skins/nexred02.png":["textures/skins/nexred02.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexred03.png":["textures/skins/nexred03.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexred04.png":["textures/skins/nexred04.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexred05.png":["textures/skins/nexred05.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexred06.png":["textures/skins/nexred06.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexred07.png":["textures/skins/nexred07.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexred08.png":["textures/skins/nexred08.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexred09.png":["textures/skins/nexred09.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexred10.png":["textures/skins/nexred10.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexred11.png":["textures/skins/nexred11.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexred12.png":["textures/skins/nexred12.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexred13.png":["textures/skins/nexred13.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexred14.png":["textures/skins/nexred14.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexred15.png":["textures/skins/nexred15.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexusgenerator.png":["textures/skins/NexusGenerator.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/nexuspowerlightson.png":["textures/skins/NexusPowerLightsON.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/noise.png":["textures/skins/noise.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/olddawg.plaque.png":["textures/skins/olddawg.plaque.png",["skins.vl2"]],"textures/skins/oldwood.png":["textures/skins/Oldwood.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/oldwoodbran01.png":["textures/skins/OldwoodBran01.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/oldwoodbranch.png":["textures/skins/OldwoodBranch.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/orange.hmale.png":["textures/skins/Orange.hmale.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/orange.ifl":["textures/skins/orange.ifl",["skins.vl2"]],"textures/skins/orange.lfemale.png":["textures/skins/Orange.lfemale.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/orange.lmale.png":["textures/skins/Orange.lmale.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/orange.mfemale.png":["textures/skins/Orange.mfemale.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/orange.mmale.png":["textures/skins/Orange.mmale.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/orange00.png":["textures/skins/orange00.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/orange01.png":["textures/skins/orange01.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/orange02.png":["textures/skins/orange02.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/orange03.png":["textures/skins/orange03.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/orange04.png":["textures/skins/orange04.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/orange05.png":["textures/skins/orange05.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/orange1.ifl":["textures/skins/orange1.ifl",["skins.vl2"]],"textures/skins/orphankazrak.plaque.png":["textures/skins/orphankazrak.plaque.png",["skins.vl2"]],"textures/skins/pack_ammo.png":["textures/skins/pack_ammo.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/pack_cloak.png":["textures/skins/pack_cloak.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/pack_cloak2.png":["textures/skins/pack_cloak2.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/pack_deploy_sensor_pulse.png":["textures/skins/pack_deploy_sensor_pulse.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/pack_energy.png":["textures/skins/pack_energy.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/pack_rep.ifl":["textures/skins/pack_rep.ifl",["skins.vl2"]],"textures/skins/pack_rep01.png":["textures/skins/pack_rep01.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/pack_rep02.png":["textures/skins/pack_rep02.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/pack_rep03.png":["textures/skins/pack_rep03.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/pack_rep04.png":["textures/skins/pack_rep04.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/pack_rep05.png":["textures/skins/pack_rep05.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/pack_rep2.ifl":["textures/skins/pack_rep2.ifl",["skins.vl2"]],"textures/skins/pack_rep_lite.png":["textures/skins/pack_rep_lite.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/pack_repair.png":["textures/skins/pack_repair.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/pack_senjam.png":["textures/skins/pack_senjam.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/pack_shield.png":["textures/skins/pack_shield.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/pack_u_c00.png":["textures/skins/pack_u_c00.png",["skins.vl2"]],"textures/skins/pack_u_c01.png":["textures/skins/pack_u_c01.png",["skins.vl2"]],"textures/skins/pack_u_c02.png":["textures/skins/pack_u_c02.png",["skins.vl2"]],"textures/skins/pack_u_c03.png":["textures/skins/pack_u_c03.png",["skins.vl2"]],"textures/skins/pack_u_c04.png":["textures/skins/pack_u_c04.png",["skins.vl2"]],"textures/skins/pack_u_e.ifl":["textures/skins/pack_u_e.ifl",["skins.vl2"]],"textures/skins/pack_u_e_lite.ifl":["textures/skins/pack_u_e_lite.ifl",["skins.vl2"]],"textures/skins/pack_u_e_lite00.png":["textures/skins/pack_u_e_lite00.png",["skins.vl2"]],"textures/skins/pack_u_e_lite01.png":["textures/skins/pack_u_e_lite01.png",["skins.vl2"]],"textures/skins/pack_u_e_lite02.png":["textures/skins/pack_u_e_lite02.png",["skins.vl2"]],"textures/skins/pack_u_e_lite03.png":["textures/skins/pack_u_e_lite03.png",["skins.vl2"]],"textures/skins/pack_u_e_lite04.png":["textures/skins/pack_u_e_lite04.png",["skins.vl2"]],"textures/skins/pack_u_e_lite05.png":["textures/skins/pack_u_e_lite05.png",["skins.vl2"]],"textures/skins/pack_u_e_lite06.png":["textures/skins/pack_u_e_lite06.png",["skins.vl2"]],"textures/skins/pack_upgrade_cloaking.png":["textures/skins/pack_upgrade_cloaking.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/pack_upgrade_energy.png":["textures/skins/pack_upgrade_energy.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/pack_upgrade_reflection.png":["textures/skins/pack_upgrade_reflection.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/pack_upgrade_repair.png":["textures/skins/pack_upgrade_repair.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/pack_upgrade_repulsor.png":["textures/skins/pack_upgrade_repulsor.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/pack_upgrade_satchel.png":["textures/skins/pack_upgrade_satchel.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/pack_upgrade_satchel2.png":["textures/skins/pack_upgrade_satchel2.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/pack_upgrade_shield.png":["textures/skins/pack_upgrade_shield.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plasma.ifl":["textures/skins/plasma.ifl",["skins.vl2"]],"textures/skins/plasma01.png":["textures/skins/plasma01.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plasma02.png":["textures/skins/plasma02.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plasma03.png":["textures/skins/plasma03.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plasma04.png":["textures/skins/plasma04.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plasma05.png":["textures/skins/plasma05.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plasma06.png":["textures/skins/plasma06.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plasma07.png":["textures/skins/plasma07.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plasma08.png":["textures/skins/plasma08.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plasma09.png":["textures/skins/plasma09.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plasma10.png":["textures/skins/plasma10.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plasma_ammo.ifl":["textures/skins/plasma_ammo.ifl",["skins.vl2"]],"textures/skins/plasma_exhaust.ifl":["textures/skins/plasma_exhaust.ifl",["skins.vl2"]],"textures/skins/plasma_muzzle.png":["textures/skins/plasma_muzzle.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plasmaturret.ifl":["textures/skins/plasmaTurret.ifl",["skins.vl2"]],"textures/skins/plex00.png":["textures/skins/plex00.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plex01.png":["textures/skins/plex01.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plex02.png":["textures/skins/plex02.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plex03.png":["textures/skins/plex03.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plex04.png":["textures/skins/plex04.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plex05.png":["textures/skins/plex05.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plex06.png":["textures/skins/plex06.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plex07.png":["textures/skins/plex07.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plex08.png":["textures/skins/plex08.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plex09.png":["textures/skins/plex09.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plex10.png":["textures/skins/plex10.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plex11.png":["textures/skins/plex11.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plex12.png":["textures/skins/plex12.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plex13.png":["textures/skins/plex13.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plex14.png":["textures/skins/plex14.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plex15.png":["textures/skins/plex15.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plex16.png":["textures/skins/plex16.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plex17.png":["textures/skins/plex17.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plex18.png":["textures/skins/plex18.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plex19.png":["textures/skins/plex19.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plex20.png":["textures/skins/plex20.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plex21.png":["textures/skins/plex21.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plex22.png":["textures/skins/plex22.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plex23.png":["textures/skins/plex23.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plrec00.ifl":["textures/skins/plrec00.ifl",["skins.vl2"]],"textures/skins/plrec00.png":["textures/skins/plrec00.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plrec01.png":["textures/skins/plrec01.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plrec02.png":["textures/skins/plrec02.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plrec03.png":["textures/skins/plrec03.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plrec04.png":["textures/skins/plrec04.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plrec05.png":["textures/skins/plrec05.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plrec06.png":["textures/skins/plrec06.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plrec07.png":["textures/skins/plrec07.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam00.ifl":["textures/skins/plsam00.ifl",["skins.vl2"]],"textures/skins/plsam00.png":["textures/skins/plsam00.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam01.png":["textures/skins/plsam01.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam02.png":["textures/skins/plsam02.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam03.png":["textures/skins/plsam03.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam04.png":["textures/skins/plsam04.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam05.png":["textures/skins/plsam05.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam06.png":["textures/skins/plsam06.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam07.png":["textures/skins/plsam07.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam08.png":["textures/skins/plsam08.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam09.png":["textures/skins/plsam09.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam0a.ifl":["textures/skins/plsam0a.ifl",["skins.vl2"]],"textures/skins/plsam10.png":["textures/skins/plsam10.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam11.png":["textures/skins/plsam11.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam12.png":["textures/skins/plsam12.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam13.png":["textures/skins/plsam13.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam14.png":["textures/skins/plsam14.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam15.png":["textures/skins/plsam15.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam16.png":["textures/skins/plsam16.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam17.png":["textures/skins/plsam17.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam18.png":["textures/skins/plsam18.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam19.png":["textures/skins/plsam19.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam20.png":["textures/skins/plsam20.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam21.png":["textures/skins/plsam21.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam22.png":["textures/skins/plsam22.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam23.png":["textures/skins/plsam23.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam24.png":["textures/skins/plsam24.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam25.png":["textures/skins/plsam25.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam26.png":["textures/skins/plsam26.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam27.png":["textures/skins/plsam27.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam28.png":["textures/skins/plsam28.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam29.png":["textures/skins/plsam29.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam30.png":["textures/skins/plsam30.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam31.png":["textures/skins/plsam31.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam32.png":["textures/skins/plsam32.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam33.png":["textures/skins/plsam33.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam34.png":["textures/skins/plsam34.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam35.png":["textures/skins/plsam35.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam36.png":["textures/skins/plsam36.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam37.png":["textures/skins/plsam37.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam38.png":["textures/skins/plsam38.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam39.png":["textures/skins/plsam39.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsam40.png":["textures/skins/plsam40.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsamagun.ifl":["textures/skins/plsamagun.ifl",["skins.vl2"]],"textures/skins/plsmabolt01.ifl":["textures/skins/plsmabolt01.ifl",["skins.vl2"]],"textures/skins/plsmabolt01.png":["textures/skins/plsmabolt01.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsmabolt02.png":["textures/skins/plsmabolt02.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsmabolt03.png":["textures/skins/plsmabolt03.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsmabolt04.png":["textures/skins/plsmabolt04.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsmabolt05.png":["textures/skins/plsmabolt05.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsmabolt06.png":["textures/skins/plsmabolt06.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsmabolt07.png":["textures/skins/plsmabolt07.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsmabolt08.png":["textures/skins/plsmabolt08.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsmabolt09.png":["textures/skins/plsmabolt09.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsmabolt10.png":["textures/skins/plsmabolt10.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsre.ifl":["textures/skins/plsre.ifl",["skins.vl2"]],"textures/skins/plsre00.png":["textures/skins/Plsre00.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsre01.png":["textures/skins/Plsre01.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsre02.png":["textures/skins/Plsre02.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsre03.png":["textures/skins/Plsre03.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsre04.png":["textures/skins/Plsre04.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsre05.png":["textures/skins/Plsre05.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsre06.png":["textures/skins/Plsre06.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsre07.png":["textures/skins/Plsre07.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsre08.png":["textures/skins/Plsre08.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsre09.png":["textures/skins/Plsre09.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsre10.png":["textures/skins/Plsre10.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsre11.png":["textures/skins/Plsre11.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsre12.png":["textures/skins/Plsre12.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsre13.png":["textures/skins/Plsre13.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsre14.png":["textures/skins/Plsre14.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsre15.png":["textures/skins/Plsre15.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsre16.png":["textures/skins/Plsre16.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsre17.png":["textures/skins/Plsre17.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsre18.png":["textures/skins/Plsre18.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsre19.png":["textures/skins/Plsre19.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsre20.png":["textures/skins/Plsre20.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsre21.png":["textures/skins/Plsre21.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plsre22.png":["textures/skins/Plsre22.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/plstur0a.ifl":["textures/skins/plsTur0a.ifl",["skins.vl2"]],"textures/skins/pod1.png":["textures/skins/pod1.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/ponderosapinebark.png":["textures/skins/PonderosaPineBark.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/porg2.png":["textures/skins/porg2.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/porg4.png":["textures/skins/porg4.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/programmers1.plaque.png":["textures/skins/programmers1.plaque.png",["skins.vl2"]],"textures/skins/programmers2.plaque.png":["textures/skins/programmers2.plaque.png",["skins.vl2"]],"textures/skins/pulse00.png":["textures/skins/Pulse00.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/pulse01.png":["textures/skins/Pulse01.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/pulse02.png":["textures/skins/Pulse02.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/pulse03.png":["textures/skins/Pulse03.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/pulse04.png":["textures/skins/Pulse04.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/pulse05.png":["textures/skins/Pulse05.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/pulse06.png":["textures/skins/Pulse06.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/pulse07.png":["textures/skins/Pulse07.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/pulse08.png":["textures/skins/Pulse08.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/purple.hmale.png":["textures/skins/Purple.hmale.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/purple.lfemale.png":["textures/skins/Purple.lfemale.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/purple.lmale.png":["textures/skins/Purple.lmale.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/purple.mfemale.png":["textures/skins/Purple.mfemale.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/purple.mmale.png":["textures/skins/Purple.mmale.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/purple00.ifl":["textures/skins/purple00.ifl",["skins.vl2"]],"textures/skins/purple00.png":["textures/skins/purple00.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/purple01.png":["textures/skins/purple01.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/purple02.png":["textures/skins/purple02.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/purple03.png":["textures/skins/purple03.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/purple04.png":["textures/skins/purple04.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/qix.plaque.png":["textures/skins/qix.plaque.png",["skins.vl2"]],"textures/skins/rabbit bushwin.png":["textures/skins/Rabbit BushWin.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/rabbitbush.png":["textures/skins/RabbitBush.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/raf.plaque.png":["textures/skins/raf.plaque.png",["skins.vl2"]],"textures/skins/ratedz.plaque.png":["textures/skins/ratedz.plaque.png",["skins.vl2"]],"textures/skins/red.hmale.png":["textures/skins/Red.hmale.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/red.lfemale.png":["textures/skins/Red.lfemale.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/red.lmale.png":["textures/skins/Red.lmale.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/red.mfemale.png":["textures/skins/Red.mfemale.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/red.mmale.png":["textures/skins/Red.mmale.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/red_blink.ifl":["textures/skins/red_blink.ifl",["skins.vl2"]],"textures/skins/red_blink0.png":["textures/skins/red_blink0.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/red_blink1.png":["textures/skins/red_blink1.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/red_blink2.png":["textures/skins/red_blink2.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/red_blink3.png":["textures/skins/red_blink3.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/red_blink4.png":["textures/skins/red_blink4.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/repair_kit.png":["textures/skins/repair_kit.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/repair_patch.png":["textures/skins/repair_patch.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/rickets.plaque.png":["textures/skins/rickets.plaque.png",["skins.vl2"]],"textures/skins/rusty.mmale.png":["textures/skins/rusty.mmale.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/sberryfall.png":["textures/skins/SBerryFall.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/scanline.ifl":["textures/skins/scanline.ifl",["skins.vl2"]],"textures/skins/scanline1.png":["textures/skins/scanline1.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/scanline1.png"]],"textures/skins/scanline2.png":["textures/skins/scanline2.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/scanline3.png":["textures/skins/scanline3.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/scanline4.png":["textures/skins/scanline4.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/scanline5.png":["textures/skins/scanline5.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/scanline6.png":["textures/skins/scanline6.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/scotchbroom.png":["textures/skins/ScotchBroom.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/scout_windshield.png":["textures/skins/Scout_windshield.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/screenframe.png":["textures/skins/screenframe.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/screenstatic1.ifl":["textures/skins/screenstatic1.ifl",["skins.vl2"]],"textures/skins/screenstatic1.png":["textures/skins/screenstatic1.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/screenstatic2.png":["textures/skins/screenstatic2.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/screenstatic3.png":["textures/skins/screenstatic3.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/screenstatic4.png":["textures/skins/screenstatic4.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/screenstatic5.png":["textures/skins/screenstatic5.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/sensor_pulse_large.png":["textures/skins/sensor_pulse_large.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/sensor_pulse_med.png":["textures/skins/sensor_pulse_med.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/sentry.png":["textures/skins/sentry.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/shark.plaque.png":["textures/skins/shark.plaque.png",["skins.vl2"]],"textures/skins/shieldpackactivate.png":["textures/skins/ShieldPackActivate.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/shieldpackambient.png":["textures/skins/ShieldPackAmbient.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/shrikeflare2.png":["textures/skins/shrikeflare2.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/silver.hmale.png":["textures/skins/Silver.hmale.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/silver.lfemale.png":["textures/skins/Silver.lfemale.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/silver.lmale.png":["textures/skins/Silver.lmale.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/silver.mfemale.png":["textures/skins/Silver.mfemale.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/silver.mmale.png":["textures/skins/Silver.mmale.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/silver_post.png":["textures/skins/silver_post.png",["TR2final105-client.vl2"]],"textures/skins/silvercube.png":["textures/skins/silvercube.png",["TR2final105-client.vl2"]],"textures/skins/skeet.plaque.png":["textures/skins/skeet.plaque.png",["skins.vl2"]],"textures/skins/skin2.png":["textures/skins/skin2.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/smoke.ifl":["textures/skins/smoke.ifl",["skins.vl2"]],"textures/skins/smoke00.png":["textures/skins/smoke00.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/smoke01.png":["textures/skins/smoke01.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/smoke02.png":["textures/skins/smoke02.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/smoke03.png":["textures/skins/smoke03.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/smoke04.png":["textures/skins/smoke04.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/smoke05.png":["textures/skins/smoke05.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/smoke06.png":["textures/skins/smoke06.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/smoke07.png":["textures/skins/smoke07.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/smoke08.png":["textures/skins/smoke08.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/smoke09.png":["textures/skins/smoke09.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/smoke10.png":["textures/skins/smoke10.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/smoke11.png":["textures/skins/smoke11.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/smoke12.png":["textures/skins/smoke12.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/smoke13.png":["textures/skins/smoke13.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/smoke14.png":["textures/skins/smoke14.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/smoke15.png":["textures/skins/smoke15.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/smoke16.png":["textures/skins/smoke16.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/smoke17.png":["textures/skins/smoke17.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/smoke18.png":["textures/skins/smoke18.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/smoke19.png":["textures/skins/smoke19.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/smoke20.png":["textures/skins/smoke20.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/sneaker.plaque.png":["textures/skins/sneaker.plaque.png",["skins.vl2"]],"textures/skins/snowblanket.png":["textures/skins/SnowBlanket.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/snowleopard.plaque.png":["textures/skins/snowleopard.plaque.png",["skins.vl2"]],"textures/skins/solarpanel.png":["textures/skins/solarpanel.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/sparks00.ifl":["textures/skins/sparks00.ifl",["skins.vl2"]],"textures/skins/stackable.png":["textures/skins/stackable.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/stackable1l.png":["textures/skins/stackable1L.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/stackable1m.png":["textures/skins/stackable1M.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/stackable1s.png":["textures/skins/stackable1S.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/stackable2l.png":["textures/skins/stackable2L.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/stackable2m.png":["textures/skins/stackable2m.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/stackable2s.png":["textures/skins/stackable2S.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/stackable3l.png":["textures/skins/stackable3L.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/stackable3m.png":["textures/skins/stackable3m.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/stackable3s.png":["textures/skins/stackable3s.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/stackable4l.png":["textures/skins/stackable4L.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/stackable4m.png":["textures/skins/stackable4M.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/stackable5l.png":["textures/skins/stackable5L.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/stackable5m.png":["textures/skins/stackable5m.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/station_damage.png":["textures/skins/station_damage.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/station_damage_alpha.png":["textures/skins/station_damage_alpha.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/station_damagel1.png":["textures/skins/station_damageL1.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/station_damagel2.png":["textures/skins/station_damageL2.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/station_damagel3.png":["textures/skins/station_damageL3.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/station_damagem1.png":["textures/skins/station_damageM1.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/station_damagem2.png":["textures/skins/station_damageM2.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/station_damagem3.png":["textures/skins/station_damageM3.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/station_damages1.png":["textures/skins/station_damageS1.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/station_damages2.png":["textures/skins/station_damageS2.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/station_damages3.png":["textures/skins/station_damageS3.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/station_damages4.png":["textures/skins/station_damageS4.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/station_inventory.png":["textures/skins/station_inventory.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/station_inventory_activate.png":["textures/skins/station_inventory_activate.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/station_teleporter.png":["textures/skins/station_teleporter.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/station_teleporter_activate.png":["textures/skins/station_teleporter_activate.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/station_vpad.png":["textures/skins/station_vpad.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/statue_base.png":["textures/skins/statue_base.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/statue_hmale.png":["textures/skins/statue_HMale.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/statue_lfemale.png":["textures/skins/statue_LFemale.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/statue_lmale.png":["textures/skins/statue_LMale.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/statue_plaque.png":["textures/skins/statue_plaque.png",["skins.vl2"]],"textures/skins/switch.png":["textures/skins/switch.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/switchbeam.png":["textures/skins/switchbeam.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/swolf.flag.png":["textures/skins/swolf.flag.png",["skins.vl2"],["yHDTextures2.0.vl2"],["z_textures/zflags.vl2"]],"textures/skins/swolf.hmale.png":["textures/skins/swolf.hmale.png",["skins.vl2"]],"textures/skins/swolf.lfemale.png":["textures/skins/swolf.lfemale.png",["skins.vl2"]],"textures/skins/swolf.lmale.png":["textures/skins/swolf.lmale.png",["skins.vl2"]],"textures/skins/swolf.mfemale.png":["textures/skins/swolf.mfemale.png",["skins.vl2"]],"textures/skins/swolf.mmale.png":["textures/skins/swolf.mmale.png",["skins.vl2"]],"textures/skins/swolf.switch.png":["textures/skins/swolf.switch.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/swolf_hmale_512.png":["textures/skins/swolf_hmale_512.png",["skins.vl2"]],"textures/skins/swolf_lfemale_512.png":["textures/skins/swolf_lfemale_512.png",["skins.vl2"]],"textures/skins/swolf_lmale_512.png":["textures/skins/swolf_lmale_512.png",["skins.vl2"]],"textures/skins/swolf_mfemale_512.png":["textures/skins/swolf_mfemale_512.png",["skins.vl2"]],"textures/skins/swolf_mmale_512.png":["textures/skins/swolf_mmale_512.png",["skins.vl2"]],"textures/skins/symlink.plaque.png":["textures/skins/symlink.plaque.png",["skins.vl2"]],"textures/skins/todesritter.plaque.png":["textures/skins/todesritter.plaque.png",["skins.vl2"]],"textures/skins/tomin8tor.plaque.png":["textures/skins/tomin8tor.plaque.png",["skins.vl2"]],"textures/skins/tr2-1.hmale.png":["textures/skins/TR2-1.hmale.png",["TR2final105-client.vl2"]],"textures/skins/tr2-1.lfemale.png":["textures/skins/TR2-1.lfemale.png",["TR2final105-client.vl2"]],"textures/skins/tr2-1.mfemale.png":["textures/skins/TR2-1.mfemale.png",["TR2final105-client.vl2"]],"textures/skins/tr2-1.mmale.png":["textures/skins/TR2-1.mmale.png",["TR2final105-client.vl2"]],"textures/skins/tr2-2.hmale.png":["textures/skins/TR2-2.hmale.png",["TR2final105-client.vl2"]],"textures/skins/tr2-2.lfemale.png":["textures/skins/TR2-2.lfemale.png",["TR2final105-client.vl2"]],"textures/skins/tr2-2.mfemale.png":["textures/skins/TR2-2.mfemale.png",["TR2final105-client.vl2"]],"textures/skins/tr2-2.mmale.png":["textures/skins/TR2-2.mmale.png",["TR2final105-client.vl2"]],"textures/skins/tr2_flag.png":["textures/skins/tr2_flag.png",["TR2final105-client.vl2"]],"textures/skins/tribes1.plaque.png":["textures/skins/tribes1.plaque.png",["skins.vl2"]],"textures/skins/turret_assaulttank.png":["textures/skins/turret_assaultTank.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/turret_base_large.png":["textures/skins/turret_base_large.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/turret_belly.png":["textures/skins/turret_belly.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/turret_inout_deploy.png":["textures/skins/turret_InOut_deploy.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/turret_light_red.ifl":["textures/skins/turret_light_red.ifl",["skins.vl2"]],"textures/skins/turret_remote.png":["textures/skins/turret_remote.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/turret_sentry.png":["textures/skins/turret_sentry.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/twitch.plaque.png":["textures/skins/twitch.plaque.png",["skins.vl2"]],"textures/skins/uberbob.plaque.png":["textures/skins/uberbob.plaque.png",["skins.vl2"]],"textures/skins/vaportrail.png":["textures/skins/vaportrail.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/vehicle_air_bomber1.png":["textures/skins/vehicle_air_bomber1.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/vehicle_air_bomber2.png":["textures/skins/vehicle_air_bomber2.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/vehicle_air_bomber3.png":["textures/skins/vehicle_air_bomber3.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/vehicle_air_hpc1.png":["textures/skins/vehicle_air_hpc1.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/vehicle_air_hpc2.png":["textures/skins/vehicle_air_hpc2.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/vehicle_air_hpc3.png":["textures/skins/vehicle_air_hpc3.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/vehicle_air_scout.png":["textures/skins/vehicle_air_scout.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/vehicle_grav_scout.png":["textures/skins/Vehicle_grav_scout.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/vehicle_grav_scout_pipes.png":["textures/skins/Vehicle_grav_scout_pipes.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/vehicle_grav_scout_windshield.png":["textures/skins/Vehicle_grav_scout_windshield.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/vehicle_grav_scout_windshieldinner.png":["textures/skins/Vehicle_grav_scout_windshieldInner.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/vehicle_grav_tank_bodymain.png":["textures/skins/Vehicle_grav_tank_bodyMain.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/vehicle_grav_tank_bodyside1.png":["textures/skins/vehicle_grav_tank_bodyside1.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/vehicle_grav_tank_bodyside2.png":["textures/skins/vehicle_grav_tank_bodyside2.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/vehicle_land_assault_bodymain.png":["textures/skins/Vehicle_Land_Assault_bodyMain.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/vehicle_land_assault_bodyside1.png":["textures/skins/Vehicle_Land_Assault_bodySide1.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/vehicle_land_assault_bodyside2.png":["textures/skins/Vehicle_Land_Assault_bodySide2.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/vehicle_land_assault_wheel.png":["textures/skins/Vehicle_Land_Assault_Wheel.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/vehicle_land_mpb1.png":["textures/skins/vehicle_land_mpb1.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/vehicle_land_mpb2.png":["textures/skins/vehicle_land_mpb2.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/vehicle_mpb_sensor_panelson.png":["textures/skins/vehicle_mpb_sensor_panelsON.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/vending01.png":["textures/skins/vending01.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/vending02.png":["textures/skins/vending02.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/vpad_activate.png":["textures/skins/vpad_activate.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/vpad_ambient.png":["textures/skins/vpad_ambient.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/vpad_arm.png":["textures/skins/vpad_arm.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/weapon_chaingun.png":["textures/skins/weapon_chaingun.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/weapon_chaingun_ammocasing.png":["textures/skins/weapon_chaingun_ammocasing.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/weapon_disc.png":["textures/skins/weapon_disc.PNG",["skins.vl2"],["yHDTextures2.0.vl2","textures/skins/weapon_disc.png"]],"textures/skins/weapon_elf.png":["textures/skins/weapon_elf.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/weapon_energy.png":["textures/skins/weapon_energy.PNG",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/weapon_energy_vehicle.png":["textures/skins/weapon_energy_vehicle.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/weapon_grenade_launcher.png":["textures/skins/weapon_grenade_launcher.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/weapon_missile.png":["textures/skins/weapon_missile.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/weapon_missile_casement.png":["textures/skins/weapon_missile_casement.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/weapon_missile_projectile.png":["textures/skins/Weapon_missile_projectile.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/weapon_mortar.png":["textures/skins/weapon_mortar.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/weapon_plasma1.png":["textures/skins/weapon_plasma1.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/weapon_plasma2.png":["textures/skins/weapon_plasma2.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/weapon_plasmathrower.png":["textures/skins/weapon_plasmathrower.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/weapon_repair.png":["textures/skins/weapon_repair.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/weapon_shocklance.png":["textures/skins/weapon_shocklance.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/weapon_shocklance_glow .png":["textures/skins/weapon_shocklance_glow .png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/weapon_shocklance_glow-.png":["textures/skins/weapon_shocklance_glow-.png",["yHDTextures2.0.vl2"]],"textures/skins/weapon_sniper.png":["textures/skins/weapon_sniper.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/weapon_targeting.png":["textures/skins/weapon_targeting.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/winmapshrubart.png":["textures/skins/WinMapShrubart.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/winrhody.png":["textures/skins/WinRhody.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/winscotchart.png":["textures/skins/WinScotchArt.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/xorg2.png":["textures/skins/xorg2.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/skins/yellow.hflag.png":["textures/skins/Yellow.hflag.png",["skins.vl2"],["yHDTextures2.0.vl2"],["z_textures/zflags.vl2","textures/skins/yellow.hflag.png"]],"textures/skins/yellow.hmale.png":["textures/skins/Yellow.hmale.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/yellow.lfemale.png":["textures/skins/Yellow.lfemale.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/yellow.lmale.png":["textures/skins/Yellow.lmale.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/yellow.mfemale.png":["textures/skins/Yellow.mfemale.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/yellow.mmale.png":["textures/skins/Yellow.mmale.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/skins/yellow.png":["textures/skins/yellow.png",["skins.vl2"],["yHDTextures2.0.vl2"]],"textures/sky01.dml":["textures/sky01.dml",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/sky01/sback.png":["textures/sky01/sback.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/sky01/sdown.png":["textures/sky01/sdown.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/sky01/sfront.png":["textures/sky01/sfront.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/sky01/sleft.png":["textures/sky01/sleft.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/sky01/sright.png":["textures/sky01/sright.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/sky01/sup.png":["textures/sky01/sup.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/sky03.dml":["textures/sky03.dml",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/sky03/fback.png":["textures/sky03/fback.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/sky03/fdown.png":["textures/sky03/fdown.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/sky03/ffront.png":["textures/sky03/ffront.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/sky03/fleft.png":["textures/sky03/fleft.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/sky03/fright.png":["textures/sky03/fright.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/sky03/fup.png":["textures/sky03/fup.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/sky03/tr1_cloud1.png":["textures/sky03/TR1_Cloud1.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/sky03/tr1_cloud2.png":["textures/sky03/TR1_Cloud2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/sky121.dml":["textures/sky121.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/sky127.dml":["textures/sky127.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/sky156.dml":["textures/sky156.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/sky_badlands_cloudy.dml":["textures/sky_badlands_cloudy.dml",["textures.vl2"]],"textures/sky_badlands_starrynight.dml":["textures/sky_badlands_starrynight.dml",["textures.vl2"]],"textures/sky_beachblitz.dml":["textures/sky_beachblitz.dml",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/sky_desert_blue.dml":["textures/sky_desert_blue.dml",["textures.vl2"]],"textures/sky_desert_brown.dml":["textures/sky_desert_brown.dml",["textures.vl2"]],"textures/sky_desert_starrynight.dml":["textures/sky_desert_starrynight.dml",["textures.vl2"]],"textures/sky_ice_blue.dml":["textures/sky_ice_blue.dml",["textures.vl2"]],"textures/sky_ice_cloak.dml":["textures/sky_ice_cloak.dml",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/sky_ice_starrynight.dml":["textures/sky_ice_starrynight.dml",["textures.vl2"]],"textures/sky_lava_brown.dml":["textures/sky_lava_brown.dml",["textures.vl2"]],"textures/sky_lava_starrynight.dml":["textures/sky_lava_starrynight.dml",["textures.vl2"]],"textures/sky_lush_blue.dml":["textures/sky_lush_blue.dml",["textures.vl2"]],"textures/sky_lush_morestars.dml":["textures/sky_lush_morestars.dml",["textures.vl2"]],"textures/sky_lush_starrynight.dml":["textures/sky_lush_starrynight.dml",["textures.vl2"]],"textures/sky_volcanic_starrynight.dml":["textures/sky_volcanic_starrynight.dml",["textures.vl2"]],"textures/small_circle.png":["textures/small_circle.PNG",["textures.vl2"]],"textures/small_cross.png":["textures/small_cross.png",["textures.vl2"]],"textures/small_diamond.png":["textures/small_diamond.png",["textures.vl2"]],"textures/small_square.png":["textures/small_square.png",["textures.vl2"]],"textures/small_triangle.png":["textures/small_triangle.png",["textures.vl2"]],"textures/smoke02.png":["textures/smoke02.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/snowflake8x8.png":["textures/snowflake8x8.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/snowflakes.dml":["textures/snowflakes.dml",["textures.vl2"]],"textures/snowtest.dml":["textures/snowtest.dml",["textures.vl2"]],"textures/solar.png":["textures/solar.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/som_tr2_armageddon.dml":["textures/SOM_TR2_Armageddon.dml",["TR2final105-client.vl2"]],"textures/som_tr2_stonedblue.dml":["textures/SOM_TR2_StonedBlue.dml",["TR2final105-client.vl2"]],"textures/som_tr2_winterblue.dml":["textures/SOM_TR2_WinterBlue.dml",["TR2final105-client.vl2"]],"textures/som_winterblue/winterblue_v5_bk.bmp":["textures/SOM_WinterBlue/WinterBlue_v5_BK.bmp",["TR2final105-client.vl2"]],"textures/som_winterblue/winterblue_v5_fr.bmp":["textures/SOM_WinterBlue/WinterBlue_v5_FR.bmp",["TR2final105-client.vl2"]],"textures/som_winterblue/winterblue_v5_lf.bmp":["textures/SOM_WinterBlue/WinterBlue_v5_LF.bmp",["TR2final105-client.vl2"]],"textures/som_winterblue/winterblue_v5_rt.bmp":["textures/SOM_WinterBlue/WinterBlue_v5_RT.bmp",["TR2final105-client.vl2"]],"textures/som_winterblue/winterblue_v5_up.bmp":["textures/SOM_WinterBlue/WinterBlue_v5_UP.bmp",["TR2final105-client.vl2"]],"textures/space/tr1_cloud1.png":["textures/space/TR1_Cloud1.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/space/tr1_cloud2.png":["textures/space/TR1_Cloud2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/space/xnight2_bk.png":["textures/space/xnight2_bk.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/space/xnight2_dn.png":["textures/space/xnight2_dn.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/space/xnight2_ft.png":["textures/space/xnight2_ft.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/space/xnight2_lf.png":["textures/space/xnight2_lf.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/space/xnight2_rt.png":["textures/space/xnight2_rt.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/space/xnight2_up.png":["textures/space/xnight2_up.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/space_14.dml":["textures/space_14.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/space_16.dml":["textures/space_16.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/space_17.dml":["textures/space_17.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/space_18.dml":["textures/space_18.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/space_19.dml":["textures/space_19.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/space_3.dml":["textures/space_3.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/space_5.dml":["textures/space_5.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/spaceblue.dml":["textures/spaceBlue.dml",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/spacerock.png":["textures/spaceRock.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/special/bigspark.png":["textures/special/bigSpark.PNG",["textures.vl2"],["yHDTextures2.0.vl2","textures/special/bigSpark.png"]],"textures/special/blasterbolt.png":["textures/special/blasterBolt.PNG",["textures.vl2"],["yHDTextures2.0.vl2","textures/special/blasterBolt.png"]],"textures/special/blasterboltcross.png":["textures/special/blasterBoltCross.PNG",["textures.vl2"],["yHDTextures2.0.vl2","textures/special/blasterBoltCross.png"]],"textures/special/blasterhit.png":["textures/special/blasterHit.PNG",["textures.vl2"],["yHDTextures2.0.vl2","textures/special/blasterHit.png"]],"textures/special/blueimpact.png":["textures/special/BlueImpact.PNG",["textures.vl2"],["yHDTextures2.0.vl2","textures/special/BlueImpact.png"]],"textures/special/bluespark.png":["textures/special/bluespark.PNG",["textures.vl2"],["yHDTextures2.0.vl2","textures/special/bluespark.png"]],"textures/special/bubbles.png":["textures/special/bubbles.PNG",["textures.vl2"],["yHDTextures2.0.vl2","textures/special/bubbles.png"]],"textures/special/bullethole1.png":["textures/special/bullethole1.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/bullethole2.png":["textures/special/bullethole2.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/bullethole3.png":["textures/special/bullethole3.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/bullethole4.png":["textures/special/bullethole4.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/bullethole5.png":["textures/special/bullethole5.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/bullethole6.png":["textures/special/bullethole6.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/chutetexture.png":["textures/special/chuteTexture.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/cloaktexture.png":["textures/special/cloakTexture.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/cloudflash.png":["textures/special/cloudflash.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/cloudflash2.png":["textures/special/cloudflash2.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/cloudflash3.png":["textures/special/cloudflash3.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/cloudflash4.png":["textures/special/cloudflash4.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/cloudflash5.png":["textures/special/cloudflash5.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/cloudflash6.png":["textures/special/cloudflash6.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/cloudflash7.png":["textures/special/cloudflash7.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/cloudflash8.png":["textures/special/cloudflash8.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/crescent3.png":["textures/special/crescent3.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/crescent4.png":["textures/special/crescent4.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/decal.dml":["textures/special/decal.dml",["textures.vl2"]],"textures/special/droplet.png":["textures/special/droplet.PNG",["textures.vl2"],["yHDTextures2.0.vl2","textures/special/droplet.png"]],"textures/special/elfbeam.png":["textures/special/ELFBeam.PNG",["textures.vl2"],["yHDTextures2.0.vl2","textures/special/ELFBeam.png"]],"textures/special/elflightning.png":["textures/special/ELFLightning.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/expflare.png":["textures/special/expFlare.PNG",["textures.vl2"],["yHDTextures2.0.vl2","textures/special/expFlare.png"]],"textures/special/explosion/exp_0000.png":["textures/special/Explosion/Exp_0000.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/explosion/exp_0002.png":["textures/special/Explosion/Exp_0002.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/explosion/exp_0004.png":["textures/special/Explosion/Exp_0004.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/explosion/exp_0006.png":["textures/special/Explosion/Exp_0006.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/explosion/exp_0008.png":["textures/special/Explosion/Exp_0008.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/explosion/exp_0010.png":["textures/special/Explosion/Exp_0010.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/explosion/exp_0012.png":["textures/special/Explosion/Exp_0012.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/explosion/exp_0014.png":["textures/special/Explosion/Exp_0014.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/explosion/exp_0016.png":["textures/special/Explosion/Exp_0016.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/explosion/exp_0018.png":["textures/special/Explosion/Exp_0018.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/explosion/exp_0020.png":["textures/special/Explosion/Exp_0020.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/explosion/exp_0022.png":["textures/special/Explosion/Exp_0022.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/explosion/exp_0024.png":["textures/special/Explosion/Exp_0024.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/explosion/exp_0026.png":["textures/special/Explosion/Exp_0026.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/explosion/exp_0028.png":["textures/special/Explosion/Exp_0028.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/explosion/exp_0030.png":["textures/special/Explosion/Exp_0030.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/explosion/exp_0032.png":["textures/special/Explosion/Exp_0032.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/explosion/exp_0034.png":["textures/special/Explosion/Exp_0034.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/explosion/exp_0036.png":["textures/special/Explosion/Exp_0036.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/explosion/exp_0038.png":["textures/special/Explosion/Exp_0038.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/explosion/exp_0040.png":["textures/special/Explosion/Exp_0040.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/explosion/exp_0042.png":["textures/special/Explosion/Exp_0042.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/explosion/exp_0044.png":["textures/special/Explosion/Exp_0044.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/explosion/exp_0046.png":["textures/special/Explosion/Exp_0046.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/explosion/exp_0048.png":["textures/special/Explosion/Exp_0048.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/explosion/exp_0050.png":["textures/special/Explosion/Exp_0050.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/explosion/exp_0052.png":["textures/special/Explosion/Exp_0052.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/flare.png":["textures/special/flare.PNG",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/flare3.png":["textures/special/flare3.PNG",["textures.vl2"],["yHDTextures2.0.vl2","textures/special/flare3.png"]],"textures/special/flarespark.png":["textures/special/flareSpark.PNG",["textures.vl2"],["yHDTextures2.0.vl2","textures/special/flareSpark.png"]],"textures/special/footprints/h_bioderm.png":["textures/special/footprints/H_bioderm.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/footprints/h_male.png":["textures/special/footprints/H_male.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/footprints/l_bioderm.png":["textures/special/footprints/L_bioderm.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/footprints/l_male.png":["textures/special/footprints/L_male.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/footprints/m_bioderm.png":["textures/special/footprints/M_bioderm.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/footprints/m_male.png":["textures/special/footprints/M_male.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/gamegrid.png":["textures/special/GameGrid.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/generic_reflect.png":["textures/special/generic_reflect.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/generic_scorch.png":["textures/special/generic_scorch.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/glass.png":["textures/special/glass.PNG",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/special/gradient.png":["textures/special/gradient.PNG",["textures.vl2"],["yHDTextures2.0.vl2","textures/special/gradient.png"]],"textures/special/grainy.png":["textures/special/grainy.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/jammermap.png":["textures/special/jammermap.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/jetexhaust02.png":["textures/special/jetExhaust02.PNG",["textures.vl2"],["yHDTextures2.0.vl2","textures/special/jetExhaust02.png"]],"textures/special/landspikebolt.png":["textures/special/landSpikeBolt.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/landspikeboltcross.png":["textures/special/landSpikeBoltCross.PNG",["textures.vl2"],["yHDTextures2.0.vl2","textures/special/landSpikeBoltCross.png"]],"textures/special/laserrip01.png":["textures/special/laserrip01.PNG",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/laserrip02.png":["textures/special/laserrip02.PNG",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/laserrip03.png":["textures/special/laserrip03.PNG",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/laserrip04.png":["textures/special/laserrip04.PNG",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/laserrip05.png":["textures/special/laserrip05.PNG",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/laserrip06.png":["textures/special/laserrip06.PNG",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/laserrip07.png":["textures/special/laserrip07.PNG",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/laserrip08.png":["textures/special/laserrip08.PNG",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/laserrip09.png":["textures/special/laserrip09.PNG",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/lavadeath_1.png":["textures/special/lavadeath_1.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/lavadeath_2.png":["textures/special/lavadeath_2.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/lavareflect.png":["textures/special/lavareflect.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/lensflare/flare00.png":["textures/special/LensFlare/Flare00.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/lightfalloffmono.png":["textures/special/lightFalloffMono.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/lightning1blur.png":["textures/special/lightning1blur.PNG",["textures.vl2"],["yHDTextures2.0.vl2","textures/special/lightning1blur.png"]],"textures/special/lightning1frame1.png":["textures/special/lightning1frame1.PNG",["textures.vl2"],["yHDTextures2.0.vl2","textures/special/lightning1frame1.png"]],"textures/special/lightning1frame2.png":["textures/special/lightning1frame2.PNG",["textures.vl2"],["yHDTextures2.0.vl2","textures/special/lightning1frame2.png"]],"textures/special/lightning1frame3.png":["textures/special/lightning1frame3.PNG",["textures.vl2"],["yHDTextures2.0.vl2","textures/special/lightning1frame3.png"]],"textures/special/lightning2blur.png":["textures/special/lightning2blur.PNG",["textures.vl2"],["yHDTextures2.0.vl2","textures/special/lightning2blur.png"]],"textures/special/lightning2frame1.png":["textures/special/lightning2frame1.PNG",["textures.vl2"],["yHDTextures2.0.vl2","textures/special/lightning2frame1.png"]],"textures/special/lightning2frame2.png":["textures/special/lightning2frame2.PNG",["textures.vl2"],["yHDTextures2.0.vl2","textures/special/lightning2frame2.png"]],"textures/special/lightning2frame3.png":["textures/special/lightning2frame3.PNG",["textures.vl2"],["yHDTextures2.0.vl2","textures/special/lightning2frame3.png"]],"textures/special/lightningblur.png":["textures/special/LightningBlur.PNG",["textures.vl2"],["yHDTextures2.0.vl2","textures/special/LightningBlur.png"]],"textures/special/nonlingradient.png":["textures/special/nonlingradient.PNG",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/pulse.png":["textures/special/pulse.PNG",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/redbump2.png":["textures/special/redbump2.PNG",["textures.vl2"],["yHDTextures2.0.vl2","textures/special/redbump2.png"]],"textures/special/redflare.png":["textures/special/redflare.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/shieldenvmap.png":["textures/special/shieldenvmap.PNG",["textures.vl2"],["yHDTextures2.0.vl2","textures/special/shieldenvmap.png"]],"textures/special/shieldmap.png":["textures/special/shieldmap.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/shocklance_effect01.png":["textures/special/Shocklance_effect01.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/shocklance_effect02.png":["textures/special/Shocklance_effect02.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/shocklancehit.png":["textures/special/shocklanceHit.PNG",["textures.vl2"],["yHDTextures2.0.vl2","textures/special/shocklanceHit.png"]],"textures/special/shocklancezap.png":["textures/special/shockLanceZap.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/shocklightning01.png":["textures/special/shockLightning01.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/shocklightning02.png":["textures/special/shockLightning02.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/shocklightning03.png":["textures/special/shockLightning03.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/shockwave4.png":["textures/special/shockwave4.PNG",["textures.vl2"],["yHDTextures2.0.vl2","textures/special/shockwave4.png"]],"textures/special/shockwave5.png":["textures/special/shockwave5.PNG",["textures.vl2"],["yHDTextures2.0.vl2","textures/special/shockwave5.png"]],"textures/special/shrikebolt.png":["textures/special/shrikeBolt.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/shrikeboltcross.png":["textures/special/shrikeBoltCross.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/skylightning.png":["textures/special/skyLightning.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/smoke/bigsmoke.png":["textures/special/Smoke/bigSmoke.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/smoke/smoke_001.png":["textures/special/Smoke/smoke_001.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/smoke/smoke_002.png":["textures/special/Smoke/smoke_002.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/smoke/smoke_003.png":["textures/special/Smoke/smoke_003.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/smoke/smoke_004.png":["textures/special/Smoke/smoke_004.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/smoke/smoke_005.png":["textures/special/Smoke/smoke_005.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/smoke/smoke_006.png":["textures/special/Smoke/smoke_006.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/smoke/smoke_007.png":["textures/special/Smoke/smoke_007.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/smoke/smoke_008.png":["textures/special/Smoke/smoke_008.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/smoke/smoke_009.png":["textures/special/Smoke/smoke_009.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/smoke/smoke_010.png":["textures/special/Smoke/smoke_010.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/smoke/smoke_011.png":["textures/special/Smoke/smoke_011.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/smoke/smoke_012.png":["textures/special/Smoke/smoke_012.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/sniper00.png":["textures/special/sniper00.PNG",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/spark00.png":["textures/special/spark00.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/stationglow.png":["textures/special/stationGlow.PNG",["textures.vl2"],["yHDTextures2.0.vl2","textures/special/stationGlow.png"]],"textures/special/stationlight.png":["textures/special/stationLight.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/stationlight2.png":["textures/special/stationLight2.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/tracer00.png":["textures/special/tracer00.PNG",["textures.vl2"],["yHDTextures2.0.vl2","textures/special/tracer00.png"]],"textures/special/tracercross.png":["textures/special/tracercross.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/trigger.png":["textures/special/trigger.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/underwaterspark.png":["textures/special/underwaterSpark.PNG",["textures.vl2"],["yHDTextures2.0.vl2","textures/special/underwaterSpark.png"]],"textures/special/water2.png":["textures/special/water2.PNG",["textures.vl2"],["yHDTextures2.0.vl2","textures/special/water2.png"]],"textures/special/watertail1.png":["textures/special/watertail1.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/watertail2.png":["textures/special/watertail2.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/watertail3.png":["textures/special/watertail3.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/watertail4.png":["textures/special/watertail4.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/whitealpha0.png":["textures/special/whiteAlpha0.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/whitealpha255.png":["textures/special/whiteAlpha255.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/special/whitenoalpha.png":["textures/special/whiteNoAlpha.png",["textures.vl2"],["yHDTextures2.0.vl2"]],"textures/staff.png":["textures/staff.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/stagnant_water.dml":["textures/stagnant_water.dml",["textures.vl2"]],"textures/starfallen.dml":["textures/Starfallen.dml",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/starrynite.dml":["textures/starrynite.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/stonedblue/stonedblue_v5_bk.bmp":["textures/StonedBlue/StonedBlue_v5_BK.bmp",["TR2final105-client.vl2"]],"textures/stonedblue/stonedblue_v5_fr.bmp":["textures/StonedBlue/StonedBlue_v5_FR.bmp",["TR2final105-client.vl2"]],"textures/stonedblue/stonedblue_v5_lf.bmp":["textures/StonedBlue/StonedBlue_v5_LF.bmp",["TR2final105-client.vl2"]],"textures/stonedblue/stonedblue_v5_rt.bmp":["textures/StonedBlue/StonedBlue_v5_RT.bmp",["TR2final105-client.vl2"]],"textures/stonedblue/stonedblue_v5_up.bmp":["textures/StonedBlue/StonedBlue_v5_UP.bmp",["TR2final105-client.vl2"]],"textures/striplite2.png":["textures/striplite2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/sundown25.dml":["textures/Sundown25.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/sunnight.dml":["textures/sunnight.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/sunset12.dml":["textures/SunSet12.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/supply.png":["textures/supply.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/swolf.flag.png":["textures/swolf.flag.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/t1chainflash1.png":["textures/t1chainflash1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/t1chaingun.png":["textures/t1chaingun.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/t1disc.png":["textures/t1disc.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/t1energygun.png":["textures/t1energygun.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/t1grenade.png":["textures/t1grenade.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/t1mortargun.png":["textures/t1mortargun.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/t1radar.png":["textures/t1radar.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/t1repairgun.png":["textures/t1repairgun.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/t1sniper.png":["textures/t1sniper.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/t2eqsheet.png":["textures/t2EQsheet.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/t2introc15.avi":["textures/T2IntroC15.avi",["textures.vl2"]],"textures/taco/taco.png":["textures/taco/taco.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/taco_d.png":["textures/Taco_D.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/tbga.png":["textures/tbgA.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/tech_plate.png":["textures/tech_plate.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/tekpanel.png":["textures/tekpanel.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/template.dml":["textures/template.dml",["textures.vl2"]],"textures/terrain.badlands.dirtbumpy.dml":["textures/terrain.BadLands.DirtBumpy.dml",["textures.vl2"]],"textures/terrain.badlands.dirtchipped.dml":["textures/terrain.BadLands.DirtChipped.dml",["textures.vl2"]],"textures/terrain.badlands.dirtyellow.dml":["textures/terrain.BadLands.DirtYellow.dml",["textures.vl2"]],"textures/terrain.badlands.dirtyellowcracked.dml":["textures/terrain.BadLands.DirtYellowCracked.dml",["textures.vl2"]],"textures/terrain.badlands.rockbrown.dml":["textures/terrain.BadLands.RockBrown.dml",["textures.vl2"]],"textures/terrain.badlands.rockchipped.dml":["textures/terrain.BadLands.RockChipped.dml",["textures.vl2"]],"textures/terrain.badlands.rockcracked.dml":["textures/terrain.BadLands.RockCracked.dml",["textures.vl2"]],"textures/terrain.desertworld.rockfractured.dml":["textures/terrain.DesertWorld.RockFractured.dml",["textures.vl2"]],"textures/terrain.desertworld.rocksmooth.dml":["textures/terrain.DesertWorld.RockSmooth.dml",["textures.vl2"]],"textures/terrain.desertworld.sand.dml":["textures/terrain.DesertWorld.Sand.dml",["textures.vl2"]],"textures/terrain.desertworld.sandburnt.dml":["textures/terrain.DesertWorld.SandBurnt.dml",["textures.vl2"]],"textures/terrain.desertworld.sanddark.dml":["textures/terrain.DesertWorld.SandDark.dml",["textures.vl2"]],"textures/terrain.desertworld.sandorange.dml":["textures/terrain.DesertWorld.SandOrange.dml",["textures.vl2"]],"textures/terrain.desertworld.sandoxidized.dml":["textures/terrain.DesertWorld.SandOxidized.dml",["textures.vl2"]],"textures/terrain.flatshade.blue.dml":["textures/terrain.FlatShade.Blue.dml",["textures.vl2"]],"textures/terrain.flatshade.green.dml":["textures/terrain.FlatShade.Green.dml",["textures.vl2"]],"textures/terrain.flatshade.purple.dml":["textures/terrain.FlatShade.Purple.dml",["textures.vl2"]],"textures/terrain.flatshade.red.dml":["textures/terrain.FlatShade.Red.dml",["textures.vl2"]],"textures/terrain.flatshade.white.dml":["textures/terrain.FlatShade.White.dml",["textures.vl2"]],"textures/terrain.frequencytest.dml":["textures/terrain.FrequencyTest.dml",["textures.vl2"]],"textures/terrain.iceworld.ice.dml":["textures/terrain.IceWorld.Ice.dml",["textures.vl2"]],"textures/terrain.iceworld.rockblue.dml":["textures/terrain.IceWorld.RockBlue.dml",["textures.vl2"]],"textures/terrain.iceworld.snow.dml":["textures/terrain.IceWorld.Snow.dml",["textures.vl2"]],"textures/terrain.iceworld.snowice.dml":["textures/terrain.IceWorld.SnowIce.dml",["textures.vl2"]],"textures/terrain.iceworld.snowrock.dml":["textures/terrain.IceWorld.SnowRock.dml",["textures.vl2"]],"textures/terrain.lavaworld.crust.dml":["textures/terrain.LavaWorld.Crust.dml",["textures.vl2"]],"textures/terrain.lavaworld.lavarockhot.dml":["textures/terrain.LavaWorld.LavaRockHot.dml",["textures.vl2"]],"textures/terrain.lavaworld.muddyash.dml":["textures/terrain.LavaWorld.MuddyAsh.dml",["textures.vl2"]],"textures/terrain.lushworld.dirtmossy.dml":["textures/terrain.LushWorld.DirtMossy.dml",["textures.vl2"]],"textures/terrain.lushworld.grassdark.dml":["textures/terrain.LushWorld.GrassDark.dml",["textures.vl2"]],"textures/terrain.lushworld.grasslight.dml":["textures/terrain.LushWorld.GrassLight.dml",["textures.vl2"]],"textures/terrain.lushworld.grassmixed.dml":["textures/terrain.LushWorld.GrassMixed.dml",["textures.vl2"]],"textures/terrain.lushworld.lakebed.dml":["textures/terrain.LushWorld.Lakebed.dml",["textures.vl2"]],"textures/terrain.lushworld.rocklight.dml":["textures/terrain.LushWorld.RockLight.dml",["textures.vl2"]],"textures/terrain.lushworld.rockmossy.dml":["textures/terrain.LushWorld.RockMossy.dml",["textures.vl2"]],"textures/terrain.mask.dml":["textures/terrain.mask.dml",["textures.vl2"]],"textures/terrain.outline.dml":["textures/terrain.Outline.dml",["textures.vl2"]],"textures/terrain/abbbb.png":["textures/terrain/abbbb.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/acccc.png":["textures/terrain/acccc.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/adesert_cracks_d.png":["textures/terrain/adesert_cracks_d.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/adesert_sand2_d.png":["textures/terrain/adesert_sand2_d.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/aeee.png":["textures/terrain/aeee.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/badlands.dirtbumpy.png":["textures/terrain/Badlands.DirtBumpy.png",["textures.vl2"]],"textures/terrain/badlands.dirtchipped.png":["textures/terrain/Badlands.DirtChipped.png",["textures.vl2"]],"textures/terrain/badlands.dirtyellow.png":["textures/terrain/Badlands.DirtYellow.png",["textures.vl2"]],"textures/terrain/badlands.dirtyellowcracked.png":["textures/terrain/Badlands.DirtYellowCracked.png",["textures.vl2"]],"textures/terrain/badlands.rockbrown.png":["textures/terrain/Badlands.RockBrown.png",["textures.vl2"]],"textures/terrain/badlands.rockchipped.png":["textures/terrain/Badlands.RockChipped.png",["textures.vl2"]],"textures/terrain/badlands.rockcracked.png":["textures/terrain/Badlands.RockCracked.png",["textures.vl2"]],"textures/terrain/badlands.rockcrackedcopper.png":["textures/terrain/Badlands.Rockcrackedcopper.png",["textures.vl2"]],"textures/terrain/bleed.grasslight.png":["textures/terrain/Bleed.GrassLight.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/bleed.grassmixed.png":["textures/terrain/Bleed.GrassMixed.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/bleed.rockmossy.png":["textures/terrain/Bleed.RockMossy.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/bleed.rocksmooth.png":["textures/terrain/Bleed.RockSmooth.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/brown_dirt02.png":["textures/terrain/brown_Dirt02.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/terrain/brown_dirt05.png":["textures/terrain/brown_Dirt05.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/brown_dirtrock01.png":["textures/terrain/brown_DirtRock01.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/cb1.png":["textures/terrain/CB1.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/cb2.png":["textures/terrain/CB2.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/cbgravel.png":["textures/terrain/CBgravel.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/cbtrails.png":["textures/terrain/CBtrails.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/cc_alien_crackedsand.png":["textures/terrain/cc_alien_crackedsand.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/cc_alien_sand.png":["textures/terrain/cc_alien_sand.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/cc_sand1.png":["textures/terrain/cc_sand1.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/cc_sand2.png":["textures/terrain/cc_sand2.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/cc_sand3.png":["textures/terrain/cc_sand3.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/cc_sand4.png":["textures/terrain/cc_sand4.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/default.png":["textures/terrain/Default.png",["textures.vl2"]],"textures/terrain/desert_cracks_s.png":["textures/terrain/desert_cracks_s.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/desert_sand_d.png":["textures/terrain/desert_sand_d.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/desertworld.rockfractured.png":["textures/terrain/DesertWorld.RockFractured.png",["textures.vl2"]],"textures/terrain/desertworld.rocksmooth.png":["textures/terrain/DesertWorld.RockSmooth.png",["textures.vl2"]],"textures/terrain/desertworld.sand.png":["textures/terrain/DesertWorld.Sand.png",["textures.vl2"]],"textures/terrain/desertworld.sandburnt.png":["textures/terrain/DesertWorld.SandBurnt.png",["textures.vl2"]],"textures/terrain/desertworld.sanddark.png":["textures/terrain/DesertWorld.SandDark.png",["textures.vl2"]],"textures/terrain/desertworld.sandorange.png":["textures/terrain/DesertWorld.SandOrange.png",["textures.vl2"]],"textures/terrain/desertworld.sandoxidized.png":["textures/terrain/DesertWorld.SandOxidized.png",["textures.vl2"]],"textures/terrain/desertworld.tr2sand.png":["textures/terrain/DesertWorld.TR2Sand.png",["TR2final105-client.vl2"]],"textures/terrain/eep.moondirt.png":["textures/terrain/Eep.MoonDirt.PNG",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/eep.moondirtdark.png":["textures/terrain/Eep.MoonDirtDark.PNG",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/euro4_beachblitzse_lushworld.beachsand.png":["textures/terrain/Euro4_BeachBlitzSE_lushworld.beachsand.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/euro4_crownse_lushworld.beachsand.png":["textures/terrain/Euro4_CrownSE_lushworld.beachsand.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/euro4_epicratesdeluxese_tropical1.png":["textures/terrain/Euro4_EpicratesDeluxeSE_tropical1.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/euro4_epicratesdeluxese_ugly2.png":["textures/terrain/Euro4_EpicratesDeluxeSE_ugly2.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/euro4_nevese_nyctoglacier.png":["textures/terrain/Euro4_NeveSE_NyctoGlacier.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/euro4_nevese_nyctorock.png":["textures/terrain/Euro4_NeveSE_NyctoRock.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/euro4_nevese_nyctorock2.png":["textures/terrain/Euro4_NeveSE_NyctoRock2.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/euro4_nevese_nyctosnow.png":["textures/terrain/Euro4_NeveSE_NyctoSnow.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/euro4_puliveivarise_nyctoglacier.png":["textures/terrain/Euro4_PuliVeivariSE_NyctoGlacier.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/gmd.darkrock.png":["textures/terrain/GMD.DarkRock.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"],["TR2final105-client.vl2"]],"textures/terrain/gmd.dirtmossy.png":["textures/terrain/GMD.DirtMossy.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"],["z_mappacks/xPack2.vl2"]],"textures/terrain/gmd.grasslight.png":["textures/terrain/GMD.GrassLight.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/terrain/gmd.grassmixed.png":["textures/terrain/GMD.GrassMixed.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"],["TR2final105-client.vl2"],["z_mappacks/xPack2.vl2"]],"textures/terrain/gmd.lightsand.png":["textures/terrain/GMD.LightSand.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"],["TR2final105-client.vl2"]],"textures/terrain/gmd.sandburnt.png":["textures/terrain/GMD.SandBurnt.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/terrain/grass_autumn_red_d.png":["textures/terrain/grass_autumn_red_d.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/grass_ground_d.png":["textures/terrain/grass_ground_d.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/green_grassrock005.png":["textures/terrain/green_GrassRock005.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/terrain/green_snowygrass001.png":["textures/terrain/green_SnowyGrass001.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/greenrock21.png":["textures/terrain/greenrock21.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/groundblueeng.png":["textures/terrain/groundBlueEng.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/terrain/iceworld.ice.png":["textures/terrain/IceWorld.Ice.png",["textures.vl2"]],"textures/terrain/iceworld.rockblue.png":["textures/terrain/IceWorld.RockBlue.png",["textures.vl2"]],"textures/terrain/iceworld.snow.png":["textures/terrain/IceWorld.Snow.png",["textures.vl2"]],"textures/terrain/iceworld.snowice.png":["textures/terrain/IceWorld.SnowIce.png",["textures.vl2"]],"textures/terrain/iceworld.snowrock.png":["textures/terrain/IceWorld.SnowRock.png",["textures.vl2"]],"textures/terrain/infbutch_rock02.png":["textures/terrain/infbutch_Rock02.png",["z_mappacks/z_DMP2-V0.6.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/island_sand2_d.png":["textures/terrain/island_sand2_d.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/island_sand_d.png":["textures/terrain/island_sand_d.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/kab_felsen1.png":["textures/terrain/kab_felsen1.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/kab_felsen2.png":["textures/terrain/kab_felsen2.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/kab_grass.png":["textures/terrain/kab_grass.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/kab_schnee.png":["textures/terrain/kab_schnee.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/kab_schnee4.png":["textures/terrain/kab_schnee4.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/kab_schneefelsen.png":["textures/terrain/kab_schneefelsen.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/kab_schneefelsen2.png":["textures/terrain/kab_schneefelsen2.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/kab_schneefelsen3.png":["textures/terrain/kab_schneefelsen3.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/lava_d.png":["textures/terrain/lava_d.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/lava_mars_d.png":["textures/terrain/lava_mars_d.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/lavaworld.crust.png":["textures/terrain/LavaWorld.Crust.png",["textures.vl2"]],"textures/terrain/lavaworld.lavarockhot.png":["textures/terrain/LavaWorld.LavaRockHot.png",["textures.vl2"]],"textures/terrain/lavaworld.muddyash.png":["textures/terrain/LavaWorld.MuddyAsh.png",["textures.vl2"]],"textures/terrain/lavaworld.rockblack.png":["textures/terrain/LavaWorld.RockBlack.PNG",["textures.vl2"]],"textures/terrain/legendslightsand.png":["textures/terrain/LegendsLightSand.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/terrain/lushworld.beachsand.png":["textures/terrain/lushworld.beachsand.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/lushworld.dirtmossy.png":["textures/terrain/LushWorld.DirtMossy.png",["textures.vl2"]],"textures/terrain/lushworld.grassdark.png":["textures/terrain/LushWorld.GrassDark.png",["textures.vl2"]],"textures/terrain/lushworld.grasslight.png":["textures/terrain/LushWorld.GrassLight.png",["textures.vl2"]],"textures/terrain/lushworld.grassmixed.png":["textures/terrain/LushWorld.GrassMixed.png",["textures.vl2"]],"textures/terrain/lushworld.lakebed.png":["textures/terrain/LushWorld.Lakebed.png",["textures.vl2"]],"textures/terrain/lushworld.lakesand.png":["textures/terrain/lushworld.lakesand.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/terrain/lushworld.rocklight.png":["textures/terrain/LushWorld.RockLight.png",["textures.vl2"]],"textures/terrain/lushworld.rockmossy.png":["textures/terrain/LushWorld.RockMossy.png",["textures.vl2"]],"textures/terrain/lushworld.tr2dirtmossy.png":["textures/terrain/LushWorld.TR2DirtMossy.png",["TR2final105-client.vl2"]],"textures/terrain/lushworld.tr2grassdark.png":["textures/terrain/LushWorld.TR2GrassDark.png",["TR2final105-client.vl2"]],"textures/terrain/lushworld.tr2grasslight.png":["textures/terrain/LushWorld.TR2GrassLight.png",["TR2final105-client.vl2"]],"textures/terrain/lushworld.tr2grassmixed.png":["textures/terrain/LushWorld.TR2GrassMixed.png",["TR2final105-client.vl2"]],"textures/terrain/lushworld.tr2rocklight.png":["textures/terrain/LushWorld.TR2RockLight.png",["TR2final105-client.vl2"]],"textures/terrain/lushworld.tr2rockmossy.png":["textures/terrain/LushWorld.TR2RockMossy.png",["TR2final105-client.vl2"]],"textures/terrain/mmd-1.png":["textures/terrain/mmd-1.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/mmd-2.png":["textures/terrain/mmd-2.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/mmd-3.png":["textures/terrain/mmd-3.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/mmd-5.png":["textures/terrain/mmd-5.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/moss_ground_d.png":["textures/terrain/moss_ground_d.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/mxrock0.png":["textures/terrain/mxrock0.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/terrain/mxrock2tu.png":["textures/terrain/mxrock2tu.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/terrain/mxrock2tv.png":["textures/terrain/mxrock2tv.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/terrain/nyctoglacier.png":["textures/terrain/NyctoGlacier.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/nyctorock.png":["textures/terrain/NyctoRock.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/nyctorock2.png":["textures/terrain/NyctoRock2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/nyctosnow.png":["textures/terrain/NyctoSnow.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/ril.darkrock.png":["textures/terrain/ril.darkrock.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/ril.darkrock1.png":["textures/terrain/ril.darkrock1.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/terrain/rilk.shingledrock.png":["textures/terrain/rilk.shingledrock.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/rilke.sand.png":["textures/terrain/rilke.sand.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/rmmd-1.png":["textures/terrain/rmmd-1.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/terrain/rmmd-2.png":["textures/terrain/rmmd-2.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/terrain/rmmd-3.png":["textures/terrain/rmmd-3.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/terrain/rmmd-5.png":["textures/terrain/rmmd-5.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/terrain/rmmddirty.png":["textures/terrain/rmmdDirty.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/terrain/rmmdgrey.png":["textures/terrain/rmmdGrey.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/terrain/rmmdpath.png":["textures/terrain/rmmdPath.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/terrain/rocklight.png":["textures/terrain/RockLight.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/terrain/rockwall.png":["textures/terrain/rockwall.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/sbfullsnow.png":["textures/terrain/sbfullsnow.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/terrain/sbrock.png":["textures/terrain/sbrock.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/terrain/sbsnowcrack.png":["textures/terrain/sbsnowcrack.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/terrain/sbsnowrockhvy.png":["textures/terrain/sbsnowrockhvy.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/terrain/sbsnowrocklt.png":["textures/terrain/sbsnowrocklt.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/terrain/seawaterfull2.png":["textures/terrain/seawaterfull2.PNG",["TR2final105-client.vl2"]],"textures/terrain/snow2_s.png":["textures/terrain/snow2_s.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/snow_a0.png":["textures/terrain/snow_a0.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/snow_a2.png":["textures/terrain/snow_a2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/snow_brownrock00.png":["textures/terrain/snow_brownRock00.png",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/z_DMP2-V0.6.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/snow_grass001.png":["textures/terrain/snow_grass001.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]],"textures/terrain/snow_rock_5.png":["textures/terrain/snow_rock_5.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/tes_mystery1.png":["textures/terrain/tes_mystery1.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/tes_mystery2.png":["textures/terrain/tes_mystery2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/tes_test.png":["textures/terrain/tes_test.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/trigreystone10.png":["textures/terrain/TRIgreystone10.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/trigreystone7.png":["textures/terrain/TRIgreystone7.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/trilava_rock.png":["textures/terrain/TRIlava_rock.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/tristone_chip.png":["textures/terrain/TRIstone_chip.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/trisub_sand.png":["textures/terrain/TRIsub_sand.png",["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/tropical1.png":["textures/terrain/tropical1.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/ugly2.png":["textures/terrain/ugly2.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/terrain/wateregypt1.png":["textures/terrain/wateregypt1.PNG",["TR2final105-client.vl2"]],"textures/terrain/watr-icyblue2.png":["textures/terrain/watr-icyblue2.PNG",["TR2final105-client.vl2"]],"textures/terraintiles/blue.png":["textures/terrainTiles/blue.png",["textures.vl2"]],"textures/terraintiles/crust1.png":["textures/terrainTiles/crust1.png",["textures.vl2"]],"textures/terraintiles/crust2.png":["textures/terrainTiles/crust2.png",["textures.vl2"]],"textures/terraintiles/crust3.png":["textures/terrainTiles/crust3.png",["textures.vl2"]],"textures/terraintiles/crust4.png":["textures/terrainTiles/crust4.png",["textures.vl2"]],"textures/terraintiles/crust5.png":["textures/terrainTiles/crust5.png",["textures.vl2"]],"textures/terraintiles/crust6.png":["textures/terrainTiles/crust6.png",["textures.vl2"]],"textures/terraintiles/drtbumpy.png":["textures/terrainTiles/drtBumpy.PNG",["textures.vl2"]],"textures/terraintiles/drtbumpy01.png":["textures/terrainTiles/drtBumpy01.PNG",["textures.vl2"]],"textures/terraintiles/drtbumpy02.png":["textures/terrainTiles/drtBumpy02.PNG",["textures.vl2"]],"textures/terraintiles/drtbumpy03.png":["textures/terrainTiles/drtBumpy03.PNG",["textures.vl2"]],"textures/terraintiles/drtbumpy04.png":["textures/terrainTiles/drtBumpy04.PNG",["textures.vl2"]],"textures/terraintiles/drtbumpy05.png":["textures/terrainTiles/drtBumpy05.PNG",["textures.vl2"]],"textures/terraintiles/drtchipped.png":["textures/terrainTiles/drtChipped.PNG",["textures.vl2"]],"textures/terraintiles/drtchipped01.png":["textures/terrainTiles/drtChipped01.PNG",["textures.vl2"]],"textures/terraintiles/drtchipped02.png":["textures/terrainTiles/drtChipped02.PNG",["textures.vl2"]],"textures/terraintiles/drtchipped03.png":["textures/terrainTiles/drtChipped03.PNG",["textures.vl2"]],"textures/terraintiles/drtchipped04.png":["textures/terrainTiles/drtChipped04.PNG",["textures.vl2"]],"textures/terraintiles/drtchipped05.png":["textures/terrainTiles/drtChipped05.PNG",["textures.vl2"]],"textures/terraintiles/drtyelo.png":["textures/terrainTiles/drtYelo.PNG",["textures.vl2"]],"textures/terraintiles/drtyelo01.png":["textures/terrainTiles/drtYelo01.PNG",["textures.vl2"]],"textures/terraintiles/drtyelo02.png":["textures/terrainTiles/drtYelo02.PNG",["textures.vl2"]],"textures/terraintiles/drtyelo03.png":["textures/terrainTiles/drtYelo03.PNG",["textures.vl2"]],"textures/terraintiles/drtyelo04.png":["textures/terrainTiles/drtYelo04.PNG",["textures.vl2"]],"textures/terraintiles/drtyelocrk0.png":["textures/terrainTiles/drtYeloCrk0.PNG",["textures.vl2"]],"textures/terraintiles/drtyelocrk01.png":["textures/terrainTiles/drtYeloCrk01.PNG",["textures.vl2"]],"textures/terraintiles/drtyelocrk02.png":["textures/terrainTiles/drtYeloCrk02.PNG",["textures.vl2"]],"textures/terraintiles/drtyelocrk03.png":["textures/terrainTiles/drtYeloCrk03.PNG",["textures.vl2"]],"textures/terraintiles/drtyelocrk04.png":["textures/terrainTiles/drtYeloCrk04.PNG",["textures.vl2"]],"textures/terraintiles/frequency1.png":["textures/terrainTiles/Frequency1.png",["textures.vl2"]],"textures/terraintiles/frequency2.png":["textures/terrainTiles/Frequency2.png",["textures.vl2"]],"textures/terraintiles/frequency3.png":["textures/terrainTiles/Frequency3.png",["textures.vl2"]],"textures/terraintiles/frequency4.png":["textures/terrainTiles/Frequency4.png",["textures.vl2"]],"textures/terraintiles/frequency5.png":["textures/terrainTiles/Frequency5.png",["textures.vl2"]],"textures/terraintiles/frequency6.png":["textures/terrainTiles/Frequency6.png",["textures.vl2"]],"textures/terraintiles/grassdk1.png":["textures/terrainTiles/grassDk1.PNG",["textures.vl2"]],"textures/terraintiles/grassdk2.png":["textures/terrainTiles/grassDk2.PNG",["textures.vl2"]],"textures/terraintiles/grassdk3.png":["textures/terrainTiles/grassDk3.PNG",["textures.vl2"]],"textures/terraintiles/grassdk4.png":["textures/terrainTiles/grassDk4.PNG",["textures.vl2"]],"textures/terraintiles/grassdk5.png":["textures/terrainTiles/grassDk5.PNG",["textures.vl2"]],"textures/terraintiles/grassdk6.png":["textures/terrainTiles/grassDk6.PNG",["textures.vl2"]],"textures/terraintiles/grasslt1.png":["textures/terrainTiles/grassLt1.PNG",["textures.vl2"]],"textures/terraintiles/grasslt2.png":["textures/terrainTiles/grassLt2.PNG",["textures.vl2"]],"textures/terraintiles/grasslt3.png":["textures/terrainTiles/grassLt3.PNG",["textures.vl2"]],"textures/terraintiles/grasslt4.png":["textures/terrainTiles/grassLt4.PNG",["textures.vl2"]],"textures/terraintiles/grasslt5.png":["textures/terrainTiles/grassLt5.PNG",["textures.vl2"]],"textures/terraintiles/grassmix1.png":["textures/terrainTiles/grassMix1.PNG",["textures.vl2"]],"textures/terraintiles/grassmix2.png":["textures/terrainTiles/grassMix2.PNG",["textures.vl2"]],"textures/terraintiles/grassmix3.png":["textures/terrainTiles/grassMix3.PNG",["textures.vl2"]],"textures/terraintiles/grassmix4.png":["textures/terrainTiles/grassMix4.PNG",["textures.vl2"]],"textures/terraintiles/grassmix5.png":["textures/terrainTiles/grassMix5.PNG",["textures.vl2"]],"textures/terraintiles/grassmix6.png":["textures/terrainTiles/grassMix6.PNG",["textures.vl2"]],"textures/terraintiles/grassmix7.png":["textures/terrainTiles/grassMix7.PNG",["textures.vl2"]],"textures/terraintiles/green.png":["textures/terrainTiles/green.png",["textures.vl2"]],"textures/terraintiles/ice01.png":["textures/terrainTiles/ice01.png",["textures.vl2"]],"textures/terraintiles/ice02.png":["textures/terrainTiles/ice02.png",["textures.vl2"]],"textures/terraintiles/ice03.png":["textures/terrainTiles/ice03.png",["textures.vl2"]],"textures/terraintiles/ice04.png":["textures/terrainTiles/ice04.png",["textures.vl2"]],"textures/terraintiles/ice05.png":["textures/terrainTiles/ice05.png",["textures.vl2"]],"textures/terraintiles/ice06.png":["textures/terrainTiles/ice06.png",["textures.vl2"]],"textures/terraintiles/ice07.png":["textures/terrainTiles/ice07.png",["textures.vl2"]],"textures/terraintiles/ice08.png":["textures/terrainTiles/ice08.png",["textures.vl2"]],"textures/terraintiles/ice09.png":["textures/terrainTiles/ice09.png",["textures.vl2"]],"textures/terraintiles/ice10.png":["textures/terrainTiles/ice10.png",["textures.vl2"]],"textures/terraintiles/icesnow1.png":["textures/terrainTiles/icesnow1.png",["textures.vl2"]],"textures/terraintiles/icesnow2.png":["textures/terrainTiles/icesnow2.png",["textures.vl2"]],"textures/terraintiles/icesnow3.png":["textures/terrainTiles/icesnow3.png",["textures.vl2"]],"textures/terraintiles/icesnow4.png":["textures/terrainTiles/icesnow4.png",["textures.vl2"]],"textures/terraintiles/icesnow5.png":["textures/terrainTiles/icesnow5.png",["textures.vl2"]],"textures/terraintiles/icesnow6.png":["textures/terrainTiles/icesnow6.png",["textures.vl2"]],"textures/terraintiles/lavarockhot1.png":["textures/terrainTiles/lavarockhot1.png",["textures.vl2"]],"textures/terraintiles/lavarockhot2.png":["textures/terrainTiles/lavarockhot2.png",["textures.vl2"]],"textures/terraintiles/lavarockhot3.png":["textures/terrainTiles/lavarockhot3.png",["textures.vl2"]],"textures/terraintiles/lavarockhot4.png":["textures/terrainTiles/lavarockhot4.png",["textures.vl2"]],"textures/terraintiles/lavarockhot5.png":["textures/terrainTiles/lavarockhot5.png",["textures.vl2"]],"textures/terraintiles/mask.0001.png":["textures/terrainTiles/mask.0001.png",["textures.vl2"]],"textures/terraintiles/mask.0010.png":["textures/terrainTiles/mask.0010.png",["textures.vl2"]],"textures/terraintiles/mask.0011.png":["textures/terrainTiles/mask.0011.png",["textures.vl2"]],"textures/terraintiles/mask.0100.png":["textures/terrainTiles/mask.0100.png",["textures.vl2"]],"textures/terraintiles/mask.0101.png":["textures/terrainTiles/mask.0101.png",["textures.vl2"]],"textures/terraintiles/mask.0110.png":["textures/terrainTiles/mask.0110.png",["textures.vl2"]],"textures/terraintiles/mask.0111.png":["textures/terrainTiles/mask.0111.png",["textures.vl2"]],"textures/terraintiles/molten1.png":["textures/terrainTiles/molten1.PNG",["textures.vl2"]],"textures/terraintiles/mossdirt1.png":["textures/terrainTiles/mossDirt1.PNG",["textures.vl2"]],"textures/terraintiles/mossdirt2.png":["textures/terrainTiles/mossDirt2.PNG",["textures.vl2"]],"textures/terraintiles/mossdirt3.png":["textures/terrainTiles/mossDirt3.PNG",["textures.vl2"]],"textures/terraintiles/mossdirt4.png":["textures/terrainTiles/mossDirt4.PNG",["textures.vl2"]],"textures/terraintiles/mossdirt5.png":["textures/terrainTiles/mossDirt5.PNG",["textures.vl2"]],"textures/terraintiles/mossrock1.png":["textures/terrainTiles/mossRock1.PNG",["textures.vl2"]],"textures/terraintiles/mossrock2.png":["textures/terrainTiles/mossRock2.PNG",["textures.vl2"]],"textures/terraintiles/mossrock3.png":["textures/terrainTiles/mossRock3.PNG",["textures.vl2"]],"textures/terraintiles/mossrock4.png":["textures/terrainTiles/mossRock4.PNG",["textures.vl2"]],"textures/terraintiles/mossrock5.png":["textures/terrainTiles/mossRock5.PNG",["textures.vl2"]],"textures/terraintiles/muddyash1.png":["textures/terrainTiles/muddyash1.PNG",["textures.vl2"]],"textures/terraintiles/muddyash2.png":["textures/terrainTiles/muddyash2.PNG",["textures.vl2"]],"textures/terraintiles/muddyash3.png":["textures/terrainTiles/muddyash3.PNG",["textures.vl2"]],"textures/terraintiles/muddyash4.png":["textures/terrainTiles/muddyash4.PNG",["textures.vl2"]],"textures/terraintiles/muddyash5.png":["textures/terrainTiles/muddyash5.PNG",["textures.vl2"]],"textures/terraintiles/muddyash6.png":["textures/terrainTiles/muddyash6.PNG",["textures.vl2"]],"textures/terraintiles/outline.png":["textures/terrainTiles/outline.png",["textures.vl2"]],"textures/terraintiles/purple.png":["textures/terrainTiles/purple.png",["textures.vl2"]],"textures/terraintiles/red.png":["textures/terrainTiles/red.png",["textures.vl2"]],"textures/terraintiles/rockblue.png":["textures/terrainTiles/rockblue.png",["textures.vl2"]],"textures/terraintiles/rockblue1.png":["textures/terrainTiles/rockblue1.png",["textures.vl2"]],"textures/terraintiles/rockblue2.png":["textures/terrainTiles/rockblue2.png",["textures.vl2"]],"textures/terraintiles/rockblue3.png":["textures/terrainTiles/rockblue3.png",["textures.vl2"]],"textures/terraintiles/rockblue4.png":["textures/terrainTiles/rockblue4.png",["textures.vl2"]],"textures/terraintiles/rockblue5.png":["textures/terrainTiles/rockblue5.png",["textures.vl2"]],"textures/terraintiles/rockblue6.png":["textures/terrainTiles/rockblue6.png",["textures.vl2"]],"textures/terraintiles/rockbrcrak.png":["textures/terrainTiles/rockBrCrak.PNG",["textures.vl2"]],"textures/terraintiles/rockbrcrak01.png":["textures/terrainTiles/rockBrCrak01.PNG",["textures.vl2"]],"textures/terraintiles/rockbrcrak02.png":["textures/terrainTiles/rockBrCrak02.PNG",["textures.vl2"]],"textures/terraintiles/rockbrcrak03.png":["textures/terrainTiles/rockBrCrak03.PNG",["textures.vl2"]],"textures/terraintiles/rockbrcrak04.png":["textures/terrainTiles/rockBrCrak04.PNG",["textures.vl2"]],"textures/terraintiles/rockbrcrak05.png":["textures/terrainTiles/rockBrCrak05.PNG",["textures.vl2"]],"textures/terraintiles/rockbrown.png":["textures/terrainTiles/rockbrown.PNG",["textures.vl2"]],"textures/terraintiles/rockbrown01.png":["textures/terrainTiles/rockbrown01.PNG",["textures.vl2"]],"textures/terraintiles/rockbrown02.png":["textures/terrainTiles/rockbrown02.PNG",["textures.vl2"]],"textures/terraintiles/rockbrown03.png":["textures/terrainTiles/rockbrown03.PNG",["textures.vl2"]],"textures/terraintiles/rockbrown04.png":["textures/terrainTiles/rockbrown04.PNG",["textures.vl2"]],"textures/terraintiles/rockbrown05.png":["textures/terrainTiles/rockbrown05.PNG",["textures.vl2"]],"textures/terraintiles/rockchipd.png":["textures/terrainTiles/rockchipd.PNG",["textures.vl2"]],"textures/terraintiles/rockchipd01.png":["textures/terrainTiles/rockchipd01.PNG",["textures.vl2"]],"textures/terraintiles/rockchipd02.png":["textures/terrainTiles/rockchipd02.PNG",["textures.vl2"]],"textures/terraintiles/rockchipd03.png":["textures/terrainTiles/rockchipd03.PNG",["textures.vl2"]],"textures/terraintiles/rockchipd04.png":["textures/terrainTiles/rockchipd04.PNG",["textures.vl2"]],"textures/terraintiles/rockchipd05.png":["textures/terrainTiles/rockchipd05.PNG",["textures.vl2"]],"textures/terraintiles/rockcrak1.png":["textures/terrainTiles/rockcrak1.PNG",["textures.vl2"]],"textures/terraintiles/rockcrak2.png":["textures/terrainTiles/rockcrak2.PNG",["textures.vl2"]],"textures/terraintiles/rockcrak3.png":["textures/terrainTiles/rockcrak3.PNG",["textures.vl2"]],"textures/terraintiles/rockcrak4.png":["textures/terrainTiles/rockcrak4.PNG",["textures.vl2"]],"textures/terraintiles/rockcrak5.png":["textures/terrainTiles/rockcrak5.PNG",["textures.vl2"]],"textures/terraintiles/rockcrak6.png":["textures/terrainTiles/rockcrak6.PNG",["textures.vl2"]],"textures/terraintiles/rocklt1.png":["textures/terrainTiles/rockLt1.PNG",["textures.vl2"]],"textures/terraintiles/rocklt2.png":["textures/terrainTiles/rockLt2.PNG",["textures.vl2"]],"textures/terraintiles/rocklt3.png":["textures/terrainTiles/rockLt3.PNG",["textures.vl2"]],"textures/terraintiles/rocklt4.png":["textures/terrainTiles/rockLt4.PNG",["textures.vl2"]],"textures/terraintiles/rocklt5.png":["textures/terrainTiles/rockLt5.PNG",["textures.vl2"]],"textures/terraintiles/rocksmth1.png":["textures/terrainTiles/rocksmth1.PNG",["textures.vl2"]],"textures/terraintiles/rocksmth2.png":["textures/terrainTiles/rocksmth2.PNG",["textures.vl2"]],"textures/terraintiles/rocksmth3.png":["textures/terrainTiles/rocksmth3.PNG",["textures.vl2"]],"textures/terraintiles/rocksmth4.png":["textures/terrainTiles/rocksmth4.PNG",["textures.vl2"]],"textures/terraintiles/rocksmth5.png":["textures/terrainTiles/rocksmth5.PNG",["textures.vl2"]],"textures/terraintiles/rocksmth6.png":["textures/terrainTiles/rocksmth6.PNG",["textures.vl2"]],"textures/terraintiles/rocksmth6x.png":["textures/terrainTiles/rocksmth6x.PNG",["textures.vl2"]],"textures/terraintiles/sandbrnt1.png":["textures/terrainTiles/SandBrnt1.PNG",["textures.vl2"]],"textures/terraintiles/sandbrnt2.png":["textures/terrainTiles/SandBrnt2.PNG",["textures.vl2"]],"textures/terraintiles/sandbrnt3.png":["textures/terrainTiles/SandBrnt3.PNG",["textures.vl2"]],"textures/terraintiles/sandbrnt4.png":["textures/terrainTiles/SandBrnt4.PNG",["textures.vl2"]],"textures/terraintiles/sandbrnt5.png":["textures/terrainTiles/SandBrnt5.PNG",["textures.vl2"]],"textures/terraintiles/sanddk1.png":["textures/terrainTiles/SANDDK1.PNG",["textures.vl2"]],"textures/terraintiles/sanddk2.png":["textures/terrainTiles/SANDDK2.PNG",["textures.vl2"]],"textures/terraintiles/sanddk3.png":["textures/terrainTiles/SANDDK3.PNG",["textures.vl2"]],"textures/terraintiles/sanddk4.png":["textures/terrainTiles/SANDDK4.PNG",["textures.vl2"]],"textures/terraintiles/sanddk5.png":["textures/terrainTiles/SANDDK5.PNG",["textures.vl2"]],"textures/terraintiles/sandorng1.png":["textures/terrainTiles/sandorng1.PNG",["textures.vl2"]],"textures/terraintiles/sandorng2.png":["textures/terrainTiles/sandorng2.PNG",["textures.vl2"]],"textures/terraintiles/sandorng3.png":["textures/terrainTiles/sandorng3.PNG",["textures.vl2"]],"textures/terraintiles/sandorng4.png":["textures/terrainTiles/sandorng4.PNG",["textures.vl2"]],"textures/terraintiles/sandorng5.png":["textures/terrainTiles/sandorng5.PNG",["textures.vl2"]],"textures/terraintiles/sandoxid1.png":["textures/terrainTiles/SandOxid1.PNG",["textures.vl2"]],"textures/terraintiles/sandoxid2.png":["textures/terrainTiles/SandOxid2.PNG",["textures.vl2"]],"textures/terraintiles/sandoxid3.png":["textures/terrainTiles/SandOxid3.PNG",["textures.vl2"]],"textures/terraintiles/sandoxid4.png":["textures/terrainTiles/SandOxid4.PNG",["textures.vl2"]],"textures/terraintiles/sandoxid5.png":["textures/terrainTiles/SandOxid5.PNG",["textures.vl2"]],"textures/terraintiles/sandreg1.png":["textures/terrainTiles/SANDREG1.PNG",["textures.vl2"]],"textures/terraintiles/sandreg2.png":["textures/terrainTiles/SANDREG2.PNG",["textures.vl2"]],"textures/terraintiles/sandreg3.png":["textures/terrainTiles/SANDREG3.PNG",["textures.vl2"]],"textures/terraintiles/sandreg4.png":["textures/terrainTiles/SANDREG4.PNG",["textures.vl2"]],"textures/terraintiles/sandreg5.png":["textures/terrainTiles/SANDREG5.PNG",["textures.vl2"]],"textures/terraintiles/sealt1.png":["textures/terrainTiles/seaLt1.PNG",["textures.vl2"]],"textures/terraintiles/sealt2.png":["textures/terrainTiles/seaLt2.PNG",["textures.vl2"]],"textures/terraintiles/sealt3.png":["textures/terrainTiles/seaLt3.PNG",["textures.vl2"]],"textures/terraintiles/sealt4.png":["textures/terrainTiles/seaLt4.PNG",["textures.vl2"]],"textures/terraintiles/sealt5.png":["textures/terrainTiles/seaLt5.PNG",["textures.vl2"]],"textures/terraintiles/snow1.png":["textures/terrainTiles/snow1.png",["textures.vl2"]],"textures/terraintiles/snow2.png":["textures/terrainTiles/snow2.png",["textures.vl2"]],"textures/terraintiles/snow3.png":["textures/terrainTiles/snow3.png",["textures.vl2"]],"textures/terraintiles/snow4.png":["textures/terrainTiles/snow4.png",["textures.vl2"]],"textures/terraintiles/snow5.png":["textures/terrainTiles/snow5.png",["textures.vl2"]],"textures/terraintiles/snow6.png":["textures/terrainTiles/snow6.png",["textures.vl2"]],"textures/terraintiles/snowrock1.png":["textures/terrainTiles/snowrock1.png",["textures.vl2"]],"textures/terraintiles/snowrock2.png":["textures/terrainTiles/snowrock2.png",["textures.vl2"]],"textures/terraintiles/snowrock3.png":["textures/terrainTiles/snowrock3.png",["textures.vl2"]],"textures/terraintiles/snowrock4.png":["textures/terrainTiles/snowrock4.png",["textures.vl2"]],"textures/terraintiles/snowrock5.png":["textures/terrainTiles/snowrock5.png",["textures.vl2"]],"textures/terraintiles/snowrock6.png":["textures/terrainTiles/snowrock6.png",["textures.vl2"]],"textures/terraintiles/white.png":["textures/terrainTiles/white.png",["textures.vl2"]],"textures/tesla.dml":["textures/tesla.dml",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/tesla/skies/teslaski_v5_bk.png":["textures/tesla/skies/teslaski_v5_bk.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/tesla/skies/teslaski_v5_dn.png":["textures/tesla/skies/teslaski_v5_dn.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/tesla/skies/teslaski_v5_fr.png":["textures/tesla/skies/teslaski_v5_fr.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/tesla/skies/teslaski_v5_lf.png":["textures/tesla/skies/teslaski_v5_lf.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/tesla/skies/teslaski_v5_rt.png":["textures/tesla/skies/teslaski_v5_rt.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/tesla/skies/teslaski_v5_up.png":["textures/tesla/skies/teslaski_v5_up.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"],["z_mappacks/xPack2.vl2"]],"textures/teslaski_v5_bk.png":["textures/teslaski_v5_bk.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/teslaski_v5_dn.png":["textures/teslaski_v5_DN.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/teslaski_v5_fr.png":["textures/teslaski_v5_fr.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/teslaski_v5_lf.png":["textures/teslaski_v5_lf.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/teslaski_v5_rt.png":["textures/teslaski_v5_rt.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/teslaski_v5_up.png":["textures/teslaski_v5_up.png",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"],["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/texticons/bullet_1.png":["textures/texticons/bullet_1.png",["textures.vl2"]],"textures/texticons/bullet_2.png":["textures/texticons/bullet_2.png",["textures.vl2"]],"textures/texticons/cred_logo1.png":["textures/texticons/Cred_Logo1.png",["textures.vl2"]],"textures/texticons/cred_logo5.png":["textures/texticons/Cred_logo5.png",["textures.vl2"]],"textures/texticons/dpub/dpub_logo.png":["textures/texticons/dpub/DPUB_logo.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/texticons/dpub/dpub_logo_beer.png":["textures/texticons/dpub/DPUB_logo_Beer.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/texticons/dpub/dpub_logo_bethinking.png":["textures/texticons/dpub/DPUB_logo_BEthinking.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/texticons/dpub/dpub_logo_dermfused.png":["textures/texticons/dpub/DPUB_logo_Dermfused.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/texticons/dpub/dpub_logo_spook.png":["textures/texticons/dpub/DPUB_logo_Spook.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/texticons/dpub/dpub_logo_turkey.png":["textures/texticons/dpub/DPUB_logo_Turkey.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/texticons/dpub/dpub_logo_xmas.png":["textures/texticons/dpub/DPUB_logo_Xmas.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/texticons/dpub/dpub_logo_xoxo.png":["textures/texticons/dpub/DPUB_logo_Xoxo.png",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/texticons/flag_beagle.jpg":["textures/texticons/Flag_Beagle.jpg",["textures.vl2"]],"textures/texticons/flag_bioderm.jpg":["textures/texticons/Flag_Bioderm.jpg",["textures.vl2"]],"textures/texticons/flag_dsword.jpg":["textures/texticons/Flag_DSword.jpg",["textures.vl2"]],"textures/texticons/flag_phoenix.jpg":["textures/texticons/Flag_Phoenix.jpg",["textures.vl2"]],"textures/texticons/flag_starwolf.jpg":["textures/texticons/Flag_Starwolf.jpg",["textures.vl2"]],"textures/texticons/flag_t2.jpg":["textures/texticons/Flag_T2.jpg",["textures.vl2"]],"textures/texticons/heavy.jpg":["textures/texticons/Heavy.jpg",["textures.vl2"]],"textures/texticons/logo_small_beagle.jpg":["textures/texticons/Logo_small_beagle.jpg",["textures.vl2"]],"textures/texticons/logo_small_bioderm.jpg":["textures/texticons/Logo_small_bioderm.jpg",["textures.vl2"]],"textures/texticons/logo_small_dsword.jpg":["textures/texticons/Logo_small_DSword.jpg",["textures.vl2"]],"textures/texticons/logo_small_inferno.jpg":["textures/texticons/Logo_small_Inferno.jpg",["textures.vl2"]],"textures/texticons/logo_small_phoenix.jpg":["textures/texticons/Logo_small_Phoenix.jpg",["textures.vl2"]],"textures/texticons/logo_small_starwolf.jpg":["textures/texticons/Logo_small_Starwolf.jpg",["textures.vl2"]],"textures/texticons/logo_small_storm.jpg":["textures/texticons/Logo_small_Storm.jpg",["textures.vl2"]],"textures/texticons/mute_speaker.png":["textures/texticons/mute_speaker.png",["textures.vl2"]],"textures/texticons/sidebar1.jpg":["textures/texticons/sidebar1.jpg",["textures.vl2"]],"textures/texticons/sidebar2.jpg":["textures/texticons/sidebar2.jpg",["textures.vl2"]],"textures/texticons/sidebar3.jpg":["textures/texticons/sidebar3.jpg",["textures.vl2"]],"textures/texticons/sys_op_eye.png":["textures/texticons/sys_op_eye.png",["textures.vl2"]],"textures/texticons/twb/twb_action_01.jpg":["textures/texticons/twb/twb_action_01.jpg",["textures.vl2"]],"textures/texticons/twb/twb_action_02.jpg":["textures/texticons/twb/twb_action_02.jpg",["textures.vl2"]],"textures/texticons/twb/twb_action_03.jpg":["textures/texticons/twb/twb_action_03.jpg",["textures.vl2"]],"textures/texticons/twb/twb_action_04.jpg":["textures/texticons/twb/twb_action_04.jpg",["textures.vl2"]],"textures/texticons/twb/twb_action_05.jpg":["textures/texticons/twb/twb_action_05.jpg",["textures.vl2"]],"textures/texticons/twb/twb_action_06.jpg":["textures/texticons/twb/twb_action_06.jpg",["textures.vl2"]],"textures/texticons/twb/twb_action_08.jpg":["textures/texticons/twb/twb_action_08.jpg",["textures.vl2"]],"textures/texticons/twb/twb_action_10.jpg":["textures/texticons/twb/twb_action_10.jpg",["textures.vl2"]],"textures/texticons/twb/twb_be_flight.jpg":["textures/texticons/twb/twb_BE_FLight.jpg",["textures.vl2"]],"textures/texticons/twb/twb_be_fmed.jpg":["textures/texticons/twb/twb_BE_FMed.jpg",["textures.vl2"]],"textures/texticons/twb/twb_be_heavy.jpg":["textures/texticons/twb/twb_BE_Heavy.jpg",["textures.vl2"]],"textures/texticons/twb/twb_be_mlight.jpg":["textures/texticons/twb/twb_BE_MLight.jpg",["textures.vl2"]],"textures/texticons/twb/twb_be_mmed.jpg":["textures/texticons/twb/twb_BE_MMed.JPG",["textures.vl2"]],"textures/texticons/twb/twb_bioderm.jpg":["textures/texticons/twb/twb_Bioderm.jpg",["textures.vl2"]],"textures/texticons/twb/twb_bioderm_light.jpg":["textures/texticons/twb/twb_Bioderm_Light.jpg",["textures.vl2"]],"textures/texticons/twb/twb_bioderm_medium.jpg":["textures/texticons/twb/twb_Bioderm_Medium.jpg",["textures.vl2"]],"textures/texticons/twb/twb_blaster.jpg":["textures/texticons/twb/twb_Blaster.jpg",["textures.vl2"]],"textures/texticons/twb/twb_bloodeagle.jpg":["textures/texticons/twb/twb_BloodEagle.jpg",["textures.vl2"]],"textures/texticons/twb/twb_blowngen_01.jpg":["textures/texticons/twb/twb_blowngen_01.jpg",["textures.vl2"]],"textures/texticons/twb/twb_chaingun.jpg":["textures/texticons/twb/twb_Chaingun.jpg",["textures.vl2"]],"textures/texticons/twb/twb_diamondsword.jpg":["textures/texticons/twb/twb_DiamondSword.JPG",["textures.vl2"]],"textures/texticons/twb/twb_ds_flight.jpg":["textures/texticons/twb/twb_DS_FLight.JPG",["textures.vl2"]],"textures/texticons/twb/twb_ds_fmed.jpg":["textures/texticons/twb/twb_DS_Fmed.jpg",["textures.vl2"]],"textures/texticons/twb/twb_ds_heavy.jpg":["textures/texticons/twb/twb_DS_Heavy.jpg",["textures.vl2"]],"textures/texticons/twb/twb_ds_mmed.jpg":["textures/texticons/twb/twb_DS_MMed.jpg",["textures.vl2"]],"textures/texticons/twb/twb_elfprojector.jpg":["textures/texticons/twb/twb_Elfprojector.jpg",["textures.vl2"]],"textures/texticons/twb/twb_fusionmortar.jpg":["textures/texticons/twb/twb_Fusionmortar.jpg",["textures.vl2"]],"textures/texticons/twb/twb_grenadelauncher.jpg":["textures/texticons/twb/twb_Grenadelauncher.jpg",["textures.vl2"]],"textures/texticons/twb/twb_harbingers.jpg":["textures/texticons/twb/twb_Harbingers.JPG",["textures.vl2"]],"textures/texticons/twb/twb_havoc.jpg":["textures/texticons/twb/twb_Havoc.JPG",["textures.vl2"]],"textures/texticons/twb/twb_hr_flight.jpg":["textures/texticons/twb/twb_HR_FLight.JPG",["textures.vl2"]],"textures/texticons/twb/twb_hr_fmed.jpg":["textures/texticons/twb/twb_HR_FMed.jpg",["textures.vl2"]],"textures/texticons/twb/twb_hr_heavy.jpg":["textures/texticons/twb/twb_HR_Heavy.jpg",["textures.vl2"]],"textures/texticons/twb/twb_hr_mlight.jpg":["textures/texticons/twb/twb_HR_MLight.jpg",["textures.vl2"]],"textures/texticons/twb/twb_hr_mmed.jpg":["textures/texticons/twb/twb_HR_MMed.JPG",["textures.vl2"]],"textures/texticons/twb/twb_inferno_01.jpg":["textures/texticons/twb/twb_inferno_01.jpg",["textures.vl2"]],"textures/texticons/twb/twb_inferno_02.jpg":["textures/texticons/twb/twb_inferno_02.jpg",["textures.vl2"]],"textures/texticons/twb/twb_inferno_03.jpg":["textures/texticons/twb/twb_inferno_03.jpg",["textures.vl2"]],"textures/texticons/twb/twb_lakedebris_01.jpg":["textures/texticons/twb/twb_lakedebris_01.jpg",["textures.vl2"]],"textures/texticons/twb/twb_lakedebris_03.jpg":["textures/texticons/twb/twb_lakedebris_03.jpg",["textures.vl2"]],"textures/texticons/twb/twb_laserrifle.jpg":["textures/texticons/twb/twb_Laserrifle.jpg",["textures.vl2"]],"textures/texticons/twb/twb_lineup.jpg":["textures/texticons/twb/twb_Lineup.jpg",["textures.vl2"]],"textures/texticons/twb/twb_missilelauncher.jpg":["textures/texticons/twb/twb_Missilelauncher.jpg",["textures.vl2"]],"textures/texticons/twb/twb_plasmarifle.jpg":["textures/texticons/twb/twb_Plasmarifle.jpg",["textures.vl2"]],"textures/texticons/twb/twb_shocklance.jpg":["textures/texticons/twb/twb_shocklance.jpg",["textures.vl2"]],"textures/texticons/twb/twb_shrike.jpg":["textures/texticons/twb/twb_Shrike.jpg",["textures.vl2"]],"textures/texticons/twb/twb_soclose.jpg":["textures/texticons/twb/twb_soclose.jpg",["textures.vl2"]],"textures/texticons/twb/twb_spinfusor.jpg":["textures/texticons/twb/twb_Spinfusor.jpg",["textures.vl2"]],"textures/texticons/twb/twb_starwolf_fem.jpg":["textures/texticons/twb/twb_starwolf_fem.jpg",["textures.vl2"]],"textures/texticons/twb/twb_starwolf_shrike.jpg":["textures/texticons/twb/twb_starwolf_shrike.jpg",["textures.vl2"]],"textures/texticons/twb/twb_starwolves.jpg":["textures/texticons/twb/twb_Starwolves.JPG",["textures.vl2"]],"textures/texticons/twb/twb_sw_flight.jpg":["textures/texticons/twb/twb_SW_FLight.jpg",["textures.vl2"]],"textures/texticons/twb/twb_sw_fmedium.jpg":["textures/texticons/twb/twb_SW_FMedium.jpg",["textures.vl2"]],"textures/texticons/twb/twb_sw_heavy.jpg":["textures/texticons/twb/twb_SW_Heavy.jpg",["textures.vl2"]],"textures/texticons/twb/twb_sw_mlight.jpg":["textures/texticons/twb/twb_SW_MLight.jpg",["textures.vl2"]],"textures/texticons/twb/twb_sw_mmed.jpg":["textures/texticons/twb/twb_SW_MMed.jpg",["textures.vl2"]],"textures/texticons/twb/twb_thundersword.jpg":["textures/texticons/twb/twb_Thundersword.jpg",["textures.vl2"]],"textures/texticons/twb/twb_tribes2.jpg":["textures/texticons/twb/twb_TRIBES2.jpg",["textures.vl2"]],"textures/texticons/twb/twb_wateraction_01.jpg":["textures/texticons/twb/twb_wateraction_01.jpg",["textures.vl2"]],"textures/texticons/twb/twb_waterdemise_01.jpg":["textures/texticons/twb/twb_waterdemise_01.jpg",["textures.vl2"]],"textures/texticons/twb/twb_waterdemise_03.jpg":["textures/texticons/twb/twb_waterdemise_03.jpg",["textures.vl2"]],"textures/texticons/twb/twb_waterdemise_04.jpg":["textures/texticons/twb/twb_waterdemise_04.jpg",["textures.vl2"]],"textures/texticons/twb/twb_woohoo_01.jpg":["textures/texticons/twb/twb_woohoo_01.jpg",["textures.vl2"]],"textures/tl_magnum.dml":["textures/TL_Magnum.dml",["z_mappacks/CTF/TWL2-MapPackEDIT.vl2"]],"textures/tlroddtilecln.png":["textures/tlroddtilecln.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/tmtllight.png":["textures/tmtllight.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/tn_logo.png":["textures/tn_logo.png",["T2csri.vl2"]],"textures/tr1_1.png":["textures/TR1_1.png",["TR2final105-client.vl2"]],"textures/tr1_2.png":["textures/TR1_2.png",["TR2final105-client.vl2"]],"textures/tr1_3.png":["textures/TR1_3.png",["TR2final105-client.vl2"]],"textures/tr1_4.png":["textures/TR1_4.png",["TR2final105-client.vl2"]],"textures/tr1_5.png":["textures/TR1_5.png",["TR2final105-client.vl2"]],"textures/tr1_7.png":["textures/TR1_7.png",["TR2final105-client.vl2"]],"textures/tr1_cloud1.png":["textures/TR1_Cloud1.png",["TR2final105-client.vl2"]],"textures/tr1_cloud2.png":["textures/TR1_Cloud2.png",["TR2final105-client.vl2"]],"textures/tr1_nef.dml":["textures/TR1_Nef.dml",["TR2final105-client.vl2"]],"textures/tr2-1.lmale.png":["textures/TR2-1.lmale.png",["TR2final105-client.vl2"]],"textures/tr2-2.lmale.png":["textures/TR2-2.lmale.png",["TR2final105-client.vl2"]],"textures/transparentbg.png":["textures/transparentBG.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/tyre.dml":["textures/tyre.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/v5planet/skies/starfallen_bk.png":["textures/v5planet/skies/Starfallen_BK.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/v5planet/skies/starfallen_fr.png":["textures/v5planet/skies/Starfallen_FR.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/v5planet/skies/starfallen_lf.png":["textures/v5planet/skies/Starfallen_LF.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/v5planet/skies/starfallen_rt.png":["textures/v5planet/skies/Starfallen_RT.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/v5planet/skies/starfallen_up.png":["textures/v5planet/skies/Starfallen_UP.png",["Classic_maps_v1.vl2"],["z_mappacks/CTF/Classic_maps_v1.vl2"]],"textures/violet.dml":["textures/violet.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/wallmetalp.png":["textures/WallMetalP.png",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/wave_dark.dml":["textures/wave_dark.dml",["z_mappacks/z_DMP2-V0.6.vl2"]],"textures/winterskyday.dml":["textures/winterskyday.dml",["z_mappacks/zDMP-4.7.3DX-ServerOnly.vl2"],["z_mappacks/zDMP-4.7.3DX.vl2"]],"textures/xnight.dml":["textures/xnight.dml",["z_mappacks/CTF/TWL-MapPackEDIT.vl2"]]}`),missions:JSON.parse(`{"2ArenaDome":{"resourcePath":"missions/2arenadome.mis","displayName":"2-ArenaDome","missionTypes":["Arena"]},"2ArenaValley":{"resourcePath":"missions/2arenavalley.mis","displayName":null,"missionTypes":["Arena"]},"2DustBowl":{"resourcePath":"missions/2dustbowl.mis","displayName":null,"missionTypes":["Arena"]},"2Flyersarena":{"resourcePath":"missions/2flyersarena.mis","displayName":null,"missionTypes":["Arena"]},"2IceDome":{"resourcePath":"missions/2icedome.mis","displayName":null,"missionTypes":["Arena"]},"2IndoorIntensity":{"resourcePath":"missions/2indoorintensity.mis","displayName":null,"missionTypes":["Arena"]},"aabaa":{"resourcePath":"missions/aabaa.mis","displayName":"Aabaa","missionTypes":["CTF"]},"aabaaGH":{"resourcePath":"missions/aabaagh.mis","displayName":"Aabaa Goonified","missionTypes":["CTF"]},"Aardvark_x2":{"resourcePath":"missions/aardvark_x2.mis","displayName":"Aardvark (x2)","missionTypes":["CTF"]},"Abaddon_x2":{"resourcePath":"missions/abaddon_x2.mis","displayName":"Abaddon (x2)","missionTypes":["CTF"]},"Abominable":{"resourcePath":"missions/abominable.mis","displayName":null,"missionTypes":["CnH"]},"AcidRain":{"resourcePath":"missions/acidrain.mis","displayName":"Acid Rain","missionTypes":["CTF","DnD"]},"Aeroena":{"resourcePath":"missions/aeroena.mis","displayName":"Aeroena","missionTypes":["Arena"]},"AgentsOfFortune":{"resourcePath":"missions/agentsoffortune.mis","displayName":"Agents of Fortune","missionTypes":["DM","Hunters","TeamHunters"]},"Agorazscium":{"resourcePath":"missions/agorazscium.mis","displayName":"Agorazscium","missionTypes":["CTF"]},"Alcatraz":{"resourcePath":"missions/alcatraz.mis","displayName":null,"missionTypes":["Siege"]},"anabatic":{"resourcePath":"missions/anabatic.mis","displayName":"DMP2-Anabatic","missionTypes":["CTF"]},"anomaly":{"resourcePath":"missions/anomaly.mis","displayName":"DMP2-Anomaly","missionTypes":["CTF"]},"Archipelago":{"resourcePath":"missions/archipelago.mis","displayName":"Archipelago","missionTypes":["CTF"]},"ArenaDome":{"resourcePath":"missions/arenadome.mis","displayName":"ArenaDome","missionTypes":["CTF","SCtF"]},"ArenaDomeDM":{"resourcePath":"missions/arenadomedm.mis","displayName":"ArenaDomeDM","missionTypes":["DM"]},"ArenaHeaven":{"resourcePath":"missions/arenaheaven.mis","displayName":null,"missionTypes":["Arena"]},"ArenaHell":{"resourcePath":"missions/arenahell.mis","displayName":"[Original]ArenaHell","missionTypes":["Arena"]},"ArenaHell2":{"resourcePath":"missions/arenahell2.mis","displayName":"_ArenaHell II","missionTypes":["Arena"]},"ArenaInTheHill":{"resourcePath":"missions/arenainthehill.mis","displayName":"Arena In The Hill","missionTypes":["Arena"]},"ArenaUnderTheHill":{"resourcePath":"missions/arenaunderthehill.mis","displayName":"[Original]AUTH Clientside","missionTypes":["Arena"]},"Arrakis":{"resourcePath":"missions/arrakis.mis","displayName":"Arrakis","missionTypes":["Rabbit","LakRabbit"]},"ArrowPass_x2":{"resourcePath":"missions/arrowpass_x2.mis","displayName":"Arrow Pass (x2)","missionTypes":["CTF"]},"AryoArena":{"resourcePath":"missions/aryoarena.mis","displayName":"_AyroArena","missionTypes":["Arena"]},"AshesToAshes":{"resourcePath":"missions/ashestoashes.mis","displayName":"Ashes to Ashes","missionTypes":["CnH"]},"AstersDescent":{"resourcePath":"missions/astersdescent.mis","displayName":"Aster's Descent","missionTypes":["CTF"]},"AstroGrabber_x2":{"resourcePath":"missions/astrograbber_x2.mis","displayName":"Astro Grabber (x2)","missionTypes":["CTF"]},"Attrition":{"resourcePath":"missions/attrition.mis","displayName":"Attrition","missionTypes":["CTF","SCtF"]},"AttritionLT":{"resourcePath":"missions/attritionlt.mis","displayName":"Attrition LT","missionTypes":["LCTF"]},"Azoth":{"resourcePath":"missions/azoth.mis","displayName":"Azoth","missionTypes":["CTF"]},"BasatinLT":{"resourcePath":"missions/basatinlt.mis","displayName":"DMP2-Basatin LT","missionTypes":["SCtF","LCTF"]},"BasinFury":{"resourcePath":"missions/basinfury.mis","displayName":"BasinFury","missionTypes":["CTF","SCtF"]},"BattleGrove":{"resourcePath":"missions/battlegrove.mis","displayName":"Battle Grove","missionTypes":["CTF"]},"BeachBlitz_x2":{"resourcePath":"missions/beachblitz_x2.mis","displayName":"Beach Blitz (x2)","missionTypes":["CTF"]},"BeggarsRun":{"resourcePath":"missions/beggarsrun.mis","displayName":"Beggar's Run","missionTypes":["CTF"]},"BeggarsRunLak":{"resourcePath":"missions/beggarsrunlak.mis","displayName":"Beggar's Run","missionTypes":["LakRabbit"]},"BeggarsRunLT":{"resourcePath":"missions/beggarsrunlt.mis","displayName":"Beggar's Run LT","missionTypes":["LCTF"]},"berlard":{"resourcePath":"missions/berlard.mis","displayName":"Berlard","missionTypes":["CTF","SCtF"]},"BerylBasin":{"resourcePath":"missions/berylbasin.mis","displayName":null,"missionTypes":["CTF"]},"Blastside_nef":{"resourcePath":"missions/blastside_nef.mis","displayName":"Blastside","missionTypes":["CTF","DnD"]},"Blink":{"resourcePath":"missions/blink.mis","displayName":"Blink","missionTypes":["CTF"]},"BlueMoon_x2":{"resourcePath":"missions/bluemoon_x2.mis","displayName":"Blue Moon (x2)","missionTypes":["CTF"]},"BolderDash_x2":{"resourcePath":"missions/bolderdash_x2.mis","displayName":"Bolder Dash (x2)","missionTypes":["CTF","DnD"]},"bombardment":{"resourcePath":"missions/bombardment.mis","displayName":"DMP2-Bombardment","missionTypes":["CTF"]},"Bonespur":{"resourcePath":"missions/bonespur.mis","displayName":"Bonespur","missionTypes":["CTF"]},"BonespurLT":{"resourcePath":"missions/bonespurlt.mis","displayName":"Bonespur LT","missionTypes":["LCTF"]},"Boss_x2":{"resourcePath":"missions/boss_x2.mis","displayName":"Boss (x2)","missionTypes":["CTF"]},"BoxLak":{"resourcePath":"missions/boxlak.mis","displayName":"Box Lak","missionTypes":["LakRabbit"]},"Bridgepoint":{"resourcePath":"missions/bridgepoint.mis","displayName":"Bridgepoint","missionTypes":["CTF"]},"BridgeTooFar":{"resourcePath":"missions/bridgetoofar.mis","displayName":"Bridge Too Far","missionTypes":["Siege"]},"BrigDM":{"resourcePath":"missions/brigdm.mis","displayName":"BrigDM","missionTypes":["DM"]},"Broadside_nef":{"resourcePath":"missions/broadside_nef.mis","displayName":"Broadside","missionTypes":["CTF","DnD"]},"BruteForce_x2":{"resourcePath":"missions/bruteforce_x2.mis","displayName":"Brute Force (x2)","missionTypes":["DnD"]},"Bulwark":{"resourcePath":"missions/bulwark.mis","displayName":"Bulwark","missionTypes":["CTF","SCtF"]},"BulwarkLT":{"resourcePath":"missions/bulwarklt.mis","displayName":"Bulwark LT","missionTypes":["LCTF"]},"Burstside":{"resourcePath":"missions/burstside.mis","displayName":"Burstside","missionTypes":["CTF"]},"Cadaver":{"resourcePath":"missions/cadaver.mis","displayName":"Cadaver","missionTypes":["CTF"]},"Caldera":{"resourcePath":"missions/caldera.mis","displayName":null,"missionTypes":["Siege"]},"Camelland":{"resourcePath":"missions/camelland.mis","displayName":"Camel Land","missionTypes":["CTF"]},"CamellandLT":{"resourcePath":"missions/camellandlt.mis","displayName":"CamelLand LT","missionTypes":["LCTF"]},"CankerLak":{"resourcePath":"missions/cankerlak.mis","displayName":"Canker","missionTypes":["LakRabbit","LakZM","TeamLak"]},"Canyonrun_x2":{"resourcePath":"missions/canyonrun_x2.mis","displayName":"Canyon Run (x2)","missionTypes":["CTF"]},"CapriLT":{"resourcePath":"missions/caprilt.mis","displayName":"Capri LT","missionTypes":["LCTF"]},"Casern_Cavite":{"resourcePath":"missions/casern_cavite.mis","displayName":"Casern Cavite","missionTypes":["Hunters","Bounty","DM"]},"CatwalkLT":{"resourcePath":"missions/catwalklt.mis","displayName":"DMP2-Catwalk LT","missionTypes":["LCTF","SCtF"]},"ChasmClash":{"resourcePath":"missions/chasmclash.mis","displayName":"ChasmClash","missionTypes":["CTF"]},"Checkmate":{"resourcePath":"missions/checkmate.mis","displayName":"Checkmate","missionTypes":["Arena"]},"Choke":{"resourcePath":"missions/choke.mis","displayName":null,"missionTypes":["CTF"]},"CinderCone":{"resourcePath":"missions/cindercone.mis","displayName":"CinderCone","missionTypes":["CTF"]},"Cinerarium":{"resourcePath":"missions/cinerarium.mis","displayName":"Cinerarium","missionTypes":["CTF"]},"Cinereous":{"resourcePath":"missions/cinereous.mis","displayName":"Cinereous","missionTypes":["CTF"]},"circleofstones":{"resourcePath":"missions/circleofstones.mis","displayName":"Circle of Stones","missionTypes":["CTF","DnD"]},"CirclesEdge":{"resourcePath":"missions/circlesedge.mis","displayName":null,"missionTypes":["CTF"]},"CirclesEdgeLT":{"resourcePath":"missions/circlesedgelt.mis","displayName":"CirclesEdge LT","missionTypes":["LCTF"]},"CloakOfLak":{"resourcePath":"missions/cloakoflak.mis","displayName":"Cloak of Lak","missionTypes":["LakRabbit"]},"CloakOfNightV":{"resourcePath":"missions/cloakofnightv.mis","displayName":"Cloak of Night V","missionTypes":["CTF"]},"CloseCombat":{"resourcePath":"missions/closecombat.mis","displayName":"Close Combat","missionTypes":["CTF"]},"CloseCombatLT":{"resourcePath":"missions/closecombatlt.mis","displayName":"Close Combat LT","missionTypes":["LCTF"]},"CloudBurst":{"resourcePath":"missions/cloudburst.mis","displayName":"Cloud Burst","missionTypes":["CTF"]},"CloudCity":{"resourcePath":"missions/cloudcity.mis","displayName":"CloudCity","missionTypes":["CTF"]},"ClusterUnFuct":{"resourcePath":"missions/clusterunfuct.mis","displayName":"ClusterUnFuct","missionTypes":["CTF"]},"CoconutFury":{"resourcePath":"missions/coconutfury.mis","displayName":"CoconutFury","missionTypes":["CTF"]},"Confusco":{"resourcePath":"missions/confusco.mis","displayName":"Confusco","missionTypes":["Bounty","CTF","DM"]},"ConstructionYard":{"resourcePath":"missions/constructionyard.mis","displayName":null,"missionTypes":["CTF"]},"Coppersky":{"resourcePath":"missions/coppersky.mis","displayName":"Copper Sky","missionTypes":["CTF"]},"CrashClash":{"resourcePath":"missions/crashclash.mis","displayName":"_CrashClash","missionTypes":["Arena"]},"Crater71":{"resourcePath":"missions/crater71.mis","displayName":"Crater 71","missionTypes":["TR2"]},"Crater71Lak":{"resourcePath":"missions/crater71lak.mis","displayName":"Crater 71","missionTypes":["LakRabbit","LakZM","TeamLak"]},"CrossfiredLak":{"resourcePath":"missions/crossfiredlak.mis","displayName":"Crossfired","missionTypes":["LakRabbit"]},"DaftGulch":{"resourcePath":"missions/daftgulch.mis","displayName":"Daft Gulch","missionTypes":["CTF"]},"Damnation":{"resourcePath":"missions/damnation.mis","displayName":null,"missionTypes":["CTF"]},"DamnationLak":{"resourcePath":"missions/damnationlak.mis","displayName":"Damnation","missionTypes":["LakRabbit"]},"DamnationLT":{"resourcePath":"missions/damnationlt.mis","displayName":"DMP2-Damnation LT","missionTypes":["SCtF","LCTF"]},"DamnationTDM":{"resourcePath":"missions/damnationtdm.mis","displayName":"Damnation-TDM","missionTypes":["TDM"]},"DangerousCrossing_nef":{"resourcePath":"missions/dangerouscrossing_nef.mis","displayName":"Dangerous Crossing","missionTypes":["CTF"]},"DangerousCrossingArena":{"resourcePath":"missions/dangerouscrossingarena.mis","displayName":"[Original]Dangerous Crossing","missionTypes":["Arena"]},"DangerousCrossingLT":{"resourcePath":"missions/dangerouscrossinglt.mis","displayName":"Dangerous Crossing LT","missionTypes":["LCTF"]},"DangerousFlingLT":{"resourcePath":"missions/dangerousflinglt.mis","displayName":"DMP2-Dangerous Fling LT","missionTypes":["SCtF","LCTF"]},"dawntodusk":{"resourcePath":"missions/dawntodusk.mis","displayName":"DMP2-Dawn To Dusk","missionTypes":["CTF"]},"DBS_Smoothed":{"resourcePath":"missions/dbs_smoothed.mis","displayName":"Deadly Birds Song (Smoothed)","missionTypes":["CTF"]},"DeadlyBirdsSong_x2":{"resourcePath":"missions/deadlybirdssong_x2.mis","displayName":"Deadly Birds Song (x2)","missionTypes":["CTF"]},"DeathBirdsFly":{"resourcePath":"missions/deathbirdsfly.mis","displayName":"Death Birds Fly","missionTypes":["CTF"]},"DeathBirdsFly1":{"resourcePath":"missions/deathbirdsfly1.mis","displayName":"Death Birds Fly","missionTypes":["CTF"]},"DehSwamp":{"resourcePath":"missions/dehswamp.mis","displayName":null,"missionTypes":["CTF"]},"DermCrossingDeluxe":{"resourcePath":"missions/dermcrossingdeluxe.mis","displayName":"Derm Crossing Deluxe","missionTypes":["CTF"]},"DermCrossingDeluxeLT":{"resourcePath":"missions/dermcrossingdeluxelt.mis","displayName":"Derm Crossing Deluxe LT","missionTypes":["LCTF"]},"DesertofDeath_nef":{"resourcePath":"missions/desertofdeath_nef.mis","displayName":"Desert of Death","missionTypes":["CTF","SCtF"]},"DesertofDeathLak":{"resourcePath":"missions/desertofdeathlak.mis","displayName":"Desert of Death","missionTypes":["LakRabbit"]},"Desiccator":{"resourcePath":"missions/desiccator.mis","displayName":null,"missionTypes":["CTF"]},"DevilsElbow":{"resourcePath":"missions/devilselbow.mis","displayName":"Devil's Elbow","missionTypes":["CTF"]},"Dire":{"resourcePath":"missions/dire.mis","displayName":null,"missionTypes":["CTF"]},"DireLT":{"resourcePath":"missions/direlt.mis","displayName":"Dire LT","missionTypes":["LCTF"]},"Discord":{"resourcePath":"missions/discord.mis","displayName":"Discord","missionTypes":["CTF","SCtF"]},"DiscordLT":{"resourcePath":"missions/discordlt.mis","displayName":"Discord LT","missionTypes":["LCTF"]},"Disjointed":{"resourcePath":"missions/disjointed.mis","displayName":null,"missionTypes":["CTF"]},"DMP_Agroleon":{"resourcePath":"missions/dmp_agroleon.mis","displayName":"DMP-Agroleon","missionTypes":["CTF"]},"DMP_Astro":{"resourcePath":"missions/dmp_astro.mis","displayName":"DMP-Astro","missionTypes":["CTF"]},"DMP_BastardForge":{"resourcePath":"missions/dmp_bastardforge.mis","displayName":"DMP-BastardForge","missionTypes":["CTF","SCtF"]},"DMP_BastardForgeLT":{"resourcePath":"missions/dmp_bastardforgelt.mis","displayName":"DMP-BastardForge LT","missionTypes":["LCTF"]},"DMP_BitterGorge":{"resourcePath":"missions/dmp_bittergorge.mis","displayName":"DMP-BitterGorge","missionTypes":["CTF"]},"DMP_Bunkered":{"resourcePath":"missions/dmp_bunkered.mis","displayName":"DMP-Bunkered","missionTypes":["CTF"]},"DMP_BunkeredLT":{"resourcePath":"missions/dmp_bunkeredlt.mis","displayName":"DMP-Bunkered LT","missionTypes":["LCTF"]},"DMP_Cinerarium":{"resourcePath":"missions/dmp_cinerarium.mis","displayName":"DMP-Cinerarium","missionTypes":["CTF","SCtF"]},"DMP_CinerariumLT":{"resourcePath":"missions/dmp_cinerariumlt.mis","displayName":"DMP-Cinerarium LT","missionTypes":["LCTF"]},"DMP_DermCity":{"resourcePath":"missions/dmp_dermcity.mis","displayName":"DMP-DermCity","missionTypes":["CTF"]},"DMP_Embers":{"resourcePath":"missions/dmp_embers.mis","displayName":"DMP-Embers","missionTypes":["CTF","SCtF"]},"DMP_EmbersLT":{"resourcePath":"missions/dmp_emberslt.mis","displayName":"DMP-Embers LT","missionTypes":["LCTF"]},"DMP_EmeraldSpit":{"resourcePath":"missions/dmp_emeraldspit.mis","displayName":"DMP-Emerald Spit","missionTypes":["CTF"]},"DMP_FaceCrossing":{"resourcePath":"missions/dmp_facecrossing.mis","displayName":"DMP-Face Crossing","missionTypes":["CTF"]},"DMP_Hoth":{"resourcePath":"missions/dmp_hoth.mis","displayName":"DMP-Hoth","missionTypes":["CTF"]},"DMP_IceGiant":{"resourcePath":"missions/dmp_icegiant.mis","displayName":"DMP-IceGiant","missionTypes":["CTF"]},"DMP_IsleDeBatalla":{"resourcePath":"missions/dmp_isledebatalla.mis","displayName":"DMP-IsleDeBatalla","missionTypes":["CTF"]},"DMP_LavaGods":{"resourcePath":"missions/dmp_lavagods.mis","displayName":"DMP-LavaGods","missionTypes":["CTF","SCtF"]},"DMP_Magellan":{"resourcePath":"missions/dmp_magellan.mis","displayName":"DMP-Magellan","missionTypes":["CTF","SCtF"]},"DMP_MoonDance":{"resourcePath":"missions/dmp_moondance.mis","displayName":"DMP-MoonDance","missionTypes":["CTF"]},"DMP_Pantheon":{"resourcePath":"missions/dmp_pantheon.mis","displayName":"DMP-Pantheon","missionTypes":["CTF"]},"DMP_Paranoia":{"resourcePath":"missions/dmp_paranoia.mis","displayName":"DMP-Paranoia","missionTypes":["CTF","SCtF"]},"DMP_Pariah":{"resourcePath":"missions/dmp_pariah.mis","displayName":"DMP-Pariah","missionTypes":["CTF","SCtF"]},"DMP_PariahLT":{"resourcePath":"missions/dmp_pariahlt.mis","displayName":"DMP-Pariah LT","missionTypes":["LCTF"]},"DMP_PipeDream":{"resourcePath":"missions/dmp_pipedream.mis","displayName":"DMP-Pipe Dream","missionTypes":["CTF"]},"DMP_RavineV":{"resourcePath":"missions/dmp_ravinev.mis","displayName":"DMP-RavineV","missionTypes":["CTF"]},"DMP_ScorchedEarth":{"resourcePath":"missions/dmp_scorchedearth.mis","displayName":"DMP-Scorched Earth","missionTypes":["CTF"]},"DMP_SimpleFlagArena":{"resourcePath":"missions/dmp_simpleflagarena.mis","displayName":"DMP-SimpleFlagArena","missionTypes":["CTF"]},"DMP_SpinCycle":{"resourcePath":"missions/dmp_spincycle.mis","displayName":"DMP-SpinCycle","missionTypes":["CTF","SCtF"]},"DMP_SpinCycleLT":{"resourcePath":"missions/dmp_spincyclelt.mis","displayName":"DMP-SpinCycle LT","missionTypes":["LCTF"]},"DMP_StarFall":{"resourcePath":"missions/dmp_starfall.mis","displayName":"DMP-StarFall","missionTypes":["CTF","SCtF"]},"DMP_StarFallLT":{"resourcePath":"missions/dmp_starfalllt.mis","displayName":"DMP-StarFall LT","missionTypes":["LCTF"]},"DMP_Tyre":{"resourcePath":"missions/dmp_tyre.mis","displayName":"DMP-Tyre","missionTypes":["CTF"]},"DMP_Wasteland":{"resourcePath":"missions/dmp_wasteland.mis","displayName":"DMP-Wasteland","missionTypes":["CTF"]},"Draco":{"resourcePath":"missions/draco.mis","displayName":"Draco","missionTypes":["CTF"]},"Drafts":{"resourcePath":"missions/drafts.mis","displayName":"Drafts","missionTypes":["CTF"]},"Drifts_x2":{"resourcePath":"missions/drifts_x2.mis","displayName":"Drifts (x2)","missionTypes":["CTF","DnD"]},"DropInLT":{"resourcePath":"missions/dropinlt.mis","displayName":"DMP2-Drop In LT","missionTypes":["SCtF","LCTF"]},"DuelersDelight":{"resourcePath":"missions/duelersdelight.mis","displayName":"Duelers Delight","missionTypes":["LCTF"]},"DustLust":{"resourcePath":"missions/dustlust.mis","displayName":null,"missionTypes":["CTF"]},"DustRunLak":{"resourcePath":"missions/dustrunlak.mis","displayName":"DustRun","missionTypes":["LakRabbit"]},"DustToDust":{"resourcePath":"missions/dusttodust.mis","displayName":"Dust to Dust","missionTypes":["CTF","Hunters","TeamHunters"]},"DX_Badlands":{"resourcePath":"missions/dx_badlands.mis","displayName":"Dangerous Crossing (Badlands)","missionTypes":["CTF","SCtF"]},"DX_Desert":{"resourcePath":"missions/dx_desert.mis","displayName":"Dangerous Crossing (Desert)","missionTypes":["CTF","SCtF"]},"DX_Ice":{"resourcePath":"missions/dx_ice.mis","displayName":"Dangerous Crossing (Ice)","missionTypes":["CTF","SCtF"]},"DX_IceLT":{"resourcePath":"missions/dx_icelt.mis","displayName":"Dangerous Crossing LT (Ice)","missionTypes":["LCTF"]},"Einfach":{"resourcePath":"missions/einfach.mis","displayName":"Einfach","missionTypes":["CTF"]},"EivoItoxico":{"resourcePath":"missions/eivoitoxico.mis","displayName":"Eivo Itoxico","missionTypes":["CTF"]},"El_Fin":{"resourcePath":"missions/el_fin.mis","displayName":"El Fin","missionTypes":["CTF"]},"El_FinLT":{"resourcePath":"missions/el_finlt.mis","displayName":"El_Fin LT","missionTypes":["LCTF"]},"EntombedDM":{"resourcePath":"missions/entombeddm.mis","displayName":"EntombedDM","missionTypes":["DM"]},"Envyrena":{"resourcePath":"missions/envyrena.mis","displayName":null,"missionTypes":["Arena"]},"EnyLand":{"resourcePath":"missions/enyland.mis","displayName":"^_^ EnyLand","missionTypes":["Arena"]},"Equinox":{"resourcePath":"missions/equinox.mis","displayName":null,"missionTypes":["CnH","DM"]},"EquinoxLak":{"resourcePath":"missions/equinoxlak.mis","displayName":"Equinox","missionTypes":["LakRabbit"]},"Erebus_x2":{"resourcePath":"missions/erebus_x2.mis","displayName":"Erebus (x2)","missionTypes":["CTF"]},"Escalade":{"resourcePath":"missions/escalade.mis","displayName":null,"missionTypes":["TeamHunters","Hunters","DM","Rabbit","Bounty"]},"EscaladeLak":{"resourcePath":"missions/escaladelak.mis","displayName":"Escalade","missionTypes":["LakRabbit"]},"EveningLand":{"resourcePath":"missions/eveningland.mis","displayName":"^_^ EveningLand","missionTypes":["Arena"]},"Ewok_Hamlet":{"resourcePath":"missions/ewok_hamlet.mis","displayName":"DMP2-Ewok Hamlet","missionTypes":["CTF"]},"Ewok_Village":{"resourcePath":"missions/ewok_village.mis","displayName":"DMP2-Ewok Village","missionTypes":["CTF"]},"Exhumed":{"resourcePath":"missions/exhumed.mis","displayName":"Exhumed","missionTypes":["CTF"]},"Extractor":{"resourcePath":"missions/extractor.mis","displayName":null,"missionTypes":["CTF"]},"facingWorlds":{"resourcePath":"missions/facingworlds.mis","displayName":"DMP2-Facing Worlds ","missionTypes":["TDM"]},"facingWorldsArena":{"resourcePath":"missions/facingworldsarena.mis","displayName":"DMP2-Facing Worlds - Arena ","missionTypes":["Arena"]},"facingWorldsLT":{"resourcePath":"missions/facingworldslt.mis","displayName":"DMP2-Facing Worlds LT","missionTypes":["SCtF","LCTF"]},"Fallout":{"resourcePath":"missions/fallout.mis","displayName":"Fallout","missionTypes":["CTF"]},"Fenix":{"resourcePath":"missions/fenix.mis","displayName":"Fenix","missionTypes":["CTF"]},"FilteredDust":{"resourcePath":"missions/filtereddust.mis","displayName":"FilteredDust","missionTypes":["CTF"]},"Fireballs_x2":{"resourcePath":"missions/fireballs_x2.mis","displayName":"Fireballs (x2)","missionTypes":["CTF"]},"Firestorm":{"resourcePath":"missions/firestorm.mis","displayName":null,"missionTypes":["CnH","CTF"]},"FirestormLT":{"resourcePath":"missions/firestormlt.mis","displayName":"Firestorm LT","missionTypes":["LCTF"]},"firn":{"resourcePath":"missions/firn.mis","displayName":"DMP2-Firn","missionTypes":["CTF"]},"Flashpoint":{"resourcePath":"missions/flashpoint.mis","displayName":null,"missionTypes":["CnH"]},"FourSquareDM":{"resourcePath":"missions/foursquaredm.mis","displayName":"FourSquareDM","missionTypes":["DM"]},"Fracas":{"resourcePath":"missions/fracas.mis","displayName":"Fracas","missionTypes":["Hunters","DM"]},"FrostBite":{"resourcePath":"missions/frostbite.mis","displayName":"FrostBite","missionTypes":["CTF"]},"frostline":{"resourcePath":"missions/frostline.mis","displayName":"DMP2-Frostline","missionTypes":["CTF"]},"FrostPipe":{"resourcePath":"missions/frostpipe.mis","displayName":"FrostPipe","missionTypes":["CTF"]},"FrozenForgeLT":{"resourcePath":"missions/frozenforgelt.mis","displayName":"Frozen Forge LT","missionTypes":["LCTF"]},"FrozenFury":{"resourcePath":"missions/frozenfury.mis","displayName":"Frozen Fury","missionTypes":["TR2"]},"FrozenFuryLak":{"resourcePath":"missions/frozenfurylak.mis","displayName":"Frozen Fury","missionTypes":["LakRabbit","LakZM","TeamLak"]},"FrozenHope":{"resourcePath":"missions/frozenhope.mis","displayName":"Frozen Hope","missionTypes":["CTF"]},"FrozenHopeLT":{"resourcePath":"missions/frozenhopelt.mis","displayName":"Frozen Hope LT","missionTypes":["LCTF"]},"frozenSolid":{"resourcePath":"missions/frozensolid.mis","displayName":"DMP2-Thick Ice","missionTypes":["CTF"]},"FullCircle":{"resourcePath":"missions/fullcircle.mis","displayName":"Full Circle","missionTypes":["CTF"]},"Gauntlet":{"resourcePath":"missions/gauntlet.mis","displayName":null,"missionTypes":["Siege"]},"Gehenna":{"resourcePath":"missions/gehenna.mis","displayName":null,"missionTypes":["Hunters","TeamHunters"]},"Glade":{"resourcePath":"missions/glade.mis","displayName":"Glade","missionTypes":["CTF"]},"GodsRift":{"resourcePath":"missions/godsrift.mis","displayName":"God's Rift","missionTypes":["TR2"]},"GodsRiftLak":{"resourcePath":"missions/godsriftlak.mis","displayName":"God's Rift","missionTypes":["LakRabbit"]},"Gorgon":{"resourcePath":"missions/gorgon.mis","displayName":"Gorgon","missionTypes":["CTF","SCtF"]},"GorgonDM":{"resourcePath":"missions/gorgondm.mis","displayName":"GorgonDM","missionTypes":["DM"]},"GrassyKnollLT":{"resourcePath":"missions/grassyknolllt.mis","displayName":"GrassyKnoll LT","missionTypes":["LCTF"]},"GreenLawn":{"resourcePath":"missions/greenlawn.mis","displayName":"GreenLawn","missionTypes":["CTF","SCtF"]},"HarvestDance":{"resourcePath":"missions/harvestdance.mis","displayName":"HarvestDance","missionTypes":["CTF"]},"Harvester_x2":{"resourcePath":"missions/harvester_x2.mis","displayName":"Harvester (x2)","missionTypes":["CTF","DnD"]},"Haven":{"resourcePath":"missions/haven.mis","displayName":null,"missionTypes":["TR2"]},"HavenLak":{"resourcePath":"missions/havenlak.mis","displayName":"Haven","missionTypes":["LakRabbit"]},"Headstone":{"resourcePath":"missions/headstone.mis","displayName":null,"missionTypes":["CTF"]},"Helioarena":{"resourcePath":"missions/helioarena.mis","displayName":null,"missionTypes":["Arena"]},"HighAnxiety":{"resourcePath":"missions/highanxiety.mis","displayName":"High Anxiety","missionTypes":["CTF"]},"HighOctane":{"resourcePath":"missions/highoctane.mis","displayName":"High Octane","missionTypes":["CTF"]},"HighTrepidation":{"resourcePath":"missions/hightrepidation.mis","displayName":"High Trepidation","missionTypes":["CTF"]},"HighWire":{"resourcePath":"missions/highwire.mis","displayName":"High Wire","missionTypes":["CTF"]},"HillKingCTF":{"resourcePath":"missions/hillkingctf.mis","displayName":"HillKing","missionTypes":["CTF"]},"HillKingLT":{"resourcePath":"missions/hillkinglt.mis","displayName":"HillKing LT","missionTypes":["LCTF"]},"Hillside":{"resourcePath":"missions/hillside.mis","displayName":"Hillside","missionTypes":["CTF","DnD"]},"HillSideLT":{"resourcePath":"missions/hillsidelt.mis","displayName":"HillSide LT","missionTypes":["LCTF"]},"HillsOfSorrow":{"resourcePath":"missions/hillsofsorrow.mis","displayName":"Hills of Sorrow","missionTypes":["LakRabbit"]},"HiveLT":{"resourcePath":"missions/hivelt.mis","displayName":"DMP2-Hive LT","missionTypes":["SCtF","LCTF"]},"HO_Badlands":{"resourcePath":"missions/ho_badlands.mis","displayName":"High Octane (Badlands)","missionTypes":["CTF"]},"HO_Desert":{"resourcePath":"missions/ho_desert.mis","displayName":"High Octane (Desert)","missionTypes":["CTF"]},"HO_Ice":{"resourcePath":"missions/ho_ice.mis","displayName":"High Octane (Ice)","missionTypes":["CTF"]},"HO_Lush":{"resourcePath":"missions/ho_lush.mis","displayName":"High Octane (Lush)","missionTypes":["CTF"]},"HogansRun24":{"resourcePath":"missions/hogansrun24.mis","displayName":"Hogans Run","missionTypes":["CTF"]},"HoofToeDM":{"resourcePath":"missions/hooftoedm.mis","displayName":"HoofToeDM","missionTypes":["DM"]},"Horde":{"resourcePath":"missions/horde.mis","displayName":"Horde","missionTypes":["CTF"]},"HostileLoch":{"resourcePath":"missions/hostileloch.mis","displayName":null,"missionTypes":["CTF"]},"Hostility":{"resourcePath":"missions/hostility.mis","displayName":"Hostility","missionTypes":["CTF"]},"HydroElectric_x2":{"resourcePath":"missions/hydroelectric_x2.mis","displayName":"Hydro-Electric (x2)","missionTypes":["CTF"]},"IceBound":{"resourcePath":"missions/icebound.mis","displayName":"Icebound","missionTypes":["Siege"]},"IceDomeDM":{"resourcePath":"missions/icedomedm.mis","displayName":"IceDomeDM","missionTypes":["DM"]},"IceGulch":{"resourcePath":"missions/icegulch.mis","displayName":"Ice Gulch","missionTypes":["CTF"]},"IcePick":{"resourcePath":"missions/icepick.mis","displayName":"IcePick","missionTypes":["LCTF"]},"IcePickM":{"resourcePath":"missions/icepickm.mis","displayName":"DIMP2-IcePick Mirror","missionTypes":["LCTF"]},"IceRidge_nef":{"resourcePath":"missions/iceridge_nef.mis","displayName":"IceRidge","missionTypes":["CTF"]},"infernosroar":{"resourcePath":"missions/infernosroar.mis","displayName":"DMP2-Infernos Roar","missionTypes":["CTF"]},"Infernus":{"resourcePath":"missions/infernus.mis","displayName":"Infernus","missionTypes":["CTF"]},"InfernusLak":{"resourcePath":"missions/infernuslak.mis","displayName":"Infernus","missionTypes":["LakRabbit"]},"InnerSanctum":{"resourcePath":"missions/innersanctum.mis","displayName":"Inner Sanctum","missionTypes":["DM","Rabbit","Hunters","TeamHunters"]},"Insalubria":{"resourcePath":"missions/insalubria.mis","displayName":null,"missionTypes":["CnH"]},"Insalubrius_x2":{"resourcePath":"missions/insalubrius_x2.mis","displayName":"Insalubrius (x2)","missionTypes":["CTF","DnD"]},"InsideOut_x2":{"resourcePath":"missions/insideout_x2.mis","displayName":"Inside Out (x2)","missionTypes":["DnD"]},"Invictus":{"resourcePath":"missions/invictus.mis","displayName":null,"missionTypes":["DM"]},"IslaHermano":{"resourcePath":"missions/islahermano.mis","displayName":"Isla Hermano","missionTypes":["CTF"]},"Island":{"resourcePath":"missions/island.mis","displayName":"Island","missionTypes":["CTF"]},"IsleOfMan":{"resourcePath":"missions/isleofman.mis","displayName":"Isle of Man","missionTypes":["Siege"]},"IveHadWorse":{"resourcePath":"missions/ivehadworse.mis","displayName":"[Original]IveHadWorse","missionTypes":["Arena"]},"JacobsLadder":{"resourcePath":"missions/jacobsladder.mis","displayName":"Jacob's Ladder","missionTypes":["CnH"]},"JadeValley":{"resourcePath":"missions/jadevalley.mis","displayName":"Jade Valley","missionTypes":["CTF"]},"Jettisoned":{"resourcePath":"missions/jettisoned.mis","displayName":"Jettisoned","missionTypes":["CTF"]},"Katabatic":{"resourcePath":"missions/katabatic.mis","displayName":null,"missionTypes":["CTF"]},"Katabatic_x2":{"resourcePath":"missions/katabatic_x2.mis","displayName":"Katabatic (x2)","missionTypes":["CTF"]},"KataMInfernoT":{"resourcePath":"missions/kataminfernot.mis","displayName":"DMP2-KatabaticM Inferno","missionTypes":["CTF"]},"KataMStormT":{"resourcePath":"missions/katamstormt.mis","displayName":"DMP2-KatabaticM Storm","missionTypes":["CTF"]},"Khalarena":{"resourcePath":"missions/khalarena.mis","displayName":null,"missionTypes":["Arena"]},"ks_braistv":{"resourcePath":"missions/ks_braistv.mis","displayName":"BraisT_V","missionTypes":["CTF"]},"Lakefront":{"resourcePath":"missions/lakefront.mis","displayName":"Lakefront","missionTypes":["CTF","CnH","DnD"]},"LandingParty":{"resourcePath":"missions/landingparty.mis","displayName":"Landing Party","missionTypes":["CTF"]},"Lapiths":{"resourcePath":"missions/lapiths.mis","displayName":"Lapiths","missionTypes":["CTF"]},"LiveBaitDM":{"resourcePath":"missions/livebaitdm.mis","displayName":"LiveBaitDM","missionTypes":["DM"]},"Logans_Run":{"resourcePath":"missions/logans_run.mis","displayName":"Logans Run","missionTypes":["CTF"]},"LushLak":{"resourcePath":"missions/lushlak.mis","displayName":"Lush","missionTypes":["LakRabbit"]},"Mac_FlagArena":{"resourcePath":"missions/mac_flagarena.mis","displayName":"Machineheads Flag Arena","missionTypes":["CTF","SCtF"]},"Machineeggs":{"resourcePath":"missions/machineeggs.mis","displayName":"MachineEggs Flag Arena","missionTypes":["CTF"]},"Magmatic":{"resourcePath":"missions/magmatic.mis","displayName":"Magmatic","missionTypes":["CTF"]},"MagmaticLak":{"resourcePath":"missions/magmaticlak.mis","displayName":"Magmatic","missionTypes":["LakRabbit"]},"MapAssets":{"resourcePath":"missions/mapassets.mis","displayName":"MapAssets","missionTypes":["DM","None","CTF"]},"Masada":{"resourcePath":"missions/masada.mis","displayName":"Masada","missionTypes":["Siege"]},"MiniSunDried":{"resourcePath":"missions/minisundried.mis","displayName":"Mini Sun Dried","missionTypes":["LakRabbit","Hunters"]},"Minotaur":{"resourcePath":"missions/minotaur.mis","displayName":null,"missionTypes":["CTF"]},"Mirage":{"resourcePath":"missions/mirage.mis","displayName":null,"missionTypes":["CTF"]},"MisadventureV2":{"resourcePath":"missions/misadventurev2.mis","displayName":"MisadventureV2","missionTypes":["CTF"]},"MoonDance":{"resourcePath":"missions/moondance.mis","displayName":null,"missionTypes":["CTF"]},"Moonwalk":{"resourcePath":"missions/moonwalk.mis","displayName":"Moonwalk","missionTypes":["CTF"]},"MoonwalkLT":{"resourcePath":"missions/moonwalklt.mis","displayName":"DMP2-Moonwalk LT","missionTypes":["LCTF","SCtF"]},"Morena":{"resourcePath":"missions/morena.mis","displayName":null,"missionTypes":["Arena"]},"MountainMist":{"resourcePath":"missions/mountainmist.mis","displayName":"Mountain Mist","missionTypes":["CTF"]},"MountaintopMayhem":{"resourcePath":"missions/mountaintopmayhem.mis","displayName":"Mountaintop Mayhem","missionTypes":["CTF"]},"Mudside":{"resourcePath":"missions/mudside.mis","displayName":"_Mudside","missionTypes":["Arena"]},"MyrkWood":{"resourcePath":"missions/myrkwood.mis","displayName":"Myrkwood","missionTypes":["Hunters","DM","Rabbit"]},"Narcolepsy":{"resourcePath":"missions/narcolepsy.mis","displayName":"Narcolepsy","missionTypes":["CTF"]},"NarcolepsyLT":{"resourcePath":"missions/narcolepsylt.mis","displayName":"Narcolepsy LT","missionTypes":["LCTF"]},"NatureMagic":{"resourcePath":"missions/naturemagic.mis","displayName":"NatureMagic","missionTypes":["CTF"]},"Nightdance":{"resourcePath":"missions/nightdance.mis","displayName":"Nightdance","missionTypes":["CTF"]},"NirvanaLT":{"resourcePath":"missions/nirvanalt.mis","displayName":"DMP2-Nirvana LT","missionTypes":["LCTF","SCtF"]},"Norty":{"resourcePath":"missions/norty.mis","displayName":"Norty","missionTypes":["CTF"]},"NoShelter_x2":{"resourcePath":"missions/noshelter_x2.mis","displayName":"No Shelter (x2)","missionTypes":["CTF","DnD"]},"Oasis":{"resourcePath":"missions/oasis.mis","displayName":null,"missionTypes":["DM"]},"oasisintensity":{"resourcePath":"missions/oasisintensity.mis","displayName":"Oasis Intensity","missionTypes":["CTF"]},"ObsidianLT":{"resourcePath":"missions/obsidianlt.mis","displayName":"DMP2-Obsidian LT","missionTypes":["SCtF","LCTF"]},"octoberrust":{"resourcePath":"missions/octoberrust.mis","displayName":"October Rust","missionTypes":["CTF"]},"OsIrisLT":{"resourcePath":"missions/osirislt.mis","displayName":"OsIris LT","missionTypes":["LCTF"]},"OuterWilds":{"resourcePath":"missions/outerwilds.mis","displayName":"OuterWilds","missionTypes":["CTF"]},"Overreach":{"resourcePath":"missions/overreach.mis","displayName":null,"missionTypes":["CnH"]},"Pandemonium_x2":{"resourcePath":"missions/pandemonium_x2.mis","displayName":"Pandemonium (x2)","missionTypes":["CTF"]},"Pantheon":{"resourcePath":"missions/pantheon.mis","displayName":null,"missionTypes":["CTF"]},"Pantheon_x2":{"resourcePath":"missions/pantheon_x2.mis","displayName":"Pantheon (x2)","missionTypes":["CTF"]},"Pariah":{"resourcePath":"missions/pariah.mis","displayName":"Pariah","missionTypes":["CTF"]},"Peak":{"resourcePath":"missions/peak.mis","displayName":null,"missionTypes":["CTF"]},"Pendulum":{"resourcePath":"missions/pendulum.mis","displayName":null,"missionTypes":["CTF"]},"PhasmaDust":{"resourcePath":"missions/phasmadust.mis","displayName":"Phasma Dust","missionTypes":["TR2"]},"PhasmaDustLak":{"resourcePath":"missions/phasmadustlak.mis","displayName":"Phasma Dust","missionTypes":["LakRabbit","LakZM","TeamLak"]},"PipeDreamLT":{"resourcePath":"missions/pipedreamlt.mis","displayName":"Pipe Dream LT","missionTypes":["LCTF"]},"PitsDM":{"resourcePath":"missions/pitsdm.mis","displayName":"PitsDM","missionTypes":["DM"]},"Planetside":{"resourcePath":"missions/planetside.mis","displayName":"_Planetside","missionTypes":["Arena"]},"PlanetX":{"resourcePath":"missions/planetx.mis","displayName":"PlanetX","missionTypes":["CTF"]},"Prismatic":{"resourcePath":"missions/prismatic.mis","displayName":"Prismatic","missionTypes":["CTF"]},"PrizmaticLT":{"resourcePath":"missions/prizmaticlt.mis","displayName":"Prizmatic LT","missionTypes":["LCTF"]},"ProArena":{"resourcePath":"missions/proarena.mis","displayName":null,"missionTypes":["Arena"]},"PuliVeivari":{"resourcePath":"missions/puliveivari.mis","displayName":"Puli&Veivari","missionTypes":["CTF"]},"Pyroclasm":{"resourcePath":"missions/pyroclasm.mis","displayName":null,"missionTypes":["DM"]},"Quagmire":{"resourcePath":"missions/quagmire.mis","displayName":null,"missionTypes":["CTF"]},"Quagmire_x2":{"resourcePath":"missions/quagmire_x2.mis","displayName":"Quagmire (x2)","missionTypes":["CTF"]},"Raindance_nef":{"resourcePath":"missions/raindance_nef.mis","displayName":"Raindance","missionTypes":["CTF"]},"Raindance_nefLak":{"resourcePath":"missions/raindance_neflak.mis","displayName":"Raindance","missionTypes":["LakRabbit"]},"RaindanceLT":{"resourcePath":"missions/raindancelt.mis","displayName":"Raindance LT","missionTypes":["LCTF"]},"Ramparts":{"resourcePath":"missions/ramparts.mis","displayName":"Ramparts","missionTypes":["Bounty","CTF","DM","TeamHunters","DnD"]},"RampartsDM":{"resourcePath":"missions/rampartsdm.mis","displayName":"RampartsDM","missionTypes":["DM"]},"Rasp":{"resourcePath":"missions/rasp.mis","displayName":null,"missionTypes":["Hunters","Bounty","DM"]},"RaspDM":{"resourcePath":"missions/raspdm.mis","displayName":null,"missionTypes":["Hunters","Bounty","DM"]},"Raspian":{"resourcePath":"missions/raspian.mis","displayName":"Raspian","missionTypes":["CTF"]},"Ravine":{"resourcePath":"missions/ravine.mis","displayName":"Ravine","missionTypes":["CTF","SCtF"]},"RavineLT":{"resourcePath":"missions/ravinelt.mis","displayName":"Ravine LT","missionTypes":["LCTF"]},"Recalescence":{"resourcePath":"missions/recalescence.mis","displayName":null,"missionTypes":["CTF"]},"Respite":{"resourcePath":"missions/respite.mis","displayName":"Respite","missionTypes":["Siege"]},"RetroDCT2":{"resourcePath":"missions/retrodct2.mis","displayName":"Retro Dangerous Crossing-T2","missionTypes":["CTF"]},"RetroDX":{"resourcePath":"missions/retrodx.mis","displayName":"Retro Dangerous Crossing","missionTypes":["CTF","LCTF"]},"RetroRD":{"resourcePath":"missions/retrord.mis","displayName":"Retro Raindance","missionTypes":["CTF","LCTF"]},"RetroRDT2":{"resourcePath":"missions/retrordt2.mis","displayName":"Retro Raindance-T2","missionTypes":["CTF"]},"RetroSB":{"resourcePath":"missions/retrosb.mis","displayName":"Retro Snowblind","missionTypes":["CTF","LCTF"]},"RetroSH":{"resourcePath":"missions/retrosh.mis","displayName":"Retro Stonehenge","missionTypes":["CTF","LCTF"]},"RetroSHT2":{"resourcePath":"missions/retrosht2.mis","displayName":"Retro Stonehenge-T2","missionTypes":["CTF"]},"Reversion":{"resourcePath":"missions/reversion.mis","displayName":null,"missionTypes":["CTF"]},"Reversion_x2":{"resourcePath":"missions/reversion_x2.mis","displayName":"Reversion (x2)","missionTypes":["CTF"]},"Ridgerena":{"resourcePath":"missions/ridgerena.mis","displayName":"Ridgerena","missionTypes":["Arena"]},"Rimehold":{"resourcePath":"missions/rimehold.mis","displayName":null,"missionTypes":["Hunters","TeamHunters"]},"RingofFireDM":{"resourcePath":"missions/ringoffiredm.mis","displayName":"Ring of Fire DM","missionTypes":["DM"]},"RiverDance":{"resourcePath":"missions/riverdance.mis","displayName":"Riverdance","missionTypes":["CTF","Bounty"]},"Rollercoaster_nef":{"resourcePath":"missions/rollercoaster_nef.mis","displayName":"Rollercoaster","missionTypes":["CTF"]},"Rollercoaster_nef_FZ":{"resourcePath":"missions/rollercoaster_nef_fz.mis","displayName":"Rollercoaster","missionTypes":["CTF"]},"RoundTheMountain":{"resourcePath":"missions/roundthemountain.mis","displayName":"'Round the Mountain","missionTypes":["CTF"]},"RoundTheMountainLT":{"resourcePath":"missions/roundthemountainlt.mis","displayName":"'Round the Mountain LT","missionTypes":["LCTF"]},"Ruined":{"resourcePath":"missions/ruined.mis","displayName":"Ruined","missionTypes":["CTF"]},"RunenmachtLT":{"resourcePath":"missions/runenmachtlt.mis","displayName":"Runenmacht LT","missionTypes":["LCTF"]},"Rush":{"resourcePath":"missions/rush.mis","displayName":"Rush","missionTypes":["CTF","SCtF"]},"RushLT":{"resourcePath":"missions/rushlt.mis","displayName":"Rush LT","missionTypes":["LCTF"]},"S5_Centaur":{"resourcePath":"missions/s5_centaur.mis","displayName":"S5-Centaur","missionTypes":["CTF"]},"S5_Damnation":{"resourcePath":"missions/s5_damnation.mis","displayName":"S5-Damnation","missionTypes":["CTF"]},"S5_DamnationLT":{"resourcePath":"missions/s5_damnationlt.mis","displayName":"S5-Damnation LT","missionTypes":["LCTF"]},"S5_Drache":{"resourcePath":"missions/s5_drache.mis","displayName":"S5-Drache","missionTypes":["CTF"]},"S5_HawkingHeat":{"resourcePath":"missions/s5_hawkingheat.mis","displayName":"S5-Hawking Heat","missionTypes":["CTF"]},"S5_Icedance":{"resourcePath":"missions/s5_icedance.mis","displayName":"S5-Icedance","missionTypes":["CTF"]},"S5_Massive":{"resourcePath":"missions/s5_massive.mis","displayName":"S5-Massive","missionTypes":["CTF"]},"S5_MassiveLT":{"resourcePath":"missions/s5_massivelt.mis","displayName":"S5-Massive LT","missionTypes":["LCTF"]},"S5_Mimicry":{"resourcePath":"missions/s5_mimicry.mis","displayName":"S5-Mimicry","missionTypes":["CTF"]},"S5_Misadventure":{"resourcePath":"missions/s5_misadventure.mis","displayName":"S5-Misadventure","missionTypes":["CTF"]},"S5_Mordacity":{"resourcePath":"missions/s5_mordacity.mis","displayName":"S5-Mordacity","missionTypes":["CTF"]},"S5_Reynard":{"resourcePath":"missions/s5_reynard.mis","displayName":"S5-Reynard","missionTypes":["CTF"]},"S5_Sherman":{"resourcePath":"missions/s5_sherman.mis","displayName":"S5-Sherman","missionTypes":["CTF"]},"S5_Silenus":{"resourcePath":"missions/s5_silenus.mis","displayName":"S5-Silenus","missionTypes":["CTF"]},"S5_SilenusLT":{"resourcePath":"missions/s5_silenuslt.mis","displayName":"S5-Silenus LT","missionTypes":["LCTF"]},"S5_Woodymyrk":{"resourcePath":"missions/s5_woodymyrk.mis","displayName":"S5-WoodyMyrk","missionTypes":["CTF"]},"S8_Cardiac":{"resourcePath":"missions/s8_cardiac.mis","displayName":"S8-Cardiac","missionTypes":["CTF"]},"S8_CentralDogma":{"resourcePath":"missions/s8_centraldogma.mis","displayName":"S8-Central Dogma","missionTypes":["CTF"]},"S8_Geothermal":{"resourcePath":"missions/s8_geothermal.mis","displayName":"S8-Geothermal","missionTypes":["CTF"]},"S8_GeothermalLak":{"resourcePath":"missions/s8_geothermallak.mis","displayName":"S8_Geothermal","missionTypes":["LakRabbit"]},"S8_Mountking":{"resourcePath":"missions/s8_mountking.mis","displayName":"S8-Mountain King","missionTypes":["CTF"]},"S8_Opus":{"resourcePath":"missions/s8_opus.mis","displayName":"S8-Opus","missionTypes":["CTF"]},"S8_Zilch":{"resourcePath":"missions/s8_zilch.mis","displayName":"S8-Zilch","missionTypes":["CTF"]},"S8_ZilchLT":{"resourcePath":"missions/s8_zilchlt.mis","displayName":"S8-Zilch LT","missionTypes":["LCTF"]},"SaddiesHill":{"resourcePath":"missions/saddieshill.mis","displayName":"Saddie's Hill","missionTypes":["LakRabbit"]},"Sanctuary":{"resourcePath":"missions/sanctuary.mis","displayName":null,"missionTypes":["CTF"]},"SandOcean":{"resourcePath":"missions/sandocean.mis","displayName":null,"missionTypes":["CTF"]},"Sandstorm":{"resourcePath":"missions/sandstorm.mis","displayName":"Sandstorm","missionTypes":["CTF","CnH","DnD"]},"SandstormLak":{"resourcePath":"missions/sandstormlak.mis","displayName":"Sandstorm","missionTypes":["LakRabbit","LakZM","TeamLak"]},"SandyRunLT":{"resourcePath":"missions/sandyrunlt.mis","displayName":"SandyRunLT","missionTypes":["LCTF"]},"Sangre_de_Grado":{"resourcePath":"missions/sangre_de_grado.mis","displayName":"Sangre de Grado","missionTypes":["CTF"]},"SC_Badlands":{"resourcePath":"missions/sc_badlands.mis","displayName":"Small Crossing (Badlands)","missionTypes":["CTF"]},"SC_Desert":{"resourcePath":"missions/sc_desert.mis","displayName":"Small Crossing (Desert)","missionTypes":["CTF"]},"SC_Ice":{"resourcePath":"missions/sc_ice.mis","displayName":"Small Crossing (Ice)","missionTypes":["CTF"]},"SC_Lush":{"resourcePath":"missions/sc_lush.mis","displayName":"Small Crossing (Lush)","missionTypes":["CTF"]},"SC_Night":{"resourcePath":"missions/sc_night.mis","displayName":"Small Crossing (Night)","missionTypes":["CTF"]},"SC_Normal":{"resourcePath":"missions/sc_normal.mis","displayName":"Small Crossing","missionTypes":["CTF"]},"Scarabrae_nef":{"resourcePath":"missions/scarabrae_nef.mis","displayName":"Scarabrae","missionTypes":["CTF","DnD"]},"Sector1":{"resourcePath":"missions/sector1.mis","displayName":"Sector1","missionTypes":["CTF"]},"Sentry":{"resourcePath":"missions/sentry.mis","displayName":"Sentry","missionTypes":["CTF"]},"ShockRidge":{"resourcePath":"missions/shockridge.mis","displayName":"Shock Ridge","missionTypes":["CTF","CnH"]},"Shortfall":{"resourcePath":"missions/shortfall.mis","displayName":"Shortfall","missionTypes":["CTF"]},"ShrineArena":{"resourcePath":"missions/shrinearena.mis","displayName":"ShrineArena","missionTypes":["Arena"]},"ShrineArenaII":{"resourcePath":"missions/shrinearenaii.mis","displayName":"_ShrineArena II","missionTypes":["Arena"]},"ShrineDM":{"resourcePath":"missions/shrinedm.mis","displayName":"ShrineDM","missionTypes":["DM"]},"SideWinder":{"resourcePath":"missions/sidewinder.mis","displayName":"DMP2-SideWinder","missionTypes":["CTF"]},"Signal":{"resourcePath":"missions/signal.mis","displayName":"Signal","missionTypes":["CTF"]},"SignalDX":{"resourcePath":"missions/signaldx.mis","displayName":"Signal DX","missionTypes":["CTF"]},"SignalLT":{"resourcePath":"missions/signallt.mis","displayName":"Signal LT","missionTypes":["LCTF"]},"Sirocco":{"resourcePath":"missions/sirocco.mis","displayName":null,"missionTypes":["CnH"]},"SkinnyDip":{"resourcePath":"missions/skinnydip.mis","displayName":"Skinny Dip","missionTypes":["TR2"]},"SkinnyDipLak":{"resourcePath":"missions/skinnydiplak.mis","displayName":"Skinny Dip","missionTypes":["LakRabbit","LakZM","TeamLak"]},"Slamnation":{"resourcePath":"missions/slamnation.mis","displayName":"Slamnation","missionTypes":["CTF"]},"Slapdash":{"resourcePath":"missions/slapdash.mis","displayName":"Slapdash","missionTypes":["CTF"]},"Slapdash_x2":{"resourcePath":"missions/slapdash_x2.mis","displayName":"Slapdash (x2)","missionTypes":["CTF"]},"slapdashMInferno":{"resourcePath":"missions/slapdashminferno.mis","displayName":"DMP2-SlapdashM Inferno","missionTypes":["CTF"]},"slapdashMStorm":{"resourcePath":"missions/slapdashmstorm.mis","displayName":"DMP2-SlapdashM Storm","missionTypes":["CTF"]},"SmallCrossing":{"resourcePath":"missions/smallcrossing.mis","displayName":"Small Crossing","missionTypes":["CTF"]},"SmallCrossingLT":{"resourcePath":"missions/smallcrossinglt.mis","displayName":"Small Crossing LT","missionTypes":["LCTF"]},"SmallDesertofDeath":{"resourcePath":"missions/smalldesertofdeath.mis","displayName":"Small Desert of Death","missionTypes":["CTF","SCtF"]},"SmallMelee":{"resourcePath":"missions/smallmelee.mis","displayName":"Small Melee","missionTypes":["CTF","SCtF"]},"SmallSpit":{"resourcePath":"missions/smallspit.mis","displayName":"Small Spit","missionTypes":["CTF"]},"SmallSpitLT":{"resourcePath":"missions/smallspitlt.mis","displayName":"Small Spit LT","missionTypes":["LCTF"]},"SmallTimeCTF":{"resourcePath":"missions/smalltimectf.mis","displayName":"SmallTime CTF","missionTypes":["CTF"]},"SmallTimeLT":{"resourcePath":"missions/smalltimelt.mis","displayName":"SmallTime LT","missionTypes":["LCTF"]},"Smog_x2":{"resourcePath":"missions/smog_x2.mis","displayName":"Smog (x2)","missionTypes":["CTF"]},"SmogArena":{"resourcePath":"missions/smogarena.mis","displayName":"Smog Arena","missionTypes":["Arena"]},"Snowblind_nef":{"resourcePath":"missions/snowblind_nef.mis","displayName":"Snowblind","missionTypes":["CTF"]},"SnowBound":{"resourcePath":"missions/snowbound.mis","displayName":"SnowBound","missionTypes":["Arena"]},"Snowcone":{"resourcePath":"missions/snowcone.mis","displayName":null,"missionTypes":["CTF"]},"SoccerLand":{"resourcePath":"missions/soccerland.mis","displayName":"^_^ SoccerLand","missionTypes":["Arena"]},"SolsDescent":{"resourcePath":"missions/solsdescent.mis","displayName":"Sol's Descent","missionTypes":["TR2"]},"SolsDescentLak":{"resourcePath":"missions/solsdescentlak.mis","displayName":"Sol's Descent","missionTypes":["LakRabbit"]},"SoylentGreen":{"resourcePath":"missions/soylentgreen.mis","displayName":null,"missionTypes":["CTF"]},"Spacewalk":{"resourcePath":"missions/spacewalk.mis","displayName":"Spacewalk","missionTypes":["CTF"]},"SpectreLak":{"resourcePath":"missions/spectrelak.mis","displayName":"Spectre","missionTypes":["LakRabbit"]},"SpyLand":{"resourcePath":"missions/spyland.mis","displayName":"^_^ SpyLand","missionTypes":["Arena"]},"StarFallCTF":{"resourcePath":"missions/starfallctf.mis","displayName":"StarFall","missionTypes":["CTF"]},"Starfallen":{"resourcePath":"missions/starfallen.mis","displayName":"Starfallen","missionTypes":["CTF","DnD"]},"StarIce":{"resourcePath":"missions/starice.mis","displayName":"StarIce [Reverse-CTF]","missionTypes":["CTF","CnH"]},"Stonehenge_Arena":{"resourcePath":"missions/stonehenge_arena.mis","displayName":null,"missionTypes":["Arena"]},"Stonehenge_nef":{"resourcePath":"missions/stonehenge_nef.mis","displayName":"Stonehenge","missionTypes":["CTF"]},"stormsrage":{"resourcePath":"missions/stormsrage.mis","displayName":"DMP2-Storms Rage","missionTypes":["CTF"]},"Stripmine_x2":{"resourcePath":"missions/stripmine_x2.mis","displayName":"Stripmine (x2)","missionTypes":["CTF"]},"SubZero":{"resourcePath":"missions/subzero.mis","displayName":"Sub-zero","missionTypes":["CTF"]},"SubzeroV":{"resourcePath":"missions/subzerov.mis","displayName":"Sub-ZeroV","missionTypes":["CTF"]},"Sulfide":{"resourcePath":"missions/sulfide.mis","displayName":"Sulfide","missionTypes":["LakRabbit"]},"Sundance":{"resourcePath":"missions/sundance.mis","displayName":"SunDance","missionTypes":["LakRabbit"]},"SunDried":{"resourcePath":"missions/sundried.mis","displayName":"Sun Dried","missionTypes":["Hunters","Bounty","DM","Rabbit"]},"SunDriedLak":{"resourcePath":"missions/sundriedlak.mis","displayName":"Sun Dried","missionTypes":["LakRabbit"]},"SuperHappyBouncyFunTime":{"resourcePath":"missions/superhappybouncyfuntime.mis","displayName":"Super Happy Bouncy Fun Time","missionTypes":["CTF"]},"SuperiorWaterworks":{"resourcePath":"missions/superiorwaterworks.mis","displayName":"Superior Waterworks","missionTypes":["CTF"]},"Surreal":{"resourcePath":"missions/surreal.mis","displayName":"Surreal","missionTypes":["Bounty","CTF","DM"]},"SurrealLT":{"resourcePath":"missions/surreallt.mis","displayName":"Surreal LT","missionTypes":["LCTF"]},"Surro":{"resourcePath":"missions/surro.mis","displayName":"Surro","missionTypes":["CTF"]},"Talus":{"resourcePath":"missions/talus.mis","displayName":null,"missionTypes":["Hunters","Bounty","DM"]},"TempleTussleVersion2":{"resourcePath":"missions/templetussleversion2.mis","displayName":"_TempleTussle Version II","missionTypes":["Arena"]},"Tenebrous":{"resourcePath":"missions/tenebrous.mis","displayName":"Tenebrous","missionTypes":["Arena"]},"TenebrousCTF":{"resourcePath":"missions/tenebrousctf.mis","displayName":"Tenebrous","missionTypes":["CTF"]},"The_Calm":{"resourcePath":"missions/the_calm.mis","displayName":"The Calm","missionTypes":["CTF"]},"TheClocktower":{"resourcePath":"missions/theclocktower.mis","displayName":"The Clocktower","missionTypes":["CTF"]},"TheFray":{"resourcePath":"missions/thefray.mis","displayName":"The Fray","missionTypes":["CTF"]},"ThinIce":{"resourcePath":"missions/thinice.mis","displayName":"Thin Ice","missionTypes":["CTF"]},"ThunderGiant_x2":{"resourcePath":"missions/thundergiant_x2.mis","displayName":"Thunder Giant (x2)","missionTypes":["CTF"]},"TibbawLak":{"resourcePath":"missions/tibbawlak.mis","displayName":"Tibbaw","missionTypes":["LakRabbit"]},"Titan":{"resourcePath":"missions/titan.mis","displayName":"Titan","missionTypes":["CTF"]},"TitaniaLak":{"resourcePath":"missions/titanialak.mis","displayName":"Titania","missionTypes":["LakRabbit"]},"TitanV":{"resourcePath":"missions/titanv.mis","displayName":"TitanV","missionTypes":["CTF"]},"TitForTat":{"resourcePath":"missions/titfortat.mis","displayName":"Tit For Tat","missionTypes":["CTF"]},"Tombstone":{"resourcePath":"missions/tombstone.mis","displayName":null,"missionTypes":["CTF"]},"Tombstone_x2":{"resourcePath":"missions/tombstone_x2.mis","displayName":"Tombstone (x2)","missionTypes":["CTF"]},"Training1":{"resourcePath":"missions/training1.mis","displayName":"Newblood","missionTypes":["SinglePlayer"]},"Training2":{"resourcePath":"missions/training2.mis","displayName":"Warrior","missionTypes":["SinglePlayer"]},"Training3":{"resourcePath":"missions/training3.mis","displayName":"Ranger","missionTypes":["SinglePlayer"]},"Training4":{"resourcePath":"missions/training4.mis","displayName":"Sergeant","missionTypes":["SinglePlayer"]},"Training5":{"resourcePath":"missions/training5.mis","displayName":"Lieutenant","missionTypes":["SinglePlayer"]},"TreasureIsland":{"resourcePath":"missions/treasureisland.mis","displayName":"Treasure Island","missionTypes":["TR2"]},"TreasureIslandLak":{"resourcePath":"missions/treasureislandlak.mis","displayName":"Treasure Island","missionTypes":["LakRabbit","LakZM","TeamLak"]},"Triad":{"resourcePath":"missions/triad.mis","displayName":"Triad","missionTypes":["CTF"]},"Trident":{"resourcePath":"missions/trident.mis","displayName":"Trident","missionTypes":["Siege"]},"TrueGrit":{"resourcePath":"missions/truegrit.mis","displayName":"True Grit","missionTypes":["Arena"]},"TST_SphereMap":{"resourcePath":"missions/tst_spheremap.mis","displayName":"TST-SphereMap","missionTypes":["CTF"]},"TuskLT":{"resourcePath":"missions/tusklt.mis","displayName":"DMP2-Tusk LT","missionTypes":["SCtF","LCTF"]},"TwilightGroveLT":{"resourcePath":"missions/twilightgrovelt.mis","displayName":"DMP2-Twilight Grove LT","missionTypes":["SCtF","LCTF"]},"twinDrakes":{"resourcePath":"missions/twindrakes.mis","displayName":"DMP2-Twin Drakes","missionTypes":["CTF"]},"TwinTorrentsCCW":{"resourcePath":"missions/twintorrentsccw.mis","displayName":"DMP2-Twin Torrents CCW","missionTypes":["CTF"]},"TwinTorrentsCW":{"resourcePath":"missions/twintorrentscw.mis","displayName":"DMP2-Twin Torrents CW","missionTypes":["CTF"]},"TWL2_Bleed":{"resourcePath":"missions/twl2_bleed.mis","displayName":"TWL2-Bleed","missionTypes":["CTF"]},"TWL2_BlueMoon":{"resourcePath":"missions/twl2_bluemoon.mis","displayName":"TWL2-Blue Moon","missionTypes":["CTF"]},"TWL2_CanyonCrusadeDeluxe":{"resourcePath":"missions/twl2_canyoncrusadedeluxe.mis","displayName":"TWL2-Canyon Crusade Deluxe","missionTypes":["CTF"]},"TWL2_CanyonCrusadeDeluxeLT":{"resourcePath":"missions/twl2_canyoncrusadedeluxelt.mis","displayName":"TWL2-Canyon Crusade DeluxeLT","missionTypes":["LCTF"]},"TWL2_Celerity":{"resourcePath":"missions/twl2_celerity.mis","displayName":"TWL2-Celerity","missionTypes":["CTF"]},"TWL2_CelerityLT":{"resourcePath":"missions/twl2_celeritylt.mis","displayName":"TWL2-Celerity LT","missionTypes":["LCTF"]},"TWL2_CloakOfNight":{"resourcePath":"missions/twl2_cloakofnight.mis","displayName":"TWL2-Cloak of Night","missionTypes":["CTF"]},"TWL2_Crevice":{"resourcePath":"missions/twl2_crevice.mis","displayName":"TWL2-Crevice","missionTypes":["CTF"]},"TWL2_Dissention":{"resourcePath":"missions/twl2_dissention.mis","displayName":"TWL2-Dissention","missionTypes":["CTF"]},"TWL2_Drifts":{"resourcePath":"missions/twl2_drifts.mis","displayName":"TWL2-Drifts","missionTypes":["CTF"]},"TWL2_Drorck":{"resourcePath":"missions/twl2_drorck.mis","displayName":"TWL2-Drorck","missionTypes":["CTF"]},"TWL2_FrozenGlory":{"resourcePath":"missions/twl2_frozenglory.mis","displayName":"TWL2-Frozen Glory","missionTypes":["CTF"]},"TWL2_FrozenHope":{"resourcePath":"missions/twl2_frozenhope.mis","displayName":"TWL2-Frozen Hope","missionTypes":["CTF"]},"TWL2_Hildebrand":{"resourcePath":"missions/twl2_hildebrand.mis","displayName":"TWL2-Hildebrand","missionTypes":["CTF"]},"TWL2_HildebrandLT":{"resourcePath":"missions/twl2_hildebrandlt.mis","displayName":"TWL2-HildebrandLT","missionTypes":["LCTF"]},"TWL2_IceDagger":{"resourcePath":"missions/twl2_icedagger.mis","displayName":"TWL2-Ice Dagger","missionTypes":["CTF"]},"TWL2_JaggedClaw":{"resourcePath":"missions/twl2_jaggedclaw.mis","displayName":"TWL2-Jagged Claw","missionTypes":["CTF"]},"TWL2_JaggedClawLT":{"resourcePath":"missions/twl2_jaggedclawlt.mis","displayName":"TWL2-Jagged Claw LT","missionTypes":["LCTF"]},"TWL2_Magnum":{"resourcePath":"missions/twl2_magnum.mis","displayName":"TWL2-Magnum","missionTypes":["CTF"]},"TWL2_MidnightMayhemDeluxe":{"resourcePath":"missions/twl2_midnightmayhemdeluxe.mis","displayName":"TWL2-Midnight Mayhem Deluxe","missionTypes":["CTF"]},"TWL2_MuddySwamp":{"resourcePath":"missions/twl2_muddyswamp.mis","displayName":"TWL2-Muddy Swamp","missionTypes":["CTF"]},"TWL2_MuddySwampLak":{"resourcePath":"missions/twl2_muddyswamplak.mis","displayName":"TWL2-Muddy Swamp","missionTypes":["LakRabbit"]},"TWL2_Norty":{"resourcePath":"missions/twl2_norty.mis","displayName":"TWL2-Norty","missionTypes":["CTF"]},"TWL2_Ocular":{"resourcePath":"missions/twl2_ocular.mis","displayName":"TWL2-Ocular","missionTypes":["CTF"]},"TWL2_RoughLand":{"resourcePath":"missions/twl2_roughland.mis","displayName":"TWL2-Rough Land","missionTypes":["CTF"]},"TWL2_Ruined":{"resourcePath":"missions/twl2_ruined.mis","displayName":"TWL2-Ruined","missionTypes":["CTF"]},"TWL2_Skylight":{"resourcePath":"missions/twl2_skylight.mis","displayName":"TWL2-Skylight","missionTypes":["CTF"]},"TWL2_SkylightLT":{"resourcePath":"missions/twl2_skylightlt.mis","displayName":"TWL2-Skylight LT","missionTypes":["LCTF"]},"TWL2_WoodyMyrk":{"resourcePath":"missions/twl2_woodymyrk.mis","displayName":"TWL2-Woody Myrk","missionTypes":["CTF"]},"TWL_Abaddon":{"resourcePath":"missions/twl_abaddon.mis","displayName":"TWL-Abaddon","missionTypes":["CTF"]},"TWL_BaNsHee":{"resourcePath":"missions/twl_banshee.mis","displayName":"TWL-BaNsHee","missionTypes":["CTF"]},"TWL_BeachBlitz":{"resourcePath":"missions/twl_beachblitz.mis","displayName":"TWL-Beach Blitz","missionTypes":["CTF"]},"TWL_BeachBlitzLak":{"resourcePath":"missions/twl_beachblitzlak.mis","displayName":"TWL-Beach Blitz","missionTypes":["LakRabbit"]},"TWL_BeachBlitzLT":{"resourcePath":"missions/twl_beachblitzlt.mis","displayName":"TWL-Beach Blitz LT","missionTypes":["LCTF"]},"TWL_BeachBlitzM":{"resourcePath":"missions/twl_beachblitzm.mis","displayName":"DMP2-Beach Blitz-M","missionTypes":["CTF"]},"TWL_BeachBlitzMLT":{"resourcePath":"missions/twl_beachblitzmlt.mis","displayName":"DMP2-Beach Blitz-M LT","missionTypes":["SCtF","LCTF"]},"TWL_BeggarsRun":{"resourcePath":"missions/twl_beggarsrun.mis","displayName":"TWL-Beggar's Run","missionTypes":["CTF"]},"TWL_BlueMoon":{"resourcePath":"missions/twl_bluemoon.mis","displayName":"TWL-Blue Moon","missionTypes":["CTF"]},"TWL_Boss":{"resourcePath":"missions/twl_boss.mis","displayName":"TWL-Boss","missionTypes":["CTF"]},"TWL_Celerity":{"resourcePath":"missions/twl_celerity.mis","displayName":"TWL-Celerity","missionTypes":["CTF"]},"TWL_Chokepoint":{"resourcePath":"missions/twl_chokepoint.mis","displayName":"TWL-Choke Point","missionTypes":["CTF"]},"TWL_Cinereous":{"resourcePath":"missions/twl_cinereous.mis","displayName":"TWL-Cinereous","missionTypes":["CTF"]},"TWL_Clusterfuct":{"resourcePath":"missions/twl_clusterfuct.mis","displayName":"TWL-Clusterfuct","missionTypes":["CTF"]},"TWL_Crossfire":{"resourcePath":"missions/twl_crossfire.mis","displayName":"TWL-Cross Fire","missionTypes":["CTF"]},"TWL_Curtilage":{"resourcePath":"missions/twl_curtilage.mis","displayName":"TWL-Curtilage","missionTypes":["CTF"]},"TWL_Damnation":{"resourcePath":"missions/twl_damnation.mis","displayName":"TWL-Damnation","missionTypes":["CTF"]},"TWL_DangerousCrossing":{"resourcePath":"missions/twl_dangerouscrossing.mis","displayName":"TWL-Dangerous Crossing","missionTypes":["CTF"]},"TWL_DeadlyBirdsSong":{"resourcePath":"missions/twl_deadlybirdssong.mis","displayName":"TWL-Deadly Birds Song","missionTypes":["CTF"]},"TWL_Deserted":{"resourcePath":"missions/twl_deserted.mis","displayName":"TWL-Deserted","missionTypes":["CTF"]},"TWL_Drifts":{"resourcePath":"missions/twl_drifts.mis","displayName":"TWL-Drifts","missionTypes":["CTF"]},"TWL_Feign":{"resourcePath":"missions/twl_feign.mis","displayName":"TWL-Feign","missionTypes":["CTF"]},"TWL_FeignLT":{"resourcePath":"missions/twl_feignlt.mis","displayName":"TWL-Feign LT","missionTypes":["LCTF"]},"TWL_Frostclaw":{"resourcePath":"missions/twl_frostclaw.mis","displayName":"TWL-Frostclaw","missionTypes":["CTF"]},"TWL_Frozen":{"resourcePath":"missions/twl_frozen.mis","displayName":"TWL-Frozen","missionTypes":["CTF"]},"TWL_Harvester":{"resourcePath":"missions/twl_harvester.mis","displayName":"TWL-Harvester","missionTypes":["CTF"]},"TWL_Horde":{"resourcePath":"missions/twl_horde.mis","displayName":"TWL-Horde","missionTypes":["CTF"]},"TWL_Katabatic":{"resourcePath":"missions/twl_katabatic.mis","displayName":"TWL-Katabatic","missionTypes":["CTF"]},"TWL_Magmatic":{"resourcePath":"missions/twl_magmatic.mis","displayName":"TWL-Magmatic","missionTypes":["CTF"]},"TWL_Minotaur":{"resourcePath":"missions/twl_minotaur.mis","displayName":"TWL-Minotaur","missionTypes":["CTF"]},"TWL_Neve":{"resourcePath":"missions/twl_neve.mis","displayName":"TWL-Neve","missionTypes":["CTF"]},"TWL_NoShelter":{"resourcePath":"missions/twl_noshelter.mis","displayName":"TWL-No Shelter","missionTypes":["CTF"]},"TWL_OsIris":{"resourcePath":"missions/twl_osiris.mis","displayName":"TWL-Os Iris","missionTypes":["CTF"]},"TWL_Pandemonium":{"resourcePath":"missions/twl_pandemonium.mis","displayName":"TWL-Pandemonium","missionTypes":["CTF"]},"TWL_Quagmire":{"resourcePath":"missions/twl_quagmire.mis","displayName":"TWL-Quagmire","missionTypes":["CTF"]},"TWL_Raindance":{"resourcePath":"missions/twl_raindance.mis","displayName":"TWL-Raindance","missionTypes":["CTF"]},"TWL_Ramparts":{"resourcePath":"missions/twl_ramparts.mis","displayName":"TWL-Ramparts","missionTypes":["CTF"]},"TWL_Reversion":{"resourcePath":"missions/twl_reversion.mis","displayName":"TWL-Reversion","missionTypes":["CTF"]},"TWL_Rollercoaster":{"resourcePath":"missions/twl_rollercoaster.mis","displayName":"TWL-Rollercoaster","missionTypes":["CTF"]},"TWL_RollercoasterLT":{"resourcePath":"missions/twl_rollercoasterlt.mis","displayName":"TWL-Rollercoaster LT","missionTypes":["LCTF"]},"TWL_Runenmacht":{"resourcePath":"missions/twl_runenmacht.mis","displayName":"TWL-Runenmacht","missionTypes":["CTF"]},"TWL_Sandstorm":{"resourcePath":"missions/twl_sandstorm.mis","displayName":"TWL-Sandstorm","missionTypes":["CTF"]},"TWL_Slapdash":{"resourcePath":"missions/twl_slapdash.mis","displayName":"TWL-Slapdash","missionTypes":["CTF"]},"TWL_Snowblind":{"resourcePath":"missions/twl_snowblind.mis","displayName":"TWL-Snowblind","missionTypes":["CTF"]},"TWL_Starfallen":{"resourcePath":"missions/twl_starfallen.mis","displayName":"TWL-Starfallen","missionTypes":["CTF"]},"TWL_Stonehenge":{"resourcePath":"missions/twl_stonehenge.mis","displayName":"TWL-Stonehenge","missionTypes":["CTF"]},"TWL_StonehengeLT":{"resourcePath":"missions/twl_stonehengelt.mis","displayName":"TWL-StonehengeLT","missionTypes":["LCTF"]},"TWL_SubZero":{"resourcePath":"missions/twl_subzero.mis","displayName":"TWL-Subzero","missionTypes":["CTF"]},"TWL_Surreal":{"resourcePath":"missions/twl_surreal.mis","displayName":"TWL-Surreal","missionTypes":["CTF"]},"TWL_Titan":{"resourcePath":"missions/twl_titan.mis","displayName":"TWL-Titan","missionTypes":["CTF"]},"TWL_WhiteDwarf":{"resourcePath":"missions/twl_whitedwarf.mis","displayName":"TWL-White Dwarf","missionTypes":["CTF"]},"TWL_WilderZone":{"resourcePath":"missions/twl_wilderzone.mis","displayName":"TWL-WilderZone","missionTypes":["CTF"]},"TWL_WilderZoneLT":{"resourcePath":"missions/twl_wilderzonelt.mis","displayName":"TWL-WilderZone LT","missionTypes":["LCTF"]},"TWL_WoodyMyrk":{"resourcePath":"missions/twl_woodymyrk.mis","displayName":"TWL-WoodyMyrk","missionTypes":["CTF"]},"Two_Towers":{"resourcePath":"missions/two_towers.mis","displayName":"DMP2-Two Towers","missionTypes":["CTF"]},"UltimaThule":{"resourcePath":"missions/ultimathule.mis","displayName":"Ultima Thule","missionTypes":["Siege"]},"Underhill":{"resourcePath":"missions/underhill.mis","displayName":null,"missionTypes":["Hunters","Bounty","DM"]},"UporDown":{"resourcePath":"missions/upordown.mis","displayName":"_UporDown","missionTypes":["Arena"]},"VanDamnedCTF":{"resourcePath":"missions/vandamnedctf.mis","displayName":"VanDamned","missionTypes":["CTF"]},"VanDamnedLT":{"resourcePath":"missions/vandamnedlt.mis","displayName":"VanDamned LT","missionTypes":["LCTF"]},"Vauban":{"resourcePath":"missions/vauban.mis","displayName":null,"missionTypes":["CTF"]},"Vaubania":{"resourcePath":"missions/vaubania.mis","displayName":"Vaubania","missionTypes":["CTF"]},"VaubanLak":{"resourcePath":"missions/vaubanlak.mis","displayName":"Vauban","missionTypes":["LakRabbit"]},"VulcansWrathDM":{"resourcePath":"missions/vulcanswrathdm.mis","displayName":"VulcansWrathDM","missionTypes":["DM"]},"WalledIn":{"resourcePath":"missions/walledin.mis","displayName":"WalledIn","missionTypes":["Arena"]},"WalledInII":{"resourcePath":"missions/walledinii.mis","displayName":"[Original]Walledin","missionTypes":["Arena"]},"Wasteland_x2":{"resourcePath":"missions/wasteland_x2.mis","displayName":"Wasteland (x2)","missionTypes":["CTF"]},"WhiteDwarf":{"resourcePath":"missions/whitedwarf.mis","displayName":"White Dwarf","missionTypes":["CTF"]},"WhiteDwarfDeluxe":{"resourcePath":"missions/whitedwarfdeluxe.mis","displayName":"WhiteDwarf Deluxe","missionTypes":["CTF"]},"WhiteDwarfDeluxeLT":{"resourcePath":"missions/whitedwarfdeluxelt.mis","displayName":"WhiteDwarf Deluxe LT","missionTypes":["LCTF"]},"Whiteout":{"resourcePath":"missions/whiteout.mis","displayName":null,"missionTypes":["DM","Bounty"]},"WindyGap":{"resourcePath":"missions/windygap.mis","displayName":null,"missionTypes":["CTF"]},"woe":{"resourcePath":"missions/woe.mis","displayName":"DMP2-What On Earth","missionTypes":["CTF"]},"WonderLand":{"resourcePath":"missions/wonderland.mis","displayName":"^_^ WonderLand","missionTypes":["Arena"]},"WoodyMyrk_x2":{"resourcePath":"missions/woodymyrk_x2.mis","displayName":"WoodyMyrk (x2)","missionTypes":["CTF"]},"Wrongside":{"resourcePath":"missions/wrongside.mis","displayName":"Wrongside","missionTypes":["TDM"]},"Yubarena":{"resourcePath":"missions/yubarena.mis","displayName":"_Yubarena","missionTypes":["Arena"]},"Zilch":{"resourcePath":"missions/zilch.mis","displayName":"Zilch","missionTypes":["CTF"]}}`)};function n(t){return e(t).toLowerCase()}function r(){return t.resources}function i(e){let[n,...r]=t.resources[e],[i,a]=r[r.length-1];return[i,a??n]}function a(e){let r=n(e);if(t.resources[r])return r;let i=r.replace(/\d+(\.(png))$/i,`$1`);if(t.resources[i])return i;throw Error(`Resource not found in manifest: ${e}`)}function o(){return Object.keys(t.resources)}var s=[``,`.jpg`,`.png`,`.gif`,`.bmp`];function c(e){let r=n(e);for(let e of s){let n=`${r}${e}`;if(t.resources[n])return n}return r}function l(e){let n=t.missions[e];if(!n)throw Error(`Mission not found: ${e}`);return n}function u(e){return e in t.missions}function d(){return Object.keys(t.missions)}export{o as a,c,n as i,u as l,l as n,r as o,d as r,i as s,a as t}; \ No newline at end of file diff --git a/docs/assets/misToScene-BZgvLXYv.js b/docs/assets/misToScene-CUofLla5.js similarity index 100% rename from docs/assets/misToScene-BZgvLXYv.js rename to docs/assets/misToScene-CUofLla5.js diff --git a/docs/assets/mission-JRomjECE.js b/docs/assets/mission-JRomjECE.js deleted file mode 100644 index 97510229..00000000 --- a/docs/assets/mission-JRomjECE.js +++ /dev/null @@ -1,29 +0,0 @@ -import{r as e,t}from"./chunk-DECur_0Z.js";import{t as n}from"./logger-B058WGzf.js";var r,i;function a(e,t){return t.reduce((e,[t,n])=>({type:`BinaryExpression`,operator:t,left:e,right:n}),e)}function o(e,t){return{type:`UnaryExpression`,operator:e,argument:t}}function s(e,t){return e.type===`Identifier`&&e.name.toLowerCase()===`exec`&&(t.length>0&&t[0].type===`StringLiteral`?r.add(t[0].value):i=!0),{type:`CallExpression`,callee:e,arguments:t}}function c(){return Array.from(r)}var l=class extends SyntaxError{constructor(e,t,n,r){super(e),this.expected=t,this.found=n,this.location=r,this.name=`SyntaxError`}format(e){let t=`Error: `+this.message;if(this.location){let n=null,r=e.find(e=>e.source===this.location.source);r&&(n=r.text.split(/\r\n|\n|\r/g));let i=this.location.start,a=this.location.source&&typeof this.location.source.offset==`function`?this.location.source.offset(i):i,o=this.location.source+`:`+a.line+`:`+a.column;if(n){let e=this.location.end,r=``.padEnd(a.line.toString().length,` `),s=n[i.line-1],c=(i.line===e.line?e.column:s.length+1)-i.column||1;t+=` - --> `+o+` -`+r+` | -`+a.line+` | `+s+` -`+r+` | `+``.padEnd(i.column-1,` `)+``.padEnd(c,`^`)}else t+=` - at `+o}return t}static buildMessage(e,t){function n(e){return e.codePointAt(0).toString(16).toUpperCase()}let r=Object.prototype.hasOwnProperty.call(RegExp.prototype,`unicode`)?RegExp(`[\\p{C}\\p{Mn}\\p{Mc}]`,`gu`):null;function i(e){return r?e.replace(r,e=>`\\u{`+n(e)+`}`):e}function a(e){return i(e.replace(/\\/g,`\\\\`).replace(/"/g,`\\"`).replace(/\0/g,`\\0`).replace(/\t/g,`\\t`).replace(/\n/g,`\\n`).replace(/\r/g,`\\r`).replace(/[\x00-\x0F]/g,e=>`\\x0`+n(e)).replace(/[\x10-\x1F\x7F-\x9F]/g,e=>`\\x`+n(e)))}function o(e){return i(e.replace(/\\/g,`\\\\`).replace(/\]/g,`\\]`).replace(/\^/g,`\\^`).replace(/-/g,`\\-`).replace(/\0/g,`\\0`).replace(/\t/g,`\\t`).replace(/\n/g,`\\n`).replace(/\r/g,`\\r`).replace(/[\x00-\x0F]/g,e=>`\\x0`+n(e)).replace(/[\x10-\x1F\x7F-\x9F]/g,e=>`\\x`+n(e)))}let s={literal(e){return`"`+a(e.text)+`"`},class(e){let t=e.parts.map(e=>Array.isArray(e)?o(e[0])+`-`+o(e[1]):o(e));return`[`+(e.inverted?`^`:``)+t.join(``)+`]`+(e.unicode?`u`:``)},any(){return`any character`},end(){return`end of input`},other(e){return e.description}};function c(e){return s[e.type](e)}function l(e){let t=e.map(c);if(t.sort(),t.length>0){let e=1;for(let n=1;n]/,ne=/^[+\-]/,re=/^[%*\/]/,ie=/^[!\-~]/,D=/^[a-zA-Z_]/,O=/^[a-zA-Z0-9_]/,ae=/^[ \t]/,oe=/^[^"\\\n\r]/,k=/^[^'\\\n\r]/,A=/^[0-9a-fA-F]/,j=/^[0-9]/,M=/^[xX]/,N=/^[^\n\r]/,P=/^[\n\r]/,F=/^[ \t\n\r]/,I=Y(`;`,!1),L=Y(`package`,!1),se=Y(`{`,!1),R=Y(`}`,!1),z=Y(`function`,!1),B=Y(`(`,!1),V=Y(`)`,!1),H=Y(`::`,!1),ce=Y(`,`,!1),U=Y(`datablock`,!1),le=Y(`:`,!1),ue=Y(`new`,!1),de=Y(`[`,!1),W=Y(`]`,!1),fe=Y(`=`,!1),pe=Y(`.`,!1),me=Y(`if`,!1),he=Y(`else`,!1),ge=Y(`for`,!1),_e=Y(`while`,!1),ve=Y(`do`,!1),ye=Y(`switch$`,!1),be=Y(`switch`,!1),xe=Y(`case`,!1),Se=Y(`default`,!1),Ce=Y(`or`,!1),we=Y(`return`,!1),Te=Y(`break`,!1),Ee=Y(`continue`,!1),De=Y(`+=`,!1),Oe=Y(`-=`,!1),ke=Y(`*=`,!1),Ae=Y(`/=`,!1),je=Y(`%=`,!1),Me=Y(`<<=`,!1),Ne=Y(`>>=`,!1),Pe=Y(`&=`,!1),Fe=Y(`|=`,!1),Ie=Y(`^=`,!1),Le=Y(`?`,!1),Re=Y(`||`,!1),ze=Y(`&&`,!1),Be=Y(`|`,!1),Ve=Y(`^`,!1),He=Y(`&`,!1),Ue=Y(`==`,!1),We=Y(`!=`,!1),Ge=Y(`<=`,!1),Ke=Y(`>=`,!1),qe=_r([`<`,`>`],!1,!1,!1),Je=Y(`$=`,!1),Ye=Y(`!$=`,!1),Xe=Y(`@`,!1),Ze=Y(`NL`,!1),G=Y(`TAB`,!1),Qe=Y(`SPC`,!1),$e=Y(`<<`,!1),et=Y(`>>`,!1),tt=_r([`+`,`-`],!1,!1,!1),nt=_r([`%`,`*`,`/`],!1,!1,!1),rt=_r([`!`,`-`,`~`],!1,!1,!1),it=Y(`++`,!1),at=Y(`--`,!1),ot=Y(`*`,!1),st=Y(`%`,!1),ct=_r([[`a`,`z`],[`A`,`Z`],`_`],!1,!1,!1),K=_r([[`a`,`z`],[`A`,`Z`],[`0`,`9`],`_`],!1,!1,!1),lt=Y(`$`,!1),ut=Y(`parent`,!1),dt=_r([` `,` `],!1,!1,!1),ft=Y(`"`,!1),pt=Y(`'`,!1),mt=Y(`\\`,!1),ht=_r([`"`,`\\`,` -`,`\r`],!0,!1,!1),gt=_r([`'`,`\\`,` -`,`\r`],!0,!1,!1),_t=Y(`n`,!1),vt=Y(`r`,!1),yt=Y(`t`,!1),bt=Y(`x`,!1),xt=_r([[`0`,`9`],[`a`,`f`],[`A`,`F`]],!1,!1,!1),St=Y(`cr`,!1),Ct=Y(`cp`,!1),wt=Y(`co`,!1),Tt=Y(`c`,!1),Et=_r([[`0`,`9`]],!1,!1,!1),Dt=vr(),Ot=Y(`0`,!1),kt=_r([`x`,`X`],!1,!1,!1),At=Y(`-`,!1),jt=Y(`true`,!1),Mt=Y(`false`,!1),Nt=Y(`//`,!1),Pt=_r([` -`,`\r`],!0,!1,!1),Ft=_r([` -`,`\r`],!1,!1,!1),It=Y(`/*`,!1),Lt=Y(`*/`,!1),Rt=_r([` `,` `,` -`,`\r`],!1,!1,!1);function zt(e){return{type:`Program`,body:e.map(([e])=>e).filter(Boolean),execScriptPaths:c(),hasDynamicExec:i}}function Bt(){return null}function Vt(e){return e}function Ht(e){return e}function Ut(e,t){return{type:`PackageDeclaration`,name:e,body:t.map(([e])=>e).filter(Boolean)}}function Wt(e,t,n){return{type:`FunctionDeclaration`,name:e,params:t||[],body:n}}function Gt(e,t){return{type:`MethodName`,namespace:e,method:t}}function Kt(e,t){return[e,...t.map(([,,,e])=>e)]}function qt(e,t,n,r){return{type:`DatablockDeclaration`,className:e,instanceName:t,parent:n?n[2]:null,body:r?r[2].filter(Boolean):[]}}function Jt(e,t,n){return{type:`ObjectDeclaration`,className:e,instanceName:t,body:n?n[2].filter(Boolean):[]}}function Yt(e){return e}function Xt(e,t){return t.reduce((e,[,,,t])=>({type:`IndexExpression`,object:e,index:t}),e)}function Zt(e){return e}function Qt(e){return e}function $t(e,t){return{type:`Assignment`,target:e,value:t}}function en(e,t){return t.reduce((e,t)=>t.type===`property`?{type:`MemberExpression`,object:e,property:t.value}:{type:`IndexExpression`,object:e,index:t.value},e)}function tn(e){return{type:`property`,value:e}}function nn(e){return{type:`index`,value:e}}function rn(e,t){return t.length>0?[e,...t.map(([,,,e])=>e)]:e}function an(e,t,n){return{type:`IfStatement`,test:e,consequent:t,alternate:n?n[3]:null}}function on(e,t,n,r){return{type:`ForStatement`,init:e,test:t,update:n,body:r}}function sn(e,t){return{type:`WhileStatement`,test:e,body:t}}function cn(e,t){return{type:`DoWhileStatement`,test:t,body:e}}function ln(e,t){return{type:`SwitchStatement`,stringMode:!0,discriminant:e,cases:t.map(([e])=>e).filter(e=>e&&e.type===`SwitchCase`)}}function un(e,t){return{type:`SwitchStatement`,stringMode:!1,discriminant:e,cases:t.map(([e])=>e).filter(e=>e&&e.type===`SwitchCase`)}}function dn(e,t){return{type:`SwitchCase`,test:e,consequent:t.map(([e])=>e).filter(Boolean)}}function fn(e){return{type:`SwitchCase`,test:null,consequent:e.map(([e])=>e).filter(Boolean)}}function pn(e,t){return t.length>0?[e,...t.map(([,,,e])=>e)]:e}function mn(e){return{type:`ReturnStatement`,value:e?e[1]:null}}function hn(){return{type:`BreakStatement`}}function gn(){return{type:`ContinueStatement`}}function _n(e){return{type:`ExpressionStatement`,expression:e}}function vn(e){return{type:`BlockStatement`,body:e.map(([e])=>e).filter(Boolean)}}function yn(e,t,n){return{type:`AssignmentExpression`,operator:t,target:e,value:n}}function bn(e,t,n){return{type:`ConditionalExpression`,test:e,consequent:t,alternate:n}}function xn(e,t){return a(e,t.map(([,e,,t])=>[e,t]))}function Sn(e,t){return a(e,t.map(([,e,,t])=>[e,t]))}function Cn(e,t){return a(e,t.map(([,e,,,t])=>[e,t]))}function wn(e,t){return a(e,t.map(([,e,,t])=>[e,t]))}function Tn(e,t){return a(e,t.map(([,e,,,t])=>[e,t]))}function En(e,t){return a(e,t.map(([,e,,t])=>[e,t]))}function Dn(e,t){return a(e,t.map(([,e,,t])=>[e,t]))}function On(e,t){return a(e,t.map(([,e,,t])=>[e,t]))}function kn(e,t,n){return{type:`AssignmentExpression`,operator:t,target:e,value:n}}function An(e,t){return a(e,t.map(([,e,,t])=>[e,t]))}function jn(e,t){return a(e,t.map(([,e,,t])=>[e,t]))}function Mn(e,t){return a(e,t.map(([,e,,t])=>[e,t]))}function Nn(e,t){return o(e,t)}function Pn(e,t){return o(e,t)}function Fn(e){return{type:`TagDereferenceExpression`,argument:e}}function In(e,t,n){return{type:`AssignmentExpression`,operator:t,target:e,value:n}}function Ln(e,t){return{type:`PostfixExpression`,operator:t,argument:e}}function Rn(e,t){return t.reduce((e,t)=>{if(t[1]===`(`){let[,,,n]=t;return s(e,n||[])}let n=t[1];return n.type===`property`?{type:`MemberExpression`,object:e,property:n.value}:{type:`IndexExpression`,object:e,index:n.value}},e)}function zn(e,t){return t.reduce((e,[,t])=>t.type===`property`?{type:`MemberExpression`,object:e,property:t.value}:{type:`IndexExpression`,object:e,index:t.value},e)}function Bn(e,t){return[e,...t.map(([,,,e])=>e)]}function Vn(e){return e}function Hn(e){return{type:`Variable`,scope:`local`,name:e}}function Un(e){return{type:`Variable`,scope:`global`,name:e}}function Wn(e){return{type:`Identifier`,name:e.replace(/\s+/g,``)}}function Gn(e){return{type:`Identifier`,name:e}}function Kn(e){return{type:`Identifier`,name:e}}function qn(e){return{type:`StringLiteral`,value:e.join(``)}}function Jn(e){return{type:`StringLiteral`,value:e.join(``),tagged:!0}}function Yn(e){return e}function Xn(e){return e}function Zn(){return` -`}function Qn(){return`\r`}function $n(){return` `}function er(e){return String.fromCharCode(parseInt(e,16))}function tr(){return``}function nr(){return``}function rr(){return``}function ir(e){return String.fromCharCode([2,3,4,5,6,7,8,11,12,14][parseInt(e,10)])}function ar(e){return e}function or(e){return{type:`NumberLiteral`,value:parseInt(e,16)}}function sr(e){return{type:`NumberLiteral`,value:parseFloat(e)}}function cr(e){return{type:`BooleanLiteral`,value:e===`true`}}function lr(e){return{type:`Comment`,value:e}}function ur(e){return{type:`Comment`,value:e}}function dr(){return null}let q=t.peg$currPos|0,fr=[{line:1,column:1}],pr=q,mr=t.peg$maxFailExpected||[],J=t.peg$silentFails|0,hr;if(t.startRule){if(!(t.startRule in d))throw Error(`Can't start parsing from rule "`+t.startRule+`".`);f=d[t.startRule]}function gr(t=q){let n=e.codePointAt(t);return n===void 0?``:String.fromCodePoint(n)}function Y(e,t){return{type:`literal`,text:e,ignoreCase:t}}function _r(e,t,n,r){return{type:`class`,parts:e,inverted:t,ignoreCase:n,unicode:r}}function vr(){return{type:`any`}}function yr(){return{type:`end`}}function br(t){let n=fr[t],r;if(n)return n;if(t>=fr.length)r=fr.length-1;else for(r=t;!fr[--r];);for(n=fr[r],n={line:n.line,column:n.column};rpr&&(pr=q,mr=[]),mr.push(e))}function Sr(e,t,n){return new l(l.buildMessage(e,t),e,t,n)}function Cr(){let e,t,r,i,a;for(e=q,$(),t=[],r=q,i=Fi(),i===n&&(i=wr()),i===n?(q=r,r=n):(a=$(),i=[i,a],r=i);r!==n;)t.push(r),r=q,i=Fi(),i===n&&(i=wr()),i===n?(q=r,r=n):(a=$(),i=[i,a],r=i);return e=zt(t),e}function wr(){let t,r;return t=Dr(),t===n&&(t=Or(),t===n&&(t=Tr(),t===n&&(t=Er(),t===n&&(t=Br(),t===n&&(t=Vr(),t===n&&(t=Ur(),t===n&&(t=Hr(),t===n&&(t=Wr(),t===n&&(t=qr(),t===n&&(t=Jr(),t===n&&(t=Yr(),t===n&&(t=Xr(),t===n&&(t=Zr(),t===n&&(t=Fi(),t===n&&(t=q,Q(),e.charCodeAt(q)===59?(r=`;`,q++):(r=n,J===0&&X(I)),r===n?(q=t,t=n):(Q(),t=Bt())))))))))))))))),t}function Tr(){let t,r,i;return t=q,r=jr(),r===n?(q=t,t=n):(Q(),e.charCodeAt(q)===59?(i=`;`,q++):(i=n,J===0&&X(I)),i===n&&(i=null),Q(),t=Vt(r)),t}function Er(){let t,r,i;return t=q,r=Mr(),r===n?(q=t,t=n):(Q(),e.charCodeAt(q)===59?(i=`;`,q++):(i=n,J===0&&X(I)),i===n&&(i=null),Q(),t=Ht(r)),t}function Dr(){let t,r,i,a,o,s,c,l,u;if(t=q,e.substr(q,7)===p?(r=p,q+=7):(r=n,J===0&&X(L)),r!==n)if(i=zi(),i!==n)if(a=Oi(),a!==n)if(Q(),e.charCodeAt(q)===123?(o=`{`,q++):(o=n,J===0&&X(se)),o!==n){for($(),s=[],c=q,l=Fi(),l===n&&(l=wr()),l===n?(q=c,c=n):(u=$(),l=[l,u],c=l);c!==n;)s.push(c),c=q,l=Fi(),l===n&&(l=wr()),l===n?(q=c,c=n):(u=$(),l=[l,u],c=l);e.charCodeAt(q)===125?(c=`}`,q++):(c=n,J===0&&X(R)),c===n?(q=t,t=n):(l=Q(),e.charCodeAt(q)===59?(u=`;`,q++):(u=n,J===0&&X(I)),u===n&&(u=null),t=Ut(a,s))}else q=t,t=n;else q=t,t=n;else q=t,t=n;else q=t,t=n;return t}function Or(){let t,r,i,a,o,s,c,l;return t=q,e.substr(q,8)===m?(r=m,q+=8):(r=n,J===0&&X(z)),r===n?(q=t,t=n):(i=zi(),i===n?(q=t,t=n):(a=kr(),a===n?(q=t,t=n):(Q(),e.charCodeAt(q)===40?(o=`(`,q++):(o=n,J===0&&X(B)),o===n?(q=t,t=n):(Q(),s=Ar(),s===n&&(s=null),Q(),e.charCodeAt(q)===41?(c=`)`,q++):(c=n,J===0&&X(V)),c===n?(q=t,t=n):(Q(),l=Zr(),l===n?(q=t,t=n):t=Wt(a,s,l)))))),t}function kr(){let t,r,i,a;return t=q,r=Oi(),r===n?(q=t,t=n):(e.substr(q,2)===`::`?(i=`::`,q+=2):(i=n,J===0&&X(H)),i===n?(q=t,t=n):(a=Oi(),a===n?(q=t,t=n):t=Gt(r,a))),t===n&&(t=Oi()),t}function Ar(){let t,r,i,a,o,s,c,l;if(t=q,r=Oi(),r!==n){for(i=[],a=q,o=Q(),e.charCodeAt(q)===44?(s=`,`,q++):(s=n,J===0&&X(ce)),s===n?(q=a,a=n):(c=Q(),l=Oi(),l===n?(q=a,a=n):(o=[o,s,c,l],a=o));a!==n;)i.push(a),a=q,o=Q(),e.charCodeAt(q)===44?(s=`,`,q++):(s=n,J===0&&X(ce)),s===n?(q=a,a=n):(c=Q(),l=Oi(),l===n?(q=a,a=n):(o=[o,s,c,l],a=o));t=Kt(r,i)}else q=t,t=n;return t}function jr(){let t,r,i,a,o,s,c,l,u,d,f,p,m,g,_,v;if(t=q,e.substr(q,9)===h?(r=h,q+=9):(r=n,J===0&&X(U)),r!==n)if(i=zi(),i!==n)if(a=Oi(),a!==n)if(Q(),e.charCodeAt(q)===40?(o=`(`,q++):(o=n,J===0&&X(B)),o!==n)if(Q(),s=Fr(),s===n&&(s=null),Q(),e.charCodeAt(q)===41?(c=`)`,q++):(c=n,J===0&&X(V)),c!==n){if(Q(),l=q,e.charCodeAt(q)===58?(u=`:`,q++):(u=n,J===0&&X(le)),u===n?(q=l,l=n):(d=Q(),f=Oi(),f===n?(q=l,l=n):(u=[u,d,f],l=u)),l===n&&(l=null),u=Q(),d=q,e.charCodeAt(q)===123?(f=`{`,q++):(f=n,J===0&&X(se)),f!==n){for(p=Q(),m=[],g=Pr();g!==n;)m.push(g),g=Pr();g=Q(),e.charCodeAt(q)===125?(_=`}`,q++):(_=n,J===0&&X(R)),_===n?(q=d,d=n):(v=Q(),f=[f,p,m,g,_,v],d=f)}else q=d,d=n;d===n&&(d=null),t=qt(a,s,l,d)}else q=t,t=n;else q=t,t=n;else q=t,t=n;else q=t,t=n;else q=t,t=n;return t}function Mr(){let t,r,i,a,o,s,c,l,u,d,f,p,m,h;if(t=q,e.substr(q,3)===`new`?(r=`new`,q+=3):(r=n,J===0&&X(ue)),r!==n)if(i=zi(),i!==n)if(a=Nr(),a!==n)if(Q(),e.charCodeAt(q)===40?(o=`(`,q++):(o=n,J===0&&X(B)),o!==n)if(Q(),s=Fr(),s===n&&(s=null),Q(),e.charCodeAt(q)===41?(c=`)`,q++):(c=n,J===0&&X(V)),c!==n){if(Q(),l=q,e.charCodeAt(q)===123?(u=`{`,q++):(u=n,J===0&&X(se)),u!==n){for(d=Q(),f=[],p=Pr();p!==n;)f.push(p),p=Pr();p=Q(),e.charCodeAt(q)===125?(m=`}`,q++):(m=n,J===0&&X(R)),m===n?(q=l,l=n):(h=Q(),u=[u,d,f,p,m,h],l=u)}else q=l,l=n;l===n&&(l=null),t=Jt(a,s,l)}else q=t,t=n;else q=t,t=n;else q=t,t=n;else q=t,t=n;else q=t,t=n;return t}function Nr(){let t,r,i,a,o,s,c,l,u,d;if(t=q,e.charCodeAt(q)===40?(r=`(`,q++):(r=n,J===0&&X(B)),r===n?(q=t,t=n):(i=Q(),a=Z(),a===n?(q=t,t=n):(o=Q(),e.charCodeAt(q)===41?(s=`)`,q++):(s=n,J===0&&X(V)),s===n?(q=t,t=n):t=Yt(a))),t===n)if(t=q,r=Oi(),r!==n){for(i=[],a=q,o=Q(),e.charCodeAt(q)===91?(s=`[`,q++):(s=n,J===0&&X(de)),s===n?(q=a,a=n):(c=Q(),l=zr(),l===n?(q=a,a=n):(u=Q(),e.charCodeAt(q)===93?(d=`]`,q++):(d=n,J===0&&X(W)),d===n?(q=a,a=n):(o=[o,s,c,l,u,d],a=o)));a!==n;)i.push(a),a=q,o=Q(),e.charCodeAt(q)===91?(s=`[`,q++):(s=n,J===0&&X(de)),s===n?(q=a,a=n):(c=Q(),l=zr(),l===n?(q=a,a=n):(u=Q(),e.charCodeAt(q)===93?(d=`]`,q++):(d=n,J===0&&X(W)),d===n?(q=a,a=n):(o=[o,s,c,l,u,d],a=o)));t=Xt(r,i)}else q=t,t=n;return t}function Pr(){let t,r,i;return t=q,r=Mr(),r===n?(q=t,t=n):(Q(),e.charCodeAt(q)===59?(i=`;`,q++):(i=n,J===0&&X(I)),i===n&&(i=null),Q(),t=Zt(r)),t===n&&(t=q,r=jr(),r===n?(q=t,t=n):(Q(),e.charCodeAt(q)===59?(i=`;`,q++):(i=n,J===0&&X(I)),i===n&&(i=null),Q(),t=Qt(r)),t===n&&(t=Ir(),t===n&&(t=Fi(),t===n&&(t=Ri())))),t}function Fr(){let e;return e=li(),e===n&&(e=Oi(),e===n&&(e=Ni())),e}function Ir(){let t,r,i,a,o;return t=q,Q(),r=Lr(),r===n?(q=t,t=n):(Q(),e.charCodeAt(q)===61?(i=`=`,q++):(i=n,J===0&&X(fe)),i===n?(q=t,t=n):(Q(),a=Z(),a===n?(q=t,t=n):(Q(),e.charCodeAt(q)===59?(o=`;`,q++):(o=n,J===0&&X(I)),o===n&&(o=null),Q(),t=$t(r,a)))),t}function Lr(){let e,t,r,i;if(e=q,t=yi(),t!==n){for(r=[],i=Rr();i!==n;)r.push(i),i=Rr();e=en(t,r)}else q=e,e=n;return e}function Rr(){let t,r,i,a;return t=q,e.charCodeAt(q)===46?(r=`.`,q++):(r=n,J===0&&X(pe)),r===n?(q=t,t=n):(Q(),i=Oi(),i===n?(q=t,t=n):t=tn(i)),t===n&&(t=q,e.charCodeAt(q)===91?(r=`[`,q++):(r=n,J===0&&X(de)),r===n?(q=t,t=n):(Q(),i=zr(),i===n?(q=t,t=n):(Q(),e.charCodeAt(q)===93?(a=`]`,q++):(a=n,J===0&&X(W)),a===n?(q=t,t=n):t=nn(i)))),t}function zr(){let t,r,i,a,o,s,c,l;if(t=q,r=Z(),r!==n){for(i=[],a=q,o=Q(),e.charCodeAt(q)===44?(s=`,`,q++):(s=n,J===0&&X(ce)),s===n?(q=a,a=n):(c=Q(),l=Z(),l===n?(q=a,a=n):(o=[o,s,c,l],a=o));a!==n;)i.push(a),a=q,o=Q(),e.charCodeAt(q)===44?(s=`,`,q++):(s=n,J===0&&X(ce)),s===n?(q=a,a=n):(c=Q(),l=Z(),l===n?(q=a,a=n):(o=[o,s,c,l],a=o));t=rn(r,i)}else q=t,t=n;return t}function Br(){let t,r,i,a,o,s,c,l,u,d,f;return t=q,e.substr(q,2)===`if`?(r=`if`,q+=2):(r=n,J===0&&X(me)),r===n?(q=t,t=n):(Q(),e.charCodeAt(q)===40?(i=`(`,q++):(i=n,J===0&&X(B)),i===n?(q=t,t=n):(Q(),a=Z(),a===n?(q=t,t=n):(Q(),e.charCodeAt(q)===41?(o=`)`,q++):(o=n,J===0&&X(V)),o===n?(q=t,t=n):(Q(),s=wr(),s===n?(q=t,t=n):(c=q,l=Q(),e.substr(q,4)===g?(u=g,q+=4):(u=n,J===0&&X(he)),u===n?(q=c,c=n):(d=Q(),f=wr(),f===n?(q=c,c=n):(l=[l,u,d,f],c=l)),c===n&&(c=null),t=an(a,s,c)))))),t}function Vr(){let t,r,i,a,o,s,c,l,u,d;return t=q,e.substr(q,3)===`for`?(r=`for`,q+=3):(r=n,J===0&&X(ge)),r===n?(q=t,t=n):(Q(),e.charCodeAt(q)===40?(i=`(`,q++):(i=n,J===0&&X(B)),i===n?(q=t,t=n):(Q(),a=Z(),a===n&&(a=null),Q(),e.charCodeAt(q)===59?(o=`;`,q++):(o=n,J===0&&X(I)),o===n?(q=t,t=n):(Q(),s=Z(),s===n&&(s=null),Q(),e.charCodeAt(q)===59?(c=`;`,q++):(c=n,J===0&&X(I)),c===n?(q=t,t=n):(Q(),l=Z(),l===n&&(l=null),Q(),e.charCodeAt(q)===41?(u=`)`,q++):(u=n,J===0&&X(V)),u===n?(q=t,t=n):(Q(),d=wr(),d===n?(q=t,t=n):t=on(a,s,l,d)))))),t}function Hr(){let t,r,i,a,o,s;return t=q,e.substr(q,5)===_?(r=_,q+=5):(r=n,J===0&&X(_e)),r===n?(q=t,t=n):(Q(),e.charCodeAt(q)===40?(i=`(`,q++):(i=n,J===0&&X(B)),i===n?(q=t,t=n):(Q(),a=Z(),a===n?(q=t,t=n):(Q(),e.charCodeAt(q)===41?(o=`)`,q++):(o=n,J===0&&X(V)),o===n?(q=t,t=n):(Q(),s=wr(),s===n?(q=t,t=n):t=sn(a,s))))),t}function Ur(){let t,r,i,a,o,s,c,l;return t=q,e.substr(q,2)===`do`?(r=`do`,q+=2):(r=n,J===0&&X(ve)),r===n?(q=t,t=n):(Q(),i=wr(),i===n?(q=t,t=n):(Q(),e.substr(q,5)===_?(a=_,q+=5):(a=n,J===0&&X(_e)),a===n?(q=t,t=n):(Q(),e.charCodeAt(q)===40?(o=`(`,q++):(o=n,J===0&&X(B)),o===n?(q=t,t=n):(Q(),s=Z(),s===n?(q=t,t=n):(Q(),e.charCodeAt(q)===41?(c=`)`,q++):(c=n,J===0&&X(V)),c===n?(q=t,t=n):(Q(),e.charCodeAt(q)===59?(l=`;`,q++):(l=n,J===0&&X(I)),l===n&&(l=null),t=cn(i,s))))))),t}function Wr(){let t,r,i,a,o,s,c,l,u,d;if(t=q,e.substr(q,7)===v?(r=v,q+=7):(r=n,J===0&&X(ye)),r!==n)if(Q(),e.charCodeAt(q)===40?(i=`(`,q++):(i=n,J===0&&X(B)),i!==n)if(Q(),a=Z(),a!==n)if(Q(),e.charCodeAt(q)===41?(o=`)`,q++):(o=n,J===0&&X(V)),o!==n)if(Q(),e.charCodeAt(q)===123?(s=`{`,q++):(s=n,J===0&&X(se)),s!==n){for($(),c=[],l=q,u=Fi(),u===n&&(u=Gr()),u===n?(q=l,l=n):(d=$(),u=[u,d],l=u);l!==n;)c.push(l),l=q,u=Fi(),u===n&&(u=Gr()),u===n?(q=l,l=n):(d=$(),u=[u,d],l=u);e.charCodeAt(q)===125?(l=`}`,q++):(l=n,J===0&&X(R)),l===n?(q=t,t=n):t=ln(a,c)}else q=t,t=n;else q=t,t=n;else q=t,t=n;else q=t,t=n;else q=t,t=n;if(t===n)if(t=q,e.substr(q,6)===ee?(r=ee,q+=6):(r=n,J===0&&X(be)),r!==n)if(Q(),e.charCodeAt(q)===40?(i=`(`,q++):(i=n,J===0&&X(B)),i!==n)if(Q(),a=Z(),a!==n)if(Q(),e.charCodeAt(q)===41?(o=`)`,q++):(o=n,J===0&&X(V)),o!==n)if(Q(),e.charCodeAt(q)===123?(s=`{`,q++):(s=n,J===0&&X(se)),s!==n){for($(),c=[],l=q,u=Fi(),u===n&&(u=Gr()),u===n?(q=l,l=n):(d=$(),u=[u,d],l=u);l!==n;)c.push(l),l=q,u=Fi(),u===n&&(u=Gr()),u===n?(q=l,l=n):(d=$(),u=[u,d],l=u);e.charCodeAt(q)===125?(l=`}`,q++):(l=n,J===0&&X(R)),l===n?(q=t,t=n):t=un(a,c)}else q=t,t=n;else q=t,t=n;else q=t,t=n;else q=t,t=n;else q=t,t=n;return t}function Gr(){let t,r,i,a,o,s,c,l,u,d;if(t=q,e.substr(q,4)===te?(r=te,q+=4):(r=n,J===0&&X(xe)),r!==n)if(i=zi(),i!==n)if(a=Kr(),a!==n)if(Q(),e.charCodeAt(q)===58?(o=`:`,q++):(o=n,J===0&&X(le)),o!==n){for(s=$(),c=[],l=q,u=Fi(),u===n&&(u=wr()),u===n?(q=l,l=n):(d=$(),u=[u,d],l=u);l!==n;)c.push(l),l=q,u=Fi(),u===n&&(u=wr()),u===n?(q=l,l=n):(d=$(),u=[u,d],l=u);t=dn(a,c)}else q=t,t=n;else q=t,t=n;else q=t,t=n;else q=t,t=n;if(t===n)if(t=q,e.substr(q,7)===y?(r=y,q+=7):(r=n,J===0&&X(Se)),r!==n)if(i=Q(),e.charCodeAt(q)===58?(a=`:`,q++):(a=n,J===0&&X(le)),a!==n){for($(),o=[],s=q,c=Fi(),c===n&&(c=wr()),c===n?(q=s,s=n):(l=$(),c=[c,l],s=c);s!==n;)o.push(s),s=q,c=Fi(),c===n&&(c=wr()),c===n?(q=s,s=n):(l=$(),c=[c,l],s=c);t=fn(o)}else q=t,t=n;else q=t,t=n;return t}function Kr(){let t,r,i,a,o,s,c,l;if(t=q,r=mi(),r!==n){for(i=[],a=q,o=Q(),e.substr(q,2)===`or`?(s=`or`,q+=2):(s=n,J===0&&X(Ce)),s===n?(q=a,a=n):(c=zi(),c===n?(q=a,a=n):(l=mi(),l===n?(q=a,a=n):(o=[o,s,c,l],a=o)));a!==n;)i.push(a),a=q,o=Q(),e.substr(q,2)===`or`?(s=`or`,q+=2):(s=n,J===0&&X(Ce)),s===n?(q=a,a=n):(c=zi(),c===n?(q=a,a=n):(l=mi(),l===n?(q=a,a=n):(o=[o,s,c,l],a=o)));t=pn(r,i)}else q=t,t=n;return t}function qr(){let t,r,i,a,o;return t=q,e.substr(q,6)===b?(r=b,q+=6):(r=n,J===0&&X(we)),r===n?(q=t,t=n):(i=q,a=zi(),a===n?(q=i,i=n):(o=Z(),o===n?(q=i,i=n):(a=[a,o],i=a)),i===n&&(i=null),a=Q(),e.charCodeAt(q)===59?(o=`;`,q++):(o=n,J===0&&X(I)),o===n?(q=t,t=n):t=mn(i)),t}function Jr(){let t,r,i;return t=q,e.substr(q,5)===x?(r=x,q+=5):(r=n,J===0&&X(Te)),r===n?(q=t,t=n):(Q(),e.charCodeAt(q)===59?(i=`;`,q++):(i=n,J===0&&X(I)),i===n?(q=t,t=n):t=hn()),t}function Yr(){let t,r,i;return t=q,e.substr(q,8)===S?(r=S,q+=8):(r=n,J===0&&X(Ee)),r===n?(q=t,t=n):(Q(),e.charCodeAt(q)===59?(i=`;`,q++):(i=n,J===0&&X(I)),i===n?(q=t,t=n):t=gn()),t}function Xr(){let t,r,i;return t=q,r=Z(),r===n?(q=t,t=n):(Q(),e.charCodeAt(q)===59?(i=`;`,q++):(i=n,J===0&&X(I)),i===n?(q=t,t=n):t=_n(r)),t}function Zr(){let t,r,i,a,o,s;if(t=q,e.charCodeAt(q)===123?(r=`{`,q++):(r=n,J===0&&X(se)),r!==n){for($(),i=[],a=q,o=Fi(),o===n&&(o=wr()),o===n?(q=a,a=n):(s=$(),o=[o,s],a=o);a!==n;)i.push(a),a=q,o=Fi(),o===n&&(o=wr()),o===n?(q=a,a=n):(s=$(),o=[o,s],a=o);e.charCodeAt(q)===125?(a=`}`,q++):(a=n,J===0&&X(R)),a===n?(q=t,t=n):t=vn(i)}else q=t,t=n;return t}function Z(){let e,t,r,i;return e=q,t=Lr(),t===n?(q=e,e=n):(Q(),r=Qr(),r===n?(q=e,e=n):(Q(),i=Z(),i===n?(q=e,e=n):e=yn(t,r,i))),e===n&&(e=$r()),e}function Qr(){let t;return e.charCodeAt(q)===61?(t=`=`,q++):(t=n,J===0&&X(fe)),t===n&&(e.substr(q,2)===`+=`?(t=`+=`,q+=2):(t=n,J===0&&X(De)),t===n&&(e.substr(q,2)===`-=`?(t=`-=`,q+=2):(t=n,J===0&&X(Oe)),t===n&&(e.substr(q,2)===`*=`?(t=`*=`,q+=2):(t=n,J===0&&X(ke)),t===n&&(e.substr(q,2)===`/=`?(t=`/=`,q+=2):(t=n,J===0&&X(Ae)),t===n&&(e.substr(q,2)===`%=`?(t=`%=`,q+=2):(t=n,J===0&&X(je)),t===n&&(e.substr(q,3)===`<<=`?(t=`<<=`,q+=3):(t=n,J===0&&X(Me)),t===n&&(e.substr(q,3)===`>>=`?(t=`>>=`,q+=3):(t=n,J===0&&X(Ne)),t===n&&(e.substr(q,2)===`&=`?(t=`&=`,q+=2):(t=n,J===0&&X(Pe)),t===n&&(e.substr(q,2)===`|=`?(t=`|=`,q+=2):(t=n,J===0&&X(Fe)),t===n&&(e.substr(q,2)===`^=`?(t=`^=`,q+=2):(t=n,J===0&&X(Ie)))))))))))),t}function $r(){let t,r,i,a,o,s;return t=q,r=ei(),r===n?(q=t,t=n):(Q(),e.charCodeAt(q)===63?(i=`?`,q++):(i=n,J===0&&X(Le)),i===n?(q=t,t=n):(Q(),a=Z(),a===n?(q=t,t=n):(Q(),e.charCodeAt(q)===58?(o=`:`,q++):(o=n,J===0&&X(le)),o===n?(q=t,t=n):(Q(),s=Z(),s===n?(q=t,t=n):t=bn(r,a,s))))),t===n&&(t=ei()),t}function ei(){let t,r,i,a,o,s,c,l;if(t=q,r=ti(),r!==n){for(i=[],a=q,o=Q(),e.substr(q,2)===`||`?(s=`||`,q+=2):(s=n,J===0&&X(Re)),s===n?(q=a,a=n):(c=Q(),l=ti(),l===n?(q=a,a=n):(o=[o,s,c,l],a=o));a!==n;)i.push(a),a=q,o=Q(),e.substr(q,2)===`||`?(s=`||`,q+=2):(s=n,J===0&&X(Re)),s===n?(q=a,a=n):(c=Q(),l=ti(),l===n?(q=a,a=n):(o=[o,s,c,l],a=o));t=xn(r,i)}else q=t,t=n;return t}function ti(){let t,r,i,a,o,s,c,l;if(t=q,r=ni(),r!==n){for(i=[],a=q,o=Q(),e.substr(q,2)===`&&`?(s=`&&`,q+=2):(s=n,J===0&&X(ze)),s===n?(q=a,a=n):(c=Q(),l=ni(),l===n?(q=a,a=n):(o=[o,s,c,l],a=o));a!==n;)i.push(a),a=q,o=Q(),e.substr(q,2)===`&&`?(s=`&&`,q+=2):(s=n,J===0&&X(ze)),s===n?(q=a,a=n):(c=Q(),l=ni(),l===n?(q=a,a=n):(o=[o,s,c,l],a=o));t=Sn(r,i)}else q=t,t=n;return t}function ni(){let t,r,i,a,o,s,c,l,u;if(t=q,r=ri(),r!==n){for(i=[],a=q,o=Q(),e.charCodeAt(q)===124?(s=`|`,q++):(s=n,J===0&&X(Be)),s===n?(q=a,a=n):(c=q,J++,e.charCodeAt(q)===124?(l=`|`,q++):(l=n,J===0&&X(Be)),J--,l===n?c=void 0:(q=c,c=n),c===n?(q=a,a=n):(l=Q(),u=ri(),u===n?(q=a,a=n):(o=[o,s,c,l,u],a=o)));a!==n;)i.push(a),a=q,o=Q(),e.charCodeAt(q)===124?(s=`|`,q++):(s=n,J===0&&X(Be)),s===n?(q=a,a=n):(c=q,J++,e.charCodeAt(q)===124?(l=`|`,q++):(l=n,J===0&&X(Be)),J--,l===n?c=void 0:(q=c,c=n),c===n?(q=a,a=n):(l=Q(),u=ri(),u===n?(q=a,a=n):(o=[o,s,c,l,u],a=o)));t=Cn(r,i)}else q=t,t=n;return t}function ri(){let t,r,i,a,o,s,c,l;if(t=q,r=ii(),r!==n){for(i=[],a=q,o=Q(),e.charCodeAt(q)===94?(s=`^`,q++):(s=n,J===0&&X(Ve)),s===n?(q=a,a=n):(c=Q(),l=ii(),l===n?(q=a,a=n):(o=[o,s,c,l],a=o));a!==n;)i.push(a),a=q,o=Q(),e.charCodeAt(q)===94?(s=`^`,q++):(s=n,J===0&&X(Ve)),s===n?(q=a,a=n):(c=Q(),l=ii(),l===n?(q=a,a=n):(o=[o,s,c,l],a=o));t=wn(r,i)}else q=t,t=n;return t}function ii(){let t,r,i,a,o,s,c,l,u;if(t=q,r=ai(),r!==n){for(i=[],a=q,o=Q(),e.charCodeAt(q)===38?(s=`&`,q++):(s=n,J===0&&X(He)),s===n?(q=a,a=n):(c=q,J++,e.charCodeAt(q)===38?(l=`&`,q++):(l=n,J===0&&X(He)),J--,l===n?c=void 0:(q=c,c=n),c===n?(q=a,a=n):(l=Q(),u=ai(),u===n?(q=a,a=n):(o=[o,s,c,l,u],a=o)));a!==n;)i.push(a),a=q,o=Q(),e.charCodeAt(q)===38?(s=`&`,q++):(s=n,J===0&&X(He)),s===n?(q=a,a=n):(c=q,J++,e.charCodeAt(q)===38?(l=`&`,q++):(l=n,J===0&&X(He)),J--,l===n?c=void 0:(q=c,c=n),c===n?(q=a,a=n):(l=Q(),u=ai(),u===n?(q=a,a=n):(o=[o,s,c,l,u],a=o)));t=Tn(r,i)}else q=t,t=n;return t}function ai(){let e,t,r,i,a,o,s,c;if(e=q,t=si(),t!==n){for(r=[],i=q,a=Q(),o=oi(),o===n?(q=i,i=n):(s=Q(),c=si(),c===n?(q=i,i=n):(a=[a,o,s,c],i=a));i!==n;)r.push(i),i=q,a=Q(),o=oi(),o===n?(q=i,i=n):(s=Q(),c=si(),c===n?(q=i,i=n):(a=[a,o,s,c],i=a));e=En(t,r)}else q=e,e=n;return e}function oi(){let t;return e.substr(q,2)===`==`?(t=`==`,q+=2):(t=n,J===0&&X(Ue)),t===n&&(e.substr(q,2)===`!=`?(t=`!=`,q+=2):(t=n,J===0&&X(We))),t}function si(){let e,t,r,i,a,o,s,c;if(e=q,t=li(),t!==n){for(r=[],i=q,a=Q(),o=ci(),o===n?(q=i,i=n):(s=Q(),c=li(),c===n?(q=i,i=n):(a=[a,o,s,c],i=a));i!==n;)r.push(i),i=q,a=Q(),o=ci(),o===n?(q=i,i=n):(s=Q(),c=li(),c===n?(q=i,i=n):(a=[a,o,s,c],i=a));e=Dn(t,r)}else q=e,e=n;return e}function ci(){let t;return e.substr(q,2)===`<=`?(t=`<=`,q+=2):(t=n,J===0&&X(Ge)),t===n&&(e.substr(q,2)===`>=`?(t=`>=`,q+=2):(t=n,J===0&&X(Ke)),t===n&&(t=e.charAt(q),E.test(t)?q++:(t=n,J===0&&X(qe)))),t}function li(){let e,t,r,i,a,o,s,c;if(e=q,t=fi(),t!==n){for(r=[],i=q,a=Q(),o=di(),o===n?(q=i,i=n):(s=Q(),c=ui(),c===n?(q=i,i=n):(a=[a,o,s,c],i=a));i!==n;)r.push(i),i=q,a=Q(),o=di(),o===n?(q=i,i=n):(s=Q(),c=ui(),c===n?(q=i,i=n):(a=[a,o,s,c],i=a));e=On(t,r)}else q=e,e=n;return e}function ui(){let e,t,r,i;return e=q,t=Lr(),t===n?(q=e,e=n):(Q(),r=Qr(),r===n?(q=e,e=n):(Q(),i=Z(),i===n?(q=e,e=n):e=kn(t,r,i))),e===n&&(e=fi()),e}function di(){let t;return e.substr(q,2)===`$=`?(t=`$=`,q+=2):(t=n,J===0&&X(Je)),t===n&&(e.substr(q,3)===`!$=`?(t=`!$=`,q+=3):(t=n,J===0&&X(Ye)),t===n&&(e.charCodeAt(q)===64?(t=`@`,q++):(t=n,J===0&&X(Xe)),t===n&&(e.substr(q,2)===`NL`?(t=`NL`,q+=2):(t=n,J===0&&X(Ze)),t===n&&(e.substr(q,3)===`TAB`?(t=`TAB`,q+=3):(t=n,J===0&&X(G)),t===n&&(e.substr(q,3)===`SPC`?(t=`SPC`,q+=3):(t=n,J===0&&X(Qe))))))),t}function fi(){let e,t,r,i,a,o,s,c;if(e=q,t=mi(),t!==n){for(r=[],i=q,a=Q(),o=pi(),o===n?(q=i,i=n):(s=Q(),c=mi(),c===n?(q=i,i=n):(a=[a,o,s,c],i=a));i!==n;)r.push(i),i=q,a=Q(),o=pi(),o===n?(q=i,i=n):(s=Q(),c=mi(),c===n?(q=i,i=n):(a=[a,o,s,c],i=a));e=An(t,r)}else q=e,e=n;return e}function pi(){let t;return e.substr(q,2)===`<<`?(t=`<<`,q+=2):(t=n,J===0&&X($e)),t===n&&(e.substr(q,2)===`>>`?(t=`>>`,q+=2):(t=n,J===0&&X(et))),t}function mi(){let t,r,i,a,o,s,c,l;if(t=q,r=hi(),r!==n){for(i=[],a=q,o=Q(),s=e.charAt(q),ne.test(s)?q++:(s=n,J===0&&X(tt)),s===n?(q=a,a=n):(c=Q(),l=hi(),l===n?(q=a,a=n):(o=[o,s,c,l],a=o));a!==n;)i.push(a),a=q,o=Q(),s=e.charAt(q),ne.test(s)?q++:(s=n,J===0&&X(tt)),s===n?(q=a,a=n):(c=Q(),l=hi(),l===n?(q=a,a=n):(o=[o,s,c,l],a=o));t=jn(r,i)}else q=t,t=n;return t}function hi(){let t,r,i,a,o,s,c,l;if(t=q,r=gi(),r!==n){for(i=[],a=q,o=Q(),s=e.charAt(q),re.test(s)?q++:(s=n,J===0&&X(nt)),s===n?(q=a,a=n):(c=Q(),l=gi(),l===n?(q=a,a=n):(o=[o,s,c,l],a=o));a!==n;)i.push(a),a=q,o=Q(),s=e.charAt(q),re.test(s)?q++:(s=n,J===0&&X(nt)),s===n?(q=a,a=n):(c=Q(),l=gi(),l===n?(q=a,a=n):(o=[o,s,c,l],a=o));t=Mn(r,i)}else q=t,t=n;return t}function gi(){let t,r,i;return t=q,r=e.charAt(q),ie.test(r)?q++:(r=n,J===0&&X(rt)),r===n?(q=t,t=n):(Q(),i=_i(),i===n?(q=t,t=n):t=Nn(r,i)),t===n&&(t=q,e.substr(q,2)===`++`?(r=`++`,q+=2):(r=n,J===0&&X(it)),r===n&&(e.substr(q,2)===`--`?(r=`--`,q+=2):(r=n,J===0&&X(at))),r===n?(q=t,t=n):(Q(),i=_i(),i===n?(q=t,t=n):t=Pn(r,i)),t===n&&(t=q,e.charCodeAt(q)===42?(r=`*`,q++):(r=n,J===0&&X(ot)),r===n?(q=t,t=n):(Q(),i=_i(),i===n?(q=t,t=n):t=Fn(i)),t===n&&(t=vi()))),t}function _i(){let e,t,r,i;return e=q,t=Lr(),t===n?(q=e,e=n):(Q(),r=Qr(),r===n?(q=e,e=n):(Q(),i=Z(),i===n?(q=e,e=n):e=In(t,r,i))),e===n&&(e=gi()),e}function vi(){let t,r,i;return t=q,r=yi(),r===n?(q=t,t=n):(Q(),e.substr(q,2)===`++`?(i=`++`,q+=2):(i=n,J===0&&X(it)),i===n&&(e.substr(q,2)===`--`?(i=`--`,q+=2):(i=n,J===0&&X(at))),i===n?(q=t,t=n):t=Ln(r,i)),t===n&&(t=yi()),t}function yi(){let t,r,i,a,o,s,c,l,u,d;if(t=q,r=bi(),r!==n){for(i=[],a=q,o=Q(),e.charCodeAt(q)===40?(s=`(`,q++):(s=n,J===0&&X(B)),s===n?(q=a,a=n):(c=Q(),l=xi(),l===n&&(l=null),u=Q(),e.charCodeAt(q)===41?(d=`)`,q++):(d=n,J===0&&X(V)),d===n?(q=a,a=n):(o=[o,s,c,l,u,d],a=o)),a===n&&(a=q,o=Q(),s=Rr(),s===n?(q=a,a=n):(o=[o,s],a=o));a!==n;)i.push(a),a=q,o=Q(),e.charCodeAt(q)===40?(s=`(`,q++):(s=n,J===0&&X(B)),s===n?(q=a,a=n):(c=Q(),l=xi(),l===n&&(l=null),u=Q(),e.charCodeAt(q)===41?(d=`)`,q++):(d=n,J===0&&X(V)),d===n?(q=a,a=n):(o=[o,s,c,l,u,d],a=o)),a===n&&(a=q,o=Q(),s=Rr(),s===n?(q=a,a=n):(o=[o,s],a=o));t=Rn(r,i)}else q=t,t=n;return t}function bi(){let e,t,r,i,a,o;if(e=q,t=Si(),t!==n){for(r=[],i=q,a=Q(),o=Rr(),o===n?(q=i,i=n):(a=[a,o],i=a);i!==n;)r.push(i),i=q,a=Q(),o=Rr(),o===n?(q=i,i=n):(a=[a,o],i=a);e=zn(t,r)}else q=e,e=n;return e}function xi(){let t,r,i,a,o,s,c,l;if(t=q,r=Z(),r!==n){for(i=[],a=q,o=Q(),e.charCodeAt(q)===44?(s=`,`,q++):(s=n,J===0&&X(ce)),s===n?(q=a,a=n):(c=Q(),l=Z(),l===n?(q=a,a=n):(o=[o,s,c,l],a=o));a!==n;)i.push(a),a=q,o=Q(),e.charCodeAt(q)===44?(s=`,`,q++):(s=n,J===0&&X(ce)),s===n?(q=a,a=n):(c=Q(),l=Z(),l===n?(q=a,a=n):(o=[o,s,c,l],a=o));t=Bn(r,i)}else q=t,t=n;return t}function Si(){let e;return e=Mr(),e===n&&(e=jr(),e===n&&(e=ki(),e===n&&(e=Ni(),e===n&&(e=Pi(),e===n&&(e=wi(),e===n&&(e=Ci())))))),e}function Ci(){let t,r,i,a;return t=q,e.charCodeAt(q)===40?(r=`(`,q++):(r=n,J===0&&X(B)),r===n?(q=t,t=n):(Q(),i=Z(),i===n?(q=t,t=n):(Q(),e.charCodeAt(q)===41?(a=`)`,q++):(a=n,J===0&&X(V)),a===n?(q=t,t=n):t=Vn(i))),t}function wi(){let e;return e=Ti(),e===n&&(e=Ei(),e===n&&(e=Di())),e}function Ti(){let t,r,i,a,o,s,c;if(t=q,e.charCodeAt(q)===37?(r=`%`,q++):(r=n,J===0&&X(st)),r!==n){if(i=q,a=q,o=e.charAt(q),D.test(o)?q++:(o=n,J===0&&X(ct)),o!==n){for(s=[],c=e.charAt(q),O.test(c)?q++:(c=n,J===0&&X(K));c!==n;)s.push(c),c=e.charAt(q),O.test(c)?q++:(c=n,J===0&&X(K));o=[o,s],a=o}else q=a,a=n;i=a===n?a:e.substring(i,q),i===n?(q=t,t=n):t=Hn(i)}else q=t,t=n;return t}function Ei(){let t,r,i,a,o,s,c,l,u,d,f,p,m;if(t=q,e.charCodeAt(q)===36?(r=`$`,q++):(r=n,J===0&&X(lt)),r!==n){if(i=q,a=q,e.substr(q,2)===`::`?(o=`::`,q+=2):(o=n,J===0&&X(H)),o===n&&(o=null),s=e.charAt(q),D.test(s)?q++:(s=n,J===0&&X(ct)),s!==n){for(c=[],l=e.charAt(q),O.test(l)?q++:(l=n,J===0&&X(K));l!==n;)c.push(l),l=e.charAt(q),O.test(l)?q++:(l=n,J===0&&X(K));if(l=[],u=q,e.substr(q,2)===`::`?(d=`::`,q+=2):(d=n,J===0&&X(H)),d!==n)if(f=e.charAt(q),D.test(f)?q++:(f=n,J===0&&X(ct)),f!==n){for(p=[],m=e.charAt(q),O.test(m)?q++:(m=n,J===0&&X(K));m!==n;)p.push(m),m=e.charAt(q),O.test(m)?q++:(m=n,J===0&&X(K));d=[d,f,p],u=d}else q=u,u=n;else q=u,u=n;for(;u!==n;)if(l.push(u),u=q,e.substr(q,2)===`::`?(d=`::`,q+=2):(d=n,J===0&&X(H)),d!==n)if(f=e.charAt(q),D.test(f)?q++:(f=n,J===0&&X(ct)),f!==n){for(p=[],m=e.charAt(q),O.test(m)?q++:(m=n,J===0&&X(K));m!==n;)p.push(m),m=e.charAt(q),O.test(m)?q++:(m=n,J===0&&X(K));d=[d,f,p],u=d}else q=u,u=n;else q=u,u=n;o=[o,s,c,l],a=o}else q=a,a=n;i=a===n?a:e.substring(i,q),i===n?(q=t,t=n):t=Un(i)}else q=t,t=n;return t}function Di(){let t,r,i,a,o,s,c,l,u,d,f;if(t=q,r=q,i=q,e.substr(q,6)===C?(a=C,q+=6):(a=n,J===0&&X(ut)),a!==n){for(o=[],s=e.charAt(q),ae.test(s)?q++:(s=n,J===0&&X(dt));s!==n;)o.push(s),s=e.charAt(q),ae.test(s)?q++:(s=n,J===0&&X(dt));if(e.substr(q,2)===`::`?(s=`::`,q+=2):(s=n,J===0&&X(H)),s!==n){for(c=[],l=e.charAt(q),ae.test(l)?q++:(l=n,J===0&&X(dt));l!==n;)c.push(l),l=e.charAt(q),ae.test(l)?q++:(l=n,J===0&&X(dt));if(l=e.charAt(q),D.test(l)?q++:(l=n,J===0&&X(ct)),l!==n){for(u=[],d=e.charAt(q),O.test(d)?q++:(d=n,J===0&&X(K));d!==n;)u.push(d),d=e.charAt(q),O.test(d)?q++:(d=n,J===0&&X(K));a=[a,o,s,c,l,u],i=a}else q=i,i=n}else q=i,i=n}else q=i,i=n;if(r=i===n?i:e.substring(r,q),r!==n&&(r=Wn(r)),t=r,t===n){if(t=q,r=q,i=q,e.substr(q,6)===C?(a=C,q+=6):(a=n,J===0&&X(ut)),a!==n){if(o=[],s=q,e.substr(q,2)===`::`?(c=`::`,q+=2):(c=n,J===0&&X(H)),c!==n)if(l=e.charAt(q),D.test(l)?q++:(l=n,J===0&&X(ct)),l!==n){for(u=[],d=e.charAt(q),O.test(d)?q++:(d=n,J===0&&X(K));d!==n;)u.push(d),d=e.charAt(q),O.test(d)?q++:(d=n,J===0&&X(K));c=[c,l,u],s=c}else q=s,s=n;else q=s,s=n;if(s!==n)for(;s!==n;)if(o.push(s),s=q,e.substr(q,2)===`::`?(c=`::`,q+=2):(c=n,J===0&&X(H)),c!==n)if(l=e.charAt(q),D.test(l)?q++:(l=n,J===0&&X(ct)),l!==n){for(u=[],d=e.charAt(q),O.test(d)?q++:(d=n,J===0&&X(K));d!==n;)u.push(d),d=e.charAt(q),O.test(d)?q++:(d=n,J===0&&X(K));c=[c,l,u],s=c}else q=s,s=n;else q=s,s=n;else o=n;o===n?(q=i,i=n):(a=[a,o],i=a)}else q=i,i=n;if(r=i===n?i:e.substring(r,q),r!==n&&(r=Gn(r)),t=r,t===n){if(t=q,r=q,i=q,a=e.charAt(q),D.test(a)?q++:(a=n,J===0&&X(ct)),a!==n){for(o=[],s=e.charAt(q),O.test(s)?q++:(s=n,J===0&&X(K));s!==n;)o.push(s),s=e.charAt(q),O.test(s)?q++:(s=n,J===0&&X(K));if(s=[],c=q,e.substr(q,2)===`::`?(l=`::`,q+=2):(l=n,J===0&&X(H)),l!==n)if(u=e.charAt(q),D.test(u)?q++:(u=n,J===0&&X(ct)),u!==n){for(d=[],f=e.charAt(q),O.test(f)?q++:(f=n,J===0&&X(K));f!==n;)d.push(f),f=e.charAt(q),O.test(f)?q++:(f=n,J===0&&X(K));l=[l,u,d],c=l}else q=c,c=n;else q=c,c=n;for(;c!==n;)if(s.push(c),c=q,e.substr(q,2)===`::`?(l=`::`,q+=2):(l=n,J===0&&X(H)),l!==n)if(u=e.charAt(q),D.test(u)?q++:(u=n,J===0&&X(ct)),u!==n){for(d=[],f=e.charAt(q),O.test(f)?q++:(f=n,J===0&&X(K));f!==n;)d.push(f),f=e.charAt(q),O.test(f)?q++:(f=n,J===0&&X(K));l=[l,u,d],c=l}else q=c,c=n;else q=c,c=n;a=[a,o,s],i=a}else q=i,i=n;r=i===n?i:e.substring(r,q),r!==n&&(r=Kn(r)),t=r}}return t}function Oi(){let e;return e=Ti(),e===n&&(e=Ei(),e===n&&(e=Di())),e}function ki(){let t,r,i,a;if(t=q,e.charCodeAt(q)===34?(r=`"`,q++):(r=n,J===0&&X(ft)),r!==n){for(i=[],a=Ai();a!==n;)i.push(a),a=Ai();e.charCodeAt(q)===34?(a=`"`,q++):(a=n,J===0&&X(ft)),a===n?(q=t,t=n):t=qn(i)}else q=t,t=n;if(t===n)if(t=q,e.charCodeAt(q)===39?(r=`'`,q++):(r=n,J===0&&X(pt)),r!==n){for(i=[],a=ji();a!==n;)i.push(a),a=ji();e.charCodeAt(q)===39?(a=`'`,q++):(a=n,J===0&&X(pt)),a===n?(q=t,t=n):t=Jn(i)}else q=t,t=n;return t}function Ai(){let t,r,i;return t=q,e.charCodeAt(q)===92?(r=`\\`,q++):(r=n,J===0&&X(mt)),r===n?(q=t,t=n):(i=Mi(),i===n?(q=t,t=n):t=Yn(i)),t===n&&(t=e.charAt(q),oe.test(t)?q++:(t=n,J===0&&X(ht))),t}function ji(){let t,r,i;return t=q,e.charCodeAt(q)===92?(r=`\\`,q++):(r=n,J===0&&X(mt)),r===n?(q=t,t=n):(i=Mi(),i===n?(q=t,t=n):t=Xn(i)),t===n&&(t=e.charAt(q),k.test(t)?q++:(t=n,J===0&&X(gt))),t}function Mi(){let t,r,i,a,o,s;return t=q,e.charCodeAt(q)===110?(r=`n`,q++):(r=n,J===0&&X(_t)),r!==n&&(r=Zn()),t=r,t===n&&(t=q,e.charCodeAt(q)===114?(r=`r`,q++):(r=n,J===0&&X(vt)),r!==n&&(r=Qn()),t=r,t===n&&(t=q,e.charCodeAt(q)===116?(r=`t`,q++):(r=n,J===0&&X(yt)),r!==n&&(r=$n()),t=r,t===n&&(t=q,e.charCodeAt(q)===120?(r=`x`,q++):(r=n,J===0&&X(bt)),r===n?(q=t,t=n):(i=q,a=q,o=e.charAt(q),A.test(o)?q++:(o=n,J===0&&X(xt)),o===n?(q=a,a=n):(s=e.charAt(q),A.test(s)?q++:(s=n,J===0&&X(xt)),s===n?(q=a,a=n):(o=[o,s],a=o)),i=a===n?a:e.substring(i,q),i===n?(q=t,t=n):t=er(i)),t===n&&(t=q,e.substr(q,2)===`cr`?(r=`cr`,q+=2):(r=n,J===0&&X(St)),r!==n&&(r=tr()),t=r,t===n&&(t=q,e.substr(q,2)===`cp`?(r=`cp`,q+=2):(r=n,J===0&&X(Ct)),r!==n&&(r=nr()),t=r,t===n&&(t=q,e.substr(q,2)===`co`?(r=`co`,q+=2):(r=n,J===0&&X(wt)),r!==n&&(r=rr()),t=r,t===n&&(t=q,e.charCodeAt(q)===99?(r=`c`,q++):(r=n,J===0&&X(Tt)),r===n?(q=t,t=n):(i=e.charAt(q),j.test(i)?q++:(i=n,J===0&&X(Et)),i===n?(q=t,t=n):t=ir(i)),t===n&&(t=q,e.length>q?(r=e.charAt(q),q++):(r=n,J===0&&X(Dt)),r!==n&&(r=ar(r)),t=r)))))))),t}function Ni(){let t,r,i,a,o,s,c,l,u;if(t=q,r=q,i=q,e.charCodeAt(q)===48?(a=`0`,q++):(a=n,J===0&&X(Ot)),a!==n)if(o=e.charAt(q),M.test(o)?q++:(o=n,J===0&&X(kt)),o!==n){if(s=[],c=e.charAt(q),A.test(c)?q++:(c=n,J===0&&X(xt)),c!==n)for(;c!==n;)s.push(c),c=e.charAt(q),A.test(c)?q++:(c=n,J===0&&X(xt));else s=n;s===n?(q=i,i=n):(a=[a,o,s],i=a)}else q=i,i=n;else q=i,i=n;if(r=i===n?i:e.substring(r,q),r===n?(q=t,t=n):(i=q,J++,a=Vi(),J--,a===n?i=void 0:(q=i,i=n),i===n?(q=t,t=n):t=or(r)),t===n){if(t=q,r=q,i=q,e.charCodeAt(q)===45?(a=`-`,q++):(a=n,J===0&&X(At)),a===n&&(a=null),o=[],s=e.charAt(q),j.test(s)?q++:(s=n,J===0&&X(Et)),s!==n)for(;s!==n;)o.push(s),s=e.charAt(q),j.test(s)?q++:(s=n,J===0&&X(Et));else o=n;if(o!==n){if(s=q,e.charCodeAt(q)===46?(c=`.`,q++):(c=n,J===0&&X(pe)),c!==n){if(l=[],u=e.charAt(q),j.test(u)?q++:(u=n,J===0&&X(Et)),u!==n)for(;u!==n;)l.push(u),u=e.charAt(q),j.test(u)?q++:(u=n,J===0&&X(Et));else l=n;l===n?(q=s,s=n):(c=[c,l],s=c)}else q=s,s=n;s===n&&(s=null),a=[a,o,s],i=a}else q=i,i=n;if(i===n)if(i=q,e.charCodeAt(q)===45?(a=`-`,q++):(a=n,J===0&&X(At)),a===n&&(a=null),e.charCodeAt(q)===46?(o=`.`,q++):(o=n,J===0&&X(pe)),o!==n){if(s=[],c=e.charAt(q),j.test(c)?q++:(c=n,J===0&&X(Et)),c!==n)for(;c!==n;)s.push(c),c=e.charAt(q),j.test(c)?q++:(c=n,J===0&&X(Et));else s=n;s===n?(q=i,i=n):(a=[a,o,s],i=a)}else q=i,i=n;r=i===n?i:e.substring(r,q),r===n?(q=t,t=n):(i=q,J++,a=Vi(),J--,a===n?i=void 0:(q=i,i=n),i===n?(q=t,t=n):t=sr(r))}return t}function Pi(){let t,r,i,a;return t=q,e.substr(q,4)===w?(r=w,q+=4):(r=n,J===0&&X(jt)),r===n&&(e.substr(q,5)===T?(r=T,q+=5):(r=n,J===0&&X(Mt))),r===n?(q=t,t=n):(i=q,J++,a=Vi(),J--,a===n?i=void 0:(q=i,i=n),i===n?(q=t,t=n):t=cr(r)),t}function Fi(){let e;return e=Ii(),e===n&&(e=Li()),e}function Ii(){let t,r,i,a,o;if(t=q,e.substr(q,2)===`//`?(r=`//`,q+=2):(r=n,J===0&&X(Nt)),r!==n){for(i=q,a=[],o=e.charAt(q),N.test(o)?q++:(o=n,J===0&&X(Pt));o!==n;)a.push(o),o=e.charAt(q),N.test(o)?q++:(o=n,J===0&&X(Pt));i=e.substring(i,q),a=e.charAt(q),P.test(a)?q++:(a=n,J===0&&X(Ft)),a===n&&(a=null),t=lr(i)}else q=t,t=n;return t}function Li(){let t,r,i,a,o,s,c;if(t=q,e.substr(q,2)===`/*`?(r=`/*`,q+=2):(r=n,J===0&&X(It)),r!==n){for(i=q,a=[],o=q,s=q,J++,e.substr(q,2)===`*/`?(c=`*/`,q+=2):(c=n,J===0&&X(Lt)),J--,c===n?s=void 0:(q=s,s=n),s===n?(q=o,o=n):(e.length>q?(c=e.charAt(q),q++):(c=n,J===0&&X(Dt)),c===n?(q=o,o=n):(s=[s,c],o=s));o!==n;)a.push(o),o=q,s=q,J++,e.substr(q,2)===`*/`?(c=`*/`,q+=2):(c=n,J===0&&X(Lt)),J--,c===n?s=void 0:(q=s,s=n),s===n?(q=o,o=n):(e.length>q?(c=e.charAt(q),q++):(c=n,J===0&&X(Dt)),c===n?(q=o,o=n):(s=[s,c],o=s));i=e.substring(i,q),e.substr(q,2)===`*/`?(a=`*/`,q+=2):(a=n,J===0&&X(Lt)),a===n?(q=t,t=n):t=ur(i)}else q=t,t=n;return t}function Ri(){let t,r,i;if(t=q,r=[],i=e.charAt(q),F.test(i)?q++:(i=n,J===0&&X(Rt)),i!==n)for(;i!==n;)r.push(i),i=e.charAt(q),F.test(i)?q++:(i=n,J===0&&X(Rt));else r=n;return r!==n&&(r=dr()),t=r,t}function Q(){let t,r;for(t=[],r=e.charAt(q),F.test(r)?q++:(r=n,J===0&&X(Rt)),r===n&&(r=Bi());r!==n;)t.push(r),r=e.charAt(q),F.test(r)?q++:(r=n,J===0&&X(Rt)),r===n&&(r=Bi());return t}function zi(){let t,r,i,a;if(t=q,r=[],i=e.charAt(q),F.test(i)?q++:(i=n,J===0&&X(Rt)),i!==n)for(;i!==n;)r.push(i),i=e.charAt(q),F.test(i)?q++:(i=n,J===0&&X(Rt));else r=n;if(r!==n){for(i=[],a=e.charAt(q),F.test(a)?q++:(a=n,J===0&&X(Rt)),a===n&&(a=Bi());a!==n;)i.push(a),a=e.charAt(q),F.test(a)?q++:(a=n,J===0&&X(Rt)),a===n&&(a=Bi());r=[r,i],t=r}else q=t,t=n;return t}function $(){let t,r;for(t=[],r=e.charAt(q),F.test(r)?q++:(r=n,J===0&&X(Rt));r!==n;)t.push(r),r=e.charAt(q),F.test(r)?q++:(r=n,J===0&&X(Rt));return t}function Bi(){let t,r,i,a,o,s;if(t=q,e.substr(q,2)===`//`?(r=`//`,q+=2):(r=n,J===0&&X(Nt)),r!==n){for(i=[],a=e.charAt(q),N.test(a)?q++:(a=n,J===0&&X(Pt));a!==n;)i.push(a),a=e.charAt(q),N.test(a)?q++:(a=n,J===0&&X(Pt));a=e.charAt(q),P.test(a)?q++:(a=n,J===0&&X(Ft)),a===n&&(a=null),r=[r,i,a],t=r}else q=t,t=n;if(t===n)if(t=q,e.substr(q,2)===`/*`?(r=`/*`,q+=2):(r=n,J===0&&X(It)),r!==n){for(i=[],a=q,o=q,J++,e.substr(q,2)===`*/`?(s=`*/`,q+=2):(s=n,J===0&&X(Lt)),J--,s===n?o=void 0:(q=o,o=n),o===n?(q=a,a=n):(e.length>q?(s=e.charAt(q),q++):(s=n,J===0&&X(Dt)),s===n?(q=a,a=n):(o=[o,s],a=o));a!==n;)i.push(a),a=q,o=q,J++,e.substr(q,2)===`*/`?(s=`*/`,q+=2):(s=n,J===0&&X(Lt)),J--,s===n?o=void 0:(q=o,o=n),o===n?(q=a,a=n):(e.length>q?(s=e.charAt(q),q++):(s=n,J===0&&X(Dt)),s===n?(q=a,a=n):(o=[o,s],a=o));e.substr(q,2)===`*/`?(a=`*/`,q+=2):(a=n,J===0&&X(Lt)),a===n?(q=t,t=n):(r=[r,i,a],t=r)}else q=t,t=n;return t}function Vi(){let t;return t=e.charAt(q),O.test(t)?q++:(t=n,J===0&&X(K)),t}r=new Set,i=!1,hr=f();let Hi=hr!==n&&q===e.length;function Ui(){throw hr!==n&&q":`$.gt`,">=":`$.ge`,"==":`$.eq`,"!=":`$.ne`,"%":`$.mod`,"&":`$.bitand`,"|":`$.bitor`,"^":`$.bitxor`,"<<":`$.shl`,">>":`$.shr`},p=class{indent;runtime;functions;globals;locals;indentLevel=0;currentClass=null;currentFunction=null;constructor(e={}){this.indent=e.indent??` `,this.runtime=e.runtime??`$`,this.functions=e.functions??`$f`,this.globals=e.globals??`$g`,this.locals=e.locals??`$l`}getAccessInfo(e){if(e.type===`Variable`){let t=JSON.stringify(e.name),n=e.scope===`global`?this.globals:this.locals;return{getter:`${n}.get(${t})`,setter:e=>`${n}.set(${t}, ${e})`,postIncHelper:`${n}.postInc(${t})`,postDecHelper:`${n}.postDec(${t})`}}if(e.type===`MemberExpression`){let t=this.expression(e.object),n=e.property.type===`Identifier`?JSON.stringify(e.property.name):this.expression(e.property);return{getter:`${this.runtime}.prop(${t}, ${n})`,setter:e=>`${this.runtime}.setProp(${t}, ${n}, ${e})`,postIncHelper:`${this.runtime}.propPostInc(${t}, ${n})`,postDecHelper:`${this.runtime}.propPostDec(${t}, ${n})`}}if(e.type===`IndexExpression`){let t=Array.isArray(e.index)?e.index.map(e=>this.expression(e)):[this.expression(e.index)];if(e.object.type===`Variable`){let n=JSON.stringify(e.object.name),r=e.object.scope===`global`?this.globals:this.locals,i=t.join(`, `);return{getter:`${r}.get(${n}, ${i})`,setter:e=>`${r}.set(${n}, ${i}, ${e})`,postIncHelper:`${r}.postInc(${n}, ${i})`,postDecHelper:`${r}.postDec(${n}, ${i})`}}if(e.object.type===`MemberExpression`){let n=e.object,r=this.expression(n.object),i=n.property.type===`Identifier`?JSON.stringify(n.property.name):this.expression(n.property),a=`${this.runtime}.key(${i}, ${t.join(`, `)})`;return{getter:`${this.runtime}.prop(${r}, ${a})`,setter:e=>`${this.runtime}.setProp(${r}, ${a}, ${e})`,postIncHelper:`${this.runtime}.propPostInc(${r}, ${a})`,postDecHelper:`${this.runtime}.propPostDec(${r}, ${a})`}}let n=this.expression(e.object),r=t.length===1?t[0]:`${this.runtime}.key(${t.join(`, `)})`;return{getter:`${this.runtime}.getIndex(${n}, ${r})`,setter:e=>`${this.runtime}.setIndex(${n}, ${r}, ${e})`,postIncHelper:`${this.runtime}.indexPostInc(${n}, ${r})`,postDecHelper:`${this.runtime}.indexPostDec(${n}, ${r})`}}return null}generate(e){let t=[];for(let n of e.body){let e=this.statement(n);e&&t.push(e)}return t.join(` - -`)}statement(e){switch(e.type){case`Comment`:return``;case`ExpressionStatement`:return this.line(`${this.expression(e.expression)};`);case`FunctionDeclaration`:return this.functionDeclaration(e);case`PackageDeclaration`:return this.packageDeclaration(e);case`DatablockDeclaration`:return this.datablockDeclaration(e);case`ObjectDeclaration`:return this.line(`${this.objectDeclaration(e)};`);case`IfStatement`:return this.ifStatement(e);case`ForStatement`:return this.forStatement(e);case`WhileStatement`:return this.whileStatement(e);case`DoWhileStatement`:return this.doWhileStatement(e);case`SwitchStatement`:return this.switchStatement(e);case`ReturnStatement`:return this.returnStatement(e);case`BreakStatement`:return this.line(`break;`);case`ContinueStatement`:return this.line(`continue;`);case`BlockStatement`:return this.blockStatement(e);default:throw Error(`Unknown statement type: ${e.type}`)}}functionDeclaration(e){let t=d(e.name.name);if(t){let n=t.namespace,r=t.method;this.currentClass=n.toLowerCase(),this.currentFunction=r.toLowerCase();let i=this.functionBody(e.body,e.params);return this.currentClass=null,this.currentFunction=null,`${this.line(`${this.runtime}.registerMethod(${JSON.stringify(n)}, ${JSON.stringify(r)}, function() {`)}\n${i}\n${this.line(`});`)}`}else{let t=e.name.name;this.currentFunction=t.toLowerCase();let n=this.functionBody(e.body,e.params);return this.currentFunction=null,`${this.line(`${this.runtime}.registerFunction(${JSON.stringify(t)}, function() {`)}\n${n}\n${this.line(`});`)}`}}functionBody(e,t){this.indentLevel++;let n=[];n.push(this.line(`const ${this.locals} = ${this.runtime}.locals();`));for(let e=0;ethis.statement(e)).join(` - -`);return this.indentLevel--,`${this.line(`${this.runtime}.package(${t}, function() {`)}\n${n}\n${this.line(`});`)}`}datablockDeclaration(e){let t=JSON.stringify(e.className.name),n=e.instanceName?JSON.stringify(e.instanceName.name):`null`,r=e.parent?JSON.stringify(e.parent.name):`null`,i=this.objectBody(e.body);return this.line(`${this.runtime}.datablock(${t}, ${n}, ${r}, ${i});`)}objectDeclaration(e){let t=e.className.type===`Identifier`?JSON.stringify(e.className.name):this.expression(e.className),n=e.instanceName===null?`null`:e.instanceName.type===`Identifier`?JSON.stringify(e.instanceName.name):this.expression(e.instanceName),r=[],i=[];for(let t of e.body)t.type===`Assignment`?r.push(t):i.push(t);let a=this.objectBody(r);if(i.length>0){let e=i.map(e=>this.objectDeclaration(e)).join(`, -`);return`${this.runtime}.create(${t}, ${n}, ${a}, [\n${e}\n])`}return`${this.runtime}.create(${t}, ${n}, ${a})`}objectBody(e){if(e.length===0)return`{}`;let t=[];for(let n of e)if(n.type===`Assignment`){let e=this.expression(n.value);if(n.target.type===`Identifier`){let r=n.target.name;/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(r)?t.push(`${r}: ${e}`):t.push(`[${JSON.stringify(r)}]: ${e}`)}else if(n.target.type===`IndexExpression`){let r=this.objectPropertyKey(n.target);t.push(`[${r}]: ${e}`)}else{let r=this.expression(n.target);t.push(`[${r}]: ${e}`)}}if(t.length<=1)return`{ ${t.join(`, `)} }`;let n=this.indent.repeat(this.indentLevel+1),r=this.indent.repeat(this.indentLevel);return`{\n${n}${t.join(`, -`+n)}\n${r}}`}objectPropertyKey(e){let t=e.object.type===`Identifier`?JSON.stringify(e.object.name):this.expression(e.object),n=Array.isArray(e.index)?e.index.map(e=>this.expression(e)).join(`, `):this.expression(e.index);return`${this.runtime}.key(${t}, ${n})`}ifStatement(e){let t=this.expression(e.test),n=this.statementAsBlock(e.consequent);if(e.alternate)if(e.alternate.type===`IfStatement`){let r=this.ifStatement(e.alternate).replace(/^\s*/,``);return this.line(`if (${t}) ${n} else ${r}`)}else{let r=this.statementAsBlock(e.alternate);return this.line(`if (${t}) ${n} else ${r}`)}return this.line(`if (${t}) ${n}`)}forStatement(e){let t=e.init?this.expression(e.init):``,n=e.test?this.expression(e.test):``,r=e.update?this.expression(e.update):``,i=this.statementAsBlock(e.body);return this.line(`for (${t}; ${n}; ${r}) ${i}`)}whileStatement(e){let t=this.expression(e.test),n=this.statementAsBlock(e.body);return this.line(`while (${t}) ${n}`)}doWhileStatement(e){let t=this.statementAsBlock(e.body),n=this.expression(e.test);return this.line(`do ${t} while (${n});`)}switchStatement(e){if(e.stringMode)return this.switchStringStatement(e);let t=this.expression(e.discriminant);this.indentLevel++;let n=[];for(let t of e.cases)n.push(this.switchCase(t));return this.indentLevel--,`${this.line(`switch (${t}) {`)}\n${n.join(` -`)}\n${this.line(`}`)}`}switchCase(e){let t=[];if(e.test===null)t.push(this.line(`default:`));else if(Array.isArray(e.test))for(let n of e.test)t.push(this.line(`case ${this.expression(n)}:`));else t.push(this.line(`case ${this.expression(e.test)}:`));this.indentLevel++;for(let n of e.consequent)t.push(this.statement(n));return t.push(this.line(`break;`)),this.indentLevel--,t.join(` -`)}switchStringStatement(e){let t=this.expression(e.discriminant),n=[];for(let t of e.cases)if(t.test===null)n.push(`default: () => { ${this.blockContent(t.consequent)} }`);else if(Array.isArray(t.test))for(let e of t.test)n.push(`${this.expression(e)}: () => { ${this.blockContent(t.consequent)} }`);else n.push(`${this.expression(t.test)}: () => { ${this.blockContent(t.consequent)} }`);return this.line(`${this.runtime}.switchStr(${t}, { ${n.join(`, `)} });`)}returnStatement(e){return e.value?this.line(`return ${this.expression(e.value)};`):this.line(`return;`)}blockStatement(e){this.indentLevel++;let t=e.body.map(e=>this.statement(e)).join(` -`);return this.indentLevel--,`{\n${t}\n${this.line(`}`)}`}statementAsBlock(e){if(e.type===`BlockStatement`)return this.blockStatement(e);this.indentLevel++;let t=this.statement(e);return this.indentLevel--,`{\n${t}\n${this.line(`}`)}`}blockContent(e){return e.map(e=>this.statement(e).trim()).join(` `)}expression(e){switch(e.type){case`Identifier`:return this.identifier(e);case`Variable`:return this.variable(e);case`NumberLiteral`:return String(e.value);case`StringLiteral`:return JSON.stringify(e.value);case`BooleanLiteral`:return String(e.value);case`BinaryExpression`:return this.binaryExpression(e);case`UnaryExpression`:return this.unaryExpression(e);case`PostfixExpression`:return this.postfixExpression(e);case`AssignmentExpression`:return this.assignmentExpression(e);case`ConditionalExpression`:return`(${this.expression(e.test)} ? ${this.expression(e.consequent)} : ${this.expression(e.alternate)})`;case`CallExpression`:return this.callExpression(e);case`MemberExpression`:return this.memberExpression(e);case`IndexExpression`:return this.indexExpression(e);case`TagDereferenceExpression`:return`${this.runtime}.deref(${this.expression(e.argument)})`;case`ObjectDeclaration`:return this.objectDeclaration(e);case`DatablockDeclaration`:return`${this.runtime}.datablock(${JSON.stringify(e.className.name)}, ${e.instanceName?JSON.stringify(e.instanceName.name):`null`}, ${e.parent?JSON.stringify(e.parent.name):`null`}, ${this.objectBody(e.body)})`;default:throw Error(`Unknown expression type: ${e.type}`)}}identifier(e){let t=d(e.name);return t&&t.namespace.toLowerCase()===`parent`?e.name:t?`${this.runtime}.nsRef(${JSON.stringify(t.namespace)}, ${JSON.stringify(t.method)})`:JSON.stringify(e.name)}variable(e){return e.scope===`global`?`${this.globals}.get(${JSON.stringify(e.name)})`:`${this.locals}.get(${JSON.stringify(e.name)})`}binaryExpression(e){let t=this.expression(e.left),n=this.expression(e.right),r=e.operator,i=this.concatExpression(t,r,n);if(i)return i;if(r===`$=`)return`${this.runtime}.streq(${t}, ${n})`;if(r===`!$=`)return`!${this.runtime}.streq(${t}, ${n})`;if(r===`&&`||r===`||`)return`(${t} ${r} ${n})`;let a=f[r];return a?`${a}(${t}, ${n})`:`(${t} ${r} ${n})`}unaryExpression(e){if(e.operator===`++`||e.operator===`--`){let t=this.getAccessInfo(e.argument);if(t){let n=e.operator===`++`?1:-1;return t.setter(`${this.runtime}.add(${t.getter}, ${n})`)}}let t=this.expression(e.argument);return e.operator===`~`?`${this.runtime}.bitnot(${t})`:e.operator===`-`?`${this.runtime}.neg(${t})`:`${e.operator}${t}`}postfixExpression(e){let t=this.getAccessInfo(e.argument);if(t){let n=e.operator===`++`?t.postIncHelper:t.postDecHelper;if(n)return n}return`${this.expression(e.argument)}${e.operator}`}assignmentExpression(e){let t=this.expression(e.value),n=e.operator,r=this.getAccessInfo(e.target);if(!r)throw Error(`Unhandled assignment target type: ${e.target.type}`);if(n===`=`)return r.setter(t);{let e=n.slice(0,-1),i=this.compoundAssignmentValue(r.getter,e,t);return r.setter(i)}}callExpression(e){let t=e.arguments.map(e=>this.expression(e)).join(`, `);if(e.callee.type===`Identifier`){let n=e.callee.name,r=d(n);if(r&&r.namespace.toLowerCase()===`parent`){if(this.currentClass)return`${this.runtime}.parent(${JSON.stringify(this.currentClass)}, ${JSON.stringify(r.method)}, arguments[0]${t?`, `+t:``})`;if(this.currentFunction)return`${this.runtime}.parentFunc(${JSON.stringify(this.currentFunction)}${t?`, `+t:``})`;throw Error(`Parent:: call outside of function context`)}return r?`${this.runtime}.nsCall(${JSON.stringify(r.namespace)}, ${JSON.stringify(r.method)}${t?`, `+t:``})`:`${this.functions}.call(${JSON.stringify(n)}${t?`, `+t:``})`}if(e.callee.type===`MemberExpression`){let n=this.expression(e.callee.object),r=e.callee.property.type===`Identifier`?JSON.stringify(e.callee.property.name):this.expression(e.callee.property);return`${this.runtime}.call(${n}, ${r}${t?`, `+t:``})`}return`${this.expression(e.callee)}(${t})`}memberExpression(e){let t=this.expression(e.object);return e.computed||e.property.type!==`Identifier`?`${this.runtime}.prop(${t}, ${this.expression(e.property)})`:`${this.runtime}.prop(${t}, ${JSON.stringify(e.property.name)})`}indexExpression(e){let t=Array.isArray(e.index)?e.index.map(e=>this.expression(e)):[this.expression(e.index)];if(e.object.type===`Variable`){let n=JSON.stringify(e.object.name);return`${e.object.scope===`global`?this.globals:this.locals}.get(${n}, ${t.join(`, `)})`}if(e.object.type===`MemberExpression`){let n=e.object,r=this.expression(n.object),i=n.property.type===`Identifier`?JSON.stringify(n.property.name):this.expression(n.property),a=`${this.runtime}.key(${i}, ${t.join(`, `)})`;return`${this.runtime}.prop(${r}, ${a})`}let n=this.expression(e.object);return t.length===1?`${this.runtime}.getIndex(${n}, ${t[0]})`:`${this.runtime}.getIndex(${n}, ${this.runtime}.key(${t.join(`, `)}))`}line(e){return this.indent.repeat(this.indentLevel)+e}concatExpression(e,t,n){switch(t){case`@`:return`${this.runtime}.concat(${e}, ${n})`;case`SPC`:return`${this.runtime}.concat(${e}, " ", ${n})`;case`TAB`:return`${this.runtime}.concat(${e}, "\\t", ${n})`;case`NL`:return`${this.runtime}.concat(${e}, "\\n", ${n})`;default:return null}}compoundAssignmentValue(e,t,n){let r=this.concatExpression(e,t,n);if(r)return r;let i=f[t];return i?`${i}(${e}, ${n})`:`(${e} ${t} ${n})`}};function m(e,t){return new p(t).generate(e)}var h=t(((e,t)=>{var n=`\\\\/`,r=`[^${n}]`,i=0,a=`\\.`,o=`\\+`,s=`\\?`,c=`\\/`,l=`(?=.)`,u=`[^/]`,d=`(?:${c}|$)`,f=`(?:^|${c})`,p=`${a}{1,2}${d}`,m={DOT_LITERAL:a,PLUS_LITERAL:o,QMARK_LITERAL:s,SLASH_LITERAL:c,ONE_CHAR:l,QMARK:u,END_ANCHOR:d,DOTS_SLASH:p,NO_DOT:`(?!${a})`,NO_DOTS:`(?!${f}${p})`,NO_DOT_SLASH:`(?!${a}{0,1}${d})`,NO_DOTS_SLASH:`(?!${p})`,QMARK_NO_DOT:`[^.${c}]`,STAR:`${u}*?`,START_ANCHOR:f,SEP:`/`},h={...m,SLASH_LITERAL:`[${n}]`,QMARK:r,STAR:`${r}*?`,DOTS_SLASH:`${a}{1,2}(?:[${n}]|$)`,NO_DOT:`(?!${a})`,NO_DOTS:`(?!(?:^|[${n}])${a}{1,2}(?:[${n}]|$))`,NO_DOT_SLASH:`(?!${a}{0,1}(?:[${n}]|$))`,NO_DOTS_SLASH:`(?!${a}{1,2}(?:[${n}]|$))`,QMARK_NO_DOT:`[^.${n}]`,START_ANCHOR:`(?:^|[${n}])`,END_ANCHOR:`(?:[${n}]|$)`,SEP:`\\`};t.exports={DEFAULT_MAX_EXTGLOB_RECURSION:i,MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:{__proto__:null,alnum:`a-zA-Z0-9`,alpha:`a-zA-Z`,ascii:`\\x00-\\x7F`,blank:` \\t`,cntrl:`\\x00-\\x1F\\x7F`,digit:`0-9`,graph:`\\x21-\\x7E`,lower:`a-z`,print:`\\x20-\\x7E `,punct:`\\-!"#$%&'()\\*+,./:;<=>?@[\\]^_\`{|}~`,space:` \\t\\r\\n\\v\\f`,upper:`A-Z`,word:`A-Za-z0-9_`,xdigit:`A-Fa-f0-9`},REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{__proto__:null,"***":`*`,"**/**":`**`,"**/**/**":`**`},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,extglobChars(e){return{"!":{type:`negate`,open:`(?:(?!(?:`,close:`))${e.STAR})`},"?":{type:`qmark`,open:`(?:`,close:`)?`},"+":{type:`plus`,open:`(?:`,close:`)+`},"*":{type:`star`,open:`(?:`,close:`)*`},"@":{type:`at`,open:`(?:`,close:`)`}}},globChars(e){return e===!0?h:m}}})),g=t((e=>{var{REGEX_BACKSLASH:t,REGEX_REMOVE_BACKSLASH:n,REGEX_SPECIAL_CHARS:r,REGEX_SPECIAL_CHARS_GLOBAL:i}=h();e.isObject=e=>typeof e==`object`&&!!e&&!Array.isArray(e),e.hasRegexChars=e=>r.test(e),e.isRegexChar=t=>t.length===1&&e.hasRegexChars(t),e.escapeRegex=e=>e.replace(i,`\\$1`),e.toPosixSlashes=e=>e.replace(t,`/`),e.isWindows=()=>{if(typeof navigator<`u`&&navigator.platform){let e=navigator.platform.toLowerCase();return e===`win32`||e===`windows`}return typeof process<`u`&&process.platform?process.platform===`win32`:!1},e.removeBackslashes=e=>e.replace(n,e=>e===`\\`?``:e),e.escapeLast=(t,n,r)=>{let i=t.lastIndexOf(n,r);return i===-1?t:t[i-1]===`\\`?e.escapeLast(t,n,i-1):`${t.slice(0,i)}\\${t.slice(i)}`},e.removePrefix=(e,t={})=>{let n=e;return n.startsWith(`./`)&&(n=n.slice(2),t.prefix=`./`),n},e.wrapOutput=(e,t={},n={})=>{let r=`${n.contains?``:`^`}(?:${e})${n.contains?``:`$`}`;return t.negated===!0&&(r=`(?:^(?!${r}).*$)`),r},e.basename=(e,{windows:t}={})=>{let n=e.split(t?/[\\/]/:`/`),r=n[n.length-1];return r===``?n[n.length-2]:r}})),_=t(((e,t)=>{var n=g(),{CHAR_ASTERISK:r,CHAR_AT:i,CHAR_BACKWARD_SLASH:a,CHAR_COMMA:o,CHAR_DOT:s,CHAR_EXCLAMATION_MARK:c,CHAR_FORWARD_SLASH:l,CHAR_LEFT_CURLY_BRACE:u,CHAR_LEFT_PARENTHESES:d,CHAR_LEFT_SQUARE_BRACKET:f,CHAR_PLUS:p,CHAR_QUESTION_MARK:m,CHAR_RIGHT_CURLY_BRACE:_,CHAR_RIGHT_PARENTHESES:v,CHAR_RIGHT_SQUARE_BRACKET:ee}=h(),te=e=>e===l||e===a,y=e=>{e.isPrefix!==!0&&(e.depth=e.isGlobstar?1/0:1)};t.exports=(e,t)=>{let h=t||{},g=e.length-1,b=h.parts===!0||h.scanToEnd===!0,x=[],S=[],C=[],w=e,T=-1,E=0,ne=0,re=!1,ie=!1,D=!1,O=!1,ae=!1,oe=!1,k=!1,A=!1,j=!1,M=!1,N=0,P,F,I={value:``,depth:0,isGlob:!1},L=()=>T>=g,se=()=>w.charCodeAt(T+1),R=()=>(P=F,w.charCodeAt(++T));for(;T0&&(B=w.slice(0,E),w=w.slice(E),ne-=E),z&&D===!0&&ne>0?(z=w.slice(0,ne),V=w.slice(ne)):D===!0?(z=``,V=w):z=w,z&&z!==``&&z!==`/`&&z!==w&&te(z.charCodeAt(z.length-1))&&(z=z.slice(0,-1)),h.unescape===!0&&(V&&=n.removeBackslashes(V),z&&k===!0&&(z=n.removeBackslashes(z)));let H={prefix:B,input:e,start:E,base:z,glob:V,isBrace:re,isBracket:ie,isGlob:D,isExtglob:O,isGlobstar:ae,negated:A,negatedExtglob:j};if(h.tokens===!0&&(H.maxDepth=0,te(F)||S.push(I),H.tokens=S),h.parts===!0||h.tokens===!0){let t;for(let n=0;n{var n=h(),r=g(),{MAX_LENGTH:i,POSIX_REGEX_SOURCE:a,REGEX_NON_SPECIAL_CHARS:o,REGEX_SPECIAL_CHARS_BACKREF:s,REPLACEMENTS:c}=n,l=(e,t)=>{if(typeof t.expandRange==`function`)return t.expandRange(...e,t);e.sort();let n=`[${e.join(`-`)}]`;try{new RegExp(n)}catch{return e.map(e=>r.escapeRegex(e)).join(`..`)}return n},u=(e,t)=>`Missing ${e}: "${t}" - use "\\\\${t}" to match literal characters`,d=e=>{let t=[],n=0,r=0,i=0,a=``,o=!1;for(let s of e){if(o===!0){a+=s,o=!1;continue}if(s===`\\`){a+=s,o=!0;continue}if(s===`"`){i=i===1?0:1,a+=s;continue}if(i===0){if(s===`[`)n++;else if(s===`]`&&n>0)n--;else if(n===0){if(s===`(`)r++;else if(s===`)`&&r>0)r--;else if(s===`|`&&r===0){t.push(a),a=``;continue}}}a+=s}return t.push(a),t},f=e=>{let t=!1;for(let n of e){if(t===!0){t=!1;continue}if(n===`\\`){t=!0;continue}if(/[?*+@!()[\]{}]/.test(n))return!1}return!0},p=e=>{let t=e.trim(),n=!0;for(;n===!0;)n=!1,/^@\([^\\()[\]{}|]+\)$/.test(t)&&(t=t.slice(2,-1),n=!0);if(f(t))return t.replace(/\\(.)/g,`$1`)},m=e=>{let t=e.map(p).filter(Boolean);for(let e=0;e{if(e[0]!==`+`&&e[0]!==`*`||e[1]!==`(`)return;let n=0,r=0,i=0,a=!1;for(let o=1;o0){n--;continue}if(!(n>0)){if(s===`(`){r++;continue}if(s===`)`&&(r--,r===0))return t===!0&&o!==e.length-1?void 0:{type:e[0],body:e.slice(2,o),end:o}}}}},v=e=>{let t=0,n=[];for(;te.trim());if(i.length!==1)return;let a=p(i[0]);if(!a||a.length!==1)return;n.push(a),t+=r.end+1}if(!(n.length<1))return`${n.length===1?r.escapeRegex(n[0]):`[${n.map(e=>r.escapeRegex(e)).join(``)}]`}*`},ee=e=>{let t=0,n=e.trim(),r=_(n);for(;r;)t++,n=r.body.trim(),r=_(n);return t},te=(e,t)=>{if(t.maxExtglobRecursion===!1)return{risky:!1};let r=typeof t.maxExtglobRecursion==`number`?t.maxExtglobRecursion:n.DEFAULT_MAX_EXTGLOB_RECURSION,i=d(e).map(e=>e.trim());if(i.length>1&&(i.some(e=>e===``)||i.some(e=>/^[*?]+$/.test(e))||m(i)))return{risky:!0};for(let e of i){let t=v(e);if(t)return{risky:!0,safeOutput:t};if(ee(e)>r)return{risky:!0}}return{risky:!1}},y=(e,t)=>{if(typeof e!=`string`)throw TypeError(`Expected a string`);e=c[e]||e;let d={...t},f=typeof d.maxLength==`number`?Math.min(i,d.maxLength):i,p=e.length;if(p>f)throw SyntaxError(`Input length: ${p}, exceeds maximum allowed length: ${f}`);let m={type:`bos`,value:``,output:d.prepend||``},h=[m],g=d.capture?``:`?:`,_=n.globChars(d.windows),v=n.extglobChars(_),{DOT_LITERAL:ee,PLUS_LITERAL:b,SLASH_LITERAL:x,ONE_CHAR:S,DOTS_SLASH:C,NO_DOT:w,NO_DOT_SLASH:T,NO_DOTS_SLASH:E,QMARK:ne,QMARK_NO_DOT:re,STAR:ie,START_ANCHOR:D}=_,O=e=>`(${g}(?:(?!${D}${e.dot?C:ee}).)*?)`,ae=d.dot?``:w,oe=d.dot?ne:re,k=d.bash===!0?O(d):ie;d.capture&&(k=`(${k})`),typeof d.noext==`boolean`&&(d.noextglob=d.noext);let A={input:e,index:-1,start:0,dot:d.dot===!0,consumed:``,output:``,prefix:``,backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:h};e=r.removePrefix(e,A),p=e.length;let j=[],M=[],N=[],P=m,F,I=()=>A.index===p-1,L=A.peek=(t=1)=>e[A.index+t],se=A.advance=()=>e[++A.index]||``,R=()=>e.slice(A.index+1),z=(e=``,t=0)=>{A.consumed+=e,A.index+=t},B=e=>{A.output+=e.output==null?e.value:e.output,z(e.value)},V=()=>{let e=1;for(;L()===`!`&&(L(2)!==`(`||L(3)===`?`);)se(),A.start++,e++;return e%2==0?!1:(A.negated=!0,A.start++,!0)},H=e=>{A[e]++,N.push(e)},ce=e=>{A[e]--,N.pop()},U=e=>{if(P.type===`globstar`){let t=A.braces>0&&(e.type===`comma`||e.type===`brace`),n=e.extglob===!0||j.length&&(e.type===`pipe`||e.type===`paren`);e.type!==`slash`&&e.type!==`paren`&&!t&&!n&&(A.output=A.output.slice(0,-P.output.length),P.type=`star`,P.value=`*`,P.output=k,A.output+=P.output)}if(j.length&&e.type!==`paren`&&(j[j.length-1].inner+=e.value),(e.value||e.output)&&B(e),P&&P.type===`text`&&e.type===`text`){P.output=(P.output||P.value)+e.value,P.value+=e.value;return}e.prev=P,h.push(e),P=e},le=(e,t)=>{let n={...v[t],conditions:1,inner:``};n.prev=P,n.parens=A.parens,n.output=A.output,n.startIndex=A.index,n.tokensIndex=h.length;let r=(d.capture?`(`:``)+n.open;H(`parens`),U({type:e,value:t,output:A.output?``:S}),U({type:`paren`,extglob:!0,value:se(),output:r}),j.push(n)},ue=n=>{let i=e.slice(n.startIndex,A.index+1),a=te(e.slice(n.startIndex+2,A.index),d);if((n.type===`plus`||n.type===`star`)&&a.risky){let e=a.safeOutput?(n.output?``:S)+(d.capture?`(${a.safeOutput})`:a.safeOutput):void 0,t=h[n.tokensIndex];t.type=`text`,t.value=i,t.output=e||r.escapeRegex(i);for(let e=n.tokensIndex+1;e1&&n.inner.includes(`/`)&&(e=O(d)),(e!==k||I()||/^\)+$/.test(R()))&&(o=n.close=`)$))${e}`),n.inner.includes(`*`)&&(s=R())&&/^\.[^\\/.]+$/.test(s)&&(o=n.close=`)${y(s,{...t,fastpaths:!1}).output})${e})`),n.prev.type===`bos`&&(A.negatedExtglob=!0)}U({type:`paren`,extglob:!0,value:F,output:o}),ce(`parens`)};if(d.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(e)){let n=!1,i=e.replace(s,(e,t,r,i,a,o)=>i===`\\`?(n=!0,e):i===`?`?t?t+i+(a?ne.repeat(a.length):``):o===0?oe+(a?ne.repeat(a.length):``):ne.repeat(r.length):i===`.`?ee.repeat(r.length):i===`*`?t?t+i+(a?k:``):k:t?e:`\\${e}`);return n===!0&&(i=d.unescape===!0?i.replace(/\\/g,``):i.replace(/\\+/g,e=>e.length%2==0?`\\\\`:e?`\\`:``)),i===e&&d.contains===!0?(A.output=e,A):(A.output=r.wrapOutput(i,A,t),A)}for(;!I();){if(F=se(),F===`\0`)continue;if(F===`\\`){let e=L();if(e===`/`&&d.bash!==!0||e===`.`||e===`;`)continue;if(!e){F+=`\\`,U({type:`text`,value:F});continue}let t=/^\\+/.exec(R()),n=0;if(t&&t[0].length>2&&(n=t[0].length,A.index+=n,n%2!=0&&(F+=`\\`)),d.unescape===!0?F=se():F+=se(),A.brackets===0){U({type:`text`,value:F});continue}}if(A.brackets>0&&(F!==`]`||P.value===`[`||P.value===`[^`)){if(d.posix!==!1&&F===`:`){let e=P.value.slice(1);if(e.includes(`[`)&&(P.posix=!0,e.includes(`:`))){let e=P.value.lastIndexOf(`[`),t=P.value.slice(0,e),n=a[P.value.slice(e+2)];if(n){P.value=t+n,A.backtrack=!0,se(),!m.output&&h.indexOf(P)===1&&(m.output=S);continue}}}(F===`[`&&L()!==`:`||F===`-`&&L()===`]`)&&(F=`\\${F}`),F===`]`&&(P.value===`[`||P.value===`[^`)&&(F=`\\${F}`),d.posix===!0&&F===`!`&&P.value===`[`&&(F=`^`),P.value+=F,B({value:F});continue}if(A.quotes===1&&F!==`"`){F=r.escapeRegex(F),P.value+=F,B({value:F});continue}if(F===`"`){A.quotes=A.quotes===1?0:1,d.keepQuotes===!0&&U({type:`text`,value:F});continue}if(F===`(`){H(`parens`),U({type:`paren`,value:F});continue}if(F===`)`){if(A.parens===0&&d.strictBrackets===!0)throw SyntaxError(u(`opening`,`(`));let e=j[j.length-1];if(e&&A.parens===e.parens+1){ue(j.pop());continue}U({type:`paren`,value:F,output:A.parens?`)`:`\\)`}),ce(`parens`);continue}if(F===`[`){if(d.nobracket===!0||!R().includes(`]`)){if(d.nobracket!==!0&&d.strictBrackets===!0)throw SyntaxError(u(`closing`,`]`));F=`\\${F}`}else H(`brackets`);U({type:`bracket`,value:F});continue}if(F===`]`){if(d.nobracket===!0||P&&P.type===`bracket`&&P.value.length===1){U({type:`text`,value:F,output:`\\${F}`});continue}if(A.brackets===0){if(d.strictBrackets===!0)throw SyntaxError(u(`opening`,`[`));U({type:`text`,value:F,output:`\\${F}`});continue}ce(`brackets`);let e=P.value.slice(1);if(P.posix!==!0&&e[0]===`^`&&!e.includes(`/`)&&(F=`/${F}`),P.value+=F,B({value:F}),d.literalBrackets===!1||r.hasRegexChars(e))continue;let t=r.escapeRegex(P.value);if(A.output=A.output.slice(0,-P.value.length),d.literalBrackets===!0){A.output+=t,P.value=t;continue}P.value=`(${g}${t}|${P.value})`,A.output+=P.value;continue}if(F===`{`&&d.nobrace!==!0){H(`braces`);let e={type:`brace`,value:F,output:`(`,outputIndex:A.output.length,tokensIndex:A.tokens.length};M.push(e),U(e);continue}if(F===`}`){let e=M[M.length-1];if(d.nobrace===!0||!e){U({type:`text`,value:F,output:F});continue}let t=`)`;if(e.dots===!0){let e=h.slice(),n=[];for(let t=e.length-1;t>=0&&(h.pop(),e[t].type!==`brace`);t--)e[t].type!==`dots`&&n.unshift(e[t].value);t=l(n,d),A.backtrack=!0}if(e.comma!==!0&&e.dots!==!0){let n=A.output.slice(0,e.outputIndex),r=A.tokens.slice(e.tokensIndex);e.value=e.output=`\\{`,F=t=`\\}`,A.output=n;for(let e of r)A.output+=e.output||e.value}U({type:`brace`,value:F,output:t}),ce(`braces`),M.pop();continue}if(F===`|`){j.length>0&&j[j.length-1].conditions++,U({type:`text`,value:F});continue}if(F===`,`){let e=F,t=M[M.length-1];t&&N[N.length-1]===`braces`&&(t.comma=!0,e=`|`),U({type:`comma`,value:F,output:e});continue}if(F===`/`){if(P.type===`dot`&&A.index===A.start+1){A.start=A.index+1,A.consumed=``,A.output=``,h.pop(),P=m;continue}U({type:`slash`,value:F,output:x});continue}if(F===`.`){if(A.braces>0&&P.type===`dot`){P.value===`.`&&(P.output=ee);let e=M[M.length-1];P.type=`dots`,P.output+=F,P.value+=F,e.dots=!0;continue}if(A.braces+A.parens===0&&P.type!==`bos`&&P.type!==`slash`){U({type:`text`,value:F,output:ee});continue}U({type:`dot`,value:F,output:ee});continue}if(F===`?`){if(!(P&&P.value===`(`)&&d.noextglob!==!0&&L()===`(`&&L(2)!==`?`){le(`qmark`,F);continue}if(P&&P.type===`paren`){let e=L(),t=F;(P.value===`(`&&!/[!=<:]/.test(e)||e===`<`&&!/<([!=]|\w+>)/.test(R()))&&(t=`\\${F}`),U({type:`text`,value:F,output:t});continue}if(d.dot!==!0&&(P.type===`slash`||P.type===`bos`)){U({type:`qmark`,value:F,output:re});continue}U({type:`qmark`,value:F,output:ne});continue}if(F===`!`){if(d.noextglob!==!0&&L()===`(`&&(L(2)!==`?`||!/[!=<:]/.test(L(3)))){le(`negate`,F);continue}if(d.nonegate!==!0&&A.index===0){V();continue}}if(F===`+`){if(d.noextglob!==!0&&L()===`(`&&L(2)!==`?`){le(`plus`,F);continue}if(P&&P.value===`(`||d.regex===!1){U({type:`plus`,value:F,output:b});continue}if(P&&(P.type===`bracket`||P.type===`paren`||P.type===`brace`)||A.parens>0){U({type:`plus`,value:F});continue}U({type:`plus`,value:b});continue}if(F===`@`){if(d.noextglob!==!0&&L()===`(`&&L(2)!==`?`){U({type:`at`,extglob:!0,value:F,output:``});continue}U({type:`text`,value:F});continue}if(F!==`*`){(F===`$`||F===`^`)&&(F=`\\${F}`);let e=o.exec(R());e&&(F+=e[0],A.index+=e[0].length),U({type:`text`,value:F});continue}if(P&&(P.type===`globstar`||P.star===!0)){P.type=`star`,P.star=!0,P.value+=F,P.output=k,A.backtrack=!0,A.globstar=!0,z(F);continue}let t=R();if(d.noextglob!==!0&&/^\([^?]/.test(t)){le(`star`,F);continue}if(P.type===`star`){if(d.noglobstar===!0){z(F);continue}let n=P.prev,r=n.prev,i=n.type===`slash`||n.type===`bos`,a=r&&(r.type===`star`||r.type===`globstar`);if(d.bash===!0&&(!i||t[0]&&t[0]!==`/`)){U({type:`star`,value:F,output:``});continue}let o=A.braces>0&&(n.type===`comma`||n.type===`brace`),s=j.length&&(n.type===`pipe`||n.type===`paren`);if(!i&&n.type!==`paren`&&!o&&!s){U({type:`star`,value:F,output:``});continue}for(;t.slice(0,3)===`/**`;){let n=e[A.index+4];if(n&&n!==`/`)break;t=t.slice(3),z(`/**`,3)}if(n.type===`bos`&&I()){P.type=`globstar`,P.value+=F,P.output=O(d),A.output=P.output,A.globstar=!0,z(F);continue}if(n.type===`slash`&&n.prev.type!==`bos`&&!a&&I()){A.output=A.output.slice(0,-(n.output+P.output).length),n.output=`(?:${n.output}`,P.type=`globstar`,P.output=O(d)+(d.strictSlashes?`)`:`|$)`),P.value+=F,A.globstar=!0,A.output+=n.output+P.output,z(F);continue}if(n.type===`slash`&&n.prev.type!==`bos`&&t[0]===`/`){let e=t[1]===void 0?``:`|$`;A.output=A.output.slice(0,-(n.output+P.output).length),n.output=`(?:${n.output}`,P.type=`globstar`,P.output=`${O(d)}${x}|${x}${e})`,P.value+=F,A.output+=n.output+P.output,A.globstar=!0,z(F+se()),U({type:`slash`,value:`/`,output:``});continue}if(n.type===`bos`&&t[0]===`/`){P.type=`globstar`,P.value+=F,P.output=`(?:^|${x}|${O(d)}${x})`,A.output=P.output,A.globstar=!0,z(F+se()),U({type:`slash`,value:`/`,output:``});continue}A.output=A.output.slice(0,-P.output.length),P.type=`globstar`,P.output=O(d),P.value+=F,A.output+=P.output,A.globstar=!0,z(F);continue}let n={type:`star`,value:F,output:k};if(d.bash===!0){n.output=`.*?`,(P.type===`bos`||P.type===`slash`)&&(n.output=ae+n.output),U(n);continue}if(P&&(P.type===`bracket`||P.type===`paren`)&&d.regex===!0){n.output=F,U(n);continue}(A.index===A.start||P.type===`slash`||P.type===`dot`)&&(P.type===`dot`?(A.output+=T,P.output+=T):d.dot===!0?(A.output+=E,P.output+=E):(A.output+=ae,P.output+=ae),L()!==`*`&&(A.output+=S,P.output+=S)),U(n)}for(;A.brackets>0;){if(d.strictBrackets===!0)throw SyntaxError(u(`closing`,`]`));A.output=r.escapeLast(A.output,`[`),ce(`brackets`)}for(;A.parens>0;){if(d.strictBrackets===!0)throw SyntaxError(u(`closing`,`)`));A.output=r.escapeLast(A.output,`(`),ce(`parens`)}for(;A.braces>0;){if(d.strictBrackets===!0)throw SyntaxError(u(`closing`,`}`));A.output=r.escapeLast(A.output,`{`),ce(`braces`)}if(d.strictSlashes!==!0&&(P.type===`star`||P.type===`bracket`)&&U({type:`maybe_slash`,value:``,output:`${x}?`}),A.backtrack===!0){A.output=``;for(let e of A.tokens)A.output+=e.output==null?e.value:e.output,e.suffix&&(A.output+=e.suffix)}return A};y.fastpaths=(e,t)=>{let a={...t},o=typeof a.maxLength==`number`?Math.min(i,a.maxLength):i,s=e.length;if(s>o)throw SyntaxError(`Input length: ${s}, exceeds maximum allowed length: ${o}`);e=c[e]||e;let{DOT_LITERAL:l,SLASH_LITERAL:u,ONE_CHAR:d,DOTS_SLASH:f,NO_DOT:p,NO_DOTS:m,NO_DOTS_SLASH:h,STAR:g,START_ANCHOR:_}=n.globChars(a.windows),v=a.dot?m:p,ee=a.dot?h:p,te=a.capture?``:`?:`,y={negated:!1,prefix:``},b=a.bash===!0?`.*?`:g;a.capture&&(b=`(${b})`);let x=e=>e.noglobstar===!0?b:`(${te}(?:(?!${_}${e.dot?f:l}).)*?)`,S=e=>{switch(e){case`*`:return`${v}${d}${b}`;case`.*`:return`${l}${d}${b}`;case`*.*`:return`${v}${b}${l}${d}${b}`;case`*/*`:return`${v}${b}${u}${d}${ee}${b}`;case`**`:return v+x(a);case`**/*`:return`(?:${v}${x(a)}${u})?${ee}${d}${b}`;case`**/*.*`:return`(?:${v}${x(a)}${u})?${ee}${b}${l}${d}${b}`;case`**/.*`:return`(?:${v}${x(a)}${u})?${l}${d}${b}`;default:{let t=/^(.*?)\.(\w+)$/.exec(e);if(!t)return;let n=S(t[1]);return n?n+l+t[2]:void 0}}},C=S(r.removePrefix(e,y));return C&&a.strictSlashes!==!0&&(C+=`${u}?`),C},t.exports=y})),ee=t(((e,t)=>{var n=_(),r=v(),i=g(),a=h(),o=e=>e&&typeof e==`object`&&!Array.isArray(e),s=(e,t,n=!1)=>{if(Array.isArray(e)){let r=e.map(e=>s(e,t,n));return e=>{for(let t of r){let n=t(e);if(n)return n}return!1}}let r=o(e)&&e.tokens&&e.input;if(e===``||typeof e!=`string`&&!r)throw TypeError(`Expected pattern to be a non-empty string`);let i=t||{},a=i.windows,c=r?s.compileRe(e,t):s.makeRe(e,t,!1,!0),l=c.state;delete c.state;let u=()=>!1;if(i.ignore){let e={...t,ignore:null,onMatch:null,onResult:null};u=s(i.ignore,e,n)}let d=(n,r=!1)=>{let{isMatch:o,match:d,output:f}=s.test(n,c,t,{glob:e,posix:a}),p={glob:e,state:l,regex:c,posix:a,input:n,output:f,match:d,isMatch:o};return typeof i.onResult==`function`&&i.onResult(p),o===!1?(p.isMatch=!1,r?p:!1):u(n)?(typeof i.onIgnore==`function`&&i.onIgnore(p),p.isMatch=!1,r?p:!1):(typeof i.onMatch==`function`&&i.onMatch(p),r?p:!0)};return n&&(d.state=l),d};s.test=(e,t,n,{glob:r,posix:a}={})=>{if(typeof e!=`string`)throw TypeError(`Expected input to be a string`);if(e===``)return{isMatch:!1,output:``};let o=n||{},c=o.format||(a?i.toPosixSlashes:null),l=e===r,u=l&&c?c(e):e;return l===!1&&(u=c?c(e):e,l=u===r),(l===!1||o.capture===!0)&&(l=o.matchBase===!0||o.basename===!0?s.matchBase(e,t,n,a):t.exec(u)),{isMatch:!!l,match:l,output:u}},s.matchBase=(e,t,n)=>(t instanceof RegExp?t:s.makeRe(t,n)).test(i.basename(e)),s.isMatch=(e,t,n)=>s(t,n)(e),s.parse=(e,t)=>Array.isArray(e)?e.map(e=>s.parse(e,t)):r(e,{...t,fastpaths:!1}),s.scan=(e,t)=>n(e,t),s.compileRe=(e,t,n=!1,r=!1)=>{if(n===!0)return e.output;let i=t||{},a=i.contains?``:`^`,o=i.contains?``:`$`,c=`${a}(?:${e.output})${o}`;e&&e.negated===!0&&(c=`^(?!${c}).*$`);let l=s.toRegex(c,t);return r===!0&&(l.state=e),l},s.makeRe=(e,t={},n=!1,i=!1)=>{if(!e||typeof e!=`string`)throw TypeError(`Expected a non-empty string`);let a={negated:!1,fastpaths:!0};return t.fastpaths!==!1&&(e[0]===`.`||e[0]===`*`)&&(a.output=r.fastpaths(e,t)),a.output||(a=r(e,t)),s.compileRe(a,t,n,i)},s.toRegex=(e,t)=>{try{let n=t||{};return new RegExp(e,n.flags||(n.nocase?`i`:``))}catch(e){if(t&&t.debug===!0)throw e;return/$^/}},s.constants=a,t.exports=s})),te=t(((e,t)=>{var n=ee(),r=g();function i(e,t,i=!1){return t&&(t.windows===null||t.windows===void 0)&&(t={...t,windows:r.isWindows()}),n(e,t,i)}Object.assign(i,n),t.exports=i})),y=class{map=new Map;keyLookup=new Map;constructor(e){if(e)for(let[t,n]of e)this.set(t,n)}get size(){return this.map.size}get(e){let t=this.keyLookup.get(e.toLowerCase());return t===void 0?void 0:this.map.get(t)}set(e,t){let n=e.toLowerCase(),r=this.keyLookup.get(n);return r===void 0?(this.keyLookup.set(n,e),this.map.set(e,t)):this.map.set(r,t),this}has(e){return this.keyLookup.has(e.toLowerCase())}delete(e){let t=e.toLowerCase(),n=this.keyLookup.get(t);return n===void 0?!1:(this.keyLookup.delete(t),this.map.delete(n))}clear(){this.map.clear(),this.keyLookup.clear()}keys(){return this.map.keys()}values(){return this.map.values()}entries(){return this.map.entries()}[Symbol.iterator](){return this.map[Symbol.iterator]()}forEach(e){for(let[t,n]of this.map)e(n,t,this)}get[Symbol.toStringTag](){return`CaseInsensitiveMap`}getOriginalKey(e){return this.keyLookup.get(e.toLowerCase())}},b=class{set=new Set;constructor(e){if(e)for(let t of e)this.add(t)}get size(){return this.set.size}add(e){return this.set.add(e.toLowerCase()),this}has(e){return this.set.has(e.toLowerCase())}delete(e){return this.set.delete(e.toLowerCase())}clear(){this.set.clear()}[Symbol.iterator](){return this.set[Symbol.iterator]()}get[Symbol.toStringTag](){return`CaseInsensitiveSet`}};function x(e){return e.replace(/\\/g,`/`)}function S(e){return x(e).toLowerCase()}function C(e){return String(e??``)}function w(e){return Number(e)||0}function T(e){let t=C(e||`0 0 0`).split(` `).map(Number);return[t[0]||0,t[1]||0,t[2]||0]}var E=` -`,ne=` -`,re=` -`,ie=` `;function D(e,t,n){let r=0;for(;t+r0;){if(r>=e.length)return``;let i=D(e,r,n);if(r+i>=e.length)return``;r+=i+1,t--}let i=D(e,r,n);return i===0?``:e.substring(r,r+i)}function ae(e,t,n,r){let i=0,a=t;for(;a>0;){if(i>=e.length)return``;let t=D(e,i,r);if(i+t>=e.length)return``;i+=t+1,a--}let o=i,s=n-t+1;for(;s>0;){let t=D(e,i,r);if(i+=t,i>=e.length)break;i++,s--}let c=i;return c>o&&r.includes(e[c-1])&&c--,e.substring(o,c)}function oe(e,t){if(e===``)return 0;let n=0;for(let r=0;rt&&o>=e.length)break}return a.join(i)}function A(e,t,n,r){let i=[],a=0,o=0;for(;at===`n`?` -`:t===`t`?` `:t===`r`?`\r`:`\\`)},expandescape(e){return C(e).replace(/\\/g,`\\\\`).replace(/\n/g,`\\n`).replace(/\t/g,`\\t`).replace(/\r/g,`\\r`)},export(e,t,n){console.warn(`export(${e}): not implemented`)},quit(){console.warn(`quit(): not implemented in browser`)},trace(e){},isobject(e){return t().$.isObject(e)},nametoid(e){return t().$.nameToId(e)},strlen(e){return C(e).length},strchr(e,t){let n=C(e),r=C(t)[0]??``,i=n.indexOf(r);return i>=0?n.substring(i):``},strpos(e,t,n){return C(e).indexOf(C(t),w(n))},strcmp(e,t){let n=C(e),r=C(t);return nr?1:0},stricmp(e,t){let n=C(e).toLowerCase(),r=C(t).toLowerCase();return nr?1:0},strstr(e,t){return C(e).indexOf(C(t))},getsubstr(e,t,n){let r=C(e),i=w(t);return n===void 0?r.substring(i):r.substring(i,i+w(n))},getword(e,t){return O(C(e),w(t),E)},getwordcount(e){return oe(C(e),E)},getfield(e,t){return O(C(e),w(t),ne)},getfieldcount(e){return oe(C(e),ne)},setword(e,t,n){return k(C(e),w(t),C(n),E,` `)},setfield(e,t,n){return k(C(e),w(t),C(n),ne,ie)},firstword(e){return O(C(e),0,E)},restwords(e){return ae(C(e),1,1e6,E)},trim(e){return C(e).trim()},ltrim(e){return C(e).replace(/^\s+/,``)},rtrim(e){return C(e).replace(/\s+$/,``)},strupr(e){return C(e).toUpperCase()},strlwr(e){return C(e).toLowerCase()},strreplace(e,t,n){return C(e).split(C(t)).join(C(n))},filterstring(e,t){return C(e)},stripchars(e,t){let n=C(e),r=new Set(C(t).split(``));return n.split(``).filter(e=>!r.has(e)).join(``)},getfields(e,t,n){let r=n===void 0?1e6:Number(n);return ae(C(e),w(t),r,ne)},getwords(e,t,n){let r=n===void 0?1e6:Number(n);return ae(C(e),w(t),r,E)},removeword(e,t){return A(C(e),w(t),E,` `)},removefield(e,t){return A(C(e),w(t),ne,ie)},getrecord(e,t){return O(C(e),w(t),re)},getrecordcount(e){return oe(C(e),re)},setrecord(e,t,n){return k(C(e),w(t),C(n),re,` -`)},removerecord(e,t){return A(C(e),w(t),re,` -`)},nexttoken(e,t,n){throw Error(`nextToken() is not implemented: it requires variable mutation`)},strtoplayername(e){return C(e).replace(/[^\w\s-]/g,``).trim()},mabs(e){return Math.abs(w(e))},mfloor(e){return Math.floor(w(e))},mceil(e){return Math.ceil(w(e))},msqrt(e){return Math.sqrt(w(e))},mpow(e,t){return w(e)**+w(t)},msin(e){return Math.sin(w(e))},mcos(e){return Math.cos(w(e))},mtan(e){return Math.tan(w(e))},masin(e){return Math.asin(w(e))},macos(e){return Math.acos(w(e))},matan(e,t){return Math.atan2(w(e),w(t))},mlog(e){return Math.log(w(e))},getrandom(e,t){if(e===void 0)return Math.random();if(t===void 0)return Math.floor(Math.random()*(w(e)+1));let n=w(e),r=w(t);return Math.floor(Math.random()*(r-n+1))+n},mdegtorad(e){return w(e)*(Math.PI/180)},mradtodeg(e){return w(e)*(180/Math.PI)},mfloatlength(e,t){return w(e).toFixed(w(t))},getboxcenter(e){let t=C(e).split(` `).map(Number),n=t[0]||0,r=t[1]||0,i=t[2]||0,a=t[3]||0,o=t[4]||0,s=t[5]||0;return`${(n+a)/2} ${(r+o)/2} ${(i+s)/2}`},vectoradd(e,t){let[n,r,i]=T(e),[a,o,s]=T(t);return`${n+a} ${r+o} ${i+s}`},vectorsub(e,t){let[n,r,i]=T(e),[a,o,s]=T(t);return`${n-a} ${r-o} ${i-s}`},vectorscale(e,t){let[n,r,i]=T(e),a=w(t);return`${n*a} ${r*a} ${i*a}`},vectordot(e,t){let[n,r,i]=T(e),[a,o,s]=T(t);return n*a+r*o+i*s},vectorcross(e,t){let[n,r,i]=T(e),[a,o,s]=T(t);return`${r*s-i*o} ${i*a-n*s} ${n*o-r*a}`},vectorlen(e){let[t,n,r]=T(e);return Math.sqrt(t*t+n*n+r*r)},vectornormalize(e){let[t,n,r]=T(e),i=Math.sqrt(t*t+n*n+r*r);return i===0?`0 0 0`:`${t/i} ${n/i} ${r/i}`},vectordist(e,t){let[n,r,i]=T(e),[a,o,s]=T(t),c=n-a,l=r-o,u=i-s;return Math.sqrt(c*c+l*l+u*u)},matrixcreate(e,t){throw Error(`MatrixCreate() not implemented: requires axis-angle rotation math`)},matrixcreatefromeuler(e){throw Error(`MatrixCreateFromEuler() not implemented: requires Euler→Quaternion→AxisAngle conversion`)},matrixmultiply(e,t){throw Error(`MatrixMultiply() not implemented: requires full 4x4 matrix multiplication`)},matrixmulpoint(e,t){throw Error(`MatrixMulPoint() not implemented: requires full transform application`)},matrixmulvector(e,t){throw Error(`MatrixMulVector() not implemented: requires rotation matrix application`)},getsimtime(){return Date.now()-t().state.startTime},getrealtime(){return Date.now()},schedule(e,n,r,...i){let a=Number(e)||0,o=t(),s=setTimeout(()=>{o.state.pendingTimeouts.delete(s);try{o.$f.call(String(r),...i)}catch(e){throw console.error(`schedule: error calling ${r}:`,e),e}},a);return o.state.pendingTimeouts.add(s),s},cancel(e){clearTimeout(e),t().state.pendingTimeouts.delete(e)},iseventpending(e){return t().state.pendingTimeouts.has(e)},exec(e){let n=String(e??``);if(console.debug(`exec(${JSON.stringify(n)}): preparing to execute…`),!n.includes(`.`))return console.error(`exec: invalid script file name ${JSON.stringify(n)}.`),!1;let r=S(n),i=t(),{executedScripts:a,scripts:o}=i.state;if(a.has(r))return console.debug(`exec(${JSON.stringify(n)}): skipping (already executed)`),!0;let s=o.get(r);return s==null?(console.warn(`exec(${JSON.stringify(n)}): script not found`),!1):(a.add(r),console.debug(`exec(${JSON.stringify(n)}): executing!`),i.executeAST(s),!0)},compile(e){throw Error(`compile() not implemented: requires DSO bytecode compiler`)},isdemo(){return!1},isfile(e){return n?n.isFile(C(e)):(console.warn(`isFile(): no fileSystem handler configured`),!1)},fileext(e){let t=C(e),n=t.lastIndexOf(`.`);return n>=0?t.substring(n):``},filebase(e){let t=C(e),n=Math.max(t.lastIndexOf(`/`),t.lastIndexOf(`\\`)),r=t.lastIndexOf(`.`),i=n>=0?n+1:0,a=r>i?r:t.length;return t.substring(i,a)},filepath(e){let t=C(e),n=Math.max(t.lastIndexOf(`/`),t.lastIndexOf(`\\`));return n>=0?t.substring(0,n):``},expandfilename(e){throw Error(`expandFilename() not implemented: requires filesystem path expansion`)},findfirstfile(e){return n?(a=C(e),r=n.findFiles(a),i=0,r[i++]??``):(console.warn(`findFirstFile(): no fileSystem handler configured`),``)},findnextfile(e){let t=C(e);if(t!==a){if(!n)return``;a=t,r=n.findFiles(t)}return r[i++]??``},getfilecrc(e){return C(e)},iswriteablefilename(e){return!1},activatepackage(e){t().$.activatePackage(C(e))},deactivatepackage(e){t().$.deactivatePackage(C(e))},ispackage(e){return t().$.isPackage(C(e))},isactivepackage(e){return t().$.isActivePackage(C(e))},getpackagelist(){return t().$.getPackageList()},addmessagecallback(e,t){},alxcreatesource(...e){return 0},alxgetwavelen(e){return 0},alxlistenerf(e,t){},alxplay(...e){return 0},alxsetchannelvolume(e,t){},alxsourcef(e,t,n){},alxstop(e){},alxstopall(){},activatedirectinput(){},activatekeyboard(){},deactivatedirectinput(){},deactivatekeyboard(){},disablejoystick(){},enablejoystick(){},enablewinconsole(e){},isjoystickdetected(){return!1},lockmouse(e){},addmaterialmapping(e,t){},flushtexturecache(){},getdesktopresolution(){return`1920 1080 32`},getdisplaydevicelist(){return`OpenGL`},getresolutionlist(e){return`640 480 800 600 1024 768 1280 720 1920 1080`},getvideodriverinfo(){return`WebGL`},isdevicefullscreenonly(e){return!1},isfullscreen(){return!1},screenshot(e){},setdisplaydevice(e){return!0},setfov(e){},setinteriorrendermode(e){},setopenglanisotropy(e){},setopenglmipreduction(e){},setopenglskymipreduction(e){},setopengltexturecompressionhint(e){},setscreenmode(e,t,n,r){},setverticalsync(e){},setzoomspeed(e){},togglefullscreen(){},videosetgammacorrection(e){},snaptoggle(){},addtaggedstring(e){return 0},buildtaggedstring(e,...t){return``},detag(e){return C(e)},gettag(e){return 0},gettaggedstring(e){return``},removetaggedstring(e){},commandtoclient(e,t,...n){},commandtoserver(e,...t){},cancelserverquery(){},querymasterserver(...e){},querysingleserver(...e){},setnetport(e){return!0},allowconnections(e){},startheartbeat(){},stopheartbeat(){},gotowebpage(e){},deletedatablocks(){},preloaddatablock(e){return!0},containerboxempty(...e){return!0},containerraycast(...e){return``},containersearchcurrdist(){return 0},containersearchnext(){return 0},initcontainerradiussearch(...e){},calcexplosioncoverage(...e){return 1},getcontrolobjectaltitude(){return 0},getcontrolobjectspeed(){return 0},getterrainheight(e){return 0},lightscene(...e){},pathonmissionloaddone(){}}}function M(e){return e.toLowerCase()}function N(e){let t=e.trim();return M(t.startsWith(`$`)?t.slice(1):t)}function P(e,t){let n=e.get(t);return n||(n=new Set,e.set(t,n)),n}function F(e,t){for(let n of t)e.add(M(n))}function I(e){let t=new Set,n=new Map;for(let r of e)for(let e of r.classNames){let i=M(e);if(i===`*`){F(t,r.fields);continue}F(P(n,i),r.fields)}return{anyClassValues:t,valuesByClass:n}}function L(e){let t=new Set,n=new Map;for(let r of e)for(let e of r.classNames){let i=M(e);if(i===`*`){F(t,r.methods);continue}F(P(n,i),r.methods)}return{anyClassValues:t,valuesByClass:n}}function se(e){let t=new Set;for(let n of e)t.add(N(n));return t}function R(e,t,n){if(e.anyClassValues.has(`*`)||e.anyClassValues.has(n))return!0;for(let r of t){let t=e.valuesByClass.get(M(r));if(t&&(t.has(`*`)||t.has(n)))return!0}return!1}var z=[{classNames:[`SceneObject`,`GameBase`,`ShapeBase`,`Item`,`Player`],fields:`position.rotation.scale.transform.hidden.renderingdistance.datablock.shapename.shapefile.initialbarrel.skin.team.health.energy.energylevel.damagelevel.damageflash.damagepercent.damagestate.mountobject.mountedimage.targetposition.targetrotation.targetscale.missiontypeslist.renderenabled.vis.velocity.name`.split(`.`)},{classNames:[`*`],fields:[`position`,`rotation`,`scale`,`hidden`,`shapefile`,`datablock`]}],B=[{classNames:[`SceneObject`,`GameBase`,`ShapeBase`,`SimObject`],methods:[`settransform`,`setposition`,`setrotation`,`setscale`,`sethidden`,`setdatablock`,`setshapename`,`mountimage`,`unmountimage`,`mountobject`,`unmountobject`,`setdamagelevel`,`setenergylevel`,`schedule`,`delete`,`deleteallobjects`,`add`,`remove`,`playthread`,`stopthread`,`setthreaddir`,`pausethread`]},{classNames:[`*`],methods:[`settransform`,`setscale`,`delete`,`add`,`remove`]}],V=[`missionrunning`,`loadingmission`];function H(e){let t=I(e);return(e,n)=>R(t,e,M(n))}function ce(e){let t=L(e);return(e,n)=>R(t,e,M(n))}function U(e){let t=se(e);return e=>{let n=N(e);return t.has(`*`)||t.has(n)}}var le=e(te(),1),ue=n(`runtime`);function de(){return{scripts:new Map,generatedCode:new WeakMap}}function W(e){return e.toLowerCase()}function fe(e){return(Number(e)|0)>>>0}function pe(e){return Number(e)|0}function me(e){if(e==null)return null;if(typeof e==`string`)return e||null;if(typeof e==`number`)return String(e);throw Error(`Invalid instance name type: ${typeof e}`)}function he(e={}){let t=e.reactiveFieldRules??z,n=e.reactiveMethodRules??B,r=e.reactiveGlobalNames??V,i=H(t),a=ce(n),o=U(r),s=new y,c=new y,l=new y,u=[],d=new b,f=3,p=1027,h=new Map,g=new y,_=new y,v=new y,ee=new y,te=new y,x=new Set,C=[],w=!1,T=0;if(e.globals)for(let[t,n]of Object.entries(e.globals)){if(!t.startsWith(`$`))throw Error(`Global variable "${t}" must start with $, e.g. "$${t}"`);v.set(t.slice(1),n)}let E=new Set,ne=new Set,re=e.ignoreScripts&&e.ignoreScripts.length>0?(0,le.default)(e.ignoreScripts,{nocase:!0}):null,ie=e.cache??de(),D=ie.scripts,O=ie.generatedCode,ae=new Map;function oe(e,t){let n=ae.get(e);n||(n=[],ae.set(e,n)),n.push(t)}function k(e){let t=ae.get(e);t&&t.pop()}function A(e){let t=ae.get(e);return t&&t.length>0?t[t.length-1]:void 0}function M(e,t,n){oe(e,t);try{return n()}finally{k(e)}}function N(e,t){return`${e.toLowerCase()}::${t.toLowerCase()}`}function P(e,t){return s.get(e)?.get(t)??null}function F(e){if(!e)return[];let t=[],n=new Set,r=e.class||e._className||e._class,i=r?W(String(r)):``;for(;i&&!n.has(i);)t.push(i),n.add(i),i=te.get(i)??``;return e._superClass&&!n.has(e._superClass)&&t.push(e._superClass),t}function I(){if(w=!1,C.length===0)return;let e=C.splice(0,C.length);T+=1;for(let t of x)t({type:`batch.flushed`,tick:T,events:e})}function L(e){C.push(e);for(let t of x)t(e);w||(w=!0,queueMicrotask(I))}function se(e){L({type:`object.created`,objectId:e._id,object:e})}function R(e){L({type:`object.deleted`,objectId:e._id,object:e})}function he(e,t,n,r){let a=W(t);Object.is(n,r)||i(F(e),a)&&L({type:`field.changed`,objectId:e._id,field:a,value:n,previousValue:r,object:e})}function ge(e,t,n,r){let i=F(n);a(i.length?i:[e],t)&&L({type:`method.called`,className:W(e),methodName:W(t),objectId:n._id,args:[...r]})}function _e(e,t,n){let r=W(e.startsWith(`$`)?e.slice(1):e);Object.is(t,n)||o(r)&&L({type:`global.changed`,name:r,value:t,previousValue:n})}let ve=new Set,be=null,xe=null,Se=(e.builtins??j)({runtime:()=>xe,fileSystem:e.fileSystem??null});function Ce(e,t,n){if(be)be.methods.has(e)||be.methods.set(e,new y),be.methods.get(e).set(t,n);else{s.has(e)||s.set(e,new y);let r=s.get(e);r.has(t)||r.set(t,[]),r.get(t).push(n)}}function we(e,t){be?be.functions.set(e,t):(c.has(e)||c.set(e,[]),c.get(e).push(t))}function Te(e){let t=l.get(e);if(!t){d.add(e);return}if(!t.active){t.active=!0,u.push(t.name);for(let[e,n]of t.methods){s.has(e)||s.set(e,new y);let t=s.get(e);for(let[e,r]of n)t.has(e)||t.set(e,[]),t.get(e).push(r)}for(let[e,n]of t.functions)c.has(e)||c.set(e,[]),c.get(e).push(n)}}function Ee(e){let t=l.get(e);if(!t||!t.active)return;t.active=!1;let n=u.findIndex(t=>t.toLowerCase()===e.toLowerCase());n!==-1&&u.splice(n,1);for(let[e,n]of t.methods){let t=s.get(e);if(t)for(let[e,r]of n){let n=t.get(e);if(n){let e=n.indexOf(r);e!==-1&&n.splice(e,1)}}}for(let[e,n]of t.functions){let t=c.get(e);if(t){let e=t.indexOf(n);e!==-1&&t.splice(e,1)}}}function De(e,t){let n=l.get(e);n||(n={name:e,active:!1,methods:new y,functions:new y},l.set(e,n));let r=be;be=n,t(),be=r,d.has(e)&&(d.delete(e),Te(e))}function Oe(){for(;h.has(p);)p+=1;let e=p;return p+=1,e}function ke(){for(;h.has(f);)f+=1;let e=f;return f+=1,e}function Ae(e,t,n,r){let i=W(e),a=Oe(),o={_class:i,_className:e,_id:a};for(let[e,t]of Object.entries(n))o[W(e)]=t;o.superclass&&(o._superClass=W(String(o.superclass)),o.class&&te.set(W(String(o.class)),o._superClass)),h.set(a,o);let s=me(t);if(s&&(o._name=s,g.set(s,o)),r){for(let e of r)e._parent=o;o._children=r}let c=We(e,`onAdd`);return c&&c(o),se(o),o}function je(e){if(e==null)return!1;let t;if(typeof e==`number`?t=h.get(e):typeof e==`string`?t=g.get(e):typeof e==`object`&&e._id&&(t=e),!t)return!1;let n=We(t._className,`onRemove`);if(n&&n(t),h.delete(t._id),t._name&&g.delete(t._name),t._isDatablock&&t._name&&_.delete(t._name),t._parent&&t._parent._children){let e=t._parent._children.indexOf(t);e!==-1&&t._parent._children.splice(e,1)}if(t._children)for(let e of[...t._children])je(e);return R(t),!0}function Me(e,t,n,r){let i=W(e),a=ke(),o={_class:i,_className:e,_id:a,_isDatablock:!0},s=me(n);if(s){let e=_.get(s);if(e){for(let[t,n]of Object.entries(e))t.startsWith(`_`)||(o[t]=n);o._parent=e}}for(let[e,t]of Object.entries(r))o[W(e)]=t;h.set(a,o);let c=me(t);return c&&(o._name=c,g.set(c,o),_.set(c,o)),se(o),o}function Ne(e){return e==null||e===``?null:typeof e==`object`&&e._id!=null?e:typeof e==`string`?g.get(e)??null:typeof e==`number`?h.get(e)??null:null}function Pe(e,t){let n=Ne(e);return n==null?``:n[W(t)]??``}function Fe(e,t,n){let r=Ne(e);if(r==null)return n;let i=W(t),a=r[i];return r[i]=n,he(r,i,n,a),n}function Ie(e,t){let n=Ne(e);return n==null?``:n[String(t)]??``}function Le(e,t,n){let r=Ne(e);if(r==null)return n;let i=String(t),a=r[i];return r[i]=n,he(r,i,n,a),n}function Re(e,t,n){let r=Ne(e);if(r==null)return 0;let i=G(r[t]);return r[t]=i+n,he(r,t,r[t],i),i}function ze(e,t){return Re(e,W(t),1)}function Be(e,t){return Re(e,W(t),-1)}function Ve(e,t){return Re(e,String(t),1)}function He(e,t){return Re(e,String(t),-1)}function Ue(e,...t){return e+t.join(`_`)}function We(e,t){let n=P(e,t);return n&&n.length>0?n[n.length-1]:null}function Ge(e,t,n,r){let i=P(e,t);return!i||i.length===0?{found:!1}:{found:!0,result:M(N(e,t),i.length-1,()=>i[i.length-1](n,...r))}}function Ke(e,t,n,r){ge(e,t,n,r);let i=ee.get(e);if(i){let e=i.get(t);if(e)for(let t of e)t(n,...r)}}function qe(e,t,...n){if(e==null||(typeof e==`string`||typeof e==`number`)&&(e=yt(e),e==null))return``;let r=e.class||e._className||e._class;if(r){let i=Ge(r,t,e,n);if(i.found)return Ke(r,t,e,n),i.result}let i=e._superClass||te.get(r);for(;i;){let r=Ge(i,t,e,n);if(r.found)return Ke(i,t,e,n),r.result;i=te.get(i)}return``}function Je(e,t,...n){let r=P(e,t);if(!r||r.length===0)return``;let i=N(e,t),a=r[r.length-1],o=M(i,r.length-1,()=>a(...n)),s=n[0];return s&&typeof s==`object`&&Ke(e,t,s,n.slice(1)),o}function Ye(e,t){let n=P(e,t);if(!n||n.length===0)return null;let r=N(e,t),i=n[n.length-1];return(...e)=>M(r,n.length-1,()=>i(...e))}function Xe(e,t,n,...r){let i=P(e,t),a=N(e,t),o=A(a);if(i&&o!==void 0&&o>=1){let s=o-1,c=M(a,s,()=>i[s](n,...r));return n&&typeof n==`object`&&Ke(e,t,n,r),c}let s=te.get(e);for(;s;){let e=P(s,t);if(e&&e.length>0){let i=M(N(s,t),e.length-1,()=>e[e.length-1](n,...r));return n&&typeof n==`object`&&Ke(s,t,n,r),i}s=te.get(s)}return``}function Ze(e,...t){let n=c.get(e);if(!n)return``;let r=e.toLowerCase(),i=A(r);if(i===void 0||i<1)return``;let a=i-1;return M(r,a,()=>n[a](...t))}function G(e){if(e==null||e===``)return 0;let t=Number(e);return isNaN(t)?0:t}function Qe(e,t){return G(e)+G(t)}function $e(e,t){return G(e)-G(t)}function et(e,t){return G(e)*G(t)}function tt(e,t){return G(e)/G(t)}function nt(e){return-G(e)}function rt(e,t){return G(e)G(t)}function ot(e,t){return G(e)>=G(t)}function st(e,t){return G(e)===G(t)}function ct(e,t){return G(e)!==G(t)}function K(e,t){let n=pe(t);return n===0?0:pe(e)%n}function lt(e,t){return fe(e)&fe(t)}function ut(e,t){return fe(e)|fe(t)}function dt(e,t){return fe(e)^fe(t)}function ft(e,t){return fe(fe(e)<<(fe(t)&31))}function pt(e,t){return fe(e)>>>(fe(t)&31)}function mt(e){return~fe(e)>>>0}function ht(...e){return e.map(e=>String(e??``)).join(``)}function gt(e,t){return String(e??``).toLowerCase()===String(t??``).toLowerCase()}function _t(e,t){let n=String(e??``).toLowerCase();for(let[e,r]of Object.entries(t))if(e!==`default`&&W(e)===n){r();return}t.default&&t.default()}function vt(e){if(!e||e===``)return null;e.startsWith(`/`)&&(e=e.slice(1));let t=e.split(`/`),n=null;for(let e=0;et._name?.toLowerCase()===e)??null}if(!n)return null}}return n}function yt(e){return e==null||e===``?null:vt(String(e))}function bt(e){let t=vt(e);return t?t._id:-1}function xt(e){return e==null?!1:typeof e==`object`&&e._id?!0:typeof e==`number`?h.has(e):typeof e==`string`?g.has(e):!1}function St(e){return c.has(e)||e.toLowerCase()in Se}function Ct(e){return l.has(e)}function wt(e){return l.get(e)?.active??!1}function Tt(){return u.join(` `)}function Et(e,t){function n(e,t){return e+t.join(`_`)}return{get(t,...r){return e.get(n(t,r))??``},set(r,...i){if(i.length===0)throw Error(`set() requires at least a value argument`);if(i.length===1){let n=e.get(r);return e.set(r,i[0]),t?.onSet?.(r,i[0],n),i[0]}let a=i[i.length-1],o=n(r,i.slice(0,-1)),s=e.get(o);return e.set(o,a),t?.onSet?.(o,a,s),a},postInc(r,...i){let a=n(r,i),o=G(e.get(a)),s=o+1;return e.set(a,s),t?.onSet?.(a,s,o),o},postDec(r,...i){let a=n(r,i),o=G(e.get(a)),s=o-1;return e.set(a,s),t?.onSet?.(a,s,o),o}}}function Dt(){return Et(new y)}let Ot={registerMethod:Ce,registerFunction:we,package:De,activatePackage:Te,deactivatePackage:Ee,create:Ae,datablock:Me,deleteObject:je,prop:Pe,setProp:Fe,getIndex:Ie,setIndex:Le,propPostInc:ze,propPostDec:Be,indexPostInc:Ve,indexPostDec:He,key:Ue,call:qe,nsCall:Je,nsRef:Ye,parent:Xe,parentFunc:Ze,add:Qe,sub:$e,mul:et,div:tt,neg:nt,lt:rt,le:it,gt:at,ge:ot,eq:st,ne:ct,mod:K,bitand:lt,bitor:ut,bitxor:dt,shl:ft,shr:pt,bitnot:mt,concat:ht,streq:gt,switchStr:_t,deref:yt,nameToId:bt,isObject:xt,isFunction:St,isPackage:Ct,isActivePackage:wt,getPackageList:Tt,locals:Dt,onMethodCalled(e,t,n){let r=ee.get(e);r||(r=new y,ee.set(e,r));let i=r.get(t);return i||(i=[],r.set(t,i)),i.push(n),()=>{let e=i.indexOf(n);e!==-1&&i.splice(e,1)}}},kt={call(e,...t){let n=c.get(e);if(n&&n.length>0)return M(e.toLowerCase(),n.length-1,()=>n[n.length-1](...t));let r=Se[e.toLowerCase()];return r?r(...t):(ue.warn(`Unknown function: ${e}(${t.map(e=>JSON.stringify(e)).join(`, `)})`),``)}},At=Et(v,{onSet:_e}),jt={methods:s,functions:c,packages:l,activePackages:u,objectsById:h,objectsByName:g,datablocks:_,globals:v,executedScripts:E,failedScripts:ne,scripts:D,generatedCode:O,pendingTimeouts:ve,startTime:Date.now()};function Mt(){C.length>0&&I();for(let e of jt.pendingTimeouts)clearTimeout(e);jt.pendingTimeouts.clear(),x.clear()}function Nt(e){let t=O.get(e);return t??(t=m(e),O.set(e,t)),t}function Pt(e){let t=Nt(e),n=Dt();Function(`$`,`$f`,`$g`,`$l`,t)(Ot,kt,At,n)}function Ft(e,t){return{execute(){if(t){let e=S(t);jt.executedScripts.add(e)}Pt(e)}}}async function It(t,n,r){let i=e.loadScript;if(!i){t.length>0&&ue.warn(`Script has exec() calls but no loadScript provided: %o`,t);return}async function a(t){e.signal?.throwIfAborted();let a=S(t);if(jt.scripts.has(a)||jt.failedScripts.has(a))return;if(re&&re(a)){ue.warn(`Ignoring script: %s`,t),jt.failedScripts.add(a);return}if(r.has(a))return;let o=n.get(a);if(o){await o;return}e.progress?.addItem(t);let s=(async()=>{let o=await i(t);if(o==null){ue.warn(`Script not found: %s`,t),jt.failedScripts.add(a),e.progress?.completeItem();return}let s;try{s=ye(o,{filename:t})}catch(n){ue.warn(`Failed to parse script: %s %o`,t,n),jt.failedScripts.add(a),e.progress?.completeItem();return}let c=new Set(r);c.add(a),await It(s.execScriptPaths,n,c),jt.scripts.set(a,s),e.progress?.completeItem()})();n.set(a,s),await s}await Promise.all(t.map(a))}async function Lt(t){let n=e.loadScript;if(!n)throw Error(`loadFromPath requires loadScript option to be set`);let r=S(t);if(jt.scripts.has(r))return Ft(jt.scripts.get(r),t);e.progress?.addItem(t);let i=await n(t);if(i==null)throw e.progress?.completeItem(),Error(`Script not found: ${t}`);let a=await Rt(i,{path:t});return e.progress?.completeItem(),a}async function Rt(e,t){if(t?.path){let e=S(t.path);if(jt.scripts.has(e))return Ft(jt.scripts.get(e),t.path)}return zt(ye(e,{filename:t?.path}),t)}async function zt(t,n){let r=new Map,i=new Set;if(n?.path){let e=S(n.path);jt.scripts.set(e,t),i.add(e)}return await It([...t.execScriptPaths,...e.preloadScripts??[]],r,i),Ft(t,n?.path)}return xe={$:Ot,$f:kt,$g:At,state:jt,destroy:Mt,executeAST:Pt,loadFromPath:Lt,loadFromSource:Rt,loadFromAST:zt,call:(e,...t)=>kt.call(e,...t),getObjectByName:e=>g.get(e),subscribeRuntimeEvents(e){return x.add(e),()=>{x.delete(e)}}},xe}var ge=n(`engineMethods`);function _e(e){let t=e.$.registerMethod.bind(e.$);t(`ShapeBase`,`playThread`,(e,t,n)=>{e._threads||={},e._threads[Number(t)]={sequence:String(n),playing:!0,direction:!0}}),t(`ShapeBase`,`stopThread`,(e,t)=>{e._threads&&delete e._threads[Number(t)]}),t(`ShapeBase`,`setThreadDir`,(e,t,n)=>{e._threads||={};let r=Number(t);e._threads[r]?e._threads[r].direction=!!Number(n):e._threads[r]={sequence:``,playing:!1,direction:!!Number(n)}}),t(`ShapeBase`,`pauseThread`,(e,t)=>{e._threads?.[Number(t)]&&(e._threads[Number(t)].playing=!1)}),t(`ShapeBase`,`playAudio`,()=>{}),t(`ShapeBase`,`stopAudio`,()=>{}),t(`SimObject`,`getDatablock`,t=>{let n=t.datablock;return n?e.getObjectByName(String(n))??``:``}),t(`SimObject`,`getGroup`,e=>e._parent??``),t(`SimObject`,`getName`,e=>e._name??``),t(`SimObject`,`getType`,()=>16384),t(`SimGroup`,`getCount`,e=>e._children?e._children.length:0),t(`SimGroup`,`getObject`,(e,t)=>{let n=e._children;return n?n[Number(t)]??``:``}),t(`GameBase`,`isEnabled`,()=>!0),t(`GameBase`,`isDisabled`,()=>!1),t(`GameBase`,`setPoweredState`,()=>{}),t(`GameBase`,`setRechargeRate`,()=>{}),t(`GameBase`,`getRechargeRate`,()=>0),t(`GameBase`,`setEnergyLevel`,()=>{}),t(`GameBase`,`getEnergyLevel`,()=>0),t(`ShapeBase`,`getDamageLevel`,()=>0),t(`ShapeBase`,`setDamageLevel`,()=>{}),t(`ShapeBase`,`getRepairRate`,()=>0),t(`ShapeBase`,`setRepairRate`,()=>{}),t(`ShapeBase`,`getDamagePercent`,()=>0),t(`GameBase`,`getControllingClient`,()=>0),t(`SimObject`,`schedule`,(t,n,r,...i)=>{let a=Number(n)||0,o=setTimeout(()=>{e.state.pendingTimeouts.delete(o);try{e.$.call(t,String(r),...i)}catch(e){ge.error(`schedule: error calling %s on %s: %o`,r,t._id,e)}},a);return e.state.pendingTimeouts.add(o),o})}function ve(){let e=new Set,t=0,n=0,r=null;function i(){for(let t of e)t()}return{get total(){return t},get loaded(){return n},get current(){return r},get progress(){return t===0?0:n/t},on(t,n){e.add(n)},off(t,n){e.delete(n)},addItem(e){t++,r=e,i()},completeItem(){n++,r=null,i()},setCurrent(e){r=e,i()}}}function ye(e,t){try{return u(e)}catch(e){throw t?.filename&&e.location?Error(`${t.filename}:${e.location.start.line}:${e.location.start.column}: ${e.message}`,{cause:e}):e}}function be(e){if(typeof e==`boolean`)return e;if(typeof e==`number`)return e!==0;if(typeof e==`string`){let t=e.trim().toLowerCase();return t!==``&&t!==`0`&&t!==`false`}return!!e}function xe(){let e=Error(`Operation aborted`);return e.name=`AbortError`,e}function Se(e,t){let{signal:n,onMissionLoadDone:r}=t;return new Promise((t,i)=>{let a=!1,o=!1,s=()=>e.getObjectByName(`Game`),c=()=>be(e.$g.get(`missionRunning`)),l=()=>{a||(a=!0,m(),t())},u=e=>{a||(a=!0,m(),i(e))},d=e=>{if(!r||o)return;let t=e??s();t&&(o=!0,r(t))},f=()=>u(xe()),p=e.subscribeRuntimeEvents(e=>{if(e.type===`global.changed`&&e.name===`missionrunning`){be(e.value)&&(d(),l());return}e.type===`batch.flushed`&&c()&&(d(),l())});function m(){p(),n?.removeEventListener(`abort`,f)}if(n){if(n.aborted){u(xe());return}n.addEventListener(`abort`,f,{once:!0})}c()&&(d(),l())})}function Ce(e){let{missionName:t,missionType:n,runtimeOptions:r,onMissionLoadDone:i}=e,{signal:a,fileSystem:o,globals:s={},preloadScripts:c=[],reactiveGlobalNames:l}=r??{},u=o?.findFiles(`scripts/*Game.cs`)??[],d=l?Array.from(new Set([...l,`missionRunning`])):void 0,f=he({...r,reactiveGlobalNames:d,globals:{...s,"$Host::Map":t,"$Host::MissionType":n},preloadScripts:[...c,...u]});return _e(f),{runtime:f,ready:async function(){try{let e=await f.loadFromPath(`scripts/server.cs`);a?.throwIfAborted(),await f.loadFromPath(`missions/${t}.mis`),a?.throwIfAborted(),e.execute();let n=Se(f,{signal:a,onMissionLoadDone:i}),r=await f.loadFromSource(`CreateServer($Host::Map, $Host::MissionType);`);a?.throwIfAborted(),r.execute(),await n}catch(e){if(e instanceof Error&&e.name===`AbortError`)return;throw e}}()}}var we=/^[ \t]*(DisplayName|MissionTypes|BriefingWAV|Bitmap|PlanetName)[ \t]*=[ \t]*(.+)$/i,Te=/^[ \t]*-+[ \t]*([A-Z ]+)[ \t]+BEGIN[ \t]*-+$/i,Ee=/^[ \t]*-+[ \t]*([A-Z ]+)[ \t]+END[ \t]*-+$/i,De={arena:`Arena`,bounty:`Bounty`,cnh:`CnH`,ctf:`CTF`,dm:`DM`,dnd:`DnD`,hunters:`Hunters`,lakrabbit:`LakRabbit`,lakzm:`LakZM`,lctf:`LCTF`,none:`None`,rabbit:`Rabbit`,sctf:`SCtF`,siege:`Siege`,singleplayer:`SinglePlayer`,tdm:`TDM`,teamhunters:`TeamHunters`,teamlak:`TeamLak`,tr2:`TR2`};function Oe(e){let t;return t=e.match(Te),t?{type:`sectionBegin`,name:t[1]}:(t=e.match(Ee),t?{type:`sectionEnd`,name:t[1]}:(t=e.match(we),t?{type:`definition`,identifier:t[1],value:t[2]}:null))}function ke(e){let t={},n=[],r={name:null,comments:[]};function i(e){for(let i of e)if(i.type===`Comment`){let e=Oe(i.value);if(e)switch(e.type){case`definition`:r.name===null?t[e.identifier.toLowerCase()]=e.value:r.comments.push(i.value);break;case`sectionBegin`:(r.name!==null||r.comments.length>0)&&n.push(r),r={name:e.name.toUpperCase(),comments:[]};break;case`sectionEnd`:r.name!==null&&n.push(r),r={name:null,comments:[]};break}else r.comments.push(i.value)}}return i(e.body),(r.name!==null||r.comments.length>0)&&n.push(r),{pragma:t,sections:n}}function Ae(e){let t=ye(e),{pragma:n,sections:r}=ke(t);function i(e){return r.find(t=>t.name===e)?.comments.map(e=>e.trimStart()).join(` -`)??null}return{displayName:n.displayname??null,missionTypes:n.missiontypes?.split(/\s+/).filter(Boolean).map(e=>De[e.toLowerCase()]??e)??[],missionBriefing:i(`MISSION BRIEFING`),briefingWav:n.briefingwav??null,bitmap:n.bitmap??null,planetName:n.planetname??null,missionBlurb:i(`MISSION BLURB`),missionQuote:i(`MISSION QUOTE`),missionString:i(`MISSION STRING`),execScriptPaths:t.execScriptPaths,hasDynamicExec:t.hasDynamicExec,ast:t}}function je(e,t){if(e)return e[t.toLowerCase()]}function Me(e){let[t,n,r]=(e.position??`0 0 0`).split(` `).map(e=>parseFloat(e));return[n||0,r||0,t||0]}function Ne(e){let[t,n,r]=(e.scale??`1 1 1`).split(` `).map(e=>parseFloat(e));return[n||0,r||0,t||0]}export{Ae as a,de as c,De as i,te as l,je as n,Ce as o,Ne as r,ve as s,Me as t}; \ No newline at end of file diff --git a/docs/assets/mission-S3koG-vu.js b/docs/assets/mission-S3koG-vu.js new file mode 100644 index 00000000..4a8a147f --- /dev/null +++ b/docs/assets/mission-S3koG-vu.js @@ -0,0 +1,29 @@ +import{r as e,t}from"./chunk-DECur_0Z.js";import{t as n}from"./logger-B058WGzf.js";function r(e){let t=e.indexOf(`::`);return t===-1?null:{namespace:e.slice(0,t),method:e.slice(t+2)}}var i={"+":`$.add`,"-":`$.sub`,"*":`$.mul`,"/":`$.div`,"<":`$.lt`,"<=":`$.le`,">":`$.gt`,">=":`$.ge`,"==":`$.eq`,"!=":`$.ne`,"%":`$.mod`,"&":`$.bitand`,"|":`$.bitor`,"^":`$.bitxor`,"<<":`$.shl`,">>":`$.shr`},a=class{indent;runtime;functions;globals;locals;indentLevel=0;currentClass=null;currentFunction=null;constructor(e={}){this.indent=e.indent??` `,this.runtime=e.runtime??`$`,this.functions=e.functions??`$f`,this.globals=e.globals??`$g`,this.locals=e.locals??`$l`}getAccessInfo(e){if(e.type===`Variable`){let t=JSON.stringify(e.name),n=e.scope===`global`?this.globals:this.locals;return{getter:`${n}.get(${t})`,setter:e=>`${n}.set(${t}, ${e})`,postIncHelper:`${n}.postInc(${t})`,postDecHelper:`${n}.postDec(${t})`}}if(e.type===`MemberExpression`){let t=this.expression(e.object),n=e.property.type===`Identifier`?JSON.stringify(e.property.name):this.expression(e.property);return{getter:`${this.runtime}.prop(${t}, ${n})`,setter:e=>`${this.runtime}.setProp(${t}, ${n}, ${e})`,postIncHelper:`${this.runtime}.propPostInc(${t}, ${n})`,postDecHelper:`${this.runtime}.propPostDec(${t}, ${n})`}}if(e.type===`IndexExpression`){let t=Array.isArray(e.index)?e.index.map(e=>this.expression(e)):[this.expression(e.index)];if(e.object.type===`Variable`){let n=JSON.stringify(e.object.name),r=e.object.scope===`global`?this.globals:this.locals,i=t.join(`, `);return{getter:`${r}.get(${n}, ${i})`,setter:e=>`${r}.set(${n}, ${i}, ${e})`,postIncHelper:`${r}.postInc(${n}, ${i})`,postDecHelper:`${r}.postDec(${n}, ${i})`}}if(e.object.type===`MemberExpression`){let n=e.object,r=this.expression(n.object),i=n.property.type===`Identifier`?JSON.stringify(n.property.name):this.expression(n.property),a=`${this.runtime}.key(${i}, ${t.join(`, `)})`;return{getter:`${this.runtime}.prop(${r}, ${a})`,setter:e=>`${this.runtime}.setProp(${r}, ${a}, ${e})`,postIncHelper:`${this.runtime}.propPostInc(${r}, ${a})`,postDecHelper:`${this.runtime}.propPostDec(${r}, ${a})`}}let n=this.expression(e.object),r=t.length===1?t[0]:`${this.runtime}.key(${t.join(`, `)})`;return{getter:`${this.runtime}.getIndex(${n}, ${r})`,setter:e=>`${this.runtime}.setIndex(${n}, ${r}, ${e})`,postIncHelper:`${this.runtime}.indexPostInc(${n}, ${r})`,postDecHelper:`${this.runtime}.indexPostDec(${n}, ${r})`}}return null}generate(e){let t=[];for(let n of e.body){let e=this.statement(n);e&&t.push(e)}return t.join(` + +`)}statement(e){switch(e.type){case`Comment`:return``;case`ExpressionStatement`:return this.line(`${this.expression(e.expression)};`);case`FunctionDeclaration`:return this.functionDeclaration(e);case`PackageDeclaration`:return this.packageDeclaration(e);case`DatablockDeclaration`:return this.datablockDeclaration(e);case`ObjectDeclaration`:return this.line(`${this.objectDeclaration(e)};`);case`IfStatement`:return this.ifStatement(e);case`ForStatement`:return this.forStatement(e);case`WhileStatement`:return this.whileStatement(e);case`DoWhileStatement`:return this.doWhileStatement(e);case`SwitchStatement`:return this.switchStatement(e);case`ReturnStatement`:return this.returnStatement(e);case`BreakStatement`:return this.line(`break;`);case`ContinueStatement`:return this.line(`continue;`);case`BlockStatement`:return this.blockStatement(e);default:throw Error(`Unknown statement type: ${e.type}`)}}functionDeclaration(e){let t=r(e.name.name);if(t){let n=t.namespace,r=t.method;this.currentClass=n.toLowerCase(),this.currentFunction=r.toLowerCase();let i=this.functionBody(e.body,e.params);return this.currentClass=null,this.currentFunction=null,`${this.line(`${this.runtime}.registerMethod(${JSON.stringify(n)}, ${JSON.stringify(r)}, function() {`)}\n${i}\n${this.line(`});`)}`}else{let t=e.name.name;this.currentFunction=t.toLowerCase();let n=this.functionBody(e.body,e.params);return this.currentFunction=null,`${this.line(`${this.runtime}.registerFunction(${JSON.stringify(t)}, function() {`)}\n${n}\n${this.line(`});`)}`}}functionBody(e,t){this.indentLevel++;let n=[];n.push(this.line(`const ${this.locals} = ${this.runtime}.locals();`));for(let e=0;ethis.statement(e)).join(` + +`);return this.indentLevel--,`${this.line(`${this.runtime}.package(${t}, function() {`)}\n${n}\n${this.line(`});`)}`}datablockDeclaration(e){let t=JSON.stringify(e.className.name),n=e.instanceName?JSON.stringify(e.instanceName.name):`null`,r=e.parent?JSON.stringify(e.parent.name):`null`,i=this.objectBody(e.body);return this.line(`${this.runtime}.datablock(${t}, ${n}, ${r}, ${i});`)}objectDeclaration(e){let t=e.className.type===`Identifier`?JSON.stringify(e.className.name):this.expression(e.className),n=e.instanceName===null?`null`:e.instanceName.type===`Identifier`?JSON.stringify(e.instanceName.name):this.expression(e.instanceName),r=[],i=[];for(let t of e.body)t.type===`Assignment`?r.push(t):i.push(t);let a=this.objectBody(r);if(i.length>0){let e=i.map(e=>this.objectDeclaration(e)).join(`, +`);return`${this.runtime}.create(${t}, ${n}, ${a}, [\n${e}\n])`}return`${this.runtime}.create(${t}, ${n}, ${a})`}objectBody(e){if(e.length===0)return`{}`;let t=[];for(let n of e)if(n.type===`Assignment`){let e=this.expression(n.value);if(n.target.type===`Identifier`){let r=n.target.name;/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(r)?t.push(`${r}: ${e}`):t.push(`[${JSON.stringify(r)}]: ${e}`)}else if(n.target.type===`IndexExpression`){let r=this.objectPropertyKey(n.target);t.push(`[${r}]: ${e}`)}else{let r=this.expression(n.target);t.push(`[${r}]: ${e}`)}}if(t.length<=1)return`{ ${t.join(`, `)} }`;let n=this.indent.repeat(this.indentLevel+1),r=this.indent.repeat(this.indentLevel);return`{\n${n}${t.join(`, +`+n)}\n${r}}`}objectPropertyKey(e){let t=e.object.type===`Identifier`?JSON.stringify(e.object.name):this.expression(e.object),n=Array.isArray(e.index)?e.index.map(e=>this.expression(e)).join(`, `):this.expression(e.index);return`${this.runtime}.key(${t}, ${n})`}ifStatement(e){let t=this.expression(e.test),n=this.statementAsBlock(e.consequent);if(e.alternate)if(e.alternate.type===`IfStatement`){let r=this.ifStatement(e.alternate).replace(/^\s*/,``);return this.line(`if (${t}) ${n} else ${r}`)}else{let r=this.statementAsBlock(e.alternate);return this.line(`if (${t}) ${n} else ${r}`)}return this.line(`if (${t}) ${n}`)}forStatement(e){let t=e.init?this.expression(e.init):``,n=e.test?this.expression(e.test):``,r=e.update?this.expression(e.update):``,i=this.statementAsBlock(e.body);return this.line(`for (${t}; ${n}; ${r}) ${i}`)}whileStatement(e){let t=this.expression(e.test),n=this.statementAsBlock(e.body);return this.line(`while (${t}) ${n}`)}doWhileStatement(e){let t=this.statementAsBlock(e.body),n=this.expression(e.test);return this.line(`do ${t} while (${n});`)}switchStatement(e){if(e.stringMode)return this.switchStringStatement(e);let t=this.expression(e.discriminant);this.indentLevel++;let n=[];for(let t of e.cases)n.push(this.switchCase(t));return this.indentLevel--,`${this.line(`switch (${t}) {`)}\n${n.join(` +`)}\n${this.line(`}`)}`}switchCase(e){let t=[];if(e.test===null)t.push(this.line(`default:`));else if(Array.isArray(e.test))for(let n of e.test)t.push(this.line(`case ${this.expression(n)}:`));else t.push(this.line(`case ${this.expression(e.test)}:`));this.indentLevel++;for(let n of e.consequent)t.push(this.statement(n));return t.push(this.line(`break;`)),this.indentLevel--,t.join(` +`)}switchStringStatement(e){let t=this.expression(e.discriminant),n=[];for(let t of e.cases)if(t.test===null)n.push(`default: () => { ${this.blockContent(t.consequent)} }`);else if(Array.isArray(t.test))for(let e of t.test)n.push(`${this.expression(e)}: () => { ${this.blockContent(t.consequent)} }`);else n.push(`${this.expression(t.test)}: () => { ${this.blockContent(t.consequent)} }`);return this.line(`${this.runtime}.switchStr(${t}, { ${n.join(`, `)} });`)}returnStatement(e){return e.value?this.line(`return ${this.expression(e.value)};`):this.line(`return;`)}blockStatement(e){this.indentLevel++;let t=e.body.map(e=>this.statement(e)).join(` +`);return this.indentLevel--,`{\n${t}\n${this.line(`}`)}`}statementAsBlock(e){if(e.type===`BlockStatement`)return this.blockStatement(e);this.indentLevel++;let t=this.statement(e);return this.indentLevel--,`{\n${t}\n${this.line(`}`)}`}blockContent(e){return e.map(e=>this.statement(e).trim()).join(` `)}expression(e){switch(e.type){case`Identifier`:return this.identifier(e);case`Variable`:return this.variable(e);case`NumberLiteral`:return String(e.value);case`StringLiteral`:return JSON.stringify(e.value);case`BooleanLiteral`:return String(e.value);case`BinaryExpression`:return this.binaryExpression(e);case`UnaryExpression`:return this.unaryExpression(e);case`PostfixExpression`:return this.postfixExpression(e);case`AssignmentExpression`:return this.assignmentExpression(e);case`ConditionalExpression`:return`(${this.expression(e.test)} ? ${this.expression(e.consequent)} : ${this.expression(e.alternate)})`;case`CallExpression`:return this.callExpression(e);case`MemberExpression`:return this.memberExpression(e);case`IndexExpression`:return this.indexExpression(e);case`TagDereferenceExpression`:return`${this.runtime}.deref(${this.expression(e.argument)})`;case`ObjectDeclaration`:return this.objectDeclaration(e);case`DatablockDeclaration`:return`${this.runtime}.datablock(${JSON.stringify(e.className.name)}, ${e.instanceName?JSON.stringify(e.instanceName.name):`null`}, ${e.parent?JSON.stringify(e.parent.name):`null`}, ${this.objectBody(e.body)})`;default:throw Error(`Unknown expression type: ${e.type}`)}}identifier(e){let t=r(e.name);return t&&t.namespace.toLowerCase()===`parent`?e.name:t?`${this.runtime}.nsRef(${JSON.stringify(t.namespace)}, ${JSON.stringify(t.method)})`:JSON.stringify(e.name)}variable(e){return e.scope===`global`?`${this.globals}.get(${JSON.stringify(e.name)})`:`${this.locals}.get(${JSON.stringify(e.name)})`}binaryExpression(e){let t=this.expression(e.left),n=this.expression(e.right),r=e.operator,a=this.concatExpression(t,r,n);if(a)return a;if(r===`$=`)return`${this.runtime}.streq(${t}, ${n})`;if(r===`!$=`)return`!${this.runtime}.streq(${t}, ${n})`;if(r===`&&`||r===`||`)return`(${t} ${r} ${n})`;let o=i[r];return o?`${o}(${t}, ${n})`:`(${t} ${r} ${n})`}unaryExpression(e){if(e.operator===`++`||e.operator===`--`){let t=this.getAccessInfo(e.argument);if(t){let n=e.operator===`++`?1:-1;return t.setter(`${this.runtime}.add(${t.getter}, ${n})`)}}let t=this.expression(e.argument);return e.operator===`~`?`${this.runtime}.bitnot(${t})`:e.operator===`-`?`${this.runtime}.neg(${t})`:`${e.operator}${t}`}postfixExpression(e){let t=this.getAccessInfo(e.argument);if(t){let n=e.operator===`++`?t.postIncHelper:t.postDecHelper;if(n)return n}return`${this.expression(e.argument)}${e.operator}`}assignmentExpression(e){let t=this.expression(e.value),n=e.operator,r=this.getAccessInfo(e.target);if(!r)throw Error(`Unhandled assignment target type: ${e.target.type}`);if(n===`=`)return r.setter(t);{let e=n.slice(0,-1),i=this.compoundAssignmentValue(r.getter,e,t);return r.setter(i)}}callExpression(e){let t=e.arguments.map(e=>this.expression(e)).join(`, `);if(e.callee.type===`Identifier`){let n=e.callee.name,i=r(n);if(i&&i.namespace.toLowerCase()===`parent`){if(this.currentClass)return`${this.runtime}.parent(${JSON.stringify(this.currentClass)}, ${JSON.stringify(i.method)}, arguments[0]${t?`, `+t:``})`;if(this.currentFunction)return`${this.runtime}.parentFunc(${JSON.stringify(this.currentFunction)}${t?`, `+t:``})`;throw Error(`Parent:: call outside of function context`)}return i?`${this.runtime}.nsCall(${JSON.stringify(i.namespace)}, ${JSON.stringify(i.method)}${t?`, `+t:``})`:`${this.functions}.call(${JSON.stringify(n)}${t?`, `+t:``})`}if(e.callee.type===`MemberExpression`){let n=this.expression(e.callee.object),r=e.callee.property.type===`Identifier`?JSON.stringify(e.callee.property.name):this.expression(e.callee.property);return`${this.runtime}.call(${n}, ${r}${t?`, `+t:``})`}return`${this.expression(e.callee)}(${t})`}memberExpression(e){let t=this.expression(e.object);return e.computed||e.property.type!==`Identifier`?`${this.runtime}.prop(${t}, ${this.expression(e.property)})`:`${this.runtime}.prop(${t}, ${JSON.stringify(e.property.name)})`}indexExpression(e){let t=Array.isArray(e.index)?e.index.map(e=>this.expression(e)):[this.expression(e.index)];if(e.object.type===`Variable`){let n=JSON.stringify(e.object.name);return`${e.object.scope===`global`?this.globals:this.locals}.get(${n}, ${t.join(`, `)})`}if(e.object.type===`MemberExpression`){let n=e.object,r=this.expression(n.object),i=n.property.type===`Identifier`?JSON.stringify(n.property.name):this.expression(n.property),a=`${this.runtime}.key(${i}, ${t.join(`, `)})`;return`${this.runtime}.prop(${r}, ${a})`}let n=this.expression(e.object);return t.length===1?`${this.runtime}.getIndex(${n}, ${t[0]})`:`${this.runtime}.getIndex(${n}, ${this.runtime}.key(${t.join(`, `)}))`}line(e){return this.indent.repeat(this.indentLevel)+e}concatExpression(e,t,n){switch(t){case`@`:return`${this.runtime}.concat(${e}, ${n})`;case`SPC`:return`${this.runtime}.concat(${e}, " ", ${n})`;case`TAB`:return`${this.runtime}.concat(${e}, "\\t", ${n})`;case`NL`:return`${this.runtime}.concat(${e}, "\\n", ${n})`;default:return null}}compoundAssignmentValue(e,t,n){let r=this.concatExpression(e,t,n);if(r)return r;let a=i[t];return a?`${a}(${e}, ${n})`:`(${e} ${t} ${n})`}};function o(e,t){return new a(t).generate(e)}var s,c;function l(e,t){return t.reduce((e,[t,n])=>({type:`BinaryExpression`,operator:t,left:e,right:n}),e)}function u(e,t){return{type:`UnaryExpression`,operator:e,argument:t}}function d(e,t){return e.type===`Identifier`&&e.name.toLowerCase()===`exec`&&(t.length>0&&t[0].type===`StringLiteral`?s.add(t[0].value):c=!0),{type:`CallExpression`,callee:e,arguments:t}}function f(){return Array.from(s)}var p=class extends SyntaxError{constructor(e,t,n,r){super(e),this.expected=t,this.found=n,this.location=r,this.name=`SyntaxError`}format(e){let t=`Error: `+this.message;if(this.location){let n=null,r=e.find(e=>e.source===this.location.source);r&&(n=r.text.split(/\r\n|\n|\r/g));let i=this.location.start,a=this.location.source&&typeof this.location.source.offset==`function`?this.location.source.offset(i):i,o=this.location.source+`:`+a.line+`:`+a.column;if(n){let e=this.location.end,r=``.padEnd(a.line.toString().length,` `),s=n[i.line-1],c=(i.line===e.line?e.column:s.length+1)-i.column||1;t+=` + --> `+o+` +`+r+` | +`+a.line+` | `+s+` +`+r+` | `+``.padEnd(i.column-1,` `)+``.padEnd(c,`^`)}else t+=` + at `+o}return t}static buildMessage(e,t){function n(e){return e.codePointAt(0).toString(16).toUpperCase()}let r=Object.prototype.hasOwnProperty.call(RegExp.prototype,`unicode`)?RegExp(`[\\p{C}\\p{Mn}\\p{Mc}]`,`gu`):null;function i(e){return r?e.replace(r,e=>`\\u{`+n(e)+`}`):e}function a(e){return i(e.replace(/\\/g,`\\\\`).replace(/"/g,`\\"`).replace(/\0/g,`\\0`).replace(/\t/g,`\\t`).replace(/\n/g,`\\n`).replace(/\r/g,`\\r`).replace(/[\x00-\x0F]/g,e=>`\\x0`+n(e)).replace(/[\x10-\x1F\x7F-\x9F]/g,e=>`\\x`+n(e)))}function o(e){return i(e.replace(/\\/g,`\\\\`).replace(/\]/g,`\\]`).replace(/\^/g,`\\^`).replace(/-/g,`\\-`).replace(/\0/g,`\\0`).replace(/\t/g,`\\t`).replace(/\n/g,`\\n`).replace(/\r/g,`\\r`).replace(/[\x00-\x0F]/g,e=>`\\x0`+n(e)).replace(/[\x10-\x1F\x7F-\x9F]/g,e=>`\\x`+n(e)))}let s={literal(e){return`"`+a(e.text)+`"`},class(e){let t=e.parts.map(e=>Array.isArray(e)?o(e[0])+`-`+o(e[1]):o(e));return`[`+(e.inverted?`^`:``)+t.join(``)+`]`+(e.unicode?`u`:``)},any(){return`any character`},end(){return`end of input`},other(e){return e.description}};function c(e){return s[e.type](e)}function l(e){let t=e.map(c);if(t.sort(),t.length>0){let e=1;for(let n=1;n]/,T=/^[+\-]/,ie=/^[%*\/]/,ae=/^[!\-~]/,E=/^[a-zA-Z_]/,D=/^[a-zA-Z0-9_]/,oe=/^[ \t]/,se=/^[^"\\\n\r]/,O=/^[^'\\\n\r]/,k=/^[0-9a-fA-F]/,A=/^[0-9]/,j=/^[xX]/,M=/^[^\n\r]/,N=/^[\n\r]/,P=/^[ \t\n\r]/,F=Y(`;`,!1),I=Y(`package`,!1),L=Y(`{`,!1),R=Y(`}`,!1),z=Y(`function`,!1),B=Y(`(`,!1),V=Y(`)`,!1),H=Y(`::`,!1),ce=Y(`,`,!1),U=Y(`datablock`,!1),le=Y(`:`,!1),ue=Y(`new`,!1),de=Y(`[`,!1),fe=Y(`]`,!1),W=Y(`=`,!1),pe=Y(`.`,!1),me=Y(`if`,!1),he=Y(`else`,!1),ge=Y(`for`,!1),_e=Y(`while`,!1),ve=Y(`do`,!1),ye=Y(`switch$`,!1),be=Y(`switch`,!1),xe=Y(`case`,!1),Se=Y(`default`,!1),Ce=Y(`or`,!1),we=Y(`return`,!1),Te=Y(`break`,!1),Ee=Y(`continue`,!1),De=Y(`+=`,!1),Oe=Y(`-=`,!1),ke=Y(`*=`,!1),Ae=Y(`/=`,!1),je=Y(`%=`,!1),Me=Y(`<<=`,!1),Ne=Y(`>>=`,!1),Pe=Y(`&=`,!1),Fe=Y(`|=`,!1),Ie=Y(`^=`,!1),Le=Y(`?`,!1),Re=Y(`||`,!1),ze=Y(`&&`,!1),Be=Y(`|`,!1),Ve=Y(`^`,!1),He=Y(`&`,!1),Ue=Y(`==`,!1),We=Y(`!=`,!1),Ge=Y(`<=`,!1),Ke=Y(`>=`,!1),qe=_r([`<`,`>`],!1,!1,!1),Je=Y(`$=`,!1),Ye=Y(`!$=`,!1),Xe=Y(`@`,!1),Ze=Y(`NL`,!1),G=Y(`TAB`,!1),Qe=Y(`SPC`,!1),$e=Y(`<<`,!1),et=Y(`>>`,!1),tt=_r([`+`,`-`],!1,!1,!1),nt=_r([`%`,`*`,`/`],!1,!1,!1),rt=_r([`!`,`-`,`~`],!1,!1,!1),it=Y(`++`,!1),at=Y(`--`,!1),ot=Y(`*`,!1),st=Y(`%`,!1),ct=_r([[`a`,`z`],[`A`,`Z`],`_`],!1,!1,!1),K=_r([[`a`,`z`],[`A`,`Z`],[`0`,`9`],`_`],!1,!1,!1),lt=Y(`$`,!1),ut=Y(`parent`,!1),dt=_r([` `,` `],!1,!1,!1),ft=Y(`"`,!1),pt=Y(`'`,!1),mt=Y(`\\`,!1),ht=_r([`"`,`\\`,` +`,`\r`],!0,!1,!1),gt=_r([`'`,`\\`,` +`,`\r`],!0,!1,!1),_t=Y(`n`,!1),vt=Y(`r`,!1),yt=Y(`t`,!1),bt=Y(`x`,!1),xt=_r([[`0`,`9`],[`a`,`f`],[`A`,`F`]],!1,!1,!1),St=Y(`cr`,!1),Ct=Y(`cp`,!1),wt=Y(`co`,!1),Tt=Y(`c`,!1),Et=_r([[`0`,`9`]],!1,!1,!1),Dt=vr(),Ot=Y(`0`,!1),kt=_r([`x`,`X`],!1,!1,!1),At=Y(`-`,!1),jt=Y(`true`,!1),Mt=Y(`false`,!1),Nt=Y(`//`,!1),Pt=_r([` +`,`\r`],!0,!1,!1),Ft=_r([` +`,`\r`],!1,!1,!1),It=Y(`/*`,!1),Lt=Y(`*/`,!1),Rt=_r([` `,` `,` +`,`\r`],!1,!1,!1);function zt(e){return{type:`Program`,body:e.map(([e])=>e).filter(Boolean),execScriptPaths:f(),hasDynamicExec:c}}function Bt(){return null}function Vt(e){return e}function Ht(e){return e}function Ut(e,t){return{type:`PackageDeclaration`,name:e,body:t.map(([e])=>e).filter(Boolean)}}function Wt(e,t,n){return{type:`FunctionDeclaration`,name:e,params:t||[],body:n}}function Gt(e,t){return{type:`MethodName`,namespace:e,method:t}}function Kt(e,t){return[e,...t.map(([,,,e])=>e)]}function qt(e,t,n,r){return{type:`DatablockDeclaration`,className:e,instanceName:t,parent:n?n[2]:null,body:r?r[2].filter(Boolean):[]}}function Jt(e,t,n){return{type:`ObjectDeclaration`,className:e,instanceName:t,body:n?n[2].filter(Boolean):[]}}function Yt(e){return e}function Xt(e,t){return t.reduce((e,[,,,t])=>({type:`IndexExpression`,object:e,index:t}),e)}function Zt(e){return e}function Qt(e){return e}function $t(e,t){return{type:`Assignment`,target:e,value:t}}function en(e,t){return t.reduce((e,t)=>t.type===`property`?{type:`MemberExpression`,object:e,property:t.value}:{type:`IndexExpression`,object:e,index:t.value},e)}function tn(e){return{type:`property`,value:e}}function nn(e){return{type:`index`,value:e}}function rn(e,t){return t.length>0?[e,...t.map(([,,,e])=>e)]:e}function an(e,t,n){return{type:`IfStatement`,test:e,consequent:t,alternate:n?n[3]:null}}function on(e,t,n,r){return{type:`ForStatement`,init:e,test:t,update:n,body:r}}function sn(e,t){return{type:`WhileStatement`,test:e,body:t}}function cn(e,t){return{type:`DoWhileStatement`,test:t,body:e}}function ln(e,t){return{type:`SwitchStatement`,stringMode:!0,discriminant:e,cases:t.map(([e])=>e).filter(e=>e&&e.type===`SwitchCase`)}}function un(e,t){return{type:`SwitchStatement`,stringMode:!1,discriminant:e,cases:t.map(([e])=>e).filter(e=>e&&e.type===`SwitchCase`)}}function dn(e,t){return{type:`SwitchCase`,test:e,consequent:t.map(([e])=>e).filter(Boolean)}}function fn(e){return{type:`SwitchCase`,test:null,consequent:e.map(([e])=>e).filter(Boolean)}}function pn(e,t){return t.length>0?[e,...t.map(([,,,e])=>e)]:e}function mn(e){return{type:`ReturnStatement`,value:e?e[1]:null}}function hn(){return{type:`BreakStatement`}}function gn(){return{type:`ContinueStatement`}}function _n(e){return{type:`ExpressionStatement`,expression:e}}function vn(e){return{type:`BlockStatement`,body:e.map(([e])=>e).filter(Boolean)}}function yn(e,t,n){return{type:`AssignmentExpression`,operator:t,target:e,value:n}}function bn(e,t,n){return{type:`ConditionalExpression`,test:e,consequent:t,alternate:n}}function xn(e,t){return l(e,t.map(([,e,,t])=>[e,t]))}function Sn(e,t){return l(e,t.map(([,e,,t])=>[e,t]))}function Cn(e,t){return l(e,t.map(([,e,,,t])=>[e,t]))}function wn(e,t){return l(e,t.map(([,e,,t])=>[e,t]))}function Tn(e,t){return l(e,t.map(([,e,,,t])=>[e,t]))}function En(e,t){return l(e,t.map(([,e,,t])=>[e,t]))}function Dn(e,t){return l(e,t.map(([,e,,t])=>[e,t]))}function On(e,t){return l(e,t.map(([,e,,t])=>[e,t]))}function kn(e,t,n){return{type:`AssignmentExpression`,operator:t,target:e,value:n}}function An(e,t){return l(e,t.map(([,e,,t])=>[e,t]))}function jn(e,t){return l(e,t.map(([,e,,t])=>[e,t]))}function Mn(e,t){return l(e,t.map(([,e,,t])=>[e,t]))}function Nn(e,t){return u(e,t)}function Pn(e,t){return u(e,t)}function Fn(e){return{type:`TagDereferenceExpression`,argument:e}}function In(e,t,n){return{type:`AssignmentExpression`,operator:t,target:e,value:n}}function Ln(e,t){return{type:`PostfixExpression`,operator:t,argument:e}}function Rn(e,t){return t.reduce((e,t)=>{if(t[1]===`(`){let[,,,n]=t;return d(e,n||[])}let n=t[1];return n.type===`property`?{type:`MemberExpression`,object:e,property:n.value}:{type:`IndexExpression`,object:e,index:n.value}},e)}function zn(e,t){return t.reduce((e,[,t])=>t.type===`property`?{type:`MemberExpression`,object:e,property:t.value}:{type:`IndexExpression`,object:e,index:t.value},e)}function Bn(e,t){return[e,...t.map(([,,,e])=>e)]}function Vn(e){return e}function Hn(e){return{type:`Variable`,scope:`local`,name:e}}function Un(e){return{type:`Variable`,scope:`global`,name:e}}function Wn(e){return{type:`Identifier`,name:e.replace(/\s+/g,``)}}function Gn(e){return{type:`Identifier`,name:e}}function Kn(e){return{type:`Identifier`,name:e}}function qn(e){return{type:`StringLiteral`,value:e.join(``)}}function Jn(e){return{type:`StringLiteral`,value:e.join(``),tagged:!0}}function Yn(e){return e}function Xn(e){return e}function Zn(){return` +`}function Qn(){return`\r`}function $n(){return` `}function er(e){return String.fromCharCode(parseInt(e,16))}function tr(){return``}function nr(){return``}function rr(){return``}function ir(e){return String.fromCharCode([2,3,4,5,6,7,8,11,12,14][parseInt(e,10)])}function ar(e){return e}function or(e){return{type:`NumberLiteral`,value:parseInt(e,16)}}function sr(e){return{type:`NumberLiteral`,value:parseFloat(e)}}function cr(e){return{type:`BooleanLiteral`,value:e===`true`}}function lr(e){return{type:`Comment`,value:e}}function ur(e){return{type:`Comment`,value:e}}function dr(){return null}let q=t.peg$currPos|0,fr=[{line:1,column:1}],pr=q,mr=t.peg$maxFailExpected||[],J=t.peg$silentFails|0,hr;if(t.startRule){if(!(t.startRule in i))throw Error(`Can't start parsing from rule "`+t.startRule+`".`);a=i[t.startRule]}function gr(t=q){let n=e.codePointAt(t);return n===void 0?``:String.fromCodePoint(n)}function Y(e,t){return{type:`literal`,text:e,ignoreCase:t}}function _r(e,t,n,r){return{type:`class`,parts:e,inverted:t,ignoreCase:n,unicode:r}}function vr(){return{type:`any`}}function yr(){return{type:`end`}}function br(t){let n=fr[t],r;if(n)return n;if(t>=fr.length)r=fr.length-1;else for(r=t;!fr[--r];);for(n=fr[r],n={line:n.line,column:n.column};rpr&&(pr=q,mr=[]),mr.push(e))}function Sr(e,t,n){return new p(p.buildMessage(e,t),e,t,n)}function Cr(){let e,t,r,i,a;for(e=q,$(),t=[],r=q,i=Fi(),i===n&&(i=wr()),i===n?(q=r,r=n):(a=$(),i=[i,a],r=i);r!==n;)t.push(r),r=q,i=Fi(),i===n&&(i=wr()),i===n?(q=r,r=n):(a=$(),i=[i,a],r=i);return e=zt(t),e}function wr(){let t,r;return t=Dr(),t===n&&(t=Or(),t===n&&(t=Tr(),t===n&&(t=Er(),t===n&&(t=Br(),t===n&&(t=Vr(),t===n&&(t=Ur(),t===n&&(t=Hr(),t===n&&(t=Wr(),t===n&&(t=qr(),t===n&&(t=Jr(),t===n&&(t=Yr(),t===n&&(t=Xr(),t===n&&(t=Zr(),t===n&&(t=Fi(),t===n&&(t=q,Q(),e.charCodeAt(q)===59?(r=`;`,q++):(r=n,J===0&&X(F)),r===n?(q=t,t=n):(Q(),t=Bt())))))))))))))))),t}function Tr(){let t,r,i;return t=q,r=jr(),r===n?(q=t,t=n):(Q(),e.charCodeAt(q)===59?(i=`;`,q++):(i=n,J===0&&X(F)),i===n&&(i=null),Q(),t=Vt(r)),t}function Er(){let t,r,i;return t=q,r=Mr(),r===n?(q=t,t=n):(Q(),e.charCodeAt(q)===59?(i=`;`,q++):(i=n,J===0&&X(F)),i===n&&(i=null),Q(),t=Ht(r)),t}function Dr(){let t,r,i,a,s,c,l,u,d;if(t=q,e.substr(q,7)===o?(r=o,q+=7):(r=n,J===0&&X(I)),r!==n)if(i=zi(),i!==n)if(a=Oi(),a!==n)if(Q(),e.charCodeAt(q)===123?(s=`{`,q++):(s=n,J===0&&X(L)),s!==n){for($(),c=[],l=q,u=Fi(),u===n&&(u=wr()),u===n?(q=l,l=n):(d=$(),u=[u,d],l=u);l!==n;)c.push(l),l=q,u=Fi(),u===n&&(u=wr()),u===n?(q=l,l=n):(d=$(),u=[u,d],l=u);e.charCodeAt(q)===125?(l=`}`,q++):(l=n,J===0&&X(R)),l===n?(q=t,t=n):(u=Q(),e.charCodeAt(q)===59?(d=`;`,q++):(d=n,J===0&&X(F)),d===n&&(d=null),t=Ut(a,c))}else q=t,t=n;else q=t,t=n;else q=t,t=n;else q=t,t=n;return t}function Or(){let t,r,i,a,o,s,c,l;return t=q,e.substr(q,8)===m?(r=m,q+=8):(r=n,J===0&&X(z)),r===n?(q=t,t=n):(i=zi(),i===n?(q=t,t=n):(a=kr(),a===n?(q=t,t=n):(Q(),e.charCodeAt(q)===40?(o=`(`,q++):(o=n,J===0&&X(B)),o===n?(q=t,t=n):(Q(),s=Ar(),s===n&&(s=null),Q(),e.charCodeAt(q)===41?(c=`)`,q++):(c=n,J===0&&X(V)),c===n?(q=t,t=n):(Q(),l=Zr(),l===n?(q=t,t=n):t=Wt(a,s,l)))))),t}function kr(){let t,r,i,a;return t=q,r=Oi(),r===n?(q=t,t=n):(e.substr(q,2)===`::`?(i=`::`,q+=2):(i=n,J===0&&X(H)),i===n?(q=t,t=n):(a=Oi(),a===n?(q=t,t=n):t=Gt(r,a))),t===n&&(t=Oi()),t}function Ar(){let t,r,i,a,o,s,c,l;if(t=q,r=Oi(),r!==n){for(i=[],a=q,o=Q(),e.charCodeAt(q)===44?(s=`,`,q++):(s=n,J===0&&X(ce)),s===n?(q=a,a=n):(c=Q(),l=Oi(),l===n?(q=a,a=n):(o=[o,s,c,l],a=o));a!==n;)i.push(a),a=q,o=Q(),e.charCodeAt(q)===44?(s=`,`,q++):(s=n,J===0&&X(ce)),s===n?(q=a,a=n):(c=Q(),l=Oi(),l===n?(q=a,a=n):(o=[o,s,c,l],a=o));t=Kt(r,i)}else q=t,t=n;return t}function jr(){let t,r,i,a,o,s,c,l,u,d,f,p,m,g,_,v;if(t=q,e.substr(q,9)===h?(r=h,q+=9):(r=n,J===0&&X(U)),r!==n)if(i=zi(),i!==n)if(a=Oi(),a!==n)if(Q(),e.charCodeAt(q)===40?(o=`(`,q++):(o=n,J===0&&X(B)),o!==n)if(Q(),s=Fr(),s===n&&(s=null),Q(),e.charCodeAt(q)===41?(c=`)`,q++):(c=n,J===0&&X(V)),c!==n){if(Q(),l=q,e.charCodeAt(q)===58?(u=`:`,q++):(u=n,J===0&&X(le)),u===n?(q=l,l=n):(d=Q(),f=Oi(),f===n?(q=l,l=n):(u=[u,d,f],l=u)),l===n&&(l=null),u=Q(),d=q,e.charCodeAt(q)===123?(f=`{`,q++):(f=n,J===0&&X(L)),f!==n){for(p=Q(),m=[],g=Pr();g!==n;)m.push(g),g=Pr();g=Q(),e.charCodeAt(q)===125?(_=`}`,q++):(_=n,J===0&&X(R)),_===n?(q=d,d=n):(v=Q(),f=[f,p,m,g,_,v],d=f)}else q=d,d=n;d===n&&(d=null),t=qt(a,s,l,d)}else q=t,t=n;else q=t,t=n;else q=t,t=n;else q=t,t=n;else q=t,t=n;return t}function Mr(){let t,r,i,a,o,s,c,l,u,d,f,p,m,h;if(t=q,e.substr(q,3)===`new`?(r=`new`,q+=3):(r=n,J===0&&X(ue)),r!==n)if(i=zi(),i!==n)if(a=Nr(),a!==n)if(Q(),e.charCodeAt(q)===40?(o=`(`,q++):(o=n,J===0&&X(B)),o!==n)if(Q(),s=Fr(),s===n&&(s=null),Q(),e.charCodeAt(q)===41?(c=`)`,q++):(c=n,J===0&&X(V)),c!==n){if(Q(),l=q,e.charCodeAt(q)===123?(u=`{`,q++):(u=n,J===0&&X(L)),u!==n){for(d=Q(),f=[],p=Pr();p!==n;)f.push(p),p=Pr();p=Q(),e.charCodeAt(q)===125?(m=`}`,q++):(m=n,J===0&&X(R)),m===n?(q=l,l=n):(h=Q(),u=[u,d,f,p,m,h],l=u)}else q=l,l=n;l===n&&(l=null),t=Jt(a,s,l)}else q=t,t=n;else q=t,t=n;else q=t,t=n;else q=t,t=n;else q=t,t=n;return t}function Nr(){let t,r,i,a,o,s,c,l,u,d;if(t=q,e.charCodeAt(q)===40?(r=`(`,q++):(r=n,J===0&&X(B)),r===n?(q=t,t=n):(i=Q(),a=Z(),a===n?(q=t,t=n):(o=Q(),e.charCodeAt(q)===41?(s=`)`,q++):(s=n,J===0&&X(V)),s===n?(q=t,t=n):t=Yt(a))),t===n)if(t=q,r=Oi(),r!==n){for(i=[],a=q,o=Q(),e.charCodeAt(q)===91?(s=`[`,q++):(s=n,J===0&&X(de)),s===n?(q=a,a=n):(c=Q(),l=zr(),l===n?(q=a,a=n):(u=Q(),e.charCodeAt(q)===93?(d=`]`,q++):(d=n,J===0&&X(fe)),d===n?(q=a,a=n):(o=[o,s,c,l,u,d],a=o)));a!==n;)i.push(a),a=q,o=Q(),e.charCodeAt(q)===91?(s=`[`,q++):(s=n,J===0&&X(de)),s===n?(q=a,a=n):(c=Q(),l=zr(),l===n?(q=a,a=n):(u=Q(),e.charCodeAt(q)===93?(d=`]`,q++):(d=n,J===0&&X(fe)),d===n?(q=a,a=n):(o=[o,s,c,l,u,d],a=o)));t=Xt(r,i)}else q=t,t=n;return t}function Pr(){let t,r,i;return t=q,r=Mr(),r===n?(q=t,t=n):(Q(),e.charCodeAt(q)===59?(i=`;`,q++):(i=n,J===0&&X(F)),i===n&&(i=null),Q(),t=Zt(r)),t===n&&(t=q,r=jr(),r===n?(q=t,t=n):(Q(),e.charCodeAt(q)===59?(i=`;`,q++):(i=n,J===0&&X(F)),i===n&&(i=null),Q(),t=Qt(r)),t===n&&(t=Ir(),t===n&&(t=Fi(),t===n&&(t=Ri())))),t}function Fr(){let e;return e=li(),e===n&&(e=Oi(),e===n&&(e=Ni())),e}function Ir(){let t,r,i,a,o;return t=q,Q(),r=Lr(),r===n?(q=t,t=n):(Q(),e.charCodeAt(q)===61?(i=`=`,q++):(i=n,J===0&&X(W)),i===n?(q=t,t=n):(Q(),a=Z(),a===n?(q=t,t=n):(Q(),e.charCodeAt(q)===59?(o=`;`,q++):(o=n,J===0&&X(F)),o===n&&(o=null),Q(),t=$t(r,a)))),t}function Lr(){let e,t,r,i;if(e=q,t=yi(),t!==n){for(r=[],i=Rr();i!==n;)r.push(i),i=Rr();e=en(t,r)}else q=e,e=n;return e}function Rr(){let t,r,i,a;return t=q,e.charCodeAt(q)===46?(r=`.`,q++):(r=n,J===0&&X(pe)),r===n?(q=t,t=n):(Q(),i=Oi(),i===n?(q=t,t=n):t=tn(i)),t===n&&(t=q,e.charCodeAt(q)===91?(r=`[`,q++):(r=n,J===0&&X(de)),r===n?(q=t,t=n):(Q(),i=zr(),i===n?(q=t,t=n):(Q(),e.charCodeAt(q)===93?(a=`]`,q++):(a=n,J===0&&X(fe)),a===n?(q=t,t=n):t=nn(i)))),t}function zr(){let t,r,i,a,o,s,c,l;if(t=q,r=Z(),r!==n){for(i=[],a=q,o=Q(),e.charCodeAt(q)===44?(s=`,`,q++):(s=n,J===0&&X(ce)),s===n?(q=a,a=n):(c=Q(),l=Z(),l===n?(q=a,a=n):(o=[o,s,c,l],a=o));a!==n;)i.push(a),a=q,o=Q(),e.charCodeAt(q)===44?(s=`,`,q++):(s=n,J===0&&X(ce)),s===n?(q=a,a=n):(c=Q(),l=Z(),l===n?(q=a,a=n):(o=[o,s,c,l],a=o));t=rn(r,i)}else q=t,t=n;return t}function Br(){let t,r,i,a,o,s,c,l,u,d,f;return t=q,e.substr(q,2)===`if`?(r=`if`,q+=2):(r=n,J===0&&X(me)),r===n?(q=t,t=n):(Q(),e.charCodeAt(q)===40?(i=`(`,q++):(i=n,J===0&&X(B)),i===n?(q=t,t=n):(Q(),a=Z(),a===n?(q=t,t=n):(Q(),e.charCodeAt(q)===41?(o=`)`,q++):(o=n,J===0&&X(V)),o===n?(q=t,t=n):(Q(),s=wr(),s===n?(q=t,t=n):(c=q,l=Q(),e.substr(q,4)===g?(u=g,q+=4):(u=n,J===0&&X(he)),u===n?(q=c,c=n):(d=Q(),f=wr(),f===n?(q=c,c=n):(l=[l,u,d,f],c=l)),c===n&&(c=null),t=an(a,s,c)))))),t}function Vr(){let t,r,i,a,o,s,c,l,u,d;return t=q,e.substr(q,3)===`for`?(r=`for`,q+=3):(r=n,J===0&&X(ge)),r===n?(q=t,t=n):(Q(),e.charCodeAt(q)===40?(i=`(`,q++):(i=n,J===0&&X(B)),i===n?(q=t,t=n):(Q(),a=Z(),a===n&&(a=null),Q(),e.charCodeAt(q)===59?(o=`;`,q++):(o=n,J===0&&X(F)),o===n?(q=t,t=n):(Q(),s=Z(),s===n&&(s=null),Q(),e.charCodeAt(q)===59?(c=`;`,q++):(c=n,J===0&&X(F)),c===n?(q=t,t=n):(Q(),l=Z(),l===n&&(l=null),Q(),e.charCodeAt(q)===41?(u=`)`,q++):(u=n,J===0&&X(V)),u===n?(q=t,t=n):(Q(),d=wr(),d===n?(q=t,t=n):t=on(a,s,l,d)))))),t}function Hr(){let t,r,i,a,o,s;return t=q,e.substr(q,5)===_?(r=_,q+=5):(r=n,J===0&&X(_e)),r===n?(q=t,t=n):(Q(),e.charCodeAt(q)===40?(i=`(`,q++):(i=n,J===0&&X(B)),i===n?(q=t,t=n):(Q(),a=Z(),a===n?(q=t,t=n):(Q(),e.charCodeAt(q)===41?(o=`)`,q++):(o=n,J===0&&X(V)),o===n?(q=t,t=n):(Q(),s=wr(),s===n?(q=t,t=n):t=sn(a,s))))),t}function Ur(){let t,r,i,a,o,s,c,l;return t=q,e.substr(q,2)===`do`?(r=`do`,q+=2):(r=n,J===0&&X(ve)),r===n?(q=t,t=n):(Q(),i=wr(),i===n?(q=t,t=n):(Q(),e.substr(q,5)===_?(a=_,q+=5):(a=n,J===0&&X(_e)),a===n?(q=t,t=n):(Q(),e.charCodeAt(q)===40?(o=`(`,q++):(o=n,J===0&&X(B)),o===n?(q=t,t=n):(Q(),s=Z(),s===n?(q=t,t=n):(Q(),e.charCodeAt(q)===41?(c=`)`,q++):(c=n,J===0&&X(V)),c===n?(q=t,t=n):(Q(),e.charCodeAt(q)===59?(l=`;`,q++):(l=n,J===0&&X(F)),l===n&&(l=null),t=cn(i,s))))))),t}function Wr(){let t,r,i,a,o,s,c,l,u,d;if(t=q,e.substr(q,7)===v?(r=v,q+=7):(r=n,J===0&&X(ye)),r!==n)if(Q(),e.charCodeAt(q)===40?(i=`(`,q++):(i=n,J===0&&X(B)),i!==n)if(Q(),a=Z(),a!==n)if(Q(),e.charCodeAt(q)===41?(o=`)`,q++):(o=n,J===0&&X(V)),o!==n)if(Q(),e.charCodeAt(q)===123?(s=`{`,q++):(s=n,J===0&&X(L)),s!==n){for($(),c=[],l=q,u=Fi(),u===n&&(u=Gr()),u===n?(q=l,l=n):(d=$(),u=[u,d],l=u);l!==n;)c.push(l),l=q,u=Fi(),u===n&&(u=Gr()),u===n?(q=l,l=n):(d=$(),u=[u,d],l=u);e.charCodeAt(q)===125?(l=`}`,q++):(l=n,J===0&&X(R)),l===n?(q=t,t=n):t=ln(a,c)}else q=t,t=n;else q=t,t=n;else q=t,t=n;else q=t,t=n;else q=t,t=n;if(t===n)if(t=q,e.substr(q,6)===ee?(r=ee,q+=6):(r=n,J===0&&X(be)),r!==n)if(Q(),e.charCodeAt(q)===40?(i=`(`,q++):(i=n,J===0&&X(B)),i!==n)if(Q(),a=Z(),a!==n)if(Q(),e.charCodeAt(q)===41?(o=`)`,q++):(o=n,J===0&&X(V)),o!==n)if(Q(),e.charCodeAt(q)===123?(s=`{`,q++):(s=n,J===0&&X(L)),s!==n){for($(),c=[],l=q,u=Fi(),u===n&&(u=Gr()),u===n?(q=l,l=n):(d=$(),u=[u,d],l=u);l!==n;)c.push(l),l=q,u=Fi(),u===n&&(u=Gr()),u===n?(q=l,l=n):(d=$(),u=[u,d],l=u);e.charCodeAt(q)===125?(l=`}`,q++):(l=n,J===0&&X(R)),l===n?(q=t,t=n):t=un(a,c)}else q=t,t=n;else q=t,t=n;else q=t,t=n;else q=t,t=n;else q=t,t=n;return t}function Gr(){let t,r,i,a,o,s,c,l,u,d;if(t=q,e.substr(q,4)===te?(r=te,q+=4):(r=n,J===0&&X(xe)),r!==n)if(i=zi(),i!==n)if(a=Kr(),a!==n)if(Q(),e.charCodeAt(q)===58?(o=`:`,q++):(o=n,J===0&&X(le)),o!==n){for(s=$(),c=[],l=q,u=Fi(),u===n&&(u=wr()),u===n?(q=l,l=n):(d=$(),u=[u,d],l=u);l!==n;)c.push(l),l=q,u=Fi(),u===n&&(u=wr()),u===n?(q=l,l=n):(d=$(),u=[u,d],l=u);t=dn(a,c)}else q=t,t=n;else q=t,t=n;else q=t,t=n;else q=t,t=n;if(t===n)if(t=q,e.substr(q,7)===ne?(r=ne,q+=7):(r=n,J===0&&X(Se)),r!==n)if(i=Q(),e.charCodeAt(q)===58?(a=`:`,q++):(a=n,J===0&&X(le)),a!==n){for($(),o=[],s=q,c=Fi(),c===n&&(c=wr()),c===n?(q=s,s=n):(l=$(),c=[c,l],s=c);s!==n;)o.push(s),s=q,c=Fi(),c===n&&(c=wr()),c===n?(q=s,s=n):(l=$(),c=[c,l],s=c);t=fn(o)}else q=t,t=n;else q=t,t=n;return t}function Kr(){let t,r,i,a,o,s,c,l;if(t=q,r=mi(),r!==n){for(i=[],a=q,o=Q(),e.substr(q,2)===`or`?(s=`or`,q+=2):(s=n,J===0&&X(Ce)),s===n?(q=a,a=n):(c=zi(),c===n?(q=a,a=n):(l=mi(),l===n?(q=a,a=n):(o=[o,s,c,l],a=o)));a!==n;)i.push(a),a=q,o=Q(),e.substr(q,2)===`or`?(s=`or`,q+=2):(s=n,J===0&&X(Ce)),s===n?(q=a,a=n):(c=zi(),c===n?(q=a,a=n):(l=mi(),l===n?(q=a,a=n):(o=[o,s,c,l],a=o)));t=pn(r,i)}else q=t,t=n;return t}function qr(){let t,r,i,a,o;return t=q,e.substr(q,6)===y?(r=y,q+=6):(r=n,J===0&&X(we)),r===n?(q=t,t=n):(i=q,a=zi(),a===n?(q=i,i=n):(o=Z(),o===n?(q=i,i=n):(a=[a,o],i=a)),i===n&&(i=null),a=Q(),e.charCodeAt(q)===59?(o=`;`,q++):(o=n,J===0&&X(F)),o===n?(q=t,t=n):t=mn(i)),t}function Jr(){let t,r,i;return t=q,e.substr(q,5)===re?(r=re,q+=5):(r=n,J===0&&X(Te)),r===n?(q=t,t=n):(Q(),e.charCodeAt(q)===59?(i=`;`,q++):(i=n,J===0&&X(F)),i===n?(q=t,t=n):t=hn()),t}function Yr(){let t,r,i;return t=q,e.substr(q,8)===b?(r=b,q+=8):(r=n,J===0&&X(Ee)),r===n?(q=t,t=n):(Q(),e.charCodeAt(q)===59?(i=`;`,q++):(i=n,J===0&&X(F)),i===n?(q=t,t=n):t=gn()),t}function Xr(){let t,r,i;return t=q,r=Z(),r===n?(q=t,t=n):(Q(),e.charCodeAt(q)===59?(i=`;`,q++):(i=n,J===0&&X(F)),i===n?(q=t,t=n):t=_n(r)),t}function Zr(){let t,r,i,a,o,s;if(t=q,e.charCodeAt(q)===123?(r=`{`,q++):(r=n,J===0&&X(L)),r!==n){for($(),i=[],a=q,o=Fi(),o===n&&(o=wr()),o===n?(q=a,a=n):(s=$(),o=[o,s],a=o);a!==n;)i.push(a),a=q,o=Fi(),o===n&&(o=wr()),o===n?(q=a,a=n):(s=$(),o=[o,s],a=o);e.charCodeAt(q)===125?(a=`}`,q++):(a=n,J===0&&X(R)),a===n?(q=t,t=n):t=vn(i)}else q=t,t=n;return t}function Z(){let e,t,r,i;return e=q,t=Lr(),t===n?(q=e,e=n):(Q(),r=Qr(),r===n?(q=e,e=n):(Q(),i=Z(),i===n?(q=e,e=n):e=yn(t,r,i))),e===n&&(e=$r()),e}function Qr(){let t;return e.charCodeAt(q)===61?(t=`=`,q++):(t=n,J===0&&X(W)),t===n&&(e.substr(q,2)===`+=`?(t=`+=`,q+=2):(t=n,J===0&&X(De)),t===n&&(e.substr(q,2)===`-=`?(t=`-=`,q+=2):(t=n,J===0&&X(Oe)),t===n&&(e.substr(q,2)===`*=`?(t=`*=`,q+=2):(t=n,J===0&&X(ke)),t===n&&(e.substr(q,2)===`/=`?(t=`/=`,q+=2):(t=n,J===0&&X(Ae)),t===n&&(e.substr(q,2)===`%=`?(t=`%=`,q+=2):(t=n,J===0&&X(je)),t===n&&(e.substr(q,3)===`<<=`?(t=`<<=`,q+=3):(t=n,J===0&&X(Me)),t===n&&(e.substr(q,3)===`>>=`?(t=`>>=`,q+=3):(t=n,J===0&&X(Ne)),t===n&&(e.substr(q,2)===`&=`?(t=`&=`,q+=2):(t=n,J===0&&X(Pe)),t===n&&(e.substr(q,2)===`|=`?(t=`|=`,q+=2):(t=n,J===0&&X(Fe)),t===n&&(e.substr(q,2)===`^=`?(t=`^=`,q+=2):(t=n,J===0&&X(Ie)))))))))))),t}function $r(){let t,r,i,a,o,s;return t=q,r=ei(),r===n?(q=t,t=n):(Q(),e.charCodeAt(q)===63?(i=`?`,q++):(i=n,J===0&&X(Le)),i===n?(q=t,t=n):(Q(),a=Z(),a===n?(q=t,t=n):(Q(),e.charCodeAt(q)===58?(o=`:`,q++):(o=n,J===0&&X(le)),o===n?(q=t,t=n):(Q(),s=Z(),s===n?(q=t,t=n):t=bn(r,a,s))))),t===n&&(t=ei()),t}function ei(){let t,r,i,a,o,s,c,l;if(t=q,r=ti(),r!==n){for(i=[],a=q,o=Q(),e.substr(q,2)===`||`?(s=`||`,q+=2):(s=n,J===0&&X(Re)),s===n?(q=a,a=n):(c=Q(),l=ti(),l===n?(q=a,a=n):(o=[o,s,c,l],a=o));a!==n;)i.push(a),a=q,o=Q(),e.substr(q,2)===`||`?(s=`||`,q+=2):(s=n,J===0&&X(Re)),s===n?(q=a,a=n):(c=Q(),l=ti(),l===n?(q=a,a=n):(o=[o,s,c,l],a=o));t=xn(r,i)}else q=t,t=n;return t}function ti(){let t,r,i,a,o,s,c,l;if(t=q,r=ni(),r!==n){for(i=[],a=q,o=Q(),e.substr(q,2)===`&&`?(s=`&&`,q+=2):(s=n,J===0&&X(ze)),s===n?(q=a,a=n):(c=Q(),l=ni(),l===n?(q=a,a=n):(o=[o,s,c,l],a=o));a!==n;)i.push(a),a=q,o=Q(),e.substr(q,2)===`&&`?(s=`&&`,q+=2):(s=n,J===0&&X(ze)),s===n?(q=a,a=n):(c=Q(),l=ni(),l===n?(q=a,a=n):(o=[o,s,c,l],a=o));t=Sn(r,i)}else q=t,t=n;return t}function ni(){let t,r,i,a,o,s,c,l,u;if(t=q,r=ri(),r!==n){for(i=[],a=q,o=Q(),e.charCodeAt(q)===124?(s=`|`,q++):(s=n,J===0&&X(Be)),s===n?(q=a,a=n):(c=q,J++,e.charCodeAt(q)===124?(l=`|`,q++):(l=n,J===0&&X(Be)),J--,l===n?c=void 0:(q=c,c=n),c===n?(q=a,a=n):(l=Q(),u=ri(),u===n?(q=a,a=n):(o=[o,s,c,l,u],a=o)));a!==n;)i.push(a),a=q,o=Q(),e.charCodeAt(q)===124?(s=`|`,q++):(s=n,J===0&&X(Be)),s===n?(q=a,a=n):(c=q,J++,e.charCodeAt(q)===124?(l=`|`,q++):(l=n,J===0&&X(Be)),J--,l===n?c=void 0:(q=c,c=n),c===n?(q=a,a=n):(l=Q(),u=ri(),u===n?(q=a,a=n):(o=[o,s,c,l,u],a=o)));t=Cn(r,i)}else q=t,t=n;return t}function ri(){let t,r,i,a,o,s,c,l;if(t=q,r=ii(),r!==n){for(i=[],a=q,o=Q(),e.charCodeAt(q)===94?(s=`^`,q++):(s=n,J===0&&X(Ve)),s===n?(q=a,a=n):(c=Q(),l=ii(),l===n?(q=a,a=n):(o=[o,s,c,l],a=o));a!==n;)i.push(a),a=q,o=Q(),e.charCodeAt(q)===94?(s=`^`,q++):(s=n,J===0&&X(Ve)),s===n?(q=a,a=n):(c=Q(),l=ii(),l===n?(q=a,a=n):(o=[o,s,c,l],a=o));t=wn(r,i)}else q=t,t=n;return t}function ii(){let t,r,i,a,o,s,c,l,u;if(t=q,r=ai(),r!==n){for(i=[],a=q,o=Q(),e.charCodeAt(q)===38?(s=`&`,q++):(s=n,J===0&&X(He)),s===n?(q=a,a=n):(c=q,J++,e.charCodeAt(q)===38?(l=`&`,q++):(l=n,J===0&&X(He)),J--,l===n?c=void 0:(q=c,c=n),c===n?(q=a,a=n):(l=Q(),u=ai(),u===n?(q=a,a=n):(o=[o,s,c,l,u],a=o)));a!==n;)i.push(a),a=q,o=Q(),e.charCodeAt(q)===38?(s=`&`,q++):(s=n,J===0&&X(He)),s===n?(q=a,a=n):(c=q,J++,e.charCodeAt(q)===38?(l=`&`,q++):(l=n,J===0&&X(He)),J--,l===n?c=void 0:(q=c,c=n),c===n?(q=a,a=n):(l=Q(),u=ai(),u===n?(q=a,a=n):(o=[o,s,c,l,u],a=o)));t=Tn(r,i)}else q=t,t=n;return t}function ai(){let e,t,r,i,a,o,s,c;if(e=q,t=si(),t!==n){for(r=[],i=q,a=Q(),o=oi(),o===n?(q=i,i=n):(s=Q(),c=si(),c===n?(q=i,i=n):(a=[a,o,s,c],i=a));i!==n;)r.push(i),i=q,a=Q(),o=oi(),o===n?(q=i,i=n):(s=Q(),c=si(),c===n?(q=i,i=n):(a=[a,o,s,c],i=a));e=En(t,r)}else q=e,e=n;return e}function oi(){let t;return e.substr(q,2)===`==`?(t=`==`,q+=2):(t=n,J===0&&X(Ue)),t===n&&(e.substr(q,2)===`!=`?(t=`!=`,q+=2):(t=n,J===0&&X(We))),t}function si(){let e,t,r,i,a,o,s,c;if(e=q,t=li(),t!==n){for(r=[],i=q,a=Q(),o=ci(),o===n?(q=i,i=n):(s=Q(),c=li(),c===n?(q=i,i=n):(a=[a,o,s,c],i=a));i!==n;)r.push(i),i=q,a=Q(),o=ci(),o===n?(q=i,i=n):(s=Q(),c=li(),c===n?(q=i,i=n):(a=[a,o,s,c],i=a));e=Dn(t,r)}else q=e,e=n;return e}function ci(){let t;return e.substr(q,2)===`<=`?(t=`<=`,q+=2):(t=n,J===0&&X(Ge)),t===n&&(e.substr(q,2)===`>=`?(t=`>=`,q+=2):(t=n,J===0&&X(Ke)),t===n&&(t=e.charAt(q),w.test(t)?q++:(t=n,J===0&&X(qe)))),t}function li(){let e,t,r,i,a,o,s,c;if(e=q,t=fi(),t!==n){for(r=[],i=q,a=Q(),o=di(),o===n?(q=i,i=n):(s=Q(),c=ui(),c===n?(q=i,i=n):(a=[a,o,s,c],i=a));i!==n;)r.push(i),i=q,a=Q(),o=di(),o===n?(q=i,i=n):(s=Q(),c=ui(),c===n?(q=i,i=n):(a=[a,o,s,c],i=a));e=On(t,r)}else q=e,e=n;return e}function ui(){let e,t,r,i;return e=q,t=Lr(),t===n?(q=e,e=n):(Q(),r=Qr(),r===n?(q=e,e=n):(Q(),i=Z(),i===n?(q=e,e=n):e=kn(t,r,i))),e===n&&(e=fi()),e}function di(){let t;return e.substr(q,2)===`$=`?(t=`$=`,q+=2):(t=n,J===0&&X(Je)),t===n&&(e.substr(q,3)===`!$=`?(t=`!$=`,q+=3):(t=n,J===0&&X(Ye)),t===n&&(e.charCodeAt(q)===64?(t=`@`,q++):(t=n,J===0&&X(Xe)),t===n&&(e.substr(q,2)===`NL`?(t=`NL`,q+=2):(t=n,J===0&&X(Ze)),t===n&&(e.substr(q,3)===`TAB`?(t=`TAB`,q+=3):(t=n,J===0&&X(G)),t===n&&(e.substr(q,3)===`SPC`?(t=`SPC`,q+=3):(t=n,J===0&&X(Qe))))))),t}function fi(){let e,t,r,i,a,o,s,c;if(e=q,t=mi(),t!==n){for(r=[],i=q,a=Q(),o=pi(),o===n?(q=i,i=n):(s=Q(),c=mi(),c===n?(q=i,i=n):(a=[a,o,s,c],i=a));i!==n;)r.push(i),i=q,a=Q(),o=pi(),o===n?(q=i,i=n):(s=Q(),c=mi(),c===n?(q=i,i=n):(a=[a,o,s,c],i=a));e=An(t,r)}else q=e,e=n;return e}function pi(){let t;return e.substr(q,2)===`<<`?(t=`<<`,q+=2):(t=n,J===0&&X($e)),t===n&&(e.substr(q,2)===`>>`?(t=`>>`,q+=2):(t=n,J===0&&X(et))),t}function mi(){let t,r,i,a,o,s,c,l;if(t=q,r=hi(),r!==n){for(i=[],a=q,o=Q(),s=e.charAt(q),T.test(s)?q++:(s=n,J===0&&X(tt)),s===n?(q=a,a=n):(c=Q(),l=hi(),l===n?(q=a,a=n):(o=[o,s,c,l],a=o));a!==n;)i.push(a),a=q,o=Q(),s=e.charAt(q),T.test(s)?q++:(s=n,J===0&&X(tt)),s===n?(q=a,a=n):(c=Q(),l=hi(),l===n?(q=a,a=n):(o=[o,s,c,l],a=o));t=jn(r,i)}else q=t,t=n;return t}function hi(){let t,r,i,a,o,s,c,l;if(t=q,r=gi(),r!==n){for(i=[],a=q,o=Q(),s=e.charAt(q),ie.test(s)?q++:(s=n,J===0&&X(nt)),s===n?(q=a,a=n):(c=Q(),l=gi(),l===n?(q=a,a=n):(o=[o,s,c,l],a=o));a!==n;)i.push(a),a=q,o=Q(),s=e.charAt(q),ie.test(s)?q++:(s=n,J===0&&X(nt)),s===n?(q=a,a=n):(c=Q(),l=gi(),l===n?(q=a,a=n):(o=[o,s,c,l],a=o));t=Mn(r,i)}else q=t,t=n;return t}function gi(){let t,r,i;return t=q,r=e.charAt(q),ae.test(r)?q++:(r=n,J===0&&X(rt)),r===n?(q=t,t=n):(Q(),i=_i(),i===n?(q=t,t=n):t=Nn(r,i)),t===n&&(t=q,e.substr(q,2)===`++`?(r=`++`,q+=2):(r=n,J===0&&X(it)),r===n&&(e.substr(q,2)===`--`?(r=`--`,q+=2):(r=n,J===0&&X(at))),r===n?(q=t,t=n):(Q(),i=_i(),i===n?(q=t,t=n):t=Pn(r,i)),t===n&&(t=q,e.charCodeAt(q)===42?(r=`*`,q++):(r=n,J===0&&X(ot)),r===n?(q=t,t=n):(Q(),i=_i(),i===n?(q=t,t=n):t=Fn(i)),t===n&&(t=vi()))),t}function _i(){let e,t,r,i;return e=q,t=Lr(),t===n?(q=e,e=n):(Q(),r=Qr(),r===n?(q=e,e=n):(Q(),i=Z(),i===n?(q=e,e=n):e=In(t,r,i))),e===n&&(e=gi()),e}function vi(){let t,r,i;return t=q,r=yi(),r===n?(q=t,t=n):(Q(),e.substr(q,2)===`++`?(i=`++`,q+=2):(i=n,J===0&&X(it)),i===n&&(e.substr(q,2)===`--`?(i=`--`,q+=2):(i=n,J===0&&X(at))),i===n?(q=t,t=n):t=Ln(r,i)),t===n&&(t=yi()),t}function yi(){let t,r,i,a,o,s,c,l,u,d;if(t=q,r=bi(),r!==n){for(i=[],a=q,o=Q(),e.charCodeAt(q)===40?(s=`(`,q++):(s=n,J===0&&X(B)),s===n?(q=a,a=n):(c=Q(),l=xi(),l===n&&(l=null),u=Q(),e.charCodeAt(q)===41?(d=`)`,q++):(d=n,J===0&&X(V)),d===n?(q=a,a=n):(o=[o,s,c,l,u,d],a=o)),a===n&&(a=q,o=Q(),s=Rr(),s===n?(q=a,a=n):(o=[o,s],a=o));a!==n;)i.push(a),a=q,o=Q(),e.charCodeAt(q)===40?(s=`(`,q++):(s=n,J===0&&X(B)),s===n?(q=a,a=n):(c=Q(),l=xi(),l===n&&(l=null),u=Q(),e.charCodeAt(q)===41?(d=`)`,q++):(d=n,J===0&&X(V)),d===n?(q=a,a=n):(o=[o,s,c,l,u,d],a=o)),a===n&&(a=q,o=Q(),s=Rr(),s===n?(q=a,a=n):(o=[o,s],a=o));t=Rn(r,i)}else q=t,t=n;return t}function bi(){let e,t,r,i,a,o;if(e=q,t=Si(),t!==n){for(r=[],i=q,a=Q(),o=Rr(),o===n?(q=i,i=n):(a=[a,o],i=a);i!==n;)r.push(i),i=q,a=Q(),o=Rr(),o===n?(q=i,i=n):(a=[a,o],i=a);e=zn(t,r)}else q=e,e=n;return e}function xi(){let t,r,i,a,o,s,c,l;if(t=q,r=Z(),r!==n){for(i=[],a=q,o=Q(),e.charCodeAt(q)===44?(s=`,`,q++):(s=n,J===0&&X(ce)),s===n?(q=a,a=n):(c=Q(),l=Z(),l===n?(q=a,a=n):(o=[o,s,c,l],a=o));a!==n;)i.push(a),a=q,o=Q(),e.charCodeAt(q)===44?(s=`,`,q++):(s=n,J===0&&X(ce)),s===n?(q=a,a=n):(c=Q(),l=Z(),l===n?(q=a,a=n):(o=[o,s,c,l],a=o));t=Bn(r,i)}else q=t,t=n;return t}function Si(){let e;return e=Mr(),e===n&&(e=jr(),e===n&&(e=ki(),e===n&&(e=Ni(),e===n&&(e=Pi(),e===n&&(e=wi(),e===n&&(e=Ci())))))),e}function Ci(){let t,r,i,a;return t=q,e.charCodeAt(q)===40?(r=`(`,q++):(r=n,J===0&&X(B)),r===n?(q=t,t=n):(Q(),i=Z(),i===n?(q=t,t=n):(Q(),e.charCodeAt(q)===41?(a=`)`,q++):(a=n,J===0&&X(V)),a===n?(q=t,t=n):t=Vn(i))),t}function wi(){let e;return e=Ti(),e===n&&(e=Ei(),e===n&&(e=Di())),e}function Ti(){let t,r,i,a,o,s,c;if(t=q,e.charCodeAt(q)===37?(r=`%`,q++):(r=n,J===0&&X(st)),r!==n){if(i=q,a=q,o=e.charAt(q),E.test(o)?q++:(o=n,J===0&&X(ct)),o!==n){for(s=[],c=e.charAt(q),D.test(c)?q++:(c=n,J===0&&X(K));c!==n;)s.push(c),c=e.charAt(q),D.test(c)?q++:(c=n,J===0&&X(K));o=[o,s],a=o}else q=a,a=n;i=a===n?a:e.substring(i,q),i===n?(q=t,t=n):t=Hn(i)}else q=t,t=n;return t}function Ei(){let t,r,i,a,o,s,c,l,u,d,f,p,m;if(t=q,e.charCodeAt(q)===36?(r=`$`,q++):(r=n,J===0&&X(lt)),r!==n){if(i=q,a=q,e.substr(q,2)===`::`?(o=`::`,q+=2):(o=n,J===0&&X(H)),o===n&&(o=null),s=e.charAt(q),E.test(s)?q++:(s=n,J===0&&X(ct)),s!==n){for(c=[],l=e.charAt(q),D.test(l)?q++:(l=n,J===0&&X(K));l!==n;)c.push(l),l=e.charAt(q),D.test(l)?q++:(l=n,J===0&&X(K));if(l=[],u=q,e.substr(q,2)===`::`?(d=`::`,q+=2):(d=n,J===0&&X(H)),d!==n)if(f=e.charAt(q),E.test(f)?q++:(f=n,J===0&&X(ct)),f!==n){for(p=[],m=e.charAt(q),D.test(m)?q++:(m=n,J===0&&X(K));m!==n;)p.push(m),m=e.charAt(q),D.test(m)?q++:(m=n,J===0&&X(K));d=[d,f,p],u=d}else q=u,u=n;else q=u,u=n;for(;u!==n;)if(l.push(u),u=q,e.substr(q,2)===`::`?(d=`::`,q+=2):(d=n,J===0&&X(H)),d!==n)if(f=e.charAt(q),E.test(f)?q++:(f=n,J===0&&X(ct)),f!==n){for(p=[],m=e.charAt(q),D.test(m)?q++:(m=n,J===0&&X(K));m!==n;)p.push(m),m=e.charAt(q),D.test(m)?q++:(m=n,J===0&&X(K));d=[d,f,p],u=d}else q=u,u=n;else q=u,u=n;o=[o,s,c,l],a=o}else q=a,a=n;i=a===n?a:e.substring(i,q),i===n?(q=t,t=n):t=Un(i)}else q=t,t=n;return t}function Di(){let t,r,i,a,o,s,c,l,u,d,f;if(t=q,r=q,i=q,e.substr(q,6)===x?(a=x,q+=6):(a=n,J===0&&X(ut)),a!==n){for(o=[],s=e.charAt(q),oe.test(s)?q++:(s=n,J===0&&X(dt));s!==n;)o.push(s),s=e.charAt(q),oe.test(s)?q++:(s=n,J===0&&X(dt));if(e.substr(q,2)===`::`?(s=`::`,q+=2):(s=n,J===0&&X(H)),s!==n){for(c=[],l=e.charAt(q),oe.test(l)?q++:(l=n,J===0&&X(dt));l!==n;)c.push(l),l=e.charAt(q),oe.test(l)?q++:(l=n,J===0&&X(dt));if(l=e.charAt(q),E.test(l)?q++:(l=n,J===0&&X(ct)),l!==n){for(u=[],d=e.charAt(q),D.test(d)?q++:(d=n,J===0&&X(K));d!==n;)u.push(d),d=e.charAt(q),D.test(d)?q++:(d=n,J===0&&X(K));a=[a,o,s,c,l,u],i=a}else q=i,i=n}else q=i,i=n}else q=i,i=n;if(r=i===n?i:e.substring(r,q),r!==n&&(r=Wn(r)),t=r,t===n){if(t=q,r=q,i=q,e.substr(q,6)===x?(a=x,q+=6):(a=n,J===0&&X(ut)),a!==n){if(o=[],s=q,e.substr(q,2)===`::`?(c=`::`,q+=2):(c=n,J===0&&X(H)),c!==n)if(l=e.charAt(q),E.test(l)?q++:(l=n,J===0&&X(ct)),l!==n){for(u=[],d=e.charAt(q),D.test(d)?q++:(d=n,J===0&&X(K));d!==n;)u.push(d),d=e.charAt(q),D.test(d)?q++:(d=n,J===0&&X(K));c=[c,l,u],s=c}else q=s,s=n;else q=s,s=n;if(s!==n)for(;s!==n;)if(o.push(s),s=q,e.substr(q,2)===`::`?(c=`::`,q+=2):(c=n,J===0&&X(H)),c!==n)if(l=e.charAt(q),E.test(l)?q++:(l=n,J===0&&X(ct)),l!==n){for(u=[],d=e.charAt(q),D.test(d)?q++:(d=n,J===0&&X(K));d!==n;)u.push(d),d=e.charAt(q),D.test(d)?q++:(d=n,J===0&&X(K));c=[c,l,u],s=c}else q=s,s=n;else q=s,s=n;else o=n;o===n?(q=i,i=n):(a=[a,o],i=a)}else q=i,i=n;if(r=i===n?i:e.substring(r,q),r!==n&&(r=Gn(r)),t=r,t===n){if(t=q,r=q,i=q,a=e.charAt(q),E.test(a)?q++:(a=n,J===0&&X(ct)),a!==n){for(o=[],s=e.charAt(q),D.test(s)?q++:(s=n,J===0&&X(K));s!==n;)o.push(s),s=e.charAt(q),D.test(s)?q++:(s=n,J===0&&X(K));if(s=[],c=q,e.substr(q,2)===`::`?(l=`::`,q+=2):(l=n,J===0&&X(H)),l!==n)if(u=e.charAt(q),E.test(u)?q++:(u=n,J===0&&X(ct)),u!==n){for(d=[],f=e.charAt(q),D.test(f)?q++:(f=n,J===0&&X(K));f!==n;)d.push(f),f=e.charAt(q),D.test(f)?q++:(f=n,J===0&&X(K));l=[l,u,d],c=l}else q=c,c=n;else q=c,c=n;for(;c!==n;)if(s.push(c),c=q,e.substr(q,2)===`::`?(l=`::`,q+=2):(l=n,J===0&&X(H)),l!==n)if(u=e.charAt(q),E.test(u)?q++:(u=n,J===0&&X(ct)),u!==n){for(d=[],f=e.charAt(q),D.test(f)?q++:(f=n,J===0&&X(K));f!==n;)d.push(f),f=e.charAt(q),D.test(f)?q++:(f=n,J===0&&X(K));l=[l,u,d],c=l}else q=c,c=n;else q=c,c=n;a=[a,o,s],i=a}else q=i,i=n;r=i===n?i:e.substring(r,q),r!==n&&(r=Kn(r)),t=r}}return t}function Oi(){let e;return e=Ti(),e===n&&(e=Ei(),e===n&&(e=Di())),e}function ki(){let t,r,i,a;if(t=q,e.charCodeAt(q)===34?(r=`"`,q++):(r=n,J===0&&X(ft)),r!==n){for(i=[],a=Ai();a!==n;)i.push(a),a=Ai();e.charCodeAt(q)===34?(a=`"`,q++):(a=n,J===0&&X(ft)),a===n?(q=t,t=n):t=qn(i)}else q=t,t=n;if(t===n)if(t=q,e.charCodeAt(q)===39?(r=`'`,q++):(r=n,J===0&&X(pt)),r!==n){for(i=[],a=ji();a!==n;)i.push(a),a=ji();e.charCodeAt(q)===39?(a=`'`,q++):(a=n,J===0&&X(pt)),a===n?(q=t,t=n):t=Jn(i)}else q=t,t=n;return t}function Ai(){let t,r,i;return t=q,e.charCodeAt(q)===92?(r=`\\`,q++):(r=n,J===0&&X(mt)),r===n?(q=t,t=n):(i=Mi(),i===n?(q=t,t=n):t=Yn(i)),t===n&&(t=e.charAt(q),se.test(t)?q++:(t=n,J===0&&X(ht))),t}function ji(){let t,r,i;return t=q,e.charCodeAt(q)===92?(r=`\\`,q++):(r=n,J===0&&X(mt)),r===n?(q=t,t=n):(i=Mi(),i===n?(q=t,t=n):t=Xn(i)),t===n&&(t=e.charAt(q),O.test(t)?q++:(t=n,J===0&&X(gt))),t}function Mi(){let t,r,i,a,o,s;return t=q,e.charCodeAt(q)===110?(r=`n`,q++):(r=n,J===0&&X(_t)),r!==n&&(r=Zn()),t=r,t===n&&(t=q,e.charCodeAt(q)===114?(r=`r`,q++):(r=n,J===0&&X(vt)),r!==n&&(r=Qn()),t=r,t===n&&(t=q,e.charCodeAt(q)===116?(r=`t`,q++):(r=n,J===0&&X(yt)),r!==n&&(r=$n()),t=r,t===n&&(t=q,e.charCodeAt(q)===120?(r=`x`,q++):(r=n,J===0&&X(bt)),r===n?(q=t,t=n):(i=q,a=q,o=e.charAt(q),k.test(o)?q++:(o=n,J===0&&X(xt)),o===n?(q=a,a=n):(s=e.charAt(q),k.test(s)?q++:(s=n,J===0&&X(xt)),s===n?(q=a,a=n):(o=[o,s],a=o)),i=a===n?a:e.substring(i,q),i===n?(q=t,t=n):t=er(i)),t===n&&(t=q,e.substr(q,2)===`cr`?(r=`cr`,q+=2):(r=n,J===0&&X(St)),r!==n&&(r=tr()),t=r,t===n&&(t=q,e.substr(q,2)===`cp`?(r=`cp`,q+=2):(r=n,J===0&&X(Ct)),r!==n&&(r=nr()),t=r,t===n&&(t=q,e.substr(q,2)===`co`?(r=`co`,q+=2):(r=n,J===0&&X(wt)),r!==n&&(r=rr()),t=r,t===n&&(t=q,e.charCodeAt(q)===99?(r=`c`,q++):(r=n,J===0&&X(Tt)),r===n?(q=t,t=n):(i=e.charAt(q),A.test(i)?q++:(i=n,J===0&&X(Et)),i===n?(q=t,t=n):t=ir(i)),t===n&&(t=q,e.length>q?(r=e.charAt(q),q++):(r=n,J===0&&X(Dt)),r!==n&&(r=ar(r)),t=r)))))))),t}function Ni(){let t,r,i,a,o,s,c,l,u;if(t=q,r=q,i=q,e.charCodeAt(q)===48?(a=`0`,q++):(a=n,J===0&&X(Ot)),a!==n)if(o=e.charAt(q),j.test(o)?q++:(o=n,J===0&&X(kt)),o!==n){if(s=[],c=e.charAt(q),k.test(c)?q++:(c=n,J===0&&X(xt)),c!==n)for(;c!==n;)s.push(c),c=e.charAt(q),k.test(c)?q++:(c=n,J===0&&X(xt));else s=n;s===n?(q=i,i=n):(a=[a,o,s],i=a)}else q=i,i=n;else q=i,i=n;if(r=i===n?i:e.substring(r,q),r===n?(q=t,t=n):(i=q,J++,a=Vi(),J--,a===n?i=void 0:(q=i,i=n),i===n?(q=t,t=n):t=or(r)),t===n){if(t=q,r=q,i=q,e.charCodeAt(q)===45?(a=`-`,q++):(a=n,J===0&&X(At)),a===n&&(a=null),o=[],s=e.charAt(q),A.test(s)?q++:(s=n,J===0&&X(Et)),s!==n)for(;s!==n;)o.push(s),s=e.charAt(q),A.test(s)?q++:(s=n,J===0&&X(Et));else o=n;if(o!==n){if(s=q,e.charCodeAt(q)===46?(c=`.`,q++):(c=n,J===0&&X(pe)),c!==n){if(l=[],u=e.charAt(q),A.test(u)?q++:(u=n,J===0&&X(Et)),u!==n)for(;u!==n;)l.push(u),u=e.charAt(q),A.test(u)?q++:(u=n,J===0&&X(Et));else l=n;l===n?(q=s,s=n):(c=[c,l],s=c)}else q=s,s=n;s===n&&(s=null),a=[a,o,s],i=a}else q=i,i=n;if(i===n)if(i=q,e.charCodeAt(q)===45?(a=`-`,q++):(a=n,J===0&&X(At)),a===n&&(a=null),e.charCodeAt(q)===46?(o=`.`,q++):(o=n,J===0&&X(pe)),o!==n){if(s=[],c=e.charAt(q),A.test(c)?q++:(c=n,J===0&&X(Et)),c!==n)for(;c!==n;)s.push(c),c=e.charAt(q),A.test(c)?q++:(c=n,J===0&&X(Et));else s=n;s===n?(q=i,i=n):(a=[a,o,s],i=a)}else q=i,i=n;r=i===n?i:e.substring(r,q),r===n?(q=t,t=n):(i=q,J++,a=Vi(),J--,a===n?i=void 0:(q=i,i=n),i===n?(q=t,t=n):t=sr(r))}return t}function Pi(){let t,r,i,a;return t=q,e.substr(q,4)===S?(r=S,q+=4):(r=n,J===0&&X(jt)),r===n&&(e.substr(q,5)===C?(r=C,q+=5):(r=n,J===0&&X(Mt))),r===n?(q=t,t=n):(i=q,J++,a=Vi(),J--,a===n?i=void 0:(q=i,i=n),i===n?(q=t,t=n):t=cr(r)),t}function Fi(){let e;return e=Ii(),e===n&&(e=Li()),e}function Ii(){let t,r,i,a,o;if(t=q,e.substr(q,2)===`//`?(r=`//`,q+=2):(r=n,J===0&&X(Nt)),r!==n){for(i=q,a=[],o=e.charAt(q),M.test(o)?q++:(o=n,J===0&&X(Pt));o!==n;)a.push(o),o=e.charAt(q),M.test(o)?q++:(o=n,J===0&&X(Pt));i=e.substring(i,q),a=e.charAt(q),N.test(a)?q++:(a=n,J===0&&X(Ft)),a===n&&(a=null),t=lr(i)}else q=t,t=n;return t}function Li(){let t,r,i,a,o,s,c;if(t=q,e.substr(q,2)===`/*`?(r=`/*`,q+=2):(r=n,J===0&&X(It)),r!==n){for(i=q,a=[],o=q,s=q,J++,e.substr(q,2)===`*/`?(c=`*/`,q+=2):(c=n,J===0&&X(Lt)),J--,c===n?s=void 0:(q=s,s=n),s===n?(q=o,o=n):(e.length>q?(c=e.charAt(q),q++):(c=n,J===0&&X(Dt)),c===n?(q=o,o=n):(s=[s,c],o=s));o!==n;)a.push(o),o=q,s=q,J++,e.substr(q,2)===`*/`?(c=`*/`,q+=2):(c=n,J===0&&X(Lt)),J--,c===n?s=void 0:(q=s,s=n),s===n?(q=o,o=n):(e.length>q?(c=e.charAt(q),q++):(c=n,J===0&&X(Dt)),c===n?(q=o,o=n):(s=[s,c],o=s));i=e.substring(i,q),e.substr(q,2)===`*/`?(a=`*/`,q+=2):(a=n,J===0&&X(Lt)),a===n?(q=t,t=n):t=ur(i)}else q=t,t=n;return t}function Ri(){let t,r,i;if(t=q,r=[],i=e.charAt(q),P.test(i)?q++:(i=n,J===0&&X(Rt)),i!==n)for(;i!==n;)r.push(i),i=e.charAt(q),P.test(i)?q++:(i=n,J===0&&X(Rt));else r=n;return r!==n&&(r=dr()),t=r,t}function Q(){let t,r;for(t=[],r=e.charAt(q),P.test(r)?q++:(r=n,J===0&&X(Rt)),r===n&&(r=Bi());r!==n;)t.push(r),r=e.charAt(q),P.test(r)?q++:(r=n,J===0&&X(Rt)),r===n&&(r=Bi());return t}function zi(){let t,r,i,a;if(t=q,r=[],i=e.charAt(q),P.test(i)?q++:(i=n,J===0&&X(Rt)),i!==n)for(;i!==n;)r.push(i),i=e.charAt(q),P.test(i)?q++:(i=n,J===0&&X(Rt));else r=n;if(r!==n){for(i=[],a=e.charAt(q),P.test(a)?q++:(a=n,J===0&&X(Rt)),a===n&&(a=Bi());a!==n;)i.push(a),a=e.charAt(q),P.test(a)?q++:(a=n,J===0&&X(Rt)),a===n&&(a=Bi());r=[r,i],t=r}else q=t,t=n;return t}function $(){let t,r;for(t=[],r=e.charAt(q),P.test(r)?q++:(r=n,J===0&&X(Rt));r!==n;)t.push(r),r=e.charAt(q),P.test(r)?q++:(r=n,J===0&&X(Rt));return t}function Bi(){let t,r,i,a,o,s;if(t=q,e.substr(q,2)===`//`?(r=`//`,q+=2):(r=n,J===0&&X(Nt)),r!==n){for(i=[],a=e.charAt(q),M.test(a)?q++:(a=n,J===0&&X(Pt));a!==n;)i.push(a),a=e.charAt(q),M.test(a)?q++:(a=n,J===0&&X(Pt));a=e.charAt(q),N.test(a)?q++:(a=n,J===0&&X(Ft)),a===n&&(a=null),r=[r,i,a],t=r}else q=t,t=n;if(t===n)if(t=q,e.substr(q,2)===`/*`?(r=`/*`,q+=2):(r=n,J===0&&X(It)),r!==n){for(i=[],a=q,o=q,J++,e.substr(q,2)===`*/`?(s=`*/`,q+=2):(s=n,J===0&&X(Lt)),J--,s===n?o=void 0:(q=o,o=n),o===n?(q=a,a=n):(e.length>q?(s=e.charAt(q),q++):(s=n,J===0&&X(Dt)),s===n?(q=a,a=n):(o=[o,s],a=o));a!==n;)i.push(a),a=q,o=q,J++,e.substr(q,2)===`*/`?(s=`*/`,q+=2):(s=n,J===0&&X(Lt)),J--,s===n?o=void 0:(q=o,o=n),o===n?(q=a,a=n):(e.length>q?(s=e.charAt(q),q++):(s=n,J===0&&X(Dt)),s===n?(q=a,a=n):(o=[o,s],a=o));e.substr(q,2)===`*/`?(a=`*/`,q+=2):(a=n,J===0&&X(Lt)),a===n?(q=t,t=n):(r=[r,i,a],t=r)}else q=t,t=n;return t}function Vi(){let t;return t=e.charAt(q),D.test(t)?q++:(t=n,J===0&&X(K)),t}s=new Set,c=!1,hr=a();let Hi=hr!==n&&q===e.length;function Ui(){throw hr!==n&&q{var n=`\\\\/`,r=`[^${n}]`,i=0,a=`\\.`,o=`\\+`,s=`\\?`,c=`\\/`,l=`(?=.)`,u=`[^/]`,d=`(?:${c}|$)`,f=`(?:^|${c})`,p=`${a}{1,2}${d}`,m={DOT_LITERAL:a,PLUS_LITERAL:o,QMARK_LITERAL:s,SLASH_LITERAL:c,ONE_CHAR:l,QMARK:u,END_ANCHOR:d,DOTS_SLASH:p,NO_DOT:`(?!${a})`,NO_DOTS:`(?!${f}${p})`,NO_DOT_SLASH:`(?!${a}{0,1}${d})`,NO_DOTS_SLASH:`(?!${p})`,QMARK_NO_DOT:`[^.${c}]`,STAR:`${u}*?`,START_ANCHOR:f,SEP:`/`},h={...m,SLASH_LITERAL:`[${n}]`,QMARK:r,STAR:`${r}*?`,DOTS_SLASH:`${a}{1,2}(?:[${n}]|$)`,NO_DOT:`(?!${a})`,NO_DOTS:`(?!(?:^|[${n}])${a}{1,2}(?:[${n}]|$))`,NO_DOT_SLASH:`(?!${a}{0,1}(?:[${n}]|$))`,NO_DOTS_SLASH:`(?!${a}{1,2}(?:[${n}]|$))`,QMARK_NO_DOT:`[^.${n}]`,START_ANCHOR:`(?:^|[${n}])`,END_ANCHOR:`(?:[${n}]|$)`,SEP:`\\`};t.exports={DEFAULT_MAX_EXTGLOB_RECURSION:i,MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:{__proto__:null,alnum:`a-zA-Z0-9`,alpha:`a-zA-Z`,ascii:`\\x00-\\x7F`,blank:` \\t`,cntrl:`\\x00-\\x1F\\x7F`,digit:`0-9`,graph:`\\x21-\\x7E`,lower:`a-z`,print:`\\x20-\\x7E `,punct:`\\-!"#$%&'()\\*+,./:;<=>?@[\\]^_\`{|}~`,space:` \\t\\r\\n\\v\\f`,upper:`A-Z`,word:`A-Za-z0-9_`,xdigit:`A-Fa-f0-9`},REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{__proto__:null,"***":`*`,"**/**":`**`,"**/**/**":`**`},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,extglobChars(e){return{"!":{type:`negate`,open:`(?:(?!(?:`,close:`))${e.STAR})`},"?":{type:`qmark`,open:`(?:`,close:`)?`},"+":{type:`plus`,open:`(?:`,close:`)+`},"*":{type:`star`,open:`(?:`,close:`)*`},"@":{type:`at`,open:`(?:`,close:`)`}}},globChars(e){return e===!0?h:m}}})),_=t((e=>{var{REGEX_BACKSLASH:t,REGEX_REMOVE_BACKSLASH:n,REGEX_SPECIAL_CHARS:r,REGEX_SPECIAL_CHARS_GLOBAL:i}=g();e.isObject=e=>typeof e==`object`&&!!e&&!Array.isArray(e),e.hasRegexChars=e=>r.test(e),e.isRegexChar=t=>t.length===1&&e.hasRegexChars(t),e.escapeRegex=e=>e.replace(i,`\\$1`),e.toPosixSlashes=e=>e.replace(t,`/`),e.isWindows=()=>{if(typeof navigator<`u`&&navigator.platform){let e=navigator.platform.toLowerCase();return e===`win32`||e===`windows`}return typeof process<`u`&&process.platform?process.platform===`win32`:!1},e.removeBackslashes=e=>e.replace(n,e=>e===`\\`?``:e),e.escapeLast=(t,n,r)=>{let i=t.lastIndexOf(n,r);return i===-1?t:t[i-1]===`\\`?e.escapeLast(t,n,i-1):`${t.slice(0,i)}\\${t.slice(i)}`},e.removePrefix=(e,t={})=>{let n=e;return n.startsWith(`./`)&&(n=n.slice(2),t.prefix=`./`),n},e.wrapOutput=(e,t={},n={})=>{let r=`${n.contains?``:`^`}(?:${e})${n.contains?``:`$`}`;return t.negated===!0&&(r=`(?:^(?!${r}).*$)`),r},e.basename=(e,{windows:t}={})=>{let n=e.split(t?/[\\/]/:`/`),r=n[n.length-1];return r===``?n[n.length-2]:r}})),v=t(((e,t)=>{var n=_(),{CHAR_ASTERISK:r,CHAR_AT:i,CHAR_BACKWARD_SLASH:a,CHAR_COMMA:o,CHAR_DOT:s,CHAR_EXCLAMATION_MARK:c,CHAR_FORWARD_SLASH:l,CHAR_LEFT_CURLY_BRACE:u,CHAR_LEFT_PARENTHESES:d,CHAR_LEFT_SQUARE_BRACKET:f,CHAR_PLUS:p,CHAR_QUESTION_MARK:m,CHAR_RIGHT_CURLY_BRACE:h,CHAR_RIGHT_PARENTHESES:v,CHAR_RIGHT_SQUARE_BRACKET:ee}=g(),te=e=>e===l||e===a,ne=e=>{e.isPrefix!==!0&&(e.depth=e.isGlobstar?1/0:1)};t.exports=(e,t)=>{let g=t||{},_=e.length-1,y=g.parts===!0||g.scanToEnd===!0,re=[],b=[],x=[],S=e,C=-1,w=0,T=0,ie=!1,ae=!1,E=!1,D=!1,oe=!1,se=!1,O=!1,k=!1,A=!1,j=!1,M=0,N,P,F={value:``,depth:0,isGlob:!1},I=()=>C>=_,L=()=>S.charCodeAt(C+1),R=()=>(N=P,S.charCodeAt(++C));for(;C<_;){P=R();let e;if(P===a){O=F.backslashes=!0,P=R(),P===u&&(se=!0);continue}if(se===!0||P===u){for(M++;I()!==!0&&(P=R());){if(P===a){O=F.backslashes=!0,R();continue}if(P===u){M++;continue}if(se!==!0&&P===s&&(P=R())===s){if(ie=F.isBrace=!0,E=F.isGlob=!0,j=!0,y===!0)continue;break}if(se!==!0&&P===o){if(ie=F.isBrace=!0,E=F.isGlob=!0,j=!0,y===!0)continue;break}if(P===h&&(M--,M===0)){se=!1,ie=F.isBrace=!0,j=!0;break}}if(y===!0)continue;break}if(P===l){if(re.push(C),b.push(F),F={value:``,depth:0,isGlob:!1},j===!0)continue;if(N===s&&C===w+1){w+=2;continue}T=C+1;continue}if(g.noext!==!0&&(P===p||P===i||P===r||P===m||P===c)&&L()===d){if(E=F.isGlob=!0,D=F.isExtglob=!0,j=!0,P===c&&C===w&&(A=!0),y===!0){for(;I()!==!0&&(P=R());){if(P===a){O=F.backslashes=!0,P=R();continue}if(P===v){E=F.isGlob=!0,j=!0;break}}continue}break}if(P===r){if(N===r&&(oe=F.isGlobstar=!0),E=F.isGlob=!0,j=!0,y===!0)continue;break}if(P===m){if(E=F.isGlob=!0,j=!0,y===!0)continue;break}if(P===f){for(;I()!==!0&&(e=R());){if(e===a){O=F.backslashes=!0,R();continue}if(e===ee){ae=F.isBracket=!0,E=F.isGlob=!0,j=!0;break}}if(y===!0)continue;break}if(g.nonegate!==!0&&P===c&&C===w){k=F.negated=!0,w++;continue}if(g.noparen!==!0&&P===d){if(E=F.isGlob=!0,y===!0){for(;I()!==!0&&(P=R());){if(P===d){O=F.backslashes=!0,P=R();continue}if(P===v){j=!0;break}}continue}break}if(E===!0){if(j=!0,y===!0)continue;break}}g.noext===!0&&(D=!1,E=!1);let z=S,B=``,V=``;w>0&&(B=S.slice(0,w),S=S.slice(w),T-=w),z&&E===!0&&T>0?(z=S.slice(0,T),V=S.slice(T)):E===!0?(z=``,V=S):z=S,z&&z!==``&&z!==`/`&&z!==S&&te(z.charCodeAt(z.length-1))&&(z=z.slice(0,-1)),g.unescape===!0&&(V&&=n.removeBackslashes(V),z&&O===!0&&(z=n.removeBackslashes(z)));let H={prefix:B,input:e,start:w,base:z,glob:V,isBrace:ie,isBracket:ae,isGlob:E,isExtglob:D,isGlobstar:oe,negated:k,negatedExtglob:A};if(g.tokens===!0&&(H.maxDepth=0,te(P)||b.push(F),H.tokens=b),g.parts===!0||g.tokens===!0){let t;for(let n=0;n{var n=g(),r=_(),{MAX_LENGTH:i,POSIX_REGEX_SOURCE:a,REGEX_NON_SPECIAL_CHARS:o,REGEX_SPECIAL_CHARS_BACKREF:s,REPLACEMENTS:c}=n,l=(e,t)=>{if(typeof t.expandRange==`function`)return t.expandRange(...e,t);e.sort();let n=`[${e.join(`-`)}]`;try{new RegExp(n)}catch{return e.map(e=>r.escapeRegex(e)).join(`..`)}return n},u=(e,t)=>`Missing ${e}: "${t}" - use "\\\\${t}" to match literal characters`,d=e=>{let t=[],n=0,r=0,i=0,a=``,o=!1;for(let s of e){if(o===!0){a+=s,o=!1;continue}if(s===`\\`){a+=s,o=!0;continue}if(s===`"`){i=i===1?0:1,a+=s;continue}if(i===0){if(s===`[`)n++;else if(s===`]`&&n>0)n--;else if(n===0){if(s===`(`)r++;else if(s===`)`&&r>0)r--;else if(s===`|`&&r===0){t.push(a),a=``;continue}}}a+=s}return t.push(a),t},f=e=>{let t=!1;for(let n of e){if(t===!0){t=!1;continue}if(n===`\\`){t=!0;continue}if(/[?*+@!()[\]{}]/.test(n))return!1}return!0},p=e=>{let t=e.trim(),n=!0;for(;n===!0;)n=!1,/^@\([^\\()[\]{}|]+\)$/.test(t)&&(t=t.slice(2,-1),n=!0);if(f(t))return t.replace(/\\(.)/g,`$1`)},m=e=>{let t=e.map(p).filter(Boolean);for(let e=0;e{if(e[0]!==`+`&&e[0]!==`*`||e[1]!==`(`)return;let n=0,r=0,i=0,a=!1;for(let o=1;o0){n--;continue}if(!(n>0)){if(s===`(`){r++;continue}if(s===`)`&&(r--,r===0))return t===!0&&o!==e.length-1?void 0:{type:e[0],body:e.slice(2,o),end:o}}}}},v=e=>{let t=0,n=[];for(;te.trim());if(i.length!==1)return;let a=p(i[0]);if(!a||a.length!==1)return;n.push(a),t+=r.end+1}if(!(n.length<1))return`${n.length===1?r.escapeRegex(n[0]):`[${n.map(e=>r.escapeRegex(e)).join(``)}]`}*`},ee=e=>{let t=0,n=e.trim(),r=h(n);for(;r;)t++,n=r.body.trim(),r=h(n);return t},te=(e,t)=>{if(t.maxExtglobRecursion===!1)return{risky:!1};let r=typeof t.maxExtglobRecursion==`number`?t.maxExtglobRecursion:n.DEFAULT_MAX_EXTGLOB_RECURSION,i=d(e).map(e=>e.trim());if(i.length>1&&(i.some(e=>e===``)||i.some(e=>/^[*?]+$/.test(e))||m(i)))return{risky:!0};for(let e of i){let t=v(e);if(t)return{risky:!0,safeOutput:t};if(ee(e)>r)return{risky:!0}}return{risky:!1}},ne=(e,t)=>{if(typeof e!=`string`)throw TypeError(`Expected a string`);e=c[e]||e;let d={...t},f=typeof d.maxLength==`number`?Math.min(i,d.maxLength):i,p=e.length;if(p>f)throw SyntaxError(`Input length: ${p}, exceeds maximum allowed length: ${f}`);let m={type:`bos`,value:``,output:d.prepend||``},h=[m],g=d.capture?``:`?:`,_=n.globChars(d.windows),v=n.extglobChars(_),{DOT_LITERAL:ee,PLUS_LITERAL:y,SLASH_LITERAL:re,ONE_CHAR:b,DOTS_SLASH:x,NO_DOT:S,NO_DOT_SLASH:C,NO_DOTS_SLASH:w,QMARK:T,QMARK_NO_DOT:ie,STAR:ae,START_ANCHOR:E}=_,D=e=>`(${g}(?:(?!${E}${e.dot?x:ee}).)*?)`,oe=d.dot?``:S,se=d.dot?T:ie,O=d.bash===!0?D(d):ae;d.capture&&(O=`(${O})`),typeof d.noext==`boolean`&&(d.noextglob=d.noext);let k={input:e,index:-1,start:0,dot:d.dot===!0,consumed:``,output:``,prefix:``,backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:h};e=r.removePrefix(e,k),p=e.length;let A=[],j=[],M=[],N=m,P,F=()=>k.index===p-1,I=k.peek=(t=1)=>e[k.index+t],L=k.advance=()=>e[++k.index]||``,R=()=>e.slice(k.index+1),z=(e=``,t=0)=>{k.consumed+=e,k.index+=t},B=e=>{k.output+=e.output==null?e.value:e.output,z(e.value)},V=()=>{let e=1;for(;I()===`!`&&(I(2)!==`(`||I(3)===`?`);)L(),k.start++,e++;return e%2==0?!1:(k.negated=!0,k.start++,!0)},H=e=>{k[e]++,M.push(e)},ce=e=>{k[e]--,M.pop()},U=e=>{if(N.type===`globstar`){let t=k.braces>0&&(e.type===`comma`||e.type===`brace`),n=e.extglob===!0||A.length&&(e.type===`pipe`||e.type===`paren`);e.type!==`slash`&&e.type!==`paren`&&!t&&!n&&(k.output=k.output.slice(0,-N.output.length),N.type=`star`,N.value=`*`,N.output=O,k.output+=N.output)}if(A.length&&e.type!==`paren`&&(A[A.length-1].inner+=e.value),(e.value||e.output)&&B(e),N&&N.type===`text`&&e.type===`text`){N.output=(N.output||N.value)+e.value,N.value+=e.value;return}e.prev=N,h.push(e),N=e},le=(e,t)=>{let n={...v[t],conditions:1,inner:``};n.prev=N,n.parens=k.parens,n.output=k.output,n.startIndex=k.index,n.tokensIndex=h.length;let r=(d.capture?`(`:``)+n.open;H(`parens`),U({type:e,value:t,output:k.output?``:b}),U({type:`paren`,extglob:!0,value:L(),output:r}),A.push(n)},ue=n=>{let i=e.slice(n.startIndex,k.index+1),a=te(e.slice(n.startIndex+2,k.index),d);if((n.type===`plus`||n.type===`star`)&&a.risky){let e=a.safeOutput?(n.output?``:b)+(d.capture?`(${a.safeOutput})`:a.safeOutput):void 0,t=h[n.tokensIndex];t.type=`text`,t.value=i,t.output=e||r.escapeRegex(i);for(let e=n.tokensIndex+1;e1&&n.inner.includes(`/`)&&(e=D(d)),(e!==O||F()||/^\)+$/.test(R()))&&(o=n.close=`)$))${e}`),n.inner.includes(`*`)&&(s=R())&&/^\.[^\\/.]+$/.test(s)&&(o=n.close=`)${ne(s,{...t,fastpaths:!1}).output})${e})`),n.prev.type===`bos`&&(k.negatedExtglob=!0)}U({type:`paren`,extglob:!0,value:P,output:o}),ce(`parens`)};if(d.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(e)){let n=!1,i=e.replace(s,(e,t,r,i,a,o)=>i===`\\`?(n=!0,e):i===`?`?t?t+i+(a?T.repeat(a.length):``):o===0?se+(a?T.repeat(a.length):``):T.repeat(r.length):i===`.`?ee.repeat(r.length):i===`*`?t?t+i+(a?O:``):O:t?e:`\\${e}`);return n===!0&&(i=d.unescape===!0?i.replace(/\\/g,``):i.replace(/\\+/g,e=>e.length%2==0?`\\\\`:e?`\\`:``)),i===e&&d.contains===!0?(k.output=e,k):(k.output=r.wrapOutput(i,k,t),k)}for(;!F();){if(P=L(),P===`\0`)continue;if(P===`\\`){let e=I();if(e===`/`&&d.bash!==!0||e===`.`||e===`;`)continue;if(!e){P+=`\\`,U({type:`text`,value:P});continue}let t=/^\\+/.exec(R()),n=0;if(t&&t[0].length>2&&(n=t[0].length,k.index+=n,n%2!=0&&(P+=`\\`)),d.unescape===!0?P=L():P+=L(),k.brackets===0){U({type:`text`,value:P});continue}}if(k.brackets>0&&(P!==`]`||N.value===`[`||N.value===`[^`)){if(d.posix!==!1&&P===`:`){let e=N.value.slice(1);if(e.includes(`[`)&&(N.posix=!0,e.includes(`:`))){let e=N.value.lastIndexOf(`[`),t=N.value.slice(0,e),n=a[N.value.slice(e+2)];if(n){N.value=t+n,k.backtrack=!0,L(),!m.output&&h.indexOf(N)===1&&(m.output=b);continue}}}(P===`[`&&I()!==`:`||P===`-`&&I()===`]`)&&(P=`\\${P}`),P===`]`&&(N.value===`[`||N.value===`[^`)&&(P=`\\${P}`),d.posix===!0&&P===`!`&&N.value===`[`&&(P=`^`),N.value+=P,B({value:P});continue}if(k.quotes===1&&P!==`"`){P=r.escapeRegex(P),N.value+=P,B({value:P});continue}if(P===`"`){k.quotes=k.quotes===1?0:1,d.keepQuotes===!0&&U({type:`text`,value:P});continue}if(P===`(`){H(`parens`),U({type:`paren`,value:P});continue}if(P===`)`){if(k.parens===0&&d.strictBrackets===!0)throw SyntaxError(u(`opening`,`(`));let e=A[A.length-1];if(e&&k.parens===e.parens+1){ue(A.pop());continue}U({type:`paren`,value:P,output:k.parens?`)`:`\\)`}),ce(`parens`);continue}if(P===`[`){if(d.nobracket===!0||!R().includes(`]`)){if(d.nobracket!==!0&&d.strictBrackets===!0)throw SyntaxError(u(`closing`,`]`));P=`\\${P}`}else H(`brackets`);U({type:`bracket`,value:P});continue}if(P===`]`){if(d.nobracket===!0||N&&N.type===`bracket`&&N.value.length===1){U({type:`text`,value:P,output:`\\${P}`});continue}if(k.brackets===0){if(d.strictBrackets===!0)throw SyntaxError(u(`opening`,`[`));U({type:`text`,value:P,output:`\\${P}`});continue}ce(`brackets`);let e=N.value.slice(1);if(N.posix!==!0&&e[0]===`^`&&!e.includes(`/`)&&(P=`/${P}`),N.value+=P,B({value:P}),d.literalBrackets===!1||r.hasRegexChars(e))continue;let t=r.escapeRegex(N.value);if(k.output=k.output.slice(0,-N.value.length),d.literalBrackets===!0){k.output+=t,N.value=t;continue}N.value=`(${g}${t}|${N.value})`,k.output+=N.value;continue}if(P===`{`&&d.nobrace!==!0){H(`braces`);let e={type:`brace`,value:P,output:`(`,outputIndex:k.output.length,tokensIndex:k.tokens.length};j.push(e),U(e);continue}if(P===`}`){let e=j[j.length-1];if(d.nobrace===!0||!e){U({type:`text`,value:P,output:P});continue}let t=`)`;if(e.dots===!0){let e=h.slice(),n=[];for(let t=e.length-1;t>=0&&(h.pop(),e[t].type!==`brace`);t--)e[t].type!==`dots`&&n.unshift(e[t].value);t=l(n,d),k.backtrack=!0}if(e.comma!==!0&&e.dots!==!0){let n=k.output.slice(0,e.outputIndex),r=k.tokens.slice(e.tokensIndex);e.value=e.output=`\\{`,P=t=`\\}`,k.output=n;for(let e of r)k.output+=e.output||e.value}U({type:`brace`,value:P,output:t}),ce(`braces`),j.pop();continue}if(P===`|`){A.length>0&&A[A.length-1].conditions++,U({type:`text`,value:P});continue}if(P===`,`){let e=P,t=j[j.length-1];t&&M[M.length-1]===`braces`&&(t.comma=!0,e=`|`),U({type:`comma`,value:P,output:e});continue}if(P===`/`){if(N.type===`dot`&&k.index===k.start+1){k.start=k.index+1,k.consumed=``,k.output=``,h.pop(),N=m;continue}U({type:`slash`,value:P,output:re});continue}if(P===`.`){if(k.braces>0&&N.type===`dot`){N.value===`.`&&(N.output=ee);let e=j[j.length-1];N.type=`dots`,N.output+=P,N.value+=P,e.dots=!0;continue}if(k.braces+k.parens===0&&N.type!==`bos`&&N.type!==`slash`){U({type:`text`,value:P,output:ee});continue}U({type:`dot`,value:P,output:ee});continue}if(P===`?`){if(!(N&&N.value===`(`)&&d.noextglob!==!0&&I()===`(`&&I(2)!==`?`){le(`qmark`,P);continue}if(N&&N.type===`paren`){let e=I(),t=P;(N.value===`(`&&!/[!=<:]/.test(e)||e===`<`&&!/<([!=]|\w+>)/.test(R()))&&(t=`\\${P}`),U({type:`text`,value:P,output:t});continue}if(d.dot!==!0&&(N.type===`slash`||N.type===`bos`)){U({type:`qmark`,value:P,output:ie});continue}U({type:`qmark`,value:P,output:T});continue}if(P===`!`){if(d.noextglob!==!0&&I()===`(`&&(I(2)!==`?`||!/[!=<:]/.test(I(3)))){le(`negate`,P);continue}if(d.nonegate!==!0&&k.index===0){V();continue}}if(P===`+`){if(d.noextglob!==!0&&I()===`(`&&I(2)!==`?`){le(`plus`,P);continue}if(N&&N.value===`(`||d.regex===!1){U({type:`plus`,value:P,output:y});continue}if(N&&(N.type===`bracket`||N.type===`paren`||N.type===`brace`)||k.parens>0){U({type:`plus`,value:P});continue}U({type:`plus`,value:y});continue}if(P===`@`){if(d.noextglob!==!0&&I()===`(`&&I(2)!==`?`){U({type:`at`,extglob:!0,value:P,output:``});continue}U({type:`text`,value:P});continue}if(P!==`*`){(P===`$`||P===`^`)&&(P=`\\${P}`);let e=o.exec(R());e&&(P+=e[0],k.index+=e[0].length),U({type:`text`,value:P});continue}if(N&&(N.type===`globstar`||N.star===!0)){N.type=`star`,N.star=!0,N.value+=P,N.output=O,k.backtrack=!0,k.globstar=!0,z(P);continue}let t=R();if(d.noextglob!==!0&&/^\([^?]/.test(t)){le(`star`,P);continue}if(N.type===`star`){if(d.noglobstar===!0){z(P);continue}let n=N.prev,r=n.prev,i=n.type===`slash`||n.type===`bos`,a=r&&(r.type===`star`||r.type===`globstar`);if(d.bash===!0&&(!i||t[0]&&t[0]!==`/`)){U({type:`star`,value:P,output:``});continue}let o=k.braces>0&&(n.type===`comma`||n.type===`brace`),s=A.length&&(n.type===`pipe`||n.type===`paren`);if(!i&&n.type!==`paren`&&!o&&!s){U({type:`star`,value:P,output:``});continue}for(;t.slice(0,3)===`/**`;){let n=e[k.index+4];if(n&&n!==`/`)break;t=t.slice(3),z(`/**`,3)}if(n.type===`bos`&&F()){N.type=`globstar`,N.value+=P,N.output=D(d),k.output=N.output,k.globstar=!0,z(P);continue}if(n.type===`slash`&&n.prev.type!==`bos`&&!a&&F()){k.output=k.output.slice(0,-(n.output+N.output).length),n.output=`(?:${n.output}`,N.type=`globstar`,N.output=D(d)+(d.strictSlashes?`)`:`|$)`),N.value+=P,k.globstar=!0,k.output+=n.output+N.output,z(P);continue}if(n.type===`slash`&&n.prev.type!==`bos`&&t[0]===`/`){let e=t[1]===void 0?``:`|$`;k.output=k.output.slice(0,-(n.output+N.output).length),n.output=`(?:${n.output}`,N.type=`globstar`,N.output=`${D(d)}${re}|${re}${e})`,N.value+=P,k.output+=n.output+N.output,k.globstar=!0,z(P+L()),U({type:`slash`,value:`/`,output:``});continue}if(n.type===`bos`&&t[0]===`/`){N.type=`globstar`,N.value+=P,N.output=`(?:^|${re}|${D(d)}${re})`,k.output=N.output,k.globstar=!0,z(P+L()),U({type:`slash`,value:`/`,output:``});continue}k.output=k.output.slice(0,-N.output.length),N.type=`globstar`,N.output=D(d),N.value+=P,k.output+=N.output,k.globstar=!0,z(P);continue}let n={type:`star`,value:P,output:O};if(d.bash===!0){n.output=`.*?`,(N.type===`bos`||N.type===`slash`)&&(n.output=oe+n.output),U(n);continue}if(N&&(N.type===`bracket`||N.type===`paren`)&&d.regex===!0){n.output=P,U(n);continue}(k.index===k.start||N.type===`slash`||N.type===`dot`)&&(N.type===`dot`?(k.output+=C,N.output+=C):d.dot===!0?(k.output+=w,N.output+=w):(k.output+=oe,N.output+=oe),I()!==`*`&&(k.output+=b,N.output+=b)),U(n)}for(;k.brackets>0;){if(d.strictBrackets===!0)throw SyntaxError(u(`closing`,`]`));k.output=r.escapeLast(k.output,`[`),ce(`brackets`)}for(;k.parens>0;){if(d.strictBrackets===!0)throw SyntaxError(u(`closing`,`)`));k.output=r.escapeLast(k.output,`(`),ce(`parens`)}for(;k.braces>0;){if(d.strictBrackets===!0)throw SyntaxError(u(`closing`,`}`));k.output=r.escapeLast(k.output,`{`),ce(`braces`)}if(d.strictSlashes!==!0&&(N.type===`star`||N.type===`bracket`)&&U({type:`maybe_slash`,value:``,output:`${re}?`}),k.backtrack===!0){k.output=``;for(let e of k.tokens)k.output+=e.output==null?e.value:e.output,e.suffix&&(k.output+=e.suffix)}return k};ne.fastpaths=(e,t)=>{let a={...t},o=typeof a.maxLength==`number`?Math.min(i,a.maxLength):i,s=e.length;if(s>o)throw SyntaxError(`Input length: ${s}, exceeds maximum allowed length: ${o}`);e=c[e]||e;let{DOT_LITERAL:l,SLASH_LITERAL:u,ONE_CHAR:d,DOTS_SLASH:f,NO_DOT:p,NO_DOTS:m,NO_DOTS_SLASH:h,STAR:g,START_ANCHOR:_}=n.globChars(a.windows),v=a.dot?m:p,ee=a.dot?h:p,te=a.capture?``:`?:`,ne={negated:!1,prefix:``},y=a.bash===!0?`.*?`:g;a.capture&&(y=`(${y})`);let re=e=>e.noglobstar===!0?y:`(${te}(?:(?!${_}${e.dot?f:l}).)*?)`,b=e=>{switch(e){case`*`:return`${v}${d}${y}`;case`.*`:return`${l}${d}${y}`;case`*.*`:return`${v}${y}${l}${d}${y}`;case`*/*`:return`${v}${y}${u}${d}${ee}${y}`;case`**`:return v+re(a);case`**/*`:return`(?:${v}${re(a)}${u})?${ee}${d}${y}`;case`**/*.*`:return`(?:${v}${re(a)}${u})?${ee}${y}${l}${d}${y}`;case`**/.*`:return`(?:${v}${re(a)}${u})?${l}${d}${y}`;default:{let t=/^(.*?)\.(\w+)$/.exec(e);if(!t)return;let n=b(t[1]);return n?n+l+t[2]:void 0}}},x=b(r.removePrefix(e,ne));return x&&a.strictSlashes!==!0&&(x+=`${u}?`),x},t.exports=ne})),te=t(((e,t)=>{var n=v(),r=ee(),i=_(),a=g(),o=e=>e&&typeof e==`object`&&!Array.isArray(e),s=(e,t,n=!1)=>{if(Array.isArray(e)){let r=e.map(e=>s(e,t,n));return e=>{for(let t of r){let n=t(e);if(n)return n}return!1}}let r=o(e)&&e.tokens&&e.input;if(e===``||typeof e!=`string`&&!r)throw TypeError(`Expected pattern to be a non-empty string`);let i=t||{},a=i.windows,c=r?s.compileRe(e,t):s.makeRe(e,t,!1,!0),l=c.state;delete c.state;let u=()=>!1;if(i.ignore){let e={...t,ignore:null,onMatch:null,onResult:null};u=s(i.ignore,e,n)}let d=(n,r=!1)=>{let{isMatch:o,match:d,output:f}=s.test(n,c,t,{glob:e,posix:a}),p={glob:e,state:l,regex:c,posix:a,input:n,output:f,match:d,isMatch:o};return typeof i.onResult==`function`&&i.onResult(p),o===!1?(p.isMatch=!1,r?p:!1):u(n)?(typeof i.onIgnore==`function`&&i.onIgnore(p),p.isMatch=!1,r?p:!1):(typeof i.onMatch==`function`&&i.onMatch(p),r?p:!0)};return n&&(d.state=l),d};s.test=(e,t,n,{glob:r,posix:a}={})=>{if(typeof e!=`string`)throw TypeError(`Expected input to be a string`);if(e===``)return{isMatch:!1,output:``};let o=n||{},c=o.format||(a?i.toPosixSlashes:null),l=e===r,u=l&&c?c(e):e;return l===!1&&(u=c?c(e):e,l=u===r),(l===!1||o.capture===!0)&&(l=o.matchBase===!0||o.basename===!0?s.matchBase(e,t,n,a):t.exec(u)),{isMatch:!!l,match:l,output:u}},s.matchBase=(e,t,n)=>(t instanceof RegExp?t:s.makeRe(t,n)).test(i.basename(e)),s.isMatch=(e,t,n)=>s(t,n)(e),s.parse=(e,t)=>Array.isArray(e)?e.map(e=>s.parse(e,t)):r(e,{...t,fastpaths:!1}),s.scan=(e,t)=>n(e,t),s.compileRe=(e,t,n=!1,r=!1)=>{if(n===!0)return e.output;let i=t||{},a=i.contains?``:`^`,o=i.contains?``:`$`,c=`${a}(?:${e.output})${o}`;e&&e.negated===!0&&(c=`^(?!${c}).*$`);let l=s.toRegex(c,t);return r===!0&&(l.state=e),l},s.makeRe=(e,t={},n=!1,i=!1)=>{if(!e||typeof e!=`string`)throw TypeError(`Expected a non-empty string`);let a={negated:!1,fastpaths:!0};return t.fastpaths!==!1&&(e[0]===`.`||e[0]===`*`)&&(a.output=r.fastpaths(e,t)),a.output||(a=r(e,t)),s.compileRe(a,t,n,i)},s.toRegex=(e,t)=>{try{let n=t||{};return new RegExp(e,n.flags||(n.nocase?`i`:``))}catch(e){if(t&&t.debug===!0)throw e;return/$^/}},s.constants=a,t.exports=s})),ne=t(((e,t)=>{var n=te(),r=_();function i(e,t,i=!1){return t&&(t.windows===null||t.windows===void 0)&&(t={...t,windows:r.isWindows()}),n(e,t,i)}Object.assign(i,n),t.exports=i})),y=class{map=new Map;keyLookup=new Map;constructor(e){if(e)for(let[t,n]of e)this.set(t,n)}get size(){return this.map.size}get(e){let t=this.keyLookup.get(e.toLowerCase());return t===void 0?void 0:this.map.get(t)}set(e,t){let n=e.toLowerCase(),r=this.keyLookup.get(n);return r===void 0?(this.keyLookup.set(n,e),this.map.set(e,t)):this.map.set(r,t),this}has(e){return this.keyLookup.has(e.toLowerCase())}delete(e){let t=e.toLowerCase(),n=this.keyLookup.get(t);return n===void 0?!1:(this.keyLookup.delete(t),this.map.delete(n))}clear(){this.map.clear(),this.keyLookup.clear()}keys(){return this.map.keys()}values(){return this.map.values()}entries(){return this.map.entries()}[Symbol.iterator](){return this.map[Symbol.iterator]()}forEach(e){for(let[t,n]of this.map)e(n,t,this)}get[Symbol.toStringTag](){return`CaseInsensitiveMap`}getOriginalKey(e){return this.keyLookup.get(e.toLowerCase())}},re=class{set=new Set;constructor(e){if(e)for(let t of e)this.add(t)}get size(){return this.set.size}add(e){return this.set.add(e.toLowerCase()),this}has(e){return this.set.has(e.toLowerCase())}delete(e){return this.set.delete(e.toLowerCase())}clear(){this.set.clear()}[Symbol.iterator](){return this.set[Symbol.iterator]()}get[Symbol.toStringTag](){return`CaseInsensitiveSet`}};function b(e){return e.replace(/\\/g,`/`)}function x(e){return b(e).toLowerCase()}function S(e){return String(e??``)}function C(e){return Number(e)||0}function w(e){let t=S(e||`0 0 0`).split(` `).map(Number);return[t[0]||0,t[1]||0,t[2]||0]}var T=` +`,ie=` +`,ae=` +`,E=` `;function D(e,t,n){let r=0;for(;t+r0;){if(r>=e.length)return``;let i=D(e,r,n);if(r+i>=e.length)return``;r+=i+1,t--}let i=D(e,r,n);return i===0?``:e.substring(r,r+i)}function se(e,t,n,r){let i=0,a=t;for(;a>0;){if(i>=e.length)return``;let t=D(e,i,r);if(i+t>=e.length)return``;i+=t+1,a--}let o=i,s=n-t+1;for(;s>0;){let t=D(e,i,r);if(i+=t,i>=e.length)break;i++,s--}let c=i;return c>o&&r.includes(e[c-1])&&c--,e.substring(o,c)}function O(e,t){if(e===``)return 0;let n=0;for(let r=0;rt&&o>=e.length)break}return a.join(i)}function A(e,t,n,r){let i=[],a=0,o=0;for(;at===`n`?` +`:t===`t`?` `:t===`r`?`\r`:`\\`)},expandescape(e){return S(e).replace(/\\/g,`\\\\`).replace(/\n/g,`\\n`).replace(/\t/g,`\\t`).replace(/\r/g,`\\r`)},export(e,t,n){console.warn(`export(${e}): not implemented`)},quit(){console.warn(`quit(): not implemented in browser`)},trace(e){},isobject(e){return t().$.isObject(e)},nametoid(e){return t().$.nameToId(e)},strlen(e){return S(e).length},strchr(e,t){let n=S(e),r=S(t)[0]??``,i=n.indexOf(r);return i>=0?n.substring(i):``},strpos(e,t,n){return S(e).indexOf(S(t),C(n))},strcmp(e,t){let n=S(e),r=S(t);return nr?1:0},stricmp(e,t){let n=S(e).toLowerCase(),r=S(t).toLowerCase();return nr?1:0},strstr(e,t){return S(e).indexOf(S(t))},getsubstr(e,t,n){let r=S(e),i=C(t);return n===void 0?r.substring(i):r.substring(i,i+C(n))},getword(e,t){return oe(S(e),C(t),T)},getwordcount(e){return O(S(e),T)},getfield(e,t){return oe(S(e),C(t),ie)},getfieldcount(e){return O(S(e),ie)},setword(e,t,n){return k(S(e),C(t),S(n),T,` `)},setfield(e,t,n){return k(S(e),C(t),S(n),ie,E)},firstword(e){return oe(S(e),0,T)},restwords(e){return se(S(e),1,1e6,T)},trim(e){return S(e).trim()},ltrim(e){return S(e).replace(/^\s+/,``)},rtrim(e){return S(e).replace(/\s+$/,``)},strupr(e){return S(e).toUpperCase()},strlwr(e){return S(e).toLowerCase()},strreplace(e,t,n){return S(e).split(S(t)).join(S(n))},filterstring(e,t){return S(e)},stripchars(e,t){let n=S(e),r=new Set(S(t).split(``));return n.split(``).filter(e=>!r.has(e)).join(``)},getfields(e,t,n){let r=n===void 0?1e6:Number(n);return se(S(e),C(t),r,ie)},getwords(e,t,n){let r=n===void 0?1e6:Number(n);return se(S(e),C(t),r,T)},removeword(e,t){return A(S(e),C(t),T,` `)},removefield(e,t){return A(S(e),C(t),ie,E)},getrecord(e,t){return oe(S(e),C(t),ae)},getrecordcount(e){return O(S(e),ae)},setrecord(e,t,n){return k(S(e),C(t),S(n),ae,` +`)},removerecord(e,t){return A(S(e),C(t),ae,` +`)},nexttoken(e,t,n){throw Error(`nextToken() is not implemented: it requires variable mutation`)},strtoplayername(e){return S(e).replace(/[^\w\s-]/g,``).trim()},mabs(e){return Math.abs(C(e))},mfloor(e){return Math.floor(C(e))},mceil(e){return Math.ceil(C(e))},msqrt(e){return Math.sqrt(C(e))},mpow(e,t){return C(e)**+C(t)},msin(e){return Math.sin(C(e))},mcos(e){return Math.cos(C(e))},mtan(e){return Math.tan(C(e))},masin(e){return Math.asin(C(e))},macos(e){return Math.acos(C(e))},matan(e,t){return Math.atan2(C(e),C(t))},mlog(e){return Math.log(C(e))},getrandom(e,t){if(e===void 0)return Math.random();if(t===void 0)return Math.floor(Math.random()*(C(e)+1));let n=C(e),r=C(t);return Math.floor(Math.random()*(r-n+1))+n},mdegtorad(e){return C(e)*(Math.PI/180)},mradtodeg(e){return C(e)*(180/Math.PI)},mfloatlength(e,t){return C(e).toFixed(C(t))},getboxcenter(e){let t=S(e).split(` `).map(Number),n=t[0]||0,r=t[1]||0,i=t[2]||0,a=t[3]||0,o=t[4]||0,s=t[5]||0;return`${(n+a)/2} ${(r+o)/2} ${(i+s)/2}`},vectoradd(e,t){let[n,r,i]=w(e),[a,o,s]=w(t);return`${n+a} ${r+o} ${i+s}`},vectorsub(e,t){let[n,r,i]=w(e),[a,o,s]=w(t);return`${n-a} ${r-o} ${i-s}`},vectorscale(e,t){let[n,r,i]=w(e),a=C(t);return`${n*a} ${r*a} ${i*a}`},vectordot(e,t){let[n,r,i]=w(e),[a,o,s]=w(t);return n*a+r*o+i*s},vectorcross(e,t){let[n,r,i]=w(e),[a,o,s]=w(t);return`${r*s-i*o} ${i*a-n*s} ${n*o-r*a}`},vectorlen(e){let[t,n,r]=w(e);return Math.sqrt(t*t+n*n+r*r)},vectornormalize(e){let[t,n,r]=w(e),i=Math.sqrt(t*t+n*n+r*r);return i===0?`0 0 0`:`${t/i} ${n/i} ${r/i}`},vectordist(e,t){let[n,r,i]=w(e),[a,o,s]=w(t),c=n-a,l=r-o,u=i-s;return Math.sqrt(c*c+l*l+u*u)},matrixcreate(e,t){throw Error(`MatrixCreate() not implemented: requires axis-angle rotation math`)},matrixcreatefromeuler(e){throw Error(`MatrixCreateFromEuler() not implemented: requires Euler→Quaternion→AxisAngle conversion`)},matrixmultiply(e,t){throw Error(`MatrixMultiply() not implemented: requires full 4x4 matrix multiplication`)},matrixmulpoint(e,t){throw Error(`MatrixMulPoint() not implemented: requires full transform application`)},matrixmulvector(e,t){throw Error(`MatrixMulVector() not implemented: requires rotation matrix application`)},getsimtime(){return Date.now()-t().state.startTime},getrealtime(){return Date.now()},schedule(e,n,r,...i){let a=Number(e)||0,o=t(),s=setTimeout(()=>{o.state.pendingTimeouts.delete(s);try{o.$f.call(String(r),...i)}catch(e){throw console.error(`schedule: error calling ${r}:`,e),e}},a);return o.state.pendingTimeouts.add(s),s},cancel(e){clearTimeout(e),t().state.pendingTimeouts.delete(e)},iseventpending(e){return t().state.pendingTimeouts.has(e)},exec(e){let n=String(e??``);if(console.debug(`exec(${JSON.stringify(n)}): preparing to execute…`),!n.includes(`.`))return console.error(`exec: invalid script file name ${JSON.stringify(n)}.`),!1;let r=x(n),i=t(),{executedScripts:a,scripts:o}=i.state;if(a.has(r))return console.debug(`exec(${JSON.stringify(n)}): skipping (already executed)`),!0;let s=o.get(r);return s==null?(console.warn(`exec(${JSON.stringify(n)}): script not found`),!1):(a.add(r),console.debug(`exec(${JSON.stringify(n)}): executing!`),i.executeAST(s),!0)},compile(e){throw Error(`compile() not implemented: requires DSO bytecode compiler`)},isdemo(){return!1},isfile(e){return n?n.isFile(S(e)):(console.warn(`isFile(): no fileSystem handler configured`),!1)},fileext(e){let t=S(e),n=t.lastIndexOf(`.`);return n>=0?t.substring(n):``},filebase(e){let t=S(e),n=Math.max(t.lastIndexOf(`/`),t.lastIndexOf(`\\`)),r=t.lastIndexOf(`.`),i=n>=0?n+1:0,a=r>i?r:t.length;return t.substring(i,a)},filepath(e){let t=S(e),n=Math.max(t.lastIndexOf(`/`),t.lastIndexOf(`\\`));return n>=0?t.substring(0,n):``},expandfilename(e){throw Error(`expandFilename() not implemented: requires filesystem path expansion`)},findfirstfile(e){return n?(a=S(e),r=n.findFiles(a),i=0,r[i++]??``):(console.warn(`findFirstFile(): no fileSystem handler configured`),``)},findnextfile(e){let t=S(e);if(t!==a){if(!n)return``;a=t,r=n.findFiles(t)}return r[i++]??``},getfilecrc(e){return S(e)},iswriteablefilename(e){return!1},activatepackage(e){t().$.activatePackage(S(e))},deactivatepackage(e){t().$.deactivatePackage(S(e))},ispackage(e){return t().$.isPackage(S(e))},isactivepackage(e){return t().$.isActivePackage(S(e))},getpackagelist(){return t().$.getPackageList()},addmessagecallback(e,t){},alxcreatesource(...e){return 0},alxgetwavelen(e){return 0},alxlistenerf(e,t){},alxplay(...e){return 0},alxsetchannelvolume(e,t){},alxsourcef(e,t,n){},alxstop(e){},alxstopall(){},activatedirectinput(){},activatekeyboard(){},deactivatedirectinput(){},deactivatekeyboard(){},disablejoystick(){},enablejoystick(){},enablewinconsole(e){},isjoystickdetected(){return!1},lockmouse(e){},addmaterialmapping(e,t){},flushtexturecache(){},getdesktopresolution(){return`1920 1080 32`},getdisplaydevicelist(){return`OpenGL`},getresolutionlist(e){return`640 480 800 600 1024 768 1280 720 1920 1080`},getvideodriverinfo(){return`WebGL`},isdevicefullscreenonly(e){return!1},isfullscreen(){return!1},screenshot(e){},setdisplaydevice(e){return!0},setfov(e){},setinteriorrendermode(e){},setopenglanisotropy(e){},setopenglmipreduction(e){},setopenglskymipreduction(e){},setopengltexturecompressionhint(e){},setscreenmode(e,t,n,r){},setverticalsync(e){},setzoomspeed(e){},togglefullscreen(){},videosetgammacorrection(e){},snaptoggle(){},addtaggedstring(e){return 0},buildtaggedstring(e,...t){return``},detag(e){return S(e)},gettag(e){return 0},gettaggedstring(e){return``},removetaggedstring(e){},commandtoclient(e,t,...n){},commandtoserver(e,...t){},cancelserverquery(){},querymasterserver(...e){},querysingleserver(...e){},setnetport(e){return!0},allowconnections(e){},startheartbeat(){},stopheartbeat(){},gotowebpage(e){},deletedatablocks(){},preloaddatablock(e){return!0},containerboxempty(...e){return!0},containerraycast(...e){return``},containersearchcurrdist(){return 0},containersearchnext(){return 0},initcontainerradiussearch(...e){},calcexplosioncoverage(...e){return 1},getcontrolobjectaltitude(){return 0},getcontrolobjectspeed(){return 0},getterrainheight(e){return 0},lightscene(...e){},pathonmissionloaddone(){}}}function M(e){return e.toLowerCase()}function N(e){let t=e.trim();return M(t.startsWith(`$`)?t.slice(1):t)}function P(e,t){let n=e.get(t);return n||(n=new Set,e.set(t,n)),n}function F(e,t){for(let n of t)e.add(M(n))}function I(e){let t=new Set,n=new Map;for(let r of e)for(let e of r.classNames){let i=M(e);if(i===`*`){F(t,r.fields);continue}F(P(n,i),r.fields)}return{anyClassValues:t,valuesByClass:n}}function L(e){let t=new Set,n=new Map;for(let r of e)for(let e of r.classNames){let i=M(e);if(i===`*`){F(t,r.methods);continue}F(P(n,i),r.methods)}return{anyClassValues:t,valuesByClass:n}}function R(e){let t=new Set;for(let n of e)t.add(N(n));return t}function z(e,t,n){if(e.anyClassValues.has(`*`)||e.anyClassValues.has(n))return!0;for(let r of t){let t=e.valuesByClass.get(M(r));if(t&&(t.has(`*`)||t.has(n)))return!0}return!1}var B=[{classNames:[`SceneObject`,`GameBase`,`ShapeBase`,`Item`,`Player`],fields:`position.rotation.scale.transform.hidden.renderingdistance.datablock.shapename.shapefile.initialbarrel.skin.team.health.energy.energylevel.damagelevel.damageflash.damagepercent.damagestate.mountobject.mountedimage.targetposition.targetrotation.targetscale.missiontypeslist.renderenabled.vis.velocity.name`.split(`.`)},{classNames:[`*`],fields:[`position`,`rotation`,`scale`,`hidden`,`shapefile`,`datablock`]}],V=[{classNames:[`SceneObject`,`GameBase`,`ShapeBase`,`SimObject`],methods:[`settransform`,`setposition`,`setrotation`,`setscale`,`sethidden`,`setdatablock`,`setshapename`,`mountimage`,`unmountimage`,`mountobject`,`unmountobject`,`setdamagelevel`,`setenergylevel`,`schedule`,`delete`,`deleteallobjects`,`add`,`remove`,`playthread`,`stopthread`,`setthreaddir`,`pausethread`]},{classNames:[`*`],methods:[`settransform`,`setscale`,`delete`,`add`,`remove`]}],H=[`missionrunning`,`loadingmission`];function ce(e){let t=I(e);return(e,n)=>z(t,e,M(n))}function U(e){let t=L(e);return(e,n)=>z(t,e,M(n))}function le(e){let t=R(e);return e=>{let n=N(e);return t.has(`*`)||t.has(n)}}var ue=e(ne(),1),de=n(`runtime`);function fe(){return{scripts:new Map,generatedCode:new WeakMap}}function W(e){return e.toLowerCase()}function pe(e){return(Number(e)|0)>>>0}function me(e){return Number(e)|0}function he(e){if(e==null)return null;if(typeof e==`string`)return e||null;if(typeof e==`number`)return String(e);throw Error(`Invalid instance name type: ${typeof e}`)}function ge(e={}){let t=e.reactiveFieldRules??B,n=e.reactiveMethodRules??V,r=e.reactiveGlobalNames??H,i=ce(t),a=U(n),s=le(r),c=new y,l=new y,u=new y,d=[],f=new re,p=3,m=1027,g=new Map,_=new y,v=new y,ee=new y,te=new y,ne=new y,b=new Set,S=[],C=!1,w=0;if(e.globals)for(let[t,n]of Object.entries(e.globals)){if(!t.startsWith(`$`))throw Error(`Global variable "${t}" must start with $, e.g. "$${t}"`);ee.set(t.slice(1),n)}let T=new Set,ie=new Set,ae=e.ignoreScripts&&e.ignoreScripts.length>0?(0,ue.default)(e.ignoreScripts,{nocase:!0}):null,E=e.cache??fe(),D=E.scripts,oe=E.generatedCode,se=new Map;function O(e,t){let n=se.get(e);n||(n=[],se.set(e,n)),n.push(t)}function k(e){let t=se.get(e);t&&t.pop()}function A(e){let t=se.get(e);return t&&t.length>0?t[t.length-1]:void 0}function M(e,t,n){O(e,t);try{return n()}finally{k(e)}}function N(e,t){return`${e.toLowerCase()}::${t.toLowerCase()}`}function P(e,t){return c.get(e)?.get(t)??null}function F(e){if(!e)return[];let t=[],n=new Set,r=e.class||e._className||e._class,i=r?W(String(r)):``;for(;i&&!n.has(i);)t.push(i),n.add(i),i=ne.get(i)??``;return e._superClass&&!n.has(e._superClass)&&t.push(e._superClass),t}function I(){if(C=!1,S.length===0)return;let e=S.splice(0,S.length);w+=1;for(let t of b)t({type:`batch.flushed`,tick:w,events:e})}function L(e){S.push(e);for(let t of b)t(e);C||(C=!0,queueMicrotask(I))}function R(e){L({type:`object.created`,objectId:e._id,object:e})}function z(e){L({type:`object.deleted`,objectId:e._id,object:e})}function ge(e,t,n,r){let a=W(t);Object.is(n,r)||i(F(e),a)&&L({type:`field.changed`,objectId:e._id,field:a,value:n,previousValue:r,object:e})}function _e(e,t,n,r){let i=F(n);a(i.length?i:[e],t)&&L({type:`method.called`,className:W(e),methodName:W(t),objectId:n._id,args:[...r]})}function ve(e,t,n){let r=W(e.startsWith(`$`)?e.slice(1):e);Object.is(t,n)||s(r)&&L({type:`global.changed`,name:r,value:t,previousValue:n})}let ye=new Set,be=null,xe=null,Se=(e.builtins??j)({runtime:()=>xe,fileSystem:e.fileSystem??null});function Ce(e,t,n){if(be)be.methods.has(e)||be.methods.set(e,new y),be.methods.get(e).set(t,n);else{c.has(e)||c.set(e,new y);let r=c.get(e);r.has(t)||r.set(t,[]),r.get(t).push(n)}}function we(e,t){be?be.functions.set(e,t):(l.has(e)||l.set(e,[]),l.get(e).push(t))}function Te(e){let t=u.get(e);if(!t){f.add(e);return}if(!t.active){t.active=!0,d.push(t.name);for(let[e,n]of t.methods){c.has(e)||c.set(e,new y);let t=c.get(e);for(let[e,r]of n)t.has(e)||t.set(e,[]),t.get(e).push(r)}for(let[e,n]of t.functions)l.has(e)||l.set(e,[]),l.get(e).push(n)}}function Ee(e){let t=u.get(e);if(!t||!t.active)return;t.active=!1;let n=d.findIndex(t=>t.toLowerCase()===e.toLowerCase());n!==-1&&d.splice(n,1);for(let[e,n]of t.methods){let t=c.get(e);if(t)for(let[e,r]of n){let n=t.get(e);if(n){let e=n.indexOf(r);e!==-1&&n.splice(e,1)}}}for(let[e,n]of t.functions){let t=l.get(e);if(t){let e=t.indexOf(n);e!==-1&&t.splice(e,1)}}}function De(e,t){let n=u.get(e);n||(n={name:e,active:!1,methods:new y,functions:new y},u.set(e,n));let r=be;be=n,t(),be=r,f.has(e)&&(f.delete(e),Te(e))}function Oe(){for(;g.has(m);)m+=1;let e=m;return m+=1,e}function ke(){for(;g.has(p);)p+=1;let e=p;return p+=1,e}function Ae(e,t,n,r){let i=W(e),a=Oe(),o={_class:i,_className:e,_id:a};for(let[e,t]of Object.entries(n))o[W(e)]=t;o.superclass&&(o._superClass=W(String(o.superclass)),o.class&&ne.set(W(String(o.class)),o._superClass)),g.set(a,o);let s=he(t);if(s&&(o._name=s,_.set(s,o)),r){for(let e of r)e._parent=o;o._children=r}let c=We(e,`onAdd`);return c&&c(o),R(o),o}function je(e){if(e==null)return!1;let t;if(typeof e==`number`?t=g.get(e):typeof e==`string`?t=_.get(e):typeof e==`object`&&e._id&&(t=e),!t)return!1;let n=We(t._className,`onRemove`);if(n&&n(t),g.delete(t._id),t._name&&_.delete(t._name),t._isDatablock&&t._name&&v.delete(t._name),t._parent&&t._parent._children){let e=t._parent._children.indexOf(t);e!==-1&&t._parent._children.splice(e,1)}if(t._children)for(let e of[...t._children])je(e);return z(t),!0}function Me(e,t,n,r){let i=W(e),a=ke(),o={_class:i,_className:e,_id:a,_isDatablock:!0},s=he(n);if(s){let e=v.get(s);if(e){for(let[t,n]of Object.entries(e))t.startsWith(`_`)||(o[t]=n);o._parent=e}}for(let[e,t]of Object.entries(r))o[W(e)]=t;g.set(a,o);let c=he(t);return c&&(o._name=c,_.set(c,o),v.set(c,o)),R(o),o}function Ne(e){return e==null||e===``?null:typeof e==`object`&&e._id!=null?e:typeof e==`string`?_.get(e)??null:typeof e==`number`?g.get(e)??null:null}function Pe(e,t){let n=Ne(e);return n==null?``:n[W(t)]??``}function Fe(e,t,n){let r=Ne(e);if(r==null)return n;let i=W(t),a=r[i];return r[i]=n,ge(r,i,n,a),n}function Ie(e,t){let n=Ne(e);return n==null?``:n[String(t)]??``}function Le(e,t,n){let r=Ne(e);if(r==null)return n;let i=String(t),a=r[i];return r[i]=n,ge(r,i,n,a),n}function Re(e,t,n){let r=Ne(e);if(r==null)return 0;let i=G(r[t]);return r[t]=i+n,ge(r,t,r[t],i),i}function ze(e,t){return Re(e,W(t),1)}function Be(e,t){return Re(e,W(t),-1)}function Ve(e,t){return Re(e,String(t),1)}function He(e,t){return Re(e,String(t),-1)}function Ue(e,...t){return e+t.join(`_`)}function We(e,t){let n=P(e,t);return n&&n.length>0?n[n.length-1]:null}function Ge(e,t,n,r){let i=P(e,t);return!i||i.length===0?{found:!1}:{found:!0,result:M(N(e,t),i.length-1,()=>i[i.length-1](n,...r))}}function Ke(e,t,n,r){_e(e,t,n,r);let i=te.get(e);if(i){let e=i.get(t);if(e)for(let t of e)t(n,...r)}}function qe(e,t,...n){if(e==null||(typeof e==`string`||typeof e==`number`)&&(e=yt(e),e==null))return``;let r=e.class||e._className||e._class;if(r){let i=Ge(r,t,e,n);if(i.found)return Ke(r,t,e,n),i.result}let i=e._superClass||ne.get(r);for(;i;){let r=Ge(i,t,e,n);if(r.found)return Ke(i,t,e,n),r.result;i=ne.get(i)}return``}function Je(e,t,...n){let r=P(e,t);if(!r||r.length===0)return``;let i=N(e,t),a=r[r.length-1],o=M(i,r.length-1,()=>a(...n)),s=n[0];return s&&typeof s==`object`&&Ke(e,t,s,n.slice(1)),o}function Ye(e,t){let n=P(e,t);if(!n||n.length===0)return null;let r=N(e,t),i=n[n.length-1];return(...e)=>M(r,n.length-1,()=>i(...e))}function Xe(e,t,n,...r){let i=P(e,t),a=N(e,t),o=A(a);if(i&&o!==void 0&&o>=1){let s=o-1,c=M(a,s,()=>i[s](n,...r));return n&&typeof n==`object`&&Ke(e,t,n,r),c}let s=ne.get(e);for(;s;){let e=P(s,t);if(e&&e.length>0){let i=M(N(s,t),e.length-1,()=>e[e.length-1](n,...r));return n&&typeof n==`object`&&Ke(s,t,n,r),i}s=ne.get(s)}return``}function Ze(e,...t){let n=l.get(e);if(!n)return``;let r=e.toLowerCase(),i=A(r);if(i===void 0||i<1)return``;let a=i-1;return M(r,a,()=>n[a](...t))}function G(e){if(e==null||e===``)return 0;let t=Number(e);return isNaN(t)?0:t}function Qe(e,t){return G(e)+G(t)}function $e(e,t){return G(e)-G(t)}function et(e,t){return G(e)*G(t)}function tt(e,t){return G(e)/G(t)}function nt(e){return-G(e)}function rt(e,t){return G(e)G(t)}function ot(e,t){return G(e)>=G(t)}function st(e,t){return G(e)===G(t)}function ct(e,t){return G(e)!==G(t)}function K(e,t){let n=me(t);return n===0?0:me(e)%n}function lt(e,t){return pe(e)&pe(t)}function ut(e,t){return pe(e)|pe(t)}function dt(e,t){return pe(e)^pe(t)}function ft(e,t){return pe(pe(e)<<(pe(t)&31))}function pt(e,t){return pe(e)>>>(pe(t)&31)}function mt(e){return~pe(e)>>>0}function ht(...e){return e.map(e=>String(e??``)).join(``)}function gt(e,t){return String(e??``).toLowerCase()===String(t??``).toLowerCase()}function _t(e,t){let n=String(e??``).toLowerCase();for(let[e,r]of Object.entries(t))if(e!==`default`&&W(e)===n){r();return}t.default&&t.default()}function vt(e){if(!e||e===``)return null;e.startsWith(`/`)&&(e=e.slice(1));let t=e.split(`/`),n=null;for(let e=0;et._name?.toLowerCase()===e)??null}if(!n)return null}}return n}function yt(e){return e==null||e===``?null:vt(String(e))}function bt(e){let t=vt(e);return t?t._id:-1}function xt(e){return e==null?!1:typeof e==`object`&&e._id?!0:typeof e==`number`?g.has(e):typeof e==`string`?_.has(e):!1}function St(e){return l.has(e)||e.toLowerCase()in Se}function Ct(e){return u.has(e)}function wt(e){return u.get(e)?.active??!1}function Tt(){return d.join(` `)}function Et(e,t){function n(e,t){return e+t.join(`_`)}return{get(t,...r){return e.get(n(t,r))??``},set(r,...i){if(i.length===0)throw Error(`set() requires at least a value argument`);if(i.length===1){let n=e.get(r);return e.set(r,i[0]),t?.onSet?.(r,i[0],n),i[0]}let a=i[i.length-1],o=n(r,i.slice(0,-1)),s=e.get(o);return e.set(o,a),t?.onSet?.(o,a,s),a},postInc(r,...i){let a=n(r,i),o=G(e.get(a)),s=o+1;return e.set(a,s),t?.onSet?.(a,s,o),o},postDec(r,...i){let a=n(r,i),o=G(e.get(a)),s=o-1;return e.set(a,s),t?.onSet?.(a,s,o),o}}}function Dt(){return Et(new y)}let Ot={registerMethod:Ce,registerFunction:we,package:De,activatePackage:Te,deactivatePackage:Ee,create:Ae,datablock:Me,deleteObject:je,prop:Pe,setProp:Fe,getIndex:Ie,setIndex:Le,propPostInc:ze,propPostDec:Be,indexPostInc:Ve,indexPostDec:He,key:Ue,call:qe,nsCall:Je,nsRef:Ye,parent:Xe,parentFunc:Ze,add:Qe,sub:$e,mul:et,div:tt,neg:nt,lt:rt,le:it,gt:at,ge:ot,eq:st,ne:ct,mod:K,bitand:lt,bitor:ut,bitxor:dt,shl:ft,shr:pt,bitnot:mt,concat:ht,streq:gt,switchStr:_t,deref:yt,nameToId:bt,isObject:xt,isFunction:St,isPackage:Ct,isActivePackage:wt,getPackageList:Tt,locals:Dt,onMethodCalled(e,t,n){let r=te.get(e);r||(r=new y,te.set(e,r));let i=r.get(t);return i||(i=[],r.set(t,i)),i.push(n),()=>{let e=i.indexOf(n);e!==-1&&i.splice(e,1)}}},kt={call(e,...t){let n=l.get(e);if(n&&n.length>0)return M(e.toLowerCase(),n.length-1,()=>n[n.length-1](...t));let r=Se[e.toLowerCase()];return r?r(...t):(de.warn(`Unknown function: ${e}(${t.map(e=>JSON.stringify(e)).join(`, `)})`),``)}},At=Et(ee,{onSet:ve}),jt={methods:c,functions:l,packages:u,activePackages:d,objectsById:g,objectsByName:_,datablocks:v,globals:ee,executedScripts:T,failedScripts:ie,scripts:D,generatedCode:oe,pendingTimeouts:ye,startTime:Date.now()};function Mt(){S.length>0&&I();for(let e of jt.pendingTimeouts)clearTimeout(e);jt.pendingTimeouts.clear(),b.clear()}function Nt(e){let t=oe.get(e);return t??(t=o(e),oe.set(e,t)),t}function Pt(e){let t=Nt(e),n=Dt();Function(`$`,`$f`,`$g`,`$l`,t)(Ot,kt,At,n)}function Ft(e,t){return{execute(){if(t){let e=x(t);jt.executedScripts.add(e)}Pt(e)}}}async function It(t,n,r){let i=e.loadScript;if(!i){t.length>0&&de.warn(`Script has exec() calls but no loadScript provided: %o`,t);return}async function a(t){e.signal?.throwIfAborted();let a=x(t);if(jt.scripts.has(a)||jt.failedScripts.has(a))return;if(ae&&ae(a)){de.warn(`Ignoring script: %s`,t),jt.failedScripts.add(a);return}if(r.has(a))return;let o=n.get(a);if(o){await o;return}e.progress?.addItem(t);let s=(async()=>{let o=await i(t);if(o==null){de.warn(`Script not found: %s`,t),jt.failedScripts.add(a),e.progress?.completeItem();return}let s;try{s=h(o,{filename:t})}catch(n){de.warn(`Failed to parse script: %s %o`,t,n),jt.failedScripts.add(a),e.progress?.completeItem();return}let c=new Set(r);c.add(a),await It(s.execScriptPaths,n,c),jt.scripts.set(a,s),e.progress?.completeItem()})();n.set(a,s),await s}await Promise.all(t.map(a))}async function Lt(t){let n=e.loadScript;if(!n)throw Error(`loadFromPath requires loadScript option to be set`);let r=x(t);if(jt.scripts.has(r))return Ft(jt.scripts.get(r),t);e.progress?.addItem(t);let i=await n(t);if(i==null)throw e.progress?.completeItem(),Error(`Script not found: ${t}`);let a=await Rt(i,{path:t});return e.progress?.completeItem(),a}async function Rt(e,t){if(t?.path){let e=x(t.path);if(jt.scripts.has(e))return Ft(jt.scripts.get(e),t.path)}return zt(h(e,{filename:t?.path}),t)}async function zt(t,n){let r=new Map,i=new Set;if(n?.path){let e=x(n.path);jt.scripts.set(e,t),i.add(e)}return await It([...t.execScriptPaths,...e.preloadScripts??[]],r,i),Ft(t,n?.path)}return xe={$:Ot,$f:kt,$g:At,state:jt,destroy:Mt,executeAST:Pt,loadFromPath:Lt,loadFromSource:Rt,loadFromAST:zt,call:(e,...t)=>kt.call(e,...t),getObjectByName:e=>_.get(e),subscribeRuntimeEvents(e){return b.add(e),()=>{b.delete(e)}}},xe}var _e=n(`engineMethods`);function ve(e){let t=e.$.registerMethod.bind(e.$);t(`ShapeBase`,`playThread`,(e,t,n)=>{e._threads||={},e._threads[Number(t)]={sequence:String(n),playing:!0,direction:!0}}),t(`ShapeBase`,`stopThread`,(e,t)=>{e._threads&&delete e._threads[Number(t)]}),t(`ShapeBase`,`setThreadDir`,(e,t,n)=>{e._threads||={};let r=Number(t);e._threads[r]?e._threads[r].direction=!!Number(n):e._threads[r]={sequence:``,playing:!1,direction:!!Number(n)}}),t(`ShapeBase`,`pauseThread`,(e,t)=>{e._threads?.[Number(t)]&&(e._threads[Number(t)].playing=!1)}),t(`ShapeBase`,`playAudio`,()=>{}),t(`ShapeBase`,`stopAudio`,()=>{}),t(`SimObject`,`getDatablock`,t=>{let n=t.datablock;return n?e.getObjectByName(String(n))??``:``}),t(`SimObject`,`getGroup`,e=>e._parent??``),t(`SimObject`,`getName`,e=>e._name??``),t(`SimObject`,`getType`,()=>16384),t(`SimGroup`,`getCount`,e=>e._children?e._children.length:0),t(`SimGroup`,`getObject`,(e,t)=>{let n=e._children;return n?n[Number(t)]??``:``}),t(`GameBase`,`isEnabled`,()=>!0),t(`GameBase`,`isDisabled`,()=>!1),t(`GameBase`,`setPoweredState`,()=>{}),t(`GameBase`,`setRechargeRate`,()=>{}),t(`GameBase`,`getRechargeRate`,()=>0),t(`GameBase`,`setEnergyLevel`,()=>{}),t(`GameBase`,`getEnergyLevel`,()=>0),t(`ShapeBase`,`getDamageLevel`,()=>0),t(`ShapeBase`,`setDamageLevel`,()=>{}),t(`ShapeBase`,`getRepairRate`,()=>0),t(`ShapeBase`,`setRepairRate`,()=>{}),t(`ShapeBase`,`getDamagePercent`,()=>0),t(`GameBase`,`getControllingClient`,()=>0),t(`SimObject`,`schedule`,(t,n,r,...i)=>{let a=Number(n)||0,o=setTimeout(()=>{e.state.pendingTimeouts.delete(o);try{e.$.call(t,String(r),...i)}catch(e){_e.error(`schedule: error calling %s on %s: %o`,r,t._id,e)}},a);return e.state.pendingTimeouts.add(o),o})}function ye(){let e=new Set,t=0,n=0,r=null;function i(){for(let t of e)t()}return{get total(){return t},get loaded(){return n},get current(){return r},get progress(){return t===0?0:n/t},on(t,n){e.add(n)},off(t,n){e.delete(n)},addItem(e){t++,r=e,i()},completeItem(){n++,r=null,i()},setCurrent(e){r=e,i()}}}function be(e){if(typeof e==`boolean`)return e;if(typeof e==`number`)return e!==0;if(typeof e==`string`){let t=e.trim().toLowerCase();return t!==``&&t!==`0`&&t!==`false`}return!!e}function xe(){let e=Error(`Operation aborted`);return e.name=`AbortError`,e}function Se(e,t){let{signal:n,onMissionLoadDone:r}=t;return new Promise((t,i)=>{let a=!1,o=!1,s=()=>e.getObjectByName(`Game`),c=()=>be(e.$g.get(`missionRunning`)),l=()=>{a||(a=!0,m(),t())},u=e=>{a||(a=!0,m(),i(e))},d=e=>{if(!r||o)return;let t=e??s();t&&(o=!0,r(t))},f=()=>u(xe()),p=e.subscribeRuntimeEvents(e=>{if(e.type===`global.changed`&&e.name===`missionrunning`){be(e.value)&&(d(),l());return}e.type===`batch.flushed`&&c()&&(d(),l())});function m(){p(),n?.removeEventListener(`abort`,f)}if(n){if(n.aborted){u(xe());return}n.addEventListener(`abort`,f,{once:!0})}c()&&(d(),l())})}function Ce(e){let{missionName:t,missionType:n,runtimeOptions:r,onMissionLoadDone:i}=e,{signal:a,fileSystem:o,globals:s={},preloadScripts:c=[],reactiveGlobalNames:l}=r??{},u=o?.findFiles(`scripts/*Game.cs`)??[],d=l?Array.from(new Set([...l,`missionRunning`])):void 0,f=ge({...r,reactiveGlobalNames:d,globals:{...s,"$Host::Map":t,"$Host::MissionType":n},preloadScripts:[...c,...u]});return ve(f),{runtime:f,ready:async function(){try{let e=await f.loadFromPath(`scripts/server.cs`);a?.throwIfAborted(),await f.loadFromPath(`missions/${t}.mis`),a?.throwIfAborted(),e.execute();let n=Se(f,{signal:a,onMissionLoadDone:i}),r=await f.loadFromSource(`CreateServer($Host::Map, $Host::MissionType);`);a?.throwIfAborted(),r.execute(),await n}catch(e){if(e instanceof Error&&e.name===`AbortError`)return;throw e}}()}}var we=/^[ \t]*(DisplayName|MissionTypes|BriefingWAV|Bitmap|PlanetName)[ \t]*=[ \t]*(.+)$/i,Te=/^[ \t]*-+[ \t]*([A-Z ]+)[ \t]+BEGIN[ \t]*-+$/i,Ee=/^[ \t]*-+[ \t]*([A-Z ]+)[ \t]+END[ \t]*-+$/i,De={arena:`Arena`,bounty:`Bounty`,cnh:`CnH`,ctf:`CTF`,dm:`DM`,dnd:`DnD`,hunters:`Hunters`,lakrabbit:`LakRabbit`,lakzm:`LakZM`,lctf:`LCTF`,none:`None`,rabbit:`Rabbit`,sctf:`SCtF`,siege:`Siege`,singleplayer:`SinglePlayer`,tdm:`TDM`,teamhunters:`TeamHunters`,teamlak:`TeamLak`,tr2:`TR2`};function Oe(e){let t;return t=e.match(Te),t?{type:`sectionBegin`,name:t[1]}:(t=e.match(Ee),t?{type:`sectionEnd`,name:t[1]}:(t=e.match(we),t?{type:`definition`,identifier:t[1],value:t[2]}:null))}function ke(e){let t={},n=[],r={name:null,comments:[]};function i(e){for(let i of e)if(i.type===`Comment`){let e=Oe(i.value);if(e)switch(e.type){case`definition`:r.name===null?t[e.identifier.toLowerCase()]=e.value:r.comments.push(i.value);break;case`sectionBegin`:(r.name!==null||r.comments.length>0)&&n.push(r),r={name:e.name.toUpperCase(),comments:[]};break;case`sectionEnd`:r.name!==null&&n.push(r),r={name:null,comments:[]};break}else r.comments.push(i.value)}}return i(e.body),(r.name!==null||r.comments.length>0)&&n.push(r),{pragma:t,sections:n}}function Ae(e){let t=h(e),{pragma:n,sections:r}=ke(t);function i(e){return r.find(t=>t.name===e)?.comments.map(e=>e.trimStart()).join(` +`)??null}return{displayName:n.displayname??null,missionTypes:n.missiontypes?.split(/\s+/).filter(Boolean).map(e=>De[e.toLowerCase()]??e)??[],missionBriefing:i(`MISSION BRIEFING`),briefingWav:n.briefingwav??null,bitmap:n.bitmap??null,planetName:n.planetname??null,missionBlurb:i(`MISSION BLURB`),missionQuote:i(`MISSION QUOTE`),missionString:i(`MISSION STRING`),execScriptPaths:t.execScriptPaths,hasDynamicExec:t.hasDynamicExec,ast:t}}function je(e,t){if(e)return e[t.toLowerCase()]}function Me(e){let[t,n,r]=(e.position??`0 0 0`).split(` `).map(e=>parseFloat(e));return[n||0,r||0,t||0]}function Ne(e){let[t,n,r]=(e.scale??`1 1 1`).split(` `).map(e=>parseFloat(e));return[n||0,r||0,t||0]}export{Ae as a,fe as c,De as i,ne as l,je as n,Ce as o,Ne as r,ye as s,Me as t}; \ No newline at end of file diff --git a/docs/assets/nipplejs-BmryTG2V.js b/docs/assets/nipplejs-cKsequWj.js similarity index 100% rename from docs/assets/nipplejs-BmryTG2V.js rename to docs/assets/nipplejs-cKsequWj.js diff --git a/docs/assets/playbackUtils-C1ncI8YZ.js b/docs/assets/playbackUtils-C1ncI8YZ.js new file mode 100644 index 00000000..273f735a --- /dev/null +++ b/docs/assets/playbackUtils-C1ncI8YZ.js @@ -0,0 +1,47 @@ +import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import{i}from"./react-three-fiber.esm-CD18QK1u.js";import{a}from"./SettingsProvider-D-grt5cc.js";import{n as o,r as s,t as c}from"./useBaseQuery-D-AnxeNl.js";import{Ct as l,Gt as u,Wt as d,a as f,at as p,g as ee,kt as te,o as ne,ot as m,q as h,rt as g,ut as _,v,wt as re}from"./three.module-C9W4LJrj.js";import{t as ie}from"./Texture-D2i1vM3o.js";import{a as y,c as b,p as x}from"./index-BEKjcnfN.js";import{c as S,d as C,l as ae,o as w,t as T}from"./globalFogUniforms-BQRkMz5n.js";function oe(e,t){return c({...e,enabled:!0,suspense:!0,throwOnError:o,placeholderData:void 0},s,t)}var E=t(),D=e(n(),1),O=r(),k=1/32,A=(0,D.createContext)(null);function se({children:e}){let t=(0,D.useRef)(void 0),n=(0,D.useRef)(0),r=(0,D.useRef)(0);i((e,i)=>{for(n.current+=i;n.current>=k;)if(n.current-=k,r.current++,t.current)for(let e of t.current)e(r.current)});let a=(0,D.useCallback)(e=>(t.current??=new Set,t.current.add(e),()=>{t.current.delete(e)}),[]),o=(0,D.useCallback)(()=>r.current,[]),s=(0,D.useCallback)(()=>n.current/k,[]),c=(0,D.useMemo)(()=>({subscribe:a,getTick:o,getTickFraction:s}),[a,o,s]);return(0,O.jsx)(A.Provider,{value:c,children:e})}function j(e){let t=(0,E.c)(5),n=(0,D.useContext)(A);if(!n)throw Error(`useTick must be used within a TickProvider`);let r=(0,D.useEffectEvent)(e),i;t[0]!==n||t[1]!==r?(i=()=>n.subscribe(r),t[0]=n,t[1]=r,t[2]=i):i=t[2];let a;t[3]===n?a=t[4]:(a=[n],t[3]=n,t[4]=a),(0,D.useEffect)(i,a)}function ce(){let e=(0,D.useContext)(A);if(!e)throw Error(`useGetTickFraction must be used within a TickProvider`);return e.getTickFraction}var le=/borg|xorg|porg|dorg|plant|tree|bush|fern|vine|grass|leaf|flower|frond|palm|foliage/i;function M(e){return le.test(e)}var N=(0,D.createContext)(null);function ue(){let e=(0,D.useContext)(N);if(!e)throw Error(`useShapeInfo must be used within ShapeInfoProvider`);return e}function de(e){let t=(0,E.c)(10),{children:n,object:r,shapeName:i,type:a}=e,o;t[0]===i?o=t[1]:(o=M(i),t[0]=i,t[1]=o);let s=o,c;t[2]!==s||t[3]!==r||t[4]!==i||t[5]!==a?(c={object:r,shapeName:i,type:a,isOrganic:s},t[2]=s,t[3]=r,t[4]=i,t[5]=a,t[6]=c):c=t[6];let l=c,u;return t[7]!==n||t[8]!==l?(u=(0,O.jsx)(N.Provider,{value:l,children:n}),t[7]=n,t[8]=l,t[9]=u):u=t[9],u}var fe=1/30,P=new Map;function F(e){let t=new Map,n=[],r=[];for(let i of e){let e=t.get(i.name);e===void 0&&(e=n.length,t.set(i.name,e),n.push(i.name)),r.push(e)}return{uniqueNames:n,frameToSlot:r}}function I(e,t){if(e.length===0)throw Error(`Cannot create IFL atlas with no textures`);let n=e[0].image,r=n.width,i=n.height,a=e.length,o=Math.ceil(Math.sqrt(a)),s=Math.ceil(a/o),c=document.createElement(`canvas`);c.width=r*o,c.height=i*s;let l=c.getContext(`2d`);e.forEach((e,t)=>{let n=t%o,a=Math.floor(t/o);l.drawImage(e.image,n*r,a*i)});let u=new ee(c);return u.colorSpace=te,u.generateMipmaps=!1,u.minFilter=_,u.magFilter=_,u.wrapS=v,u.wrapT=v,u.repeat.set(1/o,1/s),{texture:u,columns:o,rows:s,slotCount:a,frameToSlot:t,frameOffsetSeconds:[],totalDurationSeconds:0,lastSlot:-1}}function L(e,t){let n=0;e.frameOffsetSeconds=t.map(e=>(n+=e.frameCount*fe,n)),e.totalDurationSeconds=n}function R(e,t){let n=e.frameToSlot[t]??0;if(n===e.lastSlot)return;e.lastSlot=n;let r=n%e.columns,i=e.rows-1-Math.floor(n/e.columns);e.texture.offset.set(r/e.columns,i/e.rows)}function z(e,t){let n=e.totalDurationSeconds;if(n<=0)return 0;let r=t;r>n&&(r-=n*Math.floor(r/n));for(let t=0;ty(t,e)),o=I(await Promise.all(a.map(ae)),i);return L(o,n),P.set(e,o),o}function V(e){let t=(0,E.c)(17),{animationEnabled:n}=a(),r;t[0]===e?r=t[1]:(r={queryKey:[`ifl`,e],queryFn:()=>b(e)},t[0]=e,t[1]=r);let{data:i}=oe(r),o;t[2]===i?o=t[3]:(o=F(i),t[2]=i,t[3]=o);let{uniqueNames:s,frameToSlot:c}=o,l;if(t[4]!==e||t[5]!==s){let n;t[7]===e?n=t[8]:(n=t=>y(t,e),t[7]=e,t[8]=n),l=s.map(n),t[4]=e,t[5]=s,t[6]=l}else l=t[6];let u=ie(l),d;t[9]!==c||t[10]!==i||t[11]!==e||t[12]!==u?(d=P.get(e),d||(d=I(u,c),P.set(e,d)),L(d,i),t[9]=c,t[10]=i,t[11]=e,t[12]=u,t[13]=d):d=t[13];let f=d,p;return t[14]!==n||t[15]!==f?(p=e=>{let t=e/32;R(f,n?z(f,t):0)},t[14]=n,t[15]=f,t[16]=p):p=t[16],j(p),f.texture}var H={directional:1,ambient:1.5};function U(e){e.uniforms.shapeDirectionalFactor={value:H.directional},e.uniforms.shapeAmbientFactor={value:H.ambient},e.fragmentShader=e.fragmentShader.replace(`#include `,`#include +uniform float shapeDirectionalFactor; +uniform float shapeAmbientFactor; +`),e.fragmentShader=e.fragmentShader.replace(`#include `,`#include + // Apply shape-specific lighting multipliers + reflectedLight.directDiffuse *= shapeDirectionalFactor; + reflectedLight.indirectDiffuse *= shapeAmbientFactor; +`)}var W={shapeEnvMap:{value:null},shapeEnvMapActive:{value:!1},shapeEnvMapDebugUV:{value:!1}};function pe(e){W.shapeEnvMap.value=e,W.shapeEnvMapActive.value=!0}function me(){W.shapeEnvMap.value=null,W.shapeEnvMapActive.value=!1}function he(e,t){e.uniforms.shapeEnvMap=W.shapeEnvMap,e.uniforms.shapeEnvMapActive=W.shapeEnvMapActive,e.uniforms.shapeEnvMapDebugUV=W.shapeEnvMapDebugUV,e.uniforms.shapeReflectionAmount={value:t},e.fragmentShader=e.fragmentShader.replace(`#include `,`#include +uniform sampler2D shapeEnvMap; +uniform bool shapeEnvMapActive; +uniform float shapeReflectionAmount; +uniform bool shapeEnvMapDebugUV; +varying vec2 vShapeSphereUV; +`),e.vertexShader=e.vertexShader.replace(`#include `,`#include +varying vec2 vShapeSphereUV; +`),e.vertexShader=e.vertexShader.replace(`#include `,`#include +{ + vec3 _eyePos = (modelViewMatrix * vec4(transformed, 1.0)).xyz; + #ifdef FLAT_SHADED + vec3 _eyeN = vec3(0.0, 0.0, 1.0); + #else + vec3 _eyeN = normalize(normalMatrix * normal); + #endif + vec3 _eyeU = normalize(_eyePos); + vec3 _r = reflect(_eyeU, _eyeN); + float _m = 2.0 * sqrt(_r.x * _r.x + _r.z * _r.z + (_r.y + 1.0) * (_r.y + 1.0)); + vShapeSphereUV = vec2(_r.x, -_r.z) / _m + 0.5; +} +`),e.fragmentShader=e.fragmentShader.replace(`#include `,`// Tribes 2 sphere-map environment reflections (GL_INTERPOLATE) +if (shapeEnvMapActive && shapeReflectionAmount > 0.0) { + if (shapeEnvMapDebugUV) { + outgoingLight = vec3(vShapeSphereUV, 0.0); + } else { + vec3 _envColor = texture2D(shapeEnvMap, vShapeSphereUV).rgb; + #ifdef USE_MAP + float _baseAlpha = texture2D(map, vMapUv).a; + #else + float _baseAlpha = 1.0; + #endif + float _factor = _baseAlpha * shapeReflectionAmount; + // Torque blends in sRGB space (fixed-function pipeline, no gamma). + // Convert outgoingLight to sRGB, mix with sRGB env map, convert back. + vec3 _baseSRGB = pow(max(outgoingLight, 0.0), vec3(1.0 / 2.2)); + outgoingLight = pow(mix(_baseSRGB, _envColor, _factor), vec3(2.2)); + } +} +#include `)}var ge=e=>{w(e,T),U(e)},_e=e=>{w(e,T)};function G(e,t){if(!t){e.onBeforeCompile=e instanceof m?ge:_e;return}let n=e instanceof m?`lambert`:`basic`;e.customProgramCacheKey=()=>`shape-envmap-${n}`;let{reflectionAmount:r}=t;e.onBeforeCompile=e=>{w(e,T),U(e),he(e,r)}}function K(e,t,n,r,i=1,a=!1,o=0){let s=n.has(`Translucent`),c=n.has(`Additive`),l=n.has(`SelfIlluminating`),u=i<1||a,d=!n.has(`NeverEnvMap`)&&o>0&&!u?{reflectionAmount:o}:void 0;if(l||c){let e=c||s||u,n=new p({map:t,side:2,transparent:e,depthWrite:!e,alphaTest:0,fog:!0,...u&&{opacity:i},...c&&{blending:2}});return G(n,d),n}if(r||s){let e={map:t,transparent:u,alphaTest:u?0:.5,...u&&{opacity:i,depthWrite:!1},reflectivity:0},n=new m({...e,side:1,polygonOffset:!0,polygonOffsetFactor:1,polygonOffsetUnits:1}),r=new m({...e,side:0});return G(n,d),G(r,d),[n,r]}let f=new m({map:t,side:2,reflectivity:0,...u&&{transparent:!0,opacity:i,depthWrite:!1}});return G(f,d),f}var ve=2.1,ye=.25,be=32/1e3,q=new d,J=new d,Y=new g,xe=new d(0,1,0),X=new l().setFromAxisAngle(new d(0,1,0),Math.PI/2),Se=X.clone().invert();function Ce(e,t){let n=Number.isFinite(t)&&t>1e-6?t:4/3,r=Math.max(.01,Math.min(179.99,e))*Math.PI/180;return 2*Math.atan(Math.tan(r/2)/n)*180/Math.PI}function we(e){e.wrapS=v,e.wrapT=v,e.minFilter=h,e.magFilter=h,e.colorSpace=``,e.flipY=!1,e.needsUpdate=!0}function Te(e,t){return t.set(e[1],e[2],e[0])}function Z(e,t){q.crossVectors(e,xe),q.lengthSq()<1e-8&&q.set(-1,0,0),q.normalize(),J.crossVectors(q,e).normalize(),Y.set(q.x,e.x,J.x,0,q.y,e.y,J.y,0,q.z,e.z,J.z,0,0,0,0,1),t.setFromRotationMatrix(Y)}function Ee(e,t){if(e.length===0)return null;if(t<=e[0].time)return e[0];if(t>=e[e.length-1].time)return e[e.length-1];let n=0,r=e.length-1;for(;r-n>1;){let i=n+r>>1;e[i].time<=t?n=i:r=i}return e[n]}function De(e,t){let n=new Map;e.traverse(e=>{e.name&&n.set(e.name,e)});let r=[];for(let e of t.tracks){let t=e.name.lastIndexOf(`.`);if(t===-1)continue;let i=e.name.slice(0,t),a=e.name.slice(t+1),o=n.get(i);if(o){if(a===`quaternion`){let t=o.quaternion;r.push(new re(e.name,[0],[t.x,t.y,t.z,t.w]))}else if(a===`position`){let t=o.position;r.push(new u(e.name,[0],[t.x,t.y,t.z]))}else if(a===`scale`){let t=o.scale;r.push(new u(e.name,[0],[t.x,t.y,t.z]))}}}return new f(`_restPose`,0,r)}function Oe(e,t,n,r){let i=e.clone(!0),a=t.find(e=>e.name===`Root`);if(a){let e=new ne(i);if(e.clipAction(a).play(),r)for(let n of r){let r=t.find(e=>e.name.toLowerCase()===n.toLowerCase());if(r){let t=e.clipAction(r);t.time=r.duration/2,t.setEffectiveTimeScale(0),t.play()}}e.setTime(0)}i.updateMatrixWorld(!0);let o=null,s=null;return i.traverse(e=>{!o&&e.name===n&&(o=new d,s=new l,e.getWorldPosition(o),e.getWorldQuaternion(s))}),!o||!s?null:{position:o,quaternion:s}}function ke(e){e.computeVertexNormals();let t=e.attributes.position,n=e.attributes.normal;if(!t||!n)return;let r=t.array,i=n.array,a=new Map;for(let e=0;e1){let t=0,n=0,r=0;for(let a of e)t+=i[a*3],n+=i[a*3+1],r+=i[a*3+2];let a=Math.sqrt(t*t+n*n+r*r);a>0&&(t/=a,n/=a,r/=a);for(let a of e)i[a*3]=t,i[a*3+1]=n,i[a*3+2]=r}n.needsUpdate=!0}function Q(e,t,n=!1,r={}){let i=e.userData?.resource_path,a=new Set(e.userData?.flag_names??[]),o=e.userData?.reflection_amount??1;if(!i){let t=new m({color:e.color,side:2,reflectivity:0});return G(t),{material:t}}let s=r.emap?o:0;if(a.has(`IflMaterial`)){let r=K(e,null,a,n,t,!1,s);if(Array.isArray(r)){let e=r[1];return{material:e,backMaterial:r[0],initialize:(t,n)=>$(e,i,t,n)}}return{material:r,initialize:(e,t)=>$(r,i,e,t)}}let c=S(x(i)),l=a.has(`Translucent`);n||l?C(c,{disableMipmaps:!0,anisotropy:r.anisotropy}):C(c,{anisotropy:r.anisotropy});let u=K(e,c,a,n,t,!1,s);return Array.isArray(u)?{material:u[1],backMaterial:u[0]}:{material:u}}async function $(e,t,n,r){let i=await B(`textures/${t}.ifl`);e.map=i.texture,e.needsUpdate=!0;let a=!1,o=n.onBeforeRender;return n.onBeforeRender=function(...e){o?.apply(this,e),!a&&R(i,z(i,r()))},()=>{a=!0,n.onBeforeRender=o??(()=>{})}}function Ae(e,t,n={}){let r=[],i=t?M(t):!1,a=[];e.traverse(e=>{if(!e.isMesh)return;if(e.material?.name===`Unassigned`){e.visible=!1;return}if(typeof e.userData?.dts_detail_size==`number`&&e.userData.dts_detail_size<0){e.visible=!1;return}(e.userData?.vis??1)<.01&&(e.visible=!1),e.geometry&&ke(e.geometry);let t=e.userData?.vis_sequence?1:e.userData?.vis??1;if(Array.isArray(e.material))e.material=e.material.map(o=>{let s=Q(o,t,i,n);if(s.initialize&&r.push({mesh:e,initialize:s.initialize}),s.backMaterial&&e.parent){let t=e.clone();t.material=s.backMaterial,a.push({parent:e.parent,mesh:t})}return s.material});else if(e.material){let o=Q(e.material,t,i,n);if(o.initialize&&r.push({mesh:e,initialize:o.initialize}),e.material=o.material,o.backMaterial&&e.parent){let t=e.clone();t.material=o.backMaterial,a.push({parent:e.parent,mesh:t})}}});for(let{parent:e,mesh:t}of a)e.add(t);return r}function je(e){e.traverse(e=>{if(e.geometry&&e.geometry.dispose(),e.material){let t=Array.isArray(e.material)?e.material:[e.material];for(let e of t)e.dispose()}})}function Me(e){switch(e.toLowerCase()){case`player`:return`#00ff88`;case`vehicle`:return`#ff8800`;case`projectile`:return`#ff0044`;case`deployable`:return`#ffcc00`;default:return`#8888ff`}}export{j as A,R as C,ue as D,M as E,se as O,B as S,de as T,K as _,Se as a,W as b,Me as c,Ae as d,Q as f,Te as g,Ce as h,X as i,ce as k,Ee as l,we as m,ve as n,De as o,Z as p,be as r,je as s,ye as t,Oe as u,me as v,V as w,z as x,pe as y}; \ No newline at end of file diff --git a/docs/assets/preload-helper-yuLzSqLi.js b/docs/assets/preload-helper-BPkniflS.js similarity index 100% rename from docs/assets/preload-helper-yuLzSqLi.js rename to docs/assets/preload-helper-BPkniflS.js diff --git a/docs/assets/react-three-fiber.esm-CD18QK1u.js b/docs/assets/react-three-fiber.esm-CD18QK1u.js new file mode 100644 index 00000000..ba7de50e --- /dev/null +++ b/docs/assets/react-three-fiber.esm-CD18QK1u.js @@ -0,0 +1,12 @@ +import{r as e,t}from"./chunk-DECur_0Z.js";import{r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import{t as i}from"./traditional-ec-lUAFC.js";import{At as a,Et as o,H as s,Ut as c,Wt as l,X as u,b as d,gt as f,ht as p,kt as m,n as h,r as g,x as _,y as v}from"./three.module-C9W4LJrj.js";var y=t((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0>>1,a=e[r];if(0>>1;ri(c,n))li(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(li(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(e.unstable_now=void 0,typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=!1,_=typeof setTimeout==`function`?setTimeout:null,v=typeof clearTimeout==`function`?clearTimeout:null,y=typeof setImmediate<`u`?setImmediate:null;function ee(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function te(e){if(h=!1,ee(e),!m)if(n(c)!==null)m=!0,ne||(ne=!0,b());else{var t=n(l);t!==null&&le(te,t.startTime-e)}}var ne=!1,re=-1,ie=5,ae=-1;function oe(){return g?!0:!(e.unstable_now()-aet&&oe());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=t);if(t=e.unstable_now(),typeof s==`function`){d.callback=s,ee(t),i=!0;break b}d===n(c)&&r(c),ee(t)}else r(c);d=n(c)}if(d!==null)i=!0;else{var u=n(l);u!==null&&le(te,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}i=void 0}}finally{i?b():ne=!1}}}var b;if(typeof y==`function`)b=function(){y(se)};else if(typeof MessageChannel<`u`){var ce=new MessageChannel,x=ce.port2;ce.port1.onmessage=se,b=function(){x.postMessage(null)}}else b=function(){_(se,0)};function le(t,n){re=_(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_forceFrameRate=function(e){0>e||125o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(v(re),re=-1):h=!0,le(te,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,ne||(ne=!0,b()))),r},e.unstable_shouldYield=oe,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),ee=t(((e,t)=>{t.exports=y()})),te=e=>typeof e==`object`&&typeof e.then==`function`,ne=[];function re(e,t,n=(e,t)=>e===t){if(e===t)return!0;if(!e||!t)return!1;let r=e.length;if(t.length!==r)return!1;for(let i=0;i0&&(e.timeout&&clearTimeout(e.timeout),e.timeout=setTimeout(e.remove,r.lifespan)),e.response;if(!n)throw e.promise}let i={keys:t,equal:r.equal,remove:()=>{let e=ne.indexOf(i);e!==-1&&ne.splice(e,1)},promise:(te(e)?e:e(...t)).then(e=>{i.response=e,r.lifespan&&r.lifespan>0&&(i.timeout=setTimeout(i.remove,r.lifespan))}).catch(e=>i.error=e)};if(ne.push(i),!n)throw i.promise}var ae=(e,t,n)=>ie(e,t,!1,n),oe=(e,t,n)=>void ie(e,t,!0,n),se=e=>{if(e===void 0||e.length===0)ne.splice(0,ne.length);else{let t=ne.find(t=>re(e,t.keys,t.equal));t&&t.remove()}},b=e(n(),1);typeof window<`u`&&(window.document?.createElement||window.navigator?.product===`ReactNative`)?b.useLayoutEffect:b.useEffect;function ce(e,t,n){if(!e)return;if(n(e)===!0)return e;let r=t?e.return:e.child;for(;r;){let e=ce(r,t,n);if(e)return e;r=t?null:r.sibling}}function x(e){try{return Object.defineProperties(e,{_currentRenderer:{get(){return null},set(){}},_currentRenderer2:{get(){return null},set(){}}})}catch{return e}}var le=x(b.createContext(null)),S=class extends b.Component{render(){return b.createElement(le.Provider,{value:this._reactInternals},this.props.children)}};function C(){let e=b.useContext(le);if(e===null)throw Error(`its-fine: useFiber must be called within a !`);let t=b.useId();return b.useMemo(()=>{for(let n of[e,e?.alternate]){if(!n)continue;let e=ce(n,!1,e=>{let n=e.memoizedState;for(;n;){if(n.memoizedState===t)return!0;n=n.next}});if(e)return e}},[e,t])}var ue=Symbol.for(`react.context`),w=e=>typeof e==`object`&&!!e&&`$$typeof`in e&&e.$$typeof===ue;function de(){let e=C(),[t]=b.useState(()=>new Map);t.clear();let n=e;for(;n;){let e=n.type;w(e)&&e!==le&&!t.has(e)&&t.set(e,b.use(x(e))),n=n.return}return t}function fe(){let e=de();return b.useMemo(()=>Array.from(e.keys()).reduce((t,n)=>r=>b.createElement(t,null,b.createElement(n.Provider,{...r,value:e.get(n)})),e=>b.createElement(S,{...e})),[e])}var pe=e(ee()),me=r();function he(e){let t=e.root;for(;t.getState().previousRoot;)t=t.getState().previousRoot;return t}b.act;var ge=e=>e&&e.isOrthographicCamera,_e=e=>e&&e.hasOwnProperty(`current`),ve=e=>e!=null&&(typeof e==`string`||typeof e==`number`||e.isColor),ye=((e,t)=>typeof window<`u`&&((e=window.document)?.createElement||(t=window.navigator)?.product===`ReactNative`))()?b.useLayoutEffect:b.useEffect;function be(e){let t=b.useRef(e);return ye(()=>void(t.current=e),[e]),t}function xe(){let e=C(),t=fe();return b.useMemo(()=>({children:n})=>(0,me.jsx)(ce(e,!0,e=>e.type===b.StrictMode)?b.StrictMode:b.Fragment,{children:(0,me.jsx)(t,{children:n})}),[e,t])}function Se({set:e}){return ye(()=>(e(new Promise(()=>null)),()=>e(!1)),[e]),null}var Ce=(e=>(e=class extends b.Component{constructor(...e){super(...e),this.state={error:!1}}componentDidCatch(e){this.props.set(e)}render(){return this.state.error?null:this.props.children}},e.getDerivedStateFromError=()=>({error:!0}),e))();function we(e){let t=typeof window<`u`?window.devicePixelRatio??2:1;return Array.isArray(e)?Math.min(Math.max(e[0],t),e[1]):e}function Te(e){return e.__r3f?.root.getState()}var T={obj:e=>e===Object(e)&&!T.arr(e)&&typeof e!=`function`,fun:e=>typeof e==`function`,str:e=>typeof e==`string`,num:e=>typeof e==`number`,boo:e=>typeof e==`boolean`,und:e=>e===void 0,nul:e=>e===null,arr:e=>Array.isArray(e),equ(e,t,{arrays:n=`shallow`,objects:r=`reference`,strict:i=!0}={}){if(typeof e!=typeof t||!!e!=!!t)return!1;if(T.str(e)||T.num(e)||T.boo(e))return e===t;let a=T.obj(e);if(a&&r===`reference`)return e===t;let o=T.arr(e);if(o&&n===`reference`)return e===t;if((o||a)&&e===t)return!0;let s;for(s in e)if(!(s in t))return!1;if(a&&n===`shallow`&&r===`shallow`){for(s in i?t:e)if(!T.equ(e[s],t[s],{strict:i,objects:`reference`}))return!1}else for(s in i?t:e)if(e[s]!==t[s])return!1;if(T.und(s)){if(o&&e.length===0&&t.length===0||a&&Object.keys(e).length===0&&Object.keys(t).length===0)return!0;if(e!==t)return!1}return!0}};function Ee(e){let t={nodes:{},materials:{},meshes:{}};return e&&e.traverse(e=>{e.name&&(t.nodes[e.name]=e),e.material&&!t.materials[e.material.name]&&(t.materials[e.material.name]=e.material),e.isMesh&&!t.meshes[e.name]&&(t.meshes[e.name]=e)}),t}function De(e){e.type!==`Scene`&&(e.dispose==null||e.dispose());for(let t in e){let n=e[t];n?.type!==`Scene`&&(n==null||n.dispose==null||n.dispose())}}var Oe=[`children`,`key`,`ref`];function ke(e){let t={};for(let n in e)Oe.includes(n)||(t[n]=e[n]);return t}function Ae(e,t,n,r){let i=e,a=i?.__r3f;return a||(a={root:t,type:n,parent:null,children:[],props:ke(r),object:i,eventCount:0,handlers:{},isHidden:!1},i&&(i.__r3f=a)),a}function je(e,t){if(!t.includes(`-`)||t in e)return{root:e,key:t,target:e[t]};let n=e,r=t.split(`-`);for(let i of r){if(typeof n!=`object`||!n){if(n!==void 0){let e=r.slice(r.indexOf(i)).join(`-`);return{root:n,key:e,target:void 0}}return{root:e,key:t,target:void 0}}t=i,e=n,n=n[t]}return{root:e,key:t,target:n}}var Me=/-\d+$/;function Ne(e,t){if(T.str(t.props.attach)){if(Me.test(t.props.attach)){let n=t.props.attach.replace(Me,``),{root:r,key:i}=je(e.object,n);Array.isArray(r[i])||(r[i]=[])}let{root:n,key:r}=je(e.object,t.props.attach);t.previousAttach=n[r],n[r]=t.object}else T.fun(t.props.attach)&&(t.previousAttach=t.props.attach(e.object,t.object))}function E(e,t){if(T.str(t.props.attach)){let{root:n,key:r}=je(e.object,t.props.attach),i=t.previousAttach;i===void 0?delete n[r]:n[r]=i}else t.previousAttach==null||t.previousAttach(e.object,t.object);delete t.previousAttach}var Pe=[...Oe,`args`,`dispose`,`attach`,`object`,`onUpdate`,`dispose`],Fe=new Map;function Ie(e){let t=Fe.get(e.constructor);try{t||(t=new e.constructor,Fe.set(e.constructor,t))}catch{}return t}function Le(e,t){let n={};for(let r in t)if(!Pe.includes(r)&&!T.equ(t[r],e.props[r])){n[r]=t[r];for(let e in t)e.startsWith(`${r}-`)&&(n[e]=t[e])}for(let r in e.props){if(Pe.includes(r)||t.hasOwnProperty(r))continue;let{root:i,key:a}=je(e.object,r);if(i.constructor&&i.constructor.length===0){let e=Ie(i);T.und(e)||(n[a]=e[a])}else n[a]=0}return n}var Re=[`map`,`emissiveMap`,`sheenColorMap`,`specularColorMap`,`envMap`],ze=/^on(Pointer|Click|DoubleClick|ContextMenu|Wheel)/;function Be(e,t){var n;let r=e.__r3f,i=r&&he(r).getState(),a=r?.eventCount;for(let n in t){let a=t[n];if(Pe.includes(n))continue;if(r&&ze.test(n)){typeof a==`function`?r.handlers[n]=a:delete r.handlers[n],r.eventCount=Object.keys(r.handlers).length;continue}if(a===void 0)continue;let{root:c,key:l,target:u}=je(e,n);if(u===void 0&&(typeof c!=`object`||!c))throw Error(`R3F: Cannot set "${n}". Ensure it is an object before setting "${l}".`);if(u instanceof s&&a instanceof s)u.mask=a.mask;else if(u instanceof d&&ve(a))u.set(a);else if(typeof u==`object`&&u&&typeof u.set==`function`&&typeof u.copy==`function`&&a!=null&&a.constructor&&u.constructor===a.constructor)u.copy(a);else if(typeof u==`object`&&u&&typeof u.set==`function`&&Array.isArray(a))typeof u.fromArray==`function`?u.fromArray(a):u.set(...a);else if(typeof u==`object`&&u&&typeof u.set==`function`&&typeof a==`number`)typeof u.setScalar==`function`?u.setScalar(a):u.set(a);else{var o;c[l]=a,i&&!i.linear&&Re.includes(l)&&(o=c[l])!=null&&o.isTexture&&c[l].format===1023&&c[l].type===1009&&(c[l].colorSpace=m)}}if(r!=null&&r.parent&&i!=null&&i.internal&&(n=r.object)!=null&&n.isObject3D&&a!==r.eventCount){let e=r.object,t=i.internal.interaction.indexOf(e);t>-1&&i.internal.interaction.splice(t,1),r.eventCount&&e.raycast!==null&&i.internal.interaction.push(e)}return r&&r.props.attach===void 0&&(r.object.isBufferGeometry?r.props.attach=`geometry`:r.object.isMaterial&&(r.props.attach=`material`)),r&&Ve(r),e}function Ve(e){var t;if(!e.parent)return;e.props.onUpdate==null||e.props.onUpdate(e.object);let n=(t=e.root)==null||t.getState==null?void 0:t.getState();n&&n.internal.frames===0&&n.invalidate()}function He(e,t){e.manual||(ge(e)?(e.left=t.width/-2,e.right=t.width/2,e.top=t.height/2,e.bottom=t.height/-2):e.aspect=t.width/t.height,e.updateProjectionMatrix())}var Ue=e=>e?.isObject3D;function We(e){return(e.eventObject||e.object).uuid+`/`+e.index+e.instanceId}function Ge(e,t,n,r){let i=n.get(t);i&&(n.delete(t),n.size===0&&(e.delete(r),i.target.releasePointerCapture(r)))}function Ke(e,t){let{internal:n}=e.getState();n.interaction=n.interaction.filter(e=>e!==t),n.initialHits=n.initialHits.filter(e=>e!==t),n.hovered.forEach((e,r)=>{(e.eventObject===t||e.object===t)&&n.hovered.delete(r)}),n.capturedMap.forEach((e,r)=>{Ge(n.capturedMap,t,e,r)})}function qe(e){function t(t){let{internal:n}=e.getState(),r=t.offsetX-n.initialClick[0],i=t.offsetY-n.initialClick[1];return Math.round(Math.sqrt(r*r+i*i))}function n(e){return e.filter(e=>[`Move`,`Over`,`Enter`,`Out`,`Leave`].some(t=>e.__r3f?.handlers[`onPointer`+t]))}function r(t,n){let r=e.getState(),i=new Set,a=[],o=n?n(r.internal.interaction):r.internal.interaction;for(let e=0;e{let n=Te(e.object),r=Te(t.object);return!n||!r?e.distance-t.distance:r.events.priority-n.events.priority||e.distance-t.distance}).filter(e=>{let t=We(e);return i.has(t)?!1:(i.add(t),!0)});r.events.filter&&(c=r.events.filter(c,r));for(let e of c){let t=e.object;for(;t;){var l;(l=t.__r3f)!=null&&l.eventCount&&a.push({...e,eventObject:t}),t=t.parent}}if(`pointerId`in t&&r.internal.capturedMap.has(t.pointerId))for(let e of r.internal.capturedMap.get(t.pointerId).values())i.has(We(e.intersection))||a.push(e.intersection);return a}function i(e,t,n,r){if(e.length){let i={stopped:!1};for(let o of e){let s=Te(o.object);if(s||o.object.traverseAncestors(e=>{let t=Te(e);if(t)return s=t,!1}),s){let{raycaster:c,pointer:u,camera:d,internal:f}=s,p=new l(u.x,u.y,0).unproject(d),m=e=>f.capturedMap.get(e)?.has(o.eventObject)??!1,h=e=>{let n={intersection:o,target:t.target};f.capturedMap.has(e)?f.capturedMap.get(e).set(o.eventObject,n):f.capturedMap.set(e,new Map([[o.eventObject,n]])),t.target.setPointerCapture(e)},g=e=>{let t=f.capturedMap.get(e);t&&Ge(f.capturedMap,o.eventObject,t,e)},_={};for(let e in t){let n=t[e];typeof n!=`function`&&(_[e]=n)}let v={...o,..._,pointer:u,intersections:e,stopped:i.stopped,delta:n,unprojectedPoint:p,ray:c.ray,camera:d,stopPropagation(){let n=`pointerId`in t&&f.capturedMap.get(t.pointerId);(!n||n.has(o.eventObject))&&(v.stopped=i.stopped=!0,f.hovered.size&&Array.from(f.hovered.values()).find(e=>e.eventObject===o.eventObject)&&a([...e.slice(0,e.indexOf(o)),o]))},target:{hasPointerCapture:m,setPointerCapture:h,releasePointerCapture:g},currentTarget:{hasPointerCapture:m,setPointerCapture:h,releasePointerCapture:g},nativeEvent:t};if(r(v),i.stopped===!0)break}}}return e}function a(t){let{internal:n}=e.getState();for(let e of n.hovered.values())if(!t.length||!t.find(t=>t.object===e.object&&t.index===e.index&&t.instanceId===e.instanceId)){let r=e.eventObject.__r3f;if(n.hovered.delete(We(e)),r!=null&&r.eventCount){let n=r.handlers,i={...e,intersections:t};n.onPointerOut==null||n.onPointerOut(i),n.onPointerLeave==null||n.onPointerLeave(i)}}}function o(e,t){for(let n=0;na([]);case`onLostPointerCapture`:return t=>{let{internal:n}=e.getState();`pointerId`in t&&n.capturedMap.has(t.pointerId)&&requestAnimationFrame(()=>{n.capturedMap.has(t.pointerId)&&(n.capturedMap.delete(t.pointerId),a([]))})}}return function(c){let{onPointerMissed:l,internal:u}=e.getState();u.lastEvent.current=c;let d=s===`onPointerMove`,f=s===`onClick`||s===`onContextMenu`||s===`onDoubleClick`,p=r(c,d?n:void 0),m=f?t(c):0;s===`onPointerDown`&&(u.initialClick=[c.offsetX,c.offsetY],u.initialHits=p.map(e=>e.eventObject)),f&&!p.length&&m<=2&&(o(c,u.interaction),l&&l(c)),d&&a(p);function h(e){let t=e.eventObject,n=t.__r3f;if(!(n!=null&&n.eventCount))return;let r=n.handlers;if(d){if(r.onPointerOver||r.onPointerEnter||r.onPointerOut||r.onPointerLeave){let t=We(e),n=u.hovered.get(t);n?n.stopped&&e.stopPropagation():(u.hovered.set(t,e),r.onPointerOver==null||r.onPointerOver(e),r.onPointerEnter==null||r.onPointerEnter(e))}r.onPointerMove==null||r.onPointerMove(e)}else{let n=r[s];n?(!f||u.initialHits.includes(t))&&(o(c,u.interaction.filter(e=>!u.initialHits.includes(e))),n(e)):f&&u.initialHits.includes(t)&&o(c,u.interaction.filter(e=>!u.initialHits.includes(e)))}}i(p,c,m,h)}}return{handlePointer:s}}var Je=e=>!!(e!=null&&e.render),Ye=b.createContext(null),Xe=(e,t)=>{let n=i((n,r)=>{let i=new l,a=new l,o=new l;function s(e=r().camera,t=a,n=r().size){let{width:s,height:c,top:l,left:u}=n,d=s/c;t.isVector3?o.copy(t):o.set(...t);let f=e.getWorldPosition(i).distanceTo(o);if(ge(e))return{width:s/e.zoom,height:c/e.zoom,top:l,left:u,factor:1,distance:f,aspect:d};{let t=e.fov*Math.PI/180,n=2*Math.tan(t/2)*f,r=s/c*n;return{width:r,height:n,top:l,left:u,factor:s/r,distance:f,aspect:d}}}let u,d=e=>n(t=>({performance:{...t.performance,current:e}})),f=new c;return{set:n,get:r,gl:null,camera:null,raycaster:null,events:{priority:1,enabled:!0,connected:!1},scene:null,xr:null,invalidate:(t=1)=>e(r(),t),advance:(e,n)=>t(e,n,r()),legacy:!1,linear:!1,flat:!1,controls:null,clock:new v,pointer:f,mouse:f,frameloop:`always`,onPointerMissed:void 0,performance:{current:1,min:.5,max:1,debounce:200,regress:()=>{let e=r();u&&clearTimeout(u),e.performance.current!==e.performance.min&&d(e.performance.min),u=setTimeout(()=>d(r().performance.max),e.performance.debounce)}},size:{width:0,height:0,top:0,left:0},viewport:{initialDpr:0,dpr:0,width:0,height:0,top:0,left:0,aspect:0,distance:0,factor:0,getCurrentViewport:s},setEvents:e=>n(t=>({...t,events:{...t.events,...e}})),setSize:(e,t,i=0,o=0)=>{let c=r().camera,l={width:e,height:t,top:i,left:o};n(e=>({size:l,viewport:{...e.viewport,...s(c,a,l)}}))},setDpr:e=>n(t=>{let n=we(e);return{viewport:{...t.viewport,dpr:n,initialDpr:t.viewport.initialDpr||n}}}),setFrameloop:(e=`always`)=>{let t=r().clock;t.stop(),t.elapsedTime=0,e!==`never`&&(t.start(),t.elapsedTime=0),n(()=>({frameloop:e}))},previousRoot:void 0,internal:{interaction:[],hovered:new Map,subscribers:[],initialClick:[0,0],initialHits:[],capturedMap:new Map,lastEvent:b.createRef(),active:!1,frames:0,priority:0,subscribe:(e,t,n)=>{let i=r().internal;return i.priority+=t>0?1:0,i.subscribers.push({ref:e,priority:t,store:n}),i.subscribers=i.subscribers.sort((e,t)=>e.priority-t.priority),()=>{let n=r().internal;n!=null&&n.subscribers&&(n.priority-=t>0?1:0,n.subscribers=n.subscribers.filter(t=>t.ref!==e))}}}}}),r=n.getState(),a=r.size,o=r.viewport.dpr,s=r.camera;return n.subscribe(()=>{let{camera:e,size:t,viewport:r,gl:i,set:c}=n.getState();if(t.width!==a.width||t.height!==a.height||r.dpr!==o){a=t,o=r.dpr,He(e,t),r.dpr>0&&i.setPixelRatio(r.dpr);let n=typeof HTMLCanvasElement<`u`&&i.domElement instanceof HTMLCanvasElement;i.setSize(t.width,t.height,n)}e!==s&&(s=e,c(t=>({viewport:{...t.viewport,...t.viewport.getCurrentViewport(e)}})))}),n.subscribe(t=>e(t)),n};function Ze(){let e=b.useContext(Ye);if(!e)throw Error(`R3F: Hooks can only be used within the Canvas component!`);return e}function Qe(e=e=>e,t){return Ze()(e,t)}function $e(e,t=0){let n=Ze(),r=n.getState().internal.subscribe,i=be(e);return ye(()=>r(i,t,n),[t,r,n]),null}var et=new WeakMap,tt=e=>typeof e==`function`&&e?.prototype?.constructor===e;function nt(e,t){return function(n,...r){let i;return tt(n)?(i=et.get(n),i||(i=new n,et.set(n,i))):i=n,e&&e(i),Promise.all(r.map(e=>new Promise((n,r)=>i.load(e,e=>{Ue(e?.scene)&&Object.assign(e,Ee(e.scene)),n(e)},t,t=>r(Error(`Could not load ${e}: ${t?.message}`))))))}}function rt(e,t,n,r){let i=Array.isArray(t)?t:[t],a=ae(nt(n,r),[e,...i],{equal:T.equ});return Array.isArray(t)?a:a[0]}rt.preload=function(e,t,n){let r=Array.isArray(t)?t:[t];return oe(nt(n),[e,...r])},rt.clear=function(e,t){return se([e,...Array.isArray(t)?t:[t]])};var it=1,at=8,ot=32,st=2,ct={name:`@react-three/fiber`,version:`9.5.0`,description:`A React renderer for Threejs`,keywords:[`react`,`renderer`,`fiber`,`three`,`threejs`],author:`Paul Henschel (https://github.com/drcmda)`,license:`MIT`,maintainers:[`Josh Ellis (https://github.com/joshuaellis)`,`Cody Bennett (https://github.com/codyjasonbennett)`,`Kris Baumgarter (https://github.com/krispya)`],bugs:{url:`https://github.com/pmndrs/react-three-fiber/issues`},homepage:`https://github.com/pmndrs/react-three-fiber#readme`,repository:{type:`git`,url:`git+https://github.com/pmndrs/react-three-fiber.git`},collective:{type:`opencollective`,url:`https://opencollective.com/react-three-fiber`},main:`dist/react-three-fiber.cjs.js`,module:`dist/react-three-fiber.esm.js`,types:`dist/react-three-fiber.cjs.d.ts`,"react-native":`native/dist/react-three-fiber-native.cjs.js`,sideEffects:!1,preconstruct:{entrypoints:[`index.tsx`,`native.tsx`]},scripts:{prebuild:`cp ../../readme.md readme.md`},devDependencies:{"@types/react-reconciler":`^0.32.3`,"react-reconciler":`^0.33.0`},dependencies:{"@babel/runtime":`^7.17.8`,"@types/webxr":`*`,"base64-js":`^1.5.1`,buffer:`^6.0.3`,"its-fine":`^2.0.0`,"react-use-measure":`^2.1.7`,scheduler:`^0.27.0`,"suspend-react":`^0.1.3`,"use-sync-external-store":`^1.4.0`,zustand:`^5.0.3`},peerDependencies:{expo:`>=43.0`,"expo-asset":`>=8.4`,"expo-file-system":`>=11.0`,"expo-gl":`>=11.0`,react:`>=19 <19.3`,"react-dom":`>=19 <19.3`,"react-native":`>=0.78`,three:`>=0.156`},peerDependenciesMeta:{"react-dom":{optional:!0},"react-native":{optional:!0},expo:{optional:!0},"expo-asset":{optional:!0},"expo-file-system":{optional:!0},"expo-gl":{optional:!0}}};function lt(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,`default`)?e.default:e}var ut={exports:{}},dt={exports:{}};dt.exports;var ft;function pt(){return ft||(ft=1,function(e){e.exports=function(e){function t(e,t,n,r){return new wa(e,t,n,r)}function n(){}function r(e){var t=`https://react.dev/errors/`+e;if(1wc||(e.current=Cc[wc],Cc[wc]=null,wc--)}function p(e,t){wc++,Cc[wc]=e.current,e.current=t}function m(e){return e>>>=0,e===0?32:31-(Dc(e)/Oc|0)|0}function h(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function g(e,t,n){var r=e.pendingLanes;if(r===0)return 0;var i=0,a=e.suspendedLanes,o=e.pingedLanes;e=e.warmLanes;var s=r&134217727;return s===0?(s=r&~a,s===0?o===0?n||(n=r&~e,n!==0&&(i=h(n))):i=h(o):i=h(s)):(r=s&~a,r===0?(o&=s,o===0?n||(n=s&~e,n!==0&&(i=h(n))):i=h(o)):i=h(r)),i===0?0:t!==0&&t!==i&&(t&a)===0&&(a=i&-i,n=t&-t,a>=n||a===32&&n&4194048)?t:i}function _(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function v(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function y(){var e=jc;return jc<<=1,!(jc&62914560)&&(jc=4194304),e}function ee(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function te(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function ne(e,t,n,r,i,a){var o=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var s=e.entanglements,c=e.expirationTimes,l=e.hiddenUpdates;for(n=o&~n;0)`:-1i||c[r]!==l[i]){var u=` +`+c[r].replace(` at new `,` at `);return e.displayName&&u.includes(``)&&(u=u.replace(``,e.displayName)),u}while(1<=r&&0<=i);break}}}finally{Xc=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:``)?le(n):``}function C(e,t){switch(e.tag){case 26:case 27:case 5:return le(e.type);case 16:return le(`Lazy`);case 13:return e.child!==t&&t!==null?le(`Suspense Fallback`):le(`Suspense`);case 19:return le(`SuspenseList`);case 0:case 15:return S(e.type,!1);case 11:return S(e.type.render,!1);case 1:return S(e.type,!0);case 31:return le(`Activity`);default:return``}}function ue(e){try{var t=``,n=null;do t+=C(e,n),n=e,e=e.return;while(e);return t}catch(e){return` +Error generating stack: `+e.message+` +`+e.stack}}function w(e,t){if(typeof e==`object`&&e){var n=Zc.get(e);return n===void 0?(t={value:e,source:t,stack:ue(t)},Zc.set(e,t),t):n}return{value:e,source:t,stack:ue(t)}}function de(e,t){Qc[$c++]=tl,Qc[$c++]=el,el=e,tl=t}function fe(e,t,n){nl[rl++]=al,nl[rl++]=ol,nl[rl++]=il,il=e;var r=al;e=ol;var i=32-Ec(r)-1;r&=~(1<>=o,i-=o,al=1<<32-Ec(t)+i|n<f?(p=d,d=null):p=d.sibling;var _=h(t,d,o[f],c);if(_===null){d===null&&(d=p);break}e&&d&&_.alternate===null&&n(t,d),r=s(_,r,f),u===null?l=_:u.sibling=_,u=_,d=p}if(f===o.length)return i(t,d),L&&de(t,f),l;if(d===null){for(;fp?(_=f,f=null):_=f.sibling;var y=h(t,f,v.value,l);if(y===null){f===null&&(f=_);break}e&&f&&y.alternate===null&&n(t,f),o=s(y,o,p),d===null?u=y:d.sibling=y,d=y,f=_}if(v.done)return i(t,f),L&&de(t,p),u;if(f===null){for(;!v.done;p++,v=c.next())v=m(t,v.value,l),v!==null&&(o=s(v,o,p),d===null?u=v:d.sibling=v,d=v);return L&&de(t,p),u}for(f=a(f);!v.done;p++,v=c.next())v=g(f,t,p,v.value,l),v!==null&&(e&&v.alternate!==null&&f.delete(v.key===null?p:v.key),o=s(v,o,p),d===null?u=v:d.sibling=v,d=v);return e&&f.forEach(function(e){return n(t,e)}),L&&de(t,p),u}function y(e,t,a,s){if(typeof a==`object`&&a&&a.type===Ka&&a.key===null&&(a=a.props.children),typeof a==`object`&&a){switch(a.$$typeof){case Wa:e:{for(var u=a.key;t!==null;){if(t.key===u){if(u=a.type,u===Ka){if(t.tag===7){i(e,t.sibling),s=o(t,a.props.children),s.return=e,e=s;break e}}else if(t.elementType===u||typeof u==`object`&&u&&u.$$typeof===to&&rt(u)===t.type){i(e,t.sibling),s=o(t,a.props),st(s,a),s.return=e,e=s;break e}i(e,t);break}else n(e,t);t=t.sibling}a.type===Ka?(s=ka(a.props.children,e.mode,s,a.key),s.return=e,e=s):(s=Oa(a.type,a.key,a.props,null,e.mode,s),st(s,a),s.return=e,e=s)}return c(e);case Ga:e:{for(u=a.key;t!==null;){if(t.key===u)if(t.tag===4&&t.stateNode.containerInfo===a.containerInfo&&t.stateNode.implementation===a.implementation){i(e,t.sibling),s=o(t,a.children||[]),s.return=e,e=s;break e}else{i(e,t);break}else n(e,t);t=t.sibling}s=Ma(a,e.mode,s),s.return=e,e=s}return c(e);case to:return a=rt(a),y(e,t,a,s)}if(oo(a))return _(e,t,a,s);if(l(a)){if(u=l(a),typeof u!=`function`)throw Error(r(150));return a=u.call(a),v(e,t,a,s)}if(typeof a.then==`function`)return y(e,t,ot(a),s);if(a.$$typeof===Xa)return y(e,t,Pe(e,a),s);ct(e,a)}return typeof a==`string`&&a!==``||typeof a==`number`||typeof a==`bigint`?(a=``+a,t!==null&&t.tag===6?(i(e,t.sibling),s=o(t,a),s.return=e,e=s):(i(e,t),s=Aa(a,e.mode,s),s.return=e,e=s),c(e)):i(e,t)}return function(e,n,r,i){try{zl=0;var a=y(e,n,r,i);return Rl=null,a}catch(n){if(n===Nl||n===Fl)throw n;var o=t(29,n,null,e.mode);return o.lanes=i,o.return=e,o}}}function ut(){for(var e=Ul,t=Wl=Ul=0;ta?a:8);var o=N.T,s={};N.T=s,Wn(e,!1,t,n);try{var c=i(),l=N.S;l!==null&&l(s,c),typeof c==`object`&&c&&typeof c.then==`function`?Un(e,t,Xe(c,r),Bi(e)):Un(e,t,r,Bi(e))}catch(n){Un(e,t,{then:function(){},status:`rejected`,reason:n},Bi())}finally{P(a),o!==null&&s.types!==null&&(o.types=s.types),N.T=o}}function In(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:Vo,baseState:Vo,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:qt,lastRenderedState:Vo},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:qt,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function Ln(){return E(Ho)}function Rn(){return k().memoizedState}function zn(){return k().memoizedState}function Bn(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=Bi();e=vt(n);var r=yt(t,e,n);r!==null&&(Hi(r,t,n),bt(r,t,n)),t={cache:Ie()},e.payload=t;return}t=t.return}}function Vn(e,t,n){var r=Bi();n={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},Gn(e)?Kn(t,n):(n=ft(e,t,n,r),n!==null&&(Hi(n,e,r),qn(n,t,r)))}function Hn(e,t,n){Un(e,t,n,Bi())}function Un(e,t,n,r){var i={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(Gn(e))Kn(t,i);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var o=t.lastRenderedState,s=a(o,n);if(i.hasEagerState=!0,i.eagerState=s,Gc(s,o))return dt(e,t,i,0),J===null&&ut(),!1}catch{}if(n=ft(e,t,i,r),n!==null)return Hi(n,e,r),qn(n,t,r),!0}return!1}function Wn(e,t,n,i){if(i={lane:2,revertLane:qe(),gesture:null,action:i,hasEagerState:!1,eagerState:null,next:null},Gn(e)){if(t)throw Error(r(479))}else t=ft(e,n,i,2),t!==null&&Hi(t,e,2)}function Gn(e){var t=e.alternate;return e===B||t!==null&&t===B}function Kn(e,t){$l=Ql=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function qn(e,t,n){if(n&4194048){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,ie(e,n)}}function Jn(e,t,n,r){t=e.memoizedState,n=n(r,t),n=n==null?t:Ha({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}function Yn(e,t,n,r,i,a,o){return e=e.stateNode,typeof e.shouldComponentUpdate==`function`?e.shouldComponentUpdate(r,a,o):t.prototype&&t.prototype.isPureReactComponent?!et(n,r)||!et(i,a):!0}function Xn(e,t,n,r){e=t.state,typeof t.componentWillReceiveProps==`function`&&t.componentWillReceiveProps(n,r),typeof t.UNSAFE_componentWillReceiveProps==`function`&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&lu.enqueueReplaceState(t,t.state,null)}function Zn(e,t){var n=t;if(`ref`in t)for(var r in n={},t)r!==`ref`&&(n[r]=t[r]);if(e=e.defaultProps)for(var i in n===t&&(n=Ha({},n)),e)n[i]===void 0&&(n[i]=e[i]);return n}function Qn(e,t){try{var n=e.onUncaughtError;n(t.value,{componentStack:t.stack})}catch(e){setTimeout(function(){throw e})}}function $n(e,t,n){try{var r=e.onCaughtError;r(n.value,{componentStack:n.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(e){setTimeout(function(){throw e})}}function er(e,t,n){return n=vt(n),n.tag=3,n.payload={element:null},n.callback=function(){Qn(e,t)},n}function tr(e){return e=vt(e),e.tag=3,e}function nr(e,t,n,r){var i=n.type.getDerivedStateFromError;if(typeof i==`function`){var a=r.value;e.payload=function(){return i(a)},e.callback=function(){$n(t,n,r)}}var o=n.stateNode;o!==null&&typeof o.componentDidCatch==`function`&&(e.callback=function(){$n(t,n,r),typeof i!=`function`&&(Uu===null?Uu=new Set([this]):Uu.add(this));var e=r.stack;this.componentDidCatch(r.value,{componentStack:e===null?``:e})})}function rr(e,t,n,i,a){if(n.flags|=32768,typeof i==`object`&&i&&typeof i.then==`function`){if(t=n.alternate,t!==null&&je(t,n,a,!0),n=Yl.current,n!==null){switch(n.tag){case 31:case 13:return Xl===null?ea():n.alternate===null&&Q===0&&(Q=3),n.flags&=-257,n.flags|=65536,n.lanes=a,i===Il?n.flags|=16384:(t=n.updateQueue,t===null?n.updateQueue=new Set([i]):t.add(i),va(e,i,a)),!1;case 22:return n.flags|=65536,i===Il?n.flags|=16384:(t=n.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([i])},n.updateQueue=t):(n=t.retryQueue,n===null?t.retryQueue=new Set([i]):n.add(i)),va(e,i,a)),!1}throw Error(r(435,n.tag))}return va(e,i,a),ea(),!1}if(L)return t=Yl.current,t===null?(i!==ml&&(t=Error(r(423),{cause:i}),Ee(w(t,n))),e=e.current.alternate,e.flags|=65536,a&=-a,e.lanes|=a,i=w(i,n),a=er(e.stateNode,i,a),xt(e,a),Q!==4&&(Q=2)):(!(t.flags&65536)&&(t.flags|=256),t.flags|=65536,t.lanes=a,i!==ml&&(e=Error(r(422),{cause:i}),Ee(w(e,n)))),!1;var o=Error(r(520),{cause:i});if(o=w(o,n),Iu===null?Iu=[o]:Iu.push(o),Q!==4&&(Q=2),t===null)return!0;i=w(i,n),n=t;do{switch(n.tag){case 3:return n.flags|=65536,e=a&-a,n.lanes|=e,e=er(n.stateNode,i,e),xt(n,e),!1;case 1:if(t=n.type,o=n.stateNode,!(n.flags&128)&&(typeof t.getDerivedStateFromError==`function`||o!==null&&typeof o.componentDidCatch==`function`&&(Uu===null||!Uu.has(o))))return n.flags|=65536,a&=-a,n.lanes|=a,a=tr(a),nr(a,e,n,i),xt(n,a),!1}n=n.return}while(n!==null);return!1}function ir(e,t,n,r){t.child=e===null?Vl(t,null,n,r):Bl(t,e.child,n,r)}function ar(e,t,n,r,i){n=n.render;var a=t.ref;if(`ref`in r){var o={};for(var s in r)s!==`ref`&&(o[s]=r[s])}else o=r;return Ne(t),r=It(e,t,n,o,a,i),s=Bt(),e!==null&&!U?(Vt(e,t,i),Or(e,t,i)):(L&&s&&me(t),t.flags|=1,ir(e,t,r,i),t.child)}function or(e,t,n,r,i){if(e===null){var a=n.type;return typeof a==`function`&&!Ta(a)&&a.defaultProps===void 0&&n.compare===null?(t.tag=15,t.type=a,sr(e,t,a,r,i)):(e=Oa(n.type,null,r,t,t.mode,i),e.ref=t.ref,e.return=t,t.child=e)}if(a=e.child,!kr(e,i)){var o=a.memoizedProps;if(n=n.compare,n=n===null?et:n,n(o,r)&&e.ref===t.ref)return Or(e,t,i)}return t.flags|=1,e=Ea(a,r),e.ref=t.ref,e.return=t,t.child=e}function sr(e,t,n,r,i){if(e!==null){var a=e.memoizedProps;if(et(a,r)&&e.ref===t.ref)if(U=!1,t.pendingProps=r=a,kr(e,i))e.flags&131072&&(U=!0);else return t.lanes=e.lanes,Or(e,t,i)}return hr(e,t,n,r,i)}function cr(e,t,n,r){var i=r.children,a=e===null?null:e.memoizedState;if(e===null&&t.stateNode===null&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),r.mode===`hidden`){if(t.flags&128){if(a=a===null?n:a.baseLanes|n,e!==null){for(r=t.child=e.child,i=0;r!==null;)i=i|r.lanes|r.childLanes,r=r.sibling;r=i&~a}else r=0,t.child=null;return ur(e,t,a,n,r)}if(n&536870912)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&Qe(t,a===null?null:a.cachePool),a===null?Dt():Et(t,a),jt(t);else return r=t.lanes=536870912,ur(e,t,a===null?n:a.baseLanes|n,n,r)}else a===null?(e!==null&&Qe(t,null),Dt(),Mt()):(Qe(t,a.cachePool),Et(t,a),Mt(),t.memoizedState=null);return ir(e,t,i,n),t.child}function lr(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function ur(e,t,n,r,i){var a=Ze();return a=a===null?null:{parent:wo?R._currentValue:R._currentValue2,pool:a},t.memoizedState={baseLanes:n,cachePool:a},e!==null&&Qe(t,null),Dt(),jt(t),e!==null&&je(e,t,r,!0),t.childLanes=i,null}function dr(e,t){return t=Cr({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function fr(e,t,n){return Bl(t,e.child,null,n),e=dr(t,t.pendingProps),e.flags|=2,Nt(t),t.memoizedState=null,e}function pr(e,t,n){var i=t.pendingProps,a=(t.flags&128)!=0;if(t.flags&=-129,e===null){if(L){if(i.mode===`hidden`)return e=dr(t,i),t.lanes=536870912,lr(null,e);if(At(t),(e=I)?(e=Ls(e,pl),e!==null&&(t.memoizedState={dehydrated:e,treeContext:il===null?null:{id:al,overflow:ol},retryLane:536870912,hydrationErrors:null},n=ja(e),n.return=t,t.child=n,dl=t,I=null)):e=null,e===null)throw xe(t);return t.lanes=536870912,null}return dr(t,i)}var o=e.memoizedState;if(o!==null){var s=o.dehydrated;if(At(t),a)if(t.flags&256)t.flags&=-257,t=fr(e,t,n);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(r(558));else if(U||je(e,t,n,!1),a=(n&e.childLanes)!==0,U||a){if(i=J,i!==null&&(s=ae(i,n),s!==0&&s!==o.retryLane))throw o.retryLane=s,pt(e,s),Hi(i,e,s),uu;ea(),t=fr(e,t,n)}else e=o.treeContext,Do&&(I=Ms(s),dl=t,L=!0,fl=null,pl=!1,e!==null&&ge(t,e)),t=dr(t,i),t.flags|=4096;return t}return e=Ea(e.child,{mode:i.mode,children:i.children}),e.ref=t.ref,t.child=e,e.return=t,e}function mr(e,t){var n=t.ref;if(n===null)e!==null&&e.ref!==null&&(t.flags|=4194816);else{if(typeof n!=`function`&&typeof n!=`object`)throw Error(r(284));(e===null||e.ref!==n)&&(t.flags|=4194816)}}function hr(e,t,n,r,i){return Ne(t),n=It(e,t,n,r,void 0,i),r=Bt(),e!==null&&!U?(Vt(e,t,i),Or(e,t,i)):(L&&r&&me(t),t.flags|=1,ir(e,t,n,i),t.child)}function gr(e,t,n,r,i,a){return Ne(t),t.updateQueue=null,n=Rt(t,r,n,i),Lt(e),r=Bt(),e!==null&&!U?(Vt(e,t,a),Or(e,t,a)):(L&&r&&me(t),t.flags|=1,ir(e,t,n,a),t.child)}function _r(e,t,n,r,i){if(Ne(t),t.stateNode===null){var a=Tc,o=n.contextType;typeof o==`object`&&o&&(a=E(o)),a=new n(r,a),t.memoizedState=a.state!==null&&a.state!==void 0?a.state:null,a.updater=lu,t.stateNode=a,a._reactInternals=t,a=t.stateNode,a.props=r,a.state=t.memoizedState,a.refs={},gt(t),o=n.contextType,a.context=typeof o==`object`&&o?E(o):Tc,a.state=t.memoizedState,o=n.getDerivedStateFromProps,typeof o==`function`&&(Jn(t,n,o,r),a.state=t.memoizedState),typeof n.getDerivedStateFromProps==`function`||typeof a.getSnapshotBeforeUpdate==`function`||typeof a.UNSAFE_componentWillMount!=`function`&&typeof a.componentWillMount!=`function`||(o=a.state,typeof a.componentWillMount==`function`&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount==`function`&&a.UNSAFE_componentWillMount(),o!==a.state&&lu.enqueueReplaceState(a,a.state,null),Ct(t,r,a,i),St(),a.state=t.memoizedState),typeof a.componentDidMount==`function`&&(t.flags|=4194308),r=!0}else if(e===null){a=t.stateNode;var s=t.memoizedProps,c=Zn(n,s);a.props=c;var l=a.context,u=n.contextType;o=Tc,typeof u==`object`&&u&&(o=E(u));var d=n.getDerivedStateFromProps;u=typeof d==`function`||typeof a.getSnapshotBeforeUpdate==`function`,s=t.pendingProps!==s,u||typeof a.UNSAFE_componentWillReceiveProps!=`function`&&typeof a.componentWillReceiveProps!=`function`||(s||l!==o)&&Xn(t,a,r,o),Gl=!1;var f=t.memoizedState;a.state=f,Ct(t,r,a,i),St(),l=t.memoizedState,s||f!==l||Gl?(typeof d==`function`&&(Jn(t,n,d,r),l=t.memoizedState),(c=Gl||Yn(t,n,c,r,f,l,o))?(u||typeof a.UNSAFE_componentWillMount!=`function`&&typeof a.componentWillMount!=`function`||(typeof a.componentWillMount==`function`&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount==`function`&&a.UNSAFE_componentWillMount()),typeof a.componentDidMount==`function`&&(t.flags|=4194308)):(typeof a.componentDidMount==`function`&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=l),a.props=r,a.state=l,a.context=o,r=c):(typeof a.componentDidMount==`function`&&(t.flags|=4194308),r=!1)}else{a=t.stateNode,_t(e,t),o=t.memoizedProps,u=Zn(n,o),a.props=u,d=t.pendingProps,f=a.context,l=n.contextType,c=Tc,typeof l==`object`&&l&&(c=E(l)),s=n.getDerivedStateFromProps,(l=typeof s==`function`||typeof a.getSnapshotBeforeUpdate==`function`)||typeof a.UNSAFE_componentWillReceiveProps!=`function`&&typeof a.componentWillReceiveProps!=`function`||(o!==d||f!==c)&&Xn(t,a,r,c),Gl=!1,f=t.memoizedState,a.state=f,Ct(t,r,a,i),St();var p=t.memoizedState;o!==d||f!==p||Gl||e!==null&&e.dependencies!==null&&Me(e.dependencies)?(typeof s==`function`&&(Jn(t,n,s,r),p=t.memoizedState),(u=Gl||Yn(t,n,u,r,f,p,c)||e!==null&&e.dependencies!==null&&Me(e.dependencies))?(l||typeof a.UNSAFE_componentWillUpdate!=`function`&&typeof a.componentWillUpdate!=`function`||(typeof a.componentWillUpdate==`function`&&a.componentWillUpdate(r,p,c),typeof a.UNSAFE_componentWillUpdate==`function`&&a.UNSAFE_componentWillUpdate(r,p,c)),typeof a.componentDidUpdate==`function`&&(t.flags|=4),typeof a.getSnapshotBeforeUpdate==`function`&&(t.flags|=1024)):(typeof a.componentDidUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=p),a.props=r,a.state=p,a.context=c,r=u):(typeof a.componentDidUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),r=!1)}return a=r,mr(e,t),r=(t.flags&128)!=0,a||r?(a=t.stateNode,n=r&&typeof n.getDerivedStateFromError!=`function`?null:a.render(),t.flags|=1,e!==null&&r?(t.child=Bl(t,e.child,null,i),t.child=Bl(t,null,n,i)):ir(e,t,n,i),t.memoizedState=a.state,e=t.child):e=Or(e,t,i),e}function vr(e,t,n,r){return Te(),t.flags|=256,ir(e,t,n,r),t.child}function yr(e){return{baseLanes:e,cachePool:$e()}}function br(e,t,n){return e=e===null?0:e.childLanes&~n,t&&(e|=Pu),e}function xr(e,t,n){var i=t.pendingProps,a=!1,o=(t.flags&128)!=0,s;if((s=o)||(s=e!==null&&e.memoizedState===null?!1:(z.current&2)!=0),s&&(a=!0,t.flags&=-129),s=(t.flags&32)!=0,t.flags&=-33,e===null){if(L){if(a?kt(t):Mt(),(e=I)?(e=Rs(e,pl),e!==null&&(t.memoizedState={dehydrated:e,treeContext:il===null?null:{id:al,overflow:ol},retryLane:536870912,hydrationErrors:null},n=ja(e),n.return=t,t.child=n,dl=t,I=null)):e=null,e===null)throw xe(t);return Cs(e)?t.lanes=32:t.lanes=536870912,null}var c=i.children;return i=i.fallback,a?(Mt(),a=t.mode,c=Cr({mode:`hidden`,children:c},a),i=ka(i,a,n,null),c.return=t,i.return=t,c.sibling=i,t.child=c,i=t.child,i.memoizedState=yr(n),i.childLanes=br(e,s,n),t.memoizedState=du,lr(null,i)):(kt(t),Sr(t,c))}var l=e.memoizedState;if(l!==null&&(c=l.dehydrated,c!==null)){if(o)t.flags&256?(kt(t),t.flags&=-257,t=wr(e,t,n)):t.memoizedState===null?(Mt(),c=i.fallback,a=t.mode,i=Cr({mode:`visible`,children:i.children},a),c=ka(c,a,n,null),c.flags|=2,i.return=t,c.return=t,i.sibling=c,t.child=i,Bl(t,e.child,null,n),i=t.child,i.memoizedState=yr(n),i.childLanes=br(e,s,n),t.memoizedState=du,t=lr(null,i)):(Mt(),t.child=e.child,t.flags|=128,t=null);else if(kt(t),Cs(c))s=ws(c).digest,i=Error(r(419)),i.stack=``,i.digest=s,Ee({value:i,source:null,stack:null}),t=wr(e,t,n);else if(U||je(e,t,n,!1),s=(n&e.childLanes)!==0,U||s){if(s=J,s!==null&&(i=ae(s,n),i!==0&&i!==l.retryLane))throw l.retryLane=i,pt(e,i),Hi(s,e,i),uu;Ss(c)||ea(),t=wr(e,t,n)}else Ss(c)?(t.flags|=192,t.child=e.child,t=null):(e=l.treeContext,Do&&(I=Ns(c),dl=t,L=!0,fl=null,pl=!1,e!==null&&ge(t,e)),t=Sr(t,i.children),t.flags|=4096);return t}return a?(Mt(),c=i.fallback,a=t.mode,l=e.child,o=l.sibling,i=Ea(l,{mode:`hidden`,children:i.children}),i.subtreeFlags=l.subtreeFlags&65011712,o===null?(c=ka(c,a,n,null),c.flags|=2):c=Ea(o,c),c.return=t,i.return=t,i.sibling=c,t.child=i,lr(null,i),i=t.child,c=e.child.memoizedState,c===null?c=yr(n):(a=c.cachePool,a===null?a=$e():(l=wo?R._currentValue:R._currentValue2,a=a.parent===l?a:{parent:l,pool:l}),c={baseLanes:c.baseLanes|n,cachePool:a}),i.memoizedState=c,i.childLanes=br(e,s,n),t.memoizedState=du,lr(e.child,i)):(kt(t),n=e.child,e=n.sibling,n=Ea(n,{mode:`visible`,children:i.children}),n.return=t,n.sibling=null,e!==null&&(s=t.deletions,s===null?(t.deletions=[e],t.flags|=16):s.push(e)),t.child=n,t.memoizedState=null,n)}function Sr(e,t){return t=Cr({mode:`visible`,children:t},e.mode),t.return=e,e.child=t}function Cr(e,n){return e=t(22,e,null,n),e.lanes=0,e}function wr(e,t,n){return Bl(t,e.child,null,n),e=Sr(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Tr(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),ke(e.return,t,n)}function Er(e,t,n,r,i,a){var o=e.memoizedState;o===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:i,treeForkCount:a}:(o.isBackwards=t,o.rendering=null,o.renderingStartTime=0,o.last=r,o.tail=n,o.tailMode=i,o.treeForkCount=a)}function Dr(e,t,n){var r=t.pendingProps,i=r.revealOrder,a=r.tail;r=r.children;var o=z.current,s=(o&2)!=0;if(s?(o=o&1|2,t.flags|=128):o&=1,p(z,o),ir(e,t,r,n),r=L?tl:0,!s&&e!==null&&e.flags&128)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Tr(e,n,t);else if(e.tag===19)Tr(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(i){case`forwards`:for(n=t.child,i=null;n!==null;)e=n.alternate,e!==null&&Pt(e)===null&&(i=n),n=n.sibling;n=i,n===null?(i=t.child,t.child=null):(i=n.sibling,n.sibling=null),Er(t,!1,i,n,a,r);break;case`backwards`:case`unstable_legacy-backwards`:for(n=null,i=t.child,t.child=null;i!==null;){if(e=i.alternate,e!==null&&Pt(e)===null){t.child=i;break}e=i.sibling,i.sibling=n,n=i,i=e}Er(t,!0,n,null,a,r);break;case`together`:Er(t,!1,null,null,void 0,r);break;default:t.memoizedState=null}return t.child}function Or(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),ju|=t.lanes,(n&t.childLanes)===0)if(e!==null){if(je(e,t,n,!1),(n&t.childLanes)===0)return null}else return null;if(e!==null&&t.child!==e.child)throw Error(r(153));if(t.child!==null){for(e=t.child,n=Ea(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=Ea(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function kr(e,t){return(e.lanes&t)===0?(e=e.dependencies,!!(e!==null&&Me(e))):!0}function Ar(e,t,n){switch(t.tag){case 3:_e(t,t.stateNode.containerInfo),De(t,R,e.memoizedState.cache),Te();break;case 27:case 5:ye(t);break;case 4:_e(t,t.stateNode.containerInfo);break;case 10:De(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,At(t),null;break;case 13:var r=t.memoizedState;if(r!==null)return r.dehydrated===null?(n&t.child.childLanes)===0?(kt(t),e=Or(e,t,n),e===null?null:e.sibling):xr(e,t,n):(kt(t),t.flags|=128,null);kt(t);break;case 19:var i=(e.flags&128)!=0;if(r=(n&t.childLanes)!==0,r||=(je(e,t,n,!1),(n&t.childLanes)!==0),i){if(r)return Dr(e,t,n);t.flags|=128}if(i=t.memoizedState,i!==null&&(i.rendering=null,i.tail=null,i.lastEffect=null),p(z,z.current),r)break;return null;case 22:return t.lanes=0,cr(e,t,n,t.pendingProps);case 24:De(t,R,e.memoizedState.cache)}return Or(e,t,n)}function jr(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps)U=!0;else{if(!kr(e,n)&&!(t.flags&128))return U=!1,Ar(e,t,n);U=(e.flags&131072)!=0}else U=!1,L&&t.flags&1048576&&fe(t,tl,t.index);switch(t.lanes=0,t.tag){case 16:e:{var i=t.pendingProps;if(e=rt(t.elementType),t.type=e,typeof e==`function`)Ta(e)?(i=Zn(e,i),t.tag=1,t=_r(null,t,e,i,n)):(t.tag=0,t=hr(null,t,e,i,n));else{if(e!=null){var a=e.$$typeof;if(a===Za){t.tag=11,t=ar(null,t,e,i,n);break e}else if(a===eo){t.tag=14,t=or(null,t,e,i,n);break e}}throw t=u(e)||e,Error(r(306,t,``))}}return t;case 0:return hr(e,t,t.type,t.pendingProps,n);case 1:return i=t.type,a=Zn(i,t.pendingProps),_r(e,t,i,a,n);case 3:e:{if(_e(t,t.stateNode.containerInfo),e===null)throw Error(r(387));var o=t.pendingProps;a=t.memoizedState,i=a.element,_t(e,t),Ct(t,o,null,n);var s=t.memoizedState;if(o=s.cache,De(t,R,o),o!==a.cache&&Ae(t,[R],n,!0),St(),o=s.element,Do&&a.isDehydrated)if(a={element:o,isDehydrated:!1,cache:s.cache},t.updateQueue.baseState=a,t.memoizedState=a,t.flags&256){t=vr(e,t,o,n);break e}else if(o!==i){i=w(Error(r(424)),t),Ee(i),t=vr(e,t,o,n);break e}else for(Do&&(I=js(t.stateNode.containerInfo),dl=t,L=!0,fl=null,pl=!0),n=Vl(t,null,o,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(Te(),o===i){t=Or(e,t,n);break e}ir(e,t,o,n)}t=t.child}return t;case 26:if(ic)return mr(e,t),e===null?(n=sc(t.type,null,t.pendingProps,null))?t.memoizedState=n:L||(t.stateNode=pc(t.type,t.pendingProps,ll.current,t)):t.memoizedState=sc(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:if(F)return ye(t),e===null&&F&&L&&(i=t.stateNode=vc(t.type,t.pendingProps,ll.current,sl.current,!1),dl=t,pl=!0,I=Ps(t.type,i,I)),ir(e,t,t.pendingProps.children,n),mr(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&L&&(nc(t.type,t.pendingProps,sl.current),(a=i=I)&&(i=Fs(i,t.type,t.pendingProps,pl),i===null?a=!1:(t.stateNode=i,dl=t,I=As(i),pl=!1,a=!0)),a||xe(t)),ye(t),a=t.type,o=t.pendingProps,s=e===null?null:e.memoizedProps,i=o.children,yo(a,o)?i=null:s!==null&&yo(a,s)&&(t.flags|=32),t.memoizedState!==null&&(a=It(e,t,zt,null,null,n),wo?Ho._currentValue=a:Ho._currentValue2=a),mr(e,t),ir(e,t,i,n),t.child;case 6:return e===null&&L&&(rc(t.pendingProps,sl.current),(e=n=I)&&(n=Is(n,t.pendingProps,pl),n===null?e=!1:(t.stateNode=n,dl=t,I=null,e=!0)),e||xe(t)),null;case 13:return xr(e,t,n);case 4:return _e(t,t.stateNode.containerInfo),i=t.pendingProps,e===null?t.child=Bl(t,null,i,n):ir(e,t,i,n),t.child;case 11:return ar(e,t,t.type,t.pendingProps,n);case 7:return ir(e,t,t.pendingProps,n),t.child;case 8:return ir(e,t,t.pendingProps.children,n),t.child;case 12:return ir(e,t,t.pendingProps.children,n),t.child;case 10:return i=t.pendingProps,De(t,t.type,i.value),ir(e,t,i.children,n),t.child;case 9:return a=t.type._context,i=t.pendingProps.children,Ne(t),a=E(a),i=i(a),t.flags|=1,ir(e,t,i,n),t.child;case 14:return or(e,t,t.type,t.pendingProps,n);case 15:return sr(e,t,t.type,t.pendingProps,n);case 19:return Dr(e,t,n);case 31:return pr(e,t,n);case 22:return cr(e,t,n,t.pendingProps);case 24:return Ne(t),i=E(R),e===null?(a=Ze(),a===null&&(a=J,o=Ie(),a.pooledCache=o,o.refCount++,o!==null&&(a.pooledCacheLanes|=n),a=o),t.memoizedState={parent:i,cache:a},gt(t),De(t,R,a)):((e.lanes&n)!==0&&(_t(e,t),Ct(t,null,null,n),St()),a=e.memoizedState,o=t.memoizedState,a.parent===i?(i=o.cache,De(t,R,i),i!==a.cache&&Ae(t,[R],n,!0)):(a={parent:i,cache:i},t.memoizedState=a,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=a),De(t,R,i))),ir(e,t,t.pendingProps.children,n),t.child;case 29:throw t.pendingProps}throw Error(r(156,t.tag))}function Mr(e){e.flags|=4}function Nr(e){Eo&&(e.flags|=8)}function Pr(e,t){if(e!==null&&e.child===t.child)return!1;if(t.flags&16)return!0;for(e=t.child;e!==null;){if(e.flags&8218||e.subtreeFlags&8218)return!0;e=e.sibling}return!1}function Fr(e,t,n,r){if(To)for(n=t.child;n!==null;){if(n.tag===5||n.tag===6)_o(e,n.stateNode);else if(!(n.tag===4||F&&n.tag===27)&&n.child!==null){n.child.return=n,n=n.child;continue}if(n===t)break;for(;n.sibling===null;){if(n.return===null||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}else if(Eo)for(var i=t.child;i!==null;){if(i.tag===5){var a=i.stateNode;n&&r&&(a=bs(a,i.type,i.memoizedProps)),_o(e,a)}else if(i.tag===6)a=i.stateNode,n&&r&&(a=xs(a,i.memoizedProps)),_o(e,a);else if(i.tag!==4){if(i.tag===22&&i.memoizedState!==null)a=i.child,a!==null&&(a.return=i),Fr(e,i,!0,!0);else if(i.child!==null){i.child.return=i,i=i.child;continue}}if(i===t)break;for(;i.sibling===null;){if(i.return===null||i.return===t)return;i=i.return}i.sibling.return=i.return,i=i.sibling}}function Ir(e,t,n,r){var i=!1;if(Eo)for(var a=t.child;a!==null;){if(a.tag===5){var o=a.stateNode;n&&r&&(o=bs(o,a.type,a.memoizedProps)),_s(e,o)}else if(a.tag===6)o=a.stateNode,n&&r&&(o=xs(o,a.memoizedProps)),_s(e,o);else if(a.tag!==4){if(a.tag===22&&a.memoizedState!==null)i=a.child,i!==null&&(i.return=a),Ir(e,a,!0,!0),i=!0;else if(a.child!==null){a.child.return=a,a=a.child;continue}}if(a===t)break;for(;a.sibling===null;){if(a.return===null||a.return===t)return i;a=a.return}a.sibling.return=a.return,a=a.sibling}return i}function Lr(e,t){if(Eo&&Pr(e,t)){e=t.stateNode;var n=e.containerInfo,r=gs();Ir(r,t,!1,!1),e.pendingChildren=r,Mr(t),vs(n,r)}}function Rr(e,t,n,r){if(To)e.memoizedProps!==r&&Mr(t);else if(Eo){var i=e.stateNode,a=e.memoizedProps;if((e=Pr(e,t))||a!==r){var o=sl.current;a=hs(i,n,a,r,!e,null),a===i?t.stateNode=i:(Nr(t),vo(a,n,r,o)&&Mr(t),t.stateNode=a,e&&Fr(a,t,!1,!1))}else t.stateNode=i}}function zr(e,t,n,r,i){if(e.mode&32&&(n===null?Po(t,r):Fo(t,n,r))){if(e.flags|=16777216,(i&335544128)===i||Io(t,r))if(Lo(e.stateNode,t,r))e.flags|=8192;else if(Zi())e.flags|=8192;else throw Ll=Il,Pl}else e.flags&=-16777217}function Br(e,t){if(hc(t)){if(e.flags|=16777216,!gc(t))if(Zi())e.flags|=8192;else throw Ll=Il,Pl}else e.flags&=-16777217}function Vr(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag===22?536870912:y(),e.lanes|=t,Fu|=t)}function Hr(e,t){if(!L)switch(e.tailMode){case`hidden`:t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case`collapsed`:n=e.tail;for(var r=null;n!==null;)n.alternate!==null&&(r=n),n=n.sibling;r===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function A(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,r=0;if(t)for(var i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags&65011712,r|=i.flags&65011712,i.return=e,i=i.sibling;else for(i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags,r|=i.flags,i.return=e,i=i.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function Ur(e,t,n){var i=t.pendingProps;switch(he(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return A(t),null;case 1:return A(t),null;case 3:return n=t.stateNode,i=null,e!==null&&(i=e.memoizedState.cache),t.memoizedState.cache!==i&&(t.flags|=2048),Oe(R),ve(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),(e===null||e.child===null)&&(we(t)?Mr(t):e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,T())),Lr(e,t),A(t),null;case 26:if(ic){var a=t.type,o=t.memoizedState;return e===null?(Mr(t),o===null?(A(t),zr(t,a,null,i,n)):(A(t),Br(t,o))):o?o===e.memoizedState?(A(t),t.flags&=-16777217):(Mr(t),A(t),Br(t,o)):(o=e.memoizedProps,To?o!==i&&Mr(t):Rr(e,t,a,i),A(t),zr(t,a,o,i,n)),null}case 27:if(F){if(be(t),n=ll.current,a=t.type,e!==null&&t.stateNode!=null)To?e.memoizedProps!==i&&Mr(t):Rr(e,t,a,i);else{if(!i){if(t.stateNode===null)throw Error(r(166));return A(t),null}e=sl.current,we(t)?Se(t,e):(e=vc(a,i,n,e,!0),t.stateNode=e,Mr(t))}return A(t),null}case 5:if(be(t),a=t.type,e!==null&&t.stateNode!=null)Rr(e,t,a,i);else{if(!i){if(t.stateNode===null)throw Error(r(166));return A(t),null}if(o=sl.current,we(t))Se(t,o),Ys(t.stateNode,a,i,o)&&(t.flags|=64);else{var s=go(a,i,ll.current,o,t);Nr(t),Fr(s,t,!1,!1),t.stateNode=s,vo(s,a,i,o)&&Mr(t)}}return A(t),zr(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)n=e.memoizedProps,To?n!==i&&Mr(t):Eo&&(n===i?t.stateNode=e.stateNode:(e=ll.current,n=sl.current,Nr(t),t.stateNode=bo(i,e,n,t)));else{if(typeof i!=`string`&&t.stateNode===null)throw Error(r(166));if(e=ll.current,n=sl.current,we(t)){if(!Do)throw Error(r(176));if(e=t.stateNode,n=t.memoizedProps,i=null,a=dl,a!==null)switch(a.tag){case 27:case 5:i=a.memoizedProps}Bs(e,n,t,i)||xe(t,!0)}else Nr(t),t.stateNode=bo(i,e,n,t)}return A(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(i=we(t),n!==null){if(e===null){if(!i)throw Error(r(318));if(!Do)throw Error(r(556));if(e=t.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(r(557));Vs(e,t)}else Te(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;A(t),e=!1}else n=T(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(Nt(t),t):(Nt(t),null);if(t.flags&128)throw Error(r(558))}return A(t),null;case 13:if(i=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(a=we(t),i!==null&&i.dehydrated!==null){if(e===null){if(!a)throw Error(r(318));if(!Do)throw Error(r(344));if(a=t.memoizedState,a=a===null?null:a.dehydrated,!a)throw Error(r(317));Hs(a,t)}else Te(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;A(t),a=!1}else a=T(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),a=!0;if(!a)return t.flags&256?(Nt(t),t):(Nt(t),null)}return Nt(t),t.flags&128?(t.lanes=n,t):(n=i!==null,e=e!==null&&e.memoizedState!==null,n&&(i=t.child,a=null,i.alternate!==null&&i.alternate.memoizedState!==null&&i.alternate.memoizedState.cachePool!==null&&(a=i.alternate.memoizedState.cachePool.pool),o=null,i.memoizedState!==null&&i.memoizedState.cachePool!==null&&(o=i.memoizedState.cachePool.pool),o!==a&&(i.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),Vr(t,t.updateQueue),A(t),null);case 4:return ve(),Lr(e,t),e===null&&ko(t.stateNode.containerInfo),A(t),null;case 10:return Oe(t.type),A(t),null;case 19:if(f(z),i=t.memoizedState,i===null)return A(t),null;if(a=(t.flags&128)!=0,o=i.rendering,o===null)if(a)Hr(i,!1);else{if(Q!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(o=Pt(e),o!==null){for(t.flags|=128,Hr(i,!1),e=o.updateQueue,t.updateQueue=e,Vr(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)Da(n,e),n=n.sibling;return p(z,z.current&1|2),L&&de(t,i.treeForkCount),t.child}e=e.sibling}i.tail!==null&&Ic()>Vu&&(t.flags|=128,a=!0,Hr(i,!1),t.lanes=4194304)}else{if(!a)if(e=Pt(o),e!==null){if(t.flags|=128,a=!0,e=e.updateQueue,t.updateQueue=e,Vr(t,e),Hr(i,!0),i.tail===null&&i.tailMode===`hidden`&&!o.alternate&&!L)return A(t),null}else 2*Ic()-i.renderingStartTime>Vu&&n!==536870912&&(t.flags|=128,a=!0,Hr(i,!1),t.lanes=4194304);i.isBackwards?(o.sibling=t.child,t.child=o):(e=i.last,e===null?t.child=o:e.sibling=o,i.last=o)}return i.tail===null?(A(t),null):(e=i.tail,i.rendering=e,i.tail=e.sibling,i.renderingStartTime=Ic(),e.sibling=null,n=z.current,p(z,a?n&1|2:n&1),L&&de(t,i.treeForkCount),e);case 22:case 23:return Nt(t),Ot(),i=t.memoizedState!==null,e===null?i&&(t.flags|=8192):e.memoizedState!==null!==i&&(t.flags|=8192),i?n&536870912&&!(t.flags&128)&&(A(t),t.subtreeFlags&6&&(t.flags|=8192)):A(t),n=t.updateQueue,n!==null&&Vr(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),i=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(i=t.memoizedState.cachePool.pool),i!==n&&(t.flags|=2048),e!==null&&f(Ml),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),Oe(R),A(t),null;case 25:return null;case 30:return null}throw Error(r(156,t.tag))}function Wr(e,t){switch(he(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Oe(R),ve(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return be(t),null;case 31:if(t.memoizedState!==null){if(Nt(t),t.alternate===null)throw Error(r(340));Te()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(Nt(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(r(340));Te()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return f(z),null;case 4:return ve(),null;case 10:return Oe(t.type),null;case 22:case 23:return Nt(t),Ot(),e!==null&&f(Ml),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return Oe(R),null;case 25:return null;default:return null}}function Gr(e,t){switch(he(t),t.tag){case 3:Oe(R),ve();break;case 26:case 27:case 5:be(t);break;case 4:ve();break;case 31:t.memoizedState!==null&&Nt(t);break;case 13:Nt(t);break;case 19:f(z);break;case 10:Oe(t.type);break;case 22:case 23:Nt(t),Ot(),e!==null&&f(Ml);break;case 24:Oe(R)}}function Kr(e,t){try{var n=t.updateQueue,r=n===null?null:n.lastEffect;if(r!==null){var i=r.next;n=i;do{if((n.tag&e)===e){r=void 0;var a=n.create,o=n.inst;r=a(),o.destroy=r}n=n.next}while(n!==i)}}catch(e){j(t,t.return,e)}}function qr(e,t,n){try{var r=t.updateQueue,i=r===null?null:r.lastEffect;if(i!==null){var a=i.next;r=a;do{if((r.tag&e)===e){var o=r.inst,s=o.destroy;if(s!==void 0){o.destroy=void 0,i=t;var c=n,l=s;try{l()}catch(e){j(i,c,e)}}}r=r.next}while(r!==a)}}catch(e){j(t,t.return,e)}}function Jr(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{Tt(t,n)}catch(t){j(e,e.return,t)}}}function Yr(e,t,n){n.props=Zn(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(n){j(e,t,n)}}function Xr(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var r=uo(e.stateNode);break;case 30:r=e.stateNode;break;default:r=e.stateNode}typeof n==`function`?e.refCleanup=n(r):n.current=r}}catch(n){j(e,t,n)}}function Zr(e,t){var n=e.ref,r=e.refCleanup;if(n!==null)if(typeof r==`function`)try{r()}catch(n){j(e,t,n)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n==`function`)try{n(null)}catch(n){j(e,t,n)}else n.current=null}function Qr(e){var t=e.type,n=e.memoizedProps,r=e.stateNode;try{rs(r,t,n,e)}catch(t){j(e,e.return,t)}}function $r(e,t,n){try{is(e.stateNode,e.type,n,t,e)}catch(t){j(e,e.return,t)}}function ei(e){return e.tag===5||e.tag===3||(ic?e.tag===26:!1)||(F?e.tag===27&&Sc(e.type):!1)||e.tag===4}function ti(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||ei(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(F&&e.tag===27&&Sc(e.type)||e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function ni(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?os(n,e,t):ts(n,e);else if(r!==4&&(F&&r===27&&Sc(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(ni(e,t,n),e=e.sibling;e!==null;)ni(e,t,n),e=e.sibling}function ri(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?as(n,e,t):es(n,e);else if(r!==4&&(F&&r===27&&Sc(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(ri(e,t,n),e=e.sibling;e!==null;)ri(e,t,n),e=e.sibling}function ii(e,t,n){e=e.containerInfo;try{ys(e,n)}catch(e){j(t,t.return,e)}}function ai(e){var t=e.stateNode,n=e.memoizedProps;try{yc(e.type,n,t,e)}catch(t){j(e,e.return,t)}}function oi(e,t){for(mo(e.containerInfo),G=t;G!==null;)if(e=G,t=e.child,e.subtreeFlags&1028&&t!==null)t.return=e,G=t;else for(;G!==null;){e=G;var n=e.alternate;switch(t=e.flags,e.tag){case 0:if(t&4&&(t=e.updateQueue,t=t===null?null:t.events,t!==null))for(var i=0;i`;case bu:return`:has(`+(Li(e)||``)+`)`;case xu:return`[role="`+e.value+`"]`;case Cu:return`"`+e.value+`"`;case Su:return`[data-testname="`+e.value+`"]`;default:throw Error(r(365))}}function Ri(e,t){var n=[];e=[e,0];for(var r=0;rn?32:n;n=N.T;var a=Ao();try{P(i),N.T=null,i=Ju,Ju=null;var o=Wu,s=Ku;if($=0,Gu=Wu=null,Ku=0,q&6)throw Error(r(331));var c=q;if(q|=4,Mi(o.current),Ti(o,o.current,s,i),q=c,Be(0,!1),Wc&&typeof Wc.onPostCommitFiberRoot==`function`)try{Wc.onPostCommitFiberRoot(Uc,o)}catch{}return!0}finally{P(a),N.T=n,ma(e,t)}}function _a(e,t,n){t=w(n,t),t=er(e.stateNode,t,2),e=yt(e,t,2),e!==null&&(te(e,2),ze(e))}function j(e,t,n){if(e.tag===3)_a(e,e,n);else for(;t!==null;){if(t.tag===3){_a(t,e,n);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError==`function`||typeof r.componentDidCatch==`function`&&(Uu===null||!Uu.has(r))){e=w(n,e),n=tr(2),r=yt(t,n,2),r!==null&&(nr(n,r,t,e),te(r,2),ze(r));break}}t=t.return}}function va(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new Tu;var i=new Set;r.set(t,i)}else i=r.get(t),i===void 0&&(i=new Set,r.set(t,i));i.has(n)||(ku=!0,i.add(n),e=ya.bind(null,e,t,n),t.then(e,e))}function ya(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,J===e&&(X&n)===n&&(Q===4||Q===3&&(X&62914560)===X&&300>Ic()-zu?!(q&2)&&Yi(e,0):Nu|=n,Fu===X&&(Fu=0)),ze(e)}function ba(e,t){t===0&&(t=y()),e=pt(e,t),e!==null&&(te(e,t),ze(e))}function xa(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),ba(e,n)}function Sa(e,t){var n=0;switch(e.tag){case 31:case 13:var i=e.stateNode,a=e.memoizedState;a!==null&&(n=a.retryLane);break;case 19:i=e.stateNode;break;case 22:i=e.stateNode._retryCache;break;default:throw Error(r(314))}i!==null&&i.delete(t),ba(e,n)}function Ca(e,t){return Mc(e,t)}function wa(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Ta(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Ea(e,n){var r=e.alternate;return r===null?(r=t(e.tag,n,e.key,e.mode),r.elementType=e.elementType,r.type=e.type,r.stateNode=e.stateNode,r.alternate=e,e.alternate=r):(r.pendingProps=n,r.type=e.type,r.flags=0,r.subtreeFlags=0,r.deletions=null),r.flags=e.flags&65011712,r.childLanes=e.childLanes,r.lanes=e.lanes,r.child=e.child,r.memoizedProps=e.memoizedProps,r.memoizedState=e.memoizedState,r.updateQueue=e.updateQueue,n=e.dependencies,r.dependencies=n===null?null:{lanes:n.lanes,firstContext:n.firstContext},r.sibling=e.sibling,r.index=e.index,r.ref=e.ref,r.refCleanup=e.refCleanup,r}function Da(e,t){e.flags&=65011714;var n=e.alternate;return n===null?(e.childLanes=0,e.lanes=t,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=n.childLanes,e.lanes=n.lanes,e.child=n.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=n.memoizedProps,e.memoizedState=n.memoizedState,e.updateQueue=n.updateQueue,e.type=n.type,t=n.dependencies,e.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),e}function Oa(e,n,i,a,o,s){var c=0;if(a=e,typeof e==`function`)Ta(e)&&(c=1);else if(typeof e==`string`)c=ic&&F?ac(e,i,sl.current)?26:xc(e)?27:5:ic?ac(e,i,sl.current)?26:5:F&&xc(e)?27:5;else e:switch(e){case no:return e=t(31,i,n,o),e.elementType=no,e.lanes=s,e;case Ka:return ka(i.children,o,s,n);case qa:c=8,o|=24;break;case Ja:return e=t(12,i,n,o|2),e.elementType=Ja,e.lanes=s,e;case Qa:return e=t(13,i,n,o),e.elementType=Qa,e.lanes=s,e;case $a:return e=t(19,i,n,o),e.elementType=$a,e.lanes=s,e;default:if(typeof e==`object`&&e)switch(e.$$typeof){case Xa:c=10;break e;case Ya:c=9;break e;case Za:c=11;break e;case eo:c=14;break e;case to:c=16,a=null;break e}c=29,i=Error(r(130,e===null?`null`:typeof e,``)),a=null}return n=t(c,i,n,o),n.elementType=e,n.type=a,n.lanes=s,n}function ka(e,n,r,i){return e=t(7,e,i,n),e.lanes=r,e}function Aa(e,n,r){return e=t(6,e,null,n),e.lanes=r,e}function ja(e){var n=t(18,null,null,0);return n.stateNode=e,n}function Ma(e,n,r){return n=t(4,e.children===null?[]:e.children,e.key,n),n.lanes=r,n.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},n}function Na(e,t,n,r,i,a,o,s,c){this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=Co,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=ee(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=ee(0),this.hiddenUpdates=ee(null),this.identifierPrefix=r,this.onUncaughtError=i,this.onCaughtError=a,this.onRecoverableError=o,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=c,this.incompleteTransitions=new Map}function Pa(e,n,r,i,a,o,s,c,l,u,d,f){return e=new Na(e,n,r,s,l,u,d,f,c),n=1,o===!0&&(n|=24),o=t(3,null,null,n),e.current=o,o.stateNode=e,n=Ie(),n.refCount++,e.pooledCache=n,n.refCount++,o.memoizedState={element:i,isDehydrated:r,cache:n},gt(o),e}function Fa(e){return e?(e=Tc,e):Tc}function Ia(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render==`function`?Error(r(188)):(e=Object.keys(e).join(`,`),Error(r(268,e)));return e=o(t),e=e===null?null:s(e),e===null?null:uo(e.stateNode)}function La(e,t,n,r,i,a){i=Fa(i),r.context===null?r.context=i:r.pendingContext=i,r=vt(t),r.payload={element:n},a=a===void 0?null:a,a!==null&&(r.callback=a),n=yt(e,r,t),n!==null&&(Hi(n,e,t),bt(n,e,t))}function Ra(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n=u&&o>=f&&a<=d&&s<=p){e.splice(t,1);break}else if(i!==u||n.width!==l.width||ps){if(!(o!==f||n.height!==l.height||da)){u>i&&(l.width+=u-i,l.x=i),do&&(l.height+=f-o,l.y=o),pn&&(n=c)),c `)+` + +No matching component was found for: + `)+e.join(` > `)}return null},M.getPublicRootInstance=function(e){if(e=e.current,!e.child)return null;switch(e.child.tag){case 27:case 5:return uo(e.child.stateNode);default:return e.child.stateNode}},M.injectIntoDevTools=function(){var e={bundleType:0,version:so,rendererPackageName:co,currentDispatcherRef:N,reconcilerVersion:`19.2.0`};if(lo!==null&&(e.rendererConfig=lo),typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`)e=!1;else{var t=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(t.isDisabled||!t.supportsFiber)e=!0;else{try{Uc=t.inject(e),Wc=t}catch{}e=!!t.checkDCE}}return e},M.isAlreadyRendering=function(){return(q&6)!=0},M.observeVisibleRects=function(e,t,n,i){if(!Ko)throw Error(r(363));e=zi(e,t);var a=$o(e,n,i).disconnect;return{disconnect:function(){a()}}},M.shouldError=function(){return null},M.shouldSuspend=function(){return!1},M.startHostTransition=function(e,t,i,a){if(e.tag!==5)throw Error(r(476));var o=In(e).queue;Fn(e,o,t,Vo,i===null?n:function(){var t=In(e);return t.next===null&&(t=e.alternate.memoizedState),Un(e,t.next.queue,{},Bi()),i(a)})},M.updateContainer=function(e,t,n,r){var i=t.current,a=Bi();return La(i,a,e,t,n,r),a},M.updateContainerSync=function(e,t,n,r){return La(t.current,2,e,t,n,r),2},M},e.exports.default=e.exports,Object.defineProperty(e.exports,`__esModule`,{value:!0})}(dt)),dt.exports}({exports:{}}).exports;var mt;function ht(){return mt||(mt=1,ut.exports=pt()),ut.exports}var gt=lt(ht());function _t(e){let t=gt(e);return t.injectIntoDevTools(),t}var vt=0,yt={},bt=/^three(?=[A-Z])/,xt=e=>`${e[0].toUpperCase()}${e.slice(1)}`,St=0,Ct=e=>typeof e==`function`;function wt(e){if(Ct(e)){let t=`${St++}`;return yt[t]=e,t}else Object.assign(yt,e)}function Tt(e,t){let n=xt(e),r=yt[n];if(e!==`primitive`&&!r)throw Error(`R3F: ${n} is not part of the THREE namespace! Did you forget to extend? See: https://docs.pmnd.rs/react-three-fiber/api/objects#using-3rd-party-objects-declaratively`);if(e===`primitive`&&!t.object)throw Error(`R3F: Primitives without 'object' are invalid!`);if(t.args!==void 0&&!Array.isArray(t.args))throw Error(`R3F: The args prop must be an array!`)}function Et(e,t,n){var r;return e=xt(e)in yt?e:e.replace(bt,``),Tt(e,t),e===`primitive`&&(r=t.object)!=null&&r.__r3f&&delete t.object.__r3f,Ae(t.object,n,e,t)}function Dt(e){if(!e.isHidden){var t;e.props.attach&&(t=e.parent)!=null&&t.object?E(e.parent,e):Ue(e.object)&&(e.object.visible=!1),e.isHidden=!0,Ve(e)}}function Ot(e){if(e.isHidden){var t;e.props.attach&&(t=e.parent)!=null&&t.object?Ne(e.parent,e):Ue(e.object)&&e.props.visible!==!1&&(e.object.visible=!0),e.isHidden=!1,Ve(e)}}function kt(e,t,n){let r=t.root.getState();if(!(!e.parent&&e.object!==r.scene)){if(!t.object){let e=yt[xt(t.type)];t.object=t.props.object??new e(...t.props.args??[]),t.object.__r3f=t}if(Be(t.object,t.props),t.props.attach)Ne(e,t);else if(Ue(t.object)&&Ue(e.object)){let r=e.object.children.indexOf(n?.object);if(n&&r!==-1){let n=e.object.children.indexOf(t.object);if(n!==-1){e.object.children.splice(n,1);let i=n{try{e.dispose()}catch{}};typeof IS_REACT_ACT_ENVIRONMENT<`u`?t():(0,pe.unstable_scheduleCallback)(pe.unstable_IdlePriority,t)}}function Nt(e,t,n){if(!t)return;t.parent=null;let r=e.children.indexOf(t);r!==-1&&e.children.splice(r,1),t.props.attach?E(e,t):Ue(t.object)&&Ue(e.object)&&(e.object.remove(t.object),Ke(he(t),t.object));let i=t.props.dispose!==null&&n!==!1;for(let e=t.children.length-1;e>=0;e--){let n=t.children[e];Nt(t,n,i)}t.children.length=0,delete t.object.__r3f,i&&t.type!==`primitive`&&t.object.type!==`Scene`&&Mt(t.object),n===void 0&&Ve(t)}function Pt(e,t){for(let n of[e,e.alternate])if(n!==null)if(typeof n.ref==`function`){n.refCleanup==null||n.refCleanup();let e=n.ref(t);typeof e==`function`&&(n.refCleanup=e)}else n.ref&&(n.ref.current=t)}var D=[];function Ft(){for(let[e]of D){let t=e.parent;if(t){e.props.attach?E(t,e):Ue(e.object)&&Ue(t.object)&&t.object.remove(e.object);for(let t of e.children)t.props.attach?E(e,t):Ue(t.object)&&Ue(e.object)&&e.object.remove(t.object)}e.isHidden&&Ot(e),e.object.__r3f&&delete e.object.__r3f,e.type!==`primitive`&&Mt(e.object)}for(let[e,t,n]of D){e.props=t;let r=e.parent;if(r){let t=yt[xt(e.type)];e.object=e.props.object??new t(...e.props.args??[]),e.object.__r3f=e,Pt(n,e.object),Be(e.object,e.props),e.props.attach?Ne(r,e):Ue(e.object)&&Ue(r.object)&&r.object.add(e.object);for(let t of e.children)t.props.attach?Ne(e,t):Ue(t.object)&&Ue(e.object)&&e.object.add(t.object);Ve(e)}}D.length=0}var It=()=>{},Lt={},Rt=vt,zt=0,Bt=4,Vt=_t({isPrimaryRenderer:!1,warnsIfNotActing:!1,supportsMutation:!0,supportsPersistence:!1,supportsHydration:!1,createInstance:Et,removeChild:Nt,appendChild:At,appendInitialChild:At,insertBefore:jt,appendChildToContainer(e,t){let n=e.getState().scene.__r3f;!t||!n||At(n,t)},removeChildFromContainer(e,t){let n=e.getState().scene.__r3f;!t||!n||Nt(n,t)},insertInContainerBefore(e,t,n){let r=e.getState().scene.__r3f;!t||!n||!r||jt(r,t,n)},getRootHostContext:()=>Lt,getChildHostContext:()=>Lt,commitUpdate(e,t,n,r,i){var a;Tt(t,r);let o=!1;if(e.type===`primitive`&&n.object!==r.object?o=!0:r.args?.length===n.args?.length?(a=r.args)!=null&&a.some((e,t)=>e!==n.args?.[t])&&(o=!0):o=!0,o)D.push([e,{...r},i]);else{let t=Le(e,r);Object.keys(t).length&&(Object.assign(e.props,t),Be(e.object,t))}(i.sibling===null||(i.flags&Bt)===zt)&&Ft()},finalizeInitialChildren:()=>!1,commitMount(){},getPublicInstance:e=>e?.object,prepareForCommit:()=>null,preparePortalMount:e=>Ae(e.getState().scene,e,``,{}),resetAfterCommit:()=>{},shouldSetTextContent:()=>!1,clearContainer:()=>!1,hideInstance:Dt,unhideInstance:Ot,createTextInstance:It,hideTextInstance:It,unhideTextInstance:It,scheduleTimeout:typeof setTimeout==`function`?setTimeout:void 0,cancelTimeout:typeof clearTimeout==`function`?clearTimeout:void 0,noTimeout:-1,getInstanceFromNode:()=>null,beforeActiveInstanceBlur(){},afterActiveInstanceBlur(){},detachDeletedInstance(){},prepareScopeUpdate(){},getInstanceFromScope:()=>null,shouldAttemptEagerTransition:()=>!1,trackSchedulerEvent:()=>{},resolveEventType:()=>null,resolveEventTimeStamp:()=>-1.1,requestPostPaintCallback(){},maySuspendCommit:()=>!1,preloadInstance:()=>!0,suspendInstance(){},waitForCommitToBeReady:()=>null,NotPendingTransition:null,HostTransitionContext:b.createContext(null),setCurrentUpdatePriority(e){Rt=e},getCurrentUpdatePriority(){return Rt},resolveUpdatePriority(){if(Rt!==vt)return Rt;switch(typeof window<`u`&&window.event?.type){case`click`:case`contextmenu`:case`dblclick`:case`pointercancel`:case`pointerdown`:case`pointerup`:return st;case`pointermove`:case`pointerout`:case`pointerover`:case`pointerenter`:case`pointerleave`:case`wheel`:return at;default:return ot}},resetFormInstance(){},rendererPackageName:`@react-three/fiber`,rendererVersion:ct.version,applyViewTransitionName(e,t,n){},restoreViewTransitionName(e,t){},cancelViewTransitionName(e,t,n){},cancelRootViewTransitionName(e){},restoreRootViewTransitionName(e){},InstanceMeasurement:null,measureInstance:e=>null,wasInstanceInViewport:e=>!0,hasInstanceChanged:(e,t)=>!1,hasInstanceAffectedParent:(e,t)=>!1,suspendOnActiveViewTransition(e,t){},startGestureTransition:()=>null,startViewTransition:()=>null,stopViewTransition(e){},createViewTransitionInstance:e=>null,getCurrentGestureOffset(e){throw Error(`startGestureTransition is not yet supported in react-three-fiber.`)},cloneMutableInstance(e,t){return e},cloneMutableTextInstance(e){return e},cloneRootViewTransitionContainer(e){throw Error(`Not implemented.`)},removeRootViewTransitionClone(e,t){throw Error(`Not implemented.`)},createFragmentInstance:e=>null,updateFragmentInstanceFiber(e,t){},commitNewChildToFragmentInstance(e,t){},deleteChildFromFragmentInstance(e,t){},measureClonedInstance:e=>null,maySuspendCommitOnUpdate:(e,t,n)=>!1,maySuspendCommitInSyncRender:(e,t)=>!1,startSuspendingCommit:()=>null,getSuspendedCommitReason:(e,t)=>null}),Ht=new Map,O={objects:`shallow`,strict:!1};function k(e,t){if(!t&&typeof HTMLCanvasElement<`u`&&e instanceof HTMLCanvasElement&&e.parentElement){let{width:t,height:n,top:r,left:i}=e.parentElement.getBoundingClientRect();return{width:t,height:n,top:r,left:i}}else if(!t&&typeof OffscreenCanvas<`u`&&e instanceof OffscreenCanvas)return{width:e.width,height:e.height,top:0,left:0};return{width:0,height:0,top:0,left:0,...t}}function Ut(e){let t=Ht.get(e),n=t?.fiber,r=t?.store;t&&console.warn(`R3F.createRoot should only be called once!`);let i=typeof reportError==`function`?reportError:console.error,s=r||Xe(un,dn),c=n||Vt.createContainer(s,it,null,!1,null,``,i,i,i,null);t||Ht.set(e,{fiber:c,store:s});let l,d,g=!1,v=null;return{async configure(t={}){let n;v=new Promise(e=>n=e);let{gl:r,size:i,scene:c,events:y,onCreated:ee,shadows:te=!1,linear:ne=!1,flat:re=!1,legacy:ie=!1,orthographic:ae=!1,frameloop:oe=`always`,dpr:se=[1,2],performance:b,raycaster:ce,camera:x,onPointerMissed:le}=t,S=s.getState(),C=S.gl;if(!S.gl){let t={canvas:e,powerPreference:`high-performance`,antialias:!0,alpha:!0},n=typeof r==`function`?await r(t):r;C=Je(n)?n:new h({...t,...r}),S.set({gl:C})}let ue=S.raycaster;ue||S.set({raycaster:ue=new o});let{params:w,...de}=ce||{};if(T.equ(de,ue,O)||Be(ue,{...de}),T.equ(w,ue.params,O)||Be(ue,{params:{...ue.params,...w}}),!S.camera||S.camera===d&&!T.equ(d,x,O)){d=x;let e=x?.isCamera,t=e?x:ae?new p(0,0,0,0,.1,1e3):new f(75,0,.1,1e3);e||(t.position.z=5,x&&(Be(t,x),t.manual||(`aspect`in x||`left`in x||`right`in x||`bottom`in x||`top`in x)&&(t.manual=!0,t.updateProjectionMatrix())),!S.camera&&!(x!=null&&x.rotation)&&t.lookAt(0,0,0)),S.set({camera:t}),ue.camera=t}if(!S.scene){let e;c!=null&&c.isScene?(e=c,Ae(e,s,``,{})):(e=new a,Ae(e,s,``,{}),c&&Be(e,c)),S.set({scene:e})}y&&!S.events.handlers&&S.set({events:y(s)});let fe=k(e,i);if(T.equ(fe,S.size,O)||S.setSize(fe.width,fe.height,fe.top,fe.left),se&&S.viewport.dpr!==we(se)&&S.setDpr(se),S.frameloop!==oe&&S.setFrameloop(oe),S.onPointerMissed||S.set({onPointerMissed:le}),b&&!T.equ(b,S.performance,O)&&S.set(e=>({performance:{...e.performance,...b}})),!S.xr){let e=(e,t)=>{let n=s.getState();n.frameloop!==`never`&&dn(e,!0,n,t)},t=()=>{let t=s.getState();t.gl.xr.enabled=t.gl.xr.isPresenting,t.gl.xr.setAnimationLoop(t.gl.xr.isPresenting?e:null),t.gl.xr.isPresenting||un(t)},n={connect(){let e=s.getState().gl;e.xr.addEventListener(`sessionstart`,t),e.xr.addEventListener(`sessionend`,t)},disconnect(){let e=s.getState().gl;e.xr.removeEventListener(`sessionstart`,t),e.xr.removeEventListener(`sessionend`,t)}};typeof C.xr?.addEventListener==`function`&&n.connect(),S.set({xr:n})}if(C.shadowMap){let e=C.shadowMap.enabled,t=C.shadowMap.type;if(C.shadowMap.enabled=!!te,T.boo(te))C.shadowMap.type=2;else if(T.str(te)){let e={basic:0,percentage:1,soft:2,variance:3};C.shadowMap.type=e[te]??2}else T.obj(te)&&Object.assign(C.shadowMap,te);(e!==C.shadowMap.enabled||t!==C.shadowMap.type)&&(C.shadowMap.needsUpdate=!0)}return _.enabled=!ie,g||(C.outputColorSpace=ne?u:m,C.toneMapping=re?0:4),S.legacy!==ie&&S.set(()=>({legacy:ie})),S.linear!==ne&&S.set(()=>({linear:ne})),S.flat!==re&&S.set(()=>({flat:re})),r&&!T.fun(r)&&!Je(r)&&!T.equ(r,C,O)&&Be(C,r),l=ee,g=!0,n(),this},render(t){return!g&&!v&&this.configure(),v.then(()=>{Vt.updateContainer((0,me.jsx)(Wt,{store:s,children:t,onCreated:l,rootElement:e}),c,null,()=>void 0)}),s},unmount(){Gt(e)}}}function Wt({store:e,children:t,onCreated:n,rootElement:r}){return ye(()=>{let t=e.getState();t.set(e=>({internal:{...e.internal,active:!0}})),n&&n(t),e.getState().events.connected||t.events.connect==null||t.events.connect(r)},[]),(0,me.jsx)(Ye.Provider,{value:e,children:t})}function Gt(e,t){let n=Ht.get(e),r=n?.fiber;if(r){let i=n?.store.getState();i&&(i.internal.active=!1),Vt.updateContainer(null,r,null,()=>{i&&setTimeout(()=>{try{var n,r,a,o;i.events.disconnect==null||i.events.disconnect(),(n=i.gl)==null||(r=n.renderLists)==null||r.dispose==null||r.dispose(),(a=i.gl)==null||a.forceContextLoss==null||a.forceContextLoss(),(o=i.gl)!=null&&o.xr&&i.xr.disconnect(),De(i.scene),Ht.delete(e),t&&t(e)}catch{}},500)})}}function Kt(e,t){let n={callback:e};return t.add(n),()=>void t.delete(n)}var qt=new Set,Jt=new Set,Yt=new Set,Xt=e=>Kt(e,qt),Zt=e=>Kt(e,Jt);function Qt(e,t){if(e.size)for(let{callback:n}of e.values())n(t)}function $t(e,t){switch(e){case`before`:return Qt(qt,t);case`after`:return Qt(Jt,t);case`tail`:return Qt(Yt,t)}}var en,tn;function nn(e,t,n){let r=t.clock.getDelta();t.frameloop===`never`&&typeof e==`number`&&(r=e-t.clock.elapsedTime,t.clock.oldTime=t.clock.elapsedTime,t.clock.elapsedTime=e),en=t.internal.subscribers;for(let e=0;e0)&&!((t=cn.gl.xr)!=null&&t.isPresenting)&&(on+=nn(e,cn))}if(an=!1,$t(`after`,e),on===0)return $t(`tail`,e),rn=!1,cancelAnimationFrame(sn)}function un(e,t=1){var n;if(!e)return Ht.forEach(e=>un(e.store.getState(),t));(n=e.gl.xr)!=null&&n.isPresenting||!e.internal.active||e.frameloop===`never`||(t>1?e.internal.frames=Math.min(60,e.internal.frames+t):an?e.internal.frames=2:e.internal.frames=1,rn||(rn=!0,requestAnimationFrame(ln)))}function dn(e,t=!0,n,r){if(t&&$t(`before`,e),n)nn(e,n,r);else for(let t of Ht.values())nn(e,t.store.getState());t&&$t(`after`,e)}var fn={onClick:[`click`,!1],onContextMenu:[`contextmenu`,!1],onDoubleClick:[`dblclick`,!1],onWheel:[`wheel`,!0],onPointerDown:[`pointerdown`,!0],onPointerUp:[`pointerup`,!0],onPointerLeave:[`pointerleave`,!0],onPointerMove:[`pointermove`,!0],onPointerCancel:[`pointercancel`,!0],onLostPointerCapture:[`lostpointercapture`,!0]};function pn(e){let{handlePointer:t}=qe(e);return{priority:1,enabled:!0,compute(e,t,n){t.pointer.set(e.offsetX/t.size.width*2-1,-(e.offsetY/t.size.height)*2+1),t.raycaster.setFromCamera(t.pointer,t.camera)},connected:void 0,handlers:Object.keys(fn).reduce((e,n)=>({...e,[n]:t(n)}),{}),update:()=>{var t;let{events:n,internal:r}=e.getState();(t=r.lastEvent)!=null&&t.current&&n.handlers&&n.handlers.onPointerMove(r.lastEvent.current)},connect:t=>{let{set:n,events:r}=e.getState();if(r.disconnect==null||r.disconnect(),n(e=>({events:{...e.events,connected:t}})),r.handlers)for(let e in r.handlers){let n=r.handlers[e],[i,a]=fn[e];t.addEventListener(i,n,{passive:a})}},disconnect:()=>{let{set:t,events:n}=e.getState();if(n.connected){if(n.handlers)for(let e in n.handlers){let t=n.handlers[e],[r]=fn[e];n.connected.removeEventListener(r,t)}t(e=>({events:{...e.events,connected:void 0}}))}}}}function mn(e,t){let n;return(...r)=>{window.clearTimeout(n),n=window.setTimeout(()=>e(...r),t)}}function hn({debounce:e,scroll:t,polyfill:n,offsetSize:r}={debounce:0,scroll:!1,offsetSize:!1}){let i=n||(typeof window>`u`?class{}:window.ResizeObserver);if(!i)throw Error(`This browser does not support ResizeObserver out of the box. See: https://github.com/react-spring/react-use-measure/#resize-observer-polyfills`);let[a,o]=(0,b.useState)({left:0,top:0,width:0,height:0,bottom:0,right:0,x:0,y:0}),s=(0,b.useRef)({element:null,scrollContainers:null,resizeObserver:null,lastBounds:a,orientationHandler:null}),c=e?typeof e==`number`?e:e.scroll:null,l=e?typeof e==`number`?e:e.resize:null,u=(0,b.useRef)(!1);(0,b.useEffect)(()=>(u.current=!0,()=>void(u.current=!1)));let[d,f,p]=(0,b.useMemo)(()=>{let e=()=>{if(!s.current.element)return;let{left:e,top:t,width:n,height:i,bottom:a,right:c,x:l,y:d}=s.current.element.getBoundingClientRect(),f={left:e,top:t,width:n,height:i,bottom:a,right:c,x:l,y:d};s.current.element instanceof HTMLElement&&r&&(f.height=s.current.element.offsetHeight,f.width=s.current.element.offsetWidth),Object.freeze(f),u.current&&!bn(s.current.lastBounds,f)&&o(s.current.lastBounds=f)};return[e,l?mn(e,l):e,c?mn(e,c):e]},[o,r,c,l]);function m(){s.current.scrollContainers&&(s.current.scrollContainers.forEach(e=>e.removeEventListener(`scroll`,p,!0)),s.current.scrollContainers=null),s.current.resizeObserver&&(s.current.resizeObserver.disconnect(),s.current.resizeObserver=null),s.current.orientationHandler&&(`orientation`in screen&&`removeEventListener`in screen.orientation?screen.orientation.removeEventListener(`change`,s.current.orientationHandler):`onorientationchange`in window&&window.removeEventListener(`orientationchange`,s.current.orientationHandler))}function h(){s.current.element&&(s.current.resizeObserver=new i(p),s.current.resizeObserver.observe(s.current.element),t&&s.current.scrollContainers&&s.current.scrollContainers.forEach(e=>e.addEventListener(`scroll`,p,{capture:!0,passive:!0})),s.current.orientationHandler=()=>{p()},`orientation`in screen&&`addEventListener`in screen.orientation?screen.orientation.addEventListener(`change`,s.current.orientationHandler):`onorientationchange`in window&&window.addEventListener(`orientationchange`,s.current.orientationHandler))}return _n(p,!!t),gn(f),(0,b.useEffect)(()=>{m(),h()},[t,p,f]),(0,b.useEffect)(()=>m,[]),[e=>{!e||e===s.current.element||(m(),s.current.element=e,s.current.scrollContainers=vn(e),h())},a,d]}function gn(e){(0,b.useEffect)(()=>{let t=e;return window.addEventListener(`resize`,t),()=>void window.removeEventListener(`resize`,t)},[e])}function _n(e,t){(0,b.useEffect)(()=>{if(t){let t=e;return window.addEventListener(`scroll`,t,{capture:!0,passive:!0}),()=>void window.removeEventListener(`scroll`,t,!0)}},[e,t])}function vn(e){let t=[];if(!e||e===document.body)return t;let{overflow:n,overflowX:r,overflowY:i}=window.getComputedStyle(e);return[n,r,i].some(e=>e===`auto`||e===`scroll`)&&t.push(e),[...t,...vn(e.parentElement)]}var yn=[`x`,`y`,`top`,`bottom`,`left`,`right`,`width`,`height`],bn=(e,t)=>yn.every(n=>e[n]===t[n]);function xn({ref:e,children:t,fallback:n,resize:r,style:i,gl:a,events:o=pn,eventSource:s,eventPrefix:c,shadows:l,linear:u,flat:d,legacy:f,orthographic:p,frameloop:m,dpr:h,performance:_,raycaster:v,camera:y,scene:ee,onPointerMissed:te,onCreated:ne,...re}){b.useMemo(()=>wt(g),[]);let ie=xe(),[ae,oe]=hn({scroll:!0,debounce:{scroll:50,resize:0},...r}),se=b.useRef(null),ce=b.useRef(null);b.useImperativeHandle(e,()=>se.current);let x=be(te),[le,S]=b.useState(!1),[C,ue]=b.useState(!1);if(le)throw le;if(C)throw C;let w=b.useRef(null);return ye(()=>{let e=se.current;if(oe.width>0&&oe.height>0&&e){w.current||=Ut(e);async function n(){await w.current.configure({gl:a,scene:ee,events:o,shadows:l,linear:u,flat:d,legacy:f,orthographic:p,frameloop:m,dpr:h,performance:_,raycaster:v,camera:y,size:oe,onPointerMissed:(...e)=>x.current==null?void 0:x.current(...e),onCreated:e=>{e.events.connect==null||e.events.connect(s?_e(s)?s.current:s:ce.current),c&&e.setEvents({compute:(e,t)=>{let n=e[c+`X`],r=e[c+`Y`];t.pointer.set(n/t.size.width*2-1,-(r/t.size.height)*2+1),t.raycaster.setFromCamera(t.pointer,t.camera)}}),ne?.(e)}}),w.current.render((0,me.jsx)(ie,{children:(0,me.jsx)(Ce,{set:ue,children:(0,me.jsx)(b.Suspense,{fallback:(0,me.jsx)(Se,{set:S}),children:t??null})})}))}n()}}),b.useEffect(()=>{let e=se.current;if(e)return()=>Gt(e)},[]),(0,me.jsx)(`div`,{ref:ce,style:{position:`relative`,width:`100%`,height:`100%`,overflow:`hidden`,pointerEvents:s?`none`:`auto`,...i},...re,children:(0,me.jsx)(`div`,{ref:ae,style:{width:`100%`,height:`100%`},children:(0,me.jsx)(`canvas`,{ref:se,style:{display:`block`},children:n})})})}function Sn(e){return(0,me.jsx)(S,{children:(0,me.jsx)(xn,{...e})})}export{rt as a,$e as i,Zt as n,Qe as o,Xt as r,ee as s,Sn as t}; \ No newline at end of file diff --git a/docs/assets/scene-6ZXksKVQ.js b/docs/assets/scene-BpfzP6B-.js similarity index 92% rename from docs/assets/scene-6ZXksKVQ.js rename to docs/assets/scene-BpfzP6B-.js index b2d20ea8..bfbba033 100644 --- a/docs/assets/scene-6ZXksKVQ.js +++ b/docs/assets/scene-BpfzP6B-.js @@ -1 +1 @@ -import{St as e,nt as t}from"./three.module-DRRYkRPO.js";import{t as n}from"./logger-B058WGzf.js";var r=n(`ghostToScene`);function i(e,t={x:0,y:0,z:0}){return e&&typeof e==`object`&&`x`in e?e:t}function a(e,t={r:0,g:0,b:0}){return e&&typeof e==`object`&&`r`in e?e:t}function o(e,t={r:.5,g:.5,b:.5,a:1}){return e&&typeof e==`object`&&`r`in e?e:t}function s(e){if(e&&typeof e==`object`&&`elements`in e&&Array.isArray(e.elements))return e;if(e&&typeof e==`object`&&`position`in e&&`rotation`in e){let{position:t,rotation:n}=e,r=n.x*n.x,i=n.y*n.y,a=n.z*n.z,o=n.x*n.y,s=n.x*n.z,c=n.y*n.z,l=n.w*n.x,u=n.w*n.y,d=n.w*n.z;return{elements:[1-2*(i+a),2*(o+d),2*(s-u),0,2*(o-d),1-2*(r+a),2*(c+l),0,2*(s+u),2*(c-l),1-2*(r+i),0,t.x,t.y,t.z,1],position:{x:t.x,y:t.y,z:t.z}}}return{elements:[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],position:{x:0,y:0,z:0}}}function c(e,t){return{className:`TerrainBlock`,ghostIndex:e,terrFileName:t.terrFileName??``,detailTextureName:t.detailTextureName??``,squareSize:t.squareSize??8,emptySquareRuns:t.emptySquareRuns}}function l(e,t){return{className:`InteriorInstance`,ghostIndex:e,interiorFile:t.interiorFile??``,transform:s(t.transform),scale:i(t.scale,{x:1,y:1,z:1}),showTerrainInside:t.showTerrainInside??!1,skinBase:t.skinBase??``,alarmState:t.alarmState??!1}}function u(e,t){return{className:`TSStatic`,ghostIndex:e,shapeName:t.shapeName??``,transform:s(t.transform),scale:i(t.scale,{x:1,y:1,z:1})}}function d(e,t){let n=Array.isArray(t.fogVolumes)?t.fogVolumes.map(e=>({visibleDistance:e.visibleDistance??0,minHeight:e.minHeight??0,maxHeight:e.maxHeight??0,color:a(e.color)})):[],r=Array.isArray(t.cloudLayers)?t.cloudLayers.map(e=>({texture:e.texture??``,heightPercent:e.heightPercent??0,speed:e.speed??0})):[];return{className:`Sky`,ghostIndex:e,materialList:t.materialList??``,fogColor:a(t.fogColor),visibleDistance:t.visibleDistance??1e3,fogDistance:t.fogDistance??0,skySolidColor:a(t.skySolidColor),useSkyTextures:t.useSkyTextures??!0,fogVolumes:n,cloudLayers:r,windVelocity:i(t.windVelocity)}}function f(e,t){return{className:`Sun`,ghostIndex:e,direction:i(t.direction,{x:.57735,y:.57735,z:-.57735}),color:o(t.color,{r:.7,g:.7,b:.7,a:1}),ambient:o(t.ambient,{r:.5,g:.5,b:.5,a:1}),textures:Array.isArray(t.textures)?t.textures:void 0}}function p(e,t){return{className:`MissionArea`,ghostIndex:e,area:t.area??{x:-512,y:-512,w:1024,h:1024},flightCeiling:t.flightCeiling??2e3,flightCeilingRange:t.flightCeilingRange??50}}function m(e,t){return{className:`WaterBlock`,ghostIndex:e,transform:s(t.transform),scale:i(t.scale,{x:1,y:1,z:1}),surfaceName:t.surfaceName??``,envMapName:t.envMapName??``,surfaceOpacity:t.surfaceOpacity??.75,waveMagnitude:t.waveMagnitude??1,envMapIntensity:t.envMapIntensity??1}}function h(e,t,n){let i;switch(e){case`TerrainBlock`:return i=c(t,n),r.debug(`TerrainBlock #%d: terrFileName=%s`,t,i.terrFileName),i;case`InteriorInstance`:return i=l(t,n),r.debug(`InteriorInstance #%d: interiorFile=%s`,t,i.interiorFile),i;case`TSStatic`:return u(t,n);case`Sky`:{i=d(t,n);let e=i;return r.debug(`Sky #%d: materialList=%s fogColor=(%s, %s, %s) visibleDist=%d fogDist=%d useSkyTextures=%s`,t,e.materialList,e.fogColor.r.toFixed(3),e.fogColor.g.toFixed(3),e.fogColor.b.toFixed(3),e.visibleDistance,e.fogDistance,e.useSkyTextures),i}case`Sun`:{i=f(t,n);let e=i;return r.debug(`Sun #%d: dir=(%s, %s, %s) color=(%s, %s, %s) ambient=(%s, %s, %s)`,t,e.direction.x.toFixed(3),e.direction.y.toFixed(3),e.direction.z.toFixed(3),e.color.r.toFixed(3),e.color.g.toFixed(3),e.color.b.toFixed(3),e.ambient.r.toFixed(3),e.ambient.g.toFixed(3),e.ambient.b.toFixed(3)),i}case`MissionArea`:return p(t,n);case`WaterBlock`:return m(t,n);default:return null}}function g(e){return[e.y,e.z,e.x]}function _(e){return[e.y,e.z,e.x]}function v(n){let r=n.elements,i=new t,a=i.elements;a[0]=r[5],a[1]=r[6],a[2]=r[4],a[3]=0,a[4]=r[9],a[5]=r[10],a[6]=r[8],a[7]=0,a[8]=r[1],a[9]=r[2],a[10]=r[0],a[11]=0,a[12]=0,a[13]=0,a[14]=0,a[15]=1;let o=new e;return o.setFromRotationMatrix(i),o.conjugate(),o}export{h as i,_ as n,g as r,v as t}; \ No newline at end of file +import{t as e}from"./logger-B058WGzf.js";import{Ct as t,rt as n}from"./three.module-C9W4LJrj.js";var r=e(`ghostToScene`);function i(e,t={x:0,y:0,z:0}){return e&&typeof e==`object`&&`x`in e?e:t}function a(e,t={r:0,g:0,b:0}){return e&&typeof e==`object`&&`r`in e?e:t}function o(e,t={r:.5,g:.5,b:.5,a:1}){return e&&typeof e==`object`&&`r`in e?e:t}function s(e){if(e&&typeof e==`object`&&`elements`in e&&Array.isArray(e.elements))return e;if(e&&typeof e==`object`&&`position`in e&&`rotation`in e){let{position:t,rotation:n}=e,r=n.x*n.x,i=n.y*n.y,a=n.z*n.z,o=n.x*n.y,s=n.x*n.z,c=n.y*n.z,l=n.w*n.x,u=n.w*n.y,d=n.w*n.z;return{elements:[1-2*(i+a),2*(o+d),2*(s-u),0,2*(o-d),1-2*(r+a),2*(c+l),0,2*(s+u),2*(c-l),1-2*(r+i),0,t.x,t.y,t.z,1],position:{x:t.x,y:t.y,z:t.z}}}return{elements:[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],position:{x:0,y:0,z:0}}}function c(e,t){return{className:`TerrainBlock`,ghostIndex:e,terrFileName:t.terrFileName??``,detailTextureName:t.detailTextureName??``,squareSize:t.squareSize??8,emptySquareRuns:t.emptySquareRuns}}function l(e,t){return{className:`InteriorInstance`,ghostIndex:e,interiorFile:t.interiorFile??``,transform:s(t.transform),scale:i(t.scale,{x:1,y:1,z:1}),showTerrainInside:t.showTerrainInside??!1,skinBase:t.skinBase??``,alarmState:t.alarmState??!1}}function u(e,t){return{className:`TSStatic`,ghostIndex:e,shapeName:t.shapeName??``,transform:s(t.transform),scale:i(t.scale,{x:1,y:1,z:1})}}function d(e,t){let n=Array.isArray(t.fogVolumes)?t.fogVolumes.map(e=>({visibleDistance:e.visibleDistance??0,minHeight:e.minHeight??0,maxHeight:e.maxHeight??0,color:a(e.color)})):[],r=Array.isArray(t.cloudLayers)?t.cloudLayers.map(e=>({texture:e.texture??``,heightPercent:e.heightPercent??0,speed:e.speed??0})):[];return{className:`Sky`,ghostIndex:e,materialList:t.materialList??``,fogColor:a(t.fogColor),visibleDistance:t.visibleDistance??1e3,fogDistance:t.fogDistance??0,skySolidColor:a(t.skySolidColor),useSkyTextures:t.useSkyTextures??!0,fogVolumes:n,cloudLayers:r,windVelocity:i(t.windVelocity)}}function f(e,t){return{className:`Sun`,ghostIndex:e,direction:i(t.direction,{x:.57735,y:.57735,z:-.57735}),color:o(t.color,{r:.7,g:.7,b:.7,a:1}),ambient:o(t.ambient,{r:.5,g:.5,b:.5,a:1}),textures:Array.isArray(t.textures)?t.textures:void 0}}function p(e,t){return{className:`MissionArea`,ghostIndex:e,area:t.area??{x:-512,y:-512,w:1024,h:1024},flightCeiling:t.flightCeiling??2e3,flightCeilingRange:t.flightCeilingRange??50}}function m(e,t){return{className:`WaterBlock`,ghostIndex:e,transform:s(t.transform),scale:i(t.scale,{x:1,y:1,z:1}),surfaceName:t.surfaceName??``,envMapName:t.envMapName??``,surfaceOpacity:t.surfaceOpacity??.75,waveMagnitude:t.waveMagnitude??1,envMapIntensity:t.envMapIntensity??1}}function h(e,t,n){let i;switch(e){case`TerrainBlock`:return i=c(t,n),r.debug(`TerrainBlock #%d: terrFileName=%s`,t,i.terrFileName),i;case`InteriorInstance`:return i=l(t,n),r.debug(`InteriorInstance #%d: interiorFile=%s`,t,i.interiorFile),i;case`TSStatic`:return u(t,n);case`Sky`:{i=d(t,n);let e=i;return r.debug(`Sky #%d: materialList=%s fogColor=(%s, %s, %s) visibleDist=%d fogDist=%d useSkyTextures=%s`,t,e.materialList,e.fogColor.r.toFixed(3),e.fogColor.g.toFixed(3),e.fogColor.b.toFixed(3),e.visibleDistance,e.fogDistance,e.useSkyTextures),i}case`Sun`:{i=f(t,n);let e=i;return r.debug(`Sun #%d: dir=(%s, %s, %s) color=(%s, %s, %s) ambient=(%s, %s, %s)`,t,e.direction.x.toFixed(3),e.direction.y.toFixed(3),e.direction.z.toFixed(3),e.color.r.toFixed(3),e.color.g.toFixed(3),e.color.b.toFixed(3),e.ambient.r.toFixed(3),e.ambient.g.toFixed(3),e.ambient.b.toFixed(3)),i}case`MissionArea`:return p(t,n);case`WaterBlock`:return m(t,n);default:return null}}function g(e){return[e.y,e.z,e.x]}function _(e){return[e.y,e.z,e.x]}function v(e){let r=e.elements,i=new n,a=i.elements;a[0]=r[5],a[1]=r[6],a[2]=r[4],a[3]=0,a[4]=r[9],a[5]=r[10],a[6]=r[8],a[7]=0,a[8]=r[1],a[9]=r[2],a[10]=r[0],a[11]=0,a[12]=0,a[13]=0,a[14]=0,a[15]=1;let o=new t;return o.setFromRotationMatrix(i),o.conjugate(),o}export{h as i,_ as n,g as r,v as t}; \ No newline at end of file diff --git a/docs/assets/shapeMaterial-B0M2T1Ub.js b/docs/assets/shapeMaterial-B0M2T1Ub.js deleted file mode 100644 index fbd05234..00000000 --- a/docs/assets/shapeMaterial-B0M2T1Ub.js +++ /dev/null @@ -1,47 +0,0 @@ -var e={directional:1,ambient:1.5};function t(t){t.uniforms.shapeDirectionalFactor={value:e.directional},t.uniforms.shapeAmbientFactor={value:e.ambient},t.fragmentShader=t.fragmentShader.replace(`#include `,`#include -uniform float shapeDirectionalFactor; -uniform float shapeAmbientFactor; -`),t.fragmentShader=t.fragmentShader.replace(`#include `,`#include - // Apply shape-specific lighting multipliers - reflectedLight.directDiffuse *= shapeDirectionalFactor; - reflectedLight.indirectDiffuse *= shapeAmbientFactor; -`)}var n={shapeEnvMap:{value:null},shapeEnvMapActive:{value:!1},shapeEnvMapDebugUV:{value:!1}};function r(e){n.shapeEnvMap.value=e,n.shapeEnvMapActive.value=!0}function i(){n.shapeEnvMap.value=null,n.shapeEnvMapActive.value=!1}function a(e,t){e.uniforms.shapeEnvMap=n.shapeEnvMap,e.uniforms.shapeEnvMapActive=n.shapeEnvMapActive,e.uniforms.shapeEnvMapDebugUV=n.shapeEnvMapDebugUV,e.uniforms.shapeReflectionAmount={value:t},e.fragmentShader=e.fragmentShader.replace(`#include `,`#include -uniform sampler2D shapeEnvMap; -uniform bool shapeEnvMapActive; -uniform float shapeReflectionAmount; -uniform bool shapeEnvMapDebugUV; -varying vec2 vShapeSphereUV; -`),e.vertexShader=e.vertexShader.replace(`#include `,`#include -varying vec2 vShapeSphereUV; -`),e.vertexShader=e.vertexShader.replace(`#include `,`#include -{ - vec3 _eyePos = (modelViewMatrix * vec4(transformed, 1.0)).xyz; - #ifdef FLAT_SHADED - vec3 _eyeN = vec3(0.0, 0.0, 1.0); - #else - vec3 _eyeN = normalize(normalMatrix * normal); - #endif - vec3 _eyeU = normalize(_eyePos); - vec3 _r = reflect(_eyeU, _eyeN); - float _m = 2.0 * sqrt(_r.x * _r.x + _r.z * _r.z + (_r.y + 1.0) * (_r.y + 1.0)); - vShapeSphereUV = vec2(_r.x, -_r.z) / _m + 0.5; -} -`),e.fragmentShader=e.fragmentShader.replace(`#include `,`// Tribes 2 sphere-map environment reflections (GL_INTERPOLATE) -if (shapeEnvMapActive && shapeReflectionAmount > 0.0) { - if (shapeEnvMapDebugUV) { - outgoingLight = vec3(vShapeSphereUV, 0.0); - } else { - vec3 _envColor = texture2D(shapeEnvMap, vShapeSphereUV).rgb; - #ifdef USE_MAP - float _baseAlpha = texture2D(map, vMapUv).a; - #else - float _baseAlpha = 1.0; - #endif - float _factor = _baseAlpha * shapeReflectionAmount; - // Torque blends in sRGB space (fixed-function pipeline, no gamma). - // Convert outgoingLight to sRGB, mix with sRGB env map, convert back. - vec3 _baseSRGB = pow(max(outgoingLight, 0.0), vec3(1.0 / 2.2)); - outgoingLight = pow(mix(_baseSRGB, _envColor, _factor), vec3(2.2)); - } -} -#include `)}export{n as a,r as i,t as n,i as r,a as t}; \ No newline at end of file diff --git a/docs/assets/streamHelpers-BvWKgQMn.js b/docs/assets/streamHelpers-CRhKrjgF.js similarity index 94% rename from docs/assets/streamHelpers-BvWKgQMn.js rename to docs/assets/streamHelpers-CRhKrjgF.js index 6898077d..4f29aa8e 100644 --- a/docs/assets/streamHelpers-BvWKgQMn.js +++ b/docs/assets/streamHelpers-CRhKrjgF.js @@ -1 +1 @@ -import{r as e,t}from"./chunk-DECur_0Z.js";import{St as n,nt as r}from"./three.module-DRRYkRPO.js";var i={},a=(function(e,t,n,r,a){var o=new Worker(i[t]||(i[t]=URL.createObjectURL(new Blob([e+`;addEventListener("error",function(e){e=e.error;postMessage({$e$:[e.message,e.code,e.stack]})})`],{type:`text/javascript`}))));return o.onmessage=function(e){var t=e.data,n=t.$e$;if(n){var r=Error(n[0]);r.code=n[1],r.stack=n[2],a(r,null)}else a(null,t)},o.postMessage(n,r),o}),o=Uint8Array,s=Uint16Array,c=Int32Array,l=new o([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),u=new o([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),d=new o([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),f=function(e,t){for(var n=new s(31),r=0;r<31;++r)n[r]=t+=1<>1|(y&21845)<<1;b=(b&52428)>>2|(b&13107)<<2,b=(b&61680)>>4|(b&3855)<<4,v[y]=((b&65280)>>8|(b&255)<<8)>>1}for(var x=(function(e,t,n){for(var r=e.length,i=0,a=new s(t);i>l]=u}else for(c=new s(r),i=0;i>15-e[i]);return c}),S=new o(288),y=0;y<144;++y)S[y]=8;for(var y=144;y<256;++y)S[y]=9;for(var y=256;y<280;++y)S[y]=7;for(var y=280;y<288;++y)S[y]=8;for(var C=new o(32),y=0;y<32;++y)C[y]=5;var ee=x(S,9,1),w=x(C,5,1),T=function(e){for(var t=e[0],n=1;nt&&(t=e[n]);return t},E=function(e,t,n){var r=t/8|0;return(e[r]|e[r+1]<<8)>>(t&7)&n},D=function(e,t){var n=t/8|0;return(e[n]|e[n+1]<<8|e[n+2]<<16)>>(t&7)},O=function(e){return(e+7)/8|0},te=function(e,t,n){return(t==null||t<0)&&(t=0),(n==null||n>e.length)&&(n=e.length),new o(e.subarray(t,n))},k=[`unexpected EOF`,`invalid block type`,`invalid length/literal`,`invalid distance`,`stream finished`,`no stream handler`,,`no callback`,`invalid UTF-8 data`,`extra field too long`,`date not in range 1980-2099`,`filename too long`,`stream finishing`,`invalid zip data`],A=function(e,t,n){var r=Error(t||k[e]);if(r.code=e,Error.captureStackTrace&&Error.captureStackTrace(r,A),!n)throw r;return r},j=function(e,t,n,r){var i=e.length,a=r?r.length:0;if(!i||t.f&&!t.l)return n||new o(0);var s=!n,c=s||t.i!=2,f=t.i;s&&(n=new o(i*3));var p=function(e){var t=n.length;if(e>t){var r=new o(Math.max(t*2,e));r.set(n),n=r}},h=t.f||0,g=t.p||0,v=t.b||0,y=t.l,b=t.d,S=t.m,C=t.n,k=i*8;do{if(!y){h=E(e,g,1);var j=E(e,g+1,3);if(g+=3,!j){var M=O(g)+4,ne=e[M-4]|e[M-3]<<8,re=M+ne;if(re>i){f&&A(0);break}c&&p(v+ne),n.set(e.subarray(M,re),v),t.b=v+=ne,t.p=g=re*8,t.f=h;continue}else if(j==1)y=ee,b=w,S=9,C=5;else if(j==2){var N=E(e,g,31)+257,ie=E(e,g+10,15)+4,ae=N+E(e,g+5,31)+1;g+=14;for(var oe=new o(ae),se=new o(19),P=0;P>4;if(M<16)oe[P++]=M;else{var fe=0,pe=0;for(M==16?(pe=3+E(e,g,3),g+=2,fe=oe[P-1]):M==17?(pe=3+E(e,g,7),g+=3):M==18&&(pe=11+E(e,g,127),g+=7);pe--;)oe[P++]=fe}}var me=oe.subarray(0,N),F=oe.subarray(N);S=T(me),C=T(F),y=x(me,S,1),b=x(F,C,1)}else A(1);if(g>k){f&&A(0);break}}c&&p(v+131072);for(var he=(1<>4;if(g+=fe&15,g>k){f&&A(0);break}if(fe||A(2),L<256)n[v++]=L;else if(L==256){I=g,y=null;break}else{var _e=L-254;if(L>264){var P=L-257,ve=l[P];_e=E(e,g,(1<>4;R||A(3),g+=R&15;var F=_[z];if(z>3){var ve=u[z];F+=D(e,g)&(1<k){f&&A(0);break}c&&p(v+131072);var ye=v+_e;if(v{var n=1e3,r=n*60,i=r*60,a=i*24,o=a*7,s=a*365.25;t.exports=function(e,t){t||={};var n=typeof e;if(n===`string`&&e.length>0)return c(e);if(n===`number`&&isFinite(e))return t.long?u(e):l(e);throw Error(`val is not a non-empty string or a valid number. val=`+JSON.stringify(e))};function c(e){if(e=String(e),!(e.length>100)){var t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(t){var c=parseFloat(t[1]);switch((t[2]||`ms`).toLowerCase()){case`years`:case`year`:case`yrs`:case`yr`:case`y`:return c*s;case`weeks`:case`week`:case`w`:return c*o;case`days`:case`day`:case`d`:return c*a;case`hours`:case`hour`:case`hrs`:case`hr`:case`h`:return c*i;case`minutes`:case`minute`:case`mins`:case`min`:case`m`:return c*r;case`seconds`:case`second`:case`secs`:case`sec`:case`s`:return c*n;case`milliseconds`:case`millisecond`:case`msecs`:case`msec`:case`ms`:return c;default:return}}}}function l(e){var t=Math.abs(e);return t>=a?Math.round(e/a)+`d`:t>=i?Math.round(e/i)+`h`:t>=r?Math.round(e/r)+`m`:t>=n?Math.round(e/n)+`s`:e+`ms`}function u(e){var t=Math.abs(e);return t>=a?d(e,t,a,`day`):t>=i?d(e,t,i,`hour`):t>=r?d(e,t,r,`minute`):t>=n?d(e,t,n,`second`):e+` ms`}function d(e,t,n,r){var i=t>=n*1.5;return Math.round(e/n)+` `+r+(i?`s`:``)}})),pe=t(((e,t)=>{function n(e){n.debug=n,n.default=n,n.coerce=c,n.disable=o,n.enable=i,n.enabled=s,n.humanize=fe(),n.destroy=l,Object.keys(e).forEach(t=>{n[t]=e[t]}),n.names=[],n.skips=[],n.formatters={};function t(e){let t=0;for(let n=0;n{if(t===`%%`)return`%`;a++;let o=n.formatters[i];if(typeof o==`function`){let n=e[a];t=o.call(r,n),e.splice(a,1),a--}return t}),n.formatArgs.call(r,e),(r.log||n.log).apply(r,e)}return s.namespace=e,s.useColors=n.useColors(),s.color=n.selectColor(e),s.extend=r,s.destroy=n.destroy,Object.defineProperty(s,`enabled`,{enumerable:!0,configurable:!1,get:()=>i===null?(a!==n.namespaces&&(a=n.namespaces,o=n.enabled(e)),o):i,set:e=>{i=e}}),typeof n.init==`function`&&n.init(s),s}function r(e,t){let r=n(this.namespace+(t===void 0?`:`:t)+e);return r.log=this.log,r}function i(e){n.save(e),n.namespaces=e,n.names=[],n.skips=[];let t=(typeof e==`string`?e:``).trim().replace(/\s+/g,`,`).split(`,`).filter(Boolean);for(let e of t)e[0]===`-`?n.skips.push(e.slice(1)):n.names.push(e)}function a(e,t){let n=0,r=0,i=-1,a=0;for(;n`-`+e)].join(`,`);return n.enable(``),e}function s(e){for(let t of n.skips)if(a(e,t))return!1;for(let t of n.names)if(a(e,t))return!0;return!1}function c(e){return e instanceof Error?e.stack||e.message:e}function l(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return n.enable(n.load()),n}t.exports=n})),me=t(((e,t)=>{e.formatArgs=r,e.save=i,e.load=a,e.useColors=n,e.storage=o(),e.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),e.colors=`#0000CC.#0000FF.#0033CC.#0033FF.#0066CC.#0066FF.#0099CC.#0099FF.#00CC00.#00CC33.#00CC66.#00CC99.#00CCCC.#00CCFF.#3300CC.#3300FF.#3333CC.#3333FF.#3366CC.#3366FF.#3399CC.#3399FF.#33CC00.#33CC33.#33CC66.#33CC99.#33CCCC.#33CCFF.#6600CC.#6600FF.#6633CC.#6633FF.#66CC00.#66CC33.#9900CC.#9900FF.#9933CC.#9933FF.#99CC00.#99CC33.#CC0000.#CC0033.#CC0066.#CC0099.#CC00CC.#CC00FF.#CC3300.#CC3333.#CC3366.#CC3399.#CC33CC.#CC33FF.#CC6600.#CC6633.#CC9900.#CC9933.#CCCC00.#CCCC33.#FF0000.#FF0033.#FF0066.#FF0099.#FF00CC.#FF00FF.#FF3300.#FF3333.#FF3366.#FF3399.#FF33CC.#FF33FF.#FF6600.#FF6633.#FF9900.#FF9933.#FFCC00.#FFCC33`.split(`.`);function n(){if(typeof window<`u`&&window.process&&(window.process.type===`renderer`||window.process.__nwjs))return!0;if(typeof navigator<`u`&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let e;return typeof document<`u`&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<`u`&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<`u`&&navigator.userAgent&&(e=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(e[1],10)>=31||typeof navigator<`u`&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function r(e){if(e[0]=(this.useColors?`%c`:``)+this.namespace+(this.useColors?` %c`:` `)+e[0]+(this.useColors?`%c `:` `)+`+`+t.exports.humanize(this.diff),!this.useColors)return;let n=`color: `+this.color;e.splice(1,0,n,`color: inherit`);let r=0,i=0;e[0].replace(/%[a-zA-Z%]/g,e=>{e!==`%%`&&(r++,e===`%c`&&(i=r))}),e.splice(i,0,n)}e.log=console.debug||console.log||(()=>{});function i(t){try{t?e.storage.setItem(`debug`,t):e.storage.removeItem(`debug`)}catch{}}function a(){let t;try{t=e.storage.getItem(`debug`)||e.storage.getItem(`DEBUG`)}catch{}return!t&&typeof process<`u`&&`env`in process&&(t={}.DEBUG),t}function o(){try{return localStorage}catch{}}t.exports=pe()(e);var{formatters:s}=t.exports;s.j=function(e){try{return JSON.stringify(e)}catch(e){return`[UnexpectedJSONParseError]: `+e.message}}})),F=[0,0,0,0,0,0,0,0,0,329,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2809,68,0,27,0,58,3,62,4,7,0,0,15,65,554,3,394,404,189,117,30,51,27,15,34,32,80,1,142,3,142,39,0,144,125,44,122,275,70,135,61,127,8,12,113,246,122,36,185,1,149,309,335,12,11,14,54,151,0,0,2,0,0,211,0,2090,344,736,993,2872,701,605,646,1552,328,305,1240,735,1533,1713,562,3,1775,1149,1469,979,407,553,59,279,31,0,0,0,68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],he=1;function ge(e){return e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122}function I(e){return e.node?e.node.pop:e.leaf.pop}var L=new class{nodes=[];leaves=[];tablesBuilt=!1;buildTables(){if(this.tablesBuilt)return;this.tablesBuilt=!0,this.leaves=[];for(let e=0;e<256;e++)this.leaves.push({pop:F[e]+(ge(e)?he:0)+he,symbol:e,numBits:0,code:0});this.nodes=[{pop:0,index0:0,index1:0}];let e=256,t=[];for(let e=0;e<256;e++)t.push({node:null,leaf:this.leaves[e]});for(;e!==1;){let n=4294967294,r=4294967295,i=-1,a=-1;for(let o=0;oa?i:a;t[s]={node:o,leaf:null},c!==e-1&&(t[c]=t[e-1]),e--}this.nodes[0]=t[0].node,this.generateCodes(0,0,0)}determineIndex(e){return e.leaf===null?this.nodes.indexOf(e.node):-(this.leaves.indexOf(e.leaf)+1)}generateCodes(e,t,n){if(t<0){let r=this.leaves[-(t+1)];r.code=e,r.numBits=n}else{let r=this.nodes[t];this.generateCodes(e,r.index0,n+1),this.generateCodes(e|1<=0)t=e.readFlag()?this.nodes[t].index1:this.nodes[t].index0;else{n.push(this.leaves[-(t+1)].symbol);break}}return String.fromCharCode(...n)}else{let t=e.readInt(8),n=e.readBytes(t);return String.fromCharCode(...n)}}},_e=class e{data;bitNum;maxReadBitNum;error;stringBuffer=null;constructor(e,t=0){this.data=e,this.bitNum=t,this.maxReadBitNum=e.length<<3,this.error=!1}getCurPos(){return this.bitNum}setCurPos(e){this.bitNum=e}getBytePosition(){return this.bitNum+7>>3}isError(){return this.error}isFull(){return this.bitNum>this.maxReadBitNum}getRemainingBits(){return this.maxReadBitNum-this.bitNum}getMaxPos(){return this.maxReadBitNum}readFlag(){if(this.bitNum>=this.maxReadBitNum)return this.error=!0,!1;let e=1<<(this.bitNum&7),t=(this.data[this.bitNum>>3]&e)!==0;return this.bitNum++,t}readInt(e){if(e===0)return 0;if(this.bitNum+e>this.maxReadBitNum)return this.error=!0,0;let t=this.bitNum>>3,n=this.bitNum&7;if(this.bitNum+=e,e+n<=32){let r=0,i=e+n+7>>3;for(let e=0;e>>=n,e===32?r>>>0:r&(1<>3;for(let e=0;e>>0:r&(1<>3,n=new Uint8Array(t),r=this.bitNum>>3,i=this.bitNum&7,a=8-i;if(i===0)n.set(this.data.subarray(r,r+t));else{let e=this.data[r];for(let o=0;o>i|t<this.maxReadBitNum)return this.error=!0,0;let t=this.bitNum>>3,n=this.bitNum&7,r=e.f32U8;if(n===0)r[0]=this.data[t],r[1]=this.data[t+1],r[2]=this.data[t+2],r[3]=this.data[t+3];else{let e=8-n;for(let i=0;i<4;i++){let a=this.data[t+i],o=t+i+1>n|o<>>0)}getCompressionPoint(){return this.compressionPoint}getDataBlockDataMap(){return this.dataBlockDataMap}getConnectionContext(){let e=this.dataBlockDataMap;return{compressionPoint:this.compressionPoint,ghostTracker:this.ghostTracker,getDataBlockParser:e=>this.registry.getDataBlockParser(e),getDataBlockData:e?t=>e.get(t):void 0,getGhostParser:e=>this.registry.getGhostParser(e)}}_setNextRecvEventSeq(e){this.nextRecvEventSeq=e>>>0}setConnectionProtocolState(e){for(this.lastSeqRecvdAtSend=e.lastSeqRecvdAtSend.slice(0,32);this.lastSeqRecvdAtSend.length<32;)this.lastSeqRecvdAtSend.push(0);this.lastSeqRecvd=e.lastSeqRecvd>>>0,this.highestAckedSeq=e.highestAckedSeq>>>0,this.lastSendSeq=e.lastSendSeq>>>0,this.recvAckMask=e.ackMask>>>0,this.connectSequence=e.connectSequence>>>0,this.lastRecvAckAck=e.lastRecvAckAck>>>0,this._connectionEstablished=e.connectionEstablished}onSendPacketTrigger(){this.lastSendSeq=this.lastSendSeq+1>>>0,this.lastSeqRecvdAtSend[this.lastSendSeq&31]=this.lastSeqRecvd>>>0}applyProtocolHeader(e){if(e.connectSeqBit!==(this.connectSequence&1)||e.ackByteCount>4||e.packetType>2)return{accepted:!1,dispatchData:!1};let t=(e.seqNumber|this.lastSeqRecvd&4294966784)>>>0;if(t>>0),this.lastSeqRecvd+31>>0;if(n>>0),this.lastSendSeq>>0,e.packetType===0&&(this.recvAckMask=(this.recvAckMask|1)>>>0);for(let t=this.highestAckedSeq+1;t<=n;t++)e.ackMask&1<<(n-t&31)&&(this.lastRecvAckAck=this.lastSeqRecvdAtSend[t&31]>>>0);t-this.lastRecvAckAck>32&&(this.lastRecvAckAck=t-32),this.highestAckedSeq=n;let i=this.lastSeqRecvd!==t&&e.packetType===0;return this.lastSeqRecvd=t,{accepted:!0,dispatchData:i}}parsePacket(e){let t=new _e(e),n=this.readDnetHeader(t),r=this.applyProtocolHeader(n);if(this.packetsParsed++,!r.accepted)return this.protocolRejected++,{dnetHeader:n,rateInfo:{},gameState:this.emptyGameState(),events:[],ghosts:[]};if(!r.dispatchData)return this.protocolNoDispatch++,{dnetHeader:n,rateInfo:{},gameState:this.emptyGameState(),events:[],ghosts:[]};let i=this.readRateInfo(t);t.setStringBuffer(!0);let a=this.readGameState(t),o=a.controlObjectDataStart===void 0||a.controlObjectData!==void 0,s=o?this.readEvents(t):[],c=s[s.length-1],l=!c||c.dataBitsEnd!==c.dataBitsStart,u=o&&l?t.getCurPos():void 0,d=o&&l?this.readGhosts(t,n.seqNumber):[];return t.setStringBuffer(!1),{dnetHeader:n,rateInfo:i,gameState:a,events:s,ghosts:d,ghostSectionStart:u}}readDnetHeader(e){let t=e.readFlag(),n=e.readInt(1),r=e.readInt(9),i=e.readInt(9),a=e.readInt(2),o=e.readInt(3);return{gameFlag:t,connectSeqBit:n,seqNumber:r,highestAck:i,packetType:a,ackByteCount:o,ackMask:o>0?e.readInt(8*o):0}}readRateInfo(e){let t={};return e.readFlag()&&(t.updateDelay=e.readInt(10),t.packetSize=e.readInt(10)),e.readFlag()&&(t.maxUpdateDelay=e.readInt(10),t.maxPacketSize=e.readInt(10)),t}readGameState(e){let t=e.readInt(32),n,r;e.readFlag()&&(e.readFlag()&&(n=e.readFloat(7)),e.readFlag()&&(r=e.readFloat(7)*1.5));let i,a;e.readFlag()&&(i=e.readFlag(),a=e.readFlag());let o,s,c,l,u;e.readFlag()&&(o=e.readFlag(),o&&(s={x:e.readF32(),y:e.readF32(),z:e.readF32()}),c=e.readRangedU32(0,2),c===1?e.readFlag()&&(l=e.readRangedU32(0,ve-1)):c===2&&(u={x:e.readF32(),y:e.readF32(),z:e.readF32()}));let d=e.readFlag(),f=e.readFlag(),p,m,h,g,_;if(e.readFlag())if(e.readFlag()){let v=e.readInt(10);p=v,m=e.getCurPos();let y=e.savePos(),b=this.ghostTracker.getGhost(v),x=b?this.registry.getGhostParser(b.classId):void 0,S=this.controlParserByGhostIndex.get(v),C=this.registry.getGhostParser(25),ee=this.registry.getGhostParser(4),w=[],T=new Set,E=e=>{e?.readPacketData&&(T.has(e.name)||(T.add(e.name),w.push(e)))};E(x),E(S),E(C),E(ee);let D=!1;for(let t of w){e.restorePos(y);try{let n=this.getConnectionContext(),r=t.readPacketData(e,n);if(e.getCurPos()-m<=0||e.isError())continue;g=r,h=e.getCurPos(),this.controlParserByGhostIndex.set(v,t),n.compressionPoint!==this.compressionPoint&&(this.compressionPoint=n.compressionPoint,_=this.compressionPoint),this.controlObjectParsed++,D=!0;break}catch{}}if(!D)return e.restorePos(y),h=m,this.controlObjectFailed++,{lastMoveAck:t,damageFlash:n,whiteOut:r,selfLocked:i,selfHomed:a,seekerTracking:o,seekerTrackingPos:s,seekerMode:c,seekerObjectGhostIndex:l,targetPos:u,pinged:d,jammed:f,controlObjectGhostIndex:p,controlObjectDataStart:m,controlObjectDataEnd:h,controlObjectData:g,targetVisibility:[]}}else _={x:e.readF32(),y:e.readF32(),z:e.readF32()},this.compressionPoint=_;let v=[];for(;e.readFlag();)v.push({index:e.readInt(4),mask:e.readInt(32)});let y;return e.readFlag()&&(y=e.readInt(8)),{lastMoveAck:t,damageFlash:n,whiteOut:r,selfLocked:i,selfHomed:a,seekerTracking:o,seekerTrackingPos:s,seekerMode:c,seekerObjectGhostIndex:l,targetPos:u,pinged:d,jammed:f,controlObjectGhostIndex:p,controlObjectDataStart:m,controlObjectDataEnd:h,controlObjectData:g,compressionPoint:_,targetVisibility:v.length>0?v:void 0,cameraFov:y}}readEvents(e){let t=[],n=!0,r=-2;for(;;){let i=e.readFlag();if(n&&!i){if(n=!1,!e.readFlag()){this.dispatchGuaranteedEvents(t);break}}else if(!n&&!i){this.dispatchGuaranteedEvents(t);break}else if(!i)break;let a,o;n||(a=e.readFlag()?r+1&127:e.readInt(7),r=a,o=a|this.nextRecvEventSeq&4294967168,o0&&this.pendingGuaranteedEvents[0].absoluteSequenceNumber===this.nextRecvEventSeq;){let t=this.pendingGuaranteedEvents.shift();if(!t)break;this.nextRecvEventSeq=this.nextRecvEventSeq+1>>>0,e.push(t.event),t.event.parsedData&&this.applyEventSideEffects(t.event.parsedData)}}applyEventSideEffects(e){let t=e.type;if(t===`GhostingMessageEvent`){let t=e.message;typeof t==`number`&&t===2&&this.ghostTracker.clear();return}if(t===`GhostAlwaysObjectEvent`){let t=e.ghostIndex,n=e.classId;if(typeof t==`number`&&typeof n==`number`){let e=this.registry.getGhostParser(n);this.ghostTracker.createGhost(t,n,e?.name??`unknown_${n}`)}}t===`SimDataBlockEvent`&&this.dataBlockDataMap&&e.dataBlockData&&typeof e.objectId==`number`&&this.dataBlockDataMap.set(e.objectId,e.dataBlockData)}readGhosts(e,t){let n=[];if(!e.readFlag())return n;let r=e.readInt(3)+3;for(;e.readFlag()&&!e.isError();){let i=e.readInt(r);if(e.isError())break;if(e.readFlag()){this.ghostTracker.deleteGhost(i),this.ghostDeletes++,n.push({index:i,type:`delete`,updateBitsStart:e.getCurPos(),updateBitsEnd:e.getCurPos()});continue}let a=!this.ghostTracker.hasGhost(i),o;o=a?e.readInt(7)+0:this.ghostTracker.getGhost(i)?.classId;let s=e.getCurPos(),c=o===void 0?void 0:this.registry.getGhostParser(o);if(a&&!c)return this.ghostsTrackerDiverged++,be(`DIVERGED pkt=%d seq=%d idx=%d classId=%d bit=%d/%d trackerSize=%d (server sent UPDATE for ghost not in our tracker; 7-bit classId is actually update data)`,this.packetsParsed,t,i,o,s,e.getMaxPos(),this.ghostTracker.size()),n.push({index:i,type:`create`,classId:o,updateBitsStart:s,updateBitsEnd:s}),n;let l=!1;if(c)try{let t=this.getConnectionContext();t.currentGhostIndex=i;let r=c.unpackUpdate(e,a,t),u=e.getCurPos();a&&o!==void 0?(this.ghostTracker.createGhost(i,o,c.name),this.ghostCreatesParsed++):this.ghostUpdatesParsed++,n.push({index:i,type:a?`create`:`update`,classId:o,updateBitsStart:s,updateBitsEnd:u,parsedData:r}),l=!0}catch(r){this.ghostsFailed++;let l=a?`create`:`update`,u=r instanceof Error?r.message:String(r);be(`FAIL pkt=%d seq=%d #%d idx=%d op=%s classId=%d parser=%s bit=%d/%d trackerSize=%d err=%s`,this.packetsParsed,t,n.length,i,l,o,c.name,s,e.getMaxPos(),this.ghostTracker.size(),u)}if(!l)return be(`STOP pkt=%d seq=%d idx=%d op=%s classId=%d parser=%s bit=%d/%d`,this.packetsParsed,t,i,a?`create`:`update`,o,c?.name??`NONE`,s,e.getMaxPos()),n.push({index:i,type:a?`create`:`update`,classId:o,updateBitsStart:s,updateBitsEnd:s}),n}return n}emptyGameState(){return{lastMoveAck:0,pinged:!1,jammed:!1}}},Se=class{eventParsers=new Map;ghostParsers=new Map;dataBlockParsers=new Map;eventCatalog=new Map;ghostCatalog=new Map;dataBlockCatalog=new Map;catalogEvent(e){this.eventCatalog.set(e.name,e)}catalogGhost(e){this.ghostCatalog.set(e.name,e)}catalogDataBlock(e){this.dataBlockCatalog.set(e.name,e)}bindDeterministicDataBlocks(e,t){let n=0,r=[];for(let i=0;i0&&(r.sounds=t)}if(e.readFlag()){let t=[];for(let n=0;n<4;n++)e.readFlag()&&t.push({index:n,sequence:e.readInt(5),state:e.readInt(2),forward:e.readFlag(),atEnd:e.readFlag()});t.length>0&&(r.threads=t)}let i=!1;if(e.readFlag()){let n=[];for(let r=0;r<8;r++)if(e.readFlag()){let a={index:r};e.readFlag()?a.dataBlockId=V(e):a.dataBlockId=0,e.readFlag()&&(e.readFlag()?(a.skinTagIndex=e.readInt(10),i=!0):(a.skinName=e.readString(),i=!0)),a.triggerDown=e.readFlag(),a.loaded=e.readFlag(),a.ammo=e.readFlag(),a.wet=e.readFlag(),a.target=e.readFlag(),a.fireCount=e.readInt(3),t&&(a.imageExtraFlag=e.readFlag()),n.push(a)}n.length>0&&(r.images=n)}if(e.readFlag()){if(e.readFlag()){r.stateAEnabled=e.readFlag(),r.stateB=e.readFlag();let t=e.readFlag();r.hasInvulnerability=t,t?(r.invulnerabilityVisual=e.readFlag(),r.invulnerabilityTicks=e.readU32()):r.binaryCloak=e.readFlag()}if(e.readFlag())if(e.readFlag()){let t=e.readFlag();r.stateBMode=t,t?r.energyPackOn=!0:r.energyPackOn=!1}else r.shieldNormal=e.readNormalVector(8),r.energyPercent=e.readFloat(5);e.readFlag()&&(r.stateValue1=e.readU32(),r.stateValue2=e.readU32())}return i&&(r.imageSkinDirty=!0),e.readFlag()&&(e.readFlag()?(r.mountObject=e.readInt(10),r.mountNode=e.readInt(5)):r.mountObject=-1),r}function Ee(e,t,n){let r=U(e,t,n);if(e.readFlag()&&(r.impactSound=e.readInt(3)),e.readFlag()&&(r.action=e.readInt(8),r.actionHoldAtEnd=e.readFlag(),r.actionAtEnd=e.readFlag(),r.actionFirstPerson=e.readFlag(),r.actionAtEnd||e.readFlag()&&(r.actionAnimPos=e.readSignedFloat(6))),e.readFlag()&&(r.armAction=e.readInt(8)),e.readFlag())return r;if(e.readFlag()){if(r.actionState=e.readInt(3),e.readFlag()&&(r.recoverTicks=e.readInt(7)),r.moveFlag0=e.readFlag(),r.moveFlag1=e.readFlag(),r.position=e.readCompressedPoint(n.compressionPoint),e.readFlag()){let t=e.readInt(13)/32,n=e.readNormalVector(10);r.velocity={x:n.x*t,y:n.y*t,z:n.z*t}}else r.velocity={x:0,y:0,z:0};r.headX=e.readSignedFloat(6),r.headZ=e.readSignedFloat(6),r.rotationZ=e.readFloat(7)*2*Math.PI,r.move=we(e),r.allowWarp=e.readFlag()}return r.energy=e.readFloat(5),r}function De(e,t){let n={};if(n.energyLevel=e.readF32(),n.rechargeRate=e.readF32(),n.actionState=e.readInt(3),e.readFlag()&&(n.recoverTicks=e.readInt(7)),e.readFlag()&&(n.jumpDelay=e.readInt(7)),e.readFlag()){let r={x:e.readF32(),y:e.readF32(),z:e.readF32()};n.position=r,t.compressionPoint=r,n.velocity={x:e.readF32(),y:e.readF32(),z:e.readF32()},n.jumpSurfaceLastContact=e.readInt(4)}if(n.headX=e.readF32(),n.headZ=e.readF32(),n.rotationZ=e.readF32(),e.readFlag()){let r=e.readInt(10);n.controlObjectGhost=r;let i=t.ghostTracker.getGhost(r),a=i?t.getGhostParser?.(i.classId):void 0;if(a?.readPacketData){let i=t.currentGhostIndex;t.currentGhostIndex=r,n.controlObjectData=a.readPacketData(e,t),t.currentGhostIndex=i}}return n.disableMove=e.readFlag(),n.pilot=e.readFlag(),n}function Oe(e,t,n){let r=U(e,t,n);return r.jetting=e.readFlag(),e.readFlag()?(r._controlledEarlyReturn=!0,r):(r.steeringYaw=e.readFloat(9),r.steeringPitch=e.readFloat(9),r.move=we(e),r.frozen=e.readFlag(),e.readFlag()&&(r.position=e.readCompressedPoint(n.compressionPoint),r.angPosition={x:e.readF32(),y:e.readF32(),z:e.readF32(),w:e.readF32()},r.linMomentum=e.readPoint3F(),r.angMomentum=e.readPoint3F()),e.readFlag()&&(r.energy=e.readFloat(8)),r)}function ke(e,t){let n={};n.energyLevel=e.readF32(),n.rechargeRate=e.readF32(),n.steering={x:e.readF32(),y:e.readF32()};let r={x:e.readF32(),y:e.readF32(),z:e.readF32()};return n.linPosition=r,n.angPosition={x:e.readF32(),y:e.readF32(),z:e.readF32(),w:e.readF32()},n.linMomentum=e.readPoint3F(),n.angMomentum=e.readPoint3F(),n.disableMove=e.readFlag(),n.frozen=e.readFlag(),t.compressionPoint=r,n}function Ae(e,t){let n=ke(e,t);n.braking=e.readFlag();let r=4,i=t.currentGhostIndex;if(i!==void 0){let e=bt.get(i);e!==void 0&&(r=e)}let a=[];for(let t=0;t64)throw Error(`Invalid Sky fogVolumeCount: ${t}`);r.fogVolumeCount=t,r.useSkyTextures=e.readBool(),r.renderBottomTexture=e.readBool(),r.skySolidColor={r:e.readF32(),g:e.readF32(),b:e.readF32()},r.windEffectPrecipitation=e.readBool();let n=[];for(let r=0;r3)throw Error(`Invalid precipitation colorCount: ${t}`);let n=[];for(let r=0;rMath.floor(e.getRemainingBits()/96))throw Error(`Invalid physicalZone point count: ${t}`);let n=[];for(let r=0;rMath.floor(e.getRemainingBits()/128))throw Error(`Invalid physicalZone plane count: ${i}`);let a=[];for(let t=0;tMath.floor(e.getRemainingBits()/128))throw Error(`Invalid physicalZone edge count: ${o}`);let s=[];for(let t=0;t0&&(n.audioData=e.readBitsBuffer(r*8)),n}function Gt(e,t){return{type:`GhostingMessageEvent`,sequence:e.readU32(),message:e.readInt(3),ghostCount:e.readInt(11)}}function Kt(e,t){let n={type:`GhostAlwaysObjectEvent`};n.ghostIndex=e.readInt(10);let r=e.readFlag();if(n._hasObjectData=r,r){let r=e.readInt(7);n.classId=r;let i=t.getGhostParser?.(r);if(!i)throw Error(`No ghost parser for GhostAlwaysObjectEvent classId=${r}`);n.objectData=i.unpackUpdate(e,!0,t)}return n}function qt(e,t){let n={type:`PathManagerEvent`};if(e.readFlag()){n.messageType=`NewPaths`;let t=e.readU32(),r=[];for(let n=0;n0&&(t.hudImages=n),t}function an(e){let t={};e.readFlag()&&(t.crc=e.readU32()),t.shapeName=e.readString(),t.mountPoint=e.readU32(),e.readFlag()||(t.offset=e.readAffineTransform()),t.firstPerson=e.readFlag(),t.mass=e.readF32(),t.usesEnergy=e.readFlag(),t.minEnergy=e.readF32(),t.hasFlash=e.readFlag(),t.projectile=W(e),t.muzzleFlash=W(e),t.isSeeker=e.readFlag(),t.isSeeker&&(t.seekerRadius=e.readF32(),t.maxSeekAngle=e.readF32(),t.seekerLockTime=e.readF32(),t.seekerFreeTime=e.readF32(),t.isTargetLockRequired=e.readFlag(),t.maxLockRange=e.readF32()),t.cloakable=e.readFlag(),t.lightType=e.readRangedU32(0,3),t.lightType!==0&&(t.lightRadius=e.readF32(),t.lightTime=e.readS32(),t.lightColor={r:e.readFloat(7),g:e.readFloat(7),b:e.readFloat(7),a:e.readFloat(7)}),t.shellExitDir={x:e.readF32(),y:e.readF32(),z:e.readF32()},t.shellExitVariance=e.readF32(),t.shellVelocity=e.readF32(),t.casing=W(e),t.accuFire=e.readFlag();let n=[];for(let t=0;t<31;t++){if(!e.readFlag())continue;let t={};t.name=e.readString(),t.transitionOnAmmo=e.readInt(5),t.transitionOnNoAmmo=e.readInt(5),t.transitionOnTarget=e.readInt(5),t.transitionOnNoTarget=e.readInt(5),t.transitionOnWet=e.readInt(5),t.transitionOnNotWet=e.readInt(5),t.transitionOnTriggerUp=e.readInt(5),t.transitionOnTriggerDown=e.readInt(5),t.transitionOnTimeout=e.readInt(5),t.transitionGeneric0In=e.readInt(5),t.transitionGeneric0Out=e.readInt(5),e.readFlag()&&(t.timeoutValue=e.readF32()),t.waitForTimeout=e.readFlag(),t.fire=e.readFlag(),t.ejectShell=e.readFlag(),t.scaleAnimation=e.readFlag(),t.direction=e.readFlag(),t.reload=e.readFlag(),e.readFlag()&&(t.energyDrain=e.readF32()),t.loaded=e.readInt(3),t.spin=e.readInt(3),t.recoil=e.readInt(3),e.readFlag()&&(t.sequence=e.readSignedInt(16)),e.readFlag()&&(t.sequenceVis=e.readSignedInt(16)),t.flashSequence=e.readFlag(),t.ignoreLoadedForReady=e.readFlag(),t.emitter=W(e),t.emitter!==null&&(t.emitterTime=e.readF32(),t.emitterNode=e.readS32()),t.sound=W(e),n.push(t)}return t.states=n,t}function on(e){let t=Y(e);t.renderFirstPerson=e.readFlag(),t.minLookAngle=e.readF32(),t.maxLookAngle=e.readF32(),t.maxFreelookAngle=e.readF32(),t.maxTimeScale=e.readF32(),t.maxStepHeight=e.readF32(),t.runForce=e.readF32(),t.runEnergyDrain=e.readF32(),t.minRunEnergy=e.readF32(),t.maxForwardSpeed=e.readF32(),t.maxBackwardSpeed=e.readF32(),t.maxSideSpeed=e.readF32(),t.maxUnderwaterForwardSpeed=e.readF32(),t.maxUnderwaterBackwardSpeed=e.readF32(),t.maxUnderwaterSideSpeedRef=W(e),e.readFlag()&&(t.runSurfaceAngleRef=e.readInt(11)),t.runSurfaceAngle=e.readF32(),t.recoverDelay=e.readF32(),t.recoverRunForceScale=e.readF32(),t.jumpForce=e.readF32(),t.jumpEnergyDrain=e.readF32(),t.minJumpEnergy=e.readF32(),t.minJumpSpeed=e.readF32(),t.maxJumpSpeed=e.readF32(),t.jumpSurfaceAngle=e.readF32(),t.minJetEnergy=e.readF32(),t.splashVelocity=e.readF32(),t.splashAngle=e.readF32(),t.splashFreqMod=e.readF32(),t.splashVelEpsilon=e.readF32(),t.bubbleEmitTime=e.readF32(),t.medSplashSoundVel=e.readF32(),t.hardSplashSoundVel=e.readF32(),t.exitSplashSoundVel=e.readF32(),t.jumpDelay=e.readInt(7),t.horizMaxSpeed=e.readF32(),t.horizResistSpeed=e.readF32(),t.horizResistFactor=e.readF32(),t.upMaxSpeed=e.readF32(),t.upResistSpeed=e.readF32(),t.upResistFactor=e.readF32(),t.jetEnergyDrain=e.readF32(),t.canJet=e.readF32(),t.maxJetHorizontalPercentage=e.readF32(),t.maxJetForwardSpeed=e.readF32(),t.jetForce=e.readF32(),t.minJetSpeed=e.readF32(),t.maxDamage=e.readF32(),t.minImpactDamageSpeed=e.readF32(),t.impactDamageScale=e.readF32(),t.footSplashHeight=e.readF32();let n=[];for(let t=0;t<32;t++)e.readFlag()?n.push(e.readInt(11)):n.push(null);t.sounds=n,t.boxSize={x:e.readF32(),y:e.readF32(),z:e.readF32()},t.footPuffEmitter=W(e),t.footPuffNumParts=e.readF32(),t.footPuffRadius=e.readF32(),t.decalData=W(e),t.decalOffset=e.readF32(),t.dustEmitter=W(e),t.splash=W(e);let r=[];for(let t=0;t<3;t++)r.push(W(e));return t.splashEmitters=r,t.groundImpactMinSpeed=e.readF32(),t.groundImpactShakeFreq={x:e.readF32(),y:e.readF32(),z:e.readF32()},t.groundImpactShakeAmp={x:e.readF32(),y:e.readF32(),z:e.readF32()},t.groundImpactShakeDuration=e.readF32(),t.groundImpactShakeFalloff=e.readF32(),t.boundingRadius=e.readF32(),t.moveBubbleSize=e.readF32(),t}function sn(e){let t=Y(e);t.bodyRestitution=e.readF32(),t.bodyFriction=e.readF32();let n=[];for(let t=0;t<2;t++)n.push(W(e));t.impactSounds=n,t.minImpactSpeed=e.readF32(),t.softImpactSpeed=e.readF32(),t.hardImpactSpeed=e.readF32(),t.minRollSpeed=e.readF32(),t.maxSteeringAngle=e.readF32(),t.maxDrag=e.readF32(),t.minDrag=e.readF32(),t.cameraOffset=e.readF32(),t.cameraLag=e.readF32(),t.jetForce=e.readF32(),t.jetEnergyDrain=e.readF32(),t.minJetEnergy=e.readF32(),t.integration=e.readF32(),t.collisionTol=e.readF32(),t.massCenter=e.readF32(),t.exitSplashSoundVelocity=e.readF32(),t.softSplashSoundVelocity=e.readF32(),t.mediumSplashSoundVelocity=e.readF32(),t.hardSplashSoundVelocity=e.readF32();let r=[];for(let t=0;t<5;t++)r.push(W(e));t.waterSounds=r,t.dustEmitter=W(e);let i=[];for(let t=0;t<3;t++)i.push(W(e));t.damageEmitters=i;let a=[];for(let t=0;t<2;t++)a.push(W(e));return t.splashEmitters=a,t.damageEmitterOffset0={x:e.readF32(),y:e.readF32(),z:e.readF32()},t.damageEmitterOffset1={x:e.readF32(),y:e.readF32(),z:e.readF32()},t.damageLevelTolerance0=e.readF32(),t.damageLevelTolerance1=e.readF32(),t.splashFreqMod=e.readF32(),t.splashVelEpsilon=e.readF32(),t.collDamageThresholdVel=e.readF32(),t.collDamageMultiplier=e.readF32(),t}function cn(e){let t=sn(e);t.jetActivateSound=W(e),t.jetDeactivateSound=W(e);let n=[];for(let t=0;t<4;t++)n.push(W(e));return t.jetEmitters=n,t.maneuveringForce=e.readF32(),t.horizontalSurfaceForce=e.readF32(),t.verticalSurfaceForce=e.readF32(),t.autoInputDamping=e.readF32(),t.steeringForce=e.readF32(),t.steeringRollForce=e.readF32(),t.rollForce=e.readF32(),t.autoAngularForce=e.readF32(),t.rotationalDrag=e.readF32(),t.maxAutoSpeed=e.readF32(),t.autoLinearForce=e.readF32(),t.hoverHeight=e.readF32(),t.createHoverHeight=e.readF32(),t.minTrailSpeed=e.readF32(),t.vertThrustMultiple=e.readF32(),t.maxForwardSpeed=e.readF32(),t}function ln(e){let t=sn(e);t.dragForce=e.readF32(),t.mainThrustForce=e.readF32(),t.reverseThrustForce=e.readF32(),t.strafeThrustForce=e.readF32(),t.turboFactor=e.readF32(),t.stabLenMin=e.readF32(),t.stabLenMax=e.readF32(),t.stabSpringConstant=e.readF32(),t.stabDampingConstant=e.readF32(),t.gyroDrag=e.readF32(),t.normalForce=e.readF32(),t.restorativeForce=e.readF32(),t.steeringForce=e.readF32(),t.rollForce=e.readF32(),t.pitchForce=e.readF32(),t.floatingThrustFactor=e.readF32(),t.brakingForce=e.readF32(),t.dustTrailOffset={x:e.readF32(),y:e.readF32(),z:e.readF32()},t.dustTrailFreqMod=e.readF32(),t.triggerTrailHeight=e.readF32(),t.floatSound=W(e),t.thrustSound=W(e),t.turboSound=W(e);let n=[];for(let t=0;t<3;t++)n.push(W(e));return t.jetEmitters=n,t.dustTrailEmitter=W(e),t.mainThrustEmitterFactor=e.readF32(),t.strafeThrustEmitterFactor=e.readF32(),t.reverseThrustEmitterFactor=e.readF32(),t}function un(e){let t=sn(e);return t.tireRadius=e.readF32(),t.tireStaticFriction=e.readF32(),t.tireKineticFriction=e.readF32(),t.tireRestitution=e.readF32(),t.tireLateralForce=e.readF32(),t.tireLateralDamping=e.readF32(),t.tireLateralRelaxation=e.readF32(),t.tireLongitudinalForce=e.readF32(),t.tireLongitudinalDamping=e.readF32(),t.tireEmitter=W(e),t.jetSound=W(e),t.engineSound=W(e),t.squealSound=W(e),t.wadeSound=W(e),t.spring=e.readF32(),t.springDamping=e.readF32(),t.springLength=e.readF32(),t.brakeTorque=e.readF32(),t.engineTorque=e.readF32(),t.engineBrake=e.readF32(),t.maxWheelSpeed=e.readF32(),t.steeringAngle=e.readF32(),t.steeringReturn=e.readF32(),t.steeringDamping=e.readF32(),t.powerSteeringFactor=e.readF32(),t}function dn(e){let t=Y(e);return t.noIndividualDamage=e.readFlag(),t.dynamicTypeField=e.readS32(),t}function fn(e){let t=dn(e);return t.thetaMin=e.readF32(),t.thetaMax=e.readF32(),t.thetaNull=e.readF32(),t.neverUpdateControl=e.readFlag(),t.primaryAxis=e.readRangedU32(0,3),t.maxCapacitorEnergy=e.readF32(),t.capacitorRechargeRate=e.readF32(),t}function pn(e){let t=an(e);return t.activationMS=e.readInt(8),t.deactivateDelayMS=e.readInt(8),t.degPerSecTheta=e.readRangedU32(0,1080),t.degPerSecPhi=e.readRangedU32(0,1080),t.dontFireInsideDamageRadius=e.readFlag(),t.damageRadius=e.readF32(),t.useCapacitor=e.readFlag(),t}function mn(e){let t=Y(e);return t.friction=e.readFloat(10),t.elasticity=e.readFloat(10),t.sticky=e.readFlag(),e.readFlag()&&(t.gravityMod=e.readFloat(10)),e.readFlag()&&(t.maxVelocity=e.readF32()),e.readFlag()&&(t.lightType=e.readInt(2),t.lightColor={r:e.readFloat(7),g:e.readFloat(7),b:e.readFloat(7),a:e.readFloat(7)},t.lightTime=e.readS32(),t.lightRadius=e.readF32(),t.lightOnlyStatic=e.readFlag()),t}function X(e){let t={};t.projectileShapeName=e.readString(),t.faceViewerLinkTime=e.readS32(),t.lifetime=e.readS32(),t.faceViewer=e.readFlag(),e.readFlag()&&(t.scale={x:e.readF32(),y:e.readF32(),z:e.readF32()}),t.baseEmitter=W(e),t.delayEmitter=W(e),t.bubbleEmitter=W(e),t.explosion=W(e),t.underwaterExplosion=W(e),t.splash=W(e),t.sound=W(e),t.wetFireSound=W(e),t.fireSound=W(e);let n=[];for(let t=0;t<6;t++)n.push(W(e));return t.decals=n,e.readFlag()&&(t.lightRadius=e.readFloat(8),t.lightColor={r:e.readFloat(7),g:e.readFloat(7),b:e.readFloat(7)}),e.readFlag()&&(t.underwaterLightColor={r:e.readFloat(7),g:e.readFloat(7),b:e.readFloat(7)}),t.explodeOnWaterImpact=q(e),t.depthTolerance=e.readF32(),t}function hn(e){let t=X(e);return t.dryVelocity=e.readF32(),t.wetVelocity=e.readF32(),t.fizzleTime=e.readU32(),t.fizzleType=e.readU32(),t.hardRetarget=e.readFlag(),t.inheritedVelocityScale=e.readRangedU32(0,90),t.lifetimeMS=e.readRangedU32(0,90),t.collideWithOwnerTimeMS=e.readU32(),t.proximityRadius=e.readU32(),t.tracerProjectile=e.readFlag(),t}function gn(e){let t=X(e);return t.armingDelayMS=e.readS32(),t.muzzleVelocity=e.readF32(),t.grenadeElasticity=e.readF32(),t.grenadeFriction=e.readF32(),t.drag=e.readF32(),t.density=e.readF32(),t.gravityMod=e.readF32(),t.lifetimeMS=e.readS32(),t}function _n(e){let t=X(e);return t.lifetimeMS=e.readS32(),t.muzzleVelocity=e.readF32(),t.turningSpeed=e.readF32(),t.proximityRadius=e.readF32(),t.terrainAvoidanceSpeed=e.readF32(),t.terrainScanAhead=e.readF32(),t.terrainHeightFail=e.readF32(),t.terrainAvoidanceRadius=e.readF32(),t.flareDistance=e.readF32(),t.flareAngle=e.readF32(),t.useFlechette=q(e),t.maxVelocity=e.readF32(),t.acceleration=e.readF32(),t.flechetteDelayMs=e.readS32(),t.exhaustTimeMs=e.readS32(),t.exhaustNodeName=e.readString(),t.casingShapeName=e.readString(),t.casingDebris=W(e),t.puffEmitter=W(e),t.exhaustEmitter=W(e),t}function vn(e){let t=X(e);t.maxRifleRange=e.readF32(),t.rifleHeadMultiplier=e.readF32(),t.beamColor=K(e),t.fadeTime=e.readF32(),t.startBeamWidth=e.readF32(),t.endBeamWidth=e.readF32(),t.pulseBeamWidth=e.readF32(),t.beamFlareAngle=e.readF32(),t.minFlareSize=e.readF32(),t.maxFlareSize=e.readF32(),t.pulseSpeed=e.readF32(),t.pulseLength=e.readF32(),t.lightColor=K(e),t.lightRadius=e.readF32();let n=[];for(let t=0;t<12;t++)n.push(e.readString());return t.textures=n,t}function yn(e){let t=X(e);t.zapDuration=e.readF32(),t.boltLength=e.readF32(),t.numParts=e.readF32(),t.lightningFreq=e.readF32(),t.lightningDensity=e.readF32(),t.lightningAmp=e.readF32(),t.lightningWidth=e.readF32(),t.shockwave=W(e);let n=[],r=[],i=[],a=[];for(let t=0;t<2;t++)n.push(e.readF32()),r.push(e.readF32()),i.push(e.readF32()),a.push(e.readF32());t.startWidth=n,t.endWidth=r,t.boltSpeed=i,t.texWrap=a;let o=[];for(let t=0;t<4;t++)o.push(e.readString());return t.textures=o,t.emitter=W(e),t}function bn(e){let t=X(e);return t.beamRange=e.readF32(),t.beamDrainRate=e.readF32(),t.muzzleVelocity=e.readF32(),t.proximityRadius=e.readF32(),t.startWidth=e.readF32(),t.endWidth=e.readF32(),t.mainBeamTexture=e.readString(),t.innerBeamTexture=e.readString(),t.flareTexture=e.readString(),t.hitEmitter=W(e),t}function xn(e){let t=X(e);return t.beamRange=e.readF32(),t.beamRepairRate=e.readF32(),t.muzzleVelocity=e.readF32(),t.proximityRadius=e.readF32(),t.startWidth=e.readF32(),t.endWidth=e.readF32(),t.startBeamWidth=e.readF32(),t.endBeamWidth=e.readF32(),t.mainBeamTexture=e.readString(),t.innerBeamTexture=e.readString(),t}function Sn(e){let t=X(e);t.maxRifleRange=e.readF32(),t.beamColor=K(e),t.startBeamWidth=e.readF32(),t.pulseBeamWidth=e.readF32(),t.beamFlareAngle=e.readF32(),t.minFlareSize=e.readF32(),t.maxFlareSize=e.readF32(),t.pulseSpeed=e.readF32(),t.pulseLength=e.readF32();let n=[];for(let t=0;t<4;t++)n.push(e.readString());return t.textures=n,t}function Cn(e){let t=hn(e);return t.tracerLength=e.readF32(),t.tracerAlpha=e.readF32(),t.tracerMinPixels=e.readF32(),t.crossViewFraction=q(e),t.tracerColor=K(e),t.tracerWidth=e.readF32(),t.muzzleVelocity=e.readF32(),t.proximityRadius=q(e),t.textureName0=e.readString(),t.textureName1=e.readString(),t}function wn(e){let t=gn(e);return t.energyDrainPerSecond=e.readF32(),t.energyMinDrain=e.readF32(),t.beamWidth=e.readF32(),t.beamRange=e.readF32(),t.numSegments=e.readF32(),t.texRepeat=e.readF32(),t.beamFlareAngle=e.readF32(),t.beamTexture=e.readString(),t.flareTexture=e.readString(),t}function Tn(e){let t=hn(e);return t.numFlares=e.readF32(),t.flareColor=K(e),t.flareTexture=e.readString(),t.smokeTexture=e.readString(),t.size=e.readF32(),t.flareModTexture=e.readF32(),t.smokeSize=e.readF32(),t}function En(e){let t=gn(e);return t.smokeDist=e.readF32(),t.noSmoke=e.readF32(),t.boomTime=e.readF32(),t.casingDist=e.readF32(),t.smokeCushion=e.readF32(),t.noSmokeCounter=e.readF32(),t.smokeTexture=e.readString(),t.bombTexture=e.readString(),t}function Dn(e){let t=gn(e);return t.size=e.readF32(),t.useLensFlare=q(e),t.flareTexture=e.readString(),t.lensFlareTexture=e.readString(),t}function On(e){let t={};t.dtsFileName=e.readString(),t.soundProfile=W(e),t.particleEmitter=W(e),t.particleDensity=e.readInt(14),t.particleRadius=e.readF32(),t.faceViewer=e.readFlag(),e.readFlag()&&(t.explosionScale={x:e.readInt(16),y:e.readInt(16),z:e.readInt(16)}),t.playSpeed=e.readInt(14),t.debrisThetaMin=e.readRangedU32(0,180),t.debrisThetaMax=e.readRangedU32(0,180),t.debrisPhiMin=e.readRangedU32(0,360),t.debrisPhiMax=e.readRangedU32(0,360),t.debrisMinVelocity=e.readRangedU32(0,1e3),t.debrisMaxVelocity=e.readRangedU32(0,1e3),t.debrisNum=e.readInt(14),t.debrisVariance=e.readRangedU32(0,1e4),t.delayMS=e.readInt(16),t.delayVariance=e.readInt(16),t.lifetimeMS=e.readInt(16),t.lifetimeVariance=e.readInt(16),t.offset=e.readF32(),t.shakeCamera=e.readFlag(),t.hasLight=e.readFlag(),t.camShakeFreq={x:e.readF32(),y:e.readF32(),z:e.readF32()},t.camShakeAmp={x:e.readF32(),y:e.readF32(),z:e.readF32()},t.camShakeDuration=e.readF32(),t.camShakeRadius=e.readF32(),t.camShakeFalloff=e.readF32(),t.shockwave=W(e),t.debris=W(e);let n=[];for(let t=0;t<4;t++)n.push(W(e));t.emitters=n;let r=[];for(let t=0;t<5;t++)r.push(W(e));t.subExplosions=r;let i=e.readRangedU32(0,4),a=[];for(let t=0;t0&&Z(`DataBlock binding: %d/%d bound, missing parsers: %s`,t,R.length,n.join(`, `));let{bound:r,missing:i}=this.registry.bindDeterministicGhosts(z,0);i.length>0&&Z(`Ghost binding: %d/%d bound, missing parsers: %s`,r,z.length,i.join(`, `));let{bound:a,missing:o}=this.registry.bindDeterministicEvents(ye,255);o.length>0&&Z(`Event binding: %d/%d bound, missing parsers: %s`,a,ye.length,o.join(`, `)),this.packetParser=new xe(this.registry,this.ghostTracker)}getRegistry(){return this.registry}getGhostTracker(){return this.ghostTracker}getPacketParser(){return this.packetParser}get loaded(){return this._loaded}get header(){if(!this._loaded)throw Error(`must call load() first`);return this._header}get initialBlock(){if(!this._loaded)throw Error(`must call load() first`);return this._initialBlock}get blockCount(){if(!this._loaded)throw Error(`must call load() first`);if(this._blockCount===void 0){let e=this._decompressedData,t=this._decompressedView,n=0,r=0;for(;r+2<=e.length;){let i=t.getUint16(r,!0)&4095;if(r+=2+i,r>e.length)break;n++}this._blockCount=n}return this._blockCount}get blockCursor(){if(!this._loaded)throw Error(`must call load() first`);return this._blockCursor}async load(){if(this._loaded)return{header:this._header,initialBlock:this._initialBlock};let e=this.readHeader();Z(`header: "%s" version=0x%s length=%dms (%smin) initialBlockSize=%d`,e.identString,e.protocolVersion.toString(16),e.demoLengthMs,(e.demoLengthMs/1e3/60).toFixed(1),e.initialBlockSize);let t=this.buffer.subarray(this.offset,this.offset+e.initialBlockSize),n=this.readInitialBlock(t);this.offset+=e.initialBlockSize;let r=this.buffer.subarray(this.offset);Z(`compressed block stream: %d bytes`,r.length);let i=await new Promise((e,t)=>{le(r,(n,r)=>{n?t(n):e(r)})});return Z(`decompressed block stream: %d bytes`,i.length),this._decompressedData=i,this._decompressedView=new DataView(i.buffer,i.byteOffset,i.byteLength),this.setupPacketParser(n),this._header=e,this._initialBlock=n,this._blockStreamOffset=0,this._blockCursor=0,this._loaded=!0,{header:e,initialBlock:n}}nextBlock(){if(!this._loaded)throw Error(`must call load() first`);let e=this._decompressedData,t=this._decompressedView,n=this._blockStreamOffset;if(n+2>e.length)return;let r=t.getUint16(n,!0),i=r>>12,a=r&4095;if(n+2+a>e.length){ar(`block %d: size %d would exceed decompressed data (offset=%d remaining=%d), stopping`,this._blockCursor,a,n+2,e.length-n-2);return}let o=e.subarray(n+2,n+2+a);this._blockStreamOffset=n+2+a;let s={index:this._blockCursor,type:i,size:a,data:o};if(this._blockCursor++,i===0)try{s.parsed=this.packetParser.parsePacket(o)}catch{}else if(i===1)this.packetParser.onSendPacketTrigger();else if(i===2&&a===64)try{s.parsed=this.readRawMove(o)}catch{}else if(i===3&&a===8)try{s.parsed=this.readInfoBlock(o)}catch{}return s}reset(){if(!this._loaded)throw Error(`must call load() first`);this._blockStreamOffset=0,this._blockCursor=0,this._blockCount=void 0,this.setupPacketParser(this._initialBlock)}processBlocks(e){if(!this._loaded)throw Error(`must call load() first`);let t=0;for(let n=0;n=128&&n<128+R.length?R[n-128]:`unknown(${n})`;throw Error(`No parser for DataBlock classId ${n} (${e}) at bit ${c}`)}}Z(`all %d/%d DataBlocks parsed (%d payloads), bit position after DataBlocks: %d`,o,r,a.size,t.getCurPos());let s=t.readU8()!==0,c=[];for(let e=0;e<6;e++)c.push(t.readU32());let l=[];for(let e=0;e<16;e++)l.push(t.readU32());let u=t.readU32(),d=[];for(let e=0;e>3<<3),this.readSimpleTargetManager(t),this.readSimpleTargetManager(t),Q(`after sequential tail bit=%d mission="%s" CRC=0x%s`,t.getCurPos(),O,te.toString(16))}catch(e){k=e instanceof Error?e.message:String(e)}finally{this.ghostTracker=S}let A=b-t.getCurPos(),j=O.length>0?O.split(``).filter(e=>{let t=e.charCodeAt(0);return t>=32&&t<=126}).length/O.length:1,M=O.length>0&&j>=.8&&k===void 0;return Z(`initial block: events=%d ghosts=%d ghostingSeq=%d controlObj=%d mission="%s" CRC=0x%s valid=%s%s`,C.length,T.length,w,E,O,te.toString(16),M,k?` error=${k}`:``),{taggedStrings:n,dataBlockHeaders:i,dataBlockCount:o,dataBlocks:a,firstPerson:s,connectionFields:c,stateArray:l,scoreEntries:d,demoValues:f,sensorGroupColors:p,targetEntries:m,connectionState:h,roundTripTime:g,packetLoss:_,pathManager:v,notifyCount:y,nextRecvEventSeq:ee,ghostingSequence:w,initialGhosts:T,initialEvents:C,controlObjectGhostIndex:E,controlObjectData:D,missionName:O,missionCRC:te,phase2TrailingBits:A,phase2Valid:M,phase2Error:k}}readScoreEntry(e){let t=e.readFlag()?e.readInt(16):0,n=e.readFlag()?e.readInt(16):0,r=e.readFlag()?e.readInt(16):0,i=e.readInt(6),a=e.readInt(6),o=e.readInt(6),s=e.readFlag(),c=[];for(let t=0;t<6;t++)c.push(e.readFlag());return{clientId:t,teamId:n,score:r,field0:i,field1:a,field2:o,isBot:s,triggerFlags:c}}readDemoValues(e){let t=[];for(;e.readFlag();)t.push(e.readString());return t}readComplexTargetManager(e){e.readU8(),e.readU8(),e.readU8(),e.readU8();let t=[];for(let n=0;n<32;n++)for(let r=0;r<32;r++)e.readFlag()&&t.push({group:n,targetGroup:r,r:e.readU8(),g:e.readU8(),b:e.readU8(),a:e.readU8()});let n=[];for(let t=0;t<512;t++){if(!e.readFlag())continue;let r={targetId:t,sensorGroup:0,targetData:0,damageLevel:0};e.readFlag()&&(r.sensorData=e.readU32()),e.readFlag()&&(r.voiceMapData=e.readU32()),e.readFlag()&&(r.name=e.readString()),e.readFlag()&&(r.skin=e.readString()),e.readFlag()&&(r.skinPref=e.readString()),e.readFlag()&&(r.voice=e.readString()),e.readFlag()&&(r.typeDescription=e.readString()),r.sensorGroup=e.readInt(5),r.targetData=e.readInt(9),t>=32&&e.readFlag()&&(r.dataBlockRef=e.readInt(11)),r.damageLevel=e.readFloat(7),n.push(r)}return{sensorGroupColors:t,targets:n}}readPathManager(e){let t=[],n=e.readU32();for(let r=0;rthis.registry.getDataBlockParser(e)};a=i.unpack(e,t)}catch{n.push({classId:t,guaranteed:!0,dataBitsStart:r,dataBitsEnd:r});break}else{n.push({classId:t,guaranteed:!0,dataBitsStart:r,dataBitsEnd:r});break}n.push({classId:t,guaranteed:!0,dataBitsStart:r,dataBitsEnd:e.getCurPos(),parsedData:a}),Q(` event classId=%d bits=%d`,t,e.getCurPos()-r)}return{nextRecvEventSeq:t,events:n}}readGhostStartBlock(e,t){let n=e.readU32(),r=[];Q(`ghost block: seq=%d bit=%d`,n,e.getCurPos());let i=this.registry.getGhostCatalog(),a=e.getBuffer().length*8,o=new Map;for(let[e,n]of t)o.set(e,n.data);for(;e.readFlag()&&!e.isError();){let n=e.readInt(10),s=e.readInt(7)+0,c=e.getCurPos(),l=[],u=new Set,{entry:d}=this.identifyGhostViaDataBlock(e,t,i),f=this.registry.getGhostParser(s);f&&(l.push({entry:f,method:`registry`}),u.add(f)),d&&!u.has(d)&&(l.push({entry:d,method:`datablock`}),u.add(d));let p={getDataBlockData:e=>o.get(e),getDataBlockParser:e=>this.registry.getDataBlockParser(e)},m=!1;for(let{entry:t,method:i}of l){let o=i===`registry`,l=this.tryGhostParser(e,t,c,a,!1,p,o);if(l!==!1){this.ghostTracker.createGhost(n,s,t.name),Q(` ghost idx=%d classId=%d parser=%s bits=%d via=%s`,n,s,t.name,e.getCurPos()-c,i),r.push({index:n,type:`create`,classId:s,updateBitsStart:c,updateBitsEnd:e.getCurPos(),parsedData:l}),m=!0;break}}if(!m){Q(` ghost idx=%d classId=%d NO PARSER (stopping at bit=%d, remaining=%d)`,n,s,c,a-c);break}}return Q(`ghost loop ended at bit=%d remaining=%d count=%d`,e.getCurPos(),a-e.getCurPos(),r.length),{ghostingSequence:n,ghosts:r}}tryGhostParser(e,t,n,r,i=!1,a,o=!1){let s=e.savePos();i||Q(` try %s: startBit=%d`,t.name,n);try{let c=t.unpackUpdate(e,!0,{compressionPoint:{x:0,y:0,z:0},ghostTracker:this.ghostTracker,...a}),l=e.getCurPos()-n,u=r-e.getCurPos();if(e.isError()||!o&&l<3)return i||Q(` reject %s: bits=%d isError=%s`,t.name,l,e.isError()),e.restorePos(s),!1;if(u>1e3){let n=e.getCurPos(),r=e.readFlag();if(e.setCurPos(n),!r)return i||Q(` reject %s: bits=%d misaligned (remaining=%d)`,t.name,l,u),e.restorePos(s),!1}return c??{}}catch(n){return i||Q(` reject %s: error at bit=%d: %s`,t.name,e.getCurPos(),n instanceof Error?n.message:String(n)),e.restorePos(s),!1}}identifyGhostViaDataBlock(e,t,n){if(!t)return{entry:void 0,dbFlag:!1};let r=e.savePos(),i,a=!1;try{if(a=e.readFlag(),a){let r=e.readInt(11),a=t.get(r);if(a){let e=a.className.replace(/Data$/,``);i=n.get(e),i||Q(` identifyGhostViaDataBlock: dbId=%d className=%s ghostName=%s (no ghost parser)`,r,a.className,e)}else Q(` identifyGhostViaDataBlock: dbId=%d (no DataBlock found)`,r)}else Q(` identifyGhostViaDataBlock: DataBlock flag=0`)}catch{}return e.restorePos(r),{entry:i,dbFlag:a}}readRawMove(e){let t=new DataView(e.buffer,e.byteOffset,e.byteLength),n=t.getInt32(0,!0),r=t.getInt32(4,!0),i=t.getInt32(8,!0),a=t.getUint32(12,!0),o=t.getUint32(16,!0),s=t.getUint32(20,!0),c=t.getFloat32(24,!0),l=t.getFloat32(28,!0),u=t.getFloat32(32,!0),d=t.getFloat32(36,!0),f=t.getFloat32(40,!0),p=t.getFloat32(44,!0),m=t.getUint32(48,!0),h=t.getUint32(52,!0),g=e[56]!==0,_=[];for(let t=0;t<6;t++)_.push(e[57+t]!==0);return{px:n,py:r,pz:i,pyaw:a,ppitch:o,proll:s,x:c,y:l,z:u,yaw:d,pitch:f,roll:p,id:m,sendCount:h,freeLook:g,trigger:_}}readInfoBlock(e){let t=new DataView(e.buffer,e.byteOffset,e.byteLength);return{value1:t.getUint32(0,!0),value2:t.getFloat32(4,!0)}}};function sr(){let e=new Se,t=new Ce;return rn(e),Dt(e),ir(e),e.bindDeterministicDataBlocks(R,128),e.bindDeterministicGhosts(z,0),e.bindDeterministicEvents(ye,255),{registry:e,ghostTracker:t,packetParser:new xe(e,t,{dataBlockDataMap:new Map})}}var cr=new Set([`FlyingVehicle`,`HoverVehicle`,`WheeledVehicle`]),lr=new Set([`BombProjectile`,`EnergyProjectile`,`FlareProjectile`,`GrenadeProjectile`,`LinearFlareProjectile`,`LinearProjectile`,`Projectile`,`SeekerProjectile`,`TracerProjectile`]),ur=new Set([`LinearProjectile`,`TracerProjectile`,`LinearFlareProjectile`,`Projectile`]),dr=new Set([`GrenadeProjectile`,`EnergyProjectile`,`FlareProjectile`,`BombProjectile`]),fr=new Set([`SeekerProjectile`]),pr=new Set([`StaticShape`,`ScopeAlwaysShape`,`Turret`,`BeaconObject`,`ForceFieldBare`]);function mr(e){return e===`Player`?`Player`:cr.has(e)?`Vehicle`:e===`Item`?`Item`:lr.has(e)?`Projectile`:pr.has(e)?`Deployable`:`Ghost`}function hr(e,t){return`${e}_${t}`}var gr=Object.freeze({r:0,g:255,b:0}),_r=Object.freeze({r:255,g:0,b:0}),vr=new r,yr=new n;function br(e,t,n){return en?n:e}var xr=Math.PI*.494;function Sr(e,t){let n=Math.sin(t),r=Math.cos(t),i=Math.sin(e),a=Math.cos(e);return vr.set(-i,a*n,-a*r,0,0,r,n,0,a,i*n,-i*r,0,0,0,0,1),yr.setFromRotationMatrix(vr),[yr.x,yr.y,yr.z,yr.w]}function Cr(e){let t=-e/2;return[0,Math.sin(t),0,Math.cos(t)]}function wr(e){if(!Number.isFinite(e.x)||!Number.isFinite(e.y)||!Number.isFinite(e.z)||!Number.isFinite(e.w))return null;let t=-e.y,n=-e.z,r=-e.x,i=e.w,a=t*t+n*n+r*r+i*i;if(a<=1e-12)return null;let o=1/Math.sqrt(a);return[t*o,n*o,r*o,i*o]}function Tr(e){return Math.atan2(2*(e.w*e.z+e.x*e.y),e.w*e.w+e.x*e.x-e.y*e.y-e.z*e.z)}function Er(e){let t=2*(e.w*e.x-e.y*e.z);return Math.asin(Math.max(-1,Math.min(1,t)))}function Dr(e){return e!=null&&Number.isFinite(e.x)&&Number.isFinite(e.y)&&Number.isFinite(e.z)}function Or(e){return!!e&&typeof e==`object`&&typeof e.x==`number`&&typeof e.y==`number`&&typeof e.z==`number`}function kr(e){return!!e&&typeof e==`object`&&typeof e.x==`number`&&typeof e.y==`number`&&typeof e.z==`number`&&typeof e.w==`number`}function Ar(e,t){if(!t)return;let n;return n=lr.has(e)||e.endsWith(`ProjectileData`)?t.projectileShapeName:e===`DebrisData`?t.shapeFileName:t.shapeName,typeof n==`string`&&n.length>0?n:void 0}function $(e,t){if(e)for(let n of t){let t=e[n];if(typeof t==`number`&&Number.isFinite(t))return t}}function jr(e,t){if(e)for(let n of t){let t=e[n];if(typeof t==`string`&&t.length>0)return t}}function Mr(e,t){if(e)for(let n of t){let t=e[n];if(typeof t==`boolean`)return t}}function Nr(e,t){if(!t)return;let n=jr(t,[`tracerTex0`,`textureName0`,`texture0`])??``;if(!(e===`TracerProjectile`||n.length>0&&$(t,[`tracerLength`])!=null)||!n)return;let r=jr(t,[`tracerTex1`,`textureName1`,`texture1`]),i=$(t,[`tracerLength`])??10,a=$(t,[`tracerWidth`]),o=$(t,[`tracerAlpha`]);return{kind:`tracer`,texture:n,crossTexture:r,tracerLength:i,tracerWidth:a!=null&&($(t,[`crossViewAng`])!=null||a<=.7)?a:o??a??.5,crossViewAng:$(t,[`crossViewAng`,`crossViewFraction`])??(typeof t.tracerWidth==`number`&&t.tracerWidth>.7?t.tracerWidth:.98),crossSize:$(t,[`crossSize`,`muzzleVelocity`])??.45,renderCross:Mr(t,[`renderCross`,`proximityRadius`])??!0}}function Pr(e,t){if(t){if(e===`LinearFlareProjectile`){let e=jr(t,[`smokeTexture`,`flareTexture`]);if(!e)return;let n=t.flareColor,r=$(t,[`size`])??.5;return{kind:`sprite`,texture:e,color:n?{r:n.r,g:n.g,b:n.b}:{r:1,g:1,b:1},size:r}}if(e===`FlareProjectile`){let e=jr(t,[`flareTexture`]);return e?{kind:`sprite`,texture:e,color:{r:1,g:.9,b:.5},size:$(t,[`size`])??4}:void 0}}}function Fr(e){let t=e.states;if(!(!Array.isArray(t)||t.length===0))return t.map(e=>{let t=e=>{let t=e;return t==null?-1:t-1};return{name:e.name??``,transitionOnNotLoaded:t(e.transitionOnAmmo),transitionOnLoaded:t(e.transitionOnNoAmmo),transitionOnNoAmmo:t(e.transitionOnTarget),transitionOnAmmo:t(e.transitionOnNoTarget),transitionOnNoTarget:t(e.transitionOnWet),transitionOnTarget:t(e.transitionOnNotWet),transitionOnNotWet:t(e.transitionOnTriggerUp),transitionOnWet:t(e.transitionOnTriggerDown),transitionOnTriggerUp:t(e.transitionOnTimeout),transitionOnTriggerDown:t(e.transitionGeneric0In),transitionOnTimeout:t(e.transitionGeneric0Out),timeoutValue:e.timeoutValue,waitForTimeout:e.waitForTimeout??!1,fire:e.fire??!1,sequence:e.sequence,spin:e.spin??0,direction:e.direction??!0,scaleAnimation:e.scaleAnimation??!1,loaded:e.loaded??0,soundDataBlockId:e.sound??-1}})}function Ir(e){let t=``;for(let n=0;n=32&&(t+=e[n]);return t}var Lr={2:0,3:1,4:2,5:3,6:4,7:5,8:6,11:7,12:8,14:9},Rr=15,zr=16,Br=17;function Vr(e){for(let t=0;t=32)return}}function Hr(e){let t=[],n=0,r=``,i=!1;for(let a=0;a=32&&(r+=e[a]);continue}let s=Lr[o];s===void 0?o===Rr?(r&&=(t.push({text:r,colorCode:n}),``),n=0):o>=32&&(r+=e[a]):(r&&=(t.push({text:r,colorCode:n}),``),n=s)}return r&&t.push({text:r,colorCode:n}),t}function Ur(e){let t=e.indexOf(`~w`);return t===-1?{text:e,wavPath:null}:{text:e.substring(0,t),wavPath:e.substring(t+2)}}function Wr(e){return e?typeof e.cameraMode==`number`?`camera`:typeof e.rotationZ==`number`?`player`:null:null}var Gr=new Map([[`gui/hud_new_packammo`,0],[`gui/hud_new_packcloak`,1],[`gui/hud_new_packenergy`,2],[`gui/hud_new_packrepair`,3],[`gui/hud_new_packsatchel`,4],[`gui/hud_new_packshield`,5],[`gui/hud_new_packinventory`,6],[`gui/hud_new_packmotionsens`,7],[`gui/hud_new_packradar`,8],[`gui/hud_new_packturretout`,9],[`gui/hud_new_packturretin`,10],[`gui/hud_new_packsensjam`,11],[`gui/hud_new_packturret`,12],[`gui/hud_satchel_unarmed`,18]]);function Kr(e){let t=e.toLowerCase();for(let[e,n]of Gr)if(e===t)return n;return-1}export{or as A,_r as C,hr as D,fr as E,mr as O,gr as S,ur as T,Ir as _,Wr as a,wr as b,kr as c,Hr as d,Fr as f,Nr as g,Pr as h,Vr as i,sr as k,Dr as l,Ar as m,Kr as n,Ur as o,Cr as p,br as r,$ as s,xr as t,Or as u,Tr as v,dr as w,Sr as x,Er as y}; \ No newline at end of file +import{r as e,t}from"./chunk-DECur_0Z.js";import{Ct as n,rt as r}from"./three.module-C9W4LJrj.js";var i={},a=(function(e,t,n,r,a){var o=new Worker(i[t]||(i[t]=URL.createObjectURL(new Blob([e+`;addEventListener("error",function(e){e=e.error;postMessage({$e$:[e.message,e.code,e.stack]})})`],{type:`text/javascript`}))));return o.onmessage=function(e){var t=e.data,n=t.$e$;if(n){var r=Error(n[0]);r.code=n[1],r.stack=n[2],a(r,null)}else a(null,t)},o.postMessage(n,r),o}),o=Uint8Array,s=Uint16Array,c=Int32Array,l=new o([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),u=new o([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),d=new o([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),f=function(e,t){for(var n=new s(31),r=0;r<31;++r)n[r]=t+=1<>1|(y&21845)<<1;b=(b&52428)>>2|(b&13107)<<2,b=(b&61680)>>4|(b&3855)<<4,v[y]=((b&65280)>>8|(b&255)<<8)>>1}for(var x=(function(e,t,n){for(var r=e.length,i=0,a=new s(t);i>l]=u}else for(c=new s(r),i=0;i>15-e[i]);return c}),S=new o(288),y=0;y<144;++y)S[y]=8;for(var y=144;y<256;++y)S[y]=9;for(var y=256;y<280;++y)S[y]=7;for(var y=280;y<288;++y)S[y]=8;for(var C=new o(32),y=0;y<32;++y)C[y]=5;var ee=x(S,9,1),w=x(C,5,1),T=function(e){for(var t=e[0],n=1;nt&&(t=e[n]);return t},E=function(e,t,n){var r=t/8|0;return(e[r]|e[r+1]<<8)>>(t&7)&n},D=function(e,t){var n=t/8|0;return(e[n]|e[n+1]<<8|e[n+2]<<16)>>(t&7)},O=function(e){return(e+7)/8|0},te=function(e,t,n){return(t==null||t<0)&&(t=0),(n==null||n>e.length)&&(n=e.length),new o(e.subarray(t,n))},k=[`unexpected EOF`,`invalid block type`,`invalid length/literal`,`invalid distance`,`stream finished`,`no stream handler`,,`no callback`,`invalid UTF-8 data`,`extra field too long`,`date not in range 1980-2099`,`filename too long`,`stream finishing`,`invalid zip data`],A=function(e,t,n){var r=Error(t||k[e]);if(r.code=e,Error.captureStackTrace&&Error.captureStackTrace(r,A),!n)throw r;return r},j=function(e,t,n,r){var i=e.length,a=r?r.length:0;if(!i||t.f&&!t.l)return n||new o(0);var s=!n,c=s||t.i!=2,f=t.i;s&&(n=new o(i*3));var p=function(e){var t=n.length;if(e>t){var r=new o(Math.max(t*2,e));r.set(n),n=r}},h=t.f||0,g=t.p||0,v=t.b||0,y=t.l,b=t.d,S=t.m,C=t.n,k=i*8;do{if(!y){h=E(e,g,1);var j=E(e,g+1,3);if(g+=3,!j){var M=O(g)+4,ne=e[M-4]|e[M-3]<<8,re=M+ne;if(re>i){f&&A(0);break}c&&p(v+ne),n.set(e.subarray(M,re),v),t.b=v+=ne,t.p=g=re*8,t.f=h;continue}else if(j==1)y=ee,b=w,S=9,C=5;else if(j==2){var N=E(e,g,31)+257,ie=E(e,g+10,15)+4,ae=N+E(e,g+5,31)+1;g+=14;for(var oe=new o(ae),se=new o(19),P=0;P>4;if(M<16)oe[P++]=M;else{var fe=0,pe=0;for(M==16?(pe=3+E(e,g,3),g+=2,fe=oe[P-1]):M==17?(pe=3+E(e,g,7),g+=3):M==18&&(pe=11+E(e,g,127),g+=7);pe--;)oe[P++]=fe}}var me=oe.subarray(0,N),F=oe.subarray(N);S=T(me),C=T(F),y=x(me,S,1),b=x(F,C,1)}else A(1);if(g>k){f&&A(0);break}}c&&p(v+131072);for(var he=(1<>4;if(g+=fe&15,g>k){f&&A(0);break}if(fe||A(2),L<256)n[v++]=L;else if(L==256){I=g,y=null;break}else{var _e=L-254;if(L>264){var P=L-257,ve=l[P];_e=E(e,g,(1<>4;R||A(3),g+=R&15;var F=_[z];if(z>3){var ve=u[z];F+=D(e,g)&(1<k){f&&A(0);break}c&&p(v+131072);var ye=v+_e;if(v{var n=1e3,r=n*60,i=r*60,a=i*24,o=a*7,s=a*365.25;t.exports=function(e,t){t||={};var n=typeof e;if(n===`string`&&e.length>0)return c(e);if(n===`number`&&isFinite(e))return t.long?u(e):l(e);throw Error(`val is not a non-empty string or a valid number. val=`+JSON.stringify(e))};function c(e){if(e=String(e),!(e.length>100)){var t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(t){var c=parseFloat(t[1]);switch((t[2]||`ms`).toLowerCase()){case`years`:case`year`:case`yrs`:case`yr`:case`y`:return c*s;case`weeks`:case`week`:case`w`:return c*o;case`days`:case`day`:case`d`:return c*a;case`hours`:case`hour`:case`hrs`:case`hr`:case`h`:return c*i;case`minutes`:case`minute`:case`mins`:case`min`:case`m`:return c*r;case`seconds`:case`second`:case`secs`:case`sec`:case`s`:return c*n;case`milliseconds`:case`millisecond`:case`msecs`:case`msec`:case`ms`:return c;default:return}}}}function l(e){var t=Math.abs(e);return t>=a?Math.round(e/a)+`d`:t>=i?Math.round(e/i)+`h`:t>=r?Math.round(e/r)+`m`:t>=n?Math.round(e/n)+`s`:e+`ms`}function u(e){var t=Math.abs(e);return t>=a?d(e,t,a,`day`):t>=i?d(e,t,i,`hour`):t>=r?d(e,t,r,`minute`):t>=n?d(e,t,n,`second`):e+` ms`}function d(e,t,n,r){var i=t>=n*1.5;return Math.round(e/n)+` `+r+(i?`s`:``)}})),pe=t(((e,t)=>{function n(e){n.debug=n,n.default=n,n.coerce=c,n.disable=o,n.enable=i,n.enabled=s,n.humanize=fe(),n.destroy=l,Object.keys(e).forEach(t=>{n[t]=e[t]}),n.names=[],n.skips=[],n.formatters={};function t(e){let t=0;for(let n=0;n{if(t===`%%`)return`%`;a++;let o=n.formatters[i];if(typeof o==`function`){let n=e[a];t=o.call(r,n),e.splice(a,1),a--}return t}),n.formatArgs.call(r,e),(r.log||n.log).apply(r,e)}return s.namespace=e,s.useColors=n.useColors(),s.color=n.selectColor(e),s.extend=r,s.destroy=n.destroy,Object.defineProperty(s,`enabled`,{enumerable:!0,configurable:!1,get:()=>i===null?(a!==n.namespaces&&(a=n.namespaces,o=n.enabled(e)),o):i,set:e=>{i=e}}),typeof n.init==`function`&&n.init(s),s}function r(e,t){let r=n(this.namespace+(t===void 0?`:`:t)+e);return r.log=this.log,r}function i(e){n.save(e),n.namespaces=e,n.names=[],n.skips=[];let t=(typeof e==`string`?e:``).trim().replace(/\s+/g,`,`).split(`,`).filter(Boolean);for(let e of t)e[0]===`-`?n.skips.push(e.slice(1)):n.names.push(e)}function a(e,t){let n=0,r=0,i=-1,a=0;for(;n`-`+e)].join(`,`);return n.enable(``),e}function s(e){for(let t of n.skips)if(a(e,t))return!1;for(let t of n.names)if(a(e,t))return!0;return!1}function c(e){return e instanceof Error?e.stack||e.message:e}function l(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return n.enable(n.load()),n}t.exports=n})),me=t(((e,t)=>{e.formatArgs=r,e.save=i,e.load=a,e.useColors=n,e.storage=o(),e.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),e.colors=`#0000CC.#0000FF.#0033CC.#0033FF.#0066CC.#0066FF.#0099CC.#0099FF.#00CC00.#00CC33.#00CC66.#00CC99.#00CCCC.#00CCFF.#3300CC.#3300FF.#3333CC.#3333FF.#3366CC.#3366FF.#3399CC.#3399FF.#33CC00.#33CC33.#33CC66.#33CC99.#33CCCC.#33CCFF.#6600CC.#6600FF.#6633CC.#6633FF.#66CC00.#66CC33.#9900CC.#9900FF.#9933CC.#9933FF.#99CC00.#99CC33.#CC0000.#CC0033.#CC0066.#CC0099.#CC00CC.#CC00FF.#CC3300.#CC3333.#CC3366.#CC3399.#CC33CC.#CC33FF.#CC6600.#CC6633.#CC9900.#CC9933.#CCCC00.#CCCC33.#FF0000.#FF0033.#FF0066.#FF0099.#FF00CC.#FF00FF.#FF3300.#FF3333.#FF3366.#FF3399.#FF33CC.#FF33FF.#FF6600.#FF6633.#FF9900.#FF9933.#FFCC00.#FFCC33`.split(`.`);function n(){if(typeof window<`u`&&window.process&&(window.process.type===`renderer`||window.process.__nwjs))return!0;if(typeof navigator<`u`&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let e;return typeof document<`u`&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<`u`&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<`u`&&navigator.userAgent&&(e=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(e[1],10)>=31||typeof navigator<`u`&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function r(e){if(e[0]=(this.useColors?`%c`:``)+this.namespace+(this.useColors?` %c`:` `)+e[0]+(this.useColors?`%c `:` `)+`+`+t.exports.humanize(this.diff),!this.useColors)return;let n=`color: `+this.color;e.splice(1,0,n,`color: inherit`);let r=0,i=0;e[0].replace(/%[a-zA-Z%]/g,e=>{e!==`%%`&&(r++,e===`%c`&&(i=r))}),e.splice(i,0,n)}e.log=console.debug||console.log||(()=>{});function i(t){try{t?e.storage.setItem(`debug`,t):e.storage.removeItem(`debug`)}catch{}}function a(){let t;try{t=e.storage.getItem(`debug`)||e.storage.getItem(`DEBUG`)}catch{}return!t&&typeof process<`u`&&`env`in process&&(t={}.DEBUG),t}function o(){try{return localStorage}catch{}}t.exports=pe()(e);var{formatters:s}=t.exports;s.j=function(e){try{return JSON.stringify(e)}catch(e){return`[UnexpectedJSONParseError]: `+e.message}}})),F=[0,0,0,0,0,0,0,0,0,329,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2809,68,0,27,0,58,3,62,4,7,0,0,15,65,554,3,394,404,189,117,30,51,27,15,34,32,80,1,142,3,142,39,0,144,125,44,122,275,70,135,61,127,8,12,113,246,122,36,185,1,149,309,335,12,11,14,54,151,0,0,2,0,0,211,0,2090,344,736,993,2872,701,605,646,1552,328,305,1240,735,1533,1713,562,3,1775,1149,1469,979,407,553,59,279,31,0,0,0,68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],he=1;function ge(e){return e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122}function I(e){return e.node?e.node.pop:e.leaf.pop}var L=new class{nodes=[];leaves=[];tablesBuilt=!1;buildTables(){if(this.tablesBuilt)return;this.tablesBuilt=!0,this.leaves=[];for(let e=0;e<256;e++)this.leaves.push({pop:F[e]+(ge(e)?he:0)+he,symbol:e,numBits:0,code:0});this.nodes=[{pop:0,index0:0,index1:0}];let e=256,t=[];for(let e=0;e<256;e++)t.push({node:null,leaf:this.leaves[e]});for(;e!==1;){let n=4294967294,r=4294967295,i=-1,a=-1;for(let o=0;oa?i:a;t[s]={node:o,leaf:null},c!==e-1&&(t[c]=t[e-1]),e--}this.nodes[0]=t[0].node,this.generateCodes(0,0,0)}determineIndex(e){return e.leaf===null?this.nodes.indexOf(e.node):-(this.leaves.indexOf(e.leaf)+1)}generateCodes(e,t,n){if(t<0){let r=this.leaves[-(t+1)];r.code=e,r.numBits=n}else{let r=this.nodes[t];this.generateCodes(e,r.index0,n+1),this.generateCodes(e|1<=0)t=e.readFlag()?this.nodes[t].index1:this.nodes[t].index0;else{n.push(this.leaves[-(t+1)].symbol);break}}return String.fromCharCode(...n)}else{let t=e.readInt(8),n=e.readBytes(t);return String.fromCharCode(...n)}}},_e=class e{data;bitNum;maxReadBitNum;error;stringBuffer=null;constructor(e,t=0){this.data=e,this.bitNum=t,this.maxReadBitNum=e.length<<3,this.error=!1}getCurPos(){return this.bitNum}setCurPos(e){this.bitNum=e}getBytePosition(){return this.bitNum+7>>3}isError(){return this.error}isFull(){return this.bitNum>this.maxReadBitNum}getRemainingBits(){return this.maxReadBitNum-this.bitNum}getMaxPos(){return this.maxReadBitNum}readFlag(){if(this.bitNum>=this.maxReadBitNum)return this.error=!0,!1;let e=1<<(this.bitNum&7),t=(this.data[this.bitNum>>3]&e)!==0;return this.bitNum++,t}readInt(e){if(e===0)return 0;if(this.bitNum+e>this.maxReadBitNum)return this.error=!0,0;let t=this.bitNum>>3,n=this.bitNum&7;if(this.bitNum+=e,e+n<=32){let r=0,i=e+n+7>>3;for(let e=0;e>>=n,e===32?r>>>0:r&(1<>3;for(let e=0;e>>0:r&(1<>3,n=new Uint8Array(t),r=this.bitNum>>3,i=this.bitNum&7,a=8-i;if(i===0)n.set(this.data.subarray(r,r+t));else{let e=this.data[r];for(let o=0;o>i|t<this.maxReadBitNum)return this.error=!0,0;let t=this.bitNum>>3,n=this.bitNum&7,r=e.f32U8;if(n===0)r[0]=this.data[t],r[1]=this.data[t+1],r[2]=this.data[t+2],r[3]=this.data[t+3];else{let e=8-n;for(let i=0;i<4;i++){let a=this.data[t+i],o=t+i+1>n|o<>>0)}getCompressionPoint(){return this.compressionPoint}getDataBlockDataMap(){return this.dataBlockDataMap}getConnectionContext(){let e=this.dataBlockDataMap;return{compressionPoint:this.compressionPoint,ghostTracker:this.ghostTracker,getDataBlockParser:e=>this.registry.getDataBlockParser(e),getDataBlockData:e?t=>e.get(t):void 0,getGhostParser:e=>this.registry.getGhostParser(e)}}_setNextRecvEventSeq(e){this.nextRecvEventSeq=e>>>0}setConnectionProtocolState(e){for(this.lastSeqRecvdAtSend=e.lastSeqRecvdAtSend.slice(0,32);this.lastSeqRecvdAtSend.length<32;)this.lastSeqRecvdAtSend.push(0);this.lastSeqRecvd=e.lastSeqRecvd>>>0,this.highestAckedSeq=e.highestAckedSeq>>>0,this.lastSendSeq=e.lastSendSeq>>>0,this.recvAckMask=e.ackMask>>>0,this.connectSequence=e.connectSequence>>>0,this.lastRecvAckAck=e.lastRecvAckAck>>>0,this._connectionEstablished=e.connectionEstablished}onSendPacketTrigger(){this.lastSendSeq=this.lastSendSeq+1>>>0,this.lastSeqRecvdAtSend[this.lastSendSeq&31]=this.lastSeqRecvd>>>0}applyProtocolHeader(e){if(e.connectSeqBit!==(this.connectSequence&1)||e.ackByteCount>4||e.packetType>2)return{accepted:!1,dispatchData:!1};let t=(e.seqNumber|this.lastSeqRecvd&4294966784)>>>0;if(t>>0),this.lastSeqRecvd+31>>0;if(n>>0),this.lastSendSeq>>0,e.packetType===0&&(this.recvAckMask=(this.recvAckMask|1)>>>0);for(let t=this.highestAckedSeq+1;t<=n;t++)e.ackMask&1<<(n-t&31)&&(this.lastRecvAckAck=this.lastSeqRecvdAtSend[t&31]>>>0);t-this.lastRecvAckAck>32&&(this.lastRecvAckAck=t-32),this.highestAckedSeq=n;let i=this.lastSeqRecvd!==t&&e.packetType===0;return this.lastSeqRecvd=t,{accepted:!0,dispatchData:i}}parsePacket(e){let t=new _e(e),n=this.readDnetHeader(t),r=this.applyProtocolHeader(n);if(this.packetsParsed++,!r.accepted)return this.protocolRejected++,{dnetHeader:n,rateInfo:{},gameState:this.emptyGameState(),events:[],ghosts:[]};if(!r.dispatchData)return this.protocolNoDispatch++,{dnetHeader:n,rateInfo:{},gameState:this.emptyGameState(),events:[],ghosts:[]};let i=this.readRateInfo(t);t.setStringBuffer(!0);let a=this.readGameState(t),o=a.controlObjectDataStart===void 0||a.controlObjectData!==void 0,s=o?this.readEvents(t):[],c=s[s.length-1],l=!c||c.dataBitsEnd!==c.dataBitsStart,u=o&&l?t.getCurPos():void 0,d=o&&l?this.readGhosts(t,n.seqNumber):[];return t.setStringBuffer(!1),{dnetHeader:n,rateInfo:i,gameState:a,events:s,ghosts:d,ghostSectionStart:u}}readDnetHeader(e){let t=e.readFlag(),n=e.readInt(1),r=e.readInt(9),i=e.readInt(9),a=e.readInt(2),o=e.readInt(3);return{gameFlag:t,connectSeqBit:n,seqNumber:r,highestAck:i,packetType:a,ackByteCount:o,ackMask:o>0?e.readInt(8*o):0}}readRateInfo(e){let t={};return e.readFlag()&&(t.updateDelay=e.readInt(10),t.packetSize=e.readInt(10)),e.readFlag()&&(t.maxUpdateDelay=e.readInt(10),t.maxPacketSize=e.readInt(10)),t}readGameState(e){let t=e.readInt(32),n,r;e.readFlag()&&(e.readFlag()&&(n=e.readFloat(7)),e.readFlag()&&(r=e.readFloat(7)*1.5));let i,a;e.readFlag()&&(i=e.readFlag(),a=e.readFlag());let o,s,c,l,u;e.readFlag()&&(o=e.readFlag(),o&&(s={x:e.readF32(),y:e.readF32(),z:e.readF32()}),c=e.readRangedU32(0,2),c===1?e.readFlag()&&(l=e.readRangedU32(0,ve-1)):c===2&&(u={x:e.readF32(),y:e.readF32(),z:e.readF32()}));let d=e.readFlag(),f=e.readFlag(),p,m,h,g,_;if(e.readFlag())if(e.readFlag()){let v=e.readInt(10);p=v,m=e.getCurPos();let y=e.savePos(),b=this.ghostTracker.getGhost(v),x=b?this.registry.getGhostParser(b.classId):void 0,S=this.controlParserByGhostIndex.get(v),C=this.registry.getGhostParser(25),ee=this.registry.getGhostParser(4),w=[],T=new Set,E=e=>{e?.readPacketData&&(T.has(e.name)||(T.add(e.name),w.push(e)))};E(x),E(S),E(C),E(ee);let D=!1;for(let t of w){e.restorePos(y);try{let n=this.getConnectionContext(),r=t.readPacketData(e,n);if(e.getCurPos()-m<=0||e.isError())continue;g=r,h=e.getCurPos(),this.controlParserByGhostIndex.set(v,t),n.compressionPoint!==this.compressionPoint&&(this.compressionPoint=n.compressionPoint,_=this.compressionPoint),this.controlObjectParsed++,D=!0;break}catch{}}if(!D)return e.restorePos(y),h=m,this.controlObjectFailed++,{lastMoveAck:t,damageFlash:n,whiteOut:r,selfLocked:i,selfHomed:a,seekerTracking:o,seekerTrackingPos:s,seekerMode:c,seekerObjectGhostIndex:l,targetPos:u,pinged:d,jammed:f,controlObjectGhostIndex:p,controlObjectDataStart:m,controlObjectDataEnd:h,controlObjectData:g,targetVisibility:[]}}else _={x:e.readF32(),y:e.readF32(),z:e.readF32()},this.compressionPoint=_;let v=[];for(;e.readFlag();)v.push({index:e.readInt(4),mask:e.readInt(32)});let y;return e.readFlag()&&(y=e.readInt(8)),{lastMoveAck:t,damageFlash:n,whiteOut:r,selfLocked:i,selfHomed:a,seekerTracking:o,seekerTrackingPos:s,seekerMode:c,seekerObjectGhostIndex:l,targetPos:u,pinged:d,jammed:f,controlObjectGhostIndex:p,controlObjectDataStart:m,controlObjectDataEnd:h,controlObjectData:g,compressionPoint:_,targetVisibility:v.length>0?v:void 0,cameraFov:y}}readEvents(e){let t=[],n=!0,r=-2;for(;;){let i=e.readFlag();if(n&&!i){if(n=!1,!e.readFlag()){this.dispatchGuaranteedEvents(t);break}}else if(!n&&!i){this.dispatchGuaranteedEvents(t);break}else if(!i)break;let a,o;n||(a=e.readFlag()?r+1&127:e.readInt(7),r=a,o=a|this.nextRecvEventSeq&4294967168,o0&&this.pendingGuaranteedEvents[0].absoluteSequenceNumber===this.nextRecvEventSeq;){let t=this.pendingGuaranteedEvents.shift();if(!t)break;this.nextRecvEventSeq=this.nextRecvEventSeq+1>>>0,e.push(t.event),t.event.parsedData&&this.applyEventSideEffects(t.event.parsedData)}}applyEventSideEffects(e){let t=e.type;if(t===`GhostingMessageEvent`){let t=e.message;typeof t==`number`&&t===2&&this.ghostTracker.clear();return}if(t===`GhostAlwaysObjectEvent`){let t=e.ghostIndex,n=e.classId;if(typeof t==`number`&&typeof n==`number`){let e=this.registry.getGhostParser(n);this.ghostTracker.createGhost(t,n,e?.name??`unknown_${n}`)}}t===`SimDataBlockEvent`&&this.dataBlockDataMap&&e.dataBlockData&&typeof e.objectId==`number`&&this.dataBlockDataMap.set(e.objectId,e.dataBlockData)}readGhosts(e,t){let n=[];if(!e.readFlag())return n;let r=e.readInt(3)+3;for(;e.readFlag()&&!e.isError();){let i=e.readInt(r);if(e.isError())break;if(e.readFlag()){this.ghostTracker.deleteGhost(i),this.ghostDeletes++,n.push({index:i,type:`delete`,updateBitsStart:e.getCurPos(),updateBitsEnd:e.getCurPos()});continue}let a=!this.ghostTracker.hasGhost(i),o;o=a?e.readInt(7)+0:this.ghostTracker.getGhost(i)?.classId;let s=e.getCurPos(),c=o===void 0?void 0:this.registry.getGhostParser(o);if(a&&!c)return this.ghostsTrackerDiverged++,be(`DIVERGED pkt=%d seq=%d idx=%d classId=%d bit=%d/%d trackerSize=%d (server sent UPDATE for ghost not in our tracker; 7-bit classId is actually update data)`,this.packetsParsed,t,i,o,s,e.getMaxPos(),this.ghostTracker.size()),n.push({index:i,type:`create`,classId:o,updateBitsStart:s,updateBitsEnd:s}),n;let l=!1;if(c)try{let t=this.getConnectionContext();t.currentGhostIndex=i;let r=c.unpackUpdate(e,a,t),u=e.getCurPos();a&&o!==void 0?(this.ghostTracker.createGhost(i,o,c.name),this.ghostCreatesParsed++):this.ghostUpdatesParsed++,n.push({index:i,type:a?`create`:`update`,classId:o,updateBitsStart:s,updateBitsEnd:u,parsedData:r}),l=!0}catch(r){this.ghostsFailed++;let l=a?`create`:`update`,u=r instanceof Error?r.message:String(r);be(`FAIL pkt=%d seq=%d #%d idx=%d op=%s classId=%d parser=%s bit=%d/%d trackerSize=%d err=%s`,this.packetsParsed,t,n.length,i,l,o,c.name,s,e.getMaxPos(),this.ghostTracker.size(),u)}if(!l)return be(`STOP pkt=%d seq=%d idx=%d op=%s classId=%d parser=%s bit=%d/%d`,this.packetsParsed,t,i,a?`create`:`update`,o,c?.name??`NONE`,s,e.getMaxPos()),n.push({index:i,type:a?`create`:`update`,classId:o,updateBitsStart:s,updateBitsEnd:s}),n}return n}emptyGameState(){return{lastMoveAck:0,pinged:!1,jammed:!1}}},Se=class{eventParsers=new Map;ghostParsers=new Map;dataBlockParsers=new Map;eventCatalog=new Map;ghostCatalog=new Map;dataBlockCatalog=new Map;catalogEvent(e){this.eventCatalog.set(e.name,e)}catalogGhost(e){this.ghostCatalog.set(e.name,e)}catalogDataBlock(e){this.dataBlockCatalog.set(e.name,e)}bindDeterministicDataBlocks(e,t){let n=0,r=[];for(let i=0;i0&&(r.sounds=t)}if(e.readFlag()){let t=[];for(let n=0;n<4;n++)e.readFlag()&&t.push({index:n,sequence:e.readInt(5),state:e.readInt(2),forward:e.readFlag(),atEnd:e.readFlag()});t.length>0&&(r.threads=t)}let i=!1;if(e.readFlag()){let n=[];for(let r=0;r<8;r++)if(e.readFlag()){let a={index:r};e.readFlag()?a.dataBlockId=V(e):a.dataBlockId=0,e.readFlag()&&(e.readFlag()?(a.skinTagIndex=e.readInt(10),i=!0):(a.skinName=e.readString(),i=!0)),a.triggerDown=e.readFlag(),a.loaded=e.readFlag(),a.ammo=e.readFlag(),a.wet=e.readFlag(),a.target=e.readFlag(),a.fireCount=e.readInt(3),t&&(a.imageExtraFlag=e.readFlag()),n.push(a)}n.length>0&&(r.images=n)}if(e.readFlag()){if(e.readFlag()){r.stateAEnabled=e.readFlag(),r.stateB=e.readFlag();let t=e.readFlag();r.hasInvulnerability=t,t?(r.invulnerabilityVisual=e.readFlag(),r.invulnerabilityTicks=e.readU32()):r.binaryCloak=e.readFlag()}if(e.readFlag())if(e.readFlag()){let t=e.readFlag();r.stateBMode=t,t?r.energyPackOn=!0:r.energyPackOn=!1}else r.shieldNormal=e.readNormalVector(8),r.energyPercent=e.readFloat(5);e.readFlag()&&(r.stateValue1=e.readU32(),r.stateValue2=e.readU32())}return i&&(r.imageSkinDirty=!0),e.readFlag()&&(e.readFlag()?(r.mountObject=e.readInt(10),r.mountNode=e.readInt(5)):r.mountObject=-1),r}function Ee(e,t,n){let r=U(e,t,n);if(e.readFlag()&&(r.impactSound=e.readInt(3)),e.readFlag()&&(r.action=e.readInt(8),r.actionHoldAtEnd=e.readFlag(),r.actionAtEnd=e.readFlag(),r.actionFirstPerson=e.readFlag(),r.actionAtEnd||e.readFlag()&&(r.actionAnimPos=e.readSignedFloat(6))),e.readFlag()&&(r.armAction=e.readInt(8)),e.readFlag())return r;if(e.readFlag()){if(r.actionState=e.readInt(3),e.readFlag()&&(r.recoverTicks=e.readInt(7)),r.moveFlag0=e.readFlag(),r.moveFlag1=e.readFlag(),r.position=e.readCompressedPoint(n.compressionPoint),e.readFlag()){let t=e.readInt(13)/32,n=e.readNormalVector(10);r.velocity={x:n.x*t,y:n.y*t,z:n.z*t}}else r.velocity={x:0,y:0,z:0};r.headX=e.readSignedFloat(6),r.headZ=e.readSignedFloat(6),r.rotationZ=e.readFloat(7)*2*Math.PI,r.move=we(e),r.allowWarp=e.readFlag()}return r.energy=e.readFloat(5),r}function De(e,t){let n={};if(n.energyLevel=e.readF32(),n.rechargeRate=e.readF32(),n.actionState=e.readInt(3),e.readFlag()&&(n.recoverTicks=e.readInt(7)),e.readFlag()&&(n.jumpDelay=e.readInt(7)),e.readFlag()){let r={x:e.readF32(),y:e.readF32(),z:e.readF32()};n.position=r,t.compressionPoint=r,n.velocity={x:e.readF32(),y:e.readF32(),z:e.readF32()},n.jumpSurfaceLastContact=e.readInt(4)}if(n.headX=e.readF32(),n.headZ=e.readF32(),n.rotationZ=e.readF32(),e.readFlag()){let r=e.readInt(10);n.controlObjectGhost=r;let i=t.ghostTracker.getGhost(r),a=i?t.getGhostParser?.(i.classId):void 0;if(a?.readPacketData){let i=t.currentGhostIndex;t.currentGhostIndex=r,n.controlObjectData=a.readPacketData(e,t),t.currentGhostIndex=i}}return n.disableMove=e.readFlag(),n.pilot=e.readFlag(),n}function Oe(e,t,n){let r=U(e,t,n);return r.jetting=e.readFlag(),e.readFlag()?(r._controlledEarlyReturn=!0,r):(r.steeringYaw=e.readFloat(9),r.steeringPitch=e.readFloat(9),r.move=we(e),r.frozen=e.readFlag(),e.readFlag()&&(r.position=e.readCompressedPoint(n.compressionPoint),r.angPosition={x:e.readF32(),y:e.readF32(),z:e.readF32(),w:e.readF32()},r.linMomentum=e.readPoint3F(),r.angMomentum=e.readPoint3F()),e.readFlag()&&(r.energy=e.readFloat(8)),r)}function ke(e,t){let n={};n.energyLevel=e.readF32(),n.rechargeRate=e.readF32(),n.steering={x:e.readF32(),y:e.readF32()};let r={x:e.readF32(),y:e.readF32(),z:e.readF32()};return n.linPosition=r,n.angPosition={x:e.readF32(),y:e.readF32(),z:e.readF32(),w:e.readF32()},n.linMomentum=e.readPoint3F(),n.angMomentum=e.readPoint3F(),n.disableMove=e.readFlag(),n.frozen=e.readFlag(),t.compressionPoint=r,n}function Ae(e,t){let n=ke(e,t);n.braking=e.readFlag();let r=4,i=t.currentGhostIndex;if(i!==void 0){let e=bt.get(i);e!==void 0&&(r=e)}let a=[];for(let t=0;t64)throw Error(`Invalid Sky fogVolumeCount: ${t}`);r.fogVolumeCount=t,r.useSkyTextures=e.readBool(),r.renderBottomTexture=e.readBool(),r.skySolidColor={r:e.readF32(),g:e.readF32(),b:e.readF32()},r.windEffectPrecipitation=e.readBool();let n=[];for(let r=0;r3)throw Error(`Invalid precipitation colorCount: ${t}`);let n=[];for(let r=0;rMath.floor(e.getRemainingBits()/96))throw Error(`Invalid physicalZone point count: ${t}`);let n=[];for(let r=0;rMath.floor(e.getRemainingBits()/128))throw Error(`Invalid physicalZone plane count: ${i}`);let a=[];for(let t=0;tMath.floor(e.getRemainingBits()/128))throw Error(`Invalid physicalZone edge count: ${o}`);let s=[];for(let t=0;t0&&(n.audioData=e.readBitsBuffer(r*8)),n}function Gt(e,t){return{type:`GhostingMessageEvent`,sequence:e.readU32(),message:e.readInt(3),ghostCount:e.readInt(11)}}function Kt(e,t){let n={type:`GhostAlwaysObjectEvent`};n.ghostIndex=e.readInt(10);let r=e.readFlag();if(n._hasObjectData=r,r){let r=e.readInt(7);n.classId=r;let i=t.getGhostParser?.(r);if(!i)throw Error(`No ghost parser for GhostAlwaysObjectEvent classId=${r}`);n.objectData=i.unpackUpdate(e,!0,t)}return n}function qt(e,t){let n={type:`PathManagerEvent`};if(e.readFlag()){n.messageType=`NewPaths`;let t=e.readU32(),r=[];for(let n=0;n0&&(t.hudImages=n),t}function an(e){let t={};e.readFlag()&&(t.crc=e.readU32()),t.shapeName=e.readString(),t.mountPoint=e.readU32(),e.readFlag()||(t.offset=e.readAffineTransform()),t.firstPerson=e.readFlag(),t.mass=e.readF32(),t.usesEnergy=e.readFlag(),t.minEnergy=e.readF32(),t.hasFlash=e.readFlag(),t.projectile=W(e),t.muzzleFlash=W(e),t.isSeeker=e.readFlag(),t.isSeeker&&(t.seekerRadius=e.readF32(),t.maxSeekAngle=e.readF32(),t.seekerLockTime=e.readF32(),t.seekerFreeTime=e.readF32(),t.isTargetLockRequired=e.readFlag(),t.maxLockRange=e.readF32()),t.cloakable=e.readFlag(),t.lightType=e.readRangedU32(0,3),t.lightType!==0&&(t.lightRadius=e.readF32(),t.lightTime=e.readS32(),t.lightColor={r:e.readFloat(7),g:e.readFloat(7),b:e.readFloat(7),a:e.readFloat(7)}),t.shellExitDir={x:e.readF32(),y:e.readF32(),z:e.readF32()},t.shellExitVariance=e.readF32(),t.shellVelocity=e.readF32(),t.casing=W(e),t.accuFire=e.readFlag();let n=[];for(let t=0;t<31;t++){if(!e.readFlag())continue;let t={};t.name=e.readString(),t.transitionOnAmmo=e.readInt(5),t.transitionOnNoAmmo=e.readInt(5),t.transitionOnTarget=e.readInt(5),t.transitionOnNoTarget=e.readInt(5),t.transitionOnWet=e.readInt(5),t.transitionOnNotWet=e.readInt(5),t.transitionOnTriggerUp=e.readInt(5),t.transitionOnTriggerDown=e.readInt(5),t.transitionOnTimeout=e.readInt(5),t.transitionGeneric0In=e.readInt(5),t.transitionGeneric0Out=e.readInt(5),e.readFlag()&&(t.timeoutValue=e.readF32()),t.waitForTimeout=e.readFlag(),t.fire=e.readFlag(),t.ejectShell=e.readFlag(),t.scaleAnimation=e.readFlag(),t.direction=e.readFlag(),t.reload=e.readFlag(),e.readFlag()&&(t.energyDrain=e.readF32()),t.loaded=e.readInt(3),t.spin=e.readInt(3),t.recoil=e.readInt(3),e.readFlag()&&(t.sequence=e.readSignedInt(16)),e.readFlag()&&(t.sequenceVis=e.readSignedInt(16)),t.flashSequence=e.readFlag(),t.ignoreLoadedForReady=e.readFlag(),t.emitter=W(e),t.emitter!==null&&(t.emitterTime=e.readF32(),t.emitterNode=e.readS32()),t.sound=W(e),n.push(t)}return t.states=n,t}function on(e){let t=Y(e);t.renderFirstPerson=e.readFlag(),t.minLookAngle=e.readF32(),t.maxLookAngle=e.readF32(),t.maxFreelookAngle=e.readF32(),t.maxTimeScale=e.readF32(),t.maxStepHeight=e.readF32(),t.runForce=e.readF32(),t.runEnergyDrain=e.readF32(),t.minRunEnergy=e.readF32(),t.maxForwardSpeed=e.readF32(),t.maxBackwardSpeed=e.readF32(),t.maxSideSpeed=e.readF32(),t.maxUnderwaterForwardSpeed=e.readF32(),t.maxUnderwaterBackwardSpeed=e.readF32(),t.maxUnderwaterSideSpeedRef=W(e),e.readFlag()&&(t.runSurfaceAngleRef=e.readInt(11)),t.runSurfaceAngle=e.readF32(),t.recoverDelay=e.readF32(),t.recoverRunForceScale=e.readF32(),t.jumpForce=e.readF32(),t.jumpEnergyDrain=e.readF32(),t.minJumpEnergy=e.readF32(),t.minJumpSpeed=e.readF32(),t.maxJumpSpeed=e.readF32(),t.jumpSurfaceAngle=e.readF32(),t.minJetEnergy=e.readF32(),t.splashVelocity=e.readF32(),t.splashAngle=e.readF32(),t.splashFreqMod=e.readF32(),t.splashVelEpsilon=e.readF32(),t.bubbleEmitTime=e.readF32(),t.medSplashSoundVel=e.readF32(),t.hardSplashSoundVel=e.readF32(),t.exitSplashSoundVel=e.readF32(),t.jumpDelay=e.readInt(7),t.horizMaxSpeed=e.readF32(),t.horizResistSpeed=e.readF32(),t.horizResistFactor=e.readF32(),t.upMaxSpeed=e.readF32(),t.upResistSpeed=e.readF32(),t.upResistFactor=e.readF32(),t.jetEnergyDrain=e.readF32(),t.canJet=e.readF32(),t.maxJetHorizontalPercentage=e.readF32(),t.maxJetForwardSpeed=e.readF32(),t.jetForce=e.readF32(),t.minJetSpeed=e.readF32(),t.maxDamage=e.readF32(),t.minImpactDamageSpeed=e.readF32(),t.impactDamageScale=e.readF32(),t.footSplashHeight=e.readF32();let n=[];for(let t=0;t<32;t++)e.readFlag()?n.push(e.readInt(11)):n.push(null);t.sounds=n,t.boxSize={x:e.readF32(),y:e.readF32(),z:e.readF32()},t.footPuffEmitter=W(e),t.footPuffNumParts=e.readF32(),t.footPuffRadius=e.readF32(),t.decalData=W(e),t.decalOffset=e.readF32(),t.dustEmitter=W(e),t.splash=W(e);let r=[];for(let t=0;t<3;t++)r.push(W(e));return t.splashEmitters=r,t.groundImpactMinSpeed=e.readF32(),t.groundImpactShakeFreq={x:e.readF32(),y:e.readF32(),z:e.readF32()},t.groundImpactShakeAmp={x:e.readF32(),y:e.readF32(),z:e.readF32()},t.groundImpactShakeDuration=e.readF32(),t.groundImpactShakeFalloff=e.readF32(),t.boundingRadius=e.readF32(),t.moveBubbleSize=e.readF32(),t}function sn(e){let t=Y(e);t.bodyRestitution=e.readF32(),t.bodyFriction=e.readF32();let n=[];for(let t=0;t<2;t++)n.push(W(e));t.impactSounds=n,t.minImpactSpeed=e.readF32(),t.softImpactSpeed=e.readF32(),t.hardImpactSpeed=e.readF32(),t.minRollSpeed=e.readF32(),t.maxSteeringAngle=e.readF32(),t.maxDrag=e.readF32(),t.minDrag=e.readF32(),t.cameraOffset=e.readF32(),t.cameraLag=e.readF32(),t.jetForce=e.readF32(),t.jetEnergyDrain=e.readF32(),t.minJetEnergy=e.readF32(),t.integration=e.readF32(),t.collisionTol=e.readF32(),t.massCenter=e.readF32(),t.exitSplashSoundVelocity=e.readF32(),t.softSplashSoundVelocity=e.readF32(),t.mediumSplashSoundVelocity=e.readF32(),t.hardSplashSoundVelocity=e.readF32();let r=[];for(let t=0;t<5;t++)r.push(W(e));t.waterSounds=r,t.dustEmitter=W(e);let i=[];for(let t=0;t<3;t++)i.push(W(e));t.damageEmitters=i;let a=[];for(let t=0;t<2;t++)a.push(W(e));return t.splashEmitters=a,t.damageEmitterOffset0={x:e.readF32(),y:e.readF32(),z:e.readF32()},t.damageEmitterOffset1={x:e.readF32(),y:e.readF32(),z:e.readF32()},t.damageLevelTolerance0=e.readF32(),t.damageLevelTolerance1=e.readF32(),t.splashFreqMod=e.readF32(),t.splashVelEpsilon=e.readF32(),t.collDamageThresholdVel=e.readF32(),t.collDamageMultiplier=e.readF32(),t}function cn(e){let t=sn(e);t.jetActivateSound=W(e),t.jetDeactivateSound=W(e);let n=[];for(let t=0;t<4;t++)n.push(W(e));return t.jetEmitters=n,t.maneuveringForce=e.readF32(),t.horizontalSurfaceForce=e.readF32(),t.verticalSurfaceForce=e.readF32(),t.autoInputDamping=e.readF32(),t.steeringForce=e.readF32(),t.steeringRollForce=e.readF32(),t.rollForce=e.readF32(),t.autoAngularForce=e.readF32(),t.rotationalDrag=e.readF32(),t.maxAutoSpeed=e.readF32(),t.autoLinearForce=e.readF32(),t.hoverHeight=e.readF32(),t.createHoverHeight=e.readF32(),t.minTrailSpeed=e.readF32(),t.vertThrustMultiple=e.readF32(),t.maxForwardSpeed=e.readF32(),t}function ln(e){let t=sn(e);t.dragForce=e.readF32(),t.mainThrustForce=e.readF32(),t.reverseThrustForce=e.readF32(),t.strafeThrustForce=e.readF32(),t.turboFactor=e.readF32(),t.stabLenMin=e.readF32(),t.stabLenMax=e.readF32(),t.stabSpringConstant=e.readF32(),t.stabDampingConstant=e.readF32(),t.gyroDrag=e.readF32(),t.normalForce=e.readF32(),t.restorativeForce=e.readF32(),t.steeringForce=e.readF32(),t.rollForce=e.readF32(),t.pitchForce=e.readF32(),t.floatingThrustFactor=e.readF32(),t.brakingForce=e.readF32(),t.dustTrailOffset={x:e.readF32(),y:e.readF32(),z:e.readF32()},t.dustTrailFreqMod=e.readF32(),t.triggerTrailHeight=e.readF32(),t.floatSound=W(e),t.thrustSound=W(e),t.turboSound=W(e);let n=[];for(let t=0;t<3;t++)n.push(W(e));return t.jetEmitters=n,t.dustTrailEmitter=W(e),t.mainThrustEmitterFactor=e.readF32(),t.strafeThrustEmitterFactor=e.readF32(),t.reverseThrustEmitterFactor=e.readF32(),t}function un(e){let t=sn(e);return t.tireRadius=e.readF32(),t.tireStaticFriction=e.readF32(),t.tireKineticFriction=e.readF32(),t.tireRestitution=e.readF32(),t.tireLateralForce=e.readF32(),t.tireLateralDamping=e.readF32(),t.tireLateralRelaxation=e.readF32(),t.tireLongitudinalForce=e.readF32(),t.tireLongitudinalDamping=e.readF32(),t.tireEmitter=W(e),t.jetSound=W(e),t.engineSound=W(e),t.squealSound=W(e),t.wadeSound=W(e),t.spring=e.readF32(),t.springDamping=e.readF32(),t.springLength=e.readF32(),t.brakeTorque=e.readF32(),t.engineTorque=e.readF32(),t.engineBrake=e.readF32(),t.maxWheelSpeed=e.readF32(),t.steeringAngle=e.readF32(),t.steeringReturn=e.readF32(),t.steeringDamping=e.readF32(),t.powerSteeringFactor=e.readF32(),t}function dn(e){let t=Y(e);return t.noIndividualDamage=e.readFlag(),t.dynamicTypeField=e.readS32(),t}function fn(e){let t=dn(e);return t.thetaMin=e.readF32(),t.thetaMax=e.readF32(),t.thetaNull=e.readF32(),t.neverUpdateControl=e.readFlag(),t.primaryAxis=e.readRangedU32(0,3),t.maxCapacitorEnergy=e.readF32(),t.capacitorRechargeRate=e.readF32(),t}function pn(e){let t=an(e);return t.activationMS=e.readInt(8),t.deactivateDelayMS=e.readInt(8),t.degPerSecTheta=e.readRangedU32(0,1080),t.degPerSecPhi=e.readRangedU32(0,1080),t.dontFireInsideDamageRadius=e.readFlag(),t.damageRadius=e.readF32(),t.useCapacitor=e.readFlag(),t}function mn(e){let t=Y(e);return t.friction=e.readFloat(10),t.elasticity=e.readFloat(10),t.sticky=e.readFlag(),e.readFlag()&&(t.gravityMod=e.readFloat(10)),e.readFlag()&&(t.maxVelocity=e.readF32()),e.readFlag()&&(t.lightType=e.readInt(2),t.lightColor={r:e.readFloat(7),g:e.readFloat(7),b:e.readFloat(7),a:e.readFloat(7)},t.lightTime=e.readS32(),t.lightRadius=e.readF32(),t.lightOnlyStatic=e.readFlag()),t}function X(e){let t={};t.projectileShapeName=e.readString(),t.faceViewerLinkTime=e.readS32(),t.lifetime=e.readS32(),t.faceViewer=e.readFlag(),e.readFlag()&&(t.scale={x:e.readF32(),y:e.readF32(),z:e.readF32()}),t.baseEmitter=W(e),t.delayEmitter=W(e),t.bubbleEmitter=W(e),t.explosion=W(e),t.underwaterExplosion=W(e),t.splash=W(e),t.sound=W(e),t.wetFireSound=W(e),t.fireSound=W(e);let n=[];for(let t=0;t<6;t++)n.push(W(e));return t.decals=n,e.readFlag()&&(t.lightRadius=e.readFloat(8),t.lightColor={r:e.readFloat(7),g:e.readFloat(7),b:e.readFloat(7)}),e.readFlag()&&(t.underwaterLightColor={r:e.readFloat(7),g:e.readFloat(7),b:e.readFloat(7)}),t.explodeOnWaterImpact=q(e),t.depthTolerance=e.readF32(),t}function hn(e){let t=X(e);return t.dryVelocity=e.readF32(),t.wetVelocity=e.readF32(),t.fizzleTime=e.readU32(),t.fizzleType=e.readU32(),t.hardRetarget=e.readFlag(),t.inheritedVelocityScale=e.readRangedU32(0,90),t.lifetimeMS=e.readRangedU32(0,90),t.collideWithOwnerTimeMS=e.readU32(),t.proximityRadius=e.readU32(),t.tracerProjectile=e.readFlag(),t}function gn(e){let t=X(e);return t.armingDelayMS=e.readS32(),t.muzzleVelocity=e.readF32(),t.grenadeElasticity=e.readF32(),t.grenadeFriction=e.readF32(),t.drag=e.readF32(),t.density=e.readF32(),t.gravityMod=e.readF32(),t.lifetimeMS=e.readS32(),t}function _n(e){let t=X(e);return t.lifetimeMS=e.readS32(),t.muzzleVelocity=e.readF32(),t.turningSpeed=e.readF32(),t.proximityRadius=e.readF32(),t.terrainAvoidanceSpeed=e.readF32(),t.terrainScanAhead=e.readF32(),t.terrainHeightFail=e.readF32(),t.terrainAvoidanceRadius=e.readF32(),t.flareDistance=e.readF32(),t.flareAngle=e.readF32(),t.useFlechette=q(e),t.maxVelocity=e.readF32(),t.acceleration=e.readF32(),t.flechetteDelayMs=e.readS32(),t.exhaustTimeMs=e.readS32(),t.exhaustNodeName=e.readString(),t.casingShapeName=e.readString(),t.casingDebris=W(e),t.puffEmitter=W(e),t.exhaustEmitter=W(e),t}function vn(e){let t=X(e);t.maxRifleRange=e.readF32(),t.rifleHeadMultiplier=e.readF32(),t.beamColor=K(e),t.fadeTime=e.readF32(),t.startBeamWidth=e.readF32(),t.endBeamWidth=e.readF32(),t.pulseBeamWidth=e.readF32(),t.beamFlareAngle=e.readF32(),t.minFlareSize=e.readF32(),t.maxFlareSize=e.readF32(),t.pulseSpeed=e.readF32(),t.pulseLength=e.readF32(),t.lightColor=K(e),t.lightRadius=e.readF32();let n=[];for(let t=0;t<12;t++)n.push(e.readString());return t.textures=n,t}function yn(e){let t=X(e);t.zapDuration=e.readF32(),t.boltLength=e.readF32(),t.numParts=e.readF32(),t.lightningFreq=e.readF32(),t.lightningDensity=e.readF32(),t.lightningAmp=e.readF32(),t.lightningWidth=e.readF32(),t.shockwave=W(e);let n=[],r=[],i=[],a=[];for(let t=0;t<2;t++)n.push(e.readF32()),r.push(e.readF32()),i.push(e.readF32()),a.push(e.readF32());t.startWidth=n,t.endWidth=r,t.boltSpeed=i,t.texWrap=a;let o=[];for(let t=0;t<4;t++)o.push(e.readString());return t.textures=o,t.emitter=W(e),t}function bn(e){let t=X(e);return t.beamRange=e.readF32(),t.beamDrainRate=e.readF32(),t.muzzleVelocity=e.readF32(),t.proximityRadius=e.readF32(),t.startWidth=e.readF32(),t.endWidth=e.readF32(),t.mainBeamTexture=e.readString(),t.innerBeamTexture=e.readString(),t.flareTexture=e.readString(),t.hitEmitter=W(e),t}function xn(e){let t=X(e);return t.beamRange=e.readF32(),t.beamRepairRate=e.readF32(),t.muzzleVelocity=e.readF32(),t.proximityRadius=e.readF32(),t.startWidth=e.readF32(),t.endWidth=e.readF32(),t.startBeamWidth=e.readF32(),t.endBeamWidth=e.readF32(),t.mainBeamTexture=e.readString(),t.innerBeamTexture=e.readString(),t}function Sn(e){let t=X(e);t.maxRifleRange=e.readF32(),t.beamColor=K(e),t.startBeamWidth=e.readF32(),t.pulseBeamWidth=e.readF32(),t.beamFlareAngle=e.readF32(),t.minFlareSize=e.readF32(),t.maxFlareSize=e.readF32(),t.pulseSpeed=e.readF32(),t.pulseLength=e.readF32();let n=[];for(let t=0;t<4;t++)n.push(e.readString());return t.textures=n,t}function Cn(e){let t=hn(e);return t.tracerLength=e.readF32(),t.tracerAlpha=e.readF32(),t.tracerMinPixels=e.readF32(),t.crossViewFraction=q(e),t.tracerColor=K(e),t.tracerWidth=e.readF32(),t.muzzleVelocity=e.readF32(),t.proximityRadius=q(e),t.textureName0=e.readString(),t.textureName1=e.readString(),t}function wn(e){let t=gn(e);return t.energyDrainPerSecond=e.readF32(),t.energyMinDrain=e.readF32(),t.beamWidth=e.readF32(),t.beamRange=e.readF32(),t.numSegments=e.readF32(),t.texRepeat=e.readF32(),t.beamFlareAngle=e.readF32(),t.beamTexture=e.readString(),t.flareTexture=e.readString(),t}function Tn(e){let t=hn(e);return t.numFlares=e.readF32(),t.flareColor=K(e),t.flareTexture=e.readString(),t.smokeTexture=e.readString(),t.size=e.readF32(),t.flareModTexture=e.readF32(),t.smokeSize=e.readF32(),t}function En(e){let t=gn(e);return t.smokeDist=e.readF32(),t.noSmoke=e.readF32(),t.boomTime=e.readF32(),t.casingDist=e.readF32(),t.smokeCushion=e.readF32(),t.noSmokeCounter=e.readF32(),t.smokeTexture=e.readString(),t.bombTexture=e.readString(),t}function Dn(e){let t=gn(e);return t.size=e.readF32(),t.useLensFlare=q(e),t.flareTexture=e.readString(),t.lensFlareTexture=e.readString(),t}function On(e){let t={};t.dtsFileName=e.readString(),t.soundProfile=W(e),t.particleEmitter=W(e),t.particleDensity=e.readInt(14),t.particleRadius=e.readF32(),t.faceViewer=e.readFlag(),e.readFlag()&&(t.explosionScale={x:e.readInt(16),y:e.readInt(16),z:e.readInt(16)}),t.playSpeed=e.readInt(14),t.debrisThetaMin=e.readRangedU32(0,180),t.debrisThetaMax=e.readRangedU32(0,180),t.debrisPhiMin=e.readRangedU32(0,360),t.debrisPhiMax=e.readRangedU32(0,360),t.debrisMinVelocity=e.readRangedU32(0,1e3),t.debrisMaxVelocity=e.readRangedU32(0,1e3),t.debrisNum=e.readInt(14),t.debrisVariance=e.readRangedU32(0,1e4),t.delayMS=e.readInt(16),t.delayVariance=e.readInt(16),t.lifetimeMS=e.readInt(16),t.lifetimeVariance=e.readInt(16),t.offset=e.readF32(),t.shakeCamera=e.readFlag(),t.hasLight=e.readFlag(),t.camShakeFreq={x:e.readF32(),y:e.readF32(),z:e.readF32()},t.camShakeAmp={x:e.readF32(),y:e.readF32(),z:e.readF32()},t.camShakeDuration=e.readF32(),t.camShakeRadius=e.readF32(),t.camShakeFalloff=e.readF32(),t.shockwave=W(e),t.debris=W(e);let n=[];for(let t=0;t<4;t++)n.push(W(e));t.emitters=n;let r=[];for(let t=0;t<5;t++)r.push(W(e));t.subExplosions=r;let i=e.readRangedU32(0,4),a=[];for(let t=0;t0&&Z(`DataBlock binding: %d/%d bound, missing parsers: %s`,t,R.length,n.join(`, `));let{bound:r,missing:i}=this.registry.bindDeterministicGhosts(z,0);i.length>0&&Z(`Ghost binding: %d/%d bound, missing parsers: %s`,r,z.length,i.join(`, `));let{bound:a,missing:o}=this.registry.bindDeterministicEvents(ye,255);o.length>0&&Z(`Event binding: %d/%d bound, missing parsers: %s`,a,ye.length,o.join(`, `)),this.packetParser=new xe(this.registry,this.ghostTracker)}getRegistry(){return this.registry}getGhostTracker(){return this.ghostTracker}getPacketParser(){return this.packetParser}get loaded(){return this._loaded}get header(){if(!this._loaded)throw Error(`must call load() first`);return this._header}get initialBlock(){if(!this._loaded)throw Error(`must call load() first`);return this._initialBlock}get blockCount(){if(!this._loaded)throw Error(`must call load() first`);if(this._blockCount===void 0){let e=this._decompressedData,t=this._decompressedView,n=0,r=0;for(;r+2<=e.length;){let i=t.getUint16(r,!0)&4095;if(r+=2+i,r>e.length)break;n++}this._blockCount=n}return this._blockCount}get blockCursor(){if(!this._loaded)throw Error(`must call load() first`);return this._blockCursor}async load(){if(this._loaded)return{header:this._header,initialBlock:this._initialBlock};let e=this.readHeader();Z(`header: "%s" version=0x%s length=%dms (%smin) initialBlockSize=%d`,e.identString,e.protocolVersion.toString(16),e.demoLengthMs,(e.demoLengthMs/1e3/60).toFixed(1),e.initialBlockSize);let t=this.buffer.subarray(this.offset,this.offset+e.initialBlockSize),n=this.readInitialBlock(t);this.offset+=e.initialBlockSize;let r=this.buffer.subarray(this.offset);Z(`compressed block stream: %d bytes`,r.length);let i=await new Promise((e,t)=>{le(r,(n,r)=>{n?t(n):e(r)})});return Z(`decompressed block stream: %d bytes`,i.length),this._decompressedData=i,this._decompressedView=new DataView(i.buffer,i.byteOffset,i.byteLength),this.setupPacketParser(n),this._header=e,this._initialBlock=n,this._blockStreamOffset=0,this._blockCursor=0,this._loaded=!0,{header:e,initialBlock:n}}nextBlock(){if(!this._loaded)throw Error(`must call load() first`);let e=this._decompressedData,t=this._decompressedView,n=this._blockStreamOffset;if(n+2>e.length)return;let r=t.getUint16(n,!0),i=r>>12,a=r&4095;if(n+2+a>e.length){ar(`block %d: size %d would exceed decompressed data (offset=%d remaining=%d), stopping`,this._blockCursor,a,n+2,e.length-n-2);return}let o=e.subarray(n+2,n+2+a);this._blockStreamOffset=n+2+a;let s={index:this._blockCursor,type:i,size:a,data:o};if(this._blockCursor++,i===0)try{s.parsed=this.packetParser.parsePacket(o)}catch{}else if(i===1)this.packetParser.onSendPacketTrigger();else if(i===2&&a===64)try{s.parsed=this.readRawMove(o)}catch{}else if(i===3&&a===8)try{s.parsed=this.readInfoBlock(o)}catch{}return s}reset(){if(!this._loaded)throw Error(`must call load() first`);this._blockStreamOffset=0,this._blockCursor=0,this._blockCount=void 0,this.setupPacketParser(this._initialBlock)}processBlocks(e){if(!this._loaded)throw Error(`must call load() first`);let t=0;for(let n=0;n=128&&n<128+R.length?R[n-128]:`unknown(${n})`;throw Error(`No parser for DataBlock classId ${n} (${e}) at bit ${c}`)}}Z(`all %d/%d DataBlocks parsed (%d payloads), bit position after DataBlocks: %d`,o,r,a.size,t.getCurPos());let s=t.readU8()!==0,c=[];for(let e=0;e<6;e++)c.push(t.readU32());let l=[];for(let e=0;e<16;e++)l.push(t.readU32());let u=t.readU32(),d=[];for(let e=0;e>3<<3),this.readSimpleTargetManager(t),this.readSimpleTargetManager(t),Q(`after sequential tail bit=%d mission="%s" CRC=0x%s`,t.getCurPos(),O,te.toString(16))}catch(e){k=e instanceof Error?e.message:String(e)}finally{this.ghostTracker=S}let A=b-t.getCurPos(),j=O.length>0?O.split(``).filter(e=>{let t=e.charCodeAt(0);return t>=32&&t<=126}).length/O.length:1,M=O.length>0&&j>=.8&&k===void 0;return Z(`initial block: events=%d ghosts=%d ghostingSeq=%d controlObj=%d mission="%s" CRC=0x%s valid=%s%s`,C.length,T.length,w,E,O,te.toString(16),M,k?` error=${k}`:``),{taggedStrings:n,dataBlockHeaders:i,dataBlockCount:o,dataBlocks:a,firstPerson:s,connectionFields:c,stateArray:l,scoreEntries:d,demoValues:f,sensorGroupColors:p,targetEntries:m,connectionState:h,roundTripTime:g,packetLoss:_,pathManager:v,notifyCount:y,nextRecvEventSeq:ee,ghostingSequence:w,initialGhosts:T,initialEvents:C,controlObjectGhostIndex:E,controlObjectData:D,missionName:O,missionCRC:te,phase2TrailingBits:A,phase2Valid:M,phase2Error:k}}readScoreEntry(e){let t=e.readFlag()?e.readInt(16):0,n=e.readFlag()?e.readInt(16):0,r=e.readFlag()?e.readInt(16):0,i=e.readInt(6),a=e.readInt(6),o=e.readInt(6),s=e.readFlag(),c=[];for(let t=0;t<6;t++)c.push(e.readFlag());return{clientId:t,teamId:n,score:r,field0:i,field1:a,field2:o,isBot:s,triggerFlags:c}}readDemoValues(e){let t=[];for(;e.readFlag();)t.push(e.readString());return t}readComplexTargetManager(e){e.readU8(),e.readU8(),e.readU8(),e.readU8();let t=[];for(let n=0;n<32;n++)for(let r=0;r<32;r++)e.readFlag()&&t.push({group:n,targetGroup:r,r:e.readU8(),g:e.readU8(),b:e.readU8(),a:e.readU8()});let n=[];for(let t=0;t<512;t++){if(!e.readFlag())continue;let r={targetId:t,sensorGroup:0,targetData:0,damageLevel:0};e.readFlag()&&(r.sensorData=e.readU32()),e.readFlag()&&(r.voiceMapData=e.readU32()),e.readFlag()&&(r.name=e.readString()),e.readFlag()&&(r.skin=e.readString()),e.readFlag()&&(r.skinPref=e.readString()),e.readFlag()&&(r.voice=e.readString()),e.readFlag()&&(r.typeDescription=e.readString()),r.sensorGroup=e.readInt(5),r.targetData=e.readInt(9),t>=32&&e.readFlag()&&(r.dataBlockRef=e.readInt(11)),r.damageLevel=e.readFloat(7),n.push(r)}return{sensorGroupColors:t,targets:n}}readPathManager(e){let t=[],n=e.readU32();for(let r=0;rthis.registry.getDataBlockParser(e)};a=i.unpack(e,t)}catch{n.push({classId:t,guaranteed:!0,dataBitsStart:r,dataBitsEnd:r});break}else{n.push({classId:t,guaranteed:!0,dataBitsStart:r,dataBitsEnd:r});break}n.push({classId:t,guaranteed:!0,dataBitsStart:r,dataBitsEnd:e.getCurPos(),parsedData:a}),Q(` event classId=%d bits=%d`,t,e.getCurPos()-r)}return{nextRecvEventSeq:t,events:n}}readGhostStartBlock(e,t){let n=e.readU32(),r=[];Q(`ghost block: seq=%d bit=%d`,n,e.getCurPos());let i=this.registry.getGhostCatalog(),a=e.getBuffer().length*8,o=new Map;for(let[e,n]of t)o.set(e,n.data);for(;e.readFlag()&&!e.isError();){let n=e.readInt(10),s=e.readInt(7)+0,c=e.getCurPos(),l=[],u=new Set,{entry:d}=this.identifyGhostViaDataBlock(e,t,i),f=this.registry.getGhostParser(s);f&&(l.push({entry:f,method:`registry`}),u.add(f)),d&&!u.has(d)&&(l.push({entry:d,method:`datablock`}),u.add(d));let p={getDataBlockData:e=>o.get(e),getDataBlockParser:e=>this.registry.getDataBlockParser(e)},m=!1;for(let{entry:t,method:i}of l){let o=i===`registry`,l=this.tryGhostParser(e,t,c,a,!1,p,o);if(l!==!1){this.ghostTracker.createGhost(n,s,t.name),Q(` ghost idx=%d classId=%d parser=%s bits=%d via=%s`,n,s,t.name,e.getCurPos()-c,i),r.push({index:n,type:`create`,classId:s,updateBitsStart:c,updateBitsEnd:e.getCurPos(),parsedData:l}),m=!0;break}}if(!m){Q(` ghost idx=%d classId=%d NO PARSER (stopping at bit=%d, remaining=%d)`,n,s,c,a-c);break}}return Q(`ghost loop ended at bit=%d remaining=%d count=%d`,e.getCurPos(),a-e.getCurPos(),r.length),{ghostingSequence:n,ghosts:r}}tryGhostParser(e,t,n,r,i=!1,a,o=!1){let s=e.savePos();i||Q(` try %s: startBit=%d`,t.name,n);try{let c=t.unpackUpdate(e,!0,{compressionPoint:{x:0,y:0,z:0},ghostTracker:this.ghostTracker,...a}),l=e.getCurPos()-n,u=r-e.getCurPos();if(e.isError()||!o&&l<3)return i||Q(` reject %s: bits=%d isError=%s`,t.name,l,e.isError()),e.restorePos(s),!1;if(u>1e3){let n=e.getCurPos(),r=e.readFlag();if(e.setCurPos(n),!r)return i||Q(` reject %s: bits=%d misaligned (remaining=%d)`,t.name,l,u),e.restorePos(s),!1}return c??{}}catch(n){return i||Q(` reject %s: error at bit=%d: %s`,t.name,e.getCurPos(),n instanceof Error?n.message:String(n)),e.restorePos(s),!1}}identifyGhostViaDataBlock(e,t,n){if(!t)return{entry:void 0,dbFlag:!1};let r=e.savePos(),i,a=!1;try{if(a=e.readFlag(),a){let r=e.readInt(11),a=t.get(r);if(a){let e=a.className.replace(/Data$/,``);i=n.get(e),i||Q(` identifyGhostViaDataBlock: dbId=%d className=%s ghostName=%s (no ghost parser)`,r,a.className,e)}else Q(` identifyGhostViaDataBlock: dbId=%d (no DataBlock found)`,r)}else Q(` identifyGhostViaDataBlock: DataBlock flag=0`)}catch{}return e.restorePos(r),{entry:i,dbFlag:a}}readRawMove(e){let t=new DataView(e.buffer,e.byteOffset,e.byteLength),n=t.getInt32(0,!0),r=t.getInt32(4,!0),i=t.getInt32(8,!0),a=t.getUint32(12,!0),o=t.getUint32(16,!0),s=t.getUint32(20,!0),c=t.getFloat32(24,!0),l=t.getFloat32(28,!0),u=t.getFloat32(32,!0),d=t.getFloat32(36,!0),f=t.getFloat32(40,!0),p=t.getFloat32(44,!0),m=t.getUint32(48,!0),h=t.getUint32(52,!0),g=e[56]!==0,_=[];for(let t=0;t<6;t++)_.push(e[57+t]!==0);return{px:n,py:r,pz:i,pyaw:a,ppitch:o,proll:s,x:c,y:l,z:u,yaw:d,pitch:f,roll:p,id:m,sendCount:h,freeLook:g,trigger:_}}readInfoBlock(e){let t=new DataView(e.buffer,e.byteOffset,e.byteLength);return{value1:t.getUint32(0,!0),value2:t.getFloat32(4,!0)}}};function sr(){let e=new Se,t=new Ce;return rn(e),Dt(e),ir(e),e.bindDeterministicDataBlocks(R,128),e.bindDeterministicGhosts(z,0),e.bindDeterministicEvents(ye,255),{registry:e,ghostTracker:t,packetParser:new xe(e,t,{dataBlockDataMap:new Map})}}var cr={GhostAlwaysDone:0,GhostAlwaysAck:1,EndGhosting:2,GhostingActive:3},lr=new Set([`FlyingVehicle`,`HoverVehicle`,`WheeledVehicle`]),ur=new Set([`BombProjectile`,`EnergyProjectile`,`FlareProjectile`,`GrenadeProjectile`,`LinearFlareProjectile`,`LinearProjectile`,`Projectile`,`SeekerProjectile`,`TracerProjectile`]),dr=new Set([`LinearProjectile`,`TracerProjectile`,`LinearFlareProjectile`,`Projectile`]),fr=new Set([`GrenadeProjectile`,`EnergyProjectile`,`FlareProjectile`,`BombProjectile`]),pr=new Set([`SeekerProjectile`]),mr=new Set([`StaticShape`,`ScopeAlwaysShape`,`Turret`,`BeaconObject`,`ForceFieldBare`]);function hr(e){return e===`Player`?`Player`:lr.has(e)?`Vehicle`:e===`Item`?`Item`:ur.has(e)?`Projectile`:mr.has(e)?`Deployable`:`Ghost`}var gr=1027,_r=gr;function vr(){_r=gr}function yr(){return String(_r++)}var br=Object.freeze({r:0,g:255,b:0}),xr=Object.freeze({r:255,g:0,b:0}),Sr=new r,Cr=new n;function wr(e,t,n){return en?n:e}var Tr=Math.PI*.494;function Er(e,t){let n=Math.sin(t),r=Math.cos(t),i=Math.sin(e),a=Math.cos(e);return Sr.set(-i,a*n,-a*r,0,0,r,n,0,a,i*n,-i*r,0,0,0,0,1),Cr.setFromRotationMatrix(Sr),[Cr.x,Cr.y,Cr.z,Cr.w]}function Dr(e){let t=-e/2;return[0,Math.sin(t),0,Math.cos(t)]}function Or(e){if(!Number.isFinite(e.x)||!Number.isFinite(e.y)||!Number.isFinite(e.z)||!Number.isFinite(e.w))return null;let t=-e.y,n=-e.z,r=-e.x,i=e.w,a=t*t+n*n+r*r+i*i;if(a<=1e-12)return null;let o=1/Math.sqrt(a);return[t*o,n*o,r*o,i*o]}function kr(e){return Math.atan2(2*(e.w*e.z+e.x*e.y),e.w*e.w+e.x*e.x-e.y*e.y-e.z*e.z)}function Ar(e){let t=2*(e.w*e.x-e.y*e.z);return Math.asin(Math.max(-1,Math.min(1,t)))}function jr(e){return e!=null&&Number.isFinite(e.x)&&Number.isFinite(e.y)&&Number.isFinite(e.z)}function Mr(e){return!!e&&typeof e==`object`&&typeof e.x==`number`&&typeof e.y==`number`&&typeof e.z==`number`}function Nr(e){return!!e&&typeof e==`object`&&typeof e.x==`number`&&typeof e.y==`number`&&typeof e.z==`number`&&typeof e.w==`number`}function Pr(e,t){if(!t)return;let n;return n=ur.has(e)||e.endsWith(`ProjectileData`)?t.projectileShapeName:e===`DebrisData`?t.shapeFileName:t.shapeName,typeof n==`string`&&n.length>0?n:void 0}function $(e,t){if(e)for(let n of t){let t=e[n];if(typeof t==`number`&&Number.isFinite(t))return t}}function Fr(e,t){if(e)for(let n of t){let t=e[n];if(typeof t==`string`&&t.length>0)return t}}function Ir(e,t){if(e)for(let n of t){let t=e[n];if(typeof t==`boolean`)return t}}function Lr(e,t){if(!t)return;let n=Fr(t,[`tracerTex0`,`textureName0`,`texture0`])??``;if(!(e===`TracerProjectile`||n.length>0&&$(t,[`tracerLength`])!=null)||!n)return;let r=Fr(t,[`tracerTex1`,`textureName1`,`texture1`]),i=$(t,[`tracerLength`])??10,a=$(t,[`tracerWidth`]),o=$(t,[`tracerAlpha`]);return{kind:`tracer`,texture:n,crossTexture:r,tracerLength:i,tracerWidth:a!=null&&($(t,[`crossViewAng`])!=null||a<=.7)?a:o??a??.5,crossViewAng:$(t,[`crossViewAng`,`crossViewFraction`])??(typeof t.tracerWidth==`number`&&t.tracerWidth>.7?t.tracerWidth:.98),crossSize:$(t,[`crossSize`,`muzzleVelocity`])??.45,renderCross:Ir(t,[`renderCross`,`proximityRadius`])??!0}}function Rr(e,t){if(t){if(e===`LinearFlareProjectile`){let e=Fr(t,[`smokeTexture`,`flareTexture`]);if(!e)return;let n=t.flareColor,r=$(t,[`size`])??.5;return{kind:`sprite`,texture:e,color:n?{r:n.r,g:n.g,b:n.b}:{r:1,g:1,b:1},size:r}}if(e===`FlareProjectile`){let e=Fr(t,[`flareTexture`]);return e?{kind:`sprite`,texture:e,color:{r:1,g:.9,b:.5},size:$(t,[`size`])??4}:void 0}}}function zr(e){let t=e.states;if(!(!Array.isArray(t)||t.length===0))return t.map(e=>{let t=e=>{let t=e;return t==null?-1:t-1};return{name:e.name??``,transitionOnNotLoaded:t(e.transitionOnAmmo),transitionOnLoaded:t(e.transitionOnNoAmmo),transitionOnNoAmmo:t(e.transitionOnTarget),transitionOnAmmo:t(e.transitionOnNoTarget),transitionOnNoTarget:t(e.transitionOnWet),transitionOnTarget:t(e.transitionOnNotWet),transitionOnNotWet:t(e.transitionOnTriggerUp),transitionOnWet:t(e.transitionOnTriggerDown),transitionOnTriggerUp:t(e.transitionOnTimeout),transitionOnTriggerDown:t(e.transitionGeneric0In),transitionOnTimeout:t(e.transitionGeneric0Out),timeoutValue:e.timeoutValue,waitForTimeout:e.waitForTimeout??!1,fire:e.fire??!1,sequence:e.sequence,spin:e.spin??0,direction:e.direction??!0,scaleAnimation:e.scaleAnimation??!1,loaded:e.loaded??0,soundDataBlockId:e.sound??-1}})}function Br(e){let t=``;for(let n=0;n=32&&(t+=e[n]);return t}var Vr={2:0,3:1,4:2,5:3,6:4,7:5,8:6,11:7,12:8,14:9},Hr=15,Ur=16,Wr=17;function Gr(e){for(let t=0;t=32)return}}function Kr(e){let t=[],n=0,r=``,i=!1;for(let a=0;a=32&&(r+=e[a]);continue}let s=Vr[o];s===void 0?o===Hr?(r&&=(t.push({text:r,colorCode:n}),``),n=0):o>=32&&(r+=e[a]):(r&&=(t.push({text:r,colorCode:n}),``),n=s)}return r&&t.push({text:r,colorCode:n}),t}function qr(e){let t=e.indexOf(`~w`);return t===-1?{text:e,wavPath:null}:{text:e.substring(0,t),wavPath:e.substring(t+2)}}function Jr(e){return e?typeof e.cameraMode==`number`?`camera`:typeof e.rotationZ==`number`?`player`:null:null}var Yr=new Map([[`gui/hud_new_packammo`,0],[`gui/hud_new_packcloak`,1],[`gui/hud_new_packenergy`,2],[`gui/hud_new_packrepair`,3],[`gui/hud_new_packsatchel`,4],[`gui/hud_new_packshield`,5],[`gui/hud_new_packinventory`,6],[`gui/hud_new_packmotionsens`,7],[`gui/hud_new_packradar`,8],[`gui/hud_new_packturretout`,9],[`gui/hud_new_packturretin`,10],[`gui/hud_new_packsensjam`,11],[`gui/hud_new_packturret`,12],[`gui/hud_satchel_unarmed`,18]]);function Xr(e){let t=e.toLowerCase();for(let[e,n]of Yr)if(e===t)return n;return-1}export{hr as A,br as C,dr as D,fr as E,or as M,vr as O,cr as S,yr as T,Br as _,Jr as a,Or as b,Nr as c,Kr as d,zr as f,Lr as g,Rr as h,Gr as i,sr as j,pr as k,jr as l,Pr as m,Xr as n,qr as o,Dr as p,wr as r,$ as s,Tr as t,Mr as u,kr as v,xr as w,Er as x,Ar as y}; \ No newline at end of file diff --git a/docs/assets/streamPlaybackStore-D-tkUWut.js b/docs/assets/streamPlaybackStore-D-tkUWut.js deleted file mode 100644 index 3c703d04..00000000 --- a/docs/assets/streamPlaybackStore-D-tkUWut.js +++ /dev/null @@ -1 +0,0 @@ -import{r as e}from"./traditional-DhFuLw_p.js";var t=e()(()=>({time:0,playback:null,root:null,cameraMode:`original`,orbitOverrideYaw:0,orbitOverridePitch:0,entities:new Map}));function n(){t.setState({time:0,playback:null,cameraMode:`original`,orbitOverrideYaw:0,orbitOverridePitch:0})}export{t as n,n as t}; \ No newline at end of file diff --git a/docs/assets/streamPlaybackStore-UQ4nn4bZ.js b/docs/assets/streamPlaybackStore-UQ4nn4bZ.js new file mode 100644 index 00000000..3efbe3f7 --- /dev/null +++ b/docs/assets/streamPlaybackStore-UQ4nn4bZ.js @@ -0,0 +1 @@ +import{i as e}from"./traditional-ec-lUAFC.js";var t=e()(()=>({time:0,playback:null,root:null,cameraMode:`original`,orbitOverrideYaw:0,orbitOverridePitch:0}));function n(){t.setState({time:0,playback:null,cameraMode:`original`,orbitOverrideYaw:0,orbitOverridePitch:0})}export{t as n,n as t}; \ No newline at end of file diff --git a/docs/assets/three.module-DRRYkRPO.js b/docs/assets/three.module-C9W4LJrj.js similarity index 99% rename from docs/assets/three.module-DRRYkRPO.js rename to docs/assets/three.module-C9W4LJrj.js index ce1571cf..bb26cbb4 100644 --- a/docs/assets/three.module-DRRYkRPO.js +++ b/docs/assets/three.module-C9W4LJrj.js @@ -4008,4 +4008,4 @@ void main() { } -}`,wh=class{constructor(){this.texture=null,this.mesh=null,this.depthNear=0,this.depthFar=0}init(e,t){if(this.texture===null){let n=new ds(e.texture);(e.depthNear!==t.depthNear||e.depthFar!==t.depthFar)&&(this.depthNear=e.depthNear,this.depthFar=e.depthFar),this.texture=n}}getMesh(e){if(this.texture!==null&&this.mesh===null){let t=e.cameras[0].viewport,n=new Yi({vertexShader:Sh,fragmentShader:Ch,uniforms:{depthColor:{value:this.texture},depthWidth:{value:t.z},depthHeight:{value:t.w}}});this.mesh=new Ri(new Hc(20,20),n)}return this.mesh}reset(){this.texture=null,this.mesh=null}getDepthTexture(){return this.texture}},Th=class extends zt{constructor(e,t){super();let n=this,r=null,i=1,a=null,o=`local-floor`,s=1,c=null,l=null,u=null,d=null,f=null,p=null,m=typeof XRWebGLBinding<`u`,h=new wh,g={},_=t.getContextAttributes(),y=null,b=null,x=[],S=[],w=new U,T=null,E=new ea;E.viewport=new kn;let D=new ea;D.viewport=new kn;let O=[E,D],k=new Ou,A=null,j=null;this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(e){let t=x[e];return t===void 0&&(t=new ca,x[e]=t),t.getTargetRaySpace()},this.getControllerGrip=function(e){let t=x[e];return t===void 0&&(t=new ca,x[e]=t),t.getGripSpace()},this.getHand=function(e){let t=x[e];return t===void 0&&(t=new ca,x[e]=t),t.getHandSpace()};function N(e){let t=S.indexOf(e.inputSource);if(t===-1)return;let n=x[t];n!==void 0&&(n.update(e.inputSource,e.frame,c||a),n.dispatchEvent({type:e.type,data:e.inputSource}))}function re(){r.removeEventListener(`select`,N),r.removeEventListener(`selectstart`,N),r.removeEventListener(`selectend`,N),r.removeEventListener(`squeeze`,N),r.removeEventListener(`squeezestart`,N),r.removeEventListener(`squeezeend`,N),r.removeEventListener(`end`,re),r.removeEventListener(`inputsourceschange`,ie);for(let e=0;e=0&&(S[r]=null,x[r].disconnect(n))}for(let t=0;t=S.length){S.push(n),r=e;break}else if(S[e]===null){S[e]=n,r=e;break}if(r===-1)break}let i=x[r];i&&i.connect(n)}}let ae=new W,oe=new W;function se(e,t,n){ae.setFromMatrixPosition(t.matrixWorld),oe.setFromMatrixPosition(n.matrixWorld);let r=ae.distanceTo(oe),i=t.projectionMatrix.elements,a=n.projectionMatrix.elements,o=i[14]/(i[10]-1),s=i[14]/(i[10]+1),c=(i[9]+1)/i[5],l=(i[9]-1)/i[5],u=(i[8]-1)/i[0],d=(a[8]+1)/a[0],f=o*u,p=o*d,m=r/(-u+d),h=m*-u;if(t.matrixWorld.decompose(e.position,e.quaternion,e.scale),e.translateX(h),e.translateZ(m),e.matrixWorld.compose(e.position,e.quaternion,e.scale),e.matrixWorldInverse.copy(e.matrixWorld).invert(),i[10]===-1)e.projectionMatrix.copy(t.projectionMatrix),e.projectionMatrixInverse.copy(t.projectionMatrixInverse);else{let t=o+m,n=s+m,i=f-h,a=p+(r-h),u=c*s/n*t,d=l*s/n*t;e.projectionMatrix.makePerspective(i,a,u,d,t,n),e.projectionMatrixInverse.copy(e.projectionMatrix).invert()}}function ce(e,t){t===null?e.matrixWorld.copy(e.matrix):e.matrixWorld.multiplyMatrices(t.matrixWorld,e.matrix),e.matrixWorldInverse.copy(e.matrixWorld).invert()}this.updateCamera=function(e){if(r===null)return;let t=e.near,n=e.far;h.texture!==null&&(h.depthNear>0&&(t=h.depthNear),h.depthFar>0&&(n=h.depthFar)),k.near=D.near=E.near=t,k.far=D.far=E.far=n,(A!==k.near||j!==k.far)&&(r.updateRenderState({depthNear:k.near,depthFar:k.far}),A=k.near,j=k.far),k.layers.mask=e.layers.mask|6,E.layers.mask=k.layers.mask&3,D.layers.mask=k.layers.mask&5;let i=e.parent,a=k.cameras;ce(k,i);for(let e=0;e0&&(e.alphaTest.value=r.alphaTest);let i=t.get(r),a=i.envMap,o=i.envMapRotation;a&&(e.envMap.value=a,Eh.copy(o),Eh.x*=-1,Eh.y*=-1,Eh.z*=-1,a.isCubeTexture&&a.isRenderTargetTexture===!1&&(Eh.y*=-1,Eh.z*=-1),e.envMapRotation.value.setFromMatrix4(Dh.makeRotationFromEuler(Eh)),e.flipEnvMap.value=a.isCubeTexture&&a.isRenderTargetTexture===!1?-1:1,e.reflectivity.value=r.reflectivity,e.ior.value=r.ior,e.refractionRatio.value=r.refractionRatio),r.lightMap&&(e.lightMap.value=r.lightMap,e.lightMapIntensity.value=r.lightMapIntensity,n(r.lightMap,e.lightMapTransform)),r.aoMap&&(e.aoMap.value=r.aoMap,e.aoMapIntensity.value=r.aoMapIntensity,n(r.aoMap,e.aoMapTransform))}function o(e,t){e.diffuse.value.copy(t.color),e.opacity.value=t.opacity,t.map&&(e.map.value=t.map,n(t.map,e.mapTransform))}function s(e,t){e.dashSize.value=t.dashSize,e.totalSize.value=t.dashSize+t.gapSize,e.scale.value=t.scale}function c(e,t,r,i){e.diffuse.value.copy(t.color),e.opacity.value=t.opacity,e.size.value=t.size*r,e.scale.value=i*.5,t.map&&(e.map.value=t.map,n(t.map,e.uvTransform)),t.alphaMap&&(e.alphaMap.value=t.alphaMap,n(t.alphaMap,e.alphaMapTransform)),t.alphaTest>0&&(e.alphaTest.value=t.alphaTest)}function l(e,t){e.diffuse.value.copy(t.color),e.opacity.value=t.opacity,e.rotation.value=t.rotation,t.map&&(e.map.value=t.map,n(t.map,e.mapTransform)),t.alphaMap&&(e.alphaMap.value=t.alphaMap,n(t.alphaMap,e.alphaMapTransform)),t.alphaTest>0&&(e.alphaTest.value=t.alphaTest)}function u(e,t){e.specular.value.copy(t.specular),e.shininess.value=Math.max(t.shininess,1e-4)}function d(e,t){t.gradientMap&&(e.gradientMap.value=t.gradientMap)}function f(e,t){e.metalness.value=t.metalness,t.metalnessMap&&(e.metalnessMap.value=t.metalnessMap,n(t.metalnessMap,e.metalnessMapTransform)),e.roughness.value=t.roughness,t.roughnessMap&&(e.roughnessMap.value=t.roughnessMap,n(t.roughnessMap,e.roughnessMapTransform)),t.envMap&&(e.envMapIntensity.value=t.envMapIntensity)}function p(e,t,r){e.ior.value=t.ior,t.sheen>0&&(e.sheenColor.value.copy(t.sheenColor).multiplyScalar(t.sheen),e.sheenRoughness.value=t.sheenRoughness,t.sheenColorMap&&(e.sheenColorMap.value=t.sheenColorMap,n(t.sheenColorMap,e.sheenColorMapTransform)),t.sheenRoughnessMap&&(e.sheenRoughnessMap.value=t.sheenRoughnessMap,n(t.sheenRoughnessMap,e.sheenRoughnessMapTransform))),t.clearcoat>0&&(e.clearcoat.value=t.clearcoat,e.clearcoatRoughness.value=t.clearcoatRoughness,t.clearcoatMap&&(e.clearcoatMap.value=t.clearcoatMap,n(t.clearcoatMap,e.clearcoatMapTransform)),t.clearcoatRoughnessMap&&(e.clearcoatRoughnessMap.value=t.clearcoatRoughnessMap,n(t.clearcoatRoughnessMap,e.clearcoatRoughnessMapTransform)),t.clearcoatNormalMap&&(e.clearcoatNormalMap.value=t.clearcoatNormalMap,n(t.clearcoatNormalMap,e.clearcoatNormalMapTransform),e.clearcoatNormalScale.value.copy(t.clearcoatNormalScale),t.side===1&&e.clearcoatNormalScale.value.negate())),t.dispersion>0&&(e.dispersion.value=t.dispersion),t.iridescence>0&&(e.iridescence.value=t.iridescence,e.iridescenceIOR.value=t.iridescenceIOR,e.iridescenceThicknessMinimum.value=t.iridescenceThicknessRange[0],e.iridescenceThicknessMaximum.value=t.iridescenceThicknessRange[1],t.iridescenceMap&&(e.iridescenceMap.value=t.iridescenceMap,n(t.iridescenceMap,e.iridescenceMapTransform)),t.iridescenceThicknessMap&&(e.iridescenceThicknessMap.value=t.iridescenceThicknessMap,n(t.iridescenceThicknessMap,e.iridescenceThicknessMapTransform))),t.transmission>0&&(e.transmission.value=t.transmission,e.transmissionSamplerMap.value=r.texture,e.transmissionSamplerSize.value.set(r.width,r.height),t.transmissionMap&&(e.transmissionMap.value=t.transmissionMap,n(t.transmissionMap,e.transmissionMapTransform)),e.thickness.value=t.thickness,t.thicknessMap&&(e.thicknessMap.value=t.thicknessMap,n(t.thicknessMap,e.thicknessMapTransform)),e.attenuationDistance.value=t.attenuationDistance,e.attenuationColor.value.copy(t.attenuationColor)),t.anisotropy>0&&(e.anisotropyVector.value.set(t.anisotropy*Math.cos(t.anisotropyRotation),t.anisotropy*Math.sin(t.anisotropyRotation)),t.anisotropyMap&&(e.anisotropyMap.value=t.anisotropyMap,n(t.anisotropyMap,e.anisotropyMapTransform))),e.specularIntensity.value=t.specularIntensity,e.specularColor.value.copy(t.specularColor),t.specularColorMap&&(e.specularColorMap.value=t.specularColorMap,n(t.specularColorMap,e.specularColorMapTransform)),t.specularIntensityMap&&(e.specularIntensityMap.value=t.specularIntensityMap,n(t.specularIntensityMap,e.specularIntensityMapTransform))}function m(e,t){t.matcap&&(e.matcap.value=t.matcap)}function h(e,n){let r=t.get(n).light;e.referencePosition.value.setFromMatrixPosition(r.matrixWorld),e.nearDistance.value=r.shadow.camera.near,e.farDistance.value=r.shadow.camera.far}return{refreshFogUniforms:r,refreshMaterialUniforms:i}}function kh(e,t,n,r){let i={},a={},o=[],s=e.getParameter(e.MAX_UNIFORM_BUFFER_BINDINGS);function c(e,t){let n=t.program;r.uniformBlockBinding(e,n)}function l(e,n){let o=i[e.id];o===void 0&&(m(e),o=u(e),i[e.id]=o,e.addEventListener(`dispose`,g));let s=n.program;r.updateUBOMapping(e,s);let c=t.render.frame;a[e.id]!==c&&(f(e),a[e.id]=c)}function u(t){let n=d();t.__bindingPointIndex=n;let r=e.createBuffer(),i=t.__size,a=t.usage;return e.bindBuffer(e.UNIFORM_BUFFER,r),e.bufferData(e.UNIFORM_BUFFER,i,a),e.bindBuffer(e.UNIFORM_BUFFER,null),e.bindBufferBase(e.UNIFORM_BUFFER,n,r),r}function d(){for(let e=0;e0&&(n+=16-r),e.__size=n,e.__cache={},this}function h(e){let t={boundary:0,storage:0};return typeof e==`number`||typeof e==`boolean`?(t.boundary=4,t.storage=4):e.isVector2?(t.boundary=8,t.storage=8):e.isVector3||e.isColor?(t.boundary=16,t.storage=12):e.isVector4?(t.boundary=16,t.storage=16):e.isMatrix3?(t.boundary=48,t.storage=48):e.isMatrix4?(t.boundary=64,t.storage=64):e.isTexture?z(`WebGLRenderer: Texture samplers can not be part of an uniforms group.`):z(`WebGLRenderer: Unsupported uniform value type.`,e),t}function g(t){let n=t.target;n.removeEventListener(`dispose`,g);let r=o.indexOf(n.__bindingPointIndex);o.splice(r,1),e.deleteBuffer(i[n.id]),delete i[n.id],delete a[n.id]}function _(){for(let t in i)e.deleteBuffer(i[t]);o=[],i={},a={}}return{bind:c,update:l,dispose:_}}var Ah=new Uint16Array([12469,15057,12620,14925,13266,14620,13807,14376,14323,13990,14545,13625,14713,13328,14840,12882,14931,12528,14996,12233,15039,11829,15066,11525,15080,11295,15085,10976,15082,10705,15073,10495,13880,14564,13898,14542,13977,14430,14158,14124,14393,13732,14556,13410,14702,12996,14814,12596,14891,12291,14937,11834,14957,11489,14958,11194,14943,10803,14921,10506,14893,10278,14858,9960,14484,14039,14487,14025,14499,13941,14524,13740,14574,13468,14654,13106,14743,12678,14818,12344,14867,11893,14889,11509,14893,11180,14881,10751,14852,10428,14812,10128,14765,9754,14712,9466,14764,13480,14764,13475,14766,13440,14766,13347,14769,13070,14786,12713,14816,12387,14844,11957,14860,11549,14868,11215,14855,10751,14825,10403,14782,10044,14729,9651,14666,9352,14599,9029,14967,12835,14966,12831,14963,12804,14954,12723,14936,12564,14917,12347,14900,11958,14886,11569,14878,11247,14859,10765,14828,10401,14784,10011,14727,9600,14660,9289,14586,8893,14508,8533,15111,12234,15110,12234,15104,12216,15092,12156,15067,12010,15028,11776,14981,11500,14942,11205,14902,10752,14861,10393,14812,9991,14752,9570,14682,9252,14603,8808,14519,8445,14431,8145,15209,11449,15208,11451,15202,11451,15190,11438,15163,11384,15117,11274,15055,10979,14994,10648,14932,10343,14871,9936,14803,9532,14729,9218,14645,8742,14556,8381,14461,8020,14365,7603,15273,10603,15272,10607,15267,10619,15256,10631,15231,10614,15182,10535,15118,10389,15042,10167,14963,9787,14883,9447,14800,9115,14710,8665,14615,8318,14514,7911,14411,7507,14279,7198,15314,9675,15313,9683,15309,9712,15298,9759,15277,9797,15229,9773,15166,9668,15084,9487,14995,9274,14898,8910,14800,8539,14697,8234,14590,7790,14479,7409,14367,7067,14178,6621,15337,8619,15337,8631,15333,8677,15325,8769,15305,8871,15264,8940,15202,8909,15119,8775,15022,8565,14916,8328,14804,8009,14688,7614,14569,7287,14448,6888,14321,6483,14088,6171,15350,7402,15350,7419,15347,7480,15340,7613,15322,7804,15287,7973,15229,8057,15148,8012,15046,7846,14933,7611,14810,7357,14682,7069,14552,6656,14421,6316,14251,5948,14007,5528,15356,5942,15356,5977,15353,6119,15348,6294,15332,6551,15302,6824,15249,7044,15171,7122,15070,7050,14949,6861,14818,6611,14679,6349,14538,6067,14398,5651,14189,5311,13935,4958,15359,4123,15359,4153,15356,4296,15353,4646,15338,5160,15311,5508,15263,5829,15188,6042,15088,6094,14966,6001,14826,5796,14678,5543,14527,5287,14377,4985,14133,4586,13869,4257,15360,1563,15360,1642,15358,2076,15354,2636,15341,3350,15317,4019,15273,4429,15203,4732,15105,4911,14981,4932,14836,4818,14679,4621,14517,4386,14359,4156,14083,3795,13808,3437,15360,122,15360,137,15358,285,15355,636,15344,1274,15322,2177,15281,2765,15215,3223,15120,3451,14995,3569,14846,3567,14681,3466,14511,3305,14344,3121,14037,2800,13753,2467,15360,0,15360,1,15359,21,15355,89,15346,253,15325,479,15287,796,15225,1148,15133,1492,15008,1749,14856,1882,14685,1886,14506,1783,14324,1608,13996,1398,13702,1183]),jh=null;function Mh(){return jh===null&&(jh=new Ga(Ah,16,16,ie,T),jh.name=`DFG_LUT`,jh.minFilter=p,jh.magFilter=p,jh.wrapS=o,jh.wrapT=o,jh.generateMipmaps=!1,jh.needsUpdate=!0),jh}var Nh=class{constructor(e={}){let{canvas:t=jt(),context:n=null,depth:r=!0,stencil:i=!1,alpha:a=!1,antialias:o=!1,premultipliedAlpha:s=!0,preserveDrawingBuffer:c=!1,powerPreference:l=`default`,failIfMajorPerformanceCaveat:u=!1,reversedDepthBuffer:d=!1,outputBufferType:f=v}=e;this.isWebGLRenderer=!0;let p;if(n!==null){if(typeof WebGLRenderingContext<`u`&&n instanceof WebGLRenderingContext)throw Error(`THREE.WebGLRenderer: WebGL 1 is not supported since r163.`);p=n.getContextAttributes().alpha}else p=a;let m=f,h=new Set([se,ae,re]),_=new Set([v,C,x,ee,E,D]),y=new Uint32Array(4),b=new Int32Array(4),S=null,w=null,O=[],k=[],A=null;this.domElement=t,this.debug={checkShaderErrors:!0,onShaderError:null},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this.toneMapping=0,this.toneMappingExposure=1,this.transmissionResolutionScale=1;let j=this,M=!1;this._outputColorSpace=et;let te=0,ne=0,N=null,ie=-1,oe=null,ce=new kn,le=new kn,P=null,ue=new Y(0),de=0,fe=t.width,pe=t.height,me=1,he=null,ge=null,_e=new kn(0,0,fe,pe),ve=new kn(0,0,fe,pe),ye=!1,be=new fo,xe=!1,Se=!1,Ce=new q,we=new W,Te=new kn,Ee={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0},De=!1;function Oe(){return N===null?me:1}let F=n;function ke(e,n){return t.getContext(e,n)}try{let e={alpha:!0,depth:r,stencil:i,antialias:o,premultipliedAlpha:s,preserveDrawingBuffer:c,powerPreference:l,failIfMajorPerformanceCaveat:u};if(`setAttribute`in t&&t.setAttribute(`data-engine`,`three.js r182`),t.addEventListener(`webglcontextlost`,$e,!1),t.addEventListener(`webglcontextrestored`,nt,!1),t.addEventListener(`webglcontextcreationerror`,rt,!1),F===null){let t=`webgl2`;if(F=ke(t,e),F===null)throw ke(t)?Error(`Error creating WebGL context with your selected attributes.`):Error(`Error creating WebGL context.`)}}catch(e){throw B(`WebGLRenderer: `+e.message),e}let Ae,je,I,Me,L,R,Ne,Pe,Fe,Ie,Le,Re,ze,Be,Ve,He,Ue,We,Ge,Ke,qe,Je,Ye,Xe;function Ze(){Ae=new Zf(F),Ae.init(),Je=new xh(F,Ae),je=new Df(F,Ae,e,Je),I=new yh(F,Ae),je.reversedDepthBuffer&&d&&I.buffers.depth.setReversed(!0),Me=new ep(F),L=new Qm,R=new bh(F,Ae,I,L,je,Je,Me),Ne=new kf(j),Pe=new Xf(j),Fe=new yf(F),Ye=new Tf(F,Fe),Ie=new Qf(F,Fe,Me,Ye),Le=new np(F,Ie,Fe,Me),Ge=new tp(F,je,R),He=new Of(L),Re=new Zm(j,Ne,Pe,Ae,je,Ye,He),ze=new Oh(j,L),Be=new nh,Ve=new lh(Ae),We=new wf(j,Ne,Pe,I,Le,p,s),Ue=new _h(j,Le,je),Xe=new kh(F,Me,je,I),Ke=new Ef(F,Ae,Me),qe=new $f(F,Ae,Me),Me.programs=Re.programs,j.capabilities=je,j.extensions=Ae,j.properties=L,j.renderLists=Be,j.shadowMap=Ue,j.state=I,j.info=Me}Ze(),m!==1009&&(A=new ip(m,t.width,t.height,r,i));let Qe=new Th(j,F);this.xr=Qe,this.getContext=function(){return F},this.getContextAttributes=function(){return F.getContextAttributes()},this.forceContextLoss=function(){let e=Ae.get(`WEBGL_lose_context`);e&&e.loseContext()},this.forceContextRestore=function(){let e=Ae.get(`WEBGL_lose_context`);e&&e.restoreContext()},this.getPixelRatio=function(){return me},this.setPixelRatio=function(e){e!==void 0&&(me=e,this.setSize(fe,pe,!1))},this.getSize=function(e){return e.set(fe,pe)},this.setSize=function(e,n,r=!0){if(Qe.isPresenting){z(`WebGLRenderer: Can't change size while VR device is presenting.`);return}fe=e,pe=n,t.width=Math.floor(e*me),t.height=Math.floor(n*me),r===!0&&(t.style.width=e+`px`,t.style.height=n+`px`),A!==null&&A.setSize(t.width,t.height),this.setViewport(0,0,e,n)},this.getDrawingBufferSize=function(e){return e.set(fe*me,pe*me).floor()},this.setDrawingBufferSize=function(e,n,r){fe=e,pe=n,me=r,t.width=Math.floor(e*r),t.height=Math.floor(n*r),this.setViewport(0,0,e,n)},this.setEffects=function(e){if(m===1009){console.error(`THREE.WebGLRenderer: setEffects() requires outputBufferType set to HalfFloatType or FloatType.`);return}if(e){for(let t=0;t{function n(){if(r.forEach(function(e){L.get(e).currentProgram.isReady()&&r.delete(e)}),r.size===0){t(e);return}setTimeout(n,10)}Ae.get(`KHR_parallel_shader_compile`)===null?setTimeout(n,10):n()})};let ct=null;function lt(e){ct&&ct(e)}function ut(){ft.stop()}function dt(){ft.start()}let ft=new vf;ft.setAnimationLoop(lt),typeof self<`u`&&ft.setContext(self),this.setAnimationLoop=function(e){ct=e,Qe.setAnimationLoop(e),e===null?ft.stop():ft.start()},Qe.addEventListener(`sessionstart`,ut),Qe.addEventListener(`sessionend`,dt),this.render=function(e,t){if(t!==void 0&&t.isCamera!==!0){B(`WebGLRenderer.render: camera is not an instance of THREE.Camera.`);return}if(M===!0)return;let n=Qe.enabled===!0&&Qe.isPresenting===!0,r=A!==null&&(N===null||n)&&A.begin(j,N);if(e.matrixWorldAutoUpdate===!0&&e.updateMatrixWorld(),t.parent===null&&t.matrixWorldAutoUpdate===!0&&t.updateMatrixWorld(),Qe.enabled===!0&&Qe.isPresenting===!0&&(A===null||A.isCompositing()===!1)&&(Qe.cameraAutoUpdate===!0&&Qe.updateCamera(t),t=Qe.getCamera()),e.isScene===!0&&e.onBeforeRender(j,e,t,N),w=Ve.get(e,k.length),w.init(t),k.push(w),Ce.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse),be.setFromProjectionMatrix(Ce,xt,t.reversedDepth),Se=this.localClippingEnabled,xe=He.init(this.clippingPlanes,Se),S=Be.get(e,O.length),S.init(),O.push(S),Qe.enabled===!0&&Qe.isPresenting===!0){let e=j.xr.getDepthSensingMesh();e!==null&&pt(e,t,-1/0,j.sortObjects)}pt(e,t,0,j.sortObjects),S.finish(),j.sortObjects===!0&&S.sort(he,ge),De=Qe.enabled===!1||Qe.isPresenting===!1||Qe.hasDepthSensing()===!1,De&&We.addToRenderList(S,e),this.info.render.frame++,xe===!0&&He.beginShadows();let i=w.state.shadowsArray;if(Ue.render(i,e,t),xe===!0&&He.endShadows(),this.info.autoReset===!0&&this.info.reset(),(r&&A.hasRenderPass())===!1){let n=S.opaque,r=S.transmissive;if(w.setupLights(),t.isArrayCamera){let i=t.cameras;if(r.length>0)for(let t=0,a=i.length;t0&&ht(n,r,e,t),De&&We.render(e),mt(S,e,t)}N!==null&&ne===0&&(R.updateMultisampleRenderTarget(N),R.updateRenderTargetMipmap(N)),r&&A.end(j),e.isScene===!0&&e.onAfterRender(j,e,t),Ye.resetDefaultState(),ie=-1,oe=null,k.pop(),k.length>0?(w=k[k.length-1],xe===!0&&He.setGlobalState(j.clippingPlanes,w.state.camera)):w=null,O.pop(),S=O.length>0?O[O.length-1]:null};function pt(e,t,n,r){if(e.visible===!1)return;if(e.layers.test(t.layers)){if(e.isGroup)n=e.renderOrder;else if(e.isLOD)e.autoUpdate===!0&&e.update(t);else if(e.isLight)w.pushLight(e),e.castShadow&&w.pushShadow(e);else if(e.isSprite){if(!e.frustumCulled||be.intersectsSprite(e)){r&&Te.setFromMatrixPosition(e.matrixWorld).applyMatrix4(Ce);let t=Le.update(e),i=e.material;i.visible&&S.push(e,t,i,n,Te.z,null)}}else if((e.isMesh||e.isLine||e.isPoints)&&(!e.frustumCulled||be.intersectsObject(e))){let t=Le.update(e),i=e.material;if(r&&(e.boundingSphere===void 0?(t.boundingSphere===null&&t.computeBoundingSphere(),Te.copy(t.boundingSphere.center)):(e.boundingSphere===null&&e.computeBoundingSphere(),Te.copy(e.boundingSphere.center)),Te.applyMatrix4(e.matrixWorld).applyMatrix4(Ce)),Array.isArray(i)){let r=t.groups;for(let a=0,o=r.length;a0&>(i,t,n),a.length>0&>(a,t,n),o.length>0&>(o,t,n),I.buffers.depth.setTest(!0),I.buffers.depth.setMask(!0),I.buffers.color.setMask(!0),I.setPolygonOffset(!1)}function ht(e,t,n,r){if((n.isScene===!0?n.overrideMaterial:null)!==null)return;if(w.state.transmissionRenderTarget[r.id]===void 0){let e=Ae.has(`EXT_color_buffer_half_float`)||Ae.has(`EXT_color_buffer_float`);w.state.transmissionRenderTarget[r.id]=new jn(1,1,{generateMipmaps:!0,type:e?T:v,minFilter:g,samples:je.samples,stencilBuffer:i,resolveDepthBuffer:!1,resolveStencilBuffer:!1,colorSpace:K.workingColorSpace})}let a=w.state.transmissionRenderTarget[r.id],o=r.viewport||ce;a.setSize(o.z*j.transmissionResolutionScale,o.w*j.transmissionResolutionScale);let s=j.getRenderTarget(),c=j.getActiveCubeFace(),l=j.getActiveMipmapLevel();j.setRenderTarget(a),j.getClearColor(ue),de=j.getClearAlpha(),de<1&&j.setClearColor(16777215,.5),j.clear(),De&&We.render(n);let u=j.toneMapping;j.toneMapping=0;let d=r.viewport;if(r.viewport!==void 0&&(r.viewport=void 0),w.setupLightsView(r),xe===!0&&He.setGlobalState(j.clippingPlanes,r),gt(e,n,r),R.updateMultisampleRenderTarget(a),R.updateRenderTargetMipmap(a),Ae.has(`WEBGL_multisampled_render_to_texture`)===!1){let e=!1;for(let i=0,a=t.length;i0),d=!!n.morphAttributes.position,f=!!n.morphAttributes.normal,p=!!n.morphAttributes.color,m=0;r.toneMapped&&(N===null||N.isXRRenderTarget===!0)&&(m=j.toneMapping);let h=n.morphAttributes.position||n.morphAttributes.normal||n.morphAttributes.color,g=h===void 0?0:h.length,_=L.get(r),v=w.state.lights;if(xe===!0&&(Se===!0||e!==oe)){let t=e===oe&&r.id===ie;He.setState(r,e,t)}let y=!1;r.version===_.__version?_.needsLights&&_.lightsStateVersion!==v.state.version?y=!0:_.outputColorSpace===s?i.isBatchedMesh&&_.batching===!1||!i.isBatchedMesh&&_.batching===!0||i.isBatchedMesh&&_.batchingColor===!0&&i.colorTexture===null||i.isBatchedMesh&&_.batchingColor===!1&&i.colorTexture!==null||i.isInstancedMesh&&_.instancing===!1||!i.isInstancedMesh&&_.instancing===!0||i.isSkinnedMesh&&_.skinning===!1||!i.isSkinnedMesh&&_.skinning===!0||i.isInstancedMesh&&_.instancingColor===!0&&i.instanceColor===null||i.isInstancedMesh&&_.instancingColor===!1&&i.instanceColor!==null||i.isInstancedMesh&&_.instancingMorph===!0&&i.morphTexture===null||i.isInstancedMesh&&_.instancingMorph===!1&&i.morphTexture!==null?y=!0:_.envMap===c?r.fog===!0&&_.fog!==a||_.numClippingPlanes!==void 0&&(_.numClippingPlanes!==He.numPlanes||_.numIntersection!==He.numIntersection)?y=!0:_.vertexAlphas===l&&_.vertexTangents===u&&_.morphTargets===d&&_.morphNormals===f&&_.morphColors===p&&_.toneMapping===m?_.morphTargetsCount!==g&&(y=!0):y=!0:y=!0:y=!0:(y=!0,_.__version=r.version);let b=_.currentProgram;y===!0&&(b=vt(r,t,i));let x=!1,S=!1,C=!1,T=b.getUniforms(),E=_.uniforms;if(I.useProgram(b.program)&&(x=!0,S=!0,C=!0),r.id!==ie&&(ie=r.id,S=!0),x||oe!==e){I.buffers.depth.getReversed()&&e.reversedDepth!==!0&&(e._reversedDepth=!0,e.updateProjectionMatrix()),T.setValue(F,`projectionMatrix`,e.projectionMatrix),T.setValue(F,`viewMatrix`,e.matrixWorldInverse);let t=T.map.cameraPosition;t!==void 0&&t.setValue(F,we.setFromMatrixPosition(e.matrixWorld)),je.logarithmicDepthBuffer&&T.setValue(F,`logDepthBufFC`,2/(Math.log(e.far+1)/Math.LN2)),(r.isMeshPhongMaterial||r.isMeshToonMaterial||r.isMeshLambertMaterial||r.isMeshBasicMaterial||r.isMeshStandardMaterial||r.isShaderMaterial)&&T.setValue(F,`isOrthographic`,e.isOrthographicCamera===!0),oe!==e&&(oe=e,S=!0,C=!0)}if(_.needsLights&&(v.state.directionalShadowMap.length>0&&T.setValue(F,`directionalShadowMap`,v.state.directionalShadowMap,R),v.state.spotShadowMap.length>0&&T.setValue(F,`spotShadowMap`,v.state.spotShadowMap,R),v.state.pointShadowMap.length>0&&T.setValue(F,`pointShadowMap`,v.state.pointShadowMap,R)),i.isSkinnedMesh){T.setOptional(F,i,`bindMatrix`),T.setOptional(F,i,`bindMatrixInverse`);let e=i.skeleton;e&&(e.boneTexture===null&&e.computeBoneTexture(),T.setValue(F,`boneTexture`,e.boneTexture,R))}i.isBatchedMesh&&(T.setOptional(F,i,`batchingTexture`),T.setValue(F,`batchingTexture`,i._matricesTexture,R),T.setOptional(F,i,`batchingIdTexture`),T.setValue(F,`batchingIdTexture`,i._indirectTexture,R),T.setOptional(F,i,`batchingColorTexture`),i._colorsTexture!==null&&T.setValue(F,`batchingColorTexture`,i._colorsTexture,R));let D=n.morphAttributes;if((D.position!==void 0||D.normal!==void 0||D.color!==void 0)&&Ge.update(i,n,b),(S||_.receiveShadow!==i.receiveShadow)&&(_.receiveShadow=i.receiveShadow,T.setValue(F,`receiveShadow`,i.receiveShadow)),r.isMeshGouraudMaterial&&r.envMap!==null&&(E.envMap.value=c,E.flipEnvMap.value=c.isCubeTexture&&c.isRenderTargetTexture===!1?-1:1),r.isMeshStandardMaterial&&r.envMap===null&&t.environment!==null&&(E.envMapIntensity.value=t.environmentIntensity),E.dfgLUT!==void 0&&(E.dfgLUT.value=Mh()),S&&(T.setValue(F,`toneMappingExposure`,j.toneMappingExposure),_.needsLights&&Ct(E,C),a&&r.fog===!0&&ze.refreshFogUniforms(E,a),ze.refreshMaterialUniforms(E,r,me,pe,w.state.transmissionRenderTarget[e.id]),dm.upload(F,yt(_),E,R)),r.isShaderMaterial&&r.uniformsNeedUpdate===!0&&(dm.upload(F,yt(_),E,R),r.uniformsNeedUpdate=!1),r.isSpriteMaterial&&T.setValue(F,`center`,i.center),T.setValue(F,`modelViewMatrix`,i.modelViewMatrix),T.setValue(F,`normalMatrix`,i.normalMatrix),T.setValue(F,`modelMatrix`,i.matrixWorld),r.isShaderMaterial||r.isRawShaderMaterial){let e=r.uniformsGroups;for(let t=0,n=e.length;t0&&R.useMultisampledRTT(e)===!1?L.get(e).__webglMultisampledFramebuffer:Array.isArray(c)?c[n]:c,ce.copy(e.viewport),le.copy(e.scissor),P=e.scissorTest}else ce.copy(_e).multiplyScalar(me).floor(),le.copy(ve).multiplyScalar(me).floor(),P=ye;if(n!==0&&(r=Tt),I.bindFramebuffer(F.FRAMEBUFFER,r)&&I.drawBuffers(e,r),I.viewport(ce),I.scissor(le),I.setScissorTest(P),i){let r=L.get(e.texture);F.framebufferTexture2D(F.FRAMEBUFFER,F.COLOR_ATTACHMENT0,F.TEXTURE_CUBE_MAP_POSITIVE_X+t,r.__webglTexture,n)}else if(a){let r=t;for(let t=0;t=0&&t<=e.width-r&&n>=0&&n<=e.height-i&&(e.textures.length>1&&F.readBuffer(F.COLOR_ATTACHMENT0+s),F.readPixels(t,n,r,i,Je.convert(c),Je.convert(l),a))}finally{let e=N===null?null:L.get(N).__webglFramebuffer;I.bindFramebuffer(F.FRAMEBUFFER,e)}}},this.readRenderTargetPixelsAsync=async function(e,t,n,r,i,a,o,s=0){if(!(e&&e.isWebGLRenderTarget))throw Error(`THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.`);let c=L.get(e).__webglFramebuffer;if(e.isWebGLCubeRenderTarget&&o!==void 0&&(c=c[o]),c)if(t>=0&&t<=e.width-r&&n>=0&&n<=e.height-i){I.bindFramebuffer(F.FRAMEBUFFER,c);let o=e.textures[s],l=o.format,u=o.type;if(!je.textureFormatReadable(l))throw Error(`THREE.WebGLRenderer.readRenderTargetPixelsAsync: renderTarget is not in RGBA or implementation defined format.`);if(!je.textureTypeReadable(u))throw Error(`THREE.WebGLRenderer.readRenderTargetPixelsAsync: renderTarget is not in UnsignedByteType or implementation defined type.`);let d=F.createBuffer();F.bindBuffer(F.PIXEL_PACK_BUFFER,d),F.bufferData(F.PIXEL_PACK_BUFFER,a.byteLength,F.STREAM_READ),e.textures.length>1&&F.readBuffer(F.COLOR_ATTACHMENT0+s),F.readPixels(t,n,r,i,Je.convert(l),Je.convert(u),0);let f=N===null?null:L.get(N).__webglFramebuffer;I.bindFramebuffer(F.FRAMEBUFFER,f);let p=F.fenceSync(F.SYNC_GPU_COMMANDS_COMPLETE,0);return F.flush(),await Rt(F,p,4),F.bindBuffer(F.PIXEL_PACK_BUFFER,d),F.getBufferSubData(F.PIXEL_PACK_BUFFER,0,a),F.deleteBuffer(d),F.deleteSync(p),a}else throw Error(`THREE.WebGLRenderer.readRenderTargetPixelsAsync: requested read bounds are out of range.`)},this.copyFramebufferToTexture=function(e,t=null,n=0){let r=2**-n,i=Math.floor(e.image.width*r),a=Math.floor(e.image.height*r),o=t===null?0:t.x,s=t===null?0:t.y;R.setTexture2D(e,0),F.copyTexSubImage2D(F.TEXTURE_2D,n,0,0,o,s,i,a),I.unbindTexture()};let Et=F.createFramebuffer(),Dt=F.createFramebuffer();this.copyTextureToTexture=function(e,t,n=null,r=null,i=0,a=null){a===null&&(i===0?a=0:(Lt(`WebGLRenderer: copyTextureToTexture function signature has changed to support src and dst mipmap levels.`),a=i,i=0));let o,s,c,l,u,d,f,p,m,h=e.isCompressedTexture?e.mipmaps[a]:e.image;if(n!==null)o=n.max.x-n.min.x,s=n.max.y-n.min.y,c=n.isBox3?n.max.z-n.min.z:1,l=n.min.x,u=n.min.y,d=n.isBox3?n.min.z:0;else{let t=2**-i;o=Math.floor(h.width*t),s=Math.floor(h.height*t),c=e.isDataArrayTexture?h.depth:e.isData3DTexture?Math.floor(h.depth*t):1,l=0,u=0,d=0}r===null?(f=0,p=0,m=0):(f=r.x,p=r.y,m=r.z);let g=Je.convert(t.format),_=Je.convert(t.type),v;t.isData3DTexture?(R.setTexture3D(t,0),v=F.TEXTURE_3D):t.isDataArrayTexture||t.isCompressedArrayTexture?(R.setTexture2DArray(t,0),v=F.TEXTURE_2D_ARRAY):(R.setTexture2D(t,0),v=F.TEXTURE_2D),F.pixelStorei(F.UNPACK_FLIP_Y_WEBGL,t.flipY),F.pixelStorei(F.UNPACK_PREMULTIPLY_ALPHA_WEBGL,t.premultiplyAlpha),F.pixelStorei(F.UNPACK_ALIGNMENT,t.unpackAlignment);let y=F.getParameter(F.UNPACK_ROW_LENGTH),b=F.getParameter(F.UNPACK_IMAGE_HEIGHT),x=F.getParameter(F.UNPACK_SKIP_PIXELS),S=F.getParameter(F.UNPACK_SKIP_ROWS),C=F.getParameter(F.UNPACK_SKIP_IMAGES);F.pixelStorei(F.UNPACK_ROW_LENGTH,h.width),F.pixelStorei(F.UNPACK_IMAGE_HEIGHT,h.height),F.pixelStorei(F.UNPACK_SKIP_PIXELS,l),F.pixelStorei(F.UNPACK_SKIP_ROWS,u),F.pixelStorei(F.UNPACK_SKIP_IMAGES,d);let w=e.isDataArrayTexture||e.isData3DTexture,T=t.isDataArrayTexture||t.isData3DTexture;if(e.isDepthTexture){let n=L.get(e),r=L.get(t),h=L.get(n.__renderTarget),g=L.get(r.__renderTarget);I.bindFramebuffer(F.READ_FRAMEBUFFER,h.__webglFramebuffer),I.bindFramebuffer(F.DRAW_FRAMEBUFFER,g.__webglFramebuffer);for(let n=0;n=0&&(S[r]=null,x[r].disconnect(n))}for(let t=0;t=S.length){S.push(n),r=e;break}else if(S[e]===null){S[e]=n,r=e;break}if(r===-1)break}let i=x[r];i&&i.connect(n)}}let ae=new W,oe=new W;function se(e,t,n){ae.setFromMatrixPosition(t.matrixWorld),oe.setFromMatrixPosition(n.matrixWorld);let r=ae.distanceTo(oe),i=t.projectionMatrix.elements,a=n.projectionMatrix.elements,o=i[14]/(i[10]-1),s=i[14]/(i[10]+1),c=(i[9]+1)/i[5],l=(i[9]-1)/i[5],u=(i[8]-1)/i[0],d=(a[8]+1)/a[0],f=o*u,p=o*d,m=r/(-u+d),h=m*-u;if(t.matrixWorld.decompose(e.position,e.quaternion,e.scale),e.translateX(h),e.translateZ(m),e.matrixWorld.compose(e.position,e.quaternion,e.scale),e.matrixWorldInverse.copy(e.matrixWorld).invert(),i[10]===-1)e.projectionMatrix.copy(t.projectionMatrix),e.projectionMatrixInverse.copy(t.projectionMatrixInverse);else{let t=o+m,n=s+m,i=f-h,a=p+(r-h),u=c*s/n*t,d=l*s/n*t;e.projectionMatrix.makePerspective(i,a,u,d,t,n),e.projectionMatrixInverse.copy(e.projectionMatrix).invert()}}function ce(e,t){t===null?e.matrixWorld.copy(e.matrix):e.matrixWorld.multiplyMatrices(t.matrixWorld,e.matrix),e.matrixWorldInverse.copy(e.matrixWorld).invert()}this.updateCamera=function(e){if(r===null)return;let t=e.near,n=e.far;h.texture!==null&&(h.depthNear>0&&(t=h.depthNear),h.depthFar>0&&(n=h.depthFar)),k.near=D.near=E.near=t,k.far=D.far=E.far=n,(A!==k.near||j!==k.far)&&(r.updateRenderState({depthNear:k.near,depthFar:k.far}),A=k.near,j=k.far),k.layers.mask=e.layers.mask|6,E.layers.mask=k.layers.mask&3,D.layers.mask=k.layers.mask&5;let i=e.parent,a=k.cameras;ce(k,i);for(let e=0;e0&&(e.alphaTest.value=r.alphaTest);let i=t.get(r),a=i.envMap,o=i.envMapRotation;a&&(e.envMap.value=a,Eh.copy(o),Eh.x*=-1,Eh.y*=-1,Eh.z*=-1,a.isCubeTexture&&a.isRenderTargetTexture===!1&&(Eh.y*=-1,Eh.z*=-1),e.envMapRotation.value.setFromMatrix4(Dh.makeRotationFromEuler(Eh)),e.flipEnvMap.value=a.isCubeTexture&&a.isRenderTargetTexture===!1?-1:1,e.reflectivity.value=r.reflectivity,e.ior.value=r.ior,e.refractionRatio.value=r.refractionRatio),r.lightMap&&(e.lightMap.value=r.lightMap,e.lightMapIntensity.value=r.lightMapIntensity,n(r.lightMap,e.lightMapTransform)),r.aoMap&&(e.aoMap.value=r.aoMap,e.aoMapIntensity.value=r.aoMapIntensity,n(r.aoMap,e.aoMapTransform))}function o(e,t){e.diffuse.value.copy(t.color),e.opacity.value=t.opacity,t.map&&(e.map.value=t.map,n(t.map,e.mapTransform))}function s(e,t){e.dashSize.value=t.dashSize,e.totalSize.value=t.dashSize+t.gapSize,e.scale.value=t.scale}function c(e,t,r,i){e.diffuse.value.copy(t.color),e.opacity.value=t.opacity,e.size.value=t.size*r,e.scale.value=i*.5,t.map&&(e.map.value=t.map,n(t.map,e.uvTransform)),t.alphaMap&&(e.alphaMap.value=t.alphaMap,n(t.alphaMap,e.alphaMapTransform)),t.alphaTest>0&&(e.alphaTest.value=t.alphaTest)}function l(e,t){e.diffuse.value.copy(t.color),e.opacity.value=t.opacity,e.rotation.value=t.rotation,t.map&&(e.map.value=t.map,n(t.map,e.mapTransform)),t.alphaMap&&(e.alphaMap.value=t.alphaMap,n(t.alphaMap,e.alphaMapTransform)),t.alphaTest>0&&(e.alphaTest.value=t.alphaTest)}function u(e,t){e.specular.value.copy(t.specular),e.shininess.value=Math.max(t.shininess,1e-4)}function d(e,t){t.gradientMap&&(e.gradientMap.value=t.gradientMap)}function f(e,t){e.metalness.value=t.metalness,t.metalnessMap&&(e.metalnessMap.value=t.metalnessMap,n(t.metalnessMap,e.metalnessMapTransform)),e.roughness.value=t.roughness,t.roughnessMap&&(e.roughnessMap.value=t.roughnessMap,n(t.roughnessMap,e.roughnessMapTransform)),t.envMap&&(e.envMapIntensity.value=t.envMapIntensity)}function p(e,t,r){e.ior.value=t.ior,t.sheen>0&&(e.sheenColor.value.copy(t.sheenColor).multiplyScalar(t.sheen),e.sheenRoughness.value=t.sheenRoughness,t.sheenColorMap&&(e.sheenColorMap.value=t.sheenColorMap,n(t.sheenColorMap,e.sheenColorMapTransform)),t.sheenRoughnessMap&&(e.sheenRoughnessMap.value=t.sheenRoughnessMap,n(t.sheenRoughnessMap,e.sheenRoughnessMapTransform))),t.clearcoat>0&&(e.clearcoat.value=t.clearcoat,e.clearcoatRoughness.value=t.clearcoatRoughness,t.clearcoatMap&&(e.clearcoatMap.value=t.clearcoatMap,n(t.clearcoatMap,e.clearcoatMapTransform)),t.clearcoatRoughnessMap&&(e.clearcoatRoughnessMap.value=t.clearcoatRoughnessMap,n(t.clearcoatRoughnessMap,e.clearcoatRoughnessMapTransform)),t.clearcoatNormalMap&&(e.clearcoatNormalMap.value=t.clearcoatNormalMap,n(t.clearcoatNormalMap,e.clearcoatNormalMapTransform),e.clearcoatNormalScale.value.copy(t.clearcoatNormalScale),t.side===1&&e.clearcoatNormalScale.value.negate())),t.dispersion>0&&(e.dispersion.value=t.dispersion),t.iridescence>0&&(e.iridescence.value=t.iridescence,e.iridescenceIOR.value=t.iridescenceIOR,e.iridescenceThicknessMinimum.value=t.iridescenceThicknessRange[0],e.iridescenceThicknessMaximum.value=t.iridescenceThicknessRange[1],t.iridescenceMap&&(e.iridescenceMap.value=t.iridescenceMap,n(t.iridescenceMap,e.iridescenceMapTransform)),t.iridescenceThicknessMap&&(e.iridescenceThicknessMap.value=t.iridescenceThicknessMap,n(t.iridescenceThicknessMap,e.iridescenceThicknessMapTransform))),t.transmission>0&&(e.transmission.value=t.transmission,e.transmissionSamplerMap.value=r.texture,e.transmissionSamplerSize.value.set(r.width,r.height),t.transmissionMap&&(e.transmissionMap.value=t.transmissionMap,n(t.transmissionMap,e.transmissionMapTransform)),e.thickness.value=t.thickness,t.thicknessMap&&(e.thicknessMap.value=t.thicknessMap,n(t.thicknessMap,e.thicknessMapTransform)),e.attenuationDistance.value=t.attenuationDistance,e.attenuationColor.value.copy(t.attenuationColor)),t.anisotropy>0&&(e.anisotropyVector.value.set(t.anisotropy*Math.cos(t.anisotropyRotation),t.anisotropy*Math.sin(t.anisotropyRotation)),t.anisotropyMap&&(e.anisotropyMap.value=t.anisotropyMap,n(t.anisotropyMap,e.anisotropyMapTransform))),e.specularIntensity.value=t.specularIntensity,e.specularColor.value.copy(t.specularColor),t.specularColorMap&&(e.specularColorMap.value=t.specularColorMap,n(t.specularColorMap,e.specularColorMapTransform)),t.specularIntensityMap&&(e.specularIntensityMap.value=t.specularIntensityMap,n(t.specularIntensityMap,e.specularIntensityMapTransform))}function m(e,t){t.matcap&&(e.matcap.value=t.matcap)}function h(e,n){let r=t.get(n).light;e.referencePosition.value.setFromMatrixPosition(r.matrixWorld),e.nearDistance.value=r.shadow.camera.near,e.farDistance.value=r.shadow.camera.far}return{refreshFogUniforms:r,refreshMaterialUniforms:i}}function kh(e,t,n,r){let i={},a={},o=[],s=e.getParameter(e.MAX_UNIFORM_BUFFER_BINDINGS);function c(e,t){let n=t.program;r.uniformBlockBinding(e,n)}function l(e,n){let o=i[e.id];o===void 0&&(m(e),o=u(e),i[e.id]=o,e.addEventListener(`dispose`,g));let s=n.program;r.updateUBOMapping(e,s);let c=t.render.frame;a[e.id]!==c&&(f(e),a[e.id]=c)}function u(t){let n=d();t.__bindingPointIndex=n;let r=e.createBuffer(),i=t.__size,a=t.usage;return e.bindBuffer(e.UNIFORM_BUFFER,r),e.bufferData(e.UNIFORM_BUFFER,i,a),e.bindBuffer(e.UNIFORM_BUFFER,null),e.bindBufferBase(e.UNIFORM_BUFFER,n,r),r}function d(){for(let e=0;e0&&(n+=16-r),e.__size=n,e.__cache={},this}function h(e){let t={boundary:0,storage:0};return typeof e==`number`||typeof e==`boolean`?(t.boundary=4,t.storage=4):e.isVector2?(t.boundary=8,t.storage=8):e.isVector3||e.isColor?(t.boundary=16,t.storage=12):e.isVector4?(t.boundary=16,t.storage=16):e.isMatrix3?(t.boundary=48,t.storage=48):e.isMatrix4?(t.boundary=64,t.storage=64):e.isTexture?z(`WebGLRenderer: Texture samplers can not be part of an uniforms group.`):z(`WebGLRenderer: Unsupported uniform value type.`,e),t}function g(t){let n=t.target;n.removeEventListener(`dispose`,g);let r=o.indexOf(n.__bindingPointIndex);o.splice(r,1),e.deleteBuffer(i[n.id]),delete i[n.id],delete a[n.id]}function _(){for(let t in i)e.deleteBuffer(i[t]);o=[],i={},a={}}return{bind:c,update:l,dispose:_}}var Ah=new Uint16Array([12469,15057,12620,14925,13266,14620,13807,14376,14323,13990,14545,13625,14713,13328,14840,12882,14931,12528,14996,12233,15039,11829,15066,11525,15080,11295,15085,10976,15082,10705,15073,10495,13880,14564,13898,14542,13977,14430,14158,14124,14393,13732,14556,13410,14702,12996,14814,12596,14891,12291,14937,11834,14957,11489,14958,11194,14943,10803,14921,10506,14893,10278,14858,9960,14484,14039,14487,14025,14499,13941,14524,13740,14574,13468,14654,13106,14743,12678,14818,12344,14867,11893,14889,11509,14893,11180,14881,10751,14852,10428,14812,10128,14765,9754,14712,9466,14764,13480,14764,13475,14766,13440,14766,13347,14769,13070,14786,12713,14816,12387,14844,11957,14860,11549,14868,11215,14855,10751,14825,10403,14782,10044,14729,9651,14666,9352,14599,9029,14967,12835,14966,12831,14963,12804,14954,12723,14936,12564,14917,12347,14900,11958,14886,11569,14878,11247,14859,10765,14828,10401,14784,10011,14727,9600,14660,9289,14586,8893,14508,8533,15111,12234,15110,12234,15104,12216,15092,12156,15067,12010,15028,11776,14981,11500,14942,11205,14902,10752,14861,10393,14812,9991,14752,9570,14682,9252,14603,8808,14519,8445,14431,8145,15209,11449,15208,11451,15202,11451,15190,11438,15163,11384,15117,11274,15055,10979,14994,10648,14932,10343,14871,9936,14803,9532,14729,9218,14645,8742,14556,8381,14461,8020,14365,7603,15273,10603,15272,10607,15267,10619,15256,10631,15231,10614,15182,10535,15118,10389,15042,10167,14963,9787,14883,9447,14800,9115,14710,8665,14615,8318,14514,7911,14411,7507,14279,7198,15314,9675,15313,9683,15309,9712,15298,9759,15277,9797,15229,9773,15166,9668,15084,9487,14995,9274,14898,8910,14800,8539,14697,8234,14590,7790,14479,7409,14367,7067,14178,6621,15337,8619,15337,8631,15333,8677,15325,8769,15305,8871,15264,8940,15202,8909,15119,8775,15022,8565,14916,8328,14804,8009,14688,7614,14569,7287,14448,6888,14321,6483,14088,6171,15350,7402,15350,7419,15347,7480,15340,7613,15322,7804,15287,7973,15229,8057,15148,8012,15046,7846,14933,7611,14810,7357,14682,7069,14552,6656,14421,6316,14251,5948,14007,5528,15356,5942,15356,5977,15353,6119,15348,6294,15332,6551,15302,6824,15249,7044,15171,7122,15070,7050,14949,6861,14818,6611,14679,6349,14538,6067,14398,5651,14189,5311,13935,4958,15359,4123,15359,4153,15356,4296,15353,4646,15338,5160,15311,5508,15263,5829,15188,6042,15088,6094,14966,6001,14826,5796,14678,5543,14527,5287,14377,4985,14133,4586,13869,4257,15360,1563,15360,1642,15358,2076,15354,2636,15341,3350,15317,4019,15273,4429,15203,4732,15105,4911,14981,4932,14836,4818,14679,4621,14517,4386,14359,4156,14083,3795,13808,3437,15360,122,15360,137,15358,285,15355,636,15344,1274,15322,2177,15281,2765,15215,3223,15120,3451,14995,3569,14846,3567,14681,3466,14511,3305,14344,3121,14037,2800,13753,2467,15360,0,15360,1,15359,21,15355,89,15346,253,15325,479,15287,796,15225,1148,15133,1492,15008,1749,14856,1882,14685,1886,14506,1783,14324,1608,13996,1398,13702,1183]),jh=null;function Mh(){return jh===null&&(jh=new Ga(Ah,16,16,ie,T),jh.name=`DFG_LUT`,jh.minFilter=p,jh.magFilter=p,jh.wrapS=o,jh.wrapT=o,jh.generateMipmaps=!1,jh.needsUpdate=!0),jh}var Nh=class{constructor(e={}){let{canvas:t=jt(),context:n=null,depth:r=!0,stencil:i=!1,alpha:a=!1,antialias:o=!1,premultipliedAlpha:s=!0,preserveDrawingBuffer:c=!1,powerPreference:l=`default`,failIfMajorPerformanceCaveat:u=!1,reversedDepthBuffer:d=!1,outputBufferType:f=v}=e;this.isWebGLRenderer=!0;let p;if(n!==null){if(typeof WebGLRenderingContext<`u`&&n instanceof WebGLRenderingContext)throw Error(`THREE.WebGLRenderer: WebGL 1 is not supported since r163.`);p=n.getContextAttributes().alpha}else p=a;let m=f,h=new Set([se,ae,re]),_=new Set([v,C,x,ee,E,D]),y=new Uint32Array(4),b=new Int32Array(4),S=null,w=null,O=[],k=[],A=null;this.domElement=t,this.debug={checkShaderErrors:!0,onShaderError:null},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this.toneMapping=0,this.toneMappingExposure=1,this.transmissionResolutionScale=1;let j=this,M=!1;this._outputColorSpace=et;let te=0,ne=0,N=null,ie=-1,oe=null,ce=new kn,le=new kn,P=null,ue=new Y(0),de=0,fe=t.width,pe=t.height,me=1,he=null,ge=null,_e=new kn(0,0,fe,pe),ve=new kn(0,0,fe,pe),ye=!1,be=new fo,xe=!1,Se=!1,Ce=new q,we=new W,Te=new kn,Ee={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0},De=!1;function Oe(){return N===null?me:1}let F=n;function ke(e,n){return t.getContext(e,n)}try{let e={alpha:!0,depth:r,stencil:i,antialias:o,premultipliedAlpha:s,preserveDrawingBuffer:c,powerPreference:l,failIfMajorPerformanceCaveat:u};if(`setAttribute`in t&&t.setAttribute(`data-engine`,`three.js r182`),t.addEventListener(`webglcontextlost`,$e,!1),t.addEventListener(`webglcontextrestored`,nt,!1),t.addEventListener(`webglcontextcreationerror`,rt,!1),F===null){let t=`webgl2`;if(F=ke(t,e),F===null)throw ke(t)?Error(`Error creating WebGL context with your selected attributes.`):Error(`Error creating WebGL context.`)}}catch(e){throw B(`WebGLRenderer: `+e.message),e}let Ae,je,I,Me,L,R,Ne,Pe,Fe,Ie,Le,Re,ze,Be,Ve,He,Ue,We,Ge,Ke,qe,Je,Ye,Xe;function Ze(){Ae=new Zf(F),Ae.init(),Je=new xh(F,Ae),je=new Df(F,Ae,e,Je),I=new yh(F,Ae),je.reversedDepthBuffer&&d&&I.buffers.depth.setReversed(!0),Me=new ep(F),L=new Qm,R=new bh(F,Ae,I,L,je,Je,Me),Ne=new kf(j),Pe=new Xf(j),Fe=new yf(F),Ye=new Tf(F,Fe),Ie=new Qf(F,Fe,Me,Ye),Le=new np(F,Ie,Fe,Me),Ge=new tp(F,je,R),He=new Of(L),Re=new Zm(j,Ne,Pe,Ae,je,Ye,He),ze=new Oh(j,L),Be=new nh,Ve=new lh(Ae),We=new wf(j,Ne,Pe,I,Le,p,s),Ue=new _h(j,Le,je),Xe=new kh(F,Me,je,I),Ke=new Ef(F,Ae,Me),qe=new $f(F,Ae,Me),Me.programs=Re.programs,j.capabilities=je,j.extensions=Ae,j.properties=L,j.renderLists=Be,j.shadowMap=Ue,j.state=I,j.info=Me}Ze(),m!==1009&&(A=new ip(m,t.width,t.height,r,i));let Qe=new Th(j,F);this.xr=Qe,this.getContext=function(){return F},this.getContextAttributes=function(){return F.getContextAttributes()},this.forceContextLoss=function(){let e=Ae.get(`WEBGL_lose_context`);e&&e.loseContext()},this.forceContextRestore=function(){let e=Ae.get(`WEBGL_lose_context`);e&&e.restoreContext()},this.getPixelRatio=function(){return me},this.setPixelRatio=function(e){e!==void 0&&(me=e,this.setSize(fe,pe,!1))},this.getSize=function(e){return e.set(fe,pe)},this.setSize=function(e,n,r=!0){if(Qe.isPresenting){z(`WebGLRenderer: Can't change size while VR device is presenting.`);return}fe=e,pe=n,t.width=Math.floor(e*me),t.height=Math.floor(n*me),r===!0&&(t.style.width=e+`px`,t.style.height=n+`px`),A!==null&&A.setSize(t.width,t.height),this.setViewport(0,0,e,n)},this.getDrawingBufferSize=function(e){return e.set(fe*me,pe*me).floor()},this.setDrawingBufferSize=function(e,n,r){fe=e,pe=n,me=r,t.width=Math.floor(e*r),t.height=Math.floor(n*r),this.setViewport(0,0,e,n)},this.setEffects=function(e){if(m===1009){console.error(`THREE.WebGLRenderer: setEffects() requires outputBufferType set to HalfFloatType or FloatType.`);return}if(e){for(let t=0;t{function n(){if(r.forEach(function(e){L.get(e).currentProgram.isReady()&&r.delete(e)}),r.size===0){t(e);return}setTimeout(n,10)}Ae.get(`KHR_parallel_shader_compile`)===null?setTimeout(n,10):n()})};let ct=null;function lt(e){ct&&ct(e)}function ut(){ft.stop()}function dt(){ft.start()}let ft=new vf;ft.setAnimationLoop(lt),typeof self<`u`&&ft.setContext(self),this.setAnimationLoop=function(e){ct=e,Qe.setAnimationLoop(e),e===null?ft.stop():ft.start()},Qe.addEventListener(`sessionstart`,ut),Qe.addEventListener(`sessionend`,dt),this.render=function(e,t){if(t!==void 0&&t.isCamera!==!0){B(`WebGLRenderer.render: camera is not an instance of THREE.Camera.`);return}if(M===!0)return;let n=Qe.enabled===!0&&Qe.isPresenting===!0,r=A!==null&&(N===null||n)&&A.begin(j,N);if(e.matrixWorldAutoUpdate===!0&&e.updateMatrixWorld(),t.parent===null&&t.matrixWorldAutoUpdate===!0&&t.updateMatrixWorld(),Qe.enabled===!0&&Qe.isPresenting===!0&&(A===null||A.isCompositing()===!1)&&(Qe.cameraAutoUpdate===!0&&Qe.updateCamera(t),t=Qe.getCamera()),e.isScene===!0&&e.onBeforeRender(j,e,t,N),w=Ve.get(e,k.length),w.init(t),k.push(w),Ce.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse),be.setFromProjectionMatrix(Ce,xt,t.reversedDepth),Se=this.localClippingEnabled,xe=He.init(this.clippingPlanes,Se),S=Be.get(e,O.length),S.init(),O.push(S),Qe.enabled===!0&&Qe.isPresenting===!0){let e=j.xr.getDepthSensingMesh();e!==null&&pt(e,t,-1/0,j.sortObjects)}pt(e,t,0,j.sortObjects),S.finish(),j.sortObjects===!0&&S.sort(he,ge),De=Qe.enabled===!1||Qe.isPresenting===!1||Qe.hasDepthSensing()===!1,De&&We.addToRenderList(S,e),this.info.render.frame++,xe===!0&&He.beginShadows();let i=w.state.shadowsArray;if(Ue.render(i,e,t),xe===!0&&He.endShadows(),this.info.autoReset===!0&&this.info.reset(),(r&&A.hasRenderPass())===!1){let n=S.opaque,r=S.transmissive;if(w.setupLights(),t.isArrayCamera){let i=t.cameras;if(r.length>0)for(let t=0,a=i.length;t0&&ht(n,r,e,t),De&&We.render(e),mt(S,e,t)}N!==null&&ne===0&&(R.updateMultisampleRenderTarget(N),R.updateRenderTargetMipmap(N)),r&&A.end(j),e.isScene===!0&&e.onAfterRender(j,e,t),Ye.resetDefaultState(),ie=-1,oe=null,k.pop(),k.length>0?(w=k[k.length-1],xe===!0&&He.setGlobalState(j.clippingPlanes,w.state.camera)):w=null,O.pop(),S=O.length>0?O[O.length-1]:null};function pt(e,t,n,r){if(e.visible===!1)return;if(e.layers.test(t.layers)){if(e.isGroup)n=e.renderOrder;else if(e.isLOD)e.autoUpdate===!0&&e.update(t);else if(e.isLight)w.pushLight(e),e.castShadow&&w.pushShadow(e);else if(e.isSprite){if(!e.frustumCulled||be.intersectsSprite(e)){r&&Te.setFromMatrixPosition(e.matrixWorld).applyMatrix4(Ce);let t=Le.update(e),i=e.material;i.visible&&S.push(e,t,i,n,Te.z,null)}}else if((e.isMesh||e.isLine||e.isPoints)&&(!e.frustumCulled||be.intersectsObject(e))){let t=Le.update(e),i=e.material;if(r&&(e.boundingSphere===void 0?(t.boundingSphere===null&&t.computeBoundingSphere(),Te.copy(t.boundingSphere.center)):(e.boundingSphere===null&&e.computeBoundingSphere(),Te.copy(e.boundingSphere.center)),Te.applyMatrix4(e.matrixWorld).applyMatrix4(Ce)),Array.isArray(i)){let r=t.groups;for(let a=0,o=r.length;a0&>(i,t,n),a.length>0&>(a,t,n),o.length>0&>(o,t,n),I.buffers.depth.setTest(!0),I.buffers.depth.setMask(!0),I.buffers.color.setMask(!0),I.setPolygonOffset(!1)}function ht(e,t,n,r){if((n.isScene===!0?n.overrideMaterial:null)!==null)return;if(w.state.transmissionRenderTarget[r.id]===void 0){let e=Ae.has(`EXT_color_buffer_half_float`)||Ae.has(`EXT_color_buffer_float`);w.state.transmissionRenderTarget[r.id]=new jn(1,1,{generateMipmaps:!0,type:e?T:v,minFilter:g,samples:je.samples,stencilBuffer:i,resolveDepthBuffer:!1,resolveStencilBuffer:!1,colorSpace:K.workingColorSpace})}let a=w.state.transmissionRenderTarget[r.id],o=r.viewport||ce;a.setSize(o.z*j.transmissionResolutionScale,o.w*j.transmissionResolutionScale);let s=j.getRenderTarget(),c=j.getActiveCubeFace(),l=j.getActiveMipmapLevel();j.setRenderTarget(a),j.getClearColor(ue),de=j.getClearAlpha(),de<1&&j.setClearColor(16777215,.5),j.clear(),De&&We.render(n);let u=j.toneMapping;j.toneMapping=0;let d=r.viewport;if(r.viewport!==void 0&&(r.viewport=void 0),w.setupLightsView(r),xe===!0&&He.setGlobalState(j.clippingPlanes,r),gt(e,n,r),R.updateMultisampleRenderTarget(a),R.updateRenderTargetMipmap(a),Ae.has(`WEBGL_multisampled_render_to_texture`)===!1){let e=!1;for(let i=0,a=t.length;i0),d=!!n.morphAttributes.position,f=!!n.morphAttributes.normal,p=!!n.morphAttributes.color,m=0;r.toneMapped&&(N===null||N.isXRRenderTarget===!0)&&(m=j.toneMapping);let h=n.morphAttributes.position||n.morphAttributes.normal||n.morphAttributes.color,g=h===void 0?0:h.length,_=L.get(r),v=w.state.lights;if(xe===!0&&(Se===!0||e!==oe)){let t=e===oe&&r.id===ie;He.setState(r,e,t)}let y=!1;r.version===_.__version?_.needsLights&&_.lightsStateVersion!==v.state.version?y=!0:_.outputColorSpace===s?i.isBatchedMesh&&_.batching===!1||!i.isBatchedMesh&&_.batching===!0||i.isBatchedMesh&&_.batchingColor===!0&&i.colorTexture===null||i.isBatchedMesh&&_.batchingColor===!1&&i.colorTexture!==null||i.isInstancedMesh&&_.instancing===!1||!i.isInstancedMesh&&_.instancing===!0||i.isSkinnedMesh&&_.skinning===!1||!i.isSkinnedMesh&&_.skinning===!0||i.isInstancedMesh&&_.instancingColor===!0&&i.instanceColor===null||i.isInstancedMesh&&_.instancingColor===!1&&i.instanceColor!==null||i.isInstancedMesh&&_.instancingMorph===!0&&i.morphTexture===null||i.isInstancedMesh&&_.instancingMorph===!1&&i.morphTexture!==null?y=!0:_.envMap===c?r.fog===!0&&_.fog!==a||_.numClippingPlanes!==void 0&&(_.numClippingPlanes!==He.numPlanes||_.numIntersection!==He.numIntersection)?y=!0:_.vertexAlphas===l&&_.vertexTangents===u&&_.morphTargets===d&&_.morphNormals===f&&_.morphColors===p&&_.toneMapping===m?_.morphTargetsCount!==g&&(y=!0):y=!0:y=!0:y=!0:(y=!0,_.__version=r.version);let b=_.currentProgram;y===!0&&(b=vt(r,t,i));let x=!1,S=!1,C=!1,T=b.getUniforms(),E=_.uniforms;if(I.useProgram(b.program)&&(x=!0,S=!0,C=!0),r.id!==ie&&(ie=r.id,S=!0),x||oe!==e){I.buffers.depth.getReversed()&&e.reversedDepth!==!0&&(e._reversedDepth=!0,e.updateProjectionMatrix()),T.setValue(F,`projectionMatrix`,e.projectionMatrix),T.setValue(F,`viewMatrix`,e.matrixWorldInverse);let t=T.map.cameraPosition;t!==void 0&&t.setValue(F,we.setFromMatrixPosition(e.matrixWorld)),je.logarithmicDepthBuffer&&T.setValue(F,`logDepthBufFC`,2/(Math.log(e.far+1)/Math.LN2)),(r.isMeshPhongMaterial||r.isMeshToonMaterial||r.isMeshLambertMaterial||r.isMeshBasicMaterial||r.isMeshStandardMaterial||r.isShaderMaterial)&&T.setValue(F,`isOrthographic`,e.isOrthographicCamera===!0),oe!==e&&(oe=e,S=!0,C=!0)}if(_.needsLights&&(v.state.directionalShadowMap.length>0&&T.setValue(F,`directionalShadowMap`,v.state.directionalShadowMap,R),v.state.spotShadowMap.length>0&&T.setValue(F,`spotShadowMap`,v.state.spotShadowMap,R),v.state.pointShadowMap.length>0&&T.setValue(F,`pointShadowMap`,v.state.pointShadowMap,R)),i.isSkinnedMesh){T.setOptional(F,i,`bindMatrix`),T.setOptional(F,i,`bindMatrixInverse`);let e=i.skeleton;e&&(e.boneTexture===null&&e.computeBoneTexture(),T.setValue(F,`boneTexture`,e.boneTexture,R))}i.isBatchedMesh&&(T.setOptional(F,i,`batchingTexture`),T.setValue(F,`batchingTexture`,i._matricesTexture,R),T.setOptional(F,i,`batchingIdTexture`),T.setValue(F,`batchingIdTexture`,i._indirectTexture,R),T.setOptional(F,i,`batchingColorTexture`),i._colorsTexture!==null&&T.setValue(F,`batchingColorTexture`,i._colorsTexture,R));let D=n.morphAttributes;if((D.position!==void 0||D.normal!==void 0||D.color!==void 0)&&Ge.update(i,n,b),(S||_.receiveShadow!==i.receiveShadow)&&(_.receiveShadow=i.receiveShadow,T.setValue(F,`receiveShadow`,i.receiveShadow)),r.isMeshGouraudMaterial&&r.envMap!==null&&(E.envMap.value=c,E.flipEnvMap.value=c.isCubeTexture&&c.isRenderTargetTexture===!1?-1:1),r.isMeshStandardMaterial&&r.envMap===null&&t.environment!==null&&(E.envMapIntensity.value=t.environmentIntensity),E.dfgLUT!==void 0&&(E.dfgLUT.value=Mh()),S&&(T.setValue(F,`toneMappingExposure`,j.toneMappingExposure),_.needsLights&&Ct(E,C),a&&r.fog===!0&&ze.refreshFogUniforms(E,a),ze.refreshMaterialUniforms(E,r,me,pe,w.state.transmissionRenderTarget[e.id]),dm.upload(F,yt(_),E,R)),r.isShaderMaterial&&r.uniformsNeedUpdate===!0&&(dm.upload(F,yt(_),E,R),r.uniformsNeedUpdate=!1),r.isSpriteMaterial&&T.setValue(F,`center`,i.center),T.setValue(F,`modelViewMatrix`,i.modelViewMatrix),T.setValue(F,`normalMatrix`,i.normalMatrix),T.setValue(F,`modelMatrix`,i.matrixWorld),r.isShaderMaterial||r.isRawShaderMaterial){let e=r.uniformsGroups;for(let t=0,n=e.length;t0&&R.useMultisampledRTT(e)===!1?L.get(e).__webglMultisampledFramebuffer:Array.isArray(c)?c[n]:c,ce.copy(e.viewport),le.copy(e.scissor),P=e.scissorTest}else ce.copy(_e).multiplyScalar(me).floor(),le.copy(ve).multiplyScalar(me).floor(),P=ye;if(n!==0&&(r=Tt),I.bindFramebuffer(F.FRAMEBUFFER,r)&&I.drawBuffers(e,r),I.viewport(ce),I.scissor(le),I.setScissorTest(P),i){let r=L.get(e.texture);F.framebufferTexture2D(F.FRAMEBUFFER,F.COLOR_ATTACHMENT0,F.TEXTURE_CUBE_MAP_POSITIVE_X+t,r.__webglTexture,n)}else if(a){let r=t;for(let t=0;t=0&&t<=e.width-r&&n>=0&&n<=e.height-i&&(e.textures.length>1&&F.readBuffer(F.COLOR_ATTACHMENT0+s),F.readPixels(t,n,r,i,Je.convert(c),Je.convert(l),a))}finally{let e=N===null?null:L.get(N).__webglFramebuffer;I.bindFramebuffer(F.FRAMEBUFFER,e)}}},this.readRenderTargetPixelsAsync=async function(e,t,n,r,i,a,o,s=0){if(!(e&&e.isWebGLRenderTarget))throw Error(`THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.`);let c=L.get(e).__webglFramebuffer;if(e.isWebGLCubeRenderTarget&&o!==void 0&&(c=c[o]),c)if(t>=0&&t<=e.width-r&&n>=0&&n<=e.height-i){I.bindFramebuffer(F.FRAMEBUFFER,c);let o=e.textures[s],l=o.format,u=o.type;if(!je.textureFormatReadable(l))throw Error(`THREE.WebGLRenderer.readRenderTargetPixelsAsync: renderTarget is not in RGBA or implementation defined format.`);if(!je.textureTypeReadable(u))throw Error(`THREE.WebGLRenderer.readRenderTargetPixelsAsync: renderTarget is not in UnsignedByteType or implementation defined type.`);let d=F.createBuffer();F.bindBuffer(F.PIXEL_PACK_BUFFER,d),F.bufferData(F.PIXEL_PACK_BUFFER,a.byteLength,F.STREAM_READ),e.textures.length>1&&F.readBuffer(F.COLOR_ATTACHMENT0+s),F.readPixels(t,n,r,i,Je.convert(l),Je.convert(u),0);let f=N===null?null:L.get(N).__webglFramebuffer;I.bindFramebuffer(F.FRAMEBUFFER,f);let p=F.fenceSync(F.SYNC_GPU_COMMANDS_COMPLETE,0);return F.flush(),await Rt(F,p,4),F.bindBuffer(F.PIXEL_PACK_BUFFER,d),F.getBufferSubData(F.PIXEL_PACK_BUFFER,0,a),F.deleteBuffer(d),F.deleteSync(p),a}else throw Error(`THREE.WebGLRenderer.readRenderTargetPixelsAsync: requested read bounds are out of range.`)},this.copyFramebufferToTexture=function(e,t=null,n=0){let r=2**-n,i=Math.floor(e.image.width*r),a=Math.floor(e.image.height*r),o=t===null?0:t.x,s=t===null?0:t.y;R.setTexture2D(e,0),F.copyTexSubImage2D(F.TEXTURE_2D,n,0,0,o,s,i,a),I.unbindTexture()};let Et=F.createFramebuffer(),Dt=F.createFramebuffer();this.copyTextureToTexture=function(e,t,n=null,r=null,i=0,a=null){a===null&&(i===0?a=0:(Lt(`WebGLRenderer: copyTextureToTexture function signature has changed to support src and dst mipmap levels.`),a=i,i=0));let o,s,c,l,u,d,f,p,m,h=e.isCompressedTexture?e.mipmaps[a]:e.image;if(n!==null)o=n.max.x-n.min.x,s=n.max.y-n.min.y,c=n.isBox3?n.max.z-n.min.z:1,l=n.min.x,u=n.min.y,d=n.isBox3?n.min.z:0;else{let t=2**-i;o=Math.floor(h.width*t),s=Math.floor(h.height*t),c=e.isDataArrayTexture?h.depth:e.isData3DTexture?Math.floor(h.depth*t):1,l=0,u=0,d=0}r===null?(f=0,p=0,m=0):(f=r.x,p=r.y,m=r.z);let g=Je.convert(t.format),_=Je.convert(t.type),v;t.isData3DTexture?(R.setTexture3D(t,0),v=F.TEXTURE_3D):t.isDataArrayTexture||t.isCompressedArrayTexture?(R.setTexture2DArray(t,0),v=F.TEXTURE_2D_ARRAY):(R.setTexture2D(t,0),v=F.TEXTURE_2D),F.pixelStorei(F.UNPACK_FLIP_Y_WEBGL,t.flipY),F.pixelStorei(F.UNPACK_PREMULTIPLY_ALPHA_WEBGL,t.premultiplyAlpha),F.pixelStorei(F.UNPACK_ALIGNMENT,t.unpackAlignment);let y=F.getParameter(F.UNPACK_ROW_LENGTH),b=F.getParameter(F.UNPACK_IMAGE_HEIGHT),x=F.getParameter(F.UNPACK_SKIP_PIXELS),S=F.getParameter(F.UNPACK_SKIP_ROWS),C=F.getParameter(F.UNPACK_SKIP_IMAGES);F.pixelStorei(F.UNPACK_ROW_LENGTH,h.width),F.pixelStorei(F.UNPACK_IMAGE_HEIGHT,h.height),F.pixelStorei(F.UNPACK_SKIP_PIXELS,l),F.pixelStorei(F.UNPACK_SKIP_ROWS,u),F.pixelStorei(F.UNPACK_SKIP_IMAGES,d);let w=e.isDataArrayTexture||e.isData3DTexture,T=t.isDataArrayTexture||t.isData3DTexture;if(e.isDepthTexture){let n=L.get(e),r=L.get(t),h=L.get(n.__renderTarget),g=L.get(r.__renderTarget);I.bindFramebuffer(F.READ_FRAMEBUFFER,h.__webglFramebuffer),I.bindFramebuffer(F.DRAW_FRAMEBUFFER,g.__webglFramebuffer);for(let n=0;n{var t=n();function r(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var i=typeof Object.is==`function`?Object.is:r,a=t.useState,o=t.useEffect,s=t.useLayoutEffect,c=t.useDebugValue;function l(e,t){var n=t(),r=a({inst:{value:n,getSnapshot:t}}),i=r[0].inst,l=r[1];return s(function(){i.value=n,i.getSnapshot=t,u(i)&&l({inst:i})},[e,n,t]),o(function(){return u(i)&&l({inst:i}),e(function(){u(i)&&l({inst:i})})},[e]),c(n),n}function u(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!i(e,n)}catch{return!0}}function d(e,t){return t()}var f=typeof window>`u`||window.document===void 0||window.document.createElement===void 0?d:l;e.useSyncExternalStore=t.useSyncExternalStore===void 0?f:t.useSyncExternalStore})),i=t(((e,t)=>{t.exports=r()})),a=t((e=>{var t=n(),r=i();function a(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var o=typeof Object.is==`function`?Object.is:a,s=r.useSyncExternalStore,c=t.useRef,l=t.useEffect,u=t.useMemo,d=t.useDebugValue;e.useSyncExternalStoreWithSelector=function(e,t,n,r,i){var a=c(null);if(a.current===null){var f={hasValue:!1,value:null};a.current=f}else f=a.current;a=u(function(){function e(e){if(!a){if(a=!0,s=e,e=r(e),i!==void 0&&f.hasValue){var t=f.value;if(i(t,e))return c=t}return c=e}if(t=c,o(s,e))return t;var n=r(e);return i!==void 0&&i(t,n)?(s=e,t):(s=e,c=n)}var a=!1,s,c,l=n===void 0?null:n;return[function(){return e(t())},l===null?void 0:function(){return e(l())}]},[t,n,r,i]);var p=s(e,a[0],a[1]);return l(function(){f.hasValue=!0,f.value=p},[p]),d(p),p}})),o=t(((e,t)=>{t.exports=a()})),s=e=>{let t,n=new Set,r=(e,r)=>{let i=typeof e==`function`?e(t):e;if(!Object.is(i,t)){let e=t;t=r??(typeof i!=`object`||!i)?i:Object.assign({},t,i),n.forEach(n=>n(t,e))}},i=()=>t,a={setState:r,getState:i,getInitialState:()=>o,subscribe:e=>(n.add(e),()=>n.delete(e))},o=t=e(r,i,a);return a},c=(e=>e?s(e):s),l=e(n(),1),{useSyncExternalStoreWithSelector:u}=e(o(),1).default,d=e=>e;function f(e,t=d,n){let r=u(e.subscribe,e.getState,e.getInitialState,t,n);return l.useDebugValue(r),r}var p=(e,t)=>{let n=c(e),r=(e,r=t)=>f(n,e,r);return Object.assign(r,n),r},m=((e,t)=>e?p(e,t):p);export{i,f as n,c as r,m as t}; \ No newline at end of file diff --git a/docs/assets/traditional-ec-lUAFC.js b/docs/assets/traditional-ec-lUAFC.js new file mode 100644 index 00000000..8f5380c8 --- /dev/null +++ b/docs/assets/traditional-ec-lUAFC.js @@ -0,0 +1 @@ +import{r as e,t}from"./chunk-DECur_0Z.js";import{r as n}from"./jsx-runtime-BpGWiA-R.js";var r=e=>{let t,n=new Set,r=(e,r)=>{let i=typeof e==`function`?e(t):e;if(!Object.is(i,t)){let e=t;t=r??(typeof i!=`object`||!i)?i:Object.assign({},t,i),n.forEach(n=>n(t,e))}},i=()=>t,a={setState:r,getState:i,getInitialState:()=>o,subscribe:e=>(n.add(e),()=>n.delete(e))},o=t=e(r,i,a);return a},i=(e=>e?r(e):r),a=t((e=>{var t=n();function r(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var i=typeof Object.is==`function`?Object.is:r,a=t.useState,o=t.useEffect,s=t.useLayoutEffect,c=t.useDebugValue;function l(e,t){var n=t(),r=a({inst:{value:n,getSnapshot:t}}),i=r[0].inst,l=r[1];return s(function(){i.value=n,i.getSnapshot=t,u(i)&&l({inst:i})},[e,n,t]),o(function(){return u(i)&&l({inst:i}),e(function(){u(i)&&l({inst:i})})},[e]),c(n),n}function u(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!i(e,n)}catch{return!0}}function d(e,t){return t()}var f=typeof window>`u`||window.document===void 0||window.document.createElement===void 0?d:l;e.useSyncExternalStore=t.useSyncExternalStore===void 0?f:t.useSyncExternalStore})),o=t(((e,t)=>{t.exports=a()})),s=t((e=>{var t=n(),r=o();function i(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var a=typeof Object.is==`function`?Object.is:i,s=r.useSyncExternalStore,c=t.useRef,l=t.useEffect,u=t.useMemo,d=t.useDebugValue;e.useSyncExternalStoreWithSelector=function(e,t,n,r,i){var o=c(null);if(o.current===null){var f={hasValue:!1,value:null};o.current=f}else f=o.current;o=u(function(){function e(e){if(!o){if(o=!0,s=e,e=r(e),i!==void 0&&f.hasValue){var t=f.value;if(i(t,e))return c=t}return c=e}if(t=c,a(s,e))return t;var n=r(e);return i!==void 0&&i(t,n)?(s=e,t):(s=e,c=n)}var o=!1,s,c,l=n===void 0?null:n;return[function(){return e(t())},l===null?void 0:function(){return e(l())}]},[t,n,r,i]);var p=s(e,o[0],o[1]);return l(function(){f.hasValue=!0,f.value=p},[p]),d(p),p}})),c=t(((e,t)=>{t.exports=s()})),l=e(n(),1),{useSyncExternalStoreWithSelector:u}=e(c(),1).default,d=e=>e;function f(e,t=d,n){let r=u(e.subscribe,e.getState,e.getInitialState,t,n);return l.useDebugValue(r),r}var p=(e,t)=>{let n=i(e),r=(e,r=t)=>f(n,e,r);return Object.assign(r,n),r},m=((e,t)=>e?p(e,t):p);export{i,f as n,o as r,m as t}; \ No newline at end of file diff --git a/docs/assets/useAnisotropy-Dq6cNuNI.js b/docs/assets/useAnisotropy-Dq6cNuNI.js new file mode 100644 index 00000000..c894cf78 --- /dev/null +++ b/docs/assets/useAnisotropy-Dq6cNuNI.js @@ -0,0 +1 @@ +import{o as e}from"./react-three-fiber.esm-CD18QK1u.js";function t(){return e(n)}function n(e){return e.gl.capabilities.getMaxAnisotropy()}export{t}; \ No newline at end of file diff --git a/docs/assets/useAnisotropy-nhH7jNtm.js b/docs/assets/useAnisotropy-nhH7jNtm.js deleted file mode 100644 index 7d4918f7..00000000 --- a/docs/assets/useAnisotropy-nhH7jNtm.js +++ /dev/null @@ -1 +0,0 @@ -import{c as e}from"./Html-DrHEhPVE.js";import{C as t,Dt as n,Et as r,K as i,N as a,Ot as o,Rt as s,Vt as c,q as l}from"./three.module-DRRYkRPO.js";var u=new a;u.setOptions({premultiplyAlpha:`none`});var d=new Map;function f(e,t){let n=d.get(e);if(n)return t&&n.image&&t(n),n;let r=new s;return r.flipY=!1,d.set(e,r),u.load(e,e=>{r.image=e,r.needsUpdate=!0,t?.(r)}),r}function p(e){let t=d.get(e);return t?t.image?Promise.resolve(t):new Promise(e=>{let n=()=>{t.image?e(t):setTimeout(n,16)};n()}):new Promise((t,n)=>{let r=new s;r.flipY=!1,d.set(e,r),u.load(e,e=>{r.image=e,r.needsUpdate=!0,t(r)},void 0,n)})}function m(e,t={}){let{repeat:r=[1,1],disableMipmaps:a=!1,anisotropy:s,noColorSpace:c=!1}=t;return e.wrapS=e.wrapT=n,c||(e.colorSpace=o),e.repeat.set(...r),e.flipY=!1,e.anisotropy=s??1,a?(e.generateMipmaps=!1,e.minFilter=i):(e.generateMipmaps=!0,e.minFilter=l),e.magFilter=i,e.needsUpdate=!0,e}function h(e){let a=new t(e,256,256,r,c);return a.colorSpace=``,a.wrapS=a.wrapT=n,a.generateMipmaps=!1,a.minFilter=i,a.magFilter=i,a.needsUpdate=!0,a}function g(){return e(_)}function _(e){return e.gl.capabilities.getMaxAnisotropy()}export{m as a,h as i,f as n,p as r,g as t}; \ No newline at end of file diff --git a/docs/assets/useBaseQuery-D-AnxeNl.js b/docs/assets/useBaseQuery-D-AnxeNl.js new file mode 100644 index 00000000..a7d9834c --- /dev/null +++ b/docs/assets/useBaseQuery-D-AnxeNl.js @@ -0,0 +1 @@ +import{r as e}from"./chunk-DECur_0Z.js";import{r as t,t as n}from"./jsx-runtime-BpGWiA-R.js";import{Ct as r,St as i,_t as a,bt as o,dt as s,ft as c,gt as l,ht as u,lt as d,mt as f,pt as p,ut as m,vt as h,wt as g,xt as _,yt as v}from"./index-BEKjcnfN.js";var y=class extends g{constructor(e,t){super(),this.options=t,this.#e=e,this.#s=null,this.#o=c(),this.bindMethods(),this.setOptions(t)}#e;#t=void 0;#n=void 0;#r=void 0;#i;#a;#o;#s;#c;#l;#u;#d;#f;#p;#m=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(this.#t.addObserver(this),x(this.#t,this.options)?this.#h():this.updateResult(),this.#y())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return S(this.#t,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return S(this.#t,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#b(),this.#x(),this.#t.removeObserver(this)}setOptions(e){let t=this.options,n=this.#t;if(this.options=this.#e.defaultQueryOptions(e),this.options.enabled!==void 0&&typeof this.options.enabled!=`boolean`&&typeof this.options.enabled!=`function`&&typeof a(this.options.enabled,this.#t)!=`boolean`)throw Error(`Expected enabled to be a boolean or a callback that returns a boolean`);this.#S(),this.#t.setOptions(this.options),t._defaulted&&!v(this.options,t)&&this.#e.getQueryCache().notify({type:`observerOptionsUpdated`,query:this.#t,observer:this});let r=this.hasListeners();r&&C(this.#t,n,this.options,t)&&this.#h(),this.updateResult(),r&&(this.#t!==n||a(this.options.enabled,this.#t)!==a(t.enabled,this.#t)||h(this.options.staleTime,this.#t)!==h(t.staleTime,this.#t))&&this.#g();let i=this.#_();r&&(this.#t!==n||a(this.options.enabled,this.#t)!==a(t.enabled,this.#t)||i!==this.#p)&&this.#v(i)}getOptimisticResult(e){let t=this.#e.getQueryCache().build(this.#e,e),n=this.createResult(t,e);return T(this,n)&&(this.#r=n,this.#a=this.options,this.#i=this.#t.state),n}getCurrentResult(){return this.#r}trackResult(e,t){return new Proxy(e,{get:(e,n)=>(this.trackProp(n),t?.(n),n===`promise`&&(this.trackProp(`data`),!this.options.experimental_prefetchInRender&&this.#o.status===`pending`&&this.#o.reject(Error(`experimental_prefetchInRender feature flag is not enabled`))),Reflect.get(e,n))})}trackProp(e){this.#m.add(e)}getCurrentQuery(){return this.#t}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){let t=this.#e.defaultQueryOptions(e),n=this.#e.getQueryCache().build(this.#e,t);return n.fetch().then(()=>this.createResult(n,t))}fetch(e){return this.#h({...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#r))}#h(e){this.#S();let t=this.#t.fetch(this.options,e);return e?.throwOnError||(t=t.catch(u)),t}#g(){this.#b();let e=h(this.options.staleTime,this.#t);if(p.isServer()||this.#r.isStale||!f(e))return;let t=_(this.#r.dataUpdatedAt,e)+1;this.#d=i.setTimeout(()=>{this.#r.isStale||this.updateResult()},t)}#_(){return(typeof this.options.refetchInterval==`function`?this.options.refetchInterval(this.#t):this.options.refetchInterval)??!1}#v(e){this.#x(),this.#p=e,!(p.isServer()||a(this.options.enabled,this.#t)===!1||!f(this.#p)||this.#p===0)&&(this.#f=i.setInterval(()=>{(this.options.refetchIntervalInBackground||r.isFocused())&&this.#h()},this.#p))}#y(){this.#g(),this.#v(this.#_())}#b(){this.#d&&=(i.clearTimeout(this.#d),void 0)}#x(){this.#f&&=(i.clearInterval(this.#f),void 0)}createResult(e,t){let n=this.#t,r=this.options,i=this.#r,o=this.#i,s=this.#a,u=e===n?this.#n:e.state,{state:d}=e,f={...d},p=!1,h;if(t._optimisticResults){let i=this.hasListeners(),a=!i&&x(e,t),o=i&&C(e,n,t,r);(a||o)&&(f={...f,...m(d.data,e.options)}),t._optimisticResults===`isRestoring`&&(f.fetchStatus=`idle`)}let{error:g,errorUpdatedAt:_,status:v}=f;h=f.data;let y=!1;if(t.placeholderData!==void 0&&h===void 0&&v===`pending`){let e;i?.isPlaceholderData&&t.placeholderData===s?.placeholderData?(e=i.data,y=!0):e=typeof t.placeholderData==`function`?t.placeholderData(this.#u?.state.data,this.#u):t.placeholderData,e!==void 0&&(v=`success`,h=l(i?.data,e,t),p=!0)}if(t.select&&h!==void 0&&!y)if(i&&h===o?.data&&t.select===this.#c)h=this.#l;else try{this.#c=t.select,h=t.select(h),h=l(i?.data,h,t),this.#l=h,this.#s=null}catch(e){this.#s=e}this.#s&&(g=this.#s,h=this.#l,_=Date.now(),v=`error`);let b=f.fetchStatus===`fetching`,S=v===`pending`,T=v===`error`,E=S&&b,D=h!==void 0,O={status:v,fetchStatus:f.fetchStatus,isPending:S,isSuccess:v===`success`,isError:T,isInitialLoading:E,isLoading:E,data:h,dataUpdatedAt:f.dataUpdatedAt,error:g,errorUpdatedAt:_,failureCount:f.fetchFailureCount,failureReason:f.fetchFailureReason,errorUpdateCount:f.errorUpdateCount,isFetched:e.isFetched(),isFetchedAfterMount:f.dataUpdateCount>u.dataUpdateCount||f.errorUpdateCount>u.errorUpdateCount,isFetching:b,isRefetching:b&&!S,isLoadingError:T&&!D,isPaused:f.fetchStatus===`paused`,isPlaceholderData:p,isRefetchError:T&&D,isStale:w(e,t),refetch:this.refetch,promise:this.#o,isEnabled:a(t.enabled,e)!==!1};if(this.options.experimental_prefetchInRender){let t=O.data!==void 0,r=O.status===`error`&&!t,i=e=>{r?e.reject(O.error):t&&e.resolve(O.data)},a=()=>{i(this.#o=O.promise=c())},o=this.#o;switch(o.status){case`pending`:e.queryHash===n.queryHash&&i(o);break;case`fulfilled`:(r||O.data!==o.value)&&a();break;case`rejected`:(!r||O.error!==o.reason)&&a();break}}return O}updateResult(){let e=this.#r,t=this.createResult(this.#t,this.options);this.#i=this.#t.state,this.#a=this.options,this.#i.data!==void 0&&(this.#u=this.#t),!v(t,e)&&(this.#r=t,this.#C({listeners:(()=>{if(!e)return!0;let{notifyOnChangeProps:t}=this.options,n=typeof t==`function`?t():t;if(n===`all`||!n&&!this.#m.size)return!0;let r=new Set(n??this.#m);return this.options.throwOnError&&r.add(`error`),Object.keys(this.#r).some(t=>{let n=t;return this.#r[n]!==e[n]&&r.has(n)})})()}))}#S(){let e=this.#e.getQueryCache().build(this.#e,this.options);if(e===this.#t)return;let t=this.#t;this.#t=e,this.#n=e.state,this.hasListeners()&&(t?.removeObserver(this),e.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#y()}#C(e){s.batch(()=>{e.listeners&&this.listeners.forEach(e=>{e(this.#r)}),this.#e.getQueryCache().notify({query:this.#t,type:`observerResultsUpdated`})})}};function b(e,t){return a(t.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status===`error`&&t.retryOnMount===!1)}function x(e,t){return b(e,t)||e.state.data!==void 0&&S(e,t,t.refetchOnMount)}function S(e,t,n){if(a(t.enabled,e)!==!1&&h(t.staleTime,e)!==`static`){let r=typeof n==`function`?n(e):n;return r===`always`||r!==!1&&w(e,t)}return!1}function C(e,t,n,r){return(e!==t||a(r.enabled,e)===!1)&&(!n.suspense||e.state.status!==`error`)&&w(e,n)}function w(e,t){return a(t.enabled,e)!==!1&&e.isStaleByTime(h(t.staleTime,e))}function T(e,t){return!v(e.getCurrentResult(),t)}var E=e(t(),1),D=E.createContext(!1),O=()=>E.useContext(D);D.Provider,n();function k(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var A=E.createContext(k()),j=()=>E.useContext(A),M=(e,t,n)=>{let r=n?.state.error&&typeof e.throwOnError==`function`?o(e.throwOnError,[n.state.error,n]):e.throwOnError;(e.suspense||e.experimental_prefetchInRender||r)&&(t.isReset()||(e.retryOnMount=!1))},N=e=>{E.useEffect(()=>{e.clearReset()},[e])},P=({result:e,errorResetBoundary:t,throwOnError:n,query:r,suspense:i})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&(i&&e.data===void 0||o(n,[e.error,r])),F=(e,t)=>t.state.data===void 0,I=e=>{if(e.suspense){let t=1e3,n=e=>e===`static`?e:Math.max(e??t,t),r=e.staleTime;e.staleTime=typeof r==`function`?(...e)=>n(r(...e)):n(r),typeof e.gcTime==`number`&&(e.gcTime=Math.max(e.gcTime,t))}},L=(e,t)=>e.isLoading&&e.isFetching&&!t,R=(e,t)=>e?.suspense&&t.isPending,z=(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()});function B(e,t,n){let r=O(),i=j(),a=d(n),o=a.defaultQueryOptions(e);a.getDefaultOptions().queries?._experimental_beforeQuery?.(o);let c=a.getQueryCache().get(o.queryHash);o._optimisticResults=r?`isRestoring`:`optimistic`,I(o),M(o,i,c),N(i);let l=!a.getQueryCache().get(o.queryHash),[f]=E.useState(()=>new t(a,o)),m=f.getOptimisticResult(o),h=!r&&e.subscribed!==!1;if(E.useSyncExternalStore(E.useCallback(e=>{let t=h?f.subscribe(s.batchCalls(e)):u;return f.updateResult(),t},[f,h]),()=>f.getCurrentResult(),()=>f.getCurrentResult()),E.useEffect(()=>{f.setOptions(o)},[o,f]),R(o,m))throw z(o,f,i);if(P({result:m,errorResetBoundary:i,throwOnError:o.throwOnError,query:c,suspense:o.suspense}))throw m.error;return a.getDefaultOptions().queries?._experimental_afterQuery?.(o,m),o.experimental_prefetchInRender&&!p.isServer()&&L(m,r)&&(l?z(o,f,i):c?.promise)?.catch(u).finally(()=>{f.updateResult()}),o.notifyOnChangeProps?m:f.trackResult(m)}export{F as n,y as r,B as t}; \ No newline at end of file diff --git a/docs/assets/useBaseQuery-DzUOlyvP.js b/docs/assets/useBaseQuery-DzUOlyvP.js deleted file mode 100644 index 398fba2c..00000000 --- a/docs/assets/useBaseQuery-DzUOlyvP.js +++ /dev/null @@ -1 +0,0 @@ -import{r as e}from"./chunk-DECur_0Z.js";import{r as t,t as n}from"./jsx-runtime-BpGWiA-R.js";import{$ as r,Q as i,X as a,Y as o,Z as s,at as c,ct as l,et as u,it as d,lt as f,nt as p,ot as m,rt as h,st as g,tt as _,ut as v}from"./index-Ds_qp2Yy.js";var y=class extends v{constructor(e,t){super(),this.options=t,this.#e=e,this.#s=null,this.#o=i(),this.bindMethods(),this.setOptions(t)}#e;#t=void 0;#n=void 0;#r=void 0;#i;#a;#o;#s;#c;#l;#u;#d;#f;#p;#m=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(this.#t.addObserver(this),x(this.#t,this.options)?this.#h():this.updateResult(),this.#y())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return S(this.#t,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return S(this.#t,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#b(),this.#x(),this.#t.removeObserver(this)}setOptions(e){let t=this.options,n=this.#t;if(this.options=this.#e.defaultQueryOptions(e),this.options.enabled!==void 0&&typeof this.options.enabled!=`boolean`&&typeof this.options.enabled!=`function`&&typeof h(this.options.enabled,this.#t)!=`boolean`)throw Error(`Expected enabled to be a boolean or a callback that returns a boolean`);this.#S(),this.#t.setOptions(this.options),t._defaulted&&!c(this.options,t)&&this.#e.getQueryCache().notify({type:`observerOptionsUpdated`,query:this.#t,observer:this});let r=this.hasListeners();r&&C(this.#t,n,this.options,t)&&this.#h(),this.updateResult(),r&&(this.#t!==n||h(this.options.enabled,this.#t)!==h(t.enabled,this.#t)||d(this.options.staleTime,this.#t)!==d(t.staleTime,this.#t))&&this.#g();let i=this.#_();r&&(this.#t!==n||h(this.options.enabled,this.#t)!==h(t.enabled,this.#t)||i!==this.#p)&&this.#v(i)}getOptimisticResult(e){let t=this.#e.getQueryCache().build(this.#e,e),n=this.createResult(t,e);return T(this,n)&&(this.#r=n,this.#a=this.options,this.#i=this.#t.state),n}getCurrentResult(){return this.#r}trackResult(e,t){return new Proxy(e,{get:(e,n)=>(this.trackProp(n),t?.(n),n===`promise`&&(this.trackProp(`data`),!this.options.experimental_prefetchInRender&&this.#o.status===`pending`&&this.#o.reject(Error(`experimental_prefetchInRender feature flag is not enabled`))),Reflect.get(e,n))})}trackProp(e){this.#m.add(e)}getCurrentQuery(){return this.#t}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){let t=this.#e.defaultQueryOptions(e),n=this.#e.getQueryCache().build(this.#e,t);return n.fetch().then(()=>this.createResult(n,t))}fetch(e){return this.#h({...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#r))}#h(e){this.#S();let t=this.#t.fetch(this.options,e);return e?.throwOnError||(t=t.catch(_)),t}#g(){this.#b();let e=d(this.options.staleTime,this.#t);if(r.isServer()||this.#r.isStale||!u(e))return;let t=g(this.#r.dataUpdatedAt,e)+1;this.#d=l.setTimeout(()=>{this.#r.isStale||this.updateResult()},t)}#_(){return(typeof this.options.refetchInterval==`function`?this.options.refetchInterval(this.#t):this.options.refetchInterval)??!1}#v(e){this.#x(),this.#p=e,!(r.isServer()||h(this.options.enabled,this.#t)===!1||!u(this.#p)||this.#p===0)&&(this.#f=l.setInterval(()=>{(this.options.refetchIntervalInBackground||f.isFocused())&&this.#h()},this.#p))}#y(){this.#g(),this.#v(this.#_())}#b(){this.#d&&=(l.clearTimeout(this.#d),void 0)}#x(){this.#f&&=(l.clearInterval(this.#f),void 0)}createResult(e,t){let n=this.#t,r=this.options,o=this.#r,s=this.#i,c=this.#a,l=e===n?this.#n:e.state,{state:u}=e,d={...u},f=!1,m;if(t._optimisticResults){let i=this.hasListeners(),o=!i&&x(e,t),s=i&&C(e,n,t,r);(o||s)&&(d={...d,...a(u.data,e.options)}),t._optimisticResults===`isRestoring`&&(d.fetchStatus=`idle`)}let{error:g,errorUpdatedAt:_,status:v}=d;m=d.data;let y=!1;if(t.placeholderData!==void 0&&m===void 0&&v===`pending`){let e;o?.isPlaceholderData&&t.placeholderData===c?.placeholderData?(e=o.data,y=!0):e=typeof t.placeholderData==`function`?t.placeholderData(this.#u?.state.data,this.#u):t.placeholderData,e!==void 0&&(v=`success`,m=p(o?.data,e,t),f=!0)}if(t.select&&m!==void 0&&!y)if(o&&m===s?.data&&t.select===this.#c)m=this.#l;else try{this.#c=t.select,m=t.select(m),m=p(o?.data,m,t),this.#l=m,this.#s=null}catch(e){this.#s=e}this.#s&&(g=this.#s,m=this.#l,_=Date.now(),v=`error`);let b=d.fetchStatus===`fetching`,S=v===`pending`,T=v===`error`,E=S&&b,D=m!==void 0,O={status:v,fetchStatus:d.fetchStatus,isPending:S,isSuccess:v===`success`,isError:T,isInitialLoading:E,isLoading:E,data:m,dataUpdatedAt:d.dataUpdatedAt,error:g,errorUpdatedAt:_,failureCount:d.fetchFailureCount,failureReason:d.fetchFailureReason,errorUpdateCount:d.errorUpdateCount,isFetched:e.isFetched(),isFetchedAfterMount:d.dataUpdateCount>l.dataUpdateCount||d.errorUpdateCount>l.errorUpdateCount,isFetching:b,isRefetching:b&&!S,isLoadingError:T&&!D,isPaused:d.fetchStatus===`paused`,isPlaceholderData:f,isRefetchError:T&&D,isStale:w(e,t),refetch:this.refetch,promise:this.#o,isEnabled:h(t.enabled,e)!==!1};if(this.options.experimental_prefetchInRender){let t=O.data!==void 0,r=O.status===`error`&&!t,a=e=>{r?e.reject(O.error):t&&e.resolve(O.data)},o=()=>{a(this.#o=O.promise=i())},s=this.#o;switch(s.status){case`pending`:e.queryHash===n.queryHash&&a(s);break;case`fulfilled`:(r||O.data!==s.value)&&o();break;case`rejected`:(!r||O.error!==s.reason)&&o();break}}return O}updateResult(){let e=this.#r,t=this.createResult(this.#t,this.options);this.#i=this.#t.state,this.#a=this.options,this.#i.data!==void 0&&(this.#u=this.#t),!c(t,e)&&(this.#r=t,this.#C({listeners:(()=>{if(!e)return!0;let{notifyOnChangeProps:t}=this.options,n=typeof t==`function`?t():t;if(n===`all`||!n&&!this.#m.size)return!0;let r=new Set(n??this.#m);return this.options.throwOnError&&r.add(`error`),Object.keys(this.#r).some(t=>{let n=t;return this.#r[n]!==e[n]&&r.has(n)})})()}))}#S(){let e=this.#e.getQueryCache().build(this.#e,this.options);if(e===this.#t)return;let t=this.#t;this.#t=e,this.#n=e.state,this.hasListeners()&&(t?.removeObserver(this),e.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#y()}#C(e){s.batch(()=>{e.listeners&&this.listeners.forEach(e=>{e(this.#r)}),this.#e.getQueryCache().notify({query:this.#t,type:`observerResultsUpdated`})})}};function b(e,t){return h(t.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status===`error`&&t.retryOnMount===!1)}function x(e,t){return b(e,t)||e.state.data!==void 0&&S(e,t,t.refetchOnMount)}function S(e,t,n){if(h(t.enabled,e)!==!1&&d(t.staleTime,e)!==`static`){let r=typeof n==`function`?n(e):n;return r===`always`||r!==!1&&w(e,t)}return!1}function C(e,t,n,r){return(e!==t||h(r.enabled,e)===!1)&&(!n.suspense||e.state.status!==`error`)&&w(e,n)}function w(e,t){return h(t.enabled,e)!==!1&&e.isStaleByTime(d(t.staleTime,e))}function T(e,t){return!c(e.getCurrentResult(),t)}var E=e(t(),1),D=E.createContext(!1),O=()=>E.useContext(D);D.Provider,n();function k(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var A=E.createContext(k()),j=()=>E.useContext(A),M=(e,t,n)=>{let r=n?.state.error&&typeof e.throwOnError==`function`?m(e.throwOnError,[n.state.error,n]):e.throwOnError;(e.suspense||e.experimental_prefetchInRender||r)&&(t.isReset()||(e.retryOnMount=!1))},N=e=>{E.useEffect(()=>{e.clearReset()},[e])},P=({result:e,errorResetBoundary:t,throwOnError:n,query:r,suspense:i})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&(i&&e.data===void 0||m(n,[e.error,r])),F=(e,t)=>t.state.data===void 0,I=e=>{if(e.suspense){let t=1e3,n=e=>e===`static`?e:Math.max(e??t,t),r=e.staleTime;e.staleTime=typeof r==`function`?(...e)=>n(r(...e)):n(r),typeof e.gcTime==`number`&&(e.gcTime=Math.max(e.gcTime,t))}},L=(e,t)=>e.isLoading&&e.isFetching&&!t,R=(e,t)=>e?.suspense&&t.isPending,z=(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()});function B(e,t,n){let i=O(),a=j(),c=o(n),l=c.defaultQueryOptions(e);c.getDefaultOptions().queries?._experimental_beforeQuery?.(l);let u=c.getQueryCache().get(l.queryHash);l._optimisticResults=i?`isRestoring`:`optimistic`,I(l),M(l,a,u),N(a);let d=!c.getQueryCache().get(l.queryHash),[f]=E.useState(()=>new t(c,l)),p=f.getOptimisticResult(l),m=!i&&e.subscribed!==!1;if(E.useSyncExternalStore(E.useCallback(e=>{let t=m?f.subscribe(s.batchCalls(e)):_;return f.updateResult(),t},[f,m]),()=>f.getCurrentResult(),()=>f.getCurrentResult()),E.useEffect(()=>{f.setOptions(l)},[l,f]),R(l,p))throw z(l,f,a);if(P({result:p,errorResetBoundary:a,throwOnError:l.throwOnError,query:u,suspense:l.suspense}))throw p.error;return c.getDefaultOptions().queries?._experimental_afterQuery?.(l,p),l.experimental_prefetchInRender&&!r.isServer()&&L(p,i)&&(d?z(l,f,a):u?.promise)?.catch(_).finally(()=>{f.updateResult()}),l.notifyOnChangeProps?p:f.trackResult(p)}export{F as n,y as r,B as t}; \ No newline at end of file diff --git a/docs/assets/useQuery-BomOZ8gL.js b/docs/assets/useQuery-BomOZ8gL.js new file mode 100644 index 00000000..ed2a95de --- /dev/null +++ b/docs/assets/useQuery-BomOZ8gL.js @@ -0,0 +1 @@ +import{r as e,t}from"./useBaseQuery-D-AnxeNl.js";function n(n,r){return t(n,e,r)}export{n as t}; \ No newline at end of file diff --git a/docs/assets/useQuery-DfKJ2xlM.js b/docs/assets/useQuery-DfKJ2xlM.js deleted file mode 100644 index 73ae22e2..00000000 --- a/docs/assets/useQuery-DfKJ2xlM.js +++ /dev/null @@ -1 +0,0 @@ -import{r as e,t}from"./useBaseQuery-DzUOlyvP.js";function n(n,r){return t(n,e,r)}export{n as t}; \ No newline at end of file diff --git a/docs/index.html b/docs/index.html index e8cdd457..3a4bab95 100644 --- a/docs/index.html +++ b/docs/index.html @@ -19,26 +19,25 @@ - + - - - + + + - + - - - + + + - - + + - - - - - + + + +
diff --git a/scripts/filter-chrome-logs.ts b/scripts/filter-chrome-logs.ts new file mode 100644 index 00000000..faa7d7af --- /dev/null +++ b/scripts/filter-chrome-logs.ts @@ -0,0 +1,39 @@ +import { createReadStream, createWriteStream } from "node:fs"; +import * as readline from "node:readline"; +import { parseArgs } from "node:util"; + +process.stdout.on("error", (err: NodeJS.ErrnoException) => { + if (err.code === "EPIPE") process.exit(0); + throw err; +}); + +const { values, positionals } = parseArgs({ + options: { + output: { type: "boolean", short: "o", default: false }, + }, + allowPositionals: true, +}); + +const inputFile = positionals[0]; + +const input = inputFile + ? createReadStream(inputFile) + : createReadStream("/dev/stdin"); +const output = + values.output && inputFile + ? createWriteStream(inputFile.replace(/\.log$/, ".filtered.log")) + : process.stdout; + +const rl = readline.createInterface({ input }); + +for await (const line of rl) { + const sub = line + .replace(/^(installHook\.js:1 )/, "") + .replace(/^eval @ unknown$/, "") + .replace(/^([\w.[\]()-]+ @ [\w.@?=…-]+:\d+)$/, "") + .replace(/^( ?THREE\.WebGLRenderer: Texture marked for update .*)$/, "") + .replace(/^(requestAnimationFrame)$/, ""); + if (sub) { + output.write(sub + "\n"); + } +} diff --git a/src/components/AudioEmitter.tsx b/src/components/AudioEmitter.tsx index 93b8d9f7..8eadfb26 100644 --- a/src/components/AudioEmitter.tsx +++ b/src/components/AudioEmitter.tsx @@ -10,11 +10,17 @@ import { } from "three"; import { createLogger } from "../logger"; import { audioToUrl } from "../loaders"; +import { useIsDebugTourTarget } from "../state/cameraTourStore"; +import { DebugMarker } from "./DebugBounds"; import { useAudio } from "./AudioContext"; import { useDebug, useSettings } from "./SettingsProvider"; import { FloatingLabel } from "./FloatingLabel"; import { engineStore } from "../state/engineStore"; import { AudioEmitterEntity } from "../state/gameEntityTypes"; +import { + getAdjustAudioSpeed, + onAdjustAudioSpeedChange, +} from "./audioPlaybackRate"; const log = createLogger("AudioEmitter"); @@ -26,21 +32,17 @@ export const audioBufferCache = new Map(); // intrinsic pitch (1.0 for normal, or the voice pitch multiplier for chat). const _activeSounds = new Map, number>(); -/** Whether to adjust audio pitch to match playback speed. When false, sounds - * play at their original pitch regardless of fast-forward/slow-motion. */ -let _adjustAudioSpeed = true; -export function setAdjustAudioSpeedFlag(value: boolean): void { - _adjustAudioSpeed = value; - // Re-apply rate to all active sounds immediately. +// Re-apply playback rate to all active sounds when the flag changes. +onAdjustAudioSpeedChange((value) => { const rate = engineStore.getState().playback.rate; for (const [sound, basePitch] of _activeSounds) { try { - sound.setPlaybackRate(basePitch * (_adjustAudioSpeed ? rate : 1)); + sound.setPlaybackRate(basePitch * (value ? rate : 1)); } catch { /* disposed */ } } -} +}); /** Register a sound for automatic playback rate tracking during streaming. */ export function trackSound( @@ -66,11 +68,8 @@ export function getSoundGeneration(): number { return _soundGeneration; } -/** Get the effective playback rate for a sound, respecting the adjustAudioSpeed setting. */ -export function getEffectiveSoundRate(basePitch = 1): number { - const rate = engineStore.getState().playback.rate; - return basePitch * (_adjustAudioSpeed ? rate : 1); -} +// Re-export for convenience (canonical definition in audioPlaybackRate.ts). +export { getEffectiveSoundRate } from "./audioPlaybackRate"; /** Stop and unregister all tracked sounds. Called on recording change. */ export function stopAllTrackedSounds(): void { @@ -95,7 +94,7 @@ engineStore.subscribe( (rate) => { for (const [sound, basePitch] of _activeSounds) { try { - sound.setPlaybackRate(basePitch * (_adjustAudioSpeed ? rate : 1)); + sound.setPlaybackRate(basePitch * (getAdjustAudioSpeed() ? rate : 1)); } catch { // Sound may have been disposed. } @@ -173,14 +172,14 @@ export function playOneShotSound( sound.setMaxDistance(resolved.maxDist); sound.setRolloffFactor(1); sound.setVolume(resolved.volume); - sound.setPlaybackRate(_adjustAudioSpeed ? rate : 1); + sound.setPlaybackRate(getAdjustAudioSpeed() ? rate : 1); if (position) { sound.position.copy(position); } parent.add(sound); _activeSounds.set(sound, 1); sound.play(); - sound.source!.onended = () => { + (sound.source as AudioBufferSourceNode).onended = () => { _activeSounds.delete(sound); try { sound.disconnect(); @@ -193,10 +192,10 @@ export function playOneShotSound( const sound = new Audio(audioListener); sound.setBuffer(buffer); sound.setVolume(resolved.volume); - sound.setPlaybackRate(_adjustAudioSpeed ? rate : 1); + sound.setPlaybackRate(getAdjustAudioSpeed() ? rate : 1); _activeSounds.set(sound, 1); sound.play(); - sound.source!.onended = () => { + (sound.source as AudioBufferSourceNode).onended = () => { _activeSounds.delete(sound); try { sound.disconnect(); @@ -338,7 +337,7 @@ export const AudioEmitter = memo(function AudioEmitter({ const gap = gapMin === gapMax ? gapMin : randomValue * (gapMax - gapMin) + gapMin; - sound.loop = false; + (sound as any).loop = false; const checkLoop = () => { // Discard callbacks from a previous sound generation. @@ -446,20 +445,27 @@ export const AudioEmitter = memo(function AudioEmitter({ } }, [audioEnabled]); - return debugMode ? ( - // eslint-disable-next-line react-hooks/refs - - - - - {fileName} - - - ) : null; + const isTarget = useIsDebugTourTarget(entity.id); + + return ( + <> + {debugMode && ( + // eslint-disable-next-line react-hooks/refs + + + + + {fileName} + + + )} + {isTarget && } + + ); }); diff --git a/src/components/Camera.tsx b/src/components/Camera.tsx index 808ceb6e..7727ea4b 100644 --- a/src/components/Camera.tsx +++ b/src/components/Camera.tsx @@ -2,6 +2,8 @@ import { useEffect, useId, useMemo } from "react"; import { Quaternion, Vector3 } from "three"; import { useCameras } from "./CamerasProvider"; import type { CameraEntity } from "../state/gameEntityTypes"; +import { useIsDebugTourTarget } from "../state/cameraTourStore"; +import { DebugMarker } from "./DebugBounds"; export function Camera({ entity }: { entity: CameraEntity }) { const { registerCamera, unregisterCamera } = useCameras(); @@ -37,5 +39,6 @@ export function Camera({ entity }: { entity: CameraEntity }) { // but clone a new "flying" camera when the user moves. The other is to not // have multiple cameras at all, but rather update the default camera with // new position information when cycling. This uses the latter approach. - return null; + const isTarget = useIsDebugTourTarget(entity.id); + return isTarget ? : null; } diff --git a/src/components/CameraTourConsumer.tsx b/src/components/CameraTourConsumer.tsx index 84ad789f..e2e22fe8 100644 --- a/src/components/CameraTourConsumer.tsx +++ b/src/components/CameraTourConsumer.tsx @@ -14,6 +14,7 @@ import { import { cameraTourStore } from "../state/cameraTourStore"; import type { TourAnimation } from "../state/cameraTourStore"; import type { TourTarget } from "./mapTourCategories"; +import { globalFogUniforms } from "../globalFogUniforms"; import { createLogger } from "../logger"; const log = createLogger("CameraTourConsumer"); @@ -23,8 +24,17 @@ function easeInOutCubic(t: number): number { } const FALLBACK_ORBIT_RADIUS = 3; +/** Orbit radius for entities without geometry (WayPoints, markers, etc.). */ +const POINT_ORBIT_RADIUS = 10; const DEFAULT_ORBIT_HEIGHT = 2; const MIN_ORBIT_RADIUS = 1.8; +/** Orbit radius above which fog starts reducing during tours. */ +const FOG_REDUCE_THRESHOLD = 50; +/** Divisor for fog scale: fogDistanceScale = orbitRadius / FOG_REDUCE_DIVISOR. + * Smaller values = more aggressive fog reduction. */ +const FOG_REDUCE_DIVISOR = 200; +/** Speed at which fogDistanceScale animates (per second). */ +const FOG_SCALE_SPEED = 2; /** Extra orbit radius added beyond half the object's height. */ const ORBIT_PAD_VERTICAL = 1.8; /** Extra orbit radius added beyond half the object's spread (width/length). */ @@ -102,7 +112,21 @@ function resolveTargetBounds( animation: TourAnimation, ): void { const obj = scene.getObjectByName(target.entityId); + // Check if the scene object has any geometry to compute bounds from. + let hasGeometry = false; if (obj) { + obj.traverse((child: any) => { + if (child.geometry) hasGeometry = true; + }); + } + if (obj && !hasGeometry) { + // Entity exists but has no geometry (WayPoints, markers, etc.). + // Use target position directly with a wider orbit. + animation.orbitCenter = [...target.position]; + animation.orbitRadius = POINT_ORBIT_RADIUS; + return; + } + if (obj && hasGeometry) { // World-space AABB center for the orbit focus (where the camera looks). _box.setFromObject(obj); _box.getCenter(_center); @@ -130,7 +154,28 @@ function resolveTargetBounds( const fromHeight = height / 2 + ORBIT_PAD_VERTICAL; const fromSpread = spread / 2 + ORBIT_PAD_HORIZONTAL; const computed = Math.max(fromHeight, fromSpread); - animation.orbitRadius = Math.max(MIN_ORBIT_RADIUS, computed); + // For very large objects (terrain, water), use target position as orbit + // center and compute a stable radius from the single-tile geometry bounds + // (setFromObject includes dynamic instanced tiles that vary with camera). + const isLarge = computed > 200; + if (isLarge) { + animation.orbitCenter = [...target.position]; + // Use only the first geometry child's bounds for stable sizing. + let stableSpread = 0; + obj.traverse((child: any) => { + if (stableSpread > 0 || !child.geometry) return; + if (!child.geometry.boundingBox) child.geometry.computeBoundingBox(); + const bb = child.geometry.boundingBox; + const sx = bb.max.x - bb.min.x; + const sy = bb.max.y - bb.min.y; + const sz = bb.max.z - bb.min.z; + stableSpread = Math.max(sx, sy, sz); + }); + const stableRadius = (stableSpread / 2 + ORBIT_PAD_HORIZONTAL) * 0.75; + animation.orbitRadius = Math.max(MIN_ORBIT_RADIUS, stableRadius); + } else { + animation.orbitRadius = Math.max(MIN_ORBIT_RADIUS, computed); + } const driver = fromHeight >= fromSpread ? "height" : "spread"; const clamp = computed < MIN_ORBIT_RADIUS ? " (clamped)" : ""; log.debug( @@ -189,8 +234,14 @@ function buildCurve( // Midpoint: halfway between start and entry, elevated proportionally. const mid = new Vector3().addVectors(startPos, entry).multiplyScalar(0.5); - // Pull midpoint toward the target and elevate. - mid.lerp(focus, 0.3); + // Pull midpoint toward the focus — but only if it won't create a dip + // closer than the orbit entry. For large orbits where the camera is + // already far out, pulling toward focus causes an unnecessary zoom-in. + const midDistToFocus = mid.distanceTo(focus); + const entryDistToFocus = entry.distanceTo(focus); + if (midDistToFocus > entryDistToFocus) { + mid.lerp(focus, 0.3); + } mid.y += distance * 0.15; return new CatmullRomCurve3( @@ -333,7 +384,6 @@ function advanceOrbit( } export function CameraTourConsumer() { - const invalidate = useThree((s) => s.invalidate); const camera = useThree((s) => s.camera); const scene = useThree((s) => s.scene); const prevAnimationRef = useRef(null); @@ -357,6 +407,31 @@ export function CameraTourConsumer() { useFrame((_state, delta) => { const animation = cameraTourStore.getState().animation; + + // Reduce fog when orbiting far targets. fogDistanceScale divides all + // distance-based fog calculations (both haze and volumetric volumes), + // making geometry appear closer to the camera for fog purposes. + const orbitR = animation ? getOrbitRadius(animation) : 0; + const targetScale = + animation && orbitR >= FOG_REDUCE_THRESHOLD + ? orbitR / FOG_REDUCE_DIVISOR + : 1; + const currentScale = globalFogUniforms.fogDistanceScale.value; + if (currentScale !== targetScale) { + const step = FOG_SCALE_SPEED * delta; + if (targetScale > currentScale) { + globalFogUniforms.fogDistanceScale.value = Math.min( + currentScale + step, + targetScale, + ); + } else { + globalFogUniforms.fogDistanceScale.value = Math.max( + currentScale - step, + targetScale, + ); + } + } + if (!animation) { if (prevAnimationRef.current) { stripRoll(camera.quaternion); @@ -365,7 +440,6 @@ export function CameraTourConsumer() { return; } - invalidate(); prevAnimationRef.current = animation; if (animation.phase === "traveling") { diff --git a/src/components/ChatSoundPlayer.tsx b/src/components/ChatSoundPlayer.tsx index 6b209c32..81ff8638 100644 --- a/src/components/ChatSoundPlayer.tsx +++ b/src/components/ChatSoundPlayer.tsx @@ -10,7 +10,7 @@ import { untrackSound, } from "./AudioEmitter"; import { useSettings } from "./SettingsProvider"; -import { engineStore, useEngineSelector } from "../state/engineStore"; +import { useEngineSelector } from "../state/engineStore"; import type { ChatMessage } from "../stream/types"; /** @@ -52,7 +52,6 @@ export function ChatSoundPlayer() { try { const url = audioToUrl(msg.soundPath); const pitch = msg.soundPitch ?? 1; - const rate = engineStore.getState().playback.rate; const sender = msg.sender; const gen = getSoundGeneration(); getCachedAudioBuffer(url, audioLoader, (buffer) => { @@ -84,7 +83,7 @@ export function ChatSoundPlayer() { } sound.play(); // Clean up the source node once playback finishes. - sound.source!.onended = () => { + (sound.source as AudioBufferSourceNode).onended = () => { untrackSound(sound); try { sound.disconnect(); diff --git a/src/components/DebugBounds.tsx b/src/components/DebugBounds.tsx new file mode 100644 index 00000000..a9d133a8 --- /dev/null +++ b/src/components/DebugBounds.tsx @@ -0,0 +1,38 @@ +import { useMemo } from "react"; +import { BoxGeometry, EdgesGeometry, SphereGeometry } from "three"; + +const debugMaterial = ( + +); + +/** Red wireframe bounding box for debug tour visualization. */ +export function DebugBounds({ size }: { size: [number, number, number] }) { + const edges = useMemo( + () => new EdgesGeometry(new BoxGeometry(...size)), + [size[0], size[1], size[2]], // eslint-disable-line react-hooks/exhaustive-deps + ); + return ( + + {debugMaterial} + + ); +} + +/** Red wireframe sphere for point entities without geometry. */ +export function DebugMarker({ radius = 1 }: { radius?: number }) { + const edges = useMemo( + () => new EdgesGeometry(new SphereGeometry(radius, 8, 6)), + [radius], + ); + return ( + + {debugMaterial} + + ); +} diff --git a/src/components/DebugElements.tsx b/src/components/DebugElements.tsx index 921d13e9..55cb1a3e 100644 --- a/src/components/DebugElements.tsx +++ b/src/components/DebugElements.tsx @@ -1,53 +1,8 @@ import { Stats, Html } from "@react-three/drei"; -import { useEffect, useMemo, useRef } from "react"; -import { useFrame } from "@react-three/fiber"; -import { - AxesHelper, - Color, - MeshLambertMaterial, - SphereGeometry, - Vector3, -} from "three"; -import { injectCustomFog } from "../fogShader"; -import { globalFogUniforms } from "../globalFogUniforms"; -import { injectShapeLighting, injectShapeEnvMap } from "../shapeMaterial"; +import { useEffect, useRef } from "react"; +import { AxesHelper } from "three"; import styles from "./DebugElements.module.css"; -const debugSphereGeo = new SphereGeometry(10, 64, 64); - -/** - * A chrome sphere that visualizes the env map. Placed 30 units in front of - * the camera so you can always see it. - */ -function DebugEnvMapSphere() { - const meshRef = useRef(null); - - const material = useMemo(() => { - const mat = new MeshLambertMaterial({ - color: new Color(0.5, 0.5, 0.5), - }); - mat.customProgramCacheKey = () => "debug-envmap-sphere"; - mat.onBeforeCompile = (shader) => { - injectCustomFog(shader, globalFogUniforms); - injectShapeLighting(shader); - injectShapeEnvMap(shader, 1.0); - }; - return mat; - }, []); - - const _dir = useMemo(() => new Vector3(), []); - - // Follow the camera: position 80 units in front. - useFrame(({ camera }) => { - const mesh = meshRef.current; - if (!mesh) return; - camera.getWorldDirection(_dir); - mesh.position.copy(camera.position).addScaledVector(_dir, 80); - }); - - return ; -} - export function DebugElements() { const axesRef = useRef(null); @@ -85,7 +40,6 @@ export function DebugElements() { X - ); } diff --git a/src/components/DebugEntityList.module.css b/src/components/DebugEntityList.module.css new file mode 100644 index 00000000..1a1e79dc --- /dev/null +++ b/src/components/DebugEntityList.module.css @@ -0,0 +1,135 @@ +.Container { +} + +.Title { + font-size: 13px; + font-weight: bold; + margin: 16px 10px 8px 10px; +} + +.Header { + font-size: 12px; + opacity: 0.6; + padding: 2px 0; +} + +.Group { + margin: 0; +} + +.GroupHeader { + font-size: 12px; + font-weight: 500; + color: rgba(255, 255, 255, 0.7); + padding: 6px 8px; + cursor: pointer; + user-select: none; + list-style: none; +} + +.GroupHeader::-webkit-details-marker { + display: none; +} + +.GroupHeader::before { + content: "[+] "; + font-family: monospace; + color: rgba(255, 255, 255, 0.4); +} + +.Group[open] > .GroupHeader::before { + content: "[-] "; +} + +.GroupCount { + font-weight: normal; + opacity: 0.5; +} + +.List { + margin: 4px 0 8px 0; + padding: 0; + list-style: none; + background: rgba(0, 0, 0, 0.2); + overflow: hidden; + border-radius: 3px; + border: 1px solid rgba(255, 255, 255, 0.2); +} + +.ListItem { + display: flex; + flex-direction: column; + margin: 0; + padding: 0; +} + +.EntityRow { + display: flex; + align-items: center; + gap: 6px; + padding: 6px 8px; +} + +.EntityRow input[type="checkbox"] { + margin-top: 2px; + flex-shrink: 0; +} + +.EntityInfo { + flex: 1 1 auto; + min-width: 0; +} + +.LocateButton { + flex-shrink: 0; + display: flex; + align-items: center; + justify-content: center; + border: 0; + margin: 0; + padding: 8px 9px 8px 7px; + background: transparent; + color: rgba(255, 255, 255, 0.5); + cursor: pointer; + border-radius: 3px; +} + +.LocateButton:hover:not(:disabled) { + color: rgba(255, 255, 255, 0.9); + background: rgba(255, 255, 255, 0.1); +} + +.LocateButton:disabled { + opacity: 0.25; + cursor: default; +} + +.EntityRow[data-disabled] { + opacity: 0.4; +} + +.ListItem:not(:last-child) { + border-bottom: 1px solid rgba(255, 255, 255, 0.1); +} + +.Type { + font-weight: bold; + font-size: 12px; + color: #fff; +} + +.ID { + background: rgba(159, 166, 169, 0.2); + color: rgba(255, 255, 255, 0.7); + font-size: 11px; + margin: 0 0 0 4px; + padding: 3px 5px; + border-radius: 3px; +} + +.Detail { + display: block; + font-size: 13px; + color: rgba(255, 255, 255, 0.7); + margin: 4px 0 0 0; +} diff --git a/src/components/DebugEntityList.tsx b/src/components/DebugEntityList.tsx new file mode 100644 index 00000000..a5573922 --- /dev/null +++ b/src/components/DebugEntityList.tsx @@ -0,0 +1,169 @@ +import { memo, useMemo, useCallback } from "react"; +import { FaLocationArrow } from "react-icons/fa6"; +import { useGameEntities } from "../state/gameEntityStore"; +import { cameraTourStore } from "../state/cameraTourStore"; +import type { GameEntity } from "../state/gameEntityTypes"; +import { torqueToThree } from "../scene/coordinates"; +import { gameEntityStore, useDebugHidden } from "../state/gameEntityStore"; +import { useSettings } from "./SettingsProvider"; +import styles from "./DebugEntityList.module.css"; + +function getEntityLabel(entity: GameEntity): string { + if (entity.renderType === "Player" && "playerName" in entity) { + return entity.playerName ?? entity.className; + } + if (entity.renderType === "WayPoint" && "label" in entity) { + return entity.label ?? entity.className; + } + return entity.className; +} + +function getEntityDetail(entity: GameEntity): string | undefined { + if ("shapeName" in entity && entity.shapeName) return entity.shapeName; + if (entity.renderType === "InteriorInstance" && "interiorData" in entity) { + return entity.interiorData.interiorFile; + } + if ("dataBlock" in entity && entity.dataBlock) return entity.dataBlock; + if (entity.renderType === "TerrainBlock" && "terrainData" in entity) + return entity.terrainData.terrFileName; + if (entity.renderType === "WaterBlock" && "waterData" in entity) + return entity.waterData.surfaceName; + if ("audioFileName" in entity && entity.audioFileName) + return entity.audioFileName; + return undefined; +} + +function getEntityPosition( + entity: GameEntity, +): [number, number, number] | undefined { + if ("position" in entity && entity.position) return entity.position; + // Scene entities store position inside their typed data. + if (entity.renderType === "InteriorInstance" && "interiorData" in entity) { + return torqueToThree(entity.interiorData.transform.position); + } + if (entity.renderType === "WaterBlock" && "waterData" in entity) { + const pos = torqueToThree(entity.waterData.transform.position); + const scale = entity.waterData.scale; + // Water transform position is the corner; offset to center. + return [pos[0] + scale.y / 2, pos[1] + scale.z / 2, pos[2] + scale.x / 2]; + } + if (entity.renderType === "TerrainBlock") { + return [0, 0, 0]; + } + return undefined; +} + +function EntityRow({ entity }: { entity: GameEntity }) { + const pos = getEntityPosition(entity); + const detail = getEntityDetail(entity); + const label = getEntityLabel(entity); + const hidden = useDebugHidden(entity.id); + const { audioEnabled } = useSettings(); + const isAudioEmitter = entity.renderType === "AudioEmitter"; + const disabled = isAudioEmitter && !audioEnabled; + const canLocate = !!pos && !hidden && !disabled; + const handleClick = useCallback(() => { + if (!pos) return; + cameraTourStore + .getState() + .flyTo({ entityId: entity.id, label, position: pos }, "debug"); + }, [entity.id, label, pos]); + + const handleToggle = useCallback(() => { + const store = gameEntityStore.getState(); + const entities = store.isStreaming + ? store.streamEntities + : store.missionEntities; + const e = entities.get(entity.id); + if (e) { + // New object reference so useAllGameEntities' identity check detects the change. + entities.set(entity.id, { ...e, debugHidden: !e.debugHidden }); + gameEntityStore.setState({ version: store.version + 1 }); + } + }, [entity.id]); + + return ( +
+ +
+
+ {label}{" "} + {entity.id} +
+ {detail && {detail}} +
+ {pos && ( + + )} +
+ ); +} + +export const DebugEntityList = memo(function DebugEntityList() { + const entities = useGameEntities(); + // useGameEntities re-renders on version bump, but the Map reference is + // stable (mutated in place). Use version as a useMemo dep to recompute. + const version = gameEntityStore.getState().version; + + const grouped = useMemo(() => { + const groups = new Map(); + for (const entity of entities.values()) { + if ( + entity.renderType === "Sky" || + entity.renderType === "Sun" || + entity.renderType === "MissionArea" || + entity.renderType === "None" + ) + continue; + const key = entity.className; + let list = groups.get(key); + if (!list) { + list = []; + groups.set(key, list); + } + list.push(entity); + } + // Sort groups by class name, entities within each group by ID. + const sorted = [...groups.entries()].sort(([a], [b]) => a.localeCompare(b)); + for (const [, list] of sorted) { + list.sort((a, b) => a.id.localeCompare(b.id)); + } + return sorted; + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [entities, version]); + + return ( +
+

Entity list

+ {grouped.map(([className, list]) => ( +
+ + {className}{" "} + ({list.length}) + +
    + {list.map((entity) => ( +
  • + +
  • + ))} +
+
+ ))} +
+ ); +}); diff --git a/src/components/EntityRenderer.tsx b/src/components/EntityRenderer.tsx index 148f4a5c..a3ce9aac 100644 --- a/src/components/EntityRenderer.tsx +++ b/src/components/EntityRenderer.tsx @@ -101,9 +101,9 @@ export const EntityRenderer = memo(function EntityRenderer({ case "WayPoint": return ; case "TerrainBlock": - return ; + return ; case "InteriorInstance": - return ; + return ; case "Sky": return ; case "Sun": @@ -164,6 +164,7 @@ function ShapeEntity({ entity }: { entity: ShapeEntityType }) { loadingColor={loadingColor} streamEntity={torqueObject ? undefined : entity} emap={entity.emap} + entityId={entity.id} > {flagLabel ? ( {flagLabel} diff --git a/src/components/EntityScene.tsx b/src/components/EntityScene.tsx index 575ff168..1b1eefe1 100644 --- a/src/components/EntityScene.tsx +++ b/src/components/EntityScene.tsx @@ -1,4 +1,4 @@ -import { memo, useCallback, useRef, useState, useMemo, Suspense } from "react"; +import { memo, useCallback, useRef, useState, useMemo } from "react"; import { Quaternion } from "three"; import type { Group } from "three"; import { useFrame } from "@react-three/fiber"; @@ -72,6 +72,8 @@ const EntityWrapper = memo(function EntityWrapper({ }: { entity: GameEntity; }) { + if (entity.debugHidden) return null; + // Scene infrastructure handles its own positioning and Suspense — render // directly. The named group allows the interpolation loop to skip them. if (isSceneEntity(entity)) { diff --git a/src/components/ForceFieldBare.tsx b/src/components/ForceFieldBare.tsx index c83a0a64..fbdfcbf3 100644 --- a/src/components/ForceFieldBare.tsx +++ b/src/components/ForceFieldBare.tsx @@ -1,4 +1,6 @@ import { useEffect, useMemo, useRef } from "react"; +import { useIsDebugTourTarget } from "../state/cameraTourStore"; +import { DebugBounds } from "./DebugBounds"; import { DebugSuspense } from "./DebugSuspense"; import { useTexture } from "@react-three/drei"; import { useFrame } from "@react-three/fiber"; @@ -133,6 +135,7 @@ function ForceFieldMesh({ export function ForceFieldBare({ entity }: { entity: ForceFieldBareEntity }) { const data = entity.forceFieldData!; const scale = data.dimensions; + const isTarget = useIsDebugTourTarget(entity.id); const textureUrls = useMemo( () => data.textures.map((t) => textureToUrl(t)), @@ -150,17 +153,20 @@ export function ForceFieldBare({ entity }: { entity: ForceFieldBareEntity }) { } return ( - - } - > - - + <> + + } + > + + + {isTarget && scale && } + ); } diff --git a/src/components/GenericShape.tsx b/src/components/GenericShape.tsx index cb6031db..ca0d63bf 100644 --- a/src/components/GenericShape.tsx +++ b/src/components/GenericShape.tsx @@ -1,24 +1,22 @@ import { memo, Suspense, useEffect, useMemo, useRef } from "react"; import { ErrorBoundary } from "react-error-boundary"; -import type { AnimationAction, Material } from "three"; +import type { AnimationAction } from "three"; import { useGLTF, useTexture } from "@react-three/drei"; import { useFrame } from "@react-three/fiber"; import { createLogger } from "../logger"; import { FALLBACK_TEXTURE_URL, textureToUrl, shapeToUrl } from "../loaders"; import { MeshStandardMaterial, - MeshBasicMaterial, - MeshLambertMaterial, - AdditiveBlending, AdditiveAnimationBlendMode, AnimationMixer, AnimationClip, AnimationUtils, LoopOnce, LoopRepeat, - Texture, BufferGeometry, Group, + Box3, + Vector3, } from "three"; import * as SkeletonUtils from "three/examples/jsm/utils/SkeletonUtils.js"; import { setupTexture } from "../textureUtils"; @@ -38,9 +36,11 @@ import { updateAtlasFrame, } from "./useIflTexture"; import type { IflAtlas } from "./useIflTexture"; -import { injectCustomFog } from "../fogShader"; -import { globalFogUniforms } from "../globalFogUniforms"; -import { injectShapeLighting, injectShapeEnvMap } from "../shapeMaterial"; +import { createMaterialFromFlags } from "../shapeMaterial"; +import type { MaterialResult } from "../shapeMaterial"; +import { useIsDebugTourTarget } from "../state/cameraTourStore"; +import { DebugBounds } from "./DebugBounds"; +import { useEntitySoundSlots } from "./useEntitySoundSlots"; import { processShapeScene, replaceWithShapeMaterial, @@ -51,6 +51,7 @@ import type { ThreadState as StreamThreadState } from "../stream/types"; /** Shape entity data readable in useFrame for streaming mode. */ interface StreamShapeEntity { + id: string; threads?: StreamThreadState[]; damageState?: number; emap?: boolean; @@ -62,6 +63,8 @@ interface StreamShapeEntity { steeringYaw?: number; frozen?: boolean; maxSteeringAngle?: number; + soundSlots?: Array<{ index: number; playing: boolean; profileId?: number }>; + dataBlockId?: number; } const log = createLogger("GenericShape"); @@ -94,147 +97,6 @@ interface TextureProps { animated?: boolean; } -/** - * DTS Material Flags (from tsShape.h): - * - Translucent: Material has alpha transparency (smooth blending) - * - Additive: Additive blending mode - * - Subtractive: Subtractive blending mode - * - SelfIlluminating: Fullbright, no lighting applied - * - NeverEnvMap: Don't apply environment mapping - */ -type SingleMaterial = - | MeshStandardMaterial - | MeshBasicMaterial - | MeshLambertMaterial; -type MaterialResult = - | SingleMaterial - | [MeshLambertMaterial, MeshLambertMaterial]; - -// Stable onBeforeCompile callbacks — using shared function references lets -// Three.js's program cache match by identity rather than toString(). -const lambertBeforeCompile: Material["onBeforeCompile"] = (shader) => { - injectCustomFog(shader, globalFogUniforms); - injectShapeLighting(shader); -}; - -const basicBeforeCompile: Material["onBeforeCompile"] = (shader) => { - injectCustomFog(shader, globalFogUniforms); -}; - -/** - * Helper to apply volumetric fog and lighting multipliers to a material. - * When envMapOptions is provided, also injects Tribes 2 env map reflectivity. - */ -export function applyShapeShaderModifications( - mat: MeshBasicMaterial | MeshLambertMaterial, - envMapOptions?: { reflectionAmount: number }, -): void { - if (!envMapOptions) { - mat.onBeforeCompile = - mat instanceof MeshLambertMaterial - ? lambertBeforeCompile - : basicBeforeCompile; - return; - } - const matType = mat instanceof MeshLambertMaterial ? "lambert" : "basic"; - mat.customProgramCacheKey = () => `shape-envmap-${matType}`; - const { reflectionAmount } = envMapOptions; - mat.onBeforeCompile = (shader) => { - injectCustomFog(shader, globalFogUniforms); - injectShapeLighting(shader); - injectShapeEnvMap(shader, reflectionAmount); - }; -} - -export function createMaterialFromFlags( - baseMaterial: MeshStandardMaterial, - texture: Texture | null, - flagNames: Set, - isOrganic: boolean, - vis: number = 1, - animated: boolean = false, - reflectionAmount: number = 0, -): MaterialResult { - const isTranslucent = flagNames.has("Translucent"); - const isAdditive = flagNames.has("Additive"); - const isSelfIlluminating = flagNames.has("SelfIlluminating"); - // DTS per-object visibility: when vis < 1, the engine sets fadeSet=true which - // forces the Translucent flag and renders with GL_SRC_ALPHA/GL_ONE_MINUS_SRC_ALPHA. - // Animated vis also needs transparent materials so opacity can be updated per frame. - const isFaded = vis < 1 || animated; - - // Env map reflectivity: gated only by NeverEnvMap flag and reflectionAmount - // (which is 0 when the datablock doesn't have emap=true). Independent of - // SelfIlluminating/Additive — those affect lighting, not env mapping. - const enableEnvMap = - !flagNames.has("NeverEnvMap") && reflectionAmount > 0 && !isFaded; - const envMapOptions = enableEnvMap ? { reflectionAmount } : undefined; - - // SelfIlluminating or Additive materials are unlit (use MeshBasicMaterial). - // Additive materials without SelfIlluminating (e.g. explosion shells) must - // also be unlit, otherwise they render black with no scene lighting. - if (isSelfIlluminating || isAdditive) { - const isBlended = isAdditive || isTranslucent || isFaded; - const mat = new MeshBasicMaterial({ - map: texture, - side: 2, // DoubleSide - transparent: isBlended, - depthWrite: !isBlended, - alphaTest: 0, - fog: true, - ...(isFaded && { opacity: vis }), - ...(isAdditive && { blending: AdditiveBlending }), - }); - applyShapeShaderModifications(mat, envMapOptions); - return mat; - } - - // For organic shapes or Translucent flag, use alpha cutout with Lambert shading - // Tribes 2 used fixed-function GL with specular disabled - purely diffuse lighting - // MeshLambertMaterial gives us the diffuse-only look that matches the original - // Return [BackSide, FrontSide] materials to render in two passes - avoids z-fighting - if (isOrganic || isTranslucent) { - const baseProps = { - map: texture, - // When vis < 1, switch from alpha cutout to alpha blend (matching the engine's - // fadeSet behavior which forces GL_BLEND with no alpha test) - transparent: isFaded, - alphaTest: isFaded ? 0 : 0.5, - ...(isFaded && { opacity: vis, depthWrite: false }), - reflectivity: 0, - }; - const backMat = new MeshLambertMaterial({ - ...baseProps, - side: 1, // BackSide - // Push back faces slightly behind in depth to avoid z-fighting with front - polygonOffset: true, - polygonOffsetFactor: 1, - polygonOffsetUnits: 1, - }); - const frontMat = new MeshLambertMaterial({ - ...baseProps, - side: 0, // FrontSide - }); - applyShapeShaderModifications(backMat, envMapOptions); - applyShapeShaderModifications(frontMat, envMapOptions); - return [backMat, frontMat]; - } - - // Default: use Lambert for diffuse-only lighting (matches Tribes 2) - const mat = new MeshLambertMaterial({ - map: texture, - side: 2, // DoubleSide - reflectivity: 0, - ...(isFaded && { - transparent: true, - opacity: vis, - depthWrite: false, - }), - }); - applyShapeShaderModifications(mat, envMapOptions); - return mat; -} - /** * Load a .glb file that was converted from a .dts, used for static shapes. */ @@ -505,6 +367,7 @@ export const ShapeRenderer = memo(function ShapeRenderer({ loadingColor = "yellow", streamEntity, emap, + entityId, children, }: { loadingColor?: string; @@ -512,6 +375,7 @@ export const ShapeRenderer = memo(function ShapeRenderer({ streamEntity?: StreamShapeEntity; /** Datablock enables environment map reflections. */ emap?: boolean; + entityId?: string; children?: React.ReactNode; }) { const { object, shapeName } = useShapeInfo(); @@ -532,7 +396,11 @@ export const ShapeRenderer = memo(function ShapeRenderer({ }} > }> - + {children} @@ -565,12 +433,14 @@ export const ShapeModel = memo(function ShapeModel({ gltf, streamEntity, emap, + entityId, }: { gltf: ReturnType; /** Stable entity reference whose fields are mutated in-place. */ streamEntity?: StreamShapeEntity; /** Datablock enables environment map reflections. */ emap?: boolean; + entityId?: string; }) { const { object, shapeName } = useShapeInfo(); const { debugMode } = useDebug(); @@ -1270,6 +1140,23 @@ export const ShapeModel = memo(function ShapeModel({ } }); + // ShapeBase sound slots — managed as PositionalAudio, not entities. + useEntitySoundSlots(streamEntityRef, clonedScene); + + const isTarget = useIsDebugTourTarget(entityId ?? ""); + const shapeBounds = useMemo(() => { + if (!isTarget) return null; + const box = new Box3().setFromObject(gltf.scene); + const center = new Vector3(); + const size = new Vector3(); + box.getCenter(center); + box.getSize(size); + return { + center: [center.x, center.y, center.z] as [number, number, number], + size: [size.x, size.y, size.z] as [number, number, number], + }; + }, [isTarget, gltf.scene]); + return ( @@ -1278,6 +1165,11 @@ export const ShapeModel = memo(function ShapeModel({ {object?._id}: {shapeName} ) : null} + {shapeBounds && ( + + + + )} ); }); @@ -1285,11 +1177,20 @@ export const ShapeModel = memo(function ShapeModel({ function ShapeModelLoader({ streamEntity, emap, + entityId, }: { streamEntity?: StreamShapeEntity; emap?: boolean; + entityId?: string; }) { const { shapeName } = useShapeInfo(); const gltf = useStaticShape(shapeName); - return ; + return ( + + ); } diff --git a/src/components/InputConsumer.tsx b/src/components/InputConsumer.tsx index 199f5114..1aad9994 100644 --- a/src/components/InputConsumer.tsx +++ b/src/components/InputConsumer.tsx @@ -8,6 +8,7 @@ import { } from "../state/liveConnectionStore"; import { useEngineStoreApi } from "../state/engineStore"; import { streamPlaybackStore } from "../state/streamPlaybackStore"; +import { gameEntityStore } from "../state/gameEntityStore"; import { useInputContext } from "./InputContext"; import { useTick, useGetTickFraction } from "./TickProvider"; import { yawPitchToQuaternion, MAX_PITCH } from "../stream/streamHelpers"; @@ -748,7 +749,7 @@ function applyOrbitCamera( // Height offset: approximate getWorldBox().getCenter() for players. const isPlayer = orbitTargetId != null && - streamPlaybackStore.getState().entities.get(orbitTargetId)?.renderType === + gameEntityStore.getState().streamEntities.get(orbitTargetId)?.renderType === "Player"; const centerZ = tz + (isPlayer ? 1.0 : 0); diff --git a/src/components/InspectorControls.tsx b/src/components/InspectorControls.tsx index a86bedfb..b732b627 100644 --- a/src/components/InspectorControls.tsx +++ b/src/components/InspectorControls.tsx @@ -21,6 +21,7 @@ import { hasMission } from "../manifest"; import { ChooseMapButton } from "./ChooseMapButton"; import { MapInfoButton } from "./MapInfoButton"; import { ShowScoresButton } from "./ShowScoresButton"; +import { DebugEntityList } from "./DebugEntityList"; import buttonStyles from "./Button.module.css"; import styles from "./InspectorControls.module.css"; @@ -419,6 +420,9 @@ export const InspectorControls = memo(function InspectorControls({ setFpsLimit(val === "" ? null : parseInt(val)); }} > + {import.meta.env.DEV ? ( + + ) : null} @@ -472,6 +476,7 @@ export const InspectorControls = memo(function InspectorControls({ app unrelated to rendering.

+ diff --git a/src/components/InteriorInstance.tsx b/src/components/InteriorInstance.tsx index 71526ad0..d718e2d0 100644 --- a/src/components/InteriorInstance.tsx +++ b/src/components/InteriorInstance.tsx @@ -10,10 +10,14 @@ import { MeshLambertMaterial, Texture, SRGBColorSpace, + Box3, + Vector3, } from "three"; import { useGLTF, useTexture } from "@react-three/drei"; import { textureToUrl, interiorToUrl } from "../loaders"; -import type { SceneInteriorInstance } from "../scene/types"; +import type { InteriorInstanceEntity } from "../state/gameEntityTypes"; +import { useIsDebugTourTarget } from "../state/cameraTourStore"; +import { DebugBounds } from "./DebugBounds"; import { torqueToThree, torqueScaleToThree, @@ -192,14 +196,30 @@ function InteriorMesh({ node }: { node: Mesh }) { export const InteriorModel = memo(function InteriorModel({ interiorFile, ghostIndex, + isTarget, }: { interiorFile: string; ghostIndex?: number; + isTarget?: boolean; }) { - const { nodes } = useInterior(interiorFile); + const gltf = useInterior(interiorFile); + const { nodes } = gltf; const debugContext = useDebug(); const debugMode = debugContext?.debugMode ?? false; + const debugBounds = useMemo(() => { + if (!isTarget) return null; + const box = new Box3().setFromObject(gltf.scene); + const center = new Vector3(); + const size = new Vector3(); + box.getCenter(center); + box.getSize(size); + return { + center: [center.x, center.y, center.z] as [number, number, number], + size: [size.x, size.y, size.z] as [number, number, number], + }; + }, [isTarget, gltf.scene]); + return ( {Object.entries(nodes) @@ -212,6 +232,11 @@ export const InteriorModel = memo(function InteriorModel({ {ghostIndex}: {interiorFile} ) : null} + {debugBounds && ( + + + + )} ); }); @@ -239,10 +264,12 @@ function DebugInteriorPlaceholder({ label }: { label?: string }) { } export const InteriorInstance = memo(function InteriorInstance({ - scene, + entity, }: { - scene: SceneInteriorInstance; + entity: InteriorInstanceEntity; }) { + const scene = entity.interiorData; + const isTarget = useIsDebugTourTarget(entity.id); const position = useMemo( () => torqueToThree(scene.transform.position), [scene.transform.position], @@ -276,6 +303,7 @@ export const InteriorInstance = memo(function InteriorInstance({ diff --git a/src/components/MapInspector.tsx b/src/components/MapInspector.tsx index 775f44de..33ccad6d 100644 --- a/src/components/MapInspector.tsx +++ b/src/components/MapInspector.tsx @@ -44,6 +44,7 @@ import { useTouchDevice } from "./useTouchDevice"; import { GameDialogSpinner } from "./GameDialogSpinner"; import { ToggleSidebarButton } from "./ToggleSidebarButton"; import { ExitTourButton } from "./ExitTourButton"; +import { startShapePreload } from "../shapePreloader"; import styles from "./MapInspector.module.css"; function ViewTransition({ children }: { children: ReactNode }) { @@ -124,6 +125,11 @@ export function MapInspector() { const recording = useRecording(); const dataSource = useDataSource(); const hasStreamData = dataSource === "demo" || dataSource === "live"; + // Start background preloading of shape GLBs so they're cached before needed. + useEffect(() => { + if (hasStreamData) startShapePreload(); + }, [hasStreamData]); + // Sync the mission query param when streaming data provides a mission name. const streamMissionName = useMissionName(); const streamMissionType = useMissionType(); diff --git a/src/components/PlayerModel.tsx b/src/components/PlayerModel.tsx index 63267c58..76b51d31 100644 --- a/src/components/PlayerModel.tsx +++ b/src/components/PlayerModel.tsx @@ -12,6 +12,7 @@ import { Object3D, PositionalAudio, Vector3, + Box3, } from "three"; import type { AnimationAction } from "three"; import { AnimationClip } from "three"; @@ -33,6 +34,9 @@ import { useStaticShape, ShapePlaceholder } from "./GenericShape"; import { useAnisotropy } from "./useAnisotropy"; import { ShapeErrorBoundary } from "./ShapeErrorBoundary"; import { DebugSuspense } from "./DebugSuspense"; +import { useIsDebugTourTarget } from "../state/cameraTourStore"; +import { DebugBounds } from "./DebugBounds"; +import { useEntitySoundSlots } from "./useEntitySoundSlots"; import { useAudio } from "./AudioContext"; import { resolveAudioProfile, @@ -496,21 +500,20 @@ export function PlayerModel({ entity }: { entity: PlayerEntity }) { const flagShapeRef = useRef(entity.flagShape); const [currentFlagShape, setCurrentFlagShape] = useState(entity.flagShape); - // Jet thrust looping sound. Managed imperatively in useFrame based on - // entity.jetting — plays while jetting, stops when jetting ends. - // Sound parameters come from the player's datablock chain: - // PlayerData.sounds[30] (jetSound) → AudioProfile → AudioDescription + // ShapeBase sound slots (weapon switch sounds, etc.) — managed by shared hook. + const entityRef = useRef(entity); + entityRef.current = entity; + useEntitySoundSlots(entityRef, clonedScene); + + // Jet thrust sound. Played client-side by Player::updateJetEffects via + // direct alxPlay3d — NOT networked through SoundMask. We derive it from + // entity.jetting (which comes from move trigger[3] or ghost MoveMask). const { audioLoader, audioListener } = useAudio(); - const audioSettings = useSettings(); - const audioEnabled = audioSettings?.audioEnabled ?? false; + const { audioEnabled } = useSettings(); const jetSoundRef = useRef(null); const jetBufferRef = useRef(null); const jetProfileRef = useRef(null); - /** PlayerData.Sounds enum index for jetSound. Tribes 2 reordered the - * open-source Torque Sounds enum to put jet sounds first (0-1). */ - const JET_SOUND_INDEX = 0; - // Resolve and preload the jet sound from the player's datablock. useEffect(() => { if (!audioLoader) return; @@ -519,8 +522,10 @@ export function PlayerModel({ entity }: { entity: PlayerEntity }) { if (!sp || !entity.dataBlockId) return; const getDb = sp.getDataBlockData.bind(sp); const playerDb = getDb(entity.dataBlockId); + // PlayerData.Sounds enum: Tribes 2 reordered the open-source Torque + // enum to put jet sounds first (index 0 = jetSound, 1 = wetJetSound). const sounds = playerDb?.sounds as (number | null)[] | undefined; - const jetSoundId = sounds?.[JET_SOUND_INDEX]; + const jetSoundId = sounds?.[0]; if (jetSoundId == null) return; const resolved = resolveAudioProfile(jetSoundId, getDb); if (!resolved) return; @@ -773,17 +778,13 @@ export function PlayerModel({ entity }: { entity: PlayerEntity }) { headside.weight = blendWeight; } - // Jet thrust sound: start/stop a looping positional audio based on - // entity.jetting. The engine plays ArmorJetSound (CloseLooping3d) while - // mJetting is true and stops it when false. + // Jet thrust sound: start/stop based on entity.jetting. + // Client-side only — Player::updateJetEffects uses alxPlay3d directly. const isJetting = !!entity.jetting && !isDead; const jetProfile = jetProfileRef.current; - // Check both our ref AND isPlaying — the sound can be externally stopped - // by stopAllTrackedSounds() (on seek/recording change) without our ref - // knowing about it. const jetSound = jetSoundRef.current; - const soundActuallyPlaying = jetSound?.isPlaying ?? false; - if (isJetting && !soundActuallyPlaying) { + const jetPlaying = jetSound?.isPlaying ?? false; + if (isJetting && !jetPlaying) { if (audioEnabled && audioListener && jetBufferRef.current && jetProfile) { let sound = jetSound; if (!sound) { @@ -806,7 +807,7 @@ export function PlayerModel({ entity }: { entity: PlayerEntity }) { /* AudioContext suspended */ } } - } else if (!isJetting && soundActuallyPlaying) { + } else if (!isJetting && jetPlaying) { if (jetSound) { untrackSound(jetSound); try { @@ -832,6 +833,7 @@ export function PlayerModel({ entity }: { entity: PlayerEntity }) { )} + {currentWeaponShape && mount0 && ( { + if (!isTarget) return null; + const box = new Box3().setFromObject(scene); + const center = new Vector3(); + const size = new Vector3(); + box.getCenter(center); + box.getSize(size); + return { + center: [center.x, center.y, center.z] as [number, number, number], + size: [size.x, size.y, size.z] as [number, number, number], + }; + }, [isTarget, scene]); + if (!bounds) return null; + return ( + + + + ); +} + /** * Build a DTS sequence-index -> name lookup from GLB metadata. * Weapon GLBs include `dts_sequence_names` in scene extras, providing the diff --git a/src/components/SettingsProvider.tsx b/src/components/SettingsProvider.tsx index b81b7c01..58c4e7a7 100644 --- a/src/components/SettingsProvider.tsx +++ b/src/components/SettingsProvider.tsx @@ -12,7 +12,7 @@ import { } from "react"; import { useFogQueryState } from "./useQueryParams"; import { useTouchDevice } from "./useTouchDevice"; -import { setAdjustAudioSpeedFlag } from "./AudioEmitter"; +import { setAdjustAudioSpeedFlag } from "./audioPlaybackRate"; export const MIN_SPEED_MULTIPLIER = 0.01; export const MAX_SPEED_MULTIPLIER = 1; diff --git a/src/components/Sky.tsx b/src/components/Sky.tsx index 713bddc5..ded86b42 100644 --- a/src/components/Sky.tsx +++ b/src/components/Sky.tsx @@ -645,8 +645,11 @@ function DynamicFog({ if (enabled) { // Update Three.js basic fog const [near, far] = calculateFogParameters(fogState, cameraHeight); - fog.near = near; - fog.far = far; + // When fogDistanceScale > 1 (camera tour), stretch haze range so fog + // starts nearby but doesn't reach full until past the orbit distance. + const scale = globalFogUniforms.fogDistanceScale.value; + fog.near = scale > 1 ? Math.min(near, 100) : near; + fog.far = far * scale; fog.color.copy(fogState.fogColor); } // When disabled, fog.near/far are already set to 1e10 by the useEffect diff --git a/src/components/StreamingController.tsx b/src/components/StreamingController.tsx index 87bfeaec..17dd2e91 100644 --- a/src/components/StreamingController.tsx +++ b/src/components/StreamingController.tsx @@ -59,6 +59,7 @@ function mutateRenderFields( e.headPitch = stream.headPitch; e.headYaw = stream.headYaw; e.targetRenderFlags = stream.targetRenderFlags; + e.soundSlots = stream.soundSlots; break; } case "Shape": { @@ -67,6 +68,7 @@ function mutateRenderFields( e.damageState = stream.damageState; e.targetRenderFlags = stream.targetRenderFlags; e.iffColor = stream.iffColor; + e.soundSlots = stream.soundSlots; break; } } @@ -83,16 +85,6 @@ function getEntityMap(snapshot: StreamSnapshot): EntityById { return map; } -/** Push the current entity map to the game entity store. - * Only triggers a version bump (and subscriber notifications) when the - * entity set changed (adds/removes). Render-field updates are mutated - * in-place on existing entity objects and read imperatively in useFrame. */ -function pushEntitiesToStore(entityMap: Map): void { - gameEntityStore - .getState() - .setAllStreamEntities(Array.from(entityMap.values())); -} - const _tmpVec = new Vector3(); const _interpQuatA = new Quaternion(); const _interpQuatB = new Quaternion(); @@ -115,7 +107,6 @@ export function StreamingController({ recording.streamingPlayback ?? null, ); const publishedSnapshotRef = useRef(null); - const entityMapRef = useRef>(new Map()); const lastSyncedSnapshotRef = useRef(null); const [firstPersonShape, setFirstPersonShape] = useState(null); @@ -123,19 +114,18 @@ export function StreamingController({ if (snapshot === lastSyncedSnapshotRef.current) return; lastSyncedSnapshotRef.current = snapshot; - const prevMap = entityMapRef.current; - const nextMap = new Map(); + // Operate directly on the store's Map — one canonical source of truth. + const map = gameEntityStore.getState().streamEntities; + let structuralChange = false; + + // Track which IDs are in the current snapshot for the removal pass. + const currentIds = new Set(); for (const entity of snapshot.entities) { - let renderEntity = prevMap.get(entity.id); + currentIds.add(entity.id); + let renderEntity = map.get(entity.id); // Identity change -> new component (unmount/remount). - // Compare fields that, when changed, require a full entity rebuild. - // Only compare shapeName for entity types that actually use it. - // Scene entities (Terrain, Interior, Sky, etc.), ForceFieldBare, - // AudioEmitter, WayPoint, and Camera don't have shapeName on their - // GameEntity, so comparing against entity.dataBlock would always - // mismatch and trigger a needless rebuild every frame. const hasShapeName = renderEntity && (renderEntity.renderType === "Shape" || @@ -151,28 +141,21 @@ export function StreamingController({ (hasShapeName && entity.dataBlock != null && getField(renderEntity, "shapeName") !== entity.dataBlock) || - // weaponShape changes only force rebuild for non-Player shapes - // (turrets, vehicles). Players handle weapon changes internally - // via PlayerModel's Mount0 bone, and rebuilding on weapon change - // would lose animation state (death animations, etc.). (renderEntity.renderType !== "Player" && hasShapeName && getField(renderEntity, "weaponShape") !== entity.weaponShape); if (needsNewIdentity) { + const prevHidden = renderEntity?.debugHidden; renderEntity = streamEntityToGameEntity(entity, snapshot.timeSec); + if (prevHidden) renderEntity.debugHidden = true; + map.set(entity.id, renderEntity); + structuralChange = true; } else { - // Mutate render fields in-place on the existing entity object. - // Components read these imperatively in useFrame — no React - // re-render needed. This avoids store churn that starves Suspense. mutateRenderFields(renderEntity!, entity); } - nextMap.set(entity.id, renderEntity!); - - // Keyframe update (mutable -- used for fallback position for - // retained explosion entities and per-frame reads in useFrame). - // Scene entities and None don't have keyframes. + // Keyframe update (mutable — position, rotation, velocity, etc.). if (isSceneEntity(renderEntity!) || renderEntity!.renderType === "None") continue; const keyframes = renderEntity!.keyframes!; @@ -195,31 +178,24 @@ export function StreamingController({ kf.damageState = entity.damageState; } - // Retain explosion entities with DTS shapes after they leave the snapshot. - // These entities are ephemeral (~1 tick) but the visual effect lasts seconds. - for (const [id, entity] of prevMap) { - if (nextMap.has(id)) continue; + // Removal pass: delete entities no longer in the snapshot. + // Retain explosion entities with DTS shapes for up to 5 seconds. + for (const [id, entity] of map) { + if (currentIds.has(id)) continue; if ( entity.renderType === "Explosion" && entity.shapeName && entity.spawnTime != null ) { const age = snapshot.timeSec - entity.spawnTime; - if (age < 5) { - nextMap.set(id, entity); - continue; - } + if (age < 5) continue; } + map.delete(id); + structuralChange = true; } - // Only push to store when the entity set changed (adds/removes). - const shouldRebuild = - nextMap.size !== prevMap.size || - [...nextMap.keys()].some((id) => !prevMap.has(id)); - - entityMapRef.current = nextMap; - if (shouldRebuild) { - pushEntitiesToStore(nextMap); + if (structuralChange) { + gameEntityStore.getState().bumpStreamVersion(); } let nextFirstPersonShape: string | null = null; @@ -227,7 +203,7 @@ export function StreamingController({ snapshot.camera?.mode === "first-person" && snapshot.camera.controlEntityId ) { - const entity = nextMap.get(snapshot.camera.controlEntityId); + const entity = map.get(snapshot.camera.controlEntityId); const sn = entity ? getField(entity, "shapeName") : undefined; if (sn) { nextFirstPersonShape = sn; @@ -245,7 +221,6 @@ export function StreamingController({ stopAllTrackedSounds(); streamRef.current = recording.streamingPlayback ?? null; - entityMapRef.current = new Map(); lastSyncedSnapshotRef.current = null; publishedSnapshotRef.current = null; resetStreamPlayback(); @@ -402,10 +377,6 @@ export function StreamingController({ syncRenderableEntities(renderCurrent); - // Publish the entity map for imperative reads by components in useFrame. - // This is a plain object assignment — no React re-renders triggered. - streamPlaybackStore.getState().entities = entityMapRef.current; - // Publish snapshot when it changed. if (renderCurrent !== publishedSnapshotRef.current) { publishedSnapshotRef.current = renderCurrent; @@ -489,7 +460,7 @@ export function StreamingController({ // Imperative position interpolation via the shared entity root. const currentEntities = getEntityMap(renderCurrent); const previousEntities = getEntityMap(renderPrev); - const renderEntities = entityMapRef.current; + const renderEntities = gameEntityStore.getState().streamEntities; const root = streamPlaybackStore.getState().root; if (root) { for (const child of root.children) { diff --git a/src/components/TerrainBlock.tsx b/src/components/TerrainBlock.tsx index 47cf8317..075b8919 100644 --- a/src/components/TerrainBlock.tsx +++ b/src/components/TerrainBlock.tsx @@ -18,7 +18,9 @@ import { UnsignedByteType, Vector3, } from "three"; -import type { SceneTerrainBlock } from "../scene/types"; +import type { TerrainBlockEntity } from "../state/gameEntityTypes"; +import { useIsDebugTourTarget } from "../state/cameraTourStore"; +import { DebugBounds } from "./DebugBounds"; import { createLogger } from "../logger"; import { torqueToThree } from "../scene/coordinates"; @@ -482,10 +484,12 @@ function createVisibilityMask(emptySquares: number[]): DataTexture { return texture; } export const TerrainBlock = memo(function TerrainBlock({ - scene, + entity, }: { - scene: SceneTerrainBlock; + entity: TerrainBlockEntity; }) { + const scene = entity.terrainData; + const isTarget = useIsDebugTourTarget(entity.id); const terrainFile = scene.terrFileName; const squareSize = scene.squareSize || DEFAULT_SQUARE_SIZE; const detailTexture = scene.detailTextureName || undefined; @@ -678,6 +682,45 @@ export const TerrainBlock = memo(function TerrainBlock({ lightmap={terrainLightmap ?? undefined} /> + {isTarget && terrain && ( + + )} ); }); + +function TerrainDebugBounds({ + heightMap, + blockSize, + basePosition, +}: { + heightMap: Uint16Array; + blockSize: number; + basePosition: { x: number; z: number }; +}) { + const bounds = useMemo(() => { + let maxH = 0; + for (let i = 0; i < heightMap.length; i++) { + const h = (heightMap[i] / 65535) * HEIGHT_SCALE; + if (h > maxH) maxH = h; + } + return { + center: [ + basePosition.x + blockSize / 2, + maxH / 2, + basePosition.z + blockSize / 2, + ] as [number, number, number], + size: [blockSize, maxH, blockSize] as [number, number, number], + }; + }, [heightMap, blockSize, basePosition]); + + return ( + + + + ); +} diff --git a/src/components/WaterBlock.tsx b/src/components/WaterBlock.tsx index 2fdcae8e..103655b3 100644 --- a/src/components/WaterBlock.tsx +++ b/src/components/WaterBlock.tsx @@ -1,4 +1,6 @@ import { memo, Suspense, useEffect, useMemo, useRef, useState } from "react"; +import { useIsDebugTourTarget } from "../state/cameraTourStore"; +import { DebugBounds } from "./DebugBounds"; import { Box, useTexture } from "@react-three/drei"; import { useFrame, useThree } from "@react-three/fiber"; import { @@ -107,6 +109,7 @@ export const WaterBlock = memo(function WaterBlock({ entity: WaterBlockEntity; }) { const scene = entity.waterData; + const isTarget = useIsDebugTourTarget(entity.id); const { debugMode } = useDebug(); const q = useMemo( () => matrixFToQuaternion(scene.transform), @@ -255,6 +258,17 @@ export const WaterBlock = memo(function WaterBlock({ )} + {isTarget && ( + + + + )} { // Convert from terrain space to world space by subtracting TERRAIN_OFFSET diff --git a/src/components/WayPoint.tsx b/src/components/WayPoint.tsx index 479465dc..cf9bdab0 100644 --- a/src/components/WayPoint.tsx +++ b/src/components/WayPoint.tsx @@ -1,8 +1,16 @@ import type { WayPointEntity } from "../state/gameEntityTypes"; +import { useIsDebugTourTarget } from "../state/cameraTourStore"; +import { DebugMarker } from "./DebugBounds"; import { FloatingLabel } from "./FloatingLabel"; export function WayPoint({ entity }: { entity: WayPointEntity }) { - return entity.label ? ( - {entity.label} - ) : null; + const isTarget = useIsDebugTourTarget(entity.id); + return ( + <> + {entity.label ? ( + {entity.label} + ) : null} + {isTarget && } + + ); } diff --git a/src/components/audioPlaybackRate.ts b/src/components/audioPlaybackRate.ts new file mode 100644 index 00000000..4231aaf3 --- /dev/null +++ b/src/components/audioPlaybackRate.ts @@ -0,0 +1,30 @@ +import { engineStore } from "../state/engineStore"; + +/** Whether to adjust audio pitch to match playback speed. When false, sounds + * play at their original pitch regardless of fast-forward/slow-motion. */ +let _adjustAudioSpeed = true; + +type FlagChangeListener = (value: boolean) => void; +const _listeners: FlagChangeListener[] = []; + +export function setAdjustAudioSpeedFlag(value: boolean): void { + _adjustAudioSpeed = value; + for (const listener of _listeners) { + listener(value); + } +} + +export function getAdjustAudioSpeed(): boolean { + return _adjustAudioSpeed; +} + +/** Register a callback for when the adjustAudioSpeed flag changes. */ +export function onAdjustAudioSpeedChange(listener: FlagChangeListener): void { + _listeners.push(listener); +} + +/** Get the effective playback rate for a sound, respecting the adjustAudioSpeed setting. */ +export function getEffectiveSoundRate(basePitch = 1): number { + const rate = engineStore.getState().playback.rate; + return basePitch * (_adjustAudioSpeed ? rate : 1); +} diff --git a/src/components/useEntitySoundSlots.ts b/src/components/useEntitySoundSlots.ts new file mode 100644 index 00000000..6f73c44d --- /dev/null +++ b/src/components/useEntitySoundSlots.ts @@ -0,0 +1,180 @@ +/** + * Hook that manages ShapeBase sound slots as PositionalAudio objects, + * matching Tribes 2's architecture where sounds are OpenAL sources + * tracked internally by ShapeBase, not separate entities. + */ + +import { useEffect, useRef } from "react"; +import { PositionalAudio } from "three"; +import type { Object3D } from "three"; +import { useFrame } from "@react-three/fiber"; +import { useAudio } from "./AudioContext"; +import { + resolveAudioProfile, + getCachedAudioBuffer, + trackSound, + untrackSound, + type ResolvedAudioProfile, +} from "./AudioEmitter"; +import { getEffectiveSoundRate } from "./audioPlaybackRate"; +import { audioToUrl } from "../loaders"; +import { engineStore } from "../state/engineStore"; +import { useSettings } from "./SettingsProvider"; + +const MAX_SOUND_SLOTS = 4; + +interface SlotState { + profileId: number; + sound: PositionalAudio; + profile: ResolvedAudioProfile; +} + +/** + * Manage up to 4 sound slots for a ShapeBase entity. + * Reads soundSlots from the stream entity ref imperatively in useFrame. + */ +export function useEntitySoundSlots( + streamEntityRef: React.RefObject< + | { + soundSlots?: Array<{ + index: number; + playing: boolean; + profileId?: number; + }>; + } + | null + | undefined + >, + parentObject: Object3D | null, +): void { + const { audioLoader, audioListener } = useAudio(); + const { audioEnabled } = useSettings(); + const slotsRef = useRef<(SlotState | null)[]>( + Array.from({ length: MAX_SOUND_SLOTS }, () => null), + ); + // Cache resolved profiles + buffers by profileId. + const profileCacheRef = useRef( + new Map(), + ); + + // Cleanup on unmount. + useEffect(() => { + return () => { + for (const slot of slotsRef.current) { + if (!slot) continue; + untrackSound(slot.sound); + try { + slot.sound.stop(); + } catch { + /* already stopped */ + } + try { + slot.sound.disconnect(); + } catch { + /* already disconnected */ + } + slot.sound.parent?.remove(slot.sound); + } + slotsRef.current = Array.from({ length: MAX_SOUND_SLOTS }, () => null); + }; + }, []); + + useFrame(() => { + if (!audioEnabled || !audioListener || !audioLoader || !parentObject) + return; + + const entity = streamEntityRef.current; + const soundSlots = entity?.soundSlots; + const slots = slotsRef.current; + const playback = engineStore.getState().playback; + const isPlaying = playback.status === "playing"; + + for (let i = 0; i < MAX_SOUND_SLOTS; i++) { + // Find this slot's data from the ghost update. + const slotData = soundSlots?.find((s) => s.index === i); + const shouldPlay = !!slotData?.playing && slotData.profileId != null; + const profileId = slotData?.profileId ?? -1; + const current = slots[i]; + + if (shouldPlay && isPlaying) { + // Check if we need to start or change the sound. + if ( + current && + current.profileId === profileId && + current.sound.isPlaying + ) { + // Already playing the right sound — nothing to do. + continue; + } + + // Stop old sound if profile changed. + if (current && current.profileId !== profileId) { + untrackSound(current.sound); + try { + current.sound.stop(); + } catch { + /* already stopped */ + } + current.sound.parent?.remove(current.sound); + slots[i] = null; + } + + // Resolve profile and buffer (may be cached). + const cached = profileCacheRef.current.get(profileId); + if (cached) { + // Have profile + buffer — start playing. + if (!slots[i]) { + const sound = new PositionalAudio(audioListener); + sound.setDistanceModel("inverse"); + sound.setRefDistance(cached.profile.refDist); + sound.setMaxDistance(cached.profile.maxDist); + sound.setRolloffFactor(1); + sound.setVolume(cached.profile.volume); + sound.setBuffer(cached.buffer); + sound.setLoop(cached.profile.isLooping); + sound.setPlaybackRate(getEffectiveSoundRate()); + parentObject.add(sound); + try { + sound.play(); + trackSound(sound, 1); + } catch { + /* AudioContext suspended */ + } + slots[i] = { profileId, sound, profile: cached.profile }; + } + } else { + // Need to resolve — do it once, then it'll be picked up next frame. + const sp = engineStore.getState().playback; + const stream = sp.recording?.streamingPlayback; + if (!stream) continue; + const getDb = stream.getDataBlockData.bind(stream); + const resolved = resolveAudioProfile(profileId, getDb); + if (!resolved) continue; + try { + const url = audioToUrl(resolved.filename); + getCachedAudioBuffer(url, audioLoader, (buffer) => { + profileCacheRef.current.set(profileId, { + profile: resolved, + buffer, + }); + }); + } catch { + // File not in manifest. + } + } + } else { + // Should not be playing — stop if active. + if (current) { + untrackSound(current.sound); + try { + current.sound.stop(); + } catch { + /* already stopped */ + } + current.sound.parent?.remove(current.sound); + slots[i] = null; + } + } + } + }); +} diff --git a/src/fogShader.ts b/src/fogShader.ts index 60cff03f..3a160289 100644 --- a/src/fogShader.ts +++ b/src/fogShader.ts @@ -65,7 +65,9 @@ export const fogFragmentShader = ` } else { #endif - float dist = vFogDepth; + // Scale distance for fog calculations — makes everything appear closer/further + // for fog purposes without changing actual geometry positions. + float dist = vFogDepth / fogDistanceScale; // Discard fragments at or beyond visible distance - matches Torque's behavior // where objects beyond visibleDistance are not rendered at all. @@ -226,6 +228,15 @@ export function installCustomFogShader(): void { #ifdef USE_FOG_WORLD_POSITION varying vec3 vFogWorldPosition; #endif + + // Fog distance scale — multiplies all distance-based fog calculations. + // 1.0 = normal, >1 = less fog. Set by camera tour for distant orbits. + #ifdef HAS_FOG_DISTANCE_SCALE + uniform float fogDistanceScale; + #else + #define fogDistanceScale 1.0 + #endif + #endif `; @@ -265,6 +276,7 @@ export interface FogShaderUniformObjects { fogVolumeData: { value: Float32Array }; cameraHeight: { value: number }; fogEnabled: { value: boolean }; + fogDistanceScale: { value: number }; } /** @@ -282,6 +294,7 @@ export function addFogUniformsToShader( shader.uniforms.fogVolumeData = fogUniforms.fogVolumeData; shader.uniforms.cameraHeight = fogUniforms.cameraHeight; shader.uniforms.fogEnabled = fogUniforms.fogEnabled; + shader.uniforms.fogDistanceScale = fogUniforms.fogDistanceScale; } /** @@ -329,7 +342,8 @@ export function injectCustomFog( // Add volumetric fog uniforms to fragment shader shader.fragmentShader = shader.fragmentShader.replace( "#include ", - `#include + `#define HAS_FOG_DISTANCE_SCALE +#include #ifdef USE_FOG #define USE_VOLUMETRIC_FOG uniform float fogVolumeData[12]; diff --git a/src/globalFogUniforms.ts b/src/globalFogUniforms.ts index 1552d0f2..d2e4e3c8 100644 --- a/src/globalFogUniforms.ts +++ b/src/globalFogUniforms.ts @@ -23,6 +23,9 @@ export const globalFogUniforms = { }, cameraHeight: { value: 0 }, fogEnabled: { value: true }, + /** Scales all fog distances (haze + volumes). 1.0 = normal, >1 = less fog. + * Used by camera tour to reduce fog when orbiting far from targets. */ + fogDistanceScale: { value: 1 }, }; /** @@ -47,6 +50,7 @@ export function resetGlobalFogUniforms(): void { globalFogUniforms.cameraHeight.value = 0; globalFogUniforms.fogVolumeData.value.fill(0); globalFogUniforms.fogEnabled.value = true; + globalFogUniforms.fogDistanceScale.value = 1; } /** diff --git a/src/loaders.ts b/src/loaders.ts index 4becf08b..04d999f3 100644 --- a/src/loaders.ts +++ b/src/loaders.ts @@ -71,7 +71,10 @@ export function textureToUrl(name: string) { } export function audioToUrl(fileName: string) { - const url = getUrlForPath(`audio/${fileName}`); + // AudioProfile filenames from datablocks may omit the .wav extension + // (e.g. "fx/armor/thrust"). Torque tries extensions automatically. + const withExt = /\.\w+$/.test(fileName) ? fileName : `${fileName}.wav`; + const url = getUrlForPath(`audio/${withExt}`); return url.replace(/\.wav$/i, ".m4a"); } diff --git a/src/shapeMaterial.ts b/src/shapeMaterial.ts index abcdbca4..4e44cdb8 100644 --- a/src/shapeMaterial.ts +++ b/src/shapeMaterial.ts @@ -2,8 +2,17 @@ * Shape material utilities and shader modifications. */ -import { Texture } from "three"; +import { + MeshBasicMaterial, + MeshLambertMaterial, + MeshStandardMaterial, + AdditiveBlending, + Texture, +} from "three"; +import type { Material } from "three"; import { SHAPE_LIGHTING } from "./lightingConfig"; +import { injectCustomFog } from "./fogShader"; +import { globalFogUniforms } from "./globalFogUniforms"; /** * Inject lighting multipliers into a MeshLambertMaterial or MeshBasicMaterial shader. @@ -164,3 +173,138 @@ if (shapeEnvMapActive && shapeReflectionAmount > 0.0) { #include `, ); } + +// ── Shape material creation ── + +export type SingleMaterial = + | MeshStandardMaterial + | MeshBasicMaterial + | MeshLambertMaterial; +export type MaterialResult = + | SingleMaterial + | [MeshLambertMaterial, MeshLambertMaterial]; + +// Stable onBeforeCompile callbacks — using shared function references lets +// Three.js's program cache match by identity rather than toString(). +const lambertBeforeCompile: Material["onBeforeCompile"] = (shader) => { + injectCustomFog(shader, globalFogUniforms); + injectShapeLighting(shader); +}; + +const basicBeforeCompile: Material["onBeforeCompile"] = (shader) => { + injectCustomFog(shader, globalFogUniforms); +}; + +/** + * Helper to apply volumetric fog and lighting multipliers to a material. + * When envMapOptions is provided, also injects Tribes 2 env map reflectivity. + */ +export function applyShapeShaderModifications( + mat: MeshBasicMaterial | MeshLambertMaterial, + envMapOptions?: { reflectionAmount: number }, +): void { + if (!envMapOptions) { + mat.onBeforeCompile = + mat instanceof MeshLambertMaterial + ? lambertBeforeCompile + : basicBeforeCompile; + return; + } + const matType = mat instanceof MeshLambertMaterial ? "lambert" : "basic"; + mat.customProgramCacheKey = () => `shape-envmap-${matType}`; + const { reflectionAmount } = envMapOptions; + mat.onBeforeCompile = (shader) => { + injectCustomFog(shader, globalFogUniforms); + injectShapeLighting(shader); + injectShapeEnvMap(shader, reflectionAmount); + }; +} + +export function createMaterialFromFlags( + baseMaterial: MeshStandardMaterial, + texture: Texture | null, + flagNames: Set, + isOrganic: boolean, + vis: number = 1, + animated: boolean = false, + reflectionAmount: number = 0, +): MaterialResult { + const isTranslucent = flagNames.has("Translucent"); + const isAdditive = flagNames.has("Additive"); + const isSelfIlluminating = flagNames.has("SelfIlluminating"); + // DTS per-object visibility: when vis < 1, the engine sets fadeSet=true which + // forces the Translucent flag and renders with GL_SRC_ALPHA/GL_ONE_MINUS_SRC_ALPHA. + // Animated vis also needs transparent materials so opacity can be updated per frame. + const isFaded = vis < 1 || animated; + + // Env map reflectivity: gated only by NeverEnvMap flag and reflectionAmount + // (which is 0 when the datablock doesn't have emap=true). Independent of + // SelfIlluminating/Additive — those affect lighting, not env mapping. + const enableEnvMap = + !flagNames.has("NeverEnvMap") && reflectionAmount > 0 && !isFaded; + const envMapOptions = enableEnvMap ? { reflectionAmount } : undefined; + + // SelfIlluminating or Additive materials are unlit (use MeshBasicMaterial). + // Additive materials without SelfIlluminating (e.g. explosion shells) must + // also be unlit, otherwise they render black with no scene lighting. + if (isSelfIlluminating || isAdditive) { + const isBlended = isAdditive || isTranslucent || isFaded; + const mat = new MeshBasicMaterial({ + map: texture, + side: 2, // DoubleSide + transparent: isBlended, + depthWrite: !isBlended, + alphaTest: 0, + fog: true, + ...(isFaded && { opacity: vis }), + ...(isAdditive && { blending: AdditiveBlending }), + }); + applyShapeShaderModifications(mat, envMapOptions); + return mat; + } + + // For organic shapes or Translucent flag, use alpha cutout with Lambert shading + // Tribes 2 used fixed-function GL with specular disabled - purely diffuse lighting + // MeshLambertMaterial gives us the diffuse-only look that matches the original + // Return [BackSide, FrontSide] materials to render in two passes - avoids z-fighting + if (isOrganic || isTranslucent) { + const baseProps = { + map: texture, + // When vis < 1, switch from alpha cutout to alpha blend (matching the engine's + // fadeSet behavior which forces GL_BLEND with no alpha test) + transparent: isFaded, + alphaTest: isFaded ? 0 : 0.5, + ...(isFaded && { opacity: vis, depthWrite: false }), + reflectivity: 0, + }; + const backMat = new MeshLambertMaterial({ + ...baseProps, + side: 1, // BackSide + // Push back faces slightly behind in depth to avoid z-fighting with front + polygonOffset: true, + polygonOffsetFactor: 1, + polygonOffsetUnits: 1, + }); + const frontMat = new MeshLambertMaterial({ + ...baseProps, + side: 0, // FrontSide + }); + applyShapeShaderModifications(backMat, envMapOptions); + applyShapeShaderModifications(frontMat, envMapOptions); + return [backMat, frontMat]; + } + + // Default: use Lambert for diffuse-only lighting (matches Tribes 2) + const mat = new MeshLambertMaterial({ + map: texture, + side: 2, // DoubleSide + reflectivity: 0, + ...(isFaded && { + transparent: true, + opacity: vis, + depthWrite: false, + }), + }); + applyShapeShaderModifications(mat, envMapOptions); + return mat; +} diff --git a/src/shapePreloader.ts b/src/shapePreloader.ts new file mode 100644 index 00000000..7a4aa5be --- /dev/null +++ b/src/shapePreloader.ts @@ -0,0 +1,79 @@ +/** + * Background preloader for shape GLBs. Drip-feeds useGLTF.preload() calls + * via setTimeout so higher-priority rendering and network requests aren't + * blocked. Covers all shapes from shapes.vl2 (~219 files). + */ + +import { useGLTF } from "@react-three/drei"; +import { getResourceList, getSourceAndPath } from "./manifest"; +import { RESOURCE_ROOT_URL } from "./loaders"; +import { createLogger } from "./logger"; + +const log = createLogger("shapePreloader"); + +/** Delay between preload batches (ms). */ +const BATCH_DELAY = 200; +/** Number of shapes to preload per batch. */ +const BATCH_SIZE = 2; + +let started = false; + +function shapePriority(name: string): number { + const lower = name.toLowerCase(); + if ( + lower.startsWith("bioderm_") || + lower.endsWith("_male.dts") || + lower.endsWith("_female.dts") + ) + return 0; + if (lower.startsWith("weapon_")) return 1; + if (lower.startsWith("pack_")) return 2; + return 3; +} + +/** All shape GLB URLs from shapes.vl2, sorted by priority. */ +function getShapeUrls(): string[] { + return getResourceList() + .filter((key) => key.startsWith("shapes/") && key.endsWith(".dts")) + .filter((key) => { + const [sourcePath] = getSourceAndPath(key); + return sourcePath === "shapes.vl2"; + }) + .sort((a, b) => shapePriority(a) - shapePriority(b)) + .map((key) => { + const [sourcePath, actualPath] = getSourceAndPath(key); + const glbPath = actualPath.replace(/\.dts$/i, ".glb"); + return `${RESOURCE_ROOT_URL}@vl2/${sourcePath}/${glbPath}`; + }); +} + +/** + * Start background preloading of all shapes.vl2 GLBs. Safe to call multiple + * times — only the first call has any effect. Preloading is deferred and + * throttled so it doesn't compete with on-demand loads. + */ +export function startShapePreload(): void { + if (started) return; + started = true; + + const urls = getShapeUrls(); + log.info("Preloading %d shapes from shapes.vl2", urls.length); + + let index = 0; + + function preloadBatch() { + const end = Math.min(index + BATCH_SIZE, urls.length); + for (let i = index; i < end; i++) { + useGLTF.preload(urls[i]); + } + index = end; + if (index < urls.length) { + setTimeout(preloadBatch, BATCH_DELAY); + } else { + log.info("Shape preloading complete"); + } + } + + // Defer the first batch so we don't interfere with initial render. + setTimeout(preloadBatch, 1000); +} diff --git a/src/state/cameraTourStore.ts b/src/state/cameraTourStore.ts index 5d342a1d..995353c9 100644 --- a/src/state/cameraTourStore.ts +++ b/src/state/cameraTourStore.ts @@ -7,6 +7,7 @@ export interface TourAnimation { targets: TourTarget[]; /** Category name when this is a multi-target tour, for UI matching. */ categoryName: string | null; + tourType: TourType; currentIndex: number; phase: "traveling" | "orbiting"; elapsed: number; @@ -24,10 +25,16 @@ export interface TourAnimation { orbitStartAngle: number; } +export type TourType = "feature" | "debug"; + export interface CameraTourState { animation: TourAnimation | null; - flyTo(target: TourTarget): void; - startTour(targets: TourTarget[], categoryName: string): void; + flyTo(target: TourTarget, tourType?: TourType): void; + startTour( + targets: TourTarget[], + categoryName: string, + tourType?: TourType, + ): void; /** Advance to the next target in a tour (notifies subscribers). */ advanceTarget(): void; cancel(): void; @@ -36,10 +43,12 @@ export interface CameraTourState { function makeAnimation( targets: TourTarget[], categoryName: string | null = null, + tourType: TourType = "feature", ): TourAnimation { return { targets, categoryName, + tourType, currentIndex: 0, phase: "traveling", elapsed: 0, @@ -55,12 +64,12 @@ function makeAnimation( export const cameraTourStore = createStore((set) => ({ animation: null, - flyTo(target) { - set({ animation: makeAnimation([target]) }); + flyTo(target, tourType = "feature") { + set({ animation: makeAnimation([target], null, tourType) }); }, - startTour(targets, categoryName) { + startTour(targets, categoryName, tourType = "feature") { if (targets.length === 0) return; - set({ animation: makeAnimation(targets, categoryName) }); + set({ animation: makeAnimation(targets, categoryName, tourType) }); }, advanceTarget() { set((state) => { @@ -92,3 +101,13 @@ export function useCameraTour( ): T { return useStoreWithEqualityFn(cameraTourStore, selector, equality); } + +/** Returns true if this entity is the active debug tour target. */ +export function useIsDebugTourTarget(entityId: string): boolean { + return useCameraTour((s) => { + const anim = s.animation; + if (!anim || anim.tourType !== "debug") return false; + const target = anim.targets[anim.currentIndex]; + return target?.entityId === entityId; + }); +} diff --git a/src/state/gameEntityStore.ts b/src/state/gameEntityStore.ts index 91fbf55e..f94e41ea 100644 --- a/src/state/gameEntityStore.ts +++ b/src/state/gameEntityStore.ts @@ -69,9 +69,15 @@ export interface GameEntityState { setStreamEntities(entities: GameEntity[]): void; setAllStreamEntities(entities: GameEntity[]): void; clearStreamEntities(): void; + /** Returns the store's streamEntities Map for direct mutation. + * Call bumpStreamVersion() after structural changes (adds/removes). */ + getStreamEntitiesMap(): Map; + /** Bump version to notify React subscribers. Call after adds/removes/ + * identity rebuilds, NOT for in-place field mutations. */ + bumpStreamVersion(): void; } -export const gameEntityStore = createStore()((set) => ({ +export const gameEntityStore = createStore()((set, get) => ({ missionEntities: new Map(), streamEntities: new Map(), isStreaming: false, @@ -278,6 +284,14 @@ export const gameEntityStore = createStore()((set) => ({ return { streamEntities: new Map(), version: state.version + 1 }; }); }, + + getStreamEntitiesMap() { + return get().streamEntities; + }, + + bumpStreamVersion() { + set((state) => ({ version: state.version + 1 })); + }, })); // ── Selectors ── @@ -447,6 +461,16 @@ export function useMissionTypeDisplayName(): string | null { ); } +/** Hook returning the debugHidden state for a specific entity. */ +export function useDebugHidden(entityId: string): boolean { + return useStoreWithEqualityFn(gameEntityStore, (state) => { + const entities = state.isStreaming + ? state.streamEntities + : state.missionEntities; + return entities.get(entityId)?.debugHidden ?? false; + }); +} + /** Hook returning the mission display name (e.g. "Scarabrae"). */ export function useMissionDisplayName(): string | null { return useStoreWithEqualityFn( diff --git a/src/state/gameEntityTypes.ts b/src/state/gameEntityTypes.ts index e12b22c7..a4388980 100644 --- a/src/state/gameEntityTypes.ts +++ b/src/state/gameEntityTypes.ts @@ -51,6 +51,8 @@ interface EntityBase { spawnTime?: number; runtimeObject?: unknown; missionTypesList?: string; + /** Hidden via the debug entity list. */ + debugHidden?: boolean; } // ── Scene infrastructure entities ── @@ -136,6 +138,8 @@ export interface ShapeEntity extends PositionedBase { targetRenderFlags?: number; iffColor?: { r: number; g: number; b: number }; weaponShape?: string; + /** Arm blend animation action index from Player ghost (networked). */ + armAction?: number; /** WheeledVehicle per-wheel state (speed, slip). */ wheels?: Array<{ speed: number; @@ -148,6 +152,8 @@ export interface ShapeEntity extends PositionedBase { frozen?: boolean; /** Vehicle max steering angle (radians), from datablock. */ maxSteeringAngle?: number; + /** ShapeBase sound slots (from ghost SoundMask). */ + soundSlots?: Array<{ index: number; playing: boolean; profileId?: number }>; } export interface PlayerEntity extends PositionedBase { @@ -177,6 +183,8 @@ export interface PlayerEntity extends PositionedBase { actionAtEnd?: boolean; damageState?: number; targetRenderFlags?: number; + /** ShapeBase sound slots (from ghost SoundMask). */ + soundSlots?: Array<{ index: number; playing: boolean; profileId?: number }>; } export interface ForceFieldBareEntity extends PositionedBase { diff --git a/src/state/streamPlaybackStore.ts b/src/state/streamPlaybackStore.ts index 5f7e1d63..a6c1c081 100644 --- a/src/state/streamPlaybackStore.ts +++ b/src/state/streamPlaybackStore.ts @@ -1,8 +1,6 @@ import { createStore } from "zustand/vanilla"; import type { Group } from "three"; import type { StreamingPlayback } from "../stream/types"; -import type { GameEntity } from "./gameEntityTypes"; - export type DemoCameraMode = "original" | "freeFly" | "orbitOverride"; /** @@ -26,10 +24,6 @@ export interface StreamPlaybackState { orbitOverrideYaw: number; /** User-controlled orbit pitch (radians), used when cameraMode is "orbitOverride". */ orbitOverridePitch: number; - /** Live entity map, updated every frame. Components read from this in - * useFrame to get the latest render fields (threads, weapons, etc.) - * without triggering React re-renders. */ - entities: Map; } export const streamPlaybackStore = createStore()(() => ({ @@ -39,7 +33,6 @@ export const streamPlaybackStore = createStore()(() => ({ cameraMode: "original", orbitOverrideYaw: 0, orbitOverridePitch: 0, - entities: new Map(), })); /** Reset all streaming playback state. Called when streaming ends. */ diff --git a/src/stream/StreamEngine.ts b/src/stream/StreamEngine.ts index c69dfea0..8179a396 100644 --- a/src/stream/StreamEngine.ts +++ b/src/stream/StreamEngine.ts @@ -6,7 +6,9 @@ import { ballisticProjectileClassNames, seekerProjectileClassNames, toEntityType, - toEntityId, + allocateEntityId, + resetEntityIdCounter, + GhostMessage, IFF_GREEN, IFF_RED, TICK_DURATION_MS, @@ -111,6 +113,9 @@ export interface MutableEntity { headYaw?: number; targetRenderFlags?: number; carryingFlag?: boolean; + /** ShapeBase sound slots (4 max). Raw ghost SoundMask data — components + * manage PositionalAudio objects directly, matching Tribes 2's approach. */ + soundSlots?: Array<{ index: number; playing: boolean; profileId?: number }>; /** Item velocity interpolation state (dropped weapons/items). * The real Tribes 2 client does NOT simulate physics (gravity/collision) * for items — it just interpolates position using server-sent velocity @@ -185,6 +190,8 @@ export abstract class StreamEngine implements StreamingPlayback { // ── Entities ── protected entities = new Map(); protected entityIdByGhostIndex = new Map(); + /** Incremented on structural entity changes (add/remove/create). */ + protected entityGeneration = 0; // ── Tick / time ── protected tickCount = 0; @@ -325,8 +332,13 @@ export abstract class StreamEngine implements StreamingPlayback { ): string | undefined { const byMap = this.entityIdByGhostIndex.get(ghostIndex); if (byMap) return byMap; + // Ghost exists but has no ID yet — allocate one. const trackerGhost = this.ghostTracker.getGhost(ghostIndex); - if (trackerGhost) return toEntityId(trackerGhost.className, ghostIndex); + if (trackerGhost) { + const id = allocateEntityId(); + this.entityIdByGhostIndex.set(ghostIndex, id); + return id; + } return undefined; } @@ -341,9 +353,17 @@ export abstract class StreamEngine implements StreamingPlayback { // ── Shared reset logic ── - protected resetSharedState(): void { + /** Clear all entity state (entities, ghost→ID map, ID counter, generation). + * Called on full reset and on GhostingMessageEvent (mission change). */ + protected clearAllEntities(): void { this.entities.clear(); this.entityIdByGhostIndex.clear(); + this.entityGeneration++; + resetEntityIdCounter(); + } + + protected resetSharedState(): void { + this.clearAllEntities(); this.tickCount = 0; this.camera = null; this.chatMessages = []; @@ -653,6 +673,15 @@ export abstract class StreamEngine implements StreamingPlayback { return; } + // EndGhosting (message=2): the server called resetGhosting — all ghosts + // are invalidated. The parser clears the ghost tracker; we clear entities. + if (type === "GhostingMessageEvent") { + if ((data.message as number) === GhostMessage.EndGhosting) { + this.clearAllEntities(); + } + return; + } + if (type === "RemoteCommandEvent" || eventName === "RemoteCommandEvent") { const funcName = this.resolveNetString(data.funcName as string); const args = data.args as string[]; @@ -813,9 +842,9 @@ export abstract class StreamEngine implements StreamingPlayback { if (ghost.type === "delete") { if (prevEntityId) { - this.removeSoundSlotEntities(prevEntityId); this.entities.delete(prevEntityId); this.entityIdByGhostIndex.delete(ghostIndex); + this.entityGeneration++; } return; } @@ -830,16 +859,14 @@ export abstract class StreamEngine implements StreamingPlayback { return; } - const entityId = toEntityId(className, ghostIndex); + const entityId = prevEntityId ?? allocateEntityId(); if (prevEntityId && prevEntityId !== entityId) { - this.removeSoundSlotEntities(prevEntityId); this.entities.delete(prevEntityId); } let entity: MutableEntity; const existingEntity = this.entities.get(entityId); if (existingEntity && ghost.type === "create") { - this.removeSoundSlotEntities(entityId); existingEntity.spawnTick = this.tickCount; this.resetEntity(existingEntity); entity = existingEntity; @@ -855,6 +882,7 @@ export abstract class StreamEngine implements StreamingPlayback { rotation: [0, 0, 0, 1], }; this.entities.set(entityId, entity); + this.entityGeneration++; } entity.ghostIndex = ghostIndex; @@ -916,6 +944,7 @@ export abstract class StreamEngine implements StreamingPlayback { entity.armAction = undefined; entity.explosionDataBlockId = undefined; entity.maintainEmitterId = undefined; + entity.soundSlots = undefined; } // ── Apply ghost data ── @@ -1157,8 +1186,6 @@ export abstract class StreamEngine implements StreamingPlayback { : undefined; if (position) { entity.position = [position.x, position.y, position.z]; - // Sync any sound-slot child entities with the new position. - this.updateSoundSlotPositions(entity); } // Direction @@ -1388,12 +1415,12 @@ export abstract class StreamEngine implements StreamingPlayback { if (renderFlags != null) entity.targetRenderFlags = renderFlags; } - // Ghost-level audio — spawn/remove synthetic AudioEmitter children + // ShapeBase sound slots — store on entity for component-level playback. const sounds = data.sounds as | Array<{ index: number; playing: boolean; profileId?: number }> | undefined; if (Array.isArray(sounds)) { - this.syncSoundSlotEntities(entity, sounds); + entity.soundSlots = sounds; } // WayPoint ghost fields @@ -1422,76 +1449,6 @@ export abstract class StreamEngine implements StreamingPlayback { // ── Sound slot entities ── - /** - * Sync synthetic AudioEmitter entities for a parent ghost's sound slots. - * Each active sound slot spawns a child entity; inactive slots remove theirs. - */ - protected syncSoundSlotEntities( - parent: MutableEntity, - sounds: Array<{ index: number; playing: boolean; profileId?: number }>, - ): void { - for (const s of sounds) { - const childId = `${parent.id}:sound:${s.index}`; - - if (s.playing && typeof s.profileId === "number") { - // Resolve AudioProfile → AudioDescription - const profileBlock = this.getDataBlockData(s.profileId); - const rawFilename = profileBlock?.filename as string | undefined; - if (!rawFilename) continue; - const filename = rawFilename.endsWith(".wav") - ? rawFilename - : `${rawFilename}.wav`; - - const descId = profileBlock!.description as number | undefined; - const descBlock = - descId != null ? this.getDataBlockData(descId) : undefined; - - const existing = this.entities.get(childId); - if (existing) { - // Update position to track parent - existing.position = parent.position; - } else { - // Create synthetic AudioEmitter entity - this.entities.set(childId, { - id: childId, - ghostIndex: parent.ghostIndex, - className: "AudioEmitter", - type: "AudioEmitter", - spawnTick: this.tickCount, - position: parent.position, - rotation: [0, 0, 0, 1], - audioFileName: filename, - audioVolume: (descBlock?.volume as number) ?? 1, - audioIs3D: (descBlock?.is3D as boolean) ?? true, - audioIsLooping: (descBlock?.isLooping as boolean) ?? false, - audioMinDistance: (descBlock?.referenceDistance as number) ?? 20, - audioMaxDistance: (descBlock?.maxDistance as number) ?? 100, - audioMinLoopGap: (descBlock?.minLoopGap as number) ?? 0, - audioMaxLoopGap: (descBlock?.maxLoopGap as number) ?? 0, - }); - } - } else { - // Sound stopped — remove synthetic entity - this.entities.delete(childId); - } - } - } - - /** Update positions of sound-slot children to track their parent. */ - protected updateSoundSlotPositions(parent: MutableEntity): void { - for (let i = 0; i < 4; i++) { - const child = this.entities.get(`${parent.id}:sound:${i}`); - if (child) child.position = parent.position; - } - } - - /** Remove any synthetic sound-slot entities belonging to a parent entity. */ - protected removeSoundSlotEntities(parentId: string): void { - for (let i = 0; i < 4; i++) { - this.entities.delete(`${parentId}:sound:${i}`); - } - } - // ── Explosion spawning ── protected resolveExplosionInfo(projDataBlockId: number): @@ -2316,6 +2273,7 @@ export abstract class StreamEngine implements StreamingPlayback { steeringYaw: entity.steeringYaw, frozen: entity.frozen, maxSteeringAngle: entity.maxSteeringAngle, + soundSlots: entity.soundSlots, sceneData: entity.sceneData, forceFieldData: entity.forceFieldData, }); diff --git a/src/stream/demoStreaming.ts b/src/stream/demoStreaming.ts index 39d46305..32772eb3 100644 --- a/src/stream/demoStreaming.ts +++ b/src/stream/demoStreaming.ts @@ -7,7 +7,7 @@ import { import { ghostToSceneObject } from "../scene"; import { toEntityType, - toEntityId, + allocateEntityId, TICK_DURATION_MS, } from "./entityClassification"; import { @@ -374,6 +374,7 @@ class StreamingPlayback extends StreamEngine { // Cached snapshot private _cachedSnapshot: StreamSnapshot | null = null; private _cachedSnapshotTick = -1; + private _cachedSnapshotGen = -1; // Cached derived arrays private _snap: { @@ -496,6 +497,7 @@ class StreamingPlayback extends StreamEngine { this.ghostTracker = this.parser.getGhostTracker(); this._cachedSnapshot = null; this._cachedSnapshotTick = -1; + this._cachedSnapshotGen = -1; this._snap = null; this.resetSharedState(); @@ -622,12 +624,6 @@ class StreamingPlayback extends StreamEngine { ? (this.initialBlock.controlObjectData?.position as Vec3) : undefined, }; - this.controlPlayerGhostId = - this.lastControlType === "player" && - this.initialBlock.controlObjectGhostIndex >= 0 - ? toEntityId("Player", this.initialBlock.controlObjectGhostIndex) - : undefined; - for (const ghost of this.initialBlock.initialGhosts) { if (ghost.type !== "create" || ghost.classId == null) continue; const className = this.registry.getGhostParser(ghost.classId)?.name; @@ -636,7 +632,8 @@ class StreamingPlayback extends StreamEngine { `No ghost parser for classId ${ghost.classId} (ghost index ${ghost.index})`, ); } - const id = toEntityId(className, ghost.index); + const id = allocateEntityId(); + this.entityIdByGhostIndex.set(ghost.index, id); const entity: MutableEntity = { id, ghostIndex: ghost.index, @@ -658,6 +655,15 @@ class StreamingPlayback extends StreamEngine { this.entityIdByGhostIndex.set(ghost.index, id); } + // Resolve control player entity ID from the ghost index map. + this.controlPlayerGhostId = + this.lastControlType === "player" && + this.initialBlock.controlObjectGhostIndex >= 0 + ? this.entityIdByGhostIndex.get( + this.initialBlock.controlObjectGhostIndex, + ) + : undefined; + // Derive playerSensorGroup from the control player entity if ( this.playerSensorGroup === 0 && @@ -750,12 +756,17 @@ class StreamingPlayback extends StreamEngine { } getSnapshot(): StreamSnapshot { - if (this._cachedSnapshot && this._cachedSnapshotTick === this.moveTicks) { + if ( + this._cachedSnapshot && + this._cachedSnapshotTick === this.moveTicks && + this._cachedSnapshotGen === this.entityGeneration + ) { return this._cachedSnapshot; } const snapshot = this.buildSnapshot(); this._cachedSnapshot = snapshot; this._cachedSnapshotTick = this.moveTicks; + this._cachedSnapshotGen = this.entityGeneration; return snapshot; } @@ -819,7 +830,8 @@ class StreamingPlayback extends StreamEngine { !didReset && wasExhausted === this.exhausted && this._cachedSnapshot && - this._cachedSnapshotTick === this.moveTicks + this._cachedSnapshotTick === this.moveTicks && + this._cachedSnapshotGen === this.entityGeneration ) { return this._cachedSnapshot; } @@ -910,6 +922,18 @@ class StreamingPlayback extends StreamEngine { -MAX_PITCH, MAX_PITCH, ); + + // The control player's ghost skips MoveMask (the server knows the client + // predicts its own state). Derive jetting from the move's trigger[3], + // matching Tribes2.exe Player::updateMove: mJetting = trigger[3] && + // energy >= minJetEnergy && state == MoveState && !disableMove. + const triggers = (block.parsed as { trigger?: boolean[] }).trigger; + if (triggers && this.controlPlayerGhostId) { + const entity = this.entities.get(this.controlPlayerGhostId); + if (entity) { + entity.jetting = !!triggers[3]; + } + } } } diff --git a/src/stream/entityBridge.ts b/src/stream/entityBridge.ts index 75232239..1b8fae7e 100644 --- a/src/stream/entityBridge.ts +++ b/src/stream/entityBridge.ts @@ -133,6 +133,7 @@ export function streamEntityToGameEntity( headPitch: entity.headPitch, headYaw: entity.headYaw, targetRenderFlags: entity.targetRenderFlags, + soundSlots: entity.soundSlots, } satisfies PlayerEntity; } @@ -201,6 +202,26 @@ export function streamEntityToGameEntity( } satisfies WayPointEntity; } + // Non-rendered objects: editor-only markers, AI objectives, vehicle blockers. + // MissionMarker::onAdd only calls addToScene when gEditingMission is true. + // AIObjective and VehicleBlocker are server-side logic objects with no visuals. + if ( + entity.className === "MissionMarker" || + entity.className === "SpawnSphere" || + entity.className === "AIObjective" || + entity.className === "VehicleBlocker" + ) { + return { + id: entity.id, + className: entity.className ?? entity.type, + ghostIndex: entity.ghostIndex, + dataBlockId: entity.dataBlockId, + shapeHint: entity.shapeHint, + spawnTime, + renderType: "None", + } satisfies NoneEntity; + } + // Camera if (entity.className === "Camera") { return { @@ -232,5 +253,6 @@ export function streamEntityToGameEntity( steeringYaw: entity.steeringYaw, frozen: entity.frozen, maxSteeringAngle: entity.maxSteeringAngle, + soundSlots: entity.soundSlots, } satisfies ShapeEntity; } diff --git a/src/stream/entityClassification.ts b/src/stream/entityClassification.ts index c14c6cf8..db07255d 100644 --- a/src/stream/entityClassification.ts +++ b/src/stream/entityClassification.ts @@ -1,3 +1,18 @@ +/** + * GhostingMessageEvent message types (from NetConnection::GhostMSG enum). + * Sent by the server to control ghost scope lifecycle. + */ +export const GhostMessage = { + /** Server finished sending GhostAlways objects. Client must ack. */ + GhostAlwaysDone: 0, + /** Client acknowledgment of GhostAlwaysDone. */ + GhostAlwaysAck: 1, + /** EndGhosting — server called resetGhosting, clear all ghosts. */ + EndGhosting: 2, + /** Server activated ghosting (begins sending scoped ghosts). */ + GhostingActive: 3, +} as const; + /** Class names for vehicle ghosts. */ export const vehicleClassNames = new Set([ "FlyingVehicle", @@ -56,9 +71,20 @@ export function toEntityType(className: string): string { return "Ghost"; } -/** Generate a stable entity ID from ghost class name and index. */ -export function toEntityId(className: string, ghostIndex: number): string { - return `${className}_${ghostIndex}`; +/** First dynamic object ID, matching Torque's SimObjectId allocation. + * IDs 3-1026 are reserved for datablocks (DataBlockObjectIdFirst=3, 1024 slots). */ +const FIRST_DYNAMIC_ID = 1027; + +let _nextEntityId = FIRST_DYNAMIC_ID; + +/** Reset the entity ID counter (e.g. on mission/recording change). */ +export function resetEntityIdCounter(): void { + _nextEntityId = FIRST_DYNAMIC_ID; +} + +/** Allocate the next sequential entity ID, mimicking Torque's registerObject. */ +export function allocateEntityId(): string { + return String(_nextEntityId++); } /** Tribes 2 default IFF colors (sRGB 0-255). */ diff --git a/src/stream/liveStreaming.ts b/src/stream/liveStreaming.ts index b9a8c7e9..9a008578 100644 --- a/src/stream/liveStreaming.ts +++ b/src/stream/liveStreaming.ts @@ -4,6 +4,7 @@ import { resolveShapeName, stripTaggedStringMarkup } from "./streamHelpers"; import type { Vec3 } from "./streamHelpers"; import type { StreamSnapshot } from "./types"; import { StreamEngine } from "./StreamEngine"; +import { GhostMessage } from "./entityClassification"; import type { RelayClient } from "./relayClient"; const log = createLogger("liveStreaming"); @@ -337,9 +338,8 @@ export class LiveStreamAdapter extends StreamEngine { sequence, ghostCount, ); - if (message === 0) { - // GhostAlwaysDone → send type 1 acknowledgment - log.info("Sending ghost ack (type 1) for sequence %d", sequence); + if (message === GhostMessage.GhostAlwaysDone) { + log.info("Sending ghost ack for sequence %d", sequence); this.relay.sendGhostAck(sequence, ghostCount); } } diff --git a/src/stream/missionEntityBridge.ts b/src/stream/missionEntityBridge.ts index dce56840..f11a9ef0 100644 --- a/src/stream/missionEntityBridge.ts +++ b/src/stream/missionEntityBridge.ts @@ -68,7 +68,7 @@ export function buildGameEntityFromMission( teamId?: number, ): GameEntity | null { const className = object._className; - const id = `mission_${object._id}`; + const id = String(object._id); const position = getPosition(object); const scale = getScale(object); const rotStr = object.rotation ?? "1 0 0 0"; diff --git a/src/stream/playbackUtils.ts b/src/stream/playbackUtils.ts index 8634c2d7..e1d54a4b 100644 --- a/src/stream/playbackUtils.ts +++ b/src/stream/playbackUtils.ts @@ -22,7 +22,7 @@ import type { import { createMaterialFromFlags, applyShapeShaderModifications, -} from "../components/GenericShape"; +} from "../shapeMaterial"; import { isOrganicShape } from "../components/ShapeInfoProvider"; import { loadIflAtlas, diff --git a/src/stream/types.ts b/src/stream/types.ts index 73f3837f..adbec6d6 100644 --- a/src/stream/types.ts +++ b/src/stream/types.ts @@ -144,6 +144,10 @@ export interface StreamEntity { headPitch?: number; /** Head yaw for blend animations (freelook), normalized [-1,1]. -1 = max right, 1 = max left. */ headYaw?: number; + /** Arm blend animation action index from Player ghost (networked). */ + armAction?: number; + /** ShapeBase sound slots (from ghost SoundMask). */ + soundSlots?: Array<{ index: number; playing: boolean; profileId?: number }>; /** WayPoint display label. */ label?: string; // AudioEmitter ghost fields diff --git a/src/torqueScript/index.ts b/src/torqueScript/index.ts index 824690ef..47553282 100644 --- a/src/torqueScript/index.ts +++ b/src/torqueScript/index.ts @@ -1,10 +1,11 @@ -import { parse as torqueScriptParse } from "@/generated/TorqueScript.js"; import { generate, type GeneratorOptions } from "./codegen"; +import { parse, type ParseOptions } from "./parser"; import type { Program } from "./ast"; import { createRuntime } from "./runtime"; import { registerEngineStubs } from "./engineMethods"; import { TorqueObject, TorqueRuntime, TorqueRuntimeOptions } from "./types"; +export { parse, type ParseOptions } from "./parser"; export { generate, type GeneratorOptions } from "./codegen"; export type { Program } from "./ast"; export { createBuiltins } from "./builtins"; @@ -32,26 +33,8 @@ export type { TorqueRuntimeOptions, } from "./types"; -export interface ParseOptions { - filename?: string; -} - export type TranspileOptions = ParseOptions & GeneratorOptions; -export function parse(source: string, options?: ParseOptions): Program { - try { - return torqueScriptParse(source); - } catch (error: any) { - if (options?.filename && error.location) { - throw new Error( - `${options.filename}:${error.location.start.line}:${error.location.start.column}: ${error.message}`, - { cause: error }, - ); - } - throw error; - } -} - export function transpile( source: string, options?: TranspileOptions, diff --git a/src/torqueScript/parser.ts b/src/torqueScript/parser.ts new file mode 100644 index 00000000..3f5d5100 --- /dev/null +++ b/src/torqueScript/parser.ts @@ -0,0 +1,20 @@ +import { parse as torqueScriptParse } from "@/generated/TorqueScript.js"; +import type { Program } from "./ast"; + +export interface ParseOptions { + filename?: string; +} + +export function parse(source: string, options?: ParseOptions): Program { + try { + return torqueScriptParse(source); + } catch (error: any) { + if (options?.filename && error.location) { + throw new Error( + `${options.filename}:${error.location.start.line}:${error.location.start.column}: ${error.message}`, + { cause: error }, + ); + } + throw error; + } +} diff --git a/src/torqueScript/runtime.ts b/src/torqueScript/runtime.ts index 6ac76cf2..be2e5985 100644 --- a/src/torqueScript/runtime.ts +++ b/src/torqueScript/runtime.ts @@ -1,7 +1,8 @@ import picomatch from "picomatch"; import { createLogger } from "../logger"; import { generate } from "./codegen"; -import { parse, type Program } from "./index"; +import { parse } from "./parser"; +import type { Program } from "./ast"; import { createBuiltins as defaultCreateBuiltins } from "./builtins"; const log = createLogger("runtime"); diff --git a/src/waterMaterial.ts b/src/waterMaterial.ts index 0fe40cf5..71f6b858 100644 --- a/src/waterMaterial.ts +++ b/src/waterMaterial.ts @@ -82,6 +82,7 @@ const vertexShader = /* glsl */ ` `; const fragmentShader = /* glsl */ ` + #define HAS_FOG_DISTANCE_SCALE #include // Enable volumetric fog (must be defined before fog uniforms) @@ -219,6 +220,7 @@ export function createWaterMaterial(options?: { fogVolumeData: globalFogUniforms.fogVolumeData, cameraHeight: globalFogUniforms.cameraHeight, fogEnabled: globalFogUniforms.fogEnabled, + fogDistanceScale: globalFogUniforms.fogDistanceScale, }, vertexShader, fragmentShader,