@stinkycomputing/web-live-player 0.1.9 → 0.1.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- "use strict";var Fr=Object.create;var ir=Object.defineProperty;var Qr=Object.getOwnPropertyDescriptor;var pr=Object.getOwnPropertyNames;var fr=Object.getPrototypeOf,hr=Object.prototype.hasOwnProperty;var Rr=(u,o,l)=>o in u?ir(u,o,{enumerable:!0,configurable:!0,writable:!0,value:l}):u[o]=l;var Br=(u,o,l,n)=>{if(o&&typeof o=="object"||typeof o=="function")for(let r of pr(o))!hr.call(u,r)&&r!==l&&ir(u,r,{get:()=>o[r],enumerable:!(n=Qr(o,r))||n.enumerable});return u};var sr=(u,o,l)=>(l=u!=null?Fr(fr(u)):{},Br(o||!u||!u.__esModule?ir(l,"default",{value:u,enumerable:!0}):l,u));var U=(u,o,l)=>(Rr(u,typeof o!="symbol"?o+"":o,l),l),or=(u,o,l)=>{if(!o.has(u))throw TypeError("Cannot "+l)};var dr=(u,o,l)=>(or(u,o,"read from private field"),l?l.call(u):o.get(u)),rr=(u,o,l)=>{if(o.has(u))throw TypeError("Cannot add the same private member more than once");o instanceof WeakSet?o.add(u):o.set(u,l)},ur=(u,o,l,n)=>(or(u,o,"write to private field"),n?n.call(u,l):o.set(u,l),l);var lr=(u,o,l)=>(or(u,o,"access private method"),l);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const stinkyMoqJs=require("stinky-moq-js"),consoleLogger={debug:u=>console.debug(`[VideoPlayer] ${u}`),info:u=>console.info(`[VideoPlayer] ${u}`),warn:u=>console.warn(`[VideoPlayer] ${u}`),error:u=>console.error(`[VideoPlayer] ${u}`)},silentLogger={debug:()=>{},info:()=>{},warn:()=>{},error:()=>{}};class BaseStreamSource{constructor(){U(this,"handlers",new Map);U(this,"_connected",!1)}get connected(){return this._connected}on(o,l){this.handlers.has(o)||this.handlers.set(o,new Set),this.handlers.get(o).add(l)}off(o,l){var n;(n=this.handlers.get(o))==null||n.delete(l)}emit(o,...l){var n;(n=this.handlers.get(o))==null||n.forEach(r=>r(...l))}dispose(){this.handlers.clear()}}function createLogger(u){return{debug:u?consoleLogger.debug:silentLogger.debug,info:consoleLogger.info,warn:consoleLogger.warn,error:consoleLogger.error}}class BasePlayer{constructor(o,l=!1){U(this,"eventHandlers",new Map);U(this,"logger");U(this,"_state");this._state=o,this.logger=createLogger(l)}get state(){return this._state}setState(o){if(this._state!==o){const l=this._state;this._state=o,this.logger.debug(`State: ${l} -> ${o}`),this.emit("statechange",o)}}setDebugLogging(o){this.logger=createLogger(o)}on(o,l){this.eventHandlers.has(o)||this.eventHandlers.set(o,new Set),this.eventHandlers.get(o).add(l)}off(o,l){var n;(n=this.eventHandlers.get(o))==null||n.delete(l)}emit(o,...l){var n;(n=this.eventHandlers.get(o))==null||n.forEach(r=>r(...l))}clearEventHandlers(){this.eventHandlers.clear()}}function toBigInt(u){return u==null?0n:typeof u=="bigint"?u:BigInt(typeof u=="number"?Math.floor(u):u.toString())}function rescaleTime(u,o,l){const r=toBigInt(u)*BigInt(o.num)*BigInt(l.den)/(BigInt(o.den)*BigInt(l.num));return Number(r)}function codecDataChanged(u,o){return!u&&!o?!1:!u||!o?!0:u.codecType!==o.codecType||u.width!==o.width||u.height!==o.height||u.codecProfile!==o.codecProfile||u.codecLevel!==o.codecLevel}function getCodecString(u){switch(u.codecType){case 3:const o=u.codecProfile&&u.codecProfile>0?u.codecProfile.toString(16).padStart(2,"0"):"42",l="00",n=u.codecLevel&&u.codecLevel>0?u.codecLevel.toString(16).padStart(2,"0"):"1f";return`avc1.${o}${l}${n}`;case 4:return"hev1.1.6.L93.B0";case 2:return"vp09.00.10.08";case 1:return"vp8";case 5:return"av01.0.00M.08";default:return null}}class WebCodecsDecoder{constructor(o={}){U(this,"decoder",null);U(this,"config");U(this,"flushing",!1);U(this,"logger");U(this,"maxQueueSize");U(this,"onFrameDecoded");U(this,"onError");U(this,"onQueueOverflow");U(this,"chunksSentToDecoder",0);U(this,"framesDecoded",0);this.logger=o.logger??consoleLogger,this.onFrameDecoded=o.onFrameDecoded??o.onFrame,this.onError=o.onError,this.onQueueOverflow=o.onQueueOverflow,this.maxQueueSize=o.maxQueueSize??10,this.createDecoder()}get decodeQueueSize(){var o;return((o=this.decoder)==null?void 0:o.decodeQueueSize)??0}get state(){var o;return((o=this.decoder)==null?void 0:o.state)??"closed"}createDecoder(){this.decoder=new VideoDecoder({output:o=>{this.framesDecoded++,this.onFrameDecoded?this.onFrameDecoded(o):o.close()},error:o=>{this.logger.error(`Decoder error: ${o.message}`),this.onError&&this.onError(o)}})}async configure(o,l=!0){return"codec"in o&&typeof o.codec=="string"?this.configureWithConfig(o):this.configureWithCodecData(o,l)}async configureWithConfig(o){var n;const l=[o,{...o,hardwareAcceleration:o.hardwareAcceleration==="prefer-hardware"?"prefer-software":"prefer-hardware"}];for(const r of l)if((await VideoDecoder.isConfigSupported(r)).supported){this.config=r,(n=this.decoder)==null||n.configure(r),this.logger.info(`Decoder configured: ${r.codec} ${r.codedWidth}x${r.codedHeight} (${r.hardwareAcceleration??"default"})`);return}throw new Error(`Codec configuration not supported: ${o.codec}`)}async configureWithCodecData(o,l=!0){var i;const n=getCodecString(o);if(!n)throw new Error(`Unsupported codec type: ${o.codecType}`);const r=o.width??0,t=o.height??0,e=[{codec:n,codedWidth:r,codedHeight:t,hardwareAcceleration:l?"prefer-hardware":"prefer-software",latencyMode:"realtime"},{codec:n,codedWidth:r,codedHeight:t,hardwareAcceleration:l?"prefer-software":"prefer-hardware",latencyMode:"realtime"}];for(const a of e)if((await VideoDecoder.isConfigSupported(a)).supported){this.config=a,(i=this.decoder)==null||i.configure(a),this.logger.info(`Decoder configured: ${n} ${r}x${t} (${a.hardwareAcceleration})`);return}throw new Error(`Codec configuration not supported: ${n}`)}decodeBinary(o){var e,i,a,s,d,c;if(this.flushing){this.logger.warn("Received packet while flushing");return}if(!o.header||!o.payload||!this.decoder||this.decoder.state!=="configured")return;if(this.decoder.decodeQueueSize>this.maxQueueSize){this.onQueueOverflow&&this.onQueueOverflow(this.decoder.decodeQueueSize);return}const l=(i=(e=o.header.media)==null?void 0:e.codecData)!=null&&i.timebaseDen&&((s=(a=o.header.media)==null?void 0:a.codecData)!=null&&s.timebaseNum)?{num:o.header.media.codecData.timebaseNum,den:o.header.media.codecData.timebaseDen}:{num:1,den:1e6},n={num:1,den:1e6},r=rescaleTime(((d=o.header.media)==null?void 0:d.pts)??0,l,n),t=new EncodedVideoChunk({timestamp:r,type:(c=o.header.media)!=null&&c.keyframe?"key":"delta",data:o.payload??new Uint8Array(0)});try{this.chunksSentToDecoder++,this.decoder.decode(t)}catch(F){this.logger.error(`Decode error: ${F}`)}}decode(o){if(this.flushing){this.logger.warn("Received sample while flushing");return}if(!this.decoder||this.decoder.state!=="configured")return;if(this.decoder.decodeQueueSize>this.maxQueueSize){this.onQueueOverflow&&this.onQueueOverflow(this.decoder.decodeQueueSize);return}const l=new EncodedVideoChunk({timestamp:o.timestamp,duration:o.duration,type:o.isKeyframe?"key":"delta",data:o.data});try{this.chunksSentToDecoder++,this.decoder.decode(l)}catch(n){this.logger.error(`Decode error: ${n}`)}}async flush(){if(!(!this.decoder||this.decoder.state==="closed")){this.flushing=!0;try{await this.decoder.flush()}catch{}this.flushing=!1}}flushSync(){this.flushing=!0,this.decoder&&this.decoder.state!=="closed"&&(this.decoder.reset(),this.config&&this.decoder.configure(this.config)),this.flushing=!1}reset(){this.decoder&&this.decoder.state!=="closed"&&(this.decoder.reset(),this.config&&this.decoder.configure(this.config))}dispose(){this.decoder&&(this.decoder.state!=="closed"&&this.decoder.close(),this.decoder=null),this.config=void 0}}const encodedJs="dmFyIEwgPSAvKiBAX19QVVJFX18gKi8gZnVuY3Rpb24oKSB7CiAgZnVuY3Rpb24gYShBLCBDKSB7CiAgICB0aGlzLnRpbnlIMjY0TW9kdWxlID0gQSwgdGhpcy5vblBpY3R1cmVSZWFkeSA9IEMsIHRoaXMucFN0b3JhZ2UgPSB0aGlzLnRpbnlIMjY0TW9kdWxlLl9oMjY0YnNkQWxsb2MoKSwgdGhpcy5wV2lkdGggPSB0aGlzLnRpbnlIMjY0TW9kdWxlLl9tYWxsb2MoNCksIHRoaXMucEhlaWdodCA9IHRoaXMudGlueUgyNjRNb2R1bGUuX21hbGxvYyg0KSwgdGhpcy5wUGljdHVyZSA9IHRoaXMudGlueUgyNjRNb2R1bGUuX21hbGxvYyg0KSwgdGhpcy5fZGVjQnVmZmVyID0gdGhpcy50aW55SDI2NE1vZHVsZS5fbWFsbG9jKDEwNDg1NzYpLCB0aGlzLnRpbnlIMjY0TW9kdWxlLl9oMjY0YnNkSW5pdCh0aGlzLnBTdG9yYWdlLCAwKTsKICB9CiAgdmFyIEogPSBhLnByb3RvdHlwZTsKICByZXR1cm4gSi5yZWxlYXNlID0gZnVuY3Rpb24oKSB7CiAgICB2YXIgQyA9IHRoaXMucFN0b3JhZ2U7CiAgICBDICE9PSAwICYmICh0aGlzLnRpbnlIMjY0TW9kdWxlLl9oMjY0YnNkU2h1dGRvd24oQyksIHRoaXMudGlueUgyNjRNb2R1bGUuX2gyNjRic2RGcmVlKEMpKSwgdGhpcy50aW55SDI2NE1vZHVsZS5fZnJlZSh0aGlzLnBXaWR0aCksIHRoaXMudGlueUgyNjRNb2R1bGUuX2ZyZWUodGhpcy5wSGVpZ2h0KSwgdGhpcy50aW55SDI2NE1vZHVsZS5fZnJlZSh0aGlzLnBQaWN0dXJlKSwgdGhpcy5wU3RvcmFnZSA9IDAsIHRoaXMucFdpZHRoID0gMCwgdGhpcy5wSGVpZ2h0ID0gMDsKICB9LCBKLmRlY29kZSA9IGZ1bmN0aW9uKEMpIHsKICAgIEMgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlciAmJiAoQyA9IG5ldyBVaW50OEFycmF5KEMpKSwgdGhpcy50aW55SDI2NE1vZHVsZS5IRUFQVTguc2V0KEMsIHRoaXMuX2RlY0J1ZmZlcik7CiAgICB2YXIgUyA9IHRoaXMudGlueUgyNjRNb2R1bGUuX2gyNjRic2REZWNvZGUodGhpcy5wU3RvcmFnZSwgdGhpcy5fZGVjQnVmZmVyLCBDLmJ5dGVMZW5ndGgsIHRoaXMucFBpY3R1cmUsIHRoaXMucFdpZHRoLCB0aGlzLnBIZWlnaHQpOwogICAgaWYgKFMgPT09IGEuUElDX1JEWSkgewogICAgICB2YXIgRCA9IHRoaXMudGlueUgyNjRNb2R1bGUuZ2V0VmFsdWUodGhpcy5wV2lkdGgsICJpMzIiKSwgRSA9IHRoaXMudGlueUgyNjRNb2R1bGUuZ2V0VmFsdWUodGhpcy5wSGVpZ2h0LCAiaTMyIiksIHMgPSB0aGlzLnRpbnlIMjY0TW9kdWxlLmdldFZhbHVlKHRoaXMucFBpY3R1cmUsICJpOCoiKSwgRyA9IG5ldyBVaW50OEFycmF5KHRoaXMudGlueUgyNjRNb2R1bGUuSEVBUFU4LnN1YmFycmF5KHMsIHMgKyBEICogRSAqIDMgLyAyKSk7CiAgICAgIHRoaXMub25QaWN0dXJlUmVhZHkoRywgRCwgRSk7CiAgICB9CiAgfSwgYTsKfSgpOwpMLlJEWSA9IDA7CkwuUElDX1JEWSA9IDE7CkwuSERSU19SRFkgPSAyOwpMLkVSUk9SID0gMzsKTC5QQVJBTV9TRVRfRVJST1IgPSA0OwpMLk1FTUFMTE9DX0VSUk9SID0gNTsKdmFyIFNBID0gZnVuY3Rpb24oKSB7CiAgdmFyIGEgPSB0eXBlb2YgZG9jdW1lbnQgPCAidSIgJiYgZG9jdW1lbnQuY3VycmVudFNjcmlwdCA/IGRvY3VtZW50LmN1cnJlbnRTY3JpcHQuc3JjIDogdm9pZCAwOwogIHJldHVybiBmdW5jdGlvbihBKSB7CiAgICBBID0gQSB8fCB7fTsKICAgIHZhciBBID0gdHlwZW9mIEEgPCAidSIgPyBBIDoge30sIEMsIFM7CiAgICBBLnJlYWR5ID0gbmV3IFByb21pc2UoZnVuY3Rpb24oSSwgZykgewogICAgICBDID0gSSwgUyA9IGc7CiAgICB9KTsKICAgIHZhciBEID0ge30sIEU7CiAgICBmb3IgKEUgaW4gQSkKICAgICAgQS5oYXNPd25Qcm9wZXJ0eShFKSAmJiAoRFtFXSA9IEFbRV0pOwogICAgdmFyIHMgPSAhMCwgRyA9ICIiOwogICAgZnVuY3Rpb24gVShJKSB7CiAgICAgIHJldHVybiBBLmxvY2F0ZUZpbGUgPyBBLmxvY2F0ZUZpbGUoSSwgRykgOiBHICsgSTsKICAgIH0KICAgIHZhciBNOwogICAgRyA9IHNlbGYubG9jYXRpb24uaHJlZiwgYSAmJiAoRyA9IGEpLCBHLmluZGV4T2YoImJsb2I6IikgIT09IDAgPyBHID0gRy5zdWJzdHIoMCwgRy5sYXN0SW5kZXhPZigiLyIpICsgMSkgOiBHID0gIiIsIE0gPSBmdW5jdGlvbihnKSB7CiAgICAgIHRyeSB7CiAgICAgICAgdmFyIFEgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKICAgICAgICByZXR1cm4gUS5vcGVuKCJHRVQiLCBnLCAhMSksIFEucmVzcG9uc2VUeXBlID0gImFycmF5YnVmZmVyIiwgUS5zZW5kKG51bGwpLCBuZXcgVWludDhBcnJheShRLnJlc3BvbnNlKTsKICAgICAgfSBjYXRjaCAoeSkgewogICAgICAgIHZhciBCID0geihnKTsKICAgICAgICBpZiAoQikKICAgICAgICAgIHJldHVybiBCOwogICAgICAgIHRocm93IHk7CiAgICAgIH0KICAgIH0sIEEucHJpbnQgfHwgY29uc29sZS5sb2cuYmluZChjb25zb2xlKTsKICAgIHZhciBrID0gQS5wcmludEVyciB8fCBjb25zb2xlLndhcm4uYmluZChjb25zb2xlKTsKICAgIGZvciAoRSBpbiBEKQogICAgICBELmhhc093blByb3BlcnR5KEUpICYmIChBW0VdID0gRFtFXSk7CiAgICBEID0gbnVsbCwgQS5hcmd1bWVudHMgJiYgQS5hcmd1bWVudHMsIEEudGhpc1Byb2dyYW0gJiYgQS50aGlzUHJvZ3JhbSwgQS5xdWl0ICYmIEEucXVpdDsKICAgIHZhciBIOwogICAgQS53YXNtQmluYXJ5ICYmIChIID0gQS53YXNtQmluYXJ5KSwgQS5ub0V4aXRSdW50aW1lLCB0eXBlb2YgV2ViQXNzZW1ibHkgIT0gIm9iamVjdCIgJiYgYygibm8gbmF0aXZlIHdhc20gc3VwcG9ydCBkZXRlY3RlZCIpOwogICAgZnVuY3Rpb24gdihJLCBnLCBRKSB7CiAgICAgIHN3aXRjaCAoZyA9IGcgfHwgImk4IiwgZy5jaGFyQXQoZy5sZW5ndGggLSAxKSA9PT0gIioiICYmIChnID0gImkzMiIpLCBnKSB7CiAgICAgICAgY2FzZSAiaTEiOgogICAgICAgICAgcmV0dXJuIHRbSSA+PiAwXTsKICAgICAgICBjYXNlICJpOCI6CiAgICAgICAgICByZXR1cm4gdFtJID4+IDBdOwogICAgICAgIGNhc2UgImkxNiI6CiAgICAgICAgICByZXR1cm4gT1tJID4+IDFdOwogICAgICAgIGNhc2UgImkzMiI6CiAgICAgICAgICByZXR1cm4gbltJID4+IDJdOwogICAgICAgIGNhc2UgImk2NCI6CiAgICAgICAgICByZXR1cm4gbltJID4+IDJdOwogICAgICAgIGNhc2UgImZsb2F0IjoKICAgICAgICAgIHJldHVybiBsW0kgPj4gMl07CiAgICAgICAgY2FzZSAiZG91YmxlIjoKICAgICAgICAgIHJldHVybiBUW0kgPj4gM107CiAgICAgICAgZGVmYXVsdDoKICAgICAgICAgIGMoImludmFsaWQgdHlwZSBmb3IgZ2V0VmFsdWU6ICIgKyBnKTsKICAgICAgfQogICAgICByZXR1cm4gbnVsbDsKICAgIH0KICAgIHZhciBLLCBlID0gITE7CiAgICBmdW5jdGlvbiBfKEksIGcpIHsKICAgICAgcmV0dXJuIEkgJSBnID4gMCAmJiAoSSArPSBnIC0gSSAlIGcpLCBJOwogICAgfQogICAgdmFyIG0sIHQsIHIsIE8sIG4sIGwsIFQ7CiAgICBmdW5jdGlvbiBYKEkpIHsKICAgICAgbSA9IEksIEEuSEVBUDggPSB0ID0gbmV3IEludDhBcnJheShJKSwgQS5IRUFQMTYgPSBPID0gbmV3IEludDE2QXJyYXkoSSksIEEuSEVBUDMyID0gbiA9IG5ldyBJbnQzMkFycmF5KEkpLCBBLkhFQVBVOCA9IHIgPSBuZXcgVWludDhBcnJheShJKSwgQS5IRUFQVTE2ID0gbmV3IFVpbnQxNkFycmF5KEkpLCBBLkhFQVBVMzIgPSBuZXcgVWludDMyQXJyYXkoSSksIEEuSEVBUEYzMiA9IGwgPSBuZXcgRmxvYXQzMkFycmF5KEkpLCBBLkhFQVBGNjQgPSBUID0gbmV3IEZsb2F0NjRBcnJheShJKTsKICAgIH0KICAgIEEuSU5JVElBTF9NRU1PUlk7CiAgICB2YXIgcCwgYiA9IFtdLCBqID0gW10sIFYgPSBbXTsKICAgIGZ1bmN0aW9uICQoKSB7CiAgICAgIGlmIChBLnByZVJ1bikKICAgICAgICBmb3IgKHR5cGVvZiBBLnByZVJ1biA9PSAiZnVuY3Rpb24iICYmIChBLnByZVJ1biA9IFtBLnByZVJ1bl0pOyBBLnByZVJ1bi5sZW5ndGg7ICkKICAgICAgICAgIGdBKEEucHJlUnVuLnNoaWZ0KCkpOwogICAgICBaKGIpOwogICAgfQogICAgZnVuY3Rpb24gQUEoKSB7CiAgICAgIFooaik7CiAgICB9CiAgICBmdW5jdGlvbiBJQSgpIHsKICAgICAgaWYgKEEucG9zdFJ1bikKICAgICAgICBmb3IgKHR5cGVvZiBBLnBvc3RSdW4gPT0gImZ1bmN0aW9uIiAmJiAoQS5wb3N0UnVuID0gW0EucG9zdFJ1bl0pOyBBLnBvc3RSdW4ubGVuZ3RoOyApCiAgICAgICAgICBDQShBLnBvc3RSdW4uc2hpZnQoKSk7CiAgICAgIFooVik7CiAgICB9CiAgICBmdW5jdGlvbiBnQShJKSB7CiAgICAgIGIudW5zaGlmdChJKTsKICAgIH0KICAgIGZ1bmN0aW9uIFFBKEkpIHsKICAgICAgai51bnNoaWZ0KEkpOwogICAgfQogICAgZnVuY3Rpb24gQ0EoSSkgewogICAgICBWLnVuc2hpZnQoSSk7CiAgICB9CiAgICB2YXIgdyA9IDAsIEYgPSBudWxsOwogICAgZnVuY3Rpb24gQkEoSSkgewogICAgICB3KyssIEEubW9uaXRvclJ1bkRlcGVuZGVuY2llcyAmJiBBLm1vbml0b3JSdW5EZXBlbmRlbmNpZXModyk7CiAgICB9CiAgICBmdW5jdGlvbiBFQShJKSB7CiAgICAgIGlmICh3LS0sIEEubW9uaXRvclJ1bkRlcGVuZGVuY2llcyAmJiBBLm1vbml0b3JSdW5EZXBlbmRlbmNpZXModyksIHcgPT0gMCAmJiBGKSB7CiAgICAgICAgdmFyIGcgPSBGOwogICAgICAgIEYgPSBudWxsLCBnKCk7CiAgICAgIH0KICAgIH0KICAgIEEucHJlbG9hZGVkSW1hZ2VzID0ge30sIEEucHJlbG9hZGVkQXVkaW9zID0ge307CiAgICBmdW5jdGlvbiBjKEkpIHsKICAgICAgQS5vbkFib3J0ICYmIEEub25BYm9ydChJKSwgSSArPSAiIiwgayhJKSwgZSA9ICEwLCBJID0gImFib3J0KCIgKyBJICsgIikuIEJ1aWxkIHdpdGggLXMgQVNTRVJUSU9OUz0xIGZvciBtb3JlIGluZm8uIjsKICAgICAgdmFyIGcgPSBuZXcgV2ViQXNzZW1ibHkuUnVudGltZUVycm9yKEkpOwogICAgICB0aHJvdyBTKGcpLCBnOwogICAgfQogICAgdmFyIFAgPSAiZGF0YTphcHBsaWNhdGlvbi9vY3RldC1zdHJlYW07YmFzZTY0LCI7CiAgICBmdW5jdGlvbiBXKEkpIHsKICAgICAgcmV0dXJuIEkuc3RhcnRzV2l0aChQKTsKICAgIH0KICAgIHZhciBoOwogICAgaCA9ICJkYXRhOmFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbTtiYXNlNjQsQUdGemJRRUFBQUFCWWc1Z0NYOS9mMzkvZjM5L2Z3QmdBMzkvZndGL1lBSi9md0YvWUFGL0FYOWdBWDhBWUFSL2YzOS9BWDlnQm45L2YzOS9md0JnQW45L0FHQURmMzkvQUdBQUFHQUlmMzkvZjM5L2YzOEFZQVIvZjM5L0FHQUFBWDlnQm45L2YzOS9md0YvQWcwQ0FXRUJZUUFEQVdFQllnQUJBeVFqQWdFRUJRVUJBd0FCQ0FBR0F3Y0NBUUFHQWdrREFBQUFBQVFLQndJTEJBd0VEUUlFQlFGd0FRRUJCUWNCQVlBQ2dJQUNCZ2tCZndGQmdNVEFBZ3NIS1FvQll3SUFBV1FBRlFGbEFDUUJaZ0FJQVdjQUJBRm9BQ01CYVFBaUFXb0FJUUZyQUNBQmJBRUFDdktWQnlQM0NRRUpmeUFBS0FJRUlRVUNRQUpBQWtBQ1FBSkFJQUFvQWd4QkEzUWlDU0FBS0FJUUlnaHJJZ2RCSUU0RVFDQUZLQUFBSWdKQkdIUWdBa0VJZEVHQWdQd0hjWElnQWtFSWRrR0EvZ054SUFKQkdIWnljaUVESUFBb0FnZ2lBa1VOQVNBRElBSjBJQVV0QUFSQkNDQUNhM1p5SVFNTUFRc2dCMEVCU0FSQURBSUxJQVV0QUFBZ0FDZ0NDQ0lDUVJocUlnWjBJUU1nQWlBSGFrRUlheUlFUVFGSURRQWdCU0VDQTBBZ0FpMEFBU0FHUVFocklnWjBJQU55SVFNZ0JFRUlTaUVISUFKQkFXb2hBaUFFUVFocklRUWdCdzBBQ3dzZ0EwRi9UQVJBSUFBZ0NFRUJhaUlDTmdJUUlBQWdBa0VIY1RZQ0NFRUFJUVFnQWlBSlN3MENJQUFnQUNnQ0FDQUNRUU4yYWpZQ0JBd0NDeUFEUVlDQWdJQUVUd1JBSUFBZ0NFRURhaUlDTmdJUUlBQWdBa0VIY1RZQ0NFRUJJUVlnQWlBSlN3MEVJQUFnQUNnQ0FDQUNRUU4yYWpZQ0JDQURRUjEyUVFGeFFRRnFJUVFNQWdzZ0EwR0FnSUNBQWs4RVFDQUFJQWhCQldvaUFqWUNFQ0FBSUFKQkIzRTJBZ2hCQVNFR0lBSWdDVXNOQkNBQUlBQW9BZ0FnQWtFRGRtbzJBZ1FnQTBFYmRrRURjVUVEYWlFRURBSUxJQU5CZ0lDQWdBRkpEUUFnQUNBSVFRZHFJZ0kyQWhBZ0FDQUNRUWR4TmdJSVFRRWhCaUFDSUFsTERRTWdBQ0FBS0FJQUlBSkJBM1pxTmdJRUlBTkJHWFpCQjNGQkIyb2hCQXdCQzBHQWdJREFBQ0VFUVFRaENrRUFJUUlDUUNBRFFZQ0FnTUFBY1EwQUEwQUNRQ0FDSWdaQkFXb2hBaUFFUVFKSkRRQWdCRUVCZGlJRUlBTnhSUTBCQ3dzZ0JrRUZhaUlLUVNCSERRQWdBVUVBTmdJQUlBQWdBQ2dDRUNJS1FRZHhJZ00yQWdnZ0FDQUtRU0JxSWdJMkFoQWdBaUFBS0FJTVFRTjBJZ2ROQkVBZ0FDQUFLQUlBSUFKQkEzWnFJZ1UyQWdRTEFrQWdCeUFDYXlJR1FTQk9CRUFnQlNnQUFDSUNRUmgwSUFKQkNIUkJnSUQ4QjNGeUlBSkJDSFpCZ1A0RGNTQUNRUmgyY25JaEJDQURSUTBCSUFRZ0EzUWdCUzBBQkVFSUlBTnJkbkloQkF3QkN5QUdRUUZJQkVCQkFDRUVEQUVMSUFVdEFBQWdBMEVZY2lJQ2RDRUVJQU1nQm1wQkNHc2lBMEVCU0EwQUEwQWdCUzBBQVNBQ1FRaHJJZ0owSUFSeUlRUWdBMEVJU2lFR0lBVkJBV29oQlNBRFFRaHJJUU1nQmcwQUN3c2dBQ0FLUVNGcUlnTTJBaEFnQUNBRFFRZHhJZ1UyQWdoQkFTRUdJQU1nQjBzTkF5QUFJQUFvQWdBaUFpQURRUU4yYWpZQ0JDQUVRWDlLRFFNZ0FCQVdJUU1nQUNBRk5nSUlJQUFnQ2tIQkFHb2lCVFlDRUNBRklBZExEUU1nQUNBQ0lBVkJBM1pxTmdJRVFYOGhCQUpBSUFNT0FnTUFCQXRCQVNFRERBSUxJQUFnQWlBSWFrRUZhaUlJTmdJUUlBQWdDRUVIY1NJSE5nSUlJQWdnQ1UwRVFDQUFJQUFvQWdBZ0NFRURkbW9pQlRZQ0JBc0NRQ0FKSUFocklnTkJJRTRFUUNBRktBQUFJZ1pCR0hRZ0JrRUlkRUdBZ1B3SGNYSWdCa0VJZGtHQS9nTnhJQVpCR0haeWNpRUVJQWRGRFFFZ0JDQUhkQ0FGTFFBRVFRZ2dCMnQyY2lFRURBRUxJQU5CQVVnRVFFRUFJUVFNQVFzZ0JTMEFBQ0FIUVJoeUlnWjBJUVFnQXlBSGFrRUlheUlEUVFGSURRQURRQ0FGTFFBQklBWkJDR3NpQm5RZ0JISWhCQ0FEUVFoS0lRY2dCVUVCYWlFRklBTkJDR3NoQXlBSERRQUxDeUFBSUFnZ0Ntb2lCVFlDRUNBQUlBVkJCM0UyQWdoQkFTRUdJQVVnQ1VzTkFpQUFJQUFvQWdBZ0JVRURkbW8yQWdRZ0JFRWNJQUpyZGlJQVFYOUdEUUlnQUVGL0lBcDBRWDl6YWlFRUMwRUFJUU1MSUFFZ0JEWUNBQ0FESVFZTElBWUw4Z0lDQW44QmZnSkFJQUpGRFFBZ0FDQUNhaUlEUVFGcklBRTZBQUFnQUNBQk9nQUFJQUpCQTBrTkFDQURRUUpySUFFNkFBQWdBQ0FCT2dBQklBTkJBMnNnQVRvQUFDQUFJQUU2QUFJZ0FrRUhTUTBBSUFOQkJHc2dBVG9BQUNBQUlBRTZBQU1nQWtFSlNRMEFJQUJCQUNBQWEwRURjU0lFYWlJRElBRkIvd0Z4UVlHQ2hBaHNJZ0UyQWdBZ0F5QUNJQVJyUVh4eElnUnFJZ0pCQkdzZ0FUWUNBQ0FFUVFsSkRRQWdBeUFCTmdJSUlBTWdBVFlDQkNBQ1FRaHJJQUUyQWdBZ0FrRU1heUFCTmdJQUlBUkJHVWtOQUNBRElBRTJBaGdnQXlBQk5nSVVJQU1nQVRZQ0VDQURJQUUyQWd3Z0FrRVFheUFCTmdJQUlBSkJGR3NnQVRZQ0FDQUNRUmhySUFFMkFnQWdBa0VjYXlBQk5nSUFJQVFnQTBFRWNVRVljaUlFYXlJQ1FTQkpEUUFnQWExQ2dZQ0FnQkIrSVFVZ0F5QUVhaUVCQTBBZ0FTQUZOd01ZSUFFZ0JUY0RFQ0FCSUFVM0F3Z2dBU0FGTndNQUlBRkJJR29oQVNBQ1FTQnJJZ0pCSDBzTkFBc0xJQUFMekF3QkIzOENRQ0FBUlEwQUlBQkJDR3NpQXlBQVFRUnJLQUlBSWdGQmVIRWlBR29oQlFKQUlBRkJBWEVOQUNBQlFRTnhSUTBCSUFNZ0F5Z0NBQ0lCYXlJRFFaakFBQ2dDQUVrTkFTQUFJQUZxSVFBZ0EwR2N3QUFvQWdCSEJFQWdBVUgvQVUwRVFDQURLQUlJSWdJZ0FVRURkaUlFUVFOMFFiREFBR3BHR2lBQ0lBTW9BZ3dpQVVZRVFFR0l3QUJCaU1BQUtBSUFRWDRnQkhkeE5nSUFEQU1MSUFJZ0FUWUNEQ0FCSUFJMkFnZ01BZ3NnQXlnQ0dDRUdBa0FnQXlBREtBSU1JZ0ZIQkVBZ0F5Z0NDQ0lDSUFFMkFnd2dBU0FDTmdJSURBRUxBa0FnQTBFVWFpSUNLQUlBSWdRTkFDQURRUkJxSWdJb0FnQWlCQTBBUVFBaEFRd0JDd05BSUFJaEJ5QUVJZ0ZCRkdvaUFpZ0NBQ0lFRFFBZ0FVRVFhaUVDSUFFb0FoQWlCQTBBQ3lBSFFRQTJBZ0FMSUFaRkRRRUNRQ0FESUFNb0Fod2lBa0VDZEVHNHdnQnFJZ1FvQWdCR0JFQWdCQ0FCTmdJQUlBRU5BVUdNd0FCQmpNQUFLQUlBUVg0Z0FuZHhOZ0lBREFNTElBWkJFRUVVSUFZb0FoQWdBMFliYWlBQk5nSUFJQUZGRFFJTElBRWdCallDR0NBREtBSVFJZ0lFUUNBQklBSTJBaEFnQWlBQk5nSVlDeUFES0FJVUlnSkZEUUVnQVNBQ05nSVVJQUlnQVRZQ0dBd0JDeUFGS0FJRUlnRkJBM0ZCQTBjTkFFR1F3QUFnQURZQ0FDQUZJQUZCZm5FMkFnUWdBeUFBUVFGeU5nSUVJQUFnQTJvZ0FEWUNBQThMSUFNZ0JVOE5BQ0FGS0FJRUlnRkJBWEZGRFFBQ1FDQUJRUUp4UlFSQUlBVkJvTUFBS0FJQVJnUkFRYURBQUNBRE5nSUFRWlRBQUVHVXdBQW9BZ0FnQUdvaUFEWUNBQ0FESUFCQkFYSTJBZ1FnQTBHY3dBQW9BZ0JIRFFOQmtNQUFRUUEyQWdCQm5NQUFRUUEyQWdBUEN5QUZRWnpBQUNnQ0FFWUVRRUdjd0FBZ0F6WUNBRUdRd0FCQmtNQUFLQUlBSUFCcUlnQTJBZ0FnQXlBQVFRRnlOZ0lFSUFBZ0Eyb2dBRFlDQUE4TElBRkJlSEVnQUdvaEFBSkFJQUZCL3dGTkJFQWdCU2dDQ0NJQ0lBRkJBM1lpQkVFRGRFR3d3QUJxUmhvZ0FpQUZLQUlNSWdGR0JFQkJpTUFBUVlqQUFDZ0NBRUYrSUFSM2NUWUNBQXdDQ3lBQ0lBRTJBZ3dnQVNBQ05nSUlEQUVMSUFVb0FoZ2hCZ0pBSUFVZ0JTZ0NEQ0lCUndSQUlBVW9BZ2dpQWtHWXdBQW9BZ0JKR2lBQ0lBRTJBZ3dnQVNBQ05nSUlEQUVMQWtBZ0JVRVVhaUlDS0FJQUlnUU5BQ0FGUVJCcUlnSW9BZ0FpQkEwQVFRQWhBUXdCQ3dOQUlBSWhCeUFFSWdGQkZHb2lBaWdDQUNJRURRQWdBVUVRYWlFQ0lBRW9BaEFpQkEwQUN5QUhRUUEyQWdBTElBWkZEUUFDUUNBRklBVW9BaHdpQWtFQ2RFRzR3Z0JxSWdRb0FnQkdCRUFnQkNBQk5nSUFJQUVOQVVHTXdBQkJqTUFBS0FJQVFYNGdBbmR4TmdJQURBSUxJQVpCRUVFVUlBWW9BaEFnQlVZYmFpQUJOZ0lBSUFGRkRRRUxJQUVnQmpZQ0dDQUZLQUlRSWdJRVFDQUJJQUkyQWhBZ0FpQUJOZ0lZQ3lBRktBSVVJZ0pGRFFBZ0FTQUNOZ0lVSUFJZ0FUWUNHQXNnQXlBQVFRRnlOZ0lFSUFBZ0Eyb2dBRFlDQUNBRFFaekFBQ2dDQUVjTkFVR1F3QUFnQURZQ0FBOExJQVVnQVVGK2NUWUNCQ0FESUFCQkFYSTJBZ1FnQUNBRGFpQUFOZ0lBQ3lBQVFmOEJUUVJBSUFCQkEzWWlBVUVEZEVHd3dBQnFJUUFDZjBHSXdBQW9BZ0FpQWtFQklBRjBJZ0Z4UlFSQVFZakFBQ0FCSUFKeU5nSUFJQUFNQVFzZ0FDZ0NDQXNoQWlBQUlBTTJBZ2dnQWlBRE5nSU1JQU1nQURZQ0RDQURJQUkyQWdnUEMwRWZJUUlnQTBJQU53SVFJQUJCLy8vL0IwMEVRQ0FBUVFoMklnRWdBVUdBL2o5cVFSQjJRUWh4SWdGMElnSWdBa0dBNEI5cVFSQjJRUVJ4SWdKMElnUWdCRUdBZ0E5cVFSQjJRUUp4SWdSMFFROTJJQUVnQW5JZ0JISnJJZ0ZCQVhRZ0FDQUJRUlZxZGtFQmNYSkJIR29oQWdzZ0F5QUNOZ0ljSUFKQkFuUkJ1TUlBYWlFQkFrQUNRQUpBUVl6QUFDZ0NBQ0lFUVFFZ0FuUWlCM0ZGQkVCQmpNQUFJQVFnQjNJMkFnQWdBU0FETmdJQUlBTWdBVFlDR0F3QkN5QUFRUUJCR1NBQ1FRRjJheUFDUVI5R0czUWhBaUFCS0FJQUlRRURRQ0FCSWdRb0FnUkJlSEVnQUVZTkFpQUNRUjEySVFFZ0FrRUJkQ0VDSUFRZ0FVRUVjV29pQjBFUWFpZ0NBQ0lCRFFBTElBY2dBellDRUNBRElBUTJBaGdMSUFNZ0F6WUNEQ0FESUFNMkFnZ01BUXNnQkNnQ0NDSUFJQU0yQWd3Z0JDQUROZ0lJSUFOQkFEWUNHQ0FESUFRMkFnd2dBeUFBTmdJSUMwR293QUJCcU1BQUtBSUFRUUZySWdCQmZ5QUFHellDQUFzTDJBc0JGSDhnQVVHUVBXb3RBQUJCREd3aUIwSEVQR29vQWdBaEJTQUhRY0E4YWlnQ0FDQUJRWUE4YWkwQUFDSUdkQ0VFSUFKRkJFQWdBQ0FBS0FJQUlBUnNOZ0lBQ3lBRklBWjBJUUVDUUFKQUlBTkJuUDhEY1FSQVFRRWhBeUFBSUFBb0FqZ2dBV3dpQlNBQUtBSWtJQUZzSWcxcUlnd2dCMEhJUEdvb0FnQWdCblFpQWlBQUtBSThiQ0lHUVFGMUlBQW9BaWdnQW13aUNtb2lEMnNpQnpZQ1BDQUFJQTBnQldzaUJTQUtRUUYxSUFacklnMXJJZ1kyQWpnZ0FDZ0NOQ0VLSUFBZ0JTQU5haUlGTmdJMElBQWdBQ2dDTENBRWJDSUlJQUFvQWd3Z0JHd2lEbW9pRUNBQUtBSWdJQUZzSWdrZ0FTQUtiQ0lLUVFGMWFpSVNheUlOTmdJc0lBQWdEaUFJYXlJSUlBbEJBWFVnQ21zaURtc2lDallDS0NBQUlBZ2dEbW9pQ0RZQ0pDQUFJQUFvQWh3Z0FXd2lEaUFBS0FJSUlBRnNJZ2xxSWhRZ0FDZ0NFQ0FDYkNJTElBQW9BakFnQW13aUVVRUJkV29pRldzaUFqWUNIQ0FBS0FJWUlSTWdBQ0FKSUE1cklna2dDMEVCZFNBUmF5SUxheUlPTmdJWUlBQW9BaFFoRVNBQUlBa2dDMm9pQ1RZQ0ZDQUFJQVFnRVd3aUJDQUFLQUlBSWd0cUloRWdBQ2dDQkNBQmJDSVdJQUVnRTJ3aUUwRUJkV29pRjJzaUFUWUNEQ0FBSUFzZ0JHc2lDeUFXUVFGMUlCTnJJaE5ySWdRMkFnZ2dBQ0FMSUJOcUlnczJBZ1FnQUNBUUlCSnFJaEFnRVNBWGFpSVNha0VnYWlJUklCUWdGV29pRkNBTUlBOXFJZ3hCQVhWcUlnOXJRUVoxSWhVMkFqQWdBQ0FTSUJCclFTQnFJaEFnRkVFQmRTQU1heUlNYTBFR2RTSVNOZ0lnSUFBZ0RDQVFha0VHZFNJTU5nSVFJQUFnRHlBUmFrRUdkU0lQTmdJQUlBOUJnQVJxUWY4SFN3MENJQXhCZ0FScVFmOEhTdzBDSUJKQmdBUnFRZjhIU3cwQ0lCVkJnQVJxUWY4SFN3MENJQUFnQ0NBTGFrRWdhaUlNSUFWQkFYVWdDV29pRDJ0QkJuVWlFRFlDTkNBQUlBc2dDR3RCSUdvaUNDQUpRUUYxSUFWcklnVnJRUVoxSWdrMkFpUWdBQ0FGSUFocVFRWjFJZ1UyQWhRZ0FDQU1JQTlxUVFaMUlnZzJBZ1FnQ0VHQUJHcEIvd2RMRFFJZ0JVR0FCR3BCL3dkTERRSWdDVUdBQkdwQi93ZExEUUlnRUVHQUJHcEIvd2RMRFFJZ0FDQUVJQXBxUVNCcUlnVWdCa0VCZFNBT2FpSUlhMEVHZFNJSk5nSTRJQUFnQkNBS2EwRWdhaUlFSUE1QkFYVWdCbXNpQm10QkJuVWlDallDS0NBQUlBUWdCbXBCQm5VaUJEWUNHQ0FBSUFVZ0NHcEJCblVpQmpZQ0NDQUdRWUFFYWtIL0Iwc05BaUFFUVlBRWFrSC9CMHNOQWlBS1FZQUVha0gvQjBzTkFpQUpRWUFFYWtIL0Iwc05BaUFBSUFFZ0RXcEJJR29pQkNBSFFRRjFJQUpxSWdaclFRWjFJZ1UyQWp3Z0FDQUJJQTFyUVNCcUlnRWdBa0VCZFNBSGF5SUNhMEVHZFNJSE5nSXNJQUFnQVNBQ2FrRUdkU0lCTmdJY0lBQWdCQ0FHYWtFR2RTSUFOZ0lNSUFCQmdBUnFRZjhIU3cwQ0lBRkJnQVJxUWY4SFN3MENJQWRCZ0FScVFmOEhTdzBDSUFWQmdBUnFRZjhIVFEwQkRBSUxJQU5CNGdCeFJRUkFRUUVoQXlBQUtBSUFRU0JxUVFaMUlnRkJnQVJxUWY4SFN3MENJQUFnQVRZQ09DQUFJQUUyQWp3Z0FDQUJOZ0kwSUFBZ0FUWUNNQ0FBSUFFMkFpd2dBQ0FCTmdJb0lBQWdBVFlDSkNBQUlBRTJBaUFnQUNBQk5nSWNJQUFnQVRZQ0dDQUFJQUUyQWhRZ0FDQUJOZ0lRSUFBZ0FUWUNEQ0FBSUFFMkFnZ2dBQ0FCTmdJRUlBQWdBVFlDQUF3QkMwRUJJUU1nQUNBQUtBSUVJQUZzSWdVZ0FDZ0NHQ0FCYkNJTlFRRjFhaUlDSUFBb0FnQWlCeUFBS0FJVUlBUnNJZ1pxSWdScVFTQnFRUVoxSWdFMkFqQWdBQ0FFSUFKclFTQnFRUVoxSWdJMkFnd2dBQ0FGUVFGMUlBMXJJZ1VnQnlBR2EycEJJR3BCQm5VaUJEWUNCQ0FBSUFFMkFnQWdBQ0FCTmdJZ0lBQWdCRFlDTkNBQUlBRTJBaEFnQUNBRU5nSWtJQUFnQkRZQ0ZDQUFJQUkyQWp3Z0FDQUhJQVVnQm1wclFTQnFRUVoxSWdjMkFnZ2dBQ0FITmdJNElBQWdCellDS0NBQUlBYzJBaGdnQUNBQ05nSXNJQUFnQWpZQ0hDQUJRWUFFYWtIL0Iwc05BU0FFUVlBRWFrSC9CMHNOQVNBSFFZQUVha0gvQjBzTkFTQUNRWUFFYWtIL0Iwc05BUXRCQUNFREN5QURDL29hQVJGL0l3QkJnQUZySWcwa0FDQUFLQUlFSVFRQ2Z3SkFBbjhDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQ0FBS0FJTUloSkJBM1FpRUNBQUtBSVFJZ2xySWdWQklFNEVRQ0FFS0FBQUlnVkJHSFFnQlVFSWRFR0FnUHdIY1hJZ0JVRUlka0dBL2dOeElBVkJHSFp5Y2lFR0lBQW9BZ2dpQlVVTkFTQUdJQVYwSUFRdEFBUkJDQ0FGYTNaeUlRWU1BUXNnQlVFQlNBMEJJQVF0QUFBZ0FDZ0NDQ0lLUVJocUlnZDBJUVlnQlNBS2FrRUlheUlGUVFGSURRQURRQ0FFTFFBQklBZEJDR3NpQjNRZ0JuSWhCaUFGUVFoS0lRb2dCRUVCYWlFRUlBVkJDR3NoQlNBS0RRQUxDeUFDUVFKUERRTWdCa0VBU0FSQVFRRWhDd3dPQ3lBR1FSbDJRZjRBY1VHQUNHb2dCa0dBZ0lEZ0FFOE5EQm9nQmtFVmRrSCtEM0ZCd0FocUlBWkJnSUNBQ0U4TkRCb2dCa0dBZ0lBQlNRUkFJQVpCRUhZaEJBd0NDeUFHUVJGMlFmNy9BWEZCa0FscURBd0xRUUFoQkNBQ1FRSlBEUUVMSUFSQkFYUkJrQXBxREFvTElBSkJCRThOQVF3SUN5QUNRUVJKRFFZZ0FrRUlUdzBDSUFaQi8vLy8vd0ZORFFFZ0JrRVpka0grQUhGQjBBMXFEQWdMSUFKQkNFOE5BZ3NnQmtFVmRrSCtEM0ZCMEE1cURBWUxJQUpCRVVrTkFTQUdRZi8vLy84QlRRMENJQVpCSEhaQkRuRkIwQkZxREFVTElBSkJFRXNOQVFzZ0JrRVpka0grQUhGQjBCQnFEQU1MSUFaQkYzWkIvZ054UWVBUmFnd0NDeUFHUVg5TUJFQkJBa0dpRUNBR1FZQ0FnSUFFY1JzaEN3d0RDeUFHUVJsMlFmNEFjVUhRQ21vZ0JrR0FnSUNBQVU4TkFSb2dCa0dBZ0lBUVNRMEFJQVpCRm5aQi9nZHhRWkFMYWd3QkN5QUdRUkYyUWY3L0FYRkIwQXRxQ3k4QkFDSUxEUUJCQVF3QkMwRUJJQU1nQzBFTGRpSU9TUTBBR2tFZ0lBdEJIM0VpQW1zaENFRUFJUVVDUUNBTFFZQVFTUTBBSUFZZ0MzUWhCQUpBSUF0QkJYWkJQM0VpRDBVRVFFRUFJUWNNQVFzQ1FDQUlJQTlQRFFBZ0FDQUNJQWxxSWdrMkFoQWdBQ0FKUVFkeElnSTJBZ2hCQVNBSklCQkxEUU1hSUFBZ0FDZ0NBQ0FKUVFOMmFpSUZOZ0lFUVNBaENDQVFJQWxySWdwQklFNEVRQ0FGS0FBQUlnUkJHSFFnQkVFSWRFR0FnUHdIY1hJZ0JFRUlka0dBL2dOeElBUkJHSFp5Y2lFRUlBSkZEUUVnQkNBQ2RDQUZMUUFFUVFnZ0FtdDJjaUVFREFFTElBcEJBVWdFUUVFQUlRUU1BUXNnQlMwQUFDQUNRUmh5SWdkMElRUWdBaUFLYWtFSWF5SUdRUUZJRFFBRFFDQUZMUUFCSUFkQkNHc2lCM1FnQkhJaEJDQUdRUWhLSVFJZ0JVRUJhaUVGSUFaQkNHc2hCaUFDRFFBTEMwRUJJQTlCQVd0MElRVWdCRUVnSUE5cmRpRUNRUUFoQndOQUlBMUJRR3NnQjBFQ2RHcEJmMEVCSUFJZ0JYRWJOZ0lBSUFkQkFXb2hCeUFGUVFGTElRb2dCVUVCZGlFRklBb05BQXNnQ0NBUGF5RUlJQVFnRDNRaEJBc2dCeUFPU1FSQUlBOUJBMGtpRkNBTFFmK3ZBVXR4SVFvRFFBSkFJQWhCRDBzTkFDQUFJQWtnQ0d0QklHb2lDVFlDRUNBQUlBbEJCM0VpQWpZQ0NFRUJJQkpCQTNRaUJDQUpTUTBFR2lBQUlBQW9BZ0FnQ1VFRGRtb2lCVFlDQkNBRUlBbHJJZ3hCSUU0RVFDQUZLQUFBSWdSQkdIUWdCRUVJZEVHQWdQd0hjWElnQkVFSWRrR0EvZ054SUFSQkdIWnljaUVFUVNBaENDQUNSUTBCSUFRZ0FuUWdCUzBBQkVFSUlBSnJkbkloQkF3QkMwRUJJQXhCQVVnTkJCb2dCUzBBQUNBQ1FSaHlJZ3QwSVFSQklDRUlJQUlnREdwQkNHc2lCa0VCU0EwQUEwQWdCUzBBQVNBTFFRaHJJZ3QwSUFSeUlRUWdCa0VJU2lFQ0lBVkJBV29oQlNBR1FRaHJJUVlnQWcwQUN3dEJBQ0VGQWtBQ1FBSi9Ba0FnQkVFQVNBMEFRUUVoQlNBRVFmLy8vLzhEU3cwQVFRSWhCU0FFUWYvLy8vOEJTdzBBUVFNaEJTQUVRZi8vLy84QVN3MEFRUVFoQlNBRVFmLy8vejlMRFFCQkJTRUZJQVJCLy8vL0gwc05BRUVHSVFVZ0JFSC8vLzhQU3cwQVFRY2hCU0FFUWYvLy93ZExEUUJCQ0NFRklBUkIvLy8vQTBzTkFFRUpJUVVnQkVILy8vOEJTdzBBUVFvaEJTQUVRZi8vL3dCTERRQkJDeUVGSUFSQi8vOC9TdzBBUVF3aEJTQUVRZi8vSDBzTkFFRU5JUVVnQkVILy93OUxEUUFDZndKQUlBUkIvLzhIVFFSQUlBUkJnSUI4Y1VHQWdBUkdEUUZCQVF3S0N5QUtRUVFnQ2hzaERDQUlRUTlySVFoQkRpRUZJQVJCRDNRTUFRc2dDa0VCSUFvYklRb2dDRUVRYXlFSVFRd2hERUVQSVFVZ0JFRVFkQXNoQkNBRklBcDBJUXNnQ2tVTUFRc2dCU0FLZENFTFFRRWhFeUFJSUFWQkFXb2lBbXNoQ0NBRUlBSjBJUVFnQ2tVTkFTQUtJUXhCQUFzaEV3SkFJQWdnREU4RVFDQUVJUVVNQVFzZ0FDQUpJQWhyUVNCcUlnazJBaEFnQUNBSlFRZHhJZ1kyQWdoQkFTQVNRUU4wSUFsSkRRWWFJQUFnQUNnQ0FDQUpRUU4yYWlJRU5nSUVJQkFnQ1dzaUVVRWdUZ1JBSUFRb0FBQWlBa0VZZENBQ1FRaDBRWUNBL0FkeGNpQUNRUWgyUVlEK0EzRWdBa0VZZG5KeUlRVkJJQ0VJSUFaRkRRRWdCU0FHZENBRUxRQUVRUWdnQm10MmNpRUZEQUVMUVNBaENDQVJRUUZJQkVCQkFDRUZEQUVMSUFRdEFBQWdCa0VZY2lJQ2RDRUZJQVlnRVdwQkNHc2lCa0VCU0EwQUEwQWdCQzBBQVNBQ1FRaHJJZ0owSUFWeUlRVWdCa0VJU2lFUklBUkJBV29oQkNBR1FRaHJJUVlnRVEwQUN3c2dDQ0FNYXlFSUlBVWdESFFoQkNBRlFTQWdER3QySUF0cUlRc01BUXRCQUNFS0N5QU5RVUJySUFkQkFuUnFRUUFnQzBFQ2FpQUxJQWNnRDBZYklBc2dGQnNpQlVFQ2FrRUJkaUlDYXlBQ0lBVkJBWEViTmdJQVFRRWdDaUFUR3lJRklBVkJCa2tnQWtFRElBVkJBV3QwU25GcUlRb2dCMEVCYWlJSElBNUhEUUFMQzBFQUlRY2dBeUFPU3dSQUlBaEJDRTBFUUNBSklBaHJJUUpCSUNFSUlBQWdBa0VnYWlJSk5nSVFJQUFnQ1VFSGNUWUNDRUVCSUFrZ0VFc05BeG9nQUNBQUtBSUFJQWxCQTNacU5nSUVJQUFRRmlFRUN3SkFBa0FDZndKQUlBTkJCRWNFUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBSUE1QkFXc09EZzRBQVFJREJBVUdCd2dKQ2dzTUVBc2dCRUVhZGtIZ0Vtb01EZ3NnQkVFYWRrR2dFMm9NRFFzZ0JFRWJka0hnRTJvTURBc2dCRUViZGtHQUZHb01Dd3NnQkVFYWRrR2dGR29NQ2dzZ0JFRWFka0hnRkdvTUNRc2dCRUVhZGtHZ0ZXb01DQXNnQkVFYWRrSGdGV29NQndzZ0JFRWJka0dnRm1vTUJnc2dCRUVjZGtIQUZtb01CUXNnQkVFY2RrSFFGbW9NQkFzZ0JFRWRka0hnRm1vTUF3c2dCRUVlZGtIb0Ztb01BZ3NnQkVFQVNBUkFRUUVoQlF3RUMwRVJJUVVnRGtFRFJnMERRUkloQlNBRVFmLy8vLzhEU3cwRFFTSWhCU0FPUVFKR0RRTkJNMEVqSUFSQmdJQ0FnQUpKR3lFRkRBTUxJQVJCRjNaQndCSnFJZ0lnQWlBRVFSdDJJZ0pCb0JKcUlBSkJBVVliSUFSQmdJQ0F3QUJKR3dzdEFBQWlCUTBCUVFFTUJBdEJBVUVSSUFSQmYwb2JJUVVMSUFWQkJIWWhCeUFJSUFWQkQzRWlBbXNoQ0NBRUlBSjBJUVFMSUE1QkFXc2lBd1JBSUJKQkEzUWhEMEVBSVFvRFFBSkFJQWNFUUFKQUlBaEJDa3NOQUNBQUlBa2dDR3RCSUdvaUNUWUNFQ0FBSUFsQkIzRWlBallDQ0VFQklBa2dEMHNOQmhvZ0FDQUFLQUlBSUFsQkEzWnFJZ1UyQWdRZ0VDQUpheUlNUVNCT0JFQWdCU2dBQUNJRVFSaDBJQVJCQ0hSQmdJRDhCM0Z5SUFSQkNIWkJnUDREY1NBRVFSaDJjbkloQkVFZ0lRZ2dBa1VOQVNBRUlBSjBJQVV0QUFSQkNDQUNhM1p5SVFRTUFRdEJJQ0VJSUF4QkFVZ0VRRUVBSVFRTUFRc2dCUzBBQUNBQ1FSaHlJZ3QwSVFRZ0FpQU1ha0VJYXlJR1FRRklEUUFEUUNBRkxRQUJJQXRCQ0dzaUMzUWdCSEloQkNBR1FRaEtJUUlnQlVFQmFpRUZJQVpCQ0dzaEJpQUNEUUFMQ3dKQUFuOENRQUpBQWtBQ1FBSkFBa0FDUUNBSFFRRnJEZ1lHQUFFQ0F3UUZDeUFFUVI1MlFlNFdhZ3dHQ3lBRVFSNTJRZklXYWd3RkN5QUVRUjEyUWZZV2Fnd0VDeUFFUVIxMlFmNFdhZ3dEQ3lBRVFSMTJRWVlYYWd3Q0N3Si9RZk1BSUFSQkdYWkI4QUJ4YXlBRVFZQ0FnSUFDVHcwQUdrSDBBQ0FFUWYvLy8vOEFTdzBBR2tHRkFTQUVRZi8vL3o5TERRQWFRWllCSUFSQi8vLy9IMHNOQUJwQnB3RWdCRUgvLy84UFN3MEFHa0c0QVNBRVFmLy8vd2RMRFFBYVFja0JJQVJCLy8vL0Ewc05BQnBCMmdFZ0JFSC8vLzhCU3cwQUdrRUFRZXNCSUFSQmdJQ0FBVWtiQ3lJRlFRUjJJQWRORFFKQkFRd0lDeUFFUVI5MlFld1dhZ3N0QUFBaEJRdEJBU0FGUlEwRkdpQU5JQXBCQW5ScUlBVkJCSFlpQWtFQmFqWUNBQ0FISUFKcklRY2dDQ0FGUVE5eElnSnJJUWdnQkNBQ2RDRUVEQUVMSUEwZ0NrRUNkR3BCQVRZQ0FFRUFJUWNMSUFwQkFXb2lDaUFEUncwQUN5QUJJQWRCQW5ScUlBMUJRR3NnQTBFQ2RHb29BZ0EyQWdBZ0RrRUNheUVDUVFFZ0IzUWhCU0FEUVFGeEJIOGdBU0FOSUFKQkFuUWlBMm9vQWdBZ0Iyb2lCMEVDZEdvZ0RVRkFheUFEYWlnQ0FEWUNBRUVCSUFkMElBVnlJUVVnRGtFRGF3VWdBZ3NoQkNBQ1JRMEJBMEFnQVNBTklBUkJBblFpQTJvb0FnQWdCMm9pQWtFQ2RHb2dEVUZBYXlJTUlBTnFLQUlBTmdJQUlBRWdEU0FFUVFGcklnTkJBblFpQ21vb0FnQWdBbW9pQjBFQ2RHb2dDaUFNYWlnQ0FEWUNBRUVCSUFKMElBVnlRUUVnQjNSeUlRVWdCRUVDYXlFRUlBTU5BQXNNQVFzZ0FTQUhRUUowYWlBTktBSkFOZ0lBUVFFZ0IzUWhCUXNnQUNBQUtBSVFJQWhyUVNCcUlnRTJBaEFnQUNBQlFRZHhOZ0lJUVFFZ0FTQUFLQUlNUVFOMFN3MEFHaUFBSUFBb0FnQWdBVUVEZG1vMkFnUWdCVUVRZENBT1FRUjBjZ3NoQkNBTlFZQUJhaVFBSUFRTGd3UUJBMzhnQWtHQUJFOEVRQ0FBSUFFZ0FoQUJHaUFBRHdzZ0FDQUNhaUVEQWtBZ0FDQUJjMEVEY1VVRVFBSkFJQUJCQTNGRkJFQWdBQ0VDREFFTElBSkJBVWdFUUNBQUlRSU1BUXNnQUNFQ0EwQWdBaUFCTFFBQU9nQUFJQUZCQVdvaEFTQUNRUUZxSWdKQkEzRkZEUUVnQWlBRFNRMEFDd3NDUUNBRFFYeHhJZ1JCd0FCSkRRQWdBaUFFUVVCcUlnVkxEUUFEUUNBQ0lBRW9BZ0EyQWdBZ0FpQUJLQUlFTmdJRUlBSWdBU2dDQ0RZQ0NDQUNJQUVvQWd3MkFnd2dBaUFCS0FJUU5nSVFJQUlnQVNnQ0ZEWUNGQ0FDSUFFb0FoZzJBaGdnQWlBQktBSWNOZ0ljSUFJZ0FTZ0NJRFlDSUNBQ0lBRW9BaVEyQWlRZ0FpQUJLQUlvTmdJb0lBSWdBU2dDTERZQ0xDQUNJQUVvQWpBMkFqQWdBaUFCS0FJME5nSTBJQUlnQVNnQ09EWUNPQ0FDSUFFb0FqdzJBandnQVVGQWF5RUJJQUpCUUdzaUFpQUZUUTBBQ3dzZ0FpQUVUdzBCQTBBZ0FpQUJLQUlBTmdJQUlBRkJCR29oQVNBQ1FRUnFJZ0lnQkVrTkFBc01BUXNnQTBFRVNRUkFJQUFoQWd3QkN5QUFJQU5CQkdzaUJFc0VRQ0FBSVFJTUFRc2dBQ0VDQTBBZ0FpQUJMUUFBT2dBQUlBSWdBUzBBQVRvQUFTQUNJQUV0QUFJNkFBSWdBaUFCTFFBRE9nQURJQUZCQkdvaEFTQUNRUVJxSWdJZ0JFME5BQXNMSUFJZ0Ewa0VRQU5BSUFJZ0FTMEFBRG9BQUNBQlFRRnFJUUVnQWtFQmFpSUNJQU5IRFFBTEN5QUFDNEF2QVF0L0l3QkJFR3NpQ3lRQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQ0FBUWZRQlRRUkFRWWpBQUNnQ0FDSUhRUkFnQUVFTGFrRjRjU0FBUVF0Skd5SUdRUU4ySWdKMklnRkJBM0VFUUNBQlFYOXpRUUZ4SUFKcUlnUkJBM1FpQVVHNHdBQnFLQUlBSWdOQkNHb2hBQUpBSUFNb0FnZ2lBaUFCUWJEQUFHb2lBVVlFUUVHSXdBQWdCMEYrSUFSM2NUWUNBQXdCQ3lBQ0lBRTJBZ3dnQVNBQ05nSUlDeUFESUFSQkEzUWlBVUVEY2pZQ0JDQUJJQU5xSWdFZ0FTZ0NCRUVCY2pZQ0JBd01DeUFHUVpEQUFDZ0NBQ0lLVFEwQklBRUVRQUpBUVFJZ0FuUWlBRUVBSUFCcmNpQUJJQUowY1NJQVFRQWdBR3R4UVFGcklnQWdBRUVNZGtFUWNTSUNkaUlCUVFWMlFRaHhJZ0FnQW5JZ0FTQUFkaUlCUVFKMlFRUnhJZ0J5SUFFZ0FIWWlBVUVCZGtFQ2NTSUFjaUFCSUFCMklnRkJBWFpCQVhFaUFISWdBU0FBZG1vaUJFRURkQ0lBUWJqQUFHb29BZ0FpQXlnQ0NDSUJJQUJCc01BQWFpSUFSZ1JBUVlqQUFDQUhRWDRnQkhkeElnYzJBZ0FNQVFzZ0FTQUFOZ0lNSUFBZ0FUWUNDQXNnQTBFSWFpRUFJQU1nQmtFRGNqWUNCQ0FESUFacUlnSWdCRUVEZENJQklBWnJJZ1JCQVhJMkFnUWdBU0FEYWlBRU5nSUFJQW9FUUNBS1FRTjJJZ0ZCQTNSQnNNQUFhaUVGUVp6QUFDZ0NBQ0VEQW44Z0IwRUJJQUYwSWdGeFJRUkFRWWpBQUNBQklBZHlOZ0lBSUFVTUFRc2dCU2dDQ0FzaEFTQUZJQU0yQWdnZ0FTQUROZ0lNSUFNZ0JUWUNEQ0FESUFFMkFnZ0xRWnpBQUNBQ05nSUFRWkRBQUNBRU5nSUFEQXdMUVl6QUFDZ0NBQ0lKUlEwQklBbEJBQ0FKYTNGQkFXc2lBQ0FBUVF4MlFSQnhJZ0oySWdGQkJYWkJDSEVpQUNBQ2NpQUJJQUIySWdGQkFuWkJCSEVpQUhJZ0FTQUFkaUlCUVFGMlFRSnhJZ0J5SUFFZ0FIWWlBVUVCZGtFQmNTSUFjaUFCSUFCMmFrRUNkRUc0d2dCcUtBSUFJZ0VvQWdSQmVIRWdCbXNoQkNBQklRSURRQUpBSUFJb0FoQWlBRVVFUUNBQ0tBSVVJZ0JGRFFFTElBQW9BZ1JCZUhFZ0Jtc2lBaUFFSUFJZ0JFa2lBaHNoQkNBQUlBRWdBaHNoQVNBQUlRSU1BUXNMSUFFb0FoZ2hDQ0FCSUFFb0Fnd2lBMGNFUUNBQktBSUlJZ0JCbU1BQUtBSUFTUm9nQUNBRE5nSU1JQU1nQURZQ0NBd0xDeUFCUVJScUlnSW9BZ0FpQUVVRVFDQUJLQUlRSWdCRkRRTWdBVUVRYWlFQ0N3TkFJQUloQlNBQUlnTkJGR29pQWlnQ0FDSUFEUUFnQTBFUWFpRUNJQU1vQWhBaUFBMEFDeUFGUVFBMkFnQU1DZ3RCZnlFR0lBQkJ2MzlMRFFBZ0FFRUxhaUlBUVhoeElRWkJqTUFBS0FJQUlnbEZEUUJCQUNBR2F5RUVBa0FDUUFKQUFuOUJBQ0FHUVlBQ1NRMEFHa0VmSUFaQi8vLy9CMHNOQUJvZ0FFRUlkaUlBSUFCQmdQNC9ha0VRZGtFSWNTSUNkQ0lBSUFCQmdPQWZha0VRZGtFRWNTSUJkQ0lBSUFCQmdJQVBha0VRZGtFQ2NTSUFkRUVQZGlBQklBSnlJQUJ5YXlJQVFRRjBJQVlnQUVFVmFuWkJBWEZ5UVJ4cUN5SUhRUUowUWJqQ0FHb29BZ0FpQWtVRVFFRUFJUUFNQVF0QkFDRUFJQVpCQUVFWklBZEJBWFpySUFkQkgwWWJkQ0VCQTBBQ1FDQUNLQUlFUVhoeElBWnJJZ1VnQkU4TkFDQUNJUU1nQlNJRURRQkJBQ0VFSUFJaEFBd0RDeUFBSUFJb0FoUWlCU0FGSUFJZ0FVRWRka0VFY1dvb0FoQWlBa1liSUFBZ0JSc2hBQ0FCUVFGMElRRWdBZzBBQ3dzZ0FDQURja1VFUUVFQUlRTkJBaUFIZENJQVFRQWdBR3R5SUFseElnQkZEUU1nQUVFQUlBQnJjVUVCYXlJQUlBQkJESFpCRUhFaUFuWWlBVUVGZGtFSWNTSUFJQUp5SUFFZ0FIWWlBVUVDZGtFRWNTSUFjaUFCSUFCMklnRkJBWFpCQW5FaUFISWdBU0FBZGlJQlFRRjJRUUZ4SWdCeUlBRWdBSFpxUVFKMFFiakNBR29vQWdBaEFBc2dBRVVOQVFzRFFDQUFLQUlFUVhoeElBWnJJZ0VnQkVraEFpQUJJQVFnQWhzaEJDQUFJQU1nQWhzaEF5QUFLQUlRSWdFRWZ5QUJCU0FBS0FJVUN5SUFEUUFMQ3lBRFJRMEFJQVJCa01BQUtBSUFJQVpyVHcwQUlBTW9BaGdoQnlBRElBTW9BZ3dpQVVjRVFDQURLQUlJSWdCQm1NQUFLQUlBU1JvZ0FDQUJOZ0lNSUFFZ0FEWUNDQXdKQ3lBRFFSUnFJZ0lvQWdBaUFFVUVRQ0FES0FJUUlnQkZEUU1nQTBFUWFpRUNDd05BSUFJaEJTQUFJZ0ZCRkdvaUFpZ0NBQ0lBRFFBZ0FVRVFhaUVDSUFFb0FoQWlBQTBBQ3lBRlFRQTJBZ0FNQ0FzZ0JrR1F3QUFvQWdBaUFrMEVRRUdjd0FBb0FnQWhCQUpBSUFJZ0Jtc2lBVUVRVHdSQVFaREFBQ0FCTmdJQVFaekFBQ0FFSUFacUlnQTJBZ0FnQUNBQlFRRnlOZ0lFSUFJZ0JHb2dBVFlDQUNBRUlBWkJBM0kyQWdRTUFRdEJuTUFBUVFBMkFnQkJrTUFBUVFBMkFnQWdCQ0FDUVFOeU5nSUVJQUlnQkdvaUFDQUFLQUlFUVFGeU5nSUVDeUFFUVFocUlRQU1DZ3NnQmtHVXdBQW9BZ0FpQ0VrRVFFR1V3QUFnQ0NBR2F5SUJOZ0lBUWFEQUFFR2d3QUFvQWdBaUFpQUdhaUlBTmdJQUlBQWdBVUVCY2pZQ0JDQUNJQVpCQTNJMkFnUWdBa0VJYWlFQURBb0xRUUFoQUNBR1FTOXFJZ2tDZjBIZ3d3QW9BZ0FFUUVIb3d3QW9BZ0FNQVF0QjdNTUFRbjgzQWdCQjVNTUFRb0NnZ0lDQWdBUTNBZ0JCNE1NQUlBdEJER3BCY0hGQjJLclZxZ1Z6TmdJQVFmVERBRUVBTmdJQVFjVERBRUVBTmdJQVFZQWdDeUlCYWlJSFFRQWdBV3NpQlhFaUFpQUdUUTBKUWNEREFDZ0NBQ0lEQkVCQnVNTUFLQUlBSWdRZ0Ftb2lBU0FFVFEwS0lBRWdBMHNOQ2d0QnhNTUFMUUFBUVFSeERRUUNRQUpBUWFEQUFDZ0NBQ0lFQkVCQnlNTUFJUUFEUUNBRUlBQW9BZ0FpQVU4RVFDQUJJQUFvQWdScUlBUkxEUU1MSUFBb0FnZ2lBQTBBQ3d0QkFCQU9JZ0ZCZjBZTkJTQUNJUWRCNU1NQUtBSUFJZ1JCQVdzaUFDQUJjUVJBSUFJZ0FXc2dBQ0FCYWtFQUlBUnJjV29oQndzZ0JpQUhUdzBGSUFkQi92Ly8vd2RMRFFWQndNTUFLQUlBSWdNRVFFRzR3d0FvQWdBaUJDQUhhaUlBSUFSTkRRWWdBQ0FEU3cwR0N5QUhFQTRpQUNBQlJ3MEJEQWNMSUFjZ0NHc2dCWEVpQjBIKy8vLy9CMHNOQkNBSEVBNGlBU0FBS0FJQUlBQW9BZ1JxUmcwRElBRWhBQXNDUUNBQVFYOUdEUUFnQmtFd2FpQUhUUTBBUWVqREFDZ0NBQ0lCSUFrZ0IydHFRUUFnQVd0eElnRkIvdi8vL3dkTEJFQWdBQ0VCREFjTElBRVFEa0YvUndSQUlBRWdCMm9oQnlBQUlRRU1Cd3RCQUNBSGF4QU9HZ3dFQ3lBQUlnRkJmMGNOQlF3REMwRUFJUU1NQnd0QkFDRUJEQVVMSUFGQmYwY05BZ3RCeE1NQVFjVERBQ2dDQUVFRWNqWUNBQXNnQWtIKy8vLy9CMHNOQVVHQXdBQW9BZ0FpQVNBQ1FRTnFRWHh4SWdKcUlRQUNRQUpBQW44Q1FDQUNSUTBBSUFBZ0FVc05BQ0FCREFFTElBQS9BRUVRZEUwTkFTQUFFQUFOQVVHQXdBQW9BZ0FMSVFCQmhNQUFRVEEyQWdCQmZ5RUJEQUVMUVlEQUFDQUFOZ0lBQ3lBQVB3QkJFSFJMQkVBZ0FCQUFSUTBDQzBHQXdBQWdBRFlDQUNBQlFYOUdEUUVnQUVGL1JnMEJJQUFnQVUwTkFTQUFJQUZySWdjZ0JrRW9hazBOQVF0QnVNTUFRYmpEQUNnQ0FDQUhhaUlBTmdJQVFiekRBQ2dDQUNBQVNRUkFRYnpEQUNBQU5nSUFDd0pBQWtBQ1FFR2d3QUFvQWdBaUJRUkFRY2pEQUNFQUEwQWdBU0FBS0FJQUlnUWdBQ2dDQkNJQ2FrWU5BaUFBS0FJSUlnQU5BQXNNQWd0Qm1NQUFLQUlBSWdCQkFDQUFJQUZORzBVRVFFR1l3QUFnQVRZQ0FBdEJBQ0VBUWN6REFDQUhOZ0lBUWNqREFDQUJOZ0lBUWFqQUFFRi9OZ0lBUWF6QUFFSGd3d0FvQWdBMkFnQkIxTU1BUVFBMkFnQURRQ0FBUVFOMElnUkJ1TUFBYWlBRVFiREFBR29pQWpZQ0FDQUVRYnpBQUdvZ0FqWUNBQ0FBUVFGcUlnQkJJRWNOQUF0QmxNQUFJQWRCS0dzaUJFRjRJQUZyUVFkeFFRQWdBVUVJYWtFSGNSc2lBR3NpQWpZQ0FFR2d3QUFnQUNBQmFpSUFOZ0lBSUFBZ0FrRUJjallDQkNBQklBUnFRU2cyQWdSQnBNQUFRZkREQUNnQ0FEWUNBQXdDQ3lBQUxRQU1RUWh4RFFBZ0JDQUZTdzBBSUFFZ0JVME5BQ0FBSUFJZ0IybzJBZ1JCb01BQUlBVkJlQ0FGYTBFSGNVRUFJQVZCQ0dwQkIzRWJJZ0JxSWdJMkFnQkJsTUFBUVpUQUFDZ0NBQ0FIYWlJQklBQnJJZ0EyQWdBZ0FpQUFRUUZ5TmdJRUlBRWdCV3BCS0RZQ0JFR2t3QUJCOE1NQUtBSUFOZ0lBREFFTFFaakFBQ2dDQUNBQlN3UkFRWmpBQUNBQk5nSUFDeUFCSUFkcUlRUkJ5TU1BSVFJQ1FBTkFJQVFnQWlnQ0FFY0VRRUhJd3dBaEFDQUNLQUlJSWdJTkFRd0NDd3RCeU1NQUlRQWdBaTBBREVFSWNRMEFJQUlnQVRZQ0FDQUNJQUlvQWdRZ0IybzJBZ1FnQVVGNElBRnJRUWR4UVFBZ0FVRUlha0VIY1J0cUlna2dCa0VEY2pZQ0JDQUVRWGdnQkd0QkIzRkJBQ0FFUVFocVFRZHhHMm9pQXlBR0lBbHFJZ2hySVFJQ1FDQURJQVZHQkVCQm9NQUFJQWcyQWdCQmxNQUFRWlRBQUNnQ0FDQUNhaUlBTmdJQUlBZ2dBRUVCY2pZQ0JBd0JDeUFEUVp6QUFDZ0NBRVlFUUVHY3dBQWdDRFlDQUVHUXdBQkJrTUFBS0FJQUlBSnFJZ0EyQWdBZ0NDQUFRUUZ5TmdJRUlBQWdDR29nQURZQ0FBd0JDeUFES0FJRUlnQkJBM0ZCQVVZRVFDQUFRWGh4SVFjQ1FDQUFRZjhCVFFSQUlBTW9BZ2dpQkNBQVFRTjJJZ0JCQTNSQnNNQUFha1lhSUFRZ0F5Z0NEQ0lCUmdSQVFZakFBRUdJd0FBb0FnQkJmaUFBZDNFMkFnQU1BZ3NnQkNBQk5nSU1JQUVnQkRZQ0NBd0JDeUFES0FJWUlRWUNRQ0FESUFNb0Fnd2lBVWNFUUNBREtBSUlJZ0FnQVRZQ0RDQUJJQUEyQWdnTUFRc0NRQ0FEUVJScUlnQW9BZ0FpQkEwQUlBTkJFR29pQUNnQ0FDSUVEUUJCQUNFQkRBRUxBMEFnQUNFRklBUWlBVUVVYWlJQUtBSUFJZ1FOQUNBQlFSQnFJUUFnQVNnQ0VDSUVEUUFMSUFWQkFEWUNBQXNnQmtVTkFBSkFJQU1nQXlnQ0hDSUVRUUowUWJqQ0FHb2lBQ2dDQUVZRVFDQUFJQUUyQWdBZ0FRMEJRWXpBQUVHTXdBQW9BZ0JCZmlBRWQzRTJBZ0FNQWdzZ0JrRVFRUlFnQmlnQ0VDQURSaHRxSUFFMkFnQWdBVVVOQVFzZ0FTQUdOZ0lZSUFNb0FoQWlBQVJBSUFFZ0FEWUNFQ0FBSUFFMkFoZ0xJQU1vQWhRaUFFVU5BQ0FCSUFBMkFoUWdBQ0FCTmdJWUN5QURJQWRxSVFNZ0FpQUhhaUVDQ3lBRElBTW9BZ1JCZm5FMkFnUWdDQ0FDUVFGeU5nSUVJQUlnQ0dvZ0FqWUNBQ0FDUWY4QlRRUkFJQUpCQTNZaUFFRURkRUd3d0FCcUlRSUNmMEdJd0FBb0FnQWlBVUVCSUFCMElnQnhSUVJBUVlqQUFDQUFJQUZ5TmdJQUlBSU1BUXNnQWlnQ0NBc2hBQ0FDSUFnMkFnZ2dBQ0FJTmdJTUlBZ2dBallDRENBSUlBQTJBZ2dNQVF0Qkh5RUFJQUpCLy8vL0IwMEVRQ0FDUVFoMklnQWdBRUdBL2o5cVFSQjJRUWh4SWdSMElnQWdBRUdBNEI5cVFSQjJRUVJ4SWdGMElnQWdBRUdBZ0E5cVFSQjJRUUp4SWdCMFFROTJJQUVnQkhJZ0FISnJJZ0JCQVhRZ0FpQUFRUlZxZGtFQmNYSkJIR29oQUFzZ0NDQUFOZ0ljSUFoQ0FEY0NFQ0FBUVFKMFFiakNBR29oQXdKQUFrQkJqTUFBS0FJQUlnUkJBU0FBZENJQmNVVUVRRUdNd0FBZ0FTQUVjallDQUNBRElBZzJBZ0FnQ0NBRE5nSVlEQUVMSUFKQkFFRVpJQUJCQVhacklBQkJIMFliZENFQUlBTW9BZ0FoQVFOQUlBRWlCQ2dDQkVGNGNTQUNSZzBDSUFCQkhYWWhBU0FBUVFGMElRQWdCQ0FCUVFSeGFpSURLQUlRSWdFTkFBc2dBeUFJTmdJUUlBZ2dCRFlDR0FzZ0NDQUlOZ0lNSUFnZ0NEWUNDQXdCQ3lBRUtBSUlJZ0FnQ0RZQ0RDQUVJQWcyQWdnZ0NFRUFOZ0lZSUFnZ0JEWUNEQ0FJSUFBMkFnZ0xJQWxCQ0dvaEFBd0ZDd05BQWtBZ0JTQUFLQUlBSWdKUEJFQWdBaUFBS0FJRWFpSURJQVZMRFFFTElBQW9BZ2doQUF3QkN3dEJsTUFBSUFkQktHc2lCRUY0SUFGclFRZHhRUUFnQVVFSWFrRUhjUnNpQUdzaUFqWUNBRUdnd0FBZ0FDQUJhaUlBTmdJQUlBQWdBa0VCY2pZQ0JDQUJJQVJxUVNnMkFnUkJwTUFBUWZEREFDZ0NBRFlDQUNBRklBTkJKeUFEYTBFSGNVRUFJQU5CSjJ0QkIzRWJha0V2YXlJQUlBQWdCVUVRYWtrYklnSkJHellDQkNBQ1FkRERBQ2tDQURjQ0VDQUNRY2pEQUNrQ0FEY0NDRUhRd3dBZ0FrRUlhallDQUVITXd3QWdCellDQUVISXd3QWdBVFlDQUVIVXd3QkJBRFlDQUNBQ1FSaHFJUUFEUUNBQVFRYzJBZ1FnQUVFSWFpRUJJQUJCQkdvaEFDQUJJQU5KRFFBTElBSWdCVVlOQUNBQ0lBSW9BZ1JCZm5FMkFnUWdCU0FDSUFWcklnTkJBWEkyQWdRZ0FpQUROZ0lBSUFOQi93Rk5CRUFnQTBFRGRpSUFRUU4wUWJEQUFHb2hBZ0ovUVlqQUFDZ0NBQ0lCUVFFZ0FIUWlBSEZGQkVCQmlNQUFJQUFnQVhJMkFnQWdBZ3dCQ3lBQ0tBSUlDeUVBSUFJZ0JUWUNDQ0FBSUFVMkFnd2dCU0FDTmdJTUlBVWdBRFlDQ0F3QkMwRWZJUUFnQlVJQU53SVFJQU5CLy8vL0IwMEVRQ0FEUVFoMklnQWdBRUdBL2o5cVFSQjJRUWh4SWdKMElnQWdBRUdBNEI5cVFSQjJRUVJ4SWdGMElnQWdBRUdBZ0E5cVFSQjJRUUp4SWdCMFFROTJJQUVnQW5JZ0FISnJJZ0JCQVhRZ0F5QUFRUlZxZGtFQmNYSkJIR29oQUFzZ0JTQUFOZ0ljSUFCQkFuUkJ1TUlBYWlFRUFrQUNRRUdNd0FBb0FnQWlBa0VCSUFCMElnRnhSUVJBUVl6QUFDQUJJQUp5TmdJQUlBUWdCVFlDQUNBRklBUTJBaGdNQVFzZ0EwRUFRUmtnQUVFQmRtc2dBRUVmUmh0MElRQWdCQ2dDQUNFQkEwQWdBU0lDS0FJRVFYaHhJQU5HRFFJZ0FFRWRkaUVCSUFCQkFYUWhBQ0FDSUFGQkJIRnFJZ1FvQWhBaUFRMEFDeUFFSUFVMkFoQWdCU0FDTmdJWUN5QUZJQVUyQWd3Z0JTQUZOZ0lJREFFTElBSW9BZ2dpQUNBRk5nSU1JQUlnQlRZQ0NDQUZRUUEyQWhnZ0JTQUNOZ0lNSUFVZ0FEWUNDQXRCbE1BQUtBSUFJZ0FnQmswTkFFR1V3QUFnQUNBR2F5SUJOZ0lBUWFEQUFFR2d3QUFvQWdBaUFpQUdhaUlBTmdJQUlBQWdBVUVCY2pZQ0JDQUNJQVpCQTNJMkFnUWdBa0VJYWlFQURBTUxRUUFoQUVHRXdBQkJNRFlDQUF3Q0N3SkFJQWRGRFFBQ1FDQURLQUljSWdKQkFuUkJ1TUlBYWlJQUtBSUFJQU5HQkVBZ0FDQUJOZ0lBSUFFTkFVR013QUFnQ1VGK0lBSjNjU0lKTmdJQURBSUxJQWRCRUVFVUlBY29BaEFnQTBZYmFpQUJOZ0lBSUFGRkRRRUxJQUVnQnpZQ0dDQURLQUlRSWdBRVFDQUJJQUEyQWhBZ0FDQUJOZ0lZQ3lBREtBSVVJZ0JGRFFBZ0FTQUFOZ0lVSUFBZ0FUWUNHQXNDUUNBRVFROU5CRUFnQXlBRUlBWnFJZ0JCQTNJMkFnUWdBQ0FEYWlJQUlBQW9BZ1JCQVhJMkFnUU1BUXNnQXlBR1FRTnlOZ0lFSUFNZ0Jtb2lCU0FFUVFGeU5nSUVJQVFnQldvZ0JEWUNBQ0FFUWY4QlRRUkFJQVJCQTNZaUFFRURkRUd3d0FCcUlRSUNmMEdJd0FBb0FnQWlBVUVCSUFCMElnQnhSUVJBUVlqQUFDQUFJQUZ5TmdJQUlBSU1BUXNnQWlnQ0NBc2hBQ0FDSUFVMkFnZ2dBQ0FGTmdJTUlBVWdBallDRENBRklBQTJBZ2dNQVF0Qkh5RUFJQVJCLy8vL0IwMEVRQ0FFUVFoMklnQWdBRUdBL2o5cVFSQjJRUWh4SWdKMElnQWdBRUdBNEI5cVFSQjJRUVJ4SWdGMElnQWdBRUdBZ0E5cVFSQjJRUUp4SWdCMFFROTJJQUVnQW5JZ0FISnJJZ0JCQVhRZ0JDQUFRUlZxZGtFQmNYSkJIR29oQUFzZ0JTQUFOZ0ljSUFWQ0FEY0NFQ0FBUVFKMFFiakNBR29oQVFKQUFrQWdDVUVCSUFCMElnSnhSUVJBUVl6QUFDQUNJQWx5TmdJQUlBRWdCVFlDQUF3QkN5QUVRUUJCR1NBQVFRRjJheUFBUVI5R0czUWhBQ0FCS0FJQUlRWURRQ0FHSWdFb0FnUkJlSEVnQkVZTkFpQUFRUjEySVFJZ0FFRUJkQ0VBSUFFZ0FrRUVjV29pQWlnQ0VDSUdEUUFMSUFJZ0JUWUNFQXNnQlNBQk5nSVlJQVVnQlRZQ0RDQUZJQVUyQWdnTUFRc2dBU2dDQ0NJQUlBVTJBZ3dnQVNBRk5nSUlJQVZCQURZQ0dDQUZJQUUyQWd3Z0JTQUFOZ0lJQ3lBRFFRaHFJUUFNQVFzQ1FDQUlSUTBBQWtBZ0FTZ0NIQ0lDUVFKMFFiakNBR29pQUNnQ0FDQUJSZ1JBSUFBZ0F6WUNBQ0FERFFGQmpNQUFJQWxCZmlBQ2QzRTJBZ0FNQWdzZ0NFRVFRUlFnQ0NnQ0VDQUJSaHRxSUFNMkFnQWdBMFVOQVFzZ0F5QUlOZ0lZSUFFb0FoQWlBQVJBSUFNZ0FEWUNFQ0FBSUFNMkFoZ0xJQUVvQWhRaUFFVU5BQ0FESUFBMkFoUWdBQ0FETmdJWUN3SkFJQVJCRDAwRVFDQUJJQVFnQm1vaUFFRURjallDQkNBQUlBRnFJZ0FnQUNnQ0JFRUJjallDQkF3QkN5QUJJQVpCQTNJMkFnUWdBU0FHYWlJQ0lBUkJBWEkyQWdRZ0FpQUVhaUFFTmdJQUlBb0VRQ0FLUVFOMklnQkJBM1JCc01BQWFpRUZRWnpBQUNnQ0FDRURBbjlCQVNBQWRDSUFJQWR4UlFSQVFZakFBQ0FBSUFkeU5nSUFJQVVNQVFzZ0JTZ0NDQXNoQUNBRklBTTJBZ2dnQUNBRE5nSU1JQU1nQlRZQ0RDQURJQUEyQWdnTFFaekFBQ0FDTmdJQVFaREFBQ0FFTmdJQUN5QUJRUWhxSVFBTElBdEJFR29rQUNBQUMrNFdBUkIvSUFBZ0JFRUFJQVpySUFJZ0FpQUdha0VBU0JzaUFpQUNJQVJLR3lJT1FRQWdEa0VBU2hzaUZHb2dCVUVBSUFkcklBTWdBeUFIYWtFQVNCc2lBQ0FBSUFWS0d5SURJQVJzUVFBZ0EwRUFTaHRxSVFrZ0IwRUFJQU5ySUFOQkgzVnhJZ29nQXlBSGFpSVZJQVZySWhKQkFDQUZJQlZJR3lJWGFtc2hEeUFHUVFBZ0Rtc2dEa0VmZFhFaUN5QUdJQTVxSWhNZ0JHdEJBQ0FFSUJOSUlnQWJJZzFxYXlFTUFrQWdEa0VBU0NBQWNpSVlSUVJBQWtBZ0NrVU5BQ0FLUVFOeElnSUVRQU5BSUFwQkFXc2hDaUFCSUFrZ0RCQUhJQWhxSVFFZ0FrRUJheUlDRFFBTEN5QURRWDl6SUFOQkFDQURRUUJLRzJwQkEwa05BQU5BSUFFZ0NTQU1FQWNnQ0dvZ0NTQU1FQWNnQ0dvZ0NTQU1FQWNnQ0dvZ0NTQU1FQWNnQ0dvaEFTQUtRUVJySWdvTkFBc0xJQTlGRFFFZ0QwRURjU0lDQkVBRFFDQVBRUUZySVE4Z0FTQUpJQXdRQnlBSWFpRUJJQVFnQ1dvaENTQUNRUUZySWdJTkFBc0xJQVVnQjJvZ0Eyb2dCU0FWSUFVZ0ZVb2JRWDl6YWlBRFFRQWdBMEVBU2h0clFRTkpEUUVEUUNBQklBa2dEQkFISUFocUlBUWdDV29pQUNBTUVBY2dDR29nQUNBRWFpSUFJQXdRQnlBSWFpQUFJQVJxSWdBZ0RCQUhJQWhxSVFFZ0FDQUVhaUVKSUE5QkJHc2lEdzBBQ3d3QkN3SkFJQXBGRFFBQ1FDQU1SUVJBSUFsQkFXc2hBaUFMUlFSQUlBMUZEUUlnQTBGL2N5QURRUUFnQTBFQVNodHFJUUFnQ2tFRGNTSURCRUFEUUNBS1FRRnJJUW9nQVNBQ0xRQUFJQTBRQXlBSWFpRUJJQU5CQVdzaUF3MEFDd3NnQUVFRFNRMERJQXBCQkdzaUFFRUVjVVVFUUNBQUlRb2dBU0FDTFFBQUlBMFFBeUFJYWlBQ0xRQUFJQTBRQXlBSWFpQUNMUUFBSUEwUUF5QUlhaUFDTFFBQUlBMFFBeUFJYWlFQkN5QUFRUVJKRFFNRFFDQUJJQUl0QUFBZ0RSQURJQWhxSUFJdEFBQWdEUkFESUFocUlBSXRBQUFnRFJBRElBaHFJQUl0QUFBZ0RSQURJQWhxSUFJdEFBQWdEUkFESUFocUlBSXRBQUFnRFJBRElBaHFJQUl0QUFBZ0RSQURJQWhxSUFJdEFBQWdEUkFESUFocUlRRWdDa0VJYXlJS0RRQUxEQU1MSUFOQmYzTWdBMEVBSUFOQkFFb2JhaUVBSUFwQkEzRWhBeUFOQkVBZ0F3UkFBMEFnQVNBSkxRQUFJQXNRQXlJQklBdHFJQUl0QUFBZ0RSQURHaUFLUVFGcklRb2dBU0FJYWlFQklBTkJBV3NpQXcwQUN3c2dBRUVEU1EwREEwQWdBU0FKTFFBQUlBc1FBeUlBSUF0cUlBSXRBQUFnRFJBREdpQUFJQWhxSUFrdEFBQWdDeEFESWdBZ0Myb2dBaTBBQUNBTkVBTWFJQUFnQ0dvZ0NTMEFBQ0FMRUFNaUFDQUxhaUFDTFFBQUlBMFFBeG9nQUNBSWFpQUpMUUFBSUFzUUF5SUFJQXRxSUFJdEFBQWdEUkFER2lBQUlBaHFJUUVnQ2tFRWF5SUtEUUFMREFNTElBTUVRQU5BSUFwQkFXc2hDaUFCSUFrdEFBQWdDeEFESUFocUlRRWdBMEVCYXlJRERRQUxDeUFBUVFOSkRRSWdDa0VFYXlJQVFRUnhSUVJBSUFBaENpQUJJQWt0QUFBZ0N4QURJQWhxSUFrdEFBQWdDeEFESUFocUlBa3RBQUFnQ3hBRElBaHFJQWt0QUFBZ0N4QURJQWhxSVFFTElBQkJCRWtOQWdOQUlBRWdDUzBBQUNBTEVBTWdDR29nQ1MwQUFDQUxFQU1nQ0dvZ0NTMEFBQ0FMRUFNZ0NHb2dDUzBBQUNBTEVBTWdDR29nQ1MwQUFDQUxFQU1nQ0dvZ0NTMEFBQ0FMRUFNZ0NHb2dDUzBBQUNBTEVBTWdDR29nQ1MwQUFDQUxFQU1nQ0dvaEFTQUtRUWhySWdvTkFBc01BZ3NnQkNBR2FpQU9haUFFSUJNZ0JDQVRTaHRCZjNOcUlRQWdDMFVFUUNBTVFRZHhJUkFnQUNBVWF5RUFJQTFGQkVBZ0FFRUhTU0VSQTBBZ0RDRUhJQUVoQWlBSklRTWdFQ0lBQkVBRFFDQUNJQU10QUFBNkFBQWdCMEVCYXlFSElBSkJBV29oQWlBRFFRRnFJUU1nQUVFQmF5SUFEUUFMQ3lBUlJRUkFBMEFnQWlBRExRQUFPZ0FBSUFJZ0F5MEFBVG9BQVNBQ0lBTXRBQUk2QUFJZ0FpQURMUUFET2dBRElBSWdBeTBBQkRvQUJDQUNJQU10QUFVNkFBVWdBaUFETFFBR09nQUdJQUlnQXkwQUJ6b0FCeUFDUVFocUlRSWdBMEVJYWlFRElBZEJDR3NpQncwQUN3c2dBU0FJYWlFQklBcEJBV3NpQ2cwQUN3d0RDeUFBUVFkSklSWURRQ0FNSVFjZ0FTRUNJQWtoQUNBUUlSRWdFQVJBQTBBZ0FpQUFJZ010QUFBNkFBQWdCMEVCYXlFSElBSkJBV29oQWlBRFFRRnFJUUFnRVVFQmF5SVJEUUFMQ3lBV1JRUkFBMEFnQWlBQUlnTXRBQUE2QUFBZ0FpQURMUUFCT2dBQklBSWdBeTBBQWpvQUFpQUNJQU10QUFNNkFBTWdBaUFETFFBRU9nQUVJQUlnQXkwQUJUb0FCU0FDSUFNdEFBWTZBQVlnQWlBRExRQUhPZ0FISUFKQkNHb2hBaUFEUVFocUlRQWdCMEVJYXlJSERRQUxJQU5CQjJvaEF3c2dBaUFETFFBQUlBMFFBeG9nQVNBSWFpRUJJQXBCQVdzaUNnMEFDd3dDQ3lBTkJFQWdERUVIY1NFUUlBQWdEa0VBSUE1QkFFb2JhMEVIU1NFUkEwQWdBU0FKTFFBQUlBc1FBeUlXSUF0cUlRSWdEQ0VISUFraEFDQVFJZ0VFUUFOQUlBSWdBQ0lETFFBQU9nQUFJQWRCQVdzaEJ5QUNRUUZxSVFJZ0EwRUJhaUVBSUFGQkFXc2lBUTBBQ3dzZ0VVVUVRQU5BSUFJZ0FDSUJMUUFBT2dBQUlBSWdBUzBBQVRvQUFTQUNJQUV0QUFJNkFBSWdBaUFCTFFBRE9nQURJQUlnQVMwQUJEb0FCQ0FDSUFFdEFBVTZBQVVnQWlBQkxRQUdPZ0FHSUFJZ0FTMEFCem9BQnlBQ1FRaHFJUUlnQVVFSWFpRUFJQWRCQ0dzaUJ3MEFDeUFCUVFkcUlRTUxJQUlnQXkwQUFDQU5FQU1hSUFnZ0Ztb2hBU0FLUVFGcklnb05BQXNNQWdzZ0RFRUhjU0VRSUFBZ0ZHdEJCMGtoRVFOQUlBRWdDUzBBQUNBTEVBTWlBU0FMYWlFQ0lBd2hCeUFKSVFNZ0VDSUFCRUFEUUNBQ0lBTXRBQUE2QUFBZ0IwRUJheUVISUFKQkFXb2hBaUFEUVFGcUlRTWdBRUVCYXlJQURRQUxDeUFSUlFSQUEwQWdBaUFETFFBQU9nQUFJQUlnQXkwQUFUb0FBU0FDSUFNdEFBSTZBQUlnQWlBRExRQURPZ0FESUFJZ0F5MEFCRG9BQkNBQ0lBTXRBQVU2QUFVZ0FpQURMUUFHT2dBR0lBSWdBeTBBQnpvQUJ5QUNRUWhxSVFJZ0EwRUlhaUVESUFkQkNHc2lCdzBBQ3dzZ0FTQUlhaUVCSUFwQkFXc2lDZzBBQ3d3QkN5QUJJQWdnQ214cUlRRUxJQTlGRFFBZ0RFRUhjU0VLSUFRZ0Jtb2dEbW9nQkNBVElBUWdFMG9iUVg5emFpQVVhMEVIU1NFUUEwQWdBU0VDSUFzRVFDQUJJQWt0QUFBZ0N4QURJQXRxSVFJTEFrQWdERVVFUUNBSklRTU1BUXNnRENFSElBa2hBeUFLSWdBRVFBTkFJQUlnQXkwQUFEb0FBQ0FIUVFGcklRY2dBa0VCYWlFQ0lBTkJBV29oQXlBQVFRRnJJZ0FOQUFzTElCQU5BQU5BSUFJZ0F5MEFBRG9BQUNBQ0lBTXRBQUU2QUFFZ0FpQURMUUFDT2dBQ0lBSWdBeTBBQXpvQUF5QUNJQU10QUFRNkFBUWdBaUFETFFBRk9nQUZJQUlnQXkwQUJqb0FCaUFDSUFNdEFBYzZBQWNnQWtFSWFpRUNJQU5CQ0dvaEF5QUhRUWhySWdjTkFBc0xJQTBFUUNBQ0lBTkJBV3N0QUFBZ0RSQURHZ3NnQVNBSWFpRUJJQVFnQ1dvaENTQVBRUUZySWc4TkFBc0xBa0FnRjBVTkFDQUpJQVJySVFrZ0dFVUVRQ0FTUVFOeElnSUVRQU5BSUJKQkFXc2hFaUFCSUFrZ0RCQUhJQWhxSVFFZ0FrRUJheUlDRFFBTEN5QVZJQVZCZjNOcVFRTkpEUUVEUUNBQklBa2dEQkFISUFocUlBa2dEQkFISUFocUlBa2dEQkFISUFocUlBa2dEQkFISUFocUlRRWdFa0VFYXlJU0RRQUxEQUVMSUF4QkIzRWhCU0FFSUFacUlBNXFJQVFnRXlBRUlCTktHMEYvYzJvZ0ZHdEJCMGtoQkFOQUlBRWhBaUFMQkVBZ0FTQUpMUUFBSUFzUUF5QUxhaUVDQ3dKQUlBeEZCRUFnQ1NFRERBRUxJQXdoQnlBSklRTWdCU0lBQkVBRFFDQUNJQU10QUFBNkFBQWdCMEVCYXlFSElBSkJBV29oQWlBRFFRRnFJUU1nQUVFQmF5SUFEUUFMQ3lBRURRQURRQ0FDSUFNdEFBQTZBQUFnQWlBRExRQUJPZ0FCSUFJZ0F5MEFBam9BQWlBQ0lBTXRBQU02QUFNZ0FpQURMUUFFT2dBRUlBSWdBeTBBQlRvQUJTQUNJQU10QUFZNkFBWWdBaUFETFFBSE9nQUhJQUpCQ0dvaEFpQURRUWhxSVFNZ0IwRUlheUlIRFFBTEN5QU5CRUFnQWlBRFFRRnJMUUFBSUEwUUF4b0xJQUVnQ0dvaEFTQVNRUUZySWhJTkFBc0xDOEFDQVFOL1Fjei9zd1lnQVhaQkFYRWhCQ0FCUVFOMElnTkI1Q3hxTFFBQUlRVWdBMEdrSzJvdEFBQWhBd0pBUWZyMXF3VWdBWFpCQVhFRVFDQUNJQU5CQVhScUxnRUFJUUVnQkFSQUlBRWdBaUFGUVFGMGFpNEJBR3BCQVdwQkFYVVBDeUFBS0FMTUFTSUNSUTBCSUFBb0FnUWdBaWdDQkVjTkFTQUJJQUlnQlVFQmRHb3VBUnhxUVFGcVFRRjFEd3NnQkFSQUlBSWdCVUVCZEdvdUFRQWhBU0FBS0FMSUFTSUNSUTBCSUFBb0FnUWdBaWdDQkVjTkFTQUJJQUlnQTBFQmRHb3VBUnhxUVFGcVFRRjFEd3RCQUNFQlFRRWhBZ0pBSUFBb0FzZ0JJZ1JGRFFBZ0FDZ0NCQ0FFS0FJRVJ3MEFJQVFnQTBFQmRHb3VBUndoQVVFQUlRSUxJQUFvQXN3QklnTkZEUUFnQUNnQ0JDQURLQUlFUncwQUlBTWdCVUVCZEdvdUFSd2hBQ0FDQkVBZ0FBOExJQUFnQVdwQkFXcEJBWFVoQVFzZ0FRdnlBd0VEZnlBQktBSUFJZ05CLy8vL0IwY0VRQ0FCS0FJRUlRUWdBQ0FDSUFKQkEzRWdBa0VRU1NJQ0cwRUNkQ0lGUWZBcGFpZ0NBRUVRUVFnZ0Foc2lBbXhxSUFWQnNDbHFLQUlBYWlJQUlBTWdBQzBBQUdwQndEVnFMUUFBT2dBQUlBRW9BZ2doQXlBQUlBUWdBQzBBQVdwQndEVnFMUUFBT2dBQklBRW9BZ3doQkNBQUlBTWdBQzBBQW1wQndEVnFMUUFBT2dBQ0lBQWdCQ0FBTFFBRGFrSEFOV290QUFBNkFBTWdBU2dDRkNFRElBQWdBbW9pQUNBQktBSVFJQUF0QUFCcVFjQTFhaTBBQURvQUFDQUJLQUlZSVFRZ0FDQURJQUF0QUFGcVFjQTFhaTBBQURvQUFTQUJLQUljSVFNZ0FDQUVJQUF0QUFKcVFjQTFhaTBBQURvQUFpQUFJQU1nQUMwQUEycEJ3RFZxTFFBQU9nQURJQUVvQWlRaEF5QUFJQUpxSWdBZ0FTZ0NJQ0FBTFFBQWFrSEFOV290QUFBNkFBQWdBU2dDS0NFRUlBQWdBeUFBTFFBQmFrSEFOV290QUFBNkFBRWdBU2dDTENFRElBQWdCQ0FBTFFBQ2FrSEFOV290QUFBNkFBSWdBQ0FESUFBdEFBTnFRY0ExYWkwQUFEb0FBeUFCS0FJMElRTWdBQ0FDYWlJQUlBRW9BakFnQUMwQUFHcEJ3RFZxTFFBQU9nQUFJQUVvQWpnaEFpQUFJQU1nQUMwQUFXcEJ3RFZxTFFBQU9nQUJJQUVvQWp3aEFTQUFJQUlnQUMwQUFtcEJ3RFZxTFFBQU9nQUNJQUFnQVNBQUxRQURha0hBTldvdEFBQTZBQU1MQzVja0FSUi9Jd0JCZ0E1ckloVWtBQ0FESUFWcUloa2dBUzRCQUNJT1FRSjFhaUVESUFRZ0Jtb2lHeUFCTGdFQ0lndEJBblZxSVFrZ0FpZ0NDRUVFZENFTUlBSW9BZ1JCQkhRaERTQUFJQVpCQkhScUlBVnFJUVFDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFJQTVCQTNGQkJIUWdDMEVEY1VFQ2RISkJ3RHRxS0FJQURnOEFBUUlEQkFVR0J3Z0pDZ3NNRFE0UEN5QUNLQUlBSUFRZ0F5QUpJQTBnRENBSElBaEJFQkFKREE4TElBSW9BZ0FnQkNBRElBbEJBbXNnRFNBTUlBY2dDRUVBRUJvTURnc2dDVUVDYXlFS1FRQWhEaUFDS0FJQUlRc0NRQUpBSUFOQkFFZ05BQ0FESUFkcUlBMUxEUUFnQ1VFQ1NBMEFJQWdnQ21wQkJXb2dERXNOQUNBS0lRNE1BUXNnQ3lBVklBTWdDaUFOSUF3Z0J5QUlRUVZxSUFjUUNTQVZJUXNnQnlFTlFRQWhBd3NnQ3lBTklBNXNJQU5xYWlBTmFpSUpJQTFCQld4cUlRTWdDRUVDZGlFUlFjQUFJQWRySVJRZ0RVRUJkQ0VNSUExQkFuUWdCMnNoRDBFQUlBMXJJaEJCQVhRaEdBTkFJQWNoRXdOQUlBUWdDU0FNYWkwQUFDSU9JQU1nREdvdEFBQWdBeUFOYWkwQUFDSVdJQU1nR0dvdEFBQWlDMm9pQ21zZ0NrRUNkR3RxSUFNdEFBQWlFaUFESUJCcUxRQUFJZ3BxUVJSc2FrRVFha0VGZFVIQU5Xb3RBQUE2QURBZ0JDQUpJQTFxTFFBQUloY2dGaUFLSUF0cUlocEJCSFJxSUE0Z0Vtb2lGbXRxSUJvZ0ZtdEJBblJxUVJCcVFRVjFRY0ExYWkwQUFEb0FJQ0FFSUFrdEFBQWlGaUFTSUFzZ0Rtb2lHa0VFZEdvZ0NpQVhhaUlTYTJvZ0dpQVNhMEVDZEdwQkVHcEJCWFZCd0RWcUxRQUFPZ0FRSUFRZ0NTQVFhaTBBQUNBS0lBNGdGMm9pRGtFRWRHb2dDeUFXYWlJTGEyb2dEaUFMYTBFQ2RHcEJFR3BCQlhWQndEVnFMUUFBT2dBQUlBbEJBV29oQ1NBRVFRRnFJUVFnQTBFQmFpRURJQk5CQVdzaUV3MEFDeUFFSUJScUlRUWdBeUFQYWlFRElBa2dEMm9oQ1NBUlFRRnJJaEVOQUFzTURRc2dBaWdDQUNBRUlBTWdDVUVDYXlBTklBd2dCeUFJUVFFUUdnd01DeUFDS0FJQUlBUWdBMEVDYXlBSklBMGdEQ0FISUFoQkFCQVpEQXNMSUFJb0FnQWdCQ0FEUVFKcklBbEJBbXNnRFNBTUlBY2dDRUVBRUJJTUNnc2dBaWdDQUNBRUlBTkJBbXNnQ1VFQ2F5QU5JQXdnQnlBSVFRQVFGd3dKQ3lBQ0tBSUFJQVFnQTBFQ2F5QUpRUUpySUEwZ0RDQUhJQWhCQWhBU0RBZ0xJQWRCQldvaEN5QURRUUpySVFvZ0FpZ0NBQ0VPQWtBQ1FDQURRUUpJRFFBZ0NpQUxhaUFOU3cwQUlBbEJBRWdOQUNBSUlBbHFJQXhMRFFBZ0RTRUxEQUVMSUE0Z0ZTQUtJQWtnRFNBTUlBc2dDQ0FMRUFsQkFDRUpJQlVoRGtFQUlRb0xRUkFnQjJzaEZDQUxJQWRySVJnZ0IwRUNkaUVTSUE0Z0NTQUxiQ0FLYW1wQkJXb2hBeUFJSVFzRFFDQURRUUZyTFFBQUlRa2dBMEVDYXkwQUFDRU1JQU5CQTJzdEFBQWhDaUFEUVFSckxRQUFJUThnQTBFRmF5MEFBQ0VUSUJJaEVRTkFJQVFnQXkwQUFDSU9JQk1nQ2lBTWFpSU5RUVIwYWlBSklBOXFJaE5ySUEwZ0UydEJBblJxYWtFUWFrRUZkVUhBTldvdEFBQTZBQUFnQkNBRExRQUJJZzBnRHlBSklBeHFJaE5CQkhScUlBb2dEbW9pRDJ0cUlCTWdEMnRCQW5ScVFSQnFRUVYxUWNBMWFpMEFBRG9BQVNBRUlBTXRBQUlpRUNBS0lBa2dEbW9pRTBFRWRHb2dEQ0FOYWlJS2Eyb2dFeUFLYTBFQ2RHcEJFR3BCQlhWQndEVnFMUUFBT2dBQ0lBUWdBeTBBQXlJWElBd2dEU0FPYWlJS1FRUjBhaUFKSUJCcUlneHJhaUFLSUF4clFRSjBha0VRYWtFRmRVSEFOV290QUFBNkFBTWdCRUVFYWlFRUlBTkJCR29oQXlBSklSTWdEaUVQSUEwaENpQVFJUXdnRnlFSklCRkJBV3NpRVEwQUN5QUVJQlJxSVFRZ0F5QVlhaUVESUF0QkFXc2lDdzBBQ3d3SEN5QUNLQUlBSUFRZ0EwRUNheUFKUVFKcklBMGdEQ0FISUFoQkFCQVlEQVlMSUFkQkJXb2hDeUFKUVFKcklRNGdBMEVDYXlFS0lBSW9BZ0FoRHdKQUFrQWdBMEVDU0EwQUlBb2dDMm9nRFVzTkFDQUpRUUpJRFFBZ0NFRUZhaUlVSUE1cUlBeExEUUFnRFNFTERBRUxJQThnRlVIQUNtb2lEeUFLSUE0Z0RTQU1JQXNnQ0VFRmFpSVVJQXNRQ1VFQUlRNUJBQ0VLQ3lBVUJFQWdDeUFIYXlFWUlBZEJBblloRWlBUElBc2dEbXdnQ21wcVFRVnFJUU1nRlNFTUEwQWdBMEVCYXkwQUFDRUpJQU5CQW1zdEFBQWhDeUFEUVFOckxRQUFJUTRnQTBFRWF5MEFBQ0VOSUFOQkJXc3RBQUFoRVNBU0lROERRQ0FNSUFNdEFBQWlDaUFSSUFzZ0Rtb2lFMEVFZEdvZ0NTQU5haUlSYXlBVElCRnJRUUowYW1vMkFnQWdEQ0FETFFBQkloTWdEU0FKSUF0cUloRkJCSFJxSUFvZ0Rtb2lEV3RxSUJFZ0RXdEJBblJxTmdJRUlBd2dBeTBBQWlJUUlBNGdDU0FLYWlJT1FRUjBhaUFMSUJOcUlnMXJhaUFPSUExclFRSjBhallDQ0NBTUlBTXRBQU1pRnlBS0lCTnFJZzVCQkhRZ0Myb2dDU0FRYWlJTGEyb2dEaUFMYTBFQ2RHbzJBZ3dnREVFUWFpRU1JQU5CQkdvaEF5QUpJUkVnQ2lFTklCTWhEaUFRSVFzZ0Z5RUpJQTlCQVdzaUR3MEFDeUFESUJocUlRTWdGRUVCYXlJVURRQUxDeUFWSUFkQkFuUWlER29pQ1NBSFFSUnNhaUVESUFoQkFuWWhEMEhBQUNBSGF5RVhRUUFnQjJzaUZFRURkQ0VZSUFkQkEzUWhFU0FIUVFOc1FRSjBJUk1EUUNBSElRMERRQ0FFSUFrZ0VXb29BZ0FpRGlBRElCRnFLQUlBSUFNZ0RHb29BZ0FpRmlBRElCaHFLQUlBSWd0cUlncHJJQXBCQW5ScmFpQURLQUlBSWhBZ0F5QVVRUUowSWhwcUtBSUFJZ3BxUVJSc2FrR0FCR3BCQ25WQndEVnFMUUFBT2dBd0lBUWdDU0FNYWlnQ0FDSVNJQllnQ2lBTGFpSWNRUVIwYWlBT0lCQnFJaFpyYWlBY0lCWnJRUUowYWtHQUJHcEJDblZCd0RWcUxRQUFPZ0FnSUFRZ0NTZ0NBQ0lXSUJBZ0N5QU9haUljUVFSMGFpQUtJQkpxSWhCcmFpQWNJQkJyUVFKMGFrR0FCR3BCQ25WQndEVnFMUUFBT2dBUUlBUWdDU0FhYWlnQ0FDQUtJQTRnRW1vaURrRUVkR29nQ3lBV2FpSUxhMm9nRGlBTGEwRUNkR3BCZ0FScVFRcDFRY0ExYWkwQUFEb0FBQ0FKUVFScUlRa2dCRUVCYWlFRUlBTkJCR29oQXlBTlFRRnJJZzBOQUFzZ0JDQVhhaUVFSUFNZ0Uyb2hBeUFKSUJOcUlRa2dEMEVCYXlJUERRQUxEQVVMSUFJb0FnQWdCQ0FEUVFKcklBbEJBbXNnRFNBTUlBY2dDRUVCRUJnTUJBc2dBaWdDQUNBRUlBTkJBbXNnQ1NBTklBd2dCeUFJUVFFUUdRd0RDeUFDS0FJQUlBUWdBMEVDYXlBSlFRSnJJQTBnRENBSElBaEJBUkFTREFJTElBSW9BZ0FnQkNBRFFRSnJJQWxCQW1zZ0RTQU1JQWNnQ0VFQkVCY01BUXNnQWlnQ0FDQUVJQU5CQW1zZ0NVRUNheUFOSUF3Z0J5QUlRUU1RRWdzZ0FTNEJBQ0lPUVFOMUlCbEJBWFpxSVE4Z0FTNEJBaUlMUVFOMUlCdEJBWFpxSVFNZ0FpZ0NBQ0FDS0FJRUlnb2dBaWdDQ0NJQ2JFRUlkR29oQVNBQUlBWkJBblJCZUhGcUlBVkJBWFpxUVlBQ2FpRUVJQWhCQVhZaEVTQUhRUUYySVEwZ0MwRUhjU0VRSUFKQkEzUWhBQ0FLUVFOMElRb0NRQUpBSUE1QkIzRWlFa1VOQUNBUVJRMEFJQTFCQVdvaERrRUFJUVVDUUFKQUlBOUJBRWdOQUNBT0lBOXFJQXBMRFFBZ0EwRUFTQTBBSUFNZ0VXcEJBV29nQUVzTkFDQUFJUVlnQ2lFT0lBTWhCUXdCQ3lBQklCVWdEeUFESUFvZ0FDQU9JQkZCQVdvaUJpQU9FQWtnQVNBQUlBcHNhaUFWSUFZZ0RteHFJQThnQXlBS0lBQWdEaUFHSUE0UUNTQVZJUUZCQUNFUEMwRVFJQTFySVJjZ0IwRUNkaUVBUVFnZ0VHc2hBMEVJSUJKcklRa2dEa0VCZENJTUlBMXJJUlFnQVNBRklBNXNhaUFQYWlFTElBUWhDaUFJUVFKMklnY2hBZ05BSUJBZ0N5QU1haTBBQUd3Z0F5QUxJQTVxTFFBQUlnaHNhaUVOSUFnZ0VHd2dBeUFMTFFBQWJHb2hFeUFBSVJFRFFDQUxRUUZxSWdnZ0RHb3RBQUFoR1NBS0lBa2dFMndnRUNBSUlBNXFMUUFBSWdoc0lBTWdDeTBBQVd4cUloTWdFbXhxUVNCcVFRWjJPZ0FBSUFvZ0NTQU5iQ0FRSUJsc0lBTWdDR3hxSWdnZ0VteHFRU0JxUVFaMk9nQUlJQXN0QUFJaERTQUxRUUpxSWdzZ0RHb3RBQUFoR1NBS0lBa2dFMndnRUNBTElBNXFMUUFBSWh0c0lBTWdEV3hxSWhNZ0VteHFRU0JxUVFaMk9nQUJJQW9nQ0NBSmJDQVFJQmxzSUFNZ0cyeHFJZzBnRW14cVFTQnFRUVoyT2dBSklBcEJBbW9oQ2lBUlFRRnJJaEVOQUFzZ0N5QVVhaUVMSUFvZ0Yyb2hDaUFDUVFGcklnSU5BQXNnQkVGQWF5RUtJQUVnQlNBR2FpQU9iR29nRDJvaEN3TkFJQkFnQ3lBTWFpMEFBR3dnQXlBTElBNXFMUUFBSWdGc2FpRU5JQUVnRUd3Z0F5QUxMUUFBYkdvaEV5QUFJUkVEUUNBTFFRRnFJZ0VnREdvdEFBQWhBaUFLSUFrZ0Uyd2dFQ0FCSUE1cUxRQUFJZ0ZzSUFNZ0N5MEFBV3hxSWdRZ0VteHFRU0JxUVFaMk9nQUFJQW9nQ1NBTmJDQUNJQkJzSUFFZ0EyeHFJZ0VnRW14cVFTQnFRUVoyT2dBSUlBc3RBQUloQWlBTFFRSnFJZ3NnREdvdEFBQWhCU0FLSUFRZ0NXd2dFQ0FMSUE1cUxRQUFJZ1JzSUFJZ0EyeHFJaE1nRW14cVFTQnFRUVoyT2dBQklBb2dBU0FKYkNBRklCQnNJQU1nQkd4cUlnMGdFbXhxUVNCcVFRWjJPZ0FKSUFwQkFtb2hDaUFSUVFGckloRU5BQXNnQ3lBVWFpRUxJQW9nRjJvaENpQUhRUUZySWdjTkFBc01BUXNnRWdSQUlBMUJBV29oQzBFQUlRSUNRQUpBSUE5QkFFZ05BQ0FMSUE5cUlBcExEUUFnQTBFQVNBMEFJQU1nRVdvZ0FFc05BQ0FBSVJFZ0NpRUxJQU1oQWd3QkN5QUJJQlVnRHlBRElBb2dBQ0FMSUJFZ0N4QUpJQUVnQUNBS2JHb2dGU0FMSUJGc2FpQVBJQU1nQ2lBQUlBc2dFU0FMRUFrZ0ZTRUJRUUFoRHd0QkVDQU5heUVHSUFkQkFuWWhBRUVJSUJKcklRTWdDMEVCZENBTmF5RUhJQUVnQWlBTGJHb2dEMm9oQ1NBRUlRd2dDRUVDZGlJVUlRVURRQ0FBSVE0RFFDQUpRUUZxSUF0cUxRQUFJUWdnQ1NBTGFpMEFBQ0VLSUF3Z0VpQUpMUUFCSWcxc0lBTWdDUzBBQUd4cVFRTjBRU0JxUVFaMk9nQUFJQXdnQ0NBU2JDQURJQXBzYWtFRGRFRWdha0VHZGpvQUNDQUpMUUFDSVFvZ0NVRUNhaUlKSUF0cUxRQUFJUk1nRENBS0lCSnNJQU1nRFd4cVFRTjBRU0JxUVFaMk9nQUJJQXdnRWlBVGJDQURJQWhzYWtFRGRFRWdha0VHZGpvQUNTQU1RUUpxSVF3Z0RrRUJheUlPRFFBTElBY2dDV29oQ1NBR0lBeHFJUXdnQlVFQmF5SUZEUUFMSUFSQlFHc2hEQ0FCSUFJZ0VXb2dDMnhxSUE5cUlRa0RRQ0FBSVE0RFFDQUpRUUZxSUF0cUxRQUFJUUVnQ1NBTGFpMEFBQ0VDSUF3Z0VpQUpMUUFCSWdSc0lBTWdDUzBBQUd4cVFRTjBRU0JxUVFaMk9nQUFJQXdnQVNBU2JDQUNJQU5zYWtFRGRFRWdha0VHZGpvQUNDQUpMUUFDSVFJZ0NVRUNhaUlKSUF0cUxRQUFJUVVnRENBQ0lCSnNJQU1nQkd4cVFRTjBRU0JxUVFaMk9nQUJJQXdnQlNBU2JDQUJJQU5zYWtFRGRFRWdha0VHZGpvQUNTQU1RUUpxSVF3Z0RrRUJheUlPRFFBTElBY2dDV29oQ1NBR0lBeHFJUXdnRkVFQmF5SVVEUUFMREFFTElCQUVRRUVBSVFJQ1FBSkFJQTlCQUVnTkFDQU5JQTlxSUFwTERRQWdBMEVBU0EwQUlBTWdFV3BCQVdvZ0FFc05BQ0FBSVFVZ0F5RUNEQUVMSUFFZ0ZTQVBJQU1nQ2lBQUlBMGdFVUVCYWlJRklBMFFDU0FCSUFBZ0NteHFJQlVnQlNBTmJHb2dEeUFESUFvZ0FDQU5JQVVnRFJBSklCVWhBU0FOSVFwQkFDRVBDMEVRSUExcklSRWdCMEVDZGlFQVFRZ2dFR3NoQXlBS1FRRjBJZ1lnRFdzaEJ5QUJJQUlnQ214cUlBOXFJUWtnQkNFTUlBaEJBbllpQ3lFVUEwQWdBQ0VPQTBBZ0JpQUphaTBBQUNFSUlBd2dBeUFKTFFBQWJDQVFJQWtnQ21vdEFBQWlEV3hxUVFOMFFTQnFRUVoyT2dBQUlBd2dBeUFOYkNBSUlCQnNha0VEZEVFZ2FrRUdkam9BQ0NBSlFRRnFJZ2dnQm1vdEFBQWhEU0FNSUFNZ0NTMEFBV3dnRUNBSUlBcHFMUUFBSWdoc2FrRURkRUVnYWtFR2Rqb0FBU0FNSUFNZ0NHd2dEU0FRYkdwQkEzUkJJR3BCQm5ZNkFBa2dERUVDYWlFTUlBbEJBbW9oQ1NBT1FRRnJJZzROQUFzZ0J5QUphaUVKSUF3Z0VXb2hEQ0FVUVFGckloUU5BQXNnQkVGQWF5RU1JQUVnQWlBRmFpQUtiR29nRDJvaENRTkFJQUFoRGdOQUlBWWdDV290QUFBaEFTQU1JQU1nQ1MwQUFHd2dFQ0FKSUFwcUxRQUFJZ0pzYWtFRGRFRWdha0VHZGpvQUFDQU1JQUlnQTJ3Z0FTQVFiR3BCQTNSQklHcEJCblk2QUFnZ0NVRUJhaUlCSUFacUxRQUFJUUlnRENBRElBa3RBQUZzSUJBZ0FTQUthaTBBQUNJQmJHcEJBM1JCSUdwQkJuWTZBQUVnRENBQklBTnNJQUlnRUd4cVFRTjBRU0JxUVFaMk9nQUpJQXhCQW1vaERDQUpRUUpxSVFrZ0RrRUJheUlPRFFBTElBY2dDV29oQ1NBTUlCRnFJUXdnQzBFQmF5SUxEUUFMREFFTElBRWdCQ0FQSUFNZ0NpQUFJQTBnRVVFSUVBa2dBU0FBSUFwc2FpQUVRVUJySUE4Z0F5QUtJQUFnRFNBUlFRZ1FDUXNnRlVHQURtb2tBQXYxRndFZ2Z5TUFRZEFEYXlJR0pBQWdBU0FCS0FJQUlnb2dBU2dDQkNJSUlBSnNJaFFnQTJvaUJ5QUljQ0lMUVFSMGFpQUhJQXRySWdsQkNIUnFOZ0lNSUFFZ0NpQUlJQUVvQWdnaUIyd2lERUVJZEdvaUhDQUpRUVowYWlBTFFRTjBhaUlMTmdJUUlBRWdDeUFNUVFaMElpSnFOZ0lVSUFCQ0FEY0NEQ0FBUWlnM0FoUWdBRUVBTmdJSUlBQkJCallDQUNBRFFRUjBJUXNDUUFKQUFrQWdCRUVDYXc0R0FRQUFBQUFCQUFzZ0JrRUFOZ0lNSUFZZ0J6WUNHQ0FHSUFnMkFoUWdCaUFGTmdJUUlBVkZCRUFNQVFzZ0JrSFFBR29pQUNBR1FReHFJQVpCRUdvZ0N5QUNRUVIwUVFCQkFFRVFRUkFRRENBQklBQVFEd3dCQ3lBR1FkQUFha0VBUVlBREVBTWFJQW9nRkVFSWRHb2dDMm9oRENBR1FnQTNBMGdnQmtGQWEwSUFOd01BSUFaQ0FEY0RPQ0FHUWdBM0F6QWdCa0lBTndNb0lBWkNBRGNESUNBR1FnQTNBeGdnQmtJQU53TVFRUUFoQlVFQUlRa0Nmd0pBSUFJRVFDQUFJQWhCcUg1c2FpZ0N4QUVOQVF0QkFDRUxRUUFNQVFzZ0JpQU1JQWhCQkhScklnUXRBQVVnQkMwQUJHb2dCQzBBQm1vZ0JDMEFCMm9pRmlBRUxRQURJQVF0QUFJZ0JDMEFBU0FFTFFBQWFtcHFJaFZxSWdvZ0JDMEFEeUFFTFFBT0lBUXRBQTBnQkMwQURHcHFhaUlZSUFRdEFBc2dCQzBBQ2lBRUxRQUpJQVF0QUFocWFtb2lGMm9pQkdzaUNUWUNGQ0FHSUFRZ0Ntb2lDellDRUVFQklSbEJBUXNoQkFKQUlBZEJBV3NnQWtZTkFDQUFJQWhCMkFGc2FpZ0N4QUZGQkVBTUFRc2dCaUFNSUFoQkNIUnFJZ0l0QUFVZ0FpMEFCR29nQWkwQUJtb2dBaTBBQjJvaUhTQUNMUUFESUFJdEFBSWdBaTBBQVNBQ0xRQUFhbXBxSWg1cUlnVWdBaTBBRHlBQ0xRQU9JQUl0QUEwZ0FpMEFER3BxYWlJZklBSXRBQXNnQWkwQUNpQUNMUUFKSUFJdEFBaHFhbW9pSUdvaUFtc2dDV29pQ1RZQ0ZDQUdJQUlnQldvZ0Myb2lDellDRUVFQklRVWdCRUVCYWlFRUN3Si9Ba0FnQTBVTkFDQUFRUlJyS0FJQVJRMEFJQVlnREVFQmF5SUNJQWhCQm5RaUVHb2lDaUFJUVFSMElnZHFMUUFBSUFvdEFBQnFJQW9nQ0VFRmRDSU5haTBBQUdvZ0NpQUlRVEJzSWc5cUxRQUFhaUlhSUFJZ0Qyb3RBQUFnQWlBTmFpMEFBQ0FDSUFkcUxRQUFJQUl0QUFCcWFtb2lHMm9pRVNBS0lCQnFJZ0lnRUdvaUNpQUhhaTBBQUNBS0xRQUFhaUFLSUExcUxRQUFhaUFLSUE5cUxRQUFhaUlRSUFJZ0Qyb3RBQUFnQWlBTmFpMEFBQ0FDSUFkcUxRQUFJQUl0QUFCcWFtb2lEMm9pQW1zaUJ6WUNJQ0FHSUFJZ0VXb2dDMm9pQ3pZQ0VFRUJJUkVnQkVFQmFpRUtRUUVNQVF0QkFDRUhJQVFoQ2tFQUN5RUNBa0FDUUFKQUFrQUNRQ0FESUFoQkFXdEhCRUFnQUNnQ25BTU5BUXNnQkEwQkRBSUxJQWNnREVFUWFpSUhJQWhCQm5RaUUyb2lBQ0FJUVFSMElnMXFMUUFBSUFBdEFBQnFJQUFnQ0VFRmRDSVNhaTBBQUdvZ0FDQUlRVEJzSWc1cUxRQUFhaUFISUE1cUxRQUFJQWNnRW1vdEFBQWdCeUFOYWkwQUFDQU1MUUFRYW1wcWFpSU1JQUFnRTJvaUFDQVRhaUlISUExcUxRQUFJQWN0QUFCcUlBY2dFbW90QUFCcUlBY2dEbW90QUFCcUloTWdBQ0FPYWkwQUFDQUFJQkpxTFFBQUlBQWdEV290QUFBZ0FDMEFBR3BxYWlJQWFpSU5hMm9oQnlBTUlBMXFJQXRxSVF0QkFTRVNJQUpCQVdvaEFpQUtRUUZxSVFvZ0VVVWdCRUVBUjNKRkJFQWdHaUFiYWlBUGFpQVFhaUFBSUF4cUlCTnFhMEVGZFNFSkRBTUxJQVJGRFFJTElBa2dCRUVEYW5VaENRc2dHU0FDUlhFZ0JYRUVRQ0FWSUJacUlCZHFJQmhxSUI4Z0lHb2dIV29nSG1wclFRVjFJUWNNQWdzZ0FrVU5BUXNnQnlBQ1FRTnFkU0VIQ3lBR0FuOENRQUpBQWtBQ1FDQUtRUUZyRGdNQUFRSURDeUFMUVFSMkRBTUxJQXRCQlhZTUFnc2dDMEVWYkVFS2Rnd0JDeUFMUVFaMkN5SUFOZ0lRQW44Z0J5QUpja1VFUUNBR0lBQTJBa2dnQmlBQU5nSk1JQVlnQURZQ1JDQUdJQUEyQWtBZ0JpQUFOZ0k4SUFZZ0FEWUNPQ0FHSUFBMkFqUWdCaUFBTmdJd0lBWWdBRFlDTENBR0lBQTJBaWdnQmlBQU5nSWtJQVlnQURZQ0lDQUdJQUEyQWh3Z0JpQUFOZ0lZSUFZZ0FEWUNGQ0FHUWRBQWFpRUhJQVpCRUdvaENVRUFEQUVMSUFZZ0FDQUphaUlFSUFkck5nSkFJQVlnQkNBSFFRRjFJZ0pyTmdJd0lBWWdBaUFFYWpZQ0lDQUdJQVFnQjJvMkFoQWdCaUFBSUFscklnUWdCMnMyQWt3Z0JpQUVJQUpyTmdJOElBWWdBaUFFYWpZQ0xDQUdJQVFnQjJvMkFod2dCaUFBSUFsQkFYVWlDbW9pQkNBSGF6WUNSQ0FHSUFRZ0FtczJBalFnQmlBQ0lBUnFOZ0lrSUFZZ0JDQUhhallDRkNBR0lBQWdDbXNpQUNBSGF6WUNTQ0FHSUFBZ0FtczJBamdnQmlBQUlBSnFOZ0lvSUFZZ0FDQUhhallDR0NBR1FkQUFhaUVISUFaQkVHb2hDVUVBQ3lFQUEwQWdCeUFKSUFCQkRIRnFLQUlBSWdKQi93RWdBa0gvQVVnYklnSkJBQ0FDUVFCS0d5SUNPZ0FCSUFjZ0Fqb0FBQ0FIUVFKcUlRY2dDU0FBUVFKcUlnQkJQbkZGUVFSMGFpRUpJQUJCZ0FKSERRQUxJQndnRkVFR2RHb2dBMEVEZEdvaEF5QUlRUVIwSVEwZ0NFRUdkQ0VVUVFBZ0NFRURkQ0lNYXlFVElBWkIwQUpxSVJ3Z0JrRkFheUVqUVFBaEMwRUFJUW9EUUNBR1FnQTNBMGdnSTBJQU53TUFJQVpDQURjRE9DQUdRZ0EzQXpBZ0JrSUFOd01vSUFaQ0FEY0RJQ0FHUWdBM0F4Z2dCa0lBTndNUVFRQWhDVUVBSVFCQkFDRUNJQmtFUUNBR0lBTWdFMm9pQUMwQUF5QUFMUUFDYWlJV0lBQXRBQUVnQUMwQUFHb2lGV29pQWlBQUxRQUhJQUF0QUFacUloZ2dBQzBBQlNBQUxRQUVhaUlYYWlJQWF5SUpOZ0lVSUFZZ0FDQUNhaUlBTmdJUVFRRWhBZ3NnQlFSQUlBWWdBeUFVYWlJRUxRQURJQVF0QUFKcUloMGdCQzBBQVNBRUxRQUFhaUllYWlJSUlBUXRBQWNnQkMwQUJtb2lIeUFFTFFBRklBUXRBQVJxSWlCcUlnUnJJQWxxSWdrMkFoUWdCaUFFSUFocUlBQnFJZ0EyQWhBZ0FrRUJhaUVDQzBFQUlRY0NmeUFSUlFSQUlBSWhDRUVBREFFTElBWWdBMEVCYXlJRUlBMXFJZ2dnREdvdEFBQWdDQzBBQUdvaUdpQUVJQXhxTFFBQUlBUXRBQUJxSWh0cUlnNGdDQ0FOYWlJRUlBMXFJZ2dnREdvdEFBQWdDQzBBQUdvaUVDQUVJQXhxTFFBQUlBUXRBQUJxSWc5cUlnUnJJZ2MyQWlBZ0JpQUVJQTVxSUFCcUlnQTJBaEFnQWtFQmFpRUlRUUVMSVFRQ1FBSkFBa0FDUUNBU1JRUkFJQUlOQVF3Q0N5QUhJQU5CQ0dvaURpQU5haUlISUF4cUxRQUFJQWN0QUFCcUlBd2dEbW90QUFBZ0F5MEFDR3BxSWc0Z0J5QU5haUlISUExcUlpRWdER290QUFBZ0lTMEFBR29pSVNBSElBeHFMUUFBSUFjdEFBQnFJaVJxSWlWcmFpRUhJQTRnSldvZ0FHb2hBQ0FFUVFGcUlRUWdDRUVCYWlFSUlCRkZJQUpCQUVkeVJRUkFJQm9nRzJvZ0Qyb2dFR29nRGlBa2FpQWhhbXRCQkhVaENRd0RDeUFDUlEwQ0N5QUpJQUpCQW1wMUlRa0xJQmtnQkVWeElBVnhCRUFnRlNBV2FpQVhhaUFZYWlBZklDQnFJQjFxSUI1cWEwRUVkU0VIREFJTElBUkZEUUVMSUFjZ0JFRUNhblVoQndzZ0JnSi9Ba0FDUUFKQUFrQWdDRUVCYXc0REFBRUNBd3NnQUVFRGRnd0RDeUFBUVFSMkRBSUxJQUJCRld4QkNYWU1BUXNnQUVFRmRnc2lBRFlDRUFKQUlBY2dDWEpGQkVBZ0JpQUFOZ0pJSUFZZ0FEWUNUQ0FHSUFBMkFrUWdCaUFBTmdKQUlBWWdBRFlDUENBR0lBQTJBamdnQmlBQU5nSTBJQVlnQURZQ01DQUdJQUEyQWl3Z0JpQUFOZ0lvSUFZZ0FEWUNKQ0FHSUFBMkFpQWdCaUFBTmdJY0lBWWdBRFlDR0NBR0lBQTJBaFFNQVFzZ0JpQUFJQWxxSWdRZ0IyczJBa0FnQmlBRUlBZEJBWFVpQW1zMkFqQWdCaUFDSUFScU5nSWdJQVlnQkNBSGFqWUNFQ0FHSUFBZ0NXc2lCQ0FIYXpZQ1RDQUdJQVFnQW1zMkFqd2dCaUFDSUFScU5nSXNJQVlnQkNBSGFqWUNIQ0FHSUFBZ0NVRUJkU0lJYWlJRUlBZHJOZ0pFSUFZZ0JDQUNhellDTkNBR0lBSWdCR28yQWlRZ0JpQUVJQWRxTmdJVUlBWWdBQ0FJYXlJQUlBZHJOZ0pJSUFZZ0FDQUNhellDT0NBR0lBQWdBbW8yQWlnZ0JpQUFJQWRxTmdJWUN5QUtJQnhxSVFCQkFDRUhJQVpCRUdvaENRTkFJQUFnQ1NBSFFRRjBRUXh4YWlnQ0FDSUNRZjhCSUFKQi93RklHeUlDUVFBZ0FrRUFTaHNpQWpvQUFTQUFJQUk2QUFBZ0FFRUNhaUVBSUFrZ0IwRUNhaUlIUVE1eFJVRUVkR29oQ1NBSFFjQUFSdzBBQ3lBRElDSnFJUU1nQ3lFQVFjQUFJUXBCQVNFTElBQkZEUUFMSUFFZ0JrSFFBR29RRHdzZ0JrSFFBMm9rQUF0U0FRSi9RWURBQUNnQ0FDSUJJQUJCQTJwQmZIRWlBbW9oQUFKQUlBSkJBQ0FBSUFGTkd3MEFJQUEvQUVFUWRFc0VRQ0FBRUFCRkRRRUxRWURBQUNBQU5nSUFJQUVQQzBHRXdBQkJNRFlDQUVGL0M3VUZBUVIvSUFBb0FoUWhBeUFBS0FJUUlRUWdBQ2dDQkNFRklBQW9BZ3dpQWlBQktRSUFOd0lBSUFJZ0FTa0NDRGNDQ0NBQ0lBVkJCSFFpQUdvaUFpQUJLUUlRTndJQUlBSWdBU2tDR0RjQ0NDQUFJQUpxSWdJZ0FTa0NJRGNDQUNBQ0lBRXBBaWczQWdnZ0FDQUNhaUlDSUFFcEFqQTNBZ0FnQWlBQktRSTROd0lJSUFBZ0Ftb2lBaUFCS1FKQU53SUFJQUlnQVNrQ1NEY0NDQ0FBSUFKcUlnSWdBU2tDVURjQ0FDQUNJQUVwQWxnM0FnZ2dBQ0FDYWlJQ0lBRXBBbUEzQWdBZ0FpQUJLUUpvTndJSUlBQWdBbW9pQWlBQktRSndOd0lBSUFJZ0FTa0NlRGNDQ0NBQUlBSnFJZ0lnQVNrQ2dBRTNBZ0FnQWlBQktRS0lBVGNDQ0NBQUlBSnFJZ0lnQVNrQ2tBRTNBZ0FnQWlBQktRS1lBVGNDQ0NBQUlBSnFJZ0lnQVNrQ29BRTNBZ0FnQWlBQktRS29BVGNDQ0NBQUlBSnFJZ0lnQVNrQ3NBRTNBZ0FnQWlBQktRSzRBVGNDQ0NBQUlBSnFJZ0lnQVNrQ3dBRTNBZ0FnQWlBQktRTElBVGNDQ0NBQUlBSnFJZ0lnQVNrQzBBRTNBZ0FnQWlBQktRTFlBVGNDQ0NBQUlBSnFJZ0lnQVNrQzRBRTNBZ0FnQWlBQktRTG9BVGNDQ0NBQUlBSnFJZ0FnQVNrQzhBRTNBZ0FnQUNBQktRTDRBVGNDQ0NBRUlBRXBBb0FDTndJQUlBUWdCVUVEZENJQWFpSUVJQUVwQW9nQ053SUFJQUFnQkdvaUJDQUJLUUtRQWpjQ0FDQUFJQVJxSWdRZ0FTa0NtQUkzQWdBZ0FDQUVhaUlFSUFFcEFxQUNOd0lBSUFBZ0JHb2lCQ0FCS1FLb0FqY0NBQ0FBSUFScUlnUWdBU2tDc0FJM0FnQWdBQ0FFYWlBQktRSzRBamNDQUNBRElBRXBBc0FDTndJQUlBQWdBMm9pQXlBQktRTElBamNDQUNBQUlBTnFJZ01nQVNrQzBBSTNBZ0FnQUNBRGFpSURJQUVwQXRnQ053SUFJQUFnQTJvaUF5QUJLUUxnQWpjQ0FDQUFJQU5xSWdNZ0FTa0M2QUkzQWdBZ0FDQURhaUlESUFFcEF2QUNOd0lBSUFBZ0Eyb2dBU2tDK0FJM0FnQUxid0VCZnlNQVFSQnJJZ0lrQUNBQ1FRQTJBZ3dnQUNBQ1FReHFFQUloQUFKL0lBRUNmeUFDS0FJTUlnRkJmMFlFUUVHQWdJQ0FlQ0FBRFFFYVFRRU1BZ3RCQVNBQURRRWFJQUZCQVdwQkFYWWlBRUVBSUFCcklBRkJBWEViQ3pZQ0FFRUFDeUVBSUFKQkVHb2tBQ0FBQ3pZQUlBSUVRQ0FBSUFFUUFnOExRUUVoQWlBQklBQkJBUkFVSWdBMkFnQWdBRUYvUndSL0lBRWdBRUVCY3pZQ0FFRUFCVUVCQ3d2YUJ3RU5meU1BUWNBRGF5SVJKQUFnQmtFRmFpRUpBa0FDUUNBQ1FRQklEUUFnQWlBSmFpQUVTdzBBSUFOQkFFZ05BQ0FESUFkcVFRVnFJQVZMRFFBZ0JDRUpJQU1oQ2d3QkN5QUFJQkVnQWlBRElBUWdCU0FKSUFkQkJXb2dDUkFKSUJFaEFFRUFJUUlMSUFBZ0NTQUtiQ0FDYW1vaUFDQUpJQWhCQVhaQkFYRkJBbkpzYWtFRmFpRUNRUkFnQm1zaERDQUpJQVpySVE0Z0JrRUNkaUVTSUFoQkFYRWhGQ0FBSUFscUlSVWdCeUVQQTBBZ0FrRUJheTBBQUNFQUlBSkJBbXN0QUFBaENDQUNRUU5yTFFBQUlRUWdBa0VFYXkwQUFDRUtJQUpCQldzdEFBQWhDeUFTSVEwRFFDQUJJQUl0QUFBaUF5QUxJQVFnQ0dvaUJVRUVkR29nQUNBS2FpSUxheUFGSUF0clFRSjBhbXBCRUdwQkJYVkJ3RFZxTFFBQU9nQUFJQUVnQWkwQUFTSUZJQW9nQUNBSWFpSUxRUVIwYWlBRElBUnFJZ3ByYWlBTElBcHJRUUowYWtFUWFrRUZkVUhBTldvdEFBQTZBQUVnQVNBQ0xRQUNJaEFnQkNBQUlBTnFJZ3BCQkhScUlBVWdDR29pQkd0cUlBb2dCR3RCQW5ScVFSQnFRUVYxUWNBMWFpMEFBRG9BQWlBQklBSXRBQU1pRXlBSUlBTWdCV29pQkVFRWRHb2dBQ0FRYWlJSWEyb2dCQ0FJYTBFQ2RHcEJFR3BCQlhWQndEVnFMUUFBT2dBRElBRkJCR29oQVNBQ1FRUnFJUUlnQUNFTElBTWhDaUFGSVFRZ0VDRUlJQk1oQUNBTlFRRnJJZzBOQUFzZ0FTQU1haUVCSUFJZ0Rtb2hBaUFQUVFGcklnOE5BQXNnRkNBVmFrRUNhaUlJSUFsQkJXeHFJUUFnQjBFQ2RpRUtRY0FBSUFacklSSWdDVUVCZENFUElBRWdCMEVFZEdzaEFpQUpRUUowSUFacklRZEJBQ0FKYXlJTFFRRjBJUk1EUUNBR0lRRURRQ0FDSUFnZ0Qyb3RBQUFpQXlBQUlBOXFMUUFBSUFBZ0NXb3RBQUFpRENBQUlCTnFMUUFBSWdScUlnVnJJQVZCQW5ScmFpQUFMUUFBSWcwZ0FDQUxhaTBBQUNJRmFrRVViR3BCRUdwQkJYVkJ3RFZxTFFBQUlBSXRBREJxUVFGcVFRRjJPZ0F3SUFJZ0NDQUphaTBBQUNJUUlBd2dCQ0FGYWlJT1FRUjBhaUFESUExcUlneHJJQTRnREd0QkFuUnFha0VRYWtFRmRVSEFOV290QUFBZ0FpMEFJR3BCQVdwQkFYWTZBQ0FnQWlBSUxRQUFJZ3dnRFNBRElBUnFJZzVCQkhScUlBVWdFR29pRFdzZ0RpQU5hMEVDZEdwcVFSQnFRUVYxUWNBMWFpMEFBQ0FDTFFBUWFrRUJha0VCZGpvQUVDQUNJQWdnQzJvdEFBQWdCU0FESUJCcUlnTkJCSFJxSUFRZ0RHb2lCR3NnQXlBRWEwRUNkR3BxUVJCcVFRVjFRY0ExYWkwQUFDQUNMUUFBYWtFQmFrRUJkam9BQUNBSVFRRnFJUWdnQWtFQmFpRUNJQUJCQVdvaEFDQUJRUUZySWdFTkFBc2dBaUFTYWlFQ0lBQWdCMm9oQUNBSElBaHFJUWdnQ2tFQmF5SUtEUUFMSUJGQndBTnFKQUFMNXdZQkRIOENRQ0FCUVFSUEJFQWdBMEVDZGtFQ2FpRUxRUVFoQVFOQUFrQWdBRUVCYXlJR0xRQUFJZ2NnQUMwQUFDSUlheUlDSUFKQkgzVWlBbW9nQW5NaUFpQURUdzBBSUFCQkFtc2lEeTBBQUNJS0lBZHJJZ2tnQ1VFZmRTSUphaUFKY3lBRVR3MEFJQUF0QUFFaURDQUlheUlKSUFsQkgzVWlDV29nQ1hNZ0JFOE5BQUovQWtBZ0FpQUxTUVJBSUFBdEFBSWhEZ0ovSUFRZ0FFRURheUlKTFFBQUlnSWdCMnNpRFNBTlFSOTFJZzFxSUExelN3UkFJQVlnRENBSElBaHFJQXBxSWdaQkFYUnFJQUpxUVFScVFRTjJPZ0FBSUE4Z0FpQUdha0VDYWtFQ2Rqb0FBQ0FHSUFKQkEyeHFJQUJCQkdzdEFBQkJBWFJxUVFScVFRTjJEQUVMSUFZaENTQUhJQXhxSUFwQkFYUnFRUUpxUVFKMkN5RUNJQWtnQWpvQUFDQU9JQWhySWdJZ0FrRWZkU0lDYWlBQ2N5QUVUdzBCSUFBZ0J5QU1haUFJYWlJR0lBNXFRUUpxUVFKMk9nQUJJQUFnQ2lBR1FRRjBhaUFPYWtFRWFrRURkam9BQUNBR0lBNUJBMnhxSUFBdEFBTkJBWFJxUVFScVFRTjJJUVlnQUVFQ2Fnd0NDeUFHSUFjZ0RHb2dDa0VCZEdwQkFtcEJBblk2QUFBTElBZ2dDbW9nREVFQmRHcEJBbXBCQW5ZaEJpQUFDeUFHT2dBQUN5QUFJQVZxSVFBZ0FVRUJheUlCRFFBTERBRUxJQUVnQW1wQkFXc3RBQUFpQmtFQmFpRUpRUUFnQm1zaENrRUVJUUVEUUFKQUlBQkJBV3NpRHkwQUFDSUhJQUF0QUFBaUNHc2lBaUFDUVI5MUlnSnFJQUp6SUFOUERRQWdBRUVDYXlJTkxRQUFJZ3dnQjJzaUFpQUNRUjkxSWdKcUlBSnpJQVJQRFFBZ0FDMEFBU0lPSUFocklnSWdBa0VmZFNJQ2FpQUNjeUFFVHcwQUlBQXRBQUloQ3lBR0lRSWdCQ0FBUVFOckxRQUFJaEVnQjJzaUVDQVFRUjkxSWhCcUlCQnpTd1JBSUEwZ0RDQUtJQVlnQnlBSWFrRUJha0VCZGlBTVFRRjBheUFSYWtFQmRTSUNJQUlnQmtvYklBSWdDa2diYWpvQUFDQUpJUUlMSUE4Z0J3Si9JQVFnQ3lBSWF5SU5JQTFCSDNVaURXb2dEWE5MQkVBZ0FDQU9JQW9nQmlBSElBaHFRUUZxUVFGMklBNUJBWFJySUF0cVFRRjFJZ3NnQmlBTFNCc2dDaUFMU2h0cU9nQUJJQUpCQVdvaEFndEJBQ0FDYXlJTEN5QUNJQXdnRG1zZ0NDQUhhMEVDZEdwQkJHcEJBM1VpQnlBQ0lBZElHeUFISUF0SUd5SUNha0hBTldvdEFBQTZBQUFnQUNBSUlBSnJRY0ExYWkwQUFEb0FBQXNnQUNBRmFpRUFJQUZCQVdzaUFRMEFDd3NMaUFJQkIzOGdBQ2dDQkNFRUFrQWdBQ2dDREVFRGRDSUhJQUFvQWhBaUNHc2lBa0VnVGdSQUlBUW9BQUFpQTBFWWRDQURRUWgwUVlDQS9BZHhjaUFEUVFoMlFZRCtBM0VnQTBFWWRuSnlJUU1nQUNnQ0NDSUNSUTBCSUFNZ0FuUWdCQzBBQkVFSUlBSnJkbkloQXd3QkN5QUNRUUZJQkVBTUFRc2dCQzBBQUNBQUtBSUlJZ1ZCR0dvaUJuUWhBeUFDSUFWcVFRaHJJZ0pCQVVnTkFBTkFJQVF0QUFFZ0JrRUlheUlHZENBRGNpRURJQUpCQ0VvaEJTQUVRUUZxSVFRZ0FrRUlheUVDSUFVTkFBc0xJQUFnQVNBSWFpSUVOZ0lRSUFBZ0JFRUhjVFlDQ0VGL0lRSWdCQ0FIVFFSL0lBQWdBQ2dDQUNBRVFRTjJhallDQkNBRFFTQWdBV3QyQlVGL0N3c0RBQUVMeHdFQkJIOGdBQ2dDQkNFQ0FrQWdBQ2dDREVFRGRDQUFLQUlRYXlJRFFTQk9CRUFnQWlnQUFDSUJRUmgwSUFGQkNIUkJnSUQ4QjNGeUlBRkJDSFpCZ1A0RGNTQUJRUmgyY25JaEFTQUFLQUlJSWdCRkRRRWdBU0FBZENBQ0xRQUVRUWdnQUd0MmNnOExJQU5CQVVnRVFFRUFEd3NnQWkwQUFDQUFLQUlJSWdCQkdHb2lCSFFoQVNBQUlBTnFRUWhySWdCQkFVZ05BQU5BSUFJdEFBRWdCRUVJYXlJRWRDQUJjaUVCSUFCQkNFb2hBeUFDUVFGcUlRSWdBRUVJYXlFQUlBTU5BQXNMSUFFTDh3Y0JFbjhqQUVHQURtc2lEeVFBSUFaQkJXb2hDUUpBQWtBZ0FrRUFTQTBBSUFJZ0NXb2dCRXNOQUNBRFFRQklEUUFnQXlBSGFrRUZhaUFGU3cwQUlBTWhDZ3dCQ3lBQUlBOUJ3QXBxSWdBZ0FpQURJQVFnQlNBSklBZEJCV29nQ1JBSklBa2hCRUVBSVFJTElBQWdCQ0FLYkNBQ2Ftb2dCR29pQUNBRVFRVnNhaUVDSUFSQkFYUWhFQ0FIUVFKMklSSkJBQ0FFYXlJTFFRRjBJUllnQkVFQ2RDQUdhMEVGYXlFVElBOGdDVUVDZENJWGFpRURJQWxCQTNRaEdFRjdJQVpyUVFKMElSa2dDVUVEYkVFQ2RDRWFBMEFnQ1NFRkEwQWdBeUFZYWlBQUlCQnFMUUFBSWdvZ0FpQVFhaTBBQUNBQ0lBUnFMUUFBSWhFZ0FpQVdhaTBBQUNJTWFpSU5heUFOUVFKMGEyb2dBaTBBQUNJT0lBSWdDMm90QUFBaURXcEJGR3hxTmdJQUlBTWdGMm9nQUNBRWFpMEFBQ0lWSUJFZ0RDQU5haUlVUVFSMGFpQUtJQTVxSWhGcmFpQVVJQkZyUVFKMGFqWUNBQ0FESUFBdEFBQWlFU0FPSUFvZ0RHb2lGRUVFZEdvZ0RTQVZhaUlPYTJvZ0ZDQU9hMEVDZEdvMkFnQWdBeUFaYWlBQUlBdHFMUUFBSUEwZ0NpQVZhaUlLUVFSMGFpQU1JQkZxSWd4cmFpQUtJQXhyUVFKMGFqWUNBQ0FBUVFGcUlRQWdBMEVFYWlFRElBSkJBV29oQWlBRlFRRnJJZ1VOQUFzZ0FpQVRhaUVDSUFBZ0Uyb2hBQ0FESUJwcUlRTWdFa0VCYXlJU0RRQUxRUkFnQm1zaERpQUdRUUoySVJJZ0R5QUlRUUowYWtFSWFpRUlJQTlCRkdvaEJBTkFJQVJCQkdzb0FnQWhBaUFFUVFocktBSUFJUUFnQkVFTWF5Z0NBQ0VGSUFSQkVHc29BZ0FoQ1NBRVFSUnJLQUlBSVF3Z0VpRU5BMEFnQVNBRUlnc29BZ0FpQmlBTUlBQWdCV29pQTBFRWRHb2dBaUFKYWlJRWF5QURJQVJyUVFKMGFtcEJnQVJxUVFwMVFjQTFhaTBBQUNBSUlnTW9BZ0JCRUdwQkJYVkJ3RFZxTFFBQWFrRUJha0VCZGpvQUFDQUJJQXNvQWdRaUNpQUpJQUFnQW1vaUJFRUVkR29nQlNBR2FpSUlheUFFSUFoclFRSjBhbXBCZ0FScVFRcDFRY0ExYWkwQUFDQURLQUlFUVJCcVFRVjFRY0ExYWkwQUFHcEJBV3BCQVhZNkFBRWdBU0FMS0FJSUloQWdCU0FDSUFacUlnUkJCSFJxSUFBZ0Ntb2lCV3NnQkNBRmEwRUNkR3BxUVlBRWFrRUtkVUhBTldvdEFBQWdBeWdDQ0VFUWFrRUZkVUhBTldvdEFBQnFRUUZxUVFGMk9nQUNJQUVnQ3lnQ0RDSVRJQUFnQmlBS2FpSUVRUVIwYWlBQ0lCQnFJZ0JySUFRZ0FHdEJBblJxYWtHQUJHcEJDblZCd0RWcUxRQUFJQU1vQWd4QkVHcEJCWFZCd0RWcUxRQUFha0VCYWtFQmRqb0FBeUFCUVFScUlRRWdBMEVRYWlFSUlBdEJFR29oQkNBQ0lRd2dCaUVKSUFvaEJTQVFJUUFnRXlFQ0lBMUJBV3NpRFEwQUN5QUJJQTVxSVFFZ0EwRWthaUVJSUF0QkpHb2hCQ0FIUVFGcklnY05BQXNnRDBHQURtb2tBQXZnQndFTmZ5TUFRWUFPYXlJUkpBQWdCa0VGYWlFSkFrQUNRQ0FDUVFCSURRQWdBaUFKYWlBRVN3MEFJQU5CQUVnTkFDQUhRUVZxSWc0Z0Eyb2dCVXNOQUNBRUlRa2dBeUVLREFFTElBQWdFVUhBQ21vaUFDQUNJQU1nQkNBRklBa2dCMEVGYWlJT0lBa1FDVUVBSVFJTElBNEVRQ0FKSUFacklSTWdCa0VDZGlFU0lBQWdDU0FLYkNBQ2FtcEJCV29oQWlBUklRQURRQ0FDUVFGckxRQUFJUWtnQWtFQ2F5MEFBQ0VESUFKQkEyc3RBQUFoQlNBQ1FRUnJMUUFBSVFvZ0FrRUZheTBBQUNFTElCSWhEUU5BSUFBZ0FpMEFBQ0lFSUFzZ0F5QUZhaUlNUVFSMGFpQUpJQXBxSWd0cklBd2dDMnRCQW5ScWFqWUNBQ0FBSUFJdEFBRWlEQ0FLSUFNZ0NXb2lDMEVFZEdvZ0JDQUZhaUlLYTJvZ0N5QUthMEVDZEdvMkFnUWdBQ0FDTFFBQ0lnOGdCU0FFSUFscUlnVkJCSFJxSUFNZ0RHb2lDbXRxSUFVZ0NtdEJBblJxTmdJSUlBQWdBaTBBQXlJVUlBTWdCQ0FNYWlJRFFRUjBhaUFKSUE5cUlnVnJhaUFESUFWclFRSjBhallDRENBQVFSQnFJUUFnQWtFRWFpRUNJQWtoQ3lBRUlRb2dEQ0VGSUE4aEF5QVVJUWtnRFVFQmF5SU5EUUFMSUFJZ0Uyb2hBaUFPUVFGcklnNE5BQXNMSUJFZ0JrRUNkQ0lFYWlJSklBWkJGR3hxSVFJZ0NTQUlRUUpxSUFac1FRSjBhaUVBSUFkQkFuWWhDRUhBQUNBR2F5RVVRUUFnQm1zaURrRURkQ0VUSUFaQkEzUWhCU0FHUVFOc1FRSjBJUWNEUUNBR0lRTURRQ0FCSUFVZ0NXb29BZ0FpQ2lBQ0lBVnFLQUlBSUFJZ0JHb29BZ0FpRUNBQ0lCTnFLQUlBSWd4cUlndHJJQXRCQW5ScmFpQUNLQUlBSWcwZ0FpQU9RUUowSWc5cUtBSUFJZ3RxUVJSc2FrR0FCR3BCQ25WQndEVnFMUUFBSUFBZ0JXb29BZ0JCRUdwQkJYVkJ3RFZxTFFBQWFrRUJha0VCZGpvQU1DQUJJQVFnQ1dvb0FnQWlFaUFRSUFzZ0RHb2lGVUVFZEdvZ0NpQU5haUlRYXlBVklCQnJRUUowYW1wQmdBUnFRUXAxUWNBMWFpMEFBQ0FBSUFScUtBSUFRUkJxUVFWMVFjQTFhaTBBQUdwQkFXcEJBWFk2QUNBZ0FTQUpLQUlBSWhBZ0RTQUtJQXhxSWhWQkJIUnFJQXNnRW1vaURXc2dGU0FOYTBFQ2RHcHFRWUFFYWtFS2RVSEFOV290QUFBZ0FDZ0NBRUVRYWtFRmRVSEFOV290QUFCcVFRRnFRUUYyT2dBUUlBRWdDU0FQYWlnQ0FDQUxJQW9nRW1vaUNrRUVkR29nRENBUWFpSU1heUFLSUF4clFRSjBhbXBCZ0FScVFRcDFRY0ExYWkwQUFDQUFJQTlxS0FJQVFSQnFRUVYxUWNBMWFpMEFBR3BCQVdwQkFYWTZBQUFnQUVFRWFpRUFJQWxCQkdvaENTQUJRUUZxSVFFZ0FrRUVhaUVDSUFOQkFXc2lBdzBBQ3lBQklCUnFJUUVnQUNBSGFpRUFJQUlnQjJvaEFpQUhJQWxxSVFrZ0NFRUJheUlJRFFBTElCRkJnQTVxSkFBTHBnUUJDWDhqQUVIQUEyc2lDeVFBSUFaQkJXb2hDUUpBQWtBZ0FrRUFTQTBBSUFJZ0NXb2dCRXNOQUNBRFFRQklEUUFnQXlBSGFpQUZTdzBBSUFRaENTQURJUW9NQVFzZ0FDQUxJQUlnQXlBRUlBVWdDU0FISUFrUUNTQUxJUUJCQUNFQ0MwRVFJQVpySVE0Z0NTQUdheUVQSUFaQkFuWWhFQ0FBSUFrZ0Ntd2dBbXBxUVFWcUlRQURRQ0FBUVFGckxRQUFJUWtnQUVFQ2F5MEFBQ0VDSUFCQkEyc3RBQUFoQXlBQVFRUnJMUUFBSVFvZ0FFRUZheTBBQUNFR0lCQWhEQU5BSUFFZ0FDMEFBQ0lFSUFZZ0FpQURhaUlGUVFSMGFpQUpJQXBxSWdacklBVWdCbXRCQW5ScWFrRVFha0VGZFVIQU5Xb3RBQUFnQWlBRElBZ2Jha0VCYWtFQmRqb0FBQ0FCSUFBdEFBRWlCU0FLSUFJZ0NXb2lCa0VFZEdvZ0F5QUVhaUlLYTJvZ0JpQUthMEVDZEdwQkVHcEJCWFZCd0RWcUxRQUFJQWtnQWlBSUcycEJBV3BCQVhZNkFBRWdBU0FBTFFBQ0lnMGdBeUFFSUFscUlnWkJCSFJxSUFJZ0JXb2lBMnRxSUFZZ0EydEJBblJxUVJCcVFRVjFRY0ExYWkwQUFDQUVJQWtnQ0J0cVFRRnFRUUYyT2dBQ0lBRWdBQzBBQXlJUklBSWdCQ0FGYWlJRFFRUjBhaUFKSUExcUlnSnJhaUFESUFKclFRSjBha0VRYWtFRmRVSEFOV290QUFBZ0JTQUVJQWdiYWtFQmFrRUJkam9BQXlBQlFRUnFJUUVnQUVFRWFpRUFJQWtoQmlBRUlRb2dCU0VESUEwaEFpQVJJUWtnREVFQmF5SU1EUUFMSUFFZ0Rtb2hBU0FBSUE5cUlRQWdCMEVCYXlJSERRQUxJQXRCd0FOcUpBQUx6UVFCREg4akFFSEFBMnNpRHlRQUFrQUNRQ0FDUVFCSURRQWdBaUFHYWlBRVN3MEFJQU5CQUVnTkFDQURJQWRxUVFWcUlBVkxEUUFnQXlFSkRBRUxJQUFnRHlBQ0lBTWdCQ0FGSUFZZ0IwRUZhaUFHRUFrZ0R5RUFJQVloQkVFQUlRSUxJQUFnQkNBSmJDQUNhbW9nQkdvaUFDQUVRUVZzYWlFQ0lBQWdCQ0FJUVFKcWJHb2hBeUFIUVFKMklSRkJ3QUFnQm1zaEV5QUVRUUYwSVFjZ0JFRUNkQ0FHYXlFSVFRQWdCR3NpQ1VFQmRDRVVBMEFnQmlFRkEwQWdBU0FBSUFkcUxRQUFJZ29nQWlBSGFpMEFBQ0FDSUFScUxRQUFJZ3NnQWlBVWFpMEFBQ0lNYWlJTmF5QU5RUUowYTJvZ0FpMEFBQ0lPSUFJZ0NXb3RBQUFpRFdwQkZHeHFRUkJxUVFWMVFjQTFhaTBBQUNBRElBZHFMUUFBYWtFQmFrRUJkam9BTUNBQklBQWdCR290QUFBaUVpQUxJQXdnRFdvaUVFRUVkR29nQ2lBT2FpSUxheUFRSUF0clFRSjBhbXBCRUdwQkJYVkJ3RFZxTFFBQUlBTWdCR290QUFCcVFRRnFRUUYyT2dBZ0lBRWdBQzBBQUNJTElBNGdDaUFNYWlJUVFRUjBhaUFOSUJKcUlnNXJJQkFnRG10QkFuUnFha0VRYWtFRmRVSEFOV290QUFBZ0F5MEFBR3BCQVdwQkFYWTZBQkFnQVNBQUlBbHFMUUFBSUEwZ0NpQVNhaUlLUVFSMGFpQUxJQXhxSWd4cklBb2dER3RCQW5ScWFrRVFha0VGZFVIQU5Xb3RBQUFnQXlBSmFpMEFBR3BCQVdwQkFYWTZBQUFnQTBFQmFpRURJQUJCQVdvaEFDQUJRUUZxSVFFZ0FrRUJhaUVDSUFWQkFXc2lCUTBBQ3lBQklCTnFJUUVnQXlBSWFpRURJQUlnQ0dvaEFpQUFJQWhxSVFBZ0VVRUJheUlSRFFBTElBOUJ3QU5xSkFBTDZnWUJDSDhDUUNBQUtBSUFJZ0VvQWhSRkRRQWdBVUVBTmdJVUlBRW9BaGdOQUNBQUlBQW9BaXhCQVdzMkFpd0xBa0FnQVNnQ1BFVU5BQ0FCUVFBMkFqd2dBVUZBYXlnQ0FBMEFJQUFnQUNnQ0xFRUJhellDTEFzQ1FDQUJLQUprUlEwQUlBRkJBRFlDWkNBQktBSm9EUUFnQUNBQUtBSXNRUUZyTmdJc0N3SkFJQUVvQW93QlJRMEFJQUZCQURZQ2pBRWdBU2dDa0FFTkFDQUFJQUFvQWl4QkFXczJBaXdMQWtBZ0FTZ0N0QUZGRFFBZ0FVRUFOZ0swQVNBQktBSzRBUTBBSUFBZ0FDZ0NMRUVCYXpZQ0xBc0NRQ0FCS0FMY0FVVU5BQ0FCUVFBMkF0d0JJQUVvQXVBQkRRQWdBQ0FBS0FJc1FRRnJOZ0lzQ3dKQUlBRW9Bb1FDUlEwQUlBRkJBRFlDaEFJZ0FTZ0NpQUlOQUNBQUlBQW9BaXhCQVdzMkFpd0xBa0FnQVNnQ3JBSkZEUUFnQVVFQU5nS3NBaUFCS0FLd0FnMEFJQUFnQUNnQ0xFRUJhellDTEFzQ1FDQUJLQUxVQWtVTkFDQUJRUUEyQXRRQ0lBRW9BdGdDRFFBZ0FDQUFLQUlzUVFGck5nSXNDd0pBSUFFb0F2d0NSUTBBSUFGQkFEWUMvQUlnQVNnQ2dBTU5BQ0FBSUFBb0FpeEJBV3MyQWl3TEFrQWdBU2dDcEFORkRRQWdBVUVBTmdLa0F5QUJLQUtvQXcwQUlBQWdBQ2dDTEVFQmF6WUNMQXNDUUNBQktBTE1BMFVOQUNBQlFRQTJBc3dESUFFb0F0QUREUUFnQUNBQUtBSXNRUUZyTmdJc0N3SkFJQUVvQXZRRFJRMEFJQUZCQURZQzlBTWdBU2dDK0FNTkFDQUFJQUFvQWl4QkFXczJBaXdMQWtBZ0FTZ0NuQVJGRFFBZ0FVRUFOZ0tjQkNBQktBS2dCQTBBSUFBZ0FDZ0NMRUVCYXpZQ0xBc0NRQ0FCS0FMRUJFVU5BQ0FCUVFBMkFzUUVJQUVvQXNnRURRQWdBQ0FBS0FJc1FRRnJOZ0lzQ3dKQUlBRW9BdXdFUlEwQUlBRkJBRFlDN0FRZ0FTZ0M4QVFOQUNBQUlBQW9BaXhCQVdzMkFpd0xJQUFvQWpnaEJnTkFBa0FnQmcwQUlBQW9BaHdoQjBFQUlRSkIvLy8vL3djaEEwRUFJUVFEUUNBQklBUkJLR3hxSWdVb0FoZ0VRQ0FGSUFJZ0JTZ0NFQ0lGSUFOSUlnZ2JJUUlnQlNBRElBZ2JJUU1MSUFSQkFXb2lCQ0FIVFEwQUN5QUNSUTBBSUFBb0Fnd2dBQ2dDRUNJRVFRUjBhaUlESUFJb0FnQTJBZ0FnQXlBQ0tBSWtOZ0lNSUFNZ0FpZ0NIRFlDQkNBRElBSW9BaUEyQWdnZ0FDQUVRUUZxTmdJUUlBSkJBRFlDR0NBQ0tBSVVEUUVnQUNBQUtBSXNRUUZyTmdJc0RBRUxDeUFBUVFBMkFqQWdBRUwvL3dNM0FpUUwyUThCQ244Z0FpQUFLQUlJSWdrb0FnQkdCRUFnQUVFQU5nSTBJQUFvQWpnaUFrVWhFUUpBSUFGRkJFQWdDU0FETmdJTUlBbEJBRFlDRkNBSklCRTJBaGdnQ1NBRU5nSVFJQWtnQXpZQ0NDQUNEUUVnQUNBQUtBSXNRUUZxTmdJc0RBRUxJQVVFUUNBQVFnQTNBaEFnQUJBYkFrQWdBU2dDQUVVRVFDQUFLQUk0UlEwQkN5QUFRZ0EzQWhBTElBQW9BZ2dpQWtFRFFRSWdBU2dDQkNJQkd6WUNGQ0FBUVFCQi8vOERJQUViTmdJa0lBSWdFVFlDR0NBQ1FRQTJBaEFnQWtJQU53SUlJQUJDZ1lDQWdCQTNBaWdNQVFzQ1FBSkFJQUVvQWdnRVFFRUFJUWtEUUFKQUFrQUNRQUpBQWtBQ1FBSkFJQUVnQ1VFVWJHb2lBaWdDREVFQmF3NEdBQUVDQXdRRkNRc2dBQ2dDR0NJS1JRMElJQU1nQWlnQ0VHc2hDeUFBS0FJQUlReEJBQ0VDQTBBQ1FDQU1JQUpCS0d4cUlnZ29BaFJCQVd0QkFVMEVRQ0FJS0FJSUlBdEdEUUVMSUFKQkFXb2lBaUFLUncwQkRBb0xDeUFDUVFCSURRZ2dDRUVBTmdJVUlBQWdBQ2dDS0VFQmF6WUNLQ0FJS0FJWURRVWdBQ0FBS0FJc1FRRnJOZ0lzSUFsQkFXb2hDUXdHQ3lBQUtBSVlJZ3BGRFFjZ0FpZ0NGQ0VMSUFBb0FnQWhERUVBSVFJRFFBSkFJQXdnQWtFb2JHb2lDQ2dDRkVFRFJnUkFJQWdvQWdnZ0MwWU5BUXNnQWtFQmFpSUNJQXBIRFFFTUNRc0xJQUpCQUVnTkJ5QUlRUUEyQWhRZ0FDQUFLQUlvUVFGck5nSW9JQWdvQWhnTkJDQUFJQUFvQWl4QkFXczJBaXdnQ1VFQmFpRUpEQVVMSUFBb0FpUWlDRUgvL3dOR0RRWWdDQ0FDS0FJWUlndEpEUVlnQUNnQ0dDSUlSUTBHSUFJb0FoQWhEeUFBS0FJQUlReEJBQ0VDQTBBQ1FBSkFJQXdnQWtFb2JHb2lDaWdDRkVFRFJ3MEFJQW9vQWdnZ0MwY05BQ0FLUVFBMkFoUWdBQ0FBS0FJb1FRRnJOZ0lvSUFvb0FoZ05BU0FBSUFBb0FpeEJBV3MyQWl3TUFRc2dBa0VCYWlJQ0lBaEhEUUVMQ3lBSVFRRWdDRUVCU3hzaENpQURJQTlySVE5QkFDRUNBMEFDUUNBTUlBSkJLR3hxSWdnb0FoUWlEVUVCYTBFQlRRUkFJQWdvQWdnZ0QwWU5BUXNnQWtFQmFpSUNJQXBIRFFFTUNBc0xJQUpCQUVnTkJpQU5RUUpKRFFZZ0NFRUROZ0lVSUFnZ0N6WUNDQ0FKUVFGcUlRa01CQXNnQUNBQ0tBSWNJZ28yQWlRZ0FDZ0NHQ0lMUlEwQ0lBQW9BZ0FoREVFQUlRSWdDa0gvL3dOR0JFQURRQUpBSUF3Z0FrRW9iR29pQ0NnQ0ZFRURSdzBBSUFoQkFEWUNGQ0FBSUFBb0FpaEJBV3MyQWlnZ0NDZ0NHQTBBSUFBZ0FDZ0NMRUVCYXpZQ0xBc2dBa0VCYWlJQ0lBdEhEUUFNQkFzQUN3TkFBa0FnRENBQ1FTaHNhaUlJS0FJVVFRTkhEUUFnQ0NnQ0NDQUtUUTBBSUFoQkFEWUNGQ0FBSUFBb0FpaEJBV3MyQWlnZ0NDZ0NHQTBBSUFBZ0FDZ0NMRUVCYXpZQ0xBc2dBa0VCYWlJQ0lBdEhEUUFMREFJTElBQVFHeUFBUVFFMkFqUkJBQ0VESUFsQkFXb2hDUXdDQ3lBQUtBSWtJZ2hCLy84RFJnMERJQWdnQWlnQ0dDSUtTUTBEQWtBZ0FDZ0NHQ0lMUlEwQUlBQW9BZ0FoREVFQUlRSURRQUpBSUF3Z0FrRW9iR29pQ0NnQ0ZFRURSdzBBSUFnb0FnZ2dDa2NOQUNBSVFRQTJBaFFnQUNBQUtBSW9RUUZyTmdJb0lBZ29BaGdOQWlBQUlBQW9BaXhCQVdzMkFpd01BZ3NnQWtFQmFpSUNJQXRIRFFBTEN5QUFLQUlvSWdnZ0MwOE5BeUFBS0FJSUlnSkJBellDRkNBQ0lBUTJBaEFnQWlBS05nSUlJQUlnQXpZQ0RDQUNJQUFvQWpoRk5nSVlRUUVoRGlBQUlBaEJBV28yQWlnZ0FDQUFLQUlzUVFGcU5nSXNDeUFKUVFGcUlRa01BQXNBQ3lBQUtBSW9JZ2dnQUNnQ0dDSUxTUTBCSUFoRkJFQkJBQ0VJREFJTElBQW9BZ0FoQ2tFQUlRbEJmeUVCQWtBZ0NFRUJSd1JBSUFoQkFYRWhEMEVBSVFJZ0NFRitjU0lPSVF3RFFDQUtJQUpCS0d4cUlnMG9BaFJCQVd0QkFVMEVRQ0FOS0FJSUlnMGdDU0FCUVg5R0lBa2dEVXB5SWcwYklRa2dBaUFCSUEwYklRRUxJQW9nQWtFQmNpSU5RU2hzYWlJUUtBSVVRUUZyUVFKSkJFQWdFQ2dDQ0NJUUlBa2dBVUYvUmlBSklCQktjaUlRR3lFSklBMGdBU0FRR3lFQkN5QUNRUUpxSVFJZ0RFRUNheUlNRFFBTElBOUZEUUVMSUFvZ0RrRW9iR29pQWlnQ0ZFRUJhMEVCU3cwQUlBNGdEaUFCSUFGQmYwWWJJQUlvQWdnZ0NVZ2JJUUVMSUFGQkFFZ05BU0FLSUFGQktHeHFJZ0ZCQURZQ0ZDQUFJQWhCQVdzaUNEWUNLQ0FCS0FJWURRRWdBQ0FBS0FJc1FRRnJOZ0lzREFFTElBNE5BU0FBS0FJWUlRc2dBQ2dDS0NFSUN5QUlJQXRQRFFBZ0FDZ0NDQ0lCSUJFMkFoZ2dBVUVDTmdJVUlBRWdCRFlDRUNBQklBTTJBZ2dnQVNBRE5nSU1JQUFnQ0VFQmFqWUNLQ0FBSUFBb0FpeEJBV28yQWl3TElBQW9BZ2dpQVNBSE5nSWdJQUVnQmpZQ0hDQUJJQVUyQWlRQ1FDQUFLQUk0UlFSQUlBQW9BaXdpQVNBQUtBSWNJZ05ORFFFZ0FDZ0NBQ0VHQTBCQi8vLy8vd2NoQlVFQUlRbEJBQ0VDQTBBZ0JpQUNRU2hzYWlJRUtBSVlCRUFnQkNBSklBUW9BaEFpQkNBRlNDSUhHeUVKSUFRZ0JTQUhHeUVGQ3lBQ1FRRnFJZ0lnQTAwTkFBc0NRQ0FKUlEwQUlBQW9BZ3dnQUNnQ0VDSUVRUVIwYWlJQ0lBa29BZ0EyQWdBZ0FpQUpLQUlrTmdJTUlBSWdDU2dDSERZQ0JDQUNJQWtvQWlBMkFnZ2dBQ0FFUVFGcU5nSVFJQWxCQURZQ0dDQUpLQUlVRFFBZ0FDQUJRUUZySWdFMkFpd0xJQUVnQTBzTkFBc01BUXNnQVNnQ0FDRUNJQUFvQWd3Z0FDZ0NFQ0lEUVFSMGFpSUJJQVUyQWd3Z0FTQUNOZ0lBSUFFZ0J6WUNDQ0FCSUFZMkFnUWdBQ0FEUVFGcU5nSVFJQUFvQWh3aEF3c2dBQ2dDQUNBRFFRRnFFQjBMQzhjRUFneC9BbjVCQnlFRkl3QkJFR3NpQ3lFTUEwQWdBU0FGU3dSQVFRQWdCV3NoQnlBRklRWURRQ0FBSUFaQktHeHFJZ0lvQWhnaERTQUNLUUlNSVE0Z0FpZ0NDQ0VJSUFJcEFnQWhEeUFDS0FJVUlRa2dEQ0FDS0FJa05nSUlJQXNnQWlrQ0hEY0RBQUpBSUFZaUFpQUZTUTBBSUFsRkJFQWdEVVVOQVFOQUlBQWdBa0VvYkdvaUJDQUhRU2hzYWlJREtBSVVEUUlnQXlnQ0dBMENJQVFnQUNBQ0lBVnJJZ0pCS0d4cUlnTXBBZ0EzQWdBZ0JDQURLUUlnTndJZ0lBUWdBeWtDR0RjQ0dDQUVJQU1wQWhBM0FoQWdCQ0FES1FJSU53SUlJQUlnQlU4TkFBc01BUXNnQ1VFQmEwRUJUUVJBQTBBQ1FDQUFJQUpCS0d4cUlnUWdCMEVvYkdvaUF5Z0NGQ0lLUlEwQUlBcEJBV3RCQVVzTkFDQURLQUlJSUFoT0RRTUxJQVFnQUNBQ0lBVnJJZ0pCS0d4cUlnTXBBZ0EzQWdBZ0JDQURLUUlnTndJZ0lBUWdBeWtDR0RjQ0dDQUVJQU1wQWhBM0FoQWdCQ0FES1FJSU53SUlJQUlnQlU4TkFBd0NDd0FMQTBBZ0FDQUNRU2hzYWlJRUlBZEJLR3hxSWdNb0FoUWlDZ1JBSUFwQkFXdEJBa2tOQWlBREtBSUlJQWhNRFFJTElBUWdBQ0FDSUFWcklnSkJLR3hxSWdNcEFnQTNBZ0FnQkNBREtRSWdOd0lnSUFRZ0F5a0NHRGNDR0NBRUlBTXBBaEEzQWhBZ0JDQURLUUlJTndJSUlBSWdCVThOQUFzTElBQWdBa0VvYkdvaUFpQU5OZ0lZSUFJZ0NUWUNGQ0FDSUE0M0Fnd2dBaUFJTmdJSUlBSWdEemNDQUNBQ0lBc3BBd0EzQWh3Z0FpQU1LQUlJTmdJa0lBWkJBV29pQmlBQlJ3MEFDd3NnQlVFQlN5RUdJQVZCQVhZaEJTQUdEUUFMQzlZTEFRcC9RUUVoQndKQUlBQWdBUkFDRFFBZ0FTQUJLQUlBUVFGcUlnbzJBZ0FnQ2tFZ1N3MEFJQUFvQWdRaEJBSkFJQUFvQWd4QkEzUWlDQ0FBS0FJUUlnWnJJZ05CSUU0RVFDQUVLQUFBSWdKQkdIUWdBa0VJZEVHQWdQd0hjWElnQWtFSWRrR0EvZ054SUFKQkdIWnljaUVDSUFBb0FnZ2lBMFVOQVNBQ0lBTjBJQVF0QUFSQkNDQURhM1p5SVFJTUFRc2dBMEVCU0FSQURBRUxJQVF0QUFBZ0FDZ0NDQ0lKUVJocUlnVjBJUUlnQXlBSmFrRUlheUlEUVFGSURRQURRQ0FFTFFBQklBVkJDR3NpQlhRZ0FuSWhBaUFEUVFoS0lRa2dCRUVCYWlFRUlBTkJDR3NoQXlBSkRRQUxDeUFBSUFaQkJHb2lCVFlDRUNBQUlBVkJCM0VpQXpZQ0NDQUZJQWhMRFFBZ0FDQUFLQUlBSWdrZ0JVRURkbW9pQkRZQ0JDQUJJQUpCSEhZMkFnUUNRQ0FJSUFWcklndEJJRTRFUUNBRUtBQUFJZ0pCR0hRZ0FrRUlkRUdBZ1B3SGNYSWdBa0VJZGtHQS9nTnhJQUpCR0haeWNpRUNJQU5GRFFFZ0FpQURkQ0FFTFFBRVFRZ2dBMnQyY2lFQ0RBRUxJQXRCQVVnRVFFRUFJUUlNQVFzZ0JDMEFBQ0FEUVJoeUlnVjBJUUlnQXlBTGFrRUlheUlEUVFGSURRQURRQ0FFTFFBQklBVkJDR3NpQlhRZ0FuSWhBaUFEUVFoS0lRc2dCRUVCYWlFRUlBTkJDR3NoQXlBTERRQUxDeUFBSUFaQkIzRTJBZ2dnQUNBR1FRaHFJZ1UyQWhBZ0JTQUlTdzBBSUFBZ0NTQUZRUU4yYWlJRU5nSUVJQUVnQWtFY2RqWUNDQ0FLQkVCQkFDRUlBMEFnQUNBQklBaEJBblJxSWdVaUFrRU1haEFDQkVCQkFROExJQUlvQWd3aUJFRi9SZ1JBUVFFUEN5QUNJQVJCQVdvaUJEWUNEQ0FDSUFRZ0FTZ0NCRUVHYW5RMkFnd2dBQ0FGUVl3QmFoQUNEUUlnQlNnQ2pBRWlBa0YvUmcwQ0lBVWdBa0VCYWlJQ05nS01BU0FGSUFJZ0FTZ0NDRUVFYW5RMkFvd0JJQUFvQWdRaEJBSkFJQUFvQWd4QkEzUWlDU0FBS0FJUUlnWnJJZ05CSUU0RVFDQUVLQUFBSWdKQkdIUWdBa0VJZEVHQWdQd0hjWElnQWtFSWRrR0EvZ054SUFKQkdIWnljaUVDSUFBb0FnZ2lBMFVOQVNBQ0lBTjBJQVF0QUFSQkNDQURhM1p5SVFJTUFRc2dBMEVCU0FSQVFRQWhBZ3dCQ3lBRUxRQUFJQUFvQWdnaUNrRVlhaUlIZENFQ0lBTWdDbXBCQ0dzaUEwRUJTQTBBQTBBZ0JDMEFBU0FIUVFocklnZDBJQUp5SVFJZ0EwRUlTaUVLSUFSQkFXb2hCQ0FEUVFocklRTWdDZzBBQ3d0QkFTRUhJQUFnQmtFQmFpSUVOZ0lRSUFBZ0JFRUhjVFlDQ0NBRUlBbExEUUlnQUNBQUtBSUFJZ2tnQkVFRGRtb2lCRFlDQkNBRklBSkJIM1kyQW93Q0lBaEJBV29pQ0NBQktBSUFTUTBBQ3lBQUtBSU1RUU4wSVFnZ0FDZ0NFQ0VGQ3dKQUlBZ2dCV3NpQTBFZ1RnUkFJQVFvQUFBaUFrRVlkQ0FDUVFoMFFZQ0EvQWR4Y2lBQ1FRaDJRWUQrQTNFZ0FrRVlkbkp5SVFJZ0FDZ0NDQ0lEUlEwQklBSWdBM1FnQkMwQUJFRUlJQU5yZG5JaEFnd0JDeUFEUVFGSUJFQkJBQ0VDREFFTElBUXRBQUFnQUNnQ0NDSUdRUmhxSWdkMElRSWdBeUFHYWtFSWF5SURRUUZJRFFBRFFDQUVMUUFCSUFkQkNHc2lCM1FnQW5JaEFpQURRUWhLSVFZZ0JFRUJhaUVFSUFOQkNHc2hBeUFHRFFBTEN5QUFJQVZCQldvaUJqWUNFQ0FBSUFaQkIzRWlBellDQ0VFQklRY2dCaUFJU3cwQUlBQWdDU0FHUVFOMmFpSUVOZ0lFSUFFZ0FrRWJka0VCYWpZQ2pBTUNRQ0FJSUFacklnWkJJRTRFUUNBRUtBQUFJZ0pCR0hRZ0FrRUlkRUdBZ1B3SGNYSWdBa0VJZGtHQS9nTnhJQUpCR0haeWNpRUNJQU5GRFFFZ0FpQURkQ0FFTFFBRVFRZ2dBMnQyY2lFQ0RBRUxJQVpCQVVnRVFFRUFJUUlNQVFzZ0JDMEFBQ0FEUVJoeUlnZDBJUUlnQXlBR2FrRUlheUlEUVFGSURRQURRQ0FFTFFBQklBZEJDR3NpQjNRZ0FuSWhBaUFEUVFoS0lRWWdCRUVCYWlFRUlBTkJDR3NoQXlBR0RRQUxDeUFBSUFWQkNtb2lCRFlDRUNBQUlBUkJCM0UyQWdoQkFTRUhJQVFnQ0VzTkFDQUFJQWtnQkVFRGRtbzJBZ1FnQVNBQ1FSdDJRUUZxTmdLUUF5QUFRUVVRRkNJQ1FYOUdEUUFnQVNBQ1FRRnFOZ0tVQXlBQVFRVVFGQ0lBUVg5R0RRQWdBU0FBTmdLWUEwRUFJUWNMSUFjTHFBd0JDbjhDUUNBQlFRUlBCRUJCQUNBRGF5SU1RUUYwSVFzQ1FDQUNLQUlFSWdFZ0FDQURheUlHTFFBQUlnY2dBQzBBQUNJSWF5SUtJQXBCSDNVaUNtb2dDbk5ORFFBZ0FpZ0NDQ0lGSUFBZ0Myb3RBQUFpQ2lBSGF5SUpJQWxCSDNVaUNXb2dDWE5ORFFBZ0JTQUFJQU5xTFFBQUlnVWdDR3NpQ1NBSlFSOTFJZ2xxSUFselRRMEFJQVlnQlNBSGFpQUtRUUYwYWtFQ2FrRUNkam9BQUNBQUlBZ2dCVUVCZEdvZ0NtcEJBbXBCQW5ZNkFBQWdBaWdDQkNFQkN3SkFJQUJCQVdvaUJ5QU1haUlKTFFBQUlnZ2dBQzBBQVNJS2F5SUZJQVZCSDNVaUJXb2dCWE1nQVU4TkFDQUNLQUlJSWdZZ0J5QUxhaTBBQUNJRklBaHJJZ1FnQkVFZmRTSUVhaUFFYzAwTkFDQUdJQU1nQjJvdEFBQWlCaUFLYXlJRUlBUkJIM1VpQkdvZ0JITk5EUUFnQ1NBR0lBaHFJQVZCQVhScVFRSnFRUUoyT2dBQUlBY2dDaUFHUVFGMGFpQUZha0VDYWtFQ2Rqb0FBQ0FDS0FJRUlRRUxBa0FnQUVFQ2FpSUhJQXhxSWdrdEFBQWlDQ0FBTFFBQ0lncHJJZ1VnQlVFZmRTSUZhaUFGY3lBQlR3MEFJQUlvQWdnaUJpQUhJQXRxTFFBQUlnVWdDR3NpQkNBRVFSOTFJZ1JxSUFSelRRMEFJQVlnQXlBSGFpMEFBQ0lHSUFwcklnUWdCRUVmZFNJRWFpQUVjMDBOQUNBSklBWWdDR29nQlVFQmRHcEJBbXBCQW5ZNkFBQWdCeUFLSUFaQkFYUnFJQVZxUVFKcVFRSjJPZ0FBSUFJb0FnUWhBUXNDUUNBQVFRTnFJZ2NnREdvaUNTMEFBQ0lJSUFBdEFBTWlDbXNpQlNBRlFSOTFJZ1ZxSUFWeklBRlBEUUFnQWlnQ0NDSUdJQWNnQzJvdEFBQWlCU0FJYXlJRUlBUkJIM1VpQkdvZ0JITk5EUUFnQmlBRElBZHFMUUFBSWdZZ0Ntc2lCQ0FFUVI5MUlnUnFJQVJ6VFEwQUlBa2dCaUFJYWlBRlFRRjBha0VDYWtFQ2Rqb0FBQ0FISUFvZ0JrRUJkR29nQldwQkFtcEJBblk2QUFBZ0FpZ0NCQ0VCQ3dKQUlBQkJCR29pQnlBTWFpSUpMUUFBSWdnZ0FDMEFCQ0lLYXlJRklBVkJIM1VpQldvZ0JYTWdBVThOQUNBQ0tBSUlJZ1lnQnlBTGFpMEFBQ0lGSUFocklnUWdCRUVmZFNJRWFpQUVjMDBOQUNBR0lBTWdCMm90QUFBaUJpQUtheUlFSUFSQkgzVWlCR29nQkhOTkRRQWdDU0FHSUFocUlBVkJBWFJxUVFKcVFRSjJPZ0FBSUFjZ0NpQUdRUUYwYWlBRmFrRUNha0VDZGpvQUFDQUNLQUlFSVFFTEFrQWdBRUVGYWlJSElBeHFJZ2t0QUFBaUNDQUFMUUFGSWdwcklnVWdCVUVmZFNJRmFpQUZjeUFCVHcwQUlBSW9BZ2dpQmlBSElBdHFMUUFBSWdVZ0NHc2lCQ0FFUVI5MUlnUnFJQVJ6VFEwQUlBWWdBeUFIYWkwQUFDSUdJQXBySWdRZ0JFRWZkU0lFYWlBRWMwME5BQ0FKSUFZZ0NHb2dCVUVCZEdwQkFtcEJBblk2QUFBZ0J5QUtJQVpCQVhScUlBVnFRUUpxUVFKMk9nQUFJQUlvQWdRaEFRc0NRQ0FBUVFacUlnY2dER29pQ1MwQUFDSUlJQUF0QUFZaUNtc2lCU0FGUVI5MUlnVnFJQVZ6SUFGUERRQWdBaWdDQ0NJR0lBY2dDMm90QUFBaUJTQUlheUlFSUFSQkgzVWlCR29nQkhOTkRRQWdCaUFESUFkcUxRQUFJZ1lnQ21zaUJDQUVRUjkxSWdScUlBUnpUUTBBSUFrZ0JpQUlhaUFGUVFGMGFrRUNha0VDZGpvQUFDQUhJQW9nQmtFQmRHb2dCV3BCQW1wQkFuWTZBQUFnQWlnQ0JDRUJDeUFCSUFCQkIyb2lBU0FNYWlJSExRQUFJZ3dnQUMwQUJ5SUFheUlJSUFoQkgzVWlDR29nQ0hOTkRRRWdBaWdDQ0NJSUlBRWdDMm90QUFBaUFpQU1heUlMSUF0QkgzVWlDMm9nQzNOTkRRRWdBU0FEYWkwQUFDSURJQUJySWdzZ0MwRWZkU0lMYWlBTGN5QUlUdzBCSUFjZ0F5QU1haUFDUVFGMGFrRUNha0VDZGpvQUFDQUJJQUFnQTBFQmRHb2dBbXBCQW1wQkFuWTZBQUFQQzBFQUlBTnJJZ3BCQVhRaEJTQUJJQUlvQWdCcVFRRnJMUUFBSWdGQmYzTWhCeUFCUVFGcUlRaEJDQ0VCQTBBQ1FDQUNLQUlFSUFBZ0Ntb2lCaTBBQUNJTElBQXRBQUFpREdzaUNTQUpRUjkxSWdscUlBbHpUUTBBSUFJb0FnZ2lDU0FBSUFWcUxRQUFJZ1FnQzJzaURTQU5RUjkxSWcxcUlBMXpUUTBBSUFrZ0FDQURhaTBBQUNJSklBeHJJZzBnRFVFZmRTSU5haUFOYzAwTkFDQUdJQXNnQnlBSUlBd2dDMnRCQW5RZ0NXc2dCR3BCQkdwQkEzVWlDeUFJSUF0SUd5QUhJQXRLR3lJTGFrSEFOV290QUFBNkFBQWdBQ0FNSUF0clFjQTFhaTBBQURvQUFBc2dBRUVCYWlFQUlBRkJBV3NpQVEwQUN3c0xCZ0FnQUJBRUN3Y0FRY1FhRUFnTHlBTUJBMzhEUUNBQUlBSkJBblJxSWdGQkZHb29BZ0FpQXdSQUlBTW9BaWdRQkNBQktBSVVRUUEyQWlnZ0FTZ0NGQ2dDVkJBRUlBRW9BaFJCQURZQ1ZDQUJLQUlVRUFRZ0FVRUFOZ0lVQ3lBQ1FRRnFJZ0pCSUVjTkFBdEJBQ0VDQTBBZ0FDQUNRUUowYWlJQlFaUUJhaWdDQUNJREJFQWdBeWdDRkJBRUlBRW9BcFFCUVFBMkFoUWdBU2dDbEFFb0FoZ1FCQ0FCS0FLVUFVRUFOZ0lZSUFFb0FwUUJLQUljRUFRZ0FTZ0NsQUZCQURZQ0hDQUJLQUtVQVNnQ0xCQUVJQUVvQXBRQlFRQTJBaXdnQVNnQ2xBRVFCQ0FCUVFBMkFwUUJDeUFDUVFGcUlnSkJnQUpIRFFBTElBQW9BckFhRUFSQkFDRUNJQUJCQURZQ3NCb2dBQ2dDdkFrUUJDQUFRUUEyQXJ3SklBQW9BcFFKRUFRZ0FFRUFOZ0tVQ1NBQUtBSzhHaUlEQkVBZ0F4QUVJQUJCQURZQ3ZCb0xBa0FnQUNnQ3hBa2lBMFVOQUNBQVFlQUphaWdDQUVGL1JnUkFJQU1oQWd3QkMwRUFJUUVnQXlFQ0EwQWdBaUFCUVNoc0lnTnFLQUlFRUFRZ0FDZ0N4QWtpQWlBRGFrRUFOZ0lFSUFGQkFXb2lBU0FBS0FMZ0NVRUJha2tOQUFzTElBSVFCQ0FBUVFBMkFzUUpJQUJCeUFscUlnTW9BZ0FRQkNBRFFRQTJBZ0FnQUVIUUNXb2lBQ2dDQUJBRUlBQkJBRFlDQUF2TjN3UUNhSDhDZmlNQVFmQUJheUlMSkFBZ0FFSHNER29oVkNBQVFiUVNhaUZWSUFCQjJBcHFJVllnQUVIRUNXb2hPQ0FBUWJnS2FpRXJJQUJCbkJwcUlUd2dDMEcwQVdvaFZ5QUxRYkFCYWlGWUlBdEJyQUZxSVZrZ0MwR29BV29oV2lBTFFaUUJhaUZiSUF0QmpBRnFJVndnQzBId0FHb2hYU0FMUVRCcUlWNGdDMEVnYWtFRWNpRmZBMEFnQVNBeWFpRUJJQUlnTW1zaEFnSkFBa0FDUUFKQUlBQW9BcEFhUlEwQUlBQW9BcFFhSUFGSERRQWdDeUE4S0FJUU5nSVlJQXNnUENrQ0NEY0RFQ0E4S1FJQUlXNUJBQ0VLSUF0QkFEWUNHQ0FMUVFBMkFoQWdDeUJ1TndNSUlBc2diajRDRENBQUtBS1lHaUV5SUFzb0FoUWhCZ3dCQ3dKQUFrQWdBa0VFU1EwQUlBRXRBQUFOQUNBQkxRQUJEUUFnQVMwQUFpSU5RUUZMRFFCQkF5RUhJQUZCQTJvaENVRUNJVElEUUNBSklRWUNRQ0FOUWY4QmNTSUlSUVJBSURKQkFXb2hNZ3dCQzBFQUlRa2dDRUVCUndSQVFRQWhNZ3dCQ3lBeVFRRkxJUWhCQUNFeUlBaEZEUUFnQnlFeVFRQWhHRUVBSVJJRFFFRUJJQmdnQ1NBR0xRQUFJZ3BGYWlJSVFRSkdHeUFZSUFwQkEwWWJJUmdDUUNBS1FRRkhEUUFnQ0VFQ1NRMEFJQXNnTWlBSElBaHFheUlHTmdJVVFRQWdDRUVEYXlJSklBZ2dDVWtiSVFrTUJRdEJBQ0FJSUFvYklRbEJBU0FTSUFoQkFrc2JJQklnQ2hzaEVpQUdRUUZxSVFZZ01rRUJhaUl5SUFKSERRQUxJQXNnQWlBSElBbHFheUlHTmdJVURBTUxJQVpCQVdvaENTQUdMUUFBSVExQkF5RU1RUUFoQ2lBSFFRRnFJZ2NnQWtjTkFBc2dBaUV5REFRTElBc2dBallDRkVFQklSaEJBQ0VISUFJaEJrRUFJUWxCQUNFU0MwRUFJUW9nQzBFQU5nSVlJQXRCQURZQ0VDQUxJQUVnQjJvaURUWUNEQ0FMSUEwMkFnZ2dCeUFKYWlBR2FpRXlRUU1oRENBU0RRSWdHQVJBSUEwaEJ5QUxJQVlFZndOQUlBWkJBV3NoQmlBSExRQUFJUWdDZnlBS1FRSkdCRUFnQ0VFRFJnUkFJQVpGQkVCQkFDRUtEQWtMUVFBaUNpQUhMUUFCUVFOTkRRSWFEQWdMSUFoQkEwa05CZ3NnRFNBSU9nQUFJQTFCQVdvaERVRUFJQXBCQVdvZ0NCc0xJUW9nQjBFQmFpRUhJQVlOQUFzZ0N5Z0NHQ0VLSUFzb0FoUUZRUUFMSUEwZ0IydHFJZ1kyQWhRTElEd2dDeWtEQ0RjQ0FDQThJQXNvQWhnMkFoQWdQQ0FMS1FNUU53SUlJQUFnQVRZQ2xCb2dBQ0F5TmdLWUdnc2dBRUVBTmdLUUdnSkFJQVpCQTNRaUdDQUtheUlHUVFGclFSNUxEUUFnQmlBTEtBSVFha0VJYXlJR1FRRklEUUFEUUNBR1FRaEtJUWNnQmtFSWF5RUdJQWNOQUFzTElBc2dDa0VCYWlJSE5nSVlJQXNnQjBFSGNTSUlOZ0lRSUFjZ0dFc0VRRUVESVF4QkFDRUtEQUlMSUFzZ0N5Z0NDQ0lPSUFkQkEzWnFJZ1kyQWd3Q1FDQVlJQWRySWcxQklFNEVRQ0FHS0FBQUlnZEJHSFFnQjBFSWRFR0FnUHdIY1hJZ0IwRUlka0dBL2dOeElBZEJHSFp5Y2lFSklBaEZEUUVnQ1NBSWRDQUdMUUFFUVFnZ0NHdDJjaUVKREFFTElBMUJBVWdFUUVFQUlRa01BUXNnQmkwQUFDQUlRUmh5SWd4MElRa2dCaUVISUFnZ0RXcEJDR3NpRFVFQlNBMEFBMEFnQnkwQUFTQU1RUWhySWd4MElBbHlJUWtnRFVFSVNpRUlJQWRCQVdvaEJ5QU5RUWhySVEwZ0NBMEFDd3NnQ3lBS1FRTnFJZ2cyQWhnZ0N5QUlRUWR4SWdjMkFoQkJmeUVTSUFnZ0dFMEVRQ0FMSUE0Z0NFRURkbW9pQmpZQ0RDQUpRUjUySVJJTEFrQWdHQ0FJYXlJSVFTQk9CRUFnQmlnQUFDSUlRUmgwSUFoQkNIUkJnSUQ4QjNGeUlBaEJDSFpCZ1A0RGNTQUlRUmgyY25JaERTQUhSUTBCSUEwZ0IzUWdCaTBBQkVFSUlBZHJkbkloRFF3QkN5QUlRUUZJQkVCQkFDRU5EQUVMSUFZdEFBQWdCMEVZY2lJSmRDRU5JQWNnQ0dwQkNHc2lCMEVCU0EwQUEwQWdCaTBBQVNBSlFRaHJJZ2wwSUExeUlRMGdCMEVJU2lFSUlBWkJBV29oQmlBSFFRaHJJUWNnQ0EwQUN3c2dDeUFLUVFkeE5nSVFJQXNnQ2tFSWFpSUdOZ0lZUVFBaENpQUdJQmhMQkVCQkFDRU1EQUlMSUFzZ0RpQUdRUU4yYWpZQ0RDQU5RUnQySWhwQkFtdEJBMGtFUUVFRElRd01BZ3NDUUNBYVFReExEUUJCQVNBYWRDSUdRY0E4Y1VVRVFDQUdRYUFEY1VVTkFTQVNSUVJBUVFNaERBd0VDeUFhUVFaSERRRkJBeUVNREFNTElCSkZEUUJCQXlFTURBSUxJQnBCQVdzaUUwRUxTd1JBUVFBaERBd0NDd0pBSUJwQkVrc05BQUpBQWtCQkFTQWFkQ0lHUWNEZkgzRkZCRUFnQmtFaWNVVU5BeUFBS0FLMENnUi9JQUJCQURZQ3RBcEJBUVZCQUFzaENpQUxJQXNvQWhnMkF1QUJJQXNnQ3lrRENEY0QwQUVnQ3lBTFFSQnFJaGdwQXdBM0E5Z0JJQXRCMEFGcUlBdEI3QUZxRUFJaUJnMEJJQXRCMEFGcUlBdEI3QUZxRUFJTkJDQUxRZEFCYWlBTFFld0JhaEFDRFFRZ0N5Z0M3QUVpQmtIL0FVc05CQ0FBSUFaQkFuUnFLQUtVQVNJTlJRMENJQUFnRFNnQ0JDSUdRUUowYWlnQ0ZDSUhSUTBDQWtBZ0FDZ0NDQ0lJUVNCR0RRQWdCaUFJUmcwQUlCcEJCVWNOQXdzZ0NpQUtRUUVnRWh0QkFTQUFLQUtZQ2lJR0d5QUdJQkpHR3lFS0FrQUNRQ0FBS0FLVUNrRUZSZ1JBSUJwQkJVY05BUXdDQ3lBYVFRVkhEUUVMUVFFaENnc2dCeWdDRENFR0lBc2dDeWdDR0RZQzRBRWdDeUFZS1FNQU53UFlBU0FMSUFzcEF3ZzNBOUFCSUF0QjBBRnFJQXRCN0FGcUVBSU5CQ0FMUWRBQmFpQUxRZXdCYWhBQ0RRUWdDMEhRQVdvZ0MwSHNBV29RQWcwRVFSOGdCbWNpQ1dzaEp5QUxLQUxVQVNFT0FrQWdDeWdDM0FGQkEzUWlEQ0FMS0FMZ0FTSVVheUlHUVNCT0JFQWdEaWdBQUNJR1FSaDBJQVpCQ0hSQmdJRDhCM0Z5SUFaQkNIWkJnUDREY1NBR1FSaDJjbkloRHlBTEtBTFlBU0lHUlEwQklBOGdCblFnRGkwQUJFRUlJQVpyZG5JaER3d0JDeUFHUVFGSUJFQkJBQ0VQREFFTElBNHRBQUFnQ3lnQzJBRWlFVUVZYWlJSWRDRVBJQVlnRVdwQkNHc2lFVUVCU0EwQUEwQWdEaTBBQVNBSVFRaHJJZ2gwSUE5eUlROGdFVUVJU2lFR0lBNUJBV29oRGlBUlFRaHJJUkVnQmcwQUN3c2dGQ0FuYWlBTVN3MEVJQThnQ1VFQmFuWWlCa0YvUmcwRUlBWWdBQ2dDbkFwSEJFQWdBQ0FHTmdLY0NrRUJJUW9MSUJwQkJVY2lGRVVFUUNBSEtBSU1JUVlnQ3lBTEtBSVlOZ0xnQVNBTElCZ3BBd0EzQTlnQklBc2dDeWtEQ0RjRDBBRWdDMEhRQVdvZ0MwSHNBV29RQWcwRklBdEIwQUZxSUF0QjdBRnFFQUlOQlNBTFFkQUJhaUFMUWV3QmFoQUNEUVZCSHlBR1p5SU1heUVPSUFzb0F0UUJJUkVDUUNBTEtBTGNBVUVEZENJY0lBc29BdUFCSWhkcklnbEJJRTRFUUNBUktBQUFJZ1pCR0hRZ0JrRUlkRUdBZ1B3SGNYSWdCa0VJZGtHQS9nTnhJQVpCR0haeWNpRUlJQXNvQXRnQklnWkZEUUVnQ0NBR2RDQVJMUUFFUVFnZ0JtdDJjaUVJREFFTElBbEJBVWdFUUVFQUlRZ01BUXNnRVMwQUFDQUxLQUxZQVNJblFSaHFJZ1owSVFnZ0NTQW5ha0VJYXlJUFFRRklEUUFEUUNBUkxRQUJJQVpCQ0dzaUJuUWdDSEloQ0NBUFFRaEtJU2NnRVVFQmFpRVJJQTlCQ0dzaER5QW5EUUFMQ3lBTElBNGdGMm9pQmpZQzRBRWdDeUFHUVFkeE5nTFlBU0FHSUJ4TERRVWdDeUFMS0FMUUFTQUdRUU4yYWpZQzFBRWdDQ0FNUVFGcWRrRi9SZzBGSUF0QjBBRnFJQXRCeUFGcUVBSU5CUUpBSUFBb0FwUUtRUVZIQkVBZ0N5Z0N5QUVoRVF3QkN5QUtRUUVnQ3lnQ3lBRWlFU0FBS0FLZ0NrWWJJUW9MSUFBZ0VUWUNvQW9MQWtBQ1FBSkFJQWNvQWhBT0FnQUJBZ3NnQ3lBTEtBSVlOZ0xnQVNBTElBc3BBd2czQTlBQklBc2dHQ2tEQURjRDJBRWdDMEhRQVdvZ0MwSHNBV29RQWcwR0lBdEIwQUZxSUF0QjdBRnFFQUlOQmlBTFFkQUJhaUFMUWV3QmFoQUNEUVpCSHlBSEtBSU1aeUlNYXlFY0lBc29BdFFCSVJFQ1FDQUxLQUxjQVVFRGRDSU9JQXNvQXVBQkloZHJJZ2xCSUU0RVFDQVJLQUFBSWdaQkdIUWdCa0VJZEVHQWdQd0hjWElnQmtFSWRrR0EvZ054SUFaQkdIWnljaUVJSUFzb0F0Z0JJZ1pGRFFFZ0NDQUdkQ0FSTFFBRVFRZ2dCbXQyY2lFSURBRUxJQWxCQVVnRVFFRUFJUWdNQVFzZ0VTMEFBQ0FMS0FMWUFTSW5RUmhxSWdaMElRZ2dDU0FuYWtFSWF5SVBRUUZJRFFBRFFDQVJMUUFCSUFaQkNHc2lCblFnQ0hJaENDQVBRUWhLSVNjZ0VVRUJhaUVSSUE5QkNHc2hEeUFuRFFBTEN5QUxJQmNnSEdvaUJqWUM0QUVnQ3lBR1FRZHhOZ0xZQVNBR0lBNUxEUVlnQ3lBTEtBTFFBU0FHUVFOMmFpSVJOZ0xVQVNBSUlBeEJBV3AyUVg5R0RRWWdGRVVFUUNBTFFkQUJhaUFMUWV3QmFoQUNEUWNnQ3lnQzFBRWhFU0FMS0FMY0FVRURkQ0VPSUFzb0F1QUJJUVlMUVI4Z0J5Z0NGR2NpREdzaEhBSkFJQTRnQm1zaUNVRWdUZ1JBSUJFb0FBQWlDRUVZZENBSVFRaDBRWUNBL0FkeGNpQUlRUWgyUVlEK0EzRWdDRUVZZG5KeUlRZ2dDeWdDMkFFaUNVVU5BU0FJSUFsMElCRXRBQVJCQ0NBSmEzWnlJUWdNQVFzZ0NVRUJTQVJBUVFBaENBd0JDeUFSTFFBQUlBc29BdGdCSWc5QkdHb2lKM1FoQ0NBSklBOXFRUWhySWc5QkFVZ05BQU5BSUJFdEFBRWdKMEVJYXlJbmRDQUljaUVJSUE5QkNFb2hDU0FSUVFGcUlSRWdEMEVJYXlFUElBa05BQXNMSUFZZ0hHb2dEa3NOQmlBSUlBeEJBV3AySWdaQmYwWU5CaUFHSUFBb0FxUUtSd1JBSUFBZ0JqWUNwQXBCQVNFS0N5QU5LQUlJUlEwQklBc2dDeWdDR0RZQzRBRWdDeUFMS1FNSU53UFFBU0FMSUJncEF3QTNBOWdCSUF0QjBBRnFJQXRCekFGcUVBSU5CaUFMUWRBQmFpQUxRY3dCYWhBQ0RRWWdDMEhRQVdvZ0MwSE1BV29RQWcwR1FSOGdCeWdDREdjaUoyc2hDQ0FMS0FMVUFTRU5Ba0FnQ3lnQzNBRkJBM1FpRHlBTEtBTGdBU0lPYXlJR1FTQk9CRUFnRFNnQUFDSUdRUmgwSUFaQkNIUkJnSUQ4QjNGeUlBWkJDSFpCZ1A0RGNTQUdRUmgyY25JaERDQUxLQUxZQVNJR1JRMEJJQXdnQm5RZ0RTMEFCRUVJSUFacmRuSWhEQXdCQ3lBR1FRRklCRUJCQUNFTURBRUxJQTB0QUFBZ0N5Z0MyQUVpQ1VFWWFpSVlkQ0VNSUFZZ0NXcEJDR3NpQ1VFQlNBMEFBMEFnRFMwQUFTQVlRUWhySWhoMElBeHlJUXdnQ1VFSVNpRUdJQTFCQVdvaERTQUpRUWhySVFrZ0JnMEFDd3NnQ3lBSUlBNXFJaGcyQXVBQklBc2dHRUVIY1RZQzJBRWdEeUFZU1EwR0lBc2dDeWdDMEFFZ0dFRURkbW9pRFRZQzFBRWdEQ0FuUVFGcWRrRi9SZzBHSUJSRkJFQWdDMEhRQVdvZ0MwSE1BV29RQWcwSElBc29BdHdCUVFOMElROGdDeWdDNEFFaEdDQUxLQUxVQVNFTkMwRWZJQWNvQWhSbklnZHJJUWdDUUNBUElCaHJJZ1pCSUU0RVFDQU5LQUFBSWdaQkdIUWdCa0VJZEVHQWdQd0hjWElnQmtFSWRrR0EvZ054SUFaQkdIWnljaUVNSUFzb0F0Z0JJZ1pGRFFFZ0RDQUdkQ0FOTFFBRVFRZ2dCbXQyY2lFTURBRUxJQVpCQVVnRVFFRUFJUXdNQVFzZ0RTMEFBQ0FMS0FMWUFTSUpRUmhxSWc1MElRd2dCaUFKYWtFSWF5SUpRUUZJRFFBRFFDQU5MUUFCSUE1QkNHc2lEblFnREhJaERDQUpRUWhLSVFZZ0RVRUJhaUVOSUFsQkNHc2hDU0FHRFFBTEN5QUxJQWdnR0dvaUJqWUM0QUVnQ3lBR1FRZHhOZ0xZQVNBR0lBOUxEUVlnQ3lBTEtBTFFBU0FHUVFOMmFqWUMxQUVnRENBSFFRRnFka0YvUmcwR0lBdEJBRFlDN0FFZ0MwSFFBV29nQzBIc0FXb1FBaUVHQWtBZ0N5Z0M3QUVpQjBGL1JnUkFRWUNBZ0lCNElRa2dCa1VOQ0F3QkN5QUdEUWNnQjBFQmFrRUJkaUlHUVFBZ0Jtc2dCMEVCY1JzaENRc2dBQ2dDcUFvZ0NVWU5BU0FBSUFrMkFxZ0tRUUVoQ2d3QkN5QUhLQUlZRFFBZ0RTZ0NDQ0VPSUFzZ0N5Z0NHRFlDNEFFZ0N5QVlLUU1BTndQWUFTQUxJQXNwQXdnM0E5QUJJQXRCMEFGcUlBdEJ6QUZxRUFJTkJTQUxRZEFCYWlBTFFjd0JhaEFDRFFVZ0MwSFFBV29nQzBITUFXb1FBZzBGUVI4Z0J5Z0NER2NpQjJzaEVTQUxLQUxVQVNFSkFrQWdDeWdDM0FGQkEzUWlEeUFMS0FMZ0FTSW5heUlHUVNCT0JFQWdDU2dBQUNJR1FSaDBJQVpCQ0hSQmdJRDhCM0Z5SUFaQkNIWkJnUDREY1NBR1FSaDJjbkloR0NBTEtBTFlBU0lHUlEwQklCZ2dCblFnQ1MwQUJFRUlJQVpyZG5JaEdBd0JDeUFHUVFGSUJFQkJBQ0VZREFFTElBa3RBQUFnQ3lnQzJBRWlERUVZYWlJSWRDRVlJQVlnREdwQkNHc2lERUVCU0EwQUEwQWdDUzBBQVNBSVFRaHJJZ2gwSUJoeUlSZ2dERUVJU2lFR0lBbEJBV29oQ1NBTVFRaHJJUXdnQmcwQUN3c2dDeUFSSUNkcUlnWTJBdUFCSUFzZ0JrRUhjVFlDMkFFZ0JpQVBTdzBGSUFzZ0N5Z0MwQUVnQmtFRGRtbzJBdFFCSUJnZ0IwRUJhblpCZjBZTkJTQVVSUVJBSUF0QjBBRnFJQXRCekFGcUVBSU5CZ3NnQzBFQU5nTHNBU0FMUWRBQmFpQUxRZXdCYWhBQ0lRWUNRQ0FMS0FMc0FTSUhRWDlHQkVCQmdJQ0FnSGdoRENBR1JRMEhEQUVMSUFZTkJpQUhRUUZxUVFGMklnWkJBQ0FHYXlBSFFRRnhHeUVNQ3dKQUlBNUZCRUFnWUNFSkRBRUxJQXRCQURZQzdBRWdDMEhRQVdvZ0MwSHNBV29RQWlFWUlBc29BdXdCSWdaQmYwWUVRRUdBZ0lDQWVDRUpJQmhGRFFjTUFRc2dHQTBHSUFaQkFXcEJBWFlpR0VFQUlCaHJJQVpCQVhFYklRa0xJQXdnQUNnQ3JBcEhCRUFnQUNBTU5nS3NDa0VCSVFvTEFrQWdEU2dDQ0VVTkFDQUFLQUt3Q2lBSlJnMEFJQUFnQ1RZQ3NBcEJBU0VLQ3lBSklXQUxJQUFnR3EwZ0VxMUNJSWFFTndLVUNnd0RDMEVCSVFvTUFnc2dCa1VOQVNBR1FmRC9BMGNOQWd0QkJDRU1RUUFoQ2d3Q0N3SkFJQW9FUUFKQUlBQW9BcUFKUlEwQUlBQW9BaEJGRFFCQkFDRUtJQUFvQXJRYUJFQkJBeUVNREFVTEFrQWdBQ2dDcEFsRkJFQWdBQ0FBS0FMRUNTSUhJQUFvQXVBSlFTaHNhaUlHTmdMTUNTQUFJQVlvQWdBMkFyZ0tJQUFvQXV3SklnaEZCRUJCQUNFSkRBSUxJQWhCQTNFaENrRUFJUWxCQUNFR0FrQWdDRUVCYTBFRFNRMEFJQWhCZkhFaERRTkFJQUFvQXNnSklBWkJBblJxSUFjZ0JrRW9iR28yQWdBZ0FDZ0N5QWtnQmtFQmNpSUhRUUowYWlBQUtBTEVDU0FIUVNoc2FqWUNBQ0FBS0FMSUNTQUdRUUp5SWdkQkFuUnFJQUFvQXNRSklBZEJLR3hxTmdJQUlBQW9Bc2dKSUFaQkEzSWlCMEVDZEdvZ0FDZ0N4QWtnQjBFb2JHbzJBZ0FnQmtFRWFpRUdJQTFCQkdzaURVVU5BU0E0S0FJQUlRY01BQXNBQ3lBS1JRMEJBMEFnQUNnQ3lBa2dCa0VDZEdvZ0FDZ0N4QWtnQmtFb2JHbzJBZ0FnQmtFQmFpRUdJQXBCQVdzaUNnMEFDd3dCQ3lBQUtBTGNDaUVKQzBFQUlRZEJBQ0VNUVFBaERRSkFBa0FDUUNBSkRnWUJBQUFBQUFFQUN5QUFLQUs0R2cwQURBRUxJQUJCeUFscUtBSUFJUWdEUUFKL1FRQWdDQ0FIUVFKMGFpZ0NBQ0lHUlEwQUdrRUFJQVlvQWhSQkFra05BQm9nQmlnQ0FBc2hEQ0FIUVE1TERRRWdCMEVCYWlFSElBeEZEUUFMQ3lBcktBSUlJUkVnS3lnQ0JDRU9Ba0FDUUFKQUlBQW9BcGdKSWdoRkJFQkJBQ0VHUVFBaEJ3d0JDeUFBS0FLOENTRUtRUUFoQjBFQUlRWURRQ0FLSUFkQjJBRnNhaWdDeEFFTkFVRUFJQVpCQVdvaUJpQUdJQTVHSWhJYklRWWdEU0FTYWlFTklBZEJBV29pQnlBSVJ3MEFDd3dCQ3lBSElBaEdEUUFnQUNnQ3ZBa2dEU0FPYkVIWUFXeHFJUWdnQmdSQUlBWWhCd05BSUFnZ0IwRUJheUlIUWRnQmJHb2lDaUFySUEwZ0J5QUpJQXdRRFNBS1FRRTJBc1FCSUFBZ0FDZ0N0QWxCQVdvMkFyUUpJQWNOQUFzTElBNGdCa0VCYWlJSFN3UkFBMEFnQ0NBSFFkZ0JiR29pQmlnQ3hBRkZCRUFnQmlBcklBMGdCeUFKSUF3UURTQUdRUUUyQXNRQklBQWdBQ2dDdEFsQkFXbzJBclFKQ3lBSFFRRnFJZ2NnRGtjTkFBc0xJQTBFUUNBT1JRMENJQTFCQW1zaENrRUFJUkpCQUNBT2F5RVVJQTFCQVdzaUR5QU9iRUhZQVd3aEV3TkFJQUFvQXJ3SklCTnFJQkpCMkFGc2FpSUdJQ3NnRHlBU0lBa2dEQkFOSUFaQkFUWUN4QUVnQUNBQUtBSzBDVUVCYWpZQ3RBa0NRQ0FQUlEwQUlBWWdGRUhZQVd3aUdtb2lDQ0FySUFvZ0VpQUpJQXdRRFNBS0lRY0RRQ0FHSUJwcVFRRTJBc1FCSUFBZ0FDZ0N0QWxCQVdvMkFyUUpJQWRGRFFFZ0NDSUdJQnBxSWdnZ0t5QUhRUUZySWdjZ0VpQUpJQXdRRFF3QUN3QUxJQkpCQVdvaUVpQU9SdzBBQ3dzZ0RVRUJhaUlHSUJGUERRRWdEa1VOQVFOQUlBQW9BcndKSUFZZ0RteEIyQUZzYWlFS1FRQWhCd05BSUFvZ0IwSFlBV3hxSWdnb0FzUUJSUVJBSUFnZ0t5QUdJQWNnQ1NBTUVBMGdDRUVCTmdMRUFTQUFJQUFvQXJRSlFRRnFOZ0swQ1FzZ0IwRUJhaUlISUE1SERRQUxJQVpCQVdvaUJpQVJSdzBBQ3d3QkN3SkFBa0FDUUFKQUFrQWdDVUVDYXc0R0FBRUJBUUVBQVFzZ0FDZ0N1QnBGRFFFTElBd05BUXNnS3lnQ0FFR0FBU0FPSUJGc1FZQURiQkFER2d3QkN5QXJLQUlBSUF3Z0RpQVJiRUdBQTJ3UUJ4b0xJQUFnQUNnQ21Ba2lDVFlDdEFrZ0NVVU5BQ0FKUVFkeElRWWdBQ2dDdkFraENFRUFJUWNnQ1VFQmEwRUhUd1JBSUFsQmVIRWhEQU5BSUFnZ0IwSFlBV3hxUVFFMkFnZ2dDQ0FIUVFGeVFkZ0JiR3BCQVRZQ0NDQUlJQWRCQW5KQjJBRnNha0VCTmdJSUlBZ2dCMEVEY2tIWUFXeHFRUUUyQWdnZ0NDQUhRUVJ5UWRnQmJHcEJBVFlDQ0NBSUlBZEJCWEpCMkFGc2FrRUJOZ0lJSUFnZ0IwRUdja0hZQVd4cVFRRTJBZ2dnQ0NBSFFRZHlRZGdCYkdwQkFUWUNDQ0FIUVFocUlRY2dERUVJYXlJTURRQUxDeUFHUlEwQUEwQWdDQ0FIUWRnQmJHcEJBVFlDQ0NBSFFRRnFJUWNnQmtFQmF5SUdEUUFMQ3lBQVFRRTJBcEFhUVFBaEJrRUFJVElNQWdzZ0FFRUFOZ0tjQ1NBQVFRQTJBcVFKQzBFQUlRcEJBQ0VNQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBSUJNT0NBSUxDd3NDQ3dBQkN3c2dDMEhvQUdwQkFFSGNBQkFER2lBTEtBSU1JUVlDUUNBTEtBSVVRUU4wSWdnZ0N5Z0NHQ0lKYXlJS1FTQk9CRUFnQmlnQUFDSUhRUmgwSUFkQkNIUkJnSUQ4QjNGeUlBZEJDSFpCZ1A0RGNTQUhRUmgyY25JaEJ5QUxLQUlRSWdwRkRRRWdCeUFLZENBR0xRQUVRUWdnQ210MmNpRUhEQUVMSUFwQkFVZ0VRRUVBSVFjTUFRc2dCaTBBQUNBTEtBSVFJZ3hCR0dvaURYUWhCeUFLSUF4cVFRaHJJZ3BCQVVnTkFBTkFJQVl0QUFFZ0RVRUlheUlOZENBSGNpRUhJQXBCQ0VvaERDQUdRUUZxSVFZZ0NrRUlheUVLSUF3TkFBc0xJQXNnQ1VFSGNTSU1OZ0lRSUFzZ0NVRUlhaUlHTmdJWUlBWWdDRXNOQnlBTElBZEJHSFkyQW1nZ0N5QUxLQUlJSWc0Z0JrRURkbW8yQWd3Z0NVRUphaUlHSUFoTkJFQWdDeUFPSUFaQkEzWnFOZ0lNQ3lBTElBbEJDbW9pQmpZQ0dDQUxJQVpCQjNFaUJ6WUNFQ0FHSUFoTkJFQWdDeUFPSUFaQkEzWnFOZ0lNQ3dKQUlBZ2dCbXNpQmtFQmEwRWVTdzBBSUFZZ0IycEJDR3NpQmtFQlNBMEFBMEFnQmtFSVNpRUhJQVpCQ0dzaEJpQUhEUUFMQ3lBTElBbEJDMm9pQmpZQ0dDQUxJQVpCQjNFaUJ6WUNFQ0FHSUFoTERRY2dDeUFPSUFaQkEzWnFOZ0lNQWtBZ0NDQUdheUlHUVFGclFSNUxEUUFnQmlBSGFrRUlheUlHUVFGSURRQURRQ0FHUVFoS0lRY2dCa0VJYXlFR0lBY05BQXNMSUFzZ0REWUNFQ0FMSUFsQkVHb2lCellDR0NBSElBaExEUWNnQ3lBT0lBZEJBM1pxSWdZMkFnd0NRQ0FJSUFkcklncEJJRTRFUUNBR0tBQUFJZ2RCR0hRZ0IwRUlkRUdBZ1B3SGNYSWdCMEVJZGtHQS9nTnhJQWRCR0haeWNpRUhJQXhGRFFFZ0J5QU1kQ0FHTFFBRVFRZ2dER3QyY2lFSERBRUxJQXBCQVVnRVFFRUFJUWNNQVFzZ0JpMEFBQ0FNUVJoeUlnMTBJUWNnQ2lBTWFrRUlheUlLUVFGSURRQURRQ0FHTFFBQklBMUJDR3NpRFhRZ0IzSWhCeUFLUVFoS0lSSWdCa0VCYWlFR0lBcEJDR3NoQ2lBU0RRQUxDeUFMSUF3MkFoQWdDeUFKUVJocUlnWTJBaGdnQmlBSVN3MEhJQXNnQjBFWWRqWUNiQ0FMSUE0Z0JrRURkbW8yQWd3Z0MwRUlhaUJkRUFJTkJ5QUxLQUp3UVI5TERRY2dDMEVJYWlBTFFld0JhaEFDRFFjZ0N5Z0M3QUVpQmtFTVN3MEhJQXRCQVNBR1FRUnFkRFlDZENBTFFRaHFJQXRCN0FGcUVBSU5CeUFMS0FMc0FTSUdRUUpMRFFjZ0N5QUdOZ0o0QWtBQ1FBSkFJQVlPQWdBQkFnc2dDMEVJYWlBTFFld0JhaEFDRFFrZ0N5Z0M3QUVpQmtFTVN3MEpJQXRCQVNBR1FRUnFkRFlDZkF3QkN5QUxLQUlNSVFZQ1FDQUxLQUlVUVFOMElna2dDeWdDR0NJTWF5SUlRU0JPQkVBZ0JpZ0FBQ0lIUVJoMElBZEJDSFJCZ0lEOEIzRnlJQWRCQ0haQmdQNERjU0FIUVJoMmNuSWhCeUFMS0FJUUlnaEZEUUVnQnlBSWRDQUdMUUFFUVFnZ0NHdDJjaUVIREFFTElBaEJBVWdFUUVFQUlRY01BUXNnQmkwQUFDQUxLQUlRSWdwQkdHb2lEWFFoQnlBSUlBcHFRUWhySWdwQkFVZ05BQU5BSUFZdEFBRWdEVUVJYXlJTmRDQUhjaUVISUFwQkNFb2hDQ0FHUVFGcUlRWWdDa0VJYXlFS0lBZ05BQXNMSUFzZ0RFRUJhaUlHTmdJWUlBc2dCa0VIY1RZQ0VDQUdJQWxMRFFnZ0N5QUhRUjkyTmdLQUFTQUxJQXNvQWdnZ0JrRURkbW8yQWd3Z0MwRUFOZ0xRQVNBTFFRaHFJQXRCMEFGcUVBSWhCaUFMQW44Z0N5Z0MwQUVpQjBGL1JnUkFRWUNBZ0lCNElBWU5BUm9NQ2dzZ0JnMEpJQWRCQVdwQkFYWWlCa0VBSUFacklBZEJBWEViQ3pZQ2hBRWdDMEVBTmdMUUFTQUxRUWhxSUF0QjBBRnFFQUloQmlBTEFuOGdDeWdDMEFFaUIwRi9SZ1JBUVlDQWdJQjRJQVlOQVJvTUNnc2dCZzBKSUFkQkFXcEJBWFlpQmtFQUlBWnJJQWRCQVhFYkN6WUNpQUVnQzBFSWFpQmNFQUlOQ0NBTEtBS01BU0lHUWY4QlN3MElJQVlFUUNBTElBWkJBblFRQ0NJSE5nS1FBU0FIUlEwSlFRQWhCZ05BSUF0QkFEWUMwQUVnQzBFSWFpQUxRZEFCYWhBQ0lRZ2dCeUFHUVFKMGFnSi9JQXNvQXRBQklnZEJmMFlFUUVHQWdJQ0FlQ0FJRFFFYURBd0xJQWdOQ3lBSFFRRnFRUUYySWdoQkFDQUlheUFIUVFGeEd3czJBZ0FnQmtFQmFpSUdJQXNvQW93QlR3MENJQXNvQXBBQklRY01BQXNBQ3lBTFFRQTJBcEFCQ3lBTFFRaHFJRnNRQWcwSElBc29BcFFCUVJCTERRY2dDeWdDRENFR0FrQWdDeWdDRkVFRGRDSUpJQXNvQWhnaURHc2lDRUVnVGdSQUlBWW9BQUFpQjBFWWRDQUhRUWgwUVlDQS9BZHhjaUFIUVFoMlFZRCtBM0VnQjBFWWRuSnlJUWNnQ3lnQ0VDSUlSUTBCSUFjZ0NIUWdCaTBBQkVFSUlBaHJkbkloQnd3QkN5QUlRUUZJQkVCQkFDRUhEQUVMSUFZdEFBQWdDeWdDRUNJS1FSaHFJZzEwSVFjZ0NDQUtha0VJYXlJS1FRRklEUUFEUUNBR0xRQUJJQTFCQ0dzaURYUWdCM0loQnlBS1FRaEtJUWdnQmtFQmFpRUdJQXBCQ0dzaENpQUlEUUFMQ3lBTElBeEJBV29pQmpZQ0dDQUxJQVpCQjNFMkFoQWdCaUFKU3cwSElBc2dCMEVmZGpZQ21BRWdDeUFMS0FJSUlBWkJBM1pxTmdJTUlBdEJDR29nQzBIc0FXb1FBZzBISUFzZ0N5Z0M3QUZCQVdvMkFwd0JJQXRCQ0dvZ0MwSHNBV29RQWcwSElBc2dDeWdDN0FGQkFXb2lHRFlDb0FFZ0N5Z0NEQ0VHQWtBZ0N5Z0NGRUVEZENJSUlBc29BaGdpREdzaUNVRWdUZ1JBSUFZb0FBQWlCMEVZZENBSFFRaDBRWUNBL0FkeGNpQUhRUWgyUVlEK0EzRWdCMEVZZG5KeUlRY2dDeWdDRUNJSlJRMEJJQWNnQ1hRZ0JpMEFCRUVJSUFscmRuSWhCd3dCQ3lBSlFRRklCRUJCQUNFSERBRUxJQVl0QUFBZ0N5Z0NFQ0lLUVJocUlnMTBJUWNnQ1NBS2FrRUlheUlLUVFGSURRQURRQ0FHTFFBQklBMUJDR3NpRFhRZ0IzSWhCeUFLUVFoS0lRa2dCa0VCYWlFR0lBcEJDR3NoQ2lBSkRRQUxDeUFMSUF4QkFXb2lCallDR0NBTElBWkJCM0VpQ1RZQ0VDQUdJQWhMRFFjZ0N5QUxLQUlJSWc0Z0JrRURkbW8yQWd3Z0IwRi9TZzBIQWtBZ0NDQUdheUlHUVFGclFSNUxEUUFnQmlBSmFrRUlheUlHUVFGSURRQURRQ0FHUVFoS0lRY2dCa0VJYXlFR0lBY05BQXNMSUFzZ0RFRUNhaUlITmdJWUlBc2dCMEVIY1NJSk5nSVFJQWNnQ0VzTkJ5QUxJQTRnQjBFRGRtb2lCallDREFKQUlBZ2dCMnNpQ2tFZ1RnUkFJQVlvQUFBaUIwRVlkQ0FIUVFoMFFZQ0EvQWR4Y2lBSFFRaDJRWUQrQTNFZ0IwRVlkbkp5SVFjZ0NVVU5BU0FISUFsMElBWXRBQVJCQ0NBSmEzWnlJUWNNQVFzZ0NrRUJTQVJBUVFBaEJ3d0JDeUFHTFFBQUlBbEJHSElpRFhRaEJ5QUpJQXBxUVFocklncEJBVWdOQUFOQUlBWXRBQUVnRFVFSWF5SU5kQ0FIY2lFSElBcEJDRW9oQ1NBR1FRRnFJUVlnQ2tFSWF5RUtJQWtOQUFzTElBc2dERUVEYWlJR05nSVlJQXNnQmtFSGNUWUNFQ0FHSUFoTERRY2dDeUFIUVI5Mk5nS2tBU0FMSUE0Z0JrRURkbW8yQWd3Q1FDQUhRUUJPQkVBZ0N5Z0NuQUVoRFF3QkN5QUxRUWhxSUZvUUFnMElJQXRCQ0dvZ1dSQUNEUWdnQzBFSWFpQllFQUlOQ0NBTFFRaHFJRmNRQWcwSUlBc29BcWdCSUFzb0Fxd0JRWDl6SUFzb0Fwd0JJZzFCQTNScVNnMElJQXNvQXJBQklBc29BclFCUVg5eklBc29BcUFCSWhoQkEzUnFTZzBJQzBIakFDRUtRWUNrQ1NFSFFmLy8vLzhISVFZQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FnQ3lnQ2JFRUthdzRxQ2dBQkFRc0xDd3NMQ3dFQ0F3c0xDd3NMQ3dzREJBVUxDd3NMQ3dzTEJnWUhDd3NMQ3dzTEN3Z0pDd3RCakFNaENrR0FqQlVoQnd3SkMwR01BeUVLUVlEWU55RUhEQWdMUVpnR0lRcEJnTER2QUNFSERBY0xRZFFNSVFwQmdPeTlBU0VIREFZTFFaQWNJUXBCZ1BDbEF5RUhEQVVMUVlBb0lRcEJnSURnQXlFSERBUUxRWURBQUNFS1FZQ0FnQVloQnd3REMwR0F4QUFoQ2tHQWdMQUdJUWNNQWd0QndLd0JJUXBCZ01DYkZDRUhEQUVMUVlDZ0FpRUtRWUNBNENFaEJ3c2dDaUFOSUJoc0lnaEpEUUFnQnlBSVFZQURiRzRpQmtFUUlBWkJFRWtiSVFZTElBc2dDeWdDbEFFaUJ5QUhJQVlnQmlBSFNSc2dCa0gvLy8vL0IwWWJJZ1kyQXV3QklBc2dCallDd0FFZ0N5Z0NEQ0VHQWtBZ0N5Z0NGRUVEZENJSklBc29BaGdpREdzaUNFRWdUZ1JBSUFZb0FBQWlCMEVZZENBSFFRaDBRWUNBL0FkeGNpQUhRUWgyUVlEK0EzRWdCMEVZZG5KeUlRY2dDeWdDRUNJSVJRMEJJQWNnQ0hRZ0JpMEFCRUVJSUFocmRuSWhCd3dCQ3lBSVFRRklCRUJCQUNFSERBRUxJQVl0QUFBZ0N5Z0NFQ0lLUVJocUlnMTBJUWNnQ0NBS2FrRUlheUlLUVFGSURRQURRQ0FHTFFBQklBMUJDR3NpRFhRZ0IzSWhCeUFLUVFoS0lRZ2dCa0VCYWlFR0lBcEJDR3NoQ2lBSURRQUxDeUFMSUF4QkFXb2lCallDR0NBTElBWkJCM0UyQWhBZ0JpQUpTdzBISUFzZ0IwRWZkallDdUFFZ0N5QUxLQUlJSUFaQkEzWnFOZ0lNQWtBZ0IwRi9TZzBBSUF0QnVBY1FDQ0lHTmdLOEFTQUdSUTBJSUFaQkFFRzRCeEFESVFnZ0N5Z0NEQ0VHQWtBZ0N5Z0NGRUVEZENJU0lBc29BaGdpRVdzaUNVRWdUZ1JBSUFZb0FBQWlCMEVZZENBSFFRaDBRWUNBL0FkeGNpQUhRUWgyUVlEK0EzRWdCMEVZZG5KeUlRY2dDeWdDRUNJSlJRMEJJQWNnQ1hRZ0JpMEFCRUVJSUFscmRuSWhCd3dCQ3lBSlFRRklCRUJCQUNFSERBRUxJQVl0QUFBZ0N5Z0NFQ0lLUVJocUlnMTBJUWNnQ1NBS2FrRUlheUlLUVFGSURRQURRQ0FHTFFBQklBMUJDR3NpRFhRZ0IzSWhCeUFLUVFoS0lRa2dCa0VCYWlFR0lBcEJDR3NoQ2lBSkRRQUxDeUFMSUJGQkFXb2lEVFlDR0NBTElBMUJCM0VpRERZQ0VDQU5JQkpMRFFnZ0N5QUxLQUlJSWc0Z0RVRURkbW9pQmpZQ0RDQUlJQWRCSDNZMkFnQUNRQ0FIUVg5S0RRQUNRQ0FTSUExcklnbEJJRTRFUUNBR0tBQUFJZ2RCR0hRZ0IwRUlkRUdBZ1B3SGNYSWdCMEVJZGtHQS9nTnhJQWRCR0haeWNpRUhJQXhGRFFFZ0J5QU1kQ0FHTFFBRVFRZ2dER3QyY2lFSERBRUxJQWxCQVVnRVFFRUFJUWNNQVFzZ0JpMEFBQ0FNUVJoeUlnMTBJUWNnQ1NBTWFrRUlheUlLUVFGSURRQURRQ0FHTFFBQklBMUJDR3NpRFhRZ0IzSWhCeUFLUVFoS0lRa2dCa0VCYWlFR0lBcEJDR3NoQ2lBSkRRQUxDeUFMSUF3MkFoQWdDeUFSUVFscUlnMDJBaGdnRFNBU1N3MEpJQXNnRGlBTlFRTjJhaUlHTmdJTUlBZ2dCMEVZZGlJSE5nSUVJQWRCL3dGSERRQUNRQ0FTSUExcklncEJJRTRFUUNBR0tBQUFJZ2RCR0hRZ0IwRUlkRUdBZ1B3SGNYSWdCMEVJZGtHQS9nTnhJQWRCR0haeWNpRUhJQXhGRFFFZ0J5QU1kQ0FHTFFBRVFRZ2dER3QyY2lFSERBRUxJQXBCQVVnRVFFRUFJUWNNQVFzZ0JpMEFBQ0FNUVJoeUlnbDBJUWNnQ2lBTWFrRUlheUlLUVFGSURRQURRQ0FHTFFBQklBbEJDR3NpQ1hRZ0IzSWhCeUFLUVFoS0lRd2dCa0VCYWlFR0lBcEJDR3NoQ2lBTURRQUxDeUFMSUExQkIzRWlDVFlDRUNBTElCRkJHV29pRERZQ0dDQU1JQkpMRFFrZ0N5QU9JQXhCQTNacUlnWTJBZ3dnQ0NBSFFSQjJOZ0lJQWtBZ0VpQU1heUlLUVNCT0JFQWdCaWdBQUNJSFFSaDBJQWRCQ0hSQmdJRDhCM0Z5SUFkQkNIWkJnUDREY1NBSFFSaDJjbkloQnlBSlJRMEJJQWNnQ1hRZ0JpMEFCRUVJSUFscmRuSWhCd3dCQ3lBS1FRRklCRUJCQUNFSERBRUxJQVl0QUFBZ0NVRVljaUlOZENFSElBa2dDbXBCQ0dzaUNrRUJTQTBBQTBBZ0JpMEFBU0FOUVFocklnMTBJQWR5SVFjZ0NrRUlTaUVKSUFaQkFXb2hCaUFLUVFocklRb2dDUTBBQ3dzZ0N5QU1RUWR4SWd3MkFoQWdDeUFSUVNscUlnMDJBaGdnRFNBU1N3MEpJQXNnRGlBTlFRTjJhaUlHTmdJTUlBZ2dCMEVRZGpZQ0RBc0NRQ0FTSUExcklncEJJRTRFUUNBR0tBQUFJZ2RCR0hRZ0IwRUlkRUdBZ1B3SGNYSWdCMEVJZGtHQS9nTnhJQWRCR0haeWNpRUhJQXhGRFFFZ0J5QU1kQ0FHTFFBRVFRZ2dER3QyY2lFSERBRUxJQXBCQVVnRVFFRUFJUWNNQVFzZ0JpMEFBQ0FNUVJoeUlnbDBJUWNnQ2lBTWFrRUlheUlLUVFGSURRQURRQ0FHTFFBQklBbEJDR3NpQ1hRZ0IzSWhCeUFLUVFoS0lRd2dCa0VCYWlFR0lBcEJDR3NoQ2lBTURRQUxDeUFMSUExQkFXb2lDVFlDR0NBTElBbEJCM0VpQ2pZQ0VDQUpJQkpMRFFnZ0N5QU9JQWxCQTNacUlnWTJBZ3dnQ0NBSFFSOTJOZ0lRSUFkQmYwd0VRQUpBSUJJZ0NXc2lERUVnVGdSQUlBWW9BQUFpQjBFWWRDQUhRUWgwUVlDQS9BZHhjaUFIUVFoMlFZRCtBM0VnQjBFWWRuSnlJUWNnQ2tVTkFTQUhJQXAwSUFZdEFBUkJDQ0FLYTNaeUlRY01BUXNnREVFQlNBUkFRUUFoQnd3QkN5QUdMUUFBSUFwQkdISWlDWFFoQnlBS0lBeHFRUWhySWdwQkFVZ05BQU5BSUFZdEFBRWdDVUVJYXlJSmRDQUhjaUVISUFwQkNFb2hEQ0FHUVFGcUlRWWdDa0VJYXlFS0lBd05BQXNMSUFzZ0RVRUNhaUlKTmdJWUlBc2dDVUVIY1NJS05nSVFJQWtnRWtzTkNTQUxJQTRnQ1VFRGRtb2lCallDRENBSUlBZEJIM1kyQWhRTEFrQWdFaUFKYXlJTVFTQk9CRUFnQmlnQUFDSUhRUmgwSUFkQkNIUkJnSUQ4QjNGeUlBZEJDSFpCZ1A0RGNTQUhRUmgyY25JaEJ5QUtSUTBCSUFjZ0NuUWdCaTBBQkVFSUlBcHJkbkloQnd3QkN5QU1RUUZJQkVCQkFDRUhEQUVMSUFZdEFBQWdDa0VZY2lJTmRDRUhJQW9nREdwQkNHc2lDa0VCU0EwQUEwQWdCaTBBQVNBTlFRaHJJZzEwSUFkeUlRY2dDa0VJU2lFTUlBWkJBV29oQmlBS1FRaHJJUW9nREEwQUN3c2dDeUFKUVFGcUlnMDJBaGdnQ3lBTlFRZHhJZ28yQWhBZ0RTQVNTdzBJSUFzZ0RpQU5RUU4yYWlJR05nSU1JQWdnQjBFZmRqWUNHQ0FJQW44Q1FDQUhRWDlNQkVBQ1FDQVNJQTFySWd4QklFNEVRQ0FHS0FBQUlnZEJHSFFnQjBFSWRFR0FnUHdIY1hJZ0IwRUlka0dBL2dOeElBZEJHSFp5Y2lFSElBcEZEUUVnQnlBS2RDQUdMUUFFUVFnZ0NtdDJjaUVIREFFTElBeEJBVWdFUUVFQUlRY01BUXNnQmkwQUFDQUtRUmh5SWcxMElRY2dDaUFNYWtFSWF5SUtRUUZJRFFBRFFDQUdMUUFCSUExQkNHc2lEWFFnQjNJaEJ5QUtRUWhLSVF3Z0JrRUJhaUVHSUFwQkNHc2hDaUFNRFFBTEN5QUxJQWxCQkdvaUREWUNHQ0FMSUF4QkIzRWlDallDRUNBTUlCSkxEUXNnQ3lBT0lBeEJBM1pxSWdZMkFnd2dDQ0FIUVIxMk5nSWNBa0FnRWlBTWF5SU1RU0JPQkVBZ0JpZ0FBQ0lIUVJoMElBZEJDSFJCZ0lEOEIzRnlJQWRCQ0haQmdQNERjU0FIUVJoMmNuSWhCeUFLUlEwQklBY2dDblFnQmkwQUJFRUlJQXByZG5JaEJ3d0JDeUFNUVFGSUJFQkJBQ0VIREFFTElBWXRBQUFnQ2tFWWNpSU5kQ0VISUFvZ0RHcEJDR3NpQ2tFQlNBMEFBMEFnQmkwQUFTQU5RUWhySWcxMElBZHlJUWNnQ2tFSVNpRU1JQVpCQVdvaEJpQUtRUWhySVFvZ0RBMEFDd3NnQ3lBSlFRVnFJZ3cyQWhnZ0N5QU1RUWR4SWdvMkFoQWdEQ0FTU3cwTElBc2dEaUFNUVFOMmFpSUdOZ0lNSUFnZ0IwRWZkallDSUFKQUlCSWdER3NpREVFZ1RnUkFJQVlvQUFBaUIwRVlkQ0FIUVFoMFFZQ0EvQWR4Y2lBSFFRaDJRWUQrQTNFZ0IwRVlkbkp5SVFjZ0NrVU5BU0FISUFwMElBWXRBQVJCQ0NBS2EzWnlJUWNNQVFzZ0RFRUJTQVJBUVFBaEJ3d0JDeUFHTFFBQUlBcEJHSElpRFhRaEJ5QUtJQXhxUVFocklncEJBVWdOQUFOQUlBWXRBQUVnRFVFSWF5SU5kQ0FIY2lFSElBcEJDRW9oRENBR1FRRnFJUVlnQ2tFSWF5RUtJQXdOQUFzTElBc2dDVUVHYWlJTk5nSVlJQXNnRFVFSGNTSUtOZ0lRSUEwZ0Vrc05DeUFMSUE0Z0RVRURkbW9pQmpZQ0RDQUlJQWRCSDNZMkFpUWdCMEYvU2cwQkFrQWdFaUFOYXlJSFFTQk9CRUFnQmlnQUFDSUhRUmgwSUFkQkNIUkJnSUQ4QjNGeUlBZEJDSFpCZ1A0RGNTQUhRUmgyY25JaERTQUtSUTBCSUEwZ0NuUWdCaTBBQkVFSUlBcHJkbkloRFF3QkN5QUhRUUZJQkVCQkFDRU5EQUVMSUFZdEFBQWdDa0VZY2lJTWRDRU5JQWNnQ21wQkNHc2lCMEVCU0EwQUEwQWdCaTBBQVNBTVFRaHJJZ3gwSUExeUlRMGdCMEVJU2lFUklBWkJBV29oQmlBSFFRaHJJUWNnRVEwQUN3c2dDeUFLTmdJUUlBc2dDVUVPYWlJTU5nSVlJQXdnRWtzTkN5QUxJQTRnREVFRGRtb2lCallDRENBSUlBMUJHSFkyQWlnQ1FDQVNJQXhySWhGQklFNEVRQ0FHS0FBQUlnZEJHSFFnQjBFSWRFR0FnUHdIY1hJZ0IwRUlka0dBL2dOeElBZEJHSFp5Y2lFSElBcEZEUUVnQnlBS2RDQUdMUUFFUVFnZ0NtdDJjaUVIREFFTElCRkJBVWdFUUVFQUlRY01BUXNnQmkwQUFDQUtRUmh5SWcxMElRY2dDaUFSYWtFSWF5SUtRUUZJRFFBRFFDQUdMUUFCSUExQkNHc2lEWFFnQjNJaEJ5QUtRUWhLSVJFZ0JrRUJhaUVHSUFwQkNHc2hDaUFSRFFBTEN5QUxJQXhCQjNFaUNqWUNFQ0FMSUFsQkZtb2lERFlDR0NBTUlCSkxEUXNnQ3lBT0lBeEJBM1pxSWdZMkFnd2dDQ0FIUVJoMk5nSXNBa0FnRWlBTWF5SVJRU0JPQkVBZ0JpZ0FBQ0lIUVJoMElBZEJDSFJCZ0lEOEIzRnlJQWRCQ0haQmdQNERjU0FIUVJoMmNuSWhCeUFLUlEwQklBY2dDblFnQmkwQUJFRUlJQXByZG5JaEJ3d0JDeUFSUVFGSUJFQkJBQ0VIREFFTElBWXRBQUFnQ2tFWWNpSU5kQ0VISUFvZ0VXcEJDR3NpQ2tFQlNBMEFBMEFnQmkwQUFTQU5RUWhySWcxMElBZHlJUWNnQ2tFSVNpRVJJQVpCQVdvaEJpQUtRUWhySVFvZ0VRMEFDd3NnQ3lBTVFRZHhJZ28yQWhBZ0N5QUpRUjVxSWcwMkFoZ2dEU0FTU3cwTElBc2dEaUFOUVFOMmFpSUdOZ0lNSUFkQkdIWU1BZ3NnQ0VFRk5nSWNDeUFJUW9LQWdJQWdOd01vUVFJTE5nSXdBa0FnRWlBTmF5SU1RU0JPQkVBZ0JpZ0FBQ0lIUVJoMElBZEJDSFJCZ0lEOEIzRnlJQWRCQ0haQmdQNERjU0FIUVJoMmNuSWhCeUFLUlEwQklBY2dDblFnQmkwQUJFRUlJQXByZG5JaEJ3d0JDeUFNUVFGSUJFQkJBQ0VIREFFTElBWXRBQUFnQ2tFWWNpSUpkQ0VISUFvZ0RHcEJDR3NpQ2tFQlNBMEFBMEFnQmkwQUFTQUpRUWhySWdsMElBZHlJUWNnQ2tFSVNpRU1JQVpCQVdvaEJpQUtRUWhySVFvZ0RBMEFDd3NnQ3lBTlFRRnFJZzAyQWhnZ0N5QU5RUWR4TmdJUUlBMGdFa3NOQ0NBTElBNGdEVUVEZG1vaUJqWUNEQ0FJSUFkQkgzWTJBalFnQjBGL1RBUkFJQXRCQ0dvZ0NFRTRhaEFDRFFrZ0NDZ0NPRUVGU3cwSklBdEJDR29nQ0VFOGFoQUNEUWtnQ0NnQ1BFRUZTdzBKSUFzb0FoUkJBM1FoRWlBTEtBSVlJUTBnQ3lnQ0RDRUdDd0pBSUJJZ0RXc2lDa0VnVGdSQUlBWW9BQUFpQjBFWWRDQUhRUWgwUVlDQS9BZHhjaUFIUVFoMlFZRCtBM0VnQjBFWWRuSnlJUWNnQ3lnQ0VDSUpSUTBCSUFjZ0NYUWdCaTBBQkVFSUlBbHJkbkloQnd3QkN5QUtRUUZJQkVCQkFDRUhEQUVMSUFZdEFBQWdDeWdDRUNJTVFSaHFJZ2wwSVFjZ0NpQU1ha0VJYXlJS1FRRklEUUFEUUNBR0xRQUJJQWxCQ0dzaUNYUWdCM0loQnlBS1FRaEtJUXdnQmtFQmFpRUdJQXBCQ0dzaENpQU1EUUFMQ3lBTElBMUJBV29pQ1RZQ0dDQUxJQWxCQjNFaUdEWUNFQ0FKSUJKTERRZ2dDeUFMS0FJSUlnNGdDVUVEZG1vaUJqWUNEQ0FJSUFkQkgzWTJBa0FnQjBGL1RBUkFBa0FnRWlBSmF5SUtRU0JPQkVBZ0JpZ0FBQ0lIUVJoMElBZEJDSFJCZ0lEOEIzRnlJQWRCQ0haQmdQNERjU0FIUVJoMmNuSWhCeUFZUlEwQklBY2dHSFFnQmkwQUJFRUlJQmhyZG5JaEJ3d0JDeUFLUVFGSUJFQkJBQ0VIREFFTElBWXRBQUFnR0VFWWNpSUpkQ0VISUFvZ0dHcEJDR3NpQ2tFQlNBMEFBMEFnQmkwQUFTQUpRUWhySWdsMElBZHlJUWNnQ2tFSVNpRU1JQVpCQVdvaEJpQUtRUWhySVFvZ0RBMEFDd3NnQ3lBWU5nSVFJQXNnRFVFaGFpSU1OZ0lZSUF3Z0Vrc05DU0FMSUE0Z0RFRURkbW9pQmpZQ0RDQUhSUTBKSUFnZ0J6WUNSQUpBSUJJZ0RHc2lDa0VnVGdSQUlBWW9BQUFpQjBFWWRDQUhRUWgwUVlDQS9BZHhjaUFIUVFoMlFZRCtBM0VnQjBFWWRuSnlJUWNnR0VVTkFTQUhJQmgwSUFZdEFBUkJDQ0FZYTNaeUlRY01BUXNnQ2tFQlNBUkFRUUFoQnd3QkN5QUdMUUFBSUJoQkdISWlDWFFoQnlBS0lCaHFRUWhySWdwQkFVZ05BQU5BSUFZdEFBRWdDVUVJYXlJSmRDQUhjaUVISUFwQkNFb2hFU0FHUVFGcUlRWWdDa0VJYXlFS0lCRU5BQXNMSUFzZ0RFRUhjU0lLTmdJUUlBc2dEVUhCQUdvaUNUWUNHQ0FKSUJKTERRa2dDeUFPSUFsQkEzWnFJZ1kyQWd3Z0IwVU5DU0FJSUFjMkFrZ0NRQ0FTSUFscklneEJJRTRFUUNBR0tBQUFJZ2RCR0hRZ0IwRUlkRUdBZ1B3SGNYSWdCMEVJZGtHQS9nTnhJQWRCR0haeWNpRUhJQXBGRFFFZ0J5QUtkQ0FHTFFBRVFRZ2dDbXQyY2lFSERBRUxJQXhCQVVnRVFFRUFJUWNNQVFzZ0JpMEFBQ0FLUVJoeUlnbDBJUWNnQ2lBTWFrRUlheUlLUVFGSURRQURRQ0FHTFFBQklBbEJDR3NpQ1hRZ0IzSWhCeUFLUVFoS0lRd2dCa0VCYWlFR0lBcEJDR3NoQ2lBTURRQUxDeUFMSUExQndnQnFJZ2syQWhnZ0N5QUpRUWR4SWhnMkFoQWdDU0FTU3cwSklBc2dEaUFKUVFOMmFpSUdOZ0lNSUFnZ0IwRWZkallDVEFzQ1FDQVNJQWxySWdwQklFNEVRQ0FHS0FBQUlnZEJHSFFnQjBFSWRFR0FnUHdIY1hJZ0IwRUlka0dBL2dOeElBZEJHSFp5Y2lFSElCaEZEUUVnQnlBWWRDQUdMUUFFUVFnZ0dHdDJjaUVIREFFTElBcEJBVWdFUUVFQUlRY01BUXNnQmkwQUFDQVlRUmh5SWcxMElRY2dDaUFZYWtFSWF5SUtRUUZJRFFBRFFDQUdMUUFCSUExQkNHc2lEWFFnQjNJaEJ5QUtRUWhLSVF3Z0JrRUJhaUVHSUFwQkNHc2hDaUFNRFFBTEN5QUxJQWxCQVdvaUREWUNHQ0FMSUF4QkIzRTJBaEFnRENBU1N3MElJQXNnRGlBTVFRTjJhaUlHTmdJTUlBZ2dCMEVmZGpZQ1VBSkFJQWRCZjB3RVFDQUxRUWhxSUFoQjFBQnFFQjROQ2lBTEtBSVVRUU4wSVJJZ0N5Z0NHQ0VNSUFzb0Fnd2hCZ3dCQ3lBSVFwaUFnSUNBQXpjRDZBTWdDRUtZZ0lDQWdBTTNBK0FESUFoQmdaQ3FpUUUyQXVBQklBaEJnWkNxaVFFMkFtQWdDRUVCTmdKVUN3SkFJQklnREdzaUNVRWdUZ1JBSUFZb0FBQWlCMEVZZENBSFFRaDBRWUNBL0FkeGNpQUhRUWgyUVlEK0EzRWdCMEVZZG5KeUlRY2dDeWdDRUNJSlJRMEJJQWNnQ1hRZ0JpMEFCRUVJSUFscmRuSWhCd3dCQ3lBSlFRRklCRUJCQUNFSERBRUxJQVl0QUFBZ0N5Z0NFQ0lLUVJocUlnMTBJUWNnQ1NBS2FrRUlheUlLUVFGSURRQURRQ0FHTFFBQklBMUJDR3NpRFhRZ0IzSWhCeUFLUVFoS0lRa2dCa0VCYWlFR0lBcEJDR3NoQ2lBSkRRQUxDeUFMSUF4QkFXb2lCallDR0NBTElBWkJCM0UyQWhBZ0JpQVNTdzBJSUFzZ0N5Z0NDQ0FHUVFOMmFqWUNEQ0FJSUFkQkgzWTJBdkFEQWtBZ0IwRi9UQVJBSUF0QkNHb2dDRUgwQTJvUUhrVU5BUXdLQ3lBSVFwaUFnSUNBQXpjRGlBY2dDRUtZZ0lDQWdBTTNBNEFISUFoQmdiaTQ4Z0EyQW9BRklBaEJnYmk0OGdBMkFvQUVJQWhCQVRZQzlBTUxBa0FDUUNBSUtBSlFEUUFnQ0NnQzhBTU5BQ0FMS0FJVVFRTjBJUklnQ3lnQ0dDRU1JQXNvQWd3aEJnd0JDeUFMS0FJTUlRWUNRQ0FMS0FJVVFRTjBJaElnQ3lnQ0dDSU1heUlKUVNCT0JFQWdCaWdBQUNJSFFSaDBJQWRCQ0hSQmdJRDhCM0Z5SUFkQkNIWkJnUDREY1NBSFFSaDJjbkloQnlBTEtBSVFJZ2xGRFFFZ0J5QUpkQ0FHTFFBRVFRZ2dDV3QyY2lFSERBRUxJQWxCQVVnRVFFRUFJUWNNQVFzZ0JpMEFBQ0FMS0FJUUlncEJHR29pRFhRaEJ5QUpJQXBxUVFocklncEJBVWdOQUFOQUlBWXRBQUVnRFVFSWF5SU5kQ0FIY2lFSElBcEJDRW9oQ1NBR1FRRnFJUVlnQ2tFSWF5RUtJQWtOQUFzTElBc2dERUVCYWlJTU5nSVlJQXNnREVFSGNUWUNFQ0FNSUJKTERRa2dDeUFMS0FJSUlBeEJBM1pxSWdZMkFnd2dDQ0FIUVI5Mk5nS1FCd3NDUUNBU0lBeHJJZ2xCSUU0RVFDQUdLQUFBSWdkQkdIUWdCMEVJZEVHQWdQd0hjWElnQjBFSWRrR0EvZ054SUFkQkdIWnljaUVISUFzb0FoQWlDVVVOQVNBSElBbDBJQVl0QUFSQkNDQUphM1p5SVFjTUFRc2dDVUVCU0FSQVFRQWhCd3dCQ3lBR0xRQUFJQXNvQWhBaUNrRVlhaUlOZENFSElBa2dDbXBCQ0dzaUNrRUJTQTBBQTBBZ0JpMEFBU0FOUVFocklnMTBJQWR5SVFjZ0NrRUlTaUVKSUFaQkFXb2hCaUFLUVFocklRb2dDUTBBQ3dzZ0N5QU1RUUZxSWdvMkFoZ2dDeUFLUVFkeElnazJBaEFnQ2lBU1N3MElJQXNnQ3lnQ0NDSU9JQXBCQTNacUlnWTJBZ3dnQ0NBSFFSOTJOZ0tVQndKQUlCSWdDbXNpQ2tFZ1RnUkFJQVlvQUFBaUIwRVlkQ0FIUVFoMFFZQ0EvQWR4Y2lBSFFRaDJRWUQrQTNFZ0IwRVlkbkp5SVFjZ0NVVU5BU0FISUFsMElBWXRBQVJCQ0NBSmEzWnlJUWNNQVFzZ0NrRUJTQVJBUVFBaEJ3d0JDeUFHTFFBQUlBbEJHSElpRFhRaEJ5QUpJQXBxUVFocklncEJBVWdOQUFOQUlBWXRBQUVnRFVFSWF5SU5kQ0FIY2lFSElBcEJDRW9oQ1NBR1FRRnFJUVlnQ2tFSWF5RUtJQWtOQUFzTElBc2dERUVDYWlJS05nSVlJQXNnQ2tFSGNTSUpOZ0lRSUFvZ0Vrc05DQ0FMSUE0Z0NrRURkbW9pQmpZQ0RDQUlJQWRCSDNZMkFwZ0hBa0FnQjBGL1RBUkFBa0FnRWlBS2F5SUtRU0JPQkVBZ0JpZ0FBQ0lIUVJoMElBZEJDSFJCZ0lEOEIzRnlJQWRCQ0haQmdQNERjU0FIUVJoMmNuSWhCeUFKUlEwQklBY2dDWFFnQmkwQUJFRUlJQWxyZG5JaEJ3d0JDeUFLUVFGSUJFQkJBQ0VIREFFTElBWXRBQUFnQ1VFWWNpSU5kQ0VISUFrZ0NtcEJDR3NpQ2tFQlNBMEFBMEFnQmkwQUFTQU5RUWhySWcxMElBZHlJUWNnQ2tFSVNpRUpJQVpCQVdvaEJpQUtRUWhySVFvZ0NRMEFDd3NnQ3lBTVFRTnFJZ1kyQWhnZ0N5QUdRUWR4TmdJUUlBWWdFa3NOQ2lBTElBNGdCa0VEZG1vMkFnd2dDQ0FIUVI5Mk5nS2NCeUFMUVFocUlBaEJvQWRxRUFJTkNpQUlLQUtnQjBFUVN3MEtJQXRCQ0dvZ0NFR2tCMm9RQWcwS0lBZ29BcVFIUVJCTERRb2dDMEVJYWlBSVFhZ0hhaEFDRFFvZ0NDZ0NxQWRCRUVzTkNpQUxRUWhxSUFoQnJBZHFFQUlOQ2lBSUtBS3NCMEVRU3cwS0lBdEJDR29nQ0VHd0Iyb1FBZzBLSUF0QkNHb2dDRUcwQjJvUUFnMEtEQUVMSUFoQkVEWUN0QWNnQ0VLUWdJQ0FnQUkzQXF3SElBaENnWUNBZ0lBQ053S2tCeUFJUW9HQWdJQWdOd0tjQndzZ0N5Z0N2QUVpQnlnQ21BZEZEUUFnQnlnQ3RBY2lCaUFIS0FLd0Iwa05DQ0FHSUFzb0FwUUJTUTBJSUFZZ0N5Z0N3QUZMRFFnZ0N5QUdRUUVnQmhzMkFzQUJDMEVJSUFzb0FoQWlCbXNoQndKQUlBc29BaFJCQTNRaUNDQUxLQUlZSWdscklncEJBV3RCSGtzTkFDQUdJQXBxUVFocklnWkJBVWdOQUFOQUlBWkJDRW9oQ2lBR1FRaHJJUVlnQ2cwQUN3c2dDeUFISUFscUlnWTJBaGdnQ3lBR1FRZHhOZ0lRSUFZZ0NFMEVRQ0FMSUFzb0FnZ2dCa0VEZG1vMkFnd0xBa0FnQUNBTEtBSndJZ1pCQW5ScUlnY29BaFFpQ0VVRVFDQUhRZHdBRUFnaUJqWUNGQ0FHRFFFTUNBc2dBQ2dDQ0NBR1JnUkFBa0FDUUNBTEtBSm9JQUFvQWhBaUJpZ0NBRWNOQUNBTEtBSnNJQVlvQWdSSERRQWdDeWdDZENBR0tBSU1SdzBBSUFzb0FuZ2lDU0FHS0FJUVJ3MEFJQXNvQXBRQklBWW9BaXhIRFFBZ0N5Z0NtQUVnQmlnQ01FY05BQ0FMS0FLY0FTQUdLQUkwUncwQUlBc29BcUFCSUFZb0FqaEhEUUFnQ3lnQ3BBRWlDaUFHS0FJOFJ3MEFJQXNvQXJnQklBWW9BbEJIRFFBQ1FBSkFBa0FnQ1E0Q0FRQUNDeUFMS0FLQUFTQUdLQUlZUncwQ0lBc29Bb1FCSUFZb0FoeEhEUUlnQ3lnQ2lBRWdCaWdDSUVjTkFpQUxLQUtNQVNJSklBWW9BaVJIRFFJZ0NVVU5BU0FHS0FJb0lReEJBQ0VOSUFzb0FwQUJJUTREUUNBT0lBMUJBblFpRW1vb0FnQWdEQ0FTYWlnQ0FFY05BeUFKSUExQkFXb2lEVWNOQUFzTUFRc2dDeWdDZkNBR0tBSVVSdzBCQ3lBS1JRMEJJQXNvQXFnQklBWW9Ba0JIRFFBZ0N5Z0NyQUVnQmlnQ1JFY05BQ0FMS0FLd0FTQUdLQUpJUncwQUlBc29BclFCSUFZb0FreEdEUUVMSUFnb0FpZ1FCQ0FIS0FJVVFRQTJBaWdnQnlnQ0ZDZ0NWQkFFSUFjb0FoUkJBRFlDVkNBQVFRQTJBaEFnQUVHQkFqWUNCQ0FBUWlFM0FnZ01BZ3NnQ3lnQ2tBRVFCRUVBSVFvZ0MwRUFOZ0tRQVNBTEtBSzhBUkFFSUF0QkFEWUN2QUZCQUNFTURBd0xJQWdvQWlnUUJDQUhLQUlVUVFBMkFpZ2dCeWdDRkNnQ1ZCQUVJQWNvQWhSQkFEWUNWQXNnQnlnQ0ZDQUxRZWdBYWtIY0FCQUhHZ3dHQ3lBTFFTQnFJZ1pCQUVISUFCQURHaUFMUVFocUlBWVFBZzBDSUFzb0FpQkIvd0ZMRFFJZ0MwRUlhaUJmRUFJTkFpQUxLQUlrUVI5TERRSWdDeWdDRENFR0FrQWdDeWdDRkVFRGRDSU1JQXNvQWhnaURtc2lDRUVnVGdSQUlBWW9BQUFpQjBFWWRDQUhRUWgwUVlDQS9BZHhjaUFIUVFoMlFZRCtBM0VnQjBFWWRuSnlJUWNnQ3lnQ0VDSUlSUTBCSUFjZ0NIUWdCaTBBQkVFSUlBaHJkbkloQnd3QkN5QUlRUUZJQkVCQkFDRUhEQUVMSUFZdEFBQWdDeWdDRUNJSlFSaHFJZzEwSVFjZ0NDQUpha0VJYXlJS1FRRklEUUFEUUNBR0xRQUJJQTFCQ0dzaURYUWdCM0loQnlBS1FRaEtJUWdnQmtFQmFpRUdJQXBCQ0dzaENpQUlEUUFMQ3lBTElBNUJBV29pQ1RZQ0dDQUxJQWxCQjNFaUNEWUNFQ0FKSUF4TERRSWdDeUFMS0FJSUloSWdDVUVEZG1vaUJqWUNEQ0FIUVFCSURRSUNRQ0FNSUFscklnbEJJRTRFUUNBR0tBQUFJZ2RCR0hRZ0IwRUlkRUdBZ1B3SGNYSWdCMEVJZGtHQS9nTnhJQWRCR0haeWNpRUhJQWhGRFFFZ0J5QUlkQ0FHTFFBRVFRZ2dDR3QyY2lFSERBRUxJQWxCQVVnRVFFRUFJUWNNQVFzZ0JpMEFBQ0FJUVJoeUlnMTBJUWNnQ0NBSmFrRUlheUlLUVFGSURRQURRQ0FHTFFBQklBMUJDR3NpRFhRZ0IzSWhCeUFLUVFoS0lRZ2dCa0VCYWlFR0lBcEJDR3NoQ2lBSURRQUxDeUFMSUE1QkFtb2lCallDR0NBTElBWkJCM0UyQWhBZ0JpQU1TdzBDSUFzZ0IwRWZkallDS0NBTElCSWdCa0VEZG1vMkFnd2dDMEVJYWlBTFFld0JhaEFDRFFJZ0N5QUxLQUxzQVVFQmFpSUdOZ0lzSUFaQkNFc05BaUFHUVFKSkRRRWdDMEVJYWlCZUVBSU5BaUFMS0FJd0lnWkJCa3NOQWdKQUFrQUNRQUpBSUFZT0J3QUZBUUlDQWdNRkN5QUxJQXNvQWl3aUIwRUNkQkFJSWdnMkFqUWdDRVVOQlVFQUlRWWdCMFVOQkFOQUlBdEJDR29nQzBIc0FXb1FBZzBHSUFnZ0JrRUNkR29nQ3lnQzdBRkJBV28yQWdBZ0JrRUJhaUlHSUFkSERRQUxEQVFMSUFzZ0N5Z0NMQ0lHUVFKMFFRUnJJZ2dRQ0NJSE5nSTRJQXNnQ0JBSUlnZzJBandnQjBVTkJDQUlSUTBFSUFaQkFVWU5BeUFHUVFGcklRbEJBQ0VHQTBBZ0MwRUlhaUFMUWV3QmFoQUNEUVVnQnlBR1FRSjBJZ3BxSUFzb0F1d0JOZ0lBSUF0QkNHb2dDMEhzQVdvUUFnMEZJQWdnQ21vZ0N5Z0M3QUUyQWdBZ0JrRUJhaUlHSUFsSERRQUxEQU1MSUFzb0Fnd2hCZ0pBSUFzb0FoUkJBM1FpQ1NBTEtBSVlJZ3hySWdoQklFNEVRQ0FHS0FBQUlnZEJHSFFnQjBFSWRFR0FnUHdIY1hJZ0IwRUlka0dBL2dOeElBZEJHSFp5Y2lFSElBc29BaEFpQ0VVTkFTQUhJQWgwSUFZdEFBUkJDQ0FJYTNaeUlRY01BUXNnQ0VFQlNBUkFRUUFoQnd3QkN5QUdMUUFBSUFzb0FoQWlDa0VZYWlJTmRDRUhJQWdnQ21wQkNHc2lDa0VCU0EwQUEwQWdCaTBBQVNBTlFRaHJJZzEwSUFkeUlRY2dDa0VJU2lFSUlBWkJBV29oQmlBS1FRaHJJUW9nQ0EwQUN3c2dDeUFNUVFGcUlnWTJBaGdnQ3lBR1FRZHhOZ0lRSUFZZ0NVc05BeUFMSUFkQkgzWTJBa0FnQ3lBTEtBSUlJQVpCQTNacU5nSU1JQXRCQ0dvZ0MwSHNBV29RQWcwRElBc2dDeWdDN0FGQkFXbzJBa1FNQWdzZ0MwRUlhaUFMUWV3QmFoQUNEUUlnQ3lBTEtBTHNBU0lPUVFGcUlnWTJBa2dnQ3lBR1FRSjBFQWdpQ0RZQ1RDQUlSUTBDSUFaRkRRRkJJQ0FMS0FJc0loSkJBblJCbkRGcUtBSUFJaEZySVE5QkFDRU1JQXNvQWd3aEJpQUxLQUlJSVJvRFFBSkFJQXNvQWhSQkEzUWlGQ0FMS0FJWUloaHJJZ2xCSUU0RVFDQUdLQUFBSWdkQkdIUWdCMEVJZEVHQWdQd0hjWElnQjBFSWRrR0EvZ054SUFkQkdIWnljaUVISUFzb0FoQWlDVVVOQVNBSElBbDBJQVl0QUFSQkNDQUphM1p5SVFjTUFRc2dDVUVCU0FSQVFRQWhCd3dCQ3lBR0xRQUFJQXNvQWhBaUNrRVlhaUlOZENFSElBa2dDbXBCQ0dzaUNrRUJTQTBBQTBBZ0JpMEFBU0FOUVFocklnMTBJQWR5SVFjZ0NrRUlTaUVKSUFaQkFXb2hCaUFLUVFocklRb2dDUTBBQ3dzZ0N5QVJJQmhxSWdZMkFoZ2dDeUFHUVFkeE5nSVFJQVlnRkVzRVFDQUlJQXhCQW5ScVFYODJBZ0FNQkFzZ0N5QWFJQVpCQTNacUlnWTJBZ3dnQ0NBTVFRSjBhaUFISUE5MklnYzJBZ0FnQnlBU1R3MERJQXdnRGtZaEJ5QU1RUUZxSVF3Z0IwVU5BQXNNQVFzZ0FDZ0NuQWtOQ0NBQVFRRTJBcUFKQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBZ0FDZ0NwQWtOQUNBQVFnQTNBclFKSUFzZ0N5Z0NHRFlDNEFFZ0N5QUxLUU1RTndQWUFTQUxJQXNwQXdnM0E5QUJBa0FnQzBIUUFXb2dDMEhzQVdvUUFnMEFJQXRCMEFGcUlBdEI3QUZxRUFJTkFDQUxRZEFCYWlBTFFld0JhaEFDRFFBZ1BTQUxLQUxzQVNJR0lBWkIvd0ZMR3lFOUMwRUVJUXdnQUNBOVFRSjBhaWdDbEFFaUJrVU5DU0FBSUFZb0FnUWlDRUVDZEdvaUNTZ0NGQ0lIUlEwSklBQW9BZ2doRHdKQUlBWW9BZ3dpRGtFQ1NRMEFJQWNvQWpRaURTQUhLQUk0YkNFSEFrQUNRQUpBQWtBZ0JpZ0NFQ0lSRGdNQkF3QURDeUFPUVFGcklSRWdCaWdDSENFVUlBWW9BaGdoSnd3QkN5QUdLQUlVSVEwRFFDQU5JQXBCQW5ScUtBSUFJQWRMRFEwZ0RpQUtRUUZxSWdwSERRQUxEQUlMQTBBZ0p5QUtRUUowSWc1cUtBSUFJaGdnRGlBVWFpZ0NBQ0lPU3cwTUlBY2dEazBORENBWUlBMXdJQTRnRFhCTERRd2dFU0FLUVFGcUlncEhEUUFMREFFTElCRkJBMnRCQWswRVFDQUdLQUlrSUFkTERRc01BUXNnRVVFR1J3MEFJQVlvQWlnZ0Iwa05DZ3NDUUFKQUlBQW9BZ1FpQjBHQUFrWUVRQ0FBSUFZMkFnd2dBQ0E5TmdJRUlBQWdDRFlDQ0NBQUlBa29BaFFpQmpZQ0VDQUdLQUkwSVFjZ0JpZ0NPQ0VHSUFCQkFUWUN0Qm9nQUNBR05nTEFDaUFBSUFjMkFyd0tJQUFnQmlBSGJEWUNtQWtNQVFzZ0FDZ0N0Qm9FUUNBQVFRQTJBclFhSUFBb0Fyd0pFQVFnQUVFQU5nSzhDU0FBS0FLVUNSQUVJQUFnQUNnQ21Ba2lEa0hZQVd3aUJ4QUlJZ1kyQXJ3SklBQWdEa0VDZEJBSUlnZzJBcFFKUVFVaERDQUdSUTBNSUFoRkRRd2dCa0VBSUFjUUF5RVJJQUFvQWhBaENpQU9CRUJCQVNBS0tBSTBJZ2hySVJRZ0NFRUJheUVZUVFBZ0NHc2hFeUFSUWRnQmF5RWNJQkVnQ0VGL2MwSFlBV3hxSVJkQkFDRUhRUUFoRFVFQUlRa0RRQ0FSSUFsQjJBRnNJZ3BxSWdZZ0NpQWNha0VBSUFjYk5nTElBU0FHQW44Z0RVVUVRQ0FHUWdBM0Fzd0JRUUFNQVFzZ0JpQUdJQk5CMkFGc2FqWUN6QUVnQmlBR0lCUkIyQUZzYWtFQUlBY2dHRWtiTmdMUUFTQUtJQmRxUVFBZ0J4c0xOZ0xVQVVFQUlBZEJBV29pQmlBR0lBaEdJZ1liSVFjZ0JpQU5haUVOSUFsQkFXb2lDU0FPUncwQUN5QUFLQUlRSVFvTFFRRWhHRUVBSVFjQ2YwRUFJQUFvQXNBSkRRQWFRUUFnQ2lnQ0VFRUNSZzBBR2dKQUlBb29BbEJGRFFBZ0NpZ0NWQ0lHS0FLWUIwVU5BRUVBSUFZb0FyQUhSUTBCR2d0QkFDRVlRUUVMSVFrZ0NpZ0NOQ0VuSUFvb0FqZ2hEaUFLS0FJTUlRMGdDaWdDTENFSUlBb29BbGdoRVFKQUlEZ29BZ0FpQmtVTkFFRUFJUW9nQmlFSElBQW9BdUFKUVg5R0RRQURRQ0FISUFwQktHd2lCbW9vQWdRUUJDQUFLQUxFQ1NJSElBWnFRUUEyQWdRZ0NrRUJhaUlLSUFBb0F1QUpRUUZxU1EwQUN3c2dCeEFFSUFCQkFEWUN4QWtnQUNnQ3lBa1FCQ0FBUVFBMkFzZ0pJQUFvQXRBSkVBUWdBRUgvL3dNMkF1Z0pJQUJCQURZQzBBa2dBQ0FZTmdMOENTQUFJQTAyQXVRSklBQWdFU0FJUVFFZ0NFRUJTeHNpQnlBSkd5SUdOZ0xnQ1NBQUlBYzJBdHdKSUFCQkFEWUM5QWtnQUVJQU53THNDU0FBUWFnRkVBZ2lCellDeEFrZ0IwVU5ERUVBSVFvZ0IwRUFRYWdGRUFNaENDQUdRWDlIQkVBZ0RpQW5iRUdBQTJ4QkwzSWhDUU5BSUFnZ0NrRW9iR29pRGlBSkVBZ2lCellDQkNBSFJRME9JQTRnQjBFQUlBZHJRUWh4YWpZQ0FDQUdJQXBISVFjZ0NrRUJhaUVLSUFjTkFBc0xJQUJCeEFBUUNDSUhOZ0xJQ1NBQUlBWkJCSFJCRUdvUUNDSUdOZ0xRQ1NBR1JRME1JQWRGRFF3Z0IwRUFRY1FBRUFNYUlBQkNBRGNDMUFrZ0FDZ0NDQ0VJREFFTElBY2dQVVlOQXlBSUlBOUdEUUVnR2tFRlJ3MExJQUFnQmpZQ0RDQUFJRDAyQWdRZ0FDQUlOZ0lJSUFBZ0NTZ0NGQ0lHTmdJUUlBWW9BalFoQnlBR0tBSTRJUVlnQUVFQk5nSzBHaUFBSUFZMkFzQUtJQUFnQnpZQ3ZBb2dBQ0FHSUFkc05nS1lDUXNnQ0NBUFJnMEJRUUFoQ2lBQUtBSUFJZ1pCSDAwRVFDQUFJQVpCQW5ScUtBSVVJUW9MSUFBb0FoQWhCeUFBUVFFMkFwQWFJQnBCQlVjTkJ5QUFLQUlNSVFnZ0N5QUxLQUlZTmdMZ0FTQUxJQXNwQXhBM0E5Z0JJQXNnQ3lrRENEY0QwQUZCQVNFR0lBdEIwQUZxSUF0QnpBRnFFQUlFUUVFQklRME1Cd3NnQzBIUUFXb2dDMEhNQVdvUUFnUkFRUUVoRFF3SEN5QUxRZEFCYWlBTFFjd0JhaEFDQkVCQkFTRU5EQWNMUVI4Z0J5Z0NER2NpRG1zaEVTQUxLQUxVQVNFTkFrQWdDeWdDM0FGQkEzUWlEeUFMS0FMZ0FTSWFheUlKUVNCT0JFQWdEU2dBQUNJSlFSaDBJQWxCQ0hSQmdJRDhCM0Z5SUFsQkNIWkJnUDREY1NBSlFSaDJjbkloRENBTEtBTFlBU0lKUlEwQklBd2dDWFFnRFMwQUJFRUlJQWxyZG5JaERBd0JDeUFKUVFGSUJFQkJBQ0VNREFFTElBMHRBQUFnQ3lnQzJBRWlGRUVZYWlJU2RDRU1JQWtnRkdwQkNHc2lDVUVCU0EwQUEwQWdEUzBBQVNBU1FRaHJJaEowSUF4eUlRd2dDVUVJU2lFVUlBMUJBV29oRFNBSlFRaHJJUWtnRkEwQUN3c2dDeUFSSUJwcUlnazJBdUFCSUFzZ0NVRUhjVFlDMkFGQkFTRU5JQWtnRDBzTkJpQUxJQXNvQXRBQklBbEJBM1pxTmdMVUFTQU1JQTVCQVdwMlFYOUdEUVlnQzBIUUFXb2dDMEhNQVdvUUFnMEdJQWNvQWhBaUJnMEVRUjhnQnlnQ0ZHY2lEbXNoRVNBTEtBTFVBU0VHQWtBZ0N5Z0MzQUZCQTNRaUR5QUxLQUxnQVNJYWF5SUpRU0JPQkVBZ0JpZ0FBQ0lKUVJoMElBbEJDSFJCZ0lEOEIzRnlJQWxCQ0haQmdQNERjU0FKUVJoMmNuSWhEQ0FMS0FMWUFTSUpSUTBCSUF3Z0NYUWdCaTBBQkVFSUlBbHJkbkloREF3QkN5QUpRUUZJQkVCQkFDRU1EQUVMSUFZdEFBQWdDeWdDMkFFaUZFRVlhaUlTZENFTUlBa2dGR3BCQ0dzaUNVRUJTQTBBQTBBZ0JpMEFBU0FTUVFockloSjBJQXh5SVF3Z0NVRUlTaUVVSUFaQkFXb2hCaUFKUVFocklRa2dGQTBBQ3dzZ0N5QVJJQnBxSWdZMkF1QUJJQXNnQmtFSGNUWUMyQUVnQmlBUFN3UkFRUUVoQmd3SEN5QUxJQXNvQXRBQklBWkJBM1pxTmdMVUFVRUJJUVlnRENBT1FRRnFka0YvUmcwR0lBZ29BZ2hGRFFVZ0MwRUFOZ0xzQVNBTFFkQUJhaUFMUWV3QmFoQUNJUWtDUUNBTEtBTHNBVUYvUmdSQUlBbEZEUUVNQlFzZ0NVVU5CQXNNQmdzZ0FDQUdOZ0lNSUFBZ1BUWUNCQXRCQUNFS0lBQW9BclFhUlEwQVFRTWhEQXdSQ3lBQUtBSU1JUWNnQUNnQ0VDRUdJRlZCQUVIY0J4QURJUk1nQmlnQ05DRUlJQVlvQWpnaENTQUxRUWhxSUF0QnpBRnFFQUlORHlBVElBc29Bc3dCSWdvMkFnQWdDaUFJSUFsc0lnMVBEUThnQzBFSWFpQUxRY3dCYWhBQ0RROGdBQ0FMS0FMTUFTSUlOZ0s0RWdKQUFrQWdDQTRJQUJFQkVSRUFFUUVSQ3lBYVFRVkdEUkFnQmlnQ0xFVU5FQXNnQzBFSWFpQUxRY3dCYWhBQ0RROGdBQ0FMS0FMTUFTSUlOZ0s4RWlBSUlBY29BZ0JIRFE5Qkh5QUdLQUlNWnlJbmF5RU1JQXNvQWd3aENRSkFJQXNvQWhSQkEzUWlFU0FMS0FJWUlnOXJJZ3BCSUU0RVFDQUpLQUFBSWdoQkdIUWdDRUVJZEVHQWdQd0hjWElnQ0VFSWRrR0EvZ054SUFoQkdIWnljaUVPSUFzb0FoQWlDRVVOQVNBT0lBaDBJQWt0QUFSQkNDQUlhM1p5SVE0TUFRc2dDa0VCU0FSQVFRQWhEZ3dCQ3lBSkxRQUFJQXNvQWhBaUZFRVlhaUlJZENFT0lBb2dGR3BCQ0dzaUdFRUJTQTBBQTBBZ0NTMEFBU0FJUVFocklnaDBJQTV5SVE0Z0dFRUlTaUVLSUFsQkFXb2hDU0FZUVFocklSZ2dDZzBBQ3dzZ0N5QU1JQTlxSWdnMkFoZ2dDeUFJUVFkeE5nSVFJQWdnRVVzTkR5QUxJQXNvQWdnZ0NFRURkbW8yQWd3Z0RpQW5RUUZxZGlJSVFYOUdEUThnR2tFRlJ5SUtRUUVnQ0J0RkRROGdBQ0FJTmdMQUVpQUtSUVJBSUF0QkNHb2dDMEhNQVdvUUFnMFFJQUFnQ3lnQ3pBRWlDRFlDeEJJZ0NFSC8vd05MRFJBTEFrQWdCaWdDRUNJSUJIOGdDQVZCSHlBR0tBSVVaeUlNYXlFUElBc29BZ3doQ1FKQUlBc29BaFJCQTNRaUZDQUxLQUlZSWlkcklnaEJJRTRFUUNBSktBQUFJZ2hCR0hRZ0NFRUlkRUdBZ1B3SGNYSWdDRUVJZGtHQS9nTnhJQWhCR0haeWNpRU9JQXNvQWhBaUNFVU5BU0FPSUFoMElBa3RBQVJCQ0NBSWEzWnlJUTRNQVFzZ0NFRUJTQVJBUVFBaERnd0JDeUFKTFFBQUlBc29BaEFpR0VFWWFpSVJkQ0VPSUFnZ0dHcEJDR3NpR0VFQlNBMEFBMEFnQ1MwQUFTQVJRUWhySWhGMElBNXlJUTRnR0VFSVNpRUlJQWxCQVdvaENTQVlRUWhySVJnZ0NBMEFDd3NnQ3lBUElDZHFJZ2cyQWhnZ0N5QUlRUWR4TmdJUUlBZ2dGRXNORVNBTElBc29BZ2dnQ0VFRGRtbzJBZ3dnRGlBTVFRRnFkaUlJUVg5R0RSRWdBQ0FJTmdMSUVpQUhLQUlJQkVBZ0MwRUFOZ0xRQVNBTFFRaHFJQXRCMEFGcUVBSWhDQUpBSUFzb0F0QUJJZ2xCZjBZRVFFR0FnSUNBZUNFWUlBaEZEUlFNQVFzZ0NBMFRJQWxCQVdwQkFYWWlDRUVBSUFocklBbEJBWEViSVJnTElBQWdHRFlDekJJTElBcEZCRUFnQUNnQ3lCSWlDQ0FHS0FJVVFRRjJTdzBTSUFoQkFDQUFLQUxNRWlJSlFSOTFJQWx4YTBjTkVnc2dCaWdDRUF0QkFVY05BQ0FHS0FJWURRQWdDMEVBTmdMUUFTQUxRUWhxSUF0QjBBRnFFQUloQ0FKQUlBc29BdEFCSWdsQmYwWUVRRUdBZ0lDQWVDRVlJQWhGRFJJTUFRc2dDQTBSSUFsQkFXcEJBWFlpQ0VFQUlBaHJJQWxCQVhFYklSZ0xJQUFnR0RZQzBCSWdCeWdDQ0FSQUlBdEJBRFlDMEFFZ0MwRUlhaUFMUWRBQmFoQUNJUWdDUUNBTEtBTFFBU0lKUVg5R0JFQkJnSUNBZ0hnaEdDQUlSUTBUREFFTElBZ05FaUFKUVFGcVFRRjJJZ2hCQUNBSWF5QUpRUUZ4R3lFWUN5QUFJQmcyQXRRU0N5QUtEUUFnQUNnQzBCSWlDQ0FBS0FMVUVpQUlJQVlvQWlCcWFpSUpJQWdnQ1VnYkRSQUxJQWNvQWtRRVFDQUxRUWhxSUF0QnpBRnFFQUlORUNBQUlBc29Bc3dCSWdnMkF0Z1NJQWhCL3dCTERSQUxBa0FDUUNBQUtBSzRFaUluRGdZQUFRRUJBUUFCQ3lBTEtBSU1JUWtDUUNBTEtBSVVRUU4wSWd3Z0N5Z0NHQ0lQYXlJSVFTQk9CRUFnQ1NnQUFDSUlRUmgwSUFoQkNIUkJnSUQ4QjNGeUlBaEJDSFpCZ1A0RGNTQUlRUmgyY25JaERpQUxLQUlRSWdoRkRRRWdEaUFJZENBSkxRQUVRUWdnQ0d0MmNpRU9EQUVMSUFoQkFVZ0VRRUVBSVE0TUFRc2dDUzBBQUNBTEtBSVFJaFJCR0dvaUVYUWhEaUFJSUJScVFRaHJJaGhCQVVnTkFBTkFJQWt0QUFFZ0VVRUlheUlSZENBT2NpRU9JQmhCQ0VvaENDQUpRUUZxSVFrZ0dFRUlheUVZSUFnTkFBc0xJQXNnRDBFQmFpSUlOZ0lZSUFzZ0NFRUhjVFlDRUNBSUlBeExEUkFnQ3lBTEtBSUlJQWhCQTNacU5nSU1JQUFnRGtFZmRqWUMzQklDUUNBT1FYOU1CRUFnQzBFSWFpQUxRY3dCYWhBQ0RSSWdDeWdDekFFaUNFRVBTdzBTSUFoQkFXb2hDU0FBS0FLNEVpRW5EQUVMSUFjb0FqQWlDVUVRU3cwUkN5QUFJQWsyQXVBU0N3SkFBa0FnSnc0R0FBRUJBUUVBQVFzZ0N5Z0NEQ0VKQWtBZ0N5Z0NGRUVEZENJTUlBc29BaGdpRDJzaUNFRWdUZ1JBSUFrb0FBQWlDRUVZZENBSVFRaDBRWUNBL0FkeGNpQUlRUWgyUVlEK0EzRWdDRUVZZG5KeUlRNGdDeWdDRUNJSVJRMEJJQTRnQ0hRZ0NTMEFCRUVJSUFocmRuSWhEZ3dCQ3lBSVFRRklCRUJCQUNFT0RBRUxJQWt0QUFBZ0N5Z0NFQ0lVUVJocUloRjBJUTRnQ0NBVWFrRUlheUlZUVFGSURRQURRQ0FKTFFBQklCRkJDR3NpRVhRZ0RuSWhEaUFZUVFoS0lRZ2dDVUVCYWlFSklCaEJDR3NoR0NBSURRQUxDeUFHS0FJTUlSRWdBQ2dDNEJJaEZDQUxJQTlCQVdvaUNEWUNHQ0FMSUFoQkIzRTJBaEFnQ0NBTVN3MFFJQXNnQ3lnQ0NDQUlRUU4yYWpZQ0RDQUFJQTVCSDNZMkF2Z1NJQTVCZjBvTkFFRUFJUWtEUUNBSklCUkxEUkVnQzBFSWFpQUxRZXdCYWhBQ0RSRWdDeWdDN0FFaUNFRURTdzBSSUFBZ0NVRU1iR29pREVIOEVtb2dDRFlDQUNBSVFRRk5CRUFnQzBFSWFpQUxRZEFCYWhBQ0RSSWdDeWdDMEFFaUNDQVJUdzBTSUF4QmdCTnFJQWhCQVdvMkFnQWdDVUVCYWlFSkRBRUxJQWhCQWtZRVFDQUxRUWhxSUF0QjBBRnFFQUlORWlBTVFZUVRhaUFMS0FMUUFUWUNBQ0FKUVFGcUlRa01BUXNMSUFsRkRSQUxBa0FnRWtVTkFDQUxLQUlNSVFnQ1FDQUxLQUlVUVFOMElnOGdDeWdDR0NJbmF5SU1RU0JPQkVBZ0NDZ0FBQ0lKUVJoMElBbEJDSFJCZ0lEOEIzRnlJQWxCQ0haQmdQNERjU0FKUVJoMmNuSWhEaUFMS0FJUUlnbEZEUUVnRGlBSmRDQUlMUUFFUVFnZ0NXdDJjaUVPREFFTElBeEJBVWdFUUVFQUlRNE1BUXNnQ0MwQUFDQUxLQUlRSWhSQkdHb2lFWFFoRGlBSUlRa2dEQ0FVYWtFSWF5SVlRUUZJRFFBRFFDQUpMUUFCSUJGQkNHc2lFWFFnRG5JaERpQVlRUWhLSVF3Z0NVRUJhaUVKSUJoQkNHc2hHQ0FNRFFBTEN5QUdLQUlzSVJRZ0N5QW5RUUZxSWd3MkFoZ2dDeUFNUVFkeElnWTJBaEJCZnlFSklBd2dEMDBFUUNBTElBc29BZ2dnREVFRGRtb2lDRFlDRENBT1FSOTJJUWtMSUFwRkJFQWdDVUYvUmcwUklBQWdDVFlDeUJRQ1FDQVBJQXhySWdwQklFNEVRQ0FJS0FBQUlnbEJHSFFnQ1VFSWRFR0FnUHdIY1hJZ0NVRUlka0dBL2dOeElBbEJHSFp5Y2lFSklBWkZEUUVnQ1NBR2RDQUlMUUFFUVFnZ0JtdDJjaUVKREFFTElBcEJBVWdFUUVFQUlRa01BUXNnQ0MwQUFDQUdRUmh5SWhoMElRa2dCaUFLYWtFSWF5SUtRUUZJRFFBRFFDQUlMUUFCSUJoQkNHc2lHSFFnQ1hJaENTQUtRUWhLSVFZZ0NFRUJhaUVJSUFwQkNHc2hDaUFHRFFBTEN5QUxJQ2RCQW1vaUJqWUNHQ0FMSUFaQkIzRTJBaEFnQmlBUFN3MFJJQXNnQ3lnQ0NDQUdRUU4yYWpZQ0RDQUFJQWxCSDNZMkFzd1VJQlFOQVNBSlFYOU1EUkVNQVFzZ0NVRi9SZzBRSUFBZ0NUWUMwQlFnQ1VVTkFDQVVRUUYwUVFOcUlROUJBQ0VKUVFBaEowRUFJUTVCQUNFSVFRQWhFUU5BSUFrZ0QwWU5FU0FMUVFocUlBdEI3QUZxRUFJTkVTQUxLQUxzQVNJR1FRWkxEUkVnQUNBSlFSUnNhaUlLUWRRVWFpQUdOZ0lBSUFaQmZYRkJBVVlFUUNBTFFRaHFJQXRCMEFGcUVBSU5FaUFLUWRnVWFpQUxLQUxRQVVFQmFqWUNBQXNDUUFKQUFrQUNRQ0FHUVFKckRnVUFBUUlEQVFNTElBdEJDR29nQzBIUUFXb1FBZzBVSUFwQjNCUnFJQXNvQXRBQk5nSUFEQUlMSUF0QkNHb2dDMEhRQVdvUUFnMFRJQXBCNEJScUlBc29BdEFCTmdJQUlBWkJCRWNOQVFzZ0MwRUlhaUFMUWRBQmFoQUNEUklnQ3lnQzBBRWlEQ0FVU3cwU0lBcEI1QlJxSUF4QkFXdEIvLzhESUF3Yk5nSUFJQ2RCQVdvaEp3c2dDVUVCYWlFSklBZ2dCa0VHUm1vaENDQU9JQVpCQlVacUlRNGdFU0FHUVFGclFRTkphaUVSSUFZTkFBc2dKMEVCU3cwUUlBNUJBVXNORUNBSVFRRkxEUkFnRVVVTkFDQU9EUkFMSUF0QkFEWUMwQUVnQzBFSWFpQUxRZEFCYWhBQ0lRWUNRQ0FMS0FMUUFTSUlRWDlHQkVCQmdJQ0FnSGdoQ1NBR1JRMFJEQUVMSUFZTkVDQUlRUUZxUVFGMklnWkJBQ0FHYXlBSVFRRnhHeUVKQ3lBQUlBazJBdVFTSUFjb0FqUWdDV3BCTTBzTkR3SkFJQWNvQWp4RkRRQWdDMEVJYWlBTFFjd0JhaEFDRFJBZ0FDQUxLQUxNQVNJR05nTG9FaUFHUVFKTERSQWdCa0VCUmcwQUlBdEJBRFlDMEFFZ0MwRUlhaUFMUWRBQmFoQUNJUWdnQ3lnQzBBRWlCa0YvUmcwUUlBZ05FQ0FHUVFGcVFRRjJJZ2hCQUNBSWF5QUdRUUZ4R3lJR1FRWnFRUXhMRFJBZ0FDQUdRUUYwTmdMc0VpQUxRUUEyQXRBQklBdEJDR29nQzBIUUFXb1FBaUVJSUFzb0F0QUJJZ1pCZjBZTkVDQUlEUkFnQmtFQmFrRUJkaUlJUVFBZ0NHc2dCa0VCY1JzaUJrRUdha0VNU3cwUUlBQWdCa0VCZERZQzhCSUxBa0FnQnlnQ0RFRUNTUTBBSUFjb0FoQkJBMnRCQWtzTkFFRUJRUUlnRFNBTklBY29BaVFpQjI0aUJpQUhiRVliSUFacUlRaEJBQ0VLQTBBZ0NDQUtJZ1pCQVdvaUNuWU5BQXNnQ2lBR0lBaEJmeUFHZEVGL2MzRWJJUWdnQ3lnQ0RDRUtBa0FnQ3lnQ0ZFRURkQ0lPSUFzb0FoZ2lFV3NpQmtFZ1RnUkFJQW9vQUFBaUJrRVlkQ0FHUVFoMFFZQ0EvQWR4Y2lBR1FRaDJRWUQrQTNFZ0JrRVlkbkp5SVF3Z0N5Z0NFQ0lHUlEwQklBd2dCblFnQ2kwQUJFRUlJQVpyZG5JaERBd0JDeUFHUVFGSUJFQkJBQ0VNREFFTElBb3RBQUFnQ3lnQ0VDSUpRUmhxSWhoMElRd2dCaUFKYWtFSWF5SUpRUUZJRFFBRFFDQUtMUUFCSUJoQkNHc2lHSFFnREhJaERDQUpRUWhLSVFZZ0NrRUJhaUVLSUFsQkNHc2hDU0FHRFFBTEN5QUxJQWdnRVdvaUJqWUNHQ0FMSUFaQkIzRTJBaEFnQmlBT1N3UkFJQXRCZnpZQ3pBRU1FUXNnQ3lBTEtBSUlJQVpCQTNacU5nSU1JQXhCSUNBSWEzWWlCa0YvUmcwUUlBQWdCallDOUJJZ0JpQUhJQTFxUVFGcklBZHVTdzBRQ3lBQUtBS2tDVVVFUUFKQUlCcEJCVVlOQUNBQUtBSVFLQUl3SVFZZ0FFSUFOd0xVQ1NBR1JRMEFBa0FDUUFKQUFrQWdBQ2dDOUFraUNpQUFLQUxBRWlJblJ3UkFJQ2NnQ2tFQmFpQUFLQUxrQ1NJT2NDSUdSd1JBSUFBb0FzUUpJQUFvQXVBSlFTaHNhaWdDQUNFUkEwQUNRQUpBQWtBQ1FDQUFLQUxzQ1NJS0JFQWdDa0VCY1NFSklBQW9Bc1FKSVFkQkFDRU5Ba0FnQ2tFQlJpSVBSUVJBSUFwQmZuRWhEQU5BSUFjZ0RVRW9iR29pQ0NnQ0ZFRUJhMEVCVFFSQUlBZ2dDQ2dDRENJSUlBNUJBQ0FHSUFoSkcyczJBZ2dMSUFjZ0RVRUJja0VvYkdvaUNDZ0NGRUVCYTBFQ1NRUkFJQWdnQ0NnQ0RDSUlJQTVCQUNBR0lBaEpHMnMyQWdnTElBMUJBbW9oRFNBTVFRSnJJZ3dOQUFzZ0NVVU5BUXNnQnlBTlFTaHNhaUlJS0FJVVFRRnJRUUZMRFFBZ0NDQUlLQUlNSWdnZ0RrRUFJQVlnQ0VrYmF6WUNDQXNnQ2lBQUtBTGNDVWtOQkNBUFJRMEJRUUFoR0VGL0lReEJBQ0VJREFJTFFRQWhDaUFBS0FMY0NRMERRUU1oREF3ZEMwRi9JUXhCQUNFTlFRQWhHQ0FLUVg1eElnZ2hEZ05BSUFjZ0RVRW9iR29pRHlnQ0ZFRUJhMEVCVFFSQUlBOG9BZ2dpRHlBWUlBeEJmMFlnRHlBWVNISWlEeHNoR0NBTklBd2dEeHNoREFzZ0J5QU5RUUZ5SWc5QktHeHFJaFFvQWhSQkFXdEJBa2tFUUNBVUtBSUlJaFFnR0NBTVFYOUdJQlFnR0VoeUloUWJJUmdnRHlBTUlCUWJJUXdMSUExQkFtb2hEU0FPUVFKcklnNE5BQXNnQ1VVTkFRc2dCeUFJUVNoc2FpSUpLQUlVUVFGclFRRkxEUUFnQ0NBSUlBd2dERUYvUmhzZ0NTZ0NDQ0FZU0JzaERBc2dERUVBU0EwWklBY2dERUVvYkdvaUIwRUFOZ0lVSUFBZ0NrRUJheUlLTmdMc0NTQUhLQUlZRFFBZ0FDQUFLQUx3Q1VFQmF6WUM4QWtMQWtBZ0FDZ0M4QWtpQ0NBQUtBTGdDU0lIU1FSQUlBQW9Bc1FKSVE4TUFRc2dBQ2dDL0FrTkJDQUFLQUxFQ1NFUEEwQkJBQ0VZUWYvLy8vOEhJUXhCQUNFTkEwQWdEeUFOUVNoc2FpSUpLQUlZQkVBZ0NTQVlJQWtvQWhBaUNTQU1TQ0lPR3lFWUlBa2dEQ0FPR3lFTUN5QU5RUUZxSWcwZ0IwME5BQXNnR0FSQUlBQW9BdEFKSUFBb0F0UUpJZ3hCQkhScUlna2dHQ2dDQURZQ0FDQUpJQmdvQWlRMkFnd2dDU0FZS0FJY05nSUVJQWtnR0NnQ0lEWUNDQ0FBSUF4QkFXbzJBdFFKSUJoQkFEWUNHQ0FJSUJnb0FoUkZheUVJQ3lBSElBaE5EUUFMQ3lBUElBZEJLR3hxSWdrZ0JqWUNEQ0FKUW9DQWdJQVFOd0lRSUFsQkFEWUNHQ0FKSUFZMkFnZ2dBQ0FLUVFGcU5nTHNDU0FBSUFoQkFXbzJBdkFKSUE4Z0IwRUJhaEFkSUFaQkFXb2dBQ2dDNUFraURuQWlCaUFuUncwQUN5QUFLQUxVQ1NJSVJRMERJQUFvQXNRSklna2dBQ2dDNEFraUJrRW9iR29pRENnQ0FDRUhJQUFvQXRBSklRMUJBQ0VLQTBBZ0J5QU5JQXBCQkhScUtBSUFSd1JBSUFnZ0NrRUJhaUlLUncwQkRBVUxDMEVBSVFvZ0JrVU5Bd05BSUJFZ0NTQUtRU2hzYWlJSUtBSUFSd1JBSUFZZ0NrRUJhaUlLUncwQkRBVUxDeUFJSUFjMkFnQWdEQ0FSTmdJQURBTUxJQklOQkF3REMwRUFJUW9nRWtVTkJFRURJUXdNRmdzRFFBd0FDd0FMSUJJTkFTQUFLQUwwQ1NFS0N5QUtJQ2RHRFFFZ0RpQW5ha0VCYXlBT2NDRW5DeUFBSUNjMkF2UUpDeUFBSUFBb0FzUUpJQUFvQXVBSlFTaHNhaUlHTmdMTUNTQUFJQVlvQWdBMkFyZ0tDeUJXSUJOQjNBY1FCeUV2SUFCQkFUWUNwQWtnQUNBYXJTQVNyVUlnaG9RM0F0QUtJQUFvQWhBaUJpZ0NPQ0lPSUFZb0FqUWlFbXdoR0NBQUtBS1VDU0VQQWtBZ0FDZ0NEQ0lHS0FJTUlncEJBVVlFUUNBUFFRQWdHRUVDZEJBREdnd0JDMEVBSVEwQ1FBSkFJQVlvQWhBaUIwRURhMEVDVFFSQUlBWW9BaVFnQUNnQ21BdHNJZ2dnR0NBSUlCaEpHeUVhSUFZb0FpQWhDQ0FIUVg1eFFRUkhEUUVnR0NBYWF5QWFJQWdiSVEwTEFrQUNRQUpBQWtBQ1FBSkFJQWNPQmdFQ0F3QUZCQUFMSUJoRkRRY2dHRUVEY1NFSklBWW9BaXdoQjBFQUlRWWdHRUVCYTBFRFR3UkFJQmhCZkhFaERBTkFJQThnQmtFQ2RDSUlhaUFISUFocUtBSUFOZ0lBSUE4Z0NFRUVjaUlLYWlBSElBcHFLQUlBTmdJQUlBOGdDRUVJY2lJS2FpQUhJQXBxS0FJQU5nSUFJQThnQ0VFTWNpSUlhaUFISUFocUtBSUFOZ0lBSUFaQkJHb2hCaUFNUVFScklnd05BQXNMSUFsRkRRY0RRQ0FQSUFaQkFuUWlDR29nQnlBSWFpZ0NBRFlDQUNBR1FRRnFJUVlnQ1VFQmF5SUpEUUFMREFjTElBcEZEUVVnQmlnQ0ZDRUlRUUFoQndOQVFRQWhEU0FISUJoUERRY0RRQUpBSUFnZ0RVRUNkR29pRENnQ0FDSUpSUVJBUVFBaENRd0JDMEVBSVFaQkFDQVlJQWRySWc0Z0RpQVlTeHNpRGtVTkFBTkFJQThnQmlBSGFrRUNkR29nRFRZQ0FDQUdRUUZxSWdZZ0RDZ0NBQ0lKVHcwQklBWWdEa2NOQUFzTElBb2dEVUVCYWlJTlMwRUFJQmdnQnlBSmFpSUhTeHNOQUFzZ0J5QVlTUTBBQ3d3R0N5QVlSUTBGUVFBaEJnTkFJQThnQmtFQ2RHb2dCaUFTYmlJSElBcHNRUUYySUFZZ0J5QVNiR3RxSUFwd05nSUFJQVpCQVdvaUJpQVlSdzBBQ3d3RkN5QUdLQUljSVE0Z0JpZ0NHQ0VSQWtBZ0dFVU5BQ0FLUVFGcklRWWdHRUVIY1NFSlFRQWhEU0FZUVFGclFRZFBCRUFnR0VGNGNTRU1BMEFnRHlBTlFRSjBJZ2RxSUFZMkFnQWdEeUFIUVFSeWFpQUdOZ0lBSUE4Z0IwRUljbW9nQmpZQ0FDQVBJQWRCREhKcUlBWTJBZ0FnRHlBSFFSQnlhaUFHTmdJQUlBOGdCMEVVY21vZ0JqWUNBQ0FQSUFkQkdISnFJQVkyQWdBZ0R5QUhRUnh5YWlBR05nSUFJQTFCQ0dvaERTQU1RUWhySWd3TkFBc0xJQWxGRFFBRFFDQVBJQTFCQW5ScUlBWTJBZ0FnRFVFQmFpRU5JQWxCQVdzaUNRMEFDd3NnQ2tFQ2F5RUdBMEFDUUNBUklBWWlCMEVDZENJR2FpZ0NBQ0lJSUJKdUlnd2dCaUFPYWlnQ0FDSUdJQkp1SWhoTERRQWdDQ0FNSUJKc2F5SUlJQVlnRWlBWWJHc2lDVXNOQUFOQUlBd2dFbXdoQ2lBSUlRWURRQ0FQSUFZZ0NtcEJBblJxSUFjMkFnQWdCa0VCYWlJR0lBbE5EUUFMSUF4QkFXb2lEQ0FZVFEwQUN3c2dCMEVCYXlFR0lBY05BQXNNQkFzZ0VrVU5BeUFPUlEwRFFRRWdCaWdDSUNJWWF5RVJJQTVCZm5FaENpQU9RUUZ4SVJwQkFDRUlRUUFoQ1FOQUlBZ2hCa0VBSVFjZ0NpRU1JQTVCQVVjRVFBTkFJQThnQnlBU2JDQUpha0VDZEdvZ0dDQVJJQVlnRFVrYk5nSUFJQThnQjBFQmNpQVNiQ0FKYWtFQ2RHb2dHQ0FSSUFaQkFXb2dEVWtiTmdJQUlBZEJBbW9oQnlBR1FRSnFJUVlnREVFQ2F5SU1EUUFMQ3lBYUJFQWdEeUFISUJKc0lBbHFRUUowYWlBWUlCRWdCaUFOU1JzMkFnQUxJQWdnRG1vaENDQUpRUUZxSWdrZ0VrY05BQXNNQXdzZ0dFVU5Ba0VCSUFZb0FpQWlCMnNoQ0NBWVFRTnhJUXhCQUNFR0lCaEJBV3RCQTA4RVFDQVlRWHh4SVJJRFFDQVBJQVpCQW5ScUlBY2dDQ0FHSUExSkd6WUNBQ0FQSUFaQkFYSWlDVUVDZEdvZ0J5QUlJQWtnRFVrYk5nSUFJQThnQmtFQ2NpSUpRUUowYWlBSElBZ2dDU0FOU1JzMkFnQWdEeUFHUVFOeUloaEJBblJxSUFjZ0NDQU5JQmhMR3pZQ0FDQUdRUVJxSVFZZ0VrRUVheUlTRFFBTEN5QU1SUTBDQTBBZ0R5QUdRUUowYWlBSElBZ2dCaUFOU1JzMkFnQWdCa0VCYWlFR0lBeEJBV3NpREEwQUN3d0NDd0pBSUJoRkRRQWdHRUVIY1NFTlFRQWhCeUFZUVFGclFRZFBCRUFnR0VGNGNTRUpBMEFnRHlBSFFRSjBJZ1pxUVFFMkFnQWdEeUFHUVFSeWFrRUJOZ0lBSUE4Z0JrRUljbXBCQVRZQ0FDQVBJQVpCREhKcVFRRTJBZ0FnRHlBR1FSQnlha0VCTmdJQUlBOGdCa0VVY21wQkFUWUNBQ0FQSUFaQkdISnFRUUUyQWdBZ0R5QUdRUnh5YWtFQk5nSUFJQWRCQ0dvaEJ5QUpRUWhySWdrTkFBc0xJQTFGRFFBRFFDQVBJQWRCQW5ScVFRRTJBZ0FnQjBFQmFpRUhJQTFCQVdzaURRMEFDd3NnR2tVTkFTQVNRUUZySVJRZ0RrRUJheUVUUVFFZ0NFRUJkQ0lHYXlFS0lBWkJBV3NoRENBSVFRRnJJUWRCQUNFSklBNGdDR3RCQVhZaURpRW5JQklnQ0d0QkFYWWlFU0VOSUE0aEdDQVJJUVlEUUNBUElCSWdHR3dnQm1wQkFuUnFJaHdvQWdBaUYwRUJSZ1JBSUJ4QkFEWUNBQXNnRjBFQlJpRWNBa0FDUUNBSFFYOUhEUUFnQmlBTlJ3MEFRUUFoQnlBTUlRZ2dEVUVCSUExQkFVb2JRUUZySWdZaERRd0JDd0pBSUFkQkFVY05BQ0FHSUJGSERRQkJBQ0VISUFvaENDQVJRUUZxSWdZZ0ZDQUdJQlJJR3lJR0lSRU1BUXNDUUNBSVFYOUhEUUFnR0NBblJ3MEFRUUFoQ0NBS0lRY2dKMEVCSUNkQkFVb2JRUUZySWhnaEp3d0JDd0pBSUFoQkFVY05BQ0FPSUJoSERRQkJBQ0VJSUF3aEJ5QU9RUUZxSWc0Z0V5QU9JQk5JR3lJWUlRNE1BUXNnQ0NBWWFpRVlJQVlnQjJvaEJnc2dDU0FjYWlJSklCcEpEUUFMREFFTElCaEZEUUFEUUF3QUN3QUxBa0FnQUNnQzdBa2lDRVVFUUNBQUtBS0VDeUVTSUFBb0F1UUtJUXdNQVFzZ0NFRURjU0VLUVFBaEJpQUlRUUZyUVFOUEJFQWdDRUY4Y1NFSEEwQWdBQ2dDeUFrZ0JrRUNkR29nQUNnQ3hBa2dCa0VvYkdvMkFnQWdBQ2dDeUFrZ0JrRUJjaUlKUVFKMGFpQUFLQUxFQ1NBSlFTaHNhallDQUNBQUtBTElDU0FHUVFKeUlnbEJBblJxSUFBb0FzUUpJQWxCS0d4cU5nSUFJQUFvQXNnSklBWkJBM0lpQ1VFQ2RHb2dBQ2dDeEFrZ0NVRW9iR28yQWdBZ0JrRUVhaUVHSUFkQkJHc2lCdzBBQ3dzZ0NnUkFBMEFnQUNnQ3lBa2dCa0VDZEdvZ0FDZ0N4QWtnQmtFb2JHbzJBZ0FnQmtFQmFpRUdJQXBCQVdzaUNnMEFDd3NnQUNnQ2hBc2hFaUFBS0FMa0NpRU1JQWhGRFFBZ09DZ0NBQ0VKUVFBaEJnTkFJQWtnQmtFb2JHb2lCeWdDRkVFQmEwRUJUUVJBSUFjZ0RDQUhLQUlNSWdkSkJIOGdCeUFBS0FMa0NXc0ZJQWNMTmdJSUN5QUdRUUZxSWdZZ0NFY05BQXNMQWtBZ0FDZ0NuQXRGRFFCQkFDRVlJQXdoQ0NBQUtBS2dDeUlHUVFKTERRQURRQUpBQWtBQ1FBSkFBa0FDUUFKQUlBWU9Bd0FCQXdFTElBZ2dBQ0FZUVF4c2FrR2tDMm9vQWdCcklnaEJmMG9OQVNBQUtBTGtDU0FJYWlFSURBRUxJQUFnR0VFTWJHcEJwQXRxS0FJQUlBaHFJZ1pCQUNBQUtBTGtDU0lISUFZZ0IwZ2JheUVJQ3lBSUlnNGdERXNFUUNBSUlBQW9BdVFKYXlFT0N5QUFLQUxjQ1NJSlJRMFZJRGdvQWdBaEIwRUFJUVlEUUNBSElBWkJLR3hxSWdvb0FoUWlEVUVCYTBFQlRRUkFJQW9vQWdnZ0RrWU5Bd3RCQUNFS0lBWkJBV29pQmlBSlJ3MEFDMEVESVF3TUZnc2dBQ2dDM0FraUNVVU5GQ0FBSUJoQkRHeHFRYWdMYWlnQ0FDRU9JRGdvQWdBaEIwRUFJUVlEUUNBSElBWkJLR3hxSWdvb0FoUkJBMFlFUUNBS0tBSUlJQTVHRFFNTFFRQWhDaUFHUVFGcUlnWWdDVWNOQUF0QkF5RU1EQlVMUVFBaENpQUdRUUJJQkVCQkF5RU1EQlVMSUExQkFVc05BVUVESVF3TUZBdEJBQ0VLSUFaQkFFNE5BRUVESVF3TUV3c2dFaUFZU3dSQUlCSWlDaUFZYTBFRGNTSUhCRUFEUUNBQUtBTElDU0lKSUFwQkFuUnFJQWtnQ2tFQmF5SUtRUUowYWlnQ0FEWUNBQ0FIUVFGcklnY05BQXNMSUJJZ0dFRi9jMnBCQTA4RVFBTkFJQUFvQXNnSklna2dDa0VDZENJSGFpQUpJQWRCQkdzaURtb29BZ0EyQWdBZ0FDZ0N5QWtpQ1NBT2FpQUpJQWRCQ0dzaURtb29BZ0EyQWdBZ0FDZ0N5QWtpQ1NBT2FpQUpJQWRCREdzaUIyb29BZ0EyQWdBZ0J5QUFLQUxJQ1NJSmFpQUpJQXBCQkdzaUNrRUNkR29vQWdBMkFnQWdDaUFZU3cwQUN3c2dPQ2dDQUNFSEN5QUFLQUxJQ1NBWVFRSjBhaUFISUFaQktHd2lDV28yQWdBZ0dFRUJhaUlZSVFvZ0VpQVlJZ1pQQkVBRFFDQUFLQUxJQ1NJSElBWkJBblJxS0FJQUlnNGdBQ2dDeEFrZ0NXcEhCRUFnQnlBS1FRSjBhaUFPTmdJQUlBcEJBV29oQ2dzZ0JrRUJhaUlHSUJKTkRRQUxDeUFBSUJoQkRHeHFRYUFMYWlnQ0FDSUdRUU5KRFFBTEN3Si9JQXRCQ0dvaElFRUFJVGxCQUNFMEl3QkI4QU5ySWg4a0FDQXZLQUlBSVNvZ0FDZ0NzQm9oRmlBZlFRQTJBZ3dnQUVHd0NXcEJBRFlDQUNBQUlBQW9BcWdKUVFGcU5nS29DU0FXUVlnUWFpRTJJQlpCeUFwcUlSc2dGa0dJQ21vaE55QVdRY2dKYWlFNklCWkJpQWxxSVQ0Z0ZrSElDR29oUHlBV1FZZ0lhaUZBSUJaQnlBZHFJVUVnRmtHSUIyb2hRaUFXUWNnR2FpRkRJQlpCaUFacUlVUWdGa0hJQldvaFJTQVdRWWdGYWlGR0lCWkJ5QVJxSVVjZ0ZrR0lCR29oU0NBV1FjZ0RhaUZKSUJaQmlBTnFJVW9nRmtISUQyb2hLQ0FXUWNnQ2FpRVVJQlpCbUE5cUlVc2dGa0dJRDJvaFRDQVdRY2dPYWlGTklCWkJER29oVGlBdktBSXdJQUFvQWd3b0FqUnFJUzBnQUNnQ3ZBa2hEaUFXUWN3S2FpRlBJQlpCakF0cUlUc2dGa0dNRUdvaFVDQVdRY3dMYWlGUklCWkJrQkJxSVZJZ0ZrR01ER29oWVNBV1FaUVFhaUZpSUJaQnpBeHFJV01nRmtHWUVHb2haQ0FXUVl3TmFpRmxJQlpCbkJCcUlXWWdGa0hNRFdvaFp5QVdRYUFRYWlGb0lCWkJqQTVxSVdrZ0ZrR2tFR29oYWlBV1FaQUNhaUlqSVdzQ1FBTkFBa0FnTHlnQ0pBMEFJQTRnS2tIWUFXeHFLQUxFQVVVTkFFRUJJUVlNQWdzZ0x5a0NOQ0Z1SUM4b0Fqd2hCeUFBS0FLb0NTRUlJQTRnS2tIWUFXd2lNV29pQmlBQUtBSU1LQUk0TmdJWUlBWWdCellDRUNBR0lHNDNBZ2dnQmlBSU5nSUVBa0FnTHlnQ0JDSUdRUUpHRFFBZ0JrRUhSZzBBSURrTkFFRUJJUVlnSUNBZlFReHFFQUlOQWlBZktBSU1JZ2NnQUNnQ21Ba2dLbXRMRFFJZ0IwVUVRRUVBSVRrTUFRc2dUa0VBUWFRQkVBTWFJQlpCQURZQ0FFRUJJVGtMQWtBZ0h5Z0NEQ0lHQkVBZ0h5QUdRUUZyTmdJTURBRUxJQzhvQWl3aERTQUFLQUs4Q1NFUklDOG9BZ1FoQmlBV1FRQkJxQkFRQXlFS0lDQWdIMEhNQTJvUUFpRUhBa0FDUUFKQUlBWkJBbXNPQmdBQkFRRUJBQUVMUVFFaEJpQWZLQUxNQTBFR2FpSUpRUjlMRFFRZ0IwVU5BUXdFQzBFQklRWWdIeWdDekFOQkFXb2lDVUVmU3cwRElBY05Bd3NnQ2lBSk5nSUFBa0FnQ1VFZlJnUkFJQ0FvQWdnaEV3TkFJQ0FvQWdRaEJpQVRSUVJBUVFBaENpQVVJUWNEUUFKQUlDQW9BZ3hCQTNRaURpQWdLQUlRSWd4cklnbEJJRTRFUUNBR0tBQUFJZ2hCR0hRZ0NFRUlkRUdBZ1B3SGNYSWdDRUVJZGtHQS9nTnhJQWhCR0haeWNpRUlJQ0FvQWdnaUNVVU5BU0FJSUFsMElBWXRBQVJCQ0NBSmEzWnlJUWdNQVFzZ0NVRUJTQVJBUVFBaENBd0JDeUFHTFFBQUlDQW9BZ2dpRFVFWWFpSWFkQ0VJSUFrZ0RXcEJDR3NpQ1VFQlNBMEFBMEFnQmkwQUFTQWFRUWhySWhwMElBaHlJUWdnQ1VFSVNpRU5JQVpCQVdvaEJpQUpRUWhySVFrZ0RRMEFDd3NnSUNBTVFRZHhOZ0lJSUNBZ0RFRUlhaUlHTmdJUUlBWWdEa3NFUUVFQklRWU1DQXNnSUNBZ0tBSUFJQVpCQTNacUlnWTJBZ1FnQnlBSVFSaDJOZ0lBSUFkQkJHb2hCeUFLUVFGcUlncEJnQU5IRFFBTERBTUxBa0FnSUNnQ0RFRURkQ0lLSUNBb0FoQWlER3NpQjBFZ1RnUkFJQVlvQUFBaUIwRVlkQ0FIUVFoMFFZQ0EvQWR4Y2lBSFFRaDJRWUQrQTNFZ0IwRVlkbkp5SUJOMElBWXRBQVJCQ0NBVGEzWnlJUWdNQVFzZ0IwRUJTQVJBUVFBaENBd0JDeUFHTFFBQUlCTkJHR29pR25RaENDQUhJQk5xUVFocklnbEJBVWdOQUFOQUlBWXRBQUVnR2tFSWF5SWFkQ0FJY2lFSUlBbEJDRW9oQnlBR1FRRnFJUVlnQ1VFSWF5RUpJQWNOQUFzTFFRRWhCaUFnSUF4QkFXb2lCellDRUNBZ0lBZEJCM0VpRXpZQ0NDQUhJQXBMRFFVZ0lDQWdLQUlBSUFkQkEzWnFOZ0lFSUFoQmYwb05BQXNNQkF0QkFpQUpRUVpISWc4Z0NVRUdTUnNoRWdKQUFrQUNRQ0FKUVg1eFFRUkdCRUFnSUNBZlFkUURhaEFDQkVCQkFTRUlEQVFMSUI4b0F0UURJZ1pCQTBzRVFFRUJJUWdNQkFzZ0NpQUdOZ0t3QVNBZ0lCOUIxQU5xRUFJRVFFRUJJUWdNQkFzZ0h5Z0MxQU1pQmtFRFN3UkFRUUVoQ0F3RUN5QUtJQVkyQXJRQklDQWdIMEhVQTJvUUFnUkFRUUVoQ0F3RUN5QWZLQUxVQXlJR1FRTkxCRUJCQVNFSURBUUxJQW9nQmpZQ3VBRWdJQ0FmUWRRRGFoQUNCRUJCQVNFSURBUUxJQjhvQXRRRElnWkJBMHNFUUVFQklRZ01CQXNnQ2lBR05nSzhBU0FOUVFKSkRRSWdDVUVGUncwQkRBSUxBa0FDZndKQUFrQUNRQ0FTUVFGckRnSUVBUUFMSUNBb0FnUWhCZ0pBSUNBb0FneEJBM1FnSUNnQ0VHc2lCMEVnVGdSQUlBWW9BQUFpQjBFWWRDQUhRUWgwUVlDQS9BZHhjaUFIUVFoMlFZRCtBM0VnQjBFWWRuSnlJUWdnSUNnQ0NDSUhSUTBCSUFnZ0IzUWdCaTBBQkVFSUlBZHJkbkloQ0F3QkN5QUhRUUJNQkVCQkFDRUlJQXBCQURZQ0RBd0RDeUFHTFFBQUlDQW9BZ2dpQ1VFWWFpSVRkQ0VJSUFjZ0NXcEJDR3NpQ1VFQlNBMEFBMEFnQmkwQUFTQVRRUWhySWhOMElBaHlJUWdnQ1VFSVNpRUhJQVpCQVdvaEJpQUpRUWhySVFrZ0J3MEFDd3NnQ2lBSVFSOTJOZ0lNSUFoQmYwb05BU0FJUVFGMElRbEJBQXdDQ3lBTlFRSlBCRUJCQXlFR0lBbEJBMDBFUUNBSlFRSjBRZndxYWlnQ0FDRUdDMEVBSVF3RFFDQUdJUWNDUUNBTlFRSk5CRUFnSUNnQ0JDRUdBa0FnSUNnQ0RFRURkQ0lhSUNBb0FoQWlIR3NpQ0VFZ1RnUkFJQVlvQUFBaUNFRVlkQ0FJUVFoMFFZQ0EvQWR4Y2lBSVFRaDJRWUQrQTNFZ0NFRVlkbkp5SVJNZ0lDZ0NDQ0lJUlEwQklCTWdDSFFnQmkwQUJFRUlJQWhyZG5JaEV3d0JDeUFJUVFGSUJFQkJBQ0VUREFFTElBWXRBQUFnSUNnQ0NDSVhRUmhxSWc1MElSTWdDQ0FYYWtFSWF5SUlRUUZJRFFBRFFDQUdMUUFCSUE1QkNHc2lEblFnRTNJaEV5QUlRUWhLSVJjZ0JrRUJhaUVHSUFoQkNHc2hDQ0FYRFFBTEMwRUJJUWdnSUNBY1FRRnFJZ1kyQWhBZ0lDQUdRUWR4TmdJSUlBWWdHa3NOQ1NBZ0lDQW9BZ0FnQmtFRGRtbzJBZ1FnSHlBVFFYOXpRUjkySWdZMkF0UUREQUVMSUNBZ0gwSFVBMm9RQWdSQVFRRWhDQXdKQ3lBZktBTFVBeUVHQ3lBR0lBMVBCRUJCQVNFSURBZ0xJQW9nREVFQ2RHb2dCallDa0FFZ0IwRUJheUVHSUF4QkFXb2hEQ0FIRFFBTEMwRURJUWhCQUNFR0lBbEJBMDBFUUNBSlFRSjBRZndxYWlnQ0FDRUlDd0pBQWtBRFFDQUlJUWNnSDBFQU5nTFlBeUFnSUI5QjJBTnFFQUloQ0FKL0lCOG9BdGdESWdsQmYwWUVRRUdBZ0lDQWVDQUlEUUVhREFRTElBZ05BeUFKUVFGcVFRRjJJZ2hCQUNBSWF5QUpRUUZ4R3dzaENDQUtJQVpCQW5ScUlna2dDRHNCb0FFZ0gwRUFOZ0xZQXlBZ0lCOUIyQU5xRUFJaENDQUpBbjhnSHlnQzJBTWlDVUYvUmdSQVFZQ0FnSUI0SUFnTkFSb01Bd3NnQ0EwQ0lBbEJBV3BCQVhZaUNFRUFJQWhySUFsQkFYRWJDenNCb2dFZ0IwRUJheUVJSUFaQkFXb2hCaUFIRFFBTFFRQWhDQXdIQzBFQklRZ01CZ3RCQVNFSURBVUxJQW9nQ0VFY2RqWUNUQ0FJUVFSMElRbEJBUXNoQmlBS0lBbEJIM1kyQWhBZ0NpQUpRWDlNQkg4Z0NVRUJkQVVnQ2lBSlFSeDJOZ0pRSUFaQkFXb2hCaUFKUVFSMEN5SUhRUjkyTmdJVUlBb2dCMEVBU0FSL0lBZEJBWFFGSUFvZ0IwRWNkallDVkNBR1FRRnFJUVlnQjBFRWRBc2lCMEVmZGpZQ0dDQUtJQWRCQUVnRWZ5QUhRUUYwQlNBS0lBZEJISFkyQWxnZ0JrRUJhaUVHSUFkQkJIUUxJZ2RCSDNZMkFod2dDaUFIUVFCSUJIOGdCMEVCZEFVZ0NpQUhRUngyTmdKY0lBWkJBV29oQmlBSFFRUjBDeUlIUVI5Mk5nSWdJQW9nQjBFQVNBUi9JQWRCQVhRRklBb2dCMEVjZGpZQ1lDQUdRUUZxSVFZZ0IwRUVkQXNpQjBFZmRqWUNKQ0FLSUFkQkFFZ0VmeUFIUVFGMEJTQUtJQWRCSEhZMkFtUWdCa0VCYWlFR0lBZEJCSFFMSWdkQkgzWTJBaWdnQjBFQVRnUkFJQW9nQjBFY2RqWUNhQ0FHUVFGcUlRWUxJQ0FnSUNnQ0VDQUdRUU5zYWtFSWFpSUpOZ0lRSUNBZ0NVRUhjU0lITmdJSVFRRWhDQ0FnS0FJTVFRTjBJZ3dnQ1VrTkF5QWdJQ0FvQWdBaURTQUpRUU4yYWlJR05nSUVBbjhDUUFKQUlBd2dDV3NpQ1VFZ1RnUkFJQVlvQUFBaUNVRVlkQ0FKUVFoMFFZQ0EvQWR4Y2lBSlFRaDJRWUQrQTNFZ0NVRVlkbkp5SVJNZ0IwVU5BU0FUSUFkMElBWXRBQVJCQ0NBSGEzWnlJUk1NQVFzZ0NVRUFUQVJBUVFBaEV5QUtRUUEyQWl3TUFnc2dCaTBBQUNBSFFSaHlJZzUwSVJNZ0J5QUpha0VJYXlJSlFRRklEUUFEUUNBR0xRQUJJQTVCQ0dzaURuUWdFM0loRXlBSlFRaEtJUWNnQmtFQmFpRUdJQWxCQ0dzaENTQUhEUUFMQ3lBS0lCTkJIM1kyQWl3Z0UwRi9TZzBBSUJOQkFYUWhDVUVBREFFTElBb2dFMEVjZGpZQ2JDQVRRUVIwSVFsQkFRc2hCaUFLSUFsQkgzWTJBakFnQ2lBSlFRQklCSDhnQ1VFQmRBVWdDaUFKUVJ4Mk5nSndJQVpCQVdvaEJpQUpRUVIwQ3lJSFFSOTJOZ0kwSUFvZ0IwRUFTQVIvSUFkQkFYUUZJQW9nQjBFY2RqWUNkQ0FHUVFGcUlRWWdCMEVFZEFzaUIwRWZkallDT0NBS0lBZEJBRWdFZnlBSFFRRjBCU0FLSUFkQkhIWTJBbmdnQmtFQmFpRUdJQWRCQkhRTElnZEJIM1kyQWp3Z0NpQUhRUUJJQkg4Z0IwRUJkQVVnQ2lBSFFSeDJOZ0o4SUFaQkFXb2hCaUFIUVFSMEN5SUhRUjkyTmdKQUlBb2dCMEVBU0FSL0lBZEJBWFFGSUFvZ0IwRWNkallDZ0FFZ0JrRUJhaUVHSUFkQkJIUUxJZ2RCSDNZMkFrUWdDaUFIUVFCSUJIOGdCMEVCZEFVZ0NpQUhRUngyTmdLRUFTQUdRUUZxSVFZZ0IwRUVkQXNpQjBFZmRqWUNTQ0FIUVFCSUJIOGdCMEVCZEFVZ0NpQUhRUngyTmdLSUFTQUdRUUZxSVFZZ0IwRUVkQXNoQnlBZ0lDQW9BaEFnQmtFRGJHcEJDR29pQmpZQ0VDQWdJQVpCQjNFMkFnZ2dCaUFnS0FJTVFRTjBTdzBESUNBZ0RTQUdRUU4yYWpZQ0JDQWZJQWMyQXRRREMwRUJJUWdnSUNBZlFkUURhaEFDRFFJZ0h5Z0MxQU1pQmtFRFN3MENJQW9nQmpZQ2pBRkJBQ0VJREFJTElDQWdIMEhVQTJvZ0RVRUNTeUlHRUJFRVFFRUJJUWdNQWdzZ0RTQWZLQUxVQXlJSFRRUkFRUUVoQ0F3Q0N5QUtJQWMyQXNBQklDQWdIMEhVQTJvZ0JoQVJCRUJCQVNFSURBSUxJQTBnSHlnQzFBTWlCMDBFUUVFQklRZ01BZ3NnQ2lBSE5nTEVBU0FnSUI5QjFBTnFJQVlRRVFSQVFRRWhDQXdDQ3lBTklCOG9BdFFESWdkTkJFQkJBU0VJREFJTElBb2dCellDeUFFZ0lDQWZRZFFEYWlBR0VCRUVRRUVCSVFnTUFnc2dEU0FmS0FMVUF5SUdUUVJBUVFFaENBd0NDeUFLSUFZMkFzd0JDeUFmSUFvb0FyQUJJZ2xCQWswRWZ5QUpRUUowUWZBcWFpZ0NBQVZCQXdzMkF0UURRUUFoQmdKQUFrQURRQ0FmUVFBMkF0Z0RJQ0FnSDBIWUEyb1FBaUVIQW44Z0h5Z0MyQU1pQ0VGL1JnUkFRWUNBZ0lCNElBY05BUm9NQkFzZ0J3MERJQWhCQVdwQkFYWWlCMEVBSUFkcklBaEJBWEViQ3lFSElBb2dCa0VDZEdvaUNTQUhPd0hRQVNBZlFRQTJBdGdESUNBZ0gwSFlBMm9RQWlFSUlBa0NmeUFmS0FMWUF5SUpRWDlHQkVCQmdJQ0FnSGdnQ0EwQkdnd0RDeUFJRFFJZ0NVRUJha0VCZGlJSFFRQWdCMnNnQ1VFQmNSc0xJZ2s3QWRJQklCOGdIeWdDMUFNaUIwRUJhellDMUFNZ0JrRUJhaUVHSUFjTkFBc2dIeUFLS0FLMEFTSUdRUU5KQkg4Z0JrRUNkRUh3S21vb0FnQUZRUU1MTmdMVUEwRUFJUVlDUUFOQUlCOUJBRFlDMkFNZ0lDQWZRZGdEYWhBQ0lRY0NRQ0FmS0FMWUF5SUlRWDlHQkVCQmdJQ0FnSGdoQ0NBSFJRMEZEQUVMSUFjTkJDQUlRUUZxUVFGMklnZEJBQ0FIYXlBSVFRRnhHeUVJQ3lBS0lBWkJBblJxSWdrZ0NEc0I0QUVnSDBFQU5nTFlBeUFnSUI5QjJBTnFFQUloQnlBSkFuOGdIeWdDMkFNaUNVRi9SZ1JBUVlDQWdJQjRJQWNOQVJvTUF3c2dCdzBDSUFsQkFXcEJBWFlpQjBFQUlBZHJJQWxCQVhFYkN5SUpPd0hpQVNBZklCOG9BdFFESWdkQkFXczJBdFFESUFaQkFXb2hCaUFIRFFBTElCOGdDVFlDMEFNZ0h5QUtLQUs0QVNJR1FRSk5CSDhnQmtFQ2RFSHdLbW9vQWdBRlFRTUxOZ0xVQTBFQUlRWURRQ0FnSUI5QjBBTnFFQkFFUUVFQklRZ01CUXNnQ2lBR1FRSjBhaUlISUI4b0F0QURPd0h3QVNBZ0lCOUIwQU5xRUJBRVFFRUJJUWdNQlFzZ0J5QWZLQUxRQXpzQjhnRWdIeUFmS0FMVUF5SUhRUUZyTmdMVUF5QUdRUUZxSVFZZ0J3MEFDeUFmSUFvb0Fyd0JJZ1pCQWswRWZ5QUdRUUowUWZBcWFpZ0NBQVZCQXdzMkF0UURRUUFoQmdOQUlDQWdIMEhRQTJvUUVBUkFRUUVoQ0F3RkN5QUtJQVpCQW5ScUlnY2dIeWdDMEFNN0FZQUNJQ0FnSDBIUUEyb1FFQVJBUVFFaENBd0ZDeUFISUI4b0F0QURPd0dDQWlBZklCOG9BdFFESWdkQkFXczJBdFFESUFaQkFXb2hCa0VBSVFnZ0J3MEFDd3dEQ3lBZklBZzJBdEFEUVFFaENBd0NDeUFmSUFjMkF0QURRUUVoQ0F3QkN5QWZJQWsyQXRBRFFRRWhDQXRCQVNFR0lBZ05Bd0pBSUJKQkFVY0VRQ0FnSUI5QjJBTnFFQUlOQlNBZktBTFlBeUlIUVRCUERRVWdDa0hRUDBHZ1B5QVBHeUFIYWkwQUFDSUhOZ0lFSUFkRkRRSU1BUXNnQ2lBS0tBSUFJZ2RCQjJzaUNFRUNkRUZ3Y1NJSlFUQnJJQWtnQ0VFTFN4dEJEMEVBSUFkQkVrc2JjallDQkFzZ0gwRUFOZ0xZQXlBZ0lCOUIyQU5xRUFJaENDQWZLQUxZQXlJSFFYOUdEUU1nQ0EwRElBZEJBV3BCQVhZaUNFRUFJQWhySUFkQkFYRWJJZ2RCWmtnTkF5QUhRUmxLRFFNZ0VTQXhhaUVNSUFvZ0J6WUNDQ0FLS0FJRUlRZ0NRQUpBSUFvb0FnQkJCMGtFUUVFQUlRbEJBeUVHQTBBZ0JpRUhJQWhCQVhFRVFDQWpJQWxCQW5ScVFiZ05haUFnSUNNZ0NVRUdkR3BCT0dvZ0RDQUpJQ01RQ2tFUUVBWWlCa0VRZGpZQ0FDQUdRUTl4RFFRZ0l5QUpRUUYwYWlBR1FRUjJRZjhCY1RzQkFDQWpJQWxCQVhJaURrRUNkR3BCdUExcUlDQWdJeUFPUVFaMGFrRTRhaUFNSUE0Z0l4QUtRUkFRQmlJR1FSQjJOZ0lBSUFaQkQzRU5CQ0FqSUE1QkFYUnFJQVpCQkhaQi93RnhPd0VBSUNNZ0NVRUNjaUlPUVFKMGFrRzREV29nSUNBaklBNUJCblJxUVRocUlBd2dEaUFqRUFwQkVCQUdJZ1pCRUhZMkFnQWdCa0VQY1EwRUlDTWdEa0VCZEdvZ0JrRUVka0gvQVhFN0FRQWdJeUFKUVFOeUlnNUJBblJxUWJnTmFpQWdJQ01nRGtFR2RHcEJPR29nRENBT0lDTVFDa0VRRUFZaUJrRVFkallDQUNBR1FROXhEUVFnQ2lBT1FRRjBhaUFHUVFSMlFmOEJjVHNCa0FJTElBaEJBWFloQ0NBSFFRRnJJUVlnQ1VFRWFpRUpJQWNOQUFzTUFRc2dJQ0JOSUF4QkFDQWpFQXBCRUJBR0lnWkJEM0VOQVNBS0lBWkJCSFpCL3dGeE93SEFBa0VBSVFsQkF5RUdBMEFnQmlFSElBaEJBWEVFUUNBaklBbEJBblJxUWJnTmFpQWdJQ01nQ1VFR2RHcEJQR29nRENBSklDTVFDa0VQRUFZaUJrRVBkallDQUNBR1FROXhEUU1nSXlBSlFRRjBhaUFHUVFSMlFmOEJjVHNCQUNBaklBbEJBWElpRGtFQ2RHcEJ1QTFxSUNBZ0l5QU9RUVowYWtFOGFpQU1JQTRnSXhBS1FROFFCaUlHUVE5Mk5nSUFJQVpCRDNFTkF5QWpJQTVCQVhScUlBWkJCSFpCL3dGeE93RUFJQ01nQ1VFQ2NpSU9RUUowYWtHNERXb2dJQ0FqSUE1QkJuUnFRVHhxSUF3Z0RpQWpFQXBCRHhBR0lnWkJEM1kyQWdBZ0JrRVBjUTBESUNNZ0RrRUJkR29nQmtFRWRrSC9BWEU3QVFBZ0l5QUpRUU55SWc1QkFuUnFRYmdOYWlBZ0lDTWdEa0VHZEdwQlBHb2dEQ0FPSUNNUUNrRVBFQVlpQmtFUGRqWUNBQ0FHUVE5eERRTWdDaUFPUVFGMGFpQUdRUVIyUWY4QmNUc0JrQUlMSUFoQkFYWWhDQ0FIUVFGcklRWWdDVUVFYWlFSklBY05BQXNMSUFoQkEzRUVRQ0FnSUV4QmYwRUVFQVlpQmtFUGNRMEJJQW9nQmtFRWRrSC9BWEU3QWNJQ0lDQWdTMEYvUVFRUUJpSUdRUTl4RFFFZ0NpQUdRUVIyUWY4QmNUc0J4QUlMUVFBaEJpQUlRUUp4UlEwQUlDQWdUeUFNUVJBZ0l4QUtRUThRQmlJSFFROXhCRUFnQnlFR0RBRUxJQXBCaUJCcUlBZEJEM1kyQWdBZ0ZpQUhRUVIyUWY4QmNUc0JzQUlnSUNBN0lBeEJFU0FqRUFwQkR4QUdJZ2RCRDNFRVFDQUhJUVlNQVFzZ1VDQUhRUTkyTmdJQUlCWWdCMEVFZGtIL0FYRTdBYklDSUNBZ1VTQU1RUklnSXhBS1FROFFCaUlIUVE5eEJFQWdCeUVHREFFTElGSWdCMEVQZGpZQ0FDQVdJQWRCQkhaQi93RnhPd0cwQWlBZ0lHRWdERUVUSUNNUUNrRVBFQVlpQjBFUGNRUkFJQWNoQmd3QkN5QmlJQWRCRDNZMkFnQWdGaUFIUVFSMlFmOEJjVHNCdGdJZ0lDQmpJQXhCRkNBakVBcEJEeEFHSWdkQkQzRUVRQ0FISVFZTUFRc2daQ0FIUVE5Mk5nSUFJQllnQjBFRWRrSC9BWEU3QWJnQ0lDQWdaU0FNUVJVZ0l4QUtRUThRQmlJSFFROXhCRUFnQnlFR0RBRUxJR1lnQjBFUGRqWUNBQ0FXSUFkQkJIWkIvd0Z4T3dHNkFpQWdJR2NnREVFV0lDTVFDa0VQRUFZaUIwRVBjUVJBSUFjaEJnd0JDeUJvSUFkQkQzWTJBZ0FnRmlBSFFRUjJRZjhCY1RzQnZBSWdJQ0JwSUF4QkZ5QWpFQXBCRHhBR0lnZEJEM0VFUUNBSElRWU1BUXNnYWlBSFFROTJOZ0lBSUJZZ0IwRUVka0gvQVhFN0FiNENDeUFnSUNBb0FnZ2dJQ2dDQkNBZ0tBSUFhMEVEZEdvMkFoQWdCZzBEQzBFQUlUa0xJQUFvQWd3b0FrQWhKQ0FBS0FLOENTSXBJREZxSWc0Z0ZpZ0NBQ0lNTmdJQUlBNGdEaWdDeEFGQkFXb2lCellDeEFFZ0t5QXJLQUlBSWdnZ0tpQXJLQUlFSWdsd0lnWkJCSFJxSUNvZ0Jtc2lDa0VJZEdvMkFnd2dLeUFJSUFrZ0t5Z0NDR3dpQ1VFSWRHb2dDa0VHZEdvZ0JrRURkR29pQmpZQ0VDQXJJQVlnQ1VFR2RHbzJBaFFDUUFKQUFrQUNRQUpBQW44Q1FBSkFBbjhDUUFKQUFrQUNmd0pBQWtBQ1FBSkFBa0FDUUFKQUlBd0VRQ0FNUVI5R0JFQWdLU0F4YWlJR1FRQTJBaFFnQmtFY2FpRUlJQWRCQWs4TkFrRVhJUm9nSDBFUWFpRUdJQlFoQ1FOQUlBaEJFRHNCQUNBR0lBa29BZ0E2QUFBZ0JpQUpLQUlFT2dBQklBWWdDU2dDQ0RvQUFpQUdJQWtvQWd3NkFBTWdCaUFKS0FJUU9nQUVJQVlnQ1NnQ0ZEb0FCU0FHSUFrb0FoZzZBQVlnQmlBSktBSWNPZ0FISUFZZ0NTZ0NJRG9BQ0NBR0lBa29BaVE2QUFrZ0JpQUpLQUlvT2dBS0lBWWdDU2dDTERvQUN5QUdJQWtvQWpBNkFBd2dCaUFKS0FJME9nQU5JQVlnQ1NnQ09Eb0FEaUFHSUFrb0FqdzZBQThnR2lJSFFRRnJJUm9nQ0VFQ2FpRUlJQVpCRUdvaEJpQUpRVUJySVFrZ0J3MEFDeUFySUI5QkVHb1FEd3dWQ3lBcElERnFJaGNnSXlrQ0FEY0NIQ0FYSUNNcEFTNDNBVW9nRnlCcktRSW9Od0pFSUJjZ0l5a0NJRGNDUENBWElDTXBBaGczQWpRZ0Z5QWpLUUlRTndJc0lCY2dJeWtDQ0RjQ0pBSkFJQllvQWdnaUJrVU5BQUpBSUFZZ0xXb2lMVUVBU0FSQVFUUWhCZ3dCQzBGTUlRWWdMVUUwU0EwQkN5QUdJQzFxSVMwTElCZEJIR29oQnlBWElDMDJBaFFDUUFKQUlBeEJCazBFUUNBSEx3RUFSUTBCSUJRZ0xVRUFJQ2dvQWdBUUJVVU5Ba0VCSVFZTUdRdEJzQ29oR2tFUElRWWdGeThCVEFSQUlCWW9Bb0FQSWdnZ0ZpZ0M3QTRpQ1dvaUNpQVdLQUtFRHlJU0lCWW9BdkFPSWhGcUlnOXJJUTBnQ1NBSWF5SUlJQkVnRW1zaUNXc2hFaUFJSUFscUlSRWdDaUFQYWlFUElCWW9BdlFPSWdnZ0ZpZ0MxQTRpQ1dvaUNpQVdLQUw4RGlJY0lCWW9BdWdPSWhWcUloQnJJUk1nQ1NBSWF5SUlJQlVnSEdzaUNXc2hIQ0FJSUFscUlSVWdDaUFRYWlFUUlCWW9BdVFPSWdnZ0ZpZ0MwQTRpQ1dvaUNpQVdLQUw0RGlJZUlCWW9BdGdPSWlGcUlpSnJJUmtnQ1NBSWF5SUlJQ0VnSG1zaUNXc2hIaUFJSUFscUlTRWdDaUFpYWlFaUlCWW9BdHdPSWdnZ0ZpZ0N5QTRpQ1dvaUNpQVdLQUxnRGlJbElCWW9Bc3dPSWl4cUlpNXJJUjBnQ1NBSWF5SUlJQ3dnSldzaUNXc2hKU0FJSUFscUlTd2dDaUF1YWlFdUlDMUJnRHhxTFFBQUlRb2dMVUdRUFdvdEFBQkJER3hCd0R4cUtBSUFJUWdnRmdKL0lDMUJERThFUUNBV0lBZ2dDa0VDYTNRaUNDQVFJQzVxSWdrZ0R5QWlhaUlLYTJ3MkF2Z09JQllnTGlBUWF5SVFJQ0lnRDJzaUQyc2dDR3cyQXVnT0lCWWdEeUFRYWlBSWJEWUMyQTRnRmlBSklBcHFJQWhzTmdMSURpQVdJQlVnTEdvaUNTQVJJQ0ZxSWdwcklBaHNOZ0w4RGlBV0lDd2dGV3NpRHlBaElCRnJJaEZySUFoc05nTHNEaUFXSUE4Z0VXb2dDR3cyQXR3T0lCWWdDU0FLYWlBSWJEWUN6QTRnRmlBY0lDVnFJZ2tnRWlBZWFpSUtheUFJYkRZQ2dBOGdGaUFsSUJ4ckloRWdIaUFTYXlJU2F5QUliRFlDOEE0Z0ZpQVJJQkpxSUFoc05nTGdEaUFXSUFrZ0Ntb2dDR3cyQXRBT0lCWWdIU0FUYXlJSklCa2dEV3NpQ21zZ0NHdzJBdlFPSUJZZ0NTQUthaUFJYkRZQzVBNGdGaUFOSUJscUlna2dFeUFkYWlJS2FpQUliRFlDMUE0Z0NpQUpheUFJYkF3QkN5QVdRUUZCQWlBdFFRWnJRUVpKR3lJSklCQWdMbW9pSmlBUElDSnFJak5ySUFoc2FrRUNJQXBySWdwMU5nTDREaUFXSUM0Z0VHc2lFQ0FpSUE5cklnOXJJQWhzSUFscUlBcDFOZ0xvRGlBV0lBOGdFR29nQ0d3Z0NXb2dDblUyQXRnT0lCWWdKaUF6YWlBSWJDQUphaUFLZFRZQ3lBNGdGaUFWSUN4cUlnOGdFU0FoYWlJUWF5QUliQ0FKYWlBS2RUWUMvQTRnRmlBc0lCVnJJaFVnSVNBUmF5SVJheUFJYkNBSmFpQUtkVFlDN0E0Z0ZpQVJJQlZxSUFoc0lBbHFJQXAxTmdMY0RpQVdJQThnRUdvZ0NHd2dDV29nQ25VMkFzd09JQllnSENBbGFpSVJJQklnSG1vaUQyc2dDR3dnQ1dvZ0NuVTJBb0FQSUJZZ0pTQWNheUljSUI0Z0Vtc2lFbXNnQ0d3Z0NXb2dDblUyQXZBT0lCWWdFaUFjYWlBSWJDQUphaUFLZFRZQzRBNGdGaUFQSUJGcUlBaHNJQWxxSUFwMU5nTFFEaUFXSUIwZ0Uyc2lFaUFaSUExckloRnJJQWhzSUFscUlBcDFOZ0wwRGlBV0lCRWdFbW9nQ0d3Z0NXb2dDblUyQXVRT0lCWWdEU0FaYWlJTklCTWdIV29pRW1vZ0NHd2dDV29nQ25VMkF0UU9JQklnRFdzZ0NHd2dDV29nQ25VTE5nS0VEd3NnRkNFSklDZ2hDQU5BSUFZaENpQUpJQllnR2lnQ0FFRUNkR3BCeUE1cUtBSUFJZ1kyQWdBQ1FBSkFJQVpGQkVBZ0J5OEJBRVVOQVF0QkFTRUdJQWtnRnlnQ0ZFRUJJQWdvQWdBUUJVVU5BUXdiQ3lBSlFmLy8vd2MyQWdBTElCcEJCR29oR2lBS1FRRnJJUVlnQ0VFRWFpRUlJQWRCQW1vaEJ5QUpRVUJySVFrZ0NnMEFDd3dFQ3lBVVFmLy8vd2MyQWdBTEFrQWdGeThCSGdSQUlFb2dGeWdDRkVFQUlCWW9Bc3dQRUFWRkRRRkJBU0VHREJnTElFcEIvLy8vQnpZQ0FBc0NRQ0FYTHdFZ0JFQWdTU0FYS0FJVVFRQWdGaWdDMEE4UUJVVU5BVUVCSVFZTUdBc2dTVUgvLy84SE5nSUFDd0pBSUJjdkFTSUVRQ0JJSUJjb0FoUkJBQ0FXS0FMVUR4QUZSUTBCUVFFaEJnd1lDeUJJUWYvLy93YzJBZ0FMQWtBZ0Z5OEJKQVJBSUVjZ0Z5Z0NGRUVBSUJZb0F0Z1BFQVZGRFFGQkFTRUdEQmdMSUVkQi8vLy9CellDQUFzQ1FDQVhMd0VtQkVBZ1JpQVhLQUlVUVFBZ0ZpZ0MzQThRQlVVTkFVRUJJUVlNR0FzZ1JrSC8vLzhITmdJQUN3SkFJQmN2QVNnRVFDQkZJQmNvQWhSQkFDQVdLQUxnRHhBRlJRMEJRUUVoQmd3WUN5QkZRZi8vL3djMkFnQUxBa0FnRnk4QktnUkFJRVFnRnlnQ0ZFRUFJQllvQXVRUEVBVkZEUUZCQVNFR0RCZ0xJRVJCLy8vL0J6WUNBQXNDUUNBWEx3RXNCRUFnUXlBWEtBSVVRUUFnRmlnQzZBOFFCVVVOQVVFQklRWU1HQXNnUTBILy8vOEhOZ0lBQ3dKQUlCY3ZBUzRFUUNCQ0lCY29BaFJCQUNBV0tBTHNEeEFGUlEwQlFRRWhCZ3dZQ3lCQ1FmLy8vd2MyQWdBTEFrQWdGeThCTUFSQUlFRWdGeWdDRkVFQUlCWW9BdkFQRUFWRkRRRkJBU0VHREJnTElFRkIvLy8vQnpZQ0FBc0NRQ0FYTHdFeUJFQWdRQ0FYS0FJVVFRQWdGaWdDOUE4UUJVVU5BVUVCSVFZTUdBc2dRRUgvLy84SE5nSUFDd0pBSUJjdkFUUUVRQ0EvSUJjb0FoUkJBQ0FXS0FMNER4QUZSUTBCUVFFaEJnd1lDeUEvUWYvLy93YzJBZ0FMQWtBZ0Z5OEJOZ1JBSUQ0Z0Z5Z0NGRUVBSUJZb0F2d1BFQVZGRFFGQkFTRUdEQmdMSUQ1Qi8vLy9CellDQUFzQ1FDQVhMd0U0QkVBZ09pQVhLQUlVUVFBZ0ZpZ0NnQkFRQlVVTkFVRUJJUVlNR0FzZ09rSC8vLzhITmdJQUN5QVhMd0U2QkVBZ05pRUlJQnNoQ1NBM0lCY29BaFJCQUNBV0tBS0VFQkFGUlEwRFFRRWhCZ3dYQ3lBM1FmLy8vd2MyQWdBZ05pRUlJQnNoQ1F3Q0N5QXBJREZxSWdaQ0FEY0NIQ0FHSUMwMkFoUWdCa0lBTndGS0lBWkNBRGNDUkNBR1FnQTNBandnQmtJQU53STBJQVpDQURjQ0xDQUdRZ0EzQWlRZ0h5QXJLQUlFSWdZMkF0d0RJQjhnS3lnQ0NEWUM0QU1nS2lBR2JpSUhRUVIwSVJrZ0tpQUdJQWRzYTBFRWRDRWVRUUFoSEF3Q0N5QUlRUkE3QVFBZ0JrRVFPd0ZLSUFaQmtJREFBRFlCUmlBR1FwQ0F3SUNBZ29BSU53RStJQVpDa0lEQWdJQ0NnQWczQVRZZ0JrS1FnTUNBZ0lLQUNEY0JMaUFHUXBDQXdJQ0Fnb0FJTndFbUlBWkNrSURBZ0lDQ2dBZzNBUjRNRWdzZ0Z5Z0NHQ0FYS0FJVWFpSUdRVE1nQmtFelNCc2lCa0VBSUFaQkFFb2JJZ2RCQW5SQjBEMXFLQUlBSVFvQ1FBSkFJQmN2QVU0TkFDQVhMd0ZRRFFBZ1RDZ0NBQ0VIREFFTElBcEJrRDFxTFFBQVFReHNRY0E4YWlnQ0FDRUdRUUVoRXlBSFFRWnJRUzFOQkVCQkFDRVRJQVlnQ2tHQVBHb3RBQUJCQVd0MElRWUxJQllnRmlnQ2lBOGlCeUFXS0FLUUR5SU5heUlTSUJZb0Fvd1BJaEVnRmlnQ2xBOGlEMnNpR21zZ0Jtd2dFM1UyQXBRUElCWWdFaUFhYWlBR2JDQVRkVFlDa0E4Z0ZpQUhJQTFxSWdjZ0R5QVJhaUlOYXlBR2JDQVRkVFlDakE4Z0ZpQUhJQTFxSUFac0lCTjFJZ2MyQW9nUElCWWdGaWdDcEE4aURTQVdLQUtjRHlJU2FpSVJJQllvQXFBUElnOGdGaWdDbUE4aUdtb2lIR29nQm13Z0UzVTJBcGdQSUJZZ0VpQU5heUlOSUJvZ0Qyc2lFbW9nQm13Z0UzVTJBcUFQSUJZZ0hDQVJheUFHYkNBVGRUWUNuQThnRmlBU0lBMXJJQVpzSUJOMU5nS2tEd3NnQ1NBSE5nSUFBa0FDUUNBSFJRUkFJQmN2QVR4RkRRRUxRUUVoQmlBSklBcEJBU0FJS0FJQUVBVkZEUUVNRlFzZ0NVSC8vLzhITmdJQUN5QUpJQllvQW93UElnWTJBa0FnQ1VGQWF5RUhBa0FDUUNBR1JRUkFJQmN2QVQ1RkRRRUxRUUVoQmlBSElBcEJBU0FJS0FJRUVBVkZEUUVNRlFzZ0IwSC8vLzhITmdJQUN5QUpJQllvQXBBUElnWTJBb0FCSUFsQmdBRnFJUWNDUUFKQUlBWkZCRUFnRjBGQWF5OEJBRVVOQVF0QkFTRUdJQWNnQ2tFQklBZ29BZ2dRQlVVTkFRd1ZDeUFIUWYvLy93YzJBZ0FMSUFrZ0ZpZ0NsQThpQmpZQ3dBRWdDVUhBQVdvaEJ3SkFBa0FnQmtVRVFDQVhMd0ZDUlEwQkMwRUJJUVlnQnlBS1FRRWdDQ2dDREJBRlJRMEJEQlVMSUFkQi8vLy9CellDQUFzZ0NTQkxLQUlBSWdZMkFvQUNJQWxCZ0FKcUlRY0NRQUpBSUFaRkJFQWdGeThCUkVVTkFRdEJBU0VHSUFjZ0NrRUJJQWdvQWhBUUJVVU5BUXdWQ3lBSFFmLy8vd2MyQWdBTElBa2dGaWdDbkE4aUJqWUN3QUlnQ1VIQUFtb2hCd0pBQWtBZ0JrVUVRQ0FYTHdGR1JRMEJDMEVCSVFZZ0J5QUtRUUVnQ0NnQ0ZCQUZSUTBCREJVTElBZEIvLy8vQnpZQ0FBc2dDU0FXS0FLZ0R5SUdOZ0tBQXlBSlFZQURhaUVIQWtBQ1FDQUdSUVJBSUJjdkFVaEZEUUVMUVFFaEJpQUhJQXBCQVNBSUtBSVlFQVZGRFFFTUZRc2dCMEgvLy84SE5nSUFDeUFKSUJZb0FxUVBJZ1kyQXNBRElBbEJ3QU5xSVFjQ1FBSkFJQVpGQkVBZ0Z5OEJTa1VOQVF0QkFTRUdJQWNnQ2tFQklBZ29BaHdRQlVVTkFRd1ZDeUFIUWYvLy93YzJBZ0FMSUF4QkJrOEVRQ0FPSVFrZ0gwRVFhaUVaUVFBaEUwRUFJUThqQUVIUUFHc2lFQ1FBQWtBZ0trVU5BQ0FyS0FJQUlnMGdLaUFyS0FJRUlncHVJaEVnQ213aUJrRUlkR29nS2lBR2F5SU1RUVIwYWlFSUlBcEJCSFFoQnlBcktBSUlJUTRnRUVFZ2FpRVNJQW9nS2tzaUdrVUVRQ0FRSUFnZ0IwRi9jMm9pQmkwQUFEb0FJQ0FRSUFnZ0Iyc3RBQUE2QUNFZ0VDQUdMUUFDT2dBaUlCQWdCaTBBQXpvQUl5QVFJQVl0QUFRNkFDUWdFQ0FHTFFBRk9nQWxJQkFnQmkwQUJqb0FKaUFRSUFZdEFBYzZBQ2NnRUNBR0xRQUlPZ0FvSUJBZ0JpMEFDVG9BS1NBUUlBWXRBQW82QUNvZ0VDQUdMUUFMT2dBcklCQWdCaTBBRERvQUxDQVFJQVl0QUEwNkFDMGdFQ0FHTFFBT09nQXVJQkFnQmkwQUR6b0FMeUFRSUFZdEFCQTZBREFnRUNBR0xRQVJPZ0F4SUJBZ0JpMEFFam9BTWlBUUlBWXRBQk02QURNZ0VDQUdMUUFVT2dBMElCQkJOV29oRWdzZ0NpQU9iQ0VPSUF3RWZ5QVFJQWhCQVdzaUJpMEFBRG9BQUNBUUlBWWdCMm9pQmkwQUFEb0FBU0FRSUFZZ0Iyb2lCaTBBQURvQUFpQVFJQVlnQjJvaUJpMEFBRG9BQXlBUUlBWWdCMm9pQmkwQUFEb0FCQ0FRSUFZZ0Iyb2lCaTBBQURvQUJTQVFJQVlnQjJvaUJpMEFBRG9BQmlBUUlBWWdCMm9pQmkwQUFEb0FCeUFRSUFZZ0Iyb2lCaTBBQURvQUNDQVFJQVlnQjJvaUJpMEFBRG9BQ1NBUUlBWWdCMm9pQmkwQUFEb0FDaUFRSUFZZ0Iyb2lCaTBBQURvQUN5QVFJQVlnQjJvaUJpMEFBRG9BRENBUUlBWWdCMm9pQmkwQUFEb0FEU0FRSUFZZ0Iyb2lCaTBBQURvQURpQVFJQVlnQjJvdEFBQTZBQThnRUVFUWFnVWdFQXNoQmlBTklBNUJDSFJxSUJFZ0NrRURkQ0lIYkVFRGRHb2dERUVEZEdvaERTQUhRZmovLy84SGNTRUhJQnBGQkVBZ0VpQU5JQWRCZjNOcUlnZ3RBQUE2QUFBZ0VpQU5JQWRyTFFBQU9nQUJJQklnQ0MwQUFqb0FBaUFTSUFndEFBTTZBQU1nRWlBSUxRQUVPZ0FFSUJJZ0NDMEFCVG9BQlNBU0lBZ3RBQVk2QUFZZ0VpQUlMUUFIT2dBSElCSWdDRUVJYWlJSUxRQUFPZ0FJSUJJZ0RrRUdkQ0FJYWlJSVFRaHJMUUFBT2dBSklCSWdDRUVIYXkwQUFEb0FDaUFTSUFoQkJtc3RBQUE2QUFzZ0VpQUlRUVZyTFFBQU9nQU1JQklnQ0VFRWF5MEFBRG9BRFNBU0lBaEJBMnN0QUFBNkFBNGdFaUFJUVFKckxRQUFPZ0FQSUJJZ0NFRUJheTBBQURvQUVDQVNJQWd0QUFBNkFCRUxJQXhGRFFBZ0JpQU5RUUZySWdndEFBQTZBQUFnQmlBSElBaHFJZ2d0QUFBNkFBRWdCaUFISUFocUlnZ3RBQUE2QUFJZ0JpQUhJQWhxSWdndEFBQTZBQU1nQmlBSElBaHFJZ2d0QUFBNkFBUWdCaUFISUFocUlnZ3RBQUE2QUFVZ0JpQUhJQWhxSWdndEFBQTZBQVlnQmlBSElBaHFJZ2d0QUFBNkFBY2dCaUFISUFocUlBNGdDbXRCQm5ScUlnZ3RBQUE2QUFnZ0JpQUhJQWhxSWdndEFBQTZBQWtnQmlBSElBaHFJZ2d0QUFBNkFBb2dCaUFISUFocUlnZ3RBQUE2QUFzZ0JpQUhJQWhxSWdndEFBQTZBQXdnQmlBSElBaHFJZ2d0QUFBNkFBMGdCaUFISUFocUlnZ3RBQUE2QUE0Z0JpQUhJQWhxTFFBQU9nQVBDd0pBQWtBZ0NTZ0NBQ0lLUVFkUEJFQUNRQ0FKS0FMSUFTSUdSUVJBUVFBaENDQWtRUUJISVJJTUFRc2dKRUVBUnlFU0lBa29BZ1FpQnlBR0tBSUVJZ3hHSVFnZ0J5QU1SdzBBSUNSRkRRQkJBQ0FJSUFZb0FnQkJCa2tiSVFoQkFTRVNDMEVBSVJFQ1FDQUpLQUxNQVNJR1JRMEFJQWtvQWdRZ0JpZ0NCRVlpRVNBU2NVVU5BRUVBSUJFZ0JpZ0NBRUVHU1JzaEVRc0NRQ0FKS0FMVUFTSUdSUTBBSUFrb0FnUWdCaWdDQkVZaUR5QVNjVVVOQUNBR0tBSUFRUVZMSVE4TFFRRWhCd0pBQWtBQ1FBSkFBa0FnQ2tFQmFrRURjUTREQUFFQ0F3c2dFVVVOQmtFQUlSRWdFQzBBTUNFR0lCQXRBQzhoQnlBUUxRQXVJUWdnRUMwQUxTRUtJQkF0QUN3aERDQVFMUUFySVE0Z0VDMEFLaUVOSUJBdEFDa2hFaUFRTFFBb0lROGdFQzBBSnlFYUlCQXRBQ1loSENBUUxRQWxJUmNnRUMwQUpDRVZJQkF0QUNNaEhpQVFMUUFpSVNFZ0VDMEFJU0VpSUJraEV3TkFJQk1nQmpvQUR5QVRJQWM2QUE0Z0V5QUlPZ0FOSUJNZ0Nqb0FEQ0FUSUF3NkFBc2dFeUFPT2dBS0lCTWdEVG9BQ1NBVElCSTZBQWdnRXlBUE9nQUhJQk1nR2pvQUJpQVRJQnc2QUFVZ0V5QVhPZ0FFSUJNZ0ZUb0FBeUFUSUI0NkFBSWdFeUFoT2dBQklCTWdJam9BQUNBVFFSQnFJUk1nRVVFQmFpSVJRUkJIRFFBTERBTUxJQWhGRFFVZ0dTQVFNUUFBUW9HQ2hJaVFvTUNBQVg0aWJqY0FDQ0FaSUc0M0FBQWdHU0FRTVFBQlFvR0NoSWlRb01DQUFYNGliamNBR0NBWklHNDNBQkFnR1NBUU1RQUNRb0dDaElpUW9NQ0FBWDRpYmpjQUtDQVpJRzQzQUNBZ0dTQVFNUUFEUW9HQ2hJaVFvTUNBQVg0aWJqY0FPQ0FaSUc0M0FEQWdHU0FRTVFBRVFvR0NoSWlRb01DQUFYNGliamNBU0NBWklHNDNBRUFnR1NBUU1RQUZRb0dDaElpUW9NQ0FBWDRpYmpjQVdDQVpJRzQzQUZBZ0dTQVFNUUFHUW9HQ2hJaVFvTUNBQVg0aWJqY0FhQ0FaSUc0M0FHQWdHU0FRTVFBSFFvR0NoSWlRb01DQUFYNGliamNBZUNBWklHNDNBSEFnR1NBUU1RQUlRb0dDaElpUW9NQ0FBWDRpYmpjQWlBRWdHU0J1TndDQUFTQVpJQkF4QUFsQ2dZS0VpSkNnd0lBQmZpSnVOd0NZQVNBWklHNDNBSkFCSUJrZ0VERUFDa0tCZ29TSWtLREFnQUYrSW00M0FLZ0JJQmtnYmpjQW9BRWdHU0FRTVFBTFFvR0NoSWlRb01DQUFYNGliamNBdUFFZ0dTQnVOd0N3QVNBWklCQXhBQXhDZ1lLRWlKQ2d3SUFCZmlKdU53RElBU0FaSUc0M0FNQUJJQmtnRURFQURVS0Jnb1NJa0tEQWdBRitJbTQzQU5nQklCa2diamNBMEFFZ0dTQVFNUUFPUW9HQ2hJaVFvTUNBQVg0aWJqY0E2QUVnR1NCdU53RGdBU0FaSUJBeEFBOUNnWUtFaUpDZ3dJQUJmaUp1TndENEFTQVpJRzQzQVBBQkRBSUxJQmtDZndKQUlBaEZEUUFnRVVVTkFDQVFMUUFQSUJBdEFEQWdFQzBBRGlBUUxRQXZJQkF0QUEwZ0VDMEFMaUFRTFFBTUlCQXRBQzBnRUMwQUN5QVFMUUFzSUJBdEFBb2dFQzBBS3lBUUxRQUpJQkF0QUNvZ0VDMEFDQ0FRTFFBcElCQXRBQWNnRUMwQUtDQVFMUUFHSUJBdEFDY2dFQzBBQlNBUUxRQW1JQkF0QUFRZ0VDMEFKU0FRTFFBRElCQXRBQ1FnRUMwQUFpQVFMUUFqSUJBdEFBRWdFQzBBSWlBUUxRQWhJQkF0QUFCcWFtcHFhbXBxYW1wcWFtcHFhbXBxYW1wcWFtcHFhbXBxYW1wcWFtcHFRUkJxUVFWMkRBRUxJQWdFUUNBUUxRQVBJQkF0QUE0Z0VDMEFEU0FRTFFBTUlCQXRBQXNnRUMwQUNpQVFMUUFKSUJBdEFBZ2dFQzBBQnlBUUxRQUdJQkF0QUFVZ0VDMEFCQ0FRTFFBRElCQXRBQUlnRUMwQUFDQVFMUUFCYW1wcWFtcHFhbXBxYW1wcWFtcHFRUWhxUVFSMkRBRUxRWUFCSUJGRkRRQWFJQkF0QURBZ0VDMEFMeUFRTFFBdUlCQXRBQzBnRUMwQUxDQVFMUUFySUJBdEFDb2dFQzBBS1NBUUxRQW9JQkF0QUNjZ0VDMEFKaUFRTFFBbElCQXRBQ1FnRUMwQUl5QVFMUUFoSUJBdEFDSnFhbXBxYW1wcWFtcHFhbXBxYW1wQkNHcEJCSFlMUVlBQ0VBTWFEQUVMSUFoQkFFY2dFVUVBUjNFZ0QzRkZEUU1nRUMwQUNDQVFMUUFHYXlBUUxRQVBJZ1lnRUMwQUlDSUhhMEVEZEdvZ0VDMEFDU0FRTFFBRmEwRUJkR29nRUMwQUNpQVFMUUFFYTBFRGJHb2dFQzBBQ3lBUUxRQURhMEVDZEdvZ0VDMEFEQ0FRTFFBQ2EwRUZiR29nRUMwQURTQVFMUUFCYTBFR2JHb2dFQzBBRGlBUUxRQUFhMEVIYkdwQkJXeEJJR3BCQm5VaENpQVFMUUFwSUJBdEFDZHJJQkF0QUNvZ0VDMEFKbXRCQVhScUlCQXRBQ3NnRUMwQUpXdEJBMnhxSUJBdEFDd2dFQzBBSkd0QkFuUnFJQkF0QUMwZ0VDMEFJMnRCQld4cUlCQXRBQzRnRUMwQUltdEJCbXhxSUJBdEFDOGdFQzBBSVd0QkIyeHFJQkF0QURBaURDQUhhMEVEZEdwQkJXeEJJR3BCQm5VaUNFRURkQ0VPSUFoQkIyd2hEU0FJUVFac0lSRWdDRUVGYkNFUElBaEJBMndoR2lBSVFYMXNJUk1nQ0VGN2JDRWNJQWhCZW13aEZ5QUlRWGxzSVJWQkFDQUlRUUYwSWg1cklTRkJBQ0FJUVFKMElpSnJJU2tnQmlBTWFrRUVkRUVRYWlFTVFRQWhFZ05BSUJrZ0VrRUVkR29pQmlBTUlCSkJCMnNnQ214cUlnZEJCWFVpSFVIL0FTQWRRZjhCU0JzaUhVRUFJQjFCQUVvYk9nQUhJQVlnQnlBWGFrRUZkU0lkUWY4QklCMUIvd0ZJR3lJZFFRQWdIVUVBU2hzNkFBRWdCaUFISUJWcVFRVjFJaDFCL3dFZ0hVSC9BVWdiSWgxQkFDQWRRUUJLR3pvQUFDQUdJQWNnSEdwQkJYVWlIVUgvQVNBZFFmOEJTQnNpSFVFQUlCMUJBRW9iT2dBQ0lBWWdCeUFwYWtFRmRTSWRRZjhCSUIxQi93RklHeUlkUVFBZ0hVRUFTaHM2QUFNZ0JpQUhJQk5xUVFWMUloMUIvd0VnSFVIL0FVZ2JJaDFCQUNBZFFRQktHem9BQkNBR0lBY2dJV3BCQlhVaUhVSC9BU0FkUWY4QlNCc2lIVUVBSUIxQkFFb2JPZ0FGSUFZZ0J5QUlhMEVGZFNJZFFmOEJJQjFCL3dGSUd5SWRRUUFnSFVFQVNoczZBQVlnQmlBSElBaHFRUVYxSWgxQi93RWdIVUgvQVVnYkloMUJBQ0FkUVFCS0d6b0FDQ0FHSUFjZ0htcEJCWFVpSFVIL0FTQWRRZjhCU0JzaUhVRUFJQjFCQUVvYk9nQUpJQVlnQnlBYWFrRUZkU0lkUWY4QklCMUIvd0ZJR3lJZFFRQWdIVUVBU2hzNkFBb2dCaUFISUNKcVFRVjFJaDFCL3dFZ0hVSC9BVWdiSWgxQkFDQWRRUUJLR3pvQUN5QUdJQWNnRDJwQkJYVWlIVUgvQVNBZFFmOEJTQnNpSFVFQUlCMUJBRW9iT2dBTUlBWWdCeUFSYWtFRmRTSWRRZjhCSUIxQi93RklHeUlkUVFBZ0hVRUFTaHM2QUEwZ0JpQUhJQTFxUVFWMUloMUIvd0VnSFVIL0FVZ2JJaDFCQUNBZFFRQktHem9BRGlBR0lBY2dEbXBCQlhVaUJrSC9BU0FHUWY4QlNCc2lCa0VBSUFaQkFFb2JPZ0FQSUJKQkFXb2lFa0VRUncwQUN3c2dHU0FXUWNnQ2FrRUFFQXNnR1NBV1FZZ0Rha0VCRUFzZ0dTQVdRY2dEYWtFQ0VBc2dHU0FXUVlnRWFrRURFQXNnR1NBV1FjZ0Vha0VFRUFzZ0dTQVdRWWdGYWtFRkVBc2dHU0FXUWNnRmFrRUdFQXNnR1NBV1FZZ0dha0VIRUFzZ0dTQVdRY2dHYWtFSUVBc2dHU0FXUVlnSGFrRUpFQXNnR1NBV1FjZ0hha0VLRUFzZ0dTQVdRWWdJYWtFTEVBc2dHU0FXUWNnSWFrRU1FQXNnR1NBV1FZZ0pha0VORUFzZ0dTQVdRY2dKYWtFT0VBc2dHU0FXUVlnS2FrRVBFQXNNQVFzZ0NVSElBV29oQ2lBSlFjd0JhaUVNSUFsQjBBRnFJUTRnQ1VIVUFXb2hEUU5BSUFvaEJ5QUpJUWhCQUNFR1FRQWhFUUpBQWtBQ1FBSkFBa0FDUUNBVFFRTjBJaEpCb0N0cUtRTUFJbTZuRGdVREFBRUNCQVVMSUF3aEJ3d0NDeUFPSVFjTUFRc2dEU0VIQ3lBSEtBSUFJZ2dOQUF3QkN5QUpLQUlFSWdZZ0NDZ0NCQ0lIUmlFUkFrQWdCaUFIUncwQUlDUkZEUUJCQUNBUklBZ29BZ0JCQmtrYklSRUxJQWdoQmdzZ0NpRUhJQWtoQ0FKQUFrQUNRQUpBQWtBQ1FBSkFJQkpCNEN4cUtRTUFJbStuRGdVREFBRUNCUVFMSUF3aEJ3d0NDeUFPSVFjTUFRc2dEU0VIQ3lBSEtBSUFJZ2dOQVF0QkFDRWhJQkZCQUVjaEYwRUNJUWRCQUNFcERBRUxJQWtvQWdRaUJ5QUlLQUlFSWc5R0lSd0NRQ0FISUE5SERRQWdKRVVOQUVFQUlCd2dDQ2dDQUVFR1NSc2hIQXRCQUNFaElCeEJBRWNoS1NBUlFRQkhJUmRCQWlFSElCRkZEUUFnSEVVTkFFRUNJUkVDZnlBR0tBSUFRUVpHQkVBZ0JpQnVRaUNJcDBIL0FYRnFMUUJTSVFjTElBY0xBbjhnQ0NnQ0FFRUdSZ1JBSUFnZ2IwSWdpS2RCL3dGeGFpMEFVaUVSQ3lBUkN5QUhJQkZKR3lFSFFRRWhJVUVCSVNsQkFTRVhDeUFXSUJOQkFuUWlFV29pQmlnQ0RFVUVRQ0FHS0FKTUlnWWdCaUFIVDJvaEJ3c2dDU0FUYWlBSE9nQlNRUUFoRlNBS0lRWWdDU0VJUVFBaEhnSkFBa0FDUUFKQUFrQUNRQ0FTUWFBdWFpZ0NBQTRGQXdBQkFnUUZDeUFNSVFZTUFnc2dEaUVHREFFTElBMGhCZ3NnQmlnQ0FDSUlSUTBCQ3lBSktBSUVJZ1lnQ0NnQ0JDSVBSaUVlSUFZZ0QwY05BQ0FrUlEwQVFRQWdIaUFJS0FJQVFRWkpHeUVlQ3lBS0lRWWdDU0VJQWtBQ1FBSkFBa0FDUUFKQUlCSkI0QzlxS0FJQURnVURBQUVDQkFVTElBd2hCZ3dDQ3lBT0lRWU1BUXNnRFNFR0N5QUdLQUlBSWdoRkRRRUxJQWtvQWdRaUJpQUlLQUlFSWhKR0lSVWdCaUFTUncwQUlDUkZEUUJCQUNBVklBZ29BZ0JCQmtrYklSVUxJQkZCOENscUtBSUFJU1lnRVVHd0tXb29BZ0FoTXdKQVFZVUtJQk4yUVFGeElpNEVRQ0FRSUNacUloRkJBMm9oRWlBUlFRSnFJUWdnRVVFQmFpRUdEQUVMSUNaQkJIUWdNMm9nR1dvaUVVRXZhaUVTSUJGQkgyb2hDQ0FSUVE5cUlRWWdFVUVCYXlFUkN5QUlMUUFBSVIwZ0VpMEFBQ0VJSUFZdEFBQWhKU0FSTFFBQUlTd0NRRUV6SUJOMlFRRnhCRUFnRUVFZ2FpQXphaUlSTFFBSUlROGdFUzBBQnlFd0lCRXRBQVloSWlBUkxRQUZJVFVnRVMwQUJDRVNJQkV0QUFNaEhDQVJMUUFDSVJvZ0VTMEFBU0VHREFFTElCa2dKa0VCYXlKVFFRUjBJRE5xYWlJUkxRQUFJUVlnRVMwQUJ5RVBJQkV0QUFZaE1DQVJMUUFGSVNJZ0VTMEFCQ0UxSUJFdEFBTWhFaUFSTFFBQ0lSd2dFUzBBQVNFYUlDNEVRQ0FRSUZOcUlSRU1BUXNnRVVFQmF5RVJDeUFSTFFBQUlTNENRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQ0FIRGdnQUFRSURCQVVHQndnTElDbEZCRUJCQVNFSERBd0xJQVpCL3dGeElCcEIvd0Z4UVFoMGNpQWNRZjhCY1VFUWRISWdFa0VZZEhJaEtTQUdJZ2NoSGlBYUloY2hJU0FjSWhFaENDQVNJaFVoRHd3SUN5QVhSUVJBUVFFaEJ3d0xDeUFJUVlHQ2hBaHNJU2tnSFVHQmdvUUliQ0llUVJoMklROGdIa0VRZGlFSUlCNUJDSFloSVNBbFFZR0NoQWhzSWdaQkdIWWhGU0FHUVJCMklSRWdCa0VJZGlFWElDeEJnWUtFQ0d3aUIwRVlkaUVTSUFkQkVIWWhIQ0FIUVFoMklSb01Cd3NDZnlBbElDeHFJQWhxSUIxcUlCSkIvd0Z4YWlBY1FmOEJjV29nR2tIL0FYRnFJQVpCL3dGeGFrRUVha0g0L3dOeFFRTjJJQ0VOQUJvZ0pTQXNhaUFJYWlBZGFrRUNha0VDZGlBWERRQWFRWUFCSUNsRkRRQWFJQkpCL3dGeElCeEIvd0Z4YWlBYVFmOEJjV29nQmtIL0FYRnFRUUpxUVFKMkN5SUhRZjhCY1VHQmdvUUliQ0VwSUFjaUdpSWNJaElpQmlFWElBWWlFU0lWSWg0aUlTSUlJUThNQmdzZ0tVVUVRRUVCSVFjTUNRc2dIa1VFUUNBU0lnOGlNQ0lpSVRVTElDSkIvd0Z4SWdjZ0QwSC9BWEVpRVdvZ01FSC9BWEVpRDBFQmRHcEJBbW9pRjBFT2RFR0FnUHdIY1NBU1FmOEJjU0llUVFKcUlpRWdCMm9nTlVIL0FYRWlDRUVCZEdwQkFuWWlFaUFQUVFKcUlnOGdDR29nQjBFQmRHcEJBbllpRlVFSWRISkIvLzhEY1hJZ0R5QVJRUU5zYWtFV2RFR0FnSUI0Y1hJaEtTQVhRUUoySVE4Z0hFSC9BWEVpRVVFQ2FpSWNJQVpCL3dGeGFpQWFRZjhCY1NJR1FRRjBha0VDZGlFSElBWWdJV29nRVVFQmRHcEJBbllpR2lFR0lCd2dIa0VCZEdvZ0NHcEJBbllpSENFWElCd2hIaUFTSWhFaElTQVZJUWdNQlF0QkFTRUhJQ0VnRlVFQVIzRkZEUWNnTENBbFFRRjBhaUFkYWtFQ2FpSVJRUVowUVlEK0EzRWdCa0gvQVhFaUQwRUNhaUlYSUN4cUlDNUJBWFJxUVFKMklnZEJHSFFnSlVFQ2FpSUdJQ3hCQVhScUlDNXFRUUoySWlGQkVIUnljaUFHSUFocUlCMUJBWFJxUVFKMmNpRXBJQnBCL3dGeElnaEJBbW9pR2lBU1FmOEJjV29nSEVIL0FYRWlIRUVCZEdwQkFuWWhFaUFSUVFKMklSNGdJU0VHSUJvZ0QwRUJkR29nTG1wQkFuWWlHaUVSSUFoQkFYUWdIR29nRjJwQkFuWWlIQ0VWSUFjaUZ5RUlJQm9oRHd3RUMwRUJJUWNnSVNBVlFRQkhjVVVOQmlBYVFmOEJjU0lQUVFKcUlnY2dCa0gvQVhFaUNFRUJkR29nTG1wQkFuWWlGMEVRZENBSVFRSnFJZ1lnTEdvZ0xrRUJkR29pR2tFR2RFR0EvZ054Y2lBR0lCeEIvd0Z4SWdZZ0QwRUJkR3BxUVFKMkloRkJHSFJ5SUN3Z0pVRUJkR29nSFdwQkFtcEJBblp5SVNrZ0JrRUJhaUljSUJKQi93RnhJaFZxUVFGMklSSWdKU0FzUVFGMGFpQXVha0VDYWtFQ2RpRWVJQWNnRldvZ0JrRUJkR3BCQW5ZaEZTQWFRUUoySVFZZ0NDQXVha0VCYWtFQmRpSUhJU0VnQ0NBUGFrRUJha0VCZGlJYUlRZ2dEeUFjYWtFQmRpSWNJUThNQXd0QkFTRUhJQ0VnRlVFQVIzRkZEUVVnSlVFQ2FpSVBJQWhxSUIxQkFYUnFRUVowUVlEK0EzRWdMRUVDYWlJSElDVkJBWFJxSUIxcVFRSjJJaUZCR0hRZ0hTQWxha0VCYWtFQmRpSWVRUkIwY25JZ0NDQWRha0VCYWtFQmRuSWhLU0FHUWY4QmNTSUdJQnhCL3dGeGFpQWFRZjhCY1NJSVFRRjBha0VDYWtFQ2RpRVNJQWdnQmtFQmRHb2dMbXBCQW1wQkFuWWhIQ0FHSUFkcUlDNUJBWFJxUVFKMkloVWhHaUFzUVFGcUlnWWdMbXBCQVhZaUJ5RVJJQVlnSldwQkFYWWlCaUVJSUE4Z0xFRUJkR29nTG1wQkFuWWlGeUVQREFJTElDbEZCRUJCQVNFSERBVUxJQkpCL3dGeElpRkJBbW9pRVNBaUlCSWdIaHRCL3dGeElnZHFJRFVnRWlBZUcwSC9BWEVpQ0VFQmRHb2lGVUVPZEVHQWdQd0hjU0FSSUJwQi93RnhJaHBxSUJ4Qi93RnhJaHhCQVhScVFRSjJJaGNnSEVFQ2FpSWlJQWhxSUNGQkFYUnFRUUoySWhGQkNIUnlRZi8vQTNGeUlBZ2dNQ0FTSUI0YlFmOEJjV29nQjBFQmRHcEJGblJCZ0lDQUJHcEJnSUNBZUhGeUlTa2dCeUFJYWtFQmFrRUJkaUVQSUJWQkFuWWhGU0FhSUFaQi93RnhJZ1pxUVFGcVFRRjJJUWNnQmlBaWFpQWFRUUYwYWtFQ2RpRUdJQm9nSEdwQkFXcEJBWFlpR2lFZUlDRkJBV29pRWlBY2FrRUJkaUljSVNFZ0NDQVNha0VCZGlJU0lRZ01BUXNnRjBVRVFFRUJJUWNNQkFzZ0NFRUlkQ0FJY2lBSVFSQjBjaUFJUVJoMGNpRXBJQjFCQW1vaUR5QXNhaUFsUVFGMGFrRUNkaUVhSUNWQkFXb2lCaUFzYWtFQmRpRUhJQVlnSFdwQkFYWWlIQ0VHSUFnZ0pXb2dIVUVCZEdwQkFtcEJBbllpRWlFWElBZ2dIV3BCQVdwQkFYWWlFU0VlSUE4Z0NFRURiR3BCQW5ZaUZTRWhJQWdoRHdzZ0dTQW1RUVIwSUROcWFpSWlJQ2syQWpBZ0lpQWVRZjhCY1NBUFFSaDBJQWhCL3dGeFFSQjBjaUFoUWY4QmNVRUlkSEp5TmdJZ0lDSWdCa0gvQVhFZ0ZVRVlkQ0FSUWY4QmNVRVFkSElnRjBIL0FYRkJDSFJ5Y2pZQ0VDQWlJQWRCL3dGeElCSkJHSFFnSEVIL0FYRkJFSFJ5SUJwQi93RnhRUWgwY25JMkFnQWdHU0FXSUJOQkJuUnFRY2dDYWlBVEVBc2dFMEVCYWlJVFFSQkhEUUFMQ3dKQUlBa29Bc2dCSWdaRkJFQkJBQ0VPSUNSQkFFY2hFUXdCQ3lBa1FRQkhJUkVnQ1NnQ0JDSUhJQVlvQWdRaUNFWWhEaUFISUFoSERRQWdKRVVOQUVFQUlBNGdCaWdDQUVFR1NSc2hEa0VCSVJFTFFRQWhFMEVBSVJjQ1FDQUpLQUxNQVNJR1JRMEFJQWtvQWdRZ0JpZ0NCRVlpRnlBUmNVVU5BRUVBSUJjZ0JpZ0NBRUVHU1JzaEZ3c2dGaWdDakFFaEdnSkFJQWtvQXRRQklnWkZEUUFnQ1NnQ0JDQUdLQUlFUmlJVElCRnhSUTBBSUFZb0FnQkJCVXNoRXdzZ0ZrSElDbW9oSENBWlFZQUNhaUVHSUJCQkVHb2hIaUFRUVRWcUlTSkJBQ0VLSUE1QkFFY2dGMEVBUjNFaUZTQVRjU0VoUVJBaEVnTkFBa0FDUUFKQUFrQUNRQ0FhRGdNQUFRSURDeUFHQW44Z0ZRUkFJQjR0QUFNZ0hpMEFBaUFlTFFBQklCNHRBQUFnSWkwQUJDQWlMUUFESUNJdEFBRWdJaTBBQW1wcWFtcHFhbXBCQkdwQkEzWWhFU0FpTFFBSUlDSXRBQWNnSWkwQUJTQWlMUUFHYW1wcVFRSnFRUUoyREFFTElCY0VRQ0FpTFFBRUlDSXRBQU1nSWkwQUFTQWlMUUFDYW1wcVFRSnFRUUoySVJFZ0lpMEFDQ0FpTFFBSElDSXRBQVVnSWkwQUJtcHFha0VDYWtFQ2Rnd0JDeUFPUlFSQVFZQUJJUkZCZ0FFTUFRc2dIaTBBQXlBZUxRQUNJQjR0QUFBZ0hpMEFBV3BxYWtFQ2FrRUNkaUlSQzBIL0FYRkJnWUtFQ0d3aUJ6WUFIQ0FHSUJGQi93RnhRWUdDaEFoc0lnZzJBQmdnQmlBSE5nQVVJQVlnQ0RZQUVDQUdJQWMyQUF3Z0JpQUlOZ0FJSUFZZ0J6WUFCQ0FHSUFnMkFBQWdCZ0ovSUE0RVFDQWVMUUFISUI0dEFBWWdIaTBBQlNBZUxRQUVhbXBxSWdkQkFtcEJBbllpRVNBWFJRMEJHaUFpTFFBSUlDSXRBQWNnSWkwQUJpQUhJQ0l0QUFWcWFtcHFRUVJxUVFOMkRBRUxJQmRGQkVCQmdBRWhFVUdBQVF3QkN5QWlMUUFFSUNJdEFBTWdJaTBBQVNBaUxRQUNhbXBxUVFKcVFRSjJJUkVnSWkwQUNDQWlMUUFISUNJdEFBVWdJaTBBQm1wcWFrRUNha0VDZGd0Qi93RnhRWUdDaEFoc0lnYzJBRHdnQmlBUlFmOEJjVUdCZ29RSWJDSUlOZ0E0SUFZZ0J6WUFOQ0FHSUFnMkFEQWdCaUFITmdBc0lBWWdDRFlBS0NBR0lBYzJBQ1FnQmlBSU5nQWdRUUFoQ0F3REN5QU9SUVJBUVFFaEJ3d0ZDeUFHSUI0eEFBQkNnWUtFaUpDZ3dJQUJmamNBQUNBR0lCNHhBQUZDZ1lLRWlKQ2d3SUFCZmpjQUNDQUdJQjR4QUFKQ2dZS0VpSkNnd0lBQmZqY0FFQ0FHSUI0eEFBTkNnWUtFaUpDZ3dJQUJmamNBR0NBR0lCNHhBQVJDZ1lLRWlKQ2d3SUFCZmpjQUlDQUdJQjR4QUFWQ2dZS0VpSkNnd0lBQmZqY0FLQ0FHSUI0eEFBWkNnWUtFaUpDZ3dJQUJmamNBTUNBR0lCNHhBQWRDZ1lLRWlKQ2d3SUFCZmpjQU9FRUFJUWdNQWdzZ0YwVUVRRUVCSVFjTUJBc2dCaUFpTFFBQklnYzZBRGdnQmlBSE9nQXdJQVlnQnpvQUtDQUdJQWM2QUNBZ0JpQUhPZ0FZSUFZZ0J6b0FFQ0FHSUFjNkFBZ2dCaUFIT2dBQUlBWWdJaTBBQWlJSE9nQTVJQVlnQnpvQU1TQUdJQWM2QUNrZ0JpQUhPZ0FoSUFZZ0J6b0FHU0FHSUFjNkFCRWdCaUFIT2dBSklBWWdCem9BQVNBR0lDSXRBQU1pQnpvQU9pQUdJQWM2QURJZ0JpQUhPZ0FxSUFZZ0J6b0FJaUFHSUFjNkFCb2dCaUFIT2dBU0lBWWdCem9BQ2lBR0lBYzZBQUlnQmlBaUxRQUVJZ2M2QURzZ0JpQUhPZ0F6SUFZZ0J6b0FLeUFHSUFjNkFDTWdCaUFIT2dBYklBWWdCem9BRXlBR0lBYzZBQXNnQmlBSE9nQURJQVlnSWkwQUJTSUhPZ0E4SUFZZ0J6b0FOQ0FHSUFjNkFDd2dCaUFIT2dBa0lBWWdCem9BSENBR0lBYzZBQlFnQmlBSE9nQU1JQVlnQnpvQUJDQUdJQ0l0QUFZaUJ6b0FQU0FHSUFjNkFEVWdCaUFIT2dBdElBWWdCem9BSlNBR0lBYzZBQjBnQmlBSE9nQVZJQVlnQnpvQURTQUdJQWM2QUFVZ0JpQWlMUUFISWdjNkFENGdCaUFIT2dBMklBWWdCem9BTGlBR0lBYzZBQ1lnQmlBSE9nQWVJQVlnQnpvQUZpQUdJQWM2QUE0Z0JpQUhPZ0FHSUFZZ0lpMEFDQ0lIT2dBL0lBWWdCem9BTnlBR0lBYzZBQzhnQmlBSE9nQW5JQVlnQnpvQUh5QUdJQWM2QUJjZ0JpQUhPZ0FQSUFZZ0J6b0FCMEVBSVFnTUFRc2dJVVVFUUVFQklRY01Bd3NnSWkwQUJTQWlMUUFEYXlBaUxRQUdJQ0l0QUFKclFRRjBhaUFpTFFBSElDSXRBQUZyUVFOc2FpQWlMUUFJSWdjZ0lpMEFBQ0lJYTBFQ2RHcEJFV3hCRUdwQkJYVWlERUY5YkNFTklBY2dIaTBBQnlJUmFrRUVkQ0FlTFFBRUlCNHRBQUpySUJFZ0NHdEJBblJxSUI0dEFBVWdIaTBBQVd0QkFYUnFJQjR0QUFZZ0hpMEFBR3RCQTJ4cVFSRnNRUkJxUVFWMUloRkJmV3hxUVJCcUlROUJDQ0VISUFZaEV3TkFJQk1nRFNBUGFpSUlRUVYxUWNBMWFpMEFBRG9BQUNBVElBZ2dER29pQ0VFRmRVSEFOV290QUFBNkFBRWdFeUFJSUF4cUlnaEJCWFZCd0RWcUxRQUFPZ0FDSUJNZ0NDQU1haUlJUVFWMVFjQTFhaTBBQURvQUF5QVRJQWdnREdvaUNFRUZkVUhBTldvdEFBQTZBQVFnRXlBSUlBeHFJZ2hCQlhWQndEVnFMUUFBT2dBRklCTWdDQ0FNYWlJSVFRVjFRY0ExYWkwQUFEb0FCaUFUSUFnZ0RHcEJCWFZCd0RWcUxRQUFPZ0FISUE4Z0VXb2hEeUFUUVFocUlSTkJBQ0VJSUFkQkFXc2lCdzBBQ3dzRFFDQWNJQWhCQm5ScUlnY29BZ0FpRVVILy8vOEhSd1JBSUFjb0FnUWhEeUFHSUJJZ0VrRURjU0FTUVJCSklnd2JRUUowSWhOQjhDbHFLQUlBUVJCQkNDQU1HeUlOYkdvZ0UwR3dLV29vQWdCcUlnd2dFU0FNTFFBQWFrSEFOV290QUFBNkFBQWdCeWdDQ0NFUklBd2dEeUFNTFFBQmFrSEFOV290QUFBNkFBRWdCeWdDRENFUElBd2dFU0FNTFFBQ2FrSEFOV290QUFBNkFBSWdEQ0FQSUF3dEFBTnFRY0ExYWkwQUFEb0FBeUFIS0FJVUlSRWdEQ0FOYWlJTUlBY29BaEFnREMwQUFHcEJ3RFZxTFFBQU9nQUFJQWNvQWhnaER5QU1JQkVnREMwQUFXcEJ3RFZxTFFBQU9nQUJJQWNvQWh3aEVTQU1JQThnREMwQUFtcEJ3RFZxTFFBQU9nQUNJQXdnRVNBTUxRQURha0hBTldvdEFBQTZBQU1nQnlnQ0pDRVJJQXdnRFdvaURDQUhLQUlnSUF3dEFBQnFRY0ExYWkwQUFEb0FBQ0FIS0FJb0lROGdEQ0FSSUF3dEFBRnFRY0ExYWkwQUFEb0FBU0FIS0FJc0lSRWdEQ0FQSUF3dEFBSnFRY0ExYWkwQUFEb0FBaUFNSUJFZ0RDMEFBMnBCd0RWcUxRQUFPZ0FESUFjb0FqUWhFU0FNSUExcUlnd2dCeWdDTUNBTUxRQUFha0hBTldvdEFBQTZBQUFnQnlnQ09DRU5JQXdnRVNBTUxRQUJha0hBTldvdEFBQTZBQUVnQnlnQ1BDRUhJQXdnRFNBTUxRQUNha0hBTldvdEFBQTZBQUlnRENBSElBd3RBQU5xUWNBMWFpMEFBRG9BQXdzZ0VrRUJhaUVTSUFoQkFXb2lDRUVFUncwQUN5QWNRWUFDYWlFY0lCNUJDR29oSGlBaVFRbHFJU0lnQmtGQWF5RUdJQW9oQjBFQklRb2dCMFVOQUF0QkFDRUhJQWtvQXNRQlFRRkxEUUFnS3lBWkVBOExJQkJCMEFCcUpBQWdCeUlHUlEwU0RCUUxJQTRvQWdBaEhDQWZJQ3NvQWdRaUJqWUMzQU1nSHlBcktBSUlOZ0xnQXlBcUlBWnVJZ2RCQkhRaEdTQXFJQVlnQjJ4clFRUjBJUjRnSEE0RUFBQUJBZ01MSUNrZ01Xb2lEU2dDQkNFR0lCWW9BcEFCSVJKQkFTRUtRWDhoRUVFQUlRbEJBQ0VhUVFBaENFRUJJUWNDZjBGL0lBMG9Bc2dCSWd4RkRRQWFRWDhnRENnQ0JDQUdSdzBBR2tFQUlRZEJmeUFNS0FJQVFRVkxEUUFhSUF3b0FwZ0JJZ2hCRUhZaEdpQU1LQUpvQ3lFUkFrQWdEU2dDekFFaURFVUVRRUVBSVJVTUFRc2dCaUFNS0FJRVJ3UkFRUUFoRlF3QkMwRUFJUW9nRENnQ0FFRUZTd1JBUVFBaEZRd0JDeUFNS0FLc0FTSVZRUkIySVFrZ0RDZ0NiQ0VRQ3lBY1JRUkFRUUFoSENBSElBcHlCRUJCQUNFTURBOExJQkVnQ0VILy93TnhJQnBCRUhSeWNrVUVRRUVBSVF3TUR3dEJBQ0VNSUJBZ0ZVSC8vd054SUFsQkVIUnlja1VORGdzZ0ZpOEJvZ0VoRHlBV0x3R2dBU0VUQW44Q1FBSkFJQTBvQXRBQklneEZEUUFnRENnQ0JDQUdSdzBBSUF3b0FnQkJCVTBOQVF3TkN3SkFJQTBvQXRRQklneEZEUUFnRENnQ0JDQUdSdzBBSUF3b0FnQkJCVXNORFNBTVFjQUJhaUVjSUF4QjhBQnFEQUlMSUFjZ0NrRUJjM0lOREF3T0N5QU1RYXdCYWlFY0lBeEI3QUJxQ3lnQ0FDRUhJQndvQWdBTUN3c2dGeWdDQkNFU0lCWW9BcEFCSVExQmZ5RUlBa0FDUUFKQUlCY29Bc3dCSWdaRkJFQkJBQ0VhREFFTFFRQWhHaUFHS0FJRUlCSkdEUUVMUVFBaERFRUFJUWtNQVF0QkFTRUpJQVlvQWdCQkJVc0VRRUVBSVF3TUFRc2dCaWdDckFFaURFRVFkaUVhSUFZb0Ftd2hDQXNnRmk4Qm9nRWhFU0FXTHdHZ0FTRVBJQWdnRFVZRVFDQWFJUVlnRENFSURBa0xRUUVoRUVGL0lSVkJBQ0VHQWtBZ0Z5Z0N5QUVpQjBVRVFFRUFJUWdNQVFzZ0VpQUhLQUlFUndSQVFRQWhDQXdCQzBFQUlSQWdCeWdDQUVFRlN3UkFRUUFoQ0F3QkN5QUhLQUtZQVNJSVFSQjJJUVlnQnlnQ2FDRVZDd0ovQWtBQ1FDQVhLQUxRQVNJSFJRMEFJQWNvQWdRZ0VrY05BQ0FIS0FJQVFRVk5EUUVNQ1FzQ1FDQVhLQUxVQVNJSFJRMEFJQWNvQWdRZ0VrY05BQ0FIS0FJQVFRVkxEUWtnQjBIQUFXb2hFQ0FIUWZBQWFnd0NDeUFKSUJCeURRZ01DZ3NnQjBHc0FXb2hFQ0FIUWV3QWFnc29BZ0FoQ2lBUUtBSUFEQWNMSUJjb0FnUWhEU0FXS0FLUUFTRUpRUUVoQ2tGL0lRaEJBQ0VUQWtBZ0Z5Z0N5QUVpQmtVRVFFRUFJUXdNQVFzZ0RTQUdLQUlFUndSQVFRQWhEQXdCQzBFQUlRb2dCaWdDQUVFRlN3UkFRUUFoREF3QkN5QUdLQUtZQVNJTVFSQjJJUk1nQmlnQ2FDRUlDeUFXTHdHaUFTRVNJQll2QWFBQklSRWdDQ0FKUmcwREFuOENRQUpBSUJjb0Fzd0JJZ2RGRFFBZ0J5Z0NCQ0FOUncwQUlBY29BZ0JCQlUwTkFRd0VDd0pBSUJjb0F0UUJJZ2RGRFFBZ0J5Z0NCQ0FOUncwQUlBY29BZ0JCQlVzTkJDQUhRY0FCYWlFUVFRQWhCa0YvSVJWQkFBd0NDeUFLUlEwRkRBTUxJQWRCdkFGcUlSQWdCeWdDYkNFVklBY29BcXdCSWdaQkVIWUxJUWdnQnlnQ2NDRUtJQkFvQWdBTUFnc2dGMEhJQVdvaERTQVhRY3dCYWlFU0lCZEIwQUZxSVJFZ0YwSFVBV29oRDBFQUlTRURRRUVFSVNJZ0ZpQWhRUUowSWlScUlpVWlNeWdDc0FFaUJrRUNUUVJBSUFaQkFuUkJqQ3RxS0FJQUlTSUxJQmNnSkdvaUJ5QWxLQUxBQVRZQ1pBSkFBa0FnSlNnQ3dBRWlIRUVRU3cwQUlBQW9Bc2dKSUJ4QkFuUnFLQUlBSWdaRkRRQWdCaWdDRkVFQlN3MEJDeUFwSUNwQjJBRnNhaUFoUVFKMGFrRUFOZ0owREEwTElBY2dCaWdDQUNJR05nSjBJQVpGRFF3Q1FDQWlSUTBBSUJjZ0lVRUVkQ0l3YWlJZElUVWdKRUVEY2lGVFFRQWhHZ05BSUJZZ01Hb2dHa0VDZEdvaExFRUJJUzVCZnlFbUlBMGhDaUFPSVFaQkFDRUlRUUFoQ1VGL0lSVUNRQUpBQWtBQ1FBSkFBa0FnSVVFSGRDQXpLQUt3QVNKc1FRVjBhaUFhUVFOMGFpSVRRYkFaYWlnQ0FBNEZBd0FCQWdRRkN5QVNJUW9NQWdzZ0VTRUtEQUVMSUE4aENnc2dDaWdDQUNFR0N3SkFJQVpGRFFBZ0JpZ0NCQ0FYS0FJRVJ3MEJRUUFoTGlBR0tBSUFRUVZMRFFBZ0JpQVRRYlFaYWkwQUFDSUhRUUowYWlnQ2hBRWlDVUVRZGlFSUlBWWdCMEg4QVhGcUtBSmtJUlVMQzBFQUlRd2dEU0VISUE0aEJrRUFJUXBCQUNFUUFrQUNRQUpBQWtBQ1FBSkFJQk5Cc0IxcUtBSUFEZ1VEQUFFQ0JBVUxJQkloQnd3Q0N5QVJJUWNNQVFzZ0R5RUhDeUFIS0FJQUlRWUxJQVpGRFFBZ0JpZ0NCQ0FYS0FJRVJ3MEFRUUVoRUNBR0tBSUFRUVZMRFFBZ0JpQVRRYlFkYWkwQUFDSUhRUUowYWlnQ2hBRWlDa0VRZGlFTUlBWWdCMEg4QVhGcUtBSmtJU1lMSUN3dkFkSUJJVzBnTEM4QjBBRWhMQ0FOSVFjZ0RpRUdBa0FDZndKQUFuOENRQUpBQWtBQ1FBSkFBa0FDUUNBVFFiQWhhaWdDQUE0RkF3QUJBZ1FGQ3lBU0lRY01BZ3NnRVNFSERBRUxJQThoQndzZ0J5Z0NBQ0VHQ3lBR1JRMEFJQVlvQWdRZ0Z5Z0NCRWNOQUNBR0tBSUFRUVZORFFFTUF3c2dEU0VISUE0aEJnSkFBa0FDUUFKQUFrQUNRQ0FUUWJBbGFpZ0NBQTRGQXdBQkFnUUZDeUFTSVFjTUFnc2dFU0VIREFFTElBOGhCd3NnQnlnQ0FDRUdDeUFHUlEwQUlBWW9BZ1FnRnlnQ0JFY05BQ0FHS0FJQVFRVkxEUU1nQmlBVFFiUWxhaTBBQUNJVFFRSjBha0dFQVdvTUFnc2dFQ0F1Y2cwQ0RBUUxJQVlnRTBHMElXb3RBQUFpRTBFQ2RHcEJoQUZxQ3lFSElBWWdFMEg4QVhGcUtBSmtJUkFnQnlnQ0FBd0JDMEYvSVJCQkFBc2hCaUFjSUNaR0loTWdGU0FjUmlJSGFpQVFJQnhHYWtFQlJ3UkFJQXdnQ0NBTVFSQjBRUkIxSWd3Z0NFRVFkRUVRZFNJSFNpSUlHeUlUSUFjZ0RDQUhJQWNnREVvYklBZ2JJZ2dnQmtFUWRTSUhJQWNnQ0VnYklCTkJFSFJCRUhVZ0IwZ2JJUWdnQ2lBSklBcEJFSFJCRUhVaUNpQUpRUkIwUVJCMUlnZEtJZ2tiSWd4Qi8vOERjU0FISUFvZ0J5QUhJQXBLR3lBSkd5SUhJQVpCRUhSQkVIVWlCaUFHSUFkSUd5QU1RUkIwUVJCMUlBWklHeUVKREFFTElBa2dDaUFIR3lFSklBZ2dEQ0FIR3lFSUlBY05BQ0FURFFBZ0JrRVFkaUVJSUFZaENRc2dDU0FzYWlJR1FSQjBRUkIxUVlCQWEwSC8vd0JMRFE0Z0NDQnRhaUlIUVJCMFFSQjFRWUFRYWtIL0gwc05EZ0pBSUJjQ2Z3SkFBa0FDUUFKQUlHd09CQUFCQWdNRkN5QWRJQVk3QVlRQklCMGdCenNCaGdFZ0hTQUdPd0dJQVNBZElBYzdBWW9CSUIwZ0Jqc0JqQUVnTlNBSE93R09BU0JUREFNTElCY2dHa0VCZENBa2FpSUlRUUowYWlJSklBYzdBWVlCSUFrZ0Jqc0JoQUVnQ0VFQmNnd0NDeUFYSUJvZ0pHb2lDRUVDZEdvaUNTQUhPd0dHQVNBSklBWTdBWVFCSUFoQkFtb01BUXNnR2lBa2FndEJBblJxSWdnZ0J6c0JoZ0VnQ0NBR093R0VBUXNnR2tFQmFpSWFJQ0pHRFFFZ0pTZ0N3QUVoSEF3QUN3QUxJQ0ZCQVdvaUlVRUVSdzBBQzBFQUlRWURRQ0FmSUJjZ0JrRUNkQ0lKYWlnQ2REWUMyQU1nQmtFQlMwRURkQ0VISUFaQkEzUkJDSEVoQ0FKQUFrQUNRQUpBQWtBZ0NTQVdhaWdDc0FFT0F3QUJBZ01MSUI5QkVHb2dGeUFHUVFSMGFrR0VBV29nSDBIWUEyb2dIaUFaSUFnZ0IwRUlRUWdRREF3REN5QWZRUkJxSWdrZ0Z5QUdRUVIwYWlJS1FZUUJhaUFmUWRnRGFpSU1JQjRnR1NBSUlBZEJDRUVFRUF3Z0NTQUtRWXdCYWlBTUlCNGdHU0FJSUFkQkJISkJDRUVFRUF3TUFnc2dIMEVRYWlJSklCY2dCa0VFZEdvaUNrR0VBV29nSDBIWUEyb2lEQ0FlSUJrZ0NDQUhRUVJCQ0JBTUlBa2dDa0dJQVdvZ0RDQWVJQmtnQ0VFRWNpQUhRUVJCQ0JBTURBRUxJQjlCRUdvaUNTQVhJQVpCQkhScUlncEJoQUZxSUI5QjJBTnFJZ3dnSGlBWklBZ2dCMEVFUVFRUURDQUpJQXBCaUFGcUlBd2dIaUFaSUFoQkJISWlEU0FIUVFSQkJCQU1JQWtnQ2tHTUFXb2dEQ0FlSUJrZ0NDQUhRUVJ5SWdkQkJFRUVFQXdnQ1NBS1FaQUJhaUFNSUI0Z0dTQU5JQWRCQkVFRUVBd0xJQVpCQVdvaUJrRUVSdzBBQ3d3TUMwRi9JUXBCZnlFVlFRQWhCa0VBSVFoQkFBc2hCeUFKSUJWR0lnOGdDU0FLUm1wQkFVY0VRQ0FJSUJNZ0NFRVFkRUVRZFNJS0lCTkJFSFJCRUhVaUNFb2lEeHNpR2lBSUlBb2dDQ0FJSUFwS0d5QVBHeUlLSUFkQkVIVWlDQ0FJSUFwSUd5QWFRUkIwUVJCMUlBaElHeUVJSUFZZ0RDQUdRUkIwUVJCMUlnb2dERUVRZEVFUWRTSUdTaUlNR3lJUFFmLy9BM0VnQmlBS0lBWWdCaUFLU2hzZ0RCc2lDaUFIUVJCMFFSQjFJZ1lnQmlBS1NCc2dEMEVRZEVFUWRTQUdTQnNoQmd3Q0N5QVBEUUVnQjBFUWRpRUlJQWNoQmd3QkN5QVRJUWdnRENFR0N5QUdJQkZxSWdkQkVIUkJFSFZCZ0VCclFmLy9BRXNOQnlBSUlCSnFJZ2hCRUhSQkVIVkJnQkJxUWY4ZlN3MEhJQWxCRUVzTkJ5QUFLQUxJQ1NBSlFRSjBhaWdDQUNJR1JRMEhJQVlvQWhSQkFra05CeUFHS0FJQUloSkZEUWNnRnlBSU93R3lBU0FYSUFjN0FiQUJJQmNnRWpZQ2RDQVhJQWsyQW1RZ0Z5QVNOZ0o4SUJjZ0NUWUNiQ0FYSUJjb0FyQUJJZ1kyQXF3QklCY2dCallDcUFFZ0Z5QUdOZ0trQVNBWElBWTJBcEFCSUJjZ0JqWUNqQUVnRnlBR05nS0lBU0FYSUFZMkFvUUJJQllvQXBRQklRZ0NRQUovQW44Q1FDQVhLQUxRQVNJSFJRMEFJQWNvQWdRZ0RVY05BQ0FIS0FJQVFRVkxCRUJCQUNFY1FYOE1Bd3NnQjBHc0FXb01BUXRCQVNFVlFYOGhERUVBSVJ3Z0Z5Z0N6QUVpQjBVTkFpQUhLQUlFSUExSERRSkJBQ0VWSUFjb0FnQkJCVXNOQWlBSFFiQUJhZ3NvQWdBaEhDQUhLQUpzQ3lFTVFRQWhGUXNnRmk4QnBnRWhFU0FXTHdHa0FTRVBBa0FDUUNBSUlBeEdEUUFnQmtFUWRpRUhBbjhDUUFKQUlCY29Bc3dCSWdwRkRRQWdDaWdDQkNBTlJ3MEFJQW9vQWdCQkJVc05BU0FLS0FLOEFTSVZRUkIySVJvZ0NpZ0NjQXdDQ3lBVkRRTUxRUUFoRlVFQUlScEJmd3NoQ2lBSUlBbEdJZ2tnQ0NBS1JtcEJBVWNFUUNBYUlBY2dHa0VRZEVFUWRTSUpJQWRCRUhSQkVIVktJZ29iSWd3Z0JrRVFkU0lISUFrZ0J5QUhJQWxLR3lBS0d5SUpJQnhCRUhVaUJ5QUhJQWxJR3lBTVFSQjBRUkIxSUFkSUd5RUhJQlVnQmlBVlFSQjBRUkIxSWdrZ0JrRVFkRUVRZFNJR1NpSUtHeUlNUWYvL0EzRWdCaUFKSUFZZ0JpQUpTaHNnQ2hzaUNTQWNRUkIwUVJCMUlnWWdCaUFKU0JzZ0RFRVFkRUVRZFNBR1NCc2hCZ3dDQ3lBSkRRRWdDQ0FLUncwQUlCVkIvLzhEY1NBYVFSQjBjaUVHSUJvaEJ3d0JDeUFjUVJCMklRY2dIQ0VHQ3lBR0lBOXFJZ2xCRUhSQkVIVkJnRUJyUWYvL0FFc05CeUFISUJGcUlnZEJFSFJCRUhWQmdCQnFRZjhmU3cwSElBaEJFRXNOQnlBQUtBTElDU0FJUVFKMGFpZ0NBQ0lHUlEwSElBWW9BaFJCQWtrTkJ5QUdLQUlBSWdaRkRRY2dGeUFIT3dIQ0FTQVhJQWs3QWNBQklCY2dCallDZ0FFZ0Z5QUdOZ0o0SUJjZ0NEWUNjQ0FYSUFnMkFtZ2dGeUFYS0FMQUFTSUdOZ0s4QVNBWElBWTJBcmdCSUJjZ0JqWUN0QUVnRnlBR05nS2dBU0FYSUFZMkFwd0JJQmNnQmpZQ21BRWdGMEdVQVdvaUJ5QUdOZ0lBSUI4Z0VqWUMyQU1nSDBFUWFpSUdJQmRCaEFGcUlCOUIyQU5xSWdnZ0hpQVpRUUJCQUVFSVFSQVFEQ0FmSUJjb0FuZzJBdGdESUFZZ0J5QUlJQjRnR1VFSVFRQkJDRUVRRUF3TUNBdEJmeUVLUVFBTElRY2dEU0FWUmlJSklBb2dEVVpxUVFGSEJFQWdHaUFHSUJwQkVIUkJFSFVpQ1NBR1FSQjBRUkIxSWdaS0lnb2JJaG9nQmlBSklBWWdCaUFKU2hzZ0Noc2lDU0FIUVJCMUlnWWdCaUFKU0JzZ0drRVFkRUVRZFNBR1NCc2hCaUFNSUFnZ0RFRVFkRUVRZFNJSklBaEJFSFJCRUhVaUNFb2lDaHNpREVILy93TnhJQWdnQ1NBSUlBZ2dDVW9iSUFvYklnZ2dCMEVRZEVFUWRTSUhJQWNnQ0VnYklBeEJFSFJCRUhVZ0IwZ2JJUWdNQVFzZ0NRMEFJQWRCRUhZaEJpQUhJUWdMSUFnZ0Qyb2lCMEVRZEVFUWRVR0FRR3RCLy84QVN3MEVJQVlnRVdvaUNFRVFkRUVRZFVHQUVHcEIveDlMRFFRZ0RVRVFTdzBFSUFBb0FzZ0pJQTFCQW5ScUtBSUFJZ1pGRFFRZ0JpZ0NGRUVDU1EwRUlBWW9BZ0FpQ1VVTkJDQVhJQWc3QWFJQklCY2dCenNCb0FFZ0Z5QUpOZ0owSUJjZ0RUWUNaQ0FYSUFrMkFuZ2dGeUFOTmdKb0lCY2dGeWdDb0FFaUJqWUNuQUVnRnlBR05nS1lBU0FYSUFZMkFwUUJJQmNnQmpZQ2tBRWdGeUFHTmdLTUFTQVhJQVkyQW9nQklCY2dCallDaEFFZ0ZpZ0NsQUVoQ0NBV0x3R21BU0VSSUJZdkFhUUJJUThDZndKQUFrQUNRQ0FYS0FMSUFTSUhCRUFnRWlBSEtBSUVSZ1JBSUFjb0FnQkJCVTBFUUNBSEtBSzRBU0lLUVJCMklSTWdCeWdDY0NBSVJ3MEVJQW9oREF3REMwRi9JUlZCQUNFTVFRQWhFMEVBSVFwQkFDRUhJQWhCZjBZTkFnd0VDMEYvSVJWQkFDRU1RUUFoRTBFQUlRcEJBQ0VISUFoQmYwWU5BUXdEQzBGL0lSVkJBQ0VNUVFBaEUwRUFJUXBCQUNFSElBaEJmMGNOQWdzZ0RFSC8vd054SUJOQkVIUnlEQUlMSUFjb0FtZ2hGU0FIS0FLZ0FTRUhJQk1oREFzZ0JrRVFkaUVTSUFnZ0RVWWlEU0FJSUJWR2FrRUJSd1JBSUJJZ0RDQU1RUkIwUVJCMUlnd2dFa0VRZEVFUWRVZ2lEUnNpRWlBTUlBWkJFSFVpR2lBTUlBd2dHa29iSUEwYklnMGdCMEVRZFNJTUlBd2dEVWdiSUJKQkVIUkJFSFVnREVnYklSTWdCaUFLSUFwQkVIUkJFSFVpQ2lBR1FSQjBRUkIxSWdaSUlnd2JJZzFCLy84RGNTQUtJQVlnQ2lBR0lBcElHeUFNR3lJS0lBZEJFSFJCRUhVaUJpQUdJQXBJR3lBTlFSQjBRUkIxSUFaSUd3d0JDeUFTSUFkQkVIWWdEUnNoRXlBR0lBY2dEUnNMSUE5cUlnZEJFSFJCRUhWQmdFQnJRZi8vQUVzTkJDQVJJQk5xSWdwQkVIUkJFSFZCZ0JCcVFmOGZTdzBFSUFoQkVFc05CQ0FBS0FMSUNTQUlRUUowYWlnQ0FDSUdSUTBFSUFZb0FoUkJBa2tOQkNBR0tBSUFJZ1pGRFFRZ0Z5QUtPd0hDQVNBWElBYzdBY0FCSUJjZ0JqWUNnQUVnRnlBR05nSjhJQmNnQ0RZQ2NDQVhJQWcyQW13Z0Z5QVhLQUxBQVNJR05nSzhBU0FYSUFZMkFyZ0JJQmNnQmpZQ3RBRWdGeUFHTmdLd0FTQVhJQVkyQXF3QklCY2dCallDcUFFZ0YwR2tBV29pQnlBR05nSUFJQjhnQ1RZQzJBTWdIMEVRYWlJR0lCZEJoQUZxSUI5QjJBTnFJZ2dnSGlBWlFRQkJBRUVRUVFnUURDQWZJQmNvQW53MkF0Z0RJQVlnQnlBSUlCNGdHVUVBUVFoQkVFRUlFQXdNQlF0QmZ5RUhRUUFMSVFZZ0VDQVNSaUlNSUJFZ0VrWWlDbW9nQnlBU1JtcEJBVWNFUUNBSklCb2dDVUVRZEVFUWRTSUpJQnBCRUhSQkVIVWlCMG9pQ2hzaURDQUhJQWtnQnlBSElBbEtHeUFLR3lJSklBWkJFSFVpQnlBSElBbElHeUFNUVJCMFFSQjFJQWRJR3lFYUlCVWdDQ0FWUVJCMFFSQjFJZ2tnQ0VFUWRFRVFkU0lIU2lJSUd5SUtRZi8vQTNFZ0J5QUpJQWNnQnlBSlNoc2dDQnNpQnlBR1FSQjBRUkIxSWdZZ0JpQUhTQnNnQ2tFUWRFRVFkU0FHU0JzaENBd0JDeUFJSUJVZ0Noc2hDQ0FhSUFrZ0Noc2hHaUFLRFFBZ0RBMEFJQVpCRUhZaEdpQUdJUWdMSUFnZ0Uyb2lIRUVRZEVFUWRVR0FRR3RCLy84QVN3MEJJQThnR21vaURFRVFkRUVRZFVHQUVHcEIveDlMRFFFTElCSkJFRXNOQUNBQUtBTElDU0FTUVFKMGFpZ0NBQ0lHUlEwQUlBWW9BaFJCQWtrTkFDQUdLQUlBSWdkRkRRQWdEU0FNT3dIQ0FTQU5JQnc3QWNBQklBMGdCellDZENBTklCSTJBbVFnRFNBSE5nS0FBU0FOSUFjMkFud2dEU0FITmdKNElBMGdFallDY0NBTklCSTJBbXdnRFNBU05nSm9JQTBnRFNnQ3dBRWlCallDdkFFZ0RTQUdOZ0s0QVNBTklBWTJBclFCSUEwZ0JqWUNzQUVnRFNBR05nS3NBU0FOSUFZMkFxZ0JJQTBnQmpZQ3BBRWdEU0FHTmdLZ0FTQU5JQVkyQXB3QklBMGdCallDbUFFZ0RTQUdOZ0tVQVNBTklBWTJBcEFCSUEwZ0JqWUNqQUVnRFNBR05nS0lBU0FOSUFZMkFvUUJJQjhnQnpZQzJBTWdIMEVRYWlBTlFZUUJhaUFmUWRnRGFpQWVJQmxCQUVFQVFSQkJFQkFNREFFTFFRRWhCZ3dEQ3lBT0tBTEVBVUVCU3cwQUlBNG9BZ0FFUUNBcktBSUFJZ3dnS2lBcUlDc29BZ1FpQ1hBaUJtc2lCMEVJZEdvZ0JrRUVkR29oRGlBSlFRUjBJUW9nQ1VFQ2RFSDgvLy8vQTNFaERTQUdRUU4wSVJJZ0t5Z0NDQ0FKYkNJUlFRaDBJUThnQjBFR2RDRVRRUUFoR2dOQUlBNGdHa0VDZENJR1FmQXBhaWdDQUNJSElBcHNhaUFHUWJBcGFpZ0NBQ0lHYWlFSUlCOUJFR29nQjBFRWRHb2dCbW9oQmdKQUlCWWdHa0VHZEdvaUJ5Z0N5QUlpSEVILy8vOEhSd1JBSUFjb0Fzd0NJUmNnQmkwQUFTRVZJQWdnSENBR0xRQUFha0hBTldvdEFBQTZBQUFnQnlnQzBBSWhIQ0FHTFFBQ0lSQWdDQ0FWSUJkcVFjQTFhaTBBQURvQUFTQUhLQUxVQWlFWElBWXRBQU1oRlNBSUlCQWdIR3BCd0RWcUxRQUFPZ0FDSUFnZ0ZTQVhha0hBTldvdEFBQTZBQU1nQnlnQzNBSWhIQ0FHTFFBUklSY2dDQ0FLYWlJSUlBY29BdGdDSUFZdEFCQnFRY0ExYWkwQUFEb0FBQ0FIS0FMZ0FpRVZJQVl0QUJJaEVDQUlJQmNnSEdwQndEVnFMUUFBT2dBQklBY29BdVFDSVJ3Z0JpMEFFeUVYSUFnZ0VDQVZha0hBTldvdEFBQTZBQUlnQ0NBWElCeHFRY0ExYWkwQUFEb0FBeUFIS0FMc0FpRWNJQVl0QUNFaEZ5QUlJQXBxSWdnZ0J5Z0M2QUlnQmkwQUlHcEJ3RFZxTFFBQU9nQUFJQWNvQXZBQ0lSVWdCaTBBSWlFUUlBZ2dGeUFjYWtIQU5Xb3RBQUE2QUFFZ0J5Z0M5QUloSENBR0xRQWpJUmNnQ0NBUUlCVnFRY0ExYWkwQUFEb0FBaUFJSUJjZ0hHcEJ3RFZxTFFBQU9nQURJQWNvQXZ3Q0lSd2dCaTBBTVNFWElBZ2dDbW9pQ0NBSEtBTDRBaUFHTFFBd2FrSEFOV290QUFBNkFBQWdCeWdDZ0FNaEZTQUdMUUF5SVJBZ0NDQVhJQnhxUWNBMWFpMEFBRG9BQVNBSEtBS0VBeUVISUFZdEFETWhCaUFJSUJBZ0ZXcEJ3RFZxTFFBQU9nQUNJQWdnQmlBSGFrSEFOV290QUFBNkFBTU1BUXNnQmlnQ0VDRWNJQWdnQmlnQ0FEWUNBQ0FJSUExQkFuUWlCMm9pQ0NBY05nSUFJQVlvQWpBaEhDQUhJQWhxSWdnZ0JpZ0NJRFlDQUNBSElBaHFJQncyQWdBTElCcEJBV29pR2tFUVJ3MEFDeUFSUVFaMElRNGdDVUVEZEVINC8vLy9CM0VpQ2tFQ2RpRU5JQXdnRDJvZ0Uyb2dFbW9oREVFUUlRZ0RRQ0FNSUE1QkFDQUlRUk5MSWdZYmFpQUlRUUowUVF4eElnZEI4Q2xxS0FJQUloSWdDbXdnQjBHd0tXb29BZ0FpQjJwcUlRa2dIMEVRYWtIQUFrR0FBaUFHRzJvZ0VrRURkQ0FIYW1vaEJnSkFJQllnQ0VFR2RHb2lCeWdDeUFJaUVrSC8vLzhIUndSQUlBY29Bc3dDSVJFZ0JpMEFBU0VQSUFrZ0VpQUdMUUFBYWtIQU5Xb3RBQUE2QUFBZ0J5Z0MwQUloRWlBR0xRQUNJUm9nQ1NBUElCRnFRY0ExYWkwQUFEb0FBU0FIS0FMVUFpRVJJQVl0QUFNaER5QUpJQklnR21wQndEVnFMUUFBT2dBQ0lBa2dEeUFSYWtIQU5Xb3RBQUE2QUFNZ0J5Z0MzQUloRWlBR0xRQUpJUkVnQ1NBS2FpSUpJQWNvQXRnQ0lBWXRBQWhxUWNBMWFpMEFBRG9BQUNBSEtBTGdBaUVQSUFZdEFBb2hHaUFKSUJFZ0VtcEJ3RFZxTFFBQU9nQUJJQWNvQXVRQ0lSSWdCaTBBQ3lFUklBa2dEeUFhYWtIQU5Xb3RBQUE2QUFJZ0NTQVJJQkpxUWNBMWFpMEFBRG9BQXlBSEtBTHNBaUVTSUFZdEFCRWhFU0FKSUFwcUlna2dCeWdDNkFJZ0JpMEFFR3BCd0RWcUxRQUFPZ0FBSUFjb0F2QUNJUThnQmkwQUVpRWFJQWtnRVNBU2FrSEFOV290QUFBNkFBRWdCeWdDOUFJaEVpQUdMUUFUSVJFZ0NTQVBJQnBxUWNBMWFpMEFBRG9BQWlBSklCRWdFbXBCd0RWcUxRQUFPZ0FESUFjb0F2d0NJUklnQmkwQUdTRVJJQWtnQ21vaUNTQUhLQUw0QWlBR0xRQVlha0hBTldvdEFBQTZBQUFnQnlnQ2dBTWhEeUFHTFFBYUlSb2dDU0FSSUJKcVFjQTFhaTBBQURvQUFTQUhLQUtFQXlFSElBWXRBQnNoQmlBSklBOGdHbXBCd0RWcUxRQUFPZ0FDSUFrZ0JpQUhha0hBTldvdEFBQTZBQU1NQVFzZ0JpZ0NDQ0VTSUFrZ0JpZ0NBRFlDQUNBSklBMUJBblFpQjJvaUNTQVNOZ0lBSUFZb0FoZ2hFaUFISUFscUlna2dCaWdDRURZQ0FDQUhJQWxxSUJJMkFnQUxJQWhCQVdvaUNFRVlSdzBBQ3d3QkN5QXJJQjlCRUdvUUR3c2dBQ2dDdkFraURpQXhhaWdDeEFGQkFVWWhDZ0ovUVFBZ0lDZ0NERUVEZENBZ0tBSVFheUlIUlEwQUdrRUJJQWRCQ0VzTkFCb2dJQ2dDQkNJR0xRQUFJQ0FvQWdnaUNVRVlhaUlhZENFSUlBY2dDV3BCQ0dzaUNVRUJUZ1JBQTBBZ0JpMEFBU0FhUVFocklocDBJQWh5SVFnZ0NVRUlTaUVNSUFaQkFXb2hCaUFKUVFocklRa2dEQTBBQ3d0QkFTQUhRUUZyZENBSVFTQWdCMnQyUndzZ0h5Z0NESEloQmdKQUFrQWdMeWdDQkVFQ2F3NEdBQUVCQVFFQUFRc2dBQ0FxTmdLd0NRc2dDaUEwYWlFMElBWkJBRWNoQ0NBQUtBS1lDU0lISUNwQkFXb2lCaUFHSUFkSkd5RUdJQUFvQXBRSklna2dLa0VDZEdvb0FnQWhDZ05BQWtBZ0J5QXFRUUZxSWlwTkJFQWdCaUVxREFFTElBa2dLa0VDZEdvb0FnQWdDa2NOQVFzTFFRRWhCa0VBSUFoQkFDQXFJQWNnS2tZYklpb2JEUUVnQ0EwQUN5QUhJQUJCckFscUtBSUFJRFJxSWdoSkRRQWdBQ0FJTmdLc0NVRUFJUVlMSUI5QjhBTnFKQUFnQmdzRVFDQUFLQUtvQ1NFSklBQW9BdGdLSVFZQ1FDQUFLQUt3Q1NJSFJRMEFJQVlnQjBFQmF5SUtUd1JBSUFvaEJnd0JDeUFBS0FLOENTRUhRUUFoRFFOQUFrQWdCeUFLUWRnQmJHb29BZ1FnQ1VjTkFDQU5RUUZxSWcwZ0FDZ0NFQ2dDTkNJSVFRb2dDRUVLU3h0SkRRQWdDaUVHREFJTElBcEJBV3NpQ2lBR1N3MEFDd3NnQUNnQ3ZBa2hEQU5BUVFBaENpQUpJQXdnQmtIWUFXeHFJZ2NvQWdSSEJFQkJBeUVNREJNTElBY29Bc1FCSWdoRkJFQkJBeUVNREJNTElBY2dDRUVCYXpZQ3hBRWdBQ2dDbUFraUNDQUdRUUZxSWdjZ0J5QUlTUnNoQnlBQUtBS1VDU0lPSUFaQkFuUnFLQUlBSVEwRFFBSkFJQWdnQmtFQmFpSUdUUVJBSUFjaEJnd0JDeUFPSUFaQkFuUnFLQUlBSUExSERRRUxDMEVBSUFZZ0JpQUlSaHNpQmcwQUMwRURJUXdNRVFzZ0FDZ0MvQW9FUUVFQUlRcEJBQ0VOQWtBZ0FDZ0NtQWtpR0VVTkFDQVlRUU54SVF3Z0FDZ0N2QWtoQjBFQUlRa2dHRUVCYTBFRFR3UkFRUUFoQmlBWVFYeHhJZ2toRWdOQUlBMGdCeUFHUWRnQmJHb29Bc1FCUVFCSGFpQUhJQVpCQVhKQjJBRnNhaWdDeEFGQkFFZHFJQWNnQmtFQ2NrSFlBV3hxS0FMRUFVRUFSMm9nQnlBR1FRTnlRZGdCYkdvb0FzUUJRUUJIYWlFTklBWkJCR29oQmlBU1FRUnJJaElOQUFzTElBeEZEUUFEUUNBTklBY2dDVUhZQVd4cUtBTEVBVUVBUjJvaERTQUpRUUZxSVFrZ0RFRUJheUlNRFFBTEMwRUJJUVlnRFNBWVJnMFBRUUFoREF3UkMwRUFJUXBCQVNFR0lBQW9BcXdKSUFBb0FwZ0pSZzBPUVFBaERBd1FDeUFIS0FJUUlRWUxJQVpCQVVjTkFDQUhLQUlZRFFBZ0MwRUFOZ0xzQVNBTFFkQUJhaUFMUWV3QmFoQUNJUVlDUUFKQUlBc29BdXdCUVg5R0JFQWdCa1VOQVF3Q0N5QUdSUTBCQzBFQklRWU1BZ3NnQ0NnQ0NFVU5BQ0FMUVFBMkF1d0JJQXRCMEFGcUlBdEI3QUZxRUFJaEJnSkFJQXNvQXV3QlFYOUdCRUFnQmcwQ0RBRUxJQVpGRFFFTFFRRWhCZ3dCQ3lBSUtBSkVCRUJCQVNFR0lBdEIwQUZxSUF0QnpBRnFFQUlOQVFzZ0N5Z0MxQUVoQmdKQUlBc29BdHdCUVFOMElnd2dDeWdDNEFFaURtc2lDRUVnVGdSQUlBWW9BQUFpQ0VFWWRDQUlRUWgwUVlDQS9BZHhjaUFJUVFoMlFZRCtBM0VnQ0VFWWRuSnlJUWtnQ3lnQzJBRWlDRVVOQVNBSklBaDBJQVl0QUFSQkNDQUlhM1p5SVFrTUFRc2dDRUVCU0FSQVFRQWhDUXdCQ3lBR0xRQUFJQXNvQXRnQklnMUJHR29pTW5RaENTQUlJQTFxUVFocklnMUJBVWdOQUFOQUlBWXRBQUVnTWtFSWF5SXlkQ0FKY2lFSklBMUJDRW9oQ0NBR1FRRnFJUVlnRFVFSWF5RU5JQWdOQUFzTElBc2dEa0VCYWlJSU5nTGdBVUYvSVFZZ0NDQU1UUVJBSUFzZ0N5Z0MwQUVnQ0VFRGRtbzJBdFFCSUFsQkgzWWhCZ3NnQmtGL1JpRU5DeUFHSUExeURRQWdBQ2dDL0FrTkFDQUtSUTBBSUFvb0FqUWdCeWdDTkVjTkFDQUtLQUk0SUFjb0FqaEhEUUFnQ2lnQ1dDQUhLQUpZUmcwQkN5QUFRUUEyQW9BS0RBRUxJQUFvQXNRSklnbEZEUUFnQUVFQk5nS0FDaUFBS0FMZ0NTRU1BMEJCQUNFR1FmLy8vLzhISVFkQkFDRUtBMEFnQ1NBS1FTaHNhaUlJS0FJWUJFQWdDQ0FHSUFnb0FoQWlDQ0FIU0NJT0d5RUdJQWdnQnlBT0d5RUhDeUFLUVFGcUlnb2dERTBOQUNBR1JRMENJQUFvQXRBSklBQW9BdFFKSWdoQkJIUnFJZ2NnQmlnQ0FEWUNBQ0FISUFZb0FpUTJBZ3dnQnlBR0tBSWNOZ0lFSUFjZ0JpZ0NJRFlDQ0NBQUlBaEJBV28yQXRRSlFRQWhDaUFHUVFBMkFoZ2dCaWdDRkNFSVFRQWhCa0gvLy8vL0J5RUhJQWdOQUFzZ0FDQUFLQUx3Q1VFQmF6WUM4QWtNQUFzQUN5QUFJQUFvQWdnMkFnQkJBaUVNUVFBaE1rRUFJUW9NQ1FzZ0FFS0Fnb0NBZ0FRM0FnUkJBQ0VLSUFCQkFEWUN0Qm9nQUVJQU53SU1EQWdMSUF0QkNHb2dDMEhzQVdvUUFnMEFJQXNvQXV3QklnWkJIMHNOQUNBTElBWkJBV28yQWxBZ0MwRUlhaUFMUWV3QmFoQUNEUUFnQ3lnQzdBRkJIMHNOQUNBTEtBSU1JUVlDUUNBTEtBSVVRUU4wSWd3Z0N5Z0NHQ0lPYXlJSVFTQk9CRUFnQmlnQUFDSUhRUmgwSUFkQkNIUkJnSUQ4QjNGeUlBZEJDSFpCZ1A0RGNTQUhRUmgyY25JaEJ5QUxLQUlRSWdoRkRRRWdCeUFJZENBR0xRQUVRUWdnQ0d0MmNpRUhEQUVMSUFoQkFVZ0VRRUVBSVFjTUFRc2dCaTBBQUNBTEtBSVFJZ2xCR0dvaURYUWhCeUFJSUFscVFRaHJJZ3BCQVVnTkFBTkFJQVl0QUFFZ0RVRUlheUlOZENBSGNpRUhJQXBCQ0VvaENDQUdRUUZxSVFZZ0NrRUlheUVLSUFnTkFBc0xJQXNnRGtFQmFpSUpOZ0lZSUFzZ0NVRUhjU0lJTmdJUUlBa2dERXNOQUNBTElBc29BZ2dpRWlBSlFRTjJhaUlHTmdJTUlBZEJBRWdOQUFKQUlBd2dDV3NpQ1VFZ1RnUkFJQVlvQUFBaUIwRVlkQ0FIUVFoMFFZQ0EvQWR4Y2lBSFFRaDJRWUQrQTNFZ0IwRVlkbkp5SVFjZ0NFVU5BU0FISUFoMElBWXRBQVJCQ0NBSWEzWnlJUWNNQVFzZ0NVRUJTQVJBUVFBaEJ3d0JDeUFHTFFBQUlBaEJHSElpRFhRaEJ5QUlJQWxxUVFocklncEJBVWdOQUFOQUlBWXRBQUVnRFVFSWF5SU5kQ0FIY2lFSElBcEJDRW9oQ0NBR1FRRnFJUVlnQ2tFSWF5RUtJQWdOQUFzTElBc2dEa0VEYWlJR05nSVlJQXNnQmtFSGNUWUNFQ0FHSUF4TERRQWdDeUFTSUFaQkEzWnFOZ0lNSUFkQi8vLy8vM3RMRFFBZ0MwRUFOZ0xRQVNBTFFRaHFJQXRCMEFGcUVBSWhCeUFMS0FMUUFTSUdRWDlHRFFBZ0J3MEFJQVpCQVdwQkFYWWlCMEVBSUFkcklBWkJBWEViUVJwcUlnWkJNMHNOQUNBTElBWTJBbFFnQzBFQU5nTFFBU0FMUVFocUlBdEIwQUZxRUFJaEJ5QUxLQUxRQVNJR1FYOUdEUUFnQncwQUlBWkJBV3BCQVhZaUIwRUFJQWRySUFaQkFYRWJRUnBxUVROTERRQWdDMEVBTmdMUUFTQUxRUWhxSUF0QjBBRnFFQUloQnlBTEtBTFFBU0lHUVg5R0RRQWdCdzBBSUFaQkFXcEJBWFlpQjBFQUlBZHJJQVpCQVhFYklnWkJER3BCR0VzTkFDQUxJQVkyQWxnZ0N5Z0NEQ0VHQWtBZ0N5Z0NGRUVEZENJSUlBc29BaGdpREdzaUNVRWdUZ1JBSUFZb0FBQWlCMEVZZENBSFFRaDBRWUNBL0FkeGNpQUhRUWgyUVlEK0EzRWdCMEVZZG5KeUlRY2dDeWdDRUNJSlJRMEJJQWNnQ1hRZ0JpMEFCRUVJSUFscmRuSWhCd3dCQ3lBSlFRRklCRUJCQUNFSERBRUxJQVl0QUFBZ0N5Z0NFQ0lLUVJocUlnMTBJUWNnQ1NBS2FrRUlheUlLUVFGSURRQURRQ0FHTFFBQklBMUJDR3NpRFhRZ0IzSWhCeUFLUVFoS0lRa2dCa0VCYWlFR0lBcEJDR3NoQ2lBSkRRQUxDeUFMSUF4QkFXb2lDallDR0NBTElBcEJCM0VpQ1RZQ0VDQUlJQXBKRFFBZ0N5QUhRUjkyTmdKY0lBc2dDeWdDQ0NJT0lBcEJBM1pxSWdZMkFnd0NRQ0FJSUFwcklncEJJRTRFUUNBR0tBQUFJZ2RCR0hRZ0IwRUlkRUdBZ1B3SGNYSWdCMEVJZGtHQS9nTnhJQWRCR0haeWNpRUhJQWxGRFFFZ0J5QUpkQ0FHTFFBRVFRZ2dDV3QyY2lFSERBRUxJQXBCQVVnRVFFRUFJUWNNQVFzZ0JpMEFBQ0FKUVJoeUlnMTBJUWNnQ1NBS2FrRUlheUlLUVFGSURRQURRQ0FHTFFBQklBMUJDR3NpRFhRZ0IzSWhCeUFLUVFoS0lRa2dCa0VCYWlFR0lBcEJDR3NoQ2lBSkRRQUxDeUFMSUF4QkFtb2lDallDR0NBTElBcEJCM0VpQ1RZQ0VDQUlJQXBKRFFBZ0N5QUhRUjkyTmdKZ0lBc2dEaUFLUVFOMmFpSUdOZ0lNQWtBZ0NDQUtheUlLUVNCT0JFQWdCaWdBQUNJSFFSaDBJQWRCQ0hSQmdJRDhCM0Z5SUFkQkNIWkJnUDREY1NBSFFSaDJjbkloQnlBSlJRMEJJQWNnQ1hRZ0JpMEFCRUVJSUFscmRuSWhCd3dCQ3lBS1FRRklCRUJCQUNFSERBRUxJQVl0QUFBZ0NVRVljaUlOZENFSElBa2dDbXBCQ0dzaUNrRUJTQTBBQTBBZ0JpMEFBU0FOUVFocklnMTBJQWR5SVFjZ0NrRUlTaUVKSUFaQkFXb2hCaUFLUVFocklRb2dDUTBBQ3dzZ0N5QU1RUU5xSWdZMkFoZ2dDeUFHUVFkeElnazJBaEFnQmlBSVN3MEFJQXNnQjBFZmRqWUNaQ0FMSUE0Z0JrRURkbW8yQWd3Q1FDQUlJQVpySWdaQkFXdEJIa3NOQUNBR0lBbHFRUWhySWdaQkFVZ05BQU5BSUFaQkNFb2hCeUFHUVFocklRWWdCdzBBQ3dzZ0N5QU1JQWxyUVF0cUlnWTJBaGdnQ3lBR1FRZHhOZ0lRSUFZZ0NFMEVRQ0FMSUE0Z0JrRURkbW8yQWd3TElBQWdDeWdDSUNJSFFRSjBhaUlHS0FLVUFTSUlEUUVnQmtISUFCQUlJZ28yQXBRQklBcEZEUU1NQWdzZ0N5Z0NOQkFFUVFBaENpQUxRUUEyQWpRZ0N5Z0NPQkFFSUF0QkFEWUNPQ0FMS0FJOEVBUWdDMEVBTmdJOElBc29Ba3dRQkVFRElRd01CZ3NDUUNBSElBQW9BZ1JIRFFBZ0N5Z0NKQ0FBS0FJSVJnMEFJQUJCZ1FJMkFnUUxJQWdvQWhRUUJDQUdLQUtVQVVFQU5nSVVJQVlvQXBRQktBSVlFQVFnQmlnQ2xBRkJBRFlDR0NBR0tBS1VBU2dDSEJBRUlBWW9BcFFCUVFBMkFod2dCaWdDbEFFb0Fpd1FCQ0FHS0FLVUFVRUFOZ0lzSUFZb0FwUUJJUW9MSUFvZ0MwRWdha0hJQUJBSEdndEJBQ0VLUVFBaERBd0RDeUFMS0FLUUFSQUVRUUFoQ2lBTFFRQTJBcEFCSUFzb0Fyd0JFQVJCQXlFTURBSUxJQUFnQmpZQ25Ba2dBQ2dDdkFraERrRUFJU0pCQUNFNUl3QkJzQUZySWcwa0FDQXJLQUlJSWhFRVFDQXJLQUlFSWg5QkJuUWhTeUFmUVRCc0lVd2dIMEVGZENFZ0lCOUJVR3doTENBUklCOXNJZ1pCQm5RaFRTQUdRUWgwSVU1QkFDQWZRUU4wSWhwckloZEJBWFFoS2tFQUlCOUJCSFFpTm1zaUkwRUNkQ0ZQSUNOQkFYUWhMZ05BQWtBZ0RpZ0NDQ0lHUVFGR0RRQUNRQUpBQWtBQ1FDQU9LQUxJQVNJVVJRUkFRUUVoQnd3QkMwRUZJUWNnQmtFQ1J3MEFRUVZCQVNBT0tBSUVJaElnRkNnQ0JFWWJJUWNnRGlnQ3pBRWlDQTBCUVFBaENBd0RDeUFPS0FMTUFTSUlSUVJBUVFBaENBd0RDeUFHUVFKSERRRWdEaWdDQkNFU0N5QVNJQWdvQWdSSERRRUxJQWRCQW5JaEJ3c0Nmd0pBQW44Z0IwRUNjU0kvQkVBQ1FDQU9LQUlBUVFWTkJFQWdDQ2dDQUVFR1NRMEJDeUFOUVFRMkFrQWdEVUVFTmdKSUlBMUJCRFlDT0NBTlFRUTJBakFNQXd0QkFpRU1RUUloRWdKQUlBNHZBUndOQUNBSUx3RXdEUUJCQVNFU0lBNG9BblFnQ0NnQ2ZFY05BQ0FPTGdHRUFTQUlMZ0dzQVdzaUJpQUdRUjkxSWdacUlBWnpRUU5MRFFBZ0RpNEJoZ0VnQ0M0QnJnRnJJZ1lnQmtFZmRTSUdhaUFHYzBFRFN5RVNDeUFOSUJJMkFqQUNRQ0FPTHdFZURRQWdDQzhCTWcwQVFRRWhEQ0FPS0FKMElBZ29BbnhIRFFBZ0RpNEJpQUVnQ0M0QnNBRnJJZ1lnQmtFZmRTSUdhaUFHYzBFRFN3MEFJQTR1QVlvQklBZ3VBYklCYXlJR0lBWkJIM1VpQm1vZ0JuTkJBMHNoREFzZ0RTQU1OZ0k0UVFJaEUwRUNJUndDUUNBT0x3RWtEUUFnQ0M4Qk9BMEFRUUVoSENBT0tBSjRJQWdvQW9BQlJ3MEFJQTR1QVpRQklBZ3VBYndCYXlJR0lBWkJIM1VpQm1vZ0JuTkJBMHNOQUNBT0xnR1dBU0FJTGdHK0FXc2lCaUFHUVI5MUlnWnFJQVp6UVFOTElSd0xJQTBnSERZQ1FBSkFJQTR2QVNZTkFDQUlMd0U2RFFCQkFTRVRJQTRvQW5nZ0NDZ0NnQUZIRFFBZ0RpNEJtQUVnQ0M0QndBRnJJZ1lnQmtFZmRTSUdhaUFHYzBFRFN3MEFJQTR1QVpvQklBZ3VBY0lCYXlJR0lBWkJIM1VpQm1vZ0JuTkJBMHNoRXdzZ0RTQVROZ0pJSUF3Z0VuSU5BaUFUSUJ4eURRSkJBQXdCQ3lBTlFRQTJBa0FnRFVFQU5nSklJQTFCQURZQ09DQU5RUUEyQWpCQkFBc2hFa0VCREFFTFFRRWhFa0VBQ3lFSkFrQUNRQUpBSUFkQkJIRWlRQVJBQWtBZ0RpZ0NBQ0lIUVFWTkJFQWdGQ2dDQUVFR1NRMEJDeUFOUVFRMkFuUWdEVUVFTmdLVUFTQU5RUVEyQWxRZ0RVRUVOZ0kwUVFFaEVnd0NDMEVDSVFaQkFpRWNBa0FnRGk4QkhBMEFJQlF2QVNZTkFFRUJJUndnRGlnQ2RDQVVLQUo0UncwQUlBNHVBWVFCSUJRdUFaZ0JheUlLSUFwQkgzVWlDbW9nQ25OQkEwc05BQ0FPTGdHR0FTQVVMZ0dhQVdzaUNpQUtRUjkxSWdwcUlBcHpRUU5MSVJ3TElBMGdIRFlDTkFKQUlBNHZBU0FOQUNBVUx3RXFEUUJCQVNFR0lBNG9BblFnRkNnQ2VFY05BQ0FPTGdHTUFTQVVMZ0dnQVdzaUNpQUtRUjkxSWdwcUlBcHpRUU5MRFFBZ0RpNEJqZ0VnRkM0Qm9nRnJJZ1lnQmtFZmRTSUdhaUFHYzBFRFN5RUdDeUFOSUFZMkFsUkJBaUVQUVFJaEV3SkFJQTR2QVN3TkFDQVVMd0UyRFFCQkFTRVRJQTRvQW53Z0ZDZ0NnQUZIRFFBZ0RpNEJwQUVnRkM0QnVBRnJJZ29nQ2tFZmRTSUthaUFLYzBFRFN3MEFJQTR1QWFZQklCUXVBYm9CYXlJS0lBcEJIM1VpQ21vZ0NuTkJBMHNoRXdzZ0RTQVROZ0owQWtBZ0RpOEJNQTBBSUJRdkFUb05BRUVCSVE4Z0RpZ0NmQ0FVS0FLQUFVY05BQ0FPTGdHc0FTQVVMZ0hBQVdzaUNpQUtRUjkxSWdwcUlBcHpRUU5MRFFBZ0RpNEJyZ0VnRkM0QndnRnJJZ29nQ2tFZmRTSUthaUFLYzBFRFN5RVBDeUFOSUE4MkFwUUJRUUVoRWlBSlJRMENJQVlnSEhJTkFpQVBJQk55RFFKQkFDRVNEQUlMSUExQkFEWUNkQ0FOUVFBMkFwUUJJQTFCQURZQ1ZDQU5RUUEyQWpRZ0RpZ0NBQ0VIQ3lBSFFRWkpEUUFnRFVFRE5nS2dBU0FOUW9PQWdJQXdOd0trQVNBTlFRTTJBcEFCSUExQkF6WUNjQ0FOUVFNMkFxd0JJQTFDZzRDQWdEQTNBNWdCSUExQ2c0Q0FnREEzQTRnQklBMUNnNENBZ0RBM0E0QUJJQTFDZzRDQWdEQTNBM2dnRFVLRGdJQ0FNRGNEYUNBTlFvT0FnSUF3TndOZ0lBMUNnNENBZ0RBM0ExZ2dEVUtEZ0lDQU1EY0NUQ0FOUVFNMkFrUWdEVUVETmdJOERBRUxBa0FnQjBFQlRRUkFJQTBDZndKQUlBNHZBU0FpTkEwQUlBNHZBUndOQUVFQURBRUxRUUlMSWdjMkFsQWdEUUovQWtBZ0RpOEJJaUlsRFFBZ0RpOEJIZzBBUVFBTUFRdEJBZ3NpRERZQ1dDQU5BbjhDUUNBT0x3RW9JZ2tOQUNBT0x3RWtEUUJCQUF3QkMwRUNDeUljTmdKZ0lBMENmd0pBSUE0dkFTb2lKZzBBSUE0dkFTWU5BRUVBREFFTFFRSUxJaE0yQW1oQkFpRVBJQTFCQWlBMFFRQkhRUUYwSUE0dkFTd2lNUnNpRmpZQ2NDQU5RUUlnSlVFQVIwRUJkQ0FPTHdFdUloMGJJaGsyQW5nZ0RVRUNJQWxCQUVkQkFYUWdEaThCTkNJVkd5SWVOZ0tBQVNBTlFRSWdKa0VBUjBFQmRDQU9Md0UySWk4YklpUTJBb2dCSUEwZ0RpOEJNQ0l6SURGeVFRQkhRUUYwSWdvMkFwQUJJQTBnRGk4Qk1pSWhJQjF5UVFCSFFRRjBJaTAyQXBnQklBMGdEaThCT0NJb0lCVnlRUUJIUVFGMEloczJBcUFCSUEwZ0RpOEJPaUlRSUM5eVFRQkhRUUYwSWlrMkFxZ0JRUUloQmlBT0x3RWVSUVJBUVFBaER5QU9Md0VjUVFCSFFRRjBJUVlMSUEwZ0JqWUNQQ0FOUVFJZ0R5QU9Md0VrSWpBYklnODJBa1FnRGk4QkppRTFJQTBnRUNBb2NrRUFSMEVCZENJUU5nS3NBU0FOSUNFZ0tISkJBRWRCQVhRaUtEWUNwQUVnRFNBaElETnlRUUJIUVFGMElpRTJBcHdCSUEwZ0ZTQXZja0VBUjBFQmRDSXZOZ0tNQVNBTklCVWdIWEpCQUVkQkFYUWlGVFlDaEFFZ0RTQWRJREZ5UVFCSFFRRjBJakUyQW53Z0RTQUpJQ1p5UVFCSFFRRjBJaDAyQW13Z0RTQUpJQ1Z5UVFCSFFRRjBJZ2syQW1RZ0RTQWxJRFJ5UVFCSFFRRjBJaVUyQWx3Z0RTQXdJRFZ5UVFCSFFRRjBJalEyQWt3TUFRc0Nmd0pBSUEwQ2Z3SkFBa0FDUUFKQUFrQWdCMEVDYXc0Q0FBRUNDeUFOQW44Q1FDQU9Md0VnSWlVTkFDQU9Md0VjRFFCQkFBd0JDMEVDQ3lJSE5nSlFJQTBDZndKQUlBNHZBU0lpRlEwQUlBNHZBUjROQUVFQURBRUxRUUlMSWd3MkFsZ2dEUUovQWtBZ0RpOEJLQ0lKRFFBZ0RpOEJKQTBBUVFBTUFRdEJBZ3NpSERZQ1lDQU5BbjhDUUNBT0x3RXFJaDBOQUNBT0x3RW1EUUJCQUF3QkMwRUNDeUlUTmdKb0lBMENmd0pBSUE0dkFUQWlMdzBBSUE0dkFTd05BRUVBREFFTFFRSUxJZ28yQXBBQklBMENmd0pBSUE0dkFUSWlJUTBBSUE0dkFTNE5BRUVBREFFTFFRSUxJaTAyQXBnQklBMENmd0pBSUE0dkFUZ2lLQTBBSUE0dkFUUU5BRUVBREFFTFFRSUxJaHMyQXFBQklBMENmd0pBSUE0dkFUb2lKZzBBSUE0dkFUWU5BRUVBREFFTFFRSUxJaWsyQXFnQlFRSWhHVUVDSVJZQ1FDQWxJQTR2QVN3aU0zSU5BRUVCSVJZZ0RpNEJwQUVnRGk0QmpBRnJJZ1lnQmtFZmRTSUdhaUFHYzBFRFN3MEFJQTR1QWFZQklBNHVBWTRCYXlJR0lBWkJIM1VpQm1vZ0JuTkJBMHNOQUNBT0tBSjhJQTRvQW5SSElSWUxJQTBnRmpZQ2NBSkFJQlVnRGk4QkxpSTBjZzBBUVFFaEdTQU9MZ0dvQVNBT0xnR1FBV3NpQmlBR1FSOTFJZ1pxSUFaelFRTkxEUUFnRGk0QnFnRWdEaTRCa2dGcklnWWdCa0VmZFNJR2FpQUdjMEVEU3cwQUlBNG9BbndnRGlnQ2RFY2hHUXNnRFNBWk5nSjRRUUloSkVFQ0lSNENRQ0FKSUE0dkFUUWlNWElOQUVFQklSNGdEaTRCdEFFZ0RpNEJuQUZySWdZZ0JrRWZkU0lHYWlBR2MwRURTdzBBSUE0dUFiWUJJQTR1QVo0QmF5SUdJQVpCSDNVaUJtb2dCbk5CQTBzTkFDQU9LQUtBQVNBT0tBSjRSeUVlQ3lBTklCNDJBb0FCQWtBZ0hTQU9Md0UySWpCeURRQkJBU0VrSUE0dUFiZ0JJQTR1QWFBQmF5SUdJQVpCSDNVaUJtb2dCbk5CQTBzTkFDQU9MZ0c2QVNBT0xnR2lBV3NpQmlBR1FSOTFJZ1pxSUFaelFRTkxEUUFnRGlnQ2dBRWdEaWdDZUVjaEpBc2dEU0FrTmdLSUFTQU9Md0VlRFFJZ0RpOEJIQVJBUVFJaEJpQU5RUUkyQWp3Z0RpOEJKQ0lRRFFaQkFDRVBRUUFNQnd0QkFDRUdJQTFCQURZQ1BFRUFJUTlCQUNBT0x3RWtJaEJGRFFZYURBVUxJQTBDZndKQUlBNHZBU0FpRHcwQUlBNHZBUndOQUVFQURBRUxRUUlMSWdjMkFsQWdEUUovQWtBZ0RpOEJJaUlWRFFBZ0RpOEJIZzBBUVFBTUFRdEJBZ3NpRERZQ1dDQU5BbjhDUUNBT0x3RW9JaWdOQUNBT0x3RWtEUUJCQUF3QkMwRUNDeUljTmdKZ0lBMENmd0pBSUE0dkFTb2lIUTBBSUE0dkFTWU5BRUVBREFFTFFRSUxJaE0yQW1nZ0RTQU9Md0VzSWdrZ0QzSkJBRWRCQVhRaUZqWUNjQ0FOSUE0dkFTNGlKaUFWY2tFQVIwRUJkQ0laTmdKNElBMGdEaThCTkNJeklDaHlRUUJIUVFGMEloNDJBb0FCSUEwZ0RpOEJOaUlsSUIxeVFRQkhRUUYwSWlRMkFvZ0JJQTFCQWlBSlFRQkhRUUYwSUE0dkFUQWlJUnNpQ2pZQ2tBRWdEVUVDSUNaQkFFZEJBWFFnRGk4Qk1pSTFHeUl0TmdLWUFTQU5RUUlnTTBFQVIwRUJkQ0FPTHdFNElqY2JJaHMyQXFBQklBMUJBaUFsUVFCSFFRRjBJQTR2QVRvaUVCc2lLVFlDcUFFZ0RRSi9Ba0FnRGk4QkhpSTZEUUFnRGk4QkhBMEFRUUFNQVF0QkFnc2lCallDUENBT0x3RW1CRUFnRGk4QkpDRXdEQU1MSUE0dkFTUWlNQTBDUVFBaE1FRUFEQU1MSUE0dUFZWUJJUVlnRGk0QmpnRWhDVUVDSVF3Z0RRSi9RUUlnRGk4QklDSkJJQTR2QVJ3aU8zSU5BQnBCQVNBT0xnR01BU0FPTGdHRUFXc2lCeUFIUVI5MUlnZHFJQWR6UVFOTERRQWFJQWtnQm1zaUJ5QUhRUjkxSWdkcUlBZHpRUU5MQ3lJSE5nSlFJQTR1QVlvQklSMGdEaTRCa2dFaEZRSkFJQTR2QVNJaUx5QU9Md0VlSWlWeURRQkJBU0VNSUE0dUFaQUJJQTR1QVlnQmF5SUtJQXBCSDNVaUNtb2dDbk5CQTBzTkFDQVZJQjFySWdvZ0NrRWZkU0lLYWlBS2MwRURTeUVNQ3lBTklBdzJBbGdnRGk0QmxnRWhOQ0FPTGdHZUFTRVFRUUloRXlBTkFuOUJBaUFPTHdFb0lqRWdEaThCSkNKQ2NnMEFHa0VCSUE0dUFad0JJQTR1QVpRQmF5SUtJQXBCSDNVaUNtb2dDbk5CQTBzTkFCb2dFQ0EwYXlJS0lBcEJIM1VpQ21vZ0NuTkJBMHNMSWh3MkFtQWdEaTRCbWdFaFF5QU9MZ0dpQVNFbUFrQWdEaThCS2lKRUlBNHZBU1lpVUhJTkFFRUJJUk1nRGk0Qm9BRWdEaTRCbUFGcklnb2dDa0VmZFNJS2FpQUtjMEVEU3cwQUlDWWdRMnNpQ2lBS1FSOTFJZ3BxSUFwelFRTkxJUk1MSUEwZ0V6WUNhQ0FPTGdHbUFTRXpRUUloR1VFQ0lSWUNRQ0JCSUE0dkFTd2lSWElOQUVFQklSWWdEaTRCcEFFZ0RpNEJqQUZySWdvZ0NrRWZkU0lLYWlBS2MwRURTdzBBSURNZ0NXc2lDaUFLUVI5MUlncHFJQXB6UVFOTERRQWdEaWdDZkNBT0tBSjBSeUVXQ3lBTklCWTJBbkFnRGk0QnFnRWhJUUpBSUM4Z0RpOEJMaUl3Y2cwQVFRRWhHU0FPTGdHb0FTQU9MZ0dRQVdzaUNpQUtRUjkxSWdwcUlBcHpRUU5MRFFBZ0lTQVZheUlLSUFwQkgzVWlDbW9nQ25OQkEwc05BQ0FPS0FKOElBNG9BblJISVJrTElBMGdHVFlDZUNBT0xnRzJBU0VvUVFJaEpFRUNJUjRDUUNBeElBNHZBVFFpTlhJTkFFRUJJUjRnRGk0QnRBRWdEaTRCbkFGcklnb2dDa0VmZFNJS2FpQUtjMEVEU3cwQUlDZ2dFR3NpQ2lBS1FSOTFJZ3BxSUFwelFRTkxEUUFnRGlnQ2dBRWdEaWdDZUVjaEhnc2dEU0FlTmdLQUFTQU9MZ0c2QVNFM0FrQWdSQ0FPTHdFMklrWnlEUUJCQVNFa0lBNHVBYmdCSUE0dUFhQUJheUlLSUFwQkgzVWlDbW9nQ25OQkEwc05BQ0EzSUNacklnb2dDa0VmZFNJS2FpQUtjMEVEU3cwQUlBNG9Bb0FCSUE0b0FuaEhJU1FMSUEwZ0pEWUNpQUVnRGk0QnJnRWhSMEVDSVMwZ0RRSi9RUUlnUlNBT0x3RXdJbEZ5RFFBYVFRRWdEaTRCckFFZ0RpNEJwQUZySWdvZ0NrRWZkU0lLYWlBS2MwRURTdzBBR2lCSElETnJJZ29nQ2tFZmRTSUthaUFLYzBFRFN3c2lDallDa0FFZ0RpNEJzZ0VoT2dKQUlEQWdEaThCTWlKSWNnMEFRUUVoTFNBT0xnR3dBU0FPTGdHb0FXc2lEeUFQUVI5MUlnOXFJQTl6UVFOTERRQWdPaUFoYXlJUElBOUJIM1VpRDJvZ0QzTkJBMHNoTFFzZ0RTQXROZ0tZQVNBT0xnRytBU0UrUVFJaEtTQU5BbjlCQWlBMUlBNHZBVGdpU1hJTkFCcEJBU0FPTGdHOEFTQU9MZ0cwQVdzaUR5QVBRUjkxSWc5cUlBOXpRUU5MRFFBYUlENGdLR3NpRHlBUFFSOTFJZzlxSUE5elFRTkxDeUliTmdLZ0FTQU9MZ0hDQVNGS0FrQWdSaUFPTHdFNklsSnlEUUJCQVNFcElBNHVBY0FCSUE0dUFiZ0JheUlQSUE5QkgzVWlEMm9nRDNOQkEwc05BQ0JLSURkcklnOGdEMEVmZFNJUGFpQVBjMEVEU3lFcEN5QU5JQ2syQXFnQlFRSWhEeUFOQW45QkFpQWxJRHR5RFFBYVFRRWdEaTRCaUFFZ0RpNEJoQUZySWpzZ08wRWZkU0k3YWlBN2MwRURTdzBBR2lBZElBWnJJZ1lnQmtFZmRTSUdhaUFHYzBFRFN3c2lCallDUEFKQUlDVWdRbklOQUVFQklROGdEaTRCbEFFZ0RpNEJpQUZySWlVZ0pVRWZkU0lsYWlBbGMwRURTdzBBSURRZ0hXc2lIU0FkUVI5MUloMXFJQjF6UVFOTERRQWdEaWdDZUNBT0tBSjBSeUVQQ3lBTklBODJBa1JCQWlFbElBMENmMEVDSUVJZ1VISU5BQnBCQVNBT0xnR1lBU0FPTGdHVUFXc2lIU0FkUVI5MUloMXFJQjF6UVFOTERRQWFJRU1nTkdzaUhTQWRRUjkxSWgxcUlCMXpRUU5MQ3lJME5nSk1Ba0FnTHlCQmNnMEFRUUVoSlNBT0xnR1FBU0FPTGdHTUFXc2lIU0FkUVI5MUloMXFJQjF6UVFOTERRQWdGU0FKYXlJSklBbEJIM1VpQ1dvZ0NYTkJBMHNoSlFzZ0RTQWxOZ0pjUVFJaEhVRUNJUWtDUUNBdklERnlEUUJCQVNFSklBNHVBWndCSUE0dUFaQUJheUl2SUM5QkgzVWlMMm9nTDNOQkEwc05BQ0FRSUJWckloVWdGVUVmZFNJVmFpQVZjMEVEU3cwQUlBNG9BbmdnRGlnQ2RFY2hDUXNnRFNBSk5nSmtBa0FnTVNCRWNnMEFRUUVoSFNBT0xnR2dBU0FPTGdHY0FXc2lGU0FWUVI5MUloVnFJQlZ6UVFOTERRQWdKaUFRYXlJVklCVkJIM1VpRldvZ0ZYTkJBMHNoSFFzZ0RTQWROZ0pzUVFJaEZTQU5BbjlCQWlBd0lFVnlEUUFhUVFFZ0RpNEJxQUVnRGk0QnBBRnJJaEFnRUVFZmRTSVFhaUFRYzBFRFN3MEFHaUFoSUROckloQWdFRUVmZFNJUWFpQVFjMEVEU3dzaU1UWUNmQUpBSURBZ05YSU5BRUVCSVJVZ0RpNEJ0QUVnRGk0QnFBRnJJaEFnRUVFZmRTSVFhaUFRYzBFRFN3MEFJQ2dnSVdzaUVDQVFRUjkxSWhCcUlCQnpRUU5MRFFBZ0RpZ0NnQUVnRGlnQ2ZFY2hGUXNnRFNBVk5nS0VBVUVDSVNFZ0RRSi9RUUlnTlNCR2NnMEFHa0VCSUE0dUFiZ0JJQTR1QWJRQmF5SVFJQkJCSDNVaUVHb2dFSE5CQTBzTkFCb2dOeUFvYXlJUUlCQkJIM1VpRUdvZ0VITkJBMHNMSWk4MkFvd0JBa0FnU0NCUmNnMEFRUUVoSVNBT0xnR3dBU0FPTGdHc0FXc2lFQ0FRUVI5MUloQnFJQkJ6UVFOTERRQWdPaUJIYXlJUUlCQkJIM1VpRUdvZ0VITkJBMHNoSVFzZ0RTQWhOZ0tjQVVFQ0lSQkJBaUVvQWtBZ1NDQkpjZzBBUVFFaEtDQU9MZ0c4QVNBT0xnR3dBV3NpSmlBbVFSOTFJaVpxSUNaelFRTkxEUUFnUGlBNmF5SW1JQ1pCSDNVaUptb2dKbk5CQTBzTkFDQU9LQUtBQVNBT0tBSjhSeUVvQ3lBTklDZzJBcVFCQWtBZ1NTQlNjZzBBUVFFaEVDQU9MZ0hBQVNBT0xnRzhBV3NpSmlBbVFSOTFJaVpxSUNaelFRTkxEUUFnU2lBK2F5SVFJQkJCSDNVaUVHb2dFSE5CQTBzaEVBc2dEU0FRTmdLc0FRd0ZDMEVDSVFZZ0RVRUNOZ0k4SUE0dkFTUWhFQXdDQzBFQ0N5STBOZ0pNSUEwZ0VDQTNja0VBUjBFQmRDSVFOZ0tzQVNBTklDRWdOWEpCQUVkQkFYUWlJVFlDbkFFZ0RTQWxJRE55UVFCSFFRRjBJaTgyQW93QklBMGdDU0FtY2tFQVIwRUJkQ0l4TmdKOFFRSWhDU0FOUVFJZ0tFRUFSMEVCZENBZEd5SWROZ0pzSUExQkFpQVBRUUJIUVFGMElCVWJJaVUyQWx4QkFpRVBBa0FnTUNBNmNnMEFRUUVoRHlBT0xnR1VBU0FPTGdHSUFXc2lNQ0F3UVI5MUlqQnFJREJ6UVFOTERRQWdEaTRCbGdFZ0RpNEJpZ0ZySWpBZ01FRWZkU0l3YWlBd2MwRURTdzBBSUE0b0FuZ2dEaWdDZEVjaER3c2dEU0FQTmdKRUFrQWdGU0FvY2cwQVFRRWhDU0FPTGdHY0FTQU9MZ0dRQVdzaUZTQVZRUjkxSWhWcUlCVnpRUU5MRFFBZ0RpNEJuZ0VnRGk0QmtnRnJJaFVnRlVFZmRTSVZhaUFWYzBFRFN3MEFJQTRvQW5nZ0RpZ0NkRWNoQ1FzZ0RTQUpOZ0prUVFJaEtFRUNJUlVDUUNBbUlETnlEUUJCQVNFVklBNHVBYlFCSUE0dUFhZ0JheUltSUNaQkgzVWlKbW9nSm5OQkEwc05BQ0FPTGdHMkFTQU9MZ0dxQVdzaUppQW1RUjkxSWlacUlDWnpRUU5MRFFBZ0RpZ0NnQUVnRGlnQ2ZFY2hGUXNnRFNBVk5nS0VBUUpBSURVZ04zSU5BRUVCSVNnZ0RpNEJ2QUVnRGk0QnNBRnJJaVlnSmtFZmRTSW1haUFtYzBFRFN3MEFJQTR1QWI0QklBNHVBYklCYXlJbUlDWkJIM1VpSm1vZ0puTkJBMHNOQUNBT0tBS0FBU0FPS0FKOFJ5RW9DeUFOSUNnMkFxUUJEQUlMUVFJaER5QVFDeUUxSUEwZ0R6WUNSQ0FPTHdFbUlUY2dEU0FtSUNoeVFRQkhRUUYwSWhBMkFxd0JJQTBnSVNBb2NrRUFSMEVCZENJb05nS2tBU0FOUVFJZ0wwRUFSMEVCZENBaEd5SWhOZ0tjQVNBTlFRSWdDVUVBUjBFQmRDQWRHeUlkTmdKc0lBMUJBaUFWUVFCSFFRRjBJQWtiSWdrMkFtUWdEVUVDSUNWQkFFZEJBWFFnRlJzaUpUWUNYQ0FOSURBZ01YSkJBRWRCQVhRaUx6WUNqQUVnRFNBeElEUnlRUUJIUVFGMEloVTJBb1FCSUEwZ015QTBja0VBUjBFQmRDSXhOZ0o4SUEwZ055QTFRZi8vQTNGeVFRQkhRUUYwSWpRMkFrd0xJQklOQUNBSERRQWdEQTBBSUJ3TkFDQVREUUFnRmcwQUlCa05BQ0FlRFFBZ0pBMEFJQW9OQUNBdERRQWdHdzBBSUNrTkFDQUdEUUFnRHcwQUlEUU5BQ0FsRFFBZ0NRMEFJQjBOQUNBeERRQWdGUTBBSUM4TkFDQWhEUUFnS0EwQUlCQkZEUUVMSUE0b0Fnd2hCeUFOSUE0b0FoQWlDU0FPS0FJVUlnWnFJZ3BCTXlBS1FUTklHeUlLUVFBZ0NrRUFTaHRCMEJkcUxRQUFJZ28yQWlBZ0RTQUdJQWRxSWd4Qk15QU1RVE5JR3lJTVFRQWdERUVBU2hzaUVrR1FGMm90QUFBaUREWUNIQ0FOSUJKQkEyeEJrQmhxSWhFMkFoZ2dQd1JBSUEwQ2Z5QUdJQWdvQWhRaUNFY0VRQ0FOSUFZZ0NHcEJBV3BCQVhZaUNDQUphaUlTUVRNZ0VrRXpTQnNpRWtFQUlCSkJBRW9iUWRBWGFpMEFBRFlDQ0NBTklBY2dDR29pQ0VFeklBaEJNMGdiSWdoQkFDQUlRUUJLR3lJSVFaQVhhaTBBQURZQ0JDQUlRUU5zUVpBWWFnd0JDeUFOSUFvMkFnZ2dEU0FNTmdJRUlCRUxOZ0lBQ3lCQUJFQUNRQ0FHSUJRb0FoUWlDRWNFUUNBTklBWWdDR3BCQVdwQkFYWWlCaUFKYWlJSVFUTWdDRUV6U0JzaUNFRUFJQWhCQUVvYlFkQVhhaTBBQURZQ0ZDQU5JQVlnQjJvaUJrRXpJQVpCTTBnYklnWkJBQ0FHUVFCS0d5SUdRWkFYYWkwQUFEWUNFQ0FHUVFOc1FaQVlhaUVSREFFTElBMGdDallDRkNBTklBdzJBaEFMSUEwZ0VUWUNEQXNnS3lnQ0FDQWZJRGxzSWg1QkNIUnFJQ0pCQkhScUlRbEJBQ0ViUVFNaEJ5QU5RVEJxSVE4RFFDQVBLQUlFSWdZRVFDQUpJQVlnRFNnQ0RDQU5LQUlRSUEwb0FoUWdOaEFUQ3lBUEtBSU1JZ1lFUUNBSlFRUnFJQVlnRFNnQ0dDQU5LQUljSUEwb0FpQWdOaEFUQ3lBUEtBSVVJZ1lFUUNBSlFRaHFJQVlnRFNnQ0dDQU5LQUljSUEwb0FpQWdOaEFUQ3lBUEtBSWNJZ1lFUUNBSlFReHFJQVlnRFNnQ0dDQU5LQUljSUEwb0FpQWdOaEFUQ3lBSElRd0NRQUpBQWtBZ0R5Z0NBQ0lHSUE4b0FnZ2lFVWNOQUNBR0lBOG9BaEJIRFFBZ0JpQVBLQUlZUncwQUlBWkZEUUlnRFNBYlFReHNhaUlIS0FJSUlSSWdCeWdDQkNFUUlBWkJCRWtOQVNBUVFRSjJRUUpxSVJsQkVDRVJJQWtoQndOQUFrQWdCeUFqYWlJR0xRQUFJaFFnQnkwQUFDSVRheUlJSUFoQkgzVWlDR29nQ0hNaUNDQVFUdzBBSUFjZ0xtb2lJUzBBQUNJY0lCUnJJZ29nQ2tFZmRTSUthaUFLY3lBU1R3MEFJQWNnTm1vaUpDMEFBQ0lWSUJOcklnb2dDa0VmZFNJS2FpQUtjeUFTVHcwQUFuOENRQ0FJSUJsSkJFQWdCeUFnYWlJSUxRQUFJUnNDZnlBU0lBY2dMR29pQ2kwQUFDSVdJQlJySWlnZ0tFRWZkU0lvYWlBb2Mwc0VRQ0FHSUJVZ0V5QVVhaUFjYWlJR1FRRjBhaUFXYWtFRWFrRURkam9BQUNBaElBWWdGbXBCQW1wQkFuWTZBQUFnQmlBV1FRTnNhaUFISUU5cUxRQUFRUUYwYWtFRWFrRURkZ3dCQ3lBR0lRb2dGQ0FWYWlBY1FRRjBha0VDYWtFQ2Rnc2hCaUFLSUFZNkFBQWdHeUFUYXlJR0lBWkJIM1VpQm1vZ0JuTWdFazhOQVNBSElCd2dGQ0FWYWlBVGFpSUdRUUYwYWlBYmFrRUVha0VEZGpvQUFDQWtJQVlnRzJwQkFtcEJBblk2QUFBZ0JpQWJRUU5zYWlBSElFeHFMUUFBUVFGMGFrRUVha0VEZGd3Q0N5QUdJQlFnRldvZ0hFRUJkR3BCQW1wQkFuWTZBQUFMSUFjaENDQVRJQnhxSUJWQkFYUnFRUUpxUVFKMkN5RUdJQWdnQmpvQUFBc2dCMEVCYWlFSElCRkJBV3NpRVEwQUN3d0NDd0ovSUFZRVFDQU5JQnRCREd4cUloWWhHVUVFSVJJZ0JpQVdLQUlBYWtFQmF5MEFBQ0lJUVFGcUlRcEJBQ0FJYXlFY0lBa2hCd05BQWtBZ0ZpZ0NCQ0FISUNOcUlpRXRBQUFpRkNBSExRQUFJaE5ySWdZZ0JrRWZkU0lHYWlBR2MwME5BQ0FaS0FJSUloRWdCeUF1YWlJa0xRQUFJaFVnRkdzaUJpQUdRUjkxSWdacUlBWnpUUTBBSUFjZ05tb2lLQzBBQUNJUUlCTnJJZ1lnQmtFZmRTSUdhaUFHY3lBUlR3MEFJQWdoQmlBUklBY2dMR290QUFBaUxTQVVheUlwSUNsQkgzVWlLV29nS1hOTEJFQWdKQ0FWSUJ3Z0NDQVRJQlJxUVFGcVFRRjJJQlZCQVhScklDMXFRUUYxSWdZZ0JpQUlTaHNnQmlBY1NCdHFPZ0FBSUJrb0FnZ2hFU0FLSVFZTElDRUNmeUFSSUFjZ0lHb3RBQUFpSVNBVGF5SWtJQ1JCSDNVaUpHb2dKSE5MQkVBZ0tDQVFJQndnQ0NBVElCUnFRUUZxUVFGMklCQkJBWFJySUNGcVFRRjFJaEVnQ0NBUlNCc2dFU0FjU0J0cU9nQUFJQVpCQVdvaEJndEJBQ0FHYXlJaEN5QUdJQlVnRUdzZ0V5QVVhMEVDZEdwQkJHcEJBM1VpRVNBR0lCRklHeUFSSUNGSUd5SUdJQlJxUWNBMWFpMEFBRG9BQUNBSElCTWdCbXRCd0RWcUxRQUFPZ0FBQ3lBSFFRRnFJUWNnRWtFQmF5SVNEUUFMSUE4b0FnZ2hFUXNnRVFzRVFFRUVJUklnQ1VFRWFpRUhJQTBnRzBFTWJHb2lGaUVaSUJFZ0ZpZ0NBR3BCQVdzdEFBQWlDRUVCYWlFS1FRQWdDR3NoSEFOQUFrQWdGaWdDQkNBSElDTnFJaUV0QUFBaUZDQUhMUUFBSWhOcklnWWdCa0VmZFNJR2FpQUdjMDBOQUNBWktBSUlJaEVnQnlBdWFpSWtMUUFBSWhVZ0ZHc2lCaUFHUVI5MUlnWnFJQVp6VFEwQUlBY2dObW9pS0MwQUFDSVFJQk5ySWdZZ0JrRWZkU0lHYWlBR2N5QVJUdzBBSUFnaEJpQVJJQWNnTEdvdEFBQWlMU0FVYXlJcElDbEJIM1VpS1dvZ0tYTkxCRUFnSkNBVklCd2dDQ0FUSUJScVFRRnFRUUYySUJWQkFYUnJJQzFxUVFGMUlnWWdCaUFJU2hzZ0JpQWNTQnRxT2dBQUlCa29BZ2doRVNBS0lRWUxJQ0VDZnlBUklBY2dJR290QUFBaUlTQVRheUlrSUNSQkgzVWlKR29nSkhOTEJFQWdLQ0FRSUJ3Z0NDQVRJQlJxUVFGcVFRRjJJQkJCQVhScklDRnFRUUYxSWhFZ0NDQVJTQnNnRVNBY1NCdHFPZ0FBSUFaQkFXb2hCZ3RCQUNBR2F5SWhDeUFHSUJVZ0VHc2dFeUFVYTBFQ2RHcEJCR3BCQTNVaUVTQUdJQkZJR3lBUklDRklHeUlHSUJScVFjQTFhaTBBQURvQUFDQUhJQk1nQm10QndEVnFMUUFBT2dBQUN5QUhRUUZxSVFjZ0VrRUJheUlTRFFBTEN5QVBLQUlRSWdZRVFDQUpRUWhxSVFjZ0RTQWJRUXhzYWlJV0lSbEJCQ0VTSUFZZ0ZpZ0NBR3BCQVdzdEFBQWlDRUVCYWlFS1FRQWdDR3NoSEFOQUFrQWdGaWdDQkNBSElDTnFJaUV0QUFBaUZDQUhMUUFBSWhOcklnWWdCa0VmZFNJR2FpQUdjMDBOQUNBWktBSUlJaEVnQnlBdWFpSWtMUUFBSWhVZ0ZHc2lCaUFHUVI5MUlnWnFJQVp6VFEwQUlBY2dObW9pS0MwQUFDSVFJQk5ySWdZZ0JrRWZkU0lHYWlBR2N5QVJUdzBBSUFnaEJpQVJJQWNnTEdvdEFBQWlMU0FVYXlJcElDbEJIM1VpS1dvZ0tYTkxCRUFnSkNBVklCd2dDQ0FUSUJScVFRRnFRUUYySUJWQkFYUnJJQzFxUVFGMUlnWWdCaUFJU2hzZ0JpQWNTQnRxT2dBQUlCa29BZ2doRVNBS0lRWUxJQ0VDZnlBUklBY2dJR290QUFBaUlTQVRheUlrSUNSQkgzVWlKR29nSkhOTEJFQWdLQ0FRSUJ3Z0NDQVRJQlJxUVFGcVFRRjJJQkJCQVhScklDRnFRUUYxSWhFZ0NDQVJTQnNnRVNBY1NCdHFPZ0FBSUFaQkFXb2hCZ3RCQUNBR2F5SWhDeUFHSUJVZ0VHc2dFeUFVYTBFQ2RHcEJCR3BCQTNVaUVTQUdJQkZJR3lBUklDRklHeUlHSUJScVFjQTFhaTBBQURvQUFDQUhJQk1nQm10QndEVnFMUUFBT2dBQUN5QUhRUUZxSVFjZ0VrRUJheUlTRFFBTEN5QVBLQUlZSWdaRkRRRWdDVUVNYWlFSElBMGdHMEVNYkdvaUVDRVdRUVFoRWlBR0lCQW9BZ0JxUVFGckxRQUFJZ2hCQVdvaENrRUFJQWhySVJ3RFFBSkFJQkFvQWdRZ0J5QWphaUlaTFFBQUloUWdCeTBBQUNJVGF5SUdJQVpCSDNVaUJtb2dCbk5ORFFBZ0ZpZ0NDQ0lSSUFjZ0xtb2lJUzBBQUNJVklCUnJJZ1lnQmtFZmRTSUdhaUFHYzAwTkFDQUhJRFpxSWlRdEFBQWlHeUFUYXlJR0lBWkJIM1VpQm1vZ0JuTWdFVThOQUNBSUlRWWdFU0FISUN4cUxRQUFJaWdnRkdzaUxTQXRRUjkxSWkxcUlDMXpTd1JBSUNFZ0ZTQWNJQWdnRXlBVWFrRUJha0VCZGlBVlFRRjBheUFvYWtFQmRTSUdJQVlnQ0VvYklBWWdIRWdiYWpvQUFDQVdLQUlJSVJFZ0NpRUdDeUFaQW44Z0VTQUhJQ0JxTFFBQUloa2dFMnNpSVNBaFFSOTFJaUZxSUNGelN3UkFJQ1FnR3lBY0lBZ2dFeUFVYWtFQmFrRUJkaUFiUVFGMGF5QVpha0VCZFNJUklBZ2dFVWdiSUJFZ0hFZ2Jham9BQUNBR1FRRnFJUVlMUVFBZ0Jtc2lHUXNnQmlBVklCdHJJQk1nRkd0QkFuUnFRUVJxUVFOMUloRWdCaUFSU0JzZ0VTQVpTQnNpQmlBVWFrSEFOV290QUFBNkFBQWdCeUFUSUFaclFjQTFhaTBBQURvQUFBc2dCMEVCYWlFSElCSkJBV3NpRWcwQUN3d0JDeUFHSUFjb0FnQnFRUUZyTFFBQUlnWkJBV29oQ2tFQUlBWnJJUnhCRUNFUklBa2hCd05BQWtBZ0J5QWphaUlXTFFBQUloUWdCeTBBQUNJVGF5SUlJQWhCSDNVaUNHb2dDSE1nRUU4TkFDQUhJQzVxSWhrdEFBQWlGU0FVYXlJSUlBaEJIM1VpQ0dvZ0NITWdFazhOQUNBSElEWnFJaUV0QUFBaUd5QVRheUlJSUFoQkgzVWlDR29nQ0hNZ0VrOE5BQ0FHSVFnZ0VpQUhJQ3hxTFFBQUlpUWdGR3NpS0NBb1FSOTFJaWhxSUNoelN3UkFJQmtnRlNBY0lBWWdFeUFVYWtFQmFrRUJkaUFWUVFGMGF5QWtha0VCZFNJSUlBWWdDRWdiSUFnZ0hFZ2Jham9BQUNBS0lRZ0xJQllnRkFKL0lCSWdCeUFnYWkwQUFDSVdJQk5ySWhrZ0dVRWZkU0laYWlBWmMwc0VRQ0FoSUJzZ0hDQUdJQk1nRkdwQkFXcEJBWFlnRzBFQmRHc2dGbXBCQVhVaUZpQUdJQlpJR3lBV0lCeElHMm82QUFBZ0NFRUJhaUVJQzBFQUlBaHJJaFlMSUFnZ0ZTQWJheUFUSUJSclFRSjBha0VFYWtFRGRTSVZJQWdnRlVnYklCVWdGa2diSWdocVFjQTFhaTBBQURvQUFDQUhJQk1nQ0d0QndEVnFMUUFBT2dBQUN5QUhRUUZxSVFjZ0VVRUJheUlSRFFBTEN5QU1RUUZySVFjZ0QwRWdhaUVQSUFrZ1Myb2hDVUVDSVJzZ0RBMEFDeUFPS0FJTUlRWWdEU0FPS0FJUUlna2dEaWdDRkNJS0lBNG9BaGdpREdvaUIwRXpJQWRCTTBnYklnZEJBQ0FIUVFCS0cwRUNkRUhRUFdvb0FnQWlCMm9pQ0VFeklBaEJNMGdiSWdoQkFDQUlRUUJLRzBIUUYyb3RBQUFpRWpZQ0lDQU5JQVlnQjJvaUNFRXpJQWhCTTBnYklnaEJBQ0FJUVFCS0d5SUlRWkFYYWkwQUFDSVJOZ0ljSUEwZ0NFRURiRUdRR0dvaUNEWUNHQ0EvQkVBZ0RRSi9JQW9nRGlnQ3pBRW9BaFFpRDBjRVFDQU5JQWNnRENBUGFpSVBRVE1nRDBFelNCc2lEMEVBSUE5QkFFb2JRUUowUWRBOWFpZ0NBR3BCQVdwQkFYWWlEeUFKYWlJVVFUTWdGRUV6U0JzaUZFRUFJQlJCQUVvYlFkQVhhaTBBQURZQ0NDQU5JQVlnRDJvaUQwRXpJQTlCTTBnYklnOUJBQ0FQUVFCS0d5SVBRWkFYYWkwQUFEWUNCQ0FQUVFOc1FaQVlhZ3dCQ3lBTklCSTJBZ2dnRFNBUk5nSUVJQWdMTmdJQUN5QkFCRUFDUUNBS0lBNG9Bc2dCS0FJVUlnOUhCRUFnRFNBSElBd2dEMm9pQ0VFeklBaEJNMGdiSWdoQkFDQUlRUUJLRzBFQ2RFSFFQV29vQWdCcVFRRnFRUUYySWdjZ0NXb2lDRUV6SUFoQk0wZ2JJZ2hCQUNBSVFRQktHMEhRRjJvdEFBQTJBaFFnRFNBR0lBZHFJZ1pCTXlBR1FUTklHeUlHUVFBZ0JrRUFTaHNpQmtHUUYyb3RBQUEyQWhBZ0JrRURiRUdRR0dvaENBd0JDeUFOSUJJMkFoUWdEU0FSTmdJUUN5QU5JQWcyQWd3TElDc29BZ0FnVG1vZ0hrRUdkR29nSWtFRGRHb2lCeUJOYWlFU1FRRWhIRUVBSVFZZ0RVRXdhaUVSQTBBQ1FDQVJLQUlFSWdsRkRRQUNRQ0FOS0FJUUlnZ2dCMEVCYXlJVExRQUFJZ29nQnkwQUFDSU1heUlQSUE5QkgzVWlEMm9nRDNOTkRRQWdEU2dDRkNJVklBZEJBbXN0QUFBaUR5QUtheUlVSUJSQkgzVWlGR29nRkhOTkRRQWdGU0FITFFBQkloUWdER3NpR3lBYlFSOTFJaHRxSUJ0elRRMEFJQWNDZnlBSlFRTk5CRUFnRXlBSklBMG9BZ3hxUVFGckxRQUFJZ2hCZjNNaUV5QUlRUUZxSWhVZ0RDQUthMEVDZENBVWF5QVBha0VFYWtFRGRTSUlJQWdnRlVvYklBZ2dFMGdiSWdnZ0NtcEJ3RFZxTFFBQU9nQUFJQXdnQ0d0QndEVnFMUUFBREFFTElCTWdDaUFVYWlBUFFRRjBha0VDYWtFQ2Rqb0FBQ0FNSUJSQkFYUnFJQTlxUVFKcVFRSjJDem9BQUNBTktBSVFJUWdMQWtBZ0J5QWFhaUlLUVFGckloVXRBQUFpRENBS0xRQUFJZzlySWhRZ0ZFRWZkU0lVYWlBVWN5QUlUdzBBSUEwb0FoUWlHeUFLUVFKckxRQUFJaFFnREdzaUV5QVRRUjkxSWhOcUlCTnpUUTBBSUJzZ0NpMEFBU0lUSUE5ckloQWdFRUVmZFNJUWFpQVFjMDBOQUNBS0FuOGdDVUVEVFFSQUlCVWdDU0FOS0FJTWFrRUJheTBBQUNJSVFYOXpJZ2tnQ0VFQmFpSUtJQThnREd0QkFuUWdFMnNnRkdwQkJHcEJBM1VpQ0NBSUlBcEtHeUFJSUFsSUd5SUlJQXhxUWNBMWFpMEFBRG9BQUNBUElBaHJRY0ExYWkwQUFBd0JDeUFWSUF3Z0Uyb2dGRUVCZEdwQkFtcEJBblk2QUFBZ0R5QVRRUUYwYWlBVWFrRUNha0VDZGdzNkFBQWdEU2dDRUNFSUN5QVJLQUlFSVFrQ1FDQVNRUUZySWhNdEFBQWlDaUFTTFFBQUlneHJJZzhnRDBFZmRTSVBhaUFQY3lBSVR3MEFJQTBvQWhRaUZTQVNRUUpyTFFBQUlnOGdDbXNpRkNBVVFSOTFJaFJxSUJSelRRMEFJQlVnRWkwQUFTSVVJQXhySWhzZ0cwRWZkU0liYWlBYmMwME5BQ0FTQW44Z0NVRURUUVJBSUJNZ0NTQU5LQUlNYWtFQmF5MEFBQ0lJUVg5ekloTWdDRUVCYWlJVklBd2dDbXRCQW5RZ0ZHc2dEMnBCQkdwQkEzVWlDQ0FJSUJWS0d5QUlJQk5JR3lJSUlBcHFRY0ExYWkwQUFEb0FBQ0FNSUFoclFjQTFhaTBBQUF3QkN5QVRJQW9nRkdvZ0QwRUJkR3BCQW1wQkFuWTZBQUFnRENBVVFRRjBhaUFQYWtFQ2FrRUNkZ3M2QUFBZ0RTZ0NFQ0VJQ3lBSUlCSWdHbW9pQ2tFQmF5SVRMUUFBSWd3Z0NpMEFBQ0lQYXlJVUlCUkJIM1VpRkdvZ0ZITk5EUUFnRFNnQ0ZDSVZJQXBCQW1zdEFBQWlDQ0FNYXlJVUlCUkJIM1VpRkdvZ0ZITk5EUUFnRlNBS0xRQUJJaFFnRDJzaUd5QWJRUjkxSWh0cUlCdHpUUTBBSUFvQ2Z5QUpRUU5OQkVBZ0V5QUpJQTBvQWd4cVFRRnJMUUFBSWdsQmYzTWlDaUFKUVFGcUlna2dEeUFNYTBFQ2RDQVVheUFJYWtFRWFrRURkU0lJSUFnZ0NVb2JJQWdnQ2tnYklnZ2dER3BCd0RWcUxRQUFPZ0FBSUE4Z0NHdEJ3RFZxTFFBQURBRUxJQk1nRENBVWFpQUlRUUYwYWtFQ2FrRUNkam9BQUNBUElCUkJBWFJxSUFocVFRSnFRUUoyQ3pvQUFBc0NRQ0FSS0FJa0lncEZEUUFDUUNBTktBSVFJZ2dnQnlBMmFpSUpRUUZySWhVdEFBQWlEQ0FKTFFBQUlnOXJJaFFnRkVFZmRTSVVhaUFVYzAwTkFDQU5LQUlVSWhzZ0NVRUNheTBBQUNJVUlBeHJJaE1nRTBFZmRTSVRhaUFUYzAwTkFDQWJJQWt0QUFFaUV5QVBheUlRSUJCQkgzVWlFR29nRUhOTkRRQWdDUUovSUFwQkEwMEVRQ0FWSUFvZ0RTZ0NER3BCQVdzdEFBQWlDRUYvY3lJVklBaEJBV29pR3lBUElBeHJRUUowSUJOcklCUnFRUVJxUVFOMUlnZ2dDQ0FiU2hzZ0NDQVZTQnNpQ0NBTWFrSEFOV290QUFBNkFBQWdEeUFJYTBIQU5Xb3RBQUFNQVFzZ0ZTQU1JQk5xSUJSQkFYUnFRUUpxUVFKMk9nQUFJQThnRTBFQmRHb2dGR3BCQW1wQkFuWUxPZ0FBSUEwb0FoQWhDQXNDUUNBSklCcHFJZ2xCQVdzaUZTMEFBQ0lNSUFrdEFBQWlEMnNpRkNBVVFSOTFJaFJxSUJSeklBaFBEUUFnRFNnQ0ZDSWJJQWxCQW1zdEFBQWlGQ0FNYXlJVElCTkJIM1VpRTJvZ0UzTk5EUUFnR3lBSkxRQUJJaE1nRDJzaUVDQVFRUjkxSWhCcUlCQnpUUTBBSUFrQ2Z5QUtRUU5OQkVBZ0ZTQUtJQTBvQWd4cVFRRnJMUUFBSWdoQmYzTWlDU0FJUVFGcUlnb2dEeUFNYTBFQ2RDQVRheUFVYWtFRWFrRURkU0lJSUFnZ0Nrb2JJQWdnQ1VnYklnZ2dER3BCd0RWcUxRQUFPZ0FBSUE4Z0NHdEJ3RFZxTFFBQURBRUxJQlVnRENBVGFpQVVRUUYwYWtFQ2FrRUNkam9BQUNBUElCTkJBWFJxSUJScVFRSnFRUUoyQ3pvQUFDQU5LQUlRSVFnTElCRW9BaVFoQ2dKQUlCSWdObW9pQ1VFQmF5SVZMUUFBSWd3Z0NTMEFBQ0lQYXlJVUlCUkJIM1VpRkdvZ0ZITWdDRThOQUNBTktBSVVJaHNnQ1VFQ2F5MEFBQ0lVSUF4ckloTWdFMEVmZFNJVGFpQVRjMDBOQUNBYklBa3RBQUVpRXlBUGF5SVFJQkJCSDNVaUVHb2dFSE5ORFFBZ0NRSi9JQXBCQTAwRVFDQVZJQW9nRFNnQ0RHcEJBV3N0QUFBaUNFRi9jeUlWSUFoQkFXb2lHeUFQSUF4clFRSjBJQk5ySUJScVFRUnFRUU4xSWdnZ0NDQWJTaHNnQ0NBVlNCc2lDQ0FNYWtIQU5Xb3RBQUE2QUFBZ0R5QUlhMEhBTldvdEFBQU1BUXNnRlNBTUlCTnFJQlJCQVhScVFRSnFRUUoyT2dBQUlBOGdFMEVCZEdvZ0ZHcEJBbXBCQW5ZTE9nQUFJQTBvQWhBaENBc2dDQ0FKSUJwcUlnbEJBV3NpRXkwQUFDSU1JQWt0QUFBaUQyc2lGQ0FVUVI5MUloUnFJQlJ6VFEwQUlBMG9BaFFpRlNBSlFRSnJMUUFBSWdnZ0RHc2lGQ0FVUVI5MUloUnFJQlJ6VFEwQUlCVWdDUzBBQVNJVUlBOXJJaHNnRzBFZmRTSWJhaUFiYzAwTkFDQUpBbjhnQ2tFRFRRUkFJQk1nQ2lBTktBSU1ha0VCYXkwQUFDSUpRWDl6SWdvZ0NVRUJhaUlKSUE4Z0RHdEJBblFnRkdzZ0NHcEJCR3BCQTNVaUNDQUlJQWxLR3lBSUlBcElHeUlJSUF4cVFjQTFhaTBBQURvQUFDQVBJQWhyUWNBMWFpMEFBQXdCQ3lBVElBd2dGR29nQ0VFQmRHcEJBbXBCQW5ZNkFBQWdEeUFVUVFGMGFpQUlha0VDYWtFQ2RnczZBQUFMQWtBZ0VTZ0NGQ0lKUlEwQUlBZEJCR29oRXdKQUlBMG9BaHdpQ0NBSExRQURJZ29nQnkwQUJDSU1heUlQSUE5QkgzVWlEMm9nRDNOTkRRQWdEU2dDSUNJVklBY3RBQUlpRHlBS2F5SVVJQlJCSDNVaUZHb2dGSE5ORFFBZ0ZTQUhMUUFGSWhRZ0RHc2lHeUFiUVI5MUlodHFJQnR6VFEwQUlCTUNmeUFKUVFOTkJFQWdCeUFKSUEwb0FoaHFRUUZyTFFBQUlnaEJmM01pRlNBSVFRRnFJaHNnRENBS2EwRUNkQ0FVYXlBUGFrRUVha0VEZFNJSUlBZ2dHMG9iSUFnZ0ZVZ2JJZ2dnQ21wQndEVnFMUUFBT2dBRElBd2dDR3RCd0RWcUxRQUFEQUVMSUFjZ0NpQVVhaUFQUVFGMGFrRUNha0VDZGpvQUF5QU1JQlJCQVhScUlBOXFRUUpxUVFKMkN6b0FBQ0FOS0FJY0lRZ0xBa0FnRXlBYWFpSUtRUUZySWhVdEFBQWlEQ0FLTFFBQUlnOXJJaFFnRkVFZmRTSVVhaUFVY3lBSVR3MEFJQTBvQWlBaUd5QUtRUUpyTFFBQUloUWdER3NpRXlBVFFSOTFJaE5xSUJOelRRMEFJQnNnQ2kwQUFTSVRJQTlySWhBZ0VFRWZkU0lRYWlBUWMwME5BQ0FLQW44Z0NVRURUUVJBSUJVZ0NTQU5LQUlZYWtFQmF5MEFBQ0lJUVg5eklna2dDRUVCYWlJS0lBOGdER3RCQW5RZ0Uyc2dGR3BCQkdwQkEzVWlDQ0FJSUFwS0d5QUlJQWxJR3lJSUlBeHFRY0ExYWkwQUFEb0FBQ0FQSUFoclFjQTFhaTBBQUF3QkN5QVZJQXdnRTJvZ0ZFRUJkR3BCQW1wQkFuWTZBQUFnRHlBVFFRRjBhaUFVYWtFQ2FrRUNkZ3M2QUFBZ0RTZ0NIQ0VJQ3lBU1FRUnFJUk1nRVNnQ0ZDRUpBa0FnRWkwQUF5SUtJQkl0QUFRaURHc2lEeUFQUVI5MUlnOXFJQTl6SUFoUERRQWdEU2dDSUNJVklCSXRBQUlpRHlBS2F5SVVJQlJCSDNVaUZHb2dGSE5ORFFBZ0ZTQVNMUUFGSWhRZ0RHc2lHeUFiUVI5MUlodHFJQnR6VFEwQUlCTUNmeUFKUVFOTkJFQWdFaUFKSUEwb0FoaHFRUUZyTFFBQUlnaEJmM01pRlNBSVFRRnFJaHNnRENBS2EwRUNkQ0FVYXlBUGFrRUVha0VEZFNJSUlBZ2dHMG9iSUFnZ0ZVZ2JJZ2dnQ21wQndEVnFMUUFBT2dBRElBd2dDR3RCd0RWcUxRQUFEQUVMSUJJZ0NpQVVhaUFQUVFGMGFrRUNha0VDZGpvQUF5QU1JQlJCQVhScUlBOXFRUUpxUVFKMkN6b0FBQ0FOS0FJY0lRZ0xJQWdnRXlBYWFpSUtRUUZySWhNdEFBQWlEQ0FLTFFBQUlnOXJJaFFnRkVFZmRTSVVhaUFVYzAwTkFDQU5LQUlnSWhVZ0NrRUNheTBBQUNJSUlBeHJJaFFnRkVFZmRTSVVhaUFVYzAwTkFDQVZJQW90QUFFaUZDQVBheUliSUJ0QkgzVWlHMm9nRzNOTkRRQWdDZ0ovSUFsQkEwMEVRQ0FUSUFrZ0RTZ0NHR3BCQVdzdEFBQWlDVUYvY3lJS0lBbEJBV29pQ1NBUElBeHJRUUowSUJScklBaHFRUVJxUVFOMUlnZ2dDQ0FKU2hzZ0NDQUtTQnNpQ0NBTWFrSEFOV290QUFBNkFBQWdEeUFJYTBIQU5Xb3RBQUFNQVFzZ0V5QU1JQlJxSUFoQkFYUnFRUUpxUVFKMk9nQUFJQThnRkVFQmRHb2dDR3BCQW1wQkFuWUxPZ0FBQ3dKQUlCRW9BalFpQ2tVTkFDQUhJRFpxSWdsQkJHb2hGQUpBSUEwb0Fod2lDQ0FKTFFBRElnd2dDUzBBQkNJUGF5SVRJQk5CSDNVaUUyb2dFM05ORFFBZ0RTZ0NJQ0liSUJSQkFtc3RBQUFpRXlBTWF5SVZJQlZCSDNVaUZXb2dGWE5ORFFBZ0d5QUpMUUFGSWhVZ0Qyc2lFQ0FRUVI5MUloQnFJQkJ6VFEwQUlCUUNmeUFLUVFOTkJFQWdDU0FLSUEwb0FoaHFRUUZyTFFBQUlnaEJmM01pQ1NBSVFRRnFJaHNnRHlBTWEwRUNkQ0FWYXlBVGFrRUVha0VEZFNJSUlBZ2dHMG9iSUFnZ0NVZ2JJZ2dnREdwQndEVnFMUUFBT2dBRElBOGdDR3RCd0RWcUxRQUFEQUVMSUFrZ0RDQVZhaUFUUVFGMGFrRUNha0VDZGpvQUF5QVBJQlZCQVhScUlCTnFRUUpxUVFKMkN6b0FBQ0FOS0FJY0lRZ0xBa0FnRkNBYWFpSUpRUUZySWhVdEFBQWlEQ0FKTFFBQUlnOXJJaFFnRkVFZmRTSVVhaUFVY3lBSVR3MEFJQTBvQWlBaUd5QUpRUUpyTFFBQUloUWdER3NpRXlBVFFSOTFJaE5xSUJOelRRMEFJQnNnQ1MwQUFTSVRJQTlySWhBZ0VFRWZkU0lRYWlBUWMwME5BQ0FKQW44Z0NrRURUUVJBSUJVZ0NpQU5LQUlZYWtFQmF5MEFBQ0lJUVg5eklna2dDRUVCYWlJS0lBOGdER3RCQW5RZ0Uyc2dGR3BCQkdwQkEzVWlDQ0FJSUFwS0d5QUlJQWxJR3lJSUlBeHFRY0ExYWkwQUFEb0FBQ0FQSUFoclFjQTFhaTBBQUF3QkN5QVZJQXdnRTJvZ0ZFRUJkR3BCQW1wQkFuWTZBQUFnRHlBVFFRRjBhaUFVYWtFQ2FrRUNkZ3M2QUFBZ0RTZ0NIQ0VJQ3lBU0lEWnFJZ2xCQkdvaEZDQVJLQUkwSVFvQ1FDQUpMUUFESWd3Z0NTMEFCQ0lQYXlJVElCTkJIM1VpRTJvZ0UzTWdDRThOQUNBTktBSWdJaHNnRkVFQ2F5MEFBQ0lUSUF4ckloVWdGVUVmZFNJVmFpQVZjMDBOQUNBYklBa3RBQVVpRlNBUGF5SVFJQkJCSDNVaUVHb2dFSE5ORFFBZ0ZBSi9JQXBCQTAwRVFDQUpJQW9nRFNnQ0dHcEJBV3N0QUFBaUNFRi9jeUlKSUFoQkFXb2lHeUFQSUF4clFRSjBJQlZySUJOcVFRUnFRUU4xSWdnZ0NDQWJTaHNnQ0NBSlNCc2lDQ0FNYWtIQU5Xb3RBQUE2QUFNZ0R5QUlhMEhBTldvdEFBQU1BUXNnQ1NBTUlCVnFJQk5CQVhScVFRSnFRUUoyT2dBRElBOGdGVUVCZEdvZ0UycEJBbXBCQW5ZTE9nQUFJQTBvQWh3aENBc2dDQ0FVSUJwcUlnbEJBV3NpRXkwQUFDSU1JQWt0QUFBaUQyc2lGQ0FVUVI5MUloUnFJQlJ6VFEwQUlBMG9BaUFpRlNBSlFRSnJMUUFBSWdnZ0RHc2lGQ0FVUVI5MUloUnFJQlJ6VFEwQUlCVWdDUzBBQVNJVUlBOXJJaHNnRzBFZmRTSWJhaUFiYzAwTkFDQUpBbjhnQ2tFRFRRUkFJQk1nQ2lBTktBSVlha0VCYXkwQUFDSUpRWDl6SWdvZ0NVRUJhaUlKSUE4Z0RHdEJBblFnRkdzZ0NHcEJCR3BCQTNVaUNDQUlJQWxLR3lBSUlBcElHeUlJSUF4cVFjQTFhaTBBQURvQUFDQVBJQWhyUWNBMWFpMEFBQXdCQ3lBVElBd2dGR29nQ0VFQmRHcEJBbXBCQW5ZNkFBQWdEeUFVUVFGMGFpQUlha0VDYWtFQ2RnczZBQUFMQWtBQ1FDQVJLQUlBSWdnZ0VTZ0NDQ0lNUncwQUlBZ2dFU2dDRUVjTkFDQUlJQkVvQWhoSERRQWdDRVVOQVNBSElBZ2dEU0FHUVF4c2FpSUdJQm9RSHlBU0lCRW9BZ0FnQmlBYUVCOE1BUXNnQ0FSQUlBMGdCa0VNYkdvaUNTRUtJQWdnQ1NnQ0FHcEJBV3N0QUFBaUNFRi9jeUVNSUFoQkFXb2hEd0pBSUFrb0FnUWlDQ0FISUJkcUloVXRBQUFpRkNBSExRQUFJaE5ySWhzZ0cwRWZkU0liYWlBYmMwME5BQ0FLS0FJSUloc2dCeUFxYWkwQUFDSVFJQlJySWhZZ0ZrRWZkU0lXYWlBV2MwME5BQ0FiSUFjZ0dtb3RBQUFpRmlBVGF5SVpJQmxCSDNVaUdXb2dHWE5ORFFBZ0ZTQU1JQThnRXlBVWEwRUNkQ0FXYXlBUWFrRUVha0VEZFNJSUlBZ2dEMG9iSUFnZ0RFZ2JJZ2dnRkdwQndEVnFMUUFBT2dBQUlBY2dFeUFJYTBIQU5Xb3RBQUE2QUFBZ0NTZ0NCQ0VJQ3dKQUlBZEJBV29pRkNBWGFpSWJMUUFBSWhNZ0J5MEFBU0lWYXlJUUlCQkJIM1VpRUdvZ0VITWdDRThOQUNBS0tBSUlJaEFnRkNBcWFpMEFBQ0lXSUJOckloa2dHVUVmZFNJWmFpQVpjMDBOQUNBUUlCUWdHbW90QUFBaUdTQVZheUllSUI1QkgzVWlIbW9nSG5OTkRRQWdHeUFNSUE4Z0ZTQVRhMEVDZENBWmF5QVdha0VFYWtFRGRTSUlJQWdnRDBvYklBZ2dERWdiSWdnZ0UycEJ3RFZxTFFBQU9nQUFJQlFnRlNBSWEwSEFOV290QUFBNkFBQWdDU2dDQkNFSUN5QVJLQUlBSUFrb0FnQnFRUUZyTFFBQUlnOUJmM01oRENBUFFRRnFJUThDUUNBU0lCZHFJaFV0QUFBaUZDQVNMUUFBSWhOckloc2dHMEVmZFNJYmFpQWJjeUFJVHcwQUlBb29BZ2dpR3lBU0lDcHFMUUFBSWhBZ0ZHc2lGaUFXUVI5MUloWnFJQlp6VFEwQUlCc2dFaUFhYWkwQUFDSVdJQk5ySWhrZ0dVRWZkU0laYWlBWmMwME5BQ0FWSUF3Z0R5QVRJQlJyUVFKMElCWnJJQkJxUVFScVFRTjFJZ2dnQ0NBUFNoc2dDQ0FNU0JzaUNDQVVha0hBTldvdEFBQTZBQUFnRWlBVElBaHJRY0ExYWkwQUFEb0FBQ0FKS0FJRUlRZ0xBa0FnQ0NBU1FRRnFJZ2tnRjJvaUZTMEFBQ0lVSUJJdEFBRWlFMnNpR3lBYlFSOTFJaHRxSUJ0elRRMEFJQW9vQWdnaUNDQUpJQ3BxTFFBQUlnb2dGR3NpR3lBYlFSOTFJaHRxSUJ0elRRMEFJQWdnQ1NBYWFpMEFBQ0liSUJOckloQWdFRUVmZFNJUWFpQVFjMDBOQUNBVklCUWdEQ0FQSUJNZ0ZHdEJBblFnRzJzZ0NtcEJCR3BCQTNVaUNDQUlJQTlLR3lBSUlBeElHeUlJYWtIQU5Xb3RBQUE2QUFBZ0NTQVRJQWhyUWNBMWFpMEFBRG9BQUFzZ0VTZ0NDQ0VNQ3dKQUlBeEZEUUFnRFNBR1FReHNhaUlJSVFrZ0RDQUlLQUlBYWtFQmF5MEFBQ0lNUVg5eklRb2dERUVCYWlFUEFrQWdDQ2dDQkNJTUlBZEJBbW9pRkNBWGFpSWJMUUFBSWhNZ0J5MEFBaUlWYXlJUUlCQkJIM1VpRUdvZ0VITk5EUUFnQ1NnQ0NDSVFJQlFnS21vdEFBQWlGaUFUYXlJWklCbEJIM1VpR1dvZ0dYTk5EUUFnRUNBVUlCcHFMUUFBSWhrZ0ZXc2lIaUFlUVI5MUloNXFJQjV6VFEwQUlCc2dDaUFQSUJVZ0UydEJBblFnR1dzZ0ZtcEJCR3BCQTNVaURDQU1JQTlLR3lBS0lBeEtHeUlNSUJOcVFjQTFhaTBBQURvQUFDQVVJQlVnREd0QndEVnFMUUFBT2dBQUlBZ29BZ1FoREFzQ1FDQUhRUU5xSWhRZ0Yyb2lHeTBBQUNJVElBY3RBQU1pRldzaUVDQVFRUjkxSWhCcUlCQnpJQXhQRFFBZ0NTZ0NDQ0lRSUJRZ0ttb3RBQUFpRmlBVGF5SVpJQmxCSDNVaUdXb2dHWE5ORFFBZ0VDQVVJQnBxTFFBQUloa2dGV3NpSGlBZVFSOTFJaDVxSUI1elRRMEFJQnNnQ2lBUElCVWdFMnRCQW5RZ0dXc2dGbXBCQkdwQkEzVWlEQ0FNSUE5S0d5QUtJQXhLR3lJS0lCTnFRY0ExYWkwQUFEb0FBQ0FVSUJVZ0NtdEJ3RFZxTFFBQU9nQUFJQWdvQWdRaERBc2dFU2dDQ0NBSUtBSUFha0VCYXkwQUFDSVBRWDl6SVFvZ0QwRUJhaUVQQWtBZ0VrRUNhaUlVSUJkcUloc3RBQUFpRXlBU0xRQUNJaFZySWhBZ0VFRWZkU0lRYWlBUWN5QU1UdzBBSUFrb0FnZ2lFQ0FVSUNwcUxRQUFJaFlnRTJzaUdTQVpRUjkxSWhscUlCbHpUUTBBSUJBZ0ZDQWFhaTBBQUNJWklCVnJJaDRnSGtFZmRTSWVhaUFlYzAwTkFDQWJJQW9nRHlBVklCTnJRUUowSUJscklCWnFRUVJxUVFOMUlnd2dEQ0FQU2hzZ0NpQU1TaHNpRENBVGFrSEFOV290QUFBNkFBQWdGQ0FWSUF4clFjQTFhaTBBQURvQUFDQUlLQUlFSVF3TElBd2dFa0VEYWlJSUlCZHFJaFV0QUFBaUZDQVNMUUFESWhOckloc2dHMEVmZFNJYmFpQWJjMDBOQUNBSktBSUlJZ2tnQ0NBcWFpMEFBQ0lNSUJSckloc2dHMEVmZFNJYmFpQWJjMDBOQUNBSklBZ2dHbW90QUFBaUd5QVRheUlRSUJCQkgzVWlFR29nRUhOTkRRQWdGU0FLSUE4Z0V5QVVhMEVDZENBYmF5QU1ha0VFYWtFRGRTSUpJQWtnRDBvYklBa2dDa2diSWdrZ0ZHcEJ3RFZxTFFBQU9nQUFJQWdnRXlBSmEwSEFOV290QUFBNkFBQUxBa0FnRVNnQ0VDSUtSUTBBSUEwZ0JrRU1iR29pQ0NFSklBb2dDQ2dDQUdwQkFXc3RBQUFpREVGL2N5RUtJQXhCQVdvaER3SkFJQWdvQWdRaURDQUhRUVJxSWhRZ0Yyb2lHeTBBQUNJVElBY3RBQVFpRldzaUVDQVFRUjkxSWhCcUlCQnpUUTBBSUFrb0FnZ2lFQ0FVSUNwcUxRQUFJaFlnRTJzaUdTQVpRUjkxSWhscUlCbHpUUTBBSUJBZ0ZDQWFhaTBBQUNJWklCVnJJaDRnSGtFZmRTSWVhaUFlYzAwTkFDQWJJQW9nRHlBVklCTnJRUUowSUJscklCWnFRUVJxUVFOMUlnd2dEQ0FQU2hzZ0NpQU1TaHNpRENBVGFrSEFOV290QUFBNkFBQWdGQ0FWSUF4clFjQTFhaTBBQURvQUFDQUlLQUlFSVF3TEFrQWdCMEVGYWlJVUlCZHFJaHN0QUFBaUV5QUhMUUFGSWhWckloQWdFRUVmZFNJUWFpQVFjeUFNVHcwQUlBa29BZ2dpRUNBVUlDcHFMUUFBSWhZZ0Uyc2lHU0FaUVI5MUlobHFJQmx6VFEwQUlCQWdGQ0FhYWkwQUFDSVpJQlZySWg0Z0hrRWZkU0llYWlBZWMwME5BQ0FiSUFvZ0R5QVZJQk5yUVFKMElCbHJJQlpxUVFScVFRTjFJZ3dnRENBUFNoc2dDaUFNU2hzaUNpQVRha0hBTldvdEFBQTZBQUFnRkNBVklBcHJRY0ExYWkwQUFEb0FBQ0FJS0FJRUlRd0xJQkVvQWhBZ0NDZ0NBR3BCQVdzdEFBQWlEMEYvY3lFS0lBOUJBV29oRHdKQUlCSkJCR29pRkNBWGFpSWJMUUFBSWhNZ0VpMEFCQ0lWYXlJUUlCQkJIM1VpRUdvZ0VITWdERThOQUNBSktBSUlJaEFnRkNBcWFpMEFBQ0lXSUJOckloa2dHVUVmZFNJWmFpQVpjMDBOQUNBUUlCUWdHbW90QUFBaUdTQVZheUllSUI1QkgzVWlIbW9nSG5OTkRRQWdHeUFLSUE4Z0ZTQVRhMEVDZENBWmF5QVdha0VFYWtFRGRTSU1JQXdnRDBvYklBb2dERW9iSWd3Z0UycEJ3RFZxTFFBQU9nQUFJQlFnRlNBTWEwSEFOV290QUFBNkFBQWdDQ2dDQkNFTUN5QU1JQkpCQldvaUNDQVhhaUlWTFFBQUloUWdFaTBBQlNJVGF5SWJJQnRCSDNVaUcyb2dHM05ORFFBZ0NTZ0NDQ0lKSUFnZ0ttb3RBQUFpRENBVWF5SWJJQnRCSDNVaUcyb2dHM05ORFFBZ0NTQUlJQnBxTFFBQUloc2dFMnNpRUNBUVFSOTFJaEJxSUJCelRRMEFJQlVnQ2lBUElCTWdGR3RCQW5RZ0cyc2dER3BCQkdwQkEzVWlDU0FKSUE5S0d5QUpJQXBJR3lJSklCUnFRY0ExYWkwQUFEb0FBQ0FJSUJNZ0NXdEJ3RFZxTFFBQU9nQUFDeUFSS0FJWUlncEZEUUFnRFNBR1FReHNhaUlJSVFrZ0NpQUlLQUlBYWtFQmF5MEFBQ0lHUVg5eklRb2dCa0VCYWlFTUFrQWdDQ2dDQkNJR0lBZEJCbW9pRHlBWGFpSVZMUUFBSWhRZ0J5MEFCaUlUYXlJYklCdEJIM1VpRzJvZ0czTk5EUUFnQ1NnQ0NDSWJJQThnS21vdEFBQWlFQ0FVYXlJV0lCWkJIM1VpRm1vZ0ZuTk5EUUFnR3lBUElCcHFMUUFBSWhZZ0Uyc2lHU0FaUVI5MUlobHFJQmx6VFEwQUlCVWdDaUFNSUJNZ0ZHdEJBblFnRm1zZ0VHcEJCR3BCQTNVaUJpQUdJQXhLR3lBR0lBcElHeUlHSUJScVFjQTFhaTBBQURvQUFDQVBJQk1nQm10QndEVnFMUUFBT2dBQUlBZ29BZ1FoQmdzQ1FDQUhRUWRxSWc4Z0Yyb2lGUzBBQUNJVUlBY3RBQWNpRTJzaUd5QWJRUjkxSWh0cUlCdHpJQVpQRFFBZ0NTZ0NDQ0liSUE4Z0ttb3RBQUFpRUNBVWF5SVdJQlpCSDNVaUZtb2dGbk5ORFFBZ0d5QVBJQnBxTFFBQUloWWdFMnNpR1NBWlFSOTFJaGxxSUJselRRMEFJQlVnQ2lBTUlCTWdGR3RCQW5RZ0Ztc2dFR3BCQkdwQkEzVWlCaUFHSUF4S0d5QUdJQXBJR3lJR0lCUnFRY0ExYWkwQUFEb0FBQ0FQSUJNZ0JtdEJ3RFZxTFFBQU9nQUFJQWdvQWdRaEJnc2dFU2dDR0NBSUtBSUFha0VCYXkwQUFDSU1RWDl6SVFvZ0RFRUJhaUVNQWtBZ0VrRUdhaUlQSUJkcUloVXRBQUFpRkNBU0xRQUdJaE5ySWhzZ0cwRWZkU0liYWlBYmN5QUdUdzBBSUFrb0FnZ2lHeUFQSUNwcUxRQUFJaEFnRkdzaUZpQVdRUjkxSWhacUlCWnpUUTBBSUJzZ0R5QWFhaTBBQUNJV0lCTnJJaGtnR1VFZmRTSVphaUFaYzAwTkFDQVZJQW9nRENBVElCUnJRUUowSUJacklCQnFRUVJxUVFOMUlnWWdCaUFNU2hzZ0JpQUtTQnNpQmlBVWFrSEFOV290QUFBNkFBQWdEeUFUSUFaclFjQTFhaTBBQURvQUFDQUlLQUlFSVFZTElBWWdFa0VIYWlJSUlCZHFJaE10QUFBaUR5QVNMUUFISWhSckloVWdGVUVmZFNJVmFpQVZjMDBOQUNBSktBSUlJZ1lnQ0NBcWFpMEFBQ0lKSUE5ckloVWdGVUVmZFNJVmFpQVZjMDBOQUNBR0lBZ2dHbW90QUFBaUZTQVVheUliSUJ0QkgzVWlHMm9nRzNOTkRRQWdFeUFQSUFvZ0RDQVVJQTlyUVFKMElCVnJJQWxxUVFScVFRTjFJZ1lnQmlBTVNoc2dCaUFLU0JzaUJtcEJ3RFZxTFFBQU9nQUFJQWdnRkNBR2EwSEFOV290QUFBNkFBQUxJQklnSUdvaEVpQUhJQ0JxSVFjZ0VVRkFheUVSSUJ4QkFYRWhDRUVBSVJ4QkFpRUdJQWdOQUFzZ0t5Z0NDQ0VSQzBFQUlDSkJBV29pQmlBR0lCOUdJZ1liSVNJZ0RrSFlBV29oRGlBR0lEbHFJamtnRVVrTkFBc0xJQTFCc0FGcUpBQWdBRUlBTndLb0NRSkFJQUFvQXBnSklnbEZEUUFnQ1VFRGNTRUhJQUFvQXJ3SklRaEJBQ0VHSUFsQkFXdEJBMDhFUUNBSlFYeHhJUTBEUUNBSUlBWkIyQUZzYWlJSlFRQTJBc1FCSUFsQkFEWUNCQ0FJSUFaQkFYSkIyQUZzYWlJSlFRQTJBc1FCSUFsQkFEWUNCQ0FJSUFaQkFuSkIyQUZzYWlJSlFRQTJBc1FCSUFsQkFEWUNCQ0FJSUFaQkEzSkIyQUZzYWlJSlFRQTJBc1FCSUFsQkFEWUNCQ0FHUVFScUlRWWdEVUVFYXlJTkRRQUxDeUFIUlEwQUEwQWdDQ0FHUWRnQmJHb2lDVUVBTmdMRUFTQUpRUUEyQWdRZ0JrRUJhaUVHSUFkQkFXc2lCdzBBQ3dzZ0FDZ0NFQ0VJUVFBaEJrRUJJUkVDUUNBQUtBTDBERVVOQUFOQUFrQUNRQ0FBSUFaQkZHeHFRZmdNYWlnQ0FBNEdBd0FBQUFBQkFBc2dCa0VCYWlFR0RBRUxDMEVBSVJFTEFrQUNmd0pBQWtBQ1FBSkFBa0FnQ0NnQ0VBNENBQUVDQ3lBQUtBTFFDaUlQUVFWR0JFQWdBRUlBTndLRUNpQUFLQUxzQ2lFR1FRQWhDZ3dFQ3lBQUtBS0VDaUlLSUFBb0F1d0tJZ1pORFFNZ0NpQUdheUFJS0FJVUlnZEJBWFpKRFFNZ0FDZ0NpQW9nQjJvTUJBdEJBQ0VHQW45QkFDQUFLQUxRQ2lJUFFRVkdEUUFhSUFBb0FwQUtJZ2NnQUNnQ2pBb2dBQ2dDNUFwTkRRQWFJQWdvQWd3Z0Iyb0xJUm9DZnlBSUtBSWtJZzRFUUNBQUtBTGtDaUFhYWlFR0N5QUdJQUFvQXRRS0loTkZJQVpCQUVkeGF5SVVDd1JBSUJSQkFXc2lCaUFHSUE1dUlpY2dEbXhySVJnTFFRQWhCMEVBSVFvQ1FDQU9SUTBBSUE1QkEzRWhFaUFJS0FJb0lRWkJBQ0VKSUE1QkFXdEJBMDhFUUVFQUlRd2dEa0Y4Y1NJSklRNERRQ0FHSUF4QkFuUWlEVUVNY21vb0FnQWdCaUFOUVFoeWFpZ0NBQ0FHSUExQkJISnFLQUlBSUFZZ0RXb29BZ0FnQ21wcWFtb2hDaUFNUVFScUlRd2dEa0VFYXlJT0RRQUxDeUFTUlEwQUEwQWdCaUFKUVFKMGFpZ0NBQ0FLYWlFS0lBbEJBV29oQ1NBU1FRRnJJaElOQUFzTElCUUVRQ0FLSUNkc0lRY2dDQ2dDS0NFSlFRQWhCZ05BSUFrZ0JrRUNkR29vQWdBZ0Iyb2hCeUFHUVFGcUlnWWdHRTBOQUFzTElCTkZCRUFnQ0NnQ0hDQUhhaUVIQ3lBUlJRMEJJQWdvQWlBaEJpQUFLQUw0Q2lFSUlBQWdHallDa0FvZ0FDQUFLQUxrQ2pZQ2pBb2dBQ2dDOUFvZ0JpQUlhaUlHUVI5MUlBWnhJQWRxYWlFR0RBUUxRUUFoQ2tFQUlRWWdBQ2dDMEFvaUQwRUZSd1JBSUFBb0FwQUtJUW9nQUNnQzVBb2lCaUFBS0FLTUNra0VRQ0FJS0FJTUlBcHFJUW9MSUFZZ0NtcEJBWFFnQUNnQzFBcEZheUVHQ3lBUlJRMEFJQUFnQ2pZQ2tBb2dBQ0FBS0FMa0NqWUNqQW9NQXdzZ0FFSUFOd0tNQ2tFQUlRWU1BZ3NDUUNBR0lBcE5EUUFnQmlBS2F5QUlLQUlVSWdkQkFYWk5EUUFnQUNnQ2lBb2dCMnNNQVFzZ0FDZ0NpQW9MSVFnZ0FDZ0MxQXBGQkVBZ0JpQUlhaUFBS0FMd0NpSUdRUjkxSUFaeGFpRUdEQUVMSUFBZ0NEWUNpQW9nQUNnQzhBb2hCeUFSUlFSQVFRQWhCaUFBUVFBMkFvZ0tJQUJCQUNBSGF5QUhRUjkxY1RZQ2hBb01BUXNnQUNBR05nS0VDaUFHSUFocUlBZEJIM1VnQjNGcUlRWUxBa0FnQUNnQ3BBbEZEUUFnRDBFRlJpRUhJQUFvQXJnS0lRZ2dBQ2dDdEFraENTQUFLQUs0Q1NFS0lBQW9BdVFLSVF3Z0FDZ0MxQW9FUUNBNElGUWdDQ0FNSUFZZ0J5QUtJQWtRSEF3QkN5QTRRUUFnQ0NBTUlBWWdCeUFLSUFrUUhBc2dBRUlBTndLZ0NVRUJJUXBCQVNFTURBRUxRUUFoQ2tFRElRd0xJQXhCQlhGRkRRQUxJQW9FUUNBRUlBQW9BaEFpQVNnQ05FRUVkRFlDQUNBRklBRW9BamhCQkhRMkFnQWdBQ0FBS0FMWUNTSUJRUUZxTmdMWUNTQURJQUFvQXRBSklBRkJCSFJxS0FJQU5nSUFDeUFMUWZBQmFpUUFJQXdMVEFFQ2YwRUJJUUlnQUVFQVFjUWFFQU1pQUVHMENtcEJBVFlDQUNBQVFvQ0NnSUNBQkRjQ0JDQUFRY0FRRUFnaUF6WUNzQm9nQXdSL0lBRUVRQ0FBUVFFMkFzQUpDMEVBQlVFQkN3c0x4aklhQUVHR0NBdktCV1lnSmhBR0NHVVlaUmhERUVNUVF4QkRFRU1RUXhCREVFTVFJZ2dpQ0NJSUlnZ2lDQ0lJSWdnaUNDSUlJZ2dpQ0NJSUlnZ2lDQ0lJSWdnQUFBQUFBQUFBQUdwQVNqQXFLQW9nYVRocE9Fa29TU2dwSUNrZ0NSZ0pHR2d3YURCb01HZ3dTQ0JJSUVnZ1NDQW9HQ2dZS0Jnb0dBZ1FDQkFJRUFnUVp5aG5LR2NvWnlobktHY29aeWhuS0VjWVJ4aEhHRWNZUnhoSEdFY1lSeGh1WUU1WUxsQU9VRzVZVGxBdVNBNUlEVUFOUUUxSVRVZ3RRQzFBRFRnTk9HMVFiVkJOUUUxQUxUZ3RPQTB3RFRCclNHdElhMGhyU0d0SWEwaHJTR3RJU3poTE9FczRTemhMT0VzNFN6aExPQ3N3S3pBck1Dc3dLekFyTUNzd0t6QUxLQXNvQ3lnTEtBc29DeWdMS0Fzb0FBQUFBQzlvTDJnUWdGQ0FNSUFRZUhDQVVIZ3dlQkJ3Y0hoUWNEQndFR2h2Y0c5d1QyaFBhQzlnTDJBUFlBOWdiMmh2YUU5Z1QyQXZXQzlZRDFnUFdBQUFBQUFBQUFBQVpqaEdJQ1lnQmhCbU1FWVlKaGdHQ0dVb1pTZ2xFQ1VRWkNCa0lHUWdaQ0JrR0dRWVpCaGtHRU1RUXhCREVFTVFReEJERUVNUVF4QUFBQUFBQUFBQUFHbElTVGdwT0Frd0NDZ0lLRWd3U0RBb01DZ3dDQ0FJSUdkQVowQm5RR2RBUnloSEtFY29SeWduS0Njb0p5Z25LQWNZQnhnSEdBY1lBQUFBQUcxNGJYaHVnRTZBTG9BT2dDNTREbmhPZUM1d1RYQk5jQTF3RFhCdGNHMXdUV2hOYUMxb0xXZ05hQTFvYldodGFFMWdUV0F0WUMxZ0RXQU5ZQXhZREZnTVdBeFlURmhNV0V4WVRGZ3NXQ3hZTEZnc1dBeFFERkFNVUF4UWJHQnNZR3hnYkdCTVVFeFFURkJNVUN4UUxGQXNVQ3hRREVnTVNBeElERWhyV0d0WWExaHJXR3RZYTFocldHdFlTMGhMU0V0SVMwaExTRXRJUzBoTFNDdElLMGdyU0N0SUswZ3JTQ3RJSzBnTFFBdEFDMEFMUUF0QUMwQUxRQXRBYTFCclVHdFFhMUJyVUd0UWExQnJVRXRBUzBCTFFFdEFTMEJMUUV0QVMwQXJRQ3RBSzBBclFDdEFLMEFyUUN0QUN6Z0xPQXM0Q3pnTE9BczRDemdMT0FCQjRBMExyZ2tHR0VZNEpqZ0dFR1pJUmpBbU1BWUlKU2dsS0VVb1JTZ2xJQ1VnUlNCRklDVVlKUmhsUUdWQVJSaEZHQ1VRSlJCa09HUTRaRGhrT0dRd1pEQmtNR1F3WkNoa0tHUW9aQ2hrSUdRZ1pDQmtJR1FZWkJoa0dHUVlSQkJFRUVRUVJCQWtDQ1FJSkFna0NBUUFCQUFFQUFRQUFBQUtnR3FBU29BcWdBcDRhbmhLZUNwNENuQnFjRXB3S25BS2FDbG9LV2dKWUFsZ1NXaEphQ2xnS1dBSldBbFlhV2hwYUVsZ1NXQXBXQ2xZQ1ZBSlVHaGdhR0JvWUdoZ1NGaElXRWhZU0Znb1VDaFFLRkFvVUFoSUNFZ0lTQWhJYUZob1dHaFlhRmhJVUVoUVNGQklVQ2hJS0Vnb1NDaElDRUFJUUFoQUNFQUhPQWM0QnpnSE9BYzRCemdIT0FjNEJ6QUhNQWN3QnpBSE1BY3dCekFITUVkSVIwaEhTRWRJUjBoSFNFZElSMGdIS0Fjb0J5Z0hLQWNvQnlnSEtBY29aMUJuVUdkUVoxQm5VR2RRWjFCblVFZEFSMEJIUUVkQVIwQkhRRWRBUjBBblFDZEFKMEFuUUNkQUowQW5RQ2RBQnlBSElBY2dCeUFISUFjZ0J5QUhJQVlJSmdnQUFBWUFCaEFtRUVZUUFBQUdHQ1lZUmhobUdBWWdKaUJHSUdZZ0JpZ21LRVlvWmlnR01DWXdSakJtTUFZNEpqaEdPR1k0QmtBbVFFWkFaa0FHU0NaSVJraG1TQVpRSmxCR1VHWlFCbGdtV0VaWVpsZ0dZQ1pnUm1CbVlBWm9KbWhHYUdab0JuQW1jRVp3Wm5BR2VDWjRSbmhtZUFhQUpvQkdnR2FBQUFCREVBSUFBZ0FoQ0NFSUlRZ2hDR2NnWnlCSUlDZ2dSeGhIR0NjWUp4Z0dJQVlnQmlBR0lBWVlCaGdHR0FZWUJoQUdFQVlRQmhCbUdHWVlaaGhtR0NZUUpoQW1FQ1lRQmdnR0NBWUlCZ2dBQUdWVlJFUTBOQ01qSXlNVEV4TVRBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRDU2ZG5JeUxpNHA2ZW5wNWVYbDVlR2hvYUdob2FHaG5aMmRuWjJkbloyNXRiR3RxV2xsWldFaElTRWRIUjBkR1JrWkdSVVZGUlVRME5EUTBORFEwTXpNek16TXpNek15TWpJeU1qSXlNakV4TVRFeE1URXhNREF3TURBd01EQTlhMnhjV2xwWldWaElTRWhGUlVWRlJFUkVSRUJBUUVCSE56YzNOemMzTnpZMk5qWTJOalkyTXpNek16TXpNek15TWpJeU1qSXlNakV4TVRFeE1URXhQRnRhVUZsSlIwZERRMEpDU0RnNE9EWTJOalkxTlRVMU5EUTBOREV4TVRFN1dWcEtTRWhDUWtGQlFFQkhOemMzTmpZMk5qVTFOVFUwTkRRME16TXpNenBnWVZGWVNFaElTVGs1T1RrNU9UazNOemMzTnpjM056WTJOalkyTmpZMk5UVTFOVFUxTlRVME5EUTBORFEwTkRNek16TXpNek16TWpJeU1qSXlNakk1WUdGUlYwZEhSMGc0T0RnNE9EZzROalkyTmpZMk5qWTBORFEwTkRRME5ETXpNek16TXpNek1qSXlNakl5TWpJMUpTVWxKU1VsSlNVbEpTVWxKU1VsS0dCaVVsRkJRVUZITnpjM056YzNOelkyTmpZMk5qWTJNek16TXpNek16TTFKU1VsSlNVbEpTVWxKU1VsSlNVbEpDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNGZ1oxZFNRa0pDUlRVMU5UVTFOVFUySmlZbUppWW1KaVltSmlZbUppWW1KQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDTWpJeU1qSXlNakl5TWpJeU1qSXlNaFVGWkdRakl5TWpVbEpTVWxKU1VsSkNRa0pDUWtKQ1FqSXlNakl5TWpJeUJCUWpJek16VTFOQlFVRkJRVUZCUVFRVVEwTWlJaUlpTVRFeE1URXhNVEVERXpJeUlTRWhJUUlTSVNFUkFTSVNBUUV5SWhJQ1F6TWlJaElTQWdKVFF6TWpFaElDQWhNalF6TmpVd0lDQUVHZ0Z3c2tCQVFGQmdjSUNRb01EUThSRkJZWkhDQWtLQzB5T0Q5SFVGcGxjWCtRb3JiTDR2Ly9BRUhnRndza0FnSUNBd01EQXdRRUJBWUdCd2NJQ0FrSkNnb0xDd3dNRFEwT0RnOFBFQkFSRVJJU0FFSEZHQXVFQVFFQUFBRUFBQUVBQUFFQUFRRUFBUUVCQVFFQkFRRUJBUUVCQVFFQkFRSUJBUUlCQVFJQkFRSUJBZ01CQWdNQ0FnTUNBZ1FDQXdRQ0F3UURBd1VEQkFZREJBWUVCUWNFQlFnRUJna0ZCd29HQ0FzR0NBMEhDZzRJQ3hBSkRCSUtEUlFMRHhjTkVSa0FBQUFBQUFBQUFBVUFBQUQvQUFBQUFBQUFBUDhBQUFBQUFBQUEvd0JCMUJrTEZRVUFBQUFBQUFBQUJ3QUFBUDhBQUFBQUFBQUEvd0JCOUJrTEZRVUFBQUFFQUFBQUFBQUFBUDhBQUFBQUFBQUEvd0JCbEJvTEJRVUFBQUFFQUVHa0dndWxBUWNBQUFBRUFBQUFBZ0FBQUFRQUFBQUJBQUFBL3dBQUFBQUFBQUQvQUFBQUFBQUFBUDhBQUFBQUFBQUFCQUFBQUFFQUFBQUVBQUFBQXdBQUFQOEFBQUFBQUFBQS93QUFBQUFBQUFBRUFBQUFBUUFBQUFRQUFBQUVBQUFBL3dBQUFBQUFBQUQvQUFBQUFBQUFBQVFBQUFBQkFBQUFCQUFBQUFRQUFBQUVBQUFBQXdBQUFBUUFBQUFHQUFBQUFBQUFBQTBBQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBL3dCQjFCc0xGUTBBQUFBQUFBQUFEd0FBQVA4QUFBQUFBQUFBL3dCQjlCc0xGUTBBQUFBRUFBQUFDQUFBQVA4QUFBQUFBQUFBL3dCQmxCd0x0UXNOQUFBQUJBQUFBQWdBQUFBQUFBQUFEd0FBQUFRQUFBQUtBQUFBQkFBQUFBa0FBQUQvQUFBQUFBQUFBUDhBQUFBQUFBQUEvd0FBQUFBQUFBQUVBQUFBQ1FBQUFBUUFBQUFMQUFBQS93QUFBQUFBQUFEL0FBQUFBQUFBQUFRQUFBQUpBQUFBQkFBQUFBd0FBQUQvQUFBQUFBQUFBUDhBQUFBQUFBQUFCQUFBQUFrQUFBQUVBQUFBREFBQUFBUUFBQUFMQUFBQUJBQUFBQTRBQUFBQkFBQUFDZ0FBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUQvQUFBQUFBQUFBQUVBQUFBS0FBQUFCQUFBQUFBQUFBRC9BQUFBQUFBQUFQOEFBQUFBQUFBQUFRQUFBQW9BQUFBQkFBQUFDd0FBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUFCQUFBQUNnQUFBQUVBQUFBTEFBQUFCQUFBQUFBQUFBQUVBQUFBQVFBQUFBRUFBQUFPQUFBQS93QUFBQUFBQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBQVFBQUFBNEFBQUFFQUFBQUJBQUFBUDhBQUFBQUFBQUEvd0FBQUFBQUFBQUJBQUFBRGdBQUFBRUFBQUFQQUFBQS93QUFBQUFBQUFEL0FBQUFBQUFBQUFFQUFBQU9BQUFBQVFBQUFBOEFBQUFFQUFBQUJBQUFBQVFBQUFBRkFBQUFCQUFBQUFJQUFBRC9BQUFBQUFBQUFQOEFBQUFBQUFBQS93QUFBQUFBQUFBRUFBQUFBZ0FBQUFRQUFBQUlBQUFBL3dBQUFBQUFBQUQvQUFBQUFBQUFBQVFBQUFBQ0FBQUFCQUFBQUFNQUFBRC9BQUFBQUFBQUFQOEFBQUFBQUFBQUJBQUFBQUlBQUFBRUFBQUFBd0FBQUFRQUFBQUlBQUFBQkFBQUFBa0FBQUFFQUFBQUJnQUFBUDhBQUFBQUFBQUEvd0FBQUFBQUFBRC9BQUFBQUFBQUFBUUFBQUFHQUFBQUJBQUFBQXdBQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBQkFBQUFBWUFBQUFFQUFBQUJ3QUFBUDhBQUFBQUFBQUEvd0FBQUFBQUFBQUVBQUFBQmdBQUFBUUFBQUFIQUFBQUJBQUFBQXdBQUFBRUFBQUFEUUFBQUFFQUFBQU9BQUFBL3dBQUFBQUFBQUQvQUFBQUFBQUFBUDhBQUFBQUFBQUFBUUFBQUE0QUFBRC9BQUFBQkFBQUFQOEFBQUFBQUFBQS93QUFBQUFBQUFBQkFBQUFDd0FBQUFFQUFBQU9BQUFBL3dBQUFBQUFBQUQvQUFBQUFBQUFBQUVBQUFBTEFBQUFBUUFBQUE0QUFBQUVBQUFBQVFBQUFQOEFBQUFFQUFBQUFnQUFBQW9BQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUFDQUFBQUNnQUFBUDhBQUFBQUFBQUEvd0FBQUFBQUFBRC9BQUFBQUFBQUFBRUFBQUFQQUFBQUFnQUFBQW9BQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBQVFBQUFBOEFBQUFDQUFBQUNnQUFBQVFBQUFBRkFBQUEvd0FBQUFBQUFBQUVBQUFBQmdBQUFQOEFBQUFBQUFBQS93QUFBQUFBQUFEL0FBQUFBQUFBQUFRQUFBQUdBQUFBL3dBQUFBd0FBQUQvQUFBQUFBQUFBUDhBQUFBQUFBQUFCQUFBQUFNQUFBQUVBQUFBQmdBQUFQOEFBQUFBQUFBQS93QUFBQUFBQUFBRUFBQUFBd0FBQUFRQUFBQUdBQUFBQkFBQUFBa0FBQUQvQUFBQURBQUFBUDhBQUFBQ0FBQUEvd0FBQUFBQUFBRC9BQUFBQUFBQUFQOEFBQUFBQUFBQS93QUFBQUlBQUFEL0FBQUFDQUFBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUFFQUFBQUJ3QUFBUDhBQUFBQ0FBQUEvd0FBQUFBQUFBRC9BQUFBQUFBQUFBUUFBQUFIQUFBQS93QUFBQUlBQUFBRUFBQUFEUUFBQVA4QUFBQUlBQUFBQXdBQUFBOEFBQUQvQUFBQUFBQUFBUDhBQUFBQUFBQUEvd0FBQUFBQUFBQURBQUFBRHdBQUFBQUFBQUFGQUFBQS93QUFBQUFBQUFEL0FBQUFBQUFBQUFNQUFBQVBBQUFBQVFBQUFBb0FBQUQvQUFBQUFBQUFBUDhBQUFBQUFBQUFBd0FBQUE4QUFBQUJBQUFBQ2dBQUFBQUFBQUFGQUFBQUJBQUFBQUFBQUFBQkFBQUFDd0FBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUQvQUFBQUFBQUFBQUVBQUFBTEFBQUFCQUFBQUFFQUFBRC9BQUFBQUFBQUFQOEFBQUFBQUFBQUFRQUFBQXNBQUFBQkFBQUFEZ0FBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUFCQUFBQUN3QUFBQUVBQUFBT0FBQUFCQUFBQUFFQUFBQUVBQUFBQkFBQUFBQUFBQUFIQUFBQS93QUFBQUFBQUFEL0FBQUFBQUFBQVA4QVFkUW5DeFVIQUFBQUFBQUFBQTBBQUFEL0FBQUFBQUFBQVA4QVFmUW5DeFVIQUFBQUJBQUFBQUlBQUFEL0FBQUFBQUFBQVA4QVFaUW9DOWtCQndBQUFBUUFBQUFDQUFBQUFBQUFBQTBBQUFBRUFBQUFDQUFBQUFRQUFBQURBQUFBL3dBQUFBQUFBQUQvQUFBQUFBQUFBUDhBQUFBQUFBQUFCQUFBQUFNQUFBQUVBQUFBQ1FBQUFQOEFBQUFBQUFBQS93QUFBQUFBQUFBRUFBQUFBd0FBQUFRQUFBQUdBQUFBL3dBQUFBQUFBQUQvQUFBQUFBQUFBQVFBQUFBREFBQUFCQUFBQUFZQUFBQUVBQUFBQ1FBQUFBUUFBQUFNQUFBQUFBQUFBQVFBQUFBQUFBQUFCQUFBQUFnQUFBQU1BQUFBQ0FBQUFBd0FBQUFBQUFBQUJBQUFBQUFBQUFBRUFBQUFDQUFBQUF3QUFBQUlBQUFBREFCQitDa0xCUVFBQUFBRUFFR0lLZ3R4QkFBQUFBUUFBQUFJQUFBQUNBQUFBQXdBQUFBTUFBQUFDQUFBQUFnQUFBQU1BQUFBREFBQUFBQUFBQUFCQUFBQUJBQUFBQVVBQUFBQ0FBQUFBd0FBQUFZQUFBQUhBQUFBQ0FBQUFBa0FBQUFNQUFBQURRQUFBQW9BQUFBTEFBQUFEZ0FBQUE4QUFBQUFBQUFBQVFBQUFBRUFRWVFyQ3hFQkFBQUFBUUFBQUFFQUFBQUNBQUFBQWdCQnBDc0xCUVVBQUFBRUFFRzBLd3VKQmdjQUFBQUVBQUFBQWdBQUFBUUFBQUFCQUFBQUJBQUFBQVFBQUFBRUFBQUFBd0FBQUFRQUFBQUdBQUFBQUFBQUFBMEFBQUFFQUFBQUNBQUFBQUFBQUFBUEFBQUFCQUFBQUFvQUFBQUVBQUFBQ1FBQUFBUUFBQUFNQUFBQUJBQUFBQXNBQUFBRUFBQUFEZ0FBQUFBQUFBQVJBQUFBQkFBQUFCQUFBQUFBQUFBQUV3QUFBQVFBQUFBU0FBQUFBQUFBQUJVQUFBQUVBQUFBRkFBQUFBQUFBQUFYQUFBQUJBQUFBQllBQUFBQkFBQUFDZ0FBQUFFQUFBQUxBQUFBQkFBQUFBQUFBQUFFQUFBQUFRQUFBQUVBQUFBT0FBQUFBUUFBQUE4QUFBQUVBQUFBQkFBQUFBUUFBQUFGQUFBQUJBQUFBQUlBQUFBRUFBQUFBd0FBQUFRQUFBQUlBQUFBQkFBQUFBa0FBQUFFQUFBQUJnQUFBQVFBQUFBSEFBQUFCQUFBQUF3QUFBQUVBQUFBRFFBQUFBRUFBQUFTQUFBQUFRQUFBQk1BQUFBRUFBQUFFQUFBQUFRQUFBQVJBQUFBQVFBQUFCWUFBQUFCQUFBQUZ3QUFBQVFBQUFBVUFBQUFCQUFBQUJVQUFBQUJBQUFBQ3dBQUFBRUFBQUFPQUFBQUJBQUFBQUVBQUFEL0FBQUFCQUFBQUFFQUFBQVBBQUFBQWdBQUFBb0FBQUFFQUFBQUJRQUFBUDhBQUFBQUFBQUFCQUFBQUFNQUFBQUVBQUFBQmdBQUFBUUFBQUFKQUFBQS93QUFBQXdBQUFBRUFBQUFCd0FBQVA4QUFBQUNBQUFBQkFBQUFBMEFBQUQvQUFBQUNBQUFBQUVBQUFBVEFBQUFBZ0FBQUJJQUFBQUVBQUFBRVFBQUFQOEFBQUFRQUFBQUFRQUFBQmNBQUFBQ0FBQUFGZ0FBQUFRQUFBQVZBQUFBL3dBQUFCUUFBQUFEQUFBQUR3QUFBQUVBQUFBS0FBQUFBQUFBQUFVQUFBQUVBQUFBQUFBQUFBRUFBQUFMQUFBQUFRQUFBQTRBQUFBRUFBQUFBUUFBQUFRQUFBQUVBQUFBQUFBQUFBY0FBQUFFQUFBQUFnQUFBQUFBQUFBTkFBQUFCQUFBQUFnQUFBQUVBQUFBQXdBQUFBUUFBQUFHQUFBQUJBQUFBQWtBQUFBRUFBQUFEQUFBQUFNQUFBQVRBQUFBQVFBQUFCSUFBQUFBQUFBQUVRQUFBQVFBQUFBUUFBQUFBd0FBQUJjQUFBQUJBQUFBRmdBQUFBQUFBQUFWQUFBQUJBQUFBQlFBQUFBQkFBQUFBUUFBQUFJQUFBQUNBQUFBQXdBQUFBTUFBQUFEQUFBQUF3QkJ3VFVMdkFZQkFnTUVCUVlIQ0FrS0N3d05EZzhRRVJJVEZCVVdGeGdaR2hzY0hSNGZJQ0VpSXlRbEppY29LU29yTEMwdUx6QXhNak0wTlRZM09EazZPenc5UGo5QVFVSkRSRVZHUjBoSlNrdE1UVTVQVUZGU1UxUlZWbGRZV1ZwYlhGMWVYMkJoWW1Oa1pXWm5hR2xxYTJ4dGJtOXdjWEp6ZEhWMmQzaDVlbnQ4Zlg1L2dJR0NnNFNGaG9lSWlZcUxqSTJPajVDUmtwT1VsWmFYbUptYW01eWRucCtnb2FLanBLV21wNmlwcXF1c3JhNnZzTEd5czdTMXRyZTR1YnE3dkwyK3Y4REJ3c1BFeGNiSHlNbkt5OHpOenMvUTBkTFQxTlhXMTlqWjJ0dmMzZDdmNE9IaTQrVGw1dWZvNmVycjdPM3U3L0R4OHZQMDlmYjMrUG42Ky96OS92Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy93QUFBQUFCQUFBQUFnQUFBQU1BQUFBRUFBQUFCUUFBQUFZQUFBQUhBQUFBQ0FBQUFBa0FBQUFLQUFBQUN3QUFBQXdBQUFBTkFBQUFEZ0FBQUE4QVFZWThDeTRCQVFFQkFRRUNBZ0lDQWdJREF3TURBd01FQkFRRUJBUUZCUVVGQlFVR0JnWUdCZ1lIQndjSEJ3Y0lDQWdJQUVIQVBBdEZDZ0FBQUEwQUFBQVFBQUFBQ3dBQUFBNEFBQUFTQUFBQURRQUFBQkFBQUFBVUFBQUFEZ0FBQUJJQUFBQVhBQUFBRUFBQUFCUUFBQUFaQUFBQUVnQUFBQmNBQUFBZEFFR1JQUXN6QVFJREJBVUFBUUlEQkFVQUFRSURCQVVBQVFJREJBVUFBUUlEQkFVQUFRSURCQVVBQVFJREJBVUFBUUlEQkFVQUFRSURBRUhVUFF1c0FnRUFBQUFDQUFBQUF3QUFBQVFBQUFBRkFBQUFCZ0FBQUFjQUFBQUlBQUFBQ1FBQUFBb0FBQUFMQUFBQURBQUFBQTBBQUFBT0FBQUFEd0FBQUJBQUFBQVJBQUFBRWdBQUFCTUFBQUFVQUFBQUZRQUFBQllBQUFBWEFBQUFHQUFBQUJrQUFBQWFBQUFBR3dBQUFCd0FBQUFkQUFBQUhRQUFBQjRBQUFBZkFBQUFJQUFBQUNBQUFBQWhBQUFBSWdBQUFDSUFBQUFqQUFBQUl3QUFBQ1FBQUFBa0FBQUFKUUFBQUNVQUFBQWxBQUFBSmdBQUFDWUFBQUFtQUFBQUp3QUFBQ2NBQUFBbkFBQUFKd0FBQUM4ZkR3QVhHeDBlQndzTkRpY3JMUzRRQXdVS0RCTVZHaHdqSlNvc0FRSUVDQkVTRkJnR0NSWVpJQ0VpSkNnbUtRQVFBUUlFQ0NBREJRb01EeThIQ3cwT0Jna2ZJeVVxTENFaUpDZ25LeTB1RVJJVUdCTVZHaHdYR3gwZUZoa21LUUJCZ2NBQUN3SWlVQT09IiwgVyhoKSB8fCAoaCA9IFUoaCkpOwogICAgZnVuY3Rpb24gdShJKSB7CiAgICAgIHRyeSB7CiAgICAgICAgaWYgKEkgPT0gaCAmJiBIKQogICAgICAgICAgcmV0dXJuIG5ldyBVaW50OEFycmF5KEgpOwogICAgICAgIHZhciBnID0geihJKTsKICAgICAgICBpZiAoZykKICAgICAgICAgIHJldHVybiBnOwogICAgICAgIGlmIChNKQogICAgICAgICAgcmV0dXJuIE0oSSk7CiAgICAgICAgdGhyb3cgImJvdGggYXN5bmMgYW5kIHN5bmMgZmV0Y2hpbmcgb2YgdGhlIHdhc20gZmFpbGVkIjsKICAgICAgfSBjYXRjaCAoUSkgewogICAgICAgIGMoUSk7CiAgICAgIH0KICAgIH0KICAgIGZ1bmN0aW9uIGlBKCkgewogICAgICByZXR1cm4gIUggJiYgcyAmJiB0eXBlb2YgZmV0Y2ggPT0gImZ1bmN0aW9uIiA/IGZldGNoKGgsIHsKICAgICAgICBjcmVkZW50aWFsczogInNhbWUtb3JpZ2luIgogICAgICB9KS50aGVuKGZ1bmN0aW9uKEkpIHsKICAgICAgICBpZiAoIUkub2spCiAgICAgICAgICB0aHJvdyAiZmFpbGVkIHRvIGxvYWQgd2FzbSBiaW5hcnkgZmlsZSBhdCAnIiArIGggKyAiJyI7CiAgICAgICAgcmV0dXJuIEkuYXJyYXlCdWZmZXIoKTsKICAgICAgfSkuY2F0Y2goZnVuY3Rpb24oKSB7CiAgICAgICAgcmV0dXJuIHUoaCk7CiAgICAgIH0pIDogUHJvbWlzZS5yZXNvbHZlKCkudGhlbihmdW5jdGlvbigpIHsKICAgICAgICByZXR1cm4gdShoKTsKICAgICAgfSk7CiAgICB9CiAgICBmdW5jdGlvbiBEQSgpIHsKICAgICAgdmFyIEkgPSB7CiAgICAgICAgYTogTkEKICAgICAgfTsKICAgICAgZnVuY3Rpb24gZyhpLCBvKSB7CiAgICAgICAgdmFyIE4gPSBpLmV4cG9ydHM7CiAgICAgICAgQS5hc20gPSBOLCBLID0gQS5hc20uYywgWChLLmJ1ZmZlciksIHAgPSBBLmFzbS5sLCBRQShBLmFzbS5kKSwgRUEoKTsKICAgICAgfQogICAgICBCQSgpOwogICAgICBmdW5jdGlvbiBRKGkpIHsKICAgICAgICBnKGkuaW5zdGFuY2UpOwogICAgICB9CiAgICAgIGZ1bmN0aW9uIEIoaSkgewogICAgICAgIHJldHVybiBpQSgpLnRoZW4oZnVuY3Rpb24obykgewogICAgICAgICAgcmV0dXJuIFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKG8sIEkpOwogICAgICAgIH0pLnRoZW4oZnVuY3Rpb24obykgewogICAgICAgICAgcmV0dXJuIG87CiAgICAgICAgfSkudGhlbihpLCBmdW5jdGlvbihvKSB7CiAgICAgICAgICBrKCJmYWlsZWQgdG8gYXN5bmNocm9ub3VzbHkgcHJlcGFyZSB3YXNtOiAiICsgbyksIGMobyk7CiAgICAgICAgfSk7CiAgICAgIH0KICAgICAgZnVuY3Rpb24geSgpIHsKICAgICAgICByZXR1cm4gIUggJiYgdHlwZW9mIFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlU3RyZWFtaW5nID09ICJmdW5jdGlvbiIgJiYgIVcoaCkgJiYgdHlwZW9mIGZldGNoID09ICJmdW5jdGlvbiIgPyBmZXRjaChoLCB7CiAgICAgICAgICBjcmVkZW50aWFsczogInNhbWUtb3JpZ2luIgogICAgICAgIH0pLnRoZW4oZnVuY3Rpb24oaSkgewogICAgICAgICAgdmFyIG8gPSBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZVN0cmVhbWluZyhpLCBJKTsKICAgICAgICAgIHJldHVybiBvLnRoZW4oUSwgZnVuY3Rpb24oTikgewogICAgICAgICAgICByZXR1cm4gaygid2FzbSBzdHJlYW1pbmcgY29tcGlsZSBmYWlsZWQ6ICIgKyBOKSwgaygiZmFsbGluZyBiYWNrIHRvIEFycmF5QnVmZmVyIGluc3RhbnRpYXRpb24iKSwgQihRKTsKICAgICAgICAgIH0pOwogICAgICAgIH0pIDogQihRKTsKICAgICAgfQogICAgICBpZiAoQS5pbnN0YW50aWF0ZVdhc20pCiAgICAgICAgdHJ5IHsKICAgICAgICAgIHZhciBSID0gQS5pbnN0YW50aWF0ZVdhc20oSSwgZyk7CiAgICAgICAgICByZXR1cm4gUjsKICAgICAgICB9IGNhdGNoIChpKSB7CiAgICAgICAgICByZXR1cm4gaygiTW9kdWxlLmluc3RhbnRpYXRlV2FzbSBjYWxsYmFjayBmYWlsZWQgd2l0aCBlcnJvcjogIiArIGkpLCAhMTsKICAgICAgICB9CiAgICAgIHJldHVybiB5KCkuY2F0Y2goUyksIHt9OwogICAgfQogICAgZnVuY3Rpb24gWihJKSB7CiAgICAgIGZvciAoOyBJLmxlbmd0aCA+IDA7ICkgewogICAgICAgIHZhciBnID0gSS5zaGlmdCgpOwogICAgICAgIGlmICh0eXBlb2YgZyA9PSAiZnVuY3Rpb24iKSB7CiAgICAgICAgICBnKEEpOwogICAgICAgICAgY29udGludWU7CiAgICAgICAgfQogICAgICAgIHZhciBRID0gZy5mdW5jOwogICAgICAgIHR5cGVvZiBRID09ICJudW1iZXIiID8gZy5hcmcgPT09IHZvaWQgMCA/IHAuZ2V0KFEpKCkgOiBwLmdldChRKShnLmFyZykgOiBRKGcuYXJnID09PSB2b2lkIDAgPyBudWxsIDogZy5hcmcpOwogICAgICB9CiAgICB9CiAgICBmdW5jdGlvbiBHQShJLCBnLCBRKSB7CiAgICAgIHIuY29weVdpdGhpbihJLCBnLCBnICsgUSk7CiAgICB9CiAgICBmdW5jdGlvbiBvQShJKSB7CiAgICAgIHRyeSB7CiAgICAgICAgcmV0dXJuIEsuZ3JvdyhJIC0gbS5ieXRlTGVuZ3RoICsgNjU1MzUgPj4+IDE2KSwgWChLLmJ1ZmZlciksIDE7CiAgICAgIH0gY2F0Y2ggewogICAgICB9CiAgICB9CiAgICBmdW5jdGlvbiBoQShJKSB7CiAgICAgIHZhciBnID0gci5sZW5ndGg7CiAgICAgIEkgPSBJID4+PiAwOwogICAgICB2YXIgUSA9IDIxNDc0ODM2NDg7CiAgICAgIGlmIChJID4gUSkKICAgICAgICByZXR1cm4gITE7CiAgICAgIGZvciAodmFyIEIgPSAxOyBCIDw9IDQ7IEIgKj0gMikgewogICAgICAgIHZhciB5ID0gZyAqICgxICsgMC4yIC8gQik7CiAgICAgICAgeSA9IE1hdGgubWluKHksIEkgKyAxMDA2NjMyOTYpOwogICAgICAgIHZhciBSID0gTWF0aC5taW4oUSwgXyhNYXRoLm1heChJLCB5KSwgNjU1MzYpKSwgaSA9IG9BKFIpOwogICAgICAgIGlmIChpKQogICAgICAgICAgcmV0dXJuICEwOwogICAgICB9CiAgICAgIHJldHVybiAhMTsKICAgIH0KICAgIHZhciB5QSA9IHR5cGVvZiBhdG9iID09ICJmdW5jdGlvbiIgPyBhdG9iIDogZnVuY3Rpb24oSSkgewogICAgICB2YXIgZyA9ICJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvPSIsIFEgPSAiIiwgQiwgeSwgUiwgaSwgbywgTiwgZiwgWSA9IDA7CiAgICAgIEkgPSBJLnJlcGxhY2UoL1teQS1aYS16MC05XCtcL1w9XS9nLCAiIik7CiAgICAgIGRvCiAgICAgICAgaSA9IGcuaW5kZXhPZihJLmNoYXJBdChZKyspKSwgbyA9IGcuaW5kZXhPZihJLmNoYXJBdChZKyspKSwgTiA9IGcuaW5kZXhPZihJLmNoYXJBdChZKyspKSwgZiA9IGcuaW5kZXhPZihJLmNoYXJBdChZKyspKSwgQiA9IGkgPDwgMiB8IG8gPj4gNCwgeSA9IChvICYgMTUpIDw8IDQgfCBOID4+IDIsIFIgPSAoTiAmIDMpIDw8IDYgfCBmLCBRID0gUSArIFN0cmluZy5mcm9tQ2hhckNvZGUoQiksIE4gIT09IDY0ICYmIChRID0gUSArIFN0cmluZy5mcm9tQ2hhckNvZGUoeSkpLCBmICE9PSA2NCAmJiAoUSA9IFEgKyBTdHJpbmcuZnJvbUNoYXJDb2RlKFIpKTsKICAgICAgd2hpbGUgKFkgPCBJLmxlbmd0aCk7CiAgICAgIHJldHVybiBROwogICAgfTsKICAgIGZ1bmN0aW9uIGFBKEkpIHsKICAgICAgdHJ5IHsKICAgICAgICBmb3IgKHZhciBnID0geUEoSSksIFEgPSBuZXcgVWludDhBcnJheShnLmxlbmd0aCksIEIgPSAwOyBCIDwgZy5sZW5ndGg7ICsrQikKICAgICAgICAgIFFbQl0gPSBnLmNoYXJDb2RlQXQoQik7CiAgICAgICAgcmV0dXJuIFE7CiAgICAgIH0gY2F0Y2ggewogICAgICAgIHRocm93IG5ldyBFcnJvcigiQ29udmVydGluZyBiYXNlNjQgc3RyaW5nIHRvIGJ5dGVzIGZhaWxlZC4iKTsKICAgICAgfQogICAgfQogICAgZnVuY3Rpb24geihJKSB7CiAgICAgIGlmIChXKEkpKQogICAgICAgIHJldHVybiBhQShJLnNsaWNlKFAubGVuZ3RoKSk7CiAgICB9CiAgICB2YXIgTkEgPSB7CiAgICAgIGI6IEdBLAogICAgICBhOiBoQQogICAgfTsKICAgIERBKCksIEEuX19fd2FzbV9jYWxsX2N0b3JzID0gZnVuY3Rpb24oKSB7CiAgICAgIHJldHVybiAoQS5fX193YXNtX2NhbGxfY3RvcnMgPSBBLmFzbS5kKS5hcHBseShudWxsLCBhcmd1bWVudHMpOwogICAgfSwgQS5faDI2NGJzZEluaXQgPSBmdW5jdGlvbigpIHsKICAgICAgcmV0dXJuIChBLl9oMjY0YnNkSW5pdCA9IEEuYXNtLmUpLmFwcGx5KG51bGwsIGFyZ3VtZW50cyk7CiAgICB9LCBBLl9tYWxsb2MgPSBmdW5jdGlvbigpIHsKICAgICAgcmV0dXJuIChBLl9tYWxsb2MgPSBBLmFzbS5mKS5hcHBseShudWxsLCBhcmd1bWVudHMpOwogICAgfSwgQS5fZnJlZSA9IGZ1bmN0aW9uKCkgewogICAgICByZXR1cm4gKEEuX2ZyZWUgPSBBLmFzbS5nKS5hcHBseShudWxsLCBhcmd1bWVudHMpOwogICAgfSwgQS5faDI2NGJzZERlY29kZSA9IGZ1bmN0aW9uKCkgewogICAgICByZXR1cm4gKEEuX2gyNjRic2REZWNvZGUgPSBBLmFzbS5oKS5hcHBseShudWxsLCBhcmd1bWVudHMpOwogICAgfSwgQS5faDI2NGJzZFNodXRkb3duID0gZnVuY3Rpb24oKSB7CiAgICAgIHJldHVybiAoQS5faDI2NGJzZFNodXRkb3duID0gQS5hc20uaSkuYXBwbHkobnVsbCwgYXJndW1lbnRzKTsKICAgIH0sIEEuX2gyNjRic2RBbGxvYyA9IGZ1bmN0aW9uKCkgewogICAgICByZXR1cm4gKEEuX2gyNjRic2RBbGxvYyA9IEEuYXNtLmopLmFwcGx5KG51bGwsIGFyZ3VtZW50cyk7CiAgICB9LCBBLl9oMjY0YnNkRnJlZSA9IGZ1bmN0aW9uKCkgewogICAgICByZXR1cm4gKEEuX2gyNjRic2RGcmVlID0gQS5hc20uaykuYXBwbHkobnVsbCwgYXJndW1lbnRzKTsKICAgIH0sIEEuZ2V0VmFsdWUgPSB2OwogICAgdmFyIGQ7CiAgICBGID0gZnVuY3Rpb24gSSgpIHsKICAgICAgZCB8fCB4KCksIGQgfHwgKEYgPSBJKTsKICAgIH07CiAgICBmdW5jdGlvbiB4KEkpIHsKICAgICAgaWYgKHcgPiAwIHx8ICgkKCksIHcgPiAwKSkKICAgICAgICByZXR1cm47CiAgICAgIGZ1bmN0aW9uIGcoKSB7CiAgICAgICAgZCB8fCAoZCA9ICEwLCBBLmNhbGxlZFJ1biA9ICEwLCAhZSAmJiAoQUEoKSwgQyhBKSwgQS5vblJ1bnRpbWVJbml0aWFsaXplZCAmJiBBLm9uUnVudGltZUluaXRpYWxpemVkKCksIElBKCkpKTsKICAgICAgfQogICAgICBBLnNldFN0YXR1cyA/IChBLnNldFN0YXR1cygiUnVubmluZy4uLiIpLCBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgICBBLnNldFN0YXR1cygiIik7CiAgICAgICAgfSwgMSksIGcoKTsKICAgICAgfSwgMSkpIDogZygpOwogICAgfQogICAgaWYgKEEucnVuID0geCwgQS5wcmVJbml0KQogICAgICBmb3IgKHR5cGVvZiBBLnByZUluaXQgPT0gImZ1bmN0aW9uIiAmJiAoQS5wcmVJbml0ID0gW0EucHJlSW5pdF0pOyBBLnByZUluaXQubGVuZ3RoID4gMDsgKQogICAgICAgIEEucHJlSW5pdC5wb3AoKSgpOwogICAgcmV0dXJuIHgoKSwgQS5yZWFkeTsKICB9Owp9KCksIHEgPSB7fTsKZnVuY3Rpb24gc0EoKSB7CiAgcmV0dXJuIFNBKCkudGhlbihmdW5jdGlvbihhKSB7CiAgICBzZWxmLmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCBmdW5jdGlvbihKKSB7CiAgICAgIHZhciBBID0gSi5kYXRhLCBDID0gQS5yZW5kZXJTdGF0ZUlkLCBTID0gQS50eXBlOwogICAgICBzd2l0Y2ggKFMpIHsKICAgICAgICBjYXNlICJkZWNvZGUiOiB7CiAgICAgICAgICB2YXIgRCA9IHFbQ107CiAgICAgICAgICBEIHx8IChEID0gbmV3IEwoYSwgZnVuY3Rpb24ocywgRywgVSkgewogICAgICAgICAgICBwb3N0TWVzc2FnZSh7CiAgICAgICAgICAgICAgdHlwZTogInBpY3R1cmVSZWFkeSIsCiAgICAgICAgICAgICAgd2lkdGg6IEcsCiAgICAgICAgICAgICAgaGVpZ2h0OiBVLAogICAgICAgICAgICAgIHJlbmRlclN0YXRlSWQ6IEMsCiAgICAgICAgICAgICAgZGF0YTogcy5idWZmZXIKICAgICAgICAgICAgfSwgW3MuYnVmZmVyXSk7CiAgICAgICAgICB9KSwgcVtDXSA9IEQpLCBELmRlY29kZShuZXcgVWludDhBcnJheShBLmRhdGEsIEEub2Zmc2V0LCBBLmxlbmd0aCkpOwogICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICAgIGNhc2UgInJlbGVhc2UiOiB7CiAgICAgICAgICB2YXIgRSA9IHFbQ107CiAgICAgICAgICBFICYmIChFLnJlbGVhc2UoKSwgZGVsZXRlIHFbQ10pOwogICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICB9CiAgICB9KSwgc2VsZi5wb3N0TWVzc2FnZSh7CiAgICAgIHR5cGU6ICJkZWNvZGVyUmVhZHkiCiAgICB9KTsKICB9KTsKfQpzQSgpOwo=",blob=typeof window<"u"&&window.Blob&&new Blob([atob(encodedJs)],{type:"text/javascript;charset=utf-8"});function WorkerWrapper(){let u;try{if(u=blob&&(window.URL||window.webkitURL).createObjectURL(blob),!u)throw"";return new Worker(u)}catch{return new Worker("data:application/javascript;base64,"+encodedJs,{type:"module"})}finally{u&&(window.URL||window.webkitURL).revokeObjectURL(u)}}class WasmDecoder{constructor(o={}){U(this,"worker");U(this,"_queueSize",0);U(this,"pendingTimestamps",[]);U(this,"pendingFrames",[]);U(this,"onFrameDecoded");U(this,"onError");U(this,"onQueueOverflow");U(this,"configured",!1);this.onFrameDecoded=o.onFrameDecoded,this.onError=o.onError,this.onQueueOverflow=o.onQueueOverflow}get queueSize(){return this._queueSize}get state(){return this.worker?this.configured?"configured":"configuring":"unconfigured"}async configure(o){return this.worker&&(this.worker.terminate(),this.worker=void 0),this.worker=new WorkerWrapper,this.configured=!1,this._queueSize=0,this.pendingTimestamps=[],new Promise((l,n)=>{this.worker.addEventListener("message",r=>{var e;const t=r.data;switch(t.type){case"pictureReady":this.handlePictureReady(t);break;case"decoderReady":console.log("[WasmDecoder] Worker ready"),this.configured=!0,l();break;case"error":const i=new Error(t.error||"WASM decoder error");(e=this.onError)==null||e.call(this,i),n(i);break}}),this.worker.addEventListener("error",r=>{var e;const t=new Error(`Worker error: ${r.message}`);(e=this.onError)==null||e.call(this,t),n(t)})})}decodeBinary(o){var e,i,a,s,d;if(!this.worker||!this.configured||!o.header||!o.payload)return;const l=new Uint8Array(o.payload),n=(i=(e=o.header.media)==null?void 0:e.codecData)!=null&&i.timebaseDen&&((s=(a=o.header.media)==null?void 0:a.codecData)!=null&&s.timebaseNum)?{num:o.header.media.codecData.timebaseNum,den:o.header.media.codecData.timebaseDen}:{num:1,den:1e6},r={num:1,den:1e6},t=rescaleTime(((d=o.header.media)==null?void 0:d.pts)??0,n,r);this.pendingFrames.push(l),this.pendingTimestamps.push(t),this.decodeNext()}decodeNext(){const o=this.pendingFrames.shift();o!=null&&this.decode(o)}decode(o){!this.worker||!this.configured||(this._queueSize++,this.worker.postMessage({type:"decode",data:o.buffer,offset:o.byteOffset,length:o.byteLength,renderStateId:1},[o.buffer]))}handlePictureReady(o){var E;this._queueSize--;const{width:l,height:n,data:r}=o,t=new Uint8Array(r),e=l,i=e*n,a=i>>2,s=t.subarray(0,i),d=t.subarray(i,i+a),c=t.subarray(i+a,i+2*a),F=n>>1,B=e>>1,S=this.pendingTimestamps.shift()??0,y={y:s,u:d,v:c,width:l,height:n,chromaStride:B,chromaHeight:F,timestamp:S,close:()=>{}};(E=this.onFrameDecoded)==null||E.call(this,y)}flush(){this._queueSize=0,this.pendingTimestamps=[],this.pendingFrames=[]}flushSync(){this.flush()}reset(){this.flush()}dispose(){this.worker&&(this.worker.terminate(),this.worker=void 0),this.configured=!1,this._queueSize=0,this.pendingTimestamps=[],this.pendingFrames=[]}}class FrameScheduler{constructor(o={}){U(this,"buffer",[]);U(this,"bufferDelayMs");U(this,"maxBufferSize");U(this,"startRealTimeUs",null);U(this,"startStreamTimeUs",null);U(this,"frameDurationUs",2e4);U(this,"lastFrameTimestamp",null);U(this,"bufferSizeHistory",[]);U(this,"driftCheckInterval");U(this,"driftThresholdMs");U(this,"dequeueCount",0);U(this,"latencyHistory",[]);U(this,"latencyHistorySize",60);U(this,"packetTimingHistory",[]);U(this,"packetTimingHistorySize",300);U(this,"lastPacketArrivalTime",null);U(this,"stats",{dropped:0,enqueued:0,dequeued:0,driftCorrections:0});U(this,"logger");U(this,"onFrameDropped");this.bufferDelayMs=o.bufferDelayMs??100;const l=Math.ceil(this.bufferDelayMs/1e3*60*2);this.maxBufferSize=o.maxBufferSize??Math.max(30,l),this.driftCheckInterval=o.driftCheckInterval??150,this.driftThresholdMs=o.driftCorrectionThresholdMs??30,this.logger=o.logger??(()=>{}),this.onFrameDropped=o.onFrameDropped}get bufferDelayUs(){return this.bufferDelayMs*1e3}get effectiveDriftThresholdMs(){return Math.min(this.driftThresholdMs,this.bufferDelayMs*.5)}enqueue(o,l,n,r=!1){var i;this.stats.enqueued++;const t=this.lastPacketArrivalTime!==null?n.arrivalTime-this.lastPacketArrivalTime:0;this.lastPacketArrivalTime=n.arrivalTime;const e=n.decodeTime-n.arrivalTime;for(this.packetTimingHistory.push({arrivalTime:n.arrivalTime,intervalMs:t,streamTimestampUs:l,isKeyframe:r,decodeLatencyMs:e,wasDropped:!1});this.packetTimingHistory.length>this.packetTimingHistorySize;)this.packetTimingHistory.shift();if(this.lastFrameTimestamp!==null){const a=l-this.lastFrameTimestamp;a>0&&a<1e5&&(this.frameDurationUs=a)}for(this.lastFrameTimestamp=l;this.buffer.length>=this.maxBufferSize;){const a=this.buffer.shift();a&&(this.stats.dropped++,(i=this.onFrameDropped)==null||i.call(this,a.frame,"overflow"),this.startRealTimeUs=null,this.startStreamTimeUs=null)}this.buffer.push({frame:o,timestamp:l,timing:n})}dequeue(o){const l=o*1e3,n=performance.now();if(this.buffer.length===0)return null;if(this.bufferDelayMs===0)return this.trackBufferSize(),this.dequeueLatest(n);const r=this.buffer.length*this.frameDurationUs/1e3,t=Math.min(this.bufferDelayMs*.5,this.frameDurationUs/1e3);if(r<t)return null;this.startRealTimeUs===null&&(this.startRealTimeUs=l,this.startStreamTimeUs=this.buffer[0].timestamp+this.bufferDelayUs,this.logger(`Playback started: buffer=${Math.round(r)}ms, delay=${this.bufferDelayMs}ms`)),this.trackBufferSize();const e=l-this.startRealTimeUs,i=this.startStreamTimeUs+e-this.bufferDelayUs;let a=this.findBestFrameIndex(i);if(a===-1)return null;a>1&&(this.dropFrames(a-1,"skip"),a=0),this.dequeueCount++,this.dequeueCount%this.driftCheckInterval===0&&this.correctDrift();const s=this.buffer.shift();return this.stats.dequeued++,this.recordLatency(s.timing,n),s.frame}dequeueLatest(o){const l=this.buffer.pop();return this.stats.dequeued++,this.recordLatency(l.timing,o),this.dropFrames(this.buffer.length,"skip"),l.frame}recordLatency(o,l){const n=o.decodeTime-o.arrivalTime,r=l-o.decodeTime,t=l-o.arrivalTime;this.latencyHistory.push({decode:n,buffer:r,total:t}),this.latencyHistory.length>this.latencyHistorySize&&this.latencyHistory.shift()}getLatencyStats(){if(this.latencyHistory.length===0)return null;const o=this.latencyHistory[this.latencyHistory.length-1],l=this.latencyHistory.reduce((t,e)=>t+e.decode,0)/this.latencyHistory.length,n=this.latencyHistory.reduce((t,e)=>t+e.buffer,0)/this.latencyHistory.length,r=this.latencyHistory.reduce((t,e)=>t+e.total,0)/this.latencyHistory.length;return{decodeLatency:Math.round(o.decode*10)/10,bufferLatency:Math.round(o.buffer*10)/10,totalLatency:Math.round(o.total*10)/10,avgDecodeLatency:Math.round(l*10)/10,avgBufferLatency:Math.round(n*10)/10,avgTotalLatency:Math.round(r*10)/10}}findBestFrameIndex(o){let l=-1;for(let n=0;n<this.buffer.length&&this.buffer[n].timestamp<=o;n++)l=n;return l}dropFrames(o,l){var n;for(let r=0;r<o&&this.buffer.length>0;r++){const t=this.buffer.shift();this.stats.dropped++,(n=this.onFrameDropped)==null||n.call(this,t.frame,l);const e=this.packetTimingHistory.find(i=>i.streamTimestampUs===t.timestamp);e&&(e.wasDropped=!0)}}trackBufferSize(){this.bufferSizeHistory.push(this.buffer.length),this.bufferSizeHistory.length>100&&this.bufferSizeHistory.shift()}correctDrift(){if(this.bufferSizeHistory.length<10||!this.startStreamTimeUs)return;const n=this.bufferSizeHistory.reduce((t,e)=>t+e,0)/this.bufferSizeHistory.length*this.frameDurationUs/1e3-this.bufferDelayMs,r=this.effectiveDriftThresholdMs;if(Math.abs(n)>r){const t=n*1e3;this.startStreamTimeUs+=t,this.stats.driftCorrections++,this.bufferSizeHistory=[],this.logger(`Drift correction: ${n.toFixed(1)}ms`)}}clear(){var o;for(const l of this.buffer)(o=this.onFrameDropped)==null||o.call(this,l.frame,"overflow");this.buffer=[],this.startRealTimeUs=null,this.startStreamTimeUs=null,this.bufferSizeHistory=[]}setBufferDelay(o){const l=this.bufferDelayMs>0;this.bufferDelayMs=o,(l&&o===0||!l&&o>0)&&(this.bufferSizeHistory=[],this.startRealTimeUs=null,this.startStreamTimeUs=null)}getBufferDelay(){return this.bufferDelayMs}getStatus(){const o=this.buffer.length*this.frameDurationUs/1e3;let l=o;return this.bufferSizeHistory.length>0&&(l=this.bufferSizeHistory.reduce((r,t)=>r+t,0)/this.bufferSizeHistory.length*this.frameDurationUs/1e3),{currentBufferSize:this.buffer.length,currentBufferMs:Math.round(o),avgBufferMs:Math.round(l),targetBufferMs:this.bufferDelayMs,streamFrameDurationUs:this.frameDurationUs,droppedFrames:this.stats.dropped,totalEnqueuedFrames:this.stats.enqueued,totalDequeuedFrames:this.stats.dequeued,driftCorrections:this.stats.driftCorrections,latency:this.getLatencyStats()}}logStatus(){const o=this.getStatus(),l=(1e6/this.frameDurationUs).toFixed(1);this.logger(`buffer=${o.currentBufferMs}ms/${o.targetBufferMs}ms (${o.currentBufferSize} frames), dropped=${o.droppedFrames}, fps=${l}`)}resetStats(){this.stats={dropped:0,enqueued:0,dequeued:0,driftCorrections:0},this.bufferSizeHistory=[]}getPacketTimingHistory(){return[...this.packetTimingHistory]}}var commonjsGlobal=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function getDefaultExportFromCjs(u){return u&&u.__esModule&&Object.prototype.hasOwnProperty.call(u,"default")?u.default:u}var indexMinimal={},minimal$1={},aspromise=asPromise;function asPromise(u,o){for(var l=new Array(arguments.length-1),n=0,r=2,t=!0;r<arguments.length;)l[n++]=arguments[r++];return new Promise(function(i,a){l[n]=function(d){if(t)if(t=!1,d)a(d);else{for(var c=new Array(arguments.length-1),F=0;F<c.length;)c[F++]=arguments[F];i.apply(null,c)}};try{u.apply(o||null,l)}catch(s){t&&(t=!1,a(s))}})}var base64$1={};(function(u){var o=u;o.length=function(i){var a=i.length;if(!a)return 0;for(var s=0;--a%4>1&&i.charAt(a)==="=";)++s;return Math.ceil(i.length*3)/4-s};for(var l=new Array(64),n=new Array(123),r=0;r<64;)n[l[r]=r<26?r+65:r<52?r+71:r<62?r-4:r-59|43]=r++;o.encode=function(i,a,s){for(var d=null,c=[],F=0,B=0,S;a<s;){var y=i[a++];switch(B){case 0:c[F++]=l[y>>2],S=(y&3)<<4,B=1;break;case 1:c[F++]=l[S|y>>4],S=(y&15)<<2,B=2;break;case 2:c[F++]=l[S|y>>6],c[F++]=l[y&63],B=0;break}F>8191&&((d||(d=[])).push(String.fromCharCode.apply(String,c)),F=0)}return B&&(c[F++]=l[S],c[F++]=61,B===1&&(c[F++]=61)),d?(F&&d.push(String.fromCharCode.apply(String,c.slice(0,F))),d.join("")):String.fromCharCode.apply(String,c.slice(0,F))};var t="invalid encoding";o.decode=function(i,a,s){for(var d=s,c=0,F,B=0;B<i.length;){var S=i.charCodeAt(B++);if(S===61&&c>1)break;if((S=n[S])===void 0)throw Error(t);switch(c){case 0:F=S,c=1;break;case 1:a[s++]=F<<2|(S&48)>>4,F=S,c=2;break;case 2:a[s++]=(F&15)<<4|(S&60)>>2,F=S,c=3;break;case 3:a[s++]=(F&3)<<6|S,c=0;break}}if(c===1)throw Error(t);return s-d},o.test=function(i){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(i)}})(base64$1);var eventemitter=EventEmitter;function EventEmitter(){this._listeners={}}EventEmitter.prototype.on=function(o,l,n){return(this._listeners[o]||(this._listeners[o]=[])).push({fn:l,ctx:n||this}),this};EventEmitter.prototype.off=function(o,l){if(o===void 0)this._listeners={};else if(l===void 0)this._listeners[o]=[];else for(var n=this._listeners[o],r=0;r<n.length;)n[r].fn===l?n.splice(r,1):++r;return this};EventEmitter.prototype.emit=function(o){var l=this._listeners[o];if(l){for(var n=[],r=1;r<arguments.length;)n.push(arguments[r++]);for(r=0;r<l.length;)l[r].fn.apply(l[r++].ctx,n)}return this};var float=factory(factory);function factory(u){return typeof Float32Array<"u"?function(){var o=new Float32Array([-0]),l=new Uint8Array(o.buffer),n=l[3]===128;function r(a,s,d){o[0]=a,s[d]=l[0],s[d+1]=l[1],s[d+2]=l[2],s[d+3]=l[3]}function t(a,s,d){o[0]=a,s[d]=l[3],s[d+1]=l[2],s[d+2]=l[1],s[d+3]=l[0]}u.writeFloatLE=n?r:t,u.writeFloatBE=n?t:r;function e(a,s){return l[0]=a[s],l[1]=a[s+1],l[2]=a[s+2],l[3]=a[s+3],o[0]}function i(a,s){return l[3]=a[s],l[2]=a[s+1],l[1]=a[s+2],l[0]=a[s+3],o[0]}u.readFloatLE=n?e:i,u.readFloatBE=n?i:e}():function(){function o(n,r,t,e){var i=r<0?1:0;if(i&&(r=-r),r===0)n(1/r>0?0:2147483648,t,e);else if(isNaN(r))n(2143289344,t,e);else if(r>34028234663852886e22)n((i<<31|2139095040)>>>0,t,e);else if(r<11754943508222875e-54)n((i<<31|Math.round(r/1401298464324817e-60))>>>0,t,e);else{var a=Math.floor(Math.log(r)/Math.LN2),s=Math.round(r*Math.pow(2,-a)*8388608)&8388607;n((i<<31|a+127<<23|s)>>>0,t,e)}}u.writeFloatLE=o.bind(null,writeUintLE),u.writeFloatBE=o.bind(null,writeUintBE);function l(n,r,t){var e=n(r,t),i=(e>>31)*2+1,a=e>>>23&255,s=e&8388607;return a===255?s?NaN:i*(1/0):a===0?i*1401298464324817e-60*s:i*Math.pow(2,a-150)*(s+8388608)}u.readFloatLE=l.bind(null,readUintLE),u.readFloatBE=l.bind(null,readUintBE)}(),typeof Float64Array<"u"?function(){var o=new Float64Array([-0]),l=new Uint8Array(o.buffer),n=l[7]===128;function r(a,s,d){o[0]=a,s[d]=l[0],s[d+1]=l[1],s[d+2]=l[2],s[d+3]=l[3],s[d+4]=l[4],s[d+5]=l[5],s[d+6]=l[6],s[d+7]=l[7]}function t(a,s,d){o[0]=a,s[d]=l[7],s[d+1]=l[6],s[d+2]=l[5],s[d+3]=l[4],s[d+4]=l[3],s[d+5]=l[2],s[d+6]=l[1],s[d+7]=l[0]}u.writeDoubleLE=n?r:t,u.writeDoubleBE=n?t:r;function e(a,s){return l[0]=a[s],l[1]=a[s+1],l[2]=a[s+2],l[3]=a[s+3],l[4]=a[s+4],l[5]=a[s+5],l[6]=a[s+6],l[7]=a[s+7],o[0]}function i(a,s){return l[7]=a[s],l[6]=a[s+1],l[5]=a[s+2],l[4]=a[s+3],l[3]=a[s+4],l[2]=a[s+5],l[1]=a[s+6],l[0]=a[s+7],o[0]}u.readDoubleLE=n?e:i,u.readDoubleBE=n?i:e}():function(){function o(n,r,t,e,i,a){var s=e<0?1:0;if(s&&(e=-e),e===0)n(0,i,a+r),n(1/e>0?0:2147483648,i,a+t);else if(isNaN(e))n(0,i,a+r),n(2146959360,i,a+t);else if(e>17976931348623157e292)n(0,i,a+r),n((s<<31|2146435072)>>>0,i,a+t);else{var d;if(e<22250738585072014e-324)d=e/5e-324,n(d>>>0,i,a+r),n((s<<31|d/4294967296)>>>0,i,a+t);else{var c=Math.floor(Math.log(e)/Math.LN2);c===1024&&(c=1023),d=e*Math.pow(2,-c),n(d*4503599627370496>>>0,i,a+r),n((s<<31|c+1023<<20|d*1048576&1048575)>>>0,i,a+t)}}}u.writeDoubleLE=o.bind(null,writeUintLE,0,4),u.writeDoubleBE=o.bind(null,writeUintBE,4,0);function l(n,r,t,e,i){var a=n(e,i+r),s=n(e,i+t),d=(s>>31)*2+1,c=s>>>20&2047,F=4294967296*(s&1048575)+a;return c===2047?F?NaN:d*(1/0):c===0?d*5e-324*F:d*Math.pow(2,c-1075)*(F+4503599627370496)}u.readDoubleLE=l.bind(null,readUintLE,0,4),u.readDoubleBE=l.bind(null,readUintBE,4,0)}(),u}function writeUintLE(u,o,l){o[l]=u&255,o[l+1]=u>>>8&255,o[l+2]=u>>>16&255,o[l+3]=u>>>24}function writeUintBE(u,o,l){o[l]=u>>>24,o[l+1]=u>>>16&255,o[l+2]=u>>>8&255,o[l+3]=u&255}function readUintLE(u,o){return(u[o]|u[o+1]<<8|u[o+2]<<16|u[o+3]<<24)>>>0}function readUintBE(u,o){return(u[o]<<24|u[o+1]<<16|u[o+2]<<8|u[o+3])>>>0}var inquire_1=inquire;function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(u){}return null}var utf8$2={};(function(u){var o=u;o.length=function(n){for(var r=0,t=0,e=0;e<n.length;++e)t=n.charCodeAt(e),t<128?r+=1:t<2048?r+=2:(t&64512)===55296&&(n.charCodeAt(e+1)&64512)===56320?(++e,r+=4):r+=3;return r},o.read=function(n,r,t){var e=t-r;if(e<1)return"";for(var i=null,a=[],s=0,d;r<t;)d=n[r++],d<128?a[s++]=d:d>191&&d<224?a[s++]=(d&31)<<6|n[r++]&63:d>239&&d<365?(d=((d&7)<<18|(n[r++]&63)<<12|(n[r++]&63)<<6|n[r++]&63)-65536,a[s++]=55296+(d>>10),a[s++]=56320+(d&1023)):a[s++]=(d&15)<<12|(n[r++]&63)<<6|n[r++]&63,s>8191&&((i||(i=[])).push(String.fromCharCode.apply(String,a)),s=0);return i?(s&&i.push(String.fromCharCode.apply(String,a.slice(0,s))),i.join("")):String.fromCharCode.apply(String,a.slice(0,s))},o.write=function(n,r,t){for(var e=t,i,a,s=0;s<n.length;++s)i=n.charCodeAt(s),i<128?r[t++]=i:i<2048?(r[t++]=i>>6|192,r[t++]=i&63|128):(i&64512)===55296&&((a=n.charCodeAt(s+1))&64512)===56320?(i=65536+((i&1023)<<10)+(a&1023),++s,r[t++]=i>>18|240,r[t++]=i>>12&63|128,r[t++]=i>>6&63|128,r[t++]=i&63|128):(r[t++]=i>>12|224,r[t++]=i>>6&63|128,r[t++]=i&63|128);return t-e}})(utf8$2);var pool_1=pool;function pool(u,o,l){var n=l||8192,r=n>>>1,t=null,e=n;return function(a){if(a<1||a>r)return u(a);e+a>n&&(t=u(n),e=0);var s=o.call(t,e,e+=a);return e&7&&(e=(e|7)+1),s}}var longbits,hasRequiredLongbits;function requireLongbits(){if(hasRequiredLongbits)return longbits;hasRequiredLongbits=1,longbits=o;var u=requireMinimal();function o(t,e){this.lo=t>>>0,this.hi=e>>>0}var l=o.zero=new o(0,0);l.toNumber=function(){return 0},l.zzEncode=l.zzDecode=function(){return this},l.length=function(){return 1};var n=o.zeroHash="\0\0\0\0\0\0\0\0";o.fromNumber=function(e){if(e===0)return l;var i=e<0;i&&(e=-e);var a=e>>>0,s=(e-a)/4294967296>>>0;return i&&(s=~s>>>0,a=~a>>>0,++a>4294967295&&(a=0,++s>4294967295&&(s=0))),new o(a,s)},o.from=function(e){if(typeof e=="number")return o.fromNumber(e);if(u.isString(e))if(u.Long)e=u.Long.fromString(e);else return o.fromNumber(parseInt(e,10));return e.low||e.high?new o(e.low>>>0,e.high>>>0):l},o.prototype.toNumber=function(e){if(!e&&this.hi>>>31){var i=~this.lo+1>>>0,a=~this.hi>>>0;return i||(a=a+1>>>0),-(i+a*4294967296)}return this.lo+this.hi*4294967296},o.prototype.toLong=function(e){return u.Long?new u.Long(this.lo|0,this.hi|0,!!e):{low:this.lo|0,high:this.hi|0,unsigned:!!e}};var r=String.prototype.charCodeAt;return o.fromHash=function(e){return e===n?l:new o((r.call(e,0)|r.call(e,1)<<8|r.call(e,2)<<16|r.call(e,3)<<24)>>>0,(r.call(e,4)|r.call(e,5)<<8|r.call(e,6)<<16|r.call(e,7)<<24)>>>0)},o.prototype.toHash=function(){return String.fromCharCode(this.lo&255,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,this.hi&255,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)},o.prototype.zzEncode=function(){var e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this},o.prototype.zzDecode=function(){var e=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this},o.prototype.length=function(){var e=this.lo,i=(this.lo>>>28|this.hi<<4)>>>0,a=this.hi>>>24;return a===0?i===0?e<16384?e<128?1:2:e<2097152?3:4:i<16384?i<128?5:6:i<2097152?7:8:a<128?9:10},longbits}var hasRequiredMinimal;function requireMinimal(){return hasRequiredMinimal||(hasRequiredMinimal=1,function(u){var o=u;o.asPromise=aspromise,o.base64=base64$1,o.EventEmitter=eventemitter,o.float=float,o.inquire=inquire_1,o.utf8=utf8$2,o.pool=pool_1,o.LongBits=requireLongbits(),o.isNode=!!(typeof commonjsGlobal<"u"&&commonjsGlobal&&commonjsGlobal.process&&commonjsGlobal.process.versions&&commonjsGlobal.process.versions.node),o.global=o.isNode&&commonjsGlobal||typeof window<"u"&&window||typeof self<"u"&&self||commonjsGlobal,o.emptyArray=Object.freeze?Object.freeze([]):[],o.emptyObject=Object.freeze?Object.freeze({}):{},o.isInteger=Number.isInteger||function(t){return typeof t=="number"&&isFinite(t)&&Math.floor(t)===t},o.isString=function(t){return typeof t=="string"||t instanceof String},o.isObject=function(t){return t&&typeof t=="object"},o.isset=o.isSet=function(t,e){var i=t[e];return i!=null&&t.hasOwnProperty(e)?typeof i!="object"||(Array.isArray(i)?i.length:Object.keys(i).length)>0:!1},o.Buffer=function(){try{var r=o.inquire("buffer").Buffer;return r.prototype.utf8Write?r:null}catch{return null}}(),o._Buffer_from=null,o._Buffer_allocUnsafe=null,o.newBuffer=function(t){return typeof t=="number"?o.Buffer?o._Buffer_allocUnsafe(t):new o.Array(t):o.Buffer?o._Buffer_from(t):typeof Uint8Array>"u"?t:new Uint8Array(t)},o.Array=typeof Uint8Array<"u"?Uint8Array:Array,o.Long=o.global.dcodeIO&&o.global.dcodeIO.Long||o.global.Long||o.inquire("long"),o.key2Re=/^true|false|0|1$/,o.key32Re=/^-?(?:0|[1-9][0-9]*)$/,o.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/,o.longToHash=function(t){return t?o.LongBits.from(t).toHash():o.LongBits.zeroHash},o.longFromHash=function(t,e){var i=o.LongBits.fromHash(t);return o.Long?o.Long.fromBits(i.lo,i.hi,e):i.toNumber(!!e)};function l(r,t,e){for(var i=Object.keys(t),a=0;a<i.length;++a)(r[i[a]]===void 0||!e)&&(r[i[a]]=t[i[a]]);return r}o.merge=l,o.lcFirst=function(t){return t.charAt(0).toLowerCase()+t.substring(1)};function n(r){function t(e,i){if(!(this instanceof t))return new t(e,i);Object.defineProperty(this,"message",{get:function(){return e}}),Error.captureStackTrace?Error.captureStackTrace(this,t):Object.defineProperty(this,"stack",{value:new Error().stack||""}),i&&l(this,i)}return t.prototype=Object.create(Error.prototype,{constructor:{value:t,writable:!0,enumerable:!1,configurable:!0},name:{get:function(){return r},set:void 0,enumerable:!1,configurable:!0},toString:{value:function(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),t}o.newError=n,o.ProtocolError=n("ProtocolError"),o.oneOfGetter=function(t){for(var e={},i=0;i<t.length;++i)e[t[i]]=1;return function(){for(var a=Object.keys(this),s=a.length-1;s>-1;--s)if(e[a[s]]===1&&this[a[s]]!==void 0&&this[a[s]]!==null)return a[s]}},o.oneOfSetter=function(t){return function(e){for(var i=0;i<t.length;++i)t[i]!==e&&delete this[t[i]]}},o.toJSONOptions={longs:String,enums:String,bytes:String,json:!0},o._configure=function(){var r=o.Buffer;if(!r){o._Buffer_from=o._Buffer_allocUnsafe=null;return}o._Buffer_from=r.from!==Uint8Array.from&&r.from||function(e,i){return new r(e,i)},o._Buffer_allocUnsafe=r.allocUnsafe||function(e){return new r(e)}}}(minimal$1)),minimal$1}var writer=Writer$1,util$4=requireMinimal(),BufferWriter$1,LongBits$1=util$4.LongBits,base64=util$4.base64,utf8$1=util$4.utf8;function Op(u,o,l){this.fn=u,this.len=o,this.next=void 0,this.val=l}function noop(){}function State(u){this.head=u.head,this.tail=u.tail,this.len=u.len,this.next=u.states}function Writer$1(){this.len=0,this.head=new Op(noop,0,0),this.tail=this.head,this.states=null}var create$1=function u(){return util$4.Buffer?function(){return(Writer$1.create=function(){return new BufferWriter$1})()}:function(){return new Writer$1}};Writer$1.create=create$1();Writer$1.alloc=function u(o){return new util$4.Array(o)};util$4.Array!==Array&&(Writer$1.alloc=util$4.pool(Writer$1.alloc,util$4.Array.prototype.subarray));Writer$1.prototype._push=function u(o,l,n){return this.tail=this.tail.next=new Op(o,l,n),this.len+=l,this};function writeByte(u,o,l){o[l]=u&255}function writeVarint32(u,o,l){for(;u>127;)o[l++]=u&127|128,u>>>=7;o[l]=u}function VarintOp(u,o){this.len=u,this.next=void 0,this.val=o}VarintOp.prototype=Object.create(Op.prototype);VarintOp.prototype.fn=writeVarint32;Writer$1.prototype.uint32=function u(o){return this.len+=(this.tail=this.tail.next=new VarintOp((o=o>>>0)<128?1:o<16384?2:o<2097152?3:o<268435456?4:5,o)).len,this};Writer$1.prototype.int32=function u(o){return o<0?this._push(writeVarint64,10,LongBits$1.fromNumber(o)):this.uint32(o)};Writer$1.prototype.sint32=function u(o){return this.uint32((o<<1^o>>31)>>>0)};function writeVarint64(u,o,l){for(;u.hi;)o[l++]=u.lo&127|128,u.lo=(u.lo>>>7|u.hi<<25)>>>0,u.hi>>>=7;for(;u.lo>127;)o[l++]=u.lo&127|128,u.lo=u.lo>>>7;o[l++]=u.lo}Writer$1.prototype.uint64=function u(o){var l=LongBits$1.from(o);return this._push(writeVarint64,l.length(),l)};Writer$1.prototype.int64=Writer$1.prototype.uint64;Writer$1.prototype.sint64=function u(o){var l=LongBits$1.from(o).zzEncode();return this._push(writeVarint64,l.length(),l)};Writer$1.prototype.bool=function u(o){return this._push(writeByte,1,o?1:0)};function writeFixed32(u,o,l){o[l]=u&255,o[l+1]=u>>>8&255,o[l+2]=u>>>16&255,o[l+3]=u>>>24}Writer$1.prototype.fixed32=function u(o){return this._push(writeFixed32,4,o>>>0)};Writer$1.prototype.sfixed32=Writer$1.prototype.fixed32;Writer$1.prototype.fixed64=function u(o){var l=LongBits$1.from(o);return this._push(writeFixed32,4,l.lo)._push(writeFixed32,4,l.hi)};Writer$1.prototype.sfixed64=Writer$1.prototype.fixed64;Writer$1.prototype.float=function u(o){return this._push(util$4.float.writeFloatLE,4,o)};Writer$1.prototype.double=function u(o){return this._push(util$4.float.writeDoubleLE,8,o)};var writeBytes=util$4.Array.prototype.set?function u(o,l,n){l.set(o,n)}:function u(o,l,n){for(var r=0;r<o.length;++r)l[n+r]=o[r]};Writer$1.prototype.bytes=function u(o){var l=o.length>>>0;if(!l)return this._push(writeByte,1,0);if(util$4.isString(o)){var n=Writer$1.alloc(l=base64.length(o));base64.decode(o,n,0),o=n}return this.uint32(l)._push(writeBytes,l,o)};Writer$1.prototype.string=function u(o){var l=utf8$1.length(o);return l?this.uint32(l)._push(utf8$1.write,l,o):this._push(writeByte,1,0)};Writer$1.prototype.fork=function u(){return this.states=new State(this),this.head=this.tail=new Op(noop,0,0),this.len=0,this};Writer$1.prototype.reset=function u(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new Op(noop,0,0),this.len=0),this};Writer$1.prototype.ldelim=function u(){var o=this.head,l=this.tail,n=this.len;return this.reset().uint32(n),n&&(this.tail.next=o.next,this.tail=l,this.len+=n),this};Writer$1.prototype.finish=function u(){for(var o=this.head.next,l=this.constructor.alloc(this.len),n=0;o;)o.fn(o.val,l,n),n+=o.len,o=o.next;return l};Writer$1._configure=function(u){BufferWriter$1=u,Writer$1.create=create$1(),BufferWriter$1._configure()};var writer_buffer=BufferWriter,Writer=writer;(BufferWriter.prototype=Object.create(Writer.prototype)).constructor=BufferWriter;var util$3=requireMinimal();function BufferWriter(){Writer.call(this)}BufferWriter._configure=function(){BufferWriter.alloc=util$3._Buffer_allocUnsafe,BufferWriter.writeBytesBuffer=util$3.Buffer&&util$3.Buffer.prototype instanceof Uint8Array&&util$3.Buffer.prototype.set.name==="set"?function(o,l,n){l.set(o,n)}:function(o,l,n){if(o.copy)o.copy(l,n,0,o.length);else for(var r=0;r<o.length;)l[n++]=o[r++]}};BufferWriter.prototype.bytes=function u(o){util$3.isString(o)&&(o=util$3._Buffer_from(o,"base64"));var l=o.length>>>0;return this.uint32(l),l&&this._push(BufferWriter.writeBytesBuffer,l,o),this};function writeStringBuffer(u,o,l){u.length<40?util$3.utf8.write(u,o,l):o.utf8Write?o.utf8Write(u,l):o.write(u,l)}BufferWriter.prototype.string=function u(o){var l=util$3.Buffer.byteLength(o);return this.uint32(l),l&&this._push(writeStringBuffer,l,o),this};BufferWriter._configure();var reader=Reader$1,util$2=requireMinimal(),BufferReader$1,LongBits=util$2.LongBits,utf8=util$2.utf8;function indexOutOfRange(u,o){return RangeError("index out of range: "+u.pos+" + "+(o||1)+" > "+u.len)}function Reader$1(u){this.buf=u,this.pos=0,this.len=u.length}var create_array=typeof Uint8Array<"u"?function u(o){if(o instanceof Uint8Array||Array.isArray(o))return new Reader$1(o);throw Error("illegal buffer")}:function u(o){if(Array.isArray(o))return new Reader$1(o);throw Error("illegal buffer")},create=function u(){return util$2.Buffer?function(l){return(Reader$1.create=function(r){return util$2.Buffer.isBuffer(r)?new BufferReader$1(r):create_array(r)})(l)}:create_array};Reader$1.create=create();Reader$1.prototype._slice=util$2.Array.prototype.subarray||util$2.Array.prototype.slice;Reader$1.prototype.uint32=function u(){var o=4294967295;return function(){if(o=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(o=(o|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(o=(o|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(o=(o|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(o=(o|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return o;if((this.pos+=5)>this.len)throw this.pos=this.len,indexOutOfRange(this,10);return o}}();Reader$1.prototype.int32=function u(){return this.uint32()|0};Reader$1.prototype.sint32=function u(){var o=this.uint32();return o>>>1^-(o&1)|0};function readLongVarint(){var u=new LongBits(0,0),o=0;if(this.len-this.pos>4){for(;o<4;++o)if(u.lo=(u.lo|(this.buf[this.pos]&127)<<o*7)>>>0,this.buf[this.pos++]<128)return u;if(u.lo=(u.lo|(this.buf[this.pos]&127)<<28)>>>0,u.hi=(u.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return u;o=0}else{for(;o<3;++o){if(this.pos>=this.len)throw indexOutOfRange(this);if(u.lo=(u.lo|(this.buf[this.pos]&127)<<o*7)>>>0,this.buf[this.pos++]<128)return u}return u.lo=(u.lo|(this.buf[this.pos++]&127)<<o*7)>>>0,u}if(this.len-this.pos>4){for(;o<5;++o)if(u.hi=(u.hi|(this.buf[this.pos]&127)<<o*7+3)>>>0,this.buf[this.pos++]<128)return u}else for(;o<5;++o){if(this.pos>=this.len)throw indexOutOfRange(this);if(u.hi=(u.hi|(this.buf[this.pos]&127)<<o*7+3)>>>0,this.buf[this.pos++]<128)return u}throw Error("invalid varint encoding")}Reader$1.prototype.bool=function u(){return this.uint32()!==0};function readFixed32_end(u,o){return(u[o-4]|u[o-3]<<8|u[o-2]<<16|u[o-1]<<24)>>>0}Reader$1.prototype.fixed32=function u(){if(this.pos+4>this.len)throw indexOutOfRange(this,4);return readFixed32_end(this.buf,this.pos+=4)};Reader$1.prototype.sfixed32=function u(){if(this.pos+4>this.len)throw indexOutOfRange(this,4);return readFixed32_end(this.buf,this.pos+=4)|0};function readFixed64(){if(this.pos+8>this.len)throw indexOutOfRange(this,8);return new LongBits(readFixed32_end(this.buf,this.pos+=4),readFixed32_end(this.buf,this.pos+=4))}Reader$1.prototype.float=function u(){if(this.pos+4>this.len)throw indexOutOfRange(this,4);var o=util$2.float.readFloatLE(this.buf,this.pos);return this.pos+=4,o};Reader$1.prototype.double=function u(){if(this.pos+8>this.len)throw indexOutOfRange(this,4);var o=util$2.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,o};Reader$1.prototype.bytes=function u(){var o=this.uint32(),l=this.pos,n=this.pos+o;if(n>this.len)throw indexOutOfRange(this,o);if(this.pos+=o,Array.isArray(this.buf))return this.buf.slice(l,n);if(l===n){var r=util$2.Buffer;return r?r.alloc(0):new this.buf.constructor(0)}return this._slice.call(this.buf,l,n)};Reader$1.prototype.string=function u(){var o=this.bytes();return utf8.read(o,0,o.length)};Reader$1.prototype.skip=function u(o){if(typeof o=="number"){if(this.pos+o>this.len)throw indexOutOfRange(this,o);this.pos+=o}else do if(this.pos>=this.len)throw indexOutOfRange(this);while(this.buf[this.pos++]&128);return this};Reader$1.prototype.skipType=function(u){switch(u){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(u=this.uint32()&7)!==4;)this.skipType(u);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+u+" at offset "+this.pos)}return this};Reader$1._configure=function(u){BufferReader$1=u,Reader$1.create=create(),BufferReader$1._configure();var o=util$2.Long?"toLong":"toNumber";util$2.merge(Reader$1.prototype,{int64:function(){return readLongVarint.call(this)[o](!1)},uint64:function(){return readLongVarint.call(this)[o](!0)},sint64:function(){return readLongVarint.call(this).zzDecode()[o](!1)},fixed64:function(){return readFixed64.call(this)[o](!0)},sfixed64:function(){return readFixed64.call(this)[o](!1)}})};var reader_buffer=BufferReader,Reader=reader;(BufferReader.prototype=Object.create(Reader.prototype)).constructor=BufferReader;var util$1=requireMinimal();function BufferReader(u){Reader.call(this,u)}BufferReader._configure=function(){util$1.Buffer&&(BufferReader.prototype._slice=util$1.Buffer.prototype.slice)};BufferReader.prototype.string=function u(){var o=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+o,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+o,this.len))};BufferReader._configure();var rpc={},service=Service,util=requireMinimal();(Service.prototype=Object.create(util.EventEmitter.prototype)).constructor=Service;function Service(u,o,l){if(typeof u!="function")throw TypeError("rpcImpl must be a function");util.EventEmitter.call(this),this.rpcImpl=u,this.requestDelimited=!!o,this.responseDelimited=!!l}Service.prototype.rpcCall=function u(o,l,n,r,t){if(!r)throw TypeError("request must be specified");var e=this;if(!t)return util.asPromise(u,e,o,l,n,r);if(!e.rpcImpl){setTimeout(function(){t(Error("already ended"))},0);return}try{return e.rpcImpl(o,l[e.requestDelimited?"encodeDelimited":"encode"](r).finish(),function(a,s){if(a)return e.emit("error",a,o),t(a);if(s===null){e.end(!0);return}if(!(s instanceof n))try{s=n[e.responseDelimited?"decodeDelimited":"decode"](s)}catch(d){return e.emit("error",d,o),t(d)}return e.emit("data",s,o),t(null,s)})}catch(i){e.emit("error",i,o),setTimeout(function(){t(i)},0);return}};Service.prototype.end=function u(o){return this.rpcImpl&&(o||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit("end").off()),this};(function(u){var o=u;o.Service=service})(rpc);var roots={};(function(u){var o=u;o.build="minimal",o.Writer=writer,o.BufferWriter=writer_buffer,o.Reader=reader,o.BufferReader=reader_buffer,o.util=requireMinimal(),o.rpc=rpc,o.roots=roots,o.configure=l;function l(){o.util._configure(),o.Writer._configure(o.BufferWriter),o.Reader._configure(o.BufferReader)}l()})(indexMinimal);var minimal=indexMinimal;const $protobuf=getDefaultExportFromCjs(minimal);var __create=Object.create,__defProp$1=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty,__commonJS=(u,o)=>function(){return o||(0,u[__getOwnPropNames(u)[0]])((o={exports:{}}).exports,o),o.exports},__copyProps=(u,o,l,n)=>{if(o&&typeof o=="object"||typeof o=="function")for(let r of __getOwnPropNames(o))!__hasOwnProp.call(u,r)&&r!==l&&__defProp$1(u,r,{get:()=>o[r],enumerable:!(n=__getOwnPropDesc(o,r))||n.enumerable});return u},__toESM=(u,o,l)=>(l=u!=null?__create(__getProtoOf(u)):{},__copyProps(o||!u||!u.__esModule?__defProp$1(l,"default",{value:u,enumerable:!0}):l,u)),require_events=__commonJS({"../../node_modules/.pnpm/events@3.3.0/node_modules/events/events.js"(u,o){var l=typeof Reflect=="object"?Reflect:null,n=l&&typeof l.apply=="function"?l.apply:function(p,f,h){return Function.prototype.apply.call(p,f,h)},r;l&&typeof l.ownKeys=="function"?r=l.ownKeys:Object.getOwnPropertySymbols?r=function(p){return Object.getOwnPropertyNames(p).concat(Object.getOwnPropertySymbols(p))}:r=function(p){return Object.getOwnPropertyNames(p)};function t(Q){console&&console.warn&&console.warn(Q)}var e=Number.isNaN||function(p){return p!==p};function i(){i.init.call(this)}o.exports=i,o.exports.once=T,i.EventEmitter=i,i.prototype._events=void 0,i.prototype._eventsCount=0,i.prototype._maxListeners=void 0;var a=10;function s(Q){if(typeof Q!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof Q)}Object.defineProperty(i,"defaultMaxListeners",{enumerable:!0,get:function(){return a},set:function(Q){if(typeof Q!="number"||Q<0||e(Q))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+Q+".");a=Q}}),i.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},i.prototype.setMaxListeners=function(p){if(typeof p!="number"||p<0||e(p))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+p+".");return this._maxListeners=p,this};function d(Q){return Q._maxListeners===void 0?i.defaultMaxListeners:Q._maxListeners}i.prototype.getMaxListeners=function(){return d(this)},i.prototype.emit=function(p){for(var f=[],h=1;h<arguments.length;h++)f.push(arguments[h]);var R=p==="error",J=this._events;if(J!==void 0)R=R&&J.error===void 0;else if(!R)return!1;if(R){var V;if(f.length>0&&(V=f[0]),V instanceof Error)throw V;var W=new Error("Unhandled error."+(V?" ("+V.message+")":""));throw W.context=V,W}var b=J[p];if(b===void 0)return!1;if(typeof b=="function")n(b,this,f);else for(var g=b.length,Z=E(b,g),h=0;h<g;++h)n(Z[h],this,f);return!0};function c(Q,p,f,h){var R,J,V;if(s(f),J=Q._events,J===void 0?(J=Q._events=Object.create(null),Q._eventsCount=0):(J.newListener!==void 0&&(Q.emit("newListener",p,f.listener?f.listener:f),J=Q._events),V=J[p]),V===void 0)V=J[p]=f,++Q._eventsCount;else if(typeof V=="function"?V=J[p]=h?[f,V]:[V,f]:h?V.unshift(f):V.push(f),R=d(Q),R>0&&V.length>R&&!V.warned){V.warned=!0;var W=new Error("Possible EventEmitter memory leak detected. "+V.length+" "+String(p)+" listeners added. Use emitter.setMaxListeners() to increase limit");W.name="MaxListenersExceededWarning",W.emitter=Q,W.type=p,W.count=V.length,t(W)}return Q}i.prototype.addListener=function(p,f){return c(this,p,f,!1)},i.prototype.on=i.prototype.addListener,i.prototype.prependListener=function(p,f){return c(this,p,f,!0)};function F(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function B(Q,p,f){var h={fired:!1,wrapFn:void 0,target:Q,type:p,listener:f},R=F.bind(h);return R.listener=f,h.wrapFn=R,R}i.prototype.once=function(p,f){return s(f),this.on(p,B(this,p,f)),this},i.prototype.prependOnceListener=function(p,f){return s(f),this.prependListener(p,B(this,p,f)),this},i.prototype.removeListener=function(p,f){var h,R,J,V,W;if(s(f),R=this._events,R===void 0)return this;if(h=R[p],h===void 0)return this;if(h===f||h.listener===f)--this._eventsCount===0?this._events=Object.create(null):(delete R[p],R.removeListener&&this.emit("removeListener",p,h.listener||f));else if(typeof h!="function"){for(J=-1,V=h.length-1;V>=0;V--)if(h[V]===f||h[V].listener===f){W=h[V].listener,J=V;break}if(J<0)return this;J===0?h.shift():v(h,J),h.length===1&&(R[p]=h[0]),R.removeListener!==void 0&&this.emit("removeListener",p,W||f)}return this},i.prototype.off=i.prototype.removeListener,i.prototype.removeAllListeners=function(p){var f,h,R;if(h=this._events,h===void 0)return this;if(h.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):h[p]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete h[p]),this;if(arguments.length===0){var J=Object.keys(h),V;for(R=0;R<J.length;++R)V=J[R],V!=="removeListener"&&this.removeAllListeners(V);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(f=h[p],typeof f=="function")this.removeListener(p,f);else if(f!==void 0)for(R=f.length-1;R>=0;R--)this.removeListener(p,f[R]);return this};function S(Q,p,f){var h=Q._events;if(h===void 0)return[];var R=h[p];return R===void 0?[]:typeof R=="function"?f?[R.listener||R]:[R]:f?N(R):E(R,R.length)}i.prototype.listeners=function(p){return S(this,p,!0)},i.prototype.rawListeners=function(p){return S(this,p,!1)},i.listenerCount=function(Q,p){return typeof Q.listenerCount=="function"?Q.listenerCount(p):y.call(Q,p)},i.prototype.listenerCount=y;function y(Q){var p=this._events;if(p!==void 0){var f=p[Q];if(typeof f=="function")return 1;if(f!==void 0)return f.length}return 0}i.prototype.eventNames=function(){return this._eventsCount>0?r(this._events):[]};function E(Q,p){for(var f=new Array(p),h=0;h<p;++h)f[h]=Q[h];return f}function v(Q,p){for(;p+1<Q.length;p++)Q[p]=Q[p+1];Q.pop()}function N(Q){for(var p=new Array(Q.length),f=0;f<p.length;++f)p[f]=Q[f].listener||Q[f];return p}function T(Q,p){return new Promise(function(f,h){function R(V){Q.removeListener(p,J),h(V)}function J(){typeof Q.removeListener=="function"&&Q.removeListener("error",R),f([].slice.call(arguments))}m(Q,p,J,{once:!0}),p!=="error"&&C(Q,R,{once:!0})})}function C(Q,p,f){typeof Q.on=="function"&&m(Q,"error",p,f)}function m(Q,p,f,h){if(typeof Q.on=="function")h.once?Q.once(p,f):Q.on(p,f);else if(typeof Q.addEventListener=="function")Q.addEventListener(p,function R(J){h.once&&Q.removeEventListener(p,R),f(J)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof Q)}}}),$Reader=$protobuf.Reader,$Writer=$protobuf.Writer,$util=$protobuf.util,$root=$protobuf.roots.default||($protobuf.roots.default={}),sesame=$root.sesame=(()=>{const u={};return u.v1=function(){const o={};return o.audio=function(){const l={};return l.AudioMixerChannelType=function(){const n={},r=Object.create(n);return r[n[0]="AUDIO_MIXER_CHANNEL_TYPE_UNSPECIFIED"]=0,r[n[1]="AUDIO_MIXER_CHANNEL_TYPE_MONO"]=1,r[n[2]="AUDIO_MIXER_CHANNEL_TYPE_STEREO"]=2,r}(),l.AudioPluginParam=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.id=0,n.prototype.floatValue=0,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.id!=null&&Object.hasOwnProperty.call(t,"id")&&e.uint32(8).uint32(t.id),t.floatValue!=null&&Object.hasOwnProperty.call(t,"floatValue")&&e.uint32(21).float(t.floatValue),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.audio.AudioPluginParam;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.id=t.uint32();break}case 2:{s.floatValue=t.float();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.id!=null&&t.hasOwnProperty("id")&&!$util.isInteger(t.id)?"id: integer expected":t.floatValue!=null&&t.hasOwnProperty("floatValue")&&typeof t.floatValue!="number"?"floatValue: number expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.audio.AudioPluginParam)return t;let e=new $root.sesame.v1.audio.AudioPluginParam;return t.id!=null&&(e.id=t.id>>>0),t.floatValue!=null&&(e.floatValue=Number(t.floatValue)),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.id=0,i.floatValue=0),t.id!=null&&t.hasOwnProperty("id")&&(i.id=t.id),t.floatValue!=null&&t.hasOwnProperty("floatValue")&&(i.floatValue=e.json&&!isFinite(t.floatValue)?String(t.floatValue):t.floatValue),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.audio.AudioPluginParam"},n}(),l.AudioPluginParamStatus=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.id=0,n.prototype.floatValue=0,n.prototype.label="",n.prototype.displayValue="",n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.id!=null&&Object.hasOwnProperty.call(t,"id")&&e.uint32(8).uint32(t.id),t.floatValue!=null&&Object.hasOwnProperty.call(t,"floatValue")&&e.uint32(21).float(t.floatValue),t.label!=null&&Object.hasOwnProperty.call(t,"label")&&e.uint32(26).string(t.label),t.displayValue!=null&&Object.hasOwnProperty.call(t,"displayValue")&&e.uint32(34).string(t.displayValue),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.audio.AudioPluginParamStatus;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.id=t.uint32();break}case 2:{s.floatValue=t.float();break}case 3:{s.label=t.string();break}case 4:{s.displayValue=t.string();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.id!=null&&t.hasOwnProperty("id")&&!$util.isInteger(t.id)?"id: integer expected":t.floatValue!=null&&t.hasOwnProperty("floatValue")&&typeof t.floatValue!="number"?"floatValue: number expected":t.label!=null&&t.hasOwnProperty("label")&&!$util.isString(t.label)?"label: string expected":t.displayValue!=null&&t.hasOwnProperty("displayValue")&&!$util.isString(t.displayValue)?"displayValue: string expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.audio.AudioPluginParamStatus)return t;let e=new $root.sesame.v1.audio.AudioPluginParamStatus;return t.id!=null&&(e.id=t.id>>>0),t.floatValue!=null&&(e.floatValue=Number(t.floatValue)),t.label!=null&&(e.label=String(t.label)),t.displayValue!=null&&(e.displayValue=String(t.displayValue)),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.id=0,i.floatValue=0,i.label="",i.displayValue=""),t.id!=null&&t.hasOwnProperty("id")&&(i.id=t.id),t.floatValue!=null&&t.hasOwnProperty("floatValue")&&(i.floatValue=e.json&&!isFinite(t.floatValue)?String(t.floatValue):t.floatValue),t.label!=null&&t.hasOwnProperty("label")&&(i.label=t.label),t.displayValue!=null&&t.hasOwnProperty("displayValue")&&(i.displayValue=t.displayValue),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.audio.AudioPluginParamStatus"},n}(),l.AudioPlugin=function(){function n(r){if(this.params=[],this.auxInputMixIds=[],r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.id="",n.prototype.type="",n.prototype.params=$util.emptyArray,n.prototype.auxInputMixIds=$util.emptyArray,n.create=function(t){return new n(t)},n.encode=function(t,e){if(e||(e=$Writer.create()),t.id!=null&&Object.hasOwnProperty.call(t,"id")&&e.uint32(10).string(t.id),t.type!=null&&Object.hasOwnProperty.call(t,"type")&&e.uint32(18).string(t.type),t.params!=null&&t.params.length)for(let i=0;i<t.params.length;++i)$root.sesame.v1.audio.AudioPluginParam.encode(t.params[i],e.uint32(26).fork()).ldelim();if(t.auxInputMixIds!=null&&t.auxInputMixIds.length)for(let i=0;i<t.auxInputMixIds.length;++i)e.uint32(34).string(t.auxInputMixIds[i]);return e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.audio.AudioPlugin;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.id=t.string();break}case 2:{s.type=t.string();break}case 3:{s.params&&s.params.length||(s.params=[]),s.params.push($root.sesame.v1.audio.AudioPluginParam.decode(t,t.uint32()));break}case 4:{s.auxInputMixIds&&s.auxInputMixIds.length||(s.auxInputMixIds=[]),s.auxInputMixIds.push(t.string());break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.id!=null&&t.hasOwnProperty("id")&&!$util.isString(t.id))return"id: string expected";if(t.type!=null&&t.hasOwnProperty("type")&&!$util.isString(t.type))return"type: string expected";if(t.params!=null&&t.hasOwnProperty("params")){if(!Array.isArray(t.params))return"params: array expected";for(let e=0;e<t.params.length;++e){let i=$root.sesame.v1.audio.AudioPluginParam.verify(t.params[e]);if(i)return"params."+i}}if(t.auxInputMixIds!=null&&t.hasOwnProperty("auxInputMixIds")){if(!Array.isArray(t.auxInputMixIds))return"auxInputMixIds: array expected";for(let e=0;e<t.auxInputMixIds.length;++e)if(!$util.isString(t.auxInputMixIds[e]))return"auxInputMixIds: string[] expected"}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.audio.AudioPlugin)return t;let e=new $root.sesame.v1.audio.AudioPlugin;if(t.id!=null&&(e.id=String(t.id)),t.type!=null&&(e.type=String(t.type)),t.params){if(!Array.isArray(t.params))throw TypeError(".sesame.v1.audio.AudioPlugin.params: array expected");e.params=[];for(let i=0;i<t.params.length;++i){if(typeof t.params[i]!="object")throw TypeError(".sesame.v1.audio.AudioPlugin.params: object expected");e.params[i]=$root.sesame.v1.audio.AudioPluginParam.fromObject(t.params[i])}}if(t.auxInputMixIds){if(!Array.isArray(t.auxInputMixIds))throw TypeError(".sesame.v1.audio.AudioPlugin.auxInputMixIds: array expected");e.auxInputMixIds=[];for(let i=0;i<t.auxInputMixIds.length;++i)e.auxInputMixIds[i]=String(t.auxInputMixIds[i])}return e},n.toObject=function(t,e){e||(e={});let i={};if((e.arrays||e.defaults)&&(i.params=[],i.auxInputMixIds=[]),e.defaults&&(i.id="",i.type=""),t.id!=null&&t.hasOwnProperty("id")&&(i.id=t.id),t.type!=null&&t.hasOwnProperty("type")&&(i.type=t.type),t.params&&t.params.length){i.params=[];for(let a=0;a<t.params.length;++a)i.params[a]=$root.sesame.v1.audio.AudioPluginParam.toObject(t.params[a],e)}if(t.auxInputMixIds&&t.auxInputMixIds.length){i.auxInputMixIds=[];for(let a=0;a<t.auxInputMixIds.length;++a)i.auxInputMixIds[a]=t.auxInputMixIds[a]}return i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.audio.AudioPlugin"},n}(),l.AudioMixerChannel=function(){function n(r){if(this.sourceChannels=[],this.plugins=[],r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.id="",n.prototype.sourceId="",n.prototype.channelType=0,n.prototype.sourceChannels=$util.emptyArray,n.prototype.level=0,n.prototype.pan=0,n.prototype.plugins=$util.emptyArray,n.create=function(t){return new n(t)},n.encode=function(t,e){if(e||(e=$Writer.create()),t.id!=null&&Object.hasOwnProperty.call(t,"id")&&e.uint32(10).string(t.id),t.sourceId!=null&&Object.hasOwnProperty.call(t,"sourceId")&&e.uint32(18).string(t.sourceId),t.channelType!=null&&Object.hasOwnProperty.call(t,"channelType")&&e.uint32(24).int32(t.channelType),t.sourceChannels!=null&&t.sourceChannels.length){e.uint32(34).fork();for(let i=0;i<t.sourceChannels.length;++i)e.uint32(t.sourceChannels[i]);e.ldelim()}if(t.level!=null&&Object.hasOwnProperty.call(t,"level")&&e.uint32(45).float(t.level),t.pan!=null&&Object.hasOwnProperty.call(t,"pan")&&e.uint32(53).float(t.pan),t.plugins!=null&&t.plugins.length)for(let i=0;i<t.plugins.length;++i)$root.sesame.v1.audio.AudioPlugin.encode(t.plugins[i],e.uint32(58).fork()).ldelim();return e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.audio.AudioMixerChannel;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.id=t.string();break}case 2:{s.sourceId=t.string();break}case 3:{s.channelType=t.int32();break}case 4:{if(s.sourceChannels&&s.sourceChannels.length||(s.sourceChannels=[]),(d&7)===2){let c=t.uint32()+t.pos;for(;t.pos<c;)s.sourceChannels.push(t.uint32())}else s.sourceChannels.push(t.uint32());break}case 5:{s.level=t.float();break}case 6:{s.pan=t.float();break}case 7:{s.plugins&&s.plugins.length||(s.plugins=[]),s.plugins.push($root.sesame.v1.audio.AudioPlugin.decode(t,t.uint32()));break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.id!=null&&t.hasOwnProperty("id")&&!$util.isString(t.id))return"id: string expected";if(t.sourceId!=null&&t.hasOwnProperty("sourceId")&&!$util.isString(t.sourceId))return"sourceId: string expected";if(t.channelType!=null&&t.hasOwnProperty("channelType"))switch(t.channelType){default:return"channelType: enum value expected";case 0:case 1:case 2:break}if(t.sourceChannels!=null&&t.hasOwnProperty("sourceChannels")){if(!Array.isArray(t.sourceChannels))return"sourceChannels: array expected";for(let e=0;e<t.sourceChannels.length;++e)if(!$util.isInteger(t.sourceChannels[e]))return"sourceChannels: integer[] expected"}if(t.level!=null&&t.hasOwnProperty("level")&&typeof t.level!="number")return"level: number expected";if(t.pan!=null&&t.hasOwnProperty("pan")&&typeof t.pan!="number")return"pan: number expected";if(t.plugins!=null&&t.hasOwnProperty("plugins")){if(!Array.isArray(t.plugins))return"plugins: array expected";for(let e=0;e<t.plugins.length;++e){let i=$root.sesame.v1.audio.AudioPlugin.verify(t.plugins[e]);if(i)return"plugins."+i}}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.audio.AudioMixerChannel)return t;let e=new $root.sesame.v1.audio.AudioMixerChannel;switch(t.id!=null&&(e.id=String(t.id)),t.sourceId!=null&&(e.sourceId=String(t.sourceId)),t.channelType){default:if(typeof t.channelType=="number"){e.channelType=t.channelType;break}break;case"AUDIO_MIXER_CHANNEL_TYPE_UNSPECIFIED":case 0:e.channelType=0;break;case"AUDIO_MIXER_CHANNEL_TYPE_MONO":case 1:e.channelType=1;break;case"AUDIO_MIXER_CHANNEL_TYPE_STEREO":case 2:e.channelType=2;break}if(t.sourceChannels){if(!Array.isArray(t.sourceChannels))throw TypeError(".sesame.v1.audio.AudioMixerChannel.sourceChannels: array expected");e.sourceChannels=[];for(let i=0;i<t.sourceChannels.length;++i)e.sourceChannels[i]=t.sourceChannels[i]>>>0}if(t.level!=null&&(e.level=Number(t.level)),t.pan!=null&&(e.pan=Number(t.pan)),t.plugins){if(!Array.isArray(t.plugins))throw TypeError(".sesame.v1.audio.AudioMixerChannel.plugins: array expected");e.plugins=[];for(let i=0;i<t.plugins.length;++i){if(typeof t.plugins[i]!="object")throw TypeError(".sesame.v1.audio.AudioMixerChannel.plugins: object expected");e.plugins[i]=$root.sesame.v1.audio.AudioPlugin.fromObject(t.plugins[i])}}return e},n.toObject=function(t,e){e||(e={});let i={};if((e.arrays||e.defaults)&&(i.sourceChannels=[],i.plugins=[]),e.defaults&&(i.id="",i.sourceId="",i.channelType=e.enums===String?"AUDIO_MIXER_CHANNEL_TYPE_UNSPECIFIED":0,i.level=0,i.pan=0),t.id!=null&&t.hasOwnProperty("id")&&(i.id=t.id),t.sourceId!=null&&t.hasOwnProperty("sourceId")&&(i.sourceId=t.sourceId),t.channelType!=null&&t.hasOwnProperty("channelType")&&(i.channelType=e.enums===String?$root.sesame.v1.audio.AudioMixerChannelType[t.channelType]===void 0?t.channelType:$root.sesame.v1.audio.AudioMixerChannelType[t.channelType]:t.channelType),t.sourceChannels&&t.sourceChannels.length){i.sourceChannels=[];for(let a=0;a<t.sourceChannels.length;++a)i.sourceChannels[a]=t.sourceChannels[a]}if(t.level!=null&&t.hasOwnProperty("level")&&(i.level=e.json&&!isFinite(t.level)?String(t.level):t.level),t.pan!=null&&t.hasOwnProperty("pan")&&(i.pan=e.json&&!isFinite(t.pan)?String(t.pan):t.pan),t.plugins&&t.plugins.length){i.plugins=[];for(let a=0;a<t.plugins.length;++a)i.plugins[a]=$root.sesame.v1.audio.AudioPlugin.toObject(t.plugins[a],e)}return i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.audio.AudioMixerChannel"},n}(),l.AudioMixerConfig=function(){function n(r){if(this.channels=[],r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.channels=$util.emptyArray,n.prototype.outputType=0,n.prototype.order=0,n.create=function(t){return new n(t)},n.encode=function(t,e){if(e||(e=$Writer.create()),t.channels!=null&&t.channels.length)for(let i=0;i<t.channels.length;++i)$root.sesame.v1.audio.AudioMixerChannel.encode(t.channels[i],e.uint32(10).fork()).ldelim();return t.outputType!=null&&Object.hasOwnProperty.call(t,"outputType")&&e.uint32(16).int32(t.outputType),t.order!=null&&Object.hasOwnProperty.call(t,"order")&&e.uint32(24).uint32(t.order),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.audio.AudioMixerConfig;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.channels&&s.channels.length||(s.channels=[]),s.channels.push($root.sesame.v1.audio.AudioMixerChannel.decode(t,t.uint32()));break}case 2:{s.outputType=t.int32();break}case 3:{s.order=t.uint32();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.channels!=null&&t.hasOwnProperty("channels")){if(!Array.isArray(t.channels))return"channels: array expected";for(let e=0;e<t.channels.length;++e){let i=$root.sesame.v1.audio.AudioMixerChannel.verify(t.channels[e]);if(i)return"channels."+i}}if(t.outputType!=null&&t.hasOwnProperty("outputType"))switch(t.outputType){default:return"outputType: enum value expected";case 0:case 1:case 2:break}return t.order!=null&&t.hasOwnProperty("order")&&!$util.isInteger(t.order)?"order: integer expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.audio.AudioMixerConfig)return t;let e=new $root.sesame.v1.audio.AudioMixerConfig;if(t.channels){if(!Array.isArray(t.channels))throw TypeError(".sesame.v1.audio.AudioMixerConfig.channels: array expected");e.channels=[];for(let i=0;i<t.channels.length;++i){if(typeof t.channels[i]!="object")throw TypeError(".sesame.v1.audio.AudioMixerConfig.channels: object expected");e.channels[i]=$root.sesame.v1.audio.AudioMixerChannel.fromObject(t.channels[i])}}switch(t.outputType){default:if(typeof t.outputType=="number"){e.outputType=t.outputType;break}break;case"AUDIO_MIXER_CHANNEL_TYPE_UNSPECIFIED":case 0:e.outputType=0;break;case"AUDIO_MIXER_CHANNEL_TYPE_MONO":case 1:e.outputType=1;break;case"AUDIO_MIXER_CHANNEL_TYPE_STEREO":case 2:e.outputType=2;break}return t.order!=null&&(e.order=t.order>>>0),e},n.toObject=function(t,e){e||(e={});let i={};if((e.arrays||e.defaults)&&(i.channels=[]),e.defaults&&(i.outputType=e.enums===String?"AUDIO_MIXER_CHANNEL_TYPE_UNSPECIFIED":0,i.order=0),t.channels&&t.channels.length){i.channels=[];for(let a=0;a<t.channels.length;++a)i.channels[a]=$root.sesame.v1.audio.AudioMixerChannel.toObject(t.channels[a],e)}return t.outputType!=null&&t.hasOwnProperty("outputType")&&(i.outputType=e.enums===String?$root.sesame.v1.audio.AudioMixerChannelType[t.outputType]===void 0?t.outputType:$root.sesame.v1.audio.AudioMixerChannelType[t.outputType]:t.outputType),t.order!=null&&t.hasOwnProperty("order")&&(i.order=t.order),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.audio.AudioMixerConfig"},n}(),l.AudioMixerAddRequest=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.id="",n.prototype.config=null,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.id!=null&&Object.hasOwnProperty.call(t,"id")&&e.uint32(10).string(t.id),t.config!=null&&Object.hasOwnProperty.call(t,"config")&&$root.sesame.v1.audio.AudioMixerConfig.encode(t.config,e.uint32(18).fork()).ldelim(),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.audio.AudioMixerAddRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.id=t.string();break}case 2:{s.config=$root.sesame.v1.audio.AudioMixerConfig.decode(t,t.uint32());break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.id!=null&&t.hasOwnProperty("id")&&!$util.isString(t.id))return"id: string expected";if(t.config!=null&&t.hasOwnProperty("config")){let e=$root.sesame.v1.audio.AudioMixerConfig.verify(t.config);if(e)return"config."+e}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.audio.AudioMixerAddRequest)return t;let e=new $root.sesame.v1.audio.AudioMixerAddRequest;if(t.id!=null&&(e.id=String(t.id)),t.config!=null){if(typeof t.config!="object")throw TypeError(".sesame.v1.audio.AudioMixerAddRequest.config: object expected");e.config=$root.sesame.v1.audio.AudioMixerConfig.fromObject(t.config)}return e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.id="",i.config=null),t.id!=null&&t.hasOwnProperty("id")&&(i.id=t.id),t.config!=null&&t.hasOwnProperty("config")&&(i.config=$root.sesame.v1.audio.AudioMixerConfig.toObject(t.config,e)),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.audio.AudioMixerAddRequest"},n}(),l.AudioMixerUpdateRequest=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.id="",n.prototype.config=null,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.id!=null&&Object.hasOwnProperty.call(t,"id")&&e.uint32(10).string(t.id),t.config!=null&&Object.hasOwnProperty.call(t,"config")&&$root.sesame.v1.audio.AudioMixerConfig.encode(t.config,e.uint32(18).fork()).ldelim(),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.audio.AudioMixerUpdateRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.id=t.string();break}case 2:{s.config=$root.sesame.v1.audio.AudioMixerConfig.decode(t,t.uint32());break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.id!=null&&t.hasOwnProperty("id")&&!$util.isString(t.id))return"id: string expected";if(t.config!=null&&t.hasOwnProperty("config")){let e=$root.sesame.v1.audio.AudioMixerConfig.verify(t.config);if(e)return"config."+e}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.audio.AudioMixerUpdateRequest)return t;let e=new $root.sesame.v1.audio.AudioMixerUpdateRequest;if(t.id!=null&&(e.id=String(t.id)),t.config!=null){if(typeof t.config!="object")throw TypeError(".sesame.v1.audio.AudioMixerUpdateRequest.config: object expected");e.config=$root.sesame.v1.audio.AudioMixerConfig.fromObject(t.config)}return e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.id="",i.config=null),t.id!=null&&t.hasOwnProperty("id")&&(i.id=t.id),t.config!=null&&t.hasOwnProperty("config")&&(i.config=$root.sesame.v1.audio.AudioMixerConfig.toObject(t.config,e)),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.audio.AudioMixerUpdateRequest"},n}(),l.AudioMixerRemoveRequest=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.id="",n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.id!=null&&Object.hasOwnProperty.call(t,"id")&&e.uint32(10).string(t.id),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.audio.AudioMixerRemoveRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.id=t.string();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.id!=null&&t.hasOwnProperty("id")&&!$util.isString(t.id)?"id: string expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.audio.AudioMixerRemoveRequest)return t;let e=new $root.sesame.v1.audio.AudioMixerRemoveRequest;return t.id!=null&&(e.id=String(t.id)),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.id=""),t.id!=null&&t.hasOwnProperty("id")&&(i.id=t.id),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.audio.AudioMixerRemoveRequest"},n}(),l.AudioChannelAddRequest=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.mixerId="",n.prototype.channelConfig=null,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.mixerId!=null&&Object.hasOwnProperty.call(t,"mixerId")&&e.uint32(10).string(t.mixerId),t.channelConfig!=null&&Object.hasOwnProperty.call(t,"channelConfig")&&$root.sesame.v1.audio.AudioMixerChannel.encode(t.channelConfig,e.uint32(18).fork()).ldelim(),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.audio.AudioChannelAddRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.mixerId=t.string();break}case 2:{s.channelConfig=$root.sesame.v1.audio.AudioMixerChannel.decode(t,t.uint32());break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.mixerId!=null&&t.hasOwnProperty("mixerId")&&!$util.isString(t.mixerId))return"mixerId: string expected";if(t.channelConfig!=null&&t.hasOwnProperty("channelConfig")){let e=$root.sesame.v1.audio.AudioMixerChannel.verify(t.channelConfig);if(e)return"channelConfig."+e}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.audio.AudioChannelAddRequest)return t;let e=new $root.sesame.v1.audio.AudioChannelAddRequest;if(t.mixerId!=null&&(e.mixerId=String(t.mixerId)),t.channelConfig!=null){if(typeof t.channelConfig!="object")throw TypeError(".sesame.v1.audio.AudioChannelAddRequest.channelConfig: object expected");e.channelConfig=$root.sesame.v1.audio.AudioMixerChannel.fromObject(t.channelConfig)}return e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.mixerId="",i.channelConfig=null),t.mixerId!=null&&t.hasOwnProperty("mixerId")&&(i.mixerId=t.mixerId),t.channelConfig!=null&&t.hasOwnProperty("channelConfig")&&(i.channelConfig=$root.sesame.v1.audio.AudioMixerChannel.toObject(t.channelConfig,e)),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.audio.AudioChannelAddRequest"},n}(),l.AudioChannelRemoveRequest=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.mixerId="",n.prototype.channelId="",n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.mixerId!=null&&Object.hasOwnProperty.call(t,"mixerId")&&e.uint32(10).string(t.mixerId),t.channelId!=null&&Object.hasOwnProperty.call(t,"channelId")&&e.uint32(18).string(t.channelId),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.audio.AudioChannelRemoveRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.mixerId=t.string();break}case 2:{s.channelId=t.string();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.mixerId!=null&&t.hasOwnProperty("mixerId")&&!$util.isString(t.mixerId)?"mixerId: string expected":t.channelId!=null&&t.hasOwnProperty("channelId")&&!$util.isString(t.channelId)?"channelId: string expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.audio.AudioChannelRemoveRequest)return t;let e=new $root.sesame.v1.audio.AudioChannelRemoveRequest;return t.mixerId!=null&&(e.mixerId=String(t.mixerId)),t.channelId!=null&&(e.channelId=String(t.channelId)),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.mixerId="",i.channelId=""),t.mixerId!=null&&t.hasOwnProperty("mixerId")&&(i.mixerId=t.mixerId),t.channelId!=null&&t.hasOwnProperty("channelId")&&(i.channelId=t.channelId),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.audio.AudioChannelRemoveRequest"},n}(),l.AudioChannelPluginStatus=function(){function n(r){if(this.params=[],r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.id="",n.prototype.type="",n.prototype.params=$util.emptyArray,n.create=function(t){return new n(t)},n.encode=function(t,e){if(e||(e=$Writer.create()),t.id!=null&&Object.hasOwnProperty.call(t,"id")&&e.uint32(10).string(t.id),t.type!=null&&Object.hasOwnProperty.call(t,"type")&&e.uint32(18).string(t.type),t.params!=null&&t.params.length)for(let i=0;i<t.params.length;++i)$root.sesame.v1.audio.AudioPluginParamStatus.encode(t.params[i],e.uint32(26).fork()).ldelim();return e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.audio.AudioChannelPluginStatus;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.id=t.string();break}case 2:{s.type=t.string();break}case 3:{s.params&&s.params.length||(s.params=[]),s.params.push($root.sesame.v1.audio.AudioPluginParamStatus.decode(t,t.uint32()));break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.id!=null&&t.hasOwnProperty("id")&&!$util.isString(t.id))return"id: string expected";if(t.type!=null&&t.hasOwnProperty("type")&&!$util.isString(t.type))return"type: string expected";if(t.params!=null&&t.hasOwnProperty("params")){if(!Array.isArray(t.params))return"params: array expected";for(let e=0;e<t.params.length;++e){let i=$root.sesame.v1.audio.AudioPluginParamStatus.verify(t.params[e]);if(i)return"params."+i}}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.audio.AudioChannelPluginStatus)return t;let e=new $root.sesame.v1.audio.AudioChannelPluginStatus;if(t.id!=null&&(e.id=String(t.id)),t.type!=null&&(e.type=String(t.type)),t.params){if(!Array.isArray(t.params))throw TypeError(".sesame.v1.audio.AudioChannelPluginStatus.params: array expected");e.params=[];for(let i=0;i<t.params.length;++i){if(typeof t.params[i]!="object")throw TypeError(".sesame.v1.audio.AudioChannelPluginStatus.params: object expected");e.params[i]=$root.sesame.v1.audio.AudioPluginParamStatus.fromObject(t.params[i])}}return e},n.toObject=function(t,e){e||(e={});let i={};if((e.arrays||e.defaults)&&(i.params=[]),e.defaults&&(i.id="",i.type=""),t.id!=null&&t.hasOwnProperty("id")&&(i.id=t.id),t.type!=null&&t.hasOwnProperty("type")&&(i.type=t.type),t.params&&t.params.length){i.params=[];for(let a=0;a<t.params.length;++a)i.params[a]=$root.sesame.v1.audio.AudioPluginParamStatus.toObject(t.params[a],e)}return i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.audio.AudioChannelPluginStatus"},n}(),l.AudioChannelStatus=function(){function n(r){if(this.vu=[],this.plugins=[],r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.id="",n.prototype.outputType=0,n.prototype.level=0,n.prototype.pan=0,n.prototype.vu=$util.emptyArray,n.prototype.hasData=!1,n.prototype.readErrors=0,n.prototype.plugins=$util.emptyArray,n.create=function(t){return new n(t)},n.encode=function(t,e){if(e||(e=$Writer.create()),t.id!=null&&Object.hasOwnProperty.call(t,"id")&&e.uint32(10).string(t.id),t.outputType!=null&&Object.hasOwnProperty.call(t,"outputType")&&e.uint32(16).int32(t.outputType),t.level!=null&&Object.hasOwnProperty.call(t,"level")&&e.uint32(29).float(t.level),t.pan!=null&&Object.hasOwnProperty.call(t,"pan")&&e.uint32(37).float(t.pan),t.vu!=null&&t.vu.length){e.uint32(42).fork();for(let i=0;i<t.vu.length;++i)e.float(t.vu[i]);e.ldelim()}if(t.hasData!=null&&Object.hasOwnProperty.call(t,"hasData")&&e.uint32(48).bool(t.hasData),t.readErrors!=null&&Object.hasOwnProperty.call(t,"readErrors")&&e.uint32(56).uint32(t.readErrors),t.plugins!=null&&t.plugins.length)for(let i=0;i<t.plugins.length;++i)$root.sesame.v1.audio.AudioChannelPluginStatus.encode(t.plugins[i],e.uint32(66).fork()).ldelim();return e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.audio.AudioChannelStatus;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.id=t.string();break}case 2:{s.outputType=t.int32();break}case 3:{s.level=t.float();break}case 4:{s.pan=t.float();break}case 5:{if(s.vu&&s.vu.length||(s.vu=[]),(d&7)===2){let c=t.uint32()+t.pos;for(;t.pos<c;)s.vu.push(t.float())}else s.vu.push(t.float());break}case 6:{s.hasData=t.bool();break}case 7:{s.readErrors=t.uint32();break}case 8:{s.plugins&&s.plugins.length||(s.plugins=[]),s.plugins.push($root.sesame.v1.audio.AudioChannelPluginStatus.decode(t,t.uint32()));break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.id!=null&&t.hasOwnProperty("id")&&!$util.isString(t.id))return"id: string expected";if(t.outputType!=null&&t.hasOwnProperty("outputType"))switch(t.outputType){default:return"outputType: enum value expected";case 0:case 1:case 2:break}if(t.level!=null&&t.hasOwnProperty("level")&&typeof t.level!="number")return"level: number expected";if(t.pan!=null&&t.hasOwnProperty("pan")&&typeof t.pan!="number")return"pan: number expected";if(t.vu!=null&&t.hasOwnProperty("vu")){if(!Array.isArray(t.vu))return"vu: array expected";for(let e=0;e<t.vu.length;++e)if(typeof t.vu[e]!="number")return"vu: number[] expected"}if(t.hasData!=null&&t.hasOwnProperty("hasData")&&typeof t.hasData!="boolean")return"hasData: boolean expected";if(t.readErrors!=null&&t.hasOwnProperty("readErrors")&&!$util.isInteger(t.readErrors))return"readErrors: integer expected";if(t.plugins!=null&&t.hasOwnProperty("plugins")){if(!Array.isArray(t.plugins))return"plugins: array expected";for(let e=0;e<t.plugins.length;++e){let i=$root.sesame.v1.audio.AudioChannelPluginStatus.verify(t.plugins[e]);if(i)return"plugins."+i}}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.audio.AudioChannelStatus)return t;let e=new $root.sesame.v1.audio.AudioChannelStatus;switch(t.id!=null&&(e.id=String(t.id)),t.outputType){default:if(typeof t.outputType=="number"){e.outputType=t.outputType;break}break;case"AUDIO_MIXER_CHANNEL_TYPE_UNSPECIFIED":case 0:e.outputType=0;break;case"AUDIO_MIXER_CHANNEL_TYPE_MONO":case 1:e.outputType=1;break;case"AUDIO_MIXER_CHANNEL_TYPE_STEREO":case 2:e.outputType=2;break}if(t.level!=null&&(e.level=Number(t.level)),t.pan!=null&&(e.pan=Number(t.pan)),t.vu){if(!Array.isArray(t.vu))throw TypeError(".sesame.v1.audio.AudioChannelStatus.vu: array expected");e.vu=[];for(let i=0;i<t.vu.length;++i)e.vu[i]=Number(t.vu[i])}if(t.hasData!=null&&(e.hasData=!!t.hasData),t.readErrors!=null&&(e.readErrors=t.readErrors>>>0),t.plugins){if(!Array.isArray(t.plugins))throw TypeError(".sesame.v1.audio.AudioChannelStatus.plugins: array expected");e.plugins=[];for(let i=0;i<t.plugins.length;++i){if(typeof t.plugins[i]!="object")throw TypeError(".sesame.v1.audio.AudioChannelStatus.plugins: object expected");e.plugins[i]=$root.sesame.v1.audio.AudioChannelPluginStatus.fromObject(t.plugins[i])}}return e},n.toObject=function(t,e){e||(e={});let i={};if((e.arrays||e.defaults)&&(i.vu=[],i.plugins=[]),e.defaults&&(i.id="",i.outputType=e.enums===String?"AUDIO_MIXER_CHANNEL_TYPE_UNSPECIFIED":0,i.level=0,i.pan=0,i.hasData=!1,i.readErrors=0),t.id!=null&&t.hasOwnProperty("id")&&(i.id=t.id),t.outputType!=null&&t.hasOwnProperty("outputType")&&(i.outputType=e.enums===String?$root.sesame.v1.audio.AudioMixerChannelType[t.outputType]===void 0?t.outputType:$root.sesame.v1.audio.AudioMixerChannelType[t.outputType]:t.outputType),t.level!=null&&t.hasOwnProperty("level")&&(i.level=e.json&&!isFinite(t.level)?String(t.level):t.level),t.pan!=null&&t.hasOwnProperty("pan")&&(i.pan=e.json&&!isFinite(t.pan)?String(t.pan):t.pan),t.vu&&t.vu.length){i.vu=[];for(let a=0;a<t.vu.length;++a)i.vu[a]=e.json&&!isFinite(t.vu[a])?String(t.vu[a]):t.vu[a]}if(t.hasData!=null&&t.hasOwnProperty("hasData")&&(i.hasData=t.hasData),t.readErrors!=null&&t.hasOwnProperty("readErrors")&&(i.readErrors=t.readErrors),t.plugins&&t.plugins.length){i.plugins=[];for(let a=0;a<t.plugins.length;++a)i.plugins[a]=$root.sesame.v1.audio.AudioChannelPluginStatus.toObject(t.plugins[a],e)}return i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.audio.AudioChannelStatus"},n}(),l.AudioMixerStatus=function(){function n(r){if(this.vu=[],this.channels=[],r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.id="",n.prototype.outputType=0,n.prototype.vu=$util.emptyArray,n.prototype.channels=$util.emptyArray,n.create=function(t){return new n(t)},n.encode=function(t,e){if(e||(e=$Writer.create()),t.id!=null&&Object.hasOwnProperty.call(t,"id")&&e.uint32(10).string(t.id),t.outputType!=null&&Object.hasOwnProperty.call(t,"outputType")&&e.uint32(16).int32(t.outputType),t.vu!=null&&t.vu.length){e.uint32(26).fork();for(let i=0;i<t.vu.length;++i)e.float(t.vu[i]);e.ldelim()}if(t.channels!=null&&t.channels.length)for(let i=0;i<t.channels.length;++i)$root.sesame.v1.audio.AudioChannelStatus.encode(t.channels[i],e.uint32(34).fork()).ldelim();return e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.audio.AudioMixerStatus;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.id=t.string();break}case 2:{s.outputType=t.int32();break}case 3:{if(s.vu&&s.vu.length||(s.vu=[]),(d&7)===2){let c=t.uint32()+t.pos;for(;t.pos<c;)s.vu.push(t.float())}else s.vu.push(t.float());break}case 4:{s.channels&&s.channels.length||(s.channels=[]),s.channels.push($root.sesame.v1.audio.AudioChannelStatus.decode(t,t.uint32()));break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.id!=null&&t.hasOwnProperty("id")&&!$util.isString(t.id))return"id: string expected";if(t.outputType!=null&&t.hasOwnProperty("outputType"))switch(t.outputType){default:return"outputType: enum value expected";case 0:case 1:case 2:break}if(t.vu!=null&&t.hasOwnProperty("vu")){if(!Array.isArray(t.vu))return"vu: array expected";for(let e=0;e<t.vu.length;++e)if(typeof t.vu[e]!="number")return"vu: number[] expected"}if(t.channels!=null&&t.hasOwnProperty("channels")){if(!Array.isArray(t.channels))return"channels: array expected";for(let e=0;e<t.channels.length;++e){let i=$root.sesame.v1.audio.AudioChannelStatus.verify(t.channels[e]);if(i)return"channels."+i}}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.audio.AudioMixerStatus)return t;let e=new $root.sesame.v1.audio.AudioMixerStatus;switch(t.id!=null&&(e.id=String(t.id)),t.outputType){default:if(typeof t.outputType=="number"){e.outputType=t.outputType;break}break;case"AUDIO_MIXER_CHANNEL_TYPE_UNSPECIFIED":case 0:e.outputType=0;break;case"AUDIO_MIXER_CHANNEL_TYPE_MONO":case 1:e.outputType=1;break;case"AUDIO_MIXER_CHANNEL_TYPE_STEREO":case 2:e.outputType=2;break}if(t.vu){if(!Array.isArray(t.vu))throw TypeError(".sesame.v1.audio.AudioMixerStatus.vu: array expected");e.vu=[];for(let i=0;i<t.vu.length;++i)e.vu[i]=Number(t.vu[i])}if(t.channels){if(!Array.isArray(t.channels))throw TypeError(".sesame.v1.audio.AudioMixerStatus.channels: array expected");e.channels=[];for(let i=0;i<t.channels.length;++i){if(typeof t.channels[i]!="object")throw TypeError(".sesame.v1.audio.AudioMixerStatus.channels: object expected");e.channels[i]=$root.sesame.v1.audio.AudioChannelStatus.fromObject(t.channels[i])}}return e},n.toObject=function(t,e){e||(e={});let i={};if((e.arrays||e.defaults)&&(i.vu=[],i.channels=[]),e.defaults&&(i.id="",i.outputType=e.enums===String?"AUDIO_MIXER_CHANNEL_TYPE_UNSPECIFIED":0),t.id!=null&&t.hasOwnProperty("id")&&(i.id=t.id),t.outputType!=null&&t.hasOwnProperty("outputType")&&(i.outputType=e.enums===String?$root.sesame.v1.audio.AudioMixerChannelType[t.outputType]===void 0?t.outputType:$root.sesame.v1.audio.AudioMixerChannelType[t.outputType]:t.outputType),t.vu&&t.vu.length){i.vu=[];for(let a=0;a<t.vu.length;++a)i.vu[a]=e.json&&!isFinite(t.vu[a])?String(t.vu[a]):t.vu[a]}if(t.channels&&t.channels.length){i.channels=[];for(let a=0;a<t.channels.length;++a)i.channels[a]=$root.sesame.v1.audio.AudioChannelStatus.toObject(t.channels[a],e)}return i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.audio.AudioMixerStatus"},n}(),l.AudioPluginControlRequest=function(){function n(r){if(this.params=[],r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.pluginId="",n.prototype.params=$util.emptyArray,n.create=function(t){return new n(t)},n.encode=function(t,e){if(e||(e=$Writer.create()),t.pluginId!=null&&Object.hasOwnProperty.call(t,"pluginId")&&e.uint32(10).string(t.pluginId),t.params!=null&&t.params.length)for(let i=0;i<t.params.length;++i)$root.sesame.v1.audio.AudioPluginParam.encode(t.params[i],e.uint32(18).fork()).ldelim();return e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.audio.AudioPluginControlRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.pluginId=t.string();break}case 2:{s.params&&s.params.length||(s.params=[]),s.params.push($root.sesame.v1.audio.AudioPluginParam.decode(t,t.uint32()));break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.pluginId!=null&&t.hasOwnProperty("pluginId")&&!$util.isString(t.pluginId))return"pluginId: string expected";if(t.params!=null&&t.hasOwnProperty("params")){if(!Array.isArray(t.params))return"params: array expected";for(let e=0;e<t.params.length;++e){let i=$root.sesame.v1.audio.AudioPluginParam.verify(t.params[e]);if(i)return"params."+i}}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.audio.AudioPluginControlRequest)return t;let e=new $root.sesame.v1.audio.AudioPluginControlRequest;if(t.pluginId!=null&&(e.pluginId=String(t.pluginId)),t.params){if(!Array.isArray(t.params))throw TypeError(".sesame.v1.audio.AudioPluginControlRequest.params: array expected");e.params=[];for(let i=0;i<t.params.length;++i){if(typeof t.params[i]!="object")throw TypeError(".sesame.v1.audio.AudioPluginControlRequest.params: object expected");e.params[i]=$root.sesame.v1.audio.AudioPluginParam.fromObject(t.params[i])}}return e},n.toObject=function(t,e){e||(e={});let i={};if((e.arrays||e.defaults)&&(i.params=[]),e.defaults&&(i.pluginId=""),t.pluginId!=null&&t.hasOwnProperty("pluginId")&&(i.pluginId=t.pluginId),t.params&&t.params.length){i.params=[];for(let a=0;a<t.params.length;++a)i.params[a]=$root.sesame.v1.audio.AudioPluginParam.toObject(t.params[a],e)}return i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.audio.AudioPluginControlRequest"},n}(),l.AudioChannelControlRequest=function(){function n(t){if(this.plugins=[],t)for(let e=Object.keys(t),i=0;i<e.length;++i)t[e[i]]!=null&&(this[e[i]]=t[e[i]])}n.prototype.channelId="",n.prototype.level=null,n.prototype.pan=null,n.prototype.plugins=$util.emptyArray;let r;return Object.defineProperty(n.prototype,"_level",{get:$util.oneOfGetter(r=["level"]),set:$util.oneOfSetter(r)}),Object.defineProperty(n.prototype,"_pan",{get:$util.oneOfGetter(r=["pan"]),set:$util.oneOfSetter(r)}),n.create=function(e){return new n(e)},n.encode=function(e,i){if(i||(i=$Writer.create()),e.channelId!=null&&Object.hasOwnProperty.call(e,"channelId")&&i.uint32(10).string(e.channelId),e.level!=null&&Object.hasOwnProperty.call(e,"level")&&i.uint32(21).float(e.level),e.pan!=null&&Object.hasOwnProperty.call(e,"pan")&&i.uint32(29).float(e.pan),e.plugins!=null&&e.plugins.length)for(let a=0;a<e.plugins.length;++a)$root.sesame.v1.audio.AudioPluginControlRequest.encode(e.plugins[a],i.uint32(34).fork()).ldelim();return i},n.encodeDelimited=function(e,i){return this.encode(e,i).ldelim()},n.decode=function(e,i,a){e instanceof $Reader||(e=$Reader.create(e));let s=i===void 0?e.len:e.pos+i,d=new $root.sesame.v1.audio.AudioChannelControlRequest;for(;e.pos<s;){let c=e.uint32();if(c===a)break;switch(c>>>3){case 1:{d.channelId=e.string();break}case 2:{d.level=e.float();break}case 3:{d.pan=e.float();break}case 4:{d.plugins&&d.plugins.length||(d.plugins=[]),d.plugins.push($root.sesame.v1.audio.AudioPluginControlRequest.decode(e,e.uint32()));break}default:e.skipType(c&7);break}}return d},n.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},n.verify=function(e){if(typeof e!="object"||e===null)return"object expected";if(e.channelId!=null&&e.hasOwnProperty("channelId")&&!$util.isString(e.channelId))return"channelId: string expected";if(e.level!=null&&e.hasOwnProperty("level")&&typeof e.level!="number")return"level: number expected";if(e.pan!=null&&e.hasOwnProperty("pan")&&typeof e.pan!="number")return"pan: number expected";if(e.plugins!=null&&e.hasOwnProperty("plugins")){if(!Array.isArray(e.plugins))return"plugins: array expected";for(let i=0;i<e.plugins.length;++i){let a=$root.sesame.v1.audio.AudioPluginControlRequest.verify(e.plugins[i]);if(a)return"plugins."+a}}return null},n.fromObject=function(e){if(e instanceof $root.sesame.v1.audio.AudioChannelControlRequest)return e;let i=new $root.sesame.v1.audio.AudioChannelControlRequest;if(e.channelId!=null&&(i.channelId=String(e.channelId)),e.level!=null&&(i.level=Number(e.level)),e.pan!=null&&(i.pan=Number(e.pan)),e.plugins){if(!Array.isArray(e.plugins))throw TypeError(".sesame.v1.audio.AudioChannelControlRequest.plugins: array expected");i.plugins=[];for(let a=0;a<e.plugins.length;++a){if(typeof e.plugins[a]!="object")throw TypeError(".sesame.v1.audio.AudioChannelControlRequest.plugins: object expected");i.plugins[a]=$root.sesame.v1.audio.AudioPluginControlRequest.fromObject(e.plugins[a])}}return i},n.toObject=function(e,i){i||(i={});let a={};if((i.arrays||i.defaults)&&(a.plugins=[]),i.defaults&&(a.channelId=""),e.channelId!=null&&e.hasOwnProperty("channelId")&&(a.channelId=e.channelId),e.level!=null&&e.hasOwnProperty("level")&&(a.level=i.json&&!isFinite(e.level)?String(e.level):e.level,i.oneofs&&(a._level="level")),e.pan!=null&&e.hasOwnProperty("pan")&&(a.pan=i.json&&!isFinite(e.pan)?String(e.pan):e.pan,i.oneofs&&(a._pan="pan")),e.plugins&&e.plugins.length){a.plugins=[];for(let s=0;s<e.plugins.length;++s)a.plugins[s]=$root.sesame.v1.audio.AudioPluginControlRequest.toObject(e.plugins[s],i)}return a},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/sesame.v1.audio.AudioChannelControlRequest"},n}(),l.AudioControlRequest=function(){function n(r){if(this.channels=[],r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.channels=$util.emptyArray,n.create=function(t){return new n(t)},n.encode=function(t,e){if(e||(e=$Writer.create()),t.channels!=null&&t.channels.length)for(let i=0;i<t.channels.length;++i)$root.sesame.v1.audio.AudioChannelControlRequest.encode(t.channels[i],e.uint32(10).fork()).ldelim();return e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.audio.AudioControlRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.channels&&s.channels.length||(s.channels=[]),s.channels.push($root.sesame.v1.audio.AudioChannelControlRequest.decode(t,t.uint32()));break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.channels!=null&&t.hasOwnProperty("channels")){if(!Array.isArray(t.channels))return"channels: array expected";for(let e=0;e<t.channels.length;++e){let i=$root.sesame.v1.audio.AudioChannelControlRequest.verify(t.channels[e]);if(i)return"channels."+i}}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.audio.AudioControlRequest)return t;let e=new $root.sesame.v1.audio.AudioControlRequest;if(t.channels){if(!Array.isArray(t.channels))throw TypeError(".sesame.v1.audio.AudioControlRequest.channels: array expected");e.channels=[];for(let i=0;i<t.channels.length;++i){if(typeof t.channels[i]!="object")throw TypeError(".sesame.v1.audio.AudioControlRequest.channels: object expected");e.channels[i]=$root.sesame.v1.audio.AudioChannelControlRequest.fromObject(t.channels[i])}}return e},n.toObject=function(t,e){e||(e={});let i={};if((e.arrays||e.defaults)&&(i.channels=[]),t.channels&&t.channels.length){i.channels=[];for(let a=0;a<t.channels.length;++a)i.channels[a]=$root.sesame.v1.audio.AudioChannelControlRequest.toObject(t.channels[a],e)}return i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.audio.AudioControlRequest"},n}(),l}(),o.commands=function(){const l={};return l.CommandListItem=function(){function n(t){if(this.transactionDeps=[],t)for(let e=Object.keys(t),i=0;i<e.length;++i)t[e[i]]!=null&&(this[e[i]]=t[e[i]])}n.prototype.timeOffsetUs=$util.Long?$util.Long.fromBits(0,0,!1):0,n.prototype.addSource=null,n.prototype.updateSource=null,n.prototype.removeSource=null,n.prototype.addOutput=null,n.prototype.updateOutput=null,n.prototype.removeOutput=null,n.prototype.addCompositor=null,n.prototype.removeCompositor=null,n.prototype.clearCompositor=null,n.prototype.addNode=null,n.prototype.removeNode=null,n.prototype.setProperty=null,n.prototype.animateProperty=null,n.prototype.addAudioMixer=null,n.prototype.updateAudioMixer=null,n.prototype.removeAudioMixer=null,n.prototype.addAudioChannel=null,n.prototype.removeAudioChannel=null,n.prototype.updateSourceTransport=null,n.prototype.loadPlaylist=null,n.prototype.ejectPlaylist=null,n.prototype.callback=null,n.prototype.setSourceMetadata=null,n.prototype.setMetadataBindings=null,n.prototype.transactionId=null,n.prototype.transactionDeps=$util.emptyArray;let r;return Object.defineProperty(n.prototype,"item",{get:$util.oneOfGetter(r=["addSource","updateSource","removeSource","addOutput","updateOutput","removeOutput","addCompositor","removeCompositor","clearCompositor","addNode","removeNode","setProperty","animateProperty","addAudioMixer","updateAudioMixer","removeAudioMixer","addAudioChannel","removeAudioChannel","updateSourceTransport","loadPlaylist","ejectPlaylist","callback","setSourceMetadata","setMetadataBindings"]),set:$util.oneOfSetter(r)}),Object.defineProperty(n.prototype,"_transactionId",{get:$util.oneOfGetter(r=["transactionId"]),set:$util.oneOfSetter(r)}),n.create=function(e){return new n(e)},n.encode=function(e,i){if(i||(i=$Writer.create()),e.timeOffsetUs!=null&&Object.hasOwnProperty.call(e,"timeOffsetUs")&&i.uint32(8).int64(e.timeOffsetUs),e.addSource!=null&&Object.hasOwnProperty.call(e,"addSource")&&$root.sesame.v1.sources.SourceAddRequest.encode(e.addSource,i.uint32(18).fork()).ldelim(),e.updateSource!=null&&Object.hasOwnProperty.call(e,"updateSource")&&$root.sesame.v1.sources.SourceUpdateRequest.encode(e.updateSource,i.uint32(26).fork()).ldelim(),e.removeSource!=null&&Object.hasOwnProperty.call(e,"removeSource")&&$root.sesame.v1.sources.SourceRemoveRequest.encode(e.removeSource,i.uint32(34).fork()).ldelim(),e.addOutput!=null&&Object.hasOwnProperty.call(e,"addOutput")&&$root.sesame.v1.outputs.OutputAddRequest.encode(e.addOutput,i.uint32(42).fork()).ldelim(),e.updateOutput!=null&&Object.hasOwnProperty.call(e,"updateOutput")&&$root.sesame.v1.outputs.OutputUpdateRequest.encode(e.updateOutput,i.uint32(50).fork()).ldelim(),e.removeOutput!=null&&Object.hasOwnProperty.call(e,"removeOutput")&&$root.sesame.v1.outputs.OutputRemoveRequest.encode(e.removeOutput,i.uint32(58).fork()).ldelim(),e.addCompositor!=null&&Object.hasOwnProperty.call(e,"addCompositor")&&$root.sesame.v1.compositor.CompositorAddRequest.encode(e.addCompositor,i.uint32(66).fork()).ldelim(),e.removeCompositor!=null&&Object.hasOwnProperty.call(e,"removeCompositor")&&$root.sesame.v1.compositor.CompositorRemoveRequest.encode(e.removeCompositor,i.uint32(74).fork()).ldelim(),e.clearCompositor!=null&&Object.hasOwnProperty.call(e,"clearCompositor")&&$root.sesame.v1.compositor.CompositorClearRequest.encode(e.clearCompositor,i.uint32(82).fork()).ldelim(),e.addNode!=null&&Object.hasOwnProperty.call(e,"addNode")&&$root.sesame.v1.compositor.NodeAddRequest.encode(e.addNode,i.uint32(90).fork()).ldelim(),e.removeNode!=null&&Object.hasOwnProperty.call(e,"removeNode")&&$root.sesame.v1.compositor.NodeRemoveRequest.encode(e.removeNode,i.uint32(98).fork()).ldelim(),e.setProperty!=null&&Object.hasOwnProperty.call(e,"setProperty")&&$root.sesame.v1.compositor.PropertySetRequest.encode(e.setProperty,i.uint32(106).fork()).ldelim(),e.animateProperty!=null&&Object.hasOwnProperty.call(e,"animateProperty")&&$root.sesame.v1.compositor.PropertyAnimateRequest.encode(e.animateProperty,i.uint32(114).fork()).ldelim(),e.addAudioMixer!=null&&Object.hasOwnProperty.call(e,"addAudioMixer")&&$root.sesame.v1.audio.AudioMixerAddRequest.encode(e.addAudioMixer,i.uint32(122).fork()).ldelim(),e.updateAudioMixer!=null&&Object.hasOwnProperty.call(e,"updateAudioMixer")&&$root.sesame.v1.audio.AudioMixerUpdateRequest.encode(e.updateAudioMixer,i.uint32(130).fork()).ldelim(),e.removeAudioMixer!=null&&Object.hasOwnProperty.call(e,"removeAudioMixer")&&$root.sesame.v1.audio.AudioMixerRemoveRequest.encode(e.removeAudioMixer,i.uint32(138).fork()).ldelim(),e.addAudioChannel!=null&&Object.hasOwnProperty.call(e,"addAudioChannel")&&$root.sesame.v1.audio.AudioChannelAddRequest.encode(e.addAudioChannel,i.uint32(146).fork()).ldelim(),e.removeAudioChannel!=null&&Object.hasOwnProperty.call(e,"removeAudioChannel")&&$root.sesame.v1.audio.AudioChannelRemoveRequest.encode(e.removeAudioChannel,i.uint32(154).fork()).ldelim(),e.updateSourceTransport!=null&&Object.hasOwnProperty.call(e,"updateSourceTransport")&&$root.sesame.v1.sources.SourceTransportCommand.encode(e.updateSourceTransport,i.uint32(162).fork()).ldelim(),e.loadPlaylist!=null&&Object.hasOwnProperty.call(e,"loadPlaylist")&&$root.sesame.v1.sources.LoadPlaylistRequest.encode(e.loadPlaylist,i.uint32(170).fork()).ldelim(),e.ejectPlaylist!=null&&Object.hasOwnProperty.call(e,"ejectPlaylist")&&$root.sesame.v1.sources.EjectPlaylistRequest.encode(e.ejectPlaylist,i.uint32(178).fork()).ldelim(),e.callback!=null&&Object.hasOwnProperty.call(e,"callback")&&$root.sesame.v1.common.Callback.encode(e.callback,i.uint32(186).fork()).ldelim(),e.setSourceMetadata!=null&&Object.hasOwnProperty.call(e,"setSourceMetadata")&&$root.sesame.v1.sources.SourceMetadataSetRequest.encode(e.setSourceMetadata,i.uint32(194).fork()).ldelim(),e.transactionId!=null&&Object.hasOwnProperty.call(e,"transactionId")&&i.uint32(200).uint32(e.transactionId),e.transactionDeps!=null&&e.transactionDeps.length){i.uint32(210).fork();for(let a=0;a<e.transactionDeps.length;++a)i.uint32(e.transactionDeps[a]);i.ldelim()}return e.setMetadataBindings!=null&&Object.hasOwnProperty.call(e,"setMetadataBindings")&&$root.sesame.v1.commands.SetMetadataBindingsRequest.encode(e.setMetadataBindings,i.uint32(218).fork()).ldelim(),i},n.encodeDelimited=function(e,i){return this.encode(e,i).ldelim()},n.decode=function(e,i,a){e instanceof $Reader||(e=$Reader.create(e));let s=i===void 0?e.len:e.pos+i,d=new $root.sesame.v1.commands.CommandListItem;for(;e.pos<s;){let c=e.uint32();if(c===a)break;switch(c>>>3){case 1:{d.timeOffsetUs=e.int64();break}case 2:{d.addSource=$root.sesame.v1.sources.SourceAddRequest.decode(e,e.uint32());break}case 3:{d.updateSource=$root.sesame.v1.sources.SourceUpdateRequest.decode(e,e.uint32());break}case 4:{d.removeSource=$root.sesame.v1.sources.SourceRemoveRequest.decode(e,e.uint32());break}case 5:{d.addOutput=$root.sesame.v1.outputs.OutputAddRequest.decode(e,e.uint32());break}case 6:{d.updateOutput=$root.sesame.v1.outputs.OutputUpdateRequest.decode(e,e.uint32());break}case 7:{d.removeOutput=$root.sesame.v1.outputs.OutputRemoveRequest.decode(e,e.uint32());break}case 8:{d.addCompositor=$root.sesame.v1.compositor.CompositorAddRequest.decode(e,e.uint32());break}case 9:{d.removeCompositor=$root.sesame.v1.compositor.CompositorRemoveRequest.decode(e,e.uint32());break}case 10:{d.clearCompositor=$root.sesame.v1.compositor.CompositorClearRequest.decode(e,e.uint32());break}case 11:{d.addNode=$root.sesame.v1.compositor.NodeAddRequest.decode(e,e.uint32());break}case 12:{d.removeNode=$root.sesame.v1.compositor.NodeRemoveRequest.decode(e,e.uint32());break}case 13:{d.setProperty=$root.sesame.v1.compositor.PropertySetRequest.decode(e,e.uint32());break}case 14:{d.animateProperty=$root.sesame.v1.compositor.PropertyAnimateRequest.decode(e,e.uint32());break}case 15:{d.addAudioMixer=$root.sesame.v1.audio.AudioMixerAddRequest.decode(e,e.uint32());break}case 16:{d.updateAudioMixer=$root.sesame.v1.audio.AudioMixerUpdateRequest.decode(e,e.uint32());break}case 17:{d.removeAudioMixer=$root.sesame.v1.audio.AudioMixerRemoveRequest.decode(e,e.uint32());break}case 18:{d.addAudioChannel=$root.sesame.v1.audio.AudioChannelAddRequest.decode(e,e.uint32());break}case 19:{d.removeAudioChannel=$root.sesame.v1.audio.AudioChannelRemoveRequest.decode(e,e.uint32());break}case 20:{d.updateSourceTransport=$root.sesame.v1.sources.SourceTransportCommand.decode(e,e.uint32());break}case 21:{d.loadPlaylist=$root.sesame.v1.sources.LoadPlaylistRequest.decode(e,e.uint32());break}case 22:{d.ejectPlaylist=$root.sesame.v1.sources.EjectPlaylistRequest.decode(e,e.uint32());break}case 23:{d.callback=$root.sesame.v1.common.Callback.decode(e,e.uint32());break}case 24:{d.setSourceMetadata=$root.sesame.v1.sources.SourceMetadataSetRequest.decode(e,e.uint32());break}case 27:{d.setMetadataBindings=$root.sesame.v1.commands.SetMetadataBindingsRequest.decode(e,e.uint32());break}case 25:{d.transactionId=e.uint32();break}case 26:{if(d.transactionDeps&&d.transactionDeps.length||(d.transactionDeps=[]),(c&7)===2){let F=e.uint32()+e.pos;for(;e.pos<F;)d.transactionDeps.push(e.uint32())}else d.transactionDeps.push(e.uint32());break}default:e.skipType(c&7);break}}return d},n.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},n.verify=function(e){if(typeof e!="object"||e===null)return"object expected";let i={};if(e.timeOffsetUs!=null&&e.hasOwnProperty("timeOffsetUs")&&!$util.isInteger(e.timeOffsetUs)&&!(e.timeOffsetUs&&$util.isInteger(e.timeOffsetUs.low)&&$util.isInteger(e.timeOffsetUs.high)))return"timeOffsetUs: integer|Long expected";if(e.addSource!=null&&e.hasOwnProperty("addSource")){i.item=1;{let a=$root.sesame.v1.sources.SourceAddRequest.verify(e.addSource);if(a)return"addSource."+a}}if(e.updateSource!=null&&e.hasOwnProperty("updateSource")){if(i.item===1)return"item: multiple values";i.item=1;{let a=$root.sesame.v1.sources.SourceUpdateRequest.verify(e.updateSource);if(a)return"updateSource."+a}}if(e.removeSource!=null&&e.hasOwnProperty("removeSource")){if(i.item===1)return"item: multiple values";i.item=1;{let a=$root.sesame.v1.sources.SourceRemoveRequest.verify(e.removeSource);if(a)return"removeSource."+a}}if(e.addOutput!=null&&e.hasOwnProperty("addOutput")){if(i.item===1)return"item: multiple values";i.item=1;{let a=$root.sesame.v1.outputs.OutputAddRequest.verify(e.addOutput);if(a)return"addOutput."+a}}if(e.updateOutput!=null&&e.hasOwnProperty("updateOutput")){if(i.item===1)return"item: multiple values";i.item=1;{let a=$root.sesame.v1.outputs.OutputUpdateRequest.verify(e.updateOutput);if(a)return"updateOutput."+a}}if(e.removeOutput!=null&&e.hasOwnProperty("removeOutput")){if(i.item===1)return"item: multiple values";i.item=1;{let a=$root.sesame.v1.outputs.OutputRemoveRequest.verify(e.removeOutput);if(a)return"removeOutput."+a}}if(e.addCompositor!=null&&e.hasOwnProperty("addCompositor")){if(i.item===1)return"item: multiple values";i.item=1;{let a=$root.sesame.v1.compositor.CompositorAddRequest.verify(e.addCompositor);if(a)return"addCompositor."+a}}if(e.removeCompositor!=null&&e.hasOwnProperty("removeCompositor")){if(i.item===1)return"item: multiple values";i.item=1;{let a=$root.sesame.v1.compositor.CompositorRemoveRequest.verify(e.removeCompositor);if(a)return"removeCompositor."+a}}if(e.clearCompositor!=null&&e.hasOwnProperty("clearCompositor")){if(i.item===1)return"item: multiple values";i.item=1;{let a=$root.sesame.v1.compositor.CompositorClearRequest.verify(e.clearCompositor);if(a)return"clearCompositor."+a}}if(e.addNode!=null&&e.hasOwnProperty("addNode")){if(i.item===1)return"item: multiple values";i.item=1;{let a=$root.sesame.v1.compositor.NodeAddRequest.verify(e.addNode);if(a)return"addNode."+a}}if(e.removeNode!=null&&e.hasOwnProperty("removeNode")){if(i.item===1)return"item: multiple values";i.item=1;{let a=$root.sesame.v1.compositor.NodeRemoveRequest.verify(e.removeNode);if(a)return"removeNode."+a}}if(e.setProperty!=null&&e.hasOwnProperty("setProperty")){if(i.item===1)return"item: multiple values";i.item=1;{let a=$root.sesame.v1.compositor.PropertySetRequest.verify(e.setProperty);if(a)return"setProperty."+a}}if(e.animateProperty!=null&&e.hasOwnProperty("animateProperty")){if(i.item===1)return"item: multiple values";i.item=1;{let a=$root.sesame.v1.compositor.PropertyAnimateRequest.verify(e.animateProperty);if(a)return"animateProperty."+a}}if(e.addAudioMixer!=null&&e.hasOwnProperty("addAudioMixer")){if(i.item===1)return"item: multiple values";i.item=1;{let a=$root.sesame.v1.audio.AudioMixerAddRequest.verify(e.addAudioMixer);if(a)return"addAudioMixer."+a}}if(e.updateAudioMixer!=null&&e.hasOwnProperty("updateAudioMixer")){if(i.item===1)return"item: multiple values";i.item=1;{let a=$root.sesame.v1.audio.AudioMixerUpdateRequest.verify(e.updateAudioMixer);if(a)return"updateAudioMixer."+a}}if(e.removeAudioMixer!=null&&e.hasOwnProperty("removeAudioMixer")){if(i.item===1)return"item: multiple values";i.item=1;{let a=$root.sesame.v1.audio.AudioMixerRemoveRequest.verify(e.removeAudioMixer);if(a)return"removeAudioMixer."+a}}if(e.addAudioChannel!=null&&e.hasOwnProperty("addAudioChannel")){if(i.item===1)return"item: multiple values";i.item=1;{let a=$root.sesame.v1.audio.AudioChannelAddRequest.verify(e.addAudioChannel);if(a)return"addAudioChannel."+a}}if(e.removeAudioChannel!=null&&e.hasOwnProperty("removeAudioChannel")){if(i.item===1)return"item: multiple values";i.item=1;{let a=$root.sesame.v1.audio.AudioChannelRemoveRequest.verify(e.removeAudioChannel);if(a)return"removeAudioChannel."+a}}if(e.updateSourceTransport!=null&&e.hasOwnProperty("updateSourceTransport")){if(i.item===1)return"item: multiple values";i.item=1;{let a=$root.sesame.v1.sources.SourceTransportCommand.verify(e.updateSourceTransport);if(a)return"updateSourceTransport."+a}}if(e.loadPlaylist!=null&&e.hasOwnProperty("loadPlaylist")){if(i.item===1)return"item: multiple values";i.item=1;{let a=$root.sesame.v1.sources.LoadPlaylistRequest.verify(e.loadPlaylist);if(a)return"loadPlaylist."+a}}if(e.ejectPlaylist!=null&&e.hasOwnProperty("ejectPlaylist")){if(i.item===1)return"item: multiple values";i.item=1;{let a=$root.sesame.v1.sources.EjectPlaylistRequest.verify(e.ejectPlaylist);if(a)return"ejectPlaylist."+a}}if(e.callback!=null&&e.hasOwnProperty("callback")){if(i.item===1)return"item: multiple values";i.item=1;{let a=$root.sesame.v1.common.Callback.verify(e.callback);if(a)return"callback."+a}}if(e.setSourceMetadata!=null&&e.hasOwnProperty("setSourceMetadata")){if(i.item===1)return"item: multiple values";i.item=1;{let a=$root.sesame.v1.sources.SourceMetadataSetRequest.verify(e.setSourceMetadata);if(a)return"setSourceMetadata."+a}}if(e.setMetadataBindings!=null&&e.hasOwnProperty("setMetadataBindings")){if(i.item===1)return"item: multiple values";i.item=1;{let a=$root.sesame.v1.commands.SetMetadataBindingsRequest.verify(e.setMetadataBindings);if(a)return"setMetadataBindings."+a}}if(e.transactionId!=null&&e.hasOwnProperty("transactionId")&&(i._transactionId=1,!$util.isInteger(e.transactionId)))return"transactionId: integer expected";if(e.transactionDeps!=null&&e.hasOwnProperty("transactionDeps")){if(!Array.isArray(e.transactionDeps))return"transactionDeps: array expected";for(let a=0;a<e.transactionDeps.length;++a)if(!$util.isInteger(e.transactionDeps[a]))return"transactionDeps: integer[] expected"}return null},n.fromObject=function(e){if(e instanceof $root.sesame.v1.commands.CommandListItem)return e;let i=new $root.sesame.v1.commands.CommandListItem;if(e.timeOffsetUs!=null&&($util.Long?(i.timeOffsetUs=$util.Long.fromValue(e.timeOffsetUs)).unsigned=!1:typeof e.timeOffsetUs=="string"?i.timeOffsetUs=parseInt(e.timeOffsetUs,10):typeof e.timeOffsetUs=="number"?i.timeOffsetUs=e.timeOffsetUs:typeof e.timeOffsetUs=="object"&&(i.timeOffsetUs=new $util.LongBits(e.timeOffsetUs.low>>>0,e.timeOffsetUs.high>>>0).toNumber())),e.addSource!=null){if(typeof e.addSource!="object")throw TypeError(".sesame.v1.commands.CommandListItem.addSource: object expected");i.addSource=$root.sesame.v1.sources.SourceAddRequest.fromObject(e.addSource)}if(e.updateSource!=null){if(typeof e.updateSource!="object")throw TypeError(".sesame.v1.commands.CommandListItem.updateSource: object expected");i.updateSource=$root.sesame.v1.sources.SourceUpdateRequest.fromObject(e.updateSource)}if(e.removeSource!=null){if(typeof e.removeSource!="object")throw TypeError(".sesame.v1.commands.CommandListItem.removeSource: object expected");i.removeSource=$root.sesame.v1.sources.SourceRemoveRequest.fromObject(e.removeSource)}if(e.addOutput!=null){if(typeof e.addOutput!="object")throw TypeError(".sesame.v1.commands.CommandListItem.addOutput: object expected");i.addOutput=$root.sesame.v1.outputs.OutputAddRequest.fromObject(e.addOutput)}if(e.updateOutput!=null){if(typeof e.updateOutput!="object")throw TypeError(".sesame.v1.commands.CommandListItem.updateOutput: object expected");i.updateOutput=$root.sesame.v1.outputs.OutputUpdateRequest.fromObject(e.updateOutput)}if(e.removeOutput!=null){if(typeof e.removeOutput!="object")throw TypeError(".sesame.v1.commands.CommandListItem.removeOutput: object expected");i.removeOutput=$root.sesame.v1.outputs.OutputRemoveRequest.fromObject(e.removeOutput)}if(e.addCompositor!=null){if(typeof e.addCompositor!="object")throw TypeError(".sesame.v1.commands.CommandListItem.addCompositor: object expected");i.addCompositor=$root.sesame.v1.compositor.CompositorAddRequest.fromObject(e.addCompositor)}if(e.removeCompositor!=null){if(typeof e.removeCompositor!="object")throw TypeError(".sesame.v1.commands.CommandListItem.removeCompositor: object expected");i.removeCompositor=$root.sesame.v1.compositor.CompositorRemoveRequest.fromObject(e.removeCompositor)}if(e.clearCompositor!=null){if(typeof e.clearCompositor!="object")throw TypeError(".sesame.v1.commands.CommandListItem.clearCompositor: object expected");i.clearCompositor=$root.sesame.v1.compositor.CompositorClearRequest.fromObject(e.clearCompositor)}if(e.addNode!=null){if(typeof e.addNode!="object")throw TypeError(".sesame.v1.commands.CommandListItem.addNode: object expected");i.addNode=$root.sesame.v1.compositor.NodeAddRequest.fromObject(e.addNode)}if(e.removeNode!=null){if(typeof e.removeNode!="object")throw TypeError(".sesame.v1.commands.CommandListItem.removeNode: object expected");i.removeNode=$root.sesame.v1.compositor.NodeRemoveRequest.fromObject(e.removeNode)}if(e.setProperty!=null){if(typeof e.setProperty!="object")throw TypeError(".sesame.v1.commands.CommandListItem.setProperty: object expected");i.setProperty=$root.sesame.v1.compositor.PropertySetRequest.fromObject(e.setProperty)}if(e.animateProperty!=null){if(typeof e.animateProperty!="object")throw TypeError(".sesame.v1.commands.CommandListItem.animateProperty: object expected");i.animateProperty=$root.sesame.v1.compositor.PropertyAnimateRequest.fromObject(e.animateProperty)}if(e.addAudioMixer!=null){if(typeof e.addAudioMixer!="object")throw TypeError(".sesame.v1.commands.CommandListItem.addAudioMixer: object expected");i.addAudioMixer=$root.sesame.v1.audio.AudioMixerAddRequest.fromObject(e.addAudioMixer)}if(e.updateAudioMixer!=null){if(typeof e.updateAudioMixer!="object")throw TypeError(".sesame.v1.commands.CommandListItem.updateAudioMixer: object expected");i.updateAudioMixer=$root.sesame.v1.audio.AudioMixerUpdateRequest.fromObject(e.updateAudioMixer)}if(e.removeAudioMixer!=null){if(typeof e.removeAudioMixer!="object")throw TypeError(".sesame.v1.commands.CommandListItem.removeAudioMixer: object expected");i.removeAudioMixer=$root.sesame.v1.audio.AudioMixerRemoveRequest.fromObject(e.removeAudioMixer)}if(e.addAudioChannel!=null){if(typeof e.addAudioChannel!="object")throw TypeError(".sesame.v1.commands.CommandListItem.addAudioChannel: object expected");i.addAudioChannel=$root.sesame.v1.audio.AudioChannelAddRequest.fromObject(e.addAudioChannel)}if(e.removeAudioChannel!=null){if(typeof e.removeAudioChannel!="object")throw TypeError(".sesame.v1.commands.CommandListItem.removeAudioChannel: object expected");i.removeAudioChannel=$root.sesame.v1.audio.AudioChannelRemoveRequest.fromObject(e.removeAudioChannel)}if(e.updateSourceTransport!=null){if(typeof e.updateSourceTransport!="object")throw TypeError(".sesame.v1.commands.CommandListItem.updateSourceTransport: object expected");i.updateSourceTransport=$root.sesame.v1.sources.SourceTransportCommand.fromObject(e.updateSourceTransport)}if(e.loadPlaylist!=null){if(typeof e.loadPlaylist!="object")throw TypeError(".sesame.v1.commands.CommandListItem.loadPlaylist: object expected");i.loadPlaylist=$root.sesame.v1.sources.LoadPlaylistRequest.fromObject(e.loadPlaylist)}if(e.ejectPlaylist!=null){if(typeof e.ejectPlaylist!="object")throw TypeError(".sesame.v1.commands.CommandListItem.ejectPlaylist: object expected");i.ejectPlaylist=$root.sesame.v1.sources.EjectPlaylistRequest.fromObject(e.ejectPlaylist)}if(e.callback!=null){if(typeof e.callback!="object")throw TypeError(".sesame.v1.commands.CommandListItem.callback: object expected");i.callback=$root.sesame.v1.common.Callback.fromObject(e.callback)}if(e.setSourceMetadata!=null){if(typeof e.setSourceMetadata!="object")throw TypeError(".sesame.v1.commands.CommandListItem.setSourceMetadata: object expected");i.setSourceMetadata=$root.sesame.v1.sources.SourceMetadataSetRequest.fromObject(e.setSourceMetadata)}if(e.setMetadataBindings!=null){if(typeof e.setMetadataBindings!="object")throw TypeError(".sesame.v1.commands.CommandListItem.setMetadataBindings: object expected");i.setMetadataBindings=$root.sesame.v1.commands.SetMetadataBindingsRequest.fromObject(e.setMetadataBindings)}if(e.transactionId!=null&&(i.transactionId=e.transactionId>>>0),e.transactionDeps){if(!Array.isArray(e.transactionDeps))throw TypeError(".sesame.v1.commands.CommandListItem.transactionDeps: array expected");i.transactionDeps=[];for(let a=0;a<e.transactionDeps.length;++a)i.transactionDeps[a]=e.transactionDeps[a]>>>0}return i},n.toObject=function(e,i){i||(i={});let a={};if((i.arrays||i.defaults)&&(a.transactionDeps=[]),i.defaults)if($util.Long){let s=new $util.Long(0,0,!1);a.timeOffsetUs=i.longs===String?s.toString():i.longs===Number?s.toNumber():s}else a.timeOffsetUs=i.longs===String?"0":0;if(e.timeOffsetUs!=null&&e.hasOwnProperty("timeOffsetUs")&&(typeof e.timeOffsetUs=="number"?a.timeOffsetUs=i.longs===String?String(e.timeOffsetUs):e.timeOffsetUs:a.timeOffsetUs=i.longs===String?$util.Long.prototype.toString.call(e.timeOffsetUs):i.longs===Number?new $util.LongBits(e.timeOffsetUs.low>>>0,e.timeOffsetUs.high>>>0).toNumber():e.timeOffsetUs),e.addSource!=null&&e.hasOwnProperty("addSource")&&(a.addSource=$root.sesame.v1.sources.SourceAddRequest.toObject(e.addSource,i),i.oneofs&&(a.item="addSource")),e.updateSource!=null&&e.hasOwnProperty("updateSource")&&(a.updateSource=$root.sesame.v1.sources.SourceUpdateRequest.toObject(e.updateSource,i),i.oneofs&&(a.item="updateSource")),e.removeSource!=null&&e.hasOwnProperty("removeSource")&&(a.removeSource=$root.sesame.v1.sources.SourceRemoveRequest.toObject(e.removeSource,i),i.oneofs&&(a.item="removeSource")),e.addOutput!=null&&e.hasOwnProperty("addOutput")&&(a.addOutput=$root.sesame.v1.outputs.OutputAddRequest.toObject(e.addOutput,i),i.oneofs&&(a.item="addOutput")),e.updateOutput!=null&&e.hasOwnProperty("updateOutput")&&(a.updateOutput=$root.sesame.v1.outputs.OutputUpdateRequest.toObject(e.updateOutput,i),i.oneofs&&(a.item="updateOutput")),e.removeOutput!=null&&e.hasOwnProperty("removeOutput")&&(a.removeOutput=$root.sesame.v1.outputs.OutputRemoveRequest.toObject(e.removeOutput,i),i.oneofs&&(a.item="removeOutput")),e.addCompositor!=null&&e.hasOwnProperty("addCompositor")&&(a.addCompositor=$root.sesame.v1.compositor.CompositorAddRequest.toObject(e.addCompositor,i),i.oneofs&&(a.item="addCompositor")),e.removeCompositor!=null&&e.hasOwnProperty("removeCompositor")&&(a.removeCompositor=$root.sesame.v1.compositor.CompositorRemoveRequest.toObject(e.removeCompositor,i),i.oneofs&&(a.item="removeCompositor")),e.clearCompositor!=null&&e.hasOwnProperty("clearCompositor")&&(a.clearCompositor=$root.sesame.v1.compositor.CompositorClearRequest.toObject(e.clearCompositor,i),i.oneofs&&(a.item="clearCompositor")),e.addNode!=null&&e.hasOwnProperty("addNode")&&(a.addNode=$root.sesame.v1.compositor.NodeAddRequest.toObject(e.addNode,i),i.oneofs&&(a.item="addNode")),e.removeNode!=null&&e.hasOwnProperty("removeNode")&&(a.removeNode=$root.sesame.v1.compositor.NodeRemoveRequest.toObject(e.removeNode,i),i.oneofs&&(a.item="removeNode")),e.setProperty!=null&&e.hasOwnProperty("setProperty")&&(a.setProperty=$root.sesame.v1.compositor.PropertySetRequest.toObject(e.setProperty,i),i.oneofs&&(a.item="setProperty")),e.animateProperty!=null&&e.hasOwnProperty("animateProperty")&&(a.animateProperty=$root.sesame.v1.compositor.PropertyAnimateRequest.toObject(e.animateProperty,i),i.oneofs&&(a.item="animateProperty")),e.addAudioMixer!=null&&e.hasOwnProperty("addAudioMixer")&&(a.addAudioMixer=$root.sesame.v1.audio.AudioMixerAddRequest.toObject(e.addAudioMixer,i),i.oneofs&&(a.item="addAudioMixer")),e.updateAudioMixer!=null&&e.hasOwnProperty("updateAudioMixer")&&(a.updateAudioMixer=$root.sesame.v1.audio.AudioMixerUpdateRequest.toObject(e.updateAudioMixer,i),i.oneofs&&(a.item="updateAudioMixer")),e.removeAudioMixer!=null&&e.hasOwnProperty("removeAudioMixer")&&(a.removeAudioMixer=$root.sesame.v1.audio.AudioMixerRemoveRequest.toObject(e.removeAudioMixer,i),i.oneofs&&(a.item="removeAudioMixer")),e.addAudioChannel!=null&&e.hasOwnProperty("addAudioChannel")&&(a.addAudioChannel=$root.sesame.v1.audio.AudioChannelAddRequest.toObject(e.addAudioChannel,i),i.oneofs&&(a.item="addAudioChannel")),e.removeAudioChannel!=null&&e.hasOwnProperty("removeAudioChannel")&&(a.removeAudioChannel=$root.sesame.v1.audio.AudioChannelRemoveRequest.toObject(e.removeAudioChannel,i),i.oneofs&&(a.item="removeAudioChannel")),e.updateSourceTransport!=null&&e.hasOwnProperty("updateSourceTransport")&&(a.updateSourceTransport=$root.sesame.v1.sources.SourceTransportCommand.toObject(e.updateSourceTransport,i),i.oneofs&&(a.item="updateSourceTransport")),e.loadPlaylist!=null&&e.hasOwnProperty("loadPlaylist")&&(a.loadPlaylist=$root.sesame.v1.sources.LoadPlaylistRequest.toObject(e.loadPlaylist,i),i.oneofs&&(a.item="loadPlaylist")),e.ejectPlaylist!=null&&e.hasOwnProperty("ejectPlaylist")&&(a.ejectPlaylist=$root.sesame.v1.sources.EjectPlaylistRequest.toObject(e.ejectPlaylist,i),i.oneofs&&(a.item="ejectPlaylist")),e.callback!=null&&e.hasOwnProperty("callback")&&(a.callback=$root.sesame.v1.common.Callback.toObject(e.callback,i),i.oneofs&&(a.item="callback")),e.setSourceMetadata!=null&&e.hasOwnProperty("setSourceMetadata")&&(a.setSourceMetadata=$root.sesame.v1.sources.SourceMetadataSetRequest.toObject(e.setSourceMetadata,i),i.oneofs&&(a.item="setSourceMetadata")),e.transactionId!=null&&e.hasOwnProperty("transactionId")&&(a.transactionId=e.transactionId,i.oneofs&&(a._transactionId="transactionId")),e.transactionDeps&&e.transactionDeps.length){a.transactionDeps=[];for(let s=0;s<e.transactionDeps.length;++s)a.transactionDeps[s]=e.transactionDeps[s]}return e.setMetadataBindings!=null&&e.hasOwnProperty("setMetadataBindings")&&(a.setMetadataBindings=$root.sesame.v1.commands.SetMetadataBindingsRequest.toObject(e.setMetadataBindings,i),i.oneofs&&(a.item="setMetadataBindings")),a},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/sesame.v1.commands.CommandListItem"},n}(),l.MetadataEndpoint=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.node="",n.prototype.track="",n.prototype.metadataId="",n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.node!=null&&Object.hasOwnProperty.call(t,"node")&&e.uint32(10).string(t.node),t.track!=null&&Object.hasOwnProperty.call(t,"track")&&e.uint32(18).string(t.track),t.metadataId!=null&&Object.hasOwnProperty.call(t,"metadataId")&&e.uint32(26).string(t.metadataId),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.commands.MetadataEndpoint;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.node=t.string();break}case 2:{s.track=t.string();break}case 3:{s.metadataId=t.string();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.node!=null&&t.hasOwnProperty("node")&&!$util.isString(t.node)?"node: string expected":t.track!=null&&t.hasOwnProperty("track")&&!$util.isString(t.track)?"track: string expected":t.metadataId!=null&&t.hasOwnProperty("metadataId")&&!$util.isString(t.metadataId)?"metadataId: string expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.commands.MetadataEndpoint)return t;let e=new $root.sesame.v1.commands.MetadataEndpoint;return t.node!=null&&(e.node=String(t.node)),t.track!=null&&(e.track=String(t.track)),t.metadataId!=null&&(e.metadataId=String(t.metadataId)),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.node="",i.track="",i.metadataId=""),t.node!=null&&t.hasOwnProperty("node")&&(i.node=t.node),t.track!=null&&t.hasOwnProperty("track")&&(i.track=t.track),t.metadataId!=null&&t.hasOwnProperty("metadataId")&&(i.metadataId=t.metadataId),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.commands.MetadataEndpoint"},n}(),l.MetadataBinding=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.from=null,n.prototype.to=null,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.from!=null&&Object.hasOwnProperty.call(t,"from")&&$root.sesame.v1.commands.MetadataEndpoint.encode(t.from,e.uint32(10).fork()).ldelim(),t.to!=null&&Object.hasOwnProperty.call(t,"to")&&$root.sesame.v1.commands.MetadataEndpoint.encode(t.to,e.uint32(18).fork()).ldelim(),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.commands.MetadataBinding;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.from=$root.sesame.v1.commands.MetadataEndpoint.decode(t,t.uint32());break}case 2:{s.to=$root.sesame.v1.commands.MetadataEndpoint.decode(t,t.uint32());break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.from!=null&&t.hasOwnProperty("from")){let e=$root.sesame.v1.commands.MetadataEndpoint.verify(t.from);if(e)return"from."+e}if(t.to!=null&&t.hasOwnProperty("to")){let e=$root.sesame.v1.commands.MetadataEndpoint.verify(t.to);if(e)return"to."+e}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.commands.MetadataBinding)return t;let e=new $root.sesame.v1.commands.MetadataBinding;if(t.from!=null){if(typeof t.from!="object")throw TypeError(".sesame.v1.commands.MetadataBinding.from: object expected");e.from=$root.sesame.v1.commands.MetadataEndpoint.fromObject(t.from)}if(t.to!=null){if(typeof t.to!="object")throw TypeError(".sesame.v1.commands.MetadataBinding.to: object expected");e.to=$root.sesame.v1.commands.MetadataEndpoint.fromObject(t.to)}return e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.from=null,i.to=null),t.from!=null&&t.hasOwnProperty("from")&&(i.from=$root.sesame.v1.commands.MetadataEndpoint.toObject(t.from,e)),t.to!=null&&t.hasOwnProperty("to")&&(i.to=$root.sesame.v1.commands.MetadataEndpoint.toObject(t.to,e)),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.commands.MetadataBinding"},n}(),l.SetMetadataBindingsRequest=function(){function n(r){if(this.bindings=[],r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.bindings=$util.emptyArray,n.create=function(t){return new n(t)},n.encode=function(t,e){if(e||(e=$Writer.create()),t.bindings!=null&&t.bindings.length)for(let i=0;i<t.bindings.length;++i)$root.sesame.v1.commands.MetadataBinding.encode(t.bindings[i],e.uint32(10).fork()).ldelim();return e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.commands.SetMetadataBindingsRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.bindings&&s.bindings.length||(s.bindings=[]),s.bindings.push($root.sesame.v1.commands.MetadataBinding.decode(t,t.uint32()));break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.bindings!=null&&t.hasOwnProperty("bindings")){if(!Array.isArray(t.bindings))return"bindings: array expected";for(let e=0;e<t.bindings.length;++e){let i=$root.sesame.v1.commands.MetadataBinding.verify(t.bindings[e]);if(i)return"bindings."+i}}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.commands.SetMetadataBindingsRequest)return t;let e=new $root.sesame.v1.commands.SetMetadataBindingsRequest;if(t.bindings){if(!Array.isArray(t.bindings))throw TypeError(".sesame.v1.commands.SetMetadataBindingsRequest.bindings: array expected");e.bindings=[];for(let i=0;i<t.bindings.length;++i){if(typeof t.bindings[i]!="object")throw TypeError(".sesame.v1.commands.SetMetadataBindingsRequest.bindings: object expected");e.bindings[i]=$root.sesame.v1.commands.MetadataBinding.fromObject(t.bindings[i])}}return e},n.toObject=function(t,e){e||(e={});let i={};if((e.arrays||e.defaults)&&(i.bindings=[]),t.bindings&&t.bindings.length){i.bindings=[];for(let a=0;a<t.bindings.length;++a)i.bindings[a]=$root.sesame.v1.commands.MetadataBinding.toObject(t.bindings[a],e)}return i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.commands.SetMetadataBindingsRequest"},n}(),l.CommandList=function(){function n(r){if(this.commandList=[],r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.commandList=$util.emptyArray,n.create=function(t){return new n(t)},n.encode=function(t,e){if(e||(e=$Writer.create()),t.commandList!=null&&t.commandList.length)for(let i=0;i<t.commandList.length;++i)$root.sesame.v1.commands.CommandListItem.encode(t.commandList[i],e.uint32(10).fork()).ldelim();return e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.commands.CommandList;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.commandList&&s.commandList.length||(s.commandList=[]),s.commandList.push($root.sesame.v1.commands.CommandListItem.decode(t,t.uint32()));break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.commandList!=null&&t.hasOwnProperty("commandList")){if(!Array.isArray(t.commandList))return"commandList: array expected";for(let e=0;e<t.commandList.length;++e){let i=$root.sesame.v1.commands.CommandListItem.verify(t.commandList[e]);if(i)return"commandList."+i}}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.commands.CommandList)return t;let e=new $root.sesame.v1.commands.CommandList;if(t.commandList){if(!Array.isArray(t.commandList))throw TypeError(".sesame.v1.commands.CommandList.commandList: array expected");e.commandList=[];for(let i=0;i<t.commandList.length;++i){if(typeof t.commandList[i]!="object")throw TypeError(".sesame.v1.commands.CommandList.commandList: object expected");e.commandList[i]=$root.sesame.v1.commands.CommandListItem.fromObject(t.commandList[i])}}return e},n.toObject=function(t,e){e||(e={});let i={};if((e.arrays||e.defaults)&&(i.commandList=[]),t.commandList&&t.commandList.length){i.commandList=[];for(let a=0;a<t.commandList.length;++a)i.commandList[a]=$root.sesame.v1.commands.CommandListItem.toObject(t.commandList[a],e)}return i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.commands.CommandList"},n}(),l.CommandExecutionResponse=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.commands.CommandExecutionResponse;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":null},n.fromObject=function(t){return t instanceof $root.sesame.v1.commands.CommandExecutionResponse?t:new $root.sesame.v1.commands.CommandExecutionResponse},n.toObject=function(){return{}},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.commands.CommandExecutionResponse"},n}(),l}(),o.common=function(){const l={};return l.ConnectionState=function(){const n={},r=Object.create(n);return r[n[0]="CONNECTION_STATE_UNSPECIFIED"]=0,r[n[1]="CONNECTION_STATE_INITIALIZING"]=1,r[n[2]="CONNECTION_STATE_CONNECTING"]=2,r[n[3]="CONNECTION_STATE_ONLINE"]=3,r[n[4]="CONNECTION_STATE_DEGRADED"]=4,r[n[5]="CONNECTION_STATE_OFFLINE"]=5,r[n[6]="CONNECTION_STATE_ERROR"]=6,r}(),l.VideoFormat=function(){const n={},r=Object.create(n);return r[n[0]="VIDEO_FORMAT_UNSPECIFIED"]=0,r[n[1]="VIDEO_FORMAT_1080_50I"]=1,r[n[2]="VIDEO_FORMAT_1080_50P"]=2,r[n[3]="VIDEO_FORMAT_1080_60I"]=3,r[n[4]="VIDEO_FORMAT_1080_60P"]=4,r}(),l.CodecType=function(){const n={},r=Object.create(n);return r[n[0]="CODEC_TYPE_UNSPECIFIED"]=0,r[n[1]="CODEC_TYPE_VIDEO_VP8"]=1,r[n[2]="CODEC_TYPE_VIDEO_VP9"]=2,r[n[3]="CODEC_TYPE_VIDEO_AVC"]=3,r[n[4]="CODEC_TYPE_VIDEO_HEVC"]=4,r[n[5]="CODEC_TYPE_VIDEO_AV1"]=5,r[n[6]="CODEC_TYPE_VIDEO_PRORES"]=6,r[n[7]="CODEC_TYPE_VIDEO_DNXHR"]=7,r[n[64]="CODEC_TYPE_AUDIO_OPUS"]=64,r[n[65]="CODEC_TYPE_AUDIO_AAC"]=65,r[n[66]="CODEC_TYPE_AUDIO_PCM"]=66,r[n[67]="CODEC_TYPE_AUDIO_PCM_S24LE"]=67,r}(),l.Empty=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.common.Empty;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":null},n.fromObject=function(t){return t instanceof $root.sesame.v1.common.Empty?t:new $root.sesame.v1.common.Empty},n.toObject=function(){return{}},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.common.Empty"},n}(),l.Vec4=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.x=0,n.prototype.y=0,n.prototype.z=0,n.prototype.w=0,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.x!=null&&Object.hasOwnProperty.call(t,"x")&&e.uint32(13).float(t.x),t.y!=null&&Object.hasOwnProperty.call(t,"y")&&e.uint32(21).float(t.y),t.z!=null&&Object.hasOwnProperty.call(t,"z")&&e.uint32(29).float(t.z),t.w!=null&&Object.hasOwnProperty.call(t,"w")&&e.uint32(37).float(t.w),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.common.Vec4;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.x=t.float();break}case 2:{s.y=t.float();break}case 3:{s.z=t.float();break}case 4:{s.w=t.float();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.x!=null&&t.hasOwnProperty("x")&&typeof t.x!="number"?"x: number expected":t.y!=null&&t.hasOwnProperty("y")&&typeof t.y!="number"?"y: number expected":t.z!=null&&t.hasOwnProperty("z")&&typeof t.z!="number"?"z: number expected":t.w!=null&&t.hasOwnProperty("w")&&typeof t.w!="number"?"w: number expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.common.Vec4)return t;let e=new $root.sesame.v1.common.Vec4;return t.x!=null&&(e.x=Number(t.x)),t.y!=null&&(e.y=Number(t.y)),t.z!=null&&(e.z=Number(t.z)),t.w!=null&&(e.w=Number(t.w)),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.x=0,i.y=0,i.z=0,i.w=0),t.x!=null&&t.hasOwnProperty("x")&&(i.x=e.json&&!isFinite(t.x)?String(t.x):t.x),t.y!=null&&t.hasOwnProperty("y")&&(i.y=e.json&&!isFinite(t.y)?String(t.y):t.y),t.z!=null&&t.hasOwnProperty("z")&&(i.z=e.json&&!isFinite(t.z)?String(t.z):t.z),t.w!=null&&t.hasOwnProperty("w")&&(i.w=e.json&&!isFinite(t.w)?String(t.w):t.w),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.common.Vec4"},n}(),l.PropValue=function(){function n(t){if(t)for(let e=Object.keys(t),i=0;i<e.length;++i)t[e[i]]!=null&&(this[e[i]]=t[e[i]])}n.prototype.floatValue=null,n.prototype.vec4Value=null,n.prototype.stringValue=null,n.prototype.boolValue=null,n.prototype.intValue=null;let r;return Object.defineProperty(n.prototype,"value",{get:$util.oneOfGetter(r=["floatValue","vec4Value","stringValue","boolValue","intValue"]),set:$util.oneOfSetter(r)}),n.create=function(e){return new n(e)},n.encode=function(e,i){return i||(i=$Writer.create()),e.floatValue!=null&&Object.hasOwnProperty.call(e,"floatValue")&&i.uint32(13).float(e.floatValue),e.vec4Value!=null&&Object.hasOwnProperty.call(e,"vec4Value")&&$root.sesame.v1.common.Vec4.encode(e.vec4Value,i.uint32(18).fork()).ldelim(),e.stringValue!=null&&Object.hasOwnProperty.call(e,"stringValue")&&i.uint32(26).string(e.stringValue),e.boolValue!=null&&Object.hasOwnProperty.call(e,"boolValue")&&i.uint32(32).bool(e.boolValue),e.intValue!=null&&Object.hasOwnProperty.call(e,"intValue")&&i.uint32(40).int64(e.intValue),i},n.encodeDelimited=function(e,i){return this.encode(e,i).ldelim()},n.decode=function(e,i,a){e instanceof $Reader||(e=$Reader.create(e));let s=i===void 0?e.len:e.pos+i,d=new $root.sesame.v1.common.PropValue;for(;e.pos<s;){let c=e.uint32();if(c===a)break;switch(c>>>3){case 1:{d.floatValue=e.float();break}case 2:{d.vec4Value=$root.sesame.v1.common.Vec4.decode(e,e.uint32());break}case 3:{d.stringValue=e.string();break}case 4:{d.boolValue=e.bool();break}case 5:{d.intValue=e.int64();break}default:e.skipType(c&7);break}}return d},n.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},n.verify=function(e){if(typeof e!="object"||e===null)return"object expected";let i={};if(e.floatValue!=null&&e.hasOwnProperty("floatValue")&&(i.value=1,typeof e.floatValue!="number"))return"floatValue: number expected";if(e.vec4Value!=null&&e.hasOwnProperty("vec4Value")){if(i.value===1)return"value: multiple values";i.value=1;{let a=$root.sesame.v1.common.Vec4.verify(e.vec4Value);if(a)return"vec4Value."+a}}if(e.stringValue!=null&&e.hasOwnProperty("stringValue")){if(i.value===1)return"value: multiple values";if(i.value=1,!$util.isString(e.stringValue))return"stringValue: string expected"}if(e.boolValue!=null&&e.hasOwnProperty("boolValue")){if(i.value===1)return"value: multiple values";if(i.value=1,typeof e.boolValue!="boolean")return"boolValue: boolean expected"}if(e.intValue!=null&&e.hasOwnProperty("intValue")){if(i.value===1)return"value: multiple values";if(i.value=1,!$util.isInteger(e.intValue)&&!(e.intValue&&$util.isInteger(e.intValue.low)&&$util.isInteger(e.intValue.high)))return"intValue: integer|Long expected"}return null},n.fromObject=function(e){if(e instanceof $root.sesame.v1.common.PropValue)return e;let i=new $root.sesame.v1.common.PropValue;if(e.floatValue!=null&&(i.floatValue=Number(e.floatValue)),e.vec4Value!=null){if(typeof e.vec4Value!="object")throw TypeError(".sesame.v1.common.PropValue.vec4Value: object expected");i.vec4Value=$root.sesame.v1.common.Vec4.fromObject(e.vec4Value)}return e.stringValue!=null&&(i.stringValue=String(e.stringValue)),e.boolValue!=null&&(i.boolValue=!!e.boolValue),e.intValue!=null&&($util.Long?(i.intValue=$util.Long.fromValue(e.intValue)).unsigned=!1:typeof e.intValue=="string"?i.intValue=parseInt(e.intValue,10):typeof e.intValue=="number"?i.intValue=e.intValue:typeof e.intValue=="object"&&(i.intValue=new $util.LongBits(e.intValue.low>>>0,e.intValue.high>>>0).toNumber())),i},n.toObject=function(e,i){i||(i={});let a={};return e.floatValue!=null&&e.hasOwnProperty("floatValue")&&(a.floatValue=i.json&&!isFinite(e.floatValue)?String(e.floatValue):e.floatValue,i.oneofs&&(a.value="floatValue")),e.vec4Value!=null&&e.hasOwnProperty("vec4Value")&&(a.vec4Value=$root.sesame.v1.common.Vec4.toObject(e.vec4Value,i),i.oneofs&&(a.value="vec4Value")),e.stringValue!=null&&e.hasOwnProperty("stringValue")&&(a.stringValue=e.stringValue,i.oneofs&&(a.value="stringValue")),e.boolValue!=null&&e.hasOwnProperty("boolValue")&&(a.boolValue=e.boolValue,i.oneofs&&(a.value="boolValue")),e.intValue!=null&&e.hasOwnProperty("intValue")&&(typeof e.intValue=="number"?a.intValue=i.longs===String?String(e.intValue):e.intValue:a.intValue=i.longs===String?$util.Long.prototype.toString.call(e.intValue):i.longs===Number?new $util.LongBits(e.intValue.low>>>0,e.intValue.high>>>0).toNumber():e.intValue,i.oneofs&&(a.value="intValue")),a},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/sesame.v1.common.PropValue"},n}(),l.PropertyDomain=function(){function n(t){if(t)for(let e=Object.keys(t),i=0;i<e.length;++i)t[e[i]]!=null&&(this[e[i]]=t[e[i]])}n.prototype.compositorId=null,n.prototype.audioMixerId=null,n.prototype.replayId=null,n.prototype.sourceId=null;let r;return Object.defineProperty(n.prototype,"owner",{get:$util.oneOfGetter(r=["compositorId","audioMixerId","replayId","sourceId"]),set:$util.oneOfSetter(r)}),n.create=function(e){return new n(e)},n.encode=function(e,i){return i||(i=$Writer.create()),e.compositorId!=null&&Object.hasOwnProperty.call(e,"compositorId")&&i.uint32(10).string(e.compositorId),e.audioMixerId!=null&&Object.hasOwnProperty.call(e,"audioMixerId")&&i.uint32(18).string(e.audioMixerId),e.replayId!=null&&Object.hasOwnProperty.call(e,"replayId")&&i.uint32(26).string(e.replayId),e.sourceId!=null&&Object.hasOwnProperty.call(e,"sourceId")&&i.uint32(34).string(e.sourceId),i},n.encodeDelimited=function(e,i){return this.encode(e,i).ldelim()},n.decode=function(e,i,a){e instanceof $Reader||(e=$Reader.create(e));let s=i===void 0?e.len:e.pos+i,d=new $root.sesame.v1.common.PropertyDomain;for(;e.pos<s;){let c=e.uint32();if(c===a)break;switch(c>>>3){case 1:{d.compositorId=e.string();break}case 2:{d.audioMixerId=e.string();break}case 3:{d.replayId=e.string();break}case 4:{d.sourceId=e.string();break}default:e.skipType(c&7);break}}return d},n.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},n.verify=function(e){if(typeof e!="object"||e===null)return"object expected";let i={};if(e.compositorId!=null&&e.hasOwnProperty("compositorId")&&(i.owner=1,!$util.isString(e.compositorId)))return"compositorId: string expected";if(e.audioMixerId!=null&&e.hasOwnProperty("audioMixerId")){if(i.owner===1)return"owner: multiple values";if(i.owner=1,!$util.isString(e.audioMixerId))return"audioMixerId: string expected"}if(e.replayId!=null&&e.hasOwnProperty("replayId")){if(i.owner===1)return"owner: multiple values";if(i.owner=1,!$util.isString(e.replayId))return"replayId: string expected"}if(e.sourceId!=null&&e.hasOwnProperty("sourceId")){if(i.owner===1)return"owner: multiple values";if(i.owner=1,!$util.isString(e.sourceId))return"sourceId: string expected"}return null},n.fromObject=function(e){if(e instanceof $root.sesame.v1.common.PropertyDomain)return e;let i=new $root.sesame.v1.common.PropertyDomain;return e.compositorId!=null&&(i.compositorId=String(e.compositorId)),e.audioMixerId!=null&&(i.audioMixerId=String(e.audioMixerId)),e.replayId!=null&&(i.replayId=String(e.replayId)),e.sourceId!=null&&(i.sourceId=String(e.sourceId)),i},n.toObject=function(e,i){i||(i={});let a={};return e.compositorId!=null&&e.hasOwnProperty("compositorId")&&(a.compositorId=e.compositorId,i.oneofs&&(a.owner="compositorId")),e.audioMixerId!=null&&e.hasOwnProperty("audioMixerId")&&(a.audioMixerId=e.audioMixerId,i.oneofs&&(a.owner="audioMixerId")),e.replayId!=null&&e.hasOwnProperty("replayId")&&(a.replayId=e.replayId,i.oneofs&&(a.owner="replayId")),e.sourceId!=null&&e.hasOwnProperty("sourceId")&&(a.sourceId=e.sourceId,i.oneofs&&(a.owner="sourceId")),a},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/sesame.v1.common.PropertyDomain"},n}(),l.NameValue=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.name="",n.prototype.value=null,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.name!=null&&Object.hasOwnProperty.call(t,"name")&&e.uint32(10).string(t.name),t.value!=null&&Object.hasOwnProperty.call(t,"value")&&$root.sesame.v1.common.PropValue.encode(t.value,e.uint32(18).fork()).ldelim(),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.common.NameValue;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.name=t.string();break}case 2:{s.value=$root.sesame.v1.common.PropValue.decode(t,t.uint32());break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.name!=null&&t.hasOwnProperty("name")&&!$util.isString(t.name))return"name: string expected";if(t.value!=null&&t.hasOwnProperty("value")){let e=$root.sesame.v1.common.PropValue.verify(t.value);if(e)return"value."+e}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.common.NameValue)return t;let e=new $root.sesame.v1.common.NameValue;if(t.name!=null&&(e.name=String(t.name)),t.value!=null){if(typeof t.value!="object")throw TypeError(".sesame.v1.common.NameValue.value: object expected");e.value=$root.sesame.v1.common.PropValue.fromObject(t.value)}return e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.name="",i.value=null),t.name!=null&&t.hasOwnProperty("name")&&(i.name=t.name),t.value!=null&&t.hasOwnProperty("value")&&(i.value=$root.sesame.v1.common.PropValue.toObject(t.value,e)),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.common.NameValue"},n}(),l.TransportMetadata=function(){function n(r){if(this.items=[],r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.items=$util.emptyArray,n.create=function(t){return new n(t)},n.encode=function(t,e){if(e||(e=$Writer.create()),t.items!=null&&t.items.length)for(let i=0;i<t.items.length;++i)$root.sesame.v1.common.NameValue.encode(t.items[i],e.uint32(10).fork()).ldelim();return e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.common.TransportMetadata;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.items&&s.items.length||(s.items=[]),s.items.push($root.sesame.v1.common.NameValue.decode(t,t.uint32()));break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.items!=null&&t.hasOwnProperty("items")){if(!Array.isArray(t.items))return"items: array expected";for(let e=0;e<t.items.length;++e){let i=$root.sesame.v1.common.NameValue.verify(t.items[e]);if(i)return"items."+i}}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.common.TransportMetadata)return t;let e=new $root.sesame.v1.common.TransportMetadata;if(t.items){if(!Array.isArray(t.items))throw TypeError(".sesame.v1.common.TransportMetadata.items: array expected");e.items=[];for(let i=0;i<t.items.length;++i){if(typeof t.items[i]!="object")throw TypeError(".sesame.v1.common.TransportMetadata.items: object expected");e.items[i]=$root.sesame.v1.common.NameValue.fromObject(t.items[i])}}return e},n.toObject=function(t,e){e||(e={});let i={};if((e.arrays||e.defaults)&&(i.items=[]),t.items&&t.items.length){i.items=[];for(let a=0;a<t.items.length;++a)i.items[a]=$root.sesame.v1.common.NameValue.toObject(t.items[a],e)}return i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.common.TransportMetadata"},n}(),l.Callback=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.event="",n.prototype.data="",n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.event!=null&&Object.hasOwnProperty.call(t,"event")&&e.uint32(10).string(t.event),t.data!=null&&Object.hasOwnProperty.call(t,"data")&&e.uint32(18).string(t.data),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.common.Callback;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.event=t.string();break}case 2:{s.data=t.string();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.event!=null&&t.hasOwnProperty("event")&&!$util.isString(t.event)?"event: string expected":t.data!=null&&t.hasOwnProperty("data")&&!$util.isString(t.data)?"data: string expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.common.Callback)return t;let e=new $root.sesame.v1.common.Callback;return t.event!=null&&(e.event=String(t.event)),t.data!=null&&(e.data=String(t.data)),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.event="",i.data=""),t.event!=null&&t.hasOwnProperty("event")&&(i.event=t.event),t.data!=null&&t.hasOwnProperty("data")&&(i.data=t.data),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.common.Callback"},n}(),l.EventTopic=function(){const n={},r=Object.create(n);return r[n[0]="EVENT_TOPIC_UNSPECIFIED"]=0,r[n[1]="EVENT_TOPIC_ERROR"]=1,r[n[2]="EVENT_TOPIC_TRANSPORT"]=2,r[n[3]="EVENT_TOPIC_CALLBACK"]=3,r[n[4]="EVENT_TOPIC_JOB"]=4,r[n[5]="EVENT_TOPIC_METADATA"]=5,r[n[6]="EVENT_TOPIC_RECORDER"]=6,r}(),l}(),o.sources=function(){const l={};return l.SourceType=function(){const n={},r=Object.create(n);return r[n[0]="SOURCE_TYPE_UNSPECIFIED"]=0,r[n[1]="SOURCE_TYPE_FILE"]=1,r[n[2]="SOURCE_TYPE_RECORDER"]=2,r[n[3]="SOURCE_TYPE_BROWSER"]=3,r[n[4]="SOURCE_TYPE_RTT"]=4,r[n[5]="SOURCE_TYPE_DECKLINK"]=5,r[n[6]="SOURCE_TYPE_SIGNAL_GENERATOR"]=6,r[n[7]="SOURCE_TYPE_SYSTEM_AUDIO"]=7,r[n[8]="SOURCE_TYPE_SRT_STREAM"]=8,r[n[9]="SOURCE_TYPE_WEBSOCKET"]=9,r[n[10]="SOURCE_TYPE_MOQ"]=10,r}(),l.DeinterlaceType=function(){const n={},r=Object.create(n);return r[n[0]="DEINTERLACE_TYPE_PROGRESSIVE"]=0,r[n[1]="DEINTERLACE_TYPE_UPPER_FIELD_FIRST"]=1,r[n[2]="DEINTERLACE_TYPE_LOWER_FIELD_FIRST"]=2,r[n[3]="DEINTERLACE_TYPE_AUTO"]=3,r}(),l.SourceTransportState=function(){const n={},r=Object.create(n);return r[n[0]="SOURCE_TRANSPORT_STATE_STOPPED"]=0,r[n[1]="SOURCE_TRANSPORT_STATE_PLAYING"]=1,r[n[2]="SOURCE_TRANSPORT_STATE_CUEING"]=2,r[n[3]="SOURCE_TRANSPORT_STATE_ERROR"]=3,r[n[4]="SOURCE_TRANSPORT_STATE_PLAYING_LIVE"]=4,r}(),l.SourceTransportCommandType=function(){const n={},r=Object.create(n);return r[n[0]="SOURCE_TRANSPORT_CMD_UNSPECIFIED"]=0,r[n[1]="SOURCE_TRANSPORT_CMD_STOP"]=1,r[n[2]="SOURCE_TRANSPORT_CMD_PLAY"]=2,r[n[3]="SOURCE_TRANSPORT_CMD_SEEK"]=3,r[n[4]="SOURCE_TRANSPORT_CMD_LOOP"]=4,r[n[5]="SOURCE_TRANSPORT_CMD_LIVE"]=5,r[n[6]="SOURCE_TRANSPORT_CMD_JOG"]=6,r[n[7]="SOURCE_TRANSPORT_CMD_MONITOR"]=7,r[n[8]="SOURCE_TRANSPORT_CMD_SEEK_USER_TIME"]=8,r[n[9]="SOURCE_TRANSPORT_CMD_TAKE"]=9,r[n[10]="SOURCE_TRANSPORT_CMD_POST_ROLL"]=10,r[n[11]="SOURCE_TRANSPORT_CMD_PRE_ROLL"]=11,r[n[12]="SOURCE_TRANSPORT_CMD_NEXT"]=12,r[n[13]="SOURCE_TRANSPORT_CMD_SKIP_NEXT"]=13,r[n[14]="SOURCE_TRANSPORT_CMD_TRANSITIONS_DISABLED"]=14,r[n[15]="SOURCE_TRANSPORT_CMD_SET_SCRUBBING"]=15,r}(),l.SourceTextureSize=function(){const n={},r=Object.create(n);return r[n[0]="SOURCE_TEXTURE_SIZE_UNSPECIFIED"]=0,r[n[1]="SOURCE_TEXTURE_SIZE_HD"]=1,r[n[2]="SOURCE_TEXTURE_SIZE_4K"]=2,r}(),l.PreprocessStep=function(){const n={},r=Object.create(n);return r[n[0]="PREPROCESS_STEP_UNSPECIFIED"]=0,r[n[1]="PREPROCESS_STEP_VIDEO_SCOPES"]=1,r[n[2]="PREPROCESS_STEP_CHROMA_KEY"]=2,r[n[3]="PREPROCESS_STEP_BLUR"]=3,r}(),l.VideoProcessorParam=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.id=0,n.prototype.floatValue=0,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.id!=null&&Object.hasOwnProperty.call(t,"id")&&e.uint32(8).uint32(t.id),t.floatValue!=null&&Object.hasOwnProperty.call(t,"floatValue")&&e.uint32(21).float(t.floatValue),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.sources.VideoProcessorParam;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.id=t.uint32();break}case 2:{s.floatValue=t.float();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.id!=null&&t.hasOwnProperty("id")&&!$util.isInteger(t.id)?"id: integer expected":t.floatValue!=null&&t.hasOwnProperty("floatValue")&&typeof t.floatValue!="number"?"floatValue: number expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.sources.VideoProcessorParam)return t;let e=new $root.sesame.v1.sources.VideoProcessorParam;return t.id!=null&&(e.id=t.id>>>0),t.floatValue!=null&&(e.floatValue=Number(t.floatValue)),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.id=0,i.floatValue=0),t.id!=null&&t.hasOwnProperty("id")&&(i.id=t.id),t.floatValue!=null&&t.hasOwnProperty("floatValue")&&(i.floatValue=e.json&&!isFinite(t.floatValue)?String(t.floatValue):t.floatValue),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.sources.VideoProcessorParam"},n}(),l.VideoProcessor=function(){function n(r){if(this.params=[],r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.id="",n.prototype.type=0,n.prototype.params=$util.emptyArray,n.create=function(t){return new n(t)},n.encode=function(t,e){if(e||(e=$Writer.create()),t.id!=null&&Object.hasOwnProperty.call(t,"id")&&e.uint32(10).string(t.id),t.type!=null&&Object.hasOwnProperty.call(t,"type")&&e.uint32(16).int32(t.type),t.params!=null&&t.params.length)for(let i=0;i<t.params.length;++i)$root.sesame.v1.sources.VideoProcessorParam.encode(t.params[i],e.uint32(26).fork()).ldelim();return e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.sources.VideoProcessor;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.id=t.string();break}case 2:{s.type=t.int32();break}case 3:{s.params&&s.params.length||(s.params=[]),s.params.push($root.sesame.v1.sources.VideoProcessorParam.decode(t,t.uint32()));break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.id!=null&&t.hasOwnProperty("id")&&!$util.isString(t.id))return"id: string expected";if(t.type!=null&&t.hasOwnProperty("type"))switch(t.type){default:return"type: enum value expected";case 0:case 1:case 2:case 3:break}if(t.params!=null&&t.hasOwnProperty("params")){if(!Array.isArray(t.params))return"params: array expected";for(let e=0;e<t.params.length;++e){let i=$root.sesame.v1.sources.VideoProcessorParam.verify(t.params[e]);if(i)return"params."+i}}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.sources.VideoProcessor)return t;let e=new $root.sesame.v1.sources.VideoProcessor;switch(t.id!=null&&(e.id=String(t.id)),t.type){default:if(typeof t.type=="number"){e.type=t.type;break}break;case"PREPROCESS_STEP_UNSPECIFIED":case 0:e.type=0;break;case"PREPROCESS_STEP_VIDEO_SCOPES":case 1:e.type=1;break;case"PREPROCESS_STEP_CHROMA_KEY":case 2:e.type=2;break;case"PREPROCESS_STEP_BLUR":case 3:e.type=3;break}if(t.params){if(!Array.isArray(t.params))throw TypeError(".sesame.v1.sources.VideoProcessor.params: array expected");e.params=[];for(let i=0;i<t.params.length;++i){if(typeof t.params[i]!="object")throw TypeError(".sesame.v1.sources.VideoProcessor.params: object expected");e.params[i]=$root.sesame.v1.sources.VideoProcessorParam.fromObject(t.params[i])}}return e},n.toObject=function(t,e){e||(e={});let i={};if((e.arrays||e.defaults)&&(i.params=[]),e.defaults&&(i.id="",i.type=e.enums===String?"PREPROCESS_STEP_UNSPECIFIED":0),t.id!=null&&t.hasOwnProperty("id")&&(i.id=t.id),t.type!=null&&t.hasOwnProperty("type")&&(i.type=e.enums===String?$root.sesame.v1.sources.PreprocessStep[t.type]===void 0?t.type:$root.sesame.v1.sources.PreprocessStep[t.type]:t.type),t.params&&t.params.length){i.params=[];for(let a=0;a<t.params.length;++a)i.params[a]=$root.sesame.v1.sources.VideoProcessorParam.toObject(t.params[a],e)}return i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.sources.VideoProcessor"},n}(),l.SourceCommonConfig=function(){function n(r){if(this.videoProcessors=[],r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.userId="",n.prototype.useAsClock=!1,n.prototype.audioOnly=!1,n.prototype.audioChannels=0,n.prototype.loop=!1,n.prototype.playState=0,n.prototype.mipMap=!1,n.prototype.textureSize=0,n.prototype.deinterlace=0,n.prototype.videoProcessors=$util.emptyArray,n.create=function(t){return new n(t)},n.encode=function(t,e){if(e||(e=$Writer.create()),t.userId!=null&&Object.hasOwnProperty.call(t,"userId")&&e.uint32(10).string(t.userId),t.useAsClock!=null&&Object.hasOwnProperty.call(t,"useAsClock")&&e.uint32(16).bool(t.useAsClock),t.audioOnly!=null&&Object.hasOwnProperty.call(t,"audioOnly")&&e.uint32(24).bool(t.audioOnly),t.audioChannels!=null&&Object.hasOwnProperty.call(t,"audioChannels")&&e.uint32(32).uint32(t.audioChannels),t.loop!=null&&Object.hasOwnProperty.call(t,"loop")&&e.uint32(40).bool(t.loop),t.playState!=null&&Object.hasOwnProperty.call(t,"playState")&&e.uint32(48).int32(t.playState),t.mipMap!=null&&Object.hasOwnProperty.call(t,"mipMap")&&e.uint32(56).bool(t.mipMap),t.textureSize!=null&&Object.hasOwnProperty.call(t,"textureSize")&&e.uint32(64).int32(t.textureSize),t.deinterlace!=null&&Object.hasOwnProperty.call(t,"deinterlace")&&e.uint32(80).int32(t.deinterlace),t.videoProcessors!=null&&t.videoProcessors.length)for(let i=0;i<t.videoProcessors.length;++i)$root.sesame.v1.sources.VideoProcessor.encode(t.videoProcessors[i],e.uint32(90).fork()).ldelim();return e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.sources.SourceCommonConfig;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.userId=t.string();break}case 2:{s.useAsClock=t.bool();break}case 3:{s.audioOnly=t.bool();break}case 4:{s.audioChannels=t.uint32();break}case 5:{s.loop=t.bool();break}case 6:{s.playState=t.int32();break}case 7:{s.mipMap=t.bool();break}case 8:{s.textureSize=t.int32();break}case 10:{s.deinterlace=t.int32();break}case 11:{s.videoProcessors&&s.videoProcessors.length||(s.videoProcessors=[]),s.videoProcessors.push($root.sesame.v1.sources.VideoProcessor.decode(t,t.uint32()));break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.userId!=null&&t.hasOwnProperty("userId")&&!$util.isString(t.userId))return"userId: string expected";if(t.useAsClock!=null&&t.hasOwnProperty("useAsClock")&&typeof t.useAsClock!="boolean")return"useAsClock: boolean expected";if(t.audioOnly!=null&&t.hasOwnProperty("audioOnly")&&typeof t.audioOnly!="boolean")return"audioOnly: boolean expected";if(t.audioChannels!=null&&t.hasOwnProperty("audioChannels")&&!$util.isInteger(t.audioChannels))return"audioChannels: integer expected";if(t.loop!=null&&t.hasOwnProperty("loop")&&typeof t.loop!="boolean")return"loop: boolean expected";if(t.playState!=null&&t.hasOwnProperty("playState"))switch(t.playState){default:return"playState: enum value expected";case 0:case 1:case 2:case 3:case 4:break}if(t.mipMap!=null&&t.hasOwnProperty("mipMap")&&typeof t.mipMap!="boolean")return"mipMap: boolean expected";if(t.textureSize!=null&&t.hasOwnProperty("textureSize"))switch(t.textureSize){default:return"textureSize: enum value expected";case 0:case 1:case 2:break}if(t.deinterlace!=null&&t.hasOwnProperty("deinterlace"))switch(t.deinterlace){default:return"deinterlace: enum value expected";case 0:case 1:case 2:case 3:break}if(t.videoProcessors!=null&&t.hasOwnProperty("videoProcessors")){if(!Array.isArray(t.videoProcessors))return"videoProcessors: array expected";for(let e=0;e<t.videoProcessors.length;++e){let i=$root.sesame.v1.sources.VideoProcessor.verify(t.videoProcessors[e]);if(i)return"videoProcessors."+i}}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.sources.SourceCommonConfig)return t;let e=new $root.sesame.v1.sources.SourceCommonConfig;switch(t.userId!=null&&(e.userId=String(t.userId)),t.useAsClock!=null&&(e.useAsClock=!!t.useAsClock),t.audioOnly!=null&&(e.audioOnly=!!t.audioOnly),t.audioChannels!=null&&(e.audioChannels=t.audioChannels>>>0),t.loop!=null&&(e.loop=!!t.loop),t.playState){default:if(typeof t.playState=="number"){e.playState=t.playState;break}break;case"SOURCE_TRANSPORT_STATE_STOPPED":case 0:e.playState=0;break;case"SOURCE_TRANSPORT_STATE_PLAYING":case 1:e.playState=1;break;case"SOURCE_TRANSPORT_STATE_CUEING":case 2:e.playState=2;break;case"SOURCE_TRANSPORT_STATE_ERROR":case 3:e.playState=3;break;case"SOURCE_TRANSPORT_STATE_PLAYING_LIVE":case 4:e.playState=4;break}switch(t.mipMap!=null&&(e.mipMap=!!t.mipMap),t.textureSize){default:if(typeof t.textureSize=="number"){e.textureSize=t.textureSize;break}break;case"SOURCE_TEXTURE_SIZE_UNSPECIFIED":case 0:e.textureSize=0;break;case"SOURCE_TEXTURE_SIZE_HD":case 1:e.textureSize=1;break;case"SOURCE_TEXTURE_SIZE_4K":case 2:e.textureSize=2;break}switch(t.deinterlace){default:if(typeof t.deinterlace=="number"){e.deinterlace=t.deinterlace;break}break;case"DEINTERLACE_TYPE_PROGRESSIVE":case 0:e.deinterlace=0;break;case"DEINTERLACE_TYPE_UPPER_FIELD_FIRST":case 1:e.deinterlace=1;break;case"DEINTERLACE_TYPE_LOWER_FIELD_FIRST":case 2:e.deinterlace=2;break;case"DEINTERLACE_TYPE_AUTO":case 3:e.deinterlace=3;break}if(t.videoProcessors){if(!Array.isArray(t.videoProcessors))throw TypeError(".sesame.v1.sources.SourceCommonConfig.videoProcessors: array expected");e.videoProcessors=[];for(let i=0;i<t.videoProcessors.length;++i){if(typeof t.videoProcessors[i]!="object")throw TypeError(".sesame.v1.sources.SourceCommonConfig.videoProcessors: object expected");e.videoProcessors[i]=$root.sesame.v1.sources.VideoProcessor.fromObject(t.videoProcessors[i])}}return e},n.toObject=function(t,e){e||(e={});let i={};if((e.arrays||e.defaults)&&(i.videoProcessors=[]),e.defaults&&(i.userId="",i.useAsClock=!1,i.audioOnly=!1,i.audioChannels=0,i.loop=!1,i.playState=e.enums===String?"SOURCE_TRANSPORT_STATE_STOPPED":0,i.mipMap=!1,i.textureSize=e.enums===String?"SOURCE_TEXTURE_SIZE_UNSPECIFIED":0,i.deinterlace=e.enums===String?"DEINTERLACE_TYPE_PROGRESSIVE":0),t.userId!=null&&t.hasOwnProperty("userId")&&(i.userId=t.userId),t.useAsClock!=null&&t.hasOwnProperty("useAsClock")&&(i.useAsClock=t.useAsClock),t.audioOnly!=null&&t.hasOwnProperty("audioOnly")&&(i.audioOnly=t.audioOnly),t.audioChannels!=null&&t.hasOwnProperty("audioChannels")&&(i.audioChannels=t.audioChannels),t.loop!=null&&t.hasOwnProperty("loop")&&(i.loop=t.loop),t.playState!=null&&t.hasOwnProperty("playState")&&(i.playState=e.enums===String?$root.sesame.v1.sources.SourceTransportState[t.playState]===void 0?t.playState:$root.sesame.v1.sources.SourceTransportState[t.playState]:t.playState),t.mipMap!=null&&t.hasOwnProperty("mipMap")&&(i.mipMap=t.mipMap),t.textureSize!=null&&t.hasOwnProperty("textureSize")&&(i.textureSize=e.enums===String?$root.sesame.v1.sources.SourceTextureSize[t.textureSize]===void 0?t.textureSize:$root.sesame.v1.sources.SourceTextureSize[t.textureSize]:t.textureSize),t.deinterlace!=null&&t.hasOwnProperty("deinterlace")&&(i.deinterlace=e.enums===String?$root.sesame.v1.sources.DeinterlaceType[t.deinterlace]===void 0?t.deinterlace:$root.sesame.v1.sources.DeinterlaceType[t.deinterlace]:t.deinterlace),t.videoProcessors&&t.videoProcessors.length){i.videoProcessors=[];for(let a=0;a<t.videoProcessors.length;++a)i.videoProcessors[a]=$root.sesame.v1.sources.VideoProcessor.toObject(t.videoProcessors[a],e)}return i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.sources.SourceCommonConfig"},n}(),l.FileSourceConfig=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.url="",n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.url!=null&&Object.hasOwnProperty.call(t,"url")&&e.uint32(10).string(t.url),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.sources.FileSourceConfig;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.url=t.string();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.url!=null&&t.hasOwnProperty("url")&&!$util.isString(t.url)?"url: string expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.sources.FileSourceConfig)return t;let e=new $root.sesame.v1.sources.FileSourceConfig;return t.url!=null&&(e.url=String(t.url)),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.url=""),t.url!=null&&t.hasOwnProperty("url")&&(i.url=t.url),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.sources.FileSourceConfig"},n}(),l.RecorderSourceConfig=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.recorderId="",n.prototype.codec=0,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.recorderId!=null&&Object.hasOwnProperty.call(t,"recorderId")&&e.uint32(10).string(t.recorderId),t.codec!=null&&Object.hasOwnProperty.call(t,"codec")&&e.uint32(16).int32(t.codec),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.sources.RecorderSourceConfig;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.recorderId=t.string();break}case 2:{s.codec=t.int32();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.recorderId!=null&&t.hasOwnProperty("recorderId")&&!$util.isString(t.recorderId))return"recorderId: string expected";if(t.codec!=null&&t.hasOwnProperty("codec"))switch(t.codec){default:return"codec: enum value expected";case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 64:case 65:case 66:case 67:break}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.sources.RecorderSourceConfig)return t;let e=new $root.sesame.v1.sources.RecorderSourceConfig;switch(t.recorderId!=null&&(e.recorderId=String(t.recorderId)),t.codec){default:if(typeof t.codec=="number"){e.codec=t.codec;break}break;case"CODEC_TYPE_UNSPECIFIED":case 0:e.codec=0;break;case"CODEC_TYPE_VIDEO_VP8":case 1:e.codec=1;break;case"CODEC_TYPE_VIDEO_VP9":case 2:e.codec=2;break;case"CODEC_TYPE_VIDEO_AVC":case 3:e.codec=3;break;case"CODEC_TYPE_VIDEO_HEVC":case 4:e.codec=4;break;case"CODEC_TYPE_VIDEO_AV1":case 5:e.codec=5;break;case"CODEC_TYPE_VIDEO_PRORES":case 6:e.codec=6;break;case"CODEC_TYPE_VIDEO_DNXHR":case 7:e.codec=7;break;case"CODEC_TYPE_AUDIO_OPUS":case 64:e.codec=64;break;case"CODEC_TYPE_AUDIO_AAC":case 65:e.codec=65;break;case"CODEC_TYPE_AUDIO_PCM":case 66:e.codec=66;break;case"CODEC_TYPE_AUDIO_PCM_S24LE":case 67:e.codec=67;break}return e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.recorderId="",i.codec=e.enums===String?"CODEC_TYPE_UNSPECIFIED":0),t.recorderId!=null&&t.hasOwnProperty("recorderId")&&(i.recorderId=t.recorderId),t.codec!=null&&t.hasOwnProperty("codec")&&(i.codec=e.enums===String?$root.sesame.v1.common.CodecType[t.codec]===void 0?t.codec:$root.sesame.v1.common.CodecType[t.codec]:t.codec),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.sources.RecorderSourceConfig"},n}(),l.BrowserSourceConfig=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.url="",n.prototype.width=0,n.prototype.height=0,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.url!=null&&Object.hasOwnProperty.call(t,"url")&&e.uint32(10).string(t.url),t.width!=null&&Object.hasOwnProperty.call(t,"width")&&e.uint32(16).uint32(t.width),t.height!=null&&Object.hasOwnProperty.call(t,"height")&&e.uint32(24).uint32(t.height),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.sources.BrowserSourceConfig;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.url=t.string();break}case 2:{s.width=t.uint32();break}case 3:{s.height=t.uint32();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.url!=null&&t.hasOwnProperty("url")&&!$util.isString(t.url)?"url: string expected":t.width!=null&&t.hasOwnProperty("width")&&!$util.isInteger(t.width)?"width: integer expected":t.height!=null&&t.hasOwnProperty("height")&&!$util.isInteger(t.height)?"height: integer expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.sources.BrowserSourceConfig)return t;let e=new $root.sesame.v1.sources.BrowserSourceConfig;return t.url!=null&&(e.url=String(t.url)),t.width!=null&&(e.width=t.width>>>0),t.height!=null&&(e.height=t.height>>>0),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.url="",i.width=0,i.height=0),t.url!=null&&t.hasOwnProperty("url")&&(i.url=t.url),t.width!=null&&t.hasOwnProperty("width")&&(i.width=t.width),t.height!=null&&t.hasOwnProperty("height")&&(i.height=t.height),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.sources.BrowserSourceConfig"},n}(),l.RTTSourceConfig=function(){function n(r){if(this.audioMixes=[],r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.rttId="",n.prototype.audioMixes=$util.emptyArray,n.prototype.delayFrames=0,n.create=function(t){return new n(t)},n.encode=function(t,e){if(e||(e=$Writer.create()),t.rttId!=null&&Object.hasOwnProperty.call(t,"rttId")&&e.uint32(10).string(t.rttId),t.audioMixes!=null&&t.audioMixes.length)for(let i=0;i<t.audioMixes.length;++i)e.uint32(18).string(t.audioMixes[i]);return t.delayFrames!=null&&Object.hasOwnProperty.call(t,"delayFrames")&&e.uint32(24).uint32(t.delayFrames),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.sources.RTTSourceConfig;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.rttId=t.string();break}case 2:{s.audioMixes&&s.audioMixes.length||(s.audioMixes=[]),s.audioMixes.push(t.string());break}case 3:{s.delayFrames=t.uint32();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.rttId!=null&&t.hasOwnProperty("rttId")&&!$util.isString(t.rttId))return"rttId: string expected";if(t.audioMixes!=null&&t.hasOwnProperty("audioMixes")){if(!Array.isArray(t.audioMixes))return"audioMixes: array expected";for(let e=0;e<t.audioMixes.length;++e)if(!$util.isString(t.audioMixes[e]))return"audioMixes: string[] expected"}return t.delayFrames!=null&&t.hasOwnProperty("delayFrames")&&!$util.isInteger(t.delayFrames)?"delayFrames: integer expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.sources.RTTSourceConfig)return t;let e=new $root.sesame.v1.sources.RTTSourceConfig;if(t.rttId!=null&&(e.rttId=String(t.rttId)),t.audioMixes){if(!Array.isArray(t.audioMixes))throw TypeError(".sesame.v1.sources.RTTSourceConfig.audioMixes: array expected");e.audioMixes=[];for(let i=0;i<t.audioMixes.length;++i)e.audioMixes[i]=String(t.audioMixes[i])}return t.delayFrames!=null&&(e.delayFrames=t.delayFrames>>>0),e},n.toObject=function(t,e){e||(e={});let i={};if((e.arrays||e.defaults)&&(i.audioMixes=[]),e.defaults&&(i.rttId="",i.delayFrames=0),t.rttId!=null&&t.hasOwnProperty("rttId")&&(i.rttId=t.rttId),t.audioMixes&&t.audioMixes.length){i.audioMixes=[];for(let a=0;a<t.audioMixes.length;++a)i.audioMixes[a]=t.audioMixes[a]}return t.delayFrames!=null&&t.hasOwnProperty("delayFrames")&&(i.delayFrames=t.delayFrames),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.sources.RTTSourceConfig"},n}(),l.DecklinkSourceConfig=function(){function n(t){if(t)for(let e=Object.keys(t),i=0;i<e.length;++i)t[e[i]]!=null&&(this[e[i]]=t[e[i]])}n.prototype.deviceIndex=0,n.prototype.videoFormat=0,n.prototype.syncGroup=null;let r;return Object.defineProperty(n.prototype,"_syncGroup",{get:$util.oneOfGetter(r=["syncGroup"]),set:$util.oneOfSetter(r)}),n.create=function(e){return new n(e)},n.encode=function(e,i){return i||(i=$Writer.create()),e.deviceIndex!=null&&Object.hasOwnProperty.call(e,"deviceIndex")&&i.uint32(8).uint32(e.deviceIndex),e.videoFormat!=null&&Object.hasOwnProperty.call(e,"videoFormat")&&i.uint32(16).int32(e.videoFormat),e.syncGroup!=null&&Object.hasOwnProperty.call(e,"syncGroup")&&i.uint32(24).uint32(e.syncGroup),i},n.encodeDelimited=function(e,i){return this.encode(e,i).ldelim()},n.decode=function(e,i,a){e instanceof $Reader||(e=$Reader.create(e));let s=i===void 0?e.len:e.pos+i,d=new $root.sesame.v1.sources.DecklinkSourceConfig;for(;e.pos<s;){let c=e.uint32();if(c===a)break;switch(c>>>3){case 1:{d.deviceIndex=e.uint32();break}case 2:{d.videoFormat=e.int32();break}case 3:{d.syncGroup=e.uint32();break}default:e.skipType(c&7);break}}return d},n.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},n.verify=function(e){if(typeof e!="object"||e===null)return"object expected";if(e.deviceIndex!=null&&e.hasOwnProperty("deviceIndex")&&!$util.isInteger(e.deviceIndex))return"deviceIndex: integer expected";if(e.videoFormat!=null&&e.hasOwnProperty("videoFormat"))switch(e.videoFormat){default:return"videoFormat: enum value expected";case 0:case 1:case 2:case 3:case 4:break}return e.syncGroup!=null&&e.hasOwnProperty("syncGroup")&&!$util.isInteger(e.syncGroup)?"syncGroup: integer expected":null},n.fromObject=function(e){if(e instanceof $root.sesame.v1.sources.DecklinkSourceConfig)return e;let i=new $root.sesame.v1.sources.DecklinkSourceConfig;switch(e.deviceIndex!=null&&(i.deviceIndex=e.deviceIndex>>>0),e.videoFormat){default:if(typeof e.videoFormat=="number"){i.videoFormat=e.videoFormat;break}break;case"VIDEO_FORMAT_UNSPECIFIED":case 0:i.videoFormat=0;break;case"VIDEO_FORMAT_1080_50I":case 1:i.videoFormat=1;break;case"VIDEO_FORMAT_1080_50P":case 2:i.videoFormat=2;break;case"VIDEO_FORMAT_1080_60I":case 3:i.videoFormat=3;break;case"VIDEO_FORMAT_1080_60P":case 4:i.videoFormat=4;break}return e.syncGroup!=null&&(i.syncGroup=e.syncGroup>>>0),i},n.toObject=function(e,i){i||(i={});let a={};return i.defaults&&(a.deviceIndex=0,a.videoFormat=i.enums===String?"VIDEO_FORMAT_UNSPECIFIED":0),e.deviceIndex!=null&&e.hasOwnProperty("deviceIndex")&&(a.deviceIndex=e.deviceIndex),e.videoFormat!=null&&e.hasOwnProperty("videoFormat")&&(a.videoFormat=i.enums===String?$root.sesame.v1.common.VideoFormat[e.videoFormat]===void 0?e.videoFormat:$root.sesame.v1.common.VideoFormat[e.videoFormat]:e.videoFormat),e.syncGroup!=null&&e.hasOwnProperty("syncGroup")&&(a.syncGroup=e.syncGroup,i.oneofs&&(a._syncGroup="syncGroup")),a},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/sesame.v1.sources.DecklinkSourceConfig"},n}(),l.SignalGeneratorSourceConfig=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.sources.SignalGeneratorSourceConfig;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":null},n.fromObject=function(t){return t instanceof $root.sesame.v1.sources.SignalGeneratorSourceConfig?t:new $root.sesame.v1.sources.SignalGeneratorSourceConfig},n.toObject=function(){return{}},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.sources.SignalGeneratorSourceConfig"},n}(),l.SystemAudioSourceConfig=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.deviceName="",n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.deviceName!=null&&Object.hasOwnProperty.call(t,"deviceName")&&e.uint32(10).string(t.deviceName),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.sources.SystemAudioSourceConfig;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.deviceName=t.string();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.deviceName!=null&&t.hasOwnProperty("deviceName")&&!$util.isString(t.deviceName)?"deviceName: string expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.sources.SystemAudioSourceConfig)return t;let e=new $root.sesame.v1.sources.SystemAudioSourceConfig;return t.deviceName!=null&&(e.deviceName=String(t.deviceName)),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.deviceName=""),t.deviceName!=null&&t.hasOwnProperty("deviceName")&&(i.deviceName=t.deviceName),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.sources.SystemAudioSourceConfig"},n}(),l.SrtSourceConfig=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.url="",n.prototype.decodeBufferFrames=0,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.url!=null&&Object.hasOwnProperty.call(t,"url")&&e.uint32(10).string(t.url),t.decodeBufferFrames!=null&&Object.hasOwnProperty.call(t,"decodeBufferFrames")&&e.uint32(16).uint32(t.decodeBufferFrames),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.sources.SrtSourceConfig;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.url=t.string();break}case 2:{s.decodeBufferFrames=t.uint32();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.url!=null&&t.hasOwnProperty("url")&&!$util.isString(t.url)?"url: string expected":t.decodeBufferFrames!=null&&t.hasOwnProperty("decodeBufferFrames")&&!$util.isInteger(t.decodeBufferFrames)?"decodeBufferFrames: integer expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.sources.SrtSourceConfig)return t;let e=new $root.sesame.v1.sources.SrtSourceConfig;return t.url!=null&&(e.url=String(t.url)),t.decodeBufferFrames!=null&&(e.decodeBufferFrames=t.decodeBufferFrames>>>0),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.url="",i.decodeBufferFrames=0),t.url!=null&&t.hasOwnProperty("url")&&(i.url=t.url),t.decodeBufferFrames!=null&&t.hasOwnProperty("decodeBufferFrames")&&(i.decodeBufferFrames=t.decodeBufferFrames),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.sources.SrtSourceConfig"},n}(),l.WebsocketSourceConfig=function(){function n(r){if(this.incomingMetadataTracks=[],r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.channel="",n.prototype.decodeBufferFrames=0,n.prototype.incomingMetadataTracks=$util.emptyArray,n.create=function(t){return new n(t)},n.encode=function(t,e){if(e||(e=$Writer.create()),t.channel!=null&&Object.hasOwnProperty.call(t,"channel")&&e.uint32(10).string(t.channel),t.decodeBufferFrames!=null&&Object.hasOwnProperty.call(t,"decodeBufferFrames")&&e.uint32(16).uint32(t.decodeBufferFrames),t.incomingMetadataTracks!=null&&t.incomingMetadataTracks.length)for(let i=0;i<t.incomingMetadataTracks.length;++i)e.uint32(26).string(t.incomingMetadataTracks[i]);return e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.sources.WebsocketSourceConfig;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.channel=t.string();break}case 2:{s.decodeBufferFrames=t.uint32();break}case 3:{s.incomingMetadataTracks&&s.incomingMetadataTracks.length||(s.incomingMetadataTracks=[]),s.incomingMetadataTracks.push(t.string());break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.channel!=null&&t.hasOwnProperty("channel")&&!$util.isString(t.channel))return"channel: string expected";if(t.decodeBufferFrames!=null&&t.hasOwnProperty("decodeBufferFrames")&&!$util.isInteger(t.decodeBufferFrames))return"decodeBufferFrames: integer expected";if(t.incomingMetadataTracks!=null&&t.hasOwnProperty("incomingMetadataTracks")){if(!Array.isArray(t.incomingMetadataTracks))return"incomingMetadataTracks: array expected";for(let e=0;e<t.incomingMetadataTracks.length;++e)if(!$util.isString(t.incomingMetadataTracks[e]))return"incomingMetadataTracks: string[] expected"}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.sources.WebsocketSourceConfig)return t;let e=new $root.sesame.v1.sources.WebsocketSourceConfig;if(t.channel!=null&&(e.channel=String(t.channel)),t.decodeBufferFrames!=null&&(e.decodeBufferFrames=t.decodeBufferFrames>>>0),t.incomingMetadataTracks){if(!Array.isArray(t.incomingMetadataTracks))throw TypeError(".sesame.v1.sources.WebsocketSourceConfig.incomingMetadataTracks: array expected");e.incomingMetadataTracks=[];for(let i=0;i<t.incomingMetadataTracks.length;++i)e.incomingMetadataTracks[i]=String(t.incomingMetadataTracks[i])}return e},n.toObject=function(t,e){e||(e={});let i={};if((e.arrays||e.defaults)&&(i.incomingMetadataTracks=[]),e.defaults&&(i.channel="",i.decodeBufferFrames=0),t.channel!=null&&t.hasOwnProperty("channel")&&(i.channel=t.channel),t.decodeBufferFrames!=null&&t.hasOwnProperty("decodeBufferFrames")&&(i.decodeBufferFrames=t.decodeBufferFrames),t.incomingMetadataTracks&&t.incomingMetadataTracks.length){i.incomingMetadataTracks=[];for(let a=0;a<t.incomingMetadataTracks.length;++a)i.incomingMetadataTracks[a]=t.incomingMetadataTracks[a]}return i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.sources.WebsocketSourceConfig"},n}(),l.MoqSourceConfig=function(){function n(r){if(this.incomingMetadataTracks=[],r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.url="",n.prototype.broadcast="",n.prototype.key="",n.prototype.decodeBufferFrames=0,n.prototype.incomingMetadataTracks=$util.emptyArray,n.create=function(t){return new n(t)},n.encode=function(t,e){if(e||(e=$Writer.create()),t.url!=null&&Object.hasOwnProperty.call(t,"url")&&e.uint32(10).string(t.url),t.broadcast!=null&&Object.hasOwnProperty.call(t,"broadcast")&&e.uint32(18).string(t.broadcast),t.key!=null&&Object.hasOwnProperty.call(t,"key")&&e.uint32(26).string(t.key),t.decodeBufferFrames!=null&&Object.hasOwnProperty.call(t,"decodeBufferFrames")&&e.uint32(32).uint32(t.decodeBufferFrames),t.incomingMetadataTracks!=null&&t.incomingMetadataTracks.length)for(let i=0;i<t.incomingMetadataTracks.length;++i)e.uint32(42).string(t.incomingMetadataTracks[i]);return e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.sources.MoqSourceConfig;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.url=t.string();break}case 2:{s.broadcast=t.string();break}case 3:{s.key=t.string();break}case 4:{s.decodeBufferFrames=t.uint32();break}case 5:{s.incomingMetadataTracks&&s.incomingMetadataTracks.length||(s.incomingMetadataTracks=[]),s.incomingMetadataTracks.push(t.string());break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.url!=null&&t.hasOwnProperty("url")&&!$util.isString(t.url))return"url: string expected";if(t.broadcast!=null&&t.hasOwnProperty("broadcast")&&!$util.isString(t.broadcast))return"broadcast: string expected";if(t.key!=null&&t.hasOwnProperty("key")&&!$util.isString(t.key))return"key: string expected";if(t.decodeBufferFrames!=null&&t.hasOwnProperty("decodeBufferFrames")&&!$util.isInteger(t.decodeBufferFrames))return"decodeBufferFrames: integer expected";if(t.incomingMetadataTracks!=null&&t.hasOwnProperty("incomingMetadataTracks")){if(!Array.isArray(t.incomingMetadataTracks))return"incomingMetadataTracks: array expected";for(let e=0;e<t.incomingMetadataTracks.length;++e)if(!$util.isString(t.incomingMetadataTracks[e]))return"incomingMetadataTracks: string[] expected"}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.sources.MoqSourceConfig)return t;let e=new $root.sesame.v1.sources.MoqSourceConfig;if(t.url!=null&&(e.url=String(t.url)),t.broadcast!=null&&(e.broadcast=String(t.broadcast)),t.key!=null&&(e.key=String(t.key)),t.decodeBufferFrames!=null&&(e.decodeBufferFrames=t.decodeBufferFrames>>>0),t.incomingMetadataTracks){if(!Array.isArray(t.incomingMetadataTracks))throw TypeError(".sesame.v1.sources.MoqSourceConfig.incomingMetadataTracks: array expected");e.incomingMetadataTracks=[];for(let i=0;i<t.incomingMetadataTracks.length;++i)e.incomingMetadataTracks[i]=String(t.incomingMetadataTracks[i])}return e},n.toObject=function(t,e){e||(e={});let i={};if((e.arrays||e.defaults)&&(i.incomingMetadataTracks=[]),e.defaults&&(i.url="",i.broadcast="",i.key="",i.decodeBufferFrames=0),t.url!=null&&t.hasOwnProperty("url")&&(i.url=t.url),t.broadcast!=null&&t.hasOwnProperty("broadcast")&&(i.broadcast=t.broadcast),t.key!=null&&t.hasOwnProperty("key")&&(i.key=t.key),t.decodeBufferFrames!=null&&t.hasOwnProperty("decodeBufferFrames")&&(i.decodeBufferFrames=t.decodeBufferFrames),t.incomingMetadataTracks&&t.incomingMetadataTracks.length){i.incomingMetadataTracks=[];for(let a=0;a<t.incomingMetadataTracks.length;++a)i.incomingMetadataTracks[a]=t.incomingMetadataTracks[a]}return i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.sources.MoqSourceConfig"},n}(),l.SourceConfig=function(){function n(t){if(t)for(let e=Object.keys(t),i=0;i<e.length;++i)t[e[i]]!=null&&(this[e[i]]=t[e[i]])}n.prototype.common=null,n.prototype.file=null,n.prototype.recorder=null,n.prototype.browser=null,n.prototype.rtt=null,n.prototype.decklink=null,n.prototype.signalGenerator=null,n.prototype.systemAudio=null,n.prototype.srtStream=null,n.prototype.websocket=null,n.prototype.moq=null;let r;return Object.defineProperty(n.prototype,"details",{get:$util.oneOfGetter(r=["file","recorder","browser","rtt","decklink","signalGenerator","systemAudio","srtStream","websocket","moq"]),set:$util.oneOfSetter(r)}),n.create=function(e){return new n(e)},n.encode=function(e,i){return i||(i=$Writer.create()),e.common!=null&&Object.hasOwnProperty.call(e,"common")&&$root.sesame.v1.sources.SourceCommonConfig.encode(e.common,i.uint32(10).fork()).ldelim(),e.file!=null&&Object.hasOwnProperty.call(e,"file")&&$root.sesame.v1.sources.FileSourceConfig.encode(e.file,i.uint32(82).fork()).ldelim(),e.recorder!=null&&Object.hasOwnProperty.call(e,"recorder")&&$root.sesame.v1.sources.RecorderSourceConfig.encode(e.recorder,i.uint32(90).fork()).ldelim(),e.browser!=null&&Object.hasOwnProperty.call(e,"browser")&&$root.sesame.v1.sources.BrowserSourceConfig.encode(e.browser,i.uint32(98).fork()).ldelim(),e.rtt!=null&&Object.hasOwnProperty.call(e,"rtt")&&$root.sesame.v1.sources.RTTSourceConfig.encode(e.rtt,i.uint32(106).fork()).ldelim(),e.decklink!=null&&Object.hasOwnProperty.call(e,"decklink")&&$root.sesame.v1.sources.DecklinkSourceConfig.encode(e.decklink,i.uint32(114).fork()).ldelim(),e.signalGenerator!=null&&Object.hasOwnProperty.call(e,"signalGenerator")&&$root.sesame.v1.sources.SignalGeneratorSourceConfig.encode(e.signalGenerator,i.uint32(122).fork()).ldelim(),e.systemAudio!=null&&Object.hasOwnProperty.call(e,"systemAudio")&&$root.sesame.v1.sources.SystemAudioSourceConfig.encode(e.systemAudio,i.uint32(130).fork()).ldelim(),e.srtStream!=null&&Object.hasOwnProperty.call(e,"srtStream")&&$root.sesame.v1.sources.SrtSourceConfig.encode(e.srtStream,i.uint32(138).fork()).ldelim(),e.websocket!=null&&Object.hasOwnProperty.call(e,"websocket")&&$root.sesame.v1.sources.WebsocketSourceConfig.encode(e.websocket,i.uint32(146).fork()).ldelim(),e.moq!=null&&Object.hasOwnProperty.call(e,"moq")&&$root.sesame.v1.sources.MoqSourceConfig.encode(e.moq,i.uint32(154).fork()).ldelim(),i},n.encodeDelimited=function(e,i){return this.encode(e,i).ldelim()},n.decode=function(e,i,a){e instanceof $Reader||(e=$Reader.create(e));let s=i===void 0?e.len:e.pos+i,d=new $root.sesame.v1.sources.SourceConfig;for(;e.pos<s;){let c=e.uint32();if(c===a)break;switch(c>>>3){case 1:{d.common=$root.sesame.v1.sources.SourceCommonConfig.decode(e,e.uint32());break}case 10:{d.file=$root.sesame.v1.sources.FileSourceConfig.decode(e,e.uint32());break}case 11:{d.recorder=$root.sesame.v1.sources.RecorderSourceConfig.decode(e,e.uint32());break}case 12:{d.browser=$root.sesame.v1.sources.BrowserSourceConfig.decode(e,e.uint32());break}case 13:{d.rtt=$root.sesame.v1.sources.RTTSourceConfig.decode(e,e.uint32());break}case 14:{d.decklink=$root.sesame.v1.sources.DecklinkSourceConfig.decode(e,e.uint32());break}case 15:{d.signalGenerator=$root.sesame.v1.sources.SignalGeneratorSourceConfig.decode(e,e.uint32());break}case 16:{d.systemAudio=$root.sesame.v1.sources.SystemAudioSourceConfig.decode(e,e.uint32());break}case 17:{d.srtStream=$root.sesame.v1.sources.SrtSourceConfig.decode(e,e.uint32());break}case 18:{d.websocket=$root.sesame.v1.sources.WebsocketSourceConfig.decode(e,e.uint32());break}case 19:{d.moq=$root.sesame.v1.sources.MoqSourceConfig.decode(e,e.uint32());break}default:e.skipType(c&7);break}}return d},n.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},n.verify=function(e){if(typeof e!="object"||e===null)return"object expected";let i={};if(e.common!=null&&e.hasOwnProperty("common")){let a=$root.sesame.v1.sources.SourceCommonConfig.verify(e.common);if(a)return"common."+a}if(e.file!=null&&e.hasOwnProperty("file")){i.details=1;{let a=$root.sesame.v1.sources.FileSourceConfig.verify(e.file);if(a)return"file."+a}}if(e.recorder!=null&&e.hasOwnProperty("recorder")){if(i.details===1)return"details: multiple values";i.details=1;{let a=$root.sesame.v1.sources.RecorderSourceConfig.verify(e.recorder);if(a)return"recorder."+a}}if(e.browser!=null&&e.hasOwnProperty("browser")){if(i.details===1)return"details: multiple values";i.details=1;{let a=$root.sesame.v1.sources.BrowserSourceConfig.verify(e.browser);if(a)return"browser."+a}}if(e.rtt!=null&&e.hasOwnProperty("rtt")){if(i.details===1)return"details: multiple values";i.details=1;{let a=$root.sesame.v1.sources.RTTSourceConfig.verify(e.rtt);if(a)return"rtt."+a}}if(e.decklink!=null&&e.hasOwnProperty("decklink")){if(i.details===1)return"details: multiple values";i.details=1;{let a=$root.sesame.v1.sources.DecklinkSourceConfig.verify(e.decklink);if(a)return"decklink."+a}}if(e.signalGenerator!=null&&e.hasOwnProperty("signalGenerator")){if(i.details===1)return"details: multiple values";i.details=1;{let a=$root.sesame.v1.sources.SignalGeneratorSourceConfig.verify(e.signalGenerator);if(a)return"signalGenerator."+a}}if(e.systemAudio!=null&&e.hasOwnProperty("systemAudio")){if(i.details===1)return"details: multiple values";i.details=1;{let a=$root.sesame.v1.sources.SystemAudioSourceConfig.verify(e.systemAudio);if(a)return"systemAudio."+a}}if(e.srtStream!=null&&e.hasOwnProperty("srtStream")){if(i.details===1)return"details: multiple values";i.details=1;{let a=$root.sesame.v1.sources.SrtSourceConfig.verify(e.srtStream);if(a)return"srtStream."+a}}if(e.websocket!=null&&e.hasOwnProperty("websocket")){if(i.details===1)return"details: multiple values";i.details=1;{let a=$root.sesame.v1.sources.WebsocketSourceConfig.verify(e.websocket);if(a)return"websocket."+a}}if(e.moq!=null&&e.hasOwnProperty("moq")){if(i.details===1)return"details: multiple values";i.details=1;{let a=$root.sesame.v1.sources.MoqSourceConfig.verify(e.moq);if(a)return"moq."+a}}return null},n.fromObject=function(e){if(e instanceof $root.sesame.v1.sources.SourceConfig)return e;let i=new $root.sesame.v1.sources.SourceConfig;if(e.common!=null){if(typeof e.common!="object")throw TypeError(".sesame.v1.sources.SourceConfig.common: object expected");i.common=$root.sesame.v1.sources.SourceCommonConfig.fromObject(e.common)}if(e.file!=null){if(typeof e.file!="object")throw TypeError(".sesame.v1.sources.SourceConfig.file: object expected");i.file=$root.sesame.v1.sources.FileSourceConfig.fromObject(e.file)}if(e.recorder!=null){if(typeof e.recorder!="object")throw TypeError(".sesame.v1.sources.SourceConfig.recorder: object expected");i.recorder=$root.sesame.v1.sources.RecorderSourceConfig.fromObject(e.recorder)}if(e.browser!=null){if(typeof e.browser!="object")throw TypeError(".sesame.v1.sources.SourceConfig.browser: object expected");i.browser=$root.sesame.v1.sources.BrowserSourceConfig.fromObject(e.browser)}if(e.rtt!=null){if(typeof e.rtt!="object")throw TypeError(".sesame.v1.sources.SourceConfig.rtt: object expected");i.rtt=$root.sesame.v1.sources.RTTSourceConfig.fromObject(e.rtt)}if(e.decklink!=null){if(typeof e.decklink!="object")throw TypeError(".sesame.v1.sources.SourceConfig.decklink: object expected");i.decklink=$root.sesame.v1.sources.DecklinkSourceConfig.fromObject(e.decklink)}if(e.signalGenerator!=null){if(typeof e.signalGenerator!="object")throw TypeError(".sesame.v1.sources.SourceConfig.signalGenerator: object expected");i.signalGenerator=$root.sesame.v1.sources.SignalGeneratorSourceConfig.fromObject(e.signalGenerator)}if(e.systemAudio!=null){if(typeof e.systemAudio!="object")throw TypeError(".sesame.v1.sources.SourceConfig.systemAudio: object expected");i.systemAudio=$root.sesame.v1.sources.SystemAudioSourceConfig.fromObject(e.systemAudio)}if(e.srtStream!=null){if(typeof e.srtStream!="object")throw TypeError(".sesame.v1.sources.SourceConfig.srtStream: object expected");i.srtStream=$root.sesame.v1.sources.SrtSourceConfig.fromObject(e.srtStream)}if(e.websocket!=null){if(typeof e.websocket!="object")throw TypeError(".sesame.v1.sources.SourceConfig.websocket: object expected");i.websocket=$root.sesame.v1.sources.WebsocketSourceConfig.fromObject(e.websocket)}if(e.moq!=null){if(typeof e.moq!="object")throw TypeError(".sesame.v1.sources.SourceConfig.moq: object expected");i.moq=$root.sesame.v1.sources.MoqSourceConfig.fromObject(e.moq)}return i},n.toObject=function(e,i){i||(i={});let a={};return i.defaults&&(a.common=null),e.common!=null&&e.hasOwnProperty("common")&&(a.common=$root.sesame.v1.sources.SourceCommonConfig.toObject(e.common,i)),e.file!=null&&e.hasOwnProperty("file")&&(a.file=$root.sesame.v1.sources.FileSourceConfig.toObject(e.file,i),i.oneofs&&(a.details="file")),e.recorder!=null&&e.hasOwnProperty("recorder")&&(a.recorder=$root.sesame.v1.sources.RecorderSourceConfig.toObject(e.recorder,i),i.oneofs&&(a.details="recorder")),e.browser!=null&&e.hasOwnProperty("browser")&&(a.browser=$root.sesame.v1.sources.BrowserSourceConfig.toObject(e.browser,i),i.oneofs&&(a.details="browser")),e.rtt!=null&&e.hasOwnProperty("rtt")&&(a.rtt=$root.sesame.v1.sources.RTTSourceConfig.toObject(e.rtt,i),i.oneofs&&(a.details="rtt")),e.decklink!=null&&e.hasOwnProperty("decklink")&&(a.decklink=$root.sesame.v1.sources.DecklinkSourceConfig.toObject(e.decklink,i),i.oneofs&&(a.details="decklink")),e.signalGenerator!=null&&e.hasOwnProperty("signalGenerator")&&(a.signalGenerator=$root.sesame.v1.sources.SignalGeneratorSourceConfig.toObject(e.signalGenerator,i),i.oneofs&&(a.details="signalGenerator")),e.systemAudio!=null&&e.hasOwnProperty("systemAudio")&&(a.systemAudio=$root.sesame.v1.sources.SystemAudioSourceConfig.toObject(e.systemAudio,i),i.oneofs&&(a.details="systemAudio")),e.srtStream!=null&&e.hasOwnProperty("srtStream")&&(a.srtStream=$root.sesame.v1.sources.SrtSourceConfig.toObject(e.srtStream,i),i.oneofs&&(a.details="srtStream")),e.websocket!=null&&e.hasOwnProperty("websocket")&&(a.websocket=$root.sesame.v1.sources.WebsocketSourceConfig.toObject(e.websocket,i),i.oneofs&&(a.details="websocket")),e.moq!=null&&e.hasOwnProperty("moq")&&(a.moq=$root.sesame.v1.sources.MoqSourceConfig.toObject(e.moq,i),i.oneofs&&(a.details="moq")),a},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/sesame.v1.sources.SourceConfig"},n}(),l.SourceAddRequest=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.id="",n.prototype.config=null,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.id!=null&&Object.hasOwnProperty.call(t,"id")&&e.uint32(10).string(t.id),t.config!=null&&Object.hasOwnProperty.call(t,"config")&&$root.sesame.v1.sources.SourceConfig.encode(t.config,e.uint32(18).fork()).ldelim(),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.sources.SourceAddRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.id=t.string();break}case 2:{s.config=$root.sesame.v1.sources.SourceConfig.decode(t,t.uint32());break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.id!=null&&t.hasOwnProperty("id")&&!$util.isString(t.id))return"id: string expected";if(t.config!=null&&t.hasOwnProperty("config")){let e=$root.sesame.v1.sources.SourceConfig.verify(t.config);if(e)return"config."+e}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.sources.SourceAddRequest)return t;let e=new $root.sesame.v1.sources.SourceAddRequest;if(t.id!=null&&(e.id=String(t.id)),t.config!=null){if(typeof t.config!="object")throw TypeError(".sesame.v1.sources.SourceAddRequest.config: object expected");e.config=$root.sesame.v1.sources.SourceConfig.fromObject(t.config)}return e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.id="",i.config=null),t.id!=null&&t.hasOwnProperty("id")&&(i.id=t.id),t.config!=null&&t.hasOwnProperty("config")&&(i.config=$root.sesame.v1.sources.SourceConfig.toObject(t.config,e)),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.sources.SourceAddRequest"},n}(),l.SourceUpdateRequest=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.id="",n.prototype.config=null,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.id!=null&&Object.hasOwnProperty.call(t,"id")&&e.uint32(10).string(t.id),t.config!=null&&Object.hasOwnProperty.call(t,"config")&&$root.sesame.v1.sources.SourceConfig.encode(t.config,e.uint32(18).fork()).ldelim(),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.sources.SourceUpdateRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.id=t.string();break}case 2:{s.config=$root.sesame.v1.sources.SourceConfig.decode(t,t.uint32());break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.id!=null&&t.hasOwnProperty("id")&&!$util.isString(t.id))return"id: string expected";if(t.config!=null&&t.hasOwnProperty("config")){let e=$root.sesame.v1.sources.SourceConfig.verify(t.config);if(e)return"config."+e}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.sources.SourceUpdateRequest)return t;let e=new $root.sesame.v1.sources.SourceUpdateRequest;if(t.id!=null&&(e.id=String(t.id)),t.config!=null){if(typeof t.config!="object")throw TypeError(".sesame.v1.sources.SourceUpdateRequest.config: object expected");e.config=$root.sesame.v1.sources.SourceConfig.fromObject(t.config)}return e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.id="",i.config=null),t.id!=null&&t.hasOwnProperty("id")&&(i.id=t.id),t.config!=null&&t.hasOwnProperty("config")&&(i.config=$root.sesame.v1.sources.SourceConfig.toObject(t.config,e)),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.sources.SourceUpdateRequest"},n}(),l.SourceRemoveRequest=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.id="",n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.id!=null&&Object.hasOwnProperty.call(t,"id")&&e.uint32(10).string(t.id),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.sources.SourceRemoveRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.id=t.string();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.id!=null&&t.hasOwnProperty("id")&&!$util.isString(t.id)?"id: string expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.sources.SourceRemoveRequest)return t;let e=new $root.sesame.v1.sources.SourceRemoveRequest;return t.id!=null&&(e.id=String(t.id)),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.id=""),t.id!=null&&t.hasOwnProperty("id")&&(i.id=t.id),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.sources.SourceRemoveRequest"},n}(),l.SourceStatus=function(){function n(t){if(t)for(let e=Object.keys(t),i=0;i<e.length;++i)t[e[i]]!=null&&(this[e[i]]=t[e[i]])}n.prototype.id="",n.prototype.type=0,n.prototype.userId="",n.prototype.state=0,n.prototype.transportState=0,n.prototype.msg=null,n.prototype.url="",n.prototype.width=0,n.prototype.height=0,n.prototype.fps=0,n.prototype.durationUs=$util.Long?$util.Long.fromBits(0,0,!1):0,n.prototype.playPositionUs=$util.Long?$util.Long.fromBits(0,0,!1):0,n.prototype.videoBuf=0,n.prototype.audioBuf=0,n.prototype.gpuBuf=0,n.prototype.audioChannels=0,n.prototype.audioLevel=0,n.prototype.lipSyncOffsetUs=$util.Long?$util.Long.fromBits(0,0,!1):0,n.prototype.decodeTiming=null,n.prototype.videoBufAvg=0,n.prototype.srtStats=null;let r;return Object.defineProperty(n.prototype,"_msg",{get:$util.oneOfGetter(r=["msg"]),set:$util.oneOfSetter(r)}),Object.defineProperty(n.prototype,"_srtStats",{get:$util.oneOfGetter(r=["srtStats"]),set:$util.oneOfSetter(r)}),n.create=function(e){return new n(e)},n.encode=function(e,i){return i||(i=$Writer.create()),e.id!=null&&Object.hasOwnProperty.call(e,"id")&&i.uint32(10).string(e.id),e.type!=null&&Object.hasOwnProperty.call(e,"type")&&i.uint32(16).int32(e.type),e.userId!=null&&Object.hasOwnProperty.call(e,"userId")&&i.uint32(26).string(e.userId),e.state!=null&&Object.hasOwnProperty.call(e,"state")&&i.uint32(32).int32(e.state),e.transportState!=null&&Object.hasOwnProperty.call(e,"transportState")&&i.uint32(40).int32(e.transportState),e.msg!=null&&Object.hasOwnProperty.call(e,"msg")&&i.uint32(50).string(e.msg),e.url!=null&&Object.hasOwnProperty.call(e,"url")&&i.uint32(58).string(e.url),e.width!=null&&Object.hasOwnProperty.call(e,"width")&&i.uint32(64).uint32(e.width),e.height!=null&&Object.hasOwnProperty.call(e,"height")&&i.uint32(72).uint32(e.height),e.fps!=null&&Object.hasOwnProperty.call(e,"fps")&&i.uint32(85).float(e.fps),e.durationUs!=null&&Object.hasOwnProperty.call(e,"durationUs")&&i.uint32(88).int64(e.durationUs),e.playPositionUs!=null&&Object.hasOwnProperty.call(e,"playPositionUs")&&i.uint32(96).int64(e.playPositionUs),e.videoBuf!=null&&Object.hasOwnProperty.call(e,"videoBuf")&&i.uint32(104).int32(e.videoBuf),e.audioBuf!=null&&Object.hasOwnProperty.call(e,"audioBuf")&&i.uint32(112).int32(e.audioBuf),e.gpuBuf!=null&&Object.hasOwnProperty.call(e,"gpuBuf")&&i.uint32(120).int32(e.gpuBuf),e.audioChannels!=null&&Object.hasOwnProperty.call(e,"audioChannels")&&i.uint32(128).uint32(e.audioChannels),e.audioLevel!=null&&Object.hasOwnProperty.call(e,"audioLevel")&&i.uint32(141).float(e.audioLevel),e.lipSyncOffsetUs!=null&&Object.hasOwnProperty.call(e,"lipSyncOffsetUs")&&i.uint32(144).int64(e.lipSyncOffsetUs),e.decodeTiming!=null&&Object.hasOwnProperty.call(e,"decodeTiming")&&$root.sesame.v1.status.FrameTiming.encode(e.decodeTiming,i.uint32(154).fork()).ldelim(),e.videoBufAvg!=null&&Object.hasOwnProperty.call(e,"videoBufAvg")&&i.uint32(161).double(e.videoBufAvg),e.srtStats!=null&&Object.hasOwnProperty.call(e,"srtStats")&&$root.sesame.v1.status.SRTReceiveStatistics.encode(e.srtStats,i.uint32(170).fork()).ldelim(),i},n.encodeDelimited=function(e,i){return this.encode(e,i).ldelim()},n.decode=function(e,i,a){e instanceof $Reader||(e=$Reader.create(e));let s=i===void 0?e.len:e.pos+i,d=new $root.sesame.v1.sources.SourceStatus;for(;e.pos<s;){let c=e.uint32();if(c===a)break;switch(c>>>3){case 1:{d.id=e.string();break}case 2:{d.type=e.int32();break}case 3:{d.userId=e.string();break}case 4:{d.state=e.int32();break}case 5:{d.transportState=e.int32();break}case 6:{d.msg=e.string();break}case 7:{d.url=e.string();break}case 8:{d.width=e.uint32();break}case 9:{d.height=e.uint32();break}case 10:{d.fps=e.float();break}case 11:{d.durationUs=e.int64();break}case 12:{d.playPositionUs=e.int64();break}case 13:{d.videoBuf=e.int32();break}case 14:{d.audioBuf=e.int32();break}case 15:{d.gpuBuf=e.int32();break}case 16:{d.audioChannels=e.uint32();break}case 17:{d.audioLevel=e.float();break}case 18:{d.lipSyncOffsetUs=e.int64();break}case 19:{d.decodeTiming=$root.sesame.v1.status.FrameTiming.decode(e,e.uint32());break}case 20:{d.videoBufAvg=e.double();break}case 21:{d.srtStats=$root.sesame.v1.status.SRTReceiveStatistics.decode(e,e.uint32());break}default:e.skipType(c&7);break}}return d},n.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},n.verify=function(e){if(typeof e!="object"||e===null)return"object expected";if(e.id!=null&&e.hasOwnProperty("id")&&!$util.isString(e.id))return"id: string expected";if(e.type!=null&&e.hasOwnProperty("type"))switch(e.type){default:return"type: enum value expected";case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:break}if(e.userId!=null&&e.hasOwnProperty("userId")&&!$util.isString(e.userId))return"userId: string expected";if(e.state!=null&&e.hasOwnProperty("state"))switch(e.state){default:return"state: enum value expected";case 0:case 1:case 2:case 3:case 4:case 5:case 6:break}if(e.transportState!=null&&e.hasOwnProperty("transportState"))switch(e.transportState){default:return"transportState: enum value expected";case 0:case 1:case 2:case 3:case 4:break}if(e.msg!=null&&e.hasOwnProperty("msg")&&!$util.isString(e.msg))return"msg: string expected";if(e.url!=null&&e.hasOwnProperty("url")&&!$util.isString(e.url))return"url: string expected";if(e.width!=null&&e.hasOwnProperty("width")&&!$util.isInteger(e.width))return"width: integer expected";if(e.height!=null&&e.hasOwnProperty("height")&&!$util.isInteger(e.height))return"height: integer expected";if(e.fps!=null&&e.hasOwnProperty("fps")&&typeof e.fps!="number")return"fps: number expected";if(e.durationUs!=null&&e.hasOwnProperty("durationUs")&&!$util.isInteger(e.durationUs)&&!(e.durationUs&&$util.isInteger(e.durationUs.low)&&$util.isInteger(e.durationUs.high)))return"durationUs: integer|Long expected";if(e.playPositionUs!=null&&e.hasOwnProperty("playPositionUs")&&!$util.isInteger(e.playPositionUs)&&!(e.playPositionUs&&$util.isInteger(e.playPositionUs.low)&&$util.isInteger(e.playPositionUs.high)))return"playPositionUs: integer|Long expected";if(e.videoBuf!=null&&e.hasOwnProperty("videoBuf")&&!$util.isInteger(e.videoBuf))return"videoBuf: integer expected";if(e.audioBuf!=null&&e.hasOwnProperty("audioBuf")&&!$util.isInteger(e.audioBuf))return"audioBuf: integer expected";if(e.gpuBuf!=null&&e.hasOwnProperty("gpuBuf")&&!$util.isInteger(e.gpuBuf))return"gpuBuf: integer expected";if(e.audioChannels!=null&&e.hasOwnProperty("audioChannels")&&!$util.isInteger(e.audioChannels))return"audioChannels: integer expected";if(e.audioLevel!=null&&e.hasOwnProperty("audioLevel")&&typeof e.audioLevel!="number")return"audioLevel: number expected";if(e.lipSyncOffsetUs!=null&&e.hasOwnProperty("lipSyncOffsetUs")&&!$util.isInteger(e.lipSyncOffsetUs)&&!(e.lipSyncOffsetUs&&$util.isInteger(e.lipSyncOffsetUs.low)&&$util.isInteger(e.lipSyncOffsetUs.high)))return"lipSyncOffsetUs: integer|Long expected";if(e.decodeTiming!=null&&e.hasOwnProperty("decodeTiming")){let i=$root.sesame.v1.status.FrameTiming.verify(e.decodeTiming);if(i)return"decodeTiming."+i}if(e.videoBufAvg!=null&&e.hasOwnProperty("videoBufAvg")&&typeof e.videoBufAvg!="number")return"videoBufAvg: number expected";if(e.srtStats!=null&&e.hasOwnProperty("srtStats")){let i=$root.sesame.v1.status.SRTReceiveStatistics.verify(e.srtStats);if(i)return"srtStats."+i}return null},n.fromObject=function(e){if(e instanceof $root.sesame.v1.sources.SourceStatus)return e;let i=new $root.sesame.v1.sources.SourceStatus;switch(e.id!=null&&(i.id=String(e.id)),e.type){default:if(typeof e.type=="number"){i.type=e.type;break}break;case"SOURCE_TYPE_UNSPECIFIED":case 0:i.type=0;break;case"SOURCE_TYPE_FILE":case 1:i.type=1;break;case"SOURCE_TYPE_RECORDER":case 2:i.type=2;break;case"SOURCE_TYPE_BROWSER":case 3:i.type=3;break;case"SOURCE_TYPE_RTT":case 4:i.type=4;break;case"SOURCE_TYPE_DECKLINK":case 5:i.type=5;break;case"SOURCE_TYPE_SIGNAL_GENERATOR":case 6:i.type=6;break;case"SOURCE_TYPE_SYSTEM_AUDIO":case 7:i.type=7;break;case"SOURCE_TYPE_SRT_STREAM":case 8:i.type=8;break;case"SOURCE_TYPE_WEBSOCKET":case 9:i.type=9;break;case"SOURCE_TYPE_MOQ":case 10:i.type=10;break}switch(e.userId!=null&&(i.userId=String(e.userId)),e.state){default:if(typeof e.state=="number"){i.state=e.state;break}break;case"CONNECTION_STATE_UNSPECIFIED":case 0:i.state=0;break;case"CONNECTION_STATE_INITIALIZING":case 1:i.state=1;break;case"CONNECTION_STATE_CONNECTING":case 2:i.state=2;break;case"CONNECTION_STATE_ONLINE":case 3:i.state=3;break;case"CONNECTION_STATE_DEGRADED":case 4:i.state=4;break;case"CONNECTION_STATE_OFFLINE":case 5:i.state=5;break;case"CONNECTION_STATE_ERROR":case 6:i.state=6;break}switch(e.transportState){default:if(typeof e.transportState=="number"){i.transportState=e.transportState;break}break;case"SOURCE_TRANSPORT_STATE_STOPPED":case 0:i.transportState=0;break;case"SOURCE_TRANSPORT_STATE_PLAYING":case 1:i.transportState=1;break;case"SOURCE_TRANSPORT_STATE_CUEING":case 2:i.transportState=2;break;case"SOURCE_TRANSPORT_STATE_ERROR":case 3:i.transportState=3;break;case"SOURCE_TRANSPORT_STATE_PLAYING_LIVE":case 4:i.transportState=4;break}if(e.msg!=null&&(i.msg=String(e.msg)),e.url!=null&&(i.url=String(e.url)),e.width!=null&&(i.width=e.width>>>0),e.height!=null&&(i.height=e.height>>>0),e.fps!=null&&(i.fps=Number(e.fps)),e.durationUs!=null&&($util.Long?(i.durationUs=$util.Long.fromValue(e.durationUs)).unsigned=!1:typeof e.durationUs=="string"?i.durationUs=parseInt(e.durationUs,10):typeof e.durationUs=="number"?i.durationUs=e.durationUs:typeof e.durationUs=="object"&&(i.durationUs=new $util.LongBits(e.durationUs.low>>>0,e.durationUs.high>>>0).toNumber())),e.playPositionUs!=null&&($util.Long?(i.playPositionUs=$util.Long.fromValue(e.playPositionUs)).unsigned=!1:typeof e.playPositionUs=="string"?i.playPositionUs=parseInt(e.playPositionUs,10):typeof e.playPositionUs=="number"?i.playPositionUs=e.playPositionUs:typeof e.playPositionUs=="object"&&(i.playPositionUs=new $util.LongBits(e.playPositionUs.low>>>0,e.playPositionUs.high>>>0).toNumber())),e.videoBuf!=null&&(i.videoBuf=e.videoBuf|0),e.audioBuf!=null&&(i.audioBuf=e.audioBuf|0),e.gpuBuf!=null&&(i.gpuBuf=e.gpuBuf|0),e.audioChannels!=null&&(i.audioChannels=e.audioChannels>>>0),e.audioLevel!=null&&(i.audioLevel=Number(e.audioLevel)),e.lipSyncOffsetUs!=null&&($util.Long?(i.lipSyncOffsetUs=$util.Long.fromValue(e.lipSyncOffsetUs)).unsigned=!1:typeof e.lipSyncOffsetUs=="string"?i.lipSyncOffsetUs=parseInt(e.lipSyncOffsetUs,10):typeof e.lipSyncOffsetUs=="number"?i.lipSyncOffsetUs=e.lipSyncOffsetUs:typeof e.lipSyncOffsetUs=="object"&&(i.lipSyncOffsetUs=new $util.LongBits(e.lipSyncOffsetUs.low>>>0,e.lipSyncOffsetUs.high>>>0).toNumber())),e.decodeTiming!=null){if(typeof e.decodeTiming!="object")throw TypeError(".sesame.v1.sources.SourceStatus.decodeTiming: object expected");i.decodeTiming=$root.sesame.v1.status.FrameTiming.fromObject(e.decodeTiming)}if(e.videoBufAvg!=null&&(i.videoBufAvg=Number(e.videoBufAvg)),e.srtStats!=null){if(typeof e.srtStats!="object")throw TypeError(".sesame.v1.sources.SourceStatus.srtStats: object expected");i.srtStats=$root.sesame.v1.status.SRTReceiveStatistics.fromObject(e.srtStats)}return i},n.toObject=function(e,i){i||(i={});let a={};if(i.defaults){if(a.id="",a.type=i.enums===String?"SOURCE_TYPE_UNSPECIFIED":0,a.userId="",a.state=i.enums===String?"CONNECTION_STATE_UNSPECIFIED":0,a.transportState=i.enums===String?"SOURCE_TRANSPORT_STATE_STOPPED":0,a.url="",a.width=0,a.height=0,a.fps=0,$util.Long){let s=new $util.Long(0,0,!1);a.durationUs=i.longs===String?s.toString():i.longs===Number?s.toNumber():s}else a.durationUs=i.longs===String?"0":0;if($util.Long){let s=new $util.Long(0,0,!1);a.playPositionUs=i.longs===String?s.toString():i.longs===Number?s.toNumber():s}else a.playPositionUs=i.longs===String?"0":0;if(a.videoBuf=0,a.audioBuf=0,a.gpuBuf=0,a.audioChannels=0,a.audioLevel=0,$util.Long){let s=new $util.Long(0,0,!1);a.lipSyncOffsetUs=i.longs===String?s.toString():i.longs===Number?s.toNumber():s}else a.lipSyncOffsetUs=i.longs===String?"0":0;a.decodeTiming=null,a.videoBufAvg=0}return e.id!=null&&e.hasOwnProperty("id")&&(a.id=e.id),e.type!=null&&e.hasOwnProperty("type")&&(a.type=i.enums===String?$root.sesame.v1.sources.SourceType[e.type]===void 0?e.type:$root.sesame.v1.sources.SourceType[e.type]:e.type),e.userId!=null&&e.hasOwnProperty("userId")&&(a.userId=e.userId),e.state!=null&&e.hasOwnProperty("state")&&(a.state=i.enums===String?$root.sesame.v1.common.ConnectionState[e.state]===void 0?e.state:$root.sesame.v1.common.ConnectionState[e.state]:e.state),e.transportState!=null&&e.hasOwnProperty("transportState")&&(a.transportState=i.enums===String?$root.sesame.v1.sources.SourceTransportState[e.transportState]===void 0?e.transportState:$root.sesame.v1.sources.SourceTransportState[e.transportState]:e.transportState),e.msg!=null&&e.hasOwnProperty("msg")&&(a.msg=e.msg,i.oneofs&&(a._msg="msg")),e.url!=null&&e.hasOwnProperty("url")&&(a.url=e.url),e.width!=null&&e.hasOwnProperty("width")&&(a.width=e.width),e.height!=null&&e.hasOwnProperty("height")&&(a.height=e.height),e.fps!=null&&e.hasOwnProperty("fps")&&(a.fps=i.json&&!isFinite(e.fps)?String(e.fps):e.fps),e.durationUs!=null&&e.hasOwnProperty("durationUs")&&(typeof e.durationUs=="number"?a.durationUs=i.longs===String?String(e.durationUs):e.durationUs:a.durationUs=i.longs===String?$util.Long.prototype.toString.call(e.durationUs):i.longs===Number?new $util.LongBits(e.durationUs.low>>>0,e.durationUs.high>>>0).toNumber():e.durationUs),e.playPositionUs!=null&&e.hasOwnProperty("playPositionUs")&&(typeof e.playPositionUs=="number"?a.playPositionUs=i.longs===String?String(e.playPositionUs):e.playPositionUs:a.playPositionUs=i.longs===String?$util.Long.prototype.toString.call(e.playPositionUs):i.longs===Number?new $util.LongBits(e.playPositionUs.low>>>0,e.playPositionUs.high>>>0).toNumber():e.playPositionUs),e.videoBuf!=null&&e.hasOwnProperty("videoBuf")&&(a.videoBuf=e.videoBuf),e.audioBuf!=null&&e.hasOwnProperty("audioBuf")&&(a.audioBuf=e.audioBuf),e.gpuBuf!=null&&e.hasOwnProperty("gpuBuf")&&(a.gpuBuf=e.gpuBuf),e.audioChannels!=null&&e.hasOwnProperty("audioChannels")&&(a.audioChannels=e.audioChannels),e.audioLevel!=null&&e.hasOwnProperty("audioLevel")&&(a.audioLevel=i.json&&!isFinite(e.audioLevel)?String(e.audioLevel):e.audioLevel),e.lipSyncOffsetUs!=null&&e.hasOwnProperty("lipSyncOffsetUs")&&(typeof e.lipSyncOffsetUs=="number"?a.lipSyncOffsetUs=i.longs===String?String(e.lipSyncOffsetUs):e.lipSyncOffsetUs:a.lipSyncOffsetUs=i.longs===String?$util.Long.prototype.toString.call(e.lipSyncOffsetUs):i.longs===Number?new $util.LongBits(e.lipSyncOffsetUs.low>>>0,e.lipSyncOffsetUs.high>>>0).toNumber():e.lipSyncOffsetUs),e.decodeTiming!=null&&e.hasOwnProperty("decodeTiming")&&(a.decodeTiming=$root.sesame.v1.status.FrameTiming.toObject(e.decodeTiming,i)),e.videoBufAvg!=null&&e.hasOwnProperty("videoBufAvg")&&(a.videoBufAvg=i.json&&!isFinite(e.videoBufAvg)?String(e.videoBufAvg):e.videoBufAvg),e.srtStats!=null&&e.hasOwnProperty("srtStats")&&(a.srtStats=$root.sesame.v1.status.SRTReceiveStatistics.toObject(e.srtStats,i),i.oneofs&&(a._srtStats="srtStats")),a},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/sesame.v1.sources.SourceStatus"},n}(),l.SourceMetadataSetRequest=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.sourceId="",n.prototype.metadata=null,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.sourceId!=null&&Object.hasOwnProperty.call(t,"sourceId")&&e.uint32(10).string(t.sourceId),t.metadata!=null&&Object.hasOwnProperty.call(t,"metadata")&&$root.sesame.v1.common.TransportMetadata.encode(t.metadata,e.uint32(18).fork()).ldelim(),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.sources.SourceMetadataSetRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.sourceId=t.string();break}case 2:{s.metadata=$root.sesame.v1.common.TransportMetadata.decode(t,t.uint32());break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.sourceId!=null&&t.hasOwnProperty("sourceId")&&!$util.isString(t.sourceId))return"sourceId: string expected";if(t.metadata!=null&&t.hasOwnProperty("metadata")){let e=$root.sesame.v1.common.TransportMetadata.verify(t.metadata);if(e)return"metadata."+e}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.sources.SourceMetadataSetRequest)return t;let e=new $root.sesame.v1.sources.SourceMetadataSetRequest;if(t.sourceId!=null&&(e.sourceId=String(t.sourceId)),t.metadata!=null){if(typeof t.metadata!="object")throw TypeError(".sesame.v1.sources.SourceMetadataSetRequest.metadata: object expected");e.metadata=$root.sesame.v1.common.TransportMetadata.fromObject(t.metadata)}return e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.sourceId="",i.metadata=null),t.sourceId!=null&&t.hasOwnProperty("sourceId")&&(i.sourceId=t.sourceId),t.metadata!=null&&t.hasOwnProperty("metadata")&&(i.metadata=$root.sesame.v1.common.TransportMetadata.toObject(t.metadata,e)),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.sources.SourceMetadataSetRequest"},n}(),l.SourceMetadataEvent=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.sourceId="",n.prototype.metadata=null,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.sourceId!=null&&Object.hasOwnProperty.call(t,"sourceId")&&e.uint32(10).string(t.sourceId),t.metadata!=null&&Object.hasOwnProperty.call(t,"metadata")&&$root.sesame.v1.common.TransportMetadata.encode(t.metadata,e.uint32(18).fork()).ldelim(),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.sources.SourceMetadataEvent;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.sourceId=t.string();break}case 2:{s.metadata=$root.sesame.v1.common.TransportMetadata.decode(t,t.uint32());break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.sourceId!=null&&t.hasOwnProperty("sourceId")&&!$util.isString(t.sourceId))return"sourceId: string expected";if(t.metadata!=null&&t.hasOwnProperty("metadata")){let e=$root.sesame.v1.common.TransportMetadata.verify(t.metadata);if(e)return"metadata."+e}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.sources.SourceMetadataEvent)return t;let e=new $root.sesame.v1.sources.SourceMetadataEvent;if(t.sourceId!=null&&(e.sourceId=String(t.sourceId)),t.metadata!=null){if(typeof t.metadata!="object")throw TypeError(".sesame.v1.sources.SourceMetadataEvent.metadata: object expected");e.metadata=$root.sesame.v1.common.TransportMetadata.fromObject(t.metadata)}return e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.sourceId="",i.metadata=null),t.sourceId!=null&&t.hasOwnProperty("sourceId")&&(i.sourceId=t.sourceId),t.metadata!=null&&t.hasOwnProperty("metadata")&&(i.metadata=$root.sesame.v1.common.TransportMetadata.toObject(t.metadata,e)),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.sources.SourceMetadataEvent"},n}(),l.SourceTransportCommand=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.sourceId="",n.prototype.cmdType=0,n.prototype.value=null,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.sourceId!=null&&Object.hasOwnProperty.call(t,"sourceId")&&e.uint32(10).string(t.sourceId),t.cmdType!=null&&Object.hasOwnProperty.call(t,"cmdType")&&e.uint32(16).int32(t.cmdType),t.value!=null&&Object.hasOwnProperty.call(t,"value")&&$root.sesame.v1.common.PropValue.encode(t.value,e.uint32(26).fork()).ldelim(),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.sources.SourceTransportCommand;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.sourceId=t.string();break}case 2:{s.cmdType=t.int32();break}case 3:{s.value=$root.sesame.v1.common.PropValue.decode(t,t.uint32());break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.sourceId!=null&&t.hasOwnProperty("sourceId")&&!$util.isString(t.sourceId))return"sourceId: string expected";if(t.cmdType!=null&&t.hasOwnProperty("cmdType"))switch(t.cmdType){default:return"cmdType: enum value expected";case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:break}if(t.value!=null&&t.hasOwnProperty("value")){let e=$root.sesame.v1.common.PropValue.verify(t.value);if(e)return"value."+e}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.sources.SourceTransportCommand)return t;let e=new $root.sesame.v1.sources.SourceTransportCommand;switch(t.sourceId!=null&&(e.sourceId=String(t.sourceId)),t.cmdType){default:if(typeof t.cmdType=="number"){e.cmdType=t.cmdType;break}break;case"SOURCE_TRANSPORT_CMD_UNSPECIFIED":case 0:e.cmdType=0;break;case"SOURCE_TRANSPORT_CMD_STOP":case 1:e.cmdType=1;break;case"SOURCE_TRANSPORT_CMD_PLAY":case 2:e.cmdType=2;break;case"SOURCE_TRANSPORT_CMD_SEEK":case 3:e.cmdType=3;break;case"SOURCE_TRANSPORT_CMD_LOOP":case 4:e.cmdType=4;break;case"SOURCE_TRANSPORT_CMD_LIVE":case 5:e.cmdType=5;break;case"SOURCE_TRANSPORT_CMD_JOG":case 6:e.cmdType=6;break;case"SOURCE_TRANSPORT_CMD_MONITOR":case 7:e.cmdType=7;break;case"SOURCE_TRANSPORT_CMD_SEEK_USER_TIME":case 8:e.cmdType=8;break;case"SOURCE_TRANSPORT_CMD_TAKE":case 9:e.cmdType=9;break;case"SOURCE_TRANSPORT_CMD_POST_ROLL":case 10:e.cmdType=10;break;case"SOURCE_TRANSPORT_CMD_PRE_ROLL":case 11:e.cmdType=11;break;case"SOURCE_TRANSPORT_CMD_NEXT":case 12:e.cmdType=12;break;case"SOURCE_TRANSPORT_CMD_SKIP_NEXT":case 13:e.cmdType=13;break;case"SOURCE_TRANSPORT_CMD_TRANSITIONS_DISABLED":case 14:e.cmdType=14;break;case"SOURCE_TRANSPORT_CMD_SET_SCRUBBING":case 15:e.cmdType=15;break}if(t.value!=null){if(typeof t.value!="object")throw TypeError(".sesame.v1.sources.SourceTransportCommand.value: object expected");e.value=$root.sesame.v1.common.PropValue.fromObject(t.value)}return e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.sourceId="",i.cmdType=e.enums===String?"SOURCE_TRANSPORT_CMD_UNSPECIFIED":0,i.value=null),t.sourceId!=null&&t.hasOwnProperty("sourceId")&&(i.sourceId=t.sourceId),t.cmdType!=null&&t.hasOwnProperty("cmdType")&&(i.cmdType=e.enums===String?$root.sesame.v1.sources.SourceTransportCommandType[t.cmdType]===void 0?t.cmdType:$root.sesame.v1.sources.SourceTransportCommandType[t.cmdType]:t.cmdType),t.value!=null&&t.hasOwnProperty("value")&&(i.value=$root.sesame.v1.common.PropValue.toObject(t.value,e)),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.sources.SourceTransportCommand"},n}(),l.LoadPlaylistRequest=function(){function n(t){if(this.items=[],t)for(let e=Object.keys(t),i=0;i<e.length;++i)t[e[i]]!=null&&(this[e[i]]=t[e[i]])}n.prototype.sourceId="",n.prototype.userPlaylistId="",n.prototype.items=$util.emptyArray,n.prototype.startTimeUs=null,n.prototype.startIndex=null,n.prototype.materialPosUs=null;let r;return Object.defineProperty(n.prototype,"_startTimeUs",{get:$util.oneOfGetter(r=["startTimeUs"]),set:$util.oneOfSetter(r)}),Object.defineProperty(n.prototype,"_startIndex",{get:$util.oneOfGetter(r=["startIndex"]),set:$util.oneOfSetter(r)}),Object.defineProperty(n.prototype,"_materialPosUs",{get:$util.oneOfGetter(r=["materialPosUs"]),set:$util.oneOfSetter(r)}),n.create=function(e){return new n(e)},n.encode=function(e,i){if(i||(i=$Writer.create()),e.sourceId!=null&&Object.hasOwnProperty.call(e,"sourceId")&&i.uint32(10).string(e.sourceId),e.userPlaylistId!=null&&Object.hasOwnProperty.call(e,"userPlaylistId")&&i.uint32(18).string(e.userPlaylistId),e.items!=null&&e.items.length)for(let a=0;a<e.items.length;++a)$root.sesame.v1.recorder.PlaylistItem.encode(e.items[a],i.uint32(26).fork()).ldelim();return e.startTimeUs!=null&&Object.hasOwnProperty.call(e,"startTimeUs")&&i.uint32(32).int64(e.startTimeUs),e.startIndex!=null&&Object.hasOwnProperty.call(e,"startIndex")&&i.uint32(40).int64(e.startIndex),e.materialPosUs!=null&&Object.hasOwnProperty.call(e,"materialPosUs")&&i.uint32(48).int64(e.materialPosUs),i},n.encodeDelimited=function(e,i){return this.encode(e,i).ldelim()},n.decode=function(e,i,a){e instanceof $Reader||(e=$Reader.create(e));let s=i===void 0?e.len:e.pos+i,d=new $root.sesame.v1.sources.LoadPlaylistRequest;for(;e.pos<s;){let c=e.uint32();if(c===a)break;switch(c>>>3){case 1:{d.sourceId=e.string();break}case 2:{d.userPlaylistId=e.string();break}case 3:{d.items&&d.items.length||(d.items=[]),d.items.push($root.sesame.v1.recorder.PlaylistItem.decode(e,e.uint32()));break}case 4:{d.startTimeUs=e.int64();break}case 5:{d.startIndex=e.int64();break}case 6:{d.materialPosUs=e.int64();break}default:e.skipType(c&7);break}}return d},n.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},n.verify=function(e){if(typeof e!="object"||e===null)return"object expected";if(e.sourceId!=null&&e.hasOwnProperty("sourceId")&&!$util.isString(e.sourceId))return"sourceId: string expected";if(e.userPlaylistId!=null&&e.hasOwnProperty("userPlaylistId")&&!$util.isString(e.userPlaylistId))return"userPlaylistId: string expected";if(e.items!=null&&e.hasOwnProperty("items")){if(!Array.isArray(e.items))return"items: array expected";for(let i=0;i<e.items.length;++i){let a=$root.sesame.v1.recorder.PlaylistItem.verify(e.items[i]);if(a)return"items."+a}}return e.startTimeUs!=null&&e.hasOwnProperty("startTimeUs")&&!$util.isInteger(e.startTimeUs)&&!(e.startTimeUs&&$util.isInteger(e.startTimeUs.low)&&$util.isInteger(e.startTimeUs.high))?"startTimeUs: integer|Long expected":e.startIndex!=null&&e.hasOwnProperty("startIndex")&&!$util.isInteger(e.startIndex)&&!(e.startIndex&&$util.isInteger(e.startIndex.low)&&$util.isInteger(e.startIndex.high))?"startIndex: integer|Long expected":e.materialPosUs!=null&&e.hasOwnProperty("materialPosUs")&&!$util.isInteger(e.materialPosUs)&&!(e.materialPosUs&&$util.isInteger(e.materialPosUs.low)&&$util.isInteger(e.materialPosUs.high))?"materialPosUs: integer|Long expected":null},n.fromObject=function(e){if(e instanceof $root.sesame.v1.sources.LoadPlaylistRequest)return e;let i=new $root.sesame.v1.sources.LoadPlaylistRequest;if(e.sourceId!=null&&(i.sourceId=String(e.sourceId)),e.userPlaylistId!=null&&(i.userPlaylistId=String(e.userPlaylistId)),e.items){if(!Array.isArray(e.items))throw TypeError(".sesame.v1.sources.LoadPlaylistRequest.items: array expected");i.items=[];for(let a=0;a<e.items.length;++a){if(typeof e.items[a]!="object")throw TypeError(".sesame.v1.sources.LoadPlaylistRequest.items: object expected");i.items[a]=$root.sesame.v1.recorder.PlaylistItem.fromObject(e.items[a])}}return e.startTimeUs!=null&&($util.Long?(i.startTimeUs=$util.Long.fromValue(e.startTimeUs)).unsigned=!1:typeof e.startTimeUs=="string"?i.startTimeUs=parseInt(e.startTimeUs,10):typeof e.startTimeUs=="number"?i.startTimeUs=e.startTimeUs:typeof e.startTimeUs=="object"&&(i.startTimeUs=new $util.LongBits(e.startTimeUs.low>>>0,e.startTimeUs.high>>>0).toNumber())),e.startIndex!=null&&($util.Long?(i.startIndex=$util.Long.fromValue(e.startIndex)).unsigned=!1:typeof e.startIndex=="string"?i.startIndex=parseInt(e.startIndex,10):typeof e.startIndex=="number"?i.startIndex=e.startIndex:typeof e.startIndex=="object"&&(i.startIndex=new $util.LongBits(e.startIndex.low>>>0,e.startIndex.high>>>0).toNumber())),e.materialPosUs!=null&&($util.Long?(i.materialPosUs=$util.Long.fromValue(e.materialPosUs)).unsigned=!1:typeof e.materialPosUs=="string"?i.materialPosUs=parseInt(e.materialPosUs,10):typeof e.materialPosUs=="number"?i.materialPosUs=e.materialPosUs:typeof e.materialPosUs=="object"&&(i.materialPosUs=new $util.LongBits(e.materialPosUs.low>>>0,e.materialPosUs.high>>>0).toNumber())),i},n.toObject=function(e,i){i||(i={});let a={};if((i.arrays||i.defaults)&&(a.items=[]),i.defaults&&(a.sourceId="",a.userPlaylistId=""),e.sourceId!=null&&e.hasOwnProperty("sourceId")&&(a.sourceId=e.sourceId),e.userPlaylistId!=null&&e.hasOwnProperty("userPlaylistId")&&(a.userPlaylistId=e.userPlaylistId),e.items&&e.items.length){a.items=[];for(let s=0;s<e.items.length;++s)a.items[s]=$root.sesame.v1.recorder.PlaylistItem.toObject(e.items[s],i)}return e.startTimeUs!=null&&e.hasOwnProperty("startTimeUs")&&(typeof e.startTimeUs=="number"?a.startTimeUs=i.longs===String?String(e.startTimeUs):e.startTimeUs:a.startTimeUs=i.longs===String?$util.Long.prototype.toString.call(e.startTimeUs):i.longs===Number?new $util.LongBits(e.startTimeUs.low>>>0,e.startTimeUs.high>>>0).toNumber():e.startTimeUs,i.oneofs&&(a._startTimeUs="startTimeUs")),e.startIndex!=null&&e.hasOwnProperty("startIndex")&&(typeof e.startIndex=="number"?a.startIndex=i.longs===String?String(e.startIndex):e.startIndex:a.startIndex=i.longs===String?$util.Long.prototype.toString.call(e.startIndex):i.longs===Number?new $util.LongBits(e.startIndex.low>>>0,e.startIndex.high>>>0).toNumber():e.startIndex,i.oneofs&&(a._startIndex="startIndex")),e.materialPosUs!=null&&e.hasOwnProperty("materialPosUs")&&(typeof e.materialPosUs=="number"?a.materialPosUs=i.longs===String?String(e.materialPosUs):e.materialPosUs:a.materialPosUs=i.longs===String?$util.Long.prototype.toString.call(e.materialPosUs):i.longs===Number?new $util.LongBits(e.materialPosUs.low>>>0,e.materialPosUs.high>>>0).toNumber():e.materialPosUs,i.oneofs&&(a._materialPosUs="materialPosUs")),a},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/sesame.v1.sources.LoadPlaylistRequest"},n}(),l.EjectPlaylistRequest=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.sourceId="",n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.sourceId!=null&&Object.hasOwnProperty.call(t,"sourceId")&&e.uint32(10).string(t.sourceId),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.sources.EjectPlaylistRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.sourceId=t.string();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.sourceId!=null&&t.hasOwnProperty("sourceId")&&!$util.isString(t.sourceId)?"sourceId: string expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.sources.EjectPlaylistRequest)return t;let e=new $root.sesame.v1.sources.EjectPlaylistRequest;return t.sourceId!=null&&(e.sourceId=String(t.sourceId)),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.sourceId=""),t.sourceId!=null&&t.hasOwnProperty("sourceId")&&(i.sourceId=t.sourceId),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.sources.EjectPlaylistRequest"},n}(),l.TransportControlRequest=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.cmdType=0,n.prototype.value=null,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.cmdType!=null&&Object.hasOwnProperty.call(t,"cmdType")&&e.uint32(8).int32(t.cmdType),t.value!=null&&Object.hasOwnProperty.call(t,"value")&&$root.sesame.v1.common.PropValue.encode(t.value,e.uint32(18).fork()).ldelim(),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.sources.TransportControlRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.cmdType=t.int32();break}case 2:{s.value=$root.sesame.v1.common.PropValue.decode(t,t.uint32());break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.cmdType!=null&&t.hasOwnProperty("cmdType"))switch(t.cmdType){default:return"cmdType: enum value expected";case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:break}if(t.value!=null&&t.hasOwnProperty("value")){let e=$root.sesame.v1.common.PropValue.verify(t.value);if(e)return"value."+e}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.sources.TransportControlRequest)return t;let e=new $root.sesame.v1.sources.TransportControlRequest;switch(t.cmdType){default:if(typeof t.cmdType=="number"){e.cmdType=t.cmdType;break}break;case"SOURCE_TRANSPORT_CMD_UNSPECIFIED":case 0:e.cmdType=0;break;case"SOURCE_TRANSPORT_CMD_STOP":case 1:e.cmdType=1;break;case"SOURCE_TRANSPORT_CMD_PLAY":case 2:e.cmdType=2;break;case"SOURCE_TRANSPORT_CMD_SEEK":case 3:e.cmdType=3;break;case"SOURCE_TRANSPORT_CMD_LOOP":case 4:e.cmdType=4;break;case"SOURCE_TRANSPORT_CMD_LIVE":case 5:e.cmdType=5;break;case"SOURCE_TRANSPORT_CMD_JOG":case 6:e.cmdType=6;break;case"SOURCE_TRANSPORT_CMD_MONITOR":case 7:e.cmdType=7;break;case"SOURCE_TRANSPORT_CMD_SEEK_USER_TIME":case 8:e.cmdType=8;break;case"SOURCE_TRANSPORT_CMD_TAKE":case 9:e.cmdType=9;break;case"SOURCE_TRANSPORT_CMD_POST_ROLL":case 10:e.cmdType=10;break;case"SOURCE_TRANSPORT_CMD_PRE_ROLL":case 11:e.cmdType=11;break;case"SOURCE_TRANSPORT_CMD_NEXT":case 12:e.cmdType=12;break;case"SOURCE_TRANSPORT_CMD_SKIP_NEXT":case 13:e.cmdType=13;break;case"SOURCE_TRANSPORT_CMD_TRANSITIONS_DISABLED":case 14:e.cmdType=14;break;case"SOURCE_TRANSPORT_CMD_SET_SCRUBBING":case 15:e.cmdType=15;break}if(t.value!=null){if(typeof t.value!="object")throw TypeError(".sesame.v1.sources.TransportControlRequest.value: object expected");e.value=$root.sesame.v1.common.PropValue.fromObject(t.value)}return e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.cmdType=e.enums===String?"SOURCE_TRANSPORT_CMD_UNSPECIFIED":0,i.value=null),t.cmdType!=null&&t.hasOwnProperty("cmdType")&&(i.cmdType=e.enums===String?$root.sesame.v1.sources.SourceTransportCommandType[t.cmdType]===void 0?t.cmdType:$root.sesame.v1.sources.SourceTransportCommandType[t.cmdType]:t.cmdType),t.value!=null&&t.hasOwnProperty("value")&&(i.value=$root.sesame.v1.common.PropValue.toObject(t.value,e)),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.sources.TransportControlRequest"},n}(),l}(),o.recorder=function(){const l={};return l.TransitionType=function(){const n={},r=Object.create(n);return r[n[0]="TRANSITION_TYPE_MIX"]=0,r[n[1]="TRANSITION_TYPE_FADE_TO_COLOR"]=1,r[n[2]="TRANSITION_TYPE_FADE_FROM_COLOR"]=2,r[n[3]="TRANSITION_TYPE_FADE_TO_FROM_COLOR"]=3,r}(),l.RecorderClip=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.id=$util.Long?$util.Long.fromBits(0,0,!0):0,n.prototype.name="",n.prototype.userData="",n.prototype.flags=$util.Long?$util.Long.fromBits(0,0,!0):0,n.prototype.startTimeUs=$util.Long?$util.Long.fromBits(0,0,!1):0,n.prototype.endTimeUs=$util.Long?$util.Long.fromBits(0,0,!1):0,n.prototype.lockedStartUs=$util.Long?$util.Long.fromBits(0,0,!1):0,n.prototype.lockedEndUs=$util.Long?$util.Long.fromBits(0,0,!1):0,n.prototype.userTimeUs=$util.Long?$util.Long.fromBits(0,0,!1):0,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.id!=null&&Object.hasOwnProperty.call(t,"id")&&e.uint32(8).uint64(t.id),t.name!=null&&Object.hasOwnProperty.call(t,"name")&&e.uint32(18).string(t.name),t.userData!=null&&Object.hasOwnProperty.call(t,"userData")&&e.uint32(26).string(t.userData),t.flags!=null&&Object.hasOwnProperty.call(t,"flags")&&e.uint32(32).uint64(t.flags),t.startTimeUs!=null&&Object.hasOwnProperty.call(t,"startTimeUs")&&e.uint32(40).int64(t.startTimeUs),t.endTimeUs!=null&&Object.hasOwnProperty.call(t,"endTimeUs")&&e.uint32(48).int64(t.endTimeUs),t.lockedStartUs!=null&&Object.hasOwnProperty.call(t,"lockedStartUs")&&e.uint32(56).int64(t.lockedStartUs),t.lockedEndUs!=null&&Object.hasOwnProperty.call(t,"lockedEndUs")&&e.uint32(64).int64(t.lockedEndUs),t.userTimeUs!=null&&Object.hasOwnProperty.call(t,"userTimeUs")&&e.uint32(72).int64(t.userTimeUs),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.recorder.RecorderClip;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.id=t.uint64();break}case 2:{s.name=t.string();break}case 3:{s.userData=t.string();break}case 4:{s.flags=t.uint64();break}case 5:{s.startTimeUs=t.int64();break}case 6:{s.endTimeUs=t.int64();break}case 7:{s.lockedStartUs=t.int64();break}case 8:{s.lockedEndUs=t.int64();break}case 9:{s.userTimeUs=t.int64();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.id!=null&&t.hasOwnProperty("id")&&!$util.isInteger(t.id)&&!(t.id&&$util.isInteger(t.id.low)&&$util.isInteger(t.id.high))?"id: integer|Long expected":t.name!=null&&t.hasOwnProperty("name")&&!$util.isString(t.name)?"name: string expected":t.userData!=null&&t.hasOwnProperty("userData")&&!$util.isString(t.userData)?"userData: string expected":t.flags!=null&&t.hasOwnProperty("flags")&&!$util.isInteger(t.flags)&&!(t.flags&&$util.isInteger(t.flags.low)&&$util.isInteger(t.flags.high))?"flags: integer|Long expected":t.startTimeUs!=null&&t.hasOwnProperty("startTimeUs")&&!$util.isInteger(t.startTimeUs)&&!(t.startTimeUs&&$util.isInteger(t.startTimeUs.low)&&$util.isInteger(t.startTimeUs.high))?"startTimeUs: integer|Long expected":t.endTimeUs!=null&&t.hasOwnProperty("endTimeUs")&&!$util.isInteger(t.endTimeUs)&&!(t.endTimeUs&&$util.isInteger(t.endTimeUs.low)&&$util.isInteger(t.endTimeUs.high))?"endTimeUs: integer|Long expected":t.lockedStartUs!=null&&t.hasOwnProperty("lockedStartUs")&&!$util.isInteger(t.lockedStartUs)&&!(t.lockedStartUs&&$util.isInteger(t.lockedStartUs.low)&&$util.isInteger(t.lockedStartUs.high))?"lockedStartUs: integer|Long expected":t.lockedEndUs!=null&&t.hasOwnProperty("lockedEndUs")&&!$util.isInteger(t.lockedEndUs)&&!(t.lockedEndUs&&$util.isInteger(t.lockedEndUs.low)&&$util.isInteger(t.lockedEndUs.high))?"lockedEndUs: integer|Long expected":t.userTimeUs!=null&&t.hasOwnProperty("userTimeUs")&&!$util.isInteger(t.userTimeUs)&&!(t.userTimeUs&&$util.isInteger(t.userTimeUs.low)&&$util.isInteger(t.userTimeUs.high))?"userTimeUs: integer|Long expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.recorder.RecorderClip)return t;let e=new $root.sesame.v1.recorder.RecorderClip;return t.id!=null&&($util.Long?(e.id=$util.Long.fromValue(t.id)).unsigned=!0:typeof t.id=="string"?e.id=parseInt(t.id,10):typeof t.id=="number"?e.id=t.id:typeof t.id=="object"&&(e.id=new $util.LongBits(t.id.low>>>0,t.id.high>>>0).toNumber(!0))),t.name!=null&&(e.name=String(t.name)),t.userData!=null&&(e.userData=String(t.userData)),t.flags!=null&&($util.Long?(e.flags=$util.Long.fromValue(t.flags)).unsigned=!0:typeof t.flags=="string"?e.flags=parseInt(t.flags,10):typeof t.flags=="number"?e.flags=t.flags:typeof t.flags=="object"&&(e.flags=new $util.LongBits(t.flags.low>>>0,t.flags.high>>>0).toNumber(!0))),t.startTimeUs!=null&&($util.Long?(e.startTimeUs=$util.Long.fromValue(t.startTimeUs)).unsigned=!1:typeof t.startTimeUs=="string"?e.startTimeUs=parseInt(t.startTimeUs,10):typeof t.startTimeUs=="number"?e.startTimeUs=t.startTimeUs:typeof t.startTimeUs=="object"&&(e.startTimeUs=new $util.LongBits(t.startTimeUs.low>>>0,t.startTimeUs.high>>>0).toNumber())),t.endTimeUs!=null&&($util.Long?(e.endTimeUs=$util.Long.fromValue(t.endTimeUs)).unsigned=!1:typeof t.endTimeUs=="string"?e.endTimeUs=parseInt(t.endTimeUs,10):typeof t.endTimeUs=="number"?e.endTimeUs=t.endTimeUs:typeof t.endTimeUs=="object"&&(e.endTimeUs=new $util.LongBits(t.endTimeUs.low>>>0,t.endTimeUs.high>>>0).toNumber())),t.lockedStartUs!=null&&($util.Long?(e.lockedStartUs=$util.Long.fromValue(t.lockedStartUs)).unsigned=!1:typeof t.lockedStartUs=="string"?e.lockedStartUs=parseInt(t.lockedStartUs,10):typeof t.lockedStartUs=="number"?e.lockedStartUs=t.lockedStartUs:typeof t.lockedStartUs=="object"&&(e.lockedStartUs=new $util.LongBits(t.lockedStartUs.low>>>0,t.lockedStartUs.high>>>0).toNumber())),t.lockedEndUs!=null&&($util.Long?(e.lockedEndUs=$util.Long.fromValue(t.lockedEndUs)).unsigned=!1:typeof t.lockedEndUs=="string"?e.lockedEndUs=parseInt(t.lockedEndUs,10):typeof t.lockedEndUs=="number"?e.lockedEndUs=t.lockedEndUs:typeof t.lockedEndUs=="object"&&(e.lockedEndUs=new $util.LongBits(t.lockedEndUs.low>>>0,t.lockedEndUs.high>>>0).toNumber())),t.userTimeUs!=null&&($util.Long?(e.userTimeUs=$util.Long.fromValue(t.userTimeUs)).unsigned=!1:typeof t.userTimeUs=="string"?e.userTimeUs=parseInt(t.userTimeUs,10):typeof t.userTimeUs=="number"?e.userTimeUs=t.userTimeUs:typeof t.userTimeUs=="object"&&(e.userTimeUs=new $util.LongBits(t.userTimeUs.low>>>0,t.userTimeUs.high>>>0).toNumber())),e},n.toObject=function(t,e){e||(e={});let i={};if(e.defaults){if($util.Long){let a=new $util.Long(0,0,!0);i.id=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.id=e.longs===String?"0":0;if(i.name="",i.userData="",$util.Long){let a=new $util.Long(0,0,!0);i.flags=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.flags=e.longs===String?"0":0;if($util.Long){let a=new $util.Long(0,0,!1);i.startTimeUs=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.startTimeUs=e.longs===String?"0":0;if($util.Long){let a=new $util.Long(0,0,!1);i.endTimeUs=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.endTimeUs=e.longs===String?"0":0;if($util.Long){let a=new $util.Long(0,0,!1);i.lockedStartUs=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.lockedStartUs=e.longs===String?"0":0;if($util.Long){let a=new $util.Long(0,0,!1);i.lockedEndUs=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.lockedEndUs=e.longs===String?"0":0;if($util.Long){let a=new $util.Long(0,0,!1);i.userTimeUs=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.userTimeUs=e.longs===String?"0":0}return t.id!=null&&t.hasOwnProperty("id")&&(typeof t.id=="number"?i.id=e.longs===String?String(t.id):t.id:i.id=e.longs===String?$util.Long.prototype.toString.call(t.id):e.longs===Number?new $util.LongBits(t.id.low>>>0,t.id.high>>>0).toNumber(!0):t.id),t.name!=null&&t.hasOwnProperty("name")&&(i.name=t.name),t.userData!=null&&t.hasOwnProperty("userData")&&(i.userData=t.userData),t.flags!=null&&t.hasOwnProperty("flags")&&(typeof t.flags=="number"?i.flags=e.longs===String?String(t.flags):t.flags:i.flags=e.longs===String?$util.Long.prototype.toString.call(t.flags):e.longs===Number?new $util.LongBits(t.flags.low>>>0,t.flags.high>>>0).toNumber(!0):t.flags),t.startTimeUs!=null&&t.hasOwnProperty("startTimeUs")&&(typeof t.startTimeUs=="number"?i.startTimeUs=e.longs===String?String(t.startTimeUs):t.startTimeUs:i.startTimeUs=e.longs===String?$util.Long.prototype.toString.call(t.startTimeUs):e.longs===Number?new $util.LongBits(t.startTimeUs.low>>>0,t.startTimeUs.high>>>0).toNumber():t.startTimeUs),t.endTimeUs!=null&&t.hasOwnProperty("endTimeUs")&&(typeof t.endTimeUs=="number"?i.endTimeUs=e.longs===String?String(t.endTimeUs):t.endTimeUs:i.endTimeUs=e.longs===String?$util.Long.prototype.toString.call(t.endTimeUs):e.longs===Number?new $util.LongBits(t.endTimeUs.low>>>0,t.endTimeUs.high>>>0).toNumber():t.endTimeUs),t.lockedStartUs!=null&&t.hasOwnProperty("lockedStartUs")&&(typeof t.lockedStartUs=="number"?i.lockedStartUs=e.longs===String?String(t.lockedStartUs):t.lockedStartUs:i.lockedStartUs=e.longs===String?$util.Long.prototype.toString.call(t.lockedStartUs):e.longs===Number?new $util.LongBits(t.lockedStartUs.low>>>0,t.lockedStartUs.high>>>0).toNumber():t.lockedStartUs),t.lockedEndUs!=null&&t.hasOwnProperty("lockedEndUs")&&(typeof t.lockedEndUs=="number"?i.lockedEndUs=e.longs===String?String(t.lockedEndUs):t.lockedEndUs:i.lockedEndUs=e.longs===String?$util.Long.prototype.toString.call(t.lockedEndUs):e.longs===Number?new $util.LongBits(t.lockedEndUs.low>>>0,t.lockedEndUs.high>>>0).toNumber():t.lockedEndUs),t.userTimeUs!=null&&t.hasOwnProperty("userTimeUs")&&(typeof t.userTimeUs=="number"?i.userTimeUs=e.longs===String?String(t.userTimeUs):t.userTimeUs:i.userTimeUs=e.longs===String?$util.Long.prototype.toString.call(t.userTimeUs):e.longs===Number?new $util.LongBits(t.userTimeUs.low>>>0,t.userTimeUs.high>>>0).toNumber():t.userTimeUs),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.recorder.RecorderClip"},n}(),l.PlaylistItem=function(){function n(t){if(this.audioRouting=[],this.audioLevels=[],t)for(let e=Object.keys(t),i=0;i<e.length;++i)t[e[i]]!=null&&(this[e[i]]=t[e[i]])}n.prototype.recorderId="",n.prototype.id=$util.Long?$util.Long.fromBits(0,0,!0):0,n.prototype.transitionTimeUs=$util.Long?$util.Long.fromBits(0,0,!1):0,n.prototype.transitionType=0,n.prototype.transitionFadeColor=null,n.prototype.speed=0,n.prototype.audioRouting=$util.emptyArray,n.prototype.startTimeUs=null,n.prototype.endTimeUs=null,n.prototype.audioLevels=$util.emptyArray;let r;return Object.defineProperty(n.prototype,"_startTimeUs",{get:$util.oneOfGetter(r=["startTimeUs"]),set:$util.oneOfSetter(r)}),Object.defineProperty(n.prototype,"_endTimeUs",{get:$util.oneOfGetter(r=["endTimeUs"]),set:$util.oneOfSetter(r)}),n.create=function(e){return new n(e)},n.encode=function(e,i){if(i||(i=$Writer.create()),e.recorderId!=null&&Object.hasOwnProperty.call(e,"recorderId")&&i.uint32(10).string(e.recorderId),e.id!=null&&Object.hasOwnProperty.call(e,"id")&&i.uint32(16).uint64(e.id),e.transitionTimeUs!=null&&Object.hasOwnProperty.call(e,"transitionTimeUs")&&i.uint32(24).int64(e.transitionTimeUs),e.transitionType!=null&&Object.hasOwnProperty.call(e,"transitionType")&&i.uint32(32).int32(e.transitionType),e.transitionFadeColor!=null&&Object.hasOwnProperty.call(e,"transitionFadeColor")&&$root.sesame.v1.common.Vec4.encode(e.transitionFadeColor,i.uint32(42).fork()).ldelim(),e.speed!=null&&Object.hasOwnProperty.call(e,"speed")&&i.uint32(53).float(e.speed),e.audioRouting!=null&&e.audioRouting.length){i.uint32(58).fork();for(let a=0;a<e.audioRouting.length;++a)i.uint32(e.audioRouting[a]);i.ldelim()}if(e.startTimeUs!=null&&Object.hasOwnProperty.call(e,"startTimeUs")&&i.uint32(64).int64(e.startTimeUs),e.endTimeUs!=null&&Object.hasOwnProperty.call(e,"endTimeUs")&&i.uint32(72).int64(e.endTimeUs),e.audioLevels!=null&&e.audioLevels.length){i.uint32(82).fork();for(let a=0;a<e.audioLevels.length;++a)i.float(e.audioLevels[a]);i.ldelim()}return i},n.encodeDelimited=function(e,i){return this.encode(e,i).ldelim()},n.decode=function(e,i,a){e instanceof $Reader||(e=$Reader.create(e));let s=i===void 0?e.len:e.pos+i,d=new $root.sesame.v1.recorder.PlaylistItem;for(;e.pos<s;){let c=e.uint32();if(c===a)break;switch(c>>>3){case 1:{d.recorderId=e.string();break}case 2:{d.id=e.uint64();break}case 3:{d.transitionTimeUs=e.int64();break}case 4:{d.transitionType=e.int32();break}case 5:{d.transitionFadeColor=$root.sesame.v1.common.Vec4.decode(e,e.uint32());break}case 6:{d.speed=e.float();break}case 7:{if(d.audioRouting&&d.audioRouting.length||(d.audioRouting=[]),(c&7)===2){let F=e.uint32()+e.pos;for(;e.pos<F;)d.audioRouting.push(e.uint32())}else d.audioRouting.push(e.uint32());break}case 8:{d.startTimeUs=e.int64();break}case 9:{d.endTimeUs=e.int64();break}case 10:{if(d.audioLevels&&d.audioLevels.length||(d.audioLevels=[]),(c&7)===2){let F=e.uint32()+e.pos;for(;e.pos<F;)d.audioLevels.push(e.float())}else d.audioLevels.push(e.float());break}default:e.skipType(c&7);break}}return d},n.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},n.verify=function(e){if(typeof e!="object"||e===null)return"object expected";if(e.recorderId!=null&&e.hasOwnProperty("recorderId")&&!$util.isString(e.recorderId))return"recorderId: string expected";if(e.id!=null&&e.hasOwnProperty("id")&&!$util.isInteger(e.id)&&!(e.id&&$util.isInteger(e.id.low)&&$util.isInteger(e.id.high)))return"id: integer|Long expected";if(e.transitionTimeUs!=null&&e.hasOwnProperty("transitionTimeUs")&&!$util.isInteger(e.transitionTimeUs)&&!(e.transitionTimeUs&&$util.isInteger(e.transitionTimeUs.low)&&$util.isInteger(e.transitionTimeUs.high)))return"transitionTimeUs: integer|Long expected";if(e.transitionType!=null&&e.hasOwnProperty("transitionType"))switch(e.transitionType){default:return"transitionType: enum value expected";case 0:case 1:case 2:case 3:break}if(e.transitionFadeColor!=null&&e.hasOwnProperty("transitionFadeColor")){let i=$root.sesame.v1.common.Vec4.verify(e.transitionFadeColor);if(i)return"transitionFadeColor."+i}if(e.speed!=null&&e.hasOwnProperty("speed")&&typeof e.speed!="number")return"speed: number expected";if(e.audioRouting!=null&&e.hasOwnProperty("audioRouting")){if(!Array.isArray(e.audioRouting))return"audioRouting: array expected";for(let i=0;i<e.audioRouting.length;++i)if(!$util.isInteger(e.audioRouting[i]))return"audioRouting: integer[] expected"}if(e.startTimeUs!=null&&e.hasOwnProperty("startTimeUs")&&!$util.isInteger(e.startTimeUs)&&!(e.startTimeUs&&$util.isInteger(e.startTimeUs.low)&&$util.isInteger(e.startTimeUs.high)))return"startTimeUs: integer|Long expected";if(e.endTimeUs!=null&&e.hasOwnProperty("endTimeUs")&&!$util.isInteger(e.endTimeUs)&&!(e.endTimeUs&&$util.isInteger(e.endTimeUs.low)&&$util.isInteger(e.endTimeUs.high)))return"endTimeUs: integer|Long expected";if(e.audioLevels!=null&&e.hasOwnProperty("audioLevels")){if(!Array.isArray(e.audioLevels))return"audioLevels: array expected";for(let i=0;i<e.audioLevels.length;++i)if(typeof e.audioLevels[i]!="number")return"audioLevels: number[] expected"}return null},n.fromObject=function(e){if(e instanceof $root.sesame.v1.recorder.PlaylistItem)return e;let i=new $root.sesame.v1.recorder.PlaylistItem;switch(e.recorderId!=null&&(i.recorderId=String(e.recorderId)),e.id!=null&&($util.Long?(i.id=$util.Long.fromValue(e.id)).unsigned=!0:typeof e.id=="string"?i.id=parseInt(e.id,10):typeof e.id=="number"?i.id=e.id:typeof e.id=="object"&&(i.id=new $util.LongBits(e.id.low>>>0,e.id.high>>>0).toNumber(!0))),e.transitionTimeUs!=null&&($util.Long?(i.transitionTimeUs=$util.Long.fromValue(e.transitionTimeUs)).unsigned=!1:typeof e.transitionTimeUs=="string"?i.transitionTimeUs=parseInt(e.transitionTimeUs,10):typeof e.transitionTimeUs=="number"?i.transitionTimeUs=e.transitionTimeUs:typeof e.transitionTimeUs=="object"&&(i.transitionTimeUs=new $util.LongBits(e.transitionTimeUs.low>>>0,e.transitionTimeUs.high>>>0).toNumber())),e.transitionType){default:if(typeof e.transitionType=="number"){i.transitionType=e.transitionType;break}break;case"TRANSITION_TYPE_MIX":case 0:i.transitionType=0;break;case"TRANSITION_TYPE_FADE_TO_COLOR":case 1:i.transitionType=1;break;case"TRANSITION_TYPE_FADE_FROM_COLOR":case 2:i.transitionType=2;break;case"TRANSITION_TYPE_FADE_TO_FROM_COLOR":case 3:i.transitionType=3;break}if(e.transitionFadeColor!=null){if(typeof e.transitionFadeColor!="object")throw TypeError(".sesame.v1.recorder.PlaylistItem.transitionFadeColor: object expected");i.transitionFadeColor=$root.sesame.v1.common.Vec4.fromObject(e.transitionFadeColor)}if(e.speed!=null&&(i.speed=Number(e.speed)),e.audioRouting){if(!Array.isArray(e.audioRouting))throw TypeError(".sesame.v1.recorder.PlaylistItem.audioRouting: array expected");i.audioRouting=[];for(let a=0;a<e.audioRouting.length;++a)i.audioRouting[a]=e.audioRouting[a]>>>0}if(e.startTimeUs!=null&&($util.Long?(i.startTimeUs=$util.Long.fromValue(e.startTimeUs)).unsigned=!1:typeof e.startTimeUs=="string"?i.startTimeUs=parseInt(e.startTimeUs,10):typeof e.startTimeUs=="number"?i.startTimeUs=e.startTimeUs:typeof e.startTimeUs=="object"&&(i.startTimeUs=new $util.LongBits(e.startTimeUs.low>>>0,e.startTimeUs.high>>>0).toNumber())),e.endTimeUs!=null&&($util.Long?(i.endTimeUs=$util.Long.fromValue(e.endTimeUs)).unsigned=!1:typeof e.endTimeUs=="string"?i.endTimeUs=parseInt(e.endTimeUs,10):typeof e.endTimeUs=="number"?i.endTimeUs=e.endTimeUs:typeof e.endTimeUs=="object"&&(i.endTimeUs=new $util.LongBits(e.endTimeUs.low>>>0,e.endTimeUs.high>>>0).toNumber())),e.audioLevels){if(!Array.isArray(e.audioLevels))throw TypeError(".sesame.v1.recorder.PlaylistItem.audioLevels: array expected");i.audioLevels=[];for(let a=0;a<e.audioLevels.length;++a)i.audioLevels[a]=Number(e.audioLevels[a])}return i},n.toObject=function(e,i){i||(i={});let a={};if((i.arrays||i.defaults)&&(a.audioRouting=[],a.audioLevels=[]),i.defaults){if(a.recorderId="",$util.Long){let s=new $util.Long(0,0,!0);a.id=i.longs===String?s.toString():i.longs===Number?s.toNumber():s}else a.id=i.longs===String?"0":0;if($util.Long){let s=new $util.Long(0,0,!1);a.transitionTimeUs=i.longs===String?s.toString():i.longs===Number?s.toNumber():s}else a.transitionTimeUs=i.longs===String?"0":0;a.transitionType=i.enums===String?"TRANSITION_TYPE_MIX":0,a.transitionFadeColor=null,a.speed=0}if(e.recorderId!=null&&e.hasOwnProperty("recorderId")&&(a.recorderId=e.recorderId),e.id!=null&&e.hasOwnProperty("id")&&(typeof e.id=="number"?a.id=i.longs===String?String(e.id):e.id:a.id=i.longs===String?$util.Long.prototype.toString.call(e.id):i.longs===Number?new $util.LongBits(e.id.low>>>0,e.id.high>>>0).toNumber(!0):e.id),e.transitionTimeUs!=null&&e.hasOwnProperty("transitionTimeUs")&&(typeof e.transitionTimeUs=="number"?a.transitionTimeUs=i.longs===String?String(e.transitionTimeUs):e.transitionTimeUs:a.transitionTimeUs=i.longs===String?$util.Long.prototype.toString.call(e.transitionTimeUs):i.longs===Number?new $util.LongBits(e.transitionTimeUs.low>>>0,e.transitionTimeUs.high>>>0).toNumber():e.transitionTimeUs),e.transitionType!=null&&e.hasOwnProperty("transitionType")&&(a.transitionType=i.enums===String?$root.sesame.v1.recorder.TransitionType[e.transitionType]===void 0?e.transitionType:$root.sesame.v1.recorder.TransitionType[e.transitionType]:e.transitionType),e.transitionFadeColor!=null&&e.hasOwnProperty("transitionFadeColor")&&(a.transitionFadeColor=$root.sesame.v1.common.Vec4.toObject(e.transitionFadeColor,i)),e.speed!=null&&e.hasOwnProperty("speed")&&(a.speed=i.json&&!isFinite(e.speed)?String(e.speed):e.speed),e.audioRouting&&e.audioRouting.length){a.audioRouting=[];for(let s=0;s<e.audioRouting.length;++s)a.audioRouting[s]=e.audioRouting[s]}if(e.startTimeUs!=null&&e.hasOwnProperty("startTimeUs")&&(typeof e.startTimeUs=="number"?a.startTimeUs=i.longs===String?String(e.startTimeUs):e.startTimeUs:a.startTimeUs=i.longs===String?$util.Long.prototype.toString.call(e.startTimeUs):i.longs===Number?new $util.LongBits(e.startTimeUs.low>>>0,e.startTimeUs.high>>>0).toNumber():e.startTimeUs,i.oneofs&&(a._startTimeUs="startTimeUs")),e.endTimeUs!=null&&e.hasOwnProperty("endTimeUs")&&(typeof e.endTimeUs=="number"?a.endTimeUs=i.longs===String?String(e.endTimeUs):e.endTimeUs:a.endTimeUs=i.longs===String?$util.Long.prototype.toString.call(e.endTimeUs):i.longs===Number?new $util.LongBits(e.endTimeUs.low>>>0,e.endTimeUs.high>>>0).toNumber():e.endTimeUs,i.oneofs&&(a._endTimeUs="endTimeUs")),e.audioLevels&&e.audioLevels.length){a.audioLevels=[];for(let s=0;s<e.audioLevels.length;++s)a.audioLevels[s]=i.json&&!isFinite(e.audioLevels[s])?String(e.audioLevels[s]):e.audioLevels[s]}return a},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/sesame.v1.recorder.PlaylistItem"},n}(),l.RecorderClipRange=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.low=$util.Long?$util.Long.fromBits(0,0,!0):0,n.prototype.high=$util.Long?$util.Long.fromBits(0,0,!0):0,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.low!=null&&Object.hasOwnProperty.call(t,"low")&&e.uint32(8).uint64(t.low),t.high!=null&&Object.hasOwnProperty.call(t,"high")&&e.uint32(16).uint64(t.high),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.recorder.RecorderClipRange;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.low=t.uint64();break}case 2:{s.high=t.uint64();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.low!=null&&t.hasOwnProperty("low")&&!$util.isInteger(t.low)&&!(t.low&&$util.isInteger(t.low.low)&&$util.isInteger(t.low.high))?"low: integer|Long expected":t.high!=null&&t.hasOwnProperty("high")&&!$util.isInteger(t.high)&&!(t.high&&$util.isInteger(t.high.low)&&$util.isInteger(t.high.high))?"high: integer|Long expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.recorder.RecorderClipRange)return t;let e=new $root.sesame.v1.recorder.RecorderClipRange;return t.low!=null&&($util.Long?(e.low=$util.Long.fromValue(t.low)).unsigned=!0:typeof t.low=="string"?e.low=parseInt(t.low,10):typeof t.low=="number"?e.low=t.low:typeof t.low=="object"&&(e.low=new $util.LongBits(t.low.low>>>0,t.low.high>>>0).toNumber(!0))),t.high!=null&&($util.Long?(e.high=$util.Long.fromValue(t.high)).unsigned=!0:typeof t.high=="string"?e.high=parseInt(t.high,10):typeof t.high=="number"?e.high=t.high:typeof t.high=="object"&&(e.high=new $util.LongBits(t.high.low>>>0,t.high.high>>>0).toNumber(!0))),e},n.toObject=function(t,e){e||(e={});let i={};if(e.defaults){if($util.Long){let a=new $util.Long(0,0,!0);i.low=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.low=e.longs===String?"0":0;if($util.Long){let a=new $util.Long(0,0,!0);i.high=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.high=e.longs===String?"0":0}return t.low!=null&&t.hasOwnProperty("low")&&(typeof t.low=="number"?i.low=e.longs===String?String(t.low):t.low:i.low=e.longs===String?$util.Long.prototype.toString.call(t.low):e.longs===Number?new $util.LongBits(t.low.low>>>0,t.low.high>>>0).toNumber(!0):t.low),t.high!=null&&t.hasOwnProperty("high")&&(typeof t.high=="number"?i.high=e.longs===String?String(t.high):t.high:i.high=e.longs===String?$util.Long.prototype.toString.call(t.high):e.longs===Number?new $util.LongBits(t.high.low>>>0,t.high.high>>>0).toNumber(!0):t.high),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.recorder.RecorderClipRange"},n}(),l.RecorderClipsGetRequest=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.recorder.RecorderClipsGetRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":null},n.fromObject=function(t){return t instanceof $root.sesame.v1.recorder.RecorderClipsGetRequest?t:new $root.sesame.v1.recorder.RecorderClipsGetRequest},n.toObject=function(){return{}},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.recorder.RecorderClipsGetRequest"},n}(),l.RecorderClipsGetResponse=function(){function n(r){if(this.clips=[],r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.clips=$util.emptyArray,n.create=function(t){return new n(t)},n.encode=function(t,e){if(e||(e=$Writer.create()),t.clips!=null&&t.clips.length)for(let i=0;i<t.clips.length;++i)$root.sesame.v1.recorder.RecorderClip.encode(t.clips[i],e.uint32(10).fork()).ldelim();return e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.recorder.RecorderClipsGetResponse;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.clips&&s.clips.length||(s.clips=[]),s.clips.push($root.sesame.v1.recorder.RecorderClip.decode(t,t.uint32()));break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.clips!=null&&t.hasOwnProperty("clips")){if(!Array.isArray(t.clips))return"clips: array expected";for(let e=0;e<t.clips.length;++e){let i=$root.sesame.v1.recorder.RecorderClip.verify(t.clips[e]);if(i)return"clips."+i}}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.recorder.RecorderClipsGetResponse)return t;let e=new $root.sesame.v1.recorder.RecorderClipsGetResponse;if(t.clips){if(!Array.isArray(t.clips))throw TypeError(".sesame.v1.recorder.RecorderClipsGetResponse.clips: array expected");e.clips=[];for(let i=0;i<t.clips.length;++i){if(typeof t.clips[i]!="object")throw TypeError(".sesame.v1.recorder.RecorderClipsGetResponse.clips: object expected");e.clips[i]=$root.sesame.v1.recorder.RecorderClip.fromObject(t.clips[i])}}return e},n.toObject=function(t,e){e||(e={});let i={};if((e.arrays||e.defaults)&&(i.clips=[]),t.clips&&t.clips.length){i.clips=[];for(let a=0;a<t.clips.length;++a)i.clips[a]=$root.sesame.v1.recorder.RecorderClip.toObject(t.clips[a],e)}return i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.recorder.RecorderClipsGetResponse"},n}(),l.RecorderClipAddRequest=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.clip=null,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.clip!=null&&Object.hasOwnProperty.call(t,"clip")&&$root.sesame.v1.recorder.RecorderClip.encode(t.clip,e.uint32(10).fork()).ldelim(),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.recorder.RecorderClipAddRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.clip=$root.sesame.v1.recorder.RecorderClip.decode(t,t.uint32());break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.clip!=null&&t.hasOwnProperty("clip")){let e=$root.sesame.v1.recorder.RecorderClip.verify(t.clip);if(e)return"clip."+e}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.recorder.RecorderClipAddRequest)return t;let e=new $root.sesame.v1.recorder.RecorderClipAddRequest;if(t.clip!=null){if(typeof t.clip!="object")throw TypeError(".sesame.v1.recorder.RecorderClipAddRequest.clip: object expected");e.clip=$root.sesame.v1.recorder.RecorderClip.fromObject(t.clip)}return e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.clip=null),t.clip!=null&&t.hasOwnProperty("clip")&&(i.clip=$root.sesame.v1.recorder.RecorderClip.toObject(t.clip,e)),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.recorder.RecorderClipAddRequest"},n}(),l.RecorderClipCopyRequest=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.clipId=$util.Long?$util.Long.fromBits(0,0,!0):0,n.prototype.newClipId=$util.Long?$util.Long.fromBits(0,0,!0):0,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.clipId!=null&&Object.hasOwnProperty.call(t,"clipId")&&e.uint32(8).uint64(t.clipId),t.newClipId!=null&&Object.hasOwnProperty.call(t,"newClipId")&&e.uint32(16).uint64(t.newClipId),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.recorder.RecorderClipCopyRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.clipId=t.uint64();break}case 2:{s.newClipId=t.uint64();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.clipId!=null&&t.hasOwnProperty("clipId")&&!$util.isInteger(t.clipId)&&!(t.clipId&&$util.isInteger(t.clipId.low)&&$util.isInteger(t.clipId.high))?"clipId: integer|Long expected":t.newClipId!=null&&t.hasOwnProperty("newClipId")&&!$util.isInteger(t.newClipId)&&!(t.newClipId&&$util.isInteger(t.newClipId.low)&&$util.isInteger(t.newClipId.high))?"newClipId: integer|Long expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.recorder.RecorderClipCopyRequest)return t;let e=new $root.sesame.v1.recorder.RecorderClipCopyRequest;return t.clipId!=null&&($util.Long?(e.clipId=$util.Long.fromValue(t.clipId)).unsigned=!0:typeof t.clipId=="string"?e.clipId=parseInt(t.clipId,10):typeof t.clipId=="number"?e.clipId=t.clipId:typeof t.clipId=="object"&&(e.clipId=new $util.LongBits(t.clipId.low>>>0,t.clipId.high>>>0).toNumber(!0))),t.newClipId!=null&&($util.Long?(e.newClipId=$util.Long.fromValue(t.newClipId)).unsigned=!0:typeof t.newClipId=="string"?e.newClipId=parseInt(t.newClipId,10):typeof t.newClipId=="number"?e.newClipId=t.newClipId:typeof t.newClipId=="object"&&(e.newClipId=new $util.LongBits(t.newClipId.low>>>0,t.newClipId.high>>>0).toNumber(!0))),e},n.toObject=function(t,e){e||(e={});let i={};if(e.defaults){if($util.Long){let a=new $util.Long(0,0,!0);i.clipId=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.clipId=e.longs===String?"0":0;if($util.Long){let a=new $util.Long(0,0,!0);i.newClipId=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.newClipId=e.longs===String?"0":0}return t.clipId!=null&&t.hasOwnProperty("clipId")&&(typeof t.clipId=="number"?i.clipId=e.longs===String?String(t.clipId):t.clipId:i.clipId=e.longs===String?$util.Long.prototype.toString.call(t.clipId):e.longs===Number?new $util.LongBits(t.clipId.low>>>0,t.clipId.high>>>0).toNumber(!0):t.clipId),t.newClipId!=null&&t.hasOwnProperty("newClipId")&&(typeof t.newClipId=="number"?i.newClipId=e.longs===String?String(t.newClipId):t.newClipId:i.newClipId=e.longs===String?$util.Long.prototype.toString.call(t.newClipId):e.longs===Number?new $util.LongBits(t.newClipId.low>>>0,t.newClipId.high>>>0).toNumber(!0):t.newClipId),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.recorder.RecorderClipCopyRequest"},n}(),l.RecorderClipRemoveRequest=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.clipId=$util.Long?$util.Long.fromBits(0,0,!0):0,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.clipId!=null&&Object.hasOwnProperty.call(t,"clipId")&&e.uint32(8).uint64(t.clipId),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.recorder.RecorderClipRemoveRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.clipId=t.uint64();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.clipId!=null&&t.hasOwnProperty("clipId")&&!$util.isInteger(t.clipId)&&!(t.clipId&&$util.isInteger(t.clipId.low)&&$util.isInteger(t.clipId.high))?"clipId: integer|Long expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.recorder.RecorderClipRemoveRequest)return t;let e=new $root.sesame.v1.recorder.RecorderClipRemoveRequest;return t.clipId!=null&&($util.Long?(e.clipId=$util.Long.fromValue(t.clipId)).unsigned=!0:typeof t.clipId=="string"?e.clipId=parseInt(t.clipId,10):typeof t.clipId=="number"?e.clipId=t.clipId:typeof t.clipId=="object"&&(e.clipId=new $util.LongBits(t.clipId.low>>>0,t.clipId.high>>>0).toNumber(!0))),e},n.toObject=function(t,e){e||(e={});let i={};if(e.defaults)if($util.Long){let a=new $util.Long(0,0,!0);i.clipId=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.clipId=e.longs===String?"0":0;return t.clipId!=null&&t.hasOwnProperty("clipId")&&(typeof t.clipId=="number"?i.clipId=e.longs===String?String(t.clipId):t.clipId:i.clipId=e.longs===String?$util.Long.prototype.toString.call(t.clipId):e.longs===Number?new $util.LongBits(t.clipId.low>>>0,t.clipId.high>>>0).toNumber(!0):t.clipId),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.recorder.RecorderClipRemoveRequest"},n}(),l.RecorderClipsClearRequest=function(){function n(r){if(this.protectedRanges=[],r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.protectedRanges=$util.emptyArray,n.prototype.mustHaveFlags=$util.Long?$util.Long.fromBits(0,0,!0):0,n.prototype.mustNotHaveFlags=$util.Long?$util.Long.fromBits(0,0,!0):0,n.create=function(t){return new n(t)},n.encode=function(t,e){if(e||(e=$Writer.create()),t.protectedRanges!=null&&t.protectedRanges.length)for(let i=0;i<t.protectedRanges.length;++i)$root.sesame.v1.recorder.RecorderClipRange.encode(t.protectedRanges[i],e.uint32(10).fork()).ldelim();return t.mustHaveFlags!=null&&Object.hasOwnProperty.call(t,"mustHaveFlags")&&e.uint32(16).uint64(t.mustHaveFlags),t.mustNotHaveFlags!=null&&Object.hasOwnProperty.call(t,"mustNotHaveFlags")&&e.uint32(24).uint64(t.mustNotHaveFlags),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.recorder.RecorderClipsClearRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.protectedRanges&&s.protectedRanges.length||(s.protectedRanges=[]),s.protectedRanges.push($root.sesame.v1.recorder.RecorderClipRange.decode(t,t.uint32()));break}case 2:{s.mustHaveFlags=t.uint64();break}case 3:{s.mustNotHaveFlags=t.uint64();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.protectedRanges!=null&&t.hasOwnProperty("protectedRanges")){if(!Array.isArray(t.protectedRanges))return"protectedRanges: array expected";for(let e=0;e<t.protectedRanges.length;++e){let i=$root.sesame.v1.recorder.RecorderClipRange.verify(t.protectedRanges[e]);if(i)return"protectedRanges."+i}}return t.mustHaveFlags!=null&&t.hasOwnProperty("mustHaveFlags")&&!$util.isInteger(t.mustHaveFlags)&&!(t.mustHaveFlags&&$util.isInteger(t.mustHaveFlags.low)&&$util.isInteger(t.mustHaveFlags.high))?"mustHaveFlags: integer|Long expected":t.mustNotHaveFlags!=null&&t.hasOwnProperty("mustNotHaveFlags")&&!$util.isInteger(t.mustNotHaveFlags)&&!(t.mustNotHaveFlags&&$util.isInteger(t.mustNotHaveFlags.low)&&$util.isInteger(t.mustNotHaveFlags.high))?"mustNotHaveFlags: integer|Long expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.recorder.RecorderClipsClearRequest)return t;let e=new $root.sesame.v1.recorder.RecorderClipsClearRequest;if(t.protectedRanges){if(!Array.isArray(t.protectedRanges))throw TypeError(".sesame.v1.recorder.RecorderClipsClearRequest.protectedRanges: array expected");e.protectedRanges=[];for(let i=0;i<t.protectedRanges.length;++i){if(typeof t.protectedRanges[i]!="object")throw TypeError(".sesame.v1.recorder.RecorderClipsClearRequest.protectedRanges: object expected");e.protectedRanges[i]=$root.sesame.v1.recorder.RecorderClipRange.fromObject(t.protectedRanges[i])}}return t.mustHaveFlags!=null&&($util.Long?(e.mustHaveFlags=$util.Long.fromValue(t.mustHaveFlags)).unsigned=!0:typeof t.mustHaveFlags=="string"?e.mustHaveFlags=parseInt(t.mustHaveFlags,10):typeof t.mustHaveFlags=="number"?e.mustHaveFlags=t.mustHaveFlags:typeof t.mustHaveFlags=="object"&&(e.mustHaveFlags=new $util.LongBits(t.mustHaveFlags.low>>>0,t.mustHaveFlags.high>>>0).toNumber(!0))),t.mustNotHaveFlags!=null&&($util.Long?(e.mustNotHaveFlags=$util.Long.fromValue(t.mustNotHaveFlags)).unsigned=!0:typeof t.mustNotHaveFlags=="string"?e.mustNotHaveFlags=parseInt(t.mustNotHaveFlags,10):typeof t.mustNotHaveFlags=="number"?e.mustNotHaveFlags=t.mustNotHaveFlags:typeof t.mustNotHaveFlags=="object"&&(e.mustNotHaveFlags=new $util.LongBits(t.mustNotHaveFlags.low>>>0,t.mustNotHaveFlags.high>>>0).toNumber(!0))),e},n.toObject=function(t,e){e||(e={});let i={};if((e.arrays||e.defaults)&&(i.protectedRanges=[]),e.defaults){if($util.Long){let a=new $util.Long(0,0,!0);i.mustHaveFlags=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.mustHaveFlags=e.longs===String?"0":0;if($util.Long){let a=new $util.Long(0,0,!0);i.mustNotHaveFlags=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.mustNotHaveFlags=e.longs===String?"0":0}if(t.protectedRanges&&t.protectedRanges.length){i.protectedRanges=[];for(let a=0;a<t.protectedRanges.length;++a)i.protectedRanges[a]=$root.sesame.v1.recorder.RecorderClipRange.toObject(t.protectedRanges[a],e)}return t.mustHaveFlags!=null&&t.hasOwnProperty("mustHaveFlags")&&(typeof t.mustHaveFlags=="number"?i.mustHaveFlags=e.longs===String?String(t.mustHaveFlags):t.mustHaveFlags:i.mustHaveFlags=e.longs===String?$util.Long.prototype.toString.call(t.mustHaveFlags):e.longs===Number?new $util.LongBits(t.mustHaveFlags.low>>>0,t.mustHaveFlags.high>>>0).toNumber(!0):t.mustHaveFlags),t.mustNotHaveFlags!=null&&t.hasOwnProperty("mustNotHaveFlags")&&(typeof t.mustNotHaveFlags=="number"?i.mustNotHaveFlags=e.longs===String?String(t.mustNotHaveFlags):t.mustNotHaveFlags:i.mustNotHaveFlags=e.longs===String?$util.Long.prototype.toString.call(t.mustNotHaveFlags):e.longs===Number?new $util.LongBits(t.mustNotHaveFlags.low>>>0,t.mustNotHaveFlags.high>>>0).toNumber(!0):t.mustNotHaveFlags),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.recorder.RecorderClipsClearRequest"},n}(),l.RecorderMetadataSetRequest=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.metadata=null,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.metadata!=null&&Object.hasOwnProperty.call(t,"metadata")&&$root.sesame.v1.common.TransportMetadata.encode(t.metadata,e.uint32(10).fork()).ldelim(),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.recorder.RecorderMetadataSetRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.metadata=$root.sesame.v1.common.TransportMetadata.decode(t,t.uint32());break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.metadata!=null&&t.hasOwnProperty("metadata")){let e=$root.sesame.v1.common.TransportMetadata.verify(t.metadata);if(e)return"metadata."+e}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.recorder.RecorderMetadataSetRequest)return t;let e=new $root.sesame.v1.recorder.RecorderMetadataSetRequest;if(t.metadata!=null){if(typeof t.metadata!="object")throw TypeError(".sesame.v1.recorder.RecorderMetadataSetRequest.metadata: object expected");e.metadata=$root.sesame.v1.common.TransportMetadata.fromObject(t.metadata)}return e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.metadata=null),t.metadata!=null&&t.hasOwnProperty("metadata")&&(i.metadata=$root.sesame.v1.common.TransportMetadata.toObject(t.metadata,e)),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.recorder.RecorderMetadataSetRequest"},n}(),l.RecorderClipFlagSetRequest=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.clipId=$util.Long?$util.Long.fromBits(0,0,!0):0,n.prototype.flag=$util.Long?$util.Long.fromBits(0,0,!0):0,n.prototype.value=!1,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.clipId!=null&&Object.hasOwnProperty.call(t,"clipId")&&e.uint32(8).uint64(t.clipId),t.flag!=null&&Object.hasOwnProperty.call(t,"flag")&&e.uint32(16).uint64(t.flag),t.value!=null&&Object.hasOwnProperty.call(t,"value")&&e.uint32(24).bool(t.value),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.recorder.RecorderClipFlagSetRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.clipId=t.uint64();break}case 2:{s.flag=t.uint64();break}case 3:{s.value=t.bool();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.clipId!=null&&t.hasOwnProperty("clipId")&&!$util.isInteger(t.clipId)&&!(t.clipId&&$util.isInteger(t.clipId.low)&&$util.isInteger(t.clipId.high))?"clipId: integer|Long expected":t.flag!=null&&t.hasOwnProperty("flag")&&!$util.isInteger(t.flag)&&!(t.flag&&$util.isInteger(t.flag.low)&&$util.isInteger(t.flag.high))?"flag: integer|Long expected":t.value!=null&&t.hasOwnProperty("value")&&typeof t.value!="boolean"?"value: boolean expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.recorder.RecorderClipFlagSetRequest)return t;let e=new $root.sesame.v1.recorder.RecorderClipFlagSetRequest;return t.clipId!=null&&($util.Long?(e.clipId=$util.Long.fromValue(t.clipId)).unsigned=!0:typeof t.clipId=="string"?e.clipId=parseInt(t.clipId,10):typeof t.clipId=="number"?e.clipId=t.clipId:typeof t.clipId=="object"&&(e.clipId=new $util.LongBits(t.clipId.low>>>0,t.clipId.high>>>0).toNumber(!0))),t.flag!=null&&($util.Long?(e.flag=$util.Long.fromValue(t.flag)).unsigned=!0:typeof t.flag=="string"?e.flag=parseInt(t.flag,10):typeof t.flag=="number"?e.flag=t.flag:typeof t.flag=="object"&&(e.flag=new $util.LongBits(t.flag.low>>>0,t.flag.high>>>0).toNumber(!0))),t.value!=null&&(e.value=!!t.value),e},n.toObject=function(t,e){e||(e={});let i={};if(e.defaults){if($util.Long){let a=new $util.Long(0,0,!0);i.clipId=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.clipId=e.longs===String?"0":0;if($util.Long){let a=new $util.Long(0,0,!0);i.flag=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.flag=e.longs===String?"0":0;i.value=!1}return t.clipId!=null&&t.hasOwnProperty("clipId")&&(typeof t.clipId=="number"?i.clipId=e.longs===String?String(t.clipId):t.clipId:i.clipId=e.longs===String?$util.Long.prototype.toString.call(t.clipId):e.longs===Number?new $util.LongBits(t.clipId.low>>>0,t.clipId.high>>>0).toNumber(!0):t.clipId),t.flag!=null&&t.hasOwnProperty("flag")&&(typeof t.flag=="number"?i.flag=e.longs===String?String(t.flag):t.flag:i.flag=e.longs===String?$util.Long.prototype.toString.call(t.flag):e.longs===Number?new $util.LongBits(t.flag.low>>>0,t.flag.high>>>0).toNumber(!0):t.flag),t.value!=null&&t.hasOwnProperty("value")&&(i.value=t.value),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.recorder.RecorderClipFlagSetRequest"},n}(),l.RecorderClipsVerifyRequest=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.recorder.RecorderClipsVerifyRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":null},n.fromObject=function(t){return t instanceof $root.sesame.v1.recorder.RecorderClipsVerifyRequest?t:new $root.sesame.v1.recorder.RecorderClipsVerifyRequest},n.toObject=function(){return{}},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.recorder.RecorderClipsVerifyRequest"},n}(),l.RecorderClipsVerifyResponse=function(){function n(r){if(this.errors=[],r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.errors=$util.emptyArray,n.create=function(t){return new n(t)},n.encode=function(t,e){if(e||(e=$Writer.create()),t.errors!=null&&t.errors.length)for(let i=0;i<t.errors.length;++i)e.uint32(10).string(t.errors[i]);return e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.recorder.RecorderClipsVerifyResponse;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.errors&&s.errors.length||(s.errors=[]),s.errors.push(t.string());break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.errors!=null&&t.hasOwnProperty("errors")){if(!Array.isArray(t.errors))return"errors: array expected";for(let e=0;e<t.errors.length;++e)if(!$util.isString(t.errors[e]))return"errors: string[] expected"}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.recorder.RecorderClipsVerifyResponse)return t;let e=new $root.sesame.v1.recorder.RecorderClipsVerifyResponse;if(t.errors){if(!Array.isArray(t.errors))throw TypeError(".sesame.v1.recorder.RecorderClipsVerifyResponse.errors: array expected");e.errors=[];for(let i=0;i<t.errors.length;++i)e.errors[i]=String(t.errors[i])}return e},n.toObject=function(t,e){e||(e={});let i={};if((e.arrays||e.defaults)&&(i.errors=[]),t.errors&&t.errors.length){i.errors=[];for(let a=0;a<t.errors.length;++a)i.errors[a]=t.errors[a]}return i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.recorder.RecorderClipsVerifyResponse"},n}(),l.RecorderLockedDurationSetRequest=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.frames=0,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.frames!=null&&Object.hasOwnProperty.call(t,"frames")&&e.uint32(8).uint32(t.frames),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.recorder.RecorderLockedDurationSetRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.frames=t.uint32();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.frames!=null&&t.hasOwnProperty("frames")&&!$util.isInteger(t.frames)?"frames: integer expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.recorder.RecorderLockedDurationSetRequest)return t;let e=new $root.sesame.v1.recorder.RecorderLockedDurationSetRequest;return t.frames!=null&&(e.frames=t.frames>>>0),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.frames=0),t.frames!=null&&t.hasOwnProperty("frames")&&(i.frames=t.frames),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.recorder.RecorderLockedDurationSetRequest"},n}(),l.RecorderOkResponse=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.recorder.RecorderOkResponse;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":null},n.fromObject=function(t){return t instanceof $root.sesame.v1.recorder.RecorderOkResponse?t:new $root.sesame.v1.recorder.RecorderOkResponse},n.toObject=function(){return{}},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.recorder.RecorderOkResponse"},n}(),l.RecorderRequest=function(){function n(t){if(t)for(let e=Object.keys(t),i=0;i<e.length;++i)t[e[i]]!=null&&(this[e[i]]=t[e[i]])}n.prototype.recorderId="",n.prototype.getClips=null,n.prototype.addClip=null,n.prototype.removeClip=null,n.prototype.clearClips=null,n.prototype.setMetadata=null,n.prototype.verifyClips=null,n.prototype.setClipFlag=null,n.prototype.copyClip=null,n.prototype.setLockedDuration=null;let r;return Object.defineProperty(n.prototype,"request",{get:$util.oneOfGetter(r=["getClips","addClip","removeClip","clearClips","setMetadata","verifyClips","setClipFlag","copyClip","setLockedDuration"]),set:$util.oneOfSetter(r)}),n.create=function(e){return new n(e)},n.encode=function(e,i){return i||(i=$Writer.create()),e.recorderId!=null&&Object.hasOwnProperty.call(e,"recorderId")&&i.uint32(10).string(e.recorderId),e.getClips!=null&&Object.hasOwnProperty.call(e,"getClips")&&$root.sesame.v1.recorder.RecorderClipsGetRequest.encode(e.getClips,i.uint32(18).fork()).ldelim(),e.addClip!=null&&Object.hasOwnProperty.call(e,"addClip")&&$root.sesame.v1.recorder.RecorderClipAddRequest.encode(e.addClip,i.uint32(26).fork()).ldelim(),e.removeClip!=null&&Object.hasOwnProperty.call(e,"removeClip")&&$root.sesame.v1.recorder.RecorderClipRemoveRequest.encode(e.removeClip,i.uint32(34).fork()).ldelim(),e.clearClips!=null&&Object.hasOwnProperty.call(e,"clearClips")&&$root.sesame.v1.recorder.RecorderClipsClearRequest.encode(e.clearClips,i.uint32(42).fork()).ldelim(),e.setMetadata!=null&&Object.hasOwnProperty.call(e,"setMetadata")&&$root.sesame.v1.recorder.RecorderMetadataSetRequest.encode(e.setMetadata,i.uint32(50).fork()).ldelim(),e.verifyClips!=null&&Object.hasOwnProperty.call(e,"verifyClips")&&$root.sesame.v1.recorder.RecorderClipsVerifyRequest.encode(e.verifyClips,i.uint32(58).fork()).ldelim(),e.setClipFlag!=null&&Object.hasOwnProperty.call(e,"setClipFlag")&&$root.sesame.v1.recorder.RecorderClipFlagSetRequest.encode(e.setClipFlag,i.uint32(66).fork()).ldelim(),e.copyClip!=null&&Object.hasOwnProperty.call(e,"copyClip")&&$root.sesame.v1.recorder.RecorderClipCopyRequest.encode(e.copyClip,i.uint32(74).fork()).ldelim(),e.setLockedDuration!=null&&Object.hasOwnProperty.call(e,"setLockedDuration")&&$root.sesame.v1.recorder.RecorderLockedDurationSetRequest.encode(e.setLockedDuration,i.uint32(82).fork()).ldelim(),i},n.encodeDelimited=function(e,i){return this.encode(e,i).ldelim()},n.decode=function(e,i,a){e instanceof $Reader||(e=$Reader.create(e));let s=i===void 0?e.len:e.pos+i,d=new $root.sesame.v1.recorder.RecorderRequest;for(;e.pos<s;){let c=e.uint32();if(c===a)break;switch(c>>>3){case 1:{d.recorderId=e.string();break}case 2:{d.getClips=$root.sesame.v1.recorder.RecorderClipsGetRequest.decode(e,e.uint32());break}case 3:{d.addClip=$root.sesame.v1.recorder.RecorderClipAddRequest.decode(e,e.uint32());break}case 4:{d.removeClip=$root.sesame.v1.recorder.RecorderClipRemoveRequest.decode(e,e.uint32());break}case 5:{d.clearClips=$root.sesame.v1.recorder.RecorderClipsClearRequest.decode(e,e.uint32());break}case 6:{d.setMetadata=$root.sesame.v1.recorder.RecorderMetadataSetRequest.decode(e,e.uint32());break}case 7:{d.verifyClips=$root.sesame.v1.recorder.RecorderClipsVerifyRequest.decode(e,e.uint32());break}case 8:{d.setClipFlag=$root.sesame.v1.recorder.RecorderClipFlagSetRequest.decode(e,e.uint32());break}case 9:{d.copyClip=$root.sesame.v1.recorder.RecorderClipCopyRequest.decode(e,e.uint32());break}case 10:{d.setLockedDuration=$root.sesame.v1.recorder.RecorderLockedDurationSetRequest.decode(e,e.uint32());break}default:e.skipType(c&7);break}}return d},n.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},n.verify=function(e){if(typeof e!="object"||e===null)return"object expected";let i={};if(e.recorderId!=null&&e.hasOwnProperty("recorderId")&&!$util.isString(e.recorderId))return"recorderId: string expected";if(e.getClips!=null&&e.hasOwnProperty("getClips")){i.request=1;{let a=$root.sesame.v1.recorder.RecorderClipsGetRequest.verify(e.getClips);if(a)return"getClips."+a}}if(e.addClip!=null&&e.hasOwnProperty("addClip")){if(i.request===1)return"request: multiple values";i.request=1;{let a=$root.sesame.v1.recorder.RecorderClipAddRequest.verify(e.addClip);if(a)return"addClip."+a}}if(e.removeClip!=null&&e.hasOwnProperty("removeClip")){if(i.request===1)return"request: multiple values";i.request=1;{let a=$root.sesame.v1.recorder.RecorderClipRemoveRequest.verify(e.removeClip);if(a)return"removeClip."+a}}if(e.clearClips!=null&&e.hasOwnProperty("clearClips")){if(i.request===1)return"request: multiple values";i.request=1;{let a=$root.sesame.v1.recorder.RecorderClipsClearRequest.verify(e.clearClips);if(a)return"clearClips."+a}}if(e.setMetadata!=null&&e.hasOwnProperty("setMetadata")){if(i.request===1)return"request: multiple values";i.request=1;{let a=$root.sesame.v1.recorder.RecorderMetadataSetRequest.verify(e.setMetadata);if(a)return"setMetadata."+a}}if(e.verifyClips!=null&&e.hasOwnProperty("verifyClips")){if(i.request===1)return"request: multiple values";i.request=1;{let a=$root.sesame.v1.recorder.RecorderClipsVerifyRequest.verify(e.verifyClips);if(a)return"verifyClips."+a}}if(e.setClipFlag!=null&&e.hasOwnProperty("setClipFlag")){if(i.request===1)return"request: multiple values";i.request=1;{let a=$root.sesame.v1.recorder.RecorderClipFlagSetRequest.verify(e.setClipFlag);if(a)return"setClipFlag."+a}}if(e.copyClip!=null&&e.hasOwnProperty("copyClip")){if(i.request===1)return"request: multiple values";i.request=1;{let a=$root.sesame.v1.recorder.RecorderClipCopyRequest.verify(e.copyClip);if(a)return"copyClip."+a}}if(e.setLockedDuration!=null&&e.hasOwnProperty("setLockedDuration")){if(i.request===1)return"request: multiple values";i.request=1;{let a=$root.sesame.v1.recorder.RecorderLockedDurationSetRequest.verify(e.setLockedDuration);if(a)return"setLockedDuration."+a}}return null},n.fromObject=function(e){if(e instanceof $root.sesame.v1.recorder.RecorderRequest)return e;let i=new $root.sesame.v1.recorder.RecorderRequest;if(e.recorderId!=null&&(i.recorderId=String(e.recorderId)),e.getClips!=null){if(typeof e.getClips!="object")throw TypeError(".sesame.v1.recorder.RecorderRequest.getClips: object expected");i.getClips=$root.sesame.v1.recorder.RecorderClipsGetRequest.fromObject(e.getClips)}if(e.addClip!=null){if(typeof e.addClip!="object")throw TypeError(".sesame.v1.recorder.RecorderRequest.addClip: object expected");i.addClip=$root.sesame.v1.recorder.RecorderClipAddRequest.fromObject(e.addClip)}if(e.removeClip!=null){if(typeof e.removeClip!="object")throw TypeError(".sesame.v1.recorder.RecorderRequest.removeClip: object expected");i.removeClip=$root.sesame.v1.recorder.RecorderClipRemoveRequest.fromObject(e.removeClip)}if(e.clearClips!=null){if(typeof e.clearClips!="object")throw TypeError(".sesame.v1.recorder.RecorderRequest.clearClips: object expected");i.clearClips=$root.sesame.v1.recorder.RecorderClipsClearRequest.fromObject(e.clearClips)}if(e.setMetadata!=null){if(typeof e.setMetadata!="object")throw TypeError(".sesame.v1.recorder.RecorderRequest.setMetadata: object expected");i.setMetadata=$root.sesame.v1.recorder.RecorderMetadataSetRequest.fromObject(e.setMetadata)}if(e.verifyClips!=null){if(typeof e.verifyClips!="object")throw TypeError(".sesame.v1.recorder.RecorderRequest.verifyClips: object expected");i.verifyClips=$root.sesame.v1.recorder.RecorderClipsVerifyRequest.fromObject(e.verifyClips)}if(e.setClipFlag!=null){if(typeof e.setClipFlag!="object")throw TypeError(".sesame.v1.recorder.RecorderRequest.setClipFlag: object expected");i.setClipFlag=$root.sesame.v1.recorder.RecorderClipFlagSetRequest.fromObject(e.setClipFlag)}if(e.copyClip!=null){if(typeof e.copyClip!="object")throw TypeError(".sesame.v1.recorder.RecorderRequest.copyClip: object expected");i.copyClip=$root.sesame.v1.recorder.RecorderClipCopyRequest.fromObject(e.copyClip)}if(e.setLockedDuration!=null){if(typeof e.setLockedDuration!="object")throw TypeError(".sesame.v1.recorder.RecorderRequest.setLockedDuration: object expected");i.setLockedDuration=$root.sesame.v1.recorder.RecorderLockedDurationSetRequest.fromObject(e.setLockedDuration)}return i},n.toObject=function(e,i){i||(i={});let a={};return i.defaults&&(a.recorderId=""),e.recorderId!=null&&e.hasOwnProperty("recorderId")&&(a.recorderId=e.recorderId),e.getClips!=null&&e.hasOwnProperty("getClips")&&(a.getClips=$root.sesame.v1.recorder.RecorderClipsGetRequest.toObject(e.getClips,i),i.oneofs&&(a.request="getClips")),e.addClip!=null&&e.hasOwnProperty("addClip")&&(a.addClip=$root.sesame.v1.recorder.RecorderClipAddRequest.toObject(e.addClip,i),i.oneofs&&(a.request="addClip")),e.removeClip!=null&&e.hasOwnProperty("removeClip")&&(a.removeClip=$root.sesame.v1.recorder.RecorderClipRemoveRequest.toObject(e.removeClip,i),i.oneofs&&(a.request="removeClip")),e.clearClips!=null&&e.hasOwnProperty("clearClips")&&(a.clearClips=$root.sesame.v1.recorder.RecorderClipsClearRequest.toObject(e.clearClips,i),i.oneofs&&(a.request="clearClips")),e.setMetadata!=null&&e.hasOwnProperty("setMetadata")&&(a.setMetadata=$root.sesame.v1.recorder.RecorderMetadataSetRequest.toObject(e.setMetadata,i),i.oneofs&&(a.request="setMetadata")),e.verifyClips!=null&&e.hasOwnProperty("verifyClips")&&(a.verifyClips=$root.sesame.v1.recorder.RecorderClipsVerifyRequest.toObject(e.verifyClips,i),i.oneofs&&(a.request="verifyClips")),e.setClipFlag!=null&&e.hasOwnProperty("setClipFlag")&&(a.setClipFlag=$root.sesame.v1.recorder.RecorderClipFlagSetRequest.toObject(e.setClipFlag,i),i.oneofs&&(a.request="setClipFlag")),e.copyClip!=null&&e.hasOwnProperty("copyClip")&&(a.copyClip=$root.sesame.v1.recorder.RecorderClipCopyRequest.toObject(e.copyClip,i),i.oneofs&&(a.request="copyClip")),e.setLockedDuration!=null&&e.hasOwnProperty("setLockedDuration")&&(a.setLockedDuration=$root.sesame.v1.recorder.RecorderLockedDurationSetRequest.toObject(e.setLockedDuration,i),i.oneofs&&(a.request="setLockedDuration")),a},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/sesame.v1.recorder.RecorderRequest"},n}(),l.RecorderResponse=function(){function n(t){if(t)for(let e=Object.keys(t),i=0;i<e.length;++i)t[e[i]]!=null&&(this[e[i]]=t[e[i]])}n.prototype.getClipsResponse=null,n.prototype.okResponse=null,n.prototype.verifyClipsResponse=null;let r;return Object.defineProperty(n.prototype,"response",{get:$util.oneOfGetter(r=["getClipsResponse","okResponse","verifyClipsResponse"]),set:$util.oneOfSetter(r)}),n.create=function(e){return new n(e)},n.encode=function(e,i){return i||(i=$Writer.create()),e.getClipsResponse!=null&&Object.hasOwnProperty.call(e,"getClipsResponse")&&$root.sesame.v1.recorder.RecorderClipsGetResponse.encode(e.getClipsResponse,i.uint32(10).fork()).ldelim(),e.okResponse!=null&&Object.hasOwnProperty.call(e,"okResponse")&&$root.sesame.v1.recorder.RecorderOkResponse.encode(e.okResponse,i.uint32(18).fork()).ldelim(),e.verifyClipsResponse!=null&&Object.hasOwnProperty.call(e,"verifyClipsResponse")&&$root.sesame.v1.recorder.RecorderClipsVerifyResponse.encode(e.verifyClipsResponse,i.uint32(26).fork()).ldelim(),i},n.encodeDelimited=function(e,i){return this.encode(e,i).ldelim()},n.decode=function(e,i,a){e instanceof $Reader||(e=$Reader.create(e));let s=i===void 0?e.len:e.pos+i,d=new $root.sesame.v1.recorder.RecorderResponse;for(;e.pos<s;){let c=e.uint32();if(c===a)break;switch(c>>>3){case 1:{d.getClipsResponse=$root.sesame.v1.recorder.RecorderClipsGetResponse.decode(e,e.uint32());break}case 2:{d.okResponse=$root.sesame.v1.recorder.RecorderOkResponse.decode(e,e.uint32());break}case 3:{d.verifyClipsResponse=$root.sesame.v1.recorder.RecorderClipsVerifyResponse.decode(e,e.uint32());break}default:e.skipType(c&7);break}}return d},n.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},n.verify=function(e){if(typeof e!="object"||e===null)return"object expected";let i={};if(e.getClipsResponse!=null&&e.hasOwnProperty("getClipsResponse")){i.response=1;{let a=$root.sesame.v1.recorder.RecorderClipsGetResponse.verify(e.getClipsResponse);if(a)return"getClipsResponse."+a}}if(e.okResponse!=null&&e.hasOwnProperty("okResponse")){if(i.response===1)return"response: multiple values";i.response=1;{let a=$root.sesame.v1.recorder.RecorderOkResponse.verify(e.okResponse);if(a)return"okResponse."+a}}if(e.verifyClipsResponse!=null&&e.hasOwnProperty("verifyClipsResponse")){if(i.response===1)return"response: multiple values";i.response=1;{let a=$root.sesame.v1.recorder.RecorderClipsVerifyResponse.verify(e.verifyClipsResponse);if(a)return"verifyClipsResponse."+a}}return null},n.fromObject=function(e){if(e instanceof $root.sesame.v1.recorder.RecorderResponse)return e;let i=new $root.sesame.v1.recorder.RecorderResponse;if(e.getClipsResponse!=null){if(typeof e.getClipsResponse!="object")throw TypeError(".sesame.v1.recorder.RecorderResponse.getClipsResponse: object expected");i.getClipsResponse=$root.sesame.v1.recorder.RecorderClipsGetResponse.fromObject(e.getClipsResponse)}if(e.okResponse!=null){if(typeof e.okResponse!="object")throw TypeError(".sesame.v1.recorder.RecorderResponse.okResponse: object expected");i.okResponse=$root.sesame.v1.recorder.RecorderOkResponse.fromObject(e.okResponse)}if(e.verifyClipsResponse!=null){if(typeof e.verifyClipsResponse!="object")throw TypeError(".sesame.v1.recorder.RecorderResponse.verifyClipsResponse: object expected");i.verifyClipsResponse=$root.sesame.v1.recorder.RecorderClipsVerifyResponse.fromObject(e.verifyClipsResponse)}return i},n.toObject=function(e,i){i||(i={});let a={};return e.getClipsResponse!=null&&e.hasOwnProperty("getClipsResponse")&&(a.getClipsResponse=$root.sesame.v1.recorder.RecorderClipsGetResponse.toObject(e.getClipsResponse,i),i.oneofs&&(a.response="getClipsResponse")),e.okResponse!=null&&e.hasOwnProperty("okResponse")&&(a.okResponse=$root.sesame.v1.recorder.RecorderOkResponse.toObject(e.okResponse,i),i.oneofs&&(a.response="okResponse")),e.verifyClipsResponse!=null&&e.hasOwnProperty("verifyClipsResponse")&&(a.verifyClipsResponse=$root.sesame.v1.recorder.RecorderClipsVerifyResponse.toObject(e.verifyClipsResponse,i),i.oneofs&&(a.response="verifyClipsResponse")),a},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/sesame.v1.recorder.RecorderResponse"},n}(),l.RecorderStatus=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.id="",n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.id!=null&&Object.hasOwnProperty.call(t,"id")&&e.uint32(10).string(t.id),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.recorder.RecorderStatus;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.id=t.string();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.id!=null&&t.hasOwnProperty("id")&&!$util.isString(t.id)?"id: string expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.recorder.RecorderStatus)return t;let e=new $root.sesame.v1.recorder.RecorderStatus;return t.id!=null&&(e.id=String(t.id)),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.id=""),t.id!=null&&t.hasOwnProperty("id")&&(i.id=t.id),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.recorder.RecorderStatus"},n}(),l.RecorderEvent=function(){function n(t){if(t)for(let e=Object.keys(t),i=0;i<e.length;++i)t[e[i]]!=null&&(this[e[i]]=t[e[i]])}n.prototype.id="",n.prototype.online=!1,n.prototype.message=null;let r;return Object.defineProperty(n.prototype,"_message",{get:$util.oneOfGetter(r=["message"]),set:$util.oneOfSetter(r)}),n.create=function(e){return new n(e)},n.encode=function(e,i){return i||(i=$Writer.create()),e.id!=null&&Object.hasOwnProperty.call(e,"id")&&i.uint32(10).string(e.id),e.online!=null&&Object.hasOwnProperty.call(e,"online")&&i.uint32(16).bool(e.online),e.message!=null&&Object.hasOwnProperty.call(e,"message")&&i.uint32(26).string(e.message),i},n.encodeDelimited=function(e,i){return this.encode(e,i).ldelim()},n.decode=function(e,i,a){e instanceof $Reader||(e=$Reader.create(e));let s=i===void 0?e.len:e.pos+i,d=new $root.sesame.v1.recorder.RecorderEvent;for(;e.pos<s;){let c=e.uint32();if(c===a)break;switch(c>>>3){case 1:{d.id=e.string();break}case 2:{d.online=e.bool();break}case 3:{d.message=e.string();break}default:e.skipType(c&7);break}}return d},n.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},n.verify=function(e){return typeof e!="object"||e===null?"object expected":e.id!=null&&e.hasOwnProperty("id")&&!$util.isString(e.id)?"id: string expected":e.online!=null&&e.hasOwnProperty("online")&&typeof e.online!="boolean"?"online: boolean expected":e.message!=null&&e.hasOwnProperty("message")&&!$util.isString(e.message)?"message: string expected":null},n.fromObject=function(e){if(e instanceof $root.sesame.v1.recorder.RecorderEvent)return e;let i=new $root.sesame.v1.recorder.RecorderEvent;return e.id!=null&&(i.id=String(e.id)),e.online!=null&&(i.online=!!e.online),e.message!=null&&(i.message=String(e.message)),i},n.toObject=function(e,i){i||(i={});let a={};return i.defaults&&(a.id="",a.online=!1),e.id!=null&&e.hasOwnProperty("id")&&(a.id=e.id),e.online!=null&&e.hasOwnProperty("online")&&(a.online=e.online),e.message!=null&&e.hasOwnProperty("message")&&(a.message=e.message,i.oneofs&&(a._message="message")),a},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/sesame.v1.recorder.RecorderEvent"},n}(),l}(),o.status=function(){const l={};return l.FrameTiming=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.frameTime=0,n.prototype.frameTimeAvg=0,n.prototype.frameTimeMin=0,n.prototype.frameTimeMax=0,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.frameTime!=null&&Object.hasOwnProperty.call(t,"frameTime")&&e.uint32(8).int32(t.frameTime),t.frameTimeAvg!=null&&Object.hasOwnProperty.call(t,"frameTimeAvg")&&e.uint32(16).int32(t.frameTimeAvg),t.frameTimeMin!=null&&Object.hasOwnProperty.call(t,"frameTimeMin")&&e.uint32(24).int32(t.frameTimeMin),t.frameTimeMax!=null&&Object.hasOwnProperty.call(t,"frameTimeMax")&&e.uint32(32).int32(t.frameTimeMax),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.status.FrameTiming;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.frameTime=t.int32();break}case 2:{s.frameTimeAvg=t.int32();break}case 3:{s.frameTimeMin=t.int32();break}case 4:{s.frameTimeMax=t.int32();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.frameTime!=null&&t.hasOwnProperty("frameTime")&&!$util.isInteger(t.frameTime)?"frameTime: integer expected":t.frameTimeAvg!=null&&t.hasOwnProperty("frameTimeAvg")&&!$util.isInteger(t.frameTimeAvg)?"frameTimeAvg: integer expected":t.frameTimeMin!=null&&t.hasOwnProperty("frameTimeMin")&&!$util.isInteger(t.frameTimeMin)?"frameTimeMin: integer expected":t.frameTimeMax!=null&&t.hasOwnProperty("frameTimeMax")&&!$util.isInteger(t.frameTimeMax)?"frameTimeMax: integer expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.status.FrameTiming)return t;let e=new $root.sesame.v1.status.FrameTiming;return t.frameTime!=null&&(e.frameTime=t.frameTime|0),t.frameTimeAvg!=null&&(e.frameTimeAvg=t.frameTimeAvg|0),t.frameTimeMin!=null&&(e.frameTimeMin=t.frameTimeMin|0),t.frameTimeMax!=null&&(e.frameTimeMax=t.frameTimeMax|0),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.frameTime=0,i.frameTimeAvg=0,i.frameTimeMin=0,i.frameTimeMax=0),t.frameTime!=null&&t.hasOwnProperty("frameTime")&&(i.frameTime=t.frameTime),t.frameTimeAvg!=null&&t.hasOwnProperty("frameTimeAvg")&&(i.frameTimeAvg=t.frameTimeAvg),t.frameTimeMin!=null&&t.hasOwnProperty("frameTimeMin")&&(i.frameTimeMin=t.frameTimeMin),t.frameTimeMax!=null&&t.hasOwnProperty("frameTimeMax")&&(i.frameTimeMax=t.frameTimeMax),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.status.FrameTiming"},n}(),l.SRTReceiveStatistics=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.packetsReceived=$util.Long?$util.Long.fromBits(0,0,!1):0,n.prototype.packetsReceivedLost=0,n.prototype.packetAckSent=0,n.prototype.packetNackSent=0,n.prototype.bytesReceived=$util.Long?$util.Long.fromBits(0,0,!1):0,n.prototype.bytesReceivedLost=$util.Long?$util.Long.fromBits(0,0,!1):0,n.prototype.receiveRateMbps=0,n.prototype.tsbpdDelay=0,n.prototype.bandwidthMbps=0,n.prototype.rttMs=0,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.packetsReceived!=null&&Object.hasOwnProperty.call(t,"packetsReceived")&&e.uint32(8).int64(t.packetsReceived),t.packetsReceivedLost!=null&&Object.hasOwnProperty.call(t,"packetsReceivedLost")&&e.uint32(16).int32(t.packetsReceivedLost),t.packetAckSent!=null&&Object.hasOwnProperty.call(t,"packetAckSent")&&e.uint32(24).int32(t.packetAckSent),t.packetNackSent!=null&&Object.hasOwnProperty.call(t,"packetNackSent")&&e.uint32(32).int32(t.packetNackSent),t.bytesReceived!=null&&Object.hasOwnProperty.call(t,"bytesReceived")&&e.uint32(40).int64(t.bytesReceived),t.bytesReceivedLost!=null&&Object.hasOwnProperty.call(t,"bytesReceivedLost")&&e.uint32(48).int64(t.bytesReceivedLost),t.receiveRateMbps!=null&&Object.hasOwnProperty.call(t,"receiveRateMbps")&&e.uint32(57).double(t.receiveRateMbps),t.tsbpdDelay!=null&&Object.hasOwnProperty.call(t,"tsbpdDelay")&&e.uint32(64).int32(t.tsbpdDelay),t.bandwidthMbps!=null&&Object.hasOwnProperty.call(t,"bandwidthMbps")&&e.uint32(73).double(t.bandwidthMbps),t.rttMs!=null&&Object.hasOwnProperty.call(t,"rttMs")&&e.uint32(81).double(t.rttMs),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.status.SRTReceiveStatistics;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.packetsReceived=t.int64();break}case 2:{s.packetsReceivedLost=t.int32();break}case 3:{s.packetAckSent=t.int32();break}case 4:{s.packetNackSent=t.int32();break}case 5:{s.bytesReceived=t.int64();break}case 6:{s.bytesReceivedLost=t.int64();break}case 7:{s.receiveRateMbps=t.double();break}case 8:{s.tsbpdDelay=t.int32();break}case 9:{s.bandwidthMbps=t.double();break}case 10:{s.rttMs=t.double();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.packetsReceived!=null&&t.hasOwnProperty("packetsReceived")&&!$util.isInteger(t.packetsReceived)&&!(t.packetsReceived&&$util.isInteger(t.packetsReceived.low)&&$util.isInteger(t.packetsReceived.high))?"packetsReceived: integer|Long expected":t.packetsReceivedLost!=null&&t.hasOwnProperty("packetsReceivedLost")&&!$util.isInteger(t.packetsReceivedLost)?"packetsReceivedLost: integer expected":t.packetAckSent!=null&&t.hasOwnProperty("packetAckSent")&&!$util.isInteger(t.packetAckSent)?"packetAckSent: integer expected":t.packetNackSent!=null&&t.hasOwnProperty("packetNackSent")&&!$util.isInteger(t.packetNackSent)?"packetNackSent: integer expected":t.bytesReceived!=null&&t.hasOwnProperty("bytesReceived")&&!$util.isInteger(t.bytesReceived)&&!(t.bytesReceived&&$util.isInteger(t.bytesReceived.low)&&$util.isInteger(t.bytesReceived.high))?"bytesReceived: integer|Long expected":t.bytesReceivedLost!=null&&t.hasOwnProperty("bytesReceivedLost")&&!$util.isInteger(t.bytesReceivedLost)&&!(t.bytesReceivedLost&&$util.isInteger(t.bytesReceivedLost.low)&&$util.isInteger(t.bytesReceivedLost.high))?"bytesReceivedLost: integer|Long expected":t.receiveRateMbps!=null&&t.hasOwnProperty("receiveRateMbps")&&typeof t.receiveRateMbps!="number"?"receiveRateMbps: number expected":t.tsbpdDelay!=null&&t.hasOwnProperty("tsbpdDelay")&&!$util.isInteger(t.tsbpdDelay)?"tsbpdDelay: integer expected":t.bandwidthMbps!=null&&t.hasOwnProperty("bandwidthMbps")&&typeof t.bandwidthMbps!="number"?"bandwidthMbps: number expected":t.rttMs!=null&&t.hasOwnProperty("rttMs")&&typeof t.rttMs!="number"?"rttMs: number expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.status.SRTReceiveStatistics)return t;let e=new $root.sesame.v1.status.SRTReceiveStatistics;return t.packetsReceived!=null&&($util.Long?(e.packetsReceived=$util.Long.fromValue(t.packetsReceived)).unsigned=!1:typeof t.packetsReceived=="string"?e.packetsReceived=parseInt(t.packetsReceived,10):typeof t.packetsReceived=="number"?e.packetsReceived=t.packetsReceived:typeof t.packetsReceived=="object"&&(e.packetsReceived=new $util.LongBits(t.packetsReceived.low>>>0,t.packetsReceived.high>>>0).toNumber())),t.packetsReceivedLost!=null&&(e.packetsReceivedLost=t.packetsReceivedLost|0),t.packetAckSent!=null&&(e.packetAckSent=t.packetAckSent|0),t.packetNackSent!=null&&(e.packetNackSent=t.packetNackSent|0),t.bytesReceived!=null&&($util.Long?(e.bytesReceived=$util.Long.fromValue(t.bytesReceived)).unsigned=!1:typeof t.bytesReceived=="string"?e.bytesReceived=parseInt(t.bytesReceived,10):typeof t.bytesReceived=="number"?e.bytesReceived=t.bytesReceived:typeof t.bytesReceived=="object"&&(e.bytesReceived=new $util.LongBits(t.bytesReceived.low>>>0,t.bytesReceived.high>>>0).toNumber())),t.bytesReceivedLost!=null&&($util.Long?(e.bytesReceivedLost=$util.Long.fromValue(t.bytesReceivedLost)).unsigned=!1:typeof t.bytesReceivedLost=="string"?e.bytesReceivedLost=parseInt(t.bytesReceivedLost,10):typeof t.bytesReceivedLost=="number"?e.bytesReceivedLost=t.bytesReceivedLost:typeof t.bytesReceivedLost=="object"&&(e.bytesReceivedLost=new $util.LongBits(t.bytesReceivedLost.low>>>0,t.bytesReceivedLost.high>>>0).toNumber())),t.receiveRateMbps!=null&&(e.receiveRateMbps=Number(t.receiveRateMbps)),t.tsbpdDelay!=null&&(e.tsbpdDelay=t.tsbpdDelay|0),t.bandwidthMbps!=null&&(e.bandwidthMbps=Number(t.bandwidthMbps)),t.rttMs!=null&&(e.rttMs=Number(t.rttMs)),e},n.toObject=function(t,e){e||(e={});let i={};if(e.defaults){if($util.Long){let a=new $util.Long(0,0,!1);i.packetsReceived=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.packetsReceived=e.longs===String?"0":0;if(i.packetsReceivedLost=0,i.packetAckSent=0,i.packetNackSent=0,$util.Long){let a=new $util.Long(0,0,!1);i.bytesReceived=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.bytesReceived=e.longs===String?"0":0;if($util.Long){let a=new $util.Long(0,0,!1);i.bytesReceivedLost=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.bytesReceivedLost=e.longs===String?"0":0;i.receiveRateMbps=0,i.tsbpdDelay=0,i.bandwidthMbps=0,i.rttMs=0}return t.packetsReceived!=null&&t.hasOwnProperty("packetsReceived")&&(typeof t.packetsReceived=="number"?i.packetsReceived=e.longs===String?String(t.packetsReceived):t.packetsReceived:i.packetsReceived=e.longs===String?$util.Long.prototype.toString.call(t.packetsReceived):e.longs===Number?new $util.LongBits(t.packetsReceived.low>>>0,t.packetsReceived.high>>>0).toNumber():t.packetsReceived),t.packetsReceivedLost!=null&&t.hasOwnProperty("packetsReceivedLost")&&(i.packetsReceivedLost=t.packetsReceivedLost),t.packetAckSent!=null&&t.hasOwnProperty("packetAckSent")&&(i.packetAckSent=t.packetAckSent),t.packetNackSent!=null&&t.hasOwnProperty("packetNackSent")&&(i.packetNackSent=t.packetNackSent),t.bytesReceived!=null&&t.hasOwnProperty("bytesReceived")&&(typeof t.bytesReceived=="number"?i.bytesReceived=e.longs===String?String(t.bytesReceived):t.bytesReceived:i.bytesReceived=e.longs===String?$util.Long.prototype.toString.call(t.bytesReceived):e.longs===Number?new $util.LongBits(t.bytesReceived.low>>>0,t.bytesReceived.high>>>0).toNumber():t.bytesReceived),t.bytesReceivedLost!=null&&t.hasOwnProperty("bytesReceivedLost")&&(typeof t.bytesReceivedLost=="number"?i.bytesReceivedLost=e.longs===String?String(t.bytesReceivedLost):t.bytesReceivedLost:i.bytesReceivedLost=e.longs===String?$util.Long.prototype.toString.call(t.bytesReceivedLost):e.longs===Number?new $util.LongBits(t.bytesReceivedLost.low>>>0,t.bytesReceivedLost.high>>>0).toNumber():t.bytesReceivedLost),t.receiveRateMbps!=null&&t.hasOwnProperty("receiveRateMbps")&&(i.receiveRateMbps=e.json&&!isFinite(t.receiveRateMbps)?String(t.receiveRateMbps):t.receiveRateMbps),t.tsbpdDelay!=null&&t.hasOwnProperty("tsbpdDelay")&&(i.tsbpdDelay=t.tsbpdDelay),t.bandwidthMbps!=null&&t.hasOwnProperty("bandwidthMbps")&&(i.bandwidthMbps=e.json&&!isFinite(t.bandwidthMbps)?String(t.bandwidthMbps):t.bandwidthMbps),t.rttMs!=null&&t.hasOwnProperty("rttMs")&&(i.rttMs=e.json&&!isFinite(t.rttMs)?String(t.rttMs):t.rttMs),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.status.SRTReceiveStatistics"},n}(),l.SRTSendStatistics=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.packetsSent=$util.Long?$util.Long.fromBits(0,0,!1):0,n.prototype.packetsSentLost=0,n.prototype.packetsSentDropped=0,n.prototype.packetsRetransmitted=0,n.prototype.packetAckReceived=0,n.prototype.packetNackReceived=0,n.prototype.bytesSent=$util.Long?$util.Long.fromBits(0,0,!1):0,n.prototype.bytesSentDropped=$util.Long?$util.Long.fromBits(0,0,!1):0,n.prototype.sendRateMbps=0,n.prototype.bandwidthMbps=0,n.prototype.rttMs=0,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.packetsSent!=null&&Object.hasOwnProperty.call(t,"packetsSent")&&e.uint32(8).int64(t.packetsSent),t.packetsSentLost!=null&&Object.hasOwnProperty.call(t,"packetsSentLost")&&e.uint32(16).int32(t.packetsSentLost),t.packetsSentDropped!=null&&Object.hasOwnProperty.call(t,"packetsSentDropped")&&e.uint32(24).int32(t.packetsSentDropped),t.packetsRetransmitted!=null&&Object.hasOwnProperty.call(t,"packetsRetransmitted")&&e.uint32(32).int32(t.packetsRetransmitted),t.packetAckReceived!=null&&Object.hasOwnProperty.call(t,"packetAckReceived")&&e.uint32(40).int32(t.packetAckReceived),t.packetNackReceived!=null&&Object.hasOwnProperty.call(t,"packetNackReceived")&&e.uint32(48).int32(t.packetNackReceived),t.bytesSent!=null&&Object.hasOwnProperty.call(t,"bytesSent")&&e.uint32(56).int64(t.bytesSent),t.bytesSentDropped!=null&&Object.hasOwnProperty.call(t,"bytesSentDropped")&&e.uint32(64).int64(t.bytesSentDropped),t.sendRateMbps!=null&&Object.hasOwnProperty.call(t,"sendRateMbps")&&e.uint32(73).double(t.sendRateMbps),t.bandwidthMbps!=null&&Object.hasOwnProperty.call(t,"bandwidthMbps")&&e.uint32(81).double(t.bandwidthMbps),t.rttMs!=null&&Object.hasOwnProperty.call(t,"rttMs")&&e.uint32(89).double(t.rttMs),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.status.SRTSendStatistics;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.packetsSent=t.int64();break}case 2:{s.packetsSentLost=t.int32();break}case 3:{s.packetsSentDropped=t.int32();break}case 4:{s.packetsRetransmitted=t.int32();break}case 5:{s.packetAckReceived=t.int32();break}case 6:{s.packetNackReceived=t.int32();break}case 7:{s.bytesSent=t.int64();break}case 8:{s.bytesSentDropped=t.int64();break}case 9:{s.sendRateMbps=t.double();break}case 10:{s.bandwidthMbps=t.double();break}case 11:{s.rttMs=t.double();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.packetsSent!=null&&t.hasOwnProperty("packetsSent")&&!$util.isInteger(t.packetsSent)&&!(t.packetsSent&&$util.isInteger(t.packetsSent.low)&&$util.isInteger(t.packetsSent.high))?"packetsSent: integer|Long expected":t.packetsSentLost!=null&&t.hasOwnProperty("packetsSentLost")&&!$util.isInteger(t.packetsSentLost)?"packetsSentLost: integer expected":t.packetsSentDropped!=null&&t.hasOwnProperty("packetsSentDropped")&&!$util.isInteger(t.packetsSentDropped)?"packetsSentDropped: integer expected":t.packetsRetransmitted!=null&&t.hasOwnProperty("packetsRetransmitted")&&!$util.isInteger(t.packetsRetransmitted)?"packetsRetransmitted: integer expected":t.packetAckReceived!=null&&t.hasOwnProperty("packetAckReceived")&&!$util.isInteger(t.packetAckReceived)?"packetAckReceived: integer expected":t.packetNackReceived!=null&&t.hasOwnProperty("packetNackReceived")&&!$util.isInteger(t.packetNackReceived)?"packetNackReceived: integer expected":t.bytesSent!=null&&t.hasOwnProperty("bytesSent")&&!$util.isInteger(t.bytesSent)&&!(t.bytesSent&&$util.isInteger(t.bytesSent.low)&&$util.isInteger(t.bytesSent.high))?"bytesSent: integer|Long expected":t.bytesSentDropped!=null&&t.hasOwnProperty("bytesSentDropped")&&!$util.isInteger(t.bytesSentDropped)&&!(t.bytesSentDropped&&$util.isInteger(t.bytesSentDropped.low)&&$util.isInteger(t.bytesSentDropped.high))?"bytesSentDropped: integer|Long expected":t.sendRateMbps!=null&&t.hasOwnProperty("sendRateMbps")&&typeof t.sendRateMbps!="number"?"sendRateMbps: number expected":t.bandwidthMbps!=null&&t.hasOwnProperty("bandwidthMbps")&&typeof t.bandwidthMbps!="number"?"bandwidthMbps: number expected":t.rttMs!=null&&t.hasOwnProperty("rttMs")&&typeof t.rttMs!="number"?"rttMs: number expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.status.SRTSendStatistics)return t;let e=new $root.sesame.v1.status.SRTSendStatistics;return t.packetsSent!=null&&($util.Long?(e.packetsSent=$util.Long.fromValue(t.packetsSent)).unsigned=!1:typeof t.packetsSent=="string"?e.packetsSent=parseInt(t.packetsSent,10):typeof t.packetsSent=="number"?e.packetsSent=t.packetsSent:typeof t.packetsSent=="object"&&(e.packetsSent=new $util.LongBits(t.packetsSent.low>>>0,t.packetsSent.high>>>0).toNumber())),t.packetsSentLost!=null&&(e.packetsSentLost=t.packetsSentLost|0),t.packetsSentDropped!=null&&(e.packetsSentDropped=t.packetsSentDropped|0),t.packetsRetransmitted!=null&&(e.packetsRetransmitted=t.packetsRetransmitted|0),t.packetAckReceived!=null&&(e.packetAckReceived=t.packetAckReceived|0),t.packetNackReceived!=null&&(e.packetNackReceived=t.packetNackReceived|0),t.bytesSent!=null&&($util.Long?(e.bytesSent=$util.Long.fromValue(t.bytesSent)).unsigned=!1:typeof t.bytesSent=="string"?e.bytesSent=parseInt(t.bytesSent,10):typeof t.bytesSent=="number"?e.bytesSent=t.bytesSent:typeof t.bytesSent=="object"&&(e.bytesSent=new $util.LongBits(t.bytesSent.low>>>0,t.bytesSent.high>>>0).toNumber())),t.bytesSentDropped!=null&&($util.Long?(e.bytesSentDropped=$util.Long.fromValue(t.bytesSentDropped)).unsigned=!1:typeof t.bytesSentDropped=="string"?e.bytesSentDropped=parseInt(t.bytesSentDropped,10):typeof t.bytesSentDropped=="number"?e.bytesSentDropped=t.bytesSentDropped:typeof t.bytesSentDropped=="object"&&(e.bytesSentDropped=new $util.LongBits(t.bytesSentDropped.low>>>0,t.bytesSentDropped.high>>>0).toNumber())),t.sendRateMbps!=null&&(e.sendRateMbps=Number(t.sendRateMbps)),t.bandwidthMbps!=null&&(e.bandwidthMbps=Number(t.bandwidthMbps)),t.rttMs!=null&&(e.rttMs=Number(t.rttMs)),e},n.toObject=function(t,e){e||(e={});let i={};if(e.defaults){if($util.Long){let a=new $util.Long(0,0,!1);i.packetsSent=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.packetsSent=e.longs===String?"0":0;if(i.packetsSentLost=0,i.packetsSentDropped=0,i.packetsRetransmitted=0,i.packetAckReceived=0,i.packetNackReceived=0,$util.Long){let a=new $util.Long(0,0,!1);i.bytesSent=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.bytesSent=e.longs===String?"0":0;if($util.Long){let a=new $util.Long(0,0,!1);i.bytesSentDropped=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.bytesSentDropped=e.longs===String?"0":0;i.sendRateMbps=0,i.bandwidthMbps=0,i.rttMs=0}return t.packetsSent!=null&&t.hasOwnProperty("packetsSent")&&(typeof t.packetsSent=="number"?i.packetsSent=e.longs===String?String(t.packetsSent):t.packetsSent:i.packetsSent=e.longs===String?$util.Long.prototype.toString.call(t.packetsSent):e.longs===Number?new $util.LongBits(t.packetsSent.low>>>0,t.packetsSent.high>>>0).toNumber():t.packetsSent),t.packetsSentLost!=null&&t.hasOwnProperty("packetsSentLost")&&(i.packetsSentLost=t.packetsSentLost),t.packetsSentDropped!=null&&t.hasOwnProperty("packetsSentDropped")&&(i.packetsSentDropped=t.packetsSentDropped),t.packetsRetransmitted!=null&&t.hasOwnProperty("packetsRetransmitted")&&(i.packetsRetransmitted=t.packetsRetransmitted),t.packetAckReceived!=null&&t.hasOwnProperty("packetAckReceived")&&(i.packetAckReceived=t.packetAckReceived),t.packetNackReceived!=null&&t.hasOwnProperty("packetNackReceived")&&(i.packetNackReceived=t.packetNackReceived),t.bytesSent!=null&&t.hasOwnProperty("bytesSent")&&(typeof t.bytesSent=="number"?i.bytesSent=e.longs===String?String(t.bytesSent):t.bytesSent:i.bytesSent=e.longs===String?$util.Long.prototype.toString.call(t.bytesSent):e.longs===Number?new $util.LongBits(t.bytesSent.low>>>0,t.bytesSent.high>>>0).toNumber():t.bytesSent),t.bytesSentDropped!=null&&t.hasOwnProperty("bytesSentDropped")&&(typeof t.bytesSentDropped=="number"?i.bytesSentDropped=e.longs===String?String(t.bytesSentDropped):t.bytesSentDropped:i.bytesSentDropped=e.longs===String?$util.Long.prototype.toString.call(t.bytesSentDropped):e.longs===Number?new $util.LongBits(t.bytesSentDropped.low>>>0,t.bytesSentDropped.high>>>0).toNumber():t.bytesSentDropped),t.sendRateMbps!=null&&t.hasOwnProperty("sendRateMbps")&&(i.sendRateMbps=e.json&&!isFinite(t.sendRateMbps)?String(t.sendRateMbps):t.sendRateMbps),t.bandwidthMbps!=null&&t.hasOwnProperty("bandwidthMbps")&&(i.bandwidthMbps=e.json&&!isFinite(t.bandwidthMbps)?String(t.bandwidthMbps):t.bandwidthMbps),t.rttMs!=null&&t.hasOwnProperty("rttMs")&&(i.rttMs=e.json&&!isFinite(t.rttMs)?String(t.rttMs):t.rttMs),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.status.SRTSendStatistics"},n}(),l.MemoryDomainStats=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.currentBytes=$util.Long?$util.Long.fromBits(0,0,!0):0,n.prototype.peakBytes=$util.Long?$util.Long.fromBits(0,0,!0):0,n.prototype.budgetBytes=$util.Long?$util.Long.fromBits(0,0,!0):0,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.currentBytes!=null&&Object.hasOwnProperty.call(t,"currentBytes")&&e.uint32(8).uint64(t.currentBytes),t.peakBytes!=null&&Object.hasOwnProperty.call(t,"peakBytes")&&e.uint32(16).uint64(t.peakBytes),t.budgetBytes!=null&&Object.hasOwnProperty.call(t,"budgetBytes")&&e.uint32(24).uint64(t.budgetBytes),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.status.MemoryDomainStats;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.currentBytes=t.uint64();break}case 2:{s.peakBytes=t.uint64();break}case 3:{s.budgetBytes=t.uint64();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.currentBytes!=null&&t.hasOwnProperty("currentBytes")&&!$util.isInteger(t.currentBytes)&&!(t.currentBytes&&$util.isInteger(t.currentBytes.low)&&$util.isInteger(t.currentBytes.high))?"currentBytes: integer|Long expected":t.peakBytes!=null&&t.hasOwnProperty("peakBytes")&&!$util.isInteger(t.peakBytes)&&!(t.peakBytes&&$util.isInteger(t.peakBytes.low)&&$util.isInteger(t.peakBytes.high))?"peakBytes: integer|Long expected":t.budgetBytes!=null&&t.hasOwnProperty("budgetBytes")&&!$util.isInteger(t.budgetBytes)&&!(t.budgetBytes&&$util.isInteger(t.budgetBytes.low)&&$util.isInteger(t.budgetBytes.high))?"budgetBytes: integer|Long expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.status.MemoryDomainStats)return t;let e=new $root.sesame.v1.status.MemoryDomainStats;return t.currentBytes!=null&&($util.Long?(e.currentBytes=$util.Long.fromValue(t.currentBytes)).unsigned=!0:typeof t.currentBytes=="string"?e.currentBytes=parseInt(t.currentBytes,10):typeof t.currentBytes=="number"?e.currentBytes=t.currentBytes:typeof t.currentBytes=="object"&&(e.currentBytes=new $util.LongBits(t.currentBytes.low>>>0,t.currentBytes.high>>>0).toNumber(!0))),t.peakBytes!=null&&($util.Long?(e.peakBytes=$util.Long.fromValue(t.peakBytes)).unsigned=!0:typeof t.peakBytes=="string"?e.peakBytes=parseInt(t.peakBytes,10):typeof t.peakBytes=="number"?e.peakBytes=t.peakBytes:typeof t.peakBytes=="object"&&(e.peakBytes=new $util.LongBits(t.peakBytes.low>>>0,t.peakBytes.high>>>0).toNumber(!0))),t.budgetBytes!=null&&($util.Long?(e.budgetBytes=$util.Long.fromValue(t.budgetBytes)).unsigned=!0:typeof t.budgetBytes=="string"?e.budgetBytes=parseInt(t.budgetBytes,10):typeof t.budgetBytes=="number"?e.budgetBytes=t.budgetBytes:typeof t.budgetBytes=="object"&&(e.budgetBytes=new $util.LongBits(t.budgetBytes.low>>>0,t.budgetBytes.high>>>0).toNumber(!0))),e},n.toObject=function(t,e){e||(e={});let i={};if(e.defaults){if($util.Long){let a=new $util.Long(0,0,!0);i.currentBytes=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.currentBytes=e.longs===String?"0":0;if($util.Long){let a=new $util.Long(0,0,!0);i.peakBytes=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.peakBytes=e.longs===String?"0":0;if($util.Long){let a=new $util.Long(0,0,!0);i.budgetBytes=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.budgetBytes=e.longs===String?"0":0}return t.currentBytes!=null&&t.hasOwnProperty("currentBytes")&&(typeof t.currentBytes=="number"?i.currentBytes=e.longs===String?String(t.currentBytes):t.currentBytes:i.currentBytes=e.longs===String?$util.Long.prototype.toString.call(t.currentBytes):e.longs===Number?new $util.LongBits(t.currentBytes.low>>>0,t.currentBytes.high>>>0).toNumber(!0):t.currentBytes),t.peakBytes!=null&&t.hasOwnProperty("peakBytes")&&(typeof t.peakBytes=="number"?i.peakBytes=e.longs===String?String(t.peakBytes):t.peakBytes:i.peakBytes=e.longs===String?$util.Long.prototype.toString.call(t.peakBytes):e.longs===Number?new $util.LongBits(t.peakBytes.low>>>0,t.peakBytes.high>>>0).toNumber(!0):t.peakBytes),t.budgetBytes!=null&&t.hasOwnProperty("budgetBytes")&&(typeof t.budgetBytes=="number"?i.budgetBytes=e.longs===String?String(t.budgetBytes):t.budgetBytes:i.budgetBytes=e.longs===String?$util.Long.prototype.toString.call(t.budgetBytes):e.longs===Number?new $util.LongBits(t.budgetBytes.low>>>0,t.budgetBytes.high>>>0).toNumber(!0):t.budgetBytes),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.status.MemoryDomainStats"},n}(),l.SystemStatus=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.uptime=$util.Long?$util.Long.fromBits(0,0,!0):0,n.prototype.framedrops=0,n.prototype.framerate=0,n.prototype.gpuMem=$util.Long?$util.Long.fromBits(0,0,!0):0,n.prototype.cpuMem=$util.Long?$util.Long.fromBits(0,0,!0):0,n.prototype.memGpuPool=null,n.prototype.memCpuPool=null,n.prototype.memGpuAdhoc=null,n.prototype.memGpuPinned=null,n.prototype.gpuMemTotal=$util.Long?$util.Long.fromBits(0,0,!0):0,n.prototype.gpuMemUsed=$util.Long?$util.Long.fromBits(0,0,!0):0,n.prototype.gpuUtilization=0,n.prototype.gpuMemUtilization=0,n.prototype.gpuEncoderUtilization=0,n.prototype.gpuDecoderUtilization=0,n.prototype.gpuName="",n.prototype.vmaBytes=$util.Long?$util.Long.fromBits(0,0,!0):0,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.uptime!=null&&Object.hasOwnProperty.call(t,"uptime")&&e.uint32(8).uint64(t.uptime),t.framedrops!=null&&Object.hasOwnProperty.call(t,"framedrops")&&e.uint32(16).uint32(t.framedrops),t.framerate!=null&&Object.hasOwnProperty.call(t,"framerate")&&e.uint32(29).float(t.framerate),t.gpuMem!=null&&Object.hasOwnProperty.call(t,"gpuMem")&&e.uint32(32).uint64(t.gpuMem),t.cpuMem!=null&&Object.hasOwnProperty.call(t,"cpuMem")&&e.uint32(40).uint64(t.cpuMem),t.memGpuPool!=null&&Object.hasOwnProperty.call(t,"memGpuPool")&&$root.sesame.v1.status.MemoryDomainStats.encode(t.memGpuPool,e.uint32(50).fork()).ldelim(),t.memCpuPool!=null&&Object.hasOwnProperty.call(t,"memCpuPool")&&$root.sesame.v1.status.MemoryDomainStats.encode(t.memCpuPool,e.uint32(58).fork()).ldelim(),t.memGpuAdhoc!=null&&Object.hasOwnProperty.call(t,"memGpuAdhoc")&&$root.sesame.v1.status.MemoryDomainStats.encode(t.memGpuAdhoc,e.uint32(66).fork()).ldelim(),t.memGpuPinned!=null&&Object.hasOwnProperty.call(t,"memGpuPinned")&&$root.sesame.v1.status.MemoryDomainStats.encode(t.memGpuPinned,e.uint32(74).fork()).ldelim(),t.gpuMemTotal!=null&&Object.hasOwnProperty.call(t,"gpuMemTotal")&&e.uint32(80).uint64(t.gpuMemTotal),t.gpuMemUsed!=null&&Object.hasOwnProperty.call(t,"gpuMemUsed")&&e.uint32(88).uint64(t.gpuMemUsed),t.gpuUtilization!=null&&Object.hasOwnProperty.call(t,"gpuUtilization")&&e.uint32(96).uint32(t.gpuUtilization),t.gpuMemUtilization!=null&&Object.hasOwnProperty.call(t,"gpuMemUtilization")&&e.uint32(104).uint32(t.gpuMemUtilization),t.gpuEncoderUtilization!=null&&Object.hasOwnProperty.call(t,"gpuEncoderUtilization")&&e.uint32(112).uint32(t.gpuEncoderUtilization),t.gpuDecoderUtilization!=null&&Object.hasOwnProperty.call(t,"gpuDecoderUtilization")&&e.uint32(120).uint32(t.gpuDecoderUtilization),t.gpuName!=null&&Object.hasOwnProperty.call(t,"gpuName")&&e.uint32(130).string(t.gpuName),t.vmaBytes!=null&&Object.hasOwnProperty.call(t,"vmaBytes")&&e.uint32(136).uint64(t.vmaBytes),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.status.SystemStatus;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.uptime=t.uint64();break}case 2:{s.framedrops=t.uint32();break}case 3:{s.framerate=t.float();break}case 4:{s.gpuMem=t.uint64();break}case 5:{s.cpuMem=t.uint64();break}case 6:{s.memGpuPool=$root.sesame.v1.status.MemoryDomainStats.decode(t,t.uint32());break}case 7:{s.memCpuPool=$root.sesame.v1.status.MemoryDomainStats.decode(t,t.uint32());break}case 8:{s.memGpuAdhoc=$root.sesame.v1.status.MemoryDomainStats.decode(t,t.uint32());break}case 9:{s.memGpuPinned=$root.sesame.v1.status.MemoryDomainStats.decode(t,t.uint32());break}case 10:{s.gpuMemTotal=t.uint64();break}case 11:{s.gpuMemUsed=t.uint64();break}case 12:{s.gpuUtilization=t.uint32();break}case 13:{s.gpuMemUtilization=t.uint32();break}case 14:{s.gpuEncoderUtilization=t.uint32();break}case 15:{s.gpuDecoderUtilization=t.uint32();break}case 16:{s.gpuName=t.string();break}case 17:{s.vmaBytes=t.uint64();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.uptime!=null&&t.hasOwnProperty("uptime")&&!$util.isInteger(t.uptime)&&!(t.uptime&&$util.isInteger(t.uptime.low)&&$util.isInteger(t.uptime.high)))return"uptime: integer|Long expected";if(t.framedrops!=null&&t.hasOwnProperty("framedrops")&&!$util.isInteger(t.framedrops))return"framedrops: integer expected";if(t.framerate!=null&&t.hasOwnProperty("framerate")&&typeof t.framerate!="number")return"framerate: number expected";if(t.gpuMem!=null&&t.hasOwnProperty("gpuMem")&&!$util.isInteger(t.gpuMem)&&!(t.gpuMem&&$util.isInteger(t.gpuMem.low)&&$util.isInteger(t.gpuMem.high)))return"gpuMem: integer|Long expected";if(t.cpuMem!=null&&t.hasOwnProperty("cpuMem")&&!$util.isInteger(t.cpuMem)&&!(t.cpuMem&&$util.isInteger(t.cpuMem.low)&&$util.isInteger(t.cpuMem.high)))return"cpuMem: integer|Long expected";if(t.memGpuPool!=null&&t.hasOwnProperty("memGpuPool")){let e=$root.sesame.v1.status.MemoryDomainStats.verify(t.memGpuPool);if(e)return"memGpuPool."+e}if(t.memCpuPool!=null&&t.hasOwnProperty("memCpuPool")){let e=$root.sesame.v1.status.MemoryDomainStats.verify(t.memCpuPool);if(e)return"memCpuPool."+e}if(t.memGpuAdhoc!=null&&t.hasOwnProperty("memGpuAdhoc")){let e=$root.sesame.v1.status.MemoryDomainStats.verify(t.memGpuAdhoc);if(e)return"memGpuAdhoc."+e}if(t.memGpuPinned!=null&&t.hasOwnProperty("memGpuPinned")){let e=$root.sesame.v1.status.MemoryDomainStats.verify(t.memGpuPinned);if(e)return"memGpuPinned."+e}return t.gpuMemTotal!=null&&t.hasOwnProperty("gpuMemTotal")&&!$util.isInteger(t.gpuMemTotal)&&!(t.gpuMemTotal&&$util.isInteger(t.gpuMemTotal.low)&&$util.isInteger(t.gpuMemTotal.high))?"gpuMemTotal: integer|Long expected":t.gpuMemUsed!=null&&t.hasOwnProperty("gpuMemUsed")&&!$util.isInteger(t.gpuMemUsed)&&!(t.gpuMemUsed&&$util.isInteger(t.gpuMemUsed.low)&&$util.isInteger(t.gpuMemUsed.high))?"gpuMemUsed: integer|Long expected":t.gpuUtilization!=null&&t.hasOwnProperty("gpuUtilization")&&!$util.isInteger(t.gpuUtilization)?"gpuUtilization: integer expected":t.gpuMemUtilization!=null&&t.hasOwnProperty("gpuMemUtilization")&&!$util.isInteger(t.gpuMemUtilization)?"gpuMemUtilization: integer expected":t.gpuEncoderUtilization!=null&&t.hasOwnProperty("gpuEncoderUtilization")&&!$util.isInteger(t.gpuEncoderUtilization)?"gpuEncoderUtilization: integer expected":t.gpuDecoderUtilization!=null&&t.hasOwnProperty("gpuDecoderUtilization")&&!$util.isInteger(t.gpuDecoderUtilization)?"gpuDecoderUtilization: integer expected":t.gpuName!=null&&t.hasOwnProperty("gpuName")&&!$util.isString(t.gpuName)?"gpuName: string expected":t.vmaBytes!=null&&t.hasOwnProperty("vmaBytes")&&!$util.isInteger(t.vmaBytes)&&!(t.vmaBytes&&$util.isInteger(t.vmaBytes.low)&&$util.isInteger(t.vmaBytes.high))?"vmaBytes: integer|Long expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.status.SystemStatus)return t;let e=new $root.sesame.v1.status.SystemStatus;if(t.uptime!=null&&($util.Long?(e.uptime=$util.Long.fromValue(t.uptime)).unsigned=!0:typeof t.uptime=="string"?e.uptime=parseInt(t.uptime,10):typeof t.uptime=="number"?e.uptime=t.uptime:typeof t.uptime=="object"&&(e.uptime=new $util.LongBits(t.uptime.low>>>0,t.uptime.high>>>0).toNumber(!0))),t.framedrops!=null&&(e.framedrops=t.framedrops>>>0),t.framerate!=null&&(e.framerate=Number(t.framerate)),t.gpuMem!=null&&($util.Long?(e.gpuMem=$util.Long.fromValue(t.gpuMem)).unsigned=!0:typeof t.gpuMem=="string"?e.gpuMem=parseInt(t.gpuMem,10):typeof t.gpuMem=="number"?e.gpuMem=t.gpuMem:typeof t.gpuMem=="object"&&(e.gpuMem=new $util.LongBits(t.gpuMem.low>>>0,t.gpuMem.high>>>0).toNumber(!0))),t.cpuMem!=null&&($util.Long?(e.cpuMem=$util.Long.fromValue(t.cpuMem)).unsigned=!0:typeof t.cpuMem=="string"?e.cpuMem=parseInt(t.cpuMem,10):typeof t.cpuMem=="number"?e.cpuMem=t.cpuMem:typeof t.cpuMem=="object"&&(e.cpuMem=new $util.LongBits(t.cpuMem.low>>>0,t.cpuMem.high>>>0).toNumber(!0))),t.memGpuPool!=null){if(typeof t.memGpuPool!="object")throw TypeError(".sesame.v1.status.SystemStatus.memGpuPool: object expected");e.memGpuPool=$root.sesame.v1.status.MemoryDomainStats.fromObject(t.memGpuPool)}if(t.memCpuPool!=null){if(typeof t.memCpuPool!="object")throw TypeError(".sesame.v1.status.SystemStatus.memCpuPool: object expected");e.memCpuPool=$root.sesame.v1.status.MemoryDomainStats.fromObject(t.memCpuPool)}if(t.memGpuAdhoc!=null){if(typeof t.memGpuAdhoc!="object")throw TypeError(".sesame.v1.status.SystemStatus.memGpuAdhoc: object expected");e.memGpuAdhoc=$root.sesame.v1.status.MemoryDomainStats.fromObject(t.memGpuAdhoc)}if(t.memGpuPinned!=null){if(typeof t.memGpuPinned!="object")throw TypeError(".sesame.v1.status.SystemStatus.memGpuPinned: object expected");e.memGpuPinned=$root.sesame.v1.status.MemoryDomainStats.fromObject(t.memGpuPinned)}return t.gpuMemTotal!=null&&($util.Long?(e.gpuMemTotal=$util.Long.fromValue(t.gpuMemTotal)).unsigned=!0:typeof t.gpuMemTotal=="string"?e.gpuMemTotal=parseInt(t.gpuMemTotal,10):typeof t.gpuMemTotal=="number"?e.gpuMemTotal=t.gpuMemTotal:typeof t.gpuMemTotal=="object"&&(e.gpuMemTotal=new $util.LongBits(t.gpuMemTotal.low>>>0,t.gpuMemTotal.high>>>0).toNumber(!0))),t.gpuMemUsed!=null&&($util.Long?(e.gpuMemUsed=$util.Long.fromValue(t.gpuMemUsed)).unsigned=!0:typeof t.gpuMemUsed=="string"?e.gpuMemUsed=parseInt(t.gpuMemUsed,10):typeof t.gpuMemUsed=="number"?e.gpuMemUsed=t.gpuMemUsed:typeof t.gpuMemUsed=="object"&&(e.gpuMemUsed=new $util.LongBits(t.gpuMemUsed.low>>>0,t.gpuMemUsed.high>>>0).toNumber(!0))),t.gpuUtilization!=null&&(e.gpuUtilization=t.gpuUtilization>>>0),t.gpuMemUtilization!=null&&(e.gpuMemUtilization=t.gpuMemUtilization>>>0),t.gpuEncoderUtilization!=null&&(e.gpuEncoderUtilization=t.gpuEncoderUtilization>>>0),t.gpuDecoderUtilization!=null&&(e.gpuDecoderUtilization=t.gpuDecoderUtilization>>>0),t.gpuName!=null&&(e.gpuName=String(t.gpuName)),t.vmaBytes!=null&&($util.Long?(e.vmaBytes=$util.Long.fromValue(t.vmaBytes)).unsigned=!0:typeof t.vmaBytes=="string"?e.vmaBytes=parseInt(t.vmaBytes,10):typeof t.vmaBytes=="number"?e.vmaBytes=t.vmaBytes:typeof t.vmaBytes=="object"&&(e.vmaBytes=new $util.LongBits(t.vmaBytes.low>>>0,t.vmaBytes.high>>>0).toNumber(!0))),e},n.toObject=function(t,e){e||(e={});let i={};if(e.defaults){if($util.Long){let a=new $util.Long(0,0,!0);i.uptime=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.uptime=e.longs===String?"0":0;if(i.framedrops=0,i.framerate=0,$util.Long){let a=new $util.Long(0,0,!0);i.gpuMem=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.gpuMem=e.longs===String?"0":0;if($util.Long){let a=new $util.Long(0,0,!0);i.cpuMem=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.cpuMem=e.longs===String?"0":0;if(i.memGpuPool=null,i.memCpuPool=null,i.memGpuAdhoc=null,i.memGpuPinned=null,$util.Long){let a=new $util.Long(0,0,!0);i.gpuMemTotal=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.gpuMemTotal=e.longs===String?"0":0;if($util.Long){let a=new $util.Long(0,0,!0);i.gpuMemUsed=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.gpuMemUsed=e.longs===String?"0":0;if(i.gpuUtilization=0,i.gpuMemUtilization=0,i.gpuEncoderUtilization=0,i.gpuDecoderUtilization=0,i.gpuName="",$util.Long){let a=new $util.Long(0,0,!0);i.vmaBytes=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.vmaBytes=e.longs===String?"0":0}return t.uptime!=null&&t.hasOwnProperty("uptime")&&(typeof t.uptime=="number"?i.uptime=e.longs===String?String(t.uptime):t.uptime:i.uptime=e.longs===String?$util.Long.prototype.toString.call(t.uptime):e.longs===Number?new $util.LongBits(t.uptime.low>>>0,t.uptime.high>>>0).toNumber(!0):t.uptime),t.framedrops!=null&&t.hasOwnProperty("framedrops")&&(i.framedrops=t.framedrops),t.framerate!=null&&t.hasOwnProperty("framerate")&&(i.framerate=e.json&&!isFinite(t.framerate)?String(t.framerate):t.framerate),t.gpuMem!=null&&t.hasOwnProperty("gpuMem")&&(typeof t.gpuMem=="number"?i.gpuMem=e.longs===String?String(t.gpuMem):t.gpuMem:i.gpuMem=e.longs===String?$util.Long.prototype.toString.call(t.gpuMem):e.longs===Number?new $util.LongBits(t.gpuMem.low>>>0,t.gpuMem.high>>>0).toNumber(!0):t.gpuMem),t.cpuMem!=null&&t.hasOwnProperty("cpuMem")&&(typeof t.cpuMem=="number"?i.cpuMem=e.longs===String?String(t.cpuMem):t.cpuMem:i.cpuMem=e.longs===String?$util.Long.prototype.toString.call(t.cpuMem):e.longs===Number?new $util.LongBits(t.cpuMem.low>>>0,t.cpuMem.high>>>0).toNumber(!0):t.cpuMem),t.memGpuPool!=null&&t.hasOwnProperty("memGpuPool")&&(i.memGpuPool=$root.sesame.v1.status.MemoryDomainStats.toObject(t.memGpuPool,e)),t.memCpuPool!=null&&t.hasOwnProperty("memCpuPool")&&(i.memCpuPool=$root.sesame.v1.status.MemoryDomainStats.toObject(t.memCpuPool,e)),t.memGpuAdhoc!=null&&t.hasOwnProperty("memGpuAdhoc")&&(i.memGpuAdhoc=$root.sesame.v1.status.MemoryDomainStats.toObject(t.memGpuAdhoc,e)),t.memGpuPinned!=null&&t.hasOwnProperty("memGpuPinned")&&(i.memGpuPinned=$root.sesame.v1.status.MemoryDomainStats.toObject(t.memGpuPinned,e)),t.gpuMemTotal!=null&&t.hasOwnProperty("gpuMemTotal")&&(typeof t.gpuMemTotal=="number"?i.gpuMemTotal=e.longs===String?String(t.gpuMemTotal):t.gpuMemTotal:i.gpuMemTotal=e.longs===String?$util.Long.prototype.toString.call(t.gpuMemTotal):e.longs===Number?new $util.LongBits(t.gpuMemTotal.low>>>0,t.gpuMemTotal.high>>>0).toNumber(!0):t.gpuMemTotal),t.gpuMemUsed!=null&&t.hasOwnProperty("gpuMemUsed")&&(typeof t.gpuMemUsed=="number"?i.gpuMemUsed=e.longs===String?String(t.gpuMemUsed):t.gpuMemUsed:i.gpuMemUsed=e.longs===String?$util.Long.prototype.toString.call(t.gpuMemUsed):e.longs===Number?new $util.LongBits(t.gpuMemUsed.low>>>0,t.gpuMemUsed.high>>>0).toNumber(!0):t.gpuMemUsed),t.gpuUtilization!=null&&t.hasOwnProperty("gpuUtilization")&&(i.gpuUtilization=t.gpuUtilization),t.gpuMemUtilization!=null&&t.hasOwnProperty("gpuMemUtilization")&&(i.gpuMemUtilization=t.gpuMemUtilization),t.gpuEncoderUtilization!=null&&t.hasOwnProperty("gpuEncoderUtilization")&&(i.gpuEncoderUtilization=t.gpuEncoderUtilization),t.gpuDecoderUtilization!=null&&t.hasOwnProperty("gpuDecoderUtilization")&&(i.gpuDecoderUtilization=t.gpuDecoderUtilization),t.gpuName!=null&&t.hasOwnProperty("gpuName")&&(i.gpuName=t.gpuName),t.vmaBytes!=null&&t.hasOwnProperty("vmaBytes")&&(typeof t.vmaBytes=="number"?i.vmaBytes=e.longs===String?String(t.vmaBytes):t.vmaBytes:i.vmaBytes=e.longs===String?$util.Long.prototype.toString.call(t.vmaBytes):e.longs===Number?new $util.LongBits(t.vmaBytes.low>>>0,t.vmaBytes.high>>>0).toNumber(!0):t.vmaBytes),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.status.SystemStatus"},n}(),l.CompositorStatus=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.id="",n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.id!=null&&Object.hasOwnProperty.call(t,"id")&&e.uint32(10).string(t.id),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.status.CompositorStatus;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.id=t.string();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.id!=null&&t.hasOwnProperty("id")&&!$util.isString(t.id)?"id: string expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.status.CompositorStatus)return t;let e=new $root.sesame.v1.status.CompositorStatus;return t.id!=null&&(e.id=String(t.id)),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.id=""),t.id!=null&&t.hasOwnProperty("id")&&(i.id=t.id),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.status.CompositorStatus"},n}(),l.IODeviceType=function(){const n={},r=Object.create(n);return r[n[0]="IO_DEVICE_TYPE_UNSPECIFIED"]=0,r[n[1]="IO_DEVICE_TYPE_VIDEO_INPUT"]=1,r[n[2]="IO_DEVICE_TYPE_VIDEO_OUTPUT"]=2,r[n[3]="IO_DEVICE_TYPE_AUDIO_INPUT"]=3,r[n[4]="IO_DEVICE_TYPE_AUDIO_OUTPUT"]=4,r}(),l.IODeviceItem=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.id="",n.prototype.name="",n.prototype.type=0,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.id!=null&&Object.hasOwnProperty.call(t,"id")&&e.uint32(10).string(t.id),t.name!=null&&Object.hasOwnProperty.call(t,"name")&&e.uint32(18).string(t.name),t.type!=null&&Object.hasOwnProperty.call(t,"type")&&e.uint32(24).int32(t.type),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.status.IODeviceItem;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.id=t.string();break}case 2:{s.name=t.string();break}case 3:{s.type=t.int32();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.id!=null&&t.hasOwnProperty("id")&&!$util.isString(t.id))return"id: string expected";if(t.name!=null&&t.hasOwnProperty("name")&&!$util.isString(t.name))return"name: string expected";if(t.type!=null&&t.hasOwnProperty("type"))switch(t.type){default:return"type: enum value expected";case 0:case 1:case 2:case 3:case 4:break}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.status.IODeviceItem)return t;let e=new $root.sesame.v1.status.IODeviceItem;switch(t.id!=null&&(e.id=String(t.id)),t.name!=null&&(e.name=String(t.name)),t.type){default:if(typeof t.type=="number"){e.type=t.type;break}break;case"IO_DEVICE_TYPE_UNSPECIFIED":case 0:e.type=0;break;case"IO_DEVICE_TYPE_VIDEO_INPUT":case 1:e.type=1;break;case"IO_DEVICE_TYPE_VIDEO_OUTPUT":case 2:e.type=2;break;case"IO_DEVICE_TYPE_AUDIO_INPUT":case 3:e.type=3;break;case"IO_DEVICE_TYPE_AUDIO_OUTPUT":case 4:e.type=4;break}return e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.id="",i.name="",i.type=e.enums===String?"IO_DEVICE_TYPE_UNSPECIFIED":0),t.id!=null&&t.hasOwnProperty("id")&&(i.id=t.id),t.name!=null&&t.hasOwnProperty("name")&&(i.name=t.name),t.type!=null&&t.hasOwnProperty("type")&&(i.type=e.enums===String?$root.sesame.v1.status.IODeviceType[t.type]===void 0?t.type:$root.sesame.v1.status.IODeviceType[t.type]:t.type),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.status.IODeviceItem"},n}(),l.IODeviceListResponse=function(){function n(r){if(this.devices=[],r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.devices=$util.emptyArray,n.create=function(t){return new n(t)},n.encode=function(t,e){if(e||(e=$Writer.create()),t.devices!=null&&t.devices.length)for(let i=0;i<t.devices.length;++i)$root.sesame.v1.status.IODeviceItem.encode(t.devices[i],e.uint32(10).fork()).ldelim();return e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.status.IODeviceListResponse;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.devices&&s.devices.length||(s.devices=[]),s.devices.push($root.sesame.v1.status.IODeviceItem.decode(t,t.uint32()));break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.devices!=null&&t.hasOwnProperty("devices")){if(!Array.isArray(t.devices))return"devices: array expected";for(let e=0;e<t.devices.length;++e){let i=$root.sesame.v1.status.IODeviceItem.verify(t.devices[e]);if(i)return"devices."+i}}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.status.IODeviceListResponse)return t;let e=new $root.sesame.v1.status.IODeviceListResponse;if(t.devices){if(!Array.isArray(t.devices))throw TypeError(".sesame.v1.status.IODeviceListResponse.devices: array expected");e.devices=[];for(let i=0;i<t.devices.length;++i){if(typeof t.devices[i]!="object")throw TypeError(".sesame.v1.status.IODeviceListResponse.devices: object expected");e.devices[i]=$root.sesame.v1.status.IODeviceItem.fromObject(t.devices[i])}}return e},n.toObject=function(t,e){e||(e={});let i={};if((e.arrays||e.defaults)&&(i.devices=[]),t.devices&&t.devices.length){i.devices=[];for(let a=0;a<t.devices.length;++a)i.devices[a]=$root.sesame.v1.status.IODeviceItem.toObject(t.devices[a],e)}return i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.status.IODeviceListResponse"},n}(),l.Status=function(){function n(r){if(this.sources=[],this.compositions=[],this.audioMixes=[],this.outputs=[],this.recorders=[],r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.systemStatus=null,n.prototype.renderStatusGpu=null,n.prototype.renderStatusCpu=null,n.prototype.sources=$util.emptyArray,n.prototype.compositions=$util.emptyArray,n.prototype.audioMixes=$util.emptyArray,n.prototype.outputs=$util.emptyArray,n.prototype.recorders=$util.emptyArray,n.create=function(t){return new n(t)},n.encode=function(t,e){if(e||(e=$Writer.create()),t.systemStatus!=null&&Object.hasOwnProperty.call(t,"systemStatus")&&$root.sesame.v1.status.SystemStatus.encode(t.systemStatus,e.uint32(10).fork()).ldelim(),t.renderStatusGpu!=null&&Object.hasOwnProperty.call(t,"renderStatusGpu")&&$root.sesame.v1.status.FrameTiming.encode(t.renderStatusGpu,e.uint32(18).fork()).ldelim(),t.renderStatusCpu!=null&&Object.hasOwnProperty.call(t,"renderStatusCpu")&&$root.sesame.v1.status.FrameTiming.encode(t.renderStatusCpu,e.uint32(26).fork()).ldelim(),t.sources!=null&&t.sources.length)for(let i=0;i<t.sources.length;++i)$root.sesame.v1.sources.SourceStatus.encode(t.sources[i],e.uint32(34).fork()).ldelim();if(t.compositions!=null&&t.compositions.length)for(let i=0;i<t.compositions.length;++i)$root.sesame.v1.status.CompositorStatus.encode(t.compositions[i],e.uint32(42).fork()).ldelim();if(t.audioMixes!=null&&t.audioMixes.length)for(let i=0;i<t.audioMixes.length;++i)$root.sesame.v1.audio.AudioMixerStatus.encode(t.audioMixes[i],e.uint32(50).fork()).ldelim();if(t.outputs!=null&&t.outputs.length)for(let i=0;i<t.outputs.length;++i)$root.sesame.v1.outputs.OutputStatus.encode(t.outputs[i],e.uint32(58).fork()).ldelim();if(t.recorders!=null&&t.recorders.length)for(let i=0;i<t.recorders.length;++i)$root.sesame.v1.recorder.RecorderStatus.encode(t.recorders[i],e.uint32(66).fork()).ldelim();return e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.status.Status;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.systemStatus=$root.sesame.v1.status.SystemStatus.decode(t,t.uint32());break}case 2:{s.renderStatusGpu=$root.sesame.v1.status.FrameTiming.decode(t,t.uint32());break}case 3:{s.renderStatusCpu=$root.sesame.v1.status.FrameTiming.decode(t,t.uint32());break}case 4:{s.sources&&s.sources.length||(s.sources=[]),s.sources.push($root.sesame.v1.sources.SourceStatus.decode(t,t.uint32()));break}case 5:{s.compositions&&s.compositions.length||(s.compositions=[]),s.compositions.push($root.sesame.v1.status.CompositorStatus.decode(t,t.uint32()));break}case 6:{s.audioMixes&&s.audioMixes.length||(s.audioMixes=[]),s.audioMixes.push($root.sesame.v1.audio.AudioMixerStatus.decode(t,t.uint32()));break}case 7:{s.outputs&&s.outputs.length||(s.outputs=[]),s.outputs.push($root.sesame.v1.outputs.OutputStatus.decode(t,t.uint32()));break}case 8:{s.recorders&&s.recorders.length||(s.recorders=[]),s.recorders.push($root.sesame.v1.recorder.RecorderStatus.decode(t,t.uint32()));break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.systemStatus!=null&&t.hasOwnProperty("systemStatus")){let e=$root.sesame.v1.status.SystemStatus.verify(t.systemStatus);if(e)return"systemStatus."+e}if(t.renderStatusGpu!=null&&t.hasOwnProperty("renderStatusGpu")){let e=$root.sesame.v1.status.FrameTiming.verify(t.renderStatusGpu);if(e)return"renderStatusGpu."+e}if(t.renderStatusCpu!=null&&t.hasOwnProperty("renderStatusCpu")){let e=$root.sesame.v1.status.FrameTiming.verify(t.renderStatusCpu);if(e)return"renderStatusCpu."+e}if(t.sources!=null&&t.hasOwnProperty("sources")){if(!Array.isArray(t.sources))return"sources: array expected";for(let e=0;e<t.sources.length;++e){let i=$root.sesame.v1.sources.SourceStatus.verify(t.sources[e]);if(i)return"sources."+i}}if(t.compositions!=null&&t.hasOwnProperty("compositions")){if(!Array.isArray(t.compositions))return"compositions: array expected";for(let e=0;e<t.compositions.length;++e){let i=$root.sesame.v1.status.CompositorStatus.verify(t.compositions[e]);if(i)return"compositions."+i}}if(t.audioMixes!=null&&t.hasOwnProperty("audioMixes")){if(!Array.isArray(t.audioMixes))return"audioMixes: array expected";for(let e=0;e<t.audioMixes.length;++e){let i=$root.sesame.v1.audio.AudioMixerStatus.verify(t.audioMixes[e]);if(i)return"audioMixes."+i}}if(t.outputs!=null&&t.hasOwnProperty("outputs")){if(!Array.isArray(t.outputs))return"outputs: array expected";for(let e=0;e<t.outputs.length;++e){let i=$root.sesame.v1.outputs.OutputStatus.verify(t.outputs[e]);if(i)return"outputs."+i}}if(t.recorders!=null&&t.hasOwnProperty("recorders")){if(!Array.isArray(t.recorders))return"recorders: array expected";for(let e=0;e<t.recorders.length;++e){let i=$root.sesame.v1.recorder.RecorderStatus.verify(t.recorders[e]);if(i)return"recorders."+i}}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.status.Status)return t;let e=new $root.sesame.v1.status.Status;if(t.systemStatus!=null){if(typeof t.systemStatus!="object")throw TypeError(".sesame.v1.status.Status.systemStatus: object expected");e.systemStatus=$root.sesame.v1.status.SystemStatus.fromObject(t.systemStatus)}if(t.renderStatusGpu!=null){if(typeof t.renderStatusGpu!="object")throw TypeError(".sesame.v1.status.Status.renderStatusGpu: object expected");e.renderStatusGpu=$root.sesame.v1.status.FrameTiming.fromObject(t.renderStatusGpu)}if(t.renderStatusCpu!=null){if(typeof t.renderStatusCpu!="object")throw TypeError(".sesame.v1.status.Status.renderStatusCpu: object expected");e.renderStatusCpu=$root.sesame.v1.status.FrameTiming.fromObject(t.renderStatusCpu)}if(t.sources){if(!Array.isArray(t.sources))throw TypeError(".sesame.v1.status.Status.sources: array expected");e.sources=[];for(let i=0;i<t.sources.length;++i){if(typeof t.sources[i]!="object")throw TypeError(".sesame.v1.status.Status.sources: object expected");e.sources[i]=$root.sesame.v1.sources.SourceStatus.fromObject(t.sources[i])}}if(t.compositions){if(!Array.isArray(t.compositions))throw TypeError(".sesame.v1.status.Status.compositions: array expected");e.compositions=[];for(let i=0;i<t.compositions.length;++i){if(typeof t.compositions[i]!="object")throw TypeError(".sesame.v1.status.Status.compositions: object expected");e.compositions[i]=$root.sesame.v1.status.CompositorStatus.fromObject(t.compositions[i])}}if(t.audioMixes){if(!Array.isArray(t.audioMixes))throw TypeError(".sesame.v1.status.Status.audioMixes: array expected");e.audioMixes=[];for(let i=0;i<t.audioMixes.length;++i){if(typeof t.audioMixes[i]!="object")throw TypeError(".sesame.v1.status.Status.audioMixes: object expected");e.audioMixes[i]=$root.sesame.v1.audio.AudioMixerStatus.fromObject(t.audioMixes[i])}}if(t.outputs){if(!Array.isArray(t.outputs))throw TypeError(".sesame.v1.status.Status.outputs: array expected");e.outputs=[];for(let i=0;i<t.outputs.length;++i){if(typeof t.outputs[i]!="object")throw TypeError(".sesame.v1.status.Status.outputs: object expected");e.outputs[i]=$root.sesame.v1.outputs.OutputStatus.fromObject(t.outputs[i])}}if(t.recorders){if(!Array.isArray(t.recorders))throw TypeError(".sesame.v1.status.Status.recorders: array expected");e.recorders=[];for(let i=0;i<t.recorders.length;++i){if(typeof t.recorders[i]!="object")throw TypeError(".sesame.v1.status.Status.recorders: object expected");e.recorders[i]=$root.sesame.v1.recorder.RecorderStatus.fromObject(t.recorders[i])}}return e},n.toObject=function(t,e){e||(e={});let i={};if((e.arrays||e.defaults)&&(i.sources=[],i.compositions=[],i.audioMixes=[],i.outputs=[],i.recorders=[]),e.defaults&&(i.systemStatus=null,i.renderStatusGpu=null,i.renderStatusCpu=null),t.systemStatus!=null&&t.hasOwnProperty("systemStatus")&&(i.systemStatus=$root.sesame.v1.status.SystemStatus.toObject(t.systemStatus,e)),t.renderStatusGpu!=null&&t.hasOwnProperty("renderStatusGpu")&&(i.renderStatusGpu=$root.sesame.v1.status.FrameTiming.toObject(t.renderStatusGpu,e)),t.renderStatusCpu!=null&&t.hasOwnProperty("renderStatusCpu")&&(i.renderStatusCpu=$root.sesame.v1.status.FrameTiming.toObject(t.renderStatusCpu,e)),t.sources&&t.sources.length){i.sources=[];for(let a=0;a<t.sources.length;++a)i.sources[a]=$root.sesame.v1.sources.SourceStatus.toObject(t.sources[a],e)}if(t.compositions&&t.compositions.length){i.compositions=[];for(let a=0;a<t.compositions.length;++a)i.compositions[a]=$root.sesame.v1.status.CompositorStatus.toObject(t.compositions[a],e)}if(t.audioMixes&&t.audioMixes.length){i.audioMixes=[];for(let a=0;a<t.audioMixes.length;++a)i.audioMixes[a]=$root.sesame.v1.audio.AudioMixerStatus.toObject(t.audioMixes[a],e)}if(t.outputs&&t.outputs.length){i.outputs=[];for(let a=0;a<t.outputs.length;++a)i.outputs[a]=$root.sesame.v1.outputs.OutputStatus.toObject(t.outputs[a],e)}if(t.recorders&&t.recorders.length){i.recorders=[];for(let a=0;a<t.recorders.length;++a)i.recorders[a]=$root.sesame.v1.recorder.RecorderStatus.toObject(t.recorders[a],e)}return i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.status.Status"},n}(),l.ErrorEvent=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.msg="",n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.msg!=null&&Object.hasOwnProperty.call(t,"msg")&&e.uint32(10).string(t.msg),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.status.ErrorEvent;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.msg=t.string();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.msg!=null&&t.hasOwnProperty("msg")&&!$util.isString(t.msg)?"msg: string expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.status.ErrorEvent)return t;let e=new $root.sesame.v1.status.ErrorEvent;return t.msg!=null&&(e.msg=String(t.msg)),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.msg=""),t.msg!=null&&t.hasOwnProperty("msg")&&(i.msg=t.msg),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.status.ErrorEvent"},n}(),l.TransportEvent=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.sourceId="",n.prototype.userId="",n.prototype.uri="",n.prototype.state=0,n.prototype.durationUs=$util.Long?$util.Long.fromBits(0,0,!1):0,n.prototype.positionUs=$util.Long?$util.Long.fromBits(0,0,!1):0,n.prototype.materialPositionUs=$util.Long?$util.Long.fromBits(0,0,!1):0,n.prototype.userTimeUs=$util.Long?$util.Long.fromBits(0,0,!1):0,n.prototype.speed=0,n.prototype.userPlaylistId="",n.prototype.playlistIndex=0,n.prototype.playlistLength=0,n.prototype.clipId=$util.Long?$util.Long.fromBits(0,0,!0):0,n.prototype.clipPositionUs=$util.Long?$util.Long.fromBits(0,0,!1):0,n.prototype.clipDurationUs=$util.Long?$util.Long.fromBits(0,0,!1):0,n.prototype.preroll=0,n.prototype.postroll=0,n.prototype.metadata=null,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.sourceId!=null&&Object.hasOwnProperty.call(t,"sourceId")&&e.uint32(10).string(t.sourceId),t.userId!=null&&Object.hasOwnProperty.call(t,"userId")&&e.uint32(18).string(t.userId),t.uri!=null&&Object.hasOwnProperty.call(t,"uri")&&e.uint32(26).string(t.uri),t.state!=null&&Object.hasOwnProperty.call(t,"state")&&e.uint32(32).int32(t.state),t.durationUs!=null&&Object.hasOwnProperty.call(t,"durationUs")&&e.uint32(40).int64(t.durationUs),t.positionUs!=null&&Object.hasOwnProperty.call(t,"positionUs")&&e.uint32(48).int64(t.positionUs),t.materialPositionUs!=null&&Object.hasOwnProperty.call(t,"materialPositionUs")&&e.uint32(56).int64(t.materialPositionUs),t.userTimeUs!=null&&Object.hasOwnProperty.call(t,"userTimeUs")&&e.uint32(64).int64(t.userTimeUs),t.speed!=null&&Object.hasOwnProperty.call(t,"speed")&&e.uint32(77).float(t.speed),t.userPlaylistId!=null&&Object.hasOwnProperty.call(t,"userPlaylistId")&&e.uint32(82).string(t.userPlaylistId),t.playlistIndex!=null&&Object.hasOwnProperty.call(t,"playlistIndex")&&e.uint32(88).uint32(t.playlistIndex),t.playlistLength!=null&&Object.hasOwnProperty.call(t,"playlistLength")&&e.uint32(96).uint32(t.playlistLength),t.clipId!=null&&Object.hasOwnProperty.call(t,"clipId")&&e.uint32(104).uint64(t.clipId),t.clipPositionUs!=null&&Object.hasOwnProperty.call(t,"clipPositionUs")&&e.uint32(112).int64(t.clipPositionUs),t.clipDurationUs!=null&&Object.hasOwnProperty.call(t,"clipDurationUs")&&e.uint32(120).int64(t.clipDurationUs),t.preroll!=null&&Object.hasOwnProperty.call(t,"preroll")&&e.uint32(128).uint32(t.preroll),t.postroll!=null&&Object.hasOwnProperty.call(t,"postroll")&&e.uint32(136).uint32(t.postroll),t.metadata!=null&&Object.hasOwnProperty.call(t,"metadata")&&$root.sesame.v1.common.TransportMetadata.encode(t.metadata,e.uint32(146).fork()).ldelim(),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.status.TransportEvent;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.sourceId=t.string();break}case 2:{s.userId=t.string();break}case 3:{s.uri=t.string();break}case 4:{s.state=t.int32();break}case 5:{s.durationUs=t.int64();break}case 6:{s.positionUs=t.int64();break}case 7:{s.materialPositionUs=t.int64();break}case 8:{s.userTimeUs=t.int64();break}case 9:{s.speed=t.float();break}case 10:{s.userPlaylistId=t.string();break}case 11:{s.playlistIndex=t.uint32();break}case 12:{s.playlistLength=t.uint32();break}case 13:{s.clipId=t.uint64();break}case 14:{s.clipPositionUs=t.int64();break}case 15:{s.clipDurationUs=t.int64();break}case 16:{s.preroll=t.uint32();break}case 17:{s.postroll=t.uint32();break}case 18:{s.metadata=$root.sesame.v1.common.TransportMetadata.decode(t,t.uint32());break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.sourceId!=null&&t.hasOwnProperty("sourceId")&&!$util.isString(t.sourceId))return"sourceId: string expected";if(t.userId!=null&&t.hasOwnProperty("userId")&&!$util.isString(t.userId))return"userId: string expected";if(t.uri!=null&&t.hasOwnProperty("uri")&&!$util.isString(t.uri))return"uri: string expected";if(t.state!=null&&t.hasOwnProperty("state"))switch(t.state){default:return"state: enum value expected";case 0:case 1:case 2:case 3:case 4:break}if(t.durationUs!=null&&t.hasOwnProperty("durationUs")&&!$util.isInteger(t.durationUs)&&!(t.durationUs&&$util.isInteger(t.durationUs.low)&&$util.isInteger(t.durationUs.high)))return"durationUs: integer|Long expected";if(t.positionUs!=null&&t.hasOwnProperty("positionUs")&&!$util.isInteger(t.positionUs)&&!(t.positionUs&&$util.isInteger(t.positionUs.low)&&$util.isInteger(t.positionUs.high)))return"positionUs: integer|Long expected";if(t.materialPositionUs!=null&&t.hasOwnProperty("materialPositionUs")&&!$util.isInteger(t.materialPositionUs)&&!(t.materialPositionUs&&$util.isInteger(t.materialPositionUs.low)&&$util.isInteger(t.materialPositionUs.high)))return"materialPositionUs: integer|Long expected";if(t.userTimeUs!=null&&t.hasOwnProperty("userTimeUs")&&!$util.isInteger(t.userTimeUs)&&!(t.userTimeUs&&$util.isInteger(t.userTimeUs.low)&&$util.isInteger(t.userTimeUs.high)))return"userTimeUs: integer|Long expected";if(t.speed!=null&&t.hasOwnProperty("speed")&&typeof t.speed!="number")return"speed: number expected";if(t.userPlaylistId!=null&&t.hasOwnProperty("userPlaylistId")&&!$util.isString(t.userPlaylistId))return"userPlaylistId: string expected";if(t.playlistIndex!=null&&t.hasOwnProperty("playlistIndex")&&!$util.isInteger(t.playlistIndex))return"playlistIndex: integer expected";if(t.playlistLength!=null&&t.hasOwnProperty("playlistLength")&&!$util.isInteger(t.playlistLength))return"playlistLength: integer expected";if(t.clipId!=null&&t.hasOwnProperty("clipId")&&!$util.isInteger(t.clipId)&&!(t.clipId&&$util.isInteger(t.clipId.low)&&$util.isInteger(t.clipId.high)))return"clipId: integer|Long expected";if(t.clipPositionUs!=null&&t.hasOwnProperty("clipPositionUs")&&!$util.isInteger(t.clipPositionUs)&&!(t.clipPositionUs&&$util.isInteger(t.clipPositionUs.low)&&$util.isInteger(t.clipPositionUs.high)))return"clipPositionUs: integer|Long expected";if(t.clipDurationUs!=null&&t.hasOwnProperty("clipDurationUs")&&!$util.isInteger(t.clipDurationUs)&&!(t.clipDurationUs&&$util.isInteger(t.clipDurationUs.low)&&$util.isInteger(t.clipDurationUs.high)))return"clipDurationUs: integer|Long expected";if(t.preroll!=null&&t.hasOwnProperty("preroll")&&!$util.isInteger(t.preroll))return"preroll: integer expected";if(t.postroll!=null&&t.hasOwnProperty("postroll")&&!$util.isInteger(t.postroll))return"postroll: integer expected";if(t.metadata!=null&&t.hasOwnProperty("metadata")){let e=$root.sesame.v1.common.TransportMetadata.verify(t.metadata);if(e)return"metadata."+e}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.status.TransportEvent)return t;let e=new $root.sesame.v1.status.TransportEvent;switch(t.sourceId!=null&&(e.sourceId=String(t.sourceId)),t.userId!=null&&(e.userId=String(t.userId)),t.uri!=null&&(e.uri=String(t.uri)),t.state){default:if(typeof t.state=="number"){e.state=t.state;break}break;case"SOURCE_TRANSPORT_STATE_STOPPED":case 0:e.state=0;break;case"SOURCE_TRANSPORT_STATE_PLAYING":case 1:e.state=1;break;case"SOURCE_TRANSPORT_STATE_CUEING":case 2:e.state=2;break;case"SOURCE_TRANSPORT_STATE_ERROR":case 3:e.state=3;break;case"SOURCE_TRANSPORT_STATE_PLAYING_LIVE":case 4:e.state=4;break}if(t.durationUs!=null&&($util.Long?(e.durationUs=$util.Long.fromValue(t.durationUs)).unsigned=!1:typeof t.durationUs=="string"?e.durationUs=parseInt(t.durationUs,10):typeof t.durationUs=="number"?e.durationUs=t.durationUs:typeof t.durationUs=="object"&&(e.durationUs=new $util.LongBits(t.durationUs.low>>>0,t.durationUs.high>>>0).toNumber())),t.positionUs!=null&&($util.Long?(e.positionUs=$util.Long.fromValue(t.positionUs)).unsigned=!1:typeof t.positionUs=="string"?e.positionUs=parseInt(t.positionUs,10):typeof t.positionUs=="number"?e.positionUs=t.positionUs:typeof t.positionUs=="object"&&(e.positionUs=new $util.LongBits(t.positionUs.low>>>0,t.positionUs.high>>>0).toNumber())),t.materialPositionUs!=null&&($util.Long?(e.materialPositionUs=$util.Long.fromValue(t.materialPositionUs)).unsigned=!1:typeof t.materialPositionUs=="string"?e.materialPositionUs=parseInt(t.materialPositionUs,10):typeof t.materialPositionUs=="number"?e.materialPositionUs=t.materialPositionUs:typeof t.materialPositionUs=="object"&&(e.materialPositionUs=new $util.LongBits(t.materialPositionUs.low>>>0,t.materialPositionUs.high>>>0).toNumber())),t.userTimeUs!=null&&($util.Long?(e.userTimeUs=$util.Long.fromValue(t.userTimeUs)).unsigned=!1:typeof t.userTimeUs=="string"?e.userTimeUs=parseInt(t.userTimeUs,10):typeof t.userTimeUs=="number"?e.userTimeUs=t.userTimeUs:typeof t.userTimeUs=="object"&&(e.userTimeUs=new $util.LongBits(t.userTimeUs.low>>>0,t.userTimeUs.high>>>0).toNumber())),t.speed!=null&&(e.speed=Number(t.speed)),t.userPlaylistId!=null&&(e.userPlaylistId=String(t.userPlaylistId)),t.playlistIndex!=null&&(e.playlistIndex=t.playlistIndex>>>0),t.playlistLength!=null&&(e.playlistLength=t.playlistLength>>>0),t.clipId!=null&&($util.Long?(e.clipId=$util.Long.fromValue(t.clipId)).unsigned=!0:typeof t.clipId=="string"?e.clipId=parseInt(t.clipId,10):typeof t.clipId=="number"?e.clipId=t.clipId:typeof t.clipId=="object"&&(e.clipId=new $util.LongBits(t.clipId.low>>>0,t.clipId.high>>>0).toNumber(!0))),t.clipPositionUs!=null&&($util.Long?(e.clipPositionUs=$util.Long.fromValue(t.clipPositionUs)).unsigned=!1:typeof t.clipPositionUs=="string"?e.clipPositionUs=parseInt(t.clipPositionUs,10):typeof t.clipPositionUs=="number"?e.clipPositionUs=t.clipPositionUs:typeof t.clipPositionUs=="object"&&(e.clipPositionUs=new $util.LongBits(t.clipPositionUs.low>>>0,t.clipPositionUs.high>>>0).toNumber())),t.clipDurationUs!=null&&($util.Long?(e.clipDurationUs=$util.Long.fromValue(t.clipDurationUs)).unsigned=!1:typeof t.clipDurationUs=="string"?e.clipDurationUs=parseInt(t.clipDurationUs,10):typeof t.clipDurationUs=="number"?e.clipDurationUs=t.clipDurationUs:typeof t.clipDurationUs=="object"&&(e.clipDurationUs=new $util.LongBits(t.clipDurationUs.low>>>0,t.clipDurationUs.high>>>0).toNumber())),t.preroll!=null&&(e.preroll=t.preroll>>>0),t.postroll!=null&&(e.postroll=t.postroll>>>0),t.metadata!=null){if(typeof t.metadata!="object")throw TypeError(".sesame.v1.status.TransportEvent.metadata: object expected");e.metadata=$root.sesame.v1.common.TransportMetadata.fromObject(t.metadata)}return e},n.toObject=function(t,e){e||(e={});let i={};if(e.defaults){if(i.sourceId="",i.userId="",i.uri="",i.state=e.enums===String?"SOURCE_TRANSPORT_STATE_STOPPED":0,$util.Long){let a=new $util.Long(0,0,!1);i.durationUs=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.durationUs=e.longs===String?"0":0;if($util.Long){let a=new $util.Long(0,0,!1);i.positionUs=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.positionUs=e.longs===String?"0":0;if($util.Long){let a=new $util.Long(0,0,!1);i.materialPositionUs=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.materialPositionUs=e.longs===String?"0":0;if($util.Long){let a=new $util.Long(0,0,!1);i.userTimeUs=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.userTimeUs=e.longs===String?"0":0;if(i.speed=0,i.userPlaylistId="",i.playlistIndex=0,i.playlistLength=0,$util.Long){let a=new $util.Long(0,0,!0);i.clipId=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.clipId=e.longs===String?"0":0;if($util.Long){let a=new $util.Long(0,0,!1);i.clipPositionUs=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.clipPositionUs=e.longs===String?"0":0;if($util.Long){let a=new $util.Long(0,0,!1);i.clipDurationUs=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.clipDurationUs=e.longs===String?"0":0;i.preroll=0,i.postroll=0,i.metadata=null}return t.sourceId!=null&&t.hasOwnProperty("sourceId")&&(i.sourceId=t.sourceId),t.userId!=null&&t.hasOwnProperty("userId")&&(i.userId=t.userId),t.uri!=null&&t.hasOwnProperty("uri")&&(i.uri=t.uri),t.state!=null&&t.hasOwnProperty("state")&&(i.state=e.enums===String?$root.sesame.v1.sources.SourceTransportState[t.state]===void 0?t.state:$root.sesame.v1.sources.SourceTransportState[t.state]:t.state),t.durationUs!=null&&t.hasOwnProperty("durationUs")&&(typeof t.durationUs=="number"?i.durationUs=e.longs===String?String(t.durationUs):t.durationUs:i.durationUs=e.longs===String?$util.Long.prototype.toString.call(t.durationUs):e.longs===Number?new $util.LongBits(t.durationUs.low>>>0,t.durationUs.high>>>0).toNumber():t.durationUs),t.positionUs!=null&&t.hasOwnProperty("positionUs")&&(typeof t.positionUs=="number"?i.positionUs=e.longs===String?String(t.positionUs):t.positionUs:i.positionUs=e.longs===String?$util.Long.prototype.toString.call(t.positionUs):e.longs===Number?new $util.LongBits(t.positionUs.low>>>0,t.positionUs.high>>>0).toNumber():t.positionUs),t.materialPositionUs!=null&&t.hasOwnProperty("materialPositionUs")&&(typeof t.materialPositionUs=="number"?i.materialPositionUs=e.longs===String?String(t.materialPositionUs):t.materialPositionUs:i.materialPositionUs=e.longs===String?$util.Long.prototype.toString.call(t.materialPositionUs):e.longs===Number?new $util.LongBits(t.materialPositionUs.low>>>0,t.materialPositionUs.high>>>0).toNumber():t.materialPositionUs),t.userTimeUs!=null&&t.hasOwnProperty("userTimeUs")&&(typeof t.userTimeUs=="number"?i.userTimeUs=e.longs===String?String(t.userTimeUs):t.userTimeUs:i.userTimeUs=e.longs===String?$util.Long.prototype.toString.call(t.userTimeUs):e.longs===Number?new $util.LongBits(t.userTimeUs.low>>>0,t.userTimeUs.high>>>0).toNumber():t.userTimeUs),t.speed!=null&&t.hasOwnProperty("speed")&&(i.speed=e.json&&!isFinite(t.speed)?String(t.speed):t.speed),t.userPlaylistId!=null&&t.hasOwnProperty("userPlaylistId")&&(i.userPlaylistId=t.userPlaylistId),t.playlistIndex!=null&&t.hasOwnProperty("playlistIndex")&&(i.playlistIndex=t.playlistIndex),t.playlistLength!=null&&t.hasOwnProperty("playlistLength")&&(i.playlistLength=t.playlistLength),t.clipId!=null&&t.hasOwnProperty("clipId")&&(typeof t.clipId=="number"?i.clipId=e.longs===String?String(t.clipId):t.clipId:i.clipId=e.longs===String?$util.Long.prototype.toString.call(t.clipId):e.longs===Number?new $util.LongBits(t.clipId.low>>>0,t.clipId.high>>>0).toNumber(!0):t.clipId),t.clipPositionUs!=null&&t.hasOwnProperty("clipPositionUs")&&(typeof t.clipPositionUs=="number"?i.clipPositionUs=e.longs===String?String(t.clipPositionUs):t.clipPositionUs:i.clipPositionUs=e.longs===String?$util.Long.prototype.toString.call(t.clipPositionUs):e.longs===Number?new $util.LongBits(t.clipPositionUs.low>>>0,t.clipPositionUs.high>>>0).toNumber():t.clipPositionUs),t.clipDurationUs!=null&&t.hasOwnProperty("clipDurationUs")&&(typeof t.clipDurationUs=="number"?i.clipDurationUs=e.longs===String?String(t.clipDurationUs):t.clipDurationUs:i.clipDurationUs=e.longs===String?$util.Long.prototype.toString.call(t.clipDurationUs):e.longs===Number?new $util.LongBits(t.clipDurationUs.low>>>0,t.clipDurationUs.high>>>0).toNumber():t.clipDurationUs),t.preroll!=null&&t.hasOwnProperty("preroll")&&(i.preroll=t.preroll),t.postroll!=null&&t.hasOwnProperty("postroll")&&(i.postroll=t.postroll),t.metadata!=null&&t.hasOwnProperty("metadata")&&(i.metadata=$root.sesame.v1.common.TransportMetadata.toObject(t.metadata,e)),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.status.TransportEvent"},n}(),l.MetadataEvent=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.sourceNodeId="",n.prototype.trackName="",n.prototype.targetNodeId="",n.prototype.metadataId="",n.prototype.payload=$util.newBuffer([]),n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.sourceNodeId!=null&&Object.hasOwnProperty.call(t,"sourceNodeId")&&e.uint32(10).string(t.sourceNodeId),t.trackName!=null&&Object.hasOwnProperty.call(t,"trackName")&&e.uint32(18).string(t.trackName),t.targetNodeId!=null&&Object.hasOwnProperty.call(t,"targetNodeId")&&e.uint32(26).string(t.targetNodeId),t.metadataId!=null&&Object.hasOwnProperty.call(t,"metadataId")&&e.uint32(34).string(t.metadataId),t.payload!=null&&Object.hasOwnProperty.call(t,"payload")&&e.uint32(42).bytes(t.payload),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.status.MetadataEvent;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.sourceNodeId=t.string();break}case 2:{s.trackName=t.string();break}case 3:{s.targetNodeId=t.string();break}case 4:{s.metadataId=t.string();break}case 5:{s.payload=t.bytes();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.sourceNodeId!=null&&t.hasOwnProperty("sourceNodeId")&&!$util.isString(t.sourceNodeId)?"sourceNodeId: string expected":t.trackName!=null&&t.hasOwnProperty("trackName")&&!$util.isString(t.trackName)?"trackName: string expected":t.targetNodeId!=null&&t.hasOwnProperty("targetNodeId")&&!$util.isString(t.targetNodeId)?"targetNodeId: string expected":t.metadataId!=null&&t.hasOwnProperty("metadataId")&&!$util.isString(t.metadataId)?"metadataId: string expected":t.payload!=null&&t.hasOwnProperty("payload")&&!(t.payload&&typeof t.payload.length=="number"||$util.isString(t.payload))?"payload: buffer expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.status.MetadataEvent)return t;let e=new $root.sesame.v1.status.MetadataEvent;return t.sourceNodeId!=null&&(e.sourceNodeId=String(t.sourceNodeId)),t.trackName!=null&&(e.trackName=String(t.trackName)),t.targetNodeId!=null&&(e.targetNodeId=String(t.targetNodeId)),t.metadataId!=null&&(e.metadataId=String(t.metadataId)),t.payload!=null&&(typeof t.payload=="string"?$util.base64.decode(t.payload,e.payload=$util.newBuffer($util.base64.length(t.payload)),0):t.payload.length>=0&&(e.payload=t.payload)),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.sourceNodeId="",i.trackName="",i.targetNodeId="",i.metadataId="",e.bytes===String?i.payload="":(i.payload=[],e.bytes!==Array&&(i.payload=$util.newBuffer(i.payload)))),t.sourceNodeId!=null&&t.hasOwnProperty("sourceNodeId")&&(i.sourceNodeId=t.sourceNodeId),t.trackName!=null&&t.hasOwnProperty("trackName")&&(i.trackName=t.trackName),t.targetNodeId!=null&&t.hasOwnProperty("targetNodeId")&&(i.targetNodeId=t.targetNodeId),t.metadataId!=null&&t.hasOwnProperty("metadataId")&&(i.metadataId=t.metadataId),t.payload!=null&&t.hasOwnProperty("payload")&&(i.payload=e.bytes===String?$util.base64.encode(t.payload,0,t.payload.length):e.bytes===Array?Array.prototype.slice.call(t.payload):t.payload),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.status.MetadataEvent"},n}(),l.Event=function(){function n(t){if(t)for(let e=Object.keys(t),i=0;i<e.length;++i)t[e[i]]!=null&&(this[e[i]]=t[e[i]])}n.prototype.errorEvent=null,n.prototype.transportEvent=null,n.prototype.callbackEvent=null,n.prototype.jobEvent=null,n.prototype.metadataEvent=null,n.prototype.recorderEvent=null;let r;return Object.defineProperty(n.prototype,"event",{get:$util.oneOfGetter(r=["errorEvent","transportEvent","callbackEvent","jobEvent","metadataEvent","recorderEvent"]),set:$util.oneOfSetter(r)}),n.create=function(e){return new n(e)},n.encode=function(e,i){return i||(i=$Writer.create()),e.errorEvent!=null&&Object.hasOwnProperty.call(e,"errorEvent")&&$root.sesame.v1.status.ErrorEvent.encode(e.errorEvent,i.uint32(10).fork()).ldelim(),e.transportEvent!=null&&Object.hasOwnProperty.call(e,"transportEvent")&&$root.sesame.v1.status.TransportEvent.encode(e.transportEvent,i.uint32(18).fork()).ldelim(),e.callbackEvent!=null&&Object.hasOwnProperty.call(e,"callbackEvent")&&$root.sesame.v1.common.Callback.encode(e.callbackEvent,i.uint32(26).fork()).ldelim(),e.jobEvent!=null&&Object.hasOwnProperty.call(e,"jobEvent")&&$root.sesame.v1.jobs.Job.encode(e.jobEvent,i.uint32(34).fork()).ldelim(),e.metadataEvent!=null&&Object.hasOwnProperty.call(e,"metadataEvent")&&$root.sesame.v1.status.MetadataEvent.encode(e.metadataEvent,i.uint32(42).fork()).ldelim(),e.recorderEvent!=null&&Object.hasOwnProperty.call(e,"recorderEvent")&&$root.sesame.v1.recorder.RecorderEvent.encode(e.recorderEvent,i.uint32(50).fork()).ldelim(),i},n.encodeDelimited=function(e,i){return this.encode(e,i).ldelim()},n.decode=function(e,i,a){e instanceof $Reader||(e=$Reader.create(e));let s=i===void 0?e.len:e.pos+i,d=new $root.sesame.v1.status.Event;for(;e.pos<s;){let c=e.uint32();if(c===a)break;switch(c>>>3){case 1:{d.errorEvent=$root.sesame.v1.status.ErrorEvent.decode(e,e.uint32());break}case 2:{d.transportEvent=$root.sesame.v1.status.TransportEvent.decode(e,e.uint32());break}case 3:{d.callbackEvent=$root.sesame.v1.common.Callback.decode(e,e.uint32());break}case 4:{d.jobEvent=$root.sesame.v1.jobs.Job.decode(e,e.uint32());break}case 5:{d.metadataEvent=$root.sesame.v1.status.MetadataEvent.decode(e,e.uint32());break}case 6:{d.recorderEvent=$root.sesame.v1.recorder.RecorderEvent.decode(e,e.uint32());break}default:e.skipType(c&7);break}}return d},n.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},n.verify=function(e){if(typeof e!="object"||e===null)return"object expected";let i={};if(e.errorEvent!=null&&e.hasOwnProperty("errorEvent")){i.event=1;{let a=$root.sesame.v1.status.ErrorEvent.verify(e.errorEvent);if(a)return"errorEvent."+a}}if(e.transportEvent!=null&&e.hasOwnProperty("transportEvent")){if(i.event===1)return"event: multiple values";i.event=1;{let a=$root.sesame.v1.status.TransportEvent.verify(e.transportEvent);if(a)return"transportEvent."+a}}if(e.callbackEvent!=null&&e.hasOwnProperty("callbackEvent")){if(i.event===1)return"event: multiple values";i.event=1;{let a=$root.sesame.v1.common.Callback.verify(e.callbackEvent);if(a)return"callbackEvent."+a}}if(e.jobEvent!=null&&e.hasOwnProperty("jobEvent")){if(i.event===1)return"event: multiple values";i.event=1;{let a=$root.sesame.v1.jobs.Job.verify(e.jobEvent);if(a)return"jobEvent."+a}}if(e.metadataEvent!=null&&e.hasOwnProperty("metadataEvent")){if(i.event===1)return"event: multiple values";i.event=1;{let a=$root.sesame.v1.status.MetadataEvent.verify(e.metadataEvent);if(a)return"metadataEvent."+a}}if(e.recorderEvent!=null&&e.hasOwnProperty("recorderEvent")){if(i.event===1)return"event: multiple values";i.event=1;{let a=$root.sesame.v1.recorder.RecorderEvent.verify(e.recorderEvent);if(a)return"recorderEvent."+a}}return null},n.fromObject=function(e){if(e instanceof $root.sesame.v1.status.Event)return e;let i=new $root.sesame.v1.status.Event;if(e.errorEvent!=null){if(typeof e.errorEvent!="object")throw TypeError(".sesame.v1.status.Event.errorEvent: object expected");i.errorEvent=$root.sesame.v1.status.ErrorEvent.fromObject(e.errorEvent)}if(e.transportEvent!=null){if(typeof e.transportEvent!="object")throw TypeError(".sesame.v1.status.Event.transportEvent: object expected");i.transportEvent=$root.sesame.v1.status.TransportEvent.fromObject(e.transportEvent)}if(e.callbackEvent!=null){if(typeof e.callbackEvent!="object")throw TypeError(".sesame.v1.status.Event.callbackEvent: object expected");i.callbackEvent=$root.sesame.v1.common.Callback.fromObject(e.callbackEvent)}if(e.jobEvent!=null){if(typeof e.jobEvent!="object")throw TypeError(".sesame.v1.status.Event.jobEvent: object expected");i.jobEvent=$root.sesame.v1.jobs.Job.fromObject(e.jobEvent)}if(e.metadataEvent!=null){if(typeof e.metadataEvent!="object")throw TypeError(".sesame.v1.status.Event.metadataEvent: object expected");i.metadataEvent=$root.sesame.v1.status.MetadataEvent.fromObject(e.metadataEvent)}if(e.recorderEvent!=null){if(typeof e.recorderEvent!="object")throw TypeError(".sesame.v1.status.Event.recorderEvent: object expected");i.recorderEvent=$root.sesame.v1.recorder.RecorderEvent.fromObject(e.recorderEvent)}return i},n.toObject=function(e,i){i||(i={});let a={};return e.errorEvent!=null&&e.hasOwnProperty("errorEvent")&&(a.errorEvent=$root.sesame.v1.status.ErrorEvent.toObject(e.errorEvent,i),i.oneofs&&(a.event="errorEvent")),e.transportEvent!=null&&e.hasOwnProperty("transportEvent")&&(a.transportEvent=$root.sesame.v1.status.TransportEvent.toObject(e.transportEvent,i),i.oneofs&&(a.event="transportEvent")),e.callbackEvent!=null&&e.hasOwnProperty("callbackEvent")&&(a.callbackEvent=$root.sesame.v1.common.Callback.toObject(e.callbackEvent,i),i.oneofs&&(a.event="callbackEvent")),e.jobEvent!=null&&e.hasOwnProperty("jobEvent")&&(a.jobEvent=$root.sesame.v1.jobs.Job.toObject(e.jobEvent,i),i.oneofs&&(a.event="jobEvent")),e.metadataEvent!=null&&e.hasOwnProperty("metadataEvent")&&(a.metadataEvent=$root.sesame.v1.status.MetadataEvent.toObject(e.metadataEvent,i),i.oneofs&&(a.event="metadataEvent")),e.recorderEvent!=null&&e.hasOwnProperty("recorderEvent")&&(a.recorderEvent=$root.sesame.v1.recorder.RecorderEvent.toObject(e.recorderEvent,i),i.oneofs&&(a.event="recorderEvent")),a},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/sesame.v1.status.Event"},n}(),l.SubscriptionRequest=function(){function n(r){if(this.eventTopics=[],this.channels=[],r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.eventTopics=$util.emptyArray,n.prototype.channels=$util.emptyArray,n.create=function(t){return new n(t)},n.encode=function(t,e){if(e||(e=$Writer.create()),t.eventTopics!=null&&t.eventTopics.length){e.uint32(10).fork();for(let i=0;i<t.eventTopics.length;++i)e.int32(t.eventTopics[i]);e.ldelim()}if(t.channels!=null&&t.channels.length)for(let i=0;i<t.channels.length;++i)e.uint32(18).string(t.channels[i]);return e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.status.SubscriptionRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{if(s.eventTopics&&s.eventTopics.length||(s.eventTopics=[]),(d&7)===2){let c=t.uint32()+t.pos;for(;t.pos<c;)s.eventTopics.push(t.int32())}else s.eventTopics.push(t.int32());break}case 2:{s.channels&&s.channels.length||(s.channels=[]),s.channels.push(t.string());break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.eventTopics!=null&&t.hasOwnProperty("eventTopics")){if(!Array.isArray(t.eventTopics))return"eventTopics: array expected";for(let e=0;e<t.eventTopics.length;++e)switch(t.eventTopics[e]){default:return"eventTopics: enum value[] expected";case 0:case 1:case 2:case 3:case 4:case 5:case 6:break}}if(t.channels!=null&&t.hasOwnProperty("channels")){if(!Array.isArray(t.channels))return"channels: array expected";for(let e=0;e<t.channels.length;++e)if(!$util.isString(t.channels[e]))return"channels: string[] expected"}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.status.SubscriptionRequest)return t;let e=new $root.sesame.v1.status.SubscriptionRequest;if(t.eventTopics){if(!Array.isArray(t.eventTopics))throw TypeError(".sesame.v1.status.SubscriptionRequest.eventTopics: array expected");e.eventTopics=[];for(let i=0;i<t.eventTopics.length;++i)switch(t.eventTopics[i]){default:if(typeof t.eventTopics[i]=="number"){e.eventTopics[i]=t.eventTopics[i];break}case"EVENT_TOPIC_UNSPECIFIED":case 0:e.eventTopics[i]=0;break;case"EVENT_TOPIC_ERROR":case 1:e.eventTopics[i]=1;break;case"EVENT_TOPIC_TRANSPORT":case 2:e.eventTopics[i]=2;break;case"EVENT_TOPIC_CALLBACK":case 3:e.eventTopics[i]=3;break;case"EVENT_TOPIC_JOB":case 4:e.eventTopics[i]=4;break;case"EVENT_TOPIC_METADATA":case 5:e.eventTopics[i]=5;break;case"EVENT_TOPIC_RECORDER":case 6:e.eventTopics[i]=6;break}}if(t.channels){if(!Array.isArray(t.channels))throw TypeError(".sesame.v1.status.SubscriptionRequest.channels: array expected");e.channels=[];for(let i=0;i<t.channels.length;++i)e.channels[i]=String(t.channels[i])}return e},n.toObject=function(t,e){e||(e={});let i={};if((e.arrays||e.defaults)&&(i.eventTopics=[],i.channels=[]),t.eventTopics&&t.eventTopics.length){i.eventTopics=[];for(let a=0;a<t.eventTopics.length;++a)i.eventTopics[a]=e.enums===String?$root.sesame.v1.common.EventTopic[t.eventTopics[a]]===void 0?t.eventTopics[a]:$root.sesame.v1.common.EventTopic[t.eventTopics[a]]:t.eventTopics[a]}if(t.channels&&t.channels.length){i.channels=[];for(let a=0;a<t.channels.length;++a)i.channels[a]=t.channels[a]}return i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.status.SubscriptionRequest"},n}(),l}(),o.outputs=function(){const l={};return l.OutputType=function(){const n={},r=Object.create(n);return r[n[0]="OUTPUT_TYPE_UNSPECIFIED"]=0,r[n[1]="OUTPUT_TYPE_ENCODED_WEBSOCKET"]=1,r[n[2]="OUTPUT_TYPE_ENCODED_RECORDER"]=2,r[n[3]="OUTPUT_TYPE_DECKLINK"]=3,r[n[4]="OUTPUT_TYPE_SYSTEM_AUDIO"]=4,r[n[5]="OUTPUT_TYPE_ENCODED_SRT"]=5,r[n[6]="OUTPUT_TYPE_ENCODED_MOQ"]=6,r[n[7]="OUTPUT_TYPE_ENCODED_SUPER_SLOWMO_RECORDER"]=7,r}(),l.EncoderPreset=function(){const n={},r=Object.create(n);return r[n[0]="ENCODER_PRESET_UNSPECIFIED"]=0,r[n[1]="ENCODER_PRESET_LOW_LATENCY"]=1,r[n[2]="ENCODER_PRESET_LOW_LATENCY_IDR_ONLY"]=2,r[n[3]="ENCODER_PRESET_HIGH_QUALITY"]=3,r}(),l.RecorderType=function(){const n={},r=Object.create(n);return r[n[0]="RECORDER_TYPE_UNSPECIFIED"]=0,r[n[1]="RECORDER_TYPE_LIVE"]=1,r[n[2]="RECORDER_TYPE_CLIPS"]=2,r}(),l.EncoderConfig=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.codec=0,n.prototype.preset=0,n.prototype.bitrateKbps=0,n.prototype.keyframeInterval=0,n.prototype.width=0,n.prototype.height=0,n.prototype.fps=0,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.codec!=null&&Object.hasOwnProperty.call(t,"codec")&&e.uint32(8).int32(t.codec),t.preset!=null&&Object.hasOwnProperty.call(t,"preset")&&e.uint32(16).int32(t.preset),t.bitrateKbps!=null&&Object.hasOwnProperty.call(t,"bitrateKbps")&&e.uint32(24).uint32(t.bitrateKbps),t.keyframeInterval!=null&&Object.hasOwnProperty.call(t,"keyframeInterval")&&e.uint32(32).uint32(t.keyframeInterval),t.width!=null&&Object.hasOwnProperty.call(t,"width")&&e.uint32(40).uint32(t.width),t.height!=null&&Object.hasOwnProperty.call(t,"height")&&e.uint32(48).uint32(t.height),t.fps!=null&&Object.hasOwnProperty.call(t,"fps")&&e.uint32(61).float(t.fps),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.outputs.EncoderConfig;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.codec=t.int32();break}case 2:{s.preset=t.int32();break}case 3:{s.bitrateKbps=t.uint32();break}case 4:{s.keyframeInterval=t.uint32();break}case 5:{s.width=t.uint32();break}case 6:{s.height=t.uint32();break}case 7:{s.fps=t.float();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.codec!=null&&t.hasOwnProperty("codec"))switch(t.codec){default:return"codec: enum value expected";case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 64:case 65:case 66:case 67:break}if(t.preset!=null&&t.hasOwnProperty("preset"))switch(t.preset){default:return"preset: enum value expected";case 0:case 1:case 2:case 3:break}return t.bitrateKbps!=null&&t.hasOwnProperty("bitrateKbps")&&!$util.isInteger(t.bitrateKbps)?"bitrateKbps: integer expected":t.keyframeInterval!=null&&t.hasOwnProperty("keyframeInterval")&&!$util.isInteger(t.keyframeInterval)?"keyframeInterval: integer expected":t.width!=null&&t.hasOwnProperty("width")&&!$util.isInteger(t.width)?"width: integer expected":t.height!=null&&t.hasOwnProperty("height")&&!$util.isInteger(t.height)?"height: integer expected":t.fps!=null&&t.hasOwnProperty("fps")&&typeof t.fps!="number"?"fps: number expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.outputs.EncoderConfig)return t;let e=new $root.sesame.v1.outputs.EncoderConfig;switch(t.codec){default:if(typeof t.codec=="number"){e.codec=t.codec;break}break;case"CODEC_TYPE_UNSPECIFIED":case 0:e.codec=0;break;case"CODEC_TYPE_VIDEO_VP8":case 1:e.codec=1;break;case"CODEC_TYPE_VIDEO_VP9":case 2:e.codec=2;break;case"CODEC_TYPE_VIDEO_AVC":case 3:e.codec=3;break;case"CODEC_TYPE_VIDEO_HEVC":case 4:e.codec=4;break;case"CODEC_TYPE_VIDEO_AV1":case 5:e.codec=5;break;case"CODEC_TYPE_VIDEO_PRORES":case 6:e.codec=6;break;case"CODEC_TYPE_VIDEO_DNXHR":case 7:e.codec=7;break;case"CODEC_TYPE_AUDIO_OPUS":case 64:e.codec=64;break;case"CODEC_TYPE_AUDIO_AAC":case 65:e.codec=65;break;case"CODEC_TYPE_AUDIO_PCM":case 66:e.codec=66;break;case"CODEC_TYPE_AUDIO_PCM_S24LE":case 67:e.codec=67;break}switch(t.preset){default:if(typeof t.preset=="number"){e.preset=t.preset;break}break;case"ENCODER_PRESET_UNSPECIFIED":case 0:e.preset=0;break;case"ENCODER_PRESET_LOW_LATENCY":case 1:e.preset=1;break;case"ENCODER_PRESET_LOW_LATENCY_IDR_ONLY":case 2:e.preset=2;break;case"ENCODER_PRESET_HIGH_QUALITY":case 3:e.preset=3;break}return t.bitrateKbps!=null&&(e.bitrateKbps=t.bitrateKbps>>>0),t.keyframeInterval!=null&&(e.keyframeInterval=t.keyframeInterval>>>0),t.width!=null&&(e.width=t.width>>>0),t.height!=null&&(e.height=t.height>>>0),t.fps!=null&&(e.fps=Number(t.fps)),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.codec=e.enums===String?"CODEC_TYPE_UNSPECIFIED":0,i.preset=e.enums===String?"ENCODER_PRESET_UNSPECIFIED":0,i.bitrateKbps=0,i.keyframeInterval=0,i.width=0,i.height=0,i.fps=0),t.codec!=null&&t.hasOwnProperty("codec")&&(i.codec=e.enums===String?$root.sesame.v1.common.CodecType[t.codec]===void 0?t.codec:$root.sesame.v1.common.CodecType[t.codec]:t.codec),t.preset!=null&&t.hasOwnProperty("preset")&&(i.preset=e.enums===String?$root.sesame.v1.outputs.EncoderPreset[t.preset]===void 0?t.preset:$root.sesame.v1.outputs.EncoderPreset[t.preset]:t.preset),t.bitrateKbps!=null&&t.hasOwnProperty("bitrateKbps")&&(i.bitrateKbps=t.bitrateKbps),t.keyframeInterval!=null&&t.hasOwnProperty("keyframeInterval")&&(i.keyframeInterval=t.keyframeInterval),t.width!=null&&t.hasOwnProperty("width")&&(i.width=t.width),t.height!=null&&t.hasOwnProperty("height")&&(i.height=t.height),t.fps!=null&&t.hasOwnProperty("fps")&&(i.fps=e.json&&!isFinite(t.fps)?String(t.fps):t.fps),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.outputs.EncoderConfig"},n}(),l.DecklinkOutputConfig=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.deviceIndex=0,n.prototype.videoFormat=0,n.prototype.keyAndFill=!1,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.deviceIndex!=null&&Object.hasOwnProperty.call(t,"deviceIndex")&&e.uint32(8).uint32(t.deviceIndex),t.videoFormat!=null&&Object.hasOwnProperty.call(t,"videoFormat")&&e.uint32(16).int32(t.videoFormat),t.keyAndFill!=null&&Object.hasOwnProperty.call(t,"keyAndFill")&&e.uint32(24).bool(t.keyAndFill),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.outputs.DecklinkOutputConfig;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.deviceIndex=t.uint32();break}case 2:{s.videoFormat=t.int32();break}case 3:{s.keyAndFill=t.bool();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.deviceIndex!=null&&t.hasOwnProperty("deviceIndex")&&!$util.isInteger(t.deviceIndex))return"deviceIndex: integer expected";if(t.videoFormat!=null&&t.hasOwnProperty("videoFormat"))switch(t.videoFormat){default:return"videoFormat: enum value expected";case 0:case 1:case 2:case 3:case 4:break}return t.keyAndFill!=null&&t.hasOwnProperty("keyAndFill")&&typeof t.keyAndFill!="boolean"?"keyAndFill: boolean expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.outputs.DecklinkOutputConfig)return t;let e=new $root.sesame.v1.outputs.DecklinkOutputConfig;switch(t.deviceIndex!=null&&(e.deviceIndex=t.deviceIndex>>>0),t.videoFormat){default:if(typeof t.videoFormat=="number"){e.videoFormat=t.videoFormat;break}break;case"VIDEO_FORMAT_UNSPECIFIED":case 0:e.videoFormat=0;break;case"VIDEO_FORMAT_1080_50I":case 1:e.videoFormat=1;break;case"VIDEO_FORMAT_1080_50P":case 2:e.videoFormat=2;break;case"VIDEO_FORMAT_1080_60I":case 3:e.videoFormat=3;break;case"VIDEO_FORMAT_1080_60P":case 4:e.videoFormat=4;break}return t.keyAndFill!=null&&(e.keyAndFill=!!t.keyAndFill),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.deviceIndex=0,i.videoFormat=e.enums===String?"VIDEO_FORMAT_UNSPECIFIED":0,i.keyAndFill=!1),t.deviceIndex!=null&&t.hasOwnProperty("deviceIndex")&&(i.deviceIndex=t.deviceIndex),t.videoFormat!=null&&t.hasOwnProperty("videoFormat")&&(i.videoFormat=e.enums===String?$root.sesame.v1.common.VideoFormat[t.videoFormat]===void 0?t.videoFormat:$root.sesame.v1.common.VideoFormat[t.videoFormat]:t.videoFormat),t.keyAndFill!=null&&t.hasOwnProperty("keyAndFill")&&(i.keyAndFill=t.keyAndFill),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.outputs.DecklinkOutputConfig"},n}(),l.EncodedWebSocketOutputConfig=function(){function n(r){if(this.metadataTracks=[],r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.channel="",n.prototype.encoder=null,n.prototype.metadataTracks=$util.emptyArray,n.create=function(t){return new n(t)},n.encode=function(t,e){if(e||(e=$Writer.create()),t.channel!=null&&Object.hasOwnProperty.call(t,"channel")&&e.uint32(10).string(t.channel),t.encoder!=null&&Object.hasOwnProperty.call(t,"encoder")&&$root.sesame.v1.outputs.EncoderConfig.encode(t.encoder,e.uint32(18).fork()).ldelim(),t.metadataTracks!=null&&t.metadataTracks.length)for(let i=0;i<t.metadataTracks.length;++i)e.uint32(26).string(t.metadataTracks[i]);return e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.outputs.EncodedWebSocketOutputConfig;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.channel=t.string();break}case 2:{s.encoder=$root.sesame.v1.outputs.EncoderConfig.decode(t,t.uint32());break}case 3:{s.metadataTracks&&s.metadataTracks.length||(s.metadataTracks=[]),s.metadataTracks.push(t.string());break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.channel!=null&&t.hasOwnProperty("channel")&&!$util.isString(t.channel))return"channel: string expected";if(t.encoder!=null&&t.hasOwnProperty("encoder")){let e=$root.sesame.v1.outputs.EncoderConfig.verify(t.encoder);if(e)return"encoder."+e}if(t.metadataTracks!=null&&t.hasOwnProperty("metadataTracks")){if(!Array.isArray(t.metadataTracks))return"metadataTracks: array expected";for(let e=0;e<t.metadataTracks.length;++e)if(!$util.isString(t.metadataTracks[e]))return"metadataTracks: string[] expected"}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.outputs.EncodedWebSocketOutputConfig)return t;let e=new $root.sesame.v1.outputs.EncodedWebSocketOutputConfig;if(t.channel!=null&&(e.channel=String(t.channel)),t.encoder!=null){if(typeof t.encoder!="object")throw TypeError(".sesame.v1.outputs.EncodedWebSocketOutputConfig.encoder: object expected");e.encoder=$root.sesame.v1.outputs.EncoderConfig.fromObject(t.encoder)}if(t.metadataTracks){if(!Array.isArray(t.metadataTracks))throw TypeError(".sesame.v1.outputs.EncodedWebSocketOutputConfig.metadataTracks: array expected");e.metadataTracks=[];for(let i=0;i<t.metadataTracks.length;++i)e.metadataTracks[i]=String(t.metadataTracks[i])}return e},n.toObject=function(t,e){e||(e={});let i={};if((e.arrays||e.defaults)&&(i.metadataTracks=[]),e.defaults&&(i.channel="",i.encoder=null),t.channel!=null&&t.hasOwnProperty("channel")&&(i.channel=t.channel),t.encoder!=null&&t.hasOwnProperty("encoder")&&(i.encoder=$root.sesame.v1.outputs.EncoderConfig.toObject(t.encoder,e)),t.metadataTracks&&t.metadataTracks.length){i.metadataTracks=[];for(let a=0;a<t.metadataTracks.length;++a)i.metadataTracks[a]=t.metadataTracks[a]}return i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.outputs.EncodedWebSocketOutputConfig"},n}(),l.EncodedRecorderOutputConfig=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.encoder=null,n.prototype.filename="",n.prototype.sizeGb=0,n.prototype.groupId="",n.prototype.recorderType=0,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.encoder!=null&&Object.hasOwnProperty.call(t,"encoder")&&$root.sesame.v1.outputs.EncoderConfig.encode(t.encoder,e.uint32(10).fork()).ldelim(),t.filename!=null&&Object.hasOwnProperty.call(t,"filename")&&e.uint32(18).string(t.filename),t.sizeGb!=null&&Object.hasOwnProperty.call(t,"sizeGb")&&e.uint32(24).uint32(t.sizeGb),t.groupId!=null&&Object.hasOwnProperty.call(t,"groupId")&&e.uint32(34).string(t.groupId),t.recorderType!=null&&Object.hasOwnProperty.call(t,"recorderType")&&e.uint32(40).int32(t.recorderType),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.outputs.EncodedRecorderOutputConfig;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.encoder=$root.sesame.v1.outputs.EncoderConfig.decode(t,t.uint32());break}case 2:{s.filename=t.string();break}case 3:{s.sizeGb=t.uint32();break}case 4:{s.groupId=t.string();break}case 5:{s.recorderType=t.int32();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.encoder!=null&&t.hasOwnProperty("encoder")){let e=$root.sesame.v1.outputs.EncoderConfig.verify(t.encoder);if(e)return"encoder."+e}if(t.filename!=null&&t.hasOwnProperty("filename")&&!$util.isString(t.filename))return"filename: string expected";if(t.sizeGb!=null&&t.hasOwnProperty("sizeGb")&&!$util.isInteger(t.sizeGb))return"sizeGb: integer expected";if(t.groupId!=null&&t.hasOwnProperty("groupId")&&!$util.isString(t.groupId))return"groupId: string expected";if(t.recorderType!=null&&t.hasOwnProperty("recorderType"))switch(t.recorderType){default:return"recorderType: enum value expected";case 0:case 1:case 2:break}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.outputs.EncodedRecorderOutputConfig)return t;let e=new $root.sesame.v1.outputs.EncodedRecorderOutputConfig;if(t.encoder!=null){if(typeof t.encoder!="object")throw TypeError(".sesame.v1.outputs.EncodedRecorderOutputConfig.encoder: object expected");e.encoder=$root.sesame.v1.outputs.EncoderConfig.fromObject(t.encoder)}switch(t.filename!=null&&(e.filename=String(t.filename)),t.sizeGb!=null&&(e.sizeGb=t.sizeGb>>>0),t.groupId!=null&&(e.groupId=String(t.groupId)),t.recorderType){default:if(typeof t.recorderType=="number"){e.recorderType=t.recorderType;break}break;case"RECORDER_TYPE_UNSPECIFIED":case 0:e.recorderType=0;break;case"RECORDER_TYPE_LIVE":case 1:e.recorderType=1;break;case"RECORDER_TYPE_CLIPS":case 2:e.recorderType=2;break}return e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.encoder=null,i.filename="",i.sizeGb=0,i.groupId="",i.recorderType=e.enums===String?"RECORDER_TYPE_UNSPECIFIED":0),t.encoder!=null&&t.hasOwnProperty("encoder")&&(i.encoder=$root.sesame.v1.outputs.EncoderConfig.toObject(t.encoder,e)),t.filename!=null&&t.hasOwnProperty("filename")&&(i.filename=t.filename),t.sizeGb!=null&&t.hasOwnProperty("sizeGb")&&(i.sizeGb=t.sizeGb),t.groupId!=null&&t.hasOwnProperty("groupId")&&(i.groupId=t.groupId),t.recorderType!=null&&t.hasOwnProperty("recorderType")&&(i.recorderType=e.enums===String?$root.sesame.v1.outputs.RecorderType[t.recorderType]===void 0?t.recorderType:$root.sesame.v1.outputs.RecorderType[t.recorderType]:t.recorderType),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.outputs.EncodedRecorderOutputConfig"},n}(),l.EncodedSuperSlowMoRecorderOutputConfig=function(){function n(r){if(this.compositionIds=[],this.sourceIds=[],r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.encoder=null,n.prototype.filename="",n.prototype.sizeGb=0,n.prototype.groupId="",n.prototype.recorderType=0,n.prototype.compositionIds=$util.emptyArray,n.prototype.sourceIds=$util.emptyArray,n.create=function(t){return new n(t)},n.encode=function(t,e){if(e||(e=$Writer.create()),t.encoder!=null&&Object.hasOwnProperty.call(t,"encoder")&&$root.sesame.v1.outputs.EncoderConfig.encode(t.encoder,e.uint32(10).fork()).ldelim(),t.filename!=null&&Object.hasOwnProperty.call(t,"filename")&&e.uint32(18).string(t.filename),t.sizeGb!=null&&Object.hasOwnProperty.call(t,"sizeGb")&&e.uint32(24).uint32(t.sizeGb),t.groupId!=null&&Object.hasOwnProperty.call(t,"groupId")&&e.uint32(34).string(t.groupId),t.recorderType!=null&&Object.hasOwnProperty.call(t,"recorderType")&&e.uint32(40).int32(t.recorderType),t.compositionIds!=null&&t.compositionIds.length)for(let i=0;i<t.compositionIds.length;++i)e.uint32(50).string(t.compositionIds[i]);if(t.sourceIds!=null&&t.sourceIds.length)for(let i=0;i<t.sourceIds.length;++i)e.uint32(58).string(t.sourceIds[i]);return e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.outputs.EncodedSuperSlowMoRecorderOutputConfig;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.encoder=$root.sesame.v1.outputs.EncoderConfig.decode(t,t.uint32());break}case 2:{s.filename=t.string();break}case 3:{s.sizeGb=t.uint32();break}case 4:{s.groupId=t.string();break}case 5:{s.recorderType=t.int32();break}case 6:{s.compositionIds&&s.compositionIds.length||(s.compositionIds=[]),s.compositionIds.push(t.string());break}case 7:{s.sourceIds&&s.sourceIds.length||(s.sourceIds=[]),s.sourceIds.push(t.string());break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.encoder!=null&&t.hasOwnProperty("encoder")){let e=$root.sesame.v1.outputs.EncoderConfig.verify(t.encoder);if(e)return"encoder."+e}if(t.filename!=null&&t.hasOwnProperty("filename")&&!$util.isString(t.filename))return"filename: string expected";if(t.sizeGb!=null&&t.hasOwnProperty("sizeGb")&&!$util.isInteger(t.sizeGb))return"sizeGb: integer expected";if(t.groupId!=null&&t.hasOwnProperty("groupId")&&!$util.isString(t.groupId))return"groupId: string expected";if(t.recorderType!=null&&t.hasOwnProperty("recorderType"))switch(t.recorderType){default:return"recorderType: enum value expected";case 0:case 1:case 2:break}if(t.compositionIds!=null&&t.hasOwnProperty("compositionIds")){if(!Array.isArray(t.compositionIds))return"compositionIds: array expected";for(let e=0;e<t.compositionIds.length;++e)if(!$util.isString(t.compositionIds[e]))return"compositionIds: string[] expected"}if(t.sourceIds!=null&&t.hasOwnProperty("sourceIds")){if(!Array.isArray(t.sourceIds))return"sourceIds: array expected";for(let e=0;e<t.sourceIds.length;++e)if(!$util.isString(t.sourceIds[e]))return"sourceIds: string[] expected"}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.outputs.EncodedSuperSlowMoRecorderOutputConfig)return t;let e=new $root.sesame.v1.outputs.EncodedSuperSlowMoRecorderOutputConfig;if(t.encoder!=null){if(typeof t.encoder!="object")throw TypeError(".sesame.v1.outputs.EncodedSuperSlowMoRecorderOutputConfig.encoder: object expected");e.encoder=$root.sesame.v1.outputs.EncoderConfig.fromObject(t.encoder)}switch(t.filename!=null&&(e.filename=String(t.filename)),t.sizeGb!=null&&(e.sizeGb=t.sizeGb>>>0),t.groupId!=null&&(e.groupId=String(t.groupId)),t.recorderType){default:if(typeof t.recorderType=="number"){e.recorderType=t.recorderType;break}break;case"RECORDER_TYPE_UNSPECIFIED":case 0:e.recorderType=0;break;case"RECORDER_TYPE_LIVE":case 1:e.recorderType=1;break;case"RECORDER_TYPE_CLIPS":case 2:e.recorderType=2;break}if(t.compositionIds){if(!Array.isArray(t.compositionIds))throw TypeError(".sesame.v1.outputs.EncodedSuperSlowMoRecorderOutputConfig.compositionIds: array expected");e.compositionIds=[];for(let i=0;i<t.compositionIds.length;++i)e.compositionIds[i]=String(t.compositionIds[i])}if(t.sourceIds){if(!Array.isArray(t.sourceIds))throw TypeError(".sesame.v1.outputs.EncodedSuperSlowMoRecorderOutputConfig.sourceIds: array expected");e.sourceIds=[];for(let i=0;i<t.sourceIds.length;++i)e.sourceIds[i]=String(t.sourceIds[i])}return e},n.toObject=function(t,e){e||(e={});let i={};if((e.arrays||e.defaults)&&(i.compositionIds=[],i.sourceIds=[]),e.defaults&&(i.encoder=null,i.filename="",i.sizeGb=0,i.groupId="",i.recorderType=e.enums===String?"RECORDER_TYPE_UNSPECIFIED":0),t.encoder!=null&&t.hasOwnProperty("encoder")&&(i.encoder=$root.sesame.v1.outputs.EncoderConfig.toObject(t.encoder,e)),t.filename!=null&&t.hasOwnProperty("filename")&&(i.filename=t.filename),t.sizeGb!=null&&t.hasOwnProperty("sizeGb")&&(i.sizeGb=t.sizeGb),t.groupId!=null&&t.hasOwnProperty("groupId")&&(i.groupId=t.groupId),t.recorderType!=null&&t.hasOwnProperty("recorderType")&&(i.recorderType=e.enums===String?$root.sesame.v1.outputs.RecorderType[t.recorderType]===void 0?t.recorderType:$root.sesame.v1.outputs.RecorderType[t.recorderType]:t.recorderType),t.compositionIds&&t.compositionIds.length){i.compositionIds=[];for(let a=0;a<t.compositionIds.length;++a)i.compositionIds[a]=t.compositionIds[a]}if(t.sourceIds&&t.sourceIds.length){i.sourceIds=[];for(let a=0;a<t.sourceIds.length;++a)i.sourceIds[a]=t.sourceIds[a]}return i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.outputs.EncodedSuperSlowMoRecorderOutputConfig"},n}(),l.EncodedSrtOutputConfig=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.url="",n.prototype.encoder=null,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.url!=null&&Object.hasOwnProperty.call(t,"url")&&e.uint32(10).string(t.url),t.encoder!=null&&Object.hasOwnProperty.call(t,"encoder")&&$root.sesame.v1.outputs.EncoderConfig.encode(t.encoder,e.uint32(18).fork()).ldelim(),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.outputs.EncodedSrtOutputConfig;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.url=t.string();break}case 2:{s.encoder=$root.sesame.v1.outputs.EncoderConfig.decode(t,t.uint32());break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.url!=null&&t.hasOwnProperty("url")&&!$util.isString(t.url))return"url: string expected";if(t.encoder!=null&&t.hasOwnProperty("encoder")){let e=$root.sesame.v1.outputs.EncoderConfig.verify(t.encoder);if(e)return"encoder."+e}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.outputs.EncodedSrtOutputConfig)return t;let e=new $root.sesame.v1.outputs.EncodedSrtOutputConfig;if(t.url!=null&&(e.url=String(t.url)),t.encoder!=null){if(typeof t.encoder!="object")throw TypeError(".sesame.v1.outputs.EncodedSrtOutputConfig.encoder: object expected");e.encoder=$root.sesame.v1.outputs.EncoderConfig.fromObject(t.encoder)}return e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.url="",i.encoder=null),t.url!=null&&t.hasOwnProperty("url")&&(i.url=t.url),t.encoder!=null&&t.hasOwnProperty("encoder")&&(i.encoder=$root.sesame.v1.outputs.EncoderConfig.toObject(t.encoder,e)),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.outputs.EncodedSrtOutputConfig"},n}(),l.EncodedMoqOutputConfig=function(){function n(r){if(this.metadataTracks=[],r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.encoder=null,n.prototype.url="",n.prototype.broadcast="",n.prototype.key="",n.prototype.metadataTracks=$util.emptyArray,n.create=function(t){return new n(t)},n.encode=function(t,e){if(e||(e=$Writer.create()),t.encoder!=null&&Object.hasOwnProperty.call(t,"encoder")&&$root.sesame.v1.outputs.EncoderConfig.encode(t.encoder,e.uint32(10).fork()).ldelim(),t.url!=null&&Object.hasOwnProperty.call(t,"url")&&e.uint32(18).string(t.url),t.broadcast!=null&&Object.hasOwnProperty.call(t,"broadcast")&&e.uint32(26).string(t.broadcast),t.key!=null&&Object.hasOwnProperty.call(t,"key")&&e.uint32(34).string(t.key),t.metadataTracks!=null&&t.metadataTracks.length)for(let i=0;i<t.metadataTracks.length;++i)e.uint32(42).string(t.metadataTracks[i]);return e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.outputs.EncodedMoqOutputConfig;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.encoder=$root.sesame.v1.outputs.EncoderConfig.decode(t,t.uint32());break}case 2:{s.url=t.string();break}case 3:{s.broadcast=t.string();break}case 4:{s.key=t.string();break}case 5:{s.metadataTracks&&s.metadataTracks.length||(s.metadataTracks=[]),s.metadataTracks.push(t.string());break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.encoder!=null&&t.hasOwnProperty("encoder")){let e=$root.sesame.v1.outputs.EncoderConfig.verify(t.encoder);if(e)return"encoder."+e}if(t.url!=null&&t.hasOwnProperty("url")&&!$util.isString(t.url))return"url: string expected";if(t.broadcast!=null&&t.hasOwnProperty("broadcast")&&!$util.isString(t.broadcast))return"broadcast: string expected";if(t.key!=null&&t.hasOwnProperty("key")&&!$util.isString(t.key))return"key: string expected";if(t.metadataTracks!=null&&t.hasOwnProperty("metadataTracks")){if(!Array.isArray(t.metadataTracks))return"metadataTracks: array expected";for(let e=0;e<t.metadataTracks.length;++e)if(!$util.isString(t.metadataTracks[e]))return"metadataTracks: string[] expected"}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.outputs.EncodedMoqOutputConfig)return t;let e=new $root.sesame.v1.outputs.EncodedMoqOutputConfig;if(t.encoder!=null){if(typeof t.encoder!="object")throw TypeError(".sesame.v1.outputs.EncodedMoqOutputConfig.encoder: object expected");e.encoder=$root.sesame.v1.outputs.EncoderConfig.fromObject(t.encoder)}if(t.url!=null&&(e.url=String(t.url)),t.broadcast!=null&&(e.broadcast=String(t.broadcast)),t.key!=null&&(e.key=String(t.key)),t.metadataTracks){if(!Array.isArray(t.metadataTracks))throw TypeError(".sesame.v1.outputs.EncodedMoqOutputConfig.metadataTracks: array expected");e.metadataTracks=[];for(let i=0;i<t.metadataTracks.length;++i)e.metadataTracks[i]=String(t.metadataTracks[i])}return e},n.toObject=function(t,e){e||(e={});let i={};if((e.arrays||e.defaults)&&(i.metadataTracks=[]),e.defaults&&(i.encoder=null,i.url="",i.broadcast="",i.key=""),t.encoder!=null&&t.hasOwnProperty("encoder")&&(i.encoder=$root.sesame.v1.outputs.EncoderConfig.toObject(t.encoder,e)),t.url!=null&&t.hasOwnProperty("url")&&(i.url=t.url),t.broadcast!=null&&t.hasOwnProperty("broadcast")&&(i.broadcast=t.broadcast),t.key!=null&&t.hasOwnProperty("key")&&(i.key=t.key),t.metadataTracks&&t.metadataTracks.length){i.metadataTracks=[];for(let a=0;a<t.metadataTracks.length;++a)i.metadataTracks[a]=t.metadataTracks[a]}return i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.outputs.EncodedMoqOutputConfig"},n}(),l.SystemAudioOutputConfig=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.deviceName="",n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.deviceName!=null&&Object.hasOwnProperty.call(t,"deviceName")&&e.uint32(10).string(t.deviceName),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.outputs.SystemAudioOutputConfig;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.deviceName=t.string();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.deviceName!=null&&t.hasOwnProperty("deviceName")&&!$util.isString(t.deviceName)?"deviceName: string expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.outputs.SystemAudioOutputConfig)return t;let e=new $root.sesame.v1.outputs.SystemAudioOutputConfig;return t.deviceName!=null&&(e.deviceName=String(t.deviceName)),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.deviceName=""),t.deviceName!=null&&t.hasOwnProperty("deviceName")&&(i.deviceName=t.deviceName),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.outputs.SystemAudioOutputConfig"},n}(),l.OutputAddRequest=function(){function n(t){if(this.audioMixIds=[],t)for(let e=Object.keys(t),i=0;i<e.length;++i)t[e[i]]!=null&&(this[e[i]]=t[e[i]])}n.prototype.id="",n.prototype.compositionId="",n.prototype.audioMixIds=$util.emptyArray,n.prototype.useAsClock=!1,n.prototype.websocket=null,n.prototype.recorder=null,n.prototype.superSlowmoRecorder=null,n.prototype.srt=null,n.prototype.moq=null,n.prototype.decklink=null,n.prototype.systemAudio=null;let r;return Object.defineProperty(n.prototype,"output",{get:$util.oneOfGetter(r=["websocket","recorder","superSlowmoRecorder","srt","moq","decklink","systemAudio"]),set:$util.oneOfSetter(r)}),n.create=function(e){return new n(e)},n.encode=function(e,i){if(i||(i=$Writer.create()),e.id!=null&&Object.hasOwnProperty.call(e,"id")&&i.uint32(10).string(e.id),e.compositionId!=null&&Object.hasOwnProperty.call(e,"compositionId")&&i.uint32(18).string(e.compositionId),e.audioMixIds!=null&&e.audioMixIds.length)for(let a=0;a<e.audioMixIds.length;++a)i.uint32(26).string(e.audioMixIds[a]);return e.useAsClock!=null&&Object.hasOwnProperty.call(e,"useAsClock")&&i.uint32(32).bool(e.useAsClock),e.websocket!=null&&Object.hasOwnProperty.call(e,"websocket")&&$root.sesame.v1.outputs.EncodedWebSocketOutputConfig.encode(e.websocket,i.uint32(82).fork()).ldelim(),e.recorder!=null&&Object.hasOwnProperty.call(e,"recorder")&&$root.sesame.v1.outputs.EncodedRecorderOutputConfig.encode(e.recorder,i.uint32(90).fork()).ldelim(),e.superSlowmoRecorder!=null&&Object.hasOwnProperty.call(e,"superSlowmoRecorder")&&$root.sesame.v1.outputs.EncodedSuperSlowMoRecorderOutputConfig.encode(e.superSlowmoRecorder,i.uint32(98).fork()).ldelim(),e.srt!=null&&Object.hasOwnProperty.call(e,"srt")&&$root.sesame.v1.outputs.EncodedSrtOutputConfig.encode(e.srt,i.uint32(106).fork()).ldelim(),e.moq!=null&&Object.hasOwnProperty.call(e,"moq")&&$root.sesame.v1.outputs.EncodedMoqOutputConfig.encode(e.moq,i.uint32(114).fork()).ldelim(),e.decklink!=null&&Object.hasOwnProperty.call(e,"decklink")&&$root.sesame.v1.outputs.DecklinkOutputConfig.encode(e.decklink,i.uint32(122).fork()).ldelim(),e.systemAudio!=null&&Object.hasOwnProperty.call(e,"systemAudio")&&$root.sesame.v1.outputs.SystemAudioOutputConfig.encode(e.systemAudio,i.uint32(130).fork()).ldelim(),i},n.encodeDelimited=function(e,i){return this.encode(e,i).ldelim()},n.decode=function(e,i,a){e instanceof $Reader||(e=$Reader.create(e));let s=i===void 0?e.len:e.pos+i,d=new $root.sesame.v1.outputs.OutputAddRequest;for(;e.pos<s;){let c=e.uint32();if(c===a)break;switch(c>>>3){case 1:{d.id=e.string();break}case 2:{d.compositionId=e.string();break}case 3:{d.audioMixIds&&d.audioMixIds.length||(d.audioMixIds=[]),d.audioMixIds.push(e.string());break}case 4:{d.useAsClock=e.bool();break}case 10:{d.websocket=$root.sesame.v1.outputs.EncodedWebSocketOutputConfig.decode(e,e.uint32());break}case 11:{d.recorder=$root.sesame.v1.outputs.EncodedRecorderOutputConfig.decode(e,e.uint32());break}case 12:{d.superSlowmoRecorder=$root.sesame.v1.outputs.EncodedSuperSlowMoRecorderOutputConfig.decode(e,e.uint32());break}case 13:{d.srt=$root.sesame.v1.outputs.EncodedSrtOutputConfig.decode(e,e.uint32());break}case 14:{d.moq=$root.sesame.v1.outputs.EncodedMoqOutputConfig.decode(e,e.uint32());break}case 15:{d.decklink=$root.sesame.v1.outputs.DecklinkOutputConfig.decode(e,e.uint32());break}case 16:{d.systemAudio=$root.sesame.v1.outputs.SystemAudioOutputConfig.decode(e,e.uint32());break}default:e.skipType(c&7);break}}return d},n.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},n.verify=function(e){if(typeof e!="object"||e===null)return"object expected";let i={};if(e.id!=null&&e.hasOwnProperty("id")&&!$util.isString(e.id))return"id: string expected";if(e.compositionId!=null&&e.hasOwnProperty("compositionId")&&!$util.isString(e.compositionId))return"compositionId: string expected";if(e.audioMixIds!=null&&e.hasOwnProperty("audioMixIds")){if(!Array.isArray(e.audioMixIds))return"audioMixIds: array expected";for(let a=0;a<e.audioMixIds.length;++a)if(!$util.isString(e.audioMixIds[a]))return"audioMixIds: string[] expected"}if(e.useAsClock!=null&&e.hasOwnProperty("useAsClock")&&typeof e.useAsClock!="boolean")return"useAsClock: boolean expected";if(e.websocket!=null&&e.hasOwnProperty("websocket")){i.output=1;{let a=$root.sesame.v1.outputs.EncodedWebSocketOutputConfig.verify(e.websocket);if(a)return"websocket."+a}}if(e.recorder!=null&&e.hasOwnProperty("recorder")){if(i.output===1)return"output: multiple values";i.output=1;{let a=$root.sesame.v1.outputs.EncodedRecorderOutputConfig.verify(e.recorder);if(a)return"recorder."+a}}if(e.superSlowmoRecorder!=null&&e.hasOwnProperty("superSlowmoRecorder")){if(i.output===1)return"output: multiple values";i.output=1;{let a=$root.sesame.v1.outputs.EncodedSuperSlowMoRecorderOutputConfig.verify(e.superSlowmoRecorder);if(a)return"superSlowmoRecorder."+a}}if(e.srt!=null&&e.hasOwnProperty("srt")){if(i.output===1)return"output: multiple values";i.output=1;{let a=$root.sesame.v1.outputs.EncodedSrtOutputConfig.verify(e.srt);if(a)return"srt."+a}}if(e.moq!=null&&e.hasOwnProperty("moq")){if(i.output===1)return"output: multiple values";i.output=1;{let a=$root.sesame.v1.outputs.EncodedMoqOutputConfig.verify(e.moq);if(a)return"moq."+a}}if(e.decklink!=null&&e.hasOwnProperty("decklink")){if(i.output===1)return"output: multiple values";i.output=1;{let a=$root.sesame.v1.outputs.DecklinkOutputConfig.verify(e.decklink);if(a)return"decklink."+a}}if(e.systemAudio!=null&&e.hasOwnProperty("systemAudio")){if(i.output===1)return"output: multiple values";i.output=1;{let a=$root.sesame.v1.outputs.SystemAudioOutputConfig.verify(e.systemAudio);if(a)return"systemAudio."+a}}return null},n.fromObject=function(e){if(e instanceof $root.sesame.v1.outputs.OutputAddRequest)return e;let i=new $root.sesame.v1.outputs.OutputAddRequest;if(e.id!=null&&(i.id=String(e.id)),e.compositionId!=null&&(i.compositionId=String(e.compositionId)),e.audioMixIds){if(!Array.isArray(e.audioMixIds))throw TypeError(".sesame.v1.outputs.OutputAddRequest.audioMixIds: array expected");i.audioMixIds=[];for(let a=0;a<e.audioMixIds.length;++a)i.audioMixIds[a]=String(e.audioMixIds[a])}if(e.useAsClock!=null&&(i.useAsClock=!!e.useAsClock),e.websocket!=null){if(typeof e.websocket!="object")throw TypeError(".sesame.v1.outputs.OutputAddRequest.websocket: object expected");i.websocket=$root.sesame.v1.outputs.EncodedWebSocketOutputConfig.fromObject(e.websocket)}if(e.recorder!=null){if(typeof e.recorder!="object")throw TypeError(".sesame.v1.outputs.OutputAddRequest.recorder: object expected");i.recorder=$root.sesame.v1.outputs.EncodedRecorderOutputConfig.fromObject(e.recorder)}if(e.superSlowmoRecorder!=null){if(typeof e.superSlowmoRecorder!="object")throw TypeError(".sesame.v1.outputs.OutputAddRequest.superSlowmoRecorder: object expected");i.superSlowmoRecorder=$root.sesame.v1.outputs.EncodedSuperSlowMoRecorderOutputConfig.fromObject(e.superSlowmoRecorder)}if(e.srt!=null){if(typeof e.srt!="object")throw TypeError(".sesame.v1.outputs.OutputAddRequest.srt: object expected");i.srt=$root.sesame.v1.outputs.EncodedSrtOutputConfig.fromObject(e.srt)}if(e.moq!=null){if(typeof e.moq!="object")throw TypeError(".sesame.v1.outputs.OutputAddRequest.moq: object expected");i.moq=$root.sesame.v1.outputs.EncodedMoqOutputConfig.fromObject(e.moq)}if(e.decklink!=null){if(typeof e.decklink!="object")throw TypeError(".sesame.v1.outputs.OutputAddRequest.decklink: object expected");i.decklink=$root.sesame.v1.outputs.DecklinkOutputConfig.fromObject(e.decklink)}if(e.systemAudio!=null){if(typeof e.systemAudio!="object")throw TypeError(".sesame.v1.outputs.OutputAddRequest.systemAudio: object expected");i.systemAudio=$root.sesame.v1.outputs.SystemAudioOutputConfig.fromObject(e.systemAudio)}return i},n.toObject=function(e,i){i||(i={});let a={};if((i.arrays||i.defaults)&&(a.audioMixIds=[]),i.defaults&&(a.id="",a.compositionId="",a.useAsClock=!1),e.id!=null&&e.hasOwnProperty("id")&&(a.id=e.id),e.compositionId!=null&&e.hasOwnProperty("compositionId")&&(a.compositionId=e.compositionId),e.audioMixIds&&e.audioMixIds.length){a.audioMixIds=[];for(let s=0;s<e.audioMixIds.length;++s)a.audioMixIds[s]=e.audioMixIds[s]}return e.useAsClock!=null&&e.hasOwnProperty("useAsClock")&&(a.useAsClock=e.useAsClock),e.websocket!=null&&e.hasOwnProperty("websocket")&&(a.websocket=$root.sesame.v1.outputs.EncodedWebSocketOutputConfig.toObject(e.websocket,i),i.oneofs&&(a.output="websocket")),e.recorder!=null&&e.hasOwnProperty("recorder")&&(a.recorder=$root.sesame.v1.outputs.EncodedRecorderOutputConfig.toObject(e.recorder,i),i.oneofs&&(a.output="recorder")),e.superSlowmoRecorder!=null&&e.hasOwnProperty("superSlowmoRecorder")&&(a.superSlowmoRecorder=$root.sesame.v1.outputs.EncodedSuperSlowMoRecorderOutputConfig.toObject(e.superSlowmoRecorder,i),i.oneofs&&(a.output="superSlowmoRecorder")),e.srt!=null&&e.hasOwnProperty("srt")&&(a.srt=$root.sesame.v1.outputs.EncodedSrtOutputConfig.toObject(e.srt,i),i.oneofs&&(a.output="srt")),e.moq!=null&&e.hasOwnProperty("moq")&&(a.moq=$root.sesame.v1.outputs.EncodedMoqOutputConfig.toObject(e.moq,i),i.oneofs&&(a.output="moq")),e.decklink!=null&&e.hasOwnProperty("decklink")&&(a.decklink=$root.sesame.v1.outputs.DecklinkOutputConfig.toObject(e.decklink,i),i.oneofs&&(a.output="decklink")),e.systemAudio!=null&&e.hasOwnProperty("systemAudio")&&(a.systemAudio=$root.sesame.v1.outputs.SystemAudioOutputConfig.toObject(e.systemAudio,i),i.oneofs&&(a.output="systemAudio")),a},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/sesame.v1.outputs.OutputAddRequest"},n}(),l.OutputUpdateRequest=function(){function n(t){if(this.audioMixIds=[],t)for(let e=Object.keys(t),i=0;i<e.length;++i)t[e[i]]!=null&&(this[e[i]]=t[e[i]])}n.prototype.id="",n.prototype.compositionId="",n.prototype.audioMixIds=$util.emptyArray,n.prototype.useAsClock=!1,n.prototype.websocket=null,n.prototype.recorder=null,n.prototype.superSlowmoRecorder=null,n.prototype.srt=null,n.prototype.moq=null,n.prototype.decklink=null,n.prototype.systemAudio=null;let r;return Object.defineProperty(n.prototype,"output",{get:$util.oneOfGetter(r=["websocket","recorder","superSlowmoRecorder","srt","moq","decklink","systemAudio"]),set:$util.oneOfSetter(r)}),n.create=function(e){return new n(e)},n.encode=function(e,i){if(i||(i=$Writer.create()),e.id!=null&&Object.hasOwnProperty.call(e,"id")&&i.uint32(10).string(e.id),e.compositionId!=null&&Object.hasOwnProperty.call(e,"compositionId")&&i.uint32(18).string(e.compositionId),e.audioMixIds!=null&&e.audioMixIds.length)for(let a=0;a<e.audioMixIds.length;++a)i.uint32(26).string(e.audioMixIds[a]);return e.useAsClock!=null&&Object.hasOwnProperty.call(e,"useAsClock")&&i.uint32(32).bool(e.useAsClock),e.websocket!=null&&Object.hasOwnProperty.call(e,"websocket")&&$root.sesame.v1.outputs.EncodedWebSocketOutputConfig.encode(e.websocket,i.uint32(82).fork()).ldelim(),e.recorder!=null&&Object.hasOwnProperty.call(e,"recorder")&&$root.sesame.v1.outputs.EncodedRecorderOutputConfig.encode(e.recorder,i.uint32(90).fork()).ldelim(),e.superSlowmoRecorder!=null&&Object.hasOwnProperty.call(e,"superSlowmoRecorder")&&$root.sesame.v1.outputs.EncodedSuperSlowMoRecorderOutputConfig.encode(e.superSlowmoRecorder,i.uint32(98).fork()).ldelim(),e.srt!=null&&Object.hasOwnProperty.call(e,"srt")&&$root.sesame.v1.outputs.EncodedSrtOutputConfig.encode(e.srt,i.uint32(106).fork()).ldelim(),e.moq!=null&&Object.hasOwnProperty.call(e,"moq")&&$root.sesame.v1.outputs.EncodedMoqOutputConfig.encode(e.moq,i.uint32(114).fork()).ldelim(),e.decklink!=null&&Object.hasOwnProperty.call(e,"decklink")&&$root.sesame.v1.outputs.DecklinkOutputConfig.encode(e.decklink,i.uint32(122).fork()).ldelim(),e.systemAudio!=null&&Object.hasOwnProperty.call(e,"systemAudio")&&$root.sesame.v1.outputs.SystemAudioOutputConfig.encode(e.systemAudio,i.uint32(130).fork()).ldelim(),i},n.encodeDelimited=function(e,i){return this.encode(e,i).ldelim()},n.decode=function(e,i,a){e instanceof $Reader||(e=$Reader.create(e));let s=i===void 0?e.len:e.pos+i,d=new $root.sesame.v1.outputs.OutputUpdateRequest;for(;e.pos<s;){let c=e.uint32();if(c===a)break;switch(c>>>3){case 1:{d.id=e.string();break}case 2:{d.compositionId=e.string();break}case 3:{d.audioMixIds&&d.audioMixIds.length||(d.audioMixIds=[]),d.audioMixIds.push(e.string());break}case 4:{d.useAsClock=e.bool();break}case 10:{d.websocket=$root.sesame.v1.outputs.EncodedWebSocketOutputConfig.decode(e,e.uint32());break}case 11:{d.recorder=$root.sesame.v1.outputs.EncodedRecorderOutputConfig.decode(e,e.uint32());break}case 12:{d.superSlowmoRecorder=$root.sesame.v1.outputs.EncodedSuperSlowMoRecorderOutputConfig.decode(e,e.uint32());break}case 13:{d.srt=$root.sesame.v1.outputs.EncodedSrtOutputConfig.decode(e,e.uint32());break}case 14:{d.moq=$root.sesame.v1.outputs.EncodedMoqOutputConfig.decode(e,e.uint32());break}case 15:{d.decklink=$root.sesame.v1.outputs.DecklinkOutputConfig.decode(e,e.uint32());break}case 16:{d.systemAudio=$root.sesame.v1.outputs.SystemAudioOutputConfig.decode(e,e.uint32());break}default:e.skipType(c&7);break}}return d},n.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},n.verify=function(e){if(typeof e!="object"||e===null)return"object expected";let i={};if(e.id!=null&&e.hasOwnProperty("id")&&!$util.isString(e.id))return"id: string expected";if(e.compositionId!=null&&e.hasOwnProperty("compositionId")&&!$util.isString(e.compositionId))return"compositionId: string expected";if(e.audioMixIds!=null&&e.hasOwnProperty("audioMixIds")){if(!Array.isArray(e.audioMixIds))return"audioMixIds: array expected";for(let a=0;a<e.audioMixIds.length;++a)if(!$util.isString(e.audioMixIds[a]))return"audioMixIds: string[] expected"}if(e.useAsClock!=null&&e.hasOwnProperty("useAsClock")&&typeof e.useAsClock!="boolean")return"useAsClock: boolean expected";if(e.websocket!=null&&e.hasOwnProperty("websocket")){i.output=1;{let a=$root.sesame.v1.outputs.EncodedWebSocketOutputConfig.verify(e.websocket);if(a)return"websocket."+a}}if(e.recorder!=null&&e.hasOwnProperty("recorder")){if(i.output===1)return"output: multiple values";i.output=1;{let a=$root.sesame.v1.outputs.EncodedRecorderOutputConfig.verify(e.recorder);if(a)return"recorder."+a}}if(e.superSlowmoRecorder!=null&&e.hasOwnProperty("superSlowmoRecorder")){if(i.output===1)return"output: multiple values";i.output=1;{let a=$root.sesame.v1.outputs.EncodedSuperSlowMoRecorderOutputConfig.verify(e.superSlowmoRecorder);if(a)return"superSlowmoRecorder."+a}}if(e.srt!=null&&e.hasOwnProperty("srt")){if(i.output===1)return"output: multiple values";i.output=1;{let a=$root.sesame.v1.outputs.EncodedSrtOutputConfig.verify(e.srt);if(a)return"srt."+a}}if(e.moq!=null&&e.hasOwnProperty("moq")){if(i.output===1)return"output: multiple values";i.output=1;{let a=$root.sesame.v1.outputs.EncodedMoqOutputConfig.verify(e.moq);if(a)return"moq."+a}}if(e.decklink!=null&&e.hasOwnProperty("decklink")){if(i.output===1)return"output: multiple values";i.output=1;{let a=$root.sesame.v1.outputs.DecklinkOutputConfig.verify(e.decklink);if(a)return"decklink."+a}}if(e.systemAudio!=null&&e.hasOwnProperty("systemAudio")){if(i.output===1)return"output: multiple values";i.output=1;{let a=$root.sesame.v1.outputs.SystemAudioOutputConfig.verify(e.systemAudio);if(a)return"systemAudio."+a}}return null},n.fromObject=function(e){if(e instanceof $root.sesame.v1.outputs.OutputUpdateRequest)return e;let i=new $root.sesame.v1.outputs.OutputUpdateRequest;if(e.id!=null&&(i.id=String(e.id)),e.compositionId!=null&&(i.compositionId=String(e.compositionId)),e.audioMixIds){if(!Array.isArray(e.audioMixIds))throw TypeError(".sesame.v1.outputs.OutputUpdateRequest.audioMixIds: array expected");i.audioMixIds=[];for(let a=0;a<e.audioMixIds.length;++a)i.audioMixIds[a]=String(e.audioMixIds[a])}if(e.useAsClock!=null&&(i.useAsClock=!!e.useAsClock),e.websocket!=null){if(typeof e.websocket!="object")throw TypeError(".sesame.v1.outputs.OutputUpdateRequest.websocket: object expected");i.websocket=$root.sesame.v1.outputs.EncodedWebSocketOutputConfig.fromObject(e.websocket)}if(e.recorder!=null){if(typeof e.recorder!="object")throw TypeError(".sesame.v1.outputs.OutputUpdateRequest.recorder: object expected");i.recorder=$root.sesame.v1.outputs.EncodedRecorderOutputConfig.fromObject(e.recorder)}if(e.superSlowmoRecorder!=null){if(typeof e.superSlowmoRecorder!="object")throw TypeError(".sesame.v1.outputs.OutputUpdateRequest.superSlowmoRecorder: object expected");i.superSlowmoRecorder=$root.sesame.v1.outputs.EncodedSuperSlowMoRecorderOutputConfig.fromObject(e.superSlowmoRecorder)}if(e.srt!=null){if(typeof e.srt!="object")throw TypeError(".sesame.v1.outputs.OutputUpdateRequest.srt: object expected");i.srt=$root.sesame.v1.outputs.EncodedSrtOutputConfig.fromObject(e.srt)}if(e.moq!=null){if(typeof e.moq!="object")throw TypeError(".sesame.v1.outputs.OutputUpdateRequest.moq: object expected");i.moq=$root.sesame.v1.outputs.EncodedMoqOutputConfig.fromObject(e.moq)}if(e.decklink!=null){if(typeof e.decklink!="object")throw TypeError(".sesame.v1.outputs.OutputUpdateRequest.decklink: object expected");i.decklink=$root.sesame.v1.outputs.DecklinkOutputConfig.fromObject(e.decklink)}if(e.systemAudio!=null){if(typeof e.systemAudio!="object")throw TypeError(".sesame.v1.outputs.OutputUpdateRequest.systemAudio: object expected");i.systemAudio=$root.sesame.v1.outputs.SystemAudioOutputConfig.fromObject(e.systemAudio)}return i},n.toObject=function(e,i){i||(i={});let a={};if((i.arrays||i.defaults)&&(a.audioMixIds=[]),i.defaults&&(a.id="",a.compositionId="",a.useAsClock=!1),e.id!=null&&e.hasOwnProperty("id")&&(a.id=e.id),e.compositionId!=null&&e.hasOwnProperty("compositionId")&&(a.compositionId=e.compositionId),e.audioMixIds&&e.audioMixIds.length){a.audioMixIds=[];for(let s=0;s<e.audioMixIds.length;++s)a.audioMixIds[s]=e.audioMixIds[s]}return e.useAsClock!=null&&e.hasOwnProperty("useAsClock")&&(a.useAsClock=e.useAsClock),e.websocket!=null&&e.hasOwnProperty("websocket")&&(a.websocket=$root.sesame.v1.outputs.EncodedWebSocketOutputConfig.toObject(e.websocket,i),i.oneofs&&(a.output="websocket")),e.recorder!=null&&e.hasOwnProperty("recorder")&&(a.recorder=$root.sesame.v1.outputs.EncodedRecorderOutputConfig.toObject(e.recorder,i),i.oneofs&&(a.output="recorder")),e.superSlowmoRecorder!=null&&e.hasOwnProperty("superSlowmoRecorder")&&(a.superSlowmoRecorder=$root.sesame.v1.outputs.EncodedSuperSlowMoRecorderOutputConfig.toObject(e.superSlowmoRecorder,i),i.oneofs&&(a.output="superSlowmoRecorder")),e.srt!=null&&e.hasOwnProperty("srt")&&(a.srt=$root.sesame.v1.outputs.EncodedSrtOutputConfig.toObject(e.srt,i),i.oneofs&&(a.output="srt")),e.moq!=null&&e.hasOwnProperty("moq")&&(a.moq=$root.sesame.v1.outputs.EncodedMoqOutputConfig.toObject(e.moq,i),i.oneofs&&(a.output="moq")),e.decklink!=null&&e.hasOwnProperty("decklink")&&(a.decklink=$root.sesame.v1.outputs.DecklinkOutputConfig.toObject(e.decklink,i),i.oneofs&&(a.output="decklink")),e.systemAudio!=null&&e.hasOwnProperty("systemAudio")&&(a.systemAudio=$root.sesame.v1.outputs.SystemAudioOutputConfig.toObject(e.systemAudio,i),i.oneofs&&(a.output="systemAudio")),a},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/sesame.v1.outputs.OutputUpdateRequest"},n}(),l.OutputRemoveRequest=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.id="",n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.id!=null&&Object.hasOwnProperty.call(t,"id")&&e.uint32(10).string(t.id),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.outputs.OutputRemoveRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.id=t.string();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.id!=null&&t.hasOwnProperty("id")&&!$util.isString(t.id)?"id: string expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.outputs.OutputRemoveRequest)return t;let e=new $root.sesame.v1.outputs.OutputRemoveRequest;return t.id!=null&&(e.id=String(t.id)),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.id=""),t.id!=null&&t.hasOwnProperty("id")&&(i.id=t.id),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.outputs.OutputRemoveRequest"},n}(),l.KeyframeRequest=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.id="",n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.id!=null&&Object.hasOwnProperty.call(t,"id")&&e.uint32(10).string(t.id),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.outputs.KeyframeRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.id=t.string();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.id!=null&&t.hasOwnProperty("id")&&!$util.isString(t.id)?"id: string expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.outputs.KeyframeRequest)return t;let e=new $root.sesame.v1.outputs.KeyframeRequest;return t.id!=null&&(e.id=String(t.id)),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.id=""),t.id!=null&&t.hasOwnProperty("id")&&(i.id=t.id),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.outputs.KeyframeRequest"},n}(),l.OutputStatus=function(){function n(t){if(t)for(let e=Object.keys(t),i=0;i<e.length;++i)t[e[i]]!=null&&(this[e[i]]=t[e[i]])}n.prototype.id="",n.prototype.type=0,n.prototype.state=0,n.prototype.msg=null,n.prototype.url="",n.prototype.bufferSize=0,n.prototype.srtStats=null;let r;return Object.defineProperty(n.prototype,"_msg",{get:$util.oneOfGetter(r=["msg"]),set:$util.oneOfSetter(r)}),Object.defineProperty(n.prototype,"_srtStats",{get:$util.oneOfGetter(r=["srtStats"]),set:$util.oneOfSetter(r)}),n.create=function(e){return new n(e)},n.encode=function(e,i){return i||(i=$Writer.create()),e.id!=null&&Object.hasOwnProperty.call(e,"id")&&i.uint32(10).string(e.id),e.type!=null&&Object.hasOwnProperty.call(e,"type")&&i.uint32(16).int32(e.type),e.state!=null&&Object.hasOwnProperty.call(e,"state")&&i.uint32(24).int32(e.state),e.msg!=null&&Object.hasOwnProperty.call(e,"msg")&&i.uint32(34).string(e.msg),e.url!=null&&Object.hasOwnProperty.call(e,"url")&&i.uint32(42).string(e.url),e.bufferSize!=null&&Object.hasOwnProperty.call(e,"bufferSize")&&i.uint32(48).uint32(e.bufferSize),e.srtStats!=null&&Object.hasOwnProperty.call(e,"srtStats")&&$root.sesame.v1.status.SRTSendStatistics.encode(e.srtStats,i.uint32(58).fork()).ldelim(),i},n.encodeDelimited=function(e,i){return this.encode(e,i).ldelim()},n.decode=function(e,i,a){e instanceof $Reader||(e=$Reader.create(e));let s=i===void 0?e.len:e.pos+i,d=new $root.sesame.v1.outputs.OutputStatus;for(;e.pos<s;){let c=e.uint32();if(c===a)break;switch(c>>>3){case 1:{d.id=e.string();break}case 2:{d.type=e.int32();break}case 3:{d.state=e.int32();break}case 4:{d.msg=e.string();break}case 5:{d.url=e.string();break}case 6:{d.bufferSize=e.uint32();break}case 7:{d.srtStats=$root.sesame.v1.status.SRTSendStatistics.decode(e,e.uint32());break}default:e.skipType(c&7);break}}return d},n.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},n.verify=function(e){if(typeof e!="object"||e===null)return"object expected";if(e.id!=null&&e.hasOwnProperty("id")&&!$util.isString(e.id))return"id: string expected";if(e.type!=null&&e.hasOwnProperty("type"))switch(e.type){default:return"type: enum value expected";case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:break}if(e.state!=null&&e.hasOwnProperty("state"))switch(e.state){default:return"state: enum value expected";case 0:case 1:case 2:case 3:case 4:case 5:case 6:break}if(e.msg!=null&&e.hasOwnProperty("msg")&&!$util.isString(e.msg))return"msg: string expected";if(e.url!=null&&e.hasOwnProperty("url")&&!$util.isString(e.url))return"url: string expected";if(e.bufferSize!=null&&e.hasOwnProperty("bufferSize")&&!$util.isInteger(e.bufferSize))return"bufferSize: integer expected";if(e.srtStats!=null&&e.hasOwnProperty("srtStats")){let i=$root.sesame.v1.status.SRTSendStatistics.verify(e.srtStats);if(i)return"srtStats."+i}return null},n.fromObject=function(e){if(e instanceof $root.sesame.v1.outputs.OutputStatus)return e;let i=new $root.sesame.v1.outputs.OutputStatus;switch(e.id!=null&&(i.id=String(e.id)),e.type){default:if(typeof e.type=="number"){i.type=e.type;break}break;case"OUTPUT_TYPE_UNSPECIFIED":case 0:i.type=0;break;case"OUTPUT_TYPE_ENCODED_WEBSOCKET":case 1:i.type=1;break;case"OUTPUT_TYPE_ENCODED_RECORDER":case 2:i.type=2;break;case"OUTPUT_TYPE_DECKLINK":case 3:i.type=3;break;case"OUTPUT_TYPE_SYSTEM_AUDIO":case 4:i.type=4;break;case"OUTPUT_TYPE_ENCODED_SRT":case 5:i.type=5;break;case"OUTPUT_TYPE_ENCODED_MOQ":case 6:i.type=6;break;case"OUTPUT_TYPE_ENCODED_SUPER_SLOWMO_RECORDER":case 7:i.type=7;break}switch(e.state){default:if(typeof e.state=="number"){i.state=e.state;break}break;case"CONNECTION_STATE_UNSPECIFIED":case 0:i.state=0;break;case"CONNECTION_STATE_INITIALIZING":case 1:i.state=1;break;case"CONNECTION_STATE_CONNECTING":case 2:i.state=2;break;case"CONNECTION_STATE_ONLINE":case 3:i.state=3;break;case"CONNECTION_STATE_DEGRADED":case 4:i.state=4;break;case"CONNECTION_STATE_OFFLINE":case 5:i.state=5;break;case"CONNECTION_STATE_ERROR":case 6:i.state=6;break}if(e.msg!=null&&(i.msg=String(e.msg)),e.url!=null&&(i.url=String(e.url)),e.bufferSize!=null&&(i.bufferSize=e.bufferSize>>>0),e.srtStats!=null){if(typeof e.srtStats!="object")throw TypeError(".sesame.v1.outputs.OutputStatus.srtStats: object expected");i.srtStats=$root.sesame.v1.status.SRTSendStatistics.fromObject(e.srtStats)}return i},n.toObject=function(e,i){i||(i={});let a={};return i.defaults&&(a.id="",a.type=i.enums===String?"OUTPUT_TYPE_UNSPECIFIED":0,a.state=i.enums===String?"CONNECTION_STATE_UNSPECIFIED":0,a.url="",a.bufferSize=0),e.id!=null&&e.hasOwnProperty("id")&&(a.id=e.id),e.type!=null&&e.hasOwnProperty("type")&&(a.type=i.enums===String?$root.sesame.v1.outputs.OutputType[e.type]===void 0?e.type:$root.sesame.v1.outputs.OutputType[e.type]:e.type),e.state!=null&&e.hasOwnProperty("state")&&(a.state=i.enums===String?$root.sesame.v1.common.ConnectionState[e.state]===void 0?e.state:$root.sesame.v1.common.ConnectionState[e.state]:e.state),e.msg!=null&&e.hasOwnProperty("msg")&&(a.msg=e.msg,i.oneofs&&(a._msg="msg")),e.url!=null&&e.hasOwnProperty("url")&&(a.url=e.url),e.bufferSize!=null&&e.hasOwnProperty("bufferSize")&&(a.bufferSize=e.bufferSize),e.srtStats!=null&&e.hasOwnProperty("srtStats")&&(a.srtStats=$root.sesame.v1.status.SRTSendStatistics.toObject(e.srtStats,i),i.oneofs&&(a._srtStats="srtStats")),a},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/sesame.v1.outputs.OutputStatus"},n}(),l}(),o.compositor=function(){const l={};return l.NodeType=function(){const n={},r=Object.create(n);return r[n[0]="NODE_TYPE_UNSPECIFIED"]=0,r[n[1]="NODE_TYPE_GROUP"]=1,r[n[2]="NODE_TYPE_TEXT"]=2,r[n[3]="NODE_TYPE_VIDEO_BOX"]=3,r[n[4]="NODE_TYPE_IMAGE"]=4,r[n[5]="NODE_TYPE_EFFECT_RTT"]=5,r[n[6]="NODE_TYPE_EFFECT_TIMECODE"]=6,r[n[7]="NODE_TYPE_EFFECT_CLIP_PLANE"]=7,r}(),l.AnimationChannelEvaluationMode=function(){const n={},r=Object.create(n);return r[n[0]="ANIM_MODE_CONSTANT"]=0,r[n[1]="ANIM_MODE_STATE_FROM"]=1,r[n[2]="ANIM_MODE_LOOP"]=2,r[n[3]="ANIM_MODE_BOUNCE"]=3,r}(),l.KeyFrame=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.timeUs=$util.Long?$util.Long.fromBits(0,0,!1):0,n.prototype.value=null,n.prototype.easingIn="",n.prototype.easingOut="",n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.timeUs!=null&&Object.hasOwnProperty.call(t,"timeUs")&&e.uint32(8).int64(t.timeUs),t.value!=null&&Object.hasOwnProperty.call(t,"value")&&$root.sesame.v1.common.PropValue.encode(t.value,e.uint32(18).fork()).ldelim(),t.easingIn!=null&&Object.hasOwnProperty.call(t,"easingIn")&&e.uint32(26).string(t.easingIn),t.easingOut!=null&&Object.hasOwnProperty.call(t,"easingOut")&&e.uint32(34).string(t.easingOut),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.compositor.KeyFrame;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.timeUs=t.int64();break}case 2:{s.value=$root.sesame.v1.common.PropValue.decode(t,t.uint32());break}case 3:{s.easingIn=t.string();break}case 4:{s.easingOut=t.string();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.timeUs!=null&&t.hasOwnProperty("timeUs")&&!$util.isInteger(t.timeUs)&&!(t.timeUs&&$util.isInteger(t.timeUs.low)&&$util.isInteger(t.timeUs.high)))return"timeUs: integer|Long expected";if(t.value!=null&&t.hasOwnProperty("value")){let e=$root.sesame.v1.common.PropValue.verify(t.value);if(e)return"value."+e}return t.easingIn!=null&&t.hasOwnProperty("easingIn")&&!$util.isString(t.easingIn)?"easingIn: string expected":t.easingOut!=null&&t.hasOwnProperty("easingOut")&&!$util.isString(t.easingOut)?"easingOut: string expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.compositor.KeyFrame)return t;let e=new $root.sesame.v1.compositor.KeyFrame;if(t.timeUs!=null&&($util.Long?(e.timeUs=$util.Long.fromValue(t.timeUs)).unsigned=!1:typeof t.timeUs=="string"?e.timeUs=parseInt(t.timeUs,10):typeof t.timeUs=="number"?e.timeUs=t.timeUs:typeof t.timeUs=="object"&&(e.timeUs=new $util.LongBits(t.timeUs.low>>>0,t.timeUs.high>>>0).toNumber())),t.value!=null){if(typeof t.value!="object")throw TypeError(".sesame.v1.compositor.KeyFrame.value: object expected");e.value=$root.sesame.v1.common.PropValue.fromObject(t.value)}return t.easingIn!=null&&(e.easingIn=String(t.easingIn)),t.easingOut!=null&&(e.easingOut=String(t.easingOut)),e},n.toObject=function(t,e){e||(e={});let i={};if(e.defaults){if($util.Long){let a=new $util.Long(0,0,!1);i.timeUs=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.timeUs=e.longs===String?"0":0;i.value=null,i.easingIn="",i.easingOut=""}return t.timeUs!=null&&t.hasOwnProperty("timeUs")&&(typeof t.timeUs=="number"?i.timeUs=e.longs===String?String(t.timeUs):t.timeUs:i.timeUs=e.longs===String?$util.Long.prototype.toString.call(t.timeUs):e.longs===Number?new $util.LongBits(t.timeUs.low>>>0,t.timeUs.high>>>0).toNumber():t.timeUs),t.value!=null&&t.hasOwnProperty("value")&&(i.value=$root.sesame.v1.common.PropValue.toObject(t.value,e)),t.easingIn!=null&&t.hasOwnProperty("easingIn")&&(i.easingIn=t.easingIn),t.easingOut!=null&&t.hasOwnProperty("easingOut")&&(i.easingOut=t.easingOut),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.compositor.KeyFrame"},n}(),l.CompositorAddRequest=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.id="",n.prototype.multisample=!1,n.prototype.width=0,n.prototype.height=0,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.id!=null&&Object.hasOwnProperty.call(t,"id")&&e.uint32(10).string(t.id),t.multisample!=null&&Object.hasOwnProperty.call(t,"multisample")&&e.uint32(16).bool(t.multisample),t.width!=null&&Object.hasOwnProperty.call(t,"width")&&e.uint32(24).uint32(t.width),t.height!=null&&Object.hasOwnProperty.call(t,"height")&&e.uint32(32).uint32(t.height),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.compositor.CompositorAddRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.id=t.string();break}case 2:{s.multisample=t.bool();break}case 3:{s.width=t.uint32();break}case 4:{s.height=t.uint32();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.id!=null&&t.hasOwnProperty("id")&&!$util.isString(t.id)?"id: string expected":t.multisample!=null&&t.hasOwnProperty("multisample")&&typeof t.multisample!="boolean"?"multisample: boolean expected":t.width!=null&&t.hasOwnProperty("width")&&!$util.isInteger(t.width)?"width: integer expected":t.height!=null&&t.hasOwnProperty("height")&&!$util.isInteger(t.height)?"height: integer expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.compositor.CompositorAddRequest)return t;let e=new $root.sesame.v1.compositor.CompositorAddRequest;return t.id!=null&&(e.id=String(t.id)),t.multisample!=null&&(e.multisample=!!t.multisample),t.width!=null&&(e.width=t.width>>>0),t.height!=null&&(e.height=t.height>>>0),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.id="",i.multisample=!1,i.width=0,i.height=0),t.id!=null&&t.hasOwnProperty("id")&&(i.id=t.id),t.multisample!=null&&t.hasOwnProperty("multisample")&&(i.multisample=t.multisample),t.width!=null&&t.hasOwnProperty("width")&&(i.width=t.width),t.height!=null&&t.hasOwnProperty("height")&&(i.height=t.height),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.compositor.CompositorAddRequest"},n}(),l.CompositorRemoveRequest=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.id="",n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.id!=null&&Object.hasOwnProperty.call(t,"id")&&e.uint32(10).string(t.id),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.compositor.CompositorRemoveRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.id=t.string();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.id!=null&&t.hasOwnProperty("id")&&!$util.isString(t.id)?"id: string expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.compositor.CompositorRemoveRequest)return t;let e=new $root.sesame.v1.compositor.CompositorRemoveRequest;return t.id!=null&&(e.id=String(t.id)),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.id=""),t.id!=null&&t.hasOwnProperty("id")&&(i.id=t.id),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.compositor.CompositorRemoveRequest"},n}(),l.CompositorClearRequest=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.id="",n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.id!=null&&Object.hasOwnProperty.call(t,"id")&&e.uint32(10).string(t.id),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.compositor.CompositorClearRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.id=t.string();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.id!=null&&t.hasOwnProperty("id")&&!$util.isString(t.id)?"id: string expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.compositor.CompositorClearRequest)return t;let e=new $root.sesame.v1.compositor.CompositorClearRequest;return t.id!=null&&(e.id=String(t.id)),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.id=""),t.id!=null&&t.hasOwnProperty("id")&&(i.id=t.id),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.compositor.CompositorClearRequest"},n}(),l.NodeAddRequest=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.compositorId="",n.prototype.parentAddress="",n.prototype.nodeId="",n.prototype.nodeType=0,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.compositorId!=null&&Object.hasOwnProperty.call(t,"compositorId")&&e.uint32(10).string(t.compositorId),t.parentAddress!=null&&Object.hasOwnProperty.call(t,"parentAddress")&&e.uint32(18).string(t.parentAddress),t.nodeId!=null&&Object.hasOwnProperty.call(t,"nodeId")&&e.uint32(26).string(t.nodeId),t.nodeType!=null&&Object.hasOwnProperty.call(t,"nodeType")&&e.uint32(32).int32(t.nodeType),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.compositor.NodeAddRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.compositorId=t.string();break}case 2:{s.parentAddress=t.string();break}case 3:{s.nodeId=t.string();break}case 4:{s.nodeType=t.int32();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.compositorId!=null&&t.hasOwnProperty("compositorId")&&!$util.isString(t.compositorId))return"compositorId: string expected";if(t.parentAddress!=null&&t.hasOwnProperty("parentAddress")&&!$util.isString(t.parentAddress))return"parentAddress: string expected";if(t.nodeId!=null&&t.hasOwnProperty("nodeId")&&!$util.isString(t.nodeId))return"nodeId: string expected";if(t.nodeType!=null&&t.hasOwnProperty("nodeType"))switch(t.nodeType){default:return"nodeType: enum value expected";case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:break}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.compositor.NodeAddRequest)return t;let e=new $root.sesame.v1.compositor.NodeAddRequest;switch(t.compositorId!=null&&(e.compositorId=String(t.compositorId)),t.parentAddress!=null&&(e.parentAddress=String(t.parentAddress)),t.nodeId!=null&&(e.nodeId=String(t.nodeId)),t.nodeType){default:if(typeof t.nodeType=="number"){e.nodeType=t.nodeType;break}break;case"NODE_TYPE_UNSPECIFIED":case 0:e.nodeType=0;break;case"NODE_TYPE_GROUP":case 1:e.nodeType=1;break;case"NODE_TYPE_TEXT":case 2:e.nodeType=2;break;case"NODE_TYPE_VIDEO_BOX":case 3:e.nodeType=3;break;case"NODE_TYPE_IMAGE":case 4:e.nodeType=4;break;case"NODE_TYPE_EFFECT_RTT":case 5:e.nodeType=5;break;case"NODE_TYPE_EFFECT_TIMECODE":case 6:e.nodeType=6;break;case"NODE_TYPE_EFFECT_CLIP_PLANE":case 7:e.nodeType=7;break}return e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.compositorId="",i.parentAddress="",i.nodeId="",i.nodeType=e.enums===String?"NODE_TYPE_UNSPECIFIED":0),t.compositorId!=null&&t.hasOwnProperty("compositorId")&&(i.compositorId=t.compositorId),t.parentAddress!=null&&t.hasOwnProperty("parentAddress")&&(i.parentAddress=t.parentAddress),t.nodeId!=null&&t.hasOwnProperty("nodeId")&&(i.nodeId=t.nodeId),t.nodeType!=null&&t.hasOwnProperty("nodeType")&&(i.nodeType=e.enums===String?$root.sesame.v1.compositor.NodeType[t.nodeType]===void 0?t.nodeType:$root.sesame.v1.compositor.NodeType[t.nodeType]:t.nodeType),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.compositor.NodeAddRequest"},n}(),l.NodeRemoveRequest=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.compositorId="",n.prototype.address="",n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.compositorId!=null&&Object.hasOwnProperty.call(t,"compositorId")&&e.uint32(10).string(t.compositorId),t.address!=null&&Object.hasOwnProperty.call(t,"address")&&e.uint32(18).string(t.address),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.compositor.NodeRemoveRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.compositorId=t.string();break}case 2:{s.address=t.string();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.compositorId!=null&&t.hasOwnProperty("compositorId")&&!$util.isString(t.compositorId)?"compositorId: string expected":t.address!=null&&t.hasOwnProperty("address")&&!$util.isString(t.address)?"address: string expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.compositor.NodeRemoveRequest)return t;let e=new $root.sesame.v1.compositor.NodeRemoveRequest;return t.compositorId!=null&&(e.compositorId=String(t.compositorId)),t.address!=null&&(e.address=String(t.address)),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.compositorId="",i.address=""),t.compositorId!=null&&t.hasOwnProperty("compositorId")&&(i.compositorId=t.compositorId),t.address!=null&&t.hasOwnProperty("address")&&(i.address=t.address),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.compositor.NodeRemoveRequest"},n}(),l.PropertySetRequest=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.domain=null,n.prototype.address="",n.prototype.property="",n.prototype.value=null,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.domain!=null&&Object.hasOwnProperty.call(t,"domain")&&$root.sesame.v1.common.PropertyDomain.encode(t.domain,e.uint32(10).fork()).ldelim(),t.address!=null&&Object.hasOwnProperty.call(t,"address")&&e.uint32(18).string(t.address),t.property!=null&&Object.hasOwnProperty.call(t,"property")&&e.uint32(26).string(t.property),t.value!=null&&Object.hasOwnProperty.call(t,"value")&&$root.sesame.v1.common.PropValue.encode(t.value,e.uint32(34).fork()).ldelim(),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.compositor.PropertySetRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.domain=$root.sesame.v1.common.PropertyDomain.decode(t,t.uint32());break}case 2:{s.address=t.string();break}case 3:{s.property=t.string();break}case 4:{s.value=$root.sesame.v1.common.PropValue.decode(t,t.uint32());break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.domain!=null&&t.hasOwnProperty("domain")){let e=$root.sesame.v1.common.PropertyDomain.verify(t.domain);if(e)return"domain."+e}if(t.address!=null&&t.hasOwnProperty("address")&&!$util.isString(t.address))return"address: string expected";if(t.property!=null&&t.hasOwnProperty("property")&&!$util.isString(t.property))return"property: string expected";if(t.value!=null&&t.hasOwnProperty("value")){let e=$root.sesame.v1.common.PropValue.verify(t.value);if(e)return"value."+e}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.compositor.PropertySetRequest)return t;let e=new $root.sesame.v1.compositor.PropertySetRequest;if(t.domain!=null){if(typeof t.domain!="object")throw TypeError(".sesame.v1.compositor.PropertySetRequest.domain: object expected");e.domain=$root.sesame.v1.common.PropertyDomain.fromObject(t.domain)}if(t.address!=null&&(e.address=String(t.address)),t.property!=null&&(e.property=String(t.property)),t.value!=null){if(typeof t.value!="object")throw TypeError(".sesame.v1.compositor.PropertySetRequest.value: object expected");e.value=$root.sesame.v1.common.PropValue.fromObject(t.value)}return e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.domain=null,i.address="",i.property="",i.value=null),t.domain!=null&&t.hasOwnProperty("domain")&&(i.domain=$root.sesame.v1.common.PropertyDomain.toObject(t.domain,e)),t.address!=null&&t.hasOwnProperty("address")&&(i.address=t.address),t.property!=null&&t.hasOwnProperty("property")&&(i.property=t.property),t.value!=null&&t.hasOwnProperty("value")&&(i.value=$root.sesame.v1.common.PropValue.toObject(t.value,e)),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.compositor.PropertySetRequest"},n}(),l.PropertyAnimateRequest=function(){function n(r){if(this.keyframes=[],r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.domain=null,n.prototype.address="",n.prototype.property="",n.prototype.keyframes=$util.emptyArray,n.prototype.before=0,n.prototype.after=0,n.create=function(t){return new n(t)},n.encode=function(t,e){if(e||(e=$Writer.create()),t.domain!=null&&Object.hasOwnProperty.call(t,"domain")&&$root.sesame.v1.common.PropertyDomain.encode(t.domain,e.uint32(10).fork()).ldelim(),t.address!=null&&Object.hasOwnProperty.call(t,"address")&&e.uint32(18).string(t.address),t.property!=null&&Object.hasOwnProperty.call(t,"property")&&e.uint32(26).string(t.property),t.keyframes!=null&&t.keyframes.length)for(let i=0;i<t.keyframes.length;++i)$root.sesame.v1.compositor.KeyFrame.encode(t.keyframes[i],e.uint32(34).fork()).ldelim();return t.before!=null&&Object.hasOwnProperty.call(t,"before")&&e.uint32(40).int32(t.before),t.after!=null&&Object.hasOwnProperty.call(t,"after")&&e.uint32(48).int32(t.after),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.compositor.PropertyAnimateRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.domain=$root.sesame.v1.common.PropertyDomain.decode(t,t.uint32());break}case 2:{s.address=t.string();break}case 3:{s.property=t.string();break}case 4:{s.keyframes&&s.keyframes.length||(s.keyframes=[]),s.keyframes.push($root.sesame.v1.compositor.KeyFrame.decode(t,t.uint32()));break}case 5:{s.before=t.int32();break}case 6:{s.after=t.int32();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.domain!=null&&t.hasOwnProperty("domain")){let e=$root.sesame.v1.common.PropertyDomain.verify(t.domain);if(e)return"domain."+e}if(t.address!=null&&t.hasOwnProperty("address")&&!$util.isString(t.address))return"address: string expected";if(t.property!=null&&t.hasOwnProperty("property")&&!$util.isString(t.property))return"property: string expected";if(t.keyframes!=null&&t.hasOwnProperty("keyframes")){if(!Array.isArray(t.keyframes))return"keyframes: array expected";for(let e=0;e<t.keyframes.length;++e){let i=$root.sesame.v1.compositor.KeyFrame.verify(t.keyframes[e]);if(i)return"keyframes."+i}}if(t.before!=null&&t.hasOwnProperty("before"))switch(t.before){default:return"before: enum value expected";case 0:case 1:case 2:case 3:break}if(t.after!=null&&t.hasOwnProperty("after"))switch(t.after){default:return"after: enum value expected";case 0:case 1:case 2:case 3:break}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.compositor.PropertyAnimateRequest)return t;let e=new $root.sesame.v1.compositor.PropertyAnimateRequest;if(t.domain!=null){if(typeof t.domain!="object")throw TypeError(".sesame.v1.compositor.PropertyAnimateRequest.domain: object expected");e.domain=$root.sesame.v1.common.PropertyDomain.fromObject(t.domain)}if(t.address!=null&&(e.address=String(t.address)),t.property!=null&&(e.property=String(t.property)),t.keyframes){if(!Array.isArray(t.keyframes))throw TypeError(".sesame.v1.compositor.PropertyAnimateRequest.keyframes: array expected");e.keyframes=[];for(let i=0;i<t.keyframes.length;++i){if(typeof t.keyframes[i]!="object")throw TypeError(".sesame.v1.compositor.PropertyAnimateRequest.keyframes: object expected");e.keyframes[i]=$root.sesame.v1.compositor.KeyFrame.fromObject(t.keyframes[i])}}switch(t.before){default:if(typeof t.before=="number"){e.before=t.before;break}break;case"ANIM_MODE_CONSTANT":case 0:e.before=0;break;case"ANIM_MODE_STATE_FROM":case 1:e.before=1;break;case"ANIM_MODE_LOOP":case 2:e.before=2;break;case"ANIM_MODE_BOUNCE":case 3:e.before=3;break}switch(t.after){default:if(typeof t.after=="number"){e.after=t.after;break}break;case"ANIM_MODE_CONSTANT":case 0:e.after=0;break;case"ANIM_MODE_STATE_FROM":case 1:e.after=1;break;case"ANIM_MODE_LOOP":case 2:e.after=2;break;case"ANIM_MODE_BOUNCE":case 3:e.after=3;break}return e},n.toObject=function(t,e){e||(e={});let i={};if((e.arrays||e.defaults)&&(i.keyframes=[]),e.defaults&&(i.domain=null,i.address="",i.property="",i.before=e.enums===String?"ANIM_MODE_CONSTANT":0,i.after=e.enums===String?"ANIM_MODE_CONSTANT":0),t.domain!=null&&t.hasOwnProperty("domain")&&(i.domain=$root.sesame.v1.common.PropertyDomain.toObject(t.domain,e)),t.address!=null&&t.hasOwnProperty("address")&&(i.address=t.address),t.property!=null&&t.hasOwnProperty("property")&&(i.property=t.property),t.keyframes&&t.keyframes.length){i.keyframes=[];for(let a=0;a<t.keyframes.length;++a)i.keyframes[a]=$root.sesame.v1.compositor.KeyFrame.toObject(t.keyframes[a],e)}return t.before!=null&&t.hasOwnProperty("before")&&(i.before=e.enums===String?$root.sesame.v1.compositor.AnimationChannelEvaluationMode[t.before]===void 0?t.before:$root.sesame.v1.compositor.AnimationChannelEvaluationMode[t.before]:t.before),t.after!=null&&t.hasOwnProperty("after")&&(i.after=e.enums===String?$root.sesame.v1.compositor.AnimationChannelEvaluationMode[t.after]===void 0?t.after:$root.sesame.v1.compositor.AnimationChannelEvaluationMode[t.after]:t.after),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.compositor.PropertyAnimateRequest"},n}(),l}(),o.jobs=function(){const l={};return l.JobType=function(){const n={},r=Object.create(n);return r[n[0]="JOB_TYPE_UNSPECIFIED"]=0,r[n[1]="JOB_TYPE_EXPORT"]=1,r[n[2]="JOB_TYPE_IMPORT"]=2,r}(),l.JobStatus=function(){const n={},r=Object.create(n);return r[n[0]="JOB_STATUS_UNSPECIFIED"]=0,r[n[1]="JOB_STATUS_PENDING"]=1,r[n[2]="JOB_STATUS_IN_PROGRESS"]=2,r[n[3]="JOB_STATUS_COMPLETE"]=3,r[n[4]="JOB_STATUS_ABORTED"]=4,r[n[5]="JOB_STATUS_ERROR"]=5,r}(),l.ContainerFormat=function(){const n={},r=Object.create(n);return r[n[0]="CONTAINER_FORMAT_UNSPECIFIED"]=0,r[n[1]="CONTAINER_FORMAT_MP4"]=1,r[n[2]="CONTAINER_FORMAT_MOV"]=2,r[n[3]="CONTAINER_FORMAT_MKV"]=3,r[n[4]="CONTAINER_FORMAT_MXF"]=4,r}(),l.RateControlMode=function(){const n={},r=Object.create(n);return r[n[0]="RATE_CONTROL_MODE_UNSPECIFIED"]=0,r[n[1]="RATE_CONTROL_MODE_CBR"]=1,r[n[2]="RATE_CONTROL_MODE_VBR"]=2,r[n[3]="RATE_CONTROL_MODE_CQ"]=3,r}(),l.TimingInfo=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.tcIn=$util.Long?$util.Long.fromBits(0,0,!1):0,n.prototype.tcOut=$util.Long?$util.Long.fromBits(0,0,!1):0,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.tcIn!=null&&Object.hasOwnProperty.call(t,"tcIn")&&e.uint32(8).int64(t.tcIn),t.tcOut!=null&&Object.hasOwnProperty.call(t,"tcOut")&&e.uint32(16).int64(t.tcOut),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.jobs.TimingInfo;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.tcIn=t.int64();break}case 2:{s.tcOut=t.int64();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.tcIn!=null&&t.hasOwnProperty("tcIn")&&!$util.isInteger(t.tcIn)&&!(t.tcIn&&$util.isInteger(t.tcIn.low)&&$util.isInteger(t.tcIn.high))?"tcIn: integer|Long expected":t.tcOut!=null&&t.hasOwnProperty("tcOut")&&!$util.isInteger(t.tcOut)&&!(t.tcOut&&$util.isInteger(t.tcOut.low)&&$util.isInteger(t.tcOut.high))?"tcOut: integer|Long expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.jobs.TimingInfo)return t;let e=new $root.sesame.v1.jobs.TimingInfo;return t.tcIn!=null&&($util.Long?(e.tcIn=$util.Long.fromValue(t.tcIn)).unsigned=!1:typeof t.tcIn=="string"?e.tcIn=parseInt(t.tcIn,10):typeof t.tcIn=="number"?e.tcIn=t.tcIn:typeof t.tcIn=="object"&&(e.tcIn=new $util.LongBits(t.tcIn.low>>>0,t.tcIn.high>>>0).toNumber())),t.tcOut!=null&&($util.Long?(e.tcOut=$util.Long.fromValue(t.tcOut)).unsigned=!1:typeof t.tcOut=="string"?e.tcOut=parseInt(t.tcOut,10):typeof t.tcOut=="number"?e.tcOut=t.tcOut:typeof t.tcOut=="object"&&(e.tcOut=new $util.LongBits(t.tcOut.low>>>0,t.tcOut.high>>>0).toNumber())),e},n.toObject=function(t,e){e||(e={});let i={};if(e.defaults){if($util.Long){let a=new $util.Long(0,0,!1);i.tcIn=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.tcIn=e.longs===String?"0":0;if($util.Long){let a=new $util.Long(0,0,!1);i.tcOut=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.tcOut=e.longs===String?"0":0}return t.tcIn!=null&&t.hasOwnProperty("tcIn")&&(typeof t.tcIn=="number"?i.tcIn=e.longs===String?String(t.tcIn):t.tcIn:i.tcIn=e.longs===String?$util.Long.prototype.toString.call(t.tcIn):e.longs===Number?new $util.LongBits(t.tcIn.low>>>0,t.tcIn.high>>>0).toNumber():t.tcIn),t.tcOut!=null&&t.hasOwnProperty("tcOut")&&(typeof t.tcOut=="number"?i.tcOut=e.longs===String?String(t.tcOut):t.tcOut:i.tcOut=e.longs===String?$util.Long.prototype.toString.call(t.tcOut):e.longs===Number?new $util.LongBits(t.tcOut.low>>>0,t.tcOut.high>>>0).toNumber():t.tcOut),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.jobs.TimingInfo"},n}(),l.Job=function(){function n(t){if(t)for(let e=Object.keys(t),i=0;i<e.length;++i)t[e[i]]!=null&&(this[e[i]]=t[e[i]])}n.prototype.id=0,n.prototype.type=0,n.prototype.status=0,n.prototype.name="",n.prototype.description="",n.prototype.error=null,n.prototype.progress=$util.Long?$util.Long.fromBits(0,0,!1):0,n.prototype.total=$util.Long?$util.Long.fromBits(0,0,!1):0,n.prototype.timingInfo=null;let r;return Object.defineProperty(n.prototype,"_error",{get:$util.oneOfGetter(r=["error"]),set:$util.oneOfSetter(r)}),Object.defineProperty(n.prototype,"_timingInfo",{get:$util.oneOfGetter(r=["timingInfo"]),set:$util.oneOfSetter(r)}),n.create=function(e){return new n(e)},n.encode=function(e,i){return i||(i=$Writer.create()),e.id!=null&&Object.hasOwnProperty.call(e,"id")&&i.uint32(8).uint32(e.id),e.type!=null&&Object.hasOwnProperty.call(e,"type")&&i.uint32(16).int32(e.type),e.status!=null&&Object.hasOwnProperty.call(e,"status")&&i.uint32(24).int32(e.status),e.name!=null&&Object.hasOwnProperty.call(e,"name")&&i.uint32(34).string(e.name),e.description!=null&&Object.hasOwnProperty.call(e,"description")&&i.uint32(42).string(e.description),e.error!=null&&Object.hasOwnProperty.call(e,"error")&&i.uint32(50).string(e.error),e.progress!=null&&Object.hasOwnProperty.call(e,"progress")&&i.uint32(56).int64(e.progress),e.total!=null&&Object.hasOwnProperty.call(e,"total")&&i.uint32(64).int64(e.total),e.timingInfo!=null&&Object.hasOwnProperty.call(e,"timingInfo")&&$root.sesame.v1.jobs.TimingInfo.encode(e.timingInfo,i.uint32(74).fork()).ldelim(),i},n.encodeDelimited=function(e,i){return this.encode(e,i).ldelim()},n.decode=function(e,i,a){e instanceof $Reader||(e=$Reader.create(e));let s=i===void 0?e.len:e.pos+i,d=new $root.sesame.v1.jobs.Job;for(;e.pos<s;){let c=e.uint32();if(c===a)break;switch(c>>>3){case 1:{d.id=e.uint32();break}case 2:{d.type=e.int32();break}case 3:{d.status=e.int32();break}case 4:{d.name=e.string();break}case 5:{d.description=e.string();break}case 6:{d.error=e.string();break}case 7:{d.progress=e.int64();break}case 8:{d.total=e.int64();break}case 9:{d.timingInfo=$root.sesame.v1.jobs.TimingInfo.decode(e,e.uint32());break}default:e.skipType(c&7);break}}return d},n.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},n.verify=function(e){if(typeof e!="object"||e===null)return"object expected";if(e.id!=null&&e.hasOwnProperty("id")&&!$util.isInteger(e.id))return"id: integer expected";if(e.type!=null&&e.hasOwnProperty("type"))switch(e.type){default:return"type: enum value expected";case 0:case 1:case 2:break}if(e.status!=null&&e.hasOwnProperty("status"))switch(e.status){default:return"status: enum value expected";case 0:case 1:case 2:case 3:case 4:case 5:break}if(e.name!=null&&e.hasOwnProperty("name")&&!$util.isString(e.name))return"name: string expected";if(e.description!=null&&e.hasOwnProperty("description")&&!$util.isString(e.description))return"description: string expected";if(e.error!=null&&e.hasOwnProperty("error")&&!$util.isString(e.error))return"error: string expected";if(e.progress!=null&&e.hasOwnProperty("progress")&&!$util.isInteger(e.progress)&&!(e.progress&&$util.isInteger(e.progress.low)&&$util.isInteger(e.progress.high)))return"progress: integer|Long expected";if(e.total!=null&&e.hasOwnProperty("total")&&!$util.isInteger(e.total)&&!(e.total&&$util.isInteger(e.total.low)&&$util.isInteger(e.total.high)))return"total: integer|Long expected";if(e.timingInfo!=null&&e.hasOwnProperty("timingInfo")){let i=$root.sesame.v1.jobs.TimingInfo.verify(e.timingInfo);if(i)return"timingInfo."+i}return null},n.fromObject=function(e){if(e instanceof $root.sesame.v1.jobs.Job)return e;let i=new $root.sesame.v1.jobs.Job;switch(e.id!=null&&(i.id=e.id>>>0),e.type){default:if(typeof e.type=="number"){i.type=e.type;break}break;case"JOB_TYPE_UNSPECIFIED":case 0:i.type=0;break;case"JOB_TYPE_EXPORT":case 1:i.type=1;break;case"JOB_TYPE_IMPORT":case 2:i.type=2;break}switch(e.status){default:if(typeof e.status=="number"){i.status=e.status;break}break;case"JOB_STATUS_UNSPECIFIED":case 0:i.status=0;break;case"JOB_STATUS_PENDING":case 1:i.status=1;break;case"JOB_STATUS_IN_PROGRESS":case 2:i.status=2;break;case"JOB_STATUS_COMPLETE":case 3:i.status=3;break;case"JOB_STATUS_ABORTED":case 4:i.status=4;break;case"JOB_STATUS_ERROR":case 5:i.status=5;break}if(e.name!=null&&(i.name=String(e.name)),e.description!=null&&(i.description=String(e.description)),e.error!=null&&(i.error=String(e.error)),e.progress!=null&&($util.Long?(i.progress=$util.Long.fromValue(e.progress)).unsigned=!1:typeof e.progress=="string"?i.progress=parseInt(e.progress,10):typeof e.progress=="number"?i.progress=e.progress:typeof e.progress=="object"&&(i.progress=new $util.LongBits(e.progress.low>>>0,e.progress.high>>>0).toNumber())),e.total!=null&&($util.Long?(i.total=$util.Long.fromValue(e.total)).unsigned=!1:typeof e.total=="string"?i.total=parseInt(e.total,10):typeof e.total=="number"?i.total=e.total:typeof e.total=="object"&&(i.total=new $util.LongBits(e.total.low>>>0,e.total.high>>>0).toNumber())),e.timingInfo!=null){if(typeof e.timingInfo!="object")throw TypeError(".sesame.v1.jobs.Job.timingInfo: object expected");i.timingInfo=$root.sesame.v1.jobs.TimingInfo.fromObject(e.timingInfo)}return i},n.toObject=function(e,i){i||(i={});let a={};if(i.defaults){if(a.id=0,a.type=i.enums===String?"JOB_TYPE_UNSPECIFIED":0,a.status=i.enums===String?"JOB_STATUS_UNSPECIFIED":0,a.name="",a.description="",$util.Long){let s=new $util.Long(0,0,!1);a.progress=i.longs===String?s.toString():i.longs===Number?s.toNumber():s}else a.progress=i.longs===String?"0":0;if($util.Long){let s=new $util.Long(0,0,!1);a.total=i.longs===String?s.toString():i.longs===Number?s.toNumber():s}else a.total=i.longs===String?"0":0}return e.id!=null&&e.hasOwnProperty("id")&&(a.id=e.id),e.type!=null&&e.hasOwnProperty("type")&&(a.type=i.enums===String?$root.sesame.v1.jobs.JobType[e.type]===void 0?e.type:$root.sesame.v1.jobs.JobType[e.type]:e.type),e.status!=null&&e.hasOwnProperty("status")&&(a.status=i.enums===String?$root.sesame.v1.jobs.JobStatus[e.status]===void 0?e.status:$root.sesame.v1.jobs.JobStatus[e.status]:e.status),e.name!=null&&e.hasOwnProperty("name")&&(a.name=e.name),e.description!=null&&e.hasOwnProperty("description")&&(a.description=e.description),e.error!=null&&e.hasOwnProperty("error")&&(a.error=e.error,i.oneofs&&(a._error="error")),e.progress!=null&&e.hasOwnProperty("progress")&&(typeof e.progress=="number"?a.progress=i.longs===String?String(e.progress):e.progress:a.progress=i.longs===String?$util.Long.prototype.toString.call(e.progress):i.longs===Number?new $util.LongBits(e.progress.low>>>0,e.progress.high>>>0).toNumber():e.progress),e.total!=null&&e.hasOwnProperty("total")&&(typeof e.total=="number"?a.total=i.longs===String?String(e.total):e.total:a.total=i.longs===String?$util.Long.prototype.toString.call(e.total):i.longs===Number?new $util.LongBits(e.total.low>>>0,e.total.high>>>0).toNumber():e.total),e.timingInfo!=null&&e.hasOwnProperty("timingInfo")&&(a.timingInfo=$root.sesame.v1.jobs.TimingInfo.toObject(e.timingInfo,i),i.oneofs&&(a._timingInfo="timingInfo")),a},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/sesame.v1.jobs.Job"},n}(),l.JobList=function(){function n(r){if(this.jobs=[],r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.jobs=$util.emptyArray,n.create=function(t){return new n(t)},n.encode=function(t,e){if(e||(e=$Writer.create()),t.jobs!=null&&t.jobs.length)for(let i=0;i<t.jobs.length;++i)$root.sesame.v1.jobs.Job.encode(t.jobs[i],e.uint32(10).fork()).ldelim();return e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.jobs.JobList;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.jobs&&s.jobs.length||(s.jobs=[]),s.jobs.push($root.sesame.v1.jobs.Job.decode(t,t.uint32()));break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.jobs!=null&&t.hasOwnProperty("jobs")){if(!Array.isArray(t.jobs))return"jobs: array expected";for(let e=0;e<t.jobs.length;++e){let i=$root.sesame.v1.jobs.Job.verify(t.jobs[e]);if(i)return"jobs."+i}}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.jobs.JobList)return t;let e=new $root.sesame.v1.jobs.JobList;if(t.jobs){if(!Array.isArray(t.jobs))throw TypeError(".sesame.v1.jobs.JobList.jobs: array expected");e.jobs=[];for(let i=0;i<t.jobs.length;++i){if(typeof t.jobs[i]!="object")throw TypeError(".sesame.v1.jobs.JobList.jobs: object expected");e.jobs[i]=$root.sesame.v1.jobs.Job.fromObject(t.jobs[i])}}return e},n.toObject=function(t,e){e||(e={});let i={};if((e.arrays||e.defaults)&&(i.jobs=[]),t.jobs&&t.jobs.length){i.jobs=[];for(let a=0;a<t.jobs.length;++a)i.jobs[a]=$root.sesame.v1.jobs.Job.toObject(t.jobs[a],e)}return i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.jobs.JobList"},n}(),l.JobStartRequest=function(){function n(t){if(t)for(let e=Object.keys(t),i=0;i<e.length;++i)t[e[i]]!=null&&(this[e[i]]=t[e[i]])}n.prototype.exportRequest=null,n.prototype.importRequest=null;let r;return Object.defineProperty(n.prototype,"config",{get:$util.oneOfGetter(r=["exportRequest","importRequest"]),set:$util.oneOfSetter(r)}),n.create=function(e){return new n(e)},n.encode=function(e,i){return i||(i=$Writer.create()),e.exportRequest!=null&&Object.hasOwnProperty.call(e,"exportRequest")&&$root.sesame.v1.jobs.ExportStartRequest.encode(e.exportRequest,i.uint32(10).fork()).ldelim(),e.importRequest!=null&&Object.hasOwnProperty.call(e,"importRequest")&&$root.sesame.v1.jobs.ImportStartRequest.encode(e.importRequest,i.uint32(18).fork()).ldelim(),i},n.encodeDelimited=function(e,i){return this.encode(e,i).ldelim()},n.decode=function(e,i,a){e instanceof $Reader||(e=$Reader.create(e));let s=i===void 0?e.len:e.pos+i,d=new $root.sesame.v1.jobs.JobStartRequest;for(;e.pos<s;){let c=e.uint32();if(c===a)break;switch(c>>>3){case 1:{d.exportRequest=$root.sesame.v1.jobs.ExportStartRequest.decode(e,e.uint32());break}case 2:{d.importRequest=$root.sesame.v1.jobs.ImportStartRequest.decode(e,e.uint32());break}default:e.skipType(c&7);break}}return d},n.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},n.verify=function(e){if(typeof e!="object"||e===null)return"object expected";let i={};if(e.exportRequest!=null&&e.hasOwnProperty("exportRequest")){i.config=1;{let a=$root.sesame.v1.jobs.ExportStartRequest.verify(e.exportRequest);if(a)return"exportRequest."+a}}if(e.importRequest!=null&&e.hasOwnProperty("importRequest")){if(i.config===1)return"config: multiple values";i.config=1;{let a=$root.sesame.v1.jobs.ImportStartRequest.verify(e.importRequest);if(a)return"importRequest."+a}}return null},n.fromObject=function(e){if(e instanceof $root.sesame.v1.jobs.JobStartRequest)return e;let i=new $root.sesame.v1.jobs.JobStartRequest;if(e.exportRequest!=null){if(typeof e.exportRequest!="object")throw TypeError(".sesame.v1.jobs.JobStartRequest.exportRequest: object expected");i.exportRequest=$root.sesame.v1.jobs.ExportStartRequest.fromObject(e.exportRequest)}if(e.importRequest!=null){if(typeof e.importRequest!="object")throw TypeError(".sesame.v1.jobs.JobStartRequest.importRequest: object expected");i.importRequest=$root.sesame.v1.jobs.ImportStartRequest.fromObject(e.importRequest)}return i},n.toObject=function(e,i){i||(i={});let a={};return e.exportRequest!=null&&e.hasOwnProperty("exportRequest")&&(a.exportRequest=$root.sesame.v1.jobs.ExportStartRequest.toObject(e.exportRequest,i),i.oneofs&&(a.config="exportRequest")),e.importRequest!=null&&e.hasOwnProperty("importRequest")&&(a.importRequest=$root.sesame.v1.jobs.ImportStartRequest.toObject(e.importRequest,i),i.oneofs&&(a.config="importRequest")),a},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/sesame.v1.jobs.JobStartRequest"},n}(),l.JobAbortRequest=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.jobId=0,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.jobId!=null&&Object.hasOwnProperty.call(t,"jobId")&&e.uint32(8).uint32(t.jobId),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.jobs.JobAbortRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.jobId=t.uint32();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.jobId!=null&&t.hasOwnProperty("jobId")&&!$util.isInteger(t.jobId)?"jobId: integer expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.jobs.JobAbortRequest)return t;let e=new $root.sesame.v1.jobs.JobAbortRequest;return t.jobId!=null&&(e.jobId=t.jobId>>>0),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.jobId=0),t.jobId!=null&&t.hasOwnProperty("jobId")&&(i.jobId=t.jobId),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.jobs.JobAbortRequest"},n}(),l.JobStatusRequest=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.jobId=0,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.jobId!=null&&Object.hasOwnProperty.call(t,"jobId")&&e.uint32(8).uint32(t.jobId),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.jobs.JobStatusRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.jobId=t.uint32();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.jobId!=null&&t.hasOwnProperty("jobId")&&!$util.isInteger(t.jobId)?"jobId: integer expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.jobs.JobStatusRequest)return t;let e=new $root.sesame.v1.jobs.JobStatusRequest;return t.jobId!=null&&(e.jobId=t.jobId>>>0),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.jobId=0),t.jobId!=null&&t.hasOwnProperty("jobId")&&(i.jobId=t.jobId),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.jobs.JobStatusRequest"},n}(),l.JobListRequest=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.jobs.JobListRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":null},n.fromObject=function(t){return t instanceof $root.sesame.v1.jobs.JobListRequest?t:new $root.sesame.v1.jobs.JobListRequest},n.toObject=function(){return{}},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.jobs.JobListRequest"},n}(),l.ExportConfiguration=function(){function n(r){if(this.audioRouting=[],r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.filename="",n.prototype.container=0,n.prototype.videoCodec=0,n.prototype.width=0,n.prototype.height=0,n.prototype.fpsNum=0,n.prototype.fpsDen=0,n.prototype.rateControl=0,n.prototype.videoBitrateKbps=0,n.prototype.maxVideoBitrateKbps=0,n.prototype.gopSize=0,n.prototype.maxBFrames=0,n.prototype.profile="",n.prototype.level="",n.prototype.pixelFormat="",n.prototype.colorPrimaries="",n.prototype.colorTransfer="",n.prototype.colorMatrix="",n.prototype.fullRange=!1,n.prototype.audioCodec=0,n.prototype.audioBitrateKbps=0,n.prototype.audioSampleRateHz=0,n.prototype.audioChannels=0,n.prototype.audioRouting=$util.emptyArray,n.create=function(t){return new n(t)},n.encode=function(t,e){if(e||(e=$Writer.create()),t.filename!=null&&Object.hasOwnProperty.call(t,"filename")&&e.uint32(10).string(t.filename),t.container!=null&&Object.hasOwnProperty.call(t,"container")&&e.uint32(16).int32(t.container),t.videoCodec!=null&&Object.hasOwnProperty.call(t,"videoCodec")&&e.uint32(24).int32(t.videoCodec),t.width!=null&&Object.hasOwnProperty.call(t,"width")&&e.uint32(32).uint32(t.width),t.height!=null&&Object.hasOwnProperty.call(t,"height")&&e.uint32(40).uint32(t.height),t.fpsNum!=null&&Object.hasOwnProperty.call(t,"fpsNum")&&e.uint32(48).uint32(t.fpsNum),t.fpsDen!=null&&Object.hasOwnProperty.call(t,"fpsDen")&&e.uint32(56).uint32(t.fpsDen),t.rateControl!=null&&Object.hasOwnProperty.call(t,"rateControl")&&e.uint32(64).int32(t.rateControl),t.videoBitrateKbps!=null&&Object.hasOwnProperty.call(t,"videoBitrateKbps")&&e.uint32(72).uint32(t.videoBitrateKbps),t.maxVideoBitrateKbps!=null&&Object.hasOwnProperty.call(t,"maxVideoBitrateKbps")&&e.uint32(80).uint32(t.maxVideoBitrateKbps),t.gopSize!=null&&Object.hasOwnProperty.call(t,"gopSize")&&e.uint32(88).uint32(t.gopSize),t.maxBFrames!=null&&Object.hasOwnProperty.call(t,"maxBFrames")&&e.uint32(96).uint32(t.maxBFrames),t.profile!=null&&Object.hasOwnProperty.call(t,"profile")&&e.uint32(106).string(t.profile),t.level!=null&&Object.hasOwnProperty.call(t,"level")&&e.uint32(114).string(t.level),t.pixelFormat!=null&&Object.hasOwnProperty.call(t,"pixelFormat")&&e.uint32(122).string(t.pixelFormat),t.colorPrimaries!=null&&Object.hasOwnProperty.call(t,"colorPrimaries")&&e.uint32(130).string(t.colorPrimaries),t.colorTransfer!=null&&Object.hasOwnProperty.call(t,"colorTransfer")&&e.uint32(138).string(t.colorTransfer),t.colorMatrix!=null&&Object.hasOwnProperty.call(t,"colorMatrix")&&e.uint32(146).string(t.colorMatrix),t.fullRange!=null&&Object.hasOwnProperty.call(t,"fullRange")&&e.uint32(152).bool(t.fullRange),t.audioCodec!=null&&Object.hasOwnProperty.call(t,"audioCodec")&&e.uint32(160).int32(t.audioCodec),t.audioBitrateKbps!=null&&Object.hasOwnProperty.call(t,"audioBitrateKbps")&&e.uint32(168).uint32(t.audioBitrateKbps),t.audioSampleRateHz!=null&&Object.hasOwnProperty.call(t,"audioSampleRateHz")&&e.uint32(176).uint32(t.audioSampleRateHz),t.audioChannels!=null&&Object.hasOwnProperty.call(t,"audioChannels")&&e.uint32(184).uint32(t.audioChannels),t.audioRouting!=null&&t.audioRouting.length){e.uint32(194).fork();for(let i=0;i<t.audioRouting.length;++i)e.uint32(t.audioRouting[i]);e.ldelim()}return e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.jobs.ExportConfiguration;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.filename=t.string();break}case 2:{s.container=t.int32();break}case 3:{s.videoCodec=t.int32();break}case 4:{s.width=t.uint32();break}case 5:{s.height=t.uint32();break}case 6:{s.fpsNum=t.uint32();break}case 7:{s.fpsDen=t.uint32();break}case 8:{s.rateControl=t.int32();break}case 9:{s.videoBitrateKbps=t.uint32();break}case 10:{s.maxVideoBitrateKbps=t.uint32();break}case 11:{s.gopSize=t.uint32();break}case 12:{s.maxBFrames=t.uint32();break}case 13:{s.profile=t.string();break}case 14:{s.level=t.string();break}case 15:{s.pixelFormat=t.string();break}case 16:{s.colorPrimaries=t.string();break}case 17:{s.colorTransfer=t.string();break}case 18:{s.colorMatrix=t.string();break}case 19:{s.fullRange=t.bool();break}case 20:{s.audioCodec=t.int32();break}case 21:{s.audioBitrateKbps=t.uint32();break}case 22:{s.audioSampleRateHz=t.uint32();break}case 23:{s.audioChannels=t.uint32();break}case 24:{if(s.audioRouting&&s.audioRouting.length||(s.audioRouting=[]),(d&7)===2){let c=t.uint32()+t.pos;for(;t.pos<c;)s.audioRouting.push(t.uint32())}else s.audioRouting.push(t.uint32());break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.filename!=null&&t.hasOwnProperty("filename")&&!$util.isString(t.filename))return"filename: string expected";if(t.container!=null&&t.hasOwnProperty("container"))switch(t.container){default:return"container: enum value expected";case 0:case 1:case 2:case 3:case 4:break}if(t.videoCodec!=null&&t.hasOwnProperty("videoCodec"))switch(t.videoCodec){default:return"videoCodec: enum value expected";case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 64:case 65:case 66:case 67:break}if(t.width!=null&&t.hasOwnProperty("width")&&!$util.isInteger(t.width))return"width: integer expected";if(t.height!=null&&t.hasOwnProperty("height")&&!$util.isInteger(t.height))return"height: integer expected";if(t.fpsNum!=null&&t.hasOwnProperty("fpsNum")&&!$util.isInteger(t.fpsNum))return"fpsNum: integer expected";if(t.fpsDen!=null&&t.hasOwnProperty("fpsDen")&&!$util.isInteger(t.fpsDen))return"fpsDen: integer expected";if(t.rateControl!=null&&t.hasOwnProperty("rateControl"))switch(t.rateControl){default:return"rateControl: enum value expected";case 0:case 1:case 2:case 3:break}if(t.videoBitrateKbps!=null&&t.hasOwnProperty("videoBitrateKbps")&&!$util.isInteger(t.videoBitrateKbps))return"videoBitrateKbps: integer expected";if(t.maxVideoBitrateKbps!=null&&t.hasOwnProperty("maxVideoBitrateKbps")&&!$util.isInteger(t.maxVideoBitrateKbps))return"maxVideoBitrateKbps: integer expected";if(t.gopSize!=null&&t.hasOwnProperty("gopSize")&&!$util.isInteger(t.gopSize))return"gopSize: integer expected";if(t.maxBFrames!=null&&t.hasOwnProperty("maxBFrames")&&!$util.isInteger(t.maxBFrames))return"maxBFrames: integer expected";if(t.profile!=null&&t.hasOwnProperty("profile")&&!$util.isString(t.profile))return"profile: string expected";if(t.level!=null&&t.hasOwnProperty("level")&&!$util.isString(t.level))return"level: string expected";if(t.pixelFormat!=null&&t.hasOwnProperty("pixelFormat")&&!$util.isString(t.pixelFormat))return"pixelFormat: string expected";if(t.colorPrimaries!=null&&t.hasOwnProperty("colorPrimaries")&&!$util.isString(t.colorPrimaries))return"colorPrimaries: string expected";if(t.colorTransfer!=null&&t.hasOwnProperty("colorTransfer")&&!$util.isString(t.colorTransfer))return"colorTransfer: string expected";if(t.colorMatrix!=null&&t.hasOwnProperty("colorMatrix")&&!$util.isString(t.colorMatrix))return"colorMatrix: string expected";if(t.fullRange!=null&&t.hasOwnProperty("fullRange")&&typeof t.fullRange!="boolean")return"fullRange: boolean expected";if(t.audioCodec!=null&&t.hasOwnProperty("audioCodec"))switch(t.audioCodec){default:return"audioCodec: enum value expected";case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 64:case 65:case 66:case 67:break}if(t.audioBitrateKbps!=null&&t.hasOwnProperty("audioBitrateKbps")&&!$util.isInteger(t.audioBitrateKbps))return"audioBitrateKbps: integer expected";if(t.audioSampleRateHz!=null&&t.hasOwnProperty("audioSampleRateHz")&&!$util.isInteger(t.audioSampleRateHz))return"audioSampleRateHz: integer expected";if(t.audioChannels!=null&&t.hasOwnProperty("audioChannels")&&!$util.isInteger(t.audioChannels))return"audioChannels: integer expected";if(t.audioRouting!=null&&t.hasOwnProperty("audioRouting")){if(!Array.isArray(t.audioRouting))return"audioRouting: array expected";for(let e=0;e<t.audioRouting.length;++e)if(!$util.isInteger(t.audioRouting[e]))return"audioRouting: integer[] expected"}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.jobs.ExportConfiguration)return t;let e=new $root.sesame.v1.jobs.ExportConfiguration;switch(t.filename!=null&&(e.filename=String(t.filename)),t.container){default:if(typeof t.container=="number"){e.container=t.container;break}break;case"CONTAINER_FORMAT_UNSPECIFIED":case 0:e.container=0;break;case"CONTAINER_FORMAT_MP4":case 1:e.container=1;break;case"CONTAINER_FORMAT_MOV":case 2:e.container=2;break;case"CONTAINER_FORMAT_MKV":case 3:e.container=3;break;case"CONTAINER_FORMAT_MXF":case 4:e.container=4;break}switch(t.videoCodec){default:if(typeof t.videoCodec=="number"){e.videoCodec=t.videoCodec;break}break;case"CODEC_TYPE_UNSPECIFIED":case 0:e.videoCodec=0;break;case"CODEC_TYPE_VIDEO_VP8":case 1:e.videoCodec=1;break;case"CODEC_TYPE_VIDEO_VP9":case 2:e.videoCodec=2;break;case"CODEC_TYPE_VIDEO_AVC":case 3:e.videoCodec=3;break;case"CODEC_TYPE_VIDEO_HEVC":case 4:e.videoCodec=4;break;case"CODEC_TYPE_VIDEO_AV1":case 5:e.videoCodec=5;break;case"CODEC_TYPE_VIDEO_PRORES":case 6:e.videoCodec=6;break;case"CODEC_TYPE_VIDEO_DNXHR":case 7:e.videoCodec=7;break;case"CODEC_TYPE_AUDIO_OPUS":case 64:e.videoCodec=64;break;case"CODEC_TYPE_AUDIO_AAC":case 65:e.videoCodec=65;break;case"CODEC_TYPE_AUDIO_PCM":case 66:e.videoCodec=66;break;case"CODEC_TYPE_AUDIO_PCM_S24LE":case 67:e.videoCodec=67;break}switch(t.width!=null&&(e.width=t.width>>>0),t.height!=null&&(e.height=t.height>>>0),t.fpsNum!=null&&(e.fpsNum=t.fpsNum>>>0),t.fpsDen!=null&&(e.fpsDen=t.fpsDen>>>0),t.rateControl){default:if(typeof t.rateControl=="number"){e.rateControl=t.rateControl;break}break;case"RATE_CONTROL_MODE_UNSPECIFIED":case 0:e.rateControl=0;break;case"RATE_CONTROL_MODE_CBR":case 1:e.rateControl=1;break;case"RATE_CONTROL_MODE_VBR":case 2:e.rateControl=2;break;case"RATE_CONTROL_MODE_CQ":case 3:e.rateControl=3;break}switch(t.videoBitrateKbps!=null&&(e.videoBitrateKbps=t.videoBitrateKbps>>>0),t.maxVideoBitrateKbps!=null&&(e.maxVideoBitrateKbps=t.maxVideoBitrateKbps>>>0),t.gopSize!=null&&(e.gopSize=t.gopSize>>>0),t.maxBFrames!=null&&(e.maxBFrames=t.maxBFrames>>>0),t.profile!=null&&(e.profile=String(t.profile)),t.level!=null&&(e.level=String(t.level)),t.pixelFormat!=null&&(e.pixelFormat=String(t.pixelFormat)),t.colorPrimaries!=null&&(e.colorPrimaries=String(t.colorPrimaries)),t.colorTransfer!=null&&(e.colorTransfer=String(t.colorTransfer)),t.colorMatrix!=null&&(e.colorMatrix=String(t.colorMatrix)),t.fullRange!=null&&(e.fullRange=!!t.fullRange),t.audioCodec){default:if(typeof t.audioCodec=="number"){e.audioCodec=t.audioCodec;break}break;case"CODEC_TYPE_UNSPECIFIED":case 0:e.audioCodec=0;break;case"CODEC_TYPE_VIDEO_VP8":case 1:e.audioCodec=1;break;case"CODEC_TYPE_VIDEO_VP9":case 2:e.audioCodec=2;break;case"CODEC_TYPE_VIDEO_AVC":case 3:e.audioCodec=3;break;case"CODEC_TYPE_VIDEO_HEVC":case 4:e.audioCodec=4;break;case"CODEC_TYPE_VIDEO_AV1":case 5:e.audioCodec=5;break;case"CODEC_TYPE_VIDEO_PRORES":case 6:e.audioCodec=6;break;case"CODEC_TYPE_VIDEO_DNXHR":case 7:e.audioCodec=7;break;case"CODEC_TYPE_AUDIO_OPUS":case 64:e.audioCodec=64;break;case"CODEC_TYPE_AUDIO_AAC":case 65:e.audioCodec=65;break;case"CODEC_TYPE_AUDIO_PCM":case 66:e.audioCodec=66;break;case"CODEC_TYPE_AUDIO_PCM_S24LE":case 67:e.audioCodec=67;break}if(t.audioBitrateKbps!=null&&(e.audioBitrateKbps=t.audioBitrateKbps>>>0),t.audioSampleRateHz!=null&&(e.audioSampleRateHz=t.audioSampleRateHz>>>0),t.audioChannels!=null&&(e.audioChannels=t.audioChannels>>>0),t.audioRouting){if(!Array.isArray(t.audioRouting))throw TypeError(".sesame.v1.jobs.ExportConfiguration.audioRouting: array expected");e.audioRouting=[];for(let i=0;i<t.audioRouting.length;++i)e.audioRouting[i]=t.audioRouting[i]>>>0}return e},n.toObject=function(t,e){e||(e={});let i={};if((e.arrays||e.defaults)&&(i.audioRouting=[]),e.defaults&&(i.filename="",i.container=e.enums===String?"CONTAINER_FORMAT_UNSPECIFIED":0,i.videoCodec=e.enums===String?"CODEC_TYPE_UNSPECIFIED":0,i.width=0,i.height=0,i.fpsNum=0,i.fpsDen=0,i.rateControl=e.enums===String?"RATE_CONTROL_MODE_UNSPECIFIED":0,i.videoBitrateKbps=0,i.maxVideoBitrateKbps=0,i.gopSize=0,i.maxBFrames=0,i.profile="",i.level="",i.pixelFormat="",i.colorPrimaries="",i.colorTransfer="",i.colorMatrix="",i.fullRange=!1,i.audioCodec=e.enums===String?"CODEC_TYPE_UNSPECIFIED":0,i.audioBitrateKbps=0,i.audioSampleRateHz=0,i.audioChannels=0),t.filename!=null&&t.hasOwnProperty("filename")&&(i.filename=t.filename),t.container!=null&&t.hasOwnProperty("container")&&(i.container=e.enums===String?$root.sesame.v1.jobs.ContainerFormat[t.container]===void 0?t.container:$root.sesame.v1.jobs.ContainerFormat[t.container]:t.container),t.videoCodec!=null&&t.hasOwnProperty("videoCodec")&&(i.videoCodec=e.enums===String?$root.sesame.v1.common.CodecType[t.videoCodec]===void 0?t.videoCodec:$root.sesame.v1.common.CodecType[t.videoCodec]:t.videoCodec),t.width!=null&&t.hasOwnProperty("width")&&(i.width=t.width),t.height!=null&&t.hasOwnProperty("height")&&(i.height=t.height),t.fpsNum!=null&&t.hasOwnProperty("fpsNum")&&(i.fpsNum=t.fpsNum),t.fpsDen!=null&&t.hasOwnProperty("fpsDen")&&(i.fpsDen=t.fpsDen),t.rateControl!=null&&t.hasOwnProperty("rateControl")&&(i.rateControl=e.enums===String?$root.sesame.v1.jobs.RateControlMode[t.rateControl]===void 0?t.rateControl:$root.sesame.v1.jobs.RateControlMode[t.rateControl]:t.rateControl),t.videoBitrateKbps!=null&&t.hasOwnProperty("videoBitrateKbps")&&(i.videoBitrateKbps=t.videoBitrateKbps),t.maxVideoBitrateKbps!=null&&t.hasOwnProperty("maxVideoBitrateKbps")&&(i.maxVideoBitrateKbps=t.maxVideoBitrateKbps),t.gopSize!=null&&t.hasOwnProperty("gopSize")&&(i.gopSize=t.gopSize),t.maxBFrames!=null&&t.hasOwnProperty("maxBFrames")&&(i.maxBFrames=t.maxBFrames),t.profile!=null&&t.hasOwnProperty("profile")&&(i.profile=t.profile),t.level!=null&&t.hasOwnProperty("level")&&(i.level=t.level),t.pixelFormat!=null&&t.hasOwnProperty("pixelFormat")&&(i.pixelFormat=t.pixelFormat),t.colorPrimaries!=null&&t.hasOwnProperty("colorPrimaries")&&(i.colorPrimaries=t.colorPrimaries),t.colorTransfer!=null&&t.hasOwnProperty("colorTransfer")&&(i.colorTransfer=t.colorTransfer),t.colorMatrix!=null&&t.hasOwnProperty("colorMatrix")&&(i.colorMatrix=t.colorMatrix),t.fullRange!=null&&t.hasOwnProperty("fullRange")&&(i.fullRange=t.fullRange),t.audioCodec!=null&&t.hasOwnProperty("audioCodec")&&(i.audioCodec=e.enums===String?$root.sesame.v1.common.CodecType[t.audioCodec]===void 0?t.audioCodec:$root.sesame.v1.common.CodecType[t.audioCodec]:t.audioCodec),t.audioBitrateKbps!=null&&t.hasOwnProperty("audioBitrateKbps")&&(i.audioBitrateKbps=t.audioBitrateKbps),t.audioSampleRateHz!=null&&t.hasOwnProperty("audioSampleRateHz")&&(i.audioSampleRateHz=t.audioSampleRateHz),t.audioChannels!=null&&t.hasOwnProperty("audioChannels")&&(i.audioChannels=t.audioChannels),t.audioRouting&&t.audioRouting.length){i.audioRouting=[];for(let a=0;a<t.audioRouting.length;++a)i.audioRouting[a]=t.audioRouting[a]}return i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.jobs.ExportConfiguration"},n}(),l.ExportStartRequest=function(){function n(r){if(this.items=[],r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.config=null,n.prototype.items=$util.emptyArray,n.create=function(t){return new n(t)},n.encode=function(t,e){if(e||(e=$Writer.create()),t.config!=null&&Object.hasOwnProperty.call(t,"config")&&$root.sesame.v1.jobs.ExportConfiguration.encode(t.config,e.uint32(10).fork()).ldelim(),t.items!=null&&t.items.length)for(let i=0;i<t.items.length;++i)$root.sesame.v1.recorder.PlaylistItem.encode(t.items[i],e.uint32(18).fork()).ldelim();return e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.jobs.ExportStartRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.config=$root.sesame.v1.jobs.ExportConfiguration.decode(t,t.uint32());break}case 2:{s.items&&s.items.length||(s.items=[]),s.items.push($root.sesame.v1.recorder.PlaylistItem.decode(t,t.uint32()));break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.config!=null&&t.hasOwnProperty("config")){let e=$root.sesame.v1.jobs.ExportConfiguration.verify(t.config);if(e)return"config."+e}if(t.items!=null&&t.hasOwnProperty("items")){if(!Array.isArray(t.items))return"items: array expected";for(let e=0;e<t.items.length;++e){let i=$root.sesame.v1.recorder.PlaylistItem.verify(t.items[e]);if(i)return"items."+i}}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.jobs.ExportStartRequest)return t;let e=new $root.sesame.v1.jobs.ExportStartRequest;if(t.config!=null){if(typeof t.config!="object")throw TypeError(".sesame.v1.jobs.ExportStartRequest.config: object expected");e.config=$root.sesame.v1.jobs.ExportConfiguration.fromObject(t.config)}if(t.items){if(!Array.isArray(t.items))throw TypeError(".sesame.v1.jobs.ExportStartRequest.items: array expected");e.items=[];for(let i=0;i<t.items.length;++i){if(typeof t.items[i]!="object")throw TypeError(".sesame.v1.jobs.ExportStartRequest.items: object expected");e.items[i]=$root.sesame.v1.recorder.PlaylistItem.fromObject(t.items[i])}}return e},n.toObject=function(t,e){e||(e={});let i={};if((e.arrays||e.defaults)&&(i.items=[]),e.defaults&&(i.config=null),t.config!=null&&t.hasOwnProperty("config")&&(i.config=$root.sesame.v1.jobs.ExportConfiguration.toObject(t.config,e)),t.items&&t.items.length){i.items=[];for(let a=0;a<t.items.length;++a)i.items[a]=$root.sesame.v1.recorder.PlaylistItem.toObject(t.items[a],e)}return i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.jobs.ExportStartRequest"},n}(),l.ImportConfiguration=function(){function n(r){if(this.audioRouting=[],r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.srcFilename="",n.prototype.audioRouting=$util.emptyArray,n.prototype.dstRecorderId="",n.prototype.dstClipId=$util.Long?$util.Long.fromBits(0,0,!0):0,n.prototype.dstClipName="",n.prototype.dstClipUserData="",n.create=function(t){return new n(t)},n.encode=function(t,e){if(e||(e=$Writer.create()),t.srcFilename!=null&&Object.hasOwnProperty.call(t,"srcFilename")&&e.uint32(10).string(t.srcFilename),t.audioRouting!=null&&t.audioRouting.length){e.uint32(18).fork();for(let i=0;i<t.audioRouting.length;++i)e.uint32(t.audioRouting[i]);e.ldelim()}return t.dstRecorderId!=null&&Object.hasOwnProperty.call(t,"dstRecorderId")&&e.uint32(26).string(t.dstRecorderId),t.dstClipId!=null&&Object.hasOwnProperty.call(t,"dstClipId")&&e.uint32(32).uint64(t.dstClipId),t.dstClipName!=null&&Object.hasOwnProperty.call(t,"dstClipName")&&e.uint32(42).string(t.dstClipName),t.dstClipUserData!=null&&Object.hasOwnProperty.call(t,"dstClipUserData")&&e.uint32(50).string(t.dstClipUserData),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.jobs.ImportConfiguration;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.srcFilename=t.string();break}case 2:{if(s.audioRouting&&s.audioRouting.length||(s.audioRouting=[]),(d&7)===2){let c=t.uint32()+t.pos;for(;t.pos<c;)s.audioRouting.push(t.uint32())}else s.audioRouting.push(t.uint32());break}case 3:{s.dstRecorderId=t.string();break}case 4:{s.dstClipId=t.uint64();break}case 5:{s.dstClipName=t.string();break}case 6:{s.dstClipUserData=t.string();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.srcFilename!=null&&t.hasOwnProperty("srcFilename")&&!$util.isString(t.srcFilename))return"srcFilename: string expected";if(t.audioRouting!=null&&t.hasOwnProperty("audioRouting")){if(!Array.isArray(t.audioRouting))return"audioRouting: array expected";for(let e=0;e<t.audioRouting.length;++e)if(!$util.isInteger(t.audioRouting[e]))return"audioRouting: integer[] expected"}return t.dstRecorderId!=null&&t.hasOwnProperty("dstRecorderId")&&!$util.isString(t.dstRecorderId)?"dstRecorderId: string expected":t.dstClipId!=null&&t.hasOwnProperty("dstClipId")&&!$util.isInteger(t.dstClipId)&&!(t.dstClipId&&$util.isInteger(t.dstClipId.low)&&$util.isInteger(t.dstClipId.high))?"dstClipId: integer|Long expected":t.dstClipName!=null&&t.hasOwnProperty("dstClipName")&&!$util.isString(t.dstClipName)?"dstClipName: string expected":t.dstClipUserData!=null&&t.hasOwnProperty("dstClipUserData")&&!$util.isString(t.dstClipUserData)?"dstClipUserData: string expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.jobs.ImportConfiguration)return t;let e=new $root.sesame.v1.jobs.ImportConfiguration;if(t.srcFilename!=null&&(e.srcFilename=String(t.srcFilename)),t.audioRouting){if(!Array.isArray(t.audioRouting))throw TypeError(".sesame.v1.jobs.ImportConfiguration.audioRouting: array expected");e.audioRouting=[];for(let i=0;i<t.audioRouting.length;++i)e.audioRouting[i]=t.audioRouting[i]>>>0}return t.dstRecorderId!=null&&(e.dstRecorderId=String(t.dstRecorderId)),t.dstClipId!=null&&($util.Long?(e.dstClipId=$util.Long.fromValue(t.dstClipId)).unsigned=!0:typeof t.dstClipId=="string"?e.dstClipId=parseInt(t.dstClipId,10):typeof t.dstClipId=="number"?e.dstClipId=t.dstClipId:typeof t.dstClipId=="object"&&(e.dstClipId=new $util.LongBits(t.dstClipId.low>>>0,t.dstClipId.high>>>0).toNumber(!0))),t.dstClipName!=null&&(e.dstClipName=String(t.dstClipName)),t.dstClipUserData!=null&&(e.dstClipUserData=String(t.dstClipUserData)),e},n.toObject=function(t,e){e||(e={});let i={};if((e.arrays||e.defaults)&&(i.audioRouting=[]),e.defaults){if(i.srcFilename="",i.dstRecorderId="",$util.Long){let a=new $util.Long(0,0,!0);i.dstClipId=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.dstClipId=e.longs===String?"0":0;i.dstClipName="",i.dstClipUserData=""}if(t.srcFilename!=null&&t.hasOwnProperty("srcFilename")&&(i.srcFilename=t.srcFilename),t.audioRouting&&t.audioRouting.length){i.audioRouting=[];for(let a=0;a<t.audioRouting.length;++a)i.audioRouting[a]=t.audioRouting[a]}return t.dstRecorderId!=null&&t.hasOwnProperty("dstRecorderId")&&(i.dstRecorderId=t.dstRecorderId),t.dstClipId!=null&&t.hasOwnProperty("dstClipId")&&(typeof t.dstClipId=="number"?i.dstClipId=e.longs===String?String(t.dstClipId):t.dstClipId:i.dstClipId=e.longs===String?$util.Long.prototype.toString.call(t.dstClipId):e.longs===Number?new $util.LongBits(t.dstClipId.low>>>0,t.dstClipId.high>>>0).toNumber(!0):t.dstClipId),t.dstClipName!=null&&t.hasOwnProperty("dstClipName")&&(i.dstClipName=t.dstClipName),t.dstClipUserData!=null&&t.hasOwnProperty("dstClipUserData")&&(i.dstClipUserData=t.dstClipUserData),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.jobs.ImportConfiguration"},n}(),l.ImportStartRequest=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.config=null,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.config!=null&&Object.hasOwnProperty.call(t,"config")&&$root.sesame.v1.jobs.ImportConfiguration.encode(t.config,e.uint32(10).fork()).ldelim(),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.jobs.ImportStartRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.config=$root.sesame.v1.jobs.ImportConfiguration.decode(t,t.uint32());break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.config!=null&&t.hasOwnProperty("config")){let e=$root.sesame.v1.jobs.ImportConfiguration.verify(t.config);if(e)return"config."+e}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.jobs.ImportStartRequest)return t;let e=new $root.sesame.v1.jobs.ImportStartRequest;if(t.config!=null){if(typeof t.config!="object")throw TypeError(".sesame.v1.jobs.ImportStartRequest.config: object expected");e.config=$root.sesame.v1.jobs.ImportConfiguration.fromObject(t.config)}return e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.config=null),t.config!=null&&t.hasOwnProperty("config")&&(i.config=$root.sesame.v1.jobs.ImportConfiguration.toObject(t.config,e)),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.jobs.ImportStartRequest"},n}(),l}(),o.rpc=function(){const l={};return l.Message=function(){function n(t){if(t)for(let e=Object.keys(t),i=0;i<e.length;++i)t[e[i]]!=null&&(this[e[i]]=t[e[i]])}n.prototype.request=null,n.prototype.response=null,n.prototype.event=null;let r;return Object.defineProperty(n.prototype,"payload",{get:$util.oneOfGetter(r=["request","response","event"]),set:$util.oneOfSetter(r)}),n.create=function(e){return new n(e)},n.encode=function(e,i){return i||(i=$Writer.create()),e.request!=null&&Object.hasOwnProperty.call(e,"request")&&$root.sesame.v1.rpc.Request.encode(e.request,i.uint32(10).fork()).ldelim(),e.response!=null&&Object.hasOwnProperty.call(e,"response")&&$root.sesame.v1.rpc.Response.encode(e.response,i.uint32(18).fork()).ldelim(),e.event!=null&&Object.hasOwnProperty.call(e,"event")&&$root.sesame.v1.rpc.Event.encode(e.event,i.uint32(26).fork()).ldelim(),i},n.encodeDelimited=function(e,i){return this.encode(e,i).ldelim()},n.decode=function(e,i,a){e instanceof $Reader||(e=$Reader.create(e));let s=i===void 0?e.len:e.pos+i,d=new $root.sesame.v1.rpc.Message;for(;e.pos<s;){let c=e.uint32();if(c===a)break;switch(c>>>3){case 1:{d.request=$root.sesame.v1.rpc.Request.decode(e,e.uint32());break}case 2:{d.response=$root.sesame.v1.rpc.Response.decode(e,e.uint32());break}case 3:{d.event=$root.sesame.v1.rpc.Event.decode(e,e.uint32());break}default:e.skipType(c&7);break}}return d},n.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},n.verify=function(e){if(typeof e!="object"||e===null)return"object expected";let i={};if(e.request!=null&&e.hasOwnProperty("request")){i.payload=1;{let a=$root.sesame.v1.rpc.Request.verify(e.request);if(a)return"request."+a}}if(e.response!=null&&e.hasOwnProperty("response")){if(i.payload===1)return"payload: multiple values";i.payload=1;{let a=$root.sesame.v1.rpc.Response.verify(e.response);if(a)return"response."+a}}if(e.event!=null&&e.hasOwnProperty("event")){if(i.payload===1)return"payload: multiple values";i.payload=1;{let a=$root.sesame.v1.rpc.Event.verify(e.event);if(a)return"event."+a}}return null},n.fromObject=function(e){if(e instanceof $root.sesame.v1.rpc.Message)return e;let i=new $root.sesame.v1.rpc.Message;if(e.request!=null){if(typeof e.request!="object")throw TypeError(".sesame.v1.rpc.Message.request: object expected");i.request=$root.sesame.v1.rpc.Request.fromObject(e.request)}if(e.response!=null){if(typeof e.response!="object")throw TypeError(".sesame.v1.rpc.Message.response: object expected");i.response=$root.sesame.v1.rpc.Response.fromObject(e.response)}if(e.event!=null){if(typeof e.event!="object")throw TypeError(".sesame.v1.rpc.Message.event: object expected");i.event=$root.sesame.v1.rpc.Event.fromObject(e.event)}return i},n.toObject=function(e,i){i||(i={});let a={};return e.request!=null&&e.hasOwnProperty("request")&&(a.request=$root.sesame.v1.rpc.Request.toObject(e.request,i),i.oneofs&&(a.payload="request")),e.response!=null&&e.hasOwnProperty("response")&&(a.response=$root.sesame.v1.rpc.Response.toObject(e.response,i),i.oneofs&&(a.payload="response")),e.event!=null&&e.hasOwnProperty("event")&&(a.event=$root.sesame.v1.rpc.Event.toObject(e.event,i),i.oneofs&&(a.payload="event")),a},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/sesame.v1.rpc.Message"},n}(),l.Request=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.method="",n.prototype.seq=0,n.prototype.payload=$util.newBuffer([]),n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.method!=null&&Object.hasOwnProperty.call(t,"method")&&e.uint32(10).string(t.method),t.seq!=null&&Object.hasOwnProperty.call(t,"seq")&&e.uint32(16).uint32(t.seq),t.payload!=null&&Object.hasOwnProperty.call(t,"payload")&&e.uint32(26).bytes(t.payload),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.rpc.Request;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.method=t.string();break}case 2:{s.seq=t.uint32();break}case 3:{s.payload=t.bytes();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.method!=null&&t.hasOwnProperty("method")&&!$util.isString(t.method)?"method: string expected":t.seq!=null&&t.hasOwnProperty("seq")&&!$util.isInteger(t.seq)?"seq: integer expected":t.payload!=null&&t.hasOwnProperty("payload")&&!(t.payload&&typeof t.payload.length=="number"||$util.isString(t.payload))?"payload: buffer expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.rpc.Request)return t;let e=new $root.sesame.v1.rpc.Request;return t.method!=null&&(e.method=String(t.method)),t.seq!=null&&(e.seq=t.seq>>>0),t.payload!=null&&(typeof t.payload=="string"?$util.base64.decode(t.payload,e.payload=$util.newBuffer($util.base64.length(t.payload)),0):t.payload.length>=0&&(e.payload=t.payload)),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.method="",i.seq=0,e.bytes===String?i.payload="":(i.payload=[],e.bytes!==Array&&(i.payload=$util.newBuffer(i.payload)))),t.method!=null&&t.hasOwnProperty("method")&&(i.method=t.method),t.seq!=null&&t.hasOwnProperty("seq")&&(i.seq=t.seq),t.payload!=null&&t.hasOwnProperty("payload")&&(i.payload=e.bytes===String?$util.base64.encode(t.payload,0,t.payload.length):e.bytes===Array?Array.prototype.slice.call(t.payload):t.payload),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.rpc.Request"},n}(),l.Response=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.seq=0,n.prototype.ok=!1,n.prototype.payload=$util.newBuffer([]),n.prototype.error="",n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.seq!=null&&Object.hasOwnProperty.call(t,"seq")&&e.uint32(8).uint32(t.seq),t.ok!=null&&Object.hasOwnProperty.call(t,"ok")&&e.uint32(16).bool(t.ok),t.payload!=null&&Object.hasOwnProperty.call(t,"payload")&&e.uint32(26).bytes(t.payload),t.error!=null&&Object.hasOwnProperty.call(t,"error")&&e.uint32(34).string(t.error),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.rpc.Response;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.seq=t.uint32();break}case 2:{s.ok=t.bool();break}case 3:{s.payload=t.bytes();break}case 4:{s.error=t.string();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.seq!=null&&t.hasOwnProperty("seq")&&!$util.isInteger(t.seq)?"seq: integer expected":t.ok!=null&&t.hasOwnProperty("ok")&&typeof t.ok!="boolean"?"ok: boolean expected":t.payload!=null&&t.hasOwnProperty("payload")&&!(t.payload&&typeof t.payload.length=="number"||$util.isString(t.payload))?"payload: buffer expected":t.error!=null&&t.hasOwnProperty("error")&&!$util.isString(t.error)?"error: string expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.rpc.Response)return t;let e=new $root.sesame.v1.rpc.Response;return t.seq!=null&&(e.seq=t.seq>>>0),t.ok!=null&&(e.ok=!!t.ok),t.payload!=null&&(typeof t.payload=="string"?$util.base64.decode(t.payload,e.payload=$util.newBuffer($util.base64.length(t.payload)),0):t.payload.length>=0&&(e.payload=t.payload)),t.error!=null&&(e.error=String(t.error)),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.seq=0,i.ok=!1,e.bytes===String?i.payload="":(i.payload=[],e.bytes!==Array&&(i.payload=$util.newBuffer(i.payload))),i.error=""),t.seq!=null&&t.hasOwnProperty("seq")&&(i.seq=t.seq),t.ok!=null&&t.hasOwnProperty("ok")&&(i.ok=t.ok),t.payload!=null&&t.hasOwnProperty("payload")&&(i.payload=e.bytes===String?$util.base64.encode(t.payload,0,t.payload.length):e.bytes===Array?Array.prototype.slice.call(t.payload):t.payload),t.error!=null&&t.hasOwnProperty("error")&&(i.error=t.error),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.rpc.Response"},n}(),l.Event=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.topic=0,n.prototype.payload=$util.newBuffer([]),n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.topic!=null&&Object.hasOwnProperty.call(t,"topic")&&e.uint32(8).int32(t.topic),t.payload!=null&&Object.hasOwnProperty.call(t,"payload")&&e.uint32(18).bytes(t.payload),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.rpc.Event;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.topic=t.int32();break}case 2:{s.payload=t.bytes();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.topic!=null&&t.hasOwnProperty("topic"))switch(t.topic){default:return"topic: enum value expected";case 0:case 1:case 2:case 3:case 4:case 5:case 6:break}return t.payload!=null&&t.hasOwnProperty("payload")&&!(t.payload&&typeof t.payload.length=="number"||$util.isString(t.payload))?"payload: buffer expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.rpc.Event)return t;let e=new $root.sesame.v1.rpc.Event;switch(t.topic){default:if(typeof t.topic=="number"){e.topic=t.topic;break}break;case"EVENT_TOPIC_UNSPECIFIED":case 0:e.topic=0;break;case"EVENT_TOPIC_ERROR":case 1:e.topic=1;break;case"EVENT_TOPIC_TRANSPORT":case 2:e.topic=2;break;case"EVENT_TOPIC_CALLBACK":case 3:e.topic=3;break;case"EVENT_TOPIC_JOB":case 4:e.topic=4;break;case"EVENT_TOPIC_METADATA":case 5:e.topic=5;break;case"EVENT_TOPIC_RECORDER":case 6:e.topic=6;break}return t.payload!=null&&(typeof t.payload=="string"?$util.base64.decode(t.payload,e.payload=$util.newBuffer($util.base64.length(t.payload)),0):t.payload.length>=0&&(e.payload=t.payload)),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.topic=e.enums===String?"EVENT_TOPIC_UNSPECIFIED":0,e.bytes===String?i.payload="":(i.payload=[],e.bytes!==Array&&(i.payload=$util.newBuffer(i.payload)))),t.topic!=null&&t.hasOwnProperty("topic")&&(i.topic=e.enums===String?$root.sesame.v1.common.EventTopic[t.topic]===void 0?t.topic:$root.sesame.v1.common.EventTopic[t.topic]:t.topic),t.payload!=null&&t.hasOwnProperty("payload")&&(i.payload=e.bytes===String?$util.base64.encode(t.payload,0,t.payload.length):e.bytes===Array?Array.prototype.slice.call(t.payload):t.payload),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.rpc.Event"},n}(),l.PublishMetadataRequest=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.nodeId="",n.prototype.metadataId="",n.prototype.payload=$util.newBuffer([]),n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.nodeId!=null&&Object.hasOwnProperty.call(t,"nodeId")&&e.uint32(10).string(t.nodeId),t.metadataId!=null&&Object.hasOwnProperty.call(t,"metadataId")&&e.uint32(18).string(t.metadataId),t.payload!=null&&Object.hasOwnProperty.call(t,"payload")&&e.uint32(26).bytes(t.payload),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.rpc.PublishMetadataRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.nodeId=t.string();break}case 2:{s.metadataId=t.string();break}case 3:{s.payload=t.bytes();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.nodeId!=null&&t.hasOwnProperty("nodeId")&&!$util.isString(t.nodeId)?"nodeId: string expected":t.metadataId!=null&&t.hasOwnProperty("metadataId")&&!$util.isString(t.metadataId)?"metadataId: string expected":t.payload!=null&&t.hasOwnProperty("payload")&&!(t.payload&&typeof t.payload.length=="number"||$util.isString(t.payload))?"payload: buffer expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.rpc.PublishMetadataRequest)return t;let e=new $root.sesame.v1.rpc.PublishMetadataRequest;return t.nodeId!=null&&(e.nodeId=String(t.nodeId)),t.metadataId!=null&&(e.metadataId=String(t.metadataId)),t.payload!=null&&(typeof t.payload=="string"?$util.base64.decode(t.payload,e.payload=$util.newBuffer($util.base64.length(t.payload)),0):t.payload.length>=0&&(e.payload=t.payload)),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.nodeId="",i.metadataId="",e.bytes===String?i.payload="":(i.payload=[],e.bytes!==Array&&(i.payload=$util.newBuffer(i.payload)))),t.nodeId!=null&&t.hasOwnProperty("nodeId")&&(i.nodeId=t.nodeId),t.metadataId!=null&&t.hasOwnProperty("metadataId")&&(i.metadataId=t.metadataId),t.payload!=null&&t.hasOwnProperty("payload")&&(i.payload=e.bytes===String?$util.base64.encode(t.payload,0,t.payload.length):e.bytes===Array?Array.prototype.slice.call(t.payload):t.payload),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.rpc.PublishMetadataRequest"},n}(),l.SesameAPIService=function(){function n(r,t,e){$protobuf.rpc.Service.call(this,r,t,e)}return(n.prototype=Object.create($protobuf.rpc.Service.prototype)).constructor=n,n.create=function(t,e,i){return new this(t,e,i)},Object.defineProperty(n.prototype.executeCommandList=function r(t,e){return this.rpcCall(r,$root.sesame.v1.commands.CommandList,$root.sesame.v1.commands.CommandExecutionResponse,t,e)},"name",{value:"ExecuteCommandList"}),Object.defineProperty(n.prototype.updateSubscriptions=function r(t,e){return this.rpcCall(r,$root.sesame.v1.status.SubscriptionRequest,$root.sesame.v1.common.Empty,t,e)},"name",{value:"UpdateSubscriptions"}),Object.defineProperty(n.prototype.notImplemented=function r(t,e){return this.rpcCall(r,$root.sesame.v1.common.Empty,$root.sesame.v1.common.Empty,t,e)},"name",{value:"NotImplemented"}),Object.defineProperty(n.prototype.requestEvents=function r(t,e){return this.rpcCall(r,$root.sesame.v1.common.Empty,$root.sesame.v1.status.Event,t,e)},"name",{value:"RequestEvents"}),Object.defineProperty(n.prototype.requestStatus=function r(t,e){return this.rpcCall(r,$root.sesame.v1.common.Empty,$root.sesame.v1.status.Status,t,e)},"name",{value:"RequestStatus"}),Object.defineProperty(n.prototype.requestRecorderOperation=function r(t,e){return this.rpcCall(r,$root.sesame.v1.recorder.RecorderRequest,$root.sesame.v1.recorder.RecorderResponse,t,e)},"name",{value:"RequestRecorderOperation"}),Object.defineProperty(n.prototype.startJob=function r(t,e){return this.rpcCall(r,$root.sesame.v1.jobs.JobStartRequest,$root.sesame.v1.jobs.Job,t,e)},"name",{value:"StartJob"}),Object.defineProperty(n.prototype.abortJob=function r(t,e){return this.rpcCall(r,$root.sesame.v1.jobs.JobAbortRequest,$root.sesame.v1.jobs.Job,t,e)},"name",{value:"AbortJob"}),Object.defineProperty(n.prototype.getJobStatus=function r(t,e){return this.rpcCall(r,$root.sesame.v1.jobs.JobStatusRequest,$root.sesame.v1.jobs.Job,t,e)},"name",{value:"GetJobStatus"}),Object.defineProperty(n.prototype.listJobs=function r(t,e){return this.rpcCall(r,$root.sesame.v1.jobs.JobListRequest,$root.sesame.v1.jobs.JobList,t,e)},"name",{value:"ListJobs"}),Object.defineProperty(n.prototype.requestKeyframe=function r(t,e){return this.rpcCall(r,$root.sesame.v1.outputs.KeyframeRequest,$root.sesame.v1.common.Empty,t,e)},"name",{value:"RequestKeyframe"}),Object.defineProperty(n.prototype.requestIODeviceList=function r(t,e){return this.rpcCall(r,$root.sesame.v1.common.Empty,$root.sesame.v1.status.IODeviceListResponse,t,e)},"name",{value:"RequestIODeviceList"}),Object.defineProperty(n.prototype.publishMetadata=function r(t,e){return this.rpcCall(r,$root.sesame.v1.rpc.PublishMetadataRequest,$root.sesame.v1.common.Empty,t,e)},"name",{value:"PublishMetadata"}),n}(),l}(),o.wire=function(){const l={};return l.FrameType=function(){const n={},r=Object.create(n);return r[n[0]="FRAME_TYPE_UNSPECIFIED"]=0,r[n[1]="FRAME_TYPE_RPC"]=1,r[n[2]="FRAME_TYPE_VIDEO"]=2,r[n[3]="FRAME_TYPE_AUDIO"]=3,r[n[4]="FRAME_TYPE_MUXED"]=4,r[n[5]="FRAME_TYPE_DECODER_DATA"]=5,r[n[6]="FRAME_TYPE_DATA"]=6,r}(),l.MediaCodecData=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.codecType=0,n.prototype.sampleRate=0,n.prototype.timebaseNum=0,n.prototype.timebaseDen=0,n.prototype.codecProfile=0,n.prototype.codecLevel=0,n.prototype.width=0,n.prototype.height=0,n.prototype.channels=0,n.prototype.bitDepth=0,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.codecType!=null&&Object.hasOwnProperty.call(t,"codecType")&&e.uint32(8).int32(t.codecType),t.sampleRate!=null&&Object.hasOwnProperty.call(t,"sampleRate")&&e.uint32(16).uint32(t.sampleRate),t.timebaseNum!=null&&Object.hasOwnProperty.call(t,"timebaseNum")&&e.uint32(24).uint32(t.timebaseNum),t.timebaseDen!=null&&Object.hasOwnProperty.call(t,"timebaseDen")&&e.uint32(32).uint32(t.timebaseDen),t.codecProfile!=null&&Object.hasOwnProperty.call(t,"codecProfile")&&e.uint32(40).uint32(t.codecProfile),t.codecLevel!=null&&Object.hasOwnProperty.call(t,"codecLevel")&&e.uint32(48).uint32(t.codecLevel),t.width!=null&&Object.hasOwnProperty.call(t,"width")&&e.uint32(56).uint32(t.width),t.height!=null&&Object.hasOwnProperty.call(t,"height")&&e.uint32(64).uint32(t.height),t.channels!=null&&Object.hasOwnProperty.call(t,"channels")&&e.uint32(72).uint32(t.channels),t.bitDepth!=null&&Object.hasOwnProperty.call(t,"bitDepth")&&e.uint32(80).uint32(t.bitDepth),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.wire.MediaCodecData;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.codecType=t.int32();break}case 2:{s.sampleRate=t.uint32();break}case 3:{s.timebaseNum=t.uint32();break}case 4:{s.timebaseDen=t.uint32();break}case 5:{s.codecProfile=t.uint32();break}case 6:{s.codecLevel=t.uint32();break}case 7:{s.width=t.uint32();break}case 8:{s.height=t.uint32();break}case 9:{s.channels=t.uint32();break}case 10:{s.bitDepth=t.uint32();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.codecType!=null&&t.hasOwnProperty("codecType"))switch(t.codecType){default:return"codecType: enum value expected";case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 64:case 65:case 66:case 67:break}return t.sampleRate!=null&&t.hasOwnProperty("sampleRate")&&!$util.isInteger(t.sampleRate)?"sampleRate: integer expected":t.timebaseNum!=null&&t.hasOwnProperty("timebaseNum")&&!$util.isInteger(t.timebaseNum)?"timebaseNum: integer expected":t.timebaseDen!=null&&t.hasOwnProperty("timebaseDen")&&!$util.isInteger(t.timebaseDen)?"timebaseDen: integer expected":t.codecProfile!=null&&t.hasOwnProperty("codecProfile")&&!$util.isInteger(t.codecProfile)?"codecProfile: integer expected":t.codecLevel!=null&&t.hasOwnProperty("codecLevel")&&!$util.isInteger(t.codecLevel)?"codecLevel: integer expected":t.width!=null&&t.hasOwnProperty("width")&&!$util.isInteger(t.width)?"width: integer expected":t.height!=null&&t.hasOwnProperty("height")&&!$util.isInteger(t.height)?"height: integer expected":t.channels!=null&&t.hasOwnProperty("channels")&&!$util.isInteger(t.channels)?"channels: integer expected":t.bitDepth!=null&&t.hasOwnProperty("bitDepth")&&!$util.isInteger(t.bitDepth)?"bitDepth: integer expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.wire.MediaCodecData)return t;let e=new $root.sesame.v1.wire.MediaCodecData;switch(t.codecType){default:if(typeof t.codecType=="number"){e.codecType=t.codecType;break}break;case"CODEC_TYPE_UNSPECIFIED":case 0:e.codecType=0;break;case"CODEC_TYPE_VIDEO_VP8":case 1:e.codecType=1;break;case"CODEC_TYPE_VIDEO_VP9":case 2:e.codecType=2;break;case"CODEC_TYPE_VIDEO_AVC":case 3:e.codecType=3;break;case"CODEC_TYPE_VIDEO_HEVC":case 4:e.codecType=4;break;case"CODEC_TYPE_VIDEO_AV1":case 5:e.codecType=5;break;case"CODEC_TYPE_VIDEO_PRORES":case 6:e.codecType=6;break;case"CODEC_TYPE_VIDEO_DNXHR":case 7:e.codecType=7;break;case"CODEC_TYPE_AUDIO_OPUS":case 64:e.codecType=64;break;case"CODEC_TYPE_AUDIO_AAC":case 65:e.codecType=65;break;case"CODEC_TYPE_AUDIO_PCM":case 66:e.codecType=66;break;case"CODEC_TYPE_AUDIO_PCM_S24LE":case 67:e.codecType=67;break}return t.sampleRate!=null&&(e.sampleRate=t.sampleRate>>>0),t.timebaseNum!=null&&(e.timebaseNum=t.timebaseNum>>>0),t.timebaseDen!=null&&(e.timebaseDen=t.timebaseDen>>>0),t.codecProfile!=null&&(e.codecProfile=t.codecProfile>>>0),t.codecLevel!=null&&(e.codecLevel=t.codecLevel>>>0),t.width!=null&&(e.width=t.width>>>0),t.height!=null&&(e.height=t.height>>>0),t.channels!=null&&(e.channels=t.channels>>>0),t.bitDepth!=null&&(e.bitDepth=t.bitDepth>>>0),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.codecType=e.enums===String?"CODEC_TYPE_UNSPECIFIED":0,i.sampleRate=0,i.timebaseNum=0,i.timebaseDen=0,i.codecProfile=0,i.codecLevel=0,i.width=0,i.height=0,i.channels=0,i.bitDepth=0),t.codecType!=null&&t.hasOwnProperty("codecType")&&(i.codecType=e.enums===String?$root.sesame.v1.common.CodecType[t.codecType]===void 0?t.codecType:$root.sesame.v1.common.CodecType[t.codecType]:t.codecType),t.sampleRate!=null&&t.hasOwnProperty("sampleRate")&&(i.sampleRate=t.sampleRate),t.timebaseNum!=null&&t.hasOwnProperty("timebaseNum")&&(i.timebaseNum=t.timebaseNum),t.timebaseDen!=null&&t.hasOwnProperty("timebaseDen")&&(i.timebaseDen=t.timebaseDen),t.codecProfile!=null&&t.hasOwnProperty("codecProfile")&&(i.codecProfile=t.codecProfile),t.codecLevel!=null&&t.hasOwnProperty("codecLevel")&&(i.codecLevel=t.codecLevel),t.width!=null&&t.hasOwnProperty("width")&&(i.width=t.width),t.height!=null&&t.hasOwnProperty("height")&&(i.height=t.height),t.channels!=null&&t.hasOwnProperty("channels")&&(i.channels=t.channels),t.bitDepth!=null&&t.hasOwnProperty("bitDepth")&&(i.bitDepth=t.bitDepth),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.wire.MediaCodecData"},n}(),l.MediaFrameData=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.pts=$util.Long?$util.Long.fromBits(0,0,!0):0,n.prototype.keyframe=!1,n.prototype.codecData=null,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.pts!=null&&Object.hasOwnProperty.call(t,"pts")&&e.uint32(8).uint64(t.pts),t.keyframe!=null&&Object.hasOwnProperty.call(t,"keyframe")&&e.uint32(16).bool(t.keyframe),t.codecData!=null&&Object.hasOwnProperty.call(t,"codecData")&&$root.sesame.v1.wire.MediaCodecData.encode(t.codecData,e.uint32(26).fork()).ldelim(),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.wire.MediaFrameData;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.pts=t.uint64();break}case 2:{s.keyframe=t.bool();break}case 3:{s.codecData=$root.sesame.v1.wire.MediaCodecData.decode(t,t.uint32());break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.pts!=null&&t.hasOwnProperty("pts")&&!$util.isInteger(t.pts)&&!(t.pts&&$util.isInteger(t.pts.low)&&$util.isInteger(t.pts.high)))return"pts: integer|Long expected";if(t.keyframe!=null&&t.hasOwnProperty("keyframe")&&typeof t.keyframe!="boolean")return"keyframe: boolean expected";if(t.codecData!=null&&t.hasOwnProperty("codecData")){let e=$root.sesame.v1.wire.MediaCodecData.verify(t.codecData);if(e)return"codecData."+e}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.wire.MediaFrameData)return t;let e=new $root.sesame.v1.wire.MediaFrameData;if(t.pts!=null&&($util.Long?(e.pts=$util.Long.fromValue(t.pts)).unsigned=!0:typeof t.pts=="string"?e.pts=parseInt(t.pts,10):typeof t.pts=="number"?e.pts=t.pts:typeof t.pts=="object"&&(e.pts=new $util.LongBits(t.pts.low>>>0,t.pts.high>>>0).toNumber(!0))),t.keyframe!=null&&(e.keyframe=!!t.keyframe),t.codecData!=null){if(typeof t.codecData!="object")throw TypeError(".sesame.v1.wire.MediaFrameData.codecData: object expected");e.codecData=$root.sesame.v1.wire.MediaCodecData.fromObject(t.codecData)}return e},n.toObject=function(t,e){e||(e={});let i={};if(e.defaults){if($util.Long){let a=new $util.Long(0,0,!0);i.pts=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.pts=e.longs===String?"0":0;i.keyframe=!1,i.codecData=null}return t.pts!=null&&t.hasOwnProperty("pts")&&(typeof t.pts=="number"?i.pts=e.longs===String?String(t.pts):t.pts:i.pts=e.longs===String?$util.Long.prototype.toString.call(t.pts):e.longs===Number?new $util.LongBits(t.pts.low>>>0,t.pts.high>>>0).toNumber(!0):t.pts),t.keyframe!=null&&t.hasOwnProperty("keyframe")&&(i.keyframe=t.keyframe),t.codecData!=null&&t.hasOwnProperty("codecData")&&(i.codecData=$root.sesame.v1.wire.MediaCodecData.toObject(t.codecData,e)),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.wire.MediaFrameData"},n}(),l.DataType=function(){const n={},r=Object.create(n);return r[n[0]="DATA_TYPE_UNSPECIFIED"]=0,r[n[1]="DATA_TYPE_JSON"]=1,r[n[2]="DATA_TYPE_TRANSPORT_STATUS"]=2,r[n[3]="DATA_TYPE_AUDIO_STATE"]=3,r[n[4]="DATA_TYPE_TRANSPORT_CONTROL"]=4,r[n[5]="DATA_TYPE_AUDIO_CONTROL"]=5,r}(),l.DataFrameData=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.dataType=0,n.prototype.trackName="",n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.dataType!=null&&Object.hasOwnProperty.call(t,"dataType")&&e.uint32(8).int32(t.dataType),t.trackName!=null&&Object.hasOwnProperty.call(t,"trackName")&&e.uint32(18).string(t.trackName),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.wire.DataFrameData;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.dataType=t.int32();break}case 2:{s.trackName=t.string();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.dataType!=null&&t.hasOwnProperty("dataType"))switch(t.dataType){default:return"dataType: enum value expected";case 0:case 1:case 2:case 3:case 4:case 5:break}return t.trackName!=null&&t.hasOwnProperty("trackName")&&!$util.isString(t.trackName)?"trackName: string expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.wire.DataFrameData)return t;let e=new $root.sesame.v1.wire.DataFrameData;switch(t.dataType){default:if(typeof t.dataType=="number"){e.dataType=t.dataType;break}break;case"DATA_TYPE_UNSPECIFIED":case 0:e.dataType=0;break;case"DATA_TYPE_JSON":case 1:e.dataType=1;break;case"DATA_TYPE_TRANSPORT_STATUS":case 2:e.dataType=2;break;case"DATA_TYPE_AUDIO_STATE":case 3:e.dataType=3;break;case"DATA_TYPE_TRANSPORT_CONTROL":case 4:e.dataType=4;break;case"DATA_TYPE_AUDIO_CONTROL":case 5:e.dataType=5;break}return t.trackName!=null&&(e.trackName=String(t.trackName)),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.dataType=e.enums===String?"DATA_TYPE_UNSPECIFIED":0,i.trackName=""),t.dataType!=null&&t.hasOwnProperty("dataType")&&(i.dataType=e.enums===String?$root.sesame.v1.wire.DataType[t.dataType]===void 0?t.dataType:$root.sesame.v1.wire.DataType[t.dataType]:t.dataType),t.trackName!=null&&t.hasOwnProperty("trackName")&&(i.trackName=t.trackName),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.wire.DataFrameData"},n}(),l.FrameHeader=function(){function n(t){if(t)for(let e=Object.keys(t),i=0;i<e.length;++i)t[e[i]]!=null&&(this[e[i]]=t[e[i]])}n.prototype.type=0,n.prototype.routingMetadata="",n.prototype.media=null,n.prototype.data=null;let r;return Object.defineProperty(n.prototype,"typeData",{get:$util.oneOfGetter(r=["media","data"]),set:$util.oneOfSetter(r)}),n.create=function(e){return new n(e)},n.encode=function(e,i){return i||(i=$Writer.create()),e.type!=null&&Object.hasOwnProperty.call(e,"type")&&i.uint32(8).int32(e.type),e.routingMetadata!=null&&Object.hasOwnProperty.call(e,"routingMetadata")&&i.uint32(50).string(e.routingMetadata),e.media!=null&&Object.hasOwnProperty.call(e,"media")&&$root.sesame.v1.wire.MediaFrameData.encode(e.media,i.uint32(58).fork()).ldelim(),e.data!=null&&Object.hasOwnProperty.call(e,"data")&&$root.sesame.v1.wire.DataFrameData.encode(e.data,i.uint32(66).fork()).ldelim(),i},n.encodeDelimited=function(e,i){return this.encode(e,i).ldelim()},n.decode=function(e,i,a){e instanceof $Reader||(e=$Reader.create(e));let s=i===void 0?e.len:e.pos+i,d=new $root.sesame.v1.wire.FrameHeader;for(;e.pos<s;){let c=e.uint32();if(c===a)break;switch(c>>>3){case 1:{d.type=e.int32();break}case 6:{d.routingMetadata=e.string();break}case 7:{d.media=$root.sesame.v1.wire.MediaFrameData.decode(e,e.uint32());break}case 8:{d.data=$root.sesame.v1.wire.DataFrameData.decode(e,e.uint32());break}default:e.skipType(c&7);break}}return d},n.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},n.verify=function(e){if(typeof e!="object"||e===null)return"object expected";let i={};if(e.type!=null&&e.hasOwnProperty("type"))switch(e.type){default:return"type: enum value expected";case 0:case 1:case 2:case 3:case 4:case 5:case 6:break}if(e.routingMetadata!=null&&e.hasOwnProperty("routingMetadata")&&!$util.isString(e.routingMetadata))return"routingMetadata: string expected";if(e.media!=null&&e.hasOwnProperty("media")){i.typeData=1;{let a=$root.sesame.v1.wire.MediaFrameData.verify(e.media);if(a)return"media."+a}}if(e.data!=null&&e.hasOwnProperty("data")){if(i.typeData===1)return"typeData: multiple values";i.typeData=1;{let a=$root.sesame.v1.wire.DataFrameData.verify(e.data);if(a)return"data."+a}}return null},n.fromObject=function(e){if(e instanceof $root.sesame.v1.wire.FrameHeader)return e;let i=new $root.sesame.v1.wire.FrameHeader;switch(e.type){default:if(typeof e.type=="number"){i.type=e.type;break}break;case"FRAME_TYPE_UNSPECIFIED":case 0:i.type=0;break;case"FRAME_TYPE_RPC":case 1:i.type=1;break;case"FRAME_TYPE_VIDEO":case 2:i.type=2;break;case"FRAME_TYPE_AUDIO":case 3:i.type=3;break;case"FRAME_TYPE_MUXED":case 4:i.type=4;break;case"FRAME_TYPE_DECODER_DATA":case 5:i.type=5;break;case"FRAME_TYPE_DATA":case 6:i.type=6;break}if(e.routingMetadata!=null&&(i.routingMetadata=String(e.routingMetadata)),e.media!=null){if(typeof e.media!="object")throw TypeError(".sesame.v1.wire.FrameHeader.media: object expected");i.media=$root.sesame.v1.wire.MediaFrameData.fromObject(e.media)}if(e.data!=null){if(typeof e.data!="object")throw TypeError(".sesame.v1.wire.FrameHeader.data: object expected");i.data=$root.sesame.v1.wire.DataFrameData.fromObject(e.data)}return i},n.toObject=function(e,i){i||(i={});let a={};return i.defaults&&(a.type=i.enums===String?"FRAME_TYPE_UNSPECIFIED":0,a.routingMetadata=""),e.type!=null&&e.hasOwnProperty("type")&&(a.type=i.enums===String?$root.sesame.v1.wire.FrameType[e.type]===void 0?e.type:$root.sesame.v1.wire.FrameType[e.type]:e.type),e.routingMetadata!=null&&e.hasOwnProperty("routingMetadata")&&(a.routingMetadata=e.routingMetadata),e.media!=null&&e.hasOwnProperty("media")&&(a.media=$root.sesame.v1.wire.MediaFrameData.toObject(e.media,i),i.oneofs&&(a.typeData="media")),e.data!=null&&e.hasOwnProperty("data")&&(a.data=$root.sesame.v1.wire.DataFrameData.toObject(e.data,i),i.oneofs&&(a.typeData="data")),a},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/sesame.v1.wire.FrameHeader"},n}(),l}(),o}(),u})(),import_events=__toESM(require_events()),ConsoleLogger=class{debug(u,...o){console.debug(`[DEBUG] ${u}`,...o)}info(u,...o){console.info(`[INFO] ${u}`,...o)}warn(u,...o){console.warn(`[WARN] ${u}`,...o)}error(u,...o){console.error(`[ERROR] ${u}`,...o)}},logger=new ConsoleLogger,log={debug:(u,...o)=>logger.debug(u,...o),info:(u,...o)=>logger.info(u,...o),warn:(u,...o)=>logger.warn(u,...o),error:(u,...o)=>logger.error(u,...o)},RPCClient=class extends import_events.EventEmitter{constructor(u,o,l={}){super(),this.messageBuffer={},this.nextSeq=0,this.openHandler=()=>{this.emit("open"),this.flushMessageBuffer().catch(n=>{log.error("RPC openhandler",n)})},this.rpcImpl=(n,r,t)=>{const e=this.nextSeq;this.nextSeq=this.nextSeq+1&65535;let i=new sesame.v1.rpc.Request({seq:e,method:n.name,payload:r});const a=new sesame.v1.rpc.Message({request:i});let s;this.sendTimeout>0&&(s=setTimeout(()=>{try{const d=new Error(`Timed out after ${this.sendTimeout}ms`);this.rpcCallback(e,d)}catch(d){this.errorHandler(d)}},this.sendTimeout)),this.messageBuffer[e]={seq:e,callback:t,timer:s},this.connection.isConnected()?this.writeMessage(a).catch(d=>{this.rpcCallback(e,d)}):this.messageBuffer[e].message=a},this.rpcCallback=(n,r,t)=>{if(!this.messageBuffer[n]){this.errorHandler(new Error(`Got response for unknown seqNo: ${n}`));return}const{callback:e,timer:i}=this.messageBuffer[n];i&&clearTimeout(i),delete this.messageBuffer[n];try{e(r,t)}catch(a){this.errorHandler(a)}},this.writeMessage=async n=>{if(!this.connection)throw new Error("No socket");const r=sesame.v1.rpc.Message.encode(n).finish();await this.connection.send(r)},this.errorHandler=n=>{this.listenerCount("error")>0&&this.emit("error",n)},this.messageHandler=n=>{try{const r=sesame.v1.rpc.Message.decode(n);if(r.response)this.responseHandler(r.response);else if(r.event)this.eventHandler(r.event);else throw new Error("Unsupported RPC message payload")}catch(r){const t=new Error(`Got invalid message: ${r instanceof Error?r.message:String(r)}`);this.errorHandler(t)}},this.connection=u,this.connection.on("open",this.openHandler),this.connection.on("rpc",n=>this.messageHandler(n)),this.connection.on("error",this.errorHandler),this.options=l,this.service=this.wrapServicePromises(o.create(this.rpcImpl)),this.eventTypes=l.eventTypes||{},this.sendTimeout=l.sendTimeout||5*1e3}wrapServicePromises(u){return new Proxy(u,{get(o,l){const n=o[l];return typeof n!="function"?n:function(...r){const t=n.apply(o,r);return t!=null&&typeof t.catch=="function"&&t.catch(()=>{}),t}}})}async flushMessageBuffer(){const u=[];for(const o in this.messageBuffer)this.messageBuffer[o].message&&u.push(this.messageBuffer[o]);for(u.sort((o,l)=>o.seq-l.seq);u.length>0;){const o=u.shift();try{await this.writeMessage(o.message),o.message=void 0}catch(l){this.rpcCallback(o.seq,l)}}}async responseHandler(u){u.ok?this.rpcCallback(u.seq,null,u.payload):this.rpcCallback(u.seq,new Error(u.error||"Unknown error"))}eventHandler(u){const o=u.topic??0;if(o===sesame.v1.common.EventTopic.EVENT_TOPIC_UNSPECIFIED){log.warn(`Ignoring event with unspecified topic: ${u.topic}`);return}const l=this.eventTypes[o];let n,r;if(u.payload&&u.payload.length>0)if(l)try{n=l.decode(u.payload),r=l.toObject(n,{longs:Number})}catch(t){const e=new Error(`Could not decode event payload: ${t instanceof Error?t.message:String(t)}`);this.errorHandler(e);return}else n=u.payload;this.emit("event",o,r||n)}},import_events2=__toESM(require_events()),FrameType=sesame.v1.wire.FrameType;sesame.v1.wire.DataType;sesame.v1.wire.FrameHeader;sesame.v1.wire.MediaCodecData;var CodecType=sesame.v1.common.CodecType,PREFIX_SIZE=4,WireProtocol=class{static serialize(u,o){const l=sesame.v1.wire.FrameHeader.encode(u).finish(),n=l.length,r=o?o.length:0,t=PREFIX_SIZE+n+r,e=new Uint8Array(t);return new DataView(e.buffer).setUint32(0,n,!0),e.set(l,PREFIX_SIZE),o&&r>0&&e.set(o,PREFIX_SIZE+n),e}static parse(u){const o={valid:!1,header:null,payload:null};if(!u||u.length<PREFIX_SIZE)return o;const n=new DataView(u.buffer,u.byteOffset,u.byteLength).getUint32(0,!0);if(u.length<PREFIX_SIZE+n)return o;try{const r=u.subarray(PREFIX_SIZE,PREFIX_SIZE+n);o.header=sesame.v1.wire.FrameHeader.decode(r),o.payload=u.subarray(PREFIX_SIZE+n),o.valid=!0}catch{}return o}};function waitForEvent(u,o){return new Promise(l=>{u.once(o,l)})}var SesameConnection=class extends import_events2.EventEmitter{constructor(u){super(),this.active=!1,this.numRetries=0,this.url="",this.autoReconnect=!0,this._state="disconnected",this.boundMessageHandler=o=>this.messageHandler(o),this.boundOpenHandler=()=>this.openHandler(),this.boundCloseHandler=()=>this.closeHandler(),this.boundErrorHandler=o=>this.errorHandler(o),this.openHandler=()=>{this.numRetries=0,this.setState("connected"),this.emit("open")},this.messageHandler=o=>{var l;if(o.data instanceof ArrayBuffer){const n=WireProtocol.parse(new Uint8Array(o.data));if(!n.valid){this.emit("error",new Error("Invalid packet received"));return}((l=n.header)==null?void 0:l.type)===FrameType.FRAME_TYPE_RPC?this.emit("rpc",n.payload):this.emit("media-packet",n)}},this.url=u.url,this.autoReconnect=u.autoReconnect,u.autoConnect&&this.connect().catch(()=>{})}get state(){return this._state}setState(u){if(this._state===u)return;const o=this._state;switch(this._state=u,u){case"connected":log.info("Connected to Sesame");break;case"reconnecting":o==="connected"?log.warn("Lost connection to Sesame, will try reconnect.."):log.warn("Failed to connect to Sesame, will try reconnect..");break;case"disconnected":log.info("Disconnected from Sesame");break}this.emit("state",u,o)}isConnected(){return this.socket!==void 0&&this.socket.readyState===WebSocket.OPEN}async send(u){if(!this.isConnected())throw new Error("Not connected");const o={type:sesame.v1.wire.FrameType.FRAME_TYPE_RPC},l=WireProtocol.serialize(o,u);return this.socket.send(l),Promise.resolve()}async connect(){this.active=!0,this._state==="disconnected"&&this.setState("connecting"),this.socket=new WebSocket(this.url),this.socket.addEventListener("message",this.boundMessageHandler),this.socket.addEventListener("open",this.boundOpenHandler),this.socket.addEventListener("close",this.boundCloseHandler),this.socket.addEventListener("error",this.boundErrorHandler),this.socket.binaryType="arraybuffer",await new Promise((u,o)=>{const l=()=>{this.removeListener("open",n),this.removeListener("close",t),this.removeListener("error",r)},n=()=>{l(),u()},r=e=>{l(),o(e instanceof Error?e:new Error("WebSocket connection error"))},t=()=>{this.isConnected()||(l(),o(new Error("WebSocket connection closed before opening")))};this.on("open",n),this.on("close",t),this.on("error",r)})}async disconnect(){if(this.active=!1,!this.socket){this.setState("disconnected");return}const u=this.socket;u.readyState!==WebSocket.CLOSED&&(u.close(),await waitForEvent(this,"close")),this.removeSocketListeners(u)}removeSocketListeners(u){u.removeEventListener("message",this.boundMessageHandler),u.removeEventListener("open",this.boundOpenHandler),u.removeEventListener("close",this.boundCloseHandler),u.removeEventListener("error",this.boundErrorHandler)}retryHandler(){this.active&&this.autoReconnect&&this.connect().catch(()=>{})}closeHandler(){this.emit("close"),this.socket&&this.removeSocketListeners(this.socket),this.socket=void 0,this.active?this.autoReconnect?(this.setState("reconnecting"),setTimeout(()=>{this.retryHandler()},defaultBackoff(++this.numRetries))):(this.active=!1,this.setState("disconnected")):this.setState("disconnected")}errorHandler(u){this.emit("error",u)}},defaultBackoff=u=>3e3,import_events3=__toESM(require_events()),StatusApi=class{constructor(u){this.rpc=u}async getStatus(){return this.rpc.service.requestStatus(new sesame.v1.common.Empty)}async getIODevices(){return this.rpc.service.requestIODeviceList(new sesame.v1.common.Empty)}},RecorderApi=class{constructor(u){this.rpc=u}async addClip(u,o){const l=sesame.v1.recorder.RecorderClipAddRequest.create({clip:o});await this.rpc.service.requestRecorderOperation({recorderId:u,addClip:l})}async copyClip(u,o,l){const n=sesame.v1.recorder.RecorderClipCopyRequest.create({clipId:o,newClipId:l});await this.rpc.service.requestRecorderOperation({recorderId:u,copyClip:n})}async removeClip(u,o){const l=sesame.v1.recorder.RecorderClipRemoveRequest.create({clipId:o});await this.rpc.service.requestRecorderOperation({recorderId:u,removeClip:l})}async removeAllClips(u,o){const l=sesame.v1.recorder.RecorderClipsClearRequest.create();o&&(l.protectedRanges=o),await this.rpc.service.requestRecorderOperation({recorderId:u,clearClips:l})}async verifyClips(u){var n;const o=sesame.v1.recorder.RecorderClipsVerifyRequest.create();return((n=(await this.rpc.service.requestRecorderOperation({recorderId:u,verifyClips:o})).verifyClipsResponse)==null?void 0:n.errors)||[]}async getClips(u){var n;const o=sesame.v1.recorder.RecorderClipsGetRequest.create(),l=await this.rpc.service.requestRecorderOperation({recorderId:u,getClips:o});if((n=l.getClipsResponse)!=null&&n.clips)return l.getClipsResponse.clips;throw new Error(`No clips returned: ${JSON.stringify(l)}`)}async setLockedDuration(u){const o=sesame.v1.recorder.RecorderLockedDurationSetRequest.create({frames:u});await this.rpc.service.requestRecorderOperation({recorderId:"",setLockedDuration:o})}async setMetadata(u,o){const l=sesame.v1.recorder.RecorderMetadataSetRequest.create({metadata:o});await this.rpc.service.requestRecorderOperation({recorderId:u,setMetadata:l})}},JobsApi=class{constructor(u){this.rpc=u}async importClip(u){const o=sesame.v1.jobs.ImportStartRequest.create();o.config=u;const l=sesame.v1.jobs.JobStartRequest.create({importRequest:o}),n=await this.rpc.service.startJob(l);if(n.error)throw new Error(n.error);return n}async exportPlaylist(u,o){const l=sesame.v1.jobs.ExportStartRequest.create();if(!o.filename)throw new Error("Filename is required");l.config={...o,videoCodec:o.videoCodec??sesame.v1.common.CodecType.CODEC_TYPE_VIDEO_AVC,videoBitrateKbps:o.videoBitrateKbps??1024,audioCodec:o.audioCodec??sesame.v1.common.CodecType.CODEC_TYPE_AUDIO_AAC,audioBitrateKbps:o.audioBitrateKbps??128,audioChannels:o.audioChannels??4,audioRouting:o.audioRouting??[0,1,2,3]},l.items=u.clips.map(t=>({...t,transitionTimeUs:t.transitionTimeUs??0,transitionType:t.transitionType??sesame.v1.recorder.TransitionType.TRANSITION_TYPE_MIX,transitionFadeColor:t.transitionFadeColor??{x:0,y:0,z:0,w:0},speed:t.speed??1}));const n=sesame.v1.jobs.JobStartRequest.create({exportRequest:l}),r=await this.rpc.service.startJob(n);if(r.error)throw new Error(r.error);return r}async abortJob(u){const o={jobId:u};return this.rpc.service.abortJob(o)}async getJobStatus(u){const o={jobId:u};return this.rpc.service.getJobStatus(o)}async listJobs(){const u={};return this.rpc.service.listJobs(u)}};(class extends import_events3.EventEmitter{constructor(u){super(),this.subscriptions=[],this.onMediaPacket=()=>{},this.onCallbackMessage=()=>{};const o=typeof u=="number"?`ws://127.0.0.1:${u}/api`:u;this.conn=new SesameConnection({url:o,autoConnect:!0,autoReconnect:!0}),this.conn.on("error",()=>{});let n={eventTypes:{[sesame.v1.common.EventTopic.EVENT_TOPIC_ERROR]:sesame.v1.status.Event,[sesame.v1.common.EventTopic.EVENT_TOPIC_TRANSPORT]:sesame.v1.status.Event,[sesame.v1.common.EventTopic.EVENT_TOPIC_CALLBACK]:sesame.v1.status.Event,[sesame.v1.common.EventTopic.EVENT_TOPIC_JOB]:sesame.v1.status.Event,[sesame.v1.common.EventTopic.EVENT_TOPIC_RECORDER]:sesame.v1.status.Event}};this.rpc=new RPCClient(this.conn,sesame.v1.rpc.SesameAPIService,n),this.status=new StatusApi(this.rpc),this.recorder=new RecorderApi(this.rpc),this.jobs=new JobsApi(this.rpc),this.rpc.on("event",(r,t)=>{for(const e of this.subscriptions)e.topic===r&&e.callback(e.topic,t)}),this.rpc.on("error",r=>{this.isConnected()&&log.error(`RPC error: ${r.message}`)}),this.conn.on("open",async()=>{this.sendSubscriptions(),this.emit("connected")}),this.conn.on("close",()=>{this.emit("disconnected")}),this.conn.on("media-packet",r=>this.onMediaPacket(this.mediaSubscriptionId,r)),this.subscriptions=[]}isConnected(){return this.conn.isConnected()}sendSubscriptions(){if(!this.isConnected())return;const u=this.subscriptions.map(n=>n.topic),o=[];this.mediaSubscriptionId&&o.push(`media-stream/${this.mediaSubscriptionId}`);let l={eventTopics:u,channels:o};this.rpc.service.updateSubscriptions(l).catch(n=>{log.error(`Failed to update subscriptions: ${n.message}`)})}addMediaSubscription(u){this.mediaSubscriptionId=u,this.sendSubscriptions()}addSubscription(u,o){for(let l=0;l<this.subscriptions.length;l++)if(this.subscriptions[l].callback===o&&this.subscriptions[l].topic===u)return;this.subscriptions.push({topic:u,callback:o}),this.sendSubscriptions()}removeSubscription(u,o){this.subscriptions=this.subscriptions.filter(l=>!(l.topic===u&&l.callback===o)),this.sendSubscriptions()}getService(){return this.rpc}async requestKeyframe(u){await this.rpc.service.requestKeyframe({id:u})}async execute(u){u.filterCreatedAndDestroyedSources(),u.getCommandListMsg().commandList.length>0&&await this.rpc.service.executeCommandList(u.getCommandListMsg())}disconnect(){this.conn.disconnect()}});sesame.v1.rpc.Message;sesame.v1.rpc.Request;sesame.v1.rpc.Response;sesame.v1.rpc.Event;function isLong(u){return u!==null&&typeof u=="object"&&"low"in u&&"high"in u&&typeof u.toNumber=="function"}const LIVE_WORKLET_CODE=`
1
+ "use strict";var Fr=Object.create;var ir=Object.defineProperty;var Qr=Object.getOwnPropertyDescriptor;var pr=Object.getOwnPropertyNames;var fr=Object.getPrototypeOf,hr=Object.prototype.hasOwnProperty;var Rr=(u,o,l)=>o in u?ir(u,o,{enumerable:!0,configurable:!0,writable:!0,value:l}):u[o]=l;var Br=(u,o,l,n)=>{if(o&&typeof o=="object"||typeof o=="function")for(let r of pr(o))!hr.call(u,r)&&r!==l&&ir(u,r,{get:()=>o[r],enumerable:!(n=Qr(o,r))||n.enumerable});return u};var sr=(u,o,l)=>(l=u!=null?Fr(fr(u)):{},Br(o||!u||!u.__esModule?ir(l,"default",{value:u,enumerable:!0}):l,u));var U=(u,o,l)=>(Rr(u,typeof o!="symbol"?o+"":o,l),l),or=(u,o,l)=>{if(!o.has(u))throw TypeError("Cannot "+l)};var dr=(u,o,l)=>(or(u,o,"read from private field"),l?l.call(u):o.get(u)),rr=(u,o,l)=>{if(o.has(u))throw TypeError("Cannot add the same private member more than once");o instanceof WeakSet?o.add(u):o.set(u,l)},ur=(u,o,l,n)=>(or(u,o,"write to private field"),n?n.call(u,l):o.set(u,l),l);var lr=(u,o,l)=>(or(u,o,"access private method"),l);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const stinkyMoqJs=require("stinky-moq-js"),consoleLogger={debug:u=>console.debug(`[VideoPlayer] ${u}`),info:u=>console.info(`[VideoPlayer] ${u}`),warn:u=>console.warn(`[VideoPlayer] ${u}`),error:u=>console.error(`[VideoPlayer] ${u}`)},silentLogger={debug:()=>{},info:()=>{},warn:()=>{},error:()=>{}};class BaseStreamSource{constructor(){U(this,"handlers",new Map);U(this,"_connected",!1)}get connected(){return this._connected}on(o,l){this.handlers.has(o)||this.handlers.set(o,new Set),this.handlers.get(o).add(l)}off(o,l){var n;(n=this.handlers.get(o))==null||n.delete(l)}emit(o,...l){var n;(n=this.handlers.get(o))==null||n.forEach(r=>r(...l))}dispose(){this.handlers.clear()}}function createLogger(u){return{debug:u?consoleLogger.debug:silentLogger.debug,info:consoleLogger.info,warn:consoleLogger.warn,error:consoleLogger.error}}class BasePlayer{constructor(o,l=!1){U(this,"eventHandlers",new Map);U(this,"logger");U(this,"_state");this._state=o,this.logger=createLogger(l)}get state(){return this._state}setState(o){if(this._state!==o){const l=this._state;this._state=o,this.logger.debug(`State: ${l} -> ${o}`),this.emit("statechange",o)}}setDebugLogging(o){this.logger=createLogger(o)}on(o,l){this.eventHandlers.has(o)||this.eventHandlers.set(o,new Set),this.eventHandlers.get(o).add(l)}off(o,l){var n;(n=this.eventHandlers.get(o))==null||n.delete(l)}emit(o,...l){var n;(n=this.eventHandlers.get(o))==null||n.forEach(r=>r(...l))}clearEventHandlers(){this.eventHandlers.clear()}}function toBigInt(u){return u==null?0n:typeof u=="bigint"?u:BigInt(typeof u=="number"?Math.floor(u):u.toString())}function rescaleTime(u,o,l){const r=toBigInt(u)*BigInt(o.num)*BigInt(l.den)/(BigInt(o.den)*BigInt(l.num));return Number(r)}function codecDataChanged(u,o){return!u&&!o?!1:!u||!o?!0:u.codecType!==o.codecType||u.width!==o.width||u.height!==o.height||u.codecProfile!==o.codecProfile||u.codecLevel!==o.codecLevel}function getCodecString(u){switch(u.codecType){case 3:const o=u.codecProfile&&u.codecProfile>0?u.codecProfile.toString(16).padStart(2,"0"):"42",l="00",n=u.codecLevel&&u.codecLevel>0?u.codecLevel.toString(16).padStart(2,"0"):"1f";return`avc1.${o}${l}${n}`;case 4:return"hev1.1.6.L93.B0";case 2:return"vp09.00.10.08";case 1:return"vp8";case 5:return"av01.0.00M.08";default:return null}}class WebCodecsDecoder{constructor(o={}){U(this,"decoder",null);U(this,"config");U(this,"flushing",!1);U(this,"logger");U(this,"maxQueueSize");U(this,"onFrameDecoded");U(this,"onError");U(this,"onQueueOverflow");U(this,"chunksSentToDecoder",0);U(this,"framesDecoded",0);this.logger=o.logger??consoleLogger,this.onFrameDecoded=o.onFrameDecoded??o.onFrame,this.onError=o.onError,this.onQueueOverflow=o.onQueueOverflow,this.maxQueueSize=o.maxQueueSize??10,this.createDecoder()}get decodeQueueSize(){var o;return((o=this.decoder)==null?void 0:o.decodeQueueSize)??0}get state(){var o;return((o=this.decoder)==null?void 0:o.state)??"closed"}createDecoder(){this.decoder=new VideoDecoder({output:o=>{this.framesDecoded++,this.onFrameDecoded?this.onFrameDecoded(o):o.close()},error:o=>{this.logger.error(`Decoder error: ${o.message}`),this.onError&&this.onError(o)}})}async configure(o,l=!0){return"codec"in o&&typeof o.codec=="string"?this.configureWithConfig(o):this.configureWithCodecData(o,l)}async configureWithConfig(o){var n;const l=[o,{...o,hardwareAcceleration:o.hardwareAcceleration==="prefer-hardware"?"prefer-software":"prefer-hardware"}];for(const r of l)if((await VideoDecoder.isConfigSupported(r)).supported){this.config=r,(n=this.decoder)==null||n.configure(r),this.logger.info(`Decoder configured: ${r.codec} ${r.codedWidth}x${r.codedHeight} (${r.hardwareAcceleration??"default"})`);return}throw new Error(`Codec configuration not supported: ${o.codec}`)}async configureWithCodecData(o,l=!0){var i;const n=getCodecString(o);if(!n)throw new Error(`Unsupported codec type: ${o.codecType}`);const r=o.width??0,t=o.height??0,e=[{codec:n,codedWidth:r,codedHeight:t,hardwareAcceleration:l?"prefer-hardware":"prefer-software",latencyMode:"realtime"},{codec:n,codedWidth:r,codedHeight:t,hardwareAcceleration:l?"prefer-software":"prefer-hardware",latencyMode:"realtime"}];for(const a of e)if((await VideoDecoder.isConfigSupported(a)).supported){this.config=a,(i=this.decoder)==null||i.configure(a),this.logger.info(`Decoder configured: ${n} ${r}x${t} (${a.hardwareAcceleration})`);return}throw new Error(`Codec configuration not supported: ${n}`)}decodeBinary(o){var e,i,a,s,d,c;if(this.flushing){this.logger.warn("Received packet while flushing");return}if(!o.header||!o.payload||!this.decoder||this.decoder.state!=="configured")return;if(this.decoder.decodeQueueSize>this.maxQueueSize){this.onQueueOverflow&&this.onQueueOverflow(this.decoder.decodeQueueSize);return}const l=(i=(e=o.header.media)==null?void 0:e.codecData)!=null&&i.timebaseDen&&((s=(a=o.header.media)==null?void 0:a.codecData)!=null&&s.timebaseNum)?{num:o.header.media.codecData.timebaseNum,den:o.header.media.codecData.timebaseDen}:{num:1,den:1e6},n={num:1,den:1e6},r=rescaleTime(((d=o.header.media)==null?void 0:d.pts)??0,l,n),t=new EncodedVideoChunk({timestamp:r,type:(c=o.header.media)!=null&&c.keyframe?"key":"delta",data:o.payload??new Uint8Array(0)});try{this.chunksSentToDecoder++,this.decoder.decode(t)}catch(F){this.logger.error(`Decode error: ${F}`)}}decode(o){if(this.flushing){this.logger.warn("Received sample while flushing");return}if(!this.decoder||this.decoder.state!=="configured")return;if(this.decoder.decodeQueueSize>this.maxQueueSize){this.onQueueOverflow&&this.onQueueOverflow(this.decoder.decodeQueueSize);return}const l=new EncodedVideoChunk({timestamp:o.timestamp,duration:o.duration,type:o.isKeyframe?"key":"delta",data:o.data});try{this.chunksSentToDecoder++,this.decoder.decode(l)}catch(n){this.logger.error(`Decode error: ${n}`)}}async flush(){if(!(!this.decoder||this.decoder.state==="closed")){this.flushing=!0;try{await this.decoder.flush()}catch{}this.flushing=!1}}flushSync(){this.flushing=!0,this.decoder&&this.decoder.state!=="closed"&&(this.decoder.reset(),this.config&&this.decoder.configure(this.config)),this.flushing=!1}reset(){this.decoder&&this.decoder.state!=="closed"&&(this.decoder.reset(),this.config&&this.decoder.configure(this.config))}dispose(){this.decoder&&(this.decoder.state!=="closed"&&this.decoder.close(),this.decoder=null),this.config=void 0}}const encodedJs="dmFyIEwgPSAvKiBAX19QVVJFX18gKi8gZnVuY3Rpb24oKSB7CiAgZnVuY3Rpb24gYShBLCBDKSB7CiAgICB0aGlzLnRpbnlIMjY0TW9kdWxlID0gQSwgdGhpcy5vblBpY3R1cmVSZWFkeSA9IEMsIHRoaXMucFN0b3JhZ2UgPSB0aGlzLnRpbnlIMjY0TW9kdWxlLl9oMjY0YnNkQWxsb2MoKSwgdGhpcy5wV2lkdGggPSB0aGlzLnRpbnlIMjY0TW9kdWxlLl9tYWxsb2MoNCksIHRoaXMucEhlaWdodCA9IHRoaXMudGlueUgyNjRNb2R1bGUuX21hbGxvYyg0KSwgdGhpcy5wUGljdHVyZSA9IHRoaXMudGlueUgyNjRNb2R1bGUuX21hbGxvYyg0KSwgdGhpcy5fZGVjQnVmZmVyID0gdGhpcy50aW55SDI2NE1vZHVsZS5fbWFsbG9jKDEwNDg1NzYpLCB0aGlzLnRpbnlIMjY0TW9kdWxlLl9oMjY0YnNkSW5pdCh0aGlzLnBTdG9yYWdlLCAwKTsKICB9CiAgdmFyIEogPSBhLnByb3RvdHlwZTsKICByZXR1cm4gSi5yZWxlYXNlID0gZnVuY3Rpb24oKSB7CiAgICB2YXIgQyA9IHRoaXMucFN0b3JhZ2U7CiAgICBDICE9PSAwICYmICh0aGlzLnRpbnlIMjY0TW9kdWxlLl9oMjY0YnNkU2h1dGRvd24oQyksIHRoaXMudGlueUgyNjRNb2R1bGUuX2gyNjRic2RGcmVlKEMpKSwgdGhpcy50aW55SDI2NE1vZHVsZS5fZnJlZSh0aGlzLnBXaWR0aCksIHRoaXMudGlueUgyNjRNb2R1bGUuX2ZyZWUodGhpcy5wSGVpZ2h0KSwgdGhpcy50aW55SDI2NE1vZHVsZS5fZnJlZSh0aGlzLnBQaWN0dXJlKSwgdGhpcy5wU3RvcmFnZSA9IDAsIHRoaXMucFdpZHRoID0gMCwgdGhpcy5wSGVpZ2h0ID0gMDsKICB9LCBKLmRlY29kZSA9IGZ1bmN0aW9uKEMpIHsKICAgIEMgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlciAmJiAoQyA9IG5ldyBVaW50OEFycmF5KEMpKSwgdGhpcy50aW55SDI2NE1vZHVsZS5IRUFQVTguc2V0KEMsIHRoaXMuX2RlY0J1ZmZlcik7CiAgICB2YXIgUyA9IHRoaXMudGlueUgyNjRNb2R1bGUuX2gyNjRic2REZWNvZGUodGhpcy5wU3RvcmFnZSwgdGhpcy5fZGVjQnVmZmVyLCBDLmJ5dGVMZW5ndGgsIHRoaXMucFBpY3R1cmUsIHRoaXMucFdpZHRoLCB0aGlzLnBIZWlnaHQpOwogICAgaWYgKFMgPT09IGEuUElDX1JEWSkgewogICAgICB2YXIgRCA9IHRoaXMudGlueUgyNjRNb2R1bGUuZ2V0VmFsdWUodGhpcy5wV2lkdGgsICJpMzIiKSwgRSA9IHRoaXMudGlueUgyNjRNb2R1bGUuZ2V0VmFsdWUodGhpcy5wSGVpZ2h0LCAiaTMyIiksIHMgPSB0aGlzLnRpbnlIMjY0TW9kdWxlLmdldFZhbHVlKHRoaXMucFBpY3R1cmUsICJpOCoiKSwgRyA9IG5ldyBVaW50OEFycmF5KHRoaXMudGlueUgyNjRNb2R1bGUuSEVBUFU4LnN1YmFycmF5KHMsIHMgKyBEICogRSAqIDMgLyAyKSk7CiAgICAgIHRoaXMub25QaWN0dXJlUmVhZHkoRywgRCwgRSk7CiAgICB9CiAgfSwgYTsKfSgpOwpMLlJEWSA9IDA7CkwuUElDX1JEWSA9IDE7CkwuSERSU19SRFkgPSAyOwpMLkVSUk9SID0gMzsKTC5QQVJBTV9TRVRfRVJST1IgPSA0OwpMLk1FTUFMTE9DX0VSUk9SID0gNTsKdmFyIFNBID0gZnVuY3Rpb24oKSB7CiAgdmFyIGEgPSB0eXBlb2YgZG9jdW1lbnQgPCAidSIgJiYgZG9jdW1lbnQuY3VycmVudFNjcmlwdCA/IGRvY3VtZW50LmN1cnJlbnRTY3JpcHQuc3JjIDogdm9pZCAwOwogIHJldHVybiBmdW5jdGlvbihBKSB7CiAgICBBID0gQSB8fCB7fTsKICAgIHZhciBBID0gdHlwZW9mIEEgPCAidSIgPyBBIDoge30sIEMsIFM7CiAgICBBLnJlYWR5ID0gbmV3IFByb21pc2UoZnVuY3Rpb24oSSwgZykgewogICAgICBDID0gSSwgUyA9IGc7CiAgICB9KTsKICAgIHZhciBEID0ge30sIEU7CiAgICBmb3IgKEUgaW4gQSkKICAgICAgQS5oYXNPd25Qcm9wZXJ0eShFKSAmJiAoRFtFXSA9IEFbRV0pOwogICAgdmFyIHMgPSAhMCwgRyA9ICIiOwogICAgZnVuY3Rpb24gVShJKSB7CiAgICAgIHJldHVybiBBLmxvY2F0ZUZpbGUgPyBBLmxvY2F0ZUZpbGUoSSwgRykgOiBHICsgSTsKICAgIH0KICAgIHZhciBNOwogICAgRyA9IHNlbGYubG9jYXRpb24uaHJlZiwgYSAmJiAoRyA9IGEpLCBHLmluZGV4T2YoImJsb2I6IikgIT09IDAgPyBHID0gRy5zdWJzdHIoMCwgRy5sYXN0SW5kZXhPZigiLyIpICsgMSkgOiBHID0gIiIsIE0gPSBmdW5jdGlvbihnKSB7CiAgICAgIHRyeSB7CiAgICAgICAgdmFyIFEgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKICAgICAgICByZXR1cm4gUS5vcGVuKCJHRVQiLCBnLCAhMSksIFEucmVzcG9uc2VUeXBlID0gImFycmF5YnVmZmVyIiwgUS5zZW5kKG51bGwpLCBuZXcgVWludDhBcnJheShRLnJlc3BvbnNlKTsKICAgICAgfSBjYXRjaCAoeSkgewogICAgICAgIHZhciBCID0geihnKTsKICAgICAgICBpZiAoQikKICAgICAgICAgIHJldHVybiBCOwogICAgICAgIHRocm93IHk7CiAgICAgIH0KICAgIH0sIEEucHJpbnQgfHwgY29uc29sZS5sb2cuYmluZChjb25zb2xlKTsKICAgIHZhciBrID0gQS5wcmludEVyciB8fCBjb25zb2xlLndhcm4uYmluZChjb25zb2xlKTsKICAgIGZvciAoRSBpbiBEKQogICAgICBELmhhc093blByb3BlcnR5KEUpICYmIChBW0VdID0gRFtFXSk7CiAgICBEID0gbnVsbCwgQS5hcmd1bWVudHMgJiYgQS5hcmd1bWVudHMsIEEudGhpc1Byb2dyYW0gJiYgQS50aGlzUHJvZ3JhbSwgQS5xdWl0ICYmIEEucXVpdDsKICAgIHZhciBIOwogICAgQS53YXNtQmluYXJ5ICYmIChIID0gQS53YXNtQmluYXJ5KSwgQS5ub0V4aXRSdW50aW1lLCB0eXBlb2YgV2ViQXNzZW1ibHkgIT0gIm9iamVjdCIgJiYgYygibm8gbmF0aXZlIHdhc20gc3VwcG9ydCBkZXRlY3RlZCIpOwogICAgZnVuY3Rpb24gdihJLCBnLCBRKSB7CiAgICAgIHN3aXRjaCAoZyA9IGcgfHwgImk4IiwgZy5jaGFyQXQoZy5sZW5ndGggLSAxKSA9PT0gIioiICYmIChnID0gImkzMiIpLCBnKSB7CiAgICAgICAgY2FzZSAiaTEiOgogICAgICAgICAgcmV0dXJuIHRbSSA+PiAwXTsKICAgICAgICBjYXNlICJpOCI6CiAgICAgICAgICByZXR1cm4gdFtJID4+IDBdOwogICAgICAgIGNhc2UgImkxNiI6CiAgICAgICAgICByZXR1cm4gT1tJID4+IDFdOwogICAgICAgIGNhc2UgImkzMiI6CiAgICAgICAgICByZXR1cm4gbltJID4+IDJdOwogICAgICAgIGNhc2UgImk2NCI6CiAgICAgICAgICByZXR1cm4gbltJID4+IDJdOwogICAgICAgIGNhc2UgImZsb2F0IjoKICAgICAgICAgIHJldHVybiBsW0kgPj4gMl07CiAgICAgICAgY2FzZSAiZG91YmxlIjoKICAgICAgICAgIHJldHVybiBUW0kgPj4gM107CiAgICAgICAgZGVmYXVsdDoKICAgICAgICAgIGMoImludmFsaWQgdHlwZSBmb3IgZ2V0VmFsdWU6ICIgKyBnKTsKICAgICAgfQogICAgICByZXR1cm4gbnVsbDsKICAgIH0KICAgIHZhciBLLCBlID0gITE7CiAgICBmdW5jdGlvbiBfKEksIGcpIHsKICAgICAgcmV0dXJuIEkgJSBnID4gMCAmJiAoSSArPSBnIC0gSSAlIGcpLCBJOwogICAgfQogICAgdmFyIG0sIHQsIHIsIE8sIG4sIGwsIFQ7CiAgICBmdW5jdGlvbiBYKEkpIHsKICAgICAgbSA9IEksIEEuSEVBUDggPSB0ID0gbmV3IEludDhBcnJheShJKSwgQS5IRUFQMTYgPSBPID0gbmV3IEludDE2QXJyYXkoSSksIEEuSEVBUDMyID0gbiA9IG5ldyBJbnQzMkFycmF5KEkpLCBBLkhFQVBVOCA9IHIgPSBuZXcgVWludDhBcnJheShJKSwgQS5IRUFQVTE2ID0gbmV3IFVpbnQxNkFycmF5KEkpLCBBLkhFQVBVMzIgPSBuZXcgVWludDMyQXJyYXkoSSksIEEuSEVBUEYzMiA9IGwgPSBuZXcgRmxvYXQzMkFycmF5KEkpLCBBLkhFQVBGNjQgPSBUID0gbmV3IEZsb2F0NjRBcnJheShJKTsKICAgIH0KICAgIEEuSU5JVElBTF9NRU1PUlk7CiAgICB2YXIgcCwgYiA9IFtdLCBqID0gW10sIFYgPSBbXTsKICAgIGZ1bmN0aW9uICQoKSB7CiAgICAgIGlmIChBLnByZVJ1bikKICAgICAgICBmb3IgKHR5cGVvZiBBLnByZVJ1biA9PSAiZnVuY3Rpb24iICYmIChBLnByZVJ1biA9IFtBLnByZVJ1bl0pOyBBLnByZVJ1bi5sZW5ndGg7ICkKICAgICAgICAgIGdBKEEucHJlUnVuLnNoaWZ0KCkpOwogICAgICBaKGIpOwogICAgfQogICAgZnVuY3Rpb24gQUEoKSB7CiAgICAgIFooaik7CiAgICB9CiAgICBmdW5jdGlvbiBJQSgpIHsKICAgICAgaWYgKEEucG9zdFJ1bikKICAgICAgICBmb3IgKHR5cGVvZiBBLnBvc3RSdW4gPT0gImZ1bmN0aW9uIiAmJiAoQS5wb3N0UnVuID0gW0EucG9zdFJ1bl0pOyBBLnBvc3RSdW4ubGVuZ3RoOyApCiAgICAgICAgICBDQShBLnBvc3RSdW4uc2hpZnQoKSk7CiAgICAgIFooVik7CiAgICB9CiAgICBmdW5jdGlvbiBnQShJKSB7CiAgICAgIGIudW5zaGlmdChJKTsKICAgIH0KICAgIGZ1bmN0aW9uIFFBKEkpIHsKICAgICAgai51bnNoaWZ0KEkpOwogICAgfQogICAgZnVuY3Rpb24gQ0EoSSkgewogICAgICBWLnVuc2hpZnQoSSk7CiAgICB9CiAgICB2YXIgdyA9IDAsIEYgPSBudWxsOwogICAgZnVuY3Rpb24gQkEoSSkgewogICAgICB3KyssIEEubW9uaXRvclJ1bkRlcGVuZGVuY2llcyAmJiBBLm1vbml0b3JSdW5EZXBlbmRlbmNpZXModyk7CiAgICB9CiAgICBmdW5jdGlvbiBFQShJKSB7CiAgICAgIGlmICh3LS0sIEEubW9uaXRvclJ1bkRlcGVuZGVuY2llcyAmJiBBLm1vbml0b3JSdW5EZXBlbmRlbmNpZXModyksIHcgPT0gMCAmJiBGKSB7CiAgICAgICAgdmFyIGcgPSBGOwogICAgICAgIEYgPSBudWxsLCBnKCk7CiAgICAgIH0KICAgIH0KICAgIEEucHJlbG9hZGVkSW1hZ2VzID0ge30sIEEucHJlbG9hZGVkQXVkaW9zID0ge307CiAgICBmdW5jdGlvbiBjKEkpIHsKICAgICAgQS5vbkFib3J0ICYmIEEub25BYm9ydChJKSwgSSArPSAiIiwgayhJKSwgZSA9ICEwLCBJID0gImFib3J0KCIgKyBJICsgIikuIEJ1aWxkIHdpdGggLXMgQVNTRVJUSU9OUz0xIGZvciBtb3JlIGluZm8uIjsKICAgICAgdmFyIGcgPSBuZXcgV2ViQXNzZW1ibHkuUnVudGltZUVycm9yKEkpOwogICAgICB0aHJvdyBTKGcpLCBnOwogICAgfQogICAgdmFyIFAgPSAiZGF0YTphcHBsaWNhdGlvbi9vY3RldC1zdHJlYW07YmFzZTY0LCI7CiAgICBmdW5jdGlvbiBXKEkpIHsKICAgICAgcmV0dXJuIEkuc3RhcnRzV2l0aChQKTsKICAgIH0KICAgIHZhciBoOwogICAgaCA9ICJkYXRhOmFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbTtiYXNlNjQsQUdGemJRRUFBQUFCWWc1Z0NYOS9mMzkvZjM5L2Z3QmdBMzkvZndGL1lBSi9md0YvWUFGL0FYOWdBWDhBWUFSL2YzOS9BWDlnQm45L2YzOS9md0JnQW45L0FHQURmMzkvQUdBQUFHQUlmMzkvZjM5L2YzOEFZQVIvZjM5L0FHQUFBWDlnQm45L2YzOS9md0YvQWcwQ0FXRUJZUUFEQVdFQllnQUJBeVFqQWdFRUJRVUJBd0FCQ0FBR0F3Y0NBUUFHQWdrREFBQUFBQVFLQndJTEJBd0VEUUlFQlFGd0FRRUJCUWNCQVlBQ2dJQUNCZ2tCZndGQmdNVEFBZ3NIS1FvQll3SUFBV1FBRlFGbEFDUUJaZ0FJQVdjQUJBRm9BQ01CYVFBaUFXb0FJUUZyQUNBQmJBRUFDdktWQnlQM0NRRUpmeUFBS0FJRUlRVUNRQUpBQWtBQ1FBSkFJQUFvQWd4QkEzUWlDU0FBS0FJUUlnaHJJZ2RCSUU0RVFDQUZLQUFBSWdKQkdIUWdBa0VJZEVHQWdQd0hjWElnQWtFSWRrR0EvZ054SUFKQkdIWnljaUVESUFBb0FnZ2lBa1VOQVNBRElBSjBJQVV0QUFSQkNDQUNhM1p5SVFNTUFRc2dCMEVCU0FSQURBSUxJQVV0QUFBZ0FDZ0NDQ0lDUVJocUlnWjBJUU1nQWlBSGFrRUlheUlFUVFGSURRQWdCU0VDQTBBZ0FpMEFBU0FHUVFocklnWjBJQU55SVFNZ0JFRUlTaUVISUFKQkFXb2hBaUFFUVFocklRUWdCdzBBQ3dzZ0EwRi9UQVJBSUFBZ0NFRUJhaUlDTmdJUUlBQWdBa0VIY1RZQ0NFRUFJUVFnQWlBSlN3MENJQUFnQUNnQ0FDQUNRUU4yYWpZQ0JBd0NDeUFEUVlDQWdJQUVUd1JBSUFBZ0NFRURhaUlDTmdJUUlBQWdBa0VIY1RZQ0NFRUJJUVlnQWlBSlN3MEVJQUFnQUNnQ0FDQUNRUU4yYWpZQ0JDQURRUjEyUVFGeFFRRnFJUVFNQWdzZ0EwR0FnSUNBQWs4RVFDQUFJQWhCQldvaUFqWUNFQ0FBSUFKQkIzRTJBZ2hCQVNFR0lBSWdDVXNOQkNBQUlBQW9BZ0FnQWtFRGRtbzJBZ1FnQTBFYmRrRURjVUVEYWlFRURBSUxJQU5CZ0lDQWdBRkpEUUFnQUNBSVFRZHFJZ0kyQWhBZ0FDQUNRUWR4TmdJSVFRRWhCaUFDSUFsTERRTWdBQ0FBS0FJQUlBSkJBM1pxTmdJRUlBTkJHWFpCQjNGQkIyb2hCQXdCQzBHQWdJREFBQ0VFUVFRaENrRUFJUUlDUUNBRFFZQ0FnTUFBY1EwQUEwQUNRQ0FDSWdaQkFXb2hBaUFFUVFKSkRRQWdCRUVCZGlJRUlBTnhSUTBCQ3dzZ0JrRUZhaUlLUVNCSERRQWdBVUVBTmdJQUlBQWdBQ2dDRUNJS1FRZHhJZ00yQWdnZ0FDQUtRU0JxSWdJMkFoQWdBaUFBS0FJTVFRTjBJZ2ROQkVBZ0FDQUFLQUlBSUFKQkEzWnFJZ1UyQWdRTEFrQWdCeUFDYXlJR1FTQk9CRUFnQlNnQUFDSUNRUmgwSUFKQkNIUkJnSUQ4QjNGeUlBSkJDSFpCZ1A0RGNTQUNRUmgyY25JaEJDQURSUTBCSUFRZ0EzUWdCUzBBQkVFSUlBTnJkbkloQkF3QkN5QUdRUUZJQkVCQkFDRUVEQUVMSUFVdEFBQWdBMEVZY2lJQ2RDRUVJQU1nQm1wQkNHc2lBMEVCU0EwQUEwQWdCUzBBQVNBQ1FRaHJJZ0owSUFSeUlRUWdBMEVJU2lFR0lBVkJBV29oQlNBRFFRaHJJUU1nQmcwQUN3c2dBQ0FLUVNGcUlnTTJBaEFnQUNBRFFRZHhJZ1UyQWdoQkFTRUdJQU1nQjBzTkF5QUFJQUFvQWdBaUFpQURRUU4yYWpZQ0JDQUVRWDlLRFFNZ0FCQVdJUU1nQUNBRk5nSUlJQUFnQ2tIQkFHb2lCVFlDRUNBRklBZExEUU1nQUNBQ0lBVkJBM1pxTmdJRVFYOGhCQUpBSUFNT0FnTUFCQXRCQVNFRERBSUxJQUFnQWlBSWFrRUZhaUlJTmdJUUlBQWdDRUVIY1NJSE5nSUlJQWdnQ1UwRVFDQUFJQUFvQWdBZ0NFRURkbW9pQlRZQ0JBc0NRQ0FKSUFocklnTkJJRTRFUUNBRktBQUFJZ1pCR0hRZ0JrRUlkRUdBZ1B3SGNYSWdCa0VJZGtHQS9nTnhJQVpCR0haeWNpRUVJQWRGRFFFZ0JDQUhkQ0FGTFFBRVFRZ2dCMnQyY2lFRURBRUxJQU5CQVVnRVFFRUFJUVFNQVFzZ0JTMEFBQ0FIUVJoeUlnWjBJUVFnQXlBSGFrRUlheUlEUVFGSURRQURRQ0FGTFFBQklBWkJDR3NpQm5RZ0JISWhCQ0FEUVFoS0lRY2dCVUVCYWlFRklBTkJDR3NoQXlBSERRQUxDeUFBSUFnZ0Ntb2lCVFlDRUNBQUlBVkJCM0UyQWdoQkFTRUdJQVVnQ1VzTkFpQUFJQUFvQWdBZ0JVRURkbW8yQWdRZ0JFRWNJQUpyZGlJQVFYOUdEUUlnQUVGL0lBcDBRWDl6YWlFRUMwRUFJUU1MSUFFZ0JEWUNBQ0FESVFZTElBWUw4Z0lDQW44QmZnSkFJQUpGRFFBZ0FDQUNhaUlEUVFGcklBRTZBQUFnQUNBQk9nQUFJQUpCQTBrTkFDQURRUUpySUFFNkFBQWdBQ0FCT2dBQklBTkJBMnNnQVRvQUFDQUFJQUU2QUFJZ0FrRUhTUTBBSUFOQkJHc2dBVG9BQUNBQUlBRTZBQU1nQWtFSlNRMEFJQUJCQUNBQWEwRURjU0lFYWlJRElBRkIvd0Z4UVlHQ2hBaHNJZ0UyQWdBZ0F5QUNJQVJyUVh4eElnUnFJZ0pCQkdzZ0FUWUNBQ0FFUVFsSkRRQWdBeUFCTmdJSUlBTWdBVFlDQkNBQ1FRaHJJQUUyQWdBZ0FrRU1heUFCTmdJQUlBUkJHVWtOQUNBRElBRTJBaGdnQXlBQk5nSVVJQU1nQVRZQ0VDQURJQUUyQWd3Z0FrRVFheUFCTmdJQUlBSkJGR3NnQVRZQ0FDQUNRUmhySUFFMkFnQWdBa0VjYXlBQk5nSUFJQVFnQTBFRWNVRVljaUlFYXlJQ1FTQkpEUUFnQWExQ2dZQ0FnQkIrSVFVZ0F5QUVhaUVCQTBBZ0FTQUZOd01ZSUFFZ0JUY0RFQ0FCSUFVM0F3Z2dBU0FGTndNQUlBRkJJR29oQVNBQ1FTQnJJZ0pCSDBzTkFBc0xJQUFMekF3QkIzOENRQ0FBUlEwQUlBQkJDR3NpQXlBQVFRUnJLQUlBSWdGQmVIRWlBR29oQlFKQUlBRkJBWEVOQUNBQlFRTnhSUTBCSUFNZ0F5Z0NBQ0lCYXlJRFFaakFBQ2dDQUVrTkFTQUFJQUZxSVFBZ0EwR2N3QUFvQWdCSEJFQWdBVUgvQVUwRVFDQURLQUlJSWdJZ0FVRURkaUlFUVFOMFFiREFBR3BHR2lBQ0lBTW9BZ3dpQVVZRVFFR0l3QUJCaU1BQUtBSUFRWDRnQkhkeE5nSUFEQU1MSUFJZ0FUWUNEQ0FCSUFJMkFnZ01BZ3NnQXlnQ0dDRUdBa0FnQXlBREtBSU1JZ0ZIQkVBZ0F5Z0NDQ0lDSUFFMkFnd2dBU0FDTmdJSURBRUxBa0FnQTBFVWFpSUNLQUlBSWdRTkFDQURRUkJxSWdJb0FnQWlCQTBBUVFBaEFRd0JDd05BSUFJaEJ5QUVJZ0ZCRkdvaUFpZ0NBQ0lFRFFBZ0FVRVFhaUVDSUFFb0FoQWlCQTBBQ3lBSFFRQTJBZ0FMSUFaRkRRRUNRQ0FESUFNb0Fod2lBa0VDZEVHNHdnQnFJZ1FvQWdCR0JFQWdCQ0FCTmdJQUlBRU5BVUdNd0FCQmpNQUFLQUlBUVg0Z0FuZHhOZ0lBREFNTElBWkJFRUVVSUFZb0FoQWdBMFliYWlBQk5nSUFJQUZGRFFJTElBRWdCallDR0NBREtBSVFJZ0lFUUNBQklBSTJBaEFnQWlBQk5nSVlDeUFES0FJVUlnSkZEUUVnQVNBQ05nSVVJQUlnQVRZQ0dBd0JDeUFGS0FJRUlnRkJBM0ZCQTBjTkFFR1F3QUFnQURZQ0FDQUZJQUZCZm5FMkFnUWdBeUFBUVFGeU5nSUVJQUFnQTJvZ0FEWUNBQThMSUFNZ0JVOE5BQ0FGS0FJRUlnRkJBWEZGRFFBQ1FDQUJRUUp4UlFSQUlBVkJvTUFBS0FJQVJnUkFRYURBQUNBRE5nSUFRWlRBQUVHVXdBQW9BZ0FnQUdvaUFEWUNBQ0FESUFCQkFYSTJBZ1FnQTBHY3dBQW9BZ0JIRFFOQmtNQUFRUUEyQWdCQm5NQUFRUUEyQWdBUEN5QUZRWnpBQUNnQ0FFWUVRRUdjd0FBZ0F6WUNBRUdRd0FCQmtNQUFLQUlBSUFCcUlnQTJBZ0FnQXlBQVFRRnlOZ0lFSUFBZ0Eyb2dBRFlDQUE4TElBRkJlSEVnQUdvaEFBSkFJQUZCL3dGTkJFQWdCU2dDQ0NJQ0lBRkJBM1lpQkVFRGRFR3d3QUJxUmhvZ0FpQUZLQUlNSWdGR0JFQkJpTUFBUVlqQUFDZ0NBRUYrSUFSM2NUWUNBQXdDQ3lBQ0lBRTJBZ3dnQVNBQ05nSUlEQUVMSUFVb0FoZ2hCZ0pBSUFVZ0JTZ0NEQ0lCUndSQUlBVW9BZ2dpQWtHWXdBQW9BZ0JKR2lBQ0lBRTJBZ3dnQVNBQ05nSUlEQUVMQWtBZ0JVRVVhaUlDS0FJQUlnUU5BQ0FGUVJCcUlnSW9BZ0FpQkEwQVFRQWhBUXdCQ3dOQUlBSWhCeUFFSWdGQkZHb2lBaWdDQUNJRURRQWdBVUVRYWlFQ0lBRW9BaEFpQkEwQUN5QUhRUUEyQWdBTElBWkZEUUFDUUNBRklBVW9BaHdpQWtFQ2RFRzR3Z0JxSWdRb0FnQkdCRUFnQkNBQk5nSUFJQUVOQVVHTXdBQkJqTUFBS0FJQVFYNGdBbmR4TmdJQURBSUxJQVpCRUVFVUlBWW9BaEFnQlVZYmFpQUJOZ0lBSUFGRkRRRUxJQUVnQmpZQ0dDQUZLQUlRSWdJRVFDQUJJQUkyQWhBZ0FpQUJOZ0lZQ3lBRktBSVVJZ0pGRFFBZ0FTQUNOZ0lVSUFJZ0FUWUNHQXNnQXlBQVFRRnlOZ0lFSUFBZ0Eyb2dBRFlDQUNBRFFaekFBQ2dDQUVjTkFVR1F3QUFnQURZQ0FBOExJQVVnQVVGK2NUWUNCQ0FESUFCQkFYSTJBZ1FnQUNBRGFpQUFOZ0lBQ3lBQVFmOEJUUVJBSUFCQkEzWWlBVUVEZEVHd3dBQnFJUUFDZjBHSXdBQW9BZ0FpQWtFQklBRjBJZ0Z4UlFSQVFZakFBQ0FCSUFKeU5nSUFJQUFNQVFzZ0FDZ0NDQXNoQWlBQUlBTTJBZ2dnQWlBRE5nSU1JQU1nQURZQ0RDQURJQUkyQWdnUEMwRWZJUUlnQTBJQU53SVFJQUJCLy8vL0IwMEVRQ0FBUVFoMklnRWdBVUdBL2o5cVFSQjJRUWh4SWdGMElnSWdBa0dBNEI5cVFSQjJRUVJ4SWdKMElnUWdCRUdBZ0E5cVFSQjJRUUp4SWdSMFFROTJJQUVnQW5JZ0JISnJJZ0ZCQVhRZ0FDQUJRUlZxZGtFQmNYSkJIR29oQWdzZ0F5QUNOZ0ljSUFKQkFuUkJ1TUlBYWlFQkFrQUNRQUpBUVl6QUFDZ0NBQ0lFUVFFZ0FuUWlCM0ZGQkVCQmpNQUFJQVFnQjNJMkFnQWdBU0FETmdJQUlBTWdBVFlDR0F3QkN5QUFRUUJCR1NBQ1FRRjJheUFDUVI5R0czUWhBaUFCS0FJQUlRRURRQ0FCSWdRb0FnUkJlSEVnQUVZTkFpQUNRUjEySVFFZ0FrRUJkQ0VDSUFRZ0FVRUVjV29pQjBFUWFpZ0NBQ0lCRFFBTElBY2dBellDRUNBRElBUTJBaGdMSUFNZ0F6WUNEQ0FESUFNMkFnZ01BUXNnQkNnQ0NDSUFJQU0yQWd3Z0JDQUROZ0lJSUFOQkFEWUNHQ0FESUFRMkFnd2dBeUFBTmdJSUMwR293QUJCcU1BQUtBSUFRUUZySWdCQmZ5QUFHellDQUFzTDJBc0JGSDhnQVVHUVBXb3RBQUJCREd3aUIwSEVQR29vQWdBaEJTQUhRY0E4YWlnQ0FDQUJRWUE4YWkwQUFDSUdkQ0VFSUFKRkJFQWdBQ0FBS0FJQUlBUnNOZ0lBQ3lBRklBWjBJUUVDUUFKQUlBTkJuUDhEY1FSQVFRRWhBeUFBSUFBb0FqZ2dBV3dpQlNBQUtBSWtJQUZzSWcxcUlnd2dCMEhJUEdvb0FnQWdCblFpQWlBQUtBSThiQ0lHUVFGMUlBQW9BaWdnQW13aUNtb2lEMnNpQnpZQ1BDQUFJQTBnQldzaUJTQUtRUUYxSUFacklnMXJJZ1kyQWpnZ0FDZ0NOQ0VLSUFBZ0JTQU5haUlGTmdJMElBQWdBQ2dDTENBRWJDSUlJQUFvQWd3Z0JHd2lEbW9pRUNBQUtBSWdJQUZzSWdrZ0FTQUtiQ0lLUVFGMWFpSVNheUlOTmdJc0lBQWdEaUFJYXlJSUlBbEJBWFVnQ21zaURtc2lDallDS0NBQUlBZ2dEbW9pQ0RZQ0pDQUFJQUFvQWh3Z0FXd2lEaUFBS0FJSUlBRnNJZ2xxSWhRZ0FDZ0NFQ0FDYkNJTElBQW9BakFnQW13aUVVRUJkV29pRldzaUFqWUNIQ0FBS0FJWUlSTWdBQ0FKSUE1cklna2dDMEVCZFNBUmF5SUxheUlPTmdJWUlBQW9BaFFoRVNBQUlBa2dDMm9pQ1RZQ0ZDQUFJQVFnRVd3aUJDQUFLQUlBSWd0cUloRWdBQ2dDQkNBQmJDSVdJQUVnRTJ3aUUwRUJkV29pRjJzaUFUWUNEQ0FBSUFzZ0JHc2lDeUFXUVFGMUlCTnJJaE5ySWdRMkFnZ2dBQ0FMSUJOcUlnczJBZ1FnQUNBUUlCSnFJaEFnRVNBWGFpSVNha0VnYWlJUklCUWdGV29pRkNBTUlBOXFJZ3hCQVhWcUlnOXJRUVoxSWhVMkFqQWdBQ0FTSUJCclFTQnFJaEFnRkVFQmRTQU1heUlNYTBFR2RTSVNOZ0lnSUFBZ0RDQVFha0VHZFNJTU5nSVFJQUFnRHlBUmFrRUdkU0lQTmdJQUlBOUJnQVJxUWY4SFN3MENJQXhCZ0FScVFmOEhTdzBDSUJKQmdBUnFRZjhIU3cwQ0lCVkJnQVJxUWY4SFN3MENJQUFnQ0NBTGFrRWdhaUlNSUFWQkFYVWdDV29pRDJ0QkJuVWlFRFlDTkNBQUlBc2dDR3RCSUdvaUNDQUpRUUYxSUFWcklnVnJRUVoxSWdrMkFpUWdBQ0FGSUFocVFRWjFJZ1UyQWhRZ0FDQU1JQTlxUVFaMUlnZzJBZ1FnQ0VHQUJHcEIvd2RMRFFJZ0JVR0FCR3BCL3dkTERRSWdDVUdBQkdwQi93ZExEUUlnRUVHQUJHcEIvd2RMRFFJZ0FDQUVJQXBxUVNCcUlnVWdCa0VCZFNBT2FpSUlhMEVHZFNJSk5nSTRJQUFnQkNBS2EwRWdhaUlFSUE1QkFYVWdCbXNpQm10QkJuVWlDallDS0NBQUlBUWdCbXBCQm5VaUJEWUNHQ0FBSUFVZ0NHcEJCblVpQmpZQ0NDQUdRWUFFYWtIL0Iwc05BaUFFUVlBRWFrSC9CMHNOQWlBS1FZQUVha0gvQjBzTkFpQUpRWUFFYWtIL0Iwc05BaUFBSUFFZ0RXcEJJR29pQkNBSFFRRjFJQUpxSWdaclFRWjFJZ1UyQWp3Z0FDQUJJQTFyUVNCcUlnRWdBa0VCZFNBSGF5SUNhMEVHZFNJSE5nSXNJQUFnQVNBQ2FrRUdkU0lCTmdJY0lBQWdCQ0FHYWtFR2RTSUFOZ0lNSUFCQmdBUnFRZjhIU3cwQ0lBRkJnQVJxUWY4SFN3MENJQWRCZ0FScVFmOEhTdzBDSUFWQmdBUnFRZjhIVFEwQkRBSUxJQU5CNGdCeFJRUkFRUUVoQXlBQUtBSUFRU0JxUVFaMUlnRkJnQVJxUWY4SFN3MENJQUFnQVRZQ09DQUFJQUUyQWp3Z0FDQUJOZ0kwSUFBZ0FUWUNNQ0FBSUFFMkFpd2dBQ0FCTmdJb0lBQWdBVFlDSkNBQUlBRTJBaUFnQUNBQk5nSWNJQUFnQVRZQ0dDQUFJQUUyQWhRZ0FDQUJOZ0lRSUFBZ0FUWUNEQ0FBSUFFMkFnZ2dBQ0FCTmdJRUlBQWdBVFlDQUF3QkMwRUJJUU1nQUNBQUtBSUVJQUZzSWdVZ0FDZ0NHQ0FCYkNJTlFRRjFhaUlDSUFBb0FnQWlCeUFBS0FJVUlBUnNJZ1pxSWdScVFTQnFRUVoxSWdFMkFqQWdBQ0FFSUFKclFTQnFRUVoxSWdJMkFnd2dBQ0FGUVFGMUlBMXJJZ1VnQnlBR2EycEJJR3BCQm5VaUJEWUNCQ0FBSUFFMkFnQWdBQ0FCTmdJZ0lBQWdCRFlDTkNBQUlBRTJBaEFnQUNBRU5nSWtJQUFnQkRZQ0ZDQUFJQUkyQWp3Z0FDQUhJQVVnQm1wclFTQnFRUVoxSWdjMkFnZ2dBQ0FITmdJNElBQWdCellDS0NBQUlBYzJBaGdnQUNBQ05nSXNJQUFnQWpZQ0hDQUJRWUFFYWtIL0Iwc05BU0FFUVlBRWFrSC9CMHNOQVNBSFFZQUVha0gvQjBzTkFTQUNRWUFFYWtIL0Iwc05BUXRCQUNFREN5QURDL29hQVJGL0l3QkJnQUZySWcwa0FDQUFLQUlFSVFRQ2Z3SkFBbjhDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQ0FBS0FJTUloSkJBM1FpRUNBQUtBSVFJZ2xySWdWQklFNEVRQ0FFS0FBQUlnVkJHSFFnQlVFSWRFR0FnUHdIY1hJZ0JVRUlka0dBL2dOeElBVkJHSFp5Y2lFR0lBQW9BZ2dpQlVVTkFTQUdJQVYwSUFRdEFBUkJDQ0FGYTNaeUlRWU1BUXNnQlVFQlNBMEJJQVF0QUFBZ0FDZ0NDQ0lLUVJocUlnZDBJUVlnQlNBS2FrRUlheUlGUVFGSURRQURRQ0FFTFFBQklBZEJDR3NpQjNRZ0JuSWhCaUFGUVFoS0lRb2dCRUVCYWlFRUlBVkJDR3NoQlNBS0RRQUxDeUFDUVFKUERRTWdCa0VBU0FSQVFRRWhDd3dPQ3lBR1FSbDJRZjRBY1VHQUNHb2dCa0dBZ0lEZ0FFOE5EQm9nQmtFVmRrSCtEM0ZCd0FocUlBWkJnSUNBQ0U4TkRCb2dCa0dBZ0lBQlNRUkFJQVpCRUhZaEJBd0NDeUFHUVJGMlFmNy9BWEZCa0FscURBd0xRUUFoQkNBQ1FRSlBEUUVMSUFSQkFYUkJrQXBxREFvTElBSkJCRThOQVF3SUN5QUNRUVJKRFFZZ0FrRUlUdzBDSUFaQi8vLy8vd0ZORFFFZ0JrRVpka0grQUhGQjBBMXFEQWdMSUFKQkNFOE5BZ3NnQmtFVmRrSCtEM0ZCMEE1cURBWUxJQUpCRVVrTkFTQUdRZi8vLy84QlRRMENJQVpCSEhaQkRuRkIwQkZxREFVTElBSkJFRXNOQVFzZ0JrRVpka0grQUhGQjBCQnFEQU1MSUFaQkYzWkIvZ054UWVBUmFnd0NDeUFHUVg5TUJFQkJBa0dpRUNBR1FZQ0FnSUFFY1JzaEN3d0RDeUFHUVJsMlFmNEFjVUhRQ21vZ0JrR0FnSUNBQVU4TkFSb2dCa0dBZ0lBUVNRMEFJQVpCRm5aQi9nZHhRWkFMYWd3QkN5QUdRUkYyUWY3L0FYRkIwQXRxQ3k4QkFDSUxEUUJCQVF3QkMwRUJJQU1nQzBFTGRpSU9TUTBBR2tFZ0lBdEJIM0VpQW1zaENFRUFJUVVDUUNBTFFZQVFTUTBBSUFZZ0MzUWhCQUpBSUF0QkJYWkJQM0VpRDBVRVFFRUFJUWNNQVFzQ1FDQUlJQTlQRFFBZ0FDQUNJQWxxSWdrMkFoQWdBQ0FKUVFkeElnSTJBZ2hCQVNBSklCQkxEUU1hSUFBZ0FDZ0NBQ0FKUVFOMmFpSUZOZ0lFUVNBaENDQVFJQWxySWdwQklFNEVRQ0FGS0FBQUlnUkJHSFFnQkVFSWRFR0FnUHdIY1hJZ0JFRUlka0dBL2dOeElBUkJHSFp5Y2lFRUlBSkZEUUVnQkNBQ2RDQUZMUUFFUVFnZ0FtdDJjaUVFREFFTElBcEJBVWdFUUVFQUlRUU1BUXNnQlMwQUFDQUNRUmh5SWdkMElRUWdBaUFLYWtFSWF5SUdRUUZJRFFBRFFDQUZMUUFCSUFkQkNHc2lCM1FnQkhJaEJDQUdRUWhLSVFJZ0JVRUJhaUVGSUFaQkNHc2hCaUFDRFFBTEMwRUJJQTlCQVd0MElRVWdCRUVnSUE5cmRpRUNRUUFoQndOQUlBMUJRR3NnQjBFQ2RHcEJmMEVCSUFJZ0JYRWJOZ0lBSUFkQkFXb2hCeUFGUVFGTElRb2dCVUVCZGlFRklBb05BQXNnQ0NBUGF5RUlJQVFnRDNRaEJBc2dCeUFPU1FSQUlBOUJBMGtpRkNBTFFmK3ZBVXR4SVFvRFFBSkFJQWhCRDBzTkFDQUFJQWtnQ0d0QklHb2lDVFlDRUNBQUlBbEJCM0VpQWpZQ0NFRUJJQkpCQTNRaUJDQUpTUTBFR2lBQUlBQW9BZ0FnQ1VFRGRtb2lCVFlDQkNBRUlBbHJJZ3hCSUU0RVFDQUZLQUFBSWdSQkdIUWdCRUVJZEVHQWdQd0hjWElnQkVFSWRrR0EvZ054SUFSQkdIWnljaUVFUVNBaENDQUNSUTBCSUFRZ0FuUWdCUzBBQkVFSUlBSnJkbkloQkF3QkMwRUJJQXhCQVVnTkJCb2dCUzBBQUNBQ1FSaHlJZ3QwSVFSQklDRUlJQUlnREdwQkNHc2lCa0VCU0EwQUEwQWdCUzBBQVNBTFFRaHJJZ3QwSUFSeUlRUWdCa0VJU2lFQ0lBVkJBV29oQlNBR1FRaHJJUVlnQWcwQUN3dEJBQ0VGQWtBQ1FBSi9Ba0FnQkVFQVNBMEFRUUVoQlNBRVFmLy8vLzhEU3cwQVFRSWhCU0FFUWYvLy8vOEJTdzBBUVFNaEJTQUVRZi8vLy84QVN3MEFRUVFoQlNBRVFmLy8vejlMRFFCQkJTRUZJQVJCLy8vL0gwc05BRUVHSVFVZ0JFSC8vLzhQU3cwQVFRY2hCU0FFUWYvLy93ZExEUUJCQ0NFRklBUkIvLy8vQTBzTkFFRUpJUVVnQkVILy8vOEJTdzBBUVFvaEJTQUVRZi8vL3dCTERRQkJDeUVGSUFSQi8vOC9TdzBBUVF3aEJTQUVRZi8vSDBzTkFFRU5JUVVnQkVILy93OUxEUUFDZndKQUlBUkIvLzhIVFFSQUlBUkJnSUI4Y1VHQWdBUkdEUUZCQVF3S0N5QUtRUVFnQ2hzaERDQUlRUTlySVFoQkRpRUZJQVJCRDNRTUFRc2dDa0VCSUFvYklRb2dDRUVRYXlFSVFRd2hERUVQSVFVZ0JFRVFkQXNoQkNBRklBcDBJUXNnQ2tVTUFRc2dCU0FLZENFTFFRRWhFeUFJSUFWQkFXb2lBbXNoQ0NBRUlBSjBJUVFnQ2tVTkFTQUtJUXhCQUFzaEV3SkFJQWdnREU4RVFDQUVJUVVNQVFzZ0FDQUpJQWhyUVNCcUlnazJBaEFnQUNBSlFRZHhJZ1kyQWdoQkFTQVNRUU4wSUFsSkRRWWFJQUFnQUNnQ0FDQUpRUU4yYWlJRU5nSUVJQkFnQ1dzaUVVRWdUZ1JBSUFRb0FBQWlBa0VZZENBQ1FRaDBRWUNBL0FkeGNpQUNRUWgyUVlEK0EzRWdBa0VZZG5KeUlRVkJJQ0VJSUFaRkRRRWdCU0FHZENBRUxRQUVRUWdnQm10MmNpRUZEQUVMUVNBaENDQVJRUUZJQkVCQkFDRUZEQUVMSUFRdEFBQWdCa0VZY2lJQ2RDRUZJQVlnRVdwQkNHc2lCa0VCU0EwQUEwQWdCQzBBQVNBQ1FRaHJJZ0owSUFWeUlRVWdCa0VJU2lFUklBUkJBV29oQkNBR1FRaHJJUVlnRVEwQUN3c2dDQ0FNYXlFSUlBVWdESFFoQkNBRlFTQWdER3QySUF0cUlRc01BUXRCQUNFS0N5QU5RVUJySUFkQkFuUnFRUUFnQzBFQ2FpQUxJQWNnRDBZYklBc2dGQnNpQlVFQ2FrRUJkaUlDYXlBQ0lBVkJBWEViTmdJQVFRRWdDaUFUR3lJRklBVkJCa2tnQWtFRElBVkJBV3QwU25GcUlRb2dCMEVCYWlJSElBNUhEUUFMQzBFQUlRY2dBeUFPU3dSQUlBaEJDRTBFUUNBSklBaHJJUUpCSUNFSUlBQWdBa0VnYWlJSk5nSVFJQUFnQ1VFSGNUWUNDRUVCSUFrZ0VFc05BeG9nQUNBQUtBSUFJQWxCQTNacU5nSUVJQUFRRmlFRUN3SkFBa0FDZndKQUlBTkJCRWNFUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBSUE1QkFXc09EZzRBQVFJREJBVUdCd2dKQ2dzTUVBc2dCRUVhZGtIZ0Vtb01EZ3NnQkVFYWRrR2dFMm9NRFFzZ0JFRWJka0hnRTJvTURBc2dCRUViZGtHQUZHb01Dd3NnQkVFYWRrR2dGR29NQ2dzZ0JFRWFka0hnRkdvTUNRc2dCRUVhZGtHZ0ZXb01DQXNnQkVFYWRrSGdGV29NQndzZ0JFRWJka0dnRm1vTUJnc2dCRUVjZGtIQUZtb01CUXNnQkVFY2RrSFFGbW9NQkFzZ0JFRWRka0hnRm1vTUF3c2dCRUVlZGtIb0Ztb01BZ3NnQkVFQVNBUkFRUUVoQlF3RUMwRVJJUVVnRGtFRFJnMERRUkloQlNBRVFmLy8vLzhEU3cwRFFTSWhCU0FPUVFKR0RRTkJNMEVqSUFSQmdJQ0FnQUpKR3lFRkRBTUxJQVJCRjNaQndCSnFJZ0lnQWlBRVFSdDJJZ0pCb0JKcUlBSkJBVVliSUFSQmdJQ0F3QUJKR3dzdEFBQWlCUTBCUVFFTUJBdEJBVUVSSUFSQmYwb2JJUVVMSUFWQkJIWWhCeUFJSUFWQkQzRWlBbXNoQ0NBRUlBSjBJUVFMSUE1QkFXc2lBd1JBSUJKQkEzUWhEMEVBSVFvRFFBSkFJQWNFUUFKQUlBaEJDa3NOQUNBQUlBa2dDR3RCSUdvaUNUWUNFQ0FBSUFsQkIzRWlBallDQ0VFQklBa2dEMHNOQmhvZ0FDQUFLQUlBSUFsQkEzWnFJZ1UyQWdRZ0VDQUpheUlNUVNCT0JFQWdCU2dBQUNJRVFSaDBJQVJCQ0hSQmdJRDhCM0Z5SUFSQkNIWkJnUDREY1NBRVFSaDJjbkloQkVFZ0lRZ2dBa1VOQVNBRUlBSjBJQVV0QUFSQkNDQUNhM1p5SVFRTUFRdEJJQ0VJSUF4QkFVZ0VRRUVBSVFRTUFRc2dCUzBBQUNBQ1FSaHlJZ3QwSVFRZ0FpQU1ha0VJYXlJR1FRRklEUUFEUUNBRkxRQUJJQXRCQ0dzaUMzUWdCSEloQkNBR1FRaEtJUUlnQlVFQmFpRUZJQVpCQ0dzaEJpQUNEUUFMQ3dKQUFuOENRQUpBQWtBQ1FBSkFBa0FDUUNBSFFRRnJEZ1lHQUFFQ0F3UUZDeUFFUVI1MlFlNFdhZ3dHQ3lBRVFSNTJRZklXYWd3RkN5QUVRUjEyUWZZV2Fnd0VDeUFFUVIxMlFmNFdhZ3dEQ3lBRVFSMTJRWVlYYWd3Q0N3Si9RZk1BSUFSQkdYWkI4QUJ4YXlBRVFZQ0FnSUFDVHcwQUdrSDBBQ0FFUWYvLy8vOEFTdzBBR2tHRkFTQUVRZi8vL3o5TERRQWFRWllCSUFSQi8vLy9IMHNOQUJwQnB3RWdCRUgvLy84UFN3MEFHa0c0QVNBRVFmLy8vd2RMRFFBYVFja0JJQVJCLy8vL0Ewc05BQnBCMmdFZ0JFSC8vLzhCU3cwQUdrRUFRZXNCSUFSQmdJQ0FBVWtiQ3lJRlFRUjJJQWRORFFKQkFRd0lDeUFFUVI5MlFld1dhZ3N0QUFBaEJRdEJBU0FGUlEwRkdpQU5JQXBCQW5ScUlBVkJCSFlpQWtFQmFqWUNBQ0FISUFKcklRY2dDQ0FGUVE5eElnSnJJUWdnQkNBQ2RDRUVEQUVMSUEwZ0NrRUNkR3BCQVRZQ0FFRUFJUWNMSUFwQkFXb2lDaUFEUncwQUN5QUJJQWRCQW5ScUlBMUJRR3NnQTBFQ2RHb29BZ0EyQWdBZ0RrRUNheUVDUVFFZ0IzUWhCU0FEUVFGeEJIOGdBU0FOSUFKQkFuUWlBMm9vQWdBZ0Iyb2lCMEVDZEdvZ0RVRkFheUFEYWlnQ0FEWUNBRUVCSUFkMElBVnlJUVVnRGtFRGF3VWdBZ3NoQkNBQ1JRMEJBMEFnQVNBTklBUkJBblFpQTJvb0FnQWdCMm9pQWtFQ2RHb2dEVUZBYXlJTUlBTnFLQUlBTmdJQUlBRWdEU0FFUVFGcklnTkJBblFpQ21vb0FnQWdBbW9pQjBFQ2RHb2dDaUFNYWlnQ0FEWUNBRUVCSUFKMElBVnlRUUVnQjNSeUlRVWdCRUVDYXlFRUlBTU5BQXNNQVFzZ0FTQUhRUUowYWlBTktBSkFOZ0lBUVFFZ0IzUWhCUXNnQUNBQUtBSVFJQWhyUVNCcUlnRTJBaEFnQUNBQlFRZHhOZ0lJUVFFZ0FTQUFLQUlNUVFOMFN3MEFHaUFBSUFBb0FnQWdBVUVEZG1vMkFnUWdCVUVRZENBT1FRUjBjZ3NoQkNBTlFZQUJhaVFBSUFRTGd3UUJBMzhnQWtHQUJFOEVRQ0FBSUFFZ0FoQUJHaUFBRHdzZ0FDQUNhaUVEQWtBZ0FDQUJjMEVEY1VVRVFBSkFJQUJCQTNGRkJFQWdBQ0VDREFFTElBSkJBVWdFUUNBQUlRSU1BUXNnQUNFQ0EwQWdBaUFCTFFBQU9nQUFJQUZCQVdvaEFTQUNRUUZxSWdKQkEzRkZEUUVnQWlBRFNRMEFDd3NDUUNBRFFYeHhJZ1JCd0FCSkRRQWdBaUFFUVVCcUlnVkxEUUFEUUNBQ0lBRW9BZ0EyQWdBZ0FpQUJLQUlFTmdJRUlBSWdBU2dDQ0RZQ0NDQUNJQUVvQWd3MkFnd2dBaUFCS0FJUU5nSVFJQUlnQVNnQ0ZEWUNGQ0FDSUFFb0FoZzJBaGdnQWlBQktBSWNOZ0ljSUFJZ0FTZ0NJRFlDSUNBQ0lBRW9BaVEyQWlRZ0FpQUJLQUlvTmdJb0lBSWdBU2dDTERZQ0xDQUNJQUVvQWpBMkFqQWdBaUFCS0FJME5nSTBJQUlnQVNnQ09EWUNPQ0FDSUFFb0FqdzJBandnQVVGQWF5RUJJQUpCUUdzaUFpQUZUUTBBQ3dzZ0FpQUVUdzBCQTBBZ0FpQUJLQUlBTmdJQUlBRkJCR29oQVNBQ1FRUnFJZ0lnQkVrTkFBc01BUXNnQTBFRVNRUkFJQUFoQWd3QkN5QUFJQU5CQkdzaUJFc0VRQ0FBSVFJTUFRc2dBQ0VDQTBBZ0FpQUJMUUFBT2dBQUlBSWdBUzBBQVRvQUFTQUNJQUV0QUFJNkFBSWdBaUFCTFFBRE9nQURJQUZCQkdvaEFTQUNRUVJxSWdJZ0JFME5BQXNMSUFJZ0Ewa0VRQU5BSUFJZ0FTMEFBRG9BQUNBQlFRRnFJUUVnQWtFQmFpSUNJQU5IRFFBTEN5QUFDNEF2QVF0L0l3QkJFR3NpQ3lRQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQ0FBUWZRQlRRUkFRWWpBQUNnQ0FDSUhRUkFnQUVFTGFrRjRjU0FBUVF0Skd5SUdRUU4ySWdKMklnRkJBM0VFUUNBQlFYOXpRUUZ4SUFKcUlnUkJBM1FpQVVHNHdBQnFLQUlBSWdOQkNHb2hBQUpBSUFNb0FnZ2lBaUFCUWJEQUFHb2lBVVlFUUVHSXdBQWdCMEYrSUFSM2NUWUNBQXdCQ3lBQ0lBRTJBZ3dnQVNBQ05nSUlDeUFESUFSQkEzUWlBVUVEY2pZQ0JDQUJJQU5xSWdFZ0FTZ0NCRUVCY2pZQ0JBd01DeUFHUVpEQUFDZ0NBQ0lLVFEwQklBRUVRQUpBUVFJZ0FuUWlBRUVBSUFCcmNpQUJJQUowY1NJQVFRQWdBR3R4UVFGcklnQWdBRUVNZGtFUWNTSUNkaUlCUVFWMlFRaHhJZ0FnQW5JZ0FTQUFkaUlCUVFKMlFRUnhJZ0J5SUFFZ0FIWWlBVUVCZGtFQ2NTSUFjaUFCSUFCMklnRkJBWFpCQVhFaUFISWdBU0FBZG1vaUJFRURkQ0lBUWJqQUFHb29BZ0FpQXlnQ0NDSUJJQUJCc01BQWFpSUFSZ1JBUVlqQUFDQUhRWDRnQkhkeElnYzJBZ0FNQVFzZ0FTQUFOZ0lNSUFBZ0FUWUNDQXNnQTBFSWFpRUFJQU1nQmtFRGNqWUNCQ0FESUFacUlnSWdCRUVEZENJQklBWnJJZ1JCQVhJMkFnUWdBU0FEYWlBRU5nSUFJQW9FUUNBS1FRTjJJZ0ZCQTNSQnNNQUFhaUVGUVp6QUFDZ0NBQ0VEQW44Z0IwRUJJQUYwSWdGeFJRUkFRWWpBQUNBQklBZHlOZ0lBSUFVTUFRc2dCU2dDQ0FzaEFTQUZJQU0yQWdnZ0FTQUROZ0lNSUFNZ0JUWUNEQ0FESUFFMkFnZ0xRWnpBQUNBQ05nSUFRWkRBQUNBRU5nSUFEQXdMUVl6QUFDZ0NBQ0lKUlEwQklBbEJBQ0FKYTNGQkFXc2lBQ0FBUVF4MlFSQnhJZ0oySWdGQkJYWkJDSEVpQUNBQ2NpQUJJQUIySWdGQkFuWkJCSEVpQUhJZ0FTQUFkaUlCUVFGMlFRSnhJZ0J5SUFFZ0FIWWlBVUVCZGtFQmNTSUFjaUFCSUFCMmFrRUNkRUc0d2dCcUtBSUFJZ0VvQWdSQmVIRWdCbXNoQkNBQklRSURRQUpBSUFJb0FoQWlBRVVFUUNBQ0tBSVVJZ0JGRFFFTElBQW9BZ1JCZUhFZ0Jtc2lBaUFFSUFJZ0JFa2lBaHNoQkNBQUlBRWdBaHNoQVNBQUlRSU1BUXNMSUFFb0FoZ2hDQ0FCSUFFb0Fnd2lBMGNFUUNBQktBSUlJZ0JCbU1BQUtBSUFTUm9nQUNBRE5nSU1JQU1nQURZQ0NBd0xDeUFCUVJScUlnSW9BZ0FpQUVVRVFDQUJLQUlRSWdCRkRRTWdBVUVRYWlFQ0N3TkFJQUloQlNBQUlnTkJGR29pQWlnQ0FDSUFEUUFnQTBFUWFpRUNJQU1vQWhBaUFBMEFDeUFGUVFBMkFnQU1DZ3RCZnlFR0lBQkJ2MzlMRFFBZ0FFRUxhaUlBUVhoeElRWkJqTUFBS0FJQUlnbEZEUUJCQUNBR2F5RUVBa0FDUUFKQUFuOUJBQ0FHUVlBQ1NRMEFHa0VmSUFaQi8vLy9CMHNOQUJvZ0FFRUlkaUlBSUFCQmdQNC9ha0VRZGtFSWNTSUNkQ0lBSUFCQmdPQWZha0VRZGtFRWNTSUJkQ0lBSUFCQmdJQVBha0VRZGtFQ2NTSUFkRUVQZGlBQklBSnlJQUJ5YXlJQVFRRjBJQVlnQUVFVmFuWkJBWEZ5UVJ4cUN5SUhRUUowUWJqQ0FHb29BZ0FpQWtVRVFFRUFJUUFNQVF0QkFDRUFJQVpCQUVFWklBZEJBWFpySUFkQkgwWWJkQ0VCQTBBQ1FDQUNLQUlFUVhoeElBWnJJZ1VnQkU4TkFDQUNJUU1nQlNJRURRQkJBQ0VFSUFJaEFBd0RDeUFBSUFJb0FoUWlCU0FGSUFJZ0FVRWRka0VFY1dvb0FoQWlBa1liSUFBZ0JSc2hBQ0FCUVFGMElRRWdBZzBBQ3dzZ0FDQURja1VFUUVFQUlRTkJBaUFIZENJQVFRQWdBR3R5SUFseElnQkZEUU1nQUVFQUlBQnJjVUVCYXlJQUlBQkJESFpCRUhFaUFuWWlBVUVGZGtFSWNTSUFJQUp5SUFFZ0FIWWlBVUVDZGtFRWNTSUFjaUFCSUFCMklnRkJBWFpCQW5FaUFISWdBU0FBZGlJQlFRRjJRUUZ4SWdCeUlBRWdBSFpxUVFKMFFiakNBR29vQWdBaEFBc2dBRVVOQVFzRFFDQUFLQUlFUVhoeElBWnJJZ0VnQkVraEFpQUJJQVFnQWhzaEJDQUFJQU1nQWhzaEF5QUFLQUlRSWdFRWZ5QUJCU0FBS0FJVUN5SUFEUUFMQ3lBRFJRMEFJQVJCa01BQUtBSUFJQVpyVHcwQUlBTW9BaGdoQnlBRElBTW9BZ3dpQVVjRVFDQURLQUlJSWdCQm1NQUFLQUlBU1JvZ0FDQUJOZ0lNSUFFZ0FEWUNDQXdKQ3lBRFFSUnFJZ0lvQWdBaUFFVUVRQ0FES0FJUUlnQkZEUU1nQTBFUWFpRUNDd05BSUFJaEJTQUFJZ0ZCRkdvaUFpZ0NBQ0lBRFFBZ0FVRVFhaUVDSUFFb0FoQWlBQTBBQ3lBRlFRQTJBZ0FNQ0FzZ0JrR1F3QUFvQWdBaUFrMEVRRUdjd0FBb0FnQWhCQUpBSUFJZ0Jtc2lBVUVRVHdSQVFaREFBQ0FCTmdJQVFaekFBQ0FFSUFacUlnQTJBZ0FnQUNBQlFRRnlOZ0lFSUFJZ0JHb2dBVFlDQUNBRUlBWkJBM0kyQWdRTUFRdEJuTUFBUVFBMkFnQkJrTUFBUVFBMkFnQWdCQ0FDUVFOeU5nSUVJQUlnQkdvaUFDQUFLQUlFUVFGeU5nSUVDeUFFUVFocUlRQU1DZ3NnQmtHVXdBQW9BZ0FpQ0VrRVFFR1V3QUFnQ0NBR2F5SUJOZ0lBUWFEQUFFR2d3QUFvQWdBaUFpQUdhaUlBTmdJQUlBQWdBVUVCY2pZQ0JDQUNJQVpCQTNJMkFnUWdBa0VJYWlFQURBb0xRUUFoQUNBR1FTOXFJZ2tDZjBIZ3d3QW9BZ0FFUUVIb3d3QW9BZ0FNQVF0QjdNTUFRbjgzQWdCQjVNTUFRb0NnZ0lDQWdBUTNBZ0JCNE1NQUlBdEJER3BCY0hGQjJLclZxZ1Z6TmdJQVFmVERBRUVBTmdJQVFjVERBRUVBTmdJQVFZQWdDeUlCYWlJSFFRQWdBV3NpQlhFaUFpQUdUUTBKUWNEREFDZ0NBQ0lEQkVCQnVNTUFLQUlBSWdRZ0Ftb2lBU0FFVFEwS0lBRWdBMHNOQ2d0QnhNTUFMUUFBUVFSeERRUUNRQUpBUWFEQUFDZ0NBQ0lFQkVCQnlNTUFJUUFEUUNBRUlBQW9BZ0FpQVU4RVFDQUJJQUFvQWdScUlBUkxEUU1MSUFBb0FnZ2lBQTBBQ3d0QkFCQU9JZ0ZCZjBZTkJTQUNJUWRCNU1NQUtBSUFJZ1JCQVdzaUFDQUJjUVJBSUFJZ0FXc2dBQ0FCYWtFQUlBUnJjV29oQndzZ0JpQUhUdzBGSUFkQi92Ly8vd2RMRFFWQndNTUFLQUlBSWdNRVFFRzR3d0FvQWdBaUJDQUhhaUlBSUFSTkRRWWdBQ0FEU3cwR0N5QUhFQTRpQUNBQlJ3MEJEQWNMSUFjZ0NHc2dCWEVpQjBIKy8vLy9CMHNOQkNBSEVBNGlBU0FBS0FJQUlBQW9BZ1JxUmcwRElBRWhBQXNDUUNBQVFYOUdEUUFnQmtFd2FpQUhUUTBBUWVqREFDZ0NBQ0lCSUFrZ0IydHFRUUFnQVd0eElnRkIvdi8vL3dkTEJFQWdBQ0VCREFjTElBRVFEa0YvUndSQUlBRWdCMm9oQnlBQUlRRU1Cd3RCQUNBSGF4QU9HZ3dFQ3lBQUlnRkJmMGNOQlF3REMwRUFJUU1NQnd0QkFDRUJEQVVMSUFGQmYwY05BZ3RCeE1NQVFjVERBQ2dDQUVFRWNqWUNBQXNnQWtIKy8vLy9CMHNOQVVHQXdBQW9BZ0FpQVNBQ1FRTnFRWHh4SWdKcUlRQUNRQUpBQW44Q1FDQUNSUTBBSUFBZ0FVc05BQ0FCREFFTElBQS9BRUVRZEUwTkFTQUFFQUFOQVVHQXdBQW9BZ0FMSVFCQmhNQUFRVEEyQWdCQmZ5RUJEQUVMUVlEQUFDQUFOZ0lBQ3lBQVB3QkJFSFJMQkVBZ0FCQUFSUTBDQzBHQXdBQWdBRFlDQUNBQlFYOUdEUUVnQUVGL1JnMEJJQUFnQVUwTkFTQUFJQUZySWdjZ0JrRW9hazBOQVF0QnVNTUFRYmpEQUNnQ0FDQUhhaUlBTmdJQVFiekRBQ2dDQUNBQVNRUkFRYnpEQUNBQU5nSUFDd0pBQWtBQ1FFR2d3QUFvQWdBaUJRUkFRY2pEQUNFQUEwQWdBU0FBS0FJQUlnUWdBQ2dDQkNJQ2FrWU5BaUFBS0FJSUlnQU5BQXNNQWd0Qm1NQUFLQUlBSWdCQkFDQUFJQUZORzBVRVFFR1l3QUFnQVRZQ0FBdEJBQ0VBUWN6REFDQUhOZ0lBUWNqREFDQUJOZ0lBUWFqQUFFRi9OZ0lBUWF6QUFFSGd3d0FvQWdBMkFnQkIxTU1BUVFBMkFnQURRQ0FBUVFOMElnUkJ1TUFBYWlBRVFiREFBR29pQWpZQ0FDQUVRYnpBQUdvZ0FqWUNBQ0FBUVFGcUlnQkJJRWNOQUF0QmxNQUFJQWRCS0dzaUJFRjRJQUZyUVFkeFFRQWdBVUVJYWtFSGNSc2lBR3NpQWpZQ0FFR2d3QUFnQUNBQmFpSUFOZ0lBSUFBZ0FrRUJjallDQkNBQklBUnFRU2cyQWdSQnBNQUFRZkREQUNnQ0FEWUNBQXdDQ3lBQUxRQU1RUWh4RFFBZ0JDQUZTdzBBSUFFZ0JVME5BQ0FBSUFJZ0IybzJBZ1JCb01BQUlBVkJlQ0FGYTBFSGNVRUFJQVZCQ0dwQkIzRWJJZ0JxSWdJMkFnQkJsTUFBUVpUQUFDZ0NBQ0FIYWlJQklBQnJJZ0EyQWdBZ0FpQUFRUUZ5TmdJRUlBRWdCV3BCS0RZQ0JFR2t3QUJCOE1NQUtBSUFOZ0lBREFFTFFaakFBQ2dDQUNBQlN3UkFRWmpBQUNBQk5nSUFDeUFCSUFkcUlRUkJ5TU1BSVFJQ1FBTkFJQVFnQWlnQ0FFY0VRRUhJd3dBaEFDQUNLQUlJSWdJTkFRd0NDd3RCeU1NQUlRQWdBaTBBREVFSWNRMEFJQUlnQVRZQ0FDQUNJQUlvQWdRZ0IybzJBZ1FnQVVGNElBRnJRUWR4UVFBZ0FVRUlha0VIY1J0cUlna2dCa0VEY2pZQ0JDQUVRWGdnQkd0QkIzRkJBQ0FFUVFocVFRZHhHMm9pQXlBR0lBbHFJZ2hySVFJQ1FDQURJQVZHQkVCQm9NQUFJQWcyQWdCQmxNQUFRWlRBQUNnQ0FDQUNhaUlBTmdJQUlBZ2dBRUVCY2pZQ0JBd0JDeUFEUVp6QUFDZ0NBRVlFUUVHY3dBQWdDRFlDQUVHUXdBQkJrTUFBS0FJQUlBSnFJZ0EyQWdBZ0NDQUFRUUZ5TmdJRUlBQWdDR29nQURZQ0FBd0JDeUFES0FJRUlnQkJBM0ZCQVVZRVFDQUFRWGh4SVFjQ1FDQUFRZjhCVFFSQUlBTW9BZ2dpQkNBQVFRTjJJZ0JCQTNSQnNNQUFha1lhSUFRZ0F5Z0NEQ0lCUmdSQVFZakFBRUdJd0FBb0FnQkJmaUFBZDNFMkFnQU1BZ3NnQkNBQk5nSU1JQUVnQkRZQ0NBd0JDeUFES0FJWUlRWUNRQ0FESUFNb0Fnd2lBVWNFUUNBREtBSUlJZ0FnQVRZQ0RDQUJJQUEyQWdnTUFRc0NRQ0FEUVJScUlnQW9BZ0FpQkEwQUlBTkJFR29pQUNnQ0FDSUVEUUJCQUNFQkRBRUxBMEFnQUNFRklBUWlBVUVVYWlJQUtBSUFJZ1FOQUNBQlFSQnFJUUFnQVNnQ0VDSUVEUUFMSUFWQkFEWUNBQXNnQmtVTkFBSkFJQU1nQXlnQ0hDSUVRUUowUWJqQ0FHb2lBQ2dDQUVZRVFDQUFJQUUyQWdBZ0FRMEJRWXpBQUVHTXdBQW9BZ0JCZmlBRWQzRTJBZ0FNQWdzZ0JrRVFRUlFnQmlnQ0VDQURSaHRxSUFFMkFnQWdBVVVOQVFzZ0FTQUdOZ0lZSUFNb0FoQWlBQVJBSUFFZ0FEWUNFQ0FBSUFFMkFoZ0xJQU1vQWhRaUFFVU5BQ0FCSUFBMkFoUWdBQ0FCTmdJWUN5QURJQWRxSVFNZ0FpQUhhaUVDQ3lBRElBTW9BZ1JCZm5FMkFnUWdDQ0FDUVFGeU5nSUVJQUlnQ0dvZ0FqWUNBQ0FDUWY4QlRRUkFJQUpCQTNZaUFFRURkRUd3d0FCcUlRSUNmMEdJd0FBb0FnQWlBVUVCSUFCMElnQnhSUVJBUVlqQUFDQUFJQUZ5TmdJQUlBSU1BUXNnQWlnQ0NBc2hBQ0FDSUFnMkFnZ2dBQ0FJTmdJTUlBZ2dBallDRENBSUlBQTJBZ2dNQVF0Qkh5RUFJQUpCLy8vL0IwMEVRQ0FDUVFoMklnQWdBRUdBL2o5cVFSQjJRUWh4SWdSMElnQWdBRUdBNEI5cVFSQjJRUVJ4SWdGMElnQWdBRUdBZ0E5cVFSQjJRUUp4SWdCMFFROTJJQUVnQkhJZ0FISnJJZ0JCQVhRZ0FpQUFRUlZxZGtFQmNYSkJIR29oQUFzZ0NDQUFOZ0ljSUFoQ0FEY0NFQ0FBUVFKMFFiakNBR29oQXdKQUFrQkJqTUFBS0FJQUlnUkJBU0FBZENJQmNVVUVRRUdNd0FBZ0FTQUVjallDQUNBRElBZzJBZ0FnQ0NBRE5nSVlEQUVMSUFKQkFFRVpJQUJCQVhacklBQkJIMFliZENFQUlBTW9BZ0FoQVFOQUlBRWlCQ2dDQkVGNGNTQUNSZzBDSUFCQkhYWWhBU0FBUVFGMElRQWdCQ0FCUVFSeGFpSURLQUlRSWdFTkFBc2dBeUFJTmdJUUlBZ2dCRFlDR0FzZ0NDQUlOZ0lNSUFnZ0NEWUNDQXdCQ3lBRUtBSUlJZ0FnQ0RZQ0RDQUVJQWcyQWdnZ0NFRUFOZ0lZSUFnZ0JEWUNEQ0FJSUFBMkFnZ0xJQWxCQ0dvaEFBd0ZDd05BQWtBZ0JTQUFLQUlBSWdKUEJFQWdBaUFBS0FJRWFpSURJQVZMRFFFTElBQW9BZ2doQUF3QkN3dEJsTUFBSUFkQktHc2lCRUY0SUFGclFRZHhRUUFnQVVFSWFrRUhjUnNpQUdzaUFqWUNBRUdnd0FBZ0FDQUJhaUlBTmdJQUlBQWdBa0VCY2pZQ0JDQUJJQVJxUVNnMkFnUkJwTUFBUWZEREFDZ0NBRFlDQUNBRklBTkJKeUFEYTBFSGNVRUFJQU5CSjJ0QkIzRWJha0V2YXlJQUlBQWdCVUVRYWtrYklnSkJHellDQkNBQ1FkRERBQ2tDQURjQ0VDQUNRY2pEQUNrQ0FEY0NDRUhRd3dBZ0FrRUlhallDQUVITXd3QWdCellDQUVISXd3QWdBVFlDQUVIVXd3QkJBRFlDQUNBQ1FSaHFJUUFEUUNBQVFRYzJBZ1FnQUVFSWFpRUJJQUJCQkdvaEFDQUJJQU5KRFFBTElBSWdCVVlOQUNBQ0lBSW9BZ1JCZm5FMkFnUWdCU0FDSUFWcklnTkJBWEkyQWdRZ0FpQUROZ0lBSUFOQi93Rk5CRUFnQTBFRGRpSUFRUU4wUWJEQUFHb2hBZ0ovUVlqQUFDZ0NBQ0lCUVFFZ0FIUWlBSEZGQkVCQmlNQUFJQUFnQVhJMkFnQWdBZ3dCQ3lBQ0tBSUlDeUVBSUFJZ0JUWUNDQ0FBSUFVMkFnd2dCU0FDTmdJTUlBVWdBRFlDQ0F3QkMwRWZJUUFnQlVJQU53SVFJQU5CLy8vL0IwMEVRQ0FEUVFoMklnQWdBRUdBL2o5cVFSQjJRUWh4SWdKMElnQWdBRUdBNEI5cVFSQjJRUVJ4SWdGMElnQWdBRUdBZ0E5cVFSQjJRUUp4SWdCMFFROTJJQUVnQW5JZ0FISnJJZ0JCQVhRZ0F5QUFRUlZxZGtFQmNYSkJIR29oQUFzZ0JTQUFOZ0ljSUFCQkFuUkJ1TUlBYWlFRUFrQUNRRUdNd0FBb0FnQWlBa0VCSUFCMElnRnhSUVJBUVl6QUFDQUJJQUp5TmdJQUlBUWdCVFlDQUNBRklBUTJBaGdNQVFzZ0EwRUFRUmtnQUVFQmRtc2dBRUVmUmh0MElRQWdCQ2dDQUNFQkEwQWdBU0lDS0FJRVFYaHhJQU5HRFFJZ0FFRWRkaUVCSUFCQkFYUWhBQ0FDSUFGQkJIRnFJZ1FvQWhBaUFRMEFDeUFFSUFVMkFoQWdCU0FDTmdJWUN5QUZJQVUyQWd3Z0JTQUZOZ0lJREFFTElBSW9BZ2dpQUNBRk5nSU1JQUlnQlRZQ0NDQUZRUUEyQWhnZ0JTQUNOZ0lNSUFVZ0FEWUNDQXRCbE1BQUtBSUFJZ0FnQmswTkFFR1V3QUFnQUNBR2F5SUJOZ0lBUWFEQUFFR2d3QUFvQWdBaUFpQUdhaUlBTmdJQUlBQWdBVUVCY2pZQ0JDQUNJQVpCQTNJMkFnUWdBa0VJYWlFQURBTUxRUUFoQUVHRXdBQkJNRFlDQUF3Q0N3SkFJQWRGRFFBQ1FDQURLQUljSWdKQkFuUkJ1TUlBYWlJQUtBSUFJQU5HQkVBZ0FDQUJOZ0lBSUFFTkFVR013QUFnQ1VGK0lBSjNjU0lKTmdJQURBSUxJQWRCRUVFVUlBY29BaEFnQTBZYmFpQUJOZ0lBSUFGRkRRRUxJQUVnQnpZQ0dDQURLQUlRSWdBRVFDQUJJQUEyQWhBZ0FDQUJOZ0lZQ3lBREtBSVVJZ0JGRFFBZ0FTQUFOZ0lVSUFBZ0FUWUNHQXNDUUNBRVFROU5CRUFnQXlBRUlBWnFJZ0JCQTNJMkFnUWdBQ0FEYWlJQUlBQW9BZ1JCQVhJMkFnUU1BUXNnQXlBR1FRTnlOZ0lFSUFNZ0Jtb2lCU0FFUVFGeU5nSUVJQVFnQldvZ0JEWUNBQ0FFUWY4QlRRUkFJQVJCQTNZaUFFRURkRUd3d0FCcUlRSUNmMEdJd0FBb0FnQWlBVUVCSUFCMElnQnhSUVJBUVlqQUFDQUFJQUZ5TmdJQUlBSU1BUXNnQWlnQ0NBc2hBQ0FDSUFVMkFnZ2dBQ0FGTmdJTUlBVWdBallDRENBRklBQTJBZ2dNQVF0Qkh5RUFJQVJCLy8vL0IwMEVRQ0FFUVFoMklnQWdBRUdBL2o5cVFSQjJRUWh4SWdKMElnQWdBRUdBNEI5cVFSQjJRUVJ4SWdGMElnQWdBRUdBZ0E5cVFSQjJRUUp4SWdCMFFROTJJQUVnQW5JZ0FISnJJZ0JCQVhRZ0JDQUFRUlZxZGtFQmNYSkJIR29oQUFzZ0JTQUFOZ0ljSUFWQ0FEY0NFQ0FBUVFKMFFiakNBR29oQVFKQUFrQWdDVUVCSUFCMElnSnhSUVJBUVl6QUFDQUNJQWx5TmdJQUlBRWdCVFlDQUF3QkN5QUVRUUJCR1NBQVFRRjJheUFBUVI5R0czUWhBQ0FCS0FJQUlRWURRQ0FHSWdFb0FnUkJlSEVnQkVZTkFpQUFRUjEySVFJZ0FFRUJkQ0VBSUFFZ0FrRUVjV29pQWlnQ0VDSUdEUUFMSUFJZ0JUWUNFQXNnQlNBQk5nSVlJQVVnQlRZQ0RDQUZJQVUyQWdnTUFRc2dBU2dDQ0NJQUlBVTJBZ3dnQVNBRk5nSUlJQVZCQURZQ0dDQUZJQUUyQWd3Z0JTQUFOZ0lJQ3lBRFFRaHFJUUFNQVFzQ1FDQUlSUTBBQWtBZ0FTZ0NIQ0lDUVFKMFFiakNBR29pQUNnQ0FDQUJSZ1JBSUFBZ0F6WUNBQ0FERFFGQmpNQUFJQWxCZmlBQ2QzRTJBZ0FNQWdzZ0NFRVFRUlFnQ0NnQ0VDQUJSaHRxSUFNMkFnQWdBMFVOQVFzZ0F5QUlOZ0lZSUFFb0FoQWlBQVJBSUFNZ0FEWUNFQ0FBSUFNMkFoZ0xJQUVvQWhRaUFFVU5BQ0FESUFBMkFoUWdBQ0FETmdJWUN3SkFJQVJCRDAwRVFDQUJJQVFnQm1vaUFFRURjallDQkNBQUlBRnFJZ0FnQUNnQ0JFRUJjallDQkF3QkN5QUJJQVpCQTNJMkFnUWdBU0FHYWlJQ0lBUkJBWEkyQWdRZ0FpQUVhaUFFTmdJQUlBb0VRQ0FLUVFOMklnQkJBM1JCc01BQWFpRUZRWnpBQUNnQ0FDRURBbjlCQVNBQWRDSUFJQWR4UlFSQVFZakFBQ0FBSUFkeU5nSUFJQVVNQVFzZ0JTZ0NDQXNoQUNBRklBTTJBZ2dnQUNBRE5nSU1JQU1nQlRZQ0RDQURJQUEyQWdnTFFaekFBQ0FDTmdJQVFaREFBQ0FFTmdJQUN5QUJRUWhxSVFBTElBdEJFR29rQUNBQUMrNFdBUkIvSUFBZ0JFRUFJQVpySUFJZ0FpQUdha0VBU0JzaUFpQUNJQVJLR3lJT1FRQWdEa0VBU2hzaUZHb2dCVUVBSUFkcklBTWdBeUFIYWtFQVNCc2lBQ0FBSUFWS0d5SURJQVJzUVFBZ0EwRUFTaHRxSVFrZ0IwRUFJQU5ySUFOQkgzVnhJZ29nQXlBSGFpSVZJQVZySWhKQkFDQUZJQlZJR3lJWGFtc2hEeUFHUVFBZ0Rtc2dEa0VmZFhFaUN5QUdJQTVxSWhNZ0JHdEJBQ0FFSUJOSUlnQWJJZzFxYXlFTUFrQWdEa0VBU0NBQWNpSVlSUVJBQWtBZ0NrVU5BQ0FLUVFOeElnSUVRQU5BSUFwQkFXc2hDaUFCSUFrZ0RCQUhJQWhxSVFFZ0FrRUJheUlDRFFBTEN5QURRWDl6SUFOQkFDQURRUUJLRzJwQkEwa05BQU5BSUFFZ0NTQU1FQWNnQ0dvZ0NTQU1FQWNnQ0dvZ0NTQU1FQWNnQ0dvZ0NTQU1FQWNnQ0dvaEFTQUtRUVJySWdvTkFBc0xJQTlGRFFFZ0QwRURjU0lDQkVBRFFDQVBRUUZySVE4Z0FTQUpJQXdRQnlBSWFpRUJJQVFnQ1dvaENTQUNRUUZySWdJTkFBc0xJQVVnQjJvZ0Eyb2dCU0FWSUFVZ0ZVb2JRWDl6YWlBRFFRQWdBMEVBU2h0clFRTkpEUUVEUUNBQklBa2dEQkFISUFocUlBUWdDV29pQUNBTUVBY2dDR29nQUNBRWFpSUFJQXdRQnlBSWFpQUFJQVJxSWdBZ0RCQUhJQWhxSVFFZ0FDQUVhaUVKSUE5QkJHc2lEdzBBQ3d3QkN3SkFJQXBGRFFBQ1FDQU1SUVJBSUFsQkFXc2hBaUFMUlFSQUlBMUZEUUlnQTBGL2N5QURRUUFnQTBFQVNodHFJUUFnQ2tFRGNTSURCRUFEUUNBS1FRRnJJUW9nQVNBQ0xRQUFJQTBRQXlBSWFpRUJJQU5CQVdzaUF3MEFDd3NnQUVFRFNRMERJQXBCQkdzaUFFRUVjVVVFUUNBQUlRb2dBU0FDTFFBQUlBMFFBeUFJYWlBQ0xRQUFJQTBRQXlBSWFpQUNMUUFBSUEwUUF5QUlhaUFDTFFBQUlBMFFBeUFJYWlFQkN5QUFRUVJKRFFNRFFDQUJJQUl0QUFBZ0RSQURJQWhxSUFJdEFBQWdEUkFESUFocUlBSXRBQUFnRFJBRElBaHFJQUl0QUFBZ0RSQURJQWhxSUFJdEFBQWdEUkFESUFocUlBSXRBQUFnRFJBRElBaHFJQUl0QUFBZ0RSQURJQWhxSUFJdEFBQWdEUkFESUFocUlRRWdDa0VJYXlJS0RRQUxEQU1MSUFOQmYzTWdBMEVBSUFOQkFFb2JhaUVBSUFwQkEzRWhBeUFOQkVBZ0F3UkFBMEFnQVNBSkxRQUFJQXNRQXlJQklBdHFJQUl0QUFBZ0RSQURHaUFLUVFGcklRb2dBU0FJYWlFQklBTkJBV3NpQXcwQUN3c2dBRUVEU1EwREEwQWdBU0FKTFFBQUlBc1FBeUlBSUF0cUlBSXRBQUFnRFJBREdpQUFJQWhxSUFrdEFBQWdDeEFESWdBZ0Myb2dBaTBBQUNBTkVBTWFJQUFnQ0dvZ0NTMEFBQ0FMRUFNaUFDQUxhaUFDTFFBQUlBMFFBeG9nQUNBSWFpQUpMUUFBSUFzUUF5SUFJQXRxSUFJdEFBQWdEUkFER2lBQUlBaHFJUUVnQ2tFRWF5SUtEUUFMREFNTElBTUVRQU5BSUFwQkFXc2hDaUFCSUFrdEFBQWdDeEFESUFocUlRRWdBMEVCYXlJRERRQUxDeUFBUVFOSkRRSWdDa0VFYXlJQVFRUnhSUVJBSUFBaENpQUJJQWt0QUFBZ0N4QURJQWhxSUFrdEFBQWdDeEFESUFocUlBa3RBQUFnQ3hBRElBaHFJQWt0QUFBZ0N4QURJQWhxSVFFTElBQkJCRWtOQWdOQUlBRWdDUzBBQUNBTEVBTWdDR29nQ1MwQUFDQUxFQU1nQ0dvZ0NTMEFBQ0FMRUFNZ0NHb2dDUzBBQUNBTEVBTWdDR29nQ1MwQUFDQUxFQU1nQ0dvZ0NTMEFBQ0FMRUFNZ0NHb2dDUzBBQUNBTEVBTWdDR29nQ1MwQUFDQUxFQU1nQ0dvaEFTQUtRUWhySWdvTkFBc01BZ3NnQkNBR2FpQU9haUFFSUJNZ0JDQVRTaHRCZjNOcUlRQWdDMFVFUUNBTVFRZHhJUkFnQUNBVWF5RUFJQTFGQkVBZ0FFRUhTU0VSQTBBZ0RDRUhJQUVoQWlBSklRTWdFQ0lBQkVBRFFDQUNJQU10QUFBNkFBQWdCMEVCYXlFSElBSkJBV29oQWlBRFFRRnFJUU1nQUVFQmF5SUFEUUFMQ3lBUlJRUkFBMEFnQWlBRExRQUFPZ0FBSUFJZ0F5MEFBVG9BQVNBQ0lBTXRBQUk2QUFJZ0FpQURMUUFET2dBRElBSWdBeTBBQkRvQUJDQUNJQU10QUFVNkFBVWdBaUFETFFBR09nQUdJQUlnQXkwQUJ6b0FCeUFDUVFocUlRSWdBMEVJYWlFRElBZEJDR3NpQncwQUN3c2dBU0FJYWlFQklBcEJBV3NpQ2cwQUN3d0RDeUFBUVFkSklSWURRQ0FNSVFjZ0FTRUNJQWtoQUNBUUlSRWdFQVJBQTBBZ0FpQUFJZ010QUFBNkFBQWdCMEVCYXlFSElBSkJBV29oQWlBRFFRRnFJUUFnRVVFQmF5SVJEUUFMQ3lBV1JRUkFBMEFnQWlBQUlnTXRBQUE2QUFBZ0FpQURMUUFCT2dBQklBSWdBeTBBQWpvQUFpQUNJQU10QUFNNkFBTWdBaUFETFFBRU9nQUVJQUlnQXkwQUJUb0FCU0FDSUFNdEFBWTZBQVlnQWlBRExRQUhPZ0FISUFKQkNHb2hBaUFEUVFocUlRQWdCMEVJYXlJSERRQUxJQU5CQjJvaEF3c2dBaUFETFFBQUlBMFFBeG9nQVNBSWFpRUJJQXBCQVdzaUNnMEFDd3dDQ3lBTkJFQWdERUVIY1NFUUlBQWdEa0VBSUE1QkFFb2JhMEVIU1NFUkEwQWdBU0FKTFFBQUlBc1FBeUlXSUF0cUlRSWdEQ0VISUFraEFDQVFJZ0VFUUFOQUlBSWdBQ0lETFFBQU9nQUFJQWRCQVdzaEJ5QUNRUUZxSVFJZ0EwRUJhaUVBSUFGQkFXc2lBUTBBQ3dzZ0VVVUVRQU5BSUFJZ0FDSUJMUUFBT2dBQUlBSWdBUzBBQVRvQUFTQUNJQUV0QUFJNkFBSWdBaUFCTFFBRE9nQURJQUlnQVMwQUJEb0FCQ0FDSUFFdEFBVTZBQVVnQWlBQkxRQUdPZ0FHSUFJZ0FTMEFCem9BQnlBQ1FRaHFJUUlnQVVFSWFpRUFJQWRCQ0dzaUJ3MEFDeUFCUVFkcUlRTUxJQUlnQXkwQUFDQU5FQU1hSUFnZ0Ztb2hBU0FLUVFGcklnb05BQXNNQWdzZ0RFRUhjU0VRSUFBZ0ZHdEJCMGtoRVFOQUlBRWdDUzBBQUNBTEVBTWlBU0FMYWlFQ0lBd2hCeUFKSVFNZ0VDSUFCRUFEUUNBQ0lBTXRBQUE2QUFBZ0IwRUJheUVISUFKQkFXb2hBaUFEUVFGcUlRTWdBRUVCYXlJQURRQUxDeUFSUlFSQUEwQWdBaUFETFFBQU9nQUFJQUlnQXkwQUFUb0FBU0FDSUFNdEFBSTZBQUlnQWlBRExRQURPZ0FESUFJZ0F5MEFCRG9BQkNBQ0lBTXRBQVU2QUFVZ0FpQURMUUFHT2dBR0lBSWdBeTBBQnpvQUJ5QUNRUWhxSVFJZ0EwRUlhaUVESUFkQkNHc2lCdzBBQ3dzZ0FTQUlhaUVCSUFwQkFXc2lDZzBBQ3d3QkN5QUJJQWdnQ214cUlRRUxJQTlGRFFBZ0RFRUhjU0VLSUFRZ0Jtb2dEbW9nQkNBVElBUWdFMG9iUVg5emFpQVVhMEVIU1NFUUEwQWdBU0VDSUFzRVFDQUJJQWt0QUFBZ0N4QURJQXRxSVFJTEFrQWdERVVFUUNBSklRTU1BUXNnRENFSElBa2hBeUFLSWdBRVFBTkFJQUlnQXkwQUFEb0FBQ0FIUVFGcklRY2dBa0VCYWlFQ0lBTkJBV29oQXlBQVFRRnJJZ0FOQUFzTElCQU5BQU5BSUFJZ0F5MEFBRG9BQUNBQ0lBTXRBQUU2QUFFZ0FpQURMUUFDT2dBQ0lBSWdBeTBBQXpvQUF5QUNJQU10QUFRNkFBUWdBaUFETFFBRk9nQUZJQUlnQXkwQUJqb0FCaUFDSUFNdEFBYzZBQWNnQWtFSWFpRUNJQU5CQ0dvaEF5QUhRUWhySWdjTkFBc0xJQTBFUUNBQ0lBTkJBV3N0QUFBZ0RSQURHZ3NnQVNBSWFpRUJJQVFnQ1dvaENTQVBRUUZySWc4TkFBc0xBa0FnRjBVTkFDQUpJQVJySVFrZ0dFVUVRQ0FTUVFOeElnSUVRQU5BSUJKQkFXc2hFaUFCSUFrZ0RCQUhJQWhxSVFFZ0FrRUJheUlDRFFBTEN5QVZJQVZCZjNOcVFRTkpEUUVEUUNBQklBa2dEQkFISUFocUlBa2dEQkFISUFocUlBa2dEQkFISUFocUlBa2dEQkFISUFocUlRRWdFa0VFYXlJU0RRQUxEQUVMSUF4QkIzRWhCU0FFSUFacUlBNXFJQVFnRXlBRUlCTktHMEYvYzJvZ0ZHdEJCMGtoQkFOQUlBRWhBaUFMQkVBZ0FTQUpMUUFBSUFzUUF5QUxhaUVDQ3dKQUlBeEZCRUFnQ1NFRERBRUxJQXdoQnlBSklRTWdCU0lBQkVBRFFDQUNJQU10QUFBNkFBQWdCMEVCYXlFSElBSkJBV29oQWlBRFFRRnFJUU1nQUVFQmF5SUFEUUFMQ3lBRURRQURRQ0FDSUFNdEFBQTZBQUFnQWlBRExRQUJPZ0FCSUFJZ0F5MEFBam9BQWlBQ0lBTXRBQU02QUFNZ0FpQURMUUFFT2dBRUlBSWdBeTBBQlRvQUJTQUNJQU10QUFZNkFBWWdBaUFETFFBSE9nQUhJQUpCQ0dvaEFpQURRUWhxSVFNZ0IwRUlheUlIRFFBTEN5QU5CRUFnQWlBRFFRRnJMUUFBSUEwUUF4b0xJQUVnQ0dvaEFTQVNRUUZySWhJTkFBc0xDOEFDQVFOL1Fjei9zd1lnQVhaQkFYRWhCQ0FCUVFOMElnTkI1Q3hxTFFBQUlRVWdBMEdrSzJvdEFBQWhBd0pBUWZyMXF3VWdBWFpCQVhFRVFDQUNJQU5CQVhScUxnRUFJUUVnQkFSQUlBRWdBaUFGUVFGMGFpNEJBR3BCQVdwQkFYVVBDeUFBS0FMTUFTSUNSUTBCSUFBb0FnUWdBaWdDQkVjTkFTQUJJQUlnQlVFQmRHb3VBUnhxUVFGcVFRRjFEd3NnQkFSQUlBSWdCVUVCZEdvdUFRQWhBU0FBS0FMSUFTSUNSUTBCSUFBb0FnUWdBaWdDQkVjTkFTQUJJQUlnQTBFQmRHb3VBUnhxUVFGcVFRRjFEd3RCQUNFQlFRRWhBZ0pBSUFBb0FzZ0JJZ1JGRFFBZ0FDZ0NCQ0FFS0FJRVJ3MEFJQVFnQTBFQmRHb3VBUndoQVVFQUlRSUxJQUFvQXN3QklnTkZEUUFnQUNnQ0JDQURLQUlFUncwQUlBTWdCVUVCZEdvdUFSd2hBQ0FDQkVBZ0FBOExJQUFnQVdwQkFXcEJBWFVoQVFzZ0FRdnlBd0VEZnlBQktBSUFJZ05CLy8vL0IwY0VRQ0FCS0FJRUlRUWdBQ0FDSUFKQkEzRWdBa0VRU1NJQ0cwRUNkQ0lGUWZBcGFpZ0NBRUVRUVFnZ0Foc2lBbXhxSUFWQnNDbHFLQUlBYWlJQUlBTWdBQzBBQUdwQndEVnFMUUFBT2dBQUlBRW9BZ2doQXlBQUlBUWdBQzBBQVdwQndEVnFMUUFBT2dBQklBRW9BZ3doQkNBQUlBTWdBQzBBQW1wQndEVnFMUUFBT2dBQ0lBQWdCQ0FBTFFBRGFrSEFOV290QUFBNkFBTWdBU2dDRkNFRElBQWdBbW9pQUNBQktBSVFJQUF0QUFCcVFjQTFhaTBBQURvQUFDQUJLQUlZSVFRZ0FDQURJQUF0QUFGcVFjQTFhaTBBQURvQUFTQUJLQUljSVFNZ0FDQUVJQUF0QUFKcVFjQTFhaTBBQURvQUFpQUFJQU1nQUMwQUEycEJ3RFZxTFFBQU9nQURJQUVvQWlRaEF5QUFJQUpxSWdBZ0FTZ0NJQ0FBTFFBQWFrSEFOV290QUFBNkFBQWdBU2dDS0NFRUlBQWdBeUFBTFFBQmFrSEFOV290QUFBNkFBRWdBU2dDTENFRElBQWdCQ0FBTFFBQ2FrSEFOV290QUFBNkFBSWdBQ0FESUFBdEFBTnFRY0ExYWkwQUFEb0FBeUFCS0FJMElRTWdBQ0FDYWlJQUlBRW9BakFnQUMwQUFHcEJ3RFZxTFFBQU9nQUFJQUVvQWpnaEFpQUFJQU1nQUMwQUFXcEJ3RFZxTFFBQU9nQUJJQUVvQWp3aEFTQUFJQUlnQUMwQUFtcEJ3RFZxTFFBQU9nQUNJQUFnQVNBQUxRQURha0hBTldvdEFBQTZBQU1MQzVja0FSUi9Jd0JCZ0E1ckloVWtBQ0FESUFWcUloa2dBUzRCQUNJT1FRSjFhaUVESUFRZ0Jtb2lHeUFCTGdFQ0lndEJBblZxSVFrZ0FpZ0NDRUVFZENFTUlBSW9BZ1JCQkhRaERTQUFJQVpCQkhScUlBVnFJUVFDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFJQTVCQTNGQkJIUWdDMEVEY1VFQ2RISkJ3RHRxS0FJQURnOEFBUUlEQkFVR0J3Z0pDZ3NNRFE0UEN5QUNLQUlBSUFRZ0F5QUpJQTBnRENBSElBaEJFQkFKREE4TElBSW9BZ0FnQkNBRElBbEJBbXNnRFNBTUlBY2dDRUVBRUJvTURnc2dDVUVDYXlFS1FRQWhEaUFDS0FJQUlRc0NRQUpBSUFOQkFFZ05BQ0FESUFkcUlBMUxEUUFnQ1VFQ1NBMEFJQWdnQ21wQkJXb2dERXNOQUNBS0lRNE1BUXNnQ3lBVklBTWdDaUFOSUF3Z0J5QUlRUVZxSUFjUUNTQVZJUXNnQnlFTlFRQWhBd3NnQ3lBTklBNXNJQU5xYWlBTmFpSUpJQTFCQld4cUlRTWdDRUVDZGlFUlFjQUFJQWRySVJRZ0RVRUJkQ0VNSUExQkFuUWdCMnNoRDBFQUlBMXJJaEJCQVhRaEdBTkFJQWNoRXdOQUlBUWdDU0FNYWkwQUFDSU9JQU1nREdvdEFBQWdBeUFOYWkwQUFDSVdJQU1nR0dvdEFBQWlDMm9pQ21zZ0NrRUNkR3RxSUFNdEFBQWlFaUFESUJCcUxRQUFJZ3BxUVJSc2FrRVFha0VGZFVIQU5Xb3RBQUE2QURBZ0JDQUpJQTFxTFFBQUloY2dGaUFLSUF0cUlocEJCSFJxSUE0Z0Vtb2lGbXRxSUJvZ0ZtdEJBblJxUVJCcVFRVjFRY0ExYWkwQUFEb0FJQ0FFSUFrdEFBQWlGaUFTSUFzZ0Rtb2lHa0VFZEdvZ0NpQVhhaUlTYTJvZ0dpQVNhMEVDZEdwQkVHcEJCWFZCd0RWcUxRQUFPZ0FRSUFRZ0NTQVFhaTBBQUNBS0lBNGdGMm9pRGtFRWRHb2dDeUFXYWlJTGEyb2dEaUFMYTBFQ2RHcEJFR3BCQlhWQndEVnFMUUFBT2dBQUlBbEJBV29oQ1NBRVFRRnFJUVFnQTBFQmFpRURJQk5CQVdzaUV3MEFDeUFFSUJScUlRUWdBeUFQYWlFRElBa2dEMm9oQ1NBUlFRRnJJaEVOQUFzTURRc2dBaWdDQUNBRUlBTWdDVUVDYXlBTklBd2dCeUFJUVFFUUdnd01DeUFDS0FJQUlBUWdBMEVDYXlBSklBMGdEQ0FISUFoQkFCQVpEQXNMSUFJb0FnQWdCQ0FEUVFKcklBbEJBbXNnRFNBTUlBY2dDRUVBRUJJTUNnc2dBaWdDQUNBRUlBTkJBbXNnQ1VFQ2F5QU5JQXdnQnlBSVFRQVFGd3dKQ3lBQ0tBSUFJQVFnQTBFQ2F5QUpRUUpySUEwZ0RDQUhJQWhCQWhBU0RBZ0xJQWRCQldvaEN5QURRUUpySVFvZ0FpZ0NBQ0VPQWtBQ1FDQURRUUpJRFFBZ0NpQUxhaUFOU3cwQUlBbEJBRWdOQUNBSUlBbHFJQXhMRFFBZ0RTRUxEQUVMSUE0Z0ZTQUtJQWtnRFNBTUlBc2dDQ0FMRUFsQkFDRUpJQlVoRGtFQUlRb0xRUkFnQjJzaEZDQUxJQWRySVJnZ0IwRUNkaUVTSUE0Z0NTQUxiQ0FLYW1wQkJXb2hBeUFJSVFzRFFDQURRUUZyTFFBQUlRa2dBMEVDYXkwQUFDRU1JQU5CQTJzdEFBQWhDaUFEUVFSckxRQUFJUThnQTBFRmF5MEFBQ0VUSUJJaEVRTkFJQVFnQXkwQUFDSU9JQk1nQ2lBTWFpSU5RUVIwYWlBSklBOXFJaE5ySUEwZ0UydEJBblJxYWtFUWFrRUZkVUhBTldvdEFBQTZBQUFnQkNBRExRQUJJZzBnRHlBSklBeHFJaE5CQkhScUlBb2dEbW9pRDJ0cUlCTWdEMnRCQW5ScVFSQnFRUVYxUWNBMWFpMEFBRG9BQVNBRUlBTXRBQUlpRUNBS0lBa2dEbW9pRTBFRWRHb2dEQ0FOYWlJS2Eyb2dFeUFLYTBFQ2RHcEJFR3BCQlhWQndEVnFMUUFBT2dBQ0lBUWdBeTBBQXlJWElBd2dEU0FPYWlJS1FRUjBhaUFKSUJCcUlneHJhaUFLSUF4clFRSjBha0VRYWtFRmRVSEFOV290QUFBNkFBTWdCRUVFYWlFRUlBTkJCR29oQXlBSklSTWdEaUVQSUEwaENpQVFJUXdnRnlFSklCRkJBV3NpRVEwQUN5QUVJQlJxSVFRZ0F5QVlhaUVESUF0QkFXc2lDdzBBQ3d3SEN5QUNLQUlBSUFRZ0EwRUNheUFKUVFKcklBMGdEQ0FISUFoQkFCQVlEQVlMSUFkQkJXb2hDeUFKUVFKcklRNGdBMEVDYXlFS0lBSW9BZ0FoRHdKQUFrQWdBMEVDU0EwQUlBb2dDMm9nRFVzTkFDQUpRUUpJRFFBZ0NFRUZhaUlVSUE1cUlBeExEUUFnRFNFTERBRUxJQThnRlVIQUNtb2lEeUFLSUE0Z0RTQU1JQXNnQ0VFRmFpSVVJQXNRQ1VFQUlRNUJBQ0VLQ3lBVUJFQWdDeUFIYXlFWUlBZEJBblloRWlBUElBc2dEbXdnQ21wcVFRVnFJUU1nRlNFTUEwQWdBMEVCYXkwQUFDRUpJQU5CQW1zdEFBQWhDeUFEUVFOckxRQUFJUTRnQTBFRWF5MEFBQ0VOSUFOQkJXc3RBQUFoRVNBU0lROERRQ0FNSUFNdEFBQWlDaUFSSUFzZ0Rtb2lFMEVFZEdvZ0NTQU5haUlSYXlBVElCRnJRUUowYW1vMkFnQWdEQ0FETFFBQkloTWdEU0FKSUF0cUloRkJCSFJxSUFvZ0Rtb2lEV3RxSUJFZ0RXdEJBblJxTmdJRUlBd2dBeTBBQWlJUUlBNGdDU0FLYWlJT1FRUjBhaUFMSUJOcUlnMXJhaUFPSUExclFRSjBhallDQ0NBTUlBTXRBQU1pRnlBS0lCTnFJZzVCQkhRZ0Myb2dDU0FRYWlJTGEyb2dEaUFMYTBFQ2RHbzJBZ3dnREVFUWFpRU1JQU5CQkdvaEF5QUpJUkVnQ2lFTklCTWhEaUFRSVFzZ0Z5RUpJQTlCQVdzaUR3MEFDeUFESUJocUlRTWdGRUVCYXlJVURRQUxDeUFWSUFkQkFuUWlER29pQ1NBSFFSUnNhaUVESUFoQkFuWWhEMEhBQUNBSGF5RVhRUUFnQjJzaUZFRURkQ0VZSUFkQkEzUWhFU0FIUVFOc1FRSjBJUk1EUUNBSElRMERRQ0FFSUFrZ0VXb29BZ0FpRGlBRElCRnFLQUlBSUFNZ0RHb29BZ0FpRmlBRElCaHFLQUlBSWd0cUlncHJJQXBCQW5ScmFpQURLQUlBSWhBZ0F5QVVRUUowSWhwcUtBSUFJZ3BxUVJSc2FrR0FCR3BCQ25WQndEVnFMUUFBT2dBd0lBUWdDU0FNYWlnQ0FDSVNJQllnQ2lBTGFpSWNRUVIwYWlBT0lCQnFJaFpyYWlBY0lCWnJRUUowYWtHQUJHcEJDblZCd0RWcUxRQUFPZ0FnSUFRZ0NTZ0NBQ0lXSUJBZ0N5QU9haUljUVFSMGFpQUtJQkpxSWhCcmFpQWNJQkJyUVFKMGFrR0FCR3BCQ25WQndEVnFMUUFBT2dBUUlBUWdDU0FhYWlnQ0FDQUtJQTRnRW1vaURrRUVkR29nQ3lBV2FpSUxhMm9nRGlBTGEwRUNkR3BCZ0FScVFRcDFRY0ExYWkwQUFEb0FBQ0FKUVFScUlRa2dCRUVCYWlFRUlBTkJCR29oQXlBTlFRRnJJZzBOQUFzZ0JDQVhhaUVFSUFNZ0Uyb2hBeUFKSUJOcUlRa2dEMEVCYXlJUERRQUxEQVVMSUFJb0FnQWdCQ0FEUVFKcklBbEJBbXNnRFNBTUlBY2dDRUVCRUJnTUJBc2dBaWdDQUNBRUlBTkJBbXNnQ1NBTklBd2dCeUFJUVFFUUdRd0RDeUFDS0FJQUlBUWdBMEVDYXlBSlFRSnJJQTBnRENBSElBaEJBUkFTREFJTElBSW9BZ0FnQkNBRFFRSnJJQWxCQW1zZ0RTQU1JQWNnQ0VFQkVCY01BUXNnQWlnQ0FDQUVJQU5CQW1zZ0NVRUNheUFOSUF3Z0J5QUlRUU1RRWdzZ0FTNEJBQ0lPUVFOMUlCbEJBWFpxSVE4Z0FTNEJBaUlMUVFOMUlCdEJBWFpxSVFNZ0FpZ0NBQ0FDS0FJRUlnb2dBaWdDQ0NJQ2JFRUlkR29oQVNBQUlBWkJBblJCZUhGcUlBVkJBWFpxUVlBQ2FpRUVJQWhCQVhZaEVTQUhRUUYySVEwZ0MwRUhjU0VRSUFKQkEzUWhBQ0FLUVFOMElRb0NRQUpBSUE1QkIzRWlFa1VOQUNBUVJRMEFJQTFCQVdvaERrRUFJUVVDUUFKQUlBOUJBRWdOQUNBT0lBOXFJQXBMRFFBZ0EwRUFTQTBBSUFNZ0VXcEJBV29nQUVzTkFDQUFJUVlnQ2lFT0lBTWhCUXdCQ3lBQklCVWdEeUFESUFvZ0FDQU9JQkZCQVdvaUJpQU9FQWtnQVNBQUlBcHNhaUFWSUFZZ0RteHFJQThnQXlBS0lBQWdEaUFHSUE0UUNTQVZJUUZCQUNFUEMwRVFJQTFySVJjZ0IwRUNkaUVBUVFnZ0VHc2hBMEVJSUJKcklRa2dEa0VCZENJTUlBMXJJUlFnQVNBRklBNXNhaUFQYWlFTElBUWhDaUFJUVFKMklnY2hBZ05BSUJBZ0N5QU1haTBBQUd3Z0F5QUxJQTVxTFFBQUlnaHNhaUVOSUFnZ0VHd2dBeUFMTFFBQWJHb2hFeUFBSVJFRFFDQUxRUUZxSWdnZ0RHb3RBQUFoR1NBS0lBa2dFMndnRUNBSUlBNXFMUUFBSWdoc0lBTWdDeTBBQVd4cUloTWdFbXhxUVNCcVFRWjJPZ0FBSUFvZ0NTQU5iQ0FRSUJsc0lBTWdDR3hxSWdnZ0VteHFRU0JxUVFaMk9nQUlJQXN0QUFJaERTQUxRUUpxSWdzZ0RHb3RBQUFoR1NBS0lBa2dFMndnRUNBTElBNXFMUUFBSWh0c0lBTWdEV3hxSWhNZ0VteHFRU0JxUVFaMk9nQUJJQW9nQ0NBSmJDQVFJQmxzSUFNZ0cyeHFJZzBnRW14cVFTQnFRUVoyT2dBSklBcEJBbW9oQ2lBUlFRRnJJaEVOQUFzZ0N5QVVhaUVMSUFvZ0Yyb2hDaUFDUVFGcklnSU5BQXNnQkVGQWF5RUtJQUVnQlNBR2FpQU9iR29nRDJvaEN3TkFJQkFnQ3lBTWFpMEFBR3dnQXlBTElBNXFMUUFBSWdGc2FpRU5JQUVnRUd3Z0F5QUxMUUFBYkdvaEV5QUFJUkVEUUNBTFFRRnFJZ0VnREdvdEFBQWhBaUFLSUFrZ0Uyd2dFQ0FCSUE1cUxRQUFJZ0ZzSUFNZ0N5MEFBV3hxSWdRZ0VteHFRU0JxUVFaMk9nQUFJQW9nQ1NBTmJDQUNJQkJzSUFFZ0EyeHFJZ0VnRW14cVFTQnFRUVoyT2dBSUlBc3RBQUloQWlBTFFRSnFJZ3NnREdvdEFBQWhCU0FLSUFRZ0NXd2dFQ0FMSUE1cUxRQUFJZ1JzSUFJZ0EyeHFJaE1nRW14cVFTQnFRUVoyT2dBQklBb2dBU0FKYkNBRklCQnNJQU1nQkd4cUlnMGdFbXhxUVNCcVFRWjJPZ0FKSUFwQkFtb2hDaUFSUVFGckloRU5BQXNnQ3lBVWFpRUxJQW9nRjJvaENpQUhRUUZySWdjTkFBc01BUXNnRWdSQUlBMUJBV29oQzBFQUlRSUNRQUpBSUE5QkFFZ05BQ0FMSUE5cUlBcExEUUFnQTBFQVNBMEFJQU1nRVdvZ0FFc05BQ0FBSVJFZ0NpRUxJQU1oQWd3QkN5QUJJQlVnRHlBRElBb2dBQ0FMSUJFZ0N4QUpJQUVnQUNBS2JHb2dGU0FMSUJGc2FpQVBJQU1nQ2lBQUlBc2dFU0FMRUFrZ0ZTRUJRUUFoRHd0QkVDQU5heUVHSUFkQkFuWWhBRUVJSUJKcklRTWdDMEVCZENBTmF5RUhJQUVnQWlBTGJHb2dEMm9oQ1NBRUlRd2dDRUVDZGlJVUlRVURRQ0FBSVE0RFFDQUpRUUZxSUF0cUxRQUFJUWdnQ1NBTGFpMEFBQ0VLSUF3Z0VpQUpMUUFCSWcxc0lBTWdDUzBBQUd4cVFRTjBRU0JxUVFaMk9nQUFJQXdnQ0NBU2JDQURJQXBzYWtFRGRFRWdha0VHZGpvQUNDQUpMUUFDSVFvZ0NVRUNhaUlKSUF0cUxRQUFJUk1nRENBS0lCSnNJQU1nRFd4cVFRTjBRU0JxUVFaMk9nQUJJQXdnRWlBVGJDQURJQWhzYWtFRGRFRWdha0VHZGpvQUNTQU1RUUpxSVF3Z0RrRUJheUlPRFFBTElBY2dDV29oQ1NBR0lBeHFJUXdnQlVFQmF5SUZEUUFMSUFSQlFHc2hEQ0FCSUFJZ0VXb2dDMnhxSUE5cUlRa0RRQ0FBSVE0RFFDQUpRUUZxSUF0cUxRQUFJUUVnQ1NBTGFpMEFBQ0VDSUF3Z0VpQUpMUUFCSWdSc0lBTWdDUzBBQUd4cVFRTjBRU0JxUVFaMk9nQUFJQXdnQVNBU2JDQUNJQU5zYWtFRGRFRWdha0VHZGpvQUNDQUpMUUFDSVFJZ0NVRUNhaUlKSUF0cUxRQUFJUVVnRENBQ0lCSnNJQU1nQkd4cVFRTjBRU0JxUVFaMk9nQUJJQXdnQlNBU2JDQUJJQU5zYWtFRGRFRWdha0VHZGpvQUNTQU1RUUpxSVF3Z0RrRUJheUlPRFFBTElBY2dDV29oQ1NBR0lBeHFJUXdnRkVFQmF5SVVEUUFMREFFTElCQUVRRUVBSVFJQ1FBSkFJQTlCQUVnTkFDQU5JQTlxSUFwTERRQWdBMEVBU0EwQUlBTWdFV3BCQVdvZ0FFc05BQ0FBSVFVZ0F5RUNEQUVMSUFFZ0ZTQVBJQU1nQ2lBQUlBMGdFVUVCYWlJRklBMFFDU0FCSUFBZ0NteHFJQlVnQlNBTmJHb2dEeUFESUFvZ0FDQU5JQVVnRFJBSklCVWhBU0FOSVFwQkFDRVBDMEVRSUExcklSRWdCMEVDZGlFQVFRZ2dFR3NoQXlBS1FRRjBJZ1lnRFdzaEJ5QUJJQUlnQ214cUlBOXFJUWtnQkNFTUlBaEJBbllpQ3lFVUEwQWdBQ0VPQTBBZ0JpQUphaTBBQUNFSUlBd2dBeUFKTFFBQWJDQVFJQWtnQ21vdEFBQWlEV3hxUVFOMFFTQnFRUVoyT2dBQUlBd2dBeUFOYkNBSUlCQnNha0VEZEVFZ2FrRUdkam9BQ0NBSlFRRnFJZ2dnQm1vdEFBQWhEU0FNSUFNZ0NTMEFBV3dnRUNBSUlBcHFMUUFBSWdoc2FrRURkRUVnYWtFR2Rqb0FBU0FNSUFNZ0NHd2dEU0FRYkdwQkEzUkJJR3BCQm5ZNkFBa2dERUVDYWlFTUlBbEJBbW9oQ1NBT1FRRnJJZzROQUFzZ0J5QUphaUVKSUF3Z0VXb2hEQ0FVUVFGckloUU5BQXNnQkVGQWF5RU1JQUVnQWlBRmFpQUtiR29nRDJvaENRTkFJQUFoRGdOQUlBWWdDV290QUFBaEFTQU1JQU1nQ1MwQUFHd2dFQ0FKSUFwcUxRQUFJZ0pzYWtFRGRFRWdha0VHZGpvQUFDQU1JQUlnQTJ3Z0FTQVFiR3BCQTNSQklHcEJCblk2QUFnZ0NVRUJhaUlCSUFacUxRQUFJUUlnRENBRElBa3RBQUZzSUJBZ0FTQUthaTBBQUNJQmJHcEJBM1JCSUdwQkJuWTZBQUVnRENBQklBTnNJQUlnRUd4cVFRTjBRU0JxUVFaMk9nQUpJQXhCQW1vaERDQUpRUUpxSVFrZ0RrRUJheUlPRFFBTElBY2dDV29oQ1NBTUlCRnFJUXdnQzBFQmF5SUxEUUFMREFFTElBRWdCQ0FQSUFNZ0NpQUFJQTBnRVVFSUVBa2dBU0FBSUFwc2FpQUVRVUJySUE4Z0F5QUtJQUFnRFNBUlFRZ1FDUXNnRlVHQURtb2tBQXYxRndFZ2Z5TUFRZEFEYXlJR0pBQWdBU0FCS0FJQUlnb2dBU2dDQkNJSUlBSnNJaFFnQTJvaUJ5QUljQ0lMUVFSMGFpQUhJQXRySWdsQkNIUnFOZ0lNSUFFZ0NpQUlJQUVvQWdnaUIyd2lERUVJZEdvaUhDQUpRUVowYWlBTFFRTjBhaUlMTmdJUUlBRWdDeUFNUVFaMElpSnFOZ0lVSUFCQ0FEY0NEQ0FBUWlnM0FoUWdBRUVBTmdJSUlBQkJCallDQUNBRFFRUjBJUXNDUUFKQUFrQWdCRUVDYXc0R0FRQUFBQUFCQUFzZ0JrRUFOZ0lNSUFZZ0J6WUNHQ0FHSUFnMkFoUWdCaUFGTmdJUUlBVkZCRUFNQVFzZ0JrSFFBR29pQUNBR1FReHFJQVpCRUdvZ0N5QUNRUVIwUVFCQkFFRVFRUkFRRENBQklBQVFEd3dCQ3lBR1FkQUFha0VBUVlBREVBTWFJQW9nRkVFSWRHb2dDMm9oRENBR1FnQTNBMGdnQmtGQWEwSUFOd01BSUFaQ0FEY0RPQ0FHUWdBM0F6QWdCa0lBTndNb0lBWkNBRGNESUNBR1FnQTNBeGdnQmtJQU53TVFRUUFoQlVFQUlRa0Nmd0pBSUFJRVFDQUFJQWhCcUg1c2FpZ0N4QUVOQVF0QkFDRUxRUUFNQVFzZ0JpQU1JQWhCQkhScklnUXRBQVVnQkMwQUJHb2dCQzBBQm1vZ0JDMEFCMm9pRmlBRUxRQURJQVF0QUFJZ0JDMEFBU0FFTFFBQWFtcHFJaFZxSWdvZ0JDMEFEeUFFTFFBT0lBUXRBQTBnQkMwQURHcHFhaUlZSUFRdEFBc2dCQzBBQ2lBRUxRQUpJQVF0QUFocWFtb2lGMm9pQkdzaUNUWUNGQ0FHSUFRZ0Ntb2lDellDRUVFQklSbEJBUXNoQkFKQUlBZEJBV3NnQWtZTkFDQUFJQWhCMkFGc2FpZ0N4QUZGQkVBTUFRc2dCaUFNSUFoQkNIUnFJZ0l0QUFVZ0FpMEFCR29nQWkwQUJtb2dBaTBBQjJvaUhTQUNMUUFESUFJdEFBSWdBaTBBQVNBQ0xRQUFhbXBxSWg1cUlnVWdBaTBBRHlBQ0xRQU9JQUl0QUEwZ0FpMEFER3BxYWlJZklBSXRBQXNnQWkwQUNpQUNMUUFKSUFJdEFBaHFhbW9pSUdvaUFtc2dDV29pQ1RZQ0ZDQUdJQUlnQldvZ0Myb2lDellDRUVFQklRVWdCRUVCYWlFRUN3Si9Ba0FnQTBVTkFDQUFRUlJyS0FJQVJRMEFJQVlnREVFQmF5SUNJQWhCQm5RaUVHb2lDaUFJUVFSMElnZHFMUUFBSUFvdEFBQnFJQW9nQ0VFRmRDSU5haTBBQUdvZ0NpQUlRVEJzSWc5cUxRQUFhaUlhSUFJZ0Qyb3RBQUFnQWlBTmFpMEFBQ0FDSUFkcUxRQUFJQUl0QUFCcWFtb2lHMm9pRVNBS0lCQnFJZ0lnRUdvaUNpQUhhaTBBQUNBS0xRQUFhaUFLSUExcUxRQUFhaUFLSUE5cUxRQUFhaUlRSUFJZ0Qyb3RBQUFnQWlBTmFpMEFBQ0FDSUFkcUxRQUFJQUl0QUFCcWFtb2lEMm9pQW1zaUJ6WUNJQ0FHSUFJZ0VXb2dDMm9pQ3pZQ0VFRUJJUkVnQkVFQmFpRUtRUUVNQVF0QkFDRUhJQVFoQ2tFQUN5RUNBa0FDUUFKQUFrQUNRQ0FESUFoQkFXdEhCRUFnQUNnQ25BTU5BUXNnQkEwQkRBSUxJQWNnREVFUWFpSUhJQWhCQm5RaUUyb2lBQ0FJUVFSMElnMXFMUUFBSUFBdEFBQnFJQUFnQ0VFRmRDSVNhaTBBQUdvZ0FDQUlRVEJzSWc1cUxRQUFhaUFISUE1cUxRQUFJQWNnRW1vdEFBQWdCeUFOYWkwQUFDQU1MUUFRYW1wcWFpSU1JQUFnRTJvaUFDQVRhaUlISUExcUxRQUFJQWN0QUFCcUlBY2dFbW90QUFCcUlBY2dEbW90QUFCcUloTWdBQ0FPYWkwQUFDQUFJQkpxTFFBQUlBQWdEV290QUFBZ0FDMEFBR3BxYWlJQWFpSU5hMm9oQnlBTUlBMXFJQXRxSVF0QkFTRVNJQUpCQVdvaEFpQUtRUUZxSVFvZ0VVVWdCRUVBUjNKRkJFQWdHaUFiYWlBUGFpQVFhaUFBSUF4cUlCTnFhMEVGZFNFSkRBTUxJQVJGRFFJTElBa2dCRUVEYW5VaENRc2dHU0FDUlhFZ0JYRUVRQ0FWSUJacUlCZHFJQmhxSUI4Z0lHb2dIV29nSG1wclFRVjFJUWNNQWdzZ0FrVU5BUXNnQnlBQ1FRTnFkU0VIQ3lBR0FuOENRQUpBQWtBQ1FDQUtRUUZyRGdNQUFRSURDeUFMUVFSMkRBTUxJQXRCQlhZTUFnc2dDMEVWYkVFS2Rnd0JDeUFMUVFaMkN5SUFOZ0lRQW44Z0J5QUpja1VFUUNBR0lBQTJBa2dnQmlBQU5nSk1JQVlnQURZQ1JDQUdJQUEyQWtBZ0JpQUFOZ0k4SUFZZ0FEWUNPQ0FHSUFBMkFqUWdCaUFBTmdJd0lBWWdBRFlDTENBR0lBQTJBaWdnQmlBQU5nSWtJQVlnQURZQ0lDQUdJQUEyQWh3Z0JpQUFOZ0lZSUFZZ0FEWUNGQ0FHUWRBQWFpRUhJQVpCRUdvaENVRUFEQUVMSUFZZ0FDQUphaUlFSUFkck5nSkFJQVlnQkNBSFFRRjFJZ0pyTmdJd0lBWWdBaUFFYWpZQ0lDQUdJQVFnQjJvMkFoQWdCaUFBSUFscklnUWdCMnMyQWt3Z0JpQUVJQUpyTmdJOElBWWdBaUFFYWpZQ0xDQUdJQVFnQjJvMkFod2dCaUFBSUFsQkFYVWlDbW9pQkNBSGF6WUNSQ0FHSUFRZ0FtczJBalFnQmlBQ0lBUnFOZ0lrSUFZZ0JDQUhhallDRkNBR0lBQWdDbXNpQUNBSGF6WUNTQ0FHSUFBZ0FtczJBamdnQmlBQUlBSnFOZ0lvSUFZZ0FDQUhhallDR0NBR1FkQUFhaUVISUFaQkVHb2hDVUVBQ3lFQUEwQWdCeUFKSUFCQkRIRnFLQUlBSWdKQi93RWdBa0gvQVVnYklnSkJBQ0FDUVFCS0d5SUNPZ0FCSUFjZ0Fqb0FBQ0FIUVFKcUlRY2dDU0FBUVFKcUlnQkJQbkZGUVFSMGFpRUpJQUJCZ0FKSERRQUxJQndnRkVFR2RHb2dBMEVEZEdvaEF5QUlRUVIwSVEwZ0NFRUdkQ0VVUVFBZ0NFRURkQ0lNYXlFVElBWkIwQUpxSVJ3Z0JrRkFheUVqUVFBaEMwRUFJUW9EUUNBR1FnQTNBMGdnSTBJQU53TUFJQVpDQURjRE9DQUdRZ0EzQXpBZ0JrSUFOd01vSUFaQ0FEY0RJQ0FHUWdBM0F4Z2dCa0lBTndNUVFRQWhDVUVBSVFCQkFDRUNJQmtFUUNBR0lBTWdFMm9pQUMwQUF5QUFMUUFDYWlJV0lBQXRBQUVnQUMwQUFHb2lGV29pQWlBQUxRQUhJQUF0QUFacUloZ2dBQzBBQlNBQUxRQUVhaUlYYWlJQWF5SUpOZ0lVSUFZZ0FDQUNhaUlBTmdJUVFRRWhBZ3NnQlFSQUlBWWdBeUFVYWlJRUxRQURJQVF0QUFKcUloMGdCQzBBQVNBRUxRQUFhaUllYWlJSUlBUXRBQWNnQkMwQUJtb2lIeUFFTFFBRklBUXRBQVJxSWlCcUlnUnJJQWxxSWdrMkFoUWdCaUFFSUFocUlBQnFJZ0EyQWhBZ0FrRUJhaUVDQzBFQUlRY0NmeUFSUlFSQUlBSWhDRUVBREFFTElBWWdBMEVCYXlJRUlBMXFJZ2dnREdvdEFBQWdDQzBBQUdvaUdpQUVJQXhxTFFBQUlBUXRBQUJxSWh0cUlnNGdDQ0FOYWlJRUlBMXFJZ2dnREdvdEFBQWdDQzBBQUdvaUVDQUVJQXhxTFFBQUlBUXRBQUJxSWc5cUlnUnJJZ2MyQWlBZ0JpQUVJQTVxSUFCcUlnQTJBaEFnQWtFQmFpRUlRUUVMSVFRQ1FBSkFBa0FDUUNBU1JRUkFJQUlOQVF3Q0N5QUhJQU5CQ0dvaURpQU5haUlISUF4cUxRQUFJQWN0QUFCcUlBd2dEbW90QUFBZ0F5MEFDR3BxSWc0Z0J5QU5haUlISUExcUlpRWdER290QUFBZ0lTMEFBR29pSVNBSElBeHFMUUFBSUFjdEFBQnFJaVJxSWlWcmFpRUhJQTRnSldvZ0FHb2hBQ0FFUVFGcUlRUWdDRUVCYWlFSUlCRkZJQUpCQUVkeVJRUkFJQm9nRzJvZ0Qyb2dFR29nRGlBa2FpQWhhbXRCQkhVaENRd0RDeUFDUlEwQ0N5QUpJQUpCQW1wMUlRa0xJQmtnQkVWeElBVnhCRUFnRlNBV2FpQVhhaUFZYWlBZklDQnFJQjFxSUI1cWEwRUVkU0VIREFJTElBUkZEUUVMSUFjZ0JFRUNhblVoQndzZ0JnSi9Ba0FDUUFKQUFrQWdDRUVCYXc0REFBRUNBd3NnQUVFRGRnd0RDeUFBUVFSMkRBSUxJQUJCRld4QkNYWU1BUXNnQUVFRmRnc2lBRFlDRUFKQUlBY2dDWEpGQkVBZ0JpQUFOZ0pJSUFZZ0FEWUNUQ0FHSUFBMkFrUWdCaUFBTmdKQUlBWWdBRFlDUENBR0lBQTJBamdnQmlBQU5nSTBJQVlnQURZQ01DQUdJQUEyQWl3Z0JpQUFOZ0lvSUFZZ0FEWUNKQ0FHSUFBMkFpQWdCaUFBTmdJY0lBWWdBRFlDR0NBR0lBQTJBaFFNQVFzZ0JpQUFJQWxxSWdRZ0IyczJBa0FnQmlBRUlBZEJBWFVpQW1zMkFqQWdCaUFDSUFScU5nSWdJQVlnQkNBSGFqWUNFQ0FHSUFBZ0NXc2lCQ0FIYXpZQ1RDQUdJQVFnQW1zMkFqd2dCaUFDSUFScU5nSXNJQVlnQkNBSGFqWUNIQ0FHSUFBZ0NVRUJkU0lJYWlJRUlBZHJOZ0pFSUFZZ0JDQUNhellDTkNBR0lBSWdCR28yQWlRZ0JpQUVJQWRxTmdJVUlBWWdBQ0FJYXlJQUlBZHJOZ0pJSUFZZ0FDQUNhellDT0NBR0lBQWdBbW8yQWlnZ0JpQUFJQWRxTmdJWUN5QUtJQnhxSVFCQkFDRUhJQVpCRUdvaENRTkFJQUFnQ1NBSFFRRjBRUXh4YWlnQ0FDSUNRZjhCSUFKQi93RklHeUlDUVFBZ0FrRUFTaHNpQWpvQUFTQUFJQUk2QUFBZ0FFRUNhaUVBSUFrZ0IwRUNhaUlIUVE1eFJVRUVkR29oQ1NBSFFjQUFSdzBBQ3lBRElDSnFJUU1nQ3lFQVFjQUFJUXBCQVNFTElBQkZEUUFMSUFFZ0JrSFFBR29RRHdzZ0JrSFFBMm9rQUF0U0FRSi9RWURBQUNnQ0FDSUJJQUJCQTJwQmZIRWlBbW9oQUFKQUlBSkJBQ0FBSUFGTkd3MEFJQUEvQUVFUWRFc0VRQ0FBRUFCRkRRRUxRWURBQUNBQU5nSUFJQUVQQzBHRXdBQkJNRFlDQUVGL0M3VUZBUVIvSUFBb0FoUWhBeUFBS0FJUUlRUWdBQ2dDQkNFRklBQW9BZ3dpQWlBQktRSUFOd0lBSUFJZ0FTa0NDRGNDQ0NBQ0lBVkJCSFFpQUdvaUFpQUJLUUlRTndJQUlBSWdBU2tDR0RjQ0NDQUFJQUpxSWdJZ0FTa0NJRGNDQUNBQ0lBRXBBaWczQWdnZ0FDQUNhaUlDSUFFcEFqQTNBZ0FnQWlBQktRSTROd0lJSUFBZ0Ftb2lBaUFCS1FKQU53SUFJQUlnQVNrQ1NEY0NDQ0FBSUFKcUlnSWdBU2tDVURjQ0FDQUNJQUVwQWxnM0FnZ2dBQ0FDYWlJQ0lBRXBBbUEzQWdBZ0FpQUJLUUpvTndJSUlBQWdBbW9pQWlBQktRSndOd0lBSUFJZ0FTa0NlRGNDQ0NBQUlBSnFJZ0lnQVNrQ2dBRTNBZ0FnQWlBQktRS0lBVGNDQ0NBQUlBSnFJZ0lnQVNrQ2tBRTNBZ0FnQWlBQktRS1lBVGNDQ0NBQUlBSnFJZ0lnQVNrQ29BRTNBZ0FnQWlBQktRS29BVGNDQ0NBQUlBSnFJZ0lnQVNrQ3NBRTNBZ0FnQWlBQktRSzRBVGNDQ0NBQUlBSnFJZ0lnQVNrQ3dBRTNBZ0FnQWlBQktRTElBVGNDQ0NBQUlBSnFJZ0lnQVNrQzBBRTNBZ0FnQWlBQktRTFlBVGNDQ0NBQUlBSnFJZ0lnQVNrQzRBRTNBZ0FnQWlBQktRTG9BVGNDQ0NBQUlBSnFJZ0FnQVNrQzhBRTNBZ0FnQUNBQktRTDRBVGNDQ0NBRUlBRXBBb0FDTndJQUlBUWdCVUVEZENJQWFpSUVJQUVwQW9nQ053SUFJQUFnQkdvaUJDQUJLUUtRQWpjQ0FDQUFJQVJxSWdRZ0FTa0NtQUkzQWdBZ0FDQUVhaUlFSUFFcEFxQUNOd0lBSUFBZ0JHb2lCQ0FCS1FLb0FqY0NBQ0FBSUFScUlnUWdBU2tDc0FJM0FnQWdBQ0FFYWlBQktRSzRBamNDQUNBRElBRXBBc0FDTndJQUlBQWdBMm9pQXlBQktRTElBamNDQUNBQUlBTnFJZ01nQVNrQzBBSTNBZ0FnQUNBRGFpSURJQUVwQXRnQ053SUFJQUFnQTJvaUF5QUJLUUxnQWpjQ0FDQUFJQU5xSWdNZ0FTa0M2QUkzQWdBZ0FDQURhaUlESUFFcEF2QUNOd0lBSUFBZ0Eyb2dBU2tDK0FJM0FnQUxid0VCZnlNQVFSQnJJZ0lrQUNBQ1FRQTJBZ3dnQUNBQ1FReHFFQUloQUFKL0lBRUNmeUFDS0FJTUlnRkJmMFlFUUVHQWdJQ0FlQ0FBRFFFYVFRRU1BZ3RCQVNBQURRRWFJQUZCQVdwQkFYWWlBRUVBSUFCcklBRkJBWEViQ3pZQ0FFRUFDeUVBSUFKQkVHb2tBQ0FBQ3pZQUlBSUVRQ0FBSUFFUUFnOExRUUVoQWlBQklBQkJBUkFVSWdBMkFnQWdBRUYvUndSL0lBRWdBRUVCY3pZQ0FFRUFCVUVCQ3d2YUJ3RU5meU1BUWNBRGF5SVJKQUFnQmtFRmFpRUpBa0FDUUNBQ1FRQklEUUFnQWlBSmFpQUVTdzBBSUFOQkFFZ05BQ0FESUFkcVFRVnFJQVZMRFFBZ0JDRUpJQU1oQ2d3QkN5QUFJQkVnQWlBRElBUWdCU0FKSUFkQkJXb2dDUkFKSUJFaEFFRUFJUUlMSUFBZ0NTQUtiQ0FDYW1vaUFDQUpJQWhCQVhaQkFYRkJBbkpzYWtFRmFpRUNRUkFnQm1zaERDQUpJQVpySVE0Z0JrRUNkaUVTSUFoQkFYRWhGQ0FBSUFscUlSVWdCeUVQQTBBZ0FrRUJheTBBQUNFQUlBSkJBbXN0QUFBaENDQUNRUU5yTFFBQUlRUWdBa0VFYXkwQUFDRUtJQUpCQldzdEFBQWhDeUFTSVEwRFFDQUJJQUl0QUFBaUF5QUxJQVFnQ0dvaUJVRUVkR29nQUNBS2FpSUxheUFGSUF0clFRSjBhbXBCRUdwQkJYVkJ3RFZxTFFBQU9nQUFJQUVnQWkwQUFTSUZJQW9nQUNBSWFpSUxRUVIwYWlBRElBUnFJZ3ByYWlBTElBcHJRUUowYWtFUWFrRUZkVUhBTldvdEFBQTZBQUVnQVNBQ0xRQUNJaEFnQkNBQUlBTnFJZ3BCQkhScUlBVWdDR29pQkd0cUlBb2dCR3RCQW5ScVFSQnFRUVYxUWNBMWFpMEFBRG9BQWlBQklBSXRBQU1pRXlBSUlBTWdCV29pQkVFRWRHb2dBQ0FRYWlJSWEyb2dCQ0FJYTBFQ2RHcEJFR3BCQlhWQndEVnFMUUFBT2dBRElBRkJCR29oQVNBQ1FRUnFJUUlnQUNFTElBTWhDaUFGSVFRZ0VDRUlJQk1oQUNBTlFRRnJJZzBOQUFzZ0FTQU1haUVCSUFJZ0Rtb2hBaUFQUVFGcklnOE5BQXNnRkNBVmFrRUNhaUlJSUFsQkJXeHFJUUFnQjBFQ2RpRUtRY0FBSUFacklSSWdDVUVCZENFUElBRWdCMEVFZEdzaEFpQUpRUUowSUFacklRZEJBQ0FKYXlJTFFRRjBJUk1EUUNBR0lRRURRQ0FDSUFnZ0Qyb3RBQUFpQXlBQUlBOXFMUUFBSUFBZ0NXb3RBQUFpRENBQUlCTnFMUUFBSWdScUlnVnJJQVZCQW5ScmFpQUFMUUFBSWcwZ0FDQUxhaTBBQUNJRmFrRVViR3BCRUdwQkJYVkJ3RFZxTFFBQUlBSXRBREJxUVFGcVFRRjJPZ0F3SUFJZ0NDQUphaTBBQUNJUUlBd2dCQ0FGYWlJT1FRUjBhaUFESUExcUlneHJJQTRnREd0QkFuUnFha0VRYWtFRmRVSEFOV290QUFBZ0FpMEFJR3BCQVdwQkFYWTZBQ0FnQWlBSUxRQUFJZ3dnRFNBRElBUnFJZzVCQkhScUlBVWdFR29pRFdzZ0RpQU5hMEVDZEdwcVFSQnFRUVYxUWNBMWFpMEFBQ0FDTFFBUWFrRUJha0VCZGpvQUVDQUNJQWdnQzJvdEFBQWdCU0FESUJCcUlnTkJCSFJxSUFRZ0RHb2lCR3NnQXlBRWEwRUNkR3BxUVJCcVFRVjFRY0ExYWkwQUFDQUNMUUFBYWtFQmFrRUJkam9BQUNBSVFRRnFJUWdnQWtFQmFpRUNJQUJCQVdvaEFDQUJRUUZySWdFTkFBc2dBaUFTYWlFQ0lBQWdCMm9oQUNBSElBaHFJUWdnQ2tFQmF5SUtEUUFMSUJGQndBTnFKQUFMNXdZQkRIOENRQ0FCUVFSUEJFQWdBMEVDZGtFQ2FpRUxRUVFoQVFOQUFrQWdBRUVCYXlJR0xRQUFJZ2NnQUMwQUFDSUlheUlDSUFKQkgzVWlBbW9nQW5NaUFpQURUdzBBSUFCQkFtc2lEeTBBQUNJS0lBZHJJZ2tnQ1VFZmRTSUphaUFKY3lBRVR3MEFJQUF0QUFFaURDQUlheUlKSUFsQkgzVWlDV29nQ1hNZ0JFOE5BQUovQWtBZ0FpQUxTUVJBSUFBdEFBSWhEZ0ovSUFRZ0FFRURheUlKTFFBQUlnSWdCMnNpRFNBTlFSOTFJZzFxSUExelN3UkFJQVlnRENBSElBaHFJQXBxSWdaQkFYUnFJQUpxUVFScVFRTjJPZ0FBSUE4Z0FpQUdha0VDYWtFQ2Rqb0FBQ0FHSUFKQkEyeHFJQUJCQkdzdEFBQkJBWFJxUVFScVFRTjJEQUVMSUFZaENTQUhJQXhxSUFwQkFYUnFRUUpxUVFKMkN5RUNJQWtnQWpvQUFDQU9JQWhySWdJZ0FrRWZkU0lDYWlBQ2N5QUVUdzBCSUFBZ0J5QU1haUFJYWlJR0lBNXFRUUpxUVFKMk9nQUJJQUFnQ2lBR1FRRjBhaUFPYWtFRWFrRURkam9BQUNBR0lBNUJBMnhxSUFBdEFBTkJBWFJxUVFScVFRTjJJUVlnQUVFQ2Fnd0NDeUFHSUFjZ0RHb2dDa0VCZEdwQkFtcEJBblk2QUFBTElBZ2dDbW9nREVFQmRHcEJBbXBCQW5ZaEJpQUFDeUFHT2dBQUN5QUFJQVZxSVFBZ0FVRUJheUlCRFFBTERBRUxJQUVnQW1wQkFXc3RBQUFpQmtFQmFpRUpRUUFnQm1zaENrRUVJUUVEUUFKQUlBQkJBV3NpRHkwQUFDSUhJQUF0QUFBaUNHc2lBaUFDUVI5MUlnSnFJQUp6SUFOUERRQWdBRUVDYXlJTkxRQUFJZ3dnQjJzaUFpQUNRUjkxSWdKcUlBSnpJQVJQRFFBZ0FDMEFBU0lPSUFocklnSWdBa0VmZFNJQ2FpQUNjeUFFVHcwQUlBQXRBQUloQ3lBR0lRSWdCQ0FBUVFOckxRQUFJaEVnQjJzaUVDQVFRUjkxSWhCcUlCQnpTd1JBSUEwZ0RDQUtJQVlnQnlBSWFrRUJha0VCZGlBTVFRRjBheUFSYWtFQmRTSUNJQUlnQmtvYklBSWdDa2diYWpvQUFDQUpJUUlMSUE4Z0J3Si9JQVFnQ3lBSWF5SU5JQTFCSDNVaURXb2dEWE5MQkVBZ0FDQU9JQW9nQmlBSElBaHFRUUZxUVFGMklBNUJBWFJySUF0cVFRRjFJZ3NnQmlBTFNCc2dDaUFMU2h0cU9nQUJJQUpCQVdvaEFndEJBQ0FDYXlJTEN5QUNJQXdnRG1zZ0NDQUhhMEVDZEdwQkJHcEJBM1VpQnlBQ0lBZElHeUFISUF0SUd5SUNha0hBTldvdEFBQTZBQUFnQUNBSUlBSnJRY0ExYWkwQUFEb0FBQXNnQUNBRmFpRUFJQUZCQVdzaUFRMEFDd3NMaUFJQkIzOGdBQ2dDQkNFRUFrQWdBQ2dDREVFRGRDSUhJQUFvQWhBaUNHc2lBa0VnVGdSQUlBUW9BQUFpQTBFWWRDQURRUWgwUVlDQS9BZHhjaUFEUVFoMlFZRCtBM0VnQTBFWWRuSnlJUU1nQUNnQ0NDSUNSUTBCSUFNZ0FuUWdCQzBBQkVFSUlBSnJkbkloQXd3QkN5QUNRUUZJQkVBTUFRc2dCQzBBQUNBQUtBSUlJZ1ZCR0dvaUJuUWhBeUFDSUFWcVFRaHJJZ0pCQVVnTkFBTkFJQVF0QUFFZ0JrRUlheUlHZENBRGNpRURJQUpCQ0VvaEJTQUVRUUZxSVFRZ0FrRUlheUVDSUFVTkFBc0xJQUFnQVNBSWFpSUVOZ0lRSUFBZ0JFRUhjVFlDQ0VGL0lRSWdCQ0FIVFFSL0lBQWdBQ2dDQUNBRVFRTjJhallDQkNBRFFTQWdBV3QyQlVGL0N3c0RBQUVMeHdFQkJIOGdBQ2dDQkNFQ0FrQWdBQ2dDREVFRGRDQUFLQUlRYXlJRFFTQk9CRUFnQWlnQUFDSUJRUmgwSUFGQkNIUkJnSUQ4QjNGeUlBRkJDSFpCZ1A0RGNTQUJRUmgyY25JaEFTQUFLQUlJSWdCRkRRRWdBU0FBZENBQ0xRQUVRUWdnQUd0MmNnOExJQU5CQVVnRVFFRUFEd3NnQWkwQUFDQUFLQUlJSWdCQkdHb2lCSFFoQVNBQUlBTnFRUWhySWdCQkFVZ05BQU5BSUFJdEFBRWdCRUVJYXlJRWRDQUJjaUVCSUFCQkNFb2hBeUFDUVFGcUlRSWdBRUVJYXlFQUlBTU5BQXNMSUFFTDh3Y0JFbjhqQUVHQURtc2lEeVFBSUFaQkJXb2hDUUpBQWtBZ0FrRUFTQTBBSUFJZ0NXb2dCRXNOQUNBRFFRQklEUUFnQXlBSGFrRUZhaUFGU3cwQUlBTWhDZ3dCQ3lBQUlBOUJ3QXBxSWdBZ0FpQURJQVFnQlNBSklBZEJCV29nQ1JBSklBa2hCRUVBSVFJTElBQWdCQ0FLYkNBQ2Ftb2dCR29pQUNBRVFRVnNhaUVDSUFSQkFYUWhFQ0FIUVFKMklSSkJBQ0FFYXlJTFFRRjBJUllnQkVFQ2RDQUdhMEVGYXlFVElBOGdDVUVDZENJWGFpRURJQWxCQTNRaEdFRjdJQVpyUVFKMElSa2dDVUVEYkVFQ2RDRWFBMEFnQ1NFRkEwQWdBeUFZYWlBQUlCQnFMUUFBSWdvZ0FpQVFhaTBBQUNBQ0lBUnFMUUFBSWhFZ0FpQVdhaTBBQUNJTWFpSU5heUFOUVFKMGEyb2dBaTBBQUNJT0lBSWdDMm90QUFBaURXcEJGR3hxTmdJQUlBTWdGMm9nQUNBRWFpMEFBQ0lWSUJFZ0RDQU5haUlVUVFSMGFpQUtJQTVxSWhGcmFpQVVJQkZyUVFKMGFqWUNBQ0FESUFBdEFBQWlFU0FPSUFvZ0RHb2lGRUVFZEdvZ0RTQVZhaUlPYTJvZ0ZDQU9hMEVDZEdvMkFnQWdBeUFaYWlBQUlBdHFMUUFBSUEwZ0NpQVZhaUlLUVFSMGFpQU1JQkZxSWd4cmFpQUtJQXhyUVFKMGFqWUNBQ0FBUVFGcUlRQWdBMEVFYWlFRElBSkJBV29oQWlBRlFRRnJJZ1VOQUFzZ0FpQVRhaUVDSUFBZ0Uyb2hBQ0FESUJwcUlRTWdFa0VCYXlJU0RRQUxRUkFnQm1zaERpQUdRUUoySVJJZ0R5QUlRUUowYWtFSWFpRUlJQTlCRkdvaEJBTkFJQVJCQkdzb0FnQWhBaUFFUVFocktBSUFJUUFnQkVFTWF5Z0NBQ0VGSUFSQkVHc29BZ0FoQ1NBRVFSUnJLQUlBSVF3Z0VpRU5BMEFnQVNBRUlnc29BZ0FpQmlBTUlBQWdCV29pQTBFRWRHb2dBaUFKYWlJRWF5QURJQVJyUVFKMGFtcEJnQVJxUVFwMVFjQTFhaTBBQUNBSUlnTW9BZ0JCRUdwQkJYVkJ3RFZxTFFBQWFrRUJha0VCZGpvQUFDQUJJQXNvQWdRaUNpQUpJQUFnQW1vaUJFRUVkR29nQlNBR2FpSUlheUFFSUFoclFRSjBhbXBCZ0FScVFRcDFRY0ExYWkwQUFDQURLQUlFUVJCcVFRVjFRY0ExYWkwQUFHcEJBV3BCQVhZNkFBRWdBU0FMS0FJSUloQWdCU0FDSUFacUlnUkJCSFJxSUFBZ0Ntb2lCV3NnQkNBRmEwRUNkR3BxUVlBRWFrRUtkVUhBTldvdEFBQWdBeWdDQ0VFUWFrRUZkVUhBTldvdEFBQnFRUUZxUVFGMk9nQUNJQUVnQ3lnQ0RDSVRJQUFnQmlBS2FpSUVRUVIwYWlBQ0lCQnFJZ0JySUFRZ0FHdEJBblJxYWtHQUJHcEJDblZCd0RWcUxRQUFJQU1vQWd4QkVHcEJCWFZCd0RWcUxRQUFha0VCYWtFQmRqb0FBeUFCUVFScUlRRWdBMEVRYWlFSUlBdEJFR29oQkNBQ0lRd2dCaUVKSUFvaEJTQVFJUUFnRXlFQ0lBMUJBV3NpRFEwQUN5QUJJQTVxSVFFZ0EwRWthaUVJSUF0QkpHb2hCQ0FIUVFGcklnY05BQXNnRDBHQURtb2tBQXZnQndFTmZ5TUFRWUFPYXlJUkpBQWdCa0VGYWlFSkFrQUNRQ0FDUVFCSURRQWdBaUFKYWlBRVN3MEFJQU5CQUVnTkFDQUhRUVZxSWc0Z0Eyb2dCVXNOQUNBRUlRa2dBeUVLREFFTElBQWdFVUhBQ21vaUFDQUNJQU1nQkNBRklBa2dCMEVGYWlJT0lBa1FDVUVBSVFJTElBNEVRQ0FKSUFacklSTWdCa0VDZGlFU0lBQWdDU0FLYkNBQ2FtcEJCV29oQWlBUklRQURRQ0FDUVFGckxRQUFJUWtnQWtFQ2F5MEFBQ0VESUFKQkEyc3RBQUFoQlNBQ1FRUnJMUUFBSVFvZ0FrRUZheTBBQUNFTElCSWhEUU5BSUFBZ0FpMEFBQ0lFSUFzZ0F5QUZhaUlNUVFSMGFpQUpJQXBxSWd0cklBd2dDMnRCQW5ScWFqWUNBQ0FBSUFJdEFBRWlEQ0FLSUFNZ0NXb2lDMEVFZEdvZ0JDQUZhaUlLYTJvZ0N5QUthMEVDZEdvMkFnUWdBQ0FDTFFBQ0lnOGdCU0FFSUFscUlnVkJCSFJxSUFNZ0RHb2lDbXRxSUFVZ0NtdEJBblJxTmdJSUlBQWdBaTBBQXlJVUlBTWdCQ0FNYWlJRFFRUjBhaUFKSUE5cUlnVnJhaUFESUFWclFRSjBhallDRENBQVFSQnFJUUFnQWtFRWFpRUNJQWtoQ3lBRUlRb2dEQ0VGSUE4aEF5QVVJUWtnRFVFQmF5SU5EUUFMSUFJZ0Uyb2hBaUFPUVFGcklnNE5BQXNMSUJFZ0JrRUNkQ0lFYWlJSklBWkJGR3hxSVFJZ0NTQUlRUUpxSUFac1FRSjBhaUVBSUFkQkFuWWhDRUhBQUNBR2F5RVVRUUFnQm1zaURrRURkQ0VUSUFaQkEzUWhCU0FHUVFOc1FRSjBJUWNEUUNBR0lRTURRQ0FCSUFVZ0NXb29BZ0FpQ2lBQ0lBVnFLQUlBSUFJZ0JHb29BZ0FpRUNBQ0lCTnFLQUlBSWd4cUlndHJJQXRCQW5ScmFpQUNLQUlBSWcwZ0FpQU9RUUowSWc5cUtBSUFJZ3RxUVJSc2FrR0FCR3BCQ25WQndEVnFMUUFBSUFBZ0JXb29BZ0JCRUdwQkJYVkJ3RFZxTFFBQWFrRUJha0VCZGpvQU1DQUJJQVFnQ1dvb0FnQWlFaUFRSUFzZ0RHb2lGVUVFZEdvZ0NpQU5haUlRYXlBVklCQnJRUUowYW1wQmdBUnFRUXAxUWNBMWFpMEFBQ0FBSUFScUtBSUFRUkJxUVFWMVFjQTFhaTBBQUdwQkFXcEJBWFk2QUNBZ0FTQUpLQUlBSWhBZ0RTQUtJQXhxSWhWQkJIUnFJQXNnRW1vaURXc2dGU0FOYTBFQ2RHcHFRWUFFYWtFS2RVSEFOV290QUFBZ0FDZ0NBRUVRYWtFRmRVSEFOV290QUFCcVFRRnFRUUYyT2dBUUlBRWdDU0FQYWlnQ0FDQUxJQW9nRW1vaUNrRUVkR29nRENBUWFpSU1heUFLSUF4clFRSjBhbXBCZ0FScVFRcDFRY0ExYWkwQUFDQUFJQTlxS0FJQVFSQnFRUVYxUWNBMWFpMEFBR3BCQVdwQkFYWTZBQUFnQUVFRWFpRUFJQWxCQkdvaENTQUJRUUZxSVFFZ0FrRUVhaUVDSUFOQkFXc2lBdzBBQ3lBQklCUnFJUUVnQUNBSGFpRUFJQUlnQjJvaEFpQUhJQWxxSVFrZ0NFRUJheUlJRFFBTElCRkJnQTVxSkFBTHBnUUJDWDhqQUVIQUEyc2lDeVFBSUFaQkJXb2hDUUpBQWtBZ0FrRUFTQTBBSUFJZ0NXb2dCRXNOQUNBRFFRQklEUUFnQXlBSGFpQUZTdzBBSUFRaENTQURJUW9NQVFzZ0FDQUxJQUlnQXlBRUlBVWdDU0FISUFrUUNTQUxJUUJCQUNFQ0MwRVFJQVpySVE0Z0NTQUdheUVQSUFaQkFuWWhFQ0FBSUFrZ0Ntd2dBbXBxUVFWcUlRQURRQ0FBUVFGckxRQUFJUWtnQUVFQ2F5MEFBQ0VDSUFCQkEyc3RBQUFoQXlBQVFRUnJMUUFBSVFvZ0FFRUZheTBBQUNFR0lCQWhEQU5BSUFFZ0FDMEFBQ0lFSUFZZ0FpQURhaUlGUVFSMGFpQUpJQXBxSWdacklBVWdCbXRCQW5ScWFrRVFha0VGZFVIQU5Xb3RBQUFnQWlBRElBZ2Jha0VCYWtFQmRqb0FBQ0FCSUFBdEFBRWlCU0FLSUFJZ0NXb2lCa0VFZEdvZ0F5QUVhaUlLYTJvZ0JpQUthMEVDZEdwQkVHcEJCWFZCd0RWcUxRQUFJQWtnQWlBSUcycEJBV3BCQVhZNkFBRWdBU0FBTFFBQ0lnMGdBeUFFSUFscUlnWkJCSFJxSUFJZ0JXb2lBMnRxSUFZZ0EydEJBblJxUVJCcVFRVjFRY0ExYWkwQUFDQUVJQWtnQ0J0cVFRRnFRUUYyT2dBQ0lBRWdBQzBBQXlJUklBSWdCQ0FGYWlJRFFRUjBhaUFKSUExcUlnSnJhaUFESUFKclFRSjBha0VRYWtFRmRVSEFOV290QUFBZ0JTQUVJQWdiYWtFQmFrRUJkam9BQXlBQlFRUnFJUUVnQUVFRWFpRUFJQWtoQmlBRUlRb2dCU0VESUEwaEFpQVJJUWtnREVFQmF5SU1EUUFMSUFFZ0Rtb2hBU0FBSUE5cUlRQWdCMEVCYXlJSERRQUxJQXRCd0FOcUpBQUx6UVFCREg4akFFSEFBMnNpRHlRQUFrQUNRQ0FDUVFCSURRQWdBaUFHYWlBRVN3MEFJQU5CQUVnTkFDQURJQWRxUVFWcUlBVkxEUUFnQXlFSkRBRUxJQUFnRHlBQ0lBTWdCQ0FGSUFZZ0IwRUZhaUFHRUFrZ0R5RUFJQVloQkVFQUlRSUxJQUFnQkNBSmJDQUNhbW9nQkdvaUFDQUVRUVZzYWlFQ0lBQWdCQ0FJUVFKcWJHb2hBeUFIUVFKMklSRkJ3QUFnQm1zaEV5QUVRUUYwSVFjZ0JFRUNkQ0FHYXlFSVFRQWdCR3NpQ1VFQmRDRVVBMEFnQmlFRkEwQWdBU0FBSUFkcUxRQUFJZ29nQWlBSGFpMEFBQ0FDSUFScUxRQUFJZ3NnQWlBVWFpMEFBQ0lNYWlJTmF5QU5RUUowYTJvZ0FpMEFBQ0lPSUFJZ0NXb3RBQUFpRFdwQkZHeHFRUkJxUVFWMVFjQTFhaTBBQUNBRElBZHFMUUFBYWtFQmFrRUJkam9BTUNBQklBQWdCR290QUFBaUVpQUxJQXdnRFdvaUVFRUVkR29nQ2lBT2FpSUxheUFRSUF0clFRSjBhbXBCRUdwQkJYVkJ3RFZxTFFBQUlBTWdCR290QUFCcVFRRnFRUUYyT2dBZ0lBRWdBQzBBQUNJTElBNGdDaUFNYWlJUVFRUjBhaUFOSUJKcUlnNXJJQkFnRG10QkFuUnFha0VRYWtFRmRVSEFOV290QUFBZ0F5MEFBR3BCQVdwQkFYWTZBQkFnQVNBQUlBbHFMUUFBSUEwZ0NpQVNhaUlLUVFSMGFpQUxJQXhxSWd4cklBb2dER3RCQW5ScWFrRVFha0VGZFVIQU5Xb3RBQUFnQXlBSmFpMEFBR3BCQVdwQkFYWTZBQUFnQTBFQmFpRURJQUJCQVdvaEFDQUJRUUZxSVFFZ0FrRUJhaUVDSUFWQkFXc2lCUTBBQ3lBQklCTnFJUUVnQXlBSWFpRURJQUlnQ0dvaEFpQUFJQWhxSVFBZ0VVRUJheUlSRFFBTElBOUJ3QU5xSkFBTDZnWUJDSDhDUUNBQUtBSUFJZ0VvQWhSRkRRQWdBVUVBTmdJVUlBRW9BaGdOQUNBQUlBQW9BaXhCQVdzMkFpd0xBa0FnQVNnQ1BFVU5BQ0FCUVFBMkFqd2dBVUZBYXlnQ0FBMEFJQUFnQUNnQ0xFRUJhellDTEFzQ1FDQUJLQUprUlEwQUlBRkJBRFlDWkNBQktBSm9EUUFnQUNBQUtBSXNRUUZyTmdJc0N3SkFJQUVvQW93QlJRMEFJQUZCQURZQ2pBRWdBU2dDa0FFTkFDQUFJQUFvQWl4QkFXczJBaXdMQWtBZ0FTZ0N0QUZGRFFBZ0FVRUFOZ0swQVNBQktBSzRBUTBBSUFBZ0FDZ0NMRUVCYXpZQ0xBc0NRQ0FCS0FMY0FVVU5BQ0FCUVFBMkF0d0JJQUVvQXVBQkRRQWdBQ0FBS0FJc1FRRnJOZ0lzQ3dKQUlBRW9Bb1FDUlEwQUlBRkJBRFlDaEFJZ0FTZ0NpQUlOQUNBQUlBQW9BaXhCQVdzMkFpd0xBa0FnQVNnQ3JBSkZEUUFnQVVFQU5nS3NBaUFCS0FLd0FnMEFJQUFnQUNnQ0xFRUJhellDTEFzQ1FDQUJLQUxVQWtVTkFDQUJRUUEyQXRRQ0lBRW9BdGdDRFFBZ0FDQUFLQUlzUVFGck5nSXNDd0pBSUFFb0F2d0NSUTBBSUFGQkFEWUMvQUlnQVNnQ2dBTU5BQ0FBSUFBb0FpeEJBV3MyQWl3TEFrQWdBU2dDcEFORkRRQWdBVUVBTmdLa0F5QUJLQUtvQXcwQUlBQWdBQ2dDTEVFQmF6WUNMQXNDUUNBQktBTE1BMFVOQUNBQlFRQTJBc3dESUFFb0F0QUREUUFnQUNBQUtBSXNRUUZyTmdJc0N3SkFJQUVvQXZRRFJRMEFJQUZCQURZQzlBTWdBU2dDK0FNTkFDQUFJQUFvQWl4QkFXczJBaXdMQWtBZ0FTZ0NuQVJGRFFBZ0FVRUFOZ0tjQkNBQktBS2dCQTBBSUFBZ0FDZ0NMRUVCYXpZQ0xBc0NRQ0FCS0FMRUJFVU5BQ0FCUVFBMkFzUUVJQUVvQXNnRURRQWdBQ0FBS0FJc1FRRnJOZ0lzQ3dKQUlBRW9BdXdFUlEwQUlBRkJBRFlDN0FRZ0FTZ0M4QVFOQUNBQUlBQW9BaXhCQVdzMkFpd0xJQUFvQWpnaEJnTkFBa0FnQmcwQUlBQW9BaHdoQjBFQUlRSkIvLy8vL3djaEEwRUFJUVFEUUNBQklBUkJLR3hxSWdVb0FoZ0VRQ0FGSUFJZ0JTZ0NFQ0lGSUFOSUlnZ2JJUUlnQlNBRElBZ2JJUU1MSUFSQkFXb2lCQ0FIVFEwQUN5QUNSUTBBSUFBb0Fnd2dBQ2dDRUNJRVFRUjBhaUlESUFJb0FnQTJBZ0FnQXlBQ0tBSWtOZ0lNSUFNZ0FpZ0NIRFlDQkNBRElBSW9BaUEyQWdnZ0FDQUVRUUZxTmdJUUlBSkJBRFlDR0NBQ0tBSVVEUUVnQUNBQUtBSXNRUUZyTmdJc0RBRUxDeUFBUVFBMkFqQWdBRUwvL3dNM0FpUUwyUThCQ244Z0FpQUFLQUlJSWdrb0FnQkdCRUFnQUVFQU5nSTBJQUFvQWpnaUFrVWhFUUpBSUFGRkJFQWdDU0FETmdJTUlBbEJBRFlDRkNBSklCRTJBaGdnQ1NBRU5nSVFJQWtnQXpZQ0NDQUNEUUVnQUNBQUtBSXNRUUZxTmdJc0RBRUxJQVVFUUNBQVFnQTNBaEFnQUJBYkFrQWdBU2dDQUVVRVFDQUFLQUk0UlEwQkN5QUFRZ0EzQWhBTElBQW9BZ2dpQWtFRFFRSWdBU2dDQkNJQkd6WUNGQ0FBUVFCQi8vOERJQUViTmdJa0lBSWdFVFlDR0NBQ1FRQTJBaEFnQWtJQU53SUlJQUJDZ1lDQWdCQTNBaWdNQVFzQ1FBSkFJQUVvQWdnRVFFRUFJUWtEUUFKQUFrQUNRQUpBQWtBQ1FBSkFJQUVnQ1VFVWJHb2lBaWdDREVFQmF3NEdBQUVDQXdRRkNRc2dBQ2dDR0NJS1JRMElJQU1nQWlnQ0VHc2hDeUFBS0FJQUlReEJBQ0VDQTBBQ1FDQU1JQUpCS0d4cUlnZ29BaFJCQVd0QkFVMEVRQ0FJS0FJSUlBdEdEUUVMSUFKQkFXb2lBaUFLUncwQkRBb0xDeUFDUVFCSURRZ2dDRUVBTmdJVUlBQWdBQ2dDS0VFQmF6WUNLQ0FJS0FJWURRVWdBQ0FBS0FJc1FRRnJOZ0lzSUFsQkFXb2hDUXdHQ3lBQUtBSVlJZ3BGRFFjZ0FpZ0NGQ0VMSUFBb0FnQWhERUVBSVFJRFFBSkFJQXdnQWtFb2JHb2lDQ2dDRkVFRFJnUkFJQWdvQWdnZ0MwWU5BUXNnQWtFQmFpSUNJQXBIRFFFTUNRc0xJQUpCQUVnTkJ5QUlRUUEyQWhRZ0FDQUFLQUlvUVFGck5nSW9JQWdvQWhnTkJDQUFJQUFvQWl4QkFXczJBaXdnQ1VFQmFpRUpEQVVMSUFBb0FpUWlDRUgvL3dOR0RRWWdDQ0FDS0FJWUlndEpEUVlnQUNnQ0dDSUlSUTBHSUFJb0FoQWhEeUFBS0FJQUlReEJBQ0VDQTBBQ1FBSkFJQXdnQWtFb2JHb2lDaWdDRkVFRFJ3MEFJQW9vQWdnZ0MwY05BQ0FLUVFBMkFoUWdBQ0FBS0FJb1FRRnJOZ0lvSUFvb0FoZ05BU0FBSUFBb0FpeEJBV3MyQWl3TUFRc2dBa0VCYWlJQ0lBaEhEUUVMQ3lBSVFRRWdDRUVCU3hzaENpQURJQTlySVE5QkFDRUNBMEFDUUNBTUlBSkJLR3hxSWdnb0FoUWlEVUVCYTBFQlRRUkFJQWdvQWdnZ0QwWU5BUXNnQWtFQmFpSUNJQXBIRFFFTUNBc0xJQUpCQUVnTkJpQU5RUUpKRFFZZ0NFRUROZ0lVSUFnZ0N6WUNDQ0FKUVFGcUlRa01CQXNnQUNBQ0tBSWNJZ28yQWlRZ0FDZ0NHQ0lMUlEwQ0lBQW9BZ0FoREVFQUlRSWdDa0gvL3dOR0JFQURRQUpBSUF3Z0FrRW9iR29pQ0NnQ0ZFRURSdzBBSUFoQkFEWUNGQ0FBSUFBb0FpaEJBV3MyQWlnZ0NDZ0NHQTBBSUFBZ0FDZ0NMRUVCYXpZQ0xBc2dBa0VCYWlJQ0lBdEhEUUFNQkFzQUN3TkFBa0FnRENBQ1FTaHNhaUlJS0FJVVFRTkhEUUFnQ0NnQ0NDQUtUUTBBSUFoQkFEWUNGQ0FBSUFBb0FpaEJBV3MyQWlnZ0NDZ0NHQTBBSUFBZ0FDZ0NMRUVCYXpZQ0xBc2dBa0VCYWlJQ0lBdEhEUUFMREFJTElBQVFHeUFBUVFFMkFqUkJBQ0VESUFsQkFXb2hDUXdDQ3lBQUtBSWtJZ2hCLy84RFJnMERJQWdnQWlnQ0dDSUtTUTBEQWtBZ0FDZ0NHQ0lMUlEwQUlBQW9BZ0FoREVFQUlRSURRQUpBSUF3Z0FrRW9iR29pQ0NnQ0ZFRURSdzBBSUFnb0FnZ2dDa2NOQUNBSVFRQTJBaFFnQUNBQUtBSW9RUUZyTmdJb0lBZ29BaGdOQWlBQUlBQW9BaXhCQVdzMkFpd01BZ3NnQWtFQmFpSUNJQXRIRFFBTEN5QUFLQUlvSWdnZ0MwOE5BeUFBS0FJSUlnSkJBellDRkNBQ0lBUTJBaEFnQWlBS05nSUlJQUlnQXpZQ0RDQUNJQUFvQWpoRk5nSVlRUUVoRGlBQUlBaEJBV28yQWlnZ0FDQUFLQUlzUVFGcU5nSXNDeUFKUVFGcUlRa01BQXNBQ3lBQUtBSW9JZ2dnQUNnQ0dDSUxTUTBCSUFoRkJFQkJBQ0VJREFJTElBQW9BZ0FoQ2tFQUlRbEJmeUVCQWtBZ0NFRUJSd1JBSUFoQkFYRWhEMEVBSVFJZ0NFRitjU0lPSVF3RFFDQUtJQUpCS0d4cUlnMG9BaFJCQVd0QkFVMEVRQ0FOS0FJSUlnMGdDU0FCUVg5R0lBa2dEVXB5SWcwYklRa2dBaUFCSUEwYklRRUxJQW9nQWtFQmNpSU5RU2hzYWlJUUtBSVVRUUZyUVFKSkJFQWdFQ2dDQ0NJUUlBa2dBVUYvUmlBSklCQktjaUlRR3lFSklBMGdBU0FRR3lFQkN5QUNRUUpxSVFJZ0RFRUNheUlNRFFBTElBOUZEUUVMSUFvZ0RrRW9iR29pQWlnQ0ZFRUJhMEVCU3cwQUlBNGdEaUFCSUFGQmYwWWJJQUlvQWdnZ0NVZ2JJUUVMSUFGQkFFZ05BU0FLSUFGQktHeHFJZ0ZCQURZQ0ZDQUFJQWhCQVdzaUNEWUNLQ0FCS0FJWURRRWdBQ0FBS0FJc1FRRnJOZ0lzREFFTElBNE5BU0FBS0FJWUlRc2dBQ2dDS0NFSUN5QUlJQXRQRFFBZ0FDZ0NDQ0lCSUJFMkFoZ2dBVUVDTmdJVUlBRWdCRFlDRUNBQklBTTJBZ2dnQVNBRE5nSU1JQUFnQ0VFQmFqWUNLQ0FBSUFBb0FpeEJBV28yQWl3TElBQW9BZ2dpQVNBSE5nSWdJQUVnQmpZQ0hDQUJJQVUyQWlRQ1FDQUFLQUk0UlFSQUlBQW9BaXdpQVNBQUtBSWNJZ05ORFFFZ0FDZ0NBQ0VHQTBCQi8vLy8vd2NoQlVFQUlRbEJBQ0VDQTBBZ0JpQUNRU2hzYWlJRUtBSVlCRUFnQkNBSklBUW9BaEFpQkNBRlNDSUhHeUVKSUFRZ0JTQUhHeUVGQ3lBQ1FRRnFJZ0lnQTAwTkFBc0NRQ0FKUlEwQUlBQW9BZ3dnQUNnQ0VDSUVRUVIwYWlJQ0lBa29BZ0EyQWdBZ0FpQUpLQUlrTmdJTUlBSWdDU2dDSERZQ0JDQUNJQWtvQWlBMkFnZ2dBQ0FFUVFGcU5nSVFJQWxCQURZQ0dDQUpLQUlVRFFBZ0FDQUJRUUZySWdFMkFpd0xJQUVnQTBzTkFBc01BUXNnQVNnQ0FDRUNJQUFvQWd3Z0FDZ0NFQ0lEUVFSMGFpSUJJQVUyQWd3Z0FTQUNOZ0lBSUFFZ0J6WUNDQ0FCSUFZMkFnUWdBQ0FEUVFGcU5nSVFJQUFvQWh3aEF3c2dBQ2dDQUNBRFFRRnFFQjBMQzhjRUFneC9BbjVCQnlFRkl3QkJFR3NpQ3lFTUEwQWdBU0FGU3dSQVFRQWdCV3NoQnlBRklRWURRQ0FBSUFaQktHeHFJZ0lvQWhnaERTQUNLUUlNSVE0Z0FpZ0NDQ0VJSUFJcEFnQWhEeUFDS0FJVUlRa2dEQ0FDS0FJa05nSUlJQXNnQWlrQ0hEY0RBQUpBSUFZaUFpQUZTUTBBSUFsRkJFQWdEVVVOQVFOQUlBQWdBa0VvYkdvaUJDQUhRU2hzYWlJREtBSVVEUUlnQXlnQ0dBMENJQVFnQUNBQ0lBVnJJZ0pCS0d4cUlnTXBBZ0EzQWdBZ0JDQURLUUlnTndJZ0lBUWdBeWtDR0RjQ0dDQUVJQU1wQWhBM0FoQWdCQ0FES1FJSU53SUlJQUlnQlU4TkFBc01BUXNnQ1VFQmEwRUJUUVJBQTBBQ1FDQUFJQUpCS0d4cUlnUWdCMEVvYkdvaUF5Z0NGQ0lLUlEwQUlBcEJBV3RCQVVzTkFDQURLQUlJSUFoT0RRTUxJQVFnQUNBQ0lBVnJJZ0pCS0d4cUlnTXBBZ0EzQWdBZ0JDQURLUUlnTndJZ0lBUWdBeWtDR0RjQ0dDQUVJQU1wQWhBM0FoQWdCQ0FES1FJSU53SUlJQUlnQlU4TkFBd0NDd0FMQTBBZ0FDQUNRU2hzYWlJRUlBZEJLR3hxSWdNb0FoUWlDZ1JBSUFwQkFXdEJBa2tOQWlBREtBSUlJQWhNRFFJTElBUWdBQ0FDSUFWcklnSkJLR3hxSWdNcEFnQTNBZ0FnQkNBREtRSWdOd0lnSUFRZ0F5a0NHRGNDR0NBRUlBTXBBaEEzQWhBZ0JDQURLUUlJTndJSUlBSWdCVThOQUFzTElBQWdBa0VvYkdvaUFpQU5OZ0lZSUFJZ0NUWUNGQ0FDSUE0M0Fnd2dBaUFJTmdJSUlBSWdEemNDQUNBQ0lBc3BBd0EzQWh3Z0FpQU1LQUlJTmdJa0lBWkJBV29pQmlBQlJ3MEFDd3NnQlVFQlN5RUdJQVZCQVhZaEJTQUdEUUFMQzlZTEFRcC9RUUVoQndKQUlBQWdBUkFDRFFBZ0FTQUJLQUlBUVFGcUlnbzJBZ0FnQ2tFZ1N3MEFJQUFvQWdRaEJBSkFJQUFvQWd4QkEzUWlDQ0FBS0FJUUlnWnJJZ05CSUU0RVFDQUVLQUFBSWdKQkdIUWdBa0VJZEVHQWdQd0hjWElnQWtFSWRrR0EvZ054SUFKQkdIWnljaUVDSUFBb0FnZ2lBMFVOQVNBQ0lBTjBJQVF0QUFSQkNDQURhM1p5SVFJTUFRc2dBMEVCU0FSQURBRUxJQVF0QUFBZ0FDZ0NDQ0lKUVJocUlnVjBJUUlnQXlBSmFrRUlheUlEUVFGSURRQURRQ0FFTFFBQklBVkJDR3NpQlhRZ0FuSWhBaUFEUVFoS0lRa2dCRUVCYWlFRUlBTkJDR3NoQXlBSkRRQUxDeUFBSUFaQkJHb2lCVFlDRUNBQUlBVkJCM0VpQXpZQ0NDQUZJQWhMRFFBZ0FDQUFLQUlBSWdrZ0JVRURkbW9pQkRZQ0JDQUJJQUpCSEhZMkFnUUNRQ0FJSUFWcklndEJJRTRFUUNBRUtBQUFJZ0pCR0hRZ0FrRUlkRUdBZ1B3SGNYSWdBa0VJZGtHQS9nTnhJQUpCR0haeWNpRUNJQU5GRFFFZ0FpQURkQ0FFTFFBRVFRZ2dBMnQyY2lFQ0RBRUxJQXRCQVVnRVFFRUFJUUlNQVFzZ0JDMEFBQ0FEUVJoeUlnVjBJUUlnQXlBTGFrRUlheUlEUVFGSURRQURRQ0FFTFFBQklBVkJDR3NpQlhRZ0FuSWhBaUFEUVFoS0lRc2dCRUVCYWlFRUlBTkJDR3NoQXlBTERRQUxDeUFBSUFaQkIzRTJBZ2dnQUNBR1FRaHFJZ1UyQWhBZ0JTQUlTdzBBSUFBZ0NTQUZRUU4yYWlJRU5nSUVJQUVnQWtFY2RqWUNDQ0FLQkVCQkFDRUlBMEFnQUNBQklBaEJBblJxSWdVaUFrRU1haEFDQkVCQkFROExJQUlvQWd3aUJFRi9SZ1JBUVFFUEN5QUNJQVJCQVdvaUJEWUNEQ0FDSUFRZ0FTZ0NCRUVHYW5RMkFnd2dBQ0FGUVl3QmFoQUNEUUlnQlNnQ2pBRWlBa0YvUmcwQ0lBVWdBa0VCYWlJQ05nS01BU0FGSUFJZ0FTZ0NDRUVFYW5RMkFvd0JJQUFvQWdRaEJBSkFJQUFvQWd4QkEzUWlDU0FBS0FJUUlnWnJJZ05CSUU0RVFDQUVLQUFBSWdKQkdIUWdBa0VJZEVHQWdQd0hjWElnQWtFSWRrR0EvZ054SUFKQkdIWnljaUVDSUFBb0FnZ2lBMFVOQVNBQ0lBTjBJQVF0QUFSQkNDQURhM1p5SVFJTUFRc2dBMEVCU0FSQVFRQWhBZ3dCQ3lBRUxRQUFJQUFvQWdnaUNrRVlhaUlIZENFQ0lBTWdDbXBCQ0dzaUEwRUJTQTBBQTBBZ0JDMEFBU0FIUVFocklnZDBJQUp5SVFJZ0EwRUlTaUVLSUFSQkFXb2hCQ0FEUVFocklRTWdDZzBBQ3d0QkFTRUhJQUFnQmtFQmFpSUVOZ0lRSUFBZ0JFRUhjVFlDQ0NBRUlBbExEUUlnQUNBQUtBSUFJZ2tnQkVFRGRtb2lCRFlDQkNBRklBSkJIM1kyQW93Q0lBaEJBV29pQ0NBQktBSUFTUTBBQ3lBQUtBSU1RUU4wSVFnZ0FDZ0NFQ0VGQ3dKQUlBZ2dCV3NpQTBFZ1RnUkFJQVFvQUFBaUFrRVlkQ0FDUVFoMFFZQ0EvQWR4Y2lBQ1FRaDJRWUQrQTNFZ0FrRVlkbkp5SVFJZ0FDZ0NDQ0lEUlEwQklBSWdBM1FnQkMwQUJFRUlJQU5yZG5JaEFnd0JDeUFEUVFGSUJFQkJBQ0VDREFFTElBUXRBQUFnQUNnQ0NDSUdRUmhxSWdkMElRSWdBeUFHYWtFSWF5SURRUUZJRFFBRFFDQUVMUUFCSUFkQkNHc2lCM1FnQW5JaEFpQURRUWhLSVFZZ0JFRUJhaUVFSUFOQkNHc2hBeUFHRFFBTEN5QUFJQVZCQldvaUJqWUNFQ0FBSUFaQkIzRWlBellDQ0VFQklRY2dCaUFJU3cwQUlBQWdDU0FHUVFOMmFpSUVOZ0lFSUFFZ0FrRWJka0VCYWpZQ2pBTUNRQ0FJSUFacklnWkJJRTRFUUNBRUtBQUFJZ0pCR0hRZ0FrRUlkRUdBZ1B3SGNYSWdBa0VJZGtHQS9nTnhJQUpCR0haeWNpRUNJQU5GRFFFZ0FpQURkQ0FFTFFBRVFRZ2dBMnQyY2lFQ0RBRUxJQVpCQVVnRVFFRUFJUUlNQVFzZ0JDMEFBQ0FEUVJoeUlnZDBJUUlnQXlBR2FrRUlheUlEUVFGSURRQURRQ0FFTFFBQklBZEJDR3NpQjNRZ0FuSWhBaUFEUVFoS0lRWWdCRUVCYWlFRUlBTkJDR3NoQXlBR0RRQUxDeUFBSUFWQkNtb2lCRFlDRUNBQUlBUkJCM0UyQWdoQkFTRUhJQVFnQ0VzTkFDQUFJQWtnQkVFRGRtbzJBZ1FnQVNBQ1FSdDJRUUZxTmdLUUF5QUFRUVVRRkNJQ1FYOUdEUUFnQVNBQ1FRRnFOZ0tVQXlBQVFRVVFGQ0lBUVg5R0RRQWdBU0FBTmdLWUEwRUFJUWNMSUFjTHFBd0JDbjhDUUNBQlFRUlBCRUJCQUNBRGF5SU1RUUYwSVFzQ1FDQUNLQUlFSWdFZ0FDQURheUlHTFFBQUlnY2dBQzBBQUNJSWF5SUtJQXBCSDNVaUNtb2dDbk5ORFFBZ0FpZ0NDQ0lGSUFBZ0Myb3RBQUFpQ2lBSGF5SUpJQWxCSDNVaUNXb2dDWE5ORFFBZ0JTQUFJQU5xTFFBQUlnVWdDR3NpQ1NBSlFSOTFJZ2xxSUFselRRMEFJQVlnQlNBSGFpQUtRUUYwYWtFQ2FrRUNkam9BQUNBQUlBZ2dCVUVCZEdvZ0NtcEJBbXBCQW5ZNkFBQWdBaWdDQkNFQkN3SkFJQUJCQVdvaUJ5QU1haUlKTFFBQUlnZ2dBQzBBQVNJS2F5SUZJQVZCSDNVaUJXb2dCWE1nQVU4TkFDQUNLQUlJSWdZZ0J5QUxhaTBBQUNJRklBaHJJZ1FnQkVFZmRTSUVhaUFFYzAwTkFDQUdJQU1nQjJvdEFBQWlCaUFLYXlJRUlBUkJIM1VpQkdvZ0JITk5EUUFnQ1NBR0lBaHFJQVZCQVhScVFRSnFRUUoyT2dBQUlBY2dDaUFHUVFGMGFpQUZha0VDYWtFQ2Rqb0FBQ0FDS0FJRUlRRUxBa0FnQUVFQ2FpSUhJQXhxSWdrdEFBQWlDQ0FBTFFBQ0lncHJJZ1VnQlVFZmRTSUZhaUFGY3lBQlR3MEFJQUlvQWdnaUJpQUhJQXRxTFFBQUlnVWdDR3NpQkNBRVFSOTFJZ1JxSUFSelRRMEFJQVlnQXlBSGFpMEFBQ0lHSUFwcklnUWdCRUVmZFNJRWFpQUVjMDBOQUNBSklBWWdDR29nQlVFQmRHcEJBbXBCQW5ZNkFBQWdCeUFLSUFaQkFYUnFJQVZxUVFKcVFRSjJPZ0FBSUFJb0FnUWhBUXNDUUNBQVFRTnFJZ2NnREdvaUNTMEFBQ0lJSUFBdEFBTWlDbXNpQlNBRlFSOTFJZ1ZxSUFWeklBRlBEUUFnQWlnQ0NDSUdJQWNnQzJvdEFBQWlCU0FJYXlJRUlBUkJIM1VpQkdvZ0JITk5EUUFnQmlBRElBZHFMUUFBSWdZZ0Ntc2lCQ0FFUVI5MUlnUnFJQVJ6VFEwQUlBa2dCaUFJYWlBRlFRRjBha0VDYWtFQ2Rqb0FBQ0FISUFvZ0JrRUJkR29nQldwQkFtcEJBblk2QUFBZ0FpZ0NCQ0VCQ3dKQUlBQkJCR29pQnlBTWFpSUpMUUFBSWdnZ0FDMEFCQ0lLYXlJRklBVkJIM1VpQldvZ0JYTWdBVThOQUNBQ0tBSUlJZ1lnQnlBTGFpMEFBQ0lGSUFocklnUWdCRUVmZFNJRWFpQUVjMDBOQUNBR0lBTWdCMm90QUFBaUJpQUtheUlFSUFSQkgzVWlCR29nQkhOTkRRQWdDU0FHSUFocUlBVkJBWFJxUVFKcVFRSjJPZ0FBSUFjZ0NpQUdRUUYwYWlBRmFrRUNha0VDZGpvQUFDQUNLQUlFSVFFTEFrQWdBRUVGYWlJSElBeHFJZ2t0QUFBaUNDQUFMUUFGSWdwcklnVWdCVUVmZFNJRmFpQUZjeUFCVHcwQUlBSW9BZ2dpQmlBSElBdHFMUUFBSWdVZ0NHc2lCQ0FFUVI5MUlnUnFJQVJ6VFEwQUlBWWdBeUFIYWkwQUFDSUdJQXBySWdRZ0JFRWZkU0lFYWlBRWMwME5BQ0FKSUFZZ0NHb2dCVUVCZEdwQkFtcEJBblk2QUFBZ0J5QUtJQVpCQVhScUlBVnFRUUpxUVFKMk9nQUFJQUlvQWdRaEFRc0NRQ0FBUVFacUlnY2dER29pQ1MwQUFDSUlJQUF0QUFZaUNtc2lCU0FGUVI5MUlnVnFJQVZ6SUFGUERRQWdBaWdDQ0NJR0lBY2dDMm90QUFBaUJTQUlheUlFSUFSQkgzVWlCR29nQkhOTkRRQWdCaUFESUFkcUxRQUFJZ1lnQ21zaUJDQUVRUjkxSWdScUlBUnpUUTBBSUFrZ0JpQUlhaUFGUVFGMGFrRUNha0VDZGpvQUFDQUhJQW9nQmtFQmRHb2dCV3BCQW1wQkFuWTZBQUFnQWlnQ0JDRUJDeUFCSUFCQkIyb2lBU0FNYWlJSExRQUFJZ3dnQUMwQUJ5SUFheUlJSUFoQkgzVWlDR29nQ0hOTkRRRWdBaWdDQ0NJSUlBRWdDMm90QUFBaUFpQU1heUlMSUF0QkgzVWlDMm9nQzNOTkRRRWdBU0FEYWkwQUFDSURJQUJySWdzZ0MwRWZkU0lMYWlBTGN5QUlUdzBCSUFjZ0F5QU1haUFDUVFGMGFrRUNha0VDZGpvQUFDQUJJQUFnQTBFQmRHb2dBbXBCQW1wQkFuWTZBQUFQQzBFQUlBTnJJZ3BCQVhRaEJTQUJJQUlvQWdCcVFRRnJMUUFBSWdGQmYzTWhCeUFCUVFGcUlRaEJDQ0VCQTBBQ1FDQUNLQUlFSUFBZ0Ntb2lCaTBBQUNJTElBQXRBQUFpREdzaUNTQUpRUjkxSWdscUlBbHpUUTBBSUFJb0FnZ2lDU0FBSUFWcUxRQUFJZ1FnQzJzaURTQU5RUjkxSWcxcUlBMXpUUTBBSUFrZ0FDQURhaTBBQUNJSklBeHJJZzBnRFVFZmRTSU5haUFOYzAwTkFDQUdJQXNnQnlBSUlBd2dDMnRCQW5RZ0NXc2dCR3BCQkdwQkEzVWlDeUFJSUF0SUd5QUhJQXRLR3lJTGFrSEFOV290QUFBNkFBQWdBQ0FNSUF0clFjQTFhaTBBQURvQUFBc2dBRUVCYWlFQUlBRkJBV3NpQVEwQUN3c0xCZ0FnQUJBRUN3Y0FRY1FhRUFnTHlBTUJBMzhEUUNBQUlBSkJBblJxSWdGQkZHb29BZ0FpQXdSQUlBTW9BaWdRQkNBQktBSVVRUUEyQWlnZ0FTZ0NGQ2dDVkJBRUlBRW9BaFJCQURZQ1ZDQUJLQUlVRUFRZ0FVRUFOZ0lVQ3lBQ1FRRnFJZ0pCSUVjTkFBdEJBQ0VDQTBBZ0FDQUNRUUowYWlJQlFaUUJhaWdDQUNJREJFQWdBeWdDRkJBRUlBRW9BcFFCUVFBMkFoUWdBU2dDbEFFb0FoZ1FCQ0FCS0FLVUFVRUFOZ0lZSUFFb0FwUUJLQUljRUFRZ0FTZ0NsQUZCQURZQ0hDQUJLQUtVQVNnQ0xCQUVJQUVvQXBRQlFRQTJBaXdnQVNnQ2xBRVFCQ0FCUVFBMkFwUUJDeUFDUVFGcUlnSkJnQUpIRFFBTElBQW9BckFhRUFSQkFDRUNJQUJCQURZQ3NCb2dBQ2dDdkFrUUJDQUFRUUEyQXJ3SklBQW9BcFFKRUFRZ0FFRUFOZ0tVQ1NBQUtBSzhHaUlEQkVBZ0F4QUVJQUJCQURZQ3ZCb0xBa0FnQUNnQ3hBa2lBMFVOQUNBQVFlQUphaWdDQUVGL1JnUkFJQU1oQWd3QkMwRUFJUUVnQXlFQ0EwQWdBaUFCUVNoc0lnTnFLQUlFRUFRZ0FDZ0N4QWtpQWlBRGFrRUFOZ0lFSUFGQkFXb2lBU0FBS0FMZ0NVRUJha2tOQUFzTElBSVFCQ0FBUVFBMkFzUUpJQUJCeUFscUlnTW9BZ0FRQkNBRFFRQTJBZ0FnQUVIUUNXb2lBQ2dDQUJBRUlBQkJBRFlDQUF2TjN3UUNhSDhDZmlNQVFmQUJheUlMSkFBZ0FFSHNER29oVkNBQVFiUVNhaUZWSUFCQjJBcHFJVllnQUVIRUNXb2hPQ0FBUWJnS2FpRXJJQUJCbkJwcUlUd2dDMEcwQVdvaFZ5QUxRYkFCYWlGWUlBdEJyQUZxSVZrZ0MwR29BV29oV2lBTFFaUUJhaUZiSUF0QmpBRnFJVndnQzBId0FHb2hYU0FMUVRCcUlWNGdDMEVnYWtFRWNpRmZBMEFnQVNBeWFpRUJJQUlnTW1zaEFnSkFBa0FDUUFKQUlBQW9BcEFhUlEwQUlBQW9BcFFhSUFGSERRQWdDeUE4S0FJUU5nSVlJQXNnUENrQ0NEY0RFQ0E4S1FJQUlXNUJBQ0VLSUF0QkFEWUNHQ0FMUVFBMkFoQWdDeUJ1TndNSUlBc2diajRDRENBQUtBS1lHaUV5SUFzb0FoUWhCZ3dCQ3dKQUFrQWdBa0VFU1EwQUlBRXRBQUFOQUNBQkxRQUJEUUFnQVMwQUFpSU5RUUZMRFFCQkF5RUhJQUZCQTJvaENVRUNJVElEUUNBSklRWUNRQ0FOUWY4QmNTSUlSUVJBSURKQkFXb2hNZ3dCQzBFQUlRa2dDRUVCUndSQVFRQWhNZ3dCQ3lBeVFRRkxJUWhCQUNFeUlBaEZEUUFnQnlFeVFRQWhHRUVBSVJJRFFFRUJJQmdnQ1NBR0xRQUFJZ3BGYWlJSVFRSkdHeUFZSUFwQkEwWWJJUmdDUUNBS1FRRkhEUUFnQ0VFQ1NRMEFJQXNnTWlBSElBaHFheUlHTmdJVVFRQWdDRUVEYXlJSklBZ2dDVWtiSVFrTUJRdEJBQ0FJSUFvYklRbEJBU0FTSUFoQkFrc2JJQklnQ2hzaEVpQUdRUUZxSVFZZ01rRUJhaUl5SUFKSERRQUxJQXNnQWlBSElBbHFheUlHTmdJVURBTUxJQVpCQVdvaENTQUdMUUFBSVExQkF5RU1RUUFoQ2lBSFFRRnFJZ2NnQWtjTkFBc2dBaUV5REFRTElBc2dBallDRkVFQklSaEJBQ0VISUFJaEJrRUFJUWxCQUNFU0MwRUFJUW9nQzBFQU5nSVlJQXRCQURZQ0VDQUxJQUVnQjJvaURUWUNEQ0FMSUEwMkFnZ2dCeUFKYWlBR2FpRXlRUU1oRENBU0RRSWdHQVJBSUEwaEJ5QUxJQVlFZndOQUlBWkJBV3NoQmlBSExRQUFJUWdDZnlBS1FRSkdCRUFnQ0VFRFJnUkFJQVpGQkVCQkFDRUtEQWtMUVFBaUNpQUhMUUFCUVFOTkRRSWFEQWdMSUFoQkEwa05CZ3NnRFNBSU9nQUFJQTFCQVdvaERVRUFJQXBCQVdvZ0NCc0xJUW9nQjBFQmFpRUhJQVlOQUFzZ0N5Z0NHQ0VLSUFzb0FoUUZRUUFMSUEwZ0IydHFJZ1kyQWhRTElEd2dDeWtEQ0RjQ0FDQThJQXNvQWhnMkFoQWdQQ0FMS1FNUU53SUlJQUFnQVRZQ2xCb2dBQ0F5TmdLWUdnc2dBRUVBTmdLUUdnSkFJQVpCQTNRaUdDQUtheUlHUVFGclFSNUxEUUFnQmlBTEtBSVFha0VJYXlJR1FRRklEUUFEUUNBR1FRaEtJUWNnQmtFSWF5RUdJQWNOQUFzTElBc2dDa0VCYWlJSE5nSVlJQXNnQjBFSGNTSUlOZ0lRSUFjZ0dFc0VRRUVESVF4QkFDRUtEQUlMSUFzZ0N5Z0NDQ0lPSUFkQkEzWnFJZ1kyQWd3Q1FDQVlJQWRySWcxQklFNEVRQ0FHS0FBQUlnZEJHSFFnQjBFSWRFR0FnUHdIY1hJZ0IwRUlka0dBL2dOeElBZEJHSFp5Y2lFSklBaEZEUUVnQ1NBSWRDQUdMUUFFUVFnZ0NHdDJjaUVKREFFTElBMUJBVWdFUUVFQUlRa01BUXNnQmkwQUFDQUlRUmh5SWd4MElRa2dCaUVISUFnZ0RXcEJDR3NpRFVFQlNBMEFBMEFnQnkwQUFTQU1RUWhySWd4MElBbHlJUWtnRFVFSVNpRUlJQWRCQVdvaEJ5QU5RUWhySVEwZ0NBMEFDd3NnQ3lBS1FRTnFJZ2cyQWhnZ0N5QUlRUWR4SWdjMkFoQkJmeUVTSUFnZ0dFMEVRQ0FMSUE0Z0NFRURkbW9pQmpZQ0RDQUpRUjUySVJJTEFrQWdHQ0FJYXlJSVFTQk9CRUFnQmlnQUFDSUlRUmgwSUFoQkNIUkJnSUQ4QjNGeUlBaEJDSFpCZ1A0RGNTQUlRUmgyY25JaERTQUhSUTBCSUEwZ0IzUWdCaTBBQkVFSUlBZHJkbkloRFF3QkN5QUlRUUZJQkVCQkFDRU5EQUVMSUFZdEFBQWdCMEVZY2lJSmRDRU5JQWNnQ0dwQkNHc2lCMEVCU0EwQUEwQWdCaTBBQVNBSlFRaHJJZ2wwSUExeUlRMGdCMEVJU2lFSUlBWkJBV29oQmlBSFFRaHJJUWNnQ0EwQUN3c2dDeUFLUVFkeE5nSVFJQXNnQ2tFSWFpSUdOZ0lZUVFBaENpQUdJQmhMQkVCQkFDRU1EQUlMSUFzZ0RpQUdRUU4yYWpZQ0RDQU5RUnQySWhwQkFtdEJBMGtFUUVFRElRd01BZ3NDUUNBYVFReExEUUJCQVNBYWRDSUdRY0E4Y1VVRVFDQUdRYUFEY1VVTkFTQVNSUVJBUVFNaERBd0VDeUFhUVFaSERRRkJBeUVNREFNTElCSkZEUUJCQXlFTURBSUxJQnBCQVdzaUUwRUxTd1JBUVFBaERBd0NDd0pBSUJwQkVrc05BQUpBQWtCQkFTQWFkQ0lHUWNEZkgzRkZCRUFnQmtFaWNVVU5BeUFBS0FLMENnUi9JQUJCQURZQ3RBcEJBUVZCQUFzaENpQUxJQXNvQWhnMkF1QUJJQXNnQ3lrRENEY0QwQUVnQ3lBTFFSQnFJaGdwQXdBM0E5Z0JJQXRCMEFGcUlBdEI3QUZxRUFJaUJnMEJJQXRCMEFGcUlBdEI3QUZxRUFJTkJDQUxRZEFCYWlBTFFld0JhaEFDRFFRZ0N5Z0M3QUVpQmtIL0FVc05CQ0FBSUFaQkFuUnFLQUtVQVNJTlJRMENJQUFnRFNnQ0JDSUdRUUowYWlnQ0ZDSUhSUTBDQWtBZ0FDZ0NDQ0lJUVNCR0RRQWdCaUFJUmcwQUlCcEJCVWNOQXdzZ0NpQUtRUUVnRWh0QkFTQUFLQUtZQ2lJR0d5QUdJQkpHR3lFS0FrQUNRQ0FBS0FLVUNrRUZSZ1JBSUJwQkJVY05BUXdDQ3lBYVFRVkhEUUVMUVFFaENnc2dCeWdDRENFR0lBc2dDeWdDR0RZQzRBRWdDeUFZS1FNQU53UFlBU0FMSUFzcEF3ZzNBOUFCSUF0QjBBRnFJQXRCN0FGcUVBSU5CQ0FMUWRBQmFpQUxRZXdCYWhBQ0RRUWdDMEhRQVdvZ0MwSHNBV29RQWcwRVFSOGdCbWNpQ1dzaEp5QUxLQUxVQVNFT0FrQWdDeWdDM0FGQkEzUWlEQ0FMS0FMZ0FTSVVheUlHUVNCT0JFQWdEaWdBQUNJR1FSaDBJQVpCQ0hSQmdJRDhCM0Z5SUFaQkNIWkJnUDREY1NBR1FSaDJjbkloRHlBTEtBTFlBU0lHUlEwQklBOGdCblFnRGkwQUJFRUlJQVpyZG5JaER3d0JDeUFHUVFGSUJFQkJBQ0VQREFFTElBNHRBQUFnQ3lnQzJBRWlFVUVZYWlJSWRDRVBJQVlnRVdwQkNHc2lFVUVCU0EwQUEwQWdEaTBBQVNBSVFRaHJJZ2gwSUE5eUlROGdFVUVJU2lFR0lBNUJBV29oRGlBUlFRaHJJUkVnQmcwQUN3c2dGQ0FuYWlBTVN3MEVJQThnQ1VFQmFuWWlCa0YvUmcwRUlBWWdBQ2dDbkFwSEJFQWdBQ0FHTmdLY0NrRUJJUW9MSUJwQkJVY2lGRVVFUUNBSEtBSU1JUVlnQ3lBTEtBSVlOZ0xnQVNBTElCZ3BBd0EzQTlnQklBc2dDeWtEQ0RjRDBBRWdDMEhRQVdvZ0MwSHNBV29RQWcwRklBdEIwQUZxSUF0QjdBRnFFQUlOQlNBTFFkQUJhaUFMUWV3QmFoQUNEUVZCSHlBR1p5SU1heUVPSUFzb0F0UUJJUkVDUUNBTEtBTGNBVUVEZENJY0lBc29BdUFCSWhkcklnbEJJRTRFUUNBUktBQUFJZ1pCR0hRZ0JrRUlkRUdBZ1B3SGNYSWdCa0VJZGtHQS9nTnhJQVpCR0haeWNpRUlJQXNvQXRnQklnWkZEUUVnQ0NBR2RDQVJMUUFFUVFnZ0JtdDJjaUVJREFFTElBbEJBVWdFUUVFQUlRZ01BUXNnRVMwQUFDQUxLQUxZQVNJblFSaHFJZ1owSVFnZ0NTQW5ha0VJYXlJUFFRRklEUUFEUUNBUkxRQUJJQVpCQ0dzaUJuUWdDSEloQ0NBUFFRaEtJU2NnRVVFQmFpRVJJQTlCQ0dzaER5QW5EUUFMQ3lBTElBNGdGMm9pQmpZQzRBRWdDeUFHUVFkeE5nTFlBU0FHSUJ4TERRVWdDeUFMS0FMUUFTQUdRUU4yYWpZQzFBRWdDQ0FNUVFGcWRrRi9SZzBGSUF0QjBBRnFJQXRCeUFGcUVBSU5CUUpBSUFBb0FwUUtRUVZIQkVBZ0N5Z0N5QUVoRVF3QkN5QUtRUUVnQ3lnQ3lBRWlFU0FBS0FLZ0NrWWJJUW9MSUFBZ0VUWUNvQW9MQWtBQ1FBSkFJQWNvQWhBT0FnQUJBZ3NnQ3lBTEtBSVlOZ0xnQVNBTElBc3BBd2czQTlBQklBc2dHQ2tEQURjRDJBRWdDMEhRQVdvZ0MwSHNBV29RQWcwR0lBdEIwQUZxSUF0QjdBRnFFQUlOQmlBTFFkQUJhaUFMUWV3QmFoQUNEUVpCSHlBSEtBSU1aeUlNYXlFY0lBc29BdFFCSVJFQ1FDQUxLQUxjQVVFRGRDSU9JQXNvQXVBQkloZHJJZ2xCSUU0RVFDQVJLQUFBSWdaQkdIUWdCa0VJZEVHQWdQd0hjWElnQmtFSWRrR0EvZ054SUFaQkdIWnljaUVJSUFzb0F0Z0JJZ1pGRFFFZ0NDQUdkQ0FSTFFBRVFRZ2dCbXQyY2lFSURBRUxJQWxCQVVnRVFFRUFJUWdNQVFzZ0VTMEFBQ0FMS0FMWUFTSW5RUmhxSWdaMElRZ2dDU0FuYWtFSWF5SVBRUUZJRFFBRFFDQVJMUUFCSUFaQkNHc2lCblFnQ0hJaENDQVBRUWhLSVNjZ0VVRUJhaUVSSUE5QkNHc2hEeUFuRFFBTEN5QUxJQmNnSEdvaUJqWUM0QUVnQ3lBR1FRZHhOZ0xZQVNBR0lBNUxEUVlnQ3lBTEtBTFFBU0FHUVFOMmFpSVJOZ0xVQVNBSUlBeEJBV3AyUVg5R0RRWWdGRVVFUUNBTFFkQUJhaUFMUWV3QmFoQUNEUWNnQ3lnQzFBRWhFU0FMS0FMY0FVRURkQ0VPSUFzb0F1QUJJUVlMUVI4Z0J5Z0NGR2NpREdzaEhBSkFJQTRnQm1zaUNVRWdUZ1JBSUJFb0FBQWlDRUVZZENBSVFRaDBRWUNBL0FkeGNpQUlRUWgyUVlEK0EzRWdDRUVZZG5KeUlRZ2dDeWdDMkFFaUNVVU5BU0FJSUFsMElCRXRBQVJCQ0NBSmEzWnlJUWdNQVFzZ0NVRUJTQVJBUVFBaENBd0JDeUFSTFFBQUlBc29BdGdCSWc5QkdHb2lKM1FoQ0NBSklBOXFRUWhySWc5QkFVZ05BQU5BSUJFdEFBRWdKMEVJYXlJbmRDQUljaUVJSUE5QkNFb2hDU0FSUVFGcUlSRWdEMEVJYXlFUElBa05BQXNMSUFZZ0hHb2dEa3NOQmlBSUlBeEJBV3AySWdaQmYwWU5CaUFHSUFBb0FxUUtSd1JBSUFBZ0JqWUNwQXBCQVNFS0N5QU5LQUlJUlEwQklBc2dDeWdDR0RZQzRBRWdDeUFMS1FNSU53UFFBU0FMSUJncEF3QTNBOWdCSUF0QjBBRnFJQXRCekFGcUVBSU5CaUFMUWRBQmFpQUxRY3dCYWhBQ0RRWWdDMEhRQVdvZ0MwSE1BV29RQWcwR1FSOGdCeWdDREdjaUoyc2hDQ0FMS0FMVUFTRU5Ba0FnQ3lnQzNBRkJBM1FpRHlBTEtBTGdBU0lPYXlJR1FTQk9CRUFnRFNnQUFDSUdRUmgwSUFaQkNIUkJnSUQ4QjNGeUlBWkJDSFpCZ1A0RGNTQUdRUmgyY25JaERDQUxLQUxZQVNJR1JRMEJJQXdnQm5RZ0RTMEFCRUVJSUFacmRuSWhEQXdCQ3lBR1FRRklCRUJCQUNFTURBRUxJQTB0QUFBZ0N5Z0MyQUVpQ1VFWWFpSVlkQ0VNSUFZZ0NXcEJDR3NpQ1VFQlNBMEFBMEFnRFMwQUFTQVlRUWhySWhoMElBeHlJUXdnQ1VFSVNpRUdJQTFCQVdvaERTQUpRUWhySVFrZ0JnMEFDd3NnQ3lBSUlBNXFJaGcyQXVBQklBc2dHRUVIY1RZQzJBRWdEeUFZU1EwR0lBc2dDeWdDMEFFZ0dFRURkbW9pRFRZQzFBRWdEQ0FuUVFGcWRrRi9SZzBHSUJSRkJFQWdDMEhRQVdvZ0MwSE1BV29RQWcwSElBc29BdHdCUVFOMElROGdDeWdDNEFFaEdDQUxLQUxVQVNFTkMwRWZJQWNvQWhSbklnZHJJUWdDUUNBUElCaHJJZ1pCSUU0RVFDQU5LQUFBSWdaQkdIUWdCa0VJZEVHQWdQd0hjWElnQmtFSWRrR0EvZ054SUFaQkdIWnljaUVNSUFzb0F0Z0JJZ1pGRFFFZ0RDQUdkQ0FOTFFBRVFRZ2dCbXQyY2lFTURBRUxJQVpCQVVnRVFFRUFJUXdNQVFzZ0RTMEFBQ0FMS0FMWUFTSUpRUmhxSWc1MElRd2dCaUFKYWtFSWF5SUpRUUZJRFFBRFFDQU5MUUFCSUE1QkNHc2lEblFnREhJaERDQUpRUWhLSVFZZ0RVRUJhaUVOSUFsQkNHc2hDU0FHRFFBTEN5QUxJQWdnR0dvaUJqWUM0QUVnQ3lBR1FRZHhOZ0xZQVNBR0lBOUxEUVlnQ3lBTEtBTFFBU0FHUVFOMmFqWUMxQUVnRENBSFFRRnFka0YvUmcwR0lBdEJBRFlDN0FFZ0MwSFFBV29nQzBIc0FXb1FBaUVHQWtBZ0N5Z0M3QUVpQjBGL1JnUkFRWUNBZ0lCNElRa2dCa1VOQ0F3QkN5QUdEUWNnQjBFQmFrRUJkaUlHUVFBZ0Jtc2dCMEVCY1JzaENRc2dBQ2dDcUFvZ0NVWU5BU0FBSUFrMkFxZ0tRUUVoQ2d3QkN5QUhLQUlZRFFBZ0RTZ0NDQ0VPSUFzZ0N5Z0NHRFlDNEFFZ0N5QVlLUU1BTndQWUFTQUxJQXNwQXdnM0E5QUJJQXRCMEFGcUlBdEJ6QUZxRUFJTkJTQUxRZEFCYWlBTFFjd0JhaEFDRFFVZ0MwSFFBV29nQzBITUFXb1FBZzBGUVI4Z0J5Z0NER2NpQjJzaEVTQUxLQUxVQVNFSkFrQWdDeWdDM0FGQkEzUWlEeUFMS0FMZ0FTSW5heUlHUVNCT0JFQWdDU2dBQUNJR1FSaDBJQVpCQ0hSQmdJRDhCM0Z5SUFaQkNIWkJnUDREY1NBR1FSaDJjbkloR0NBTEtBTFlBU0lHUlEwQklCZ2dCblFnQ1MwQUJFRUlJQVpyZG5JaEdBd0JDeUFHUVFGSUJFQkJBQ0VZREFFTElBa3RBQUFnQ3lnQzJBRWlERUVZYWlJSWRDRVlJQVlnREdwQkNHc2lERUVCU0EwQUEwQWdDUzBBQVNBSVFRaHJJZ2gwSUJoeUlSZ2dERUVJU2lFR0lBbEJBV29oQ1NBTVFRaHJJUXdnQmcwQUN3c2dDeUFSSUNkcUlnWTJBdUFCSUFzZ0JrRUhjVFlDMkFFZ0JpQVBTdzBGSUFzZ0N5Z0MwQUVnQmtFRGRtbzJBdFFCSUJnZ0IwRUJhblpCZjBZTkJTQVVSUVJBSUF0QjBBRnFJQXRCekFGcUVBSU5CZ3NnQzBFQU5nTHNBU0FMUWRBQmFpQUxRZXdCYWhBQ0lRWUNRQ0FMS0FMc0FTSUhRWDlHQkVCQmdJQ0FnSGdoRENBR1JRMEhEQUVMSUFZTkJpQUhRUUZxUVFGMklnWkJBQ0FHYXlBSFFRRnhHeUVNQ3dKQUlBNUZCRUFnWUNFSkRBRUxJQXRCQURZQzdBRWdDMEhRQVdvZ0MwSHNBV29RQWlFWUlBc29BdXdCSWdaQmYwWUVRRUdBZ0lDQWVDRUpJQmhGRFFjTUFRc2dHQTBHSUFaQkFXcEJBWFlpR0VFQUlCaHJJQVpCQVhFYklRa0xJQXdnQUNnQ3JBcEhCRUFnQUNBTU5nS3NDa0VCSVFvTEFrQWdEU2dDQ0VVTkFDQUFLQUt3Q2lBSlJnMEFJQUFnQ1RZQ3NBcEJBU0VLQ3lBSklXQUxJQUFnR3EwZ0VxMUNJSWFFTndLVUNnd0RDMEVCSVFvTUFnc2dCa1VOQVNBR1FmRC9BMGNOQWd0QkJDRU1RUUFoQ2d3Q0N3SkFJQW9FUUFKQUlBQW9BcUFKUlEwQUlBQW9BaEJGRFFCQkFDRUtJQUFvQXJRYUJFQkJBeUVNREFVTEFrQWdBQ2dDcEFsRkJFQWdBQ0FBS0FMRUNTSUhJQUFvQXVBSlFTaHNhaUlHTmdMTUNTQUFJQVlvQWdBMkFyZ0tJQUFvQXV3SklnaEZCRUJCQUNFSkRBSUxJQWhCQTNFaENrRUFJUWxCQUNFR0FrQWdDRUVCYTBFRFNRMEFJQWhCZkhFaERRTkFJQUFvQXNnSklBWkJBblJxSUFjZ0JrRW9iR28yQWdBZ0FDZ0N5QWtnQmtFQmNpSUhRUUowYWlBQUtBTEVDU0FIUVNoc2FqWUNBQ0FBS0FMSUNTQUdRUUp5SWdkQkFuUnFJQUFvQXNRSklBZEJLR3hxTmdJQUlBQW9Bc2dKSUFaQkEzSWlCMEVDZEdvZ0FDZ0N4QWtnQjBFb2JHbzJBZ0FnQmtFRWFpRUdJQTFCQkdzaURVVU5BU0E0S0FJQUlRY01BQXNBQ3lBS1JRMEJBMEFnQUNnQ3lBa2dCa0VDZEdvZ0FDZ0N4QWtnQmtFb2JHbzJBZ0FnQmtFQmFpRUdJQXBCQVdzaUNnMEFDd3dCQ3lBQUtBTGNDaUVKQzBFQUlRZEJBQ0VNUVFBaERRSkFBa0FDUUNBSkRnWUJBQUFBQUFFQUN5QUFLQUs0R2cwQURBRUxJQUJCeUFscUtBSUFJUWdEUUFKL1FRQWdDQ0FIUVFKMGFpZ0NBQ0lHUlEwQUdrRUFJQVlvQWhSQkFra05BQm9nQmlnQ0FBc2hEQ0FIUVE1TERRRWdCMEVCYWlFSElBeEZEUUFMQ3lBcktBSUlJUkVnS3lnQ0JDRU9Ba0FDUUFKQUlBQW9BcGdKSWdoRkJFQkJBQ0VHUVFBaEJ3d0JDeUFBS0FLOENTRUtRUUFoQjBFQUlRWURRQ0FLSUFkQjJBRnNhaWdDeEFFTkFVRUFJQVpCQVdvaUJpQUdJQTVHSWhJYklRWWdEU0FTYWlFTklBZEJBV29pQnlBSVJ3MEFDd3dCQ3lBSElBaEdEUUFnQUNnQ3ZBa2dEU0FPYkVIWUFXeHFJUWdnQmdSQUlBWWhCd05BSUFnZ0IwRUJheUlIUWRnQmJHb2lDaUFySUEwZ0J5QUpJQXdRRFNBS1FRRTJBc1FCSUFBZ0FDZ0N0QWxCQVdvMkFyUUpJQWNOQUFzTElBNGdCa0VCYWlJSFN3UkFBMEFnQ0NBSFFkZ0JiR29pQmlnQ3hBRkZCRUFnQmlBcklBMGdCeUFKSUF3UURTQUdRUUUyQXNRQklBQWdBQ2dDdEFsQkFXbzJBclFKQ3lBSFFRRnFJZ2NnRGtjTkFBc0xJQTBFUUNBT1JRMENJQTFCQW1zaENrRUFJUkpCQUNBT2F5RVVJQTFCQVdzaUR5QU9iRUhZQVd3aEV3TkFJQUFvQXJ3SklCTnFJQkpCMkFGc2FpSUdJQ3NnRHlBU0lBa2dEQkFOSUFaQkFUWUN4QUVnQUNBQUtBSzBDVUVCYWpZQ3RBa0NRQ0FQUlEwQUlBWWdGRUhZQVd3aUdtb2lDQ0FySUFvZ0VpQUpJQXdRRFNBS0lRY0RRQ0FHSUJwcVFRRTJBc1FCSUFBZ0FDZ0N0QWxCQVdvMkFyUUpJQWRGRFFFZ0NDSUdJQnBxSWdnZ0t5QUhRUUZySWdjZ0VpQUpJQXdRRFF3QUN3QUxJQkpCQVdvaUVpQU9SdzBBQ3dzZ0RVRUJhaUlHSUJGUERRRWdEa1VOQVFOQUlBQW9BcndKSUFZZ0RteEIyQUZzYWlFS1FRQWhCd05BSUFvZ0IwSFlBV3hxSWdnb0FzUUJSUVJBSUFnZ0t5QUdJQWNnQ1NBTUVBMGdDRUVCTmdMRUFTQUFJQUFvQXJRSlFRRnFOZ0swQ1FzZ0IwRUJhaUlISUE1SERRQUxJQVpCQVdvaUJpQVJSdzBBQ3d3QkN3SkFBa0FDUUFKQUFrQWdDVUVDYXc0R0FBRUJBUUVBQVFzZ0FDZ0N1QnBGRFFFTElBd05BUXNnS3lnQ0FFR0FBU0FPSUJGc1FZQURiQkFER2d3QkN5QXJLQUlBSUF3Z0RpQVJiRUdBQTJ3UUJ4b0xJQUFnQUNnQ21Ba2lDVFlDdEFrZ0NVVU5BQ0FKUVFkeElRWWdBQ2dDdkFraENFRUFJUWNnQ1VFQmEwRUhUd1JBSUFsQmVIRWhEQU5BSUFnZ0IwSFlBV3hxUVFFMkFnZ2dDQ0FIUVFGeVFkZ0JiR3BCQVRZQ0NDQUlJQWRCQW5KQjJBRnNha0VCTmdJSUlBZ2dCMEVEY2tIWUFXeHFRUUUyQWdnZ0NDQUhRUVJ5UWRnQmJHcEJBVFlDQ0NBSUlBZEJCWEpCMkFGc2FrRUJOZ0lJSUFnZ0IwRUdja0hZQVd4cVFRRTJBZ2dnQ0NBSFFRZHlRZGdCYkdwQkFUWUNDQ0FIUVFocUlRY2dERUVJYXlJTURRQUxDeUFHUlEwQUEwQWdDQ0FIUWRnQmJHcEJBVFlDQ0NBSFFRRnFJUWNnQmtFQmF5SUdEUUFMQ3lBQVFRRTJBcEFhUVFBaEJrRUFJVElNQWdzZ0FFRUFOZ0tjQ1NBQVFRQTJBcVFKQzBFQUlRcEJBQ0VNQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBSUJNT0NBSUxDd3NDQ3dBQkN3c2dDMEhvQUdwQkFFSGNBQkFER2lBTEtBSU1JUVlDUUNBTEtBSVVRUU4wSWdnZ0N5Z0NHQ0lKYXlJS1FTQk9CRUFnQmlnQUFDSUhRUmgwSUFkQkNIUkJnSUQ4QjNGeUlBZEJDSFpCZ1A0RGNTQUhRUmgyY25JaEJ5QUxLQUlRSWdwRkRRRWdCeUFLZENBR0xRQUVRUWdnQ210MmNpRUhEQUVMSUFwQkFVZ0VRRUVBSVFjTUFRc2dCaTBBQUNBTEtBSVFJZ3hCR0dvaURYUWhCeUFLSUF4cVFRaHJJZ3BCQVVnTkFBTkFJQVl0QUFFZ0RVRUlheUlOZENBSGNpRUhJQXBCQ0VvaERDQUdRUUZxSVFZZ0NrRUlheUVLSUF3TkFBc0xJQXNnQ1VFSGNTSU1OZ0lRSUFzZ0NVRUlhaUlHTmdJWUlBWWdDRXNOQnlBTElBZEJHSFkyQW1nZ0N5QUxLQUlJSWc0Z0JrRURkbW8yQWd3Z0NVRUphaUlHSUFoTkJFQWdDeUFPSUFaQkEzWnFOZ0lNQ3lBTElBbEJDbW9pQmpZQ0dDQUxJQVpCQjNFaUJ6WUNFQ0FHSUFoTkJFQWdDeUFPSUFaQkEzWnFOZ0lNQ3dKQUlBZ2dCbXNpQmtFQmEwRWVTdzBBSUFZZ0IycEJDR3NpQmtFQlNBMEFBMEFnQmtFSVNpRUhJQVpCQ0dzaEJpQUhEUUFMQ3lBTElBbEJDMm9pQmpZQ0dDQUxJQVpCQjNFaUJ6WUNFQ0FHSUFoTERRY2dDeUFPSUFaQkEzWnFOZ0lNQWtBZ0NDQUdheUlHUVFGclFSNUxEUUFnQmlBSGFrRUlheUlHUVFGSURRQURRQ0FHUVFoS0lRY2dCa0VJYXlFR0lBY05BQXNMSUFzZ0REWUNFQ0FMSUFsQkVHb2lCellDR0NBSElBaExEUWNnQ3lBT0lBZEJBM1pxSWdZMkFnd0NRQ0FJSUFkcklncEJJRTRFUUNBR0tBQUFJZ2RCR0hRZ0IwRUlkRUdBZ1B3SGNYSWdCMEVJZGtHQS9nTnhJQWRCR0haeWNpRUhJQXhGRFFFZ0J5QU1kQ0FHTFFBRVFRZ2dER3QyY2lFSERBRUxJQXBCQVVnRVFFRUFJUWNNQVFzZ0JpMEFBQ0FNUVJoeUlnMTBJUWNnQ2lBTWFrRUlheUlLUVFGSURRQURRQ0FHTFFBQklBMUJDR3NpRFhRZ0IzSWhCeUFLUVFoS0lSSWdCa0VCYWlFR0lBcEJDR3NoQ2lBU0RRQUxDeUFMSUF3MkFoQWdDeUFKUVJocUlnWTJBaGdnQmlBSVN3MEhJQXNnQjBFWWRqWUNiQ0FMSUE0Z0JrRURkbW8yQWd3Z0MwRUlhaUJkRUFJTkJ5QUxLQUp3UVI5TERRY2dDMEVJYWlBTFFld0JhaEFDRFFjZ0N5Z0M3QUVpQmtFTVN3MEhJQXRCQVNBR1FRUnFkRFlDZENBTFFRaHFJQXRCN0FGcUVBSU5CeUFMS0FMc0FTSUdRUUpMRFFjZ0N5QUdOZ0o0QWtBQ1FBSkFJQVlPQWdBQkFnc2dDMEVJYWlBTFFld0JhaEFDRFFrZ0N5Z0M3QUVpQmtFTVN3MEpJQXRCQVNBR1FRUnFkRFlDZkF3QkN5QUxLQUlNSVFZQ1FDQUxLQUlVUVFOMElna2dDeWdDR0NJTWF5SUlRU0JPQkVBZ0JpZ0FBQ0lIUVJoMElBZEJDSFJCZ0lEOEIzRnlJQWRCQ0haQmdQNERjU0FIUVJoMmNuSWhCeUFMS0FJUUlnaEZEUUVnQnlBSWRDQUdMUUFFUVFnZ0NHdDJjaUVIREFFTElBaEJBVWdFUUVFQUlRY01BUXNnQmkwQUFDQUxLQUlRSWdwQkdHb2lEWFFoQnlBSUlBcHFRUWhySWdwQkFVZ05BQU5BSUFZdEFBRWdEVUVJYXlJTmRDQUhjaUVISUFwQkNFb2hDQ0FHUVFGcUlRWWdDa0VJYXlFS0lBZ05BQXNMSUFzZ0RFRUJhaUlHTmdJWUlBc2dCa0VIY1RZQ0VDQUdJQWxMRFFnZ0N5QUhRUjkyTmdLQUFTQUxJQXNvQWdnZ0JrRURkbW8yQWd3Z0MwRUFOZ0xRQVNBTFFRaHFJQXRCMEFGcUVBSWhCaUFMQW44Z0N5Z0MwQUVpQjBGL1JnUkFRWUNBZ0lCNElBWU5BUm9NQ2dzZ0JnMEpJQWRCQVdwQkFYWWlCa0VBSUFacklBZEJBWEViQ3pZQ2hBRWdDMEVBTmdMUUFTQUxRUWhxSUF0QjBBRnFFQUloQmlBTEFuOGdDeWdDMEFFaUIwRi9SZ1JBUVlDQWdJQjRJQVlOQVJvTUNnc2dCZzBKSUFkQkFXcEJBWFlpQmtFQUlBWnJJQWRCQVhFYkN6WUNpQUVnQzBFSWFpQmNFQUlOQ0NBTEtBS01BU0lHUWY4QlN3MElJQVlFUUNBTElBWkJBblFRQ0NJSE5nS1FBU0FIUlEwSlFRQWhCZ05BSUF0QkFEWUMwQUVnQzBFSWFpQUxRZEFCYWhBQ0lRZ2dCeUFHUVFKMGFnSi9JQXNvQXRBQklnZEJmMFlFUUVHQWdJQ0FlQ0FJRFFFYURBd0xJQWdOQ3lBSFFRRnFRUUYySWdoQkFDQUlheUFIUVFGeEd3czJBZ0FnQmtFQmFpSUdJQXNvQW93QlR3MENJQXNvQXBBQklRY01BQXNBQ3lBTFFRQTJBcEFCQ3lBTFFRaHFJRnNRQWcwSElBc29BcFFCUVJCTERRY2dDeWdDRENFR0FrQWdDeWdDRkVFRGRDSUpJQXNvQWhnaURHc2lDRUVnVGdSQUlBWW9BQUFpQjBFWWRDQUhRUWgwUVlDQS9BZHhjaUFIUVFoMlFZRCtBM0VnQjBFWWRuSnlJUWNnQ3lnQ0VDSUlSUTBCSUFjZ0NIUWdCaTBBQkVFSUlBaHJkbkloQnd3QkN5QUlRUUZJQkVCQkFDRUhEQUVMSUFZdEFBQWdDeWdDRUNJS1FSaHFJZzEwSVFjZ0NDQUtha0VJYXlJS1FRRklEUUFEUUNBR0xRQUJJQTFCQ0dzaURYUWdCM0loQnlBS1FRaEtJUWdnQmtFQmFpRUdJQXBCQ0dzaENpQUlEUUFMQ3lBTElBeEJBV29pQmpZQ0dDQUxJQVpCQjNFMkFoQWdCaUFKU3cwSElBc2dCMEVmZGpZQ21BRWdDeUFMS0FJSUlBWkJBM1pxTmdJTUlBdEJDR29nQzBIc0FXb1FBZzBISUFzZ0N5Z0M3QUZCQVdvMkFwd0JJQXRCQ0dvZ0MwSHNBV29RQWcwSElBc2dDeWdDN0FGQkFXb2lHRFlDb0FFZ0N5Z0NEQ0VHQWtBZ0N5Z0NGRUVEZENJSUlBc29BaGdpREdzaUNVRWdUZ1JBSUFZb0FBQWlCMEVZZENBSFFRaDBRWUNBL0FkeGNpQUhRUWgyUVlEK0EzRWdCMEVZZG5KeUlRY2dDeWdDRUNJSlJRMEJJQWNnQ1hRZ0JpMEFCRUVJSUFscmRuSWhCd3dCQ3lBSlFRRklCRUJCQUNFSERBRUxJQVl0QUFBZ0N5Z0NFQ0lLUVJocUlnMTBJUWNnQ1NBS2FrRUlheUlLUVFGSURRQURRQ0FHTFFBQklBMUJDR3NpRFhRZ0IzSWhCeUFLUVFoS0lRa2dCa0VCYWlFR0lBcEJDR3NoQ2lBSkRRQUxDeUFMSUF4QkFXb2lCallDR0NBTElBWkJCM0VpQ1RZQ0VDQUdJQWhMRFFjZ0N5QUxLQUlJSWc0Z0JrRURkbW8yQWd3Z0IwRi9TZzBIQWtBZ0NDQUdheUlHUVFGclFSNUxEUUFnQmlBSmFrRUlheUlHUVFGSURRQURRQ0FHUVFoS0lRY2dCa0VJYXlFR0lBY05BQXNMSUFzZ0RFRUNhaUlITmdJWUlBc2dCMEVIY1NJSk5nSVFJQWNnQ0VzTkJ5QUxJQTRnQjBFRGRtb2lCallDREFKQUlBZ2dCMnNpQ2tFZ1RnUkFJQVlvQUFBaUIwRVlkQ0FIUVFoMFFZQ0EvQWR4Y2lBSFFRaDJRWUQrQTNFZ0IwRVlkbkp5SVFjZ0NVVU5BU0FISUFsMElBWXRBQVJCQ0NBSmEzWnlJUWNNQVFzZ0NrRUJTQVJBUVFBaEJ3d0JDeUFHTFFBQUlBbEJHSElpRFhRaEJ5QUpJQXBxUVFocklncEJBVWdOQUFOQUlBWXRBQUVnRFVFSWF5SU5kQ0FIY2lFSElBcEJDRW9oQ1NBR1FRRnFJUVlnQ2tFSWF5RUtJQWtOQUFzTElBc2dERUVEYWlJR05nSVlJQXNnQmtFSGNUWUNFQ0FHSUFoTERRY2dDeUFIUVI5Mk5nS2tBU0FMSUE0Z0JrRURkbW8yQWd3Q1FDQUhRUUJPQkVBZ0N5Z0NuQUVoRFF3QkN5QUxRUWhxSUZvUUFnMElJQXRCQ0dvZ1dSQUNEUWdnQzBFSWFpQllFQUlOQ0NBTFFRaHFJRmNRQWcwSUlBc29BcWdCSUFzb0Fxd0JRWDl6SUFzb0Fwd0JJZzFCQTNScVNnMElJQXNvQXJBQklBc29BclFCUVg5eklBc29BcUFCSWhoQkEzUnFTZzBJQzBIakFDRUtRWUNrQ1NFSFFmLy8vLzhISVFZQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FnQ3lnQ2JFRUthdzRxQ2dBQkFRc0xDd3NMQ3dFQ0F3c0xDd3NMQ3dzREJBVUxDd3NMQ3dzTEJnWUhDd3NMQ3dzTEN3Z0pDd3RCakFNaENrR0FqQlVoQnd3SkMwR01BeUVLUVlEWU55RUhEQWdMUVpnR0lRcEJnTER2QUNFSERBY0xRZFFNSVFwQmdPeTlBU0VIREFZTFFaQWNJUXBCZ1BDbEF5RUhEQVVMUVlBb0lRcEJnSURnQXlFSERBUUxRWURBQUNFS1FZQ0FnQVloQnd3REMwR0F4QUFoQ2tHQWdMQUdJUWNNQWd0QndLd0JJUXBCZ01DYkZDRUhEQUVMUVlDZ0FpRUtRWUNBNENFaEJ3c2dDaUFOSUJoc0lnaEpEUUFnQnlBSVFZQURiRzRpQmtFUUlBWkJFRWtiSVFZTElBc2dDeWdDbEFFaUJ5QUhJQVlnQmlBSFNSc2dCa0gvLy8vL0IwWWJJZ1kyQXV3QklBc2dCallDd0FFZ0N5Z0NEQ0VHQWtBZ0N5Z0NGRUVEZENJSklBc29BaGdpREdzaUNFRWdUZ1JBSUFZb0FBQWlCMEVZZENBSFFRaDBRWUNBL0FkeGNpQUhRUWgyUVlEK0EzRWdCMEVZZG5KeUlRY2dDeWdDRUNJSVJRMEJJQWNnQ0hRZ0JpMEFCRUVJSUFocmRuSWhCd3dCQ3lBSVFRRklCRUJCQUNFSERBRUxJQVl0QUFBZ0N5Z0NFQ0lLUVJocUlnMTBJUWNnQ0NBS2FrRUlheUlLUVFGSURRQURRQ0FHTFFBQklBMUJDR3NpRFhRZ0IzSWhCeUFLUVFoS0lRZ2dCa0VCYWlFR0lBcEJDR3NoQ2lBSURRQUxDeUFMSUF4QkFXb2lCallDR0NBTElBWkJCM0UyQWhBZ0JpQUpTdzBISUFzZ0IwRWZkallDdUFFZ0N5QUxLQUlJSUFaQkEzWnFOZ0lNQWtBZ0IwRi9TZzBBSUF0QnVBY1FDQ0lHTmdLOEFTQUdSUTBJSUFaQkFFRzRCeEFESVFnZ0N5Z0NEQ0VHQWtBZ0N5Z0NGRUVEZENJU0lBc29BaGdpRVdzaUNVRWdUZ1JBSUFZb0FBQWlCMEVZZENBSFFRaDBRWUNBL0FkeGNpQUhRUWgyUVlEK0EzRWdCMEVZZG5KeUlRY2dDeWdDRUNJSlJRMEJJQWNnQ1hRZ0JpMEFCRUVJSUFscmRuSWhCd3dCQ3lBSlFRRklCRUJCQUNFSERBRUxJQVl0QUFBZ0N5Z0NFQ0lLUVJocUlnMTBJUWNnQ1NBS2FrRUlheUlLUVFGSURRQURRQ0FHTFFBQklBMUJDR3NpRFhRZ0IzSWhCeUFLUVFoS0lRa2dCa0VCYWlFR0lBcEJDR3NoQ2lBSkRRQUxDeUFMSUJGQkFXb2lEVFlDR0NBTElBMUJCM0VpRERZQ0VDQU5JQkpMRFFnZ0N5QUxLQUlJSWc0Z0RVRURkbW9pQmpZQ0RDQUlJQWRCSDNZMkFnQUNRQ0FIUVg5S0RRQUNRQ0FTSUExcklnbEJJRTRFUUNBR0tBQUFJZ2RCR0hRZ0IwRUlkRUdBZ1B3SGNYSWdCMEVJZGtHQS9nTnhJQWRCR0haeWNpRUhJQXhGRFFFZ0J5QU1kQ0FHTFFBRVFRZ2dER3QyY2lFSERBRUxJQWxCQVVnRVFFRUFJUWNNQVFzZ0JpMEFBQ0FNUVJoeUlnMTBJUWNnQ1NBTWFrRUlheUlLUVFGSURRQURRQ0FHTFFBQklBMUJDR3NpRFhRZ0IzSWhCeUFLUVFoS0lRa2dCa0VCYWlFR0lBcEJDR3NoQ2lBSkRRQUxDeUFMSUF3MkFoQWdDeUFSUVFscUlnMDJBaGdnRFNBU1N3MEpJQXNnRGlBTlFRTjJhaUlHTmdJTUlBZ2dCMEVZZGlJSE5nSUVJQWRCL3dGSERRQUNRQ0FTSUExcklncEJJRTRFUUNBR0tBQUFJZ2RCR0hRZ0IwRUlkRUdBZ1B3SGNYSWdCMEVJZGtHQS9nTnhJQWRCR0haeWNpRUhJQXhGRFFFZ0J5QU1kQ0FHTFFBRVFRZ2dER3QyY2lFSERBRUxJQXBCQVVnRVFFRUFJUWNNQVFzZ0JpMEFBQ0FNUVJoeUlnbDBJUWNnQ2lBTWFrRUlheUlLUVFGSURRQURRQ0FHTFFBQklBbEJDR3NpQ1hRZ0IzSWhCeUFLUVFoS0lRd2dCa0VCYWlFR0lBcEJDR3NoQ2lBTURRQUxDeUFMSUExQkIzRWlDVFlDRUNBTElCRkJHV29pRERZQ0dDQU1JQkpMRFFrZ0N5QU9JQXhCQTNacUlnWTJBZ3dnQ0NBSFFSQjJOZ0lJQWtBZ0VpQU1heUlLUVNCT0JFQWdCaWdBQUNJSFFSaDBJQWRCQ0hSQmdJRDhCM0Z5SUFkQkNIWkJnUDREY1NBSFFSaDJjbkloQnlBSlJRMEJJQWNnQ1hRZ0JpMEFCRUVJSUFscmRuSWhCd3dCQ3lBS1FRRklCRUJCQUNFSERBRUxJQVl0QUFBZ0NVRVljaUlOZENFSElBa2dDbXBCQ0dzaUNrRUJTQTBBQTBBZ0JpMEFBU0FOUVFocklnMTBJQWR5SVFjZ0NrRUlTaUVKSUFaQkFXb2hCaUFLUVFocklRb2dDUTBBQ3dzZ0N5QU1RUWR4SWd3MkFoQWdDeUFSUVNscUlnMDJBaGdnRFNBU1N3MEpJQXNnRGlBTlFRTjJhaUlHTmdJTUlBZ2dCMEVRZGpZQ0RBc0NRQ0FTSUExcklncEJJRTRFUUNBR0tBQUFJZ2RCR0hRZ0IwRUlkRUdBZ1B3SGNYSWdCMEVJZGtHQS9nTnhJQWRCR0haeWNpRUhJQXhGRFFFZ0J5QU1kQ0FHTFFBRVFRZ2dER3QyY2lFSERBRUxJQXBCQVVnRVFFRUFJUWNNQVFzZ0JpMEFBQ0FNUVJoeUlnbDBJUWNnQ2lBTWFrRUlheUlLUVFGSURRQURRQ0FHTFFBQklBbEJDR3NpQ1hRZ0IzSWhCeUFLUVFoS0lRd2dCa0VCYWlFR0lBcEJDR3NoQ2lBTURRQUxDeUFMSUExQkFXb2lDVFlDR0NBTElBbEJCM0VpQ2pZQ0VDQUpJQkpMRFFnZ0N5QU9JQWxCQTNacUlnWTJBZ3dnQ0NBSFFSOTJOZ0lRSUFkQmYwd0VRQUpBSUJJZ0NXc2lERUVnVGdSQUlBWW9BQUFpQjBFWWRDQUhRUWgwUVlDQS9BZHhjaUFIUVFoMlFZRCtBM0VnQjBFWWRuSnlJUWNnQ2tVTkFTQUhJQXAwSUFZdEFBUkJDQ0FLYTNaeUlRY01BUXNnREVFQlNBUkFRUUFoQnd3QkN5QUdMUUFBSUFwQkdISWlDWFFoQnlBS0lBeHFRUWhySWdwQkFVZ05BQU5BSUFZdEFBRWdDVUVJYXlJSmRDQUhjaUVISUFwQkNFb2hEQ0FHUVFGcUlRWWdDa0VJYXlFS0lBd05BQXNMSUFzZ0RVRUNhaUlKTmdJWUlBc2dDVUVIY1NJS05nSVFJQWtnRWtzTkNTQUxJQTRnQ1VFRGRtb2lCallDRENBSUlBZEJIM1kyQWhRTEFrQWdFaUFKYXlJTVFTQk9CRUFnQmlnQUFDSUhRUmgwSUFkQkNIUkJnSUQ4QjNGeUlBZEJDSFpCZ1A0RGNTQUhRUmgyY25JaEJ5QUtSUTBCSUFjZ0NuUWdCaTBBQkVFSUlBcHJkbkloQnd3QkN5QU1RUUZJQkVCQkFDRUhEQUVMSUFZdEFBQWdDa0VZY2lJTmRDRUhJQW9nREdwQkNHc2lDa0VCU0EwQUEwQWdCaTBBQVNBTlFRaHJJZzEwSUFkeUlRY2dDa0VJU2lFTUlBWkJBV29oQmlBS1FRaHJJUW9nREEwQUN3c2dDeUFKUVFGcUlnMDJBaGdnQ3lBTlFRZHhJZ28yQWhBZ0RTQVNTdzBJSUFzZ0RpQU5RUU4yYWlJR05nSU1JQWdnQjBFZmRqWUNHQ0FJQW44Q1FDQUhRWDlNQkVBQ1FDQVNJQTFySWd4QklFNEVRQ0FHS0FBQUlnZEJHSFFnQjBFSWRFR0FnUHdIY1hJZ0IwRUlka0dBL2dOeElBZEJHSFp5Y2lFSElBcEZEUUVnQnlBS2RDQUdMUUFFUVFnZ0NtdDJjaUVIREFFTElBeEJBVWdFUUVFQUlRY01BUXNnQmkwQUFDQUtRUmh5SWcxMElRY2dDaUFNYWtFSWF5SUtRUUZJRFFBRFFDQUdMUUFCSUExQkNHc2lEWFFnQjNJaEJ5QUtRUWhLSVF3Z0JrRUJhaUVHSUFwQkNHc2hDaUFNRFFBTEN5QUxJQWxCQkdvaUREWUNHQ0FMSUF4QkIzRWlDallDRUNBTUlCSkxEUXNnQ3lBT0lBeEJBM1pxSWdZMkFnd2dDQ0FIUVIxMk5nSWNBa0FnRWlBTWF5SU1RU0JPQkVBZ0JpZ0FBQ0lIUVJoMElBZEJDSFJCZ0lEOEIzRnlJQWRCQ0haQmdQNERjU0FIUVJoMmNuSWhCeUFLUlEwQklBY2dDblFnQmkwQUJFRUlJQXByZG5JaEJ3d0JDeUFNUVFGSUJFQkJBQ0VIREFFTElBWXRBQUFnQ2tFWWNpSU5kQ0VISUFvZ0RHcEJDR3NpQ2tFQlNBMEFBMEFnQmkwQUFTQU5RUWhySWcxMElBZHlJUWNnQ2tFSVNpRU1JQVpCQVdvaEJpQUtRUWhySVFvZ0RBMEFDd3NnQ3lBSlFRVnFJZ3cyQWhnZ0N5QU1RUWR4SWdvMkFoQWdEQ0FTU3cwTElBc2dEaUFNUVFOMmFpSUdOZ0lNSUFnZ0IwRWZkallDSUFKQUlCSWdER3NpREVFZ1RnUkFJQVlvQUFBaUIwRVlkQ0FIUVFoMFFZQ0EvQWR4Y2lBSFFRaDJRWUQrQTNFZ0IwRVlkbkp5SVFjZ0NrVU5BU0FISUFwMElBWXRBQVJCQ0NBS2EzWnlJUWNNQVFzZ0RFRUJTQVJBUVFBaEJ3d0JDeUFHTFFBQUlBcEJHSElpRFhRaEJ5QUtJQXhxUVFocklncEJBVWdOQUFOQUlBWXRBQUVnRFVFSWF5SU5kQ0FIY2lFSElBcEJDRW9oRENBR1FRRnFJUVlnQ2tFSWF5RUtJQXdOQUFzTElBc2dDVUVHYWlJTk5nSVlJQXNnRFVFSGNTSUtOZ0lRSUEwZ0Vrc05DeUFMSUE0Z0RVRURkbW9pQmpZQ0RDQUlJQWRCSDNZMkFpUWdCMEYvU2cwQkFrQWdFaUFOYXlJSFFTQk9CRUFnQmlnQUFDSUhRUmgwSUFkQkNIUkJnSUQ4QjNGeUlBZEJDSFpCZ1A0RGNTQUhRUmgyY25JaERTQUtSUTBCSUEwZ0NuUWdCaTBBQkVFSUlBcHJkbkloRFF3QkN5QUhRUUZJQkVCQkFDRU5EQUVMSUFZdEFBQWdDa0VZY2lJTWRDRU5JQWNnQ21wQkNHc2lCMEVCU0EwQUEwQWdCaTBBQVNBTVFRaHJJZ3gwSUExeUlRMGdCMEVJU2lFUklBWkJBV29oQmlBSFFRaHJJUWNnRVEwQUN3c2dDeUFLTmdJUUlBc2dDVUVPYWlJTU5nSVlJQXdnRWtzTkN5QUxJQTRnREVFRGRtb2lCallDRENBSUlBMUJHSFkyQWlnQ1FDQVNJQXhySWhGQklFNEVRQ0FHS0FBQUlnZEJHSFFnQjBFSWRFR0FnUHdIY1hJZ0IwRUlka0dBL2dOeElBZEJHSFp5Y2lFSElBcEZEUUVnQnlBS2RDQUdMUUFFUVFnZ0NtdDJjaUVIREFFTElCRkJBVWdFUUVFQUlRY01BUXNnQmkwQUFDQUtRUmh5SWcxMElRY2dDaUFSYWtFSWF5SUtRUUZJRFFBRFFDQUdMUUFCSUExQkNHc2lEWFFnQjNJaEJ5QUtRUWhLSVJFZ0JrRUJhaUVHSUFwQkNHc2hDaUFSRFFBTEN5QUxJQXhCQjNFaUNqWUNFQ0FMSUFsQkZtb2lERFlDR0NBTUlCSkxEUXNnQ3lBT0lBeEJBM1pxSWdZMkFnd2dDQ0FIUVJoMk5nSXNBa0FnRWlBTWF5SVJRU0JPQkVBZ0JpZ0FBQ0lIUVJoMElBZEJDSFJCZ0lEOEIzRnlJQWRCQ0haQmdQNERjU0FIUVJoMmNuSWhCeUFLUlEwQklBY2dDblFnQmkwQUJFRUlJQXByZG5JaEJ3d0JDeUFSUVFGSUJFQkJBQ0VIREFFTElBWXRBQUFnQ2tFWWNpSU5kQ0VISUFvZ0VXcEJDR3NpQ2tFQlNBMEFBMEFnQmkwQUFTQU5RUWhySWcxMElBZHlJUWNnQ2tFSVNpRVJJQVpCQVdvaEJpQUtRUWhySVFvZ0VRMEFDd3NnQ3lBTVFRZHhJZ28yQWhBZ0N5QUpRUjVxSWcwMkFoZ2dEU0FTU3cwTElBc2dEaUFOUVFOMmFpSUdOZ0lNSUFkQkdIWU1BZ3NnQ0VFRk5nSWNDeUFJUW9LQWdJQWdOd01vUVFJTE5nSXdBa0FnRWlBTmF5SU1RU0JPQkVBZ0JpZ0FBQ0lIUVJoMElBZEJDSFJCZ0lEOEIzRnlJQWRCQ0haQmdQNERjU0FIUVJoMmNuSWhCeUFLUlEwQklBY2dDblFnQmkwQUJFRUlJQXByZG5JaEJ3d0JDeUFNUVFGSUJFQkJBQ0VIREFFTElBWXRBQUFnQ2tFWWNpSUpkQ0VISUFvZ0RHcEJDR3NpQ2tFQlNBMEFBMEFnQmkwQUFTQUpRUWhySWdsMElBZHlJUWNnQ2tFSVNpRU1JQVpCQVdvaEJpQUtRUWhySVFvZ0RBMEFDd3NnQ3lBTlFRRnFJZzAyQWhnZ0N5QU5RUWR4TmdJUUlBMGdFa3NOQ0NBTElBNGdEVUVEZG1vaUJqWUNEQ0FJSUFkQkgzWTJBalFnQjBGL1RBUkFJQXRCQ0dvZ0NFRTRhaEFDRFFrZ0NDZ0NPRUVGU3cwSklBdEJDR29nQ0VFOGFoQUNEUWtnQ0NnQ1BFRUZTdzBKSUFzb0FoUkJBM1FoRWlBTEtBSVlJUTBnQ3lnQ0RDRUdDd0pBSUJJZ0RXc2lDa0VnVGdSQUlBWW9BQUFpQjBFWWRDQUhRUWgwUVlDQS9BZHhjaUFIUVFoMlFZRCtBM0VnQjBFWWRuSnlJUWNnQ3lnQ0VDSUpSUTBCSUFjZ0NYUWdCaTBBQkVFSUlBbHJkbkloQnd3QkN5QUtRUUZJQkVCQkFDRUhEQUVMSUFZdEFBQWdDeWdDRUNJTVFSaHFJZ2wwSVFjZ0NpQU1ha0VJYXlJS1FRRklEUUFEUUNBR0xRQUJJQWxCQ0dzaUNYUWdCM0loQnlBS1FRaEtJUXdnQmtFQmFpRUdJQXBCQ0dzaENpQU1EUUFMQ3lBTElBMUJBV29pQ1RZQ0dDQUxJQWxCQjNFaUdEWUNFQ0FKSUJKTERRZ2dDeUFMS0FJSUlnNGdDVUVEZG1vaUJqWUNEQ0FJSUFkQkgzWTJBa0FnQjBGL1RBUkFBa0FnRWlBSmF5SUtRU0JPQkVBZ0JpZ0FBQ0lIUVJoMElBZEJDSFJCZ0lEOEIzRnlJQWRCQ0haQmdQNERjU0FIUVJoMmNuSWhCeUFZUlEwQklBY2dHSFFnQmkwQUJFRUlJQmhyZG5JaEJ3d0JDeUFLUVFGSUJFQkJBQ0VIREFFTElBWXRBQUFnR0VFWWNpSUpkQ0VISUFvZ0dHcEJDR3NpQ2tFQlNBMEFBMEFnQmkwQUFTQUpRUWhySWdsMElBZHlJUWNnQ2tFSVNpRU1JQVpCQVdvaEJpQUtRUWhySVFvZ0RBMEFDd3NnQ3lBWU5nSVFJQXNnRFVFaGFpSU1OZ0lZSUF3Z0Vrc05DU0FMSUE0Z0RFRURkbW9pQmpZQ0RDQUhSUTBKSUFnZ0J6WUNSQUpBSUJJZ0RHc2lDa0VnVGdSQUlBWW9BQUFpQjBFWWRDQUhRUWgwUVlDQS9BZHhjaUFIUVFoMlFZRCtBM0VnQjBFWWRuSnlJUWNnR0VVTkFTQUhJQmgwSUFZdEFBUkJDQ0FZYTNaeUlRY01BUXNnQ2tFQlNBUkFRUUFoQnd3QkN5QUdMUUFBSUJoQkdISWlDWFFoQnlBS0lCaHFRUWhySWdwQkFVZ05BQU5BSUFZdEFBRWdDVUVJYXlJSmRDQUhjaUVISUFwQkNFb2hFU0FHUVFGcUlRWWdDa0VJYXlFS0lCRU5BQXNMSUFzZ0RFRUhjU0lLTmdJUUlBc2dEVUhCQUdvaUNUWUNHQ0FKSUJKTERRa2dDeUFPSUFsQkEzWnFJZ1kyQWd3Z0IwVU5DU0FJSUFjMkFrZ0NRQ0FTSUFscklneEJJRTRFUUNBR0tBQUFJZ2RCR0hRZ0IwRUlkRUdBZ1B3SGNYSWdCMEVJZGtHQS9nTnhJQWRCR0haeWNpRUhJQXBGRFFFZ0J5QUtkQ0FHTFFBRVFRZ2dDbXQyY2lFSERBRUxJQXhCQVVnRVFFRUFJUWNNQVFzZ0JpMEFBQ0FLUVJoeUlnbDBJUWNnQ2lBTWFrRUlheUlLUVFGSURRQURRQ0FHTFFBQklBbEJDR3NpQ1hRZ0IzSWhCeUFLUVFoS0lRd2dCa0VCYWlFR0lBcEJDR3NoQ2lBTURRQUxDeUFMSUExQndnQnFJZ2syQWhnZ0N5QUpRUWR4SWhnMkFoQWdDU0FTU3cwSklBc2dEaUFKUVFOMmFpSUdOZ0lNSUFnZ0IwRWZkallDVEFzQ1FDQVNJQWxySWdwQklFNEVRQ0FHS0FBQUlnZEJHSFFnQjBFSWRFR0FnUHdIY1hJZ0IwRUlka0dBL2dOeElBZEJHSFp5Y2lFSElCaEZEUUVnQnlBWWRDQUdMUUFFUVFnZ0dHdDJjaUVIREFFTElBcEJBVWdFUUVFQUlRY01BUXNnQmkwQUFDQVlRUmh5SWcxMElRY2dDaUFZYWtFSWF5SUtRUUZJRFFBRFFDQUdMUUFCSUExQkNHc2lEWFFnQjNJaEJ5QUtRUWhLSVF3Z0JrRUJhaUVHSUFwQkNHc2hDaUFNRFFBTEN5QUxJQWxCQVdvaUREWUNHQ0FMSUF4QkIzRTJBaEFnRENBU1N3MElJQXNnRGlBTVFRTjJhaUlHTmdJTUlBZ2dCMEVmZGpZQ1VBSkFJQWRCZjB3RVFDQUxRUWhxSUFoQjFBQnFFQjROQ2lBTEtBSVVRUU4wSVJJZ0N5Z0NHQ0VNSUFzb0Fnd2hCZ3dCQ3lBSVFwaUFnSUNBQXpjRDZBTWdDRUtZZ0lDQWdBTTNBK0FESUFoQmdaQ3FpUUUyQXVBQklBaEJnWkNxaVFFMkFtQWdDRUVCTmdKVUN3SkFJQklnREdzaUNVRWdUZ1JBSUFZb0FBQWlCMEVZZENBSFFRaDBRWUNBL0FkeGNpQUhRUWgyUVlEK0EzRWdCMEVZZG5KeUlRY2dDeWdDRUNJSlJRMEJJQWNnQ1hRZ0JpMEFCRUVJSUFscmRuSWhCd3dCQ3lBSlFRRklCRUJCQUNFSERBRUxJQVl0QUFBZ0N5Z0NFQ0lLUVJocUlnMTBJUWNnQ1NBS2FrRUlheUlLUVFGSURRQURRQ0FHTFFBQklBMUJDR3NpRFhRZ0IzSWhCeUFLUVFoS0lRa2dCa0VCYWlFR0lBcEJDR3NoQ2lBSkRRQUxDeUFMSUF4QkFXb2lCallDR0NBTElBWkJCM0UyQWhBZ0JpQVNTdzBJSUFzZ0N5Z0NDQ0FHUVFOMmFqWUNEQ0FJSUFkQkgzWTJBdkFEQWtBZ0IwRi9UQVJBSUF0QkNHb2dDRUgwQTJvUUhrVU5BUXdLQ3lBSVFwaUFnSUNBQXpjRGlBY2dDRUtZZ0lDQWdBTTNBNEFISUFoQmdiaTQ4Z0EyQW9BRklBaEJnYmk0OGdBMkFvQUVJQWhCQVRZQzlBTUxBa0FDUUNBSUtBSlFEUUFnQ0NnQzhBTU5BQ0FMS0FJVVFRTjBJUklnQ3lnQ0dDRU1JQXNvQWd3aEJnd0JDeUFMS0FJTUlRWUNRQ0FMS0FJVVFRTjBJaElnQ3lnQ0dDSU1heUlKUVNCT0JFQWdCaWdBQUNJSFFSaDBJQWRCQ0hSQmdJRDhCM0Z5SUFkQkNIWkJnUDREY1NBSFFSaDJjbkloQnlBTEtBSVFJZ2xGRFFFZ0J5QUpkQ0FHTFFBRVFRZ2dDV3QyY2lFSERBRUxJQWxCQVVnRVFFRUFJUWNNQVFzZ0JpMEFBQ0FMS0FJUUlncEJHR29pRFhRaEJ5QUpJQXBxUVFocklncEJBVWdOQUFOQUlBWXRBQUVnRFVFSWF5SU5kQ0FIY2lFSElBcEJDRW9oQ1NBR1FRRnFJUVlnQ2tFSWF5RUtJQWtOQUFzTElBc2dERUVCYWlJTU5nSVlJQXNnREVFSGNUWUNFQ0FNSUJKTERRa2dDeUFMS0FJSUlBeEJBM1pxSWdZMkFnd2dDQ0FIUVI5Mk5nS1FCd3NDUUNBU0lBeHJJZ2xCSUU0RVFDQUdLQUFBSWdkQkdIUWdCMEVJZEVHQWdQd0hjWElnQjBFSWRrR0EvZ054SUFkQkdIWnljaUVISUFzb0FoQWlDVVVOQVNBSElBbDBJQVl0QUFSQkNDQUphM1p5SVFjTUFRc2dDVUVCU0FSQVFRQWhCd3dCQ3lBR0xRQUFJQXNvQWhBaUNrRVlhaUlOZENFSElBa2dDbXBCQ0dzaUNrRUJTQTBBQTBBZ0JpMEFBU0FOUVFocklnMTBJQWR5SVFjZ0NrRUlTaUVKSUFaQkFXb2hCaUFLUVFocklRb2dDUTBBQ3dzZ0N5QU1RUUZxSWdvMkFoZ2dDeUFLUVFkeElnazJBaEFnQ2lBU1N3MElJQXNnQ3lnQ0NDSU9JQXBCQTNacUlnWTJBZ3dnQ0NBSFFSOTJOZ0tVQndKQUlCSWdDbXNpQ2tFZ1RnUkFJQVlvQUFBaUIwRVlkQ0FIUVFoMFFZQ0EvQWR4Y2lBSFFRaDJRWUQrQTNFZ0IwRVlkbkp5SVFjZ0NVVU5BU0FISUFsMElBWXRBQVJCQ0NBSmEzWnlJUWNNQVFzZ0NrRUJTQVJBUVFBaEJ3d0JDeUFHTFFBQUlBbEJHSElpRFhRaEJ5QUpJQXBxUVFocklncEJBVWdOQUFOQUlBWXRBQUVnRFVFSWF5SU5kQ0FIY2lFSElBcEJDRW9oQ1NBR1FRRnFJUVlnQ2tFSWF5RUtJQWtOQUFzTElBc2dERUVDYWlJS05nSVlJQXNnQ2tFSGNTSUpOZ0lRSUFvZ0Vrc05DQ0FMSUE0Z0NrRURkbW9pQmpZQ0RDQUlJQWRCSDNZMkFwZ0hBa0FnQjBGL1RBUkFBa0FnRWlBS2F5SUtRU0JPQkVBZ0JpZ0FBQ0lIUVJoMElBZEJDSFJCZ0lEOEIzRnlJQWRCQ0haQmdQNERjU0FIUVJoMmNuSWhCeUFKUlEwQklBY2dDWFFnQmkwQUJFRUlJQWxyZG5JaEJ3d0JDeUFLUVFGSUJFQkJBQ0VIREFFTElBWXRBQUFnQ1VFWWNpSU5kQ0VISUFrZ0NtcEJDR3NpQ2tFQlNBMEFBMEFnQmkwQUFTQU5RUWhySWcxMElBZHlJUWNnQ2tFSVNpRUpJQVpCQVdvaEJpQUtRUWhySVFvZ0NRMEFDd3NnQ3lBTVFRTnFJZ1kyQWhnZ0N5QUdRUWR4TmdJUUlBWWdFa3NOQ2lBTElBNGdCa0VEZG1vMkFnd2dDQ0FIUVI5Mk5nS2NCeUFMUVFocUlBaEJvQWRxRUFJTkNpQUlLQUtnQjBFUVN3MEtJQXRCQ0dvZ0NFR2tCMm9RQWcwS0lBZ29BcVFIUVJCTERRb2dDMEVJYWlBSVFhZ0hhaEFDRFFvZ0NDZ0NxQWRCRUVzTkNpQUxRUWhxSUFoQnJBZHFFQUlOQ2lBSUtBS3NCMEVRU3cwS0lBdEJDR29nQ0VHd0Iyb1FBZzBLSUF0QkNHb2dDRUcwQjJvUUFnMEtEQUVMSUFoQkVEWUN0QWNnQ0VLUWdJQ0FnQUkzQXF3SElBaENnWUNBZ0lBQ053S2tCeUFJUW9HQWdJQWdOd0tjQndzZ0N5Z0N2QUVpQnlnQ21BZEZEUUFnQnlnQ3RBY2lCaUFIS0FLd0Iwa05DQ0FHSUFzb0FwUUJTUTBJSUFZZ0N5Z0N3QUZMRFFnZ0N5QUdRUUVnQmhzMkFzQUJDMEVJSUFzb0FoQWlCbXNoQndKQUlBc29BaFJCQTNRaUNDQUxLQUlZSWdscklncEJBV3RCSGtzTkFDQUdJQXBxUVFocklnWkJBVWdOQUFOQUlBWkJDRW9oQ2lBR1FRaHJJUVlnQ2cwQUN3c2dDeUFISUFscUlnWTJBaGdnQ3lBR1FRZHhOZ0lRSUFZZ0NFMEVRQ0FMSUFzb0FnZ2dCa0VEZG1vMkFnd0xBa0FnQUNBTEtBSndJZ1pCQW5ScUlnY29BaFFpQ0VVRVFDQUhRZHdBRUFnaUJqWUNGQ0FHRFFFTUNBc2dBQ2dDQ0NBR1JnUkFBa0FDUUNBTEtBSm9JQUFvQWhBaUJpZ0NBRWNOQUNBTEtBSnNJQVlvQWdSSERRQWdDeWdDZENBR0tBSU1SdzBBSUFzb0FuZ2lDU0FHS0FJUVJ3MEFJQXNvQXBRQklBWW9BaXhIRFFBZ0N5Z0NtQUVnQmlnQ01FY05BQ0FMS0FLY0FTQUdLQUkwUncwQUlBc29BcUFCSUFZb0FqaEhEUUFnQ3lnQ3BBRWlDaUFHS0FJOFJ3MEFJQXNvQXJnQklBWW9BbEJIRFFBQ1FBSkFBa0FnQ1E0Q0FRQUNDeUFMS0FLQUFTQUdLQUlZUncwQ0lBc29Bb1FCSUFZb0FoeEhEUUlnQ3lnQ2lBRWdCaWdDSUVjTkFpQUxLQUtNQVNJSklBWW9BaVJIRFFJZ0NVVU5BU0FHS0FJb0lReEJBQ0VOSUFzb0FwQUJJUTREUUNBT0lBMUJBblFpRW1vb0FnQWdEQ0FTYWlnQ0FFY05BeUFKSUExQkFXb2lEVWNOQUFzTUFRc2dDeWdDZkNBR0tBSVVSdzBCQ3lBS1JRMEJJQXNvQXFnQklBWW9Ba0JIRFFBZ0N5Z0NyQUVnQmlnQ1JFY05BQ0FMS0FLd0FTQUdLQUpJUncwQUlBc29BclFCSUFZb0FreEdEUUVMSUFnb0FpZ1FCQ0FIS0FJVVFRQTJBaWdnQnlnQ0ZDZ0NWQkFFSUFjb0FoUkJBRFlDVkNBQVFRQTJBaEFnQUVHQkFqWUNCQ0FBUWlFM0FnZ01BZ3NnQ3lnQ2tBRVFCRUVBSVFvZ0MwRUFOZ0tRQVNBTEtBSzhBUkFFSUF0QkFEWUN2QUZCQUNFTURBd0xJQWdvQWlnUUJDQUhLQUlVUVFBMkFpZ2dCeWdDRkNnQ1ZCQUVJQWNvQWhSQkFEWUNWQXNnQnlnQ0ZDQUxRZWdBYWtIY0FCQUhHZ3dHQ3lBTFFTQnFJZ1pCQUVISUFCQURHaUFMUVFocUlBWVFBZzBDSUFzb0FpQkIvd0ZMRFFJZ0MwRUlhaUJmRUFJTkFpQUxLQUlrUVI5TERRSWdDeWdDRENFR0FrQWdDeWdDRkVFRGRDSU1JQXNvQWhnaURtc2lDRUVnVGdSQUlBWW9BQUFpQjBFWWRDQUhRUWgwUVlDQS9BZHhjaUFIUVFoMlFZRCtBM0VnQjBFWWRuSnlJUWNnQ3lnQ0VDSUlSUTBCSUFjZ0NIUWdCaTBBQkVFSUlBaHJkbkloQnd3QkN5QUlRUUZJQkVCQkFDRUhEQUVMSUFZdEFBQWdDeWdDRUNJSlFSaHFJZzEwSVFjZ0NDQUpha0VJYXlJS1FRRklEUUFEUUNBR0xRQUJJQTFCQ0dzaURYUWdCM0loQnlBS1FRaEtJUWdnQmtFQmFpRUdJQXBCQ0dzaENpQUlEUUFMQ3lBTElBNUJBV29pQ1RZQ0dDQUxJQWxCQjNFaUNEWUNFQ0FKSUF4TERRSWdDeUFMS0FJSUloSWdDVUVEZG1vaUJqWUNEQ0FIUVFCSURRSUNRQ0FNSUFscklnbEJJRTRFUUNBR0tBQUFJZ2RCR0hRZ0IwRUlkRUdBZ1B3SGNYSWdCMEVJZGtHQS9nTnhJQWRCR0haeWNpRUhJQWhGRFFFZ0J5QUlkQ0FHTFFBRVFRZ2dDR3QyY2lFSERBRUxJQWxCQVVnRVFFRUFJUWNNQVFzZ0JpMEFBQ0FJUVJoeUlnMTBJUWNnQ0NBSmFrRUlheUlLUVFGSURRQURRQ0FHTFFBQklBMUJDR3NpRFhRZ0IzSWhCeUFLUVFoS0lRZ2dCa0VCYWlFR0lBcEJDR3NoQ2lBSURRQUxDeUFMSUE1QkFtb2lCallDR0NBTElBWkJCM0UyQWhBZ0JpQU1TdzBDSUFzZ0IwRWZkallDS0NBTElCSWdCa0VEZG1vMkFnd2dDMEVJYWlBTFFld0JhaEFDRFFJZ0N5QUxLQUxzQVVFQmFpSUdOZ0lzSUFaQkNFc05BaUFHUVFKSkRRRWdDMEVJYWlCZUVBSU5BaUFMS0FJd0lnWkJCa3NOQWdKQUFrQUNRQUpBSUFZT0J3QUZBUUlDQWdNRkN5QUxJQXNvQWl3aUIwRUNkQkFJSWdnMkFqUWdDRVVOQlVFQUlRWWdCMFVOQkFOQUlBdEJDR29nQzBIc0FXb1FBZzBHSUFnZ0JrRUNkR29nQ3lnQzdBRkJBV28yQWdBZ0JrRUJhaUlHSUFkSERRQUxEQVFMSUFzZ0N5Z0NMQ0lHUVFKMFFRUnJJZ2dRQ0NJSE5nSTRJQXNnQ0JBSUlnZzJBandnQjBVTkJDQUlSUTBFSUFaQkFVWU5BeUFHUVFGcklRbEJBQ0VHQTBBZ0MwRUlhaUFMUWV3QmFoQUNEUVVnQnlBR1FRSjBJZ3BxSUFzb0F1d0JOZ0lBSUF0QkNHb2dDMEhzQVdvUUFnMEZJQWdnQ21vZ0N5Z0M3QUUyQWdBZ0JrRUJhaUlHSUFsSERRQUxEQU1MSUFzb0Fnd2hCZ0pBSUFzb0FoUkJBM1FpQ1NBTEtBSVlJZ3hySWdoQklFNEVRQ0FHS0FBQUlnZEJHSFFnQjBFSWRFR0FnUHdIY1hJZ0IwRUlka0dBL2dOeElBZEJHSFp5Y2lFSElBc29BaEFpQ0VVTkFTQUhJQWgwSUFZdEFBUkJDQ0FJYTNaeUlRY01BUXNnQ0VFQlNBUkFRUUFoQnd3QkN5QUdMUUFBSUFzb0FoQWlDa0VZYWlJTmRDRUhJQWdnQ21wQkNHc2lDa0VCU0EwQUEwQWdCaTBBQVNBTlFRaHJJZzEwSUFkeUlRY2dDa0VJU2lFSUlBWkJBV29oQmlBS1FRaHJJUW9nQ0EwQUN3c2dDeUFNUVFGcUlnWTJBaGdnQ3lBR1FRZHhOZ0lRSUFZZ0NVc05BeUFMSUFkQkgzWTJBa0FnQ3lBTEtBSUlJQVpCQTNacU5nSU1JQXRCQ0dvZ0MwSHNBV29RQWcwRElBc2dDeWdDN0FGQkFXbzJBa1FNQWdzZ0MwRUlhaUFMUWV3QmFoQUNEUUlnQ3lBTEtBTHNBU0lPUVFGcUlnWTJBa2dnQ3lBR1FRSjBFQWdpQ0RZQ1RDQUlSUTBDSUFaRkRRRkJJQ0FMS0FJc0loSkJBblJCbkRGcUtBSUFJaEZySVE5QkFDRU1JQXNvQWd3aEJpQUxLQUlJSVJvRFFBSkFJQXNvQWhSQkEzUWlGQ0FMS0FJWUloaHJJZ2xCSUU0RVFDQUdLQUFBSWdkQkdIUWdCMEVJZEVHQWdQd0hjWElnQjBFSWRrR0EvZ054SUFkQkdIWnljaUVISUFzb0FoQWlDVVVOQVNBSElBbDBJQVl0QUFSQkNDQUphM1p5SVFjTUFRc2dDVUVCU0FSQVFRQWhCd3dCQ3lBR0xRQUFJQXNvQWhBaUNrRVlhaUlOZENFSElBa2dDbXBCQ0dzaUNrRUJTQTBBQTBBZ0JpMEFBU0FOUVFocklnMTBJQWR5SVFjZ0NrRUlTaUVKSUFaQkFXb2hCaUFLUVFocklRb2dDUTBBQ3dzZ0N5QVJJQmhxSWdZMkFoZ2dDeUFHUVFkeE5nSVFJQVlnRkVzRVFDQUlJQXhCQW5ScVFYODJBZ0FNQkFzZ0N5QWFJQVpCQTNacUlnWTJBZ3dnQ0NBTVFRSjBhaUFISUE5MklnYzJBZ0FnQnlBU1R3MERJQXdnRGtZaEJ5QU1RUUZxSVF3Z0IwVU5BQXNNQVFzZ0FDZ0NuQWtOQ0NBQVFRRTJBcUFKQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBZ0FDZ0NwQWtOQUNBQVFnQTNBclFKSUFzZ0N5Z0NHRFlDNEFFZ0N5QUxLUU1RTndQWUFTQUxJQXNwQXdnM0E5QUJBa0FnQzBIUUFXb2dDMEhzQVdvUUFnMEFJQXRCMEFGcUlBdEI3QUZxRUFJTkFDQUxRZEFCYWlBTFFld0JhaEFDRFFBZ1BTQUxLQUxzQVNJR0lBWkIvd0ZMR3lFOUMwRUVJUXdnQUNBOVFRSjBhaWdDbEFFaUJrVU5DU0FBSUFZb0FnUWlDRUVDZEdvaUNTZ0NGQ0lIUlEwSklBQW9BZ2doRHdKQUlBWW9BZ3dpRGtFQ1NRMEFJQWNvQWpRaURTQUhLQUk0YkNFSEFrQUNRQUpBQWtBZ0JpZ0NFQ0lSRGdNQkF3QURDeUFPUVFGcklSRWdCaWdDSENFVUlBWW9BaGdoSnd3QkN5QUdLQUlVSVEwRFFDQU5JQXBCQW5ScUtBSUFJQWRMRFEwZ0RpQUtRUUZxSWdwSERRQUxEQUlMQTBBZ0p5QUtRUUowSWc1cUtBSUFJaGdnRGlBVWFpZ0NBQ0lPU3cwTUlBY2dEazBORENBWUlBMXdJQTRnRFhCTERRd2dFU0FLUVFGcUlncEhEUUFMREFFTElCRkJBMnRCQWswRVFDQUdLQUlrSUFkTERRc01BUXNnRVVFR1J3MEFJQVlvQWlnZ0Iwa05DZ3NDUUFKQUlBQW9BZ1FpQjBHQUFrWUVRQ0FBSUFZMkFnd2dBQ0E5TmdJRUlBQWdDRFlDQ0NBQUlBa29BaFFpQmpZQ0VDQUdLQUkwSVFjZ0JpZ0NPQ0VHSUFCQkFUWUN0Qm9nQUNBR05nTEFDaUFBSUFjMkFyd0tJQUFnQmlBSGJEWUNtQWtNQVFzZ0FDZ0N0Qm9FUUNBQVFRQTJBclFhSUFBb0Fyd0pFQVFnQUVFQU5nSzhDU0FBS0FLVUNSQUVJQUFnQUNnQ21Ba2lEa0hZQVd3aUJ4QUlJZ1kyQXJ3SklBQWdEa0VDZEJBSUlnZzJBcFFKUVFVaERDQUdSUTBNSUFoRkRRd2dCa0VBSUFjUUF5RVJJQUFvQWhBaENpQU9CRUJCQVNBS0tBSTBJZ2hySVJRZ0NFRUJheUVZUVFBZ0NHc2hFeUFSUWRnQmF5RWNJQkVnQ0VGL2MwSFlBV3hxSVJkQkFDRUhRUUFoRFVFQUlRa0RRQ0FSSUFsQjJBRnNJZ3BxSWdZZ0NpQWNha0VBSUFjYk5nTElBU0FHQW44Z0RVVUVRQ0FHUWdBM0Fzd0JRUUFNQVFzZ0JpQUdJQk5CMkFGc2FqWUN6QUVnQmlBR0lCUkIyQUZzYWtFQUlBY2dHRWtiTmdMUUFTQUtJQmRxUVFBZ0J4c0xOZ0xVQVVFQUlBZEJBV29pQmlBR0lBaEdJZ1liSVFjZ0JpQU5haUVOSUFsQkFXb2lDU0FPUncwQUN5QUFLQUlRSVFvTFFRRWhHRUVBSVFjQ2YwRUFJQUFvQXNBSkRRQWFRUUFnQ2lnQ0VFRUNSZzBBR2dKQUlBb29BbEJGRFFBZ0NpZ0NWQ0lHS0FLWUIwVU5BRUVBSUFZb0FyQUhSUTBCR2d0QkFDRVlRUUVMSVFrZ0NpZ0NOQ0VuSUFvb0FqZ2hEaUFLS0FJTUlRMGdDaWdDTENFSUlBb29BbGdoRVFKQUlEZ29BZ0FpQmtVTkFFRUFJUW9nQmlFSElBQW9BdUFKUVg5R0RRQURRQ0FISUFwQktHd2lCbW9vQWdRUUJDQUFLQUxFQ1NJSElBWnFRUUEyQWdRZ0NrRUJhaUlLSUFBb0F1QUpRUUZxU1EwQUN3c2dCeEFFSUFCQkFEWUN4QWtnQUNnQ3lBa1FCQ0FBUVFBMkFzZ0pJQUFvQXRBSkVBUWdBRUgvL3dNMkF1Z0pJQUJCQURZQzBBa2dBQ0FZTmdMOENTQUFJQTAyQXVRSklBQWdFU0FJUVFFZ0NFRUJTeHNpQnlBSkd5SUdOZ0xnQ1NBQUlBYzJBdHdKSUFCQkFEWUM5QWtnQUVJQU53THNDU0FBUWFnRkVBZ2lCellDeEFrZ0IwVU5ERUVBSVFvZ0IwRUFRYWdGRUFNaENDQUdRWDlIQkVBZ0RpQW5iRUdBQTJ4QkwzSWhDUU5BSUFnZ0NrRW9iR29pRGlBSkVBZ2lCellDQkNBSFJRME9JQTRnQjBFQUlBZHJRUWh4YWpZQ0FDQUdJQXBISVFjZ0NrRUJhaUVLSUFjTkFBc0xJQUJCeEFBUUNDSUhOZ0xJQ1NBQUlBWkJCSFJCRUdvUUNDSUdOZ0xRQ1NBR1JRME1JQWRGRFF3Z0IwRUFRY1FBRUFNYUlBQkNBRGNDMUFrZ0FDZ0NDQ0VJREFFTElBY2dQVVlOQXlBSUlBOUdEUUVnR2tFRlJ3MExJQUFnQmpZQ0RDQUFJRDAyQWdRZ0FDQUlOZ0lJSUFBZ0NTZ0NGQ0lHTmdJUUlBWW9BalFoQnlBR0tBSTRJUVlnQUVFQk5nSzBHaUFBSUFZMkFzQUtJQUFnQnpZQ3ZBb2dBQ0FHSUFkc05nS1lDUXNnQ0NBUFJnMEJRUUFoQ2lBQUtBSUFJZ1pCSDAwRVFDQUFJQVpCQW5ScUtBSVVJUW9MSUFBb0FoQWhCeUFBUVFFMkFwQWFJQnBCQlVjTkJ5QUFLQUlNSVFnZ0N5QUxLQUlZTmdMZ0FTQUxJQXNwQXhBM0E5Z0JJQXNnQ3lrRENEY0QwQUZCQVNFR0lBdEIwQUZxSUF0QnpBRnFFQUlFUUVFQklRME1Cd3NnQzBIUUFXb2dDMEhNQVdvUUFnUkFRUUVoRFF3SEN5QUxRZEFCYWlBTFFjd0JhaEFDQkVCQkFTRU5EQWNMUVI4Z0J5Z0NER2NpRG1zaEVTQUxLQUxVQVNFTkFrQWdDeWdDM0FGQkEzUWlEeUFMS0FMZ0FTSWFheUlKUVNCT0JFQWdEU2dBQUNJSlFSaDBJQWxCQ0hSQmdJRDhCM0Z5SUFsQkNIWkJnUDREY1NBSlFSaDJjbkloRENBTEtBTFlBU0lKUlEwQklBd2dDWFFnRFMwQUJFRUlJQWxyZG5JaERBd0JDeUFKUVFGSUJFQkJBQ0VNREFFTElBMHRBQUFnQ3lnQzJBRWlGRUVZYWlJU2RDRU1JQWtnRkdwQkNHc2lDVUVCU0EwQUEwQWdEUzBBQVNBU1FRaHJJaEowSUF4eUlRd2dDVUVJU2lFVUlBMUJBV29oRFNBSlFRaHJJUWtnRkEwQUN3c2dDeUFSSUJwcUlnazJBdUFCSUFzZ0NVRUhjVFlDMkFGQkFTRU5JQWtnRDBzTkJpQUxJQXNvQXRBQklBbEJBM1pxTmdMVUFTQU1JQTVCQVdwMlFYOUdEUVlnQzBIUUFXb2dDMEhNQVdvUUFnMEdJQWNvQWhBaUJnMEVRUjhnQnlnQ0ZHY2lEbXNoRVNBTEtBTFVBU0VHQWtBZ0N5Z0MzQUZCQTNRaUR5QUxLQUxnQVNJYWF5SUpRU0JPQkVBZ0JpZ0FBQ0lKUVJoMElBbEJDSFJCZ0lEOEIzRnlJQWxCQ0haQmdQNERjU0FKUVJoMmNuSWhEQ0FMS0FMWUFTSUpSUTBCSUF3Z0NYUWdCaTBBQkVFSUlBbHJkbkloREF3QkN5QUpRUUZJQkVCQkFDRU1EQUVMSUFZdEFBQWdDeWdDMkFFaUZFRVlhaUlTZENFTUlBa2dGR3BCQ0dzaUNVRUJTQTBBQTBBZ0JpMEFBU0FTUVFockloSjBJQXh5SVF3Z0NVRUlTaUVVSUFaQkFXb2hCaUFKUVFocklRa2dGQTBBQ3dzZ0N5QVJJQnBxSWdZMkF1QUJJQXNnQmtFSGNUWUMyQUVnQmlBUFN3UkFRUUVoQmd3SEN5QUxJQXNvQXRBQklBWkJBM1pxTmdMVUFVRUJJUVlnRENBT1FRRnFka0YvUmcwR0lBZ29BZ2hGRFFVZ0MwRUFOZ0xzQVNBTFFkQUJhaUFMUWV3QmFoQUNJUWtDUUNBTEtBTHNBVUYvUmdSQUlBbEZEUUVNQlFzZ0NVVU5CQXNNQmdzZ0FDQUdOZ0lNSUFBZ1BUWUNCQXRCQUNFS0lBQW9BclFhUlEwQVFRTWhEQXdSQ3lBQUtBSU1JUWNnQUNnQ0VDRUdJRlZCQUVIY0J4QURJUk1nQmlnQ05DRUlJQVlvQWpnaENTQUxRUWhxSUF0QnpBRnFFQUlORHlBVElBc29Bc3dCSWdvMkFnQWdDaUFJSUFsc0lnMVBEUThnQzBFSWFpQUxRY3dCYWhBQ0RROGdBQ0FMS0FMTUFTSUlOZ0s0RWdKQUFrQWdDQTRJQUJFQkVSRUFFUUVSQ3lBYVFRVkdEUkFnQmlnQ0xFVU5FQXNnQzBFSWFpQUxRY3dCYWhBQ0RROGdBQ0FMS0FMTUFTSUlOZ0s4RWlBSUlBY29BZ0JIRFE5Qkh5QUdLQUlNWnlJbmF5RU1JQXNvQWd3aENRSkFJQXNvQWhSQkEzUWlFU0FMS0FJWUlnOXJJZ3BCSUU0RVFDQUpLQUFBSWdoQkdIUWdDRUVJZEVHQWdQd0hjWElnQ0VFSWRrR0EvZ054SUFoQkdIWnljaUVPSUFzb0FoQWlDRVVOQVNBT0lBaDBJQWt0QUFSQkNDQUlhM1p5SVE0TUFRc2dDa0VCU0FSQVFRQWhEZ3dCQ3lBSkxRQUFJQXNvQWhBaUZFRVlhaUlJZENFT0lBb2dGR3BCQ0dzaUdFRUJTQTBBQTBBZ0NTMEFBU0FJUVFocklnaDBJQTV5SVE0Z0dFRUlTaUVLSUFsQkFXb2hDU0FZUVFocklSZ2dDZzBBQ3dzZ0N5QU1JQTlxSWdnMkFoZ2dDeUFJUVFkeE5nSVFJQWdnRVVzTkR5QUxJQXNvQWdnZ0NFRURkbW8yQWd3Z0RpQW5RUUZxZGlJSVFYOUdEUThnR2tFRlJ5SUtRUUVnQ0J0RkRROGdBQ0FJTmdMQUVpQUtSUVJBSUF0QkNHb2dDMEhNQVdvUUFnMFFJQUFnQ3lnQ3pBRWlDRFlDeEJJZ0NFSC8vd05MRFJBTEFrQWdCaWdDRUNJSUJIOGdDQVZCSHlBR0tBSVVaeUlNYXlFUElBc29BZ3doQ1FKQUlBc29BaFJCQTNRaUZDQUxLQUlZSWlkcklnaEJJRTRFUUNBSktBQUFJZ2hCR0hRZ0NFRUlkRUdBZ1B3SGNYSWdDRUVJZGtHQS9nTnhJQWhCR0haeWNpRU9JQXNvQWhBaUNFVU5BU0FPSUFoMElBa3RBQVJCQ0NBSWEzWnlJUTRNQVFzZ0NFRUJTQVJBUVFBaERnd0JDeUFKTFFBQUlBc29BaEFpR0VFWWFpSVJkQ0VPSUFnZ0dHcEJDR3NpR0VFQlNBMEFBMEFnQ1MwQUFTQVJRUWhySWhGMElBNXlJUTRnR0VFSVNpRUlJQWxCQVdvaENTQVlRUWhySVJnZ0NBMEFDd3NnQ3lBUElDZHFJZ2cyQWhnZ0N5QUlRUWR4TmdJUUlBZ2dGRXNORVNBTElBc29BZ2dnQ0VFRGRtbzJBZ3dnRGlBTVFRRnFkaUlJUVg5R0RSRWdBQ0FJTmdMSUVpQUhLQUlJQkVBZ0MwRUFOZ0xRQVNBTFFRaHFJQXRCMEFGcUVBSWhDQUpBSUFzb0F0QUJJZ2xCZjBZRVFFR0FnSUNBZUNFWUlBaEZEUlFNQVFzZ0NBMFRJQWxCQVdwQkFYWWlDRUVBSUFocklBbEJBWEViSVJnTElBQWdHRFlDekJJTElBcEZCRUFnQUNnQ3lCSWlDQ0FHS0FJVVFRRjJTdzBTSUFoQkFDQUFLQUxNRWlJSlFSOTFJQWx4YTBjTkVnc2dCaWdDRUF0QkFVY05BQ0FHS0FJWURRQWdDMEVBTmdMUUFTQUxRUWhxSUF0QjBBRnFFQUloQ0FKQUlBc29BdEFCSWdsQmYwWUVRRUdBZ0lDQWVDRVlJQWhGRFJJTUFRc2dDQTBSSUFsQkFXcEJBWFlpQ0VFQUlBaHJJQWxCQVhFYklSZ0xJQUFnR0RZQzBCSWdCeWdDQ0FSQUlBdEJBRFlDMEFFZ0MwRUlhaUFMUWRBQmFoQUNJUWdDUUNBTEtBTFFBU0lKUVg5R0JFQkJnSUNBZ0hnaEdDQUlSUTBUREFFTElBZ05FaUFKUVFGcVFRRjJJZ2hCQUNBSWF5QUpRUUZ4R3lFWUN5QUFJQmcyQXRRU0N5QUtEUUFnQUNnQzBCSWlDQ0FBS0FMVUVpQUlJQVlvQWlCcWFpSUpJQWdnQ1VnYkRSQUxJQWNvQWtRRVFDQUxRUWhxSUF0QnpBRnFFQUlORUNBQUlBc29Bc3dCSWdnMkF0Z1NJQWhCL3dCTERSQUxBa0FDUUNBQUtBSzRFaUluRGdZQUFRRUJBUUFCQ3lBTEtBSU1JUWtDUUNBTEtBSVVRUU4wSWd3Z0N5Z0NHQ0lQYXlJSVFTQk9CRUFnQ1NnQUFDSUlRUmgwSUFoQkNIUkJnSUQ4QjNGeUlBaEJDSFpCZ1A0RGNTQUlRUmgyY25JaERpQUxLQUlRSWdoRkRRRWdEaUFJZENBSkxRQUVRUWdnQ0d0MmNpRU9EQUVMSUFoQkFVZ0VRRUVBSVE0TUFRc2dDUzBBQUNBTEtBSVFJaFJCR0dvaUVYUWhEaUFJSUJScVFRaHJJaGhCQVVnTkFBTkFJQWt0QUFFZ0VVRUlheUlSZENBT2NpRU9JQmhCQ0VvaENDQUpRUUZxSVFrZ0dFRUlheUVZSUFnTkFBc0xJQXNnRDBFQmFpSUlOZ0lZSUFzZ0NFRUhjVFlDRUNBSUlBeExEUkFnQ3lBTEtBSUlJQWhCQTNacU5nSU1JQUFnRGtFZmRqWUMzQklDUUNBT1FYOU1CRUFnQzBFSWFpQUxRY3dCYWhBQ0RSSWdDeWdDekFFaUNFRVBTdzBTSUFoQkFXb2hDU0FBS0FLNEVpRW5EQUVMSUFjb0FqQWlDVUVRU3cwUkN5QUFJQWsyQXVBU0N3SkFBa0FnSnc0R0FBRUJBUUVBQVFzZ0N5Z0NEQ0VKQWtBZ0N5Z0NGRUVEZENJTUlBc29BaGdpRDJzaUNFRWdUZ1JBSUFrb0FBQWlDRUVZZENBSVFRaDBRWUNBL0FkeGNpQUlRUWgyUVlEK0EzRWdDRUVZZG5KeUlRNGdDeWdDRUNJSVJRMEJJQTRnQ0hRZ0NTMEFCRUVJSUFocmRuSWhEZ3dCQ3lBSVFRRklCRUJCQUNFT0RBRUxJQWt0QUFBZ0N5Z0NFQ0lVUVJocUloRjBJUTRnQ0NBVWFrRUlheUlZUVFGSURRQURRQ0FKTFFBQklCRkJDR3NpRVhRZ0RuSWhEaUFZUVFoS0lRZ2dDVUVCYWlFSklCaEJDR3NoR0NBSURRQUxDeUFHS0FJTUlSRWdBQ2dDNEJJaEZDQUxJQTlCQVdvaUNEWUNHQ0FMSUFoQkIzRTJBaEFnQ0NBTVN3MFFJQXNnQ3lnQ0NDQUlRUU4yYWpZQ0RDQUFJQTVCSDNZMkF2Z1NJQTVCZjBvTkFFRUFJUWtEUUNBSklCUkxEUkVnQzBFSWFpQUxRZXdCYWhBQ0RSRWdDeWdDN0FFaUNFRURTdzBSSUFBZ0NVRU1iR29pREVIOEVtb2dDRFlDQUNBSVFRRk5CRUFnQzBFSWFpQUxRZEFCYWhBQ0RSSWdDeWdDMEFFaUNDQVJUdzBTSUF4QmdCTnFJQWhCQVdvMkFnQWdDVUVCYWlFSkRBRUxJQWhCQWtZRVFDQUxRUWhxSUF0QjBBRnFFQUlORWlBTVFZUVRhaUFMS0FMUUFUWUNBQ0FKUVFGcUlRa01BUXNMSUFsRkRSQUxBa0FnRWtVTkFDQUxLQUlNSVFnQ1FDQUxLQUlVUVFOMElnOGdDeWdDR0NJbmF5SU1RU0JPQkVBZ0NDZ0FBQ0lKUVJoMElBbEJDSFJCZ0lEOEIzRnlJQWxCQ0haQmdQNERjU0FKUVJoMmNuSWhEaUFMS0FJUUlnbEZEUUVnRGlBSmRDQUlMUUFFUVFnZ0NXdDJjaUVPREFFTElBeEJBVWdFUUVFQUlRNE1BUXNnQ0MwQUFDQUxLQUlRSWhSQkdHb2lFWFFoRGlBSUlRa2dEQ0FVYWtFSWF5SVlRUUZJRFFBRFFDQUpMUUFCSUJGQkNHc2lFWFFnRG5JaERpQVlRUWhLSVF3Z0NVRUJhaUVKSUJoQkNHc2hHQ0FNRFFBTEN5QUdLQUlzSVJRZ0N5QW5RUUZxSWd3MkFoZ2dDeUFNUVFkeElnWTJBaEJCZnlFSklBd2dEMDBFUUNBTElBc29BZ2dnREVFRGRtb2lDRFlDRENBT1FSOTJJUWtMSUFwRkJFQWdDVUYvUmcwUklBQWdDVFlDeUJRQ1FDQVBJQXhySWdwQklFNEVRQ0FJS0FBQUlnbEJHSFFnQ1VFSWRFR0FnUHdIY1hJZ0NVRUlka0dBL2dOeElBbEJHSFp5Y2lFSklBWkZEUUVnQ1NBR2RDQUlMUUFFUVFnZ0JtdDJjaUVKREFFTElBcEJBVWdFUUVFQUlRa01BUXNnQ0MwQUFDQUdRUmh5SWhoMElRa2dCaUFLYWtFSWF5SUtRUUZJRFFBRFFDQUlMUUFCSUJoQkNHc2lHSFFnQ1hJaENTQUtRUWhLSVFZZ0NFRUJhaUVJSUFwQkNHc2hDaUFHRFFBTEN5QUxJQ2RCQW1vaUJqWUNHQ0FMSUFaQkIzRTJBaEFnQmlBUFN3MFJJQXNnQ3lnQ0NDQUdRUU4yYWpZQ0RDQUFJQWxCSDNZMkFzd1VJQlFOQVNBSlFYOU1EUkVNQVFzZ0NVRi9SZzBRSUFBZ0NUWUMwQlFnQ1VVTkFDQVVRUUYwUVFOcUlROUJBQ0VKUVFBaEowRUFJUTVCQUNFSVFRQWhFUU5BSUFrZ0QwWU5FU0FMUVFocUlBdEI3QUZxRUFJTkVTQUxLQUxzQVNJR1FRWkxEUkVnQUNBSlFSUnNhaUlLUWRRVWFpQUdOZ0lBSUFaQmZYRkJBVVlFUUNBTFFRaHFJQXRCMEFGcUVBSU5FaUFLUWRnVWFpQUxLQUxRQVVFQmFqWUNBQXNDUUFKQUFrQUNRQ0FHUVFKckRnVUFBUUlEQVFNTElBdEJDR29nQzBIUUFXb1FBZzBVSUFwQjNCUnFJQXNvQXRBQk5nSUFEQUlMSUF0QkNHb2dDMEhRQVdvUUFnMFRJQXBCNEJScUlBc29BdEFCTmdJQUlBWkJCRWNOQVFzZ0MwRUlhaUFMUWRBQmFoQUNEUklnQ3lnQzBBRWlEQ0FVU3cwU0lBcEI1QlJxSUF4QkFXdEIvLzhESUF3Yk5nSUFJQ2RCQVdvaEp3c2dDVUVCYWlFSklBZ2dCa0VHUm1vaENDQU9JQVpCQlVacUlRNGdFU0FHUVFGclFRTkphaUVSSUFZTkFBc2dKMEVCU3cwUUlBNUJBVXNORUNBSVFRRkxEUkFnRVVVTkFDQU9EUkFMSUF0QkFEWUMwQUVnQzBFSWFpQUxRZEFCYWhBQ0lRWUNRQ0FMS0FMUUFTSUlRWDlHQkVCQmdJQ0FnSGdoQ1NBR1JRMFJEQUVMSUFZTkVDQUlRUUZxUVFGMklnWkJBQ0FHYXlBSVFRRnhHeUVKQ3lBQUlBazJBdVFTSUFjb0FqUWdDV3BCTTBzTkR3SkFJQWNvQWp4RkRRQWdDMEVJYWlBTFFjd0JhaEFDRFJBZ0FDQUxLQUxNQVNJR05nTG9FaUFHUVFKTERSQWdCa0VCUmcwQUlBdEJBRFlDMEFFZ0MwRUlhaUFMUWRBQmFoQUNJUWdnQ3lnQzBBRWlCa0YvUmcwUUlBZ05FQ0FHUVFGcVFRRjJJZ2hCQUNBSWF5QUdRUUZ4R3lJR1FRWnFRUXhMRFJBZ0FDQUdRUUYwTmdMc0VpQUxRUUEyQXRBQklBdEJDR29nQzBIUUFXb1FBaUVJSUFzb0F0QUJJZ1pCZjBZTkVDQUlEUkFnQmtFQmFrRUJkaUlJUVFBZ0NHc2dCa0VCY1JzaUJrRUdha0VNU3cwUUlBQWdCa0VCZERZQzhCSUxBa0FnQnlnQ0RFRUNTUTBBSUFjb0FoQkJBMnRCQWtzTkFFRUJRUUlnRFNBTklBY29BaVFpQjI0aUJpQUhiRVliSUFacUlRaEJBQ0VLQTBBZ0NDQUtJZ1pCQVdvaUNuWU5BQXNnQ2lBR0lBaEJmeUFHZEVGL2MzRWJJUWdnQ3lnQ0RDRUtBa0FnQ3lnQ0ZFRURkQ0lPSUFzb0FoZ2lFV3NpQmtFZ1RnUkFJQW9vQUFBaUJrRVlkQ0FHUVFoMFFZQ0EvQWR4Y2lBR1FRaDJRWUQrQTNFZ0JrRVlkbkp5SVF3Z0N5Z0NFQ0lHUlEwQklBd2dCblFnQ2kwQUJFRUlJQVpyZG5JaERBd0JDeUFHUVFGSUJFQkJBQ0VNREFFTElBb3RBQUFnQ3lnQ0VDSUpRUmhxSWhoMElRd2dCaUFKYWtFSWF5SUpRUUZJRFFBRFFDQUtMUUFCSUJoQkNHc2lHSFFnREhJaERDQUpRUWhLSVFZZ0NrRUJhaUVLSUFsQkNHc2hDU0FHRFFBTEN5QUxJQWdnRVdvaUJqWUNHQ0FMSUFaQkIzRTJBaEFnQmlBT1N3UkFJQXRCZnpZQ3pBRU1FUXNnQ3lBTEtBSUlJQVpCQTNacU5nSU1JQXhCSUNBSWEzWWlCa0YvUmcwUUlBQWdCallDOUJJZ0JpQUhJQTFxUVFGcklBZHVTdzBRQ3lBQUtBS2tDVVVFUUFKQUlCcEJCVVlOQUNBQUtBSVFLQUl3SVFZZ0FFSUFOd0xVQ1NBR1JRMEFBa0FDUUFKQUFrQWdBQ2dDOUFraUNpQUFLQUxBRWlJblJ3UkFJQ2NnQ2tFQmFpQUFLQUxrQ1NJT2NDSUdSd1JBSUFBb0FzUUpJQUFvQXVBSlFTaHNhaWdDQUNFUkEwQUNRQUpBQWtBQ1FDQUFLQUxzQ1NJS0JFQWdDa0VCY1NFSklBQW9Bc1FKSVFkQkFDRU5Ba0FnQ2tFQlJpSVBSUVJBSUFwQmZuRWhEQU5BSUFjZ0RVRW9iR29pQ0NnQ0ZFRUJhMEVCVFFSQUlBZ2dDQ2dDRENJSUlBNUJBQ0FHSUFoSkcyczJBZ2dMSUFjZ0RVRUJja0VvYkdvaUNDZ0NGRUVCYTBFQ1NRUkFJQWdnQ0NnQ0RDSUlJQTVCQUNBR0lBaEpHMnMyQWdnTElBMUJBbW9oRFNBTVFRSnJJZ3dOQUFzZ0NVVU5BUXNnQnlBTlFTaHNhaUlJS0FJVVFRRnJRUUZMRFFBZ0NDQUlLQUlNSWdnZ0RrRUFJQVlnQ0VrYmF6WUNDQXNnQ2lBQUtBTGNDVWtOQkNBUFJRMEJRUUFoR0VGL0lReEJBQ0VJREFJTFFRQWhDaUFBS0FMY0NRMERRUU1oREF3ZEMwRi9JUXhCQUNFTlFRQWhHQ0FLUVg1eElnZ2hEZ05BSUFjZ0RVRW9iR29pRHlnQ0ZFRUJhMEVCVFFSQUlBOG9BZ2dpRHlBWUlBeEJmMFlnRHlBWVNISWlEeHNoR0NBTklBd2dEeHNoREFzZ0J5QU5RUUZ5SWc5QktHeHFJaFFvQWhSQkFXdEJBa2tFUUNBVUtBSUlJaFFnR0NBTVFYOUdJQlFnR0VoeUloUWJJUmdnRHlBTUlCUWJJUXdMSUExQkFtb2hEU0FPUVFKcklnNE5BQXNnQ1VVTkFRc2dCeUFJUVNoc2FpSUpLQUlVUVFGclFRRkxEUUFnQ0NBSUlBd2dERUYvUmhzZ0NTZ0NDQ0FZU0JzaERBc2dERUVBU0EwWklBY2dERUVvYkdvaUIwRUFOZ0lVSUFBZ0NrRUJheUlLTmdMc0NTQUhLQUlZRFFBZ0FDQUFLQUx3Q1VFQmF6WUM4QWtMQWtBZ0FDZ0M4QWtpQ0NBQUtBTGdDU0lIU1FSQUlBQW9Bc1FKSVE4TUFRc2dBQ2dDL0FrTkJDQUFLQUxFQ1NFUEEwQkJBQ0VZUWYvLy8vOEhJUXhCQUNFTkEwQWdEeUFOUVNoc2FpSUpLQUlZQkVBZ0NTQVlJQWtvQWhBaUNTQU1TQ0lPR3lFWUlBa2dEQ0FPR3lFTUN5QU5RUUZxSWcwZ0IwME5BQXNnR0FSQUlBQW9BdEFKSUFBb0F0UUpJZ3hCQkhScUlna2dHQ2dDQURZQ0FDQUpJQmdvQWlRMkFnd2dDU0FZS0FJY05nSUVJQWtnR0NnQ0lEWUNDQ0FBSUF4QkFXbzJBdFFKSUJoQkFEWUNHQ0FJSUJnb0FoUkZheUVJQ3lBSElBaE5EUUFMQ3lBUElBZEJLR3hxSWdrZ0JqWUNEQ0FKUW9DQWdJQVFOd0lRSUFsQkFEWUNHQ0FKSUFZMkFnZ2dBQ0FLUVFGcU5nTHNDU0FBSUFoQkFXbzJBdkFKSUE4Z0IwRUJhaEFkSUFaQkFXb2dBQ2dDNUFraURuQWlCaUFuUncwQUN5QUFLQUxVQ1NJSVJRMERJQUFvQXNRSklna2dBQ2dDNEFraUJrRW9iR29pRENnQ0FDRUhJQUFvQXRBSklRMUJBQ0VLQTBBZ0J5QU5JQXBCQkhScUtBSUFSd1JBSUFnZ0NrRUJhaUlLUncwQkRBVUxDMEVBSVFvZ0JrVU5Bd05BSUJFZ0NTQUtRU2hzYWlJSUtBSUFSd1JBSUFZZ0NrRUJhaUlLUncwQkRBVUxDeUFJSUFjMkFnQWdEQ0FSTmdJQURBTUxJQklOQkF3REMwRUFJUW9nRWtVTkJFRURJUXdNRmdzRFFBd0FDd0FMSUJJTkFTQUFLQUwwQ1NFS0N5QUtJQ2RHRFFFZ0RpQW5ha0VCYXlBT2NDRW5DeUFBSUNjMkF2UUpDeUFBSUFBb0FzUUpJQUFvQXVBSlFTaHNhaUlHTmdMTUNTQUFJQVlvQWdBMkFyZ0tDeUJXSUJOQjNBY1FCeUV2SUFCQkFUWUNwQWtnQUNBYXJTQVNyVUlnaG9RM0F0QUtJQUFvQWhBaUJpZ0NPQ0lPSUFZb0FqUWlFbXdoR0NBQUtBS1VDU0VQQWtBZ0FDZ0NEQ0lHS0FJTUlncEJBVVlFUUNBUFFRQWdHRUVDZEJBREdnd0JDMEVBSVEwQ1FBSkFJQVlvQWhBaUIwRURhMEVDVFFSQUlBWW9BaVFnQUNnQ21BdHNJZ2dnR0NBSUlCaEpHeUVhSUFZb0FpQWhDQ0FIUVg1eFFRUkhEUUVnR0NBYWF5QWFJQWdiSVEwTEFrQUNRQUpBQWtBQ1FBSkFJQWNPQmdFQ0F3QUZCQUFMSUJoRkRRY2dHRUVEY1NFSklBWW9BaXdoQjBFQUlRWWdHRUVCYTBFRFR3UkFJQmhCZkhFaERBTkFJQThnQmtFQ2RDSUlhaUFISUFocUtBSUFOZ0lBSUE4Z0NFRUVjaUlLYWlBSElBcHFLQUlBTmdJQUlBOGdDRUVJY2lJS2FpQUhJQXBxS0FJQU5nSUFJQThnQ0VFTWNpSUlhaUFISUFocUtBSUFOZ0lBSUFaQkJHb2hCaUFNUVFScklnd05BQXNMSUFsRkRRY0RRQ0FQSUFaQkFuUWlDR29nQnlBSWFpZ0NBRFlDQUNBR1FRRnFJUVlnQ1VFQmF5SUpEUUFMREFjTElBcEZEUVVnQmlnQ0ZDRUlRUUFoQndOQVFRQWhEU0FISUJoUERRY0RRQUpBSUFnZ0RVRUNkR29pRENnQ0FDSUpSUVJBUVFBaENRd0JDMEVBSVFaQkFDQVlJQWRySWc0Z0RpQVlTeHNpRGtVTkFBTkFJQThnQmlBSGFrRUNkR29nRFRZQ0FDQUdRUUZxSWdZZ0RDZ0NBQ0lKVHcwQklBWWdEa2NOQUFzTElBb2dEVUVCYWlJTlMwRUFJQmdnQnlBSmFpSUhTeHNOQUFzZ0J5QVlTUTBBQ3d3R0N5QVlSUTBGUVFBaEJnTkFJQThnQmtFQ2RHb2dCaUFTYmlJSElBcHNRUUYySUFZZ0J5QVNiR3RxSUFwd05nSUFJQVpCQVdvaUJpQVlSdzBBQ3d3RkN5QUdLQUljSVE0Z0JpZ0NHQ0VSQWtBZ0dFVU5BQ0FLUVFGcklRWWdHRUVIY1NFSlFRQWhEU0FZUVFGclFRZFBCRUFnR0VGNGNTRU1BMEFnRHlBTlFRSjBJZ2RxSUFZMkFnQWdEeUFIUVFSeWFpQUdOZ0lBSUE4Z0IwRUljbW9nQmpZQ0FDQVBJQWRCREhKcUlBWTJBZ0FnRHlBSFFSQnlhaUFHTmdJQUlBOGdCMEVVY21vZ0JqWUNBQ0FQSUFkQkdISnFJQVkyQWdBZ0R5QUhRUnh5YWlBR05nSUFJQTFCQ0dvaERTQU1RUWhySWd3TkFBc0xJQWxGRFFBRFFDQVBJQTFCQW5ScUlBWTJBZ0FnRFVFQmFpRU5JQWxCQVdzaUNRMEFDd3NnQ2tFQ2F5RUdBMEFDUUNBUklBWWlCMEVDZENJR2FpZ0NBQ0lJSUJKdUlnd2dCaUFPYWlnQ0FDSUdJQkp1SWhoTERRQWdDQ0FNSUJKc2F5SUlJQVlnRWlBWWJHc2lDVXNOQUFOQUlBd2dFbXdoQ2lBSUlRWURRQ0FQSUFZZ0NtcEJBblJxSUFjMkFnQWdCa0VCYWlJR0lBbE5EUUFMSUF4QkFXb2lEQ0FZVFEwQUN3c2dCMEVCYXlFR0lBY05BQXNNQkFzZ0VrVU5BeUFPUlEwRFFRRWdCaWdDSUNJWWF5RVJJQTVCZm5FaENpQU9RUUZ4SVJwQkFDRUlRUUFoQ1FOQUlBZ2hCa0VBSVFjZ0NpRU1JQTVCQVVjRVFBTkFJQThnQnlBU2JDQUpha0VDZEdvZ0dDQVJJQVlnRFVrYk5nSUFJQThnQjBFQmNpQVNiQ0FKYWtFQ2RHb2dHQ0FSSUFaQkFXb2dEVWtiTmdJQUlBZEJBbW9oQnlBR1FRSnFJUVlnREVFQ2F5SU1EUUFMQ3lBYUJFQWdEeUFISUJKc0lBbHFRUUowYWlBWUlCRWdCaUFOU1JzMkFnQUxJQWdnRG1vaENDQUpRUUZxSWdrZ0VrY05BQXNNQXdzZ0dFVU5Ba0VCSUFZb0FpQWlCMnNoQ0NBWVFRTnhJUXhCQUNFR0lCaEJBV3RCQTA4RVFDQVlRWHh4SVJJRFFDQVBJQVpCQW5ScUlBY2dDQ0FHSUExSkd6WUNBQ0FQSUFaQkFYSWlDVUVDZEdvZ0J5QUlJQWtnRFVrYk5nSUFJQThnQmtFQ2NpSUpRUUowYWlBSElBZ2dDU0FOU1JzMkFnQWdEeUFHUVFOeUloaEJBblJxSUFjZ0NDQU5JQmhMR3pZQ0FDQUdRUVJxSVFZZ0VrRUVheUlTRFFBTEN5QU1SUTBDQTBBZ0R5QUdRUUowYWlBSElBZ2dCaUFOU1JzMkFnQWdCa0VCYWlFR0lBeEJBV3NpREEwQUN3d0NDd0pBSUJoRkRRQWdHRUVIY1NFTlFRQWhCeUFZUVFGclFRZFBCRUFnR0VGNGNTRUpBMEFnRHlBSFFRSjBJZ1pxUVFFMkFnQWdEeUFHUVFSeWFrRUJOZ0lBSUE4Z0JrRUljbXBCQVRZQ0FDQVBJQVpCREhKcVFRRTJBZ0FnRHlBR1FSQnlha0VCTmdJQUlBOGdCa0VVY21wQkFUWUNBQ0FQSUFaQkdISnFRUUUyQWdBZ0R5QUdRUnh5YWtFQk5nSUFJQWRCQ0dvaEJ5QUpRUWhySWdrTkFBc0xJQTFGRFFBRFFDQVBJQWRCQW5ScVFRRTJBZ0FnQjBFQmFpRUhJQTFCQVdzaURRMEFDd3NnR2tVTkFTQVNRUUZySVJRZ0RrRUJheUVUUVFFZ0NFRUJkQ0lHYXlFS0lBWkJBV3NoRENBSVFRRnJJUWRCQUNFSklBNGdDR3RCQVhZaURpRW5JQklnQ0d0QkFYWWlFU0VOSUE0aEdDQVJJUVlEUUNBUElCSWdHR3dnQm1wQkFuUnFJaHdvQWdBaUYwRUJSZ1JBSUJ4QkFEWUNBQXNnRjBFQlJpRWNBa0FDUUNBSFFYOUhEUUFnQmlBTlJ3MEFRUUFoQnlBTUlRZ2dEVUVCSUExQkFVb2JRUUZySWdZaERRd0JDd0pBSUFkQkFVY05BQ0FHSUJGSERRQkJBQ0VISUFvaENDQVJRUUZxSWdZZ0ZDQUdJQlJJR3lJR0lSRU1BUXNDUUNBSVFYOUhEUUFnR0NBblJ3MEFRUUFoQ0NBS0lRY2dKMEVCSUNkQkFVb2JRUUZySWhnaEp3d0JDd0pBSUFoQkFVY05BQ0FPSUJoSERRQkJBQ0VJSUF3aEJ5QU9RUUZxSWc0Z0V5QU9JQk5JR3lJWUlRNE1BUXNnQ0NBWWFpRVlJQVlnQjJvaEJnc2dDU0FjYWlJSklCcEpEUUFMREFFTElCaEZEUUFEUUF3QUN3QUxBa0FnQUNnQzdBa2lDRVVFUUNBQUtBS0VDeUVTSUFBb0F1UUtJUXdNQVFzZ0NFRURjU0VLUVFBaEJpQUlRUUZyUVFOUEJFQWdDRUY4Y1NFSEEwQWdBQ2dDeUFrZ0JrRUNkR29nQUNnQ3hBa2dCa0VvYkdvMkFnQWdBQ2dDeUFrZ0JrRUJjaUlKUVFKMGFpQUFLQUxFQ1NBSlFTaHNhallDQUNBQUtBTElDU0FHUVFKeUlnbEJBblJxSUFBb0FzUUpJQWxCS0d4cU5nSUFJQUFvQXNnSklBWkJBM0lpQ1VFQ2RHb2dBQ2dDeEFrZ0NVRW9iR28yQWdBZ0JrRUVhaUVHSUFkQkJHc2lCdzBBQ3dzZ0NnUkFBMEFnQUNnQ3lBa2dCa0VDZEdvZ0FDZ0N4QWtnQmtFb2JHbzJBZ0FnQmtFQmFpRUdJQXBCQVdzaUNnMEFDd3NnQUNnQ2hBc2hFaUFBS0FMa0NpRU1JQWhGRFFBZ09DZ0NBQ0VKUVFBaEJnTkFJQWtnQmtFb2JHb2lCeWdDRkVFQmEwRUJUUVJBSUFjZ0RDQUhLQUlNSWdkSkJIOGdCeUFBS0FMa0NXc0ZJQWNMTmdJSUN5QUdRUUZxSWdZZ0NFY05BQXNMQWtBZ0FDZ0NuQXRGRFFCQkFDRVlJQXdoQ0NBQUtBS2dDeUlHUVFKTERRQURRQUpBQWtBQ1FBSkFBa0FDUUFKQUlBWU9Bd0FCQXdFTElBZ2dBQ0FZUVF4c2FrR2tDMm9vQWdCcklnaEJmMG9OQVNBQUtBTGtDU0FJYWlFSURBRUxJQUFnR0VFTWJHcEJwQXRxS0FJQUlBaHFJZ1pCQUNBQUtBTGtDU0lISUFZZ0IwZ2JheUVJQ3lBSUlnNGdERXNFUUNBSUlBQW9BdVFKYXlFT0N5QUFLQUxjQ1NJSlJRMFZJRGdvQWdBaEIwRUFJUVlEUUNBSElBWkJLR3hxSWdvb0FoUWlEVUVCYTBFQlRRUkFJQW9vQWdnZ0RrWU5Bd3RCQUNFS0lBWkJBV29pQmlBSlJ3MEFDMEVESVF3TUZnc2dBQ2dDM0FraUNVVU5GQ0FBSUJoQkRHeHFRYWdMYWlnQ0FDRU9JRGdvQWdBaEIwRUFJUVlEUUNBSElBWkJLR3hxSWdvb0FoUkJBMFlFUUNBS0tBSUlJQTVHRFFNTFFRQWhDaUFHUVFGcUlnWWdDVWNOQUF0QkF5RU1EQlVMUVFBaENpQUdRUUJJQkVCQkF5RU1EQlVMSUExQkFVc05BVUVESVF3TUZBdEJBQ0VLSUFaQkFFNE5BRUVESVF3TUV3c2dFaUFZU3dSQUlCSWlDaUFZYTBFRGNTSUhCRUFEUUNBQUtBTElDU0lKSUFwQkFuUnFJQWtnQ2tFQmF5SUtRUUowYWlnQ0FEWUNBQ0FIUVFGcklnY05BQXNMSUJJZ0dFRi9jMnBCQTA4RVFBTkFJQUFvQXNnSklna2dDa0VDZENJSGFpQUpJQWRCQkdzaURtb29BZ0EyQWdBZ0FDZ0N5QWtpQ1NBT2FpQUpJQWRCQ0dzaURtb29BZ0EyQWdBZ0FDZ0N5QWtpQ1NBT2FpQUpJQWRCREdzaUIyb29BZ0EyQWdBZ0J5QUFLQUxJQ1NJSmFpQUpJQXBCQkdzaUNrRUNkR29vQWdBMkFnQWdDaUFZU3cwQUN3c2dPQ2dDQUNFSEN5QUFLQUxJQ1NBWVFRSjBhaUFISUFaQktHd2lDV28yQWdBZ0dFRUJhaUlZSVFvZ0VpQVlJZ1pQQkVBRFFDQUFLQUxJQ1NJSElBWkJBblJxS0FJQUlnNGdBQ2dDeEFrZ0NXcEhCRUFnQnlBS1FRSjBhaUFPTmdJQUlBcEJBV29oQ2dzZ0JrRUJhaUlHSUJKTkRRQUxDeUFBSUJoQkRHeHFRYUFMYWlnQ0FDSUdRUU5KRFFBTEN3Si9JQXRCQ0dvaElFRUFJVGxCQUNFMEl3QkI4QU5ySWg4a0FDQXZLQUlBSVNvZ0FDZ0NzQm9oRmlBZlFRQTJBZ3dnQUVHd0NXcEJBRFlDQUNBQUlBQW9BcWdKUVFGcU5nS29DU0FXUVlnUWFpRTJJQlpCeUFwcUlSc2dGa0dJQ21vaE55QVdRY2dKYWlFNklCWkJpQWxxSVQ0Z0ZrSElDR29oUHlBV1FZZ0lhaUZBSUJaQnlBZHFJVUVnRmtHSUIyb2hRaUFXUWNnR2FpRkRJQlpCaUFacUlVUWdGa0hJQldvaFJTQVdRWWdGYWlGR0lCWkJ5QVJxSVVjZ0ZrR0lCR29oU0NBV1FjZ0RhaUZKSUJaQmlBTnFJVW9nRmtISUQyb2hLQ0FXUWNnQ2FpRVVJQlpCbUE5cUlVc2dGa0dJRDJvaFRDQVdRY2dPYWlGTklCWkJER29oVGlBdktBSXdJQUFvQWd3b0FqUnFJUzBnQUNnQ3ZBa2hEaUFXUWN3S2FpRlBJQlpCakF0cUlUc2dGa0dNRUdvaFVDQVdRY3dMYWlGUklCWkJrQkJxSVZJZ0ZrR01ER29oWVNBV1FaUVFhaUZpSUJaQnpBeHFJV01nRmtHWUVHb2haQ0FXUVl3TmFpRmxJQlpCbkJCcUlXWWdGa0hNRFdvaFp5QVdRYUFRYWlGb0lCWkJqQTVxSVdrZ0ZrR2tFR29oYWlBV1FaQUNhaUlqSVdzQ1FBTkFBa0FnTHlnQ0pBMEFJQTRnS2tIWUFXeHFLQUxFQVVVTkFFRUJJUVlNQWdzZ0x5a0NOQ0Z1SUM4b0Fqd2hCeUFBS0FLb0NTRUlJQTRnS2tIWUFXd2lNV29pQmlBQUtBSU1LQUk0TmdJWUlBWWdCellDRUNBR0lHNDNBZ2dnQmlBSU5nSUVBa0FnTHlnQ0JDSUdRUUpHRFFBZ0JrRUhSZzBBSURrTkFFRUJJUVlnSUNBZlFReHFFQUlOQWlBZktBSU1JZ2NnQUNnQ21Ba2dLbXRMRFFJZ0IwVUVRRUVBSVRrTUFRc2dUa0VBUWFRQkVBTWFJQlpCQURZQ0FFRUJJVGtMQWtBZ0h5Z0NEQ0lHQkVBZ0h5QUdRUUZyTmdJTURBRUxJQzhvQWl3aERTQUFLQUs4Q1NFUklDOG9BZ1FoQmlBV1FRQkJxQkFRQXlFS0lDQWdIMEhNQTJvUUFpRUhBa0FDUUFKQUlBWkJBbXNPQmdBQkFRRUJBQUVMUVFFaEJpQWZLQUxNQTBFR2FpSUpRUjlMRFFRZ0IwVU5BUXdFQzBFQklRWWdIeWdDekFOQkFXb2lDVUVmU3cwRElBY05Bd3NnQ2lBSk5nSUFBa0FnQ1VFZlJnUkFJQ0FvQWdnaEV3TkFJQ0FvQWdRaEJpQVRSUVJBUVFBaENpQVVJUWNEUUFKQUlDQW9BZ3hCQTNRaURpQWdLQUlRSWd4cklnbEJJRTRFUUNBR0tBQUFJZ2hCR0hRZ0NFRUlkRUdBZ1B3SGNYSWdDRUVJZGtHQS9nTnhJQWhCR0haeWNpRUlJQ0FvQWdnaUNVVU5BU0FJSUFsMElBWXRBQVJCQ0NBSmEzWnlJUWdNQVFzZ0NVRUJTQVJBUVFBaENBd0JDeUFHTFFBQUlDQW9BZ2dpRFVFWWFpSWFkQ0VJSUFrZ0RXcEJDR3NpQ1VFQlNBMEFBMEFnQmkwQUFTQWFRUWhySWhwMElBaHlJUWdnQ1VFSVNpRU5JQVpCQVdvaEJpQUpRUWhySVFrZ0RRMEFDd3NnSUNBTVFRZHhOZ0lJSUNBZ0RFRUlhaUlHTmdJUUlBWWdEa3NFUUVFQklRWU1DQXNnSUNBZ0tBSUFJQVpCQTNacUlnWTJBZ1FnQnlBSVFSaDJOZ0lBSUFkQkJHb2hCeUFLUVFGcUlncEJnQU5IRFFBTERBTUxBa0FnSUNnQ0RFRURkQ0lLSUNBb0FoQWlER3NpQjBFZ1RnUkFJQVlvQUFBaUIwRVlkQ0FIUVFoMFFZQ0EvQWR4Y2lBSFFRaDJRWUQrQTNFZ0IwRVlkbkp5SUJOMElBWXRBQVJCQ0NBVGEzWnlJUWdNQVFzZ0IwRUJTQVJBUVFBaENBd0JDeUFHTFFBQUlCTkJHR29pR25RaENDQUhJQk5xUVFocklnbEJBVWdOQUFOQUlBWXRBQUVnR2tFSWF5SWFkQ0FJY2lFSUlBbEJDRW9oQnlBR1FRRnFJUVlnQ1VFSWF5RUpJQWNOQUFzTFFRRWhCaUFnSUF4QkFXb2lCellDRUNBZ0lBZEJCM0VpRXpZQ0NDQUhJQXBMRFFVZ0lDQWdLQUlBSUFkQkEzWnFOZ0lFSUFoQmYwb05BQXNNQkF0QkFpQUpRUVpISWc4Z0NVRUdTUnNoRWdKQUFrQUNRQ0FKUVg1eFFRUkdCRUFnSUNBZlFkUURhaEFDQkVCQkFTRUlEQVFMSUI4b0F0UURJZ1pCQTBzRVFFRUJJUWdNQkFzZ0NpQUdOZ0t3QVNBZ0lCOUIxQU5xRUFJRVFFRUJJUWdNQkFzZ0h5Z0MxQU1pQmtFRFN3UkFRUUVoQ0F3RUN5QUtJQVkyQXJRQklDQWdIMEhVQTJvUUFnUkFRUUVoQ0F3RUN5QWZLQUxVQXlJR1FRTkxCRUJCQVNFSURBUUxJQW9nQmpZQ3VBRWdJQ0FmUWRRRGFoQUNCRUJCQVNFSURBUUxJQjhvQXRRRElnWkJBMHNFUUVFQklRZ01CQXNnQ2lBR05nSzhBU0FOUVFKSkRRSWdDVUVGUncwQkRBSUxBa0FDZndKQUFrQUNRQ0FTUVFGckRnSUVBUUFMSUNBb0FnUWhCZ0pBSUNBb0FneEJBM1FnSUNnQ0VHc2lCMEVnVGdSQUlBWW9BQUFpQjBFWWRDQUhRUWgwUVlDQS9BZHhjaUFIUVFoMlFZRCtBM0VnQjBFWWRuSnlJUWdnSUNnQ0NDSUhSUTBCSUFnZ0IzUWdCaTBBQkVFSUlBZHJkbkloQ0F3QkN5QUhRUUJNQkVCQkFDRUlJQXBCQURZQ0RBd0RDeUFHTFFBQUlDQW9BZ2dpQ1VFWWFpSVRkQ0VJSUFjZ0NXcEJDR3NpQ1VFQlNBMEFBMEFnQmkwQUFTQVRRUWhySWhOMElBaHlJUWdnQ1VFSVNpRUhJQVpCQVdvaEJpQUpRUWhySVFrZ0J3MEFDd3NnQ2lBSVFSOTJOZ0lNSUFoQmYwb05BU0FJUVFGMElRbEJBQXdDQ3lBTlFRSlBCRUJCQXlFR0lBbEJBMDBFUUNBSlFRSjBRZndxYWlnQ0FDRUdDMEVBSVF3RFFDQUdJUWNDUUNBTlFRSk5CRUFnSUNnQ0JDRUdBa0FnSUNnQ0RFRURkQ0lhSUNBb0FoQWlIR3NpQ0VFZ1RnUkFJQVlvQUFBaUNFRVlkQ0FJUVFoMFFZQ0EvQWR4Y2lBSVFRaDJRWUQrQTNFZ0NFRVlkbkp5SVJNZ0lDZ0NDQ0lJUlEwQklCTWdDSFFnQmkwQUJFRUlJQWhyZG5JaEV3d0JDeUFJUVFGSUJFQkJBQ0VUREFFTElBWXRBQUFnSUNnQ0NDSVhRUmhxSWc1MElSTWdDQ0FYYWtFSWF5SUlRUUZJRFFBRFFDQUdMUUFCSUE1QkNHc2lEblFnRTNJaEV5QUlRUWhLSVJjZ0JrRUJhaUVHSUFoQkNHc2hDQ0FYRFFBTEMwRUJJUWdnSUNBY1FRRnFJZ1kyQWhBZ0lDQUdRUWR4TmdJSUlBWWdHa3NOQ1NBZ0lDQW9BZ0FnQmtFRGRtbzJBZ1FnSHlBVFFYOXpRUjkySWdZMkF0UUREQUVMSUNBZ0gwSFVBMm9RQWdSQVFRRWhDQXdKQ3lBZktBTFVBeUVHQ3lBR0lBMVBCRUJCQVNFSURBZ0xJQW9nREVFQ2RHb2dCallDa0FFZ0IwRUJheUVHSUF4QkFXb2hEQ0FIRFFBTEMwRURJUWhCQUNFR0lBbEJBMDBFUUNBSlFRSjBRZndxYWlnQ0FDRUlDd0pBQWtBRFFDQUlJUWNnSDBFQU5nTFlBeUFnSUI5QjJBTnFFQUloQ0FKL0lCOG9BdGdESWdsQmYwWUVRRUdBZ0lDQWVDQUlEUUVhREFRTElBZ05BeUFKUVFGcVFRRjJJZ2hCQUNBSWF5QUpRUUZ4R3dzaENDQUtJQVpCQW5ScUlna2dDRHNCb0FFZ0gwRUFOZ0xZQXlBZ0lCOUIyQU5xRUFJaENDQUpBbjhnSHlnQzJBTWlDVUYvUmdSQVFZQ0FnSUI0SUFnTkFSb01Bd3NnQ0EwQ0lBbEJBV3BCQVhZaUNFRUFJQWhySUFsQkFYRWJDenNCb2dFZ0IwRUJheUVJSUFaQkFXb2hCaUFIRFFBTFFRQWhDQXdIQzBFQklRZ01CZ3RCQVNFSURBVUxJQW9nQ0VFY2RqWUNUQ0FJUVFSMElRbEJBUXNoQmlBS0lBbEJIM1kyQWhBZ0NpQUpRWDlNQkg4Z0NVRUJkQVVnQ2lBSlFSeDJOZ0pRSUFaQkFXb2hCaUFKUVFSMEN5SUhRUjkyTmdJVUlBb2dCMEVBU0FSL0lBZEJBWFFGSUFvZ0IwRWNkallDVkNBR1FRRnFJUVlnQjBFRWRBc2lCMEVmZGpZQ0dDQUtJQWRCQUVnRWZ5QUhRUUYwQlNBS0lBZEJISFkyQWxnZ0JrRUJhaUVHSUFkQkJIUUxJZ2RCSDNZMkFod2dDaUFIUVFCSUJIOGdCMEVCZEFVZ0NpQUhRUngyTmdKY0lBWkJBV29oQmlBSFFRUjBDeUlIUVI5Mk5nSWdJQW9nQjBFQVNBUi9JQWRCQVhRRklBb2dCMEVjZGpZQ1lDQUdRUUZxSVFZZ0IwRUVkQXNpQjBFZmRqWUNKQ0FLSUFkQkFFZ0VmeUFIUVFGMEJTQUtJQWRCSEhZMkFtUWdCa0VCYWlFR0lBZEJCSFFMSWdkQkgzWTJBaWdnQjBFQVRnUkFJQW9nQjBFY2RqWUNhQ0FHUVFGcUlRWUxJQ0FnSUNnQ0VDQUdRUU5zYWtFSWFpSUpOZ0lRSUNBZ0NVRUhjU0lITmdJSVFRRWhDQ0FnS0FJTVFRTjBJZ3dnQ1VrTkF5QWdJQ0FvQWdBaURTQUpRUU4yYWlJR05nSUVBbjhDUUFKQUlBd2dDV3NpQ1VFZ1RnUkFJQVlvQUFBaUNVRVlkQ0FKUVFoMFFZQ0EvQWR4Y2lBSlFRaDJRWUQrQTNFZ0NVRVlkbkp5SVJNZ0IwVU5BU0FUSUFkMElBWXRBQVJCQ0NBSGEzWnlJUk1NQVFzZ0NVRUFUQVJBUVFBaEV5QUtRUUEyQWl3TUFnc2dCaTBBQUNBSFFSaHlJZzUwSVJNZ0J5QUpha0VJYXlJSlFRRklEUUFEUUNBR0xRQUJJQTVCQ0dzaURuUWdFM0loRXlBSlFRaEtJUWNnQmtFQmFpRUdJQWxCQ0dzaENTQUhEUUFMQ3lBS0lCTkJIM1kyQWl3Z0UwRi9TZzBBSUJOQkFYUWhDVUVBREFFTElBb2dFMEVjZGpZQ2JDQVRRUVIwSVFsQkFRc2hCaUFLSUFsQkgzWTJBakFnQ2lBSlFRQklCSDhnQ1VFQmRBVWdDaUFKUVJ4Mk5nSndJQVpCQVdvaEJpQUpRUVIwQ3lJSFFSOTJOZ0kwSUFvZ0IwRUFTQVIvSUFkQkFYUUZJQW9nQjBFY2RqWUNkQ0FHUVFGcUlRWWdCMEVFZEFzaUIwRWZkallDT0NBS0lBZEJBRWdFZnlBSFFRRjBCU0FLSUFkQkhIWTJBbmdnQmtFQmFpRUdJQWRCQkhRTElnZEJIM1kyQWp3Z0NpQUhRUUJJQkg4Z0IwRUJkQVVnQ2lBSFFSeDJOZ0o4SUFaQkFXb2hCaUFIUVFSMEN5SUhRUjkyTmdKQUlBb2dCMEVBU0FSL0lBZEJBWFFGSUFvZ0IwRWNkallDZ0FFZ0JrRUJhaUVHSUFkQkJIUUxJZ2RCSDNZMkFrUWdDaUFIUVFCSUJIOGdCMEVCZEFVZ0NpQUhRUngyTmdLRUFTQUdRUUZxSVFZZ0IwRUVkQXNpQjBFZmRqWUNTQ0FIUVFCSUJIOGdCMEVCZEFVZ0NpQUhRUngyTmdLSUFTQUdRUUZxSVFZZ0IwRUVkQXNoQnlBZ0lDQW9BaEFnQmtFRGJHcEJDR29pQmpZQ0VDQWdJQVpCQjNFMkFnZ2dCaUFnS0FJTVFRTjBTdzBESUNBZ0RTQUdRUU4yYWpZQ0JDQWZJQWMyQXRRREMwRUJJUWdnSUNBZlFkUURhaEFDRFFJZ0h5Z0MxQU1pQmtFRFN3MENJQW9nQmpZQ2pBRkJBQ0VJREFJTElDQWdIMEhVQTJvZ0RVRUNTeUlHRUJFRVFFRUJJUWdNQWdzZ0RTQWZLQUxVQXlJSFRRUkFRUUVoQ0F3Q0N5QUtJQWMyQXNBQklDQWdIMEhVQTJvZ0JoQVJCRUJCQVNFSURBSUxJQTBnSHlnQzFBTWlCMDBFUUVFQklRZ01BZ3NnQ2lBSE5nTEVBU0FnSUI5QjFBTnFJQVlRRVFSQVFRRWhDQXdDQ3lBTklCOG9BdFFESWdkTkJFQkJBU0VJREFJTElBb2dCellDeUFFZ0lDQWZRZFFEYWlBR0VCRUVRRUVCSVFnTUFnc2dEU0FmS0FMVUF5SUdUUVJBUVFFaENBd0NDeUFLSUFZMkFzd0JDeUFmSUFvb0FyQUJJZ2xCQWswRWZ5QUpRUUowUWZBcWFpZ0NBQVZCQXdzMkF0UURRUUFoQmdKQUFrQURRQ0FmUVFBMkF0Z0RJQ0FnSDBIWUEyb1FBaUVIQW44Z0h5Z0MyQU1pQ0VGL1JnUkFRWUNBZ0lCNElBY05BUm9NQkFzZ0J3MERJQWhCQVdwQkFYWWlCMEVBSUFkcklBaEJBWEViQ3lFSElBb2dCa0VDZEdvaUNTQUhPd0hRQVNBZlFRQTJBdGdESUNBZ0gwSFlBMm9RQWlFSUlBa0NmeUFmS0FMWUF5SUpRWDlHQkVCQmdJQ0FnSGdnQ0EwQkdnd0RDeUFJRFFJZ0NVRUJha0VCZGlJSFFRQWdCMnNnQ1VFQmNSc0xJZ2s3QWRJQklCOGdIeWdDMUFNaUIwRUJhellDMUFNZ0JrRUJhaUVHSUFjTkFBc2dIeUFLS0FLMEFTSUdRUU5KQkg4Z0JrRUNkRUh3S21vb0FnQUZRUU1MTmdMVUEwRUFJUVlDUUFOQUlCOUJBRFlDMkFNZ0lDQWZRZGdEYWhBQ0lRY0NRQ0FmS0FMWUF5SUlRWDlHQkVCQmdJQ0FnSGdoQ0NBSFJRMEZEQUVMSUFjTkJDQUlRUUZxUVFGMklnZEJBQ0FIYXlBSVFRRnhHeUVJQ3lBS0lBWkJBblJxSWdrZ0NEc0I0QUVnSDBFQU5nTFlBeUFnSUI5QjJBTnFFQUloQnlBSkFuOGdIeWdDMkFNaUNVRi9SZ1JBUVlDQWdJQjRJQWNOQVJvTUF3c2dCdzBDSUFsQkFXcEJBWFlpQjBFQUlBZHJJQWxCQVhFYkN5SUpPd0hpQVNBZklCOG9BdFFESWdkQkFXczJBdFFESUFaQkFXb2hCaUFIRFFBTElCOGdDVFlDMEFNZ0h5QUtLQUs0QVNJR1FRSk5CSDhnQmtFQ2RFSHdLbW9vQWdBRlFRTUxOZ0xVQTBFQUlRWURRQ0FnSUI5QjBBTnFFQkFFUUVFQklRZ01CUXNnQ2lBR1FRSjBhaUlISUI4b0F0QURPd0h3QVNBZ0lCOUIwQU5xRUJBRVFFRUJJUWdNQlFzZ0J5QWZLQUxRQXpzQjhnRWdIeUFmS0FMVUF5SUhRUUZyTmdMVUF5QUdRUUZxSVFZZ0J3MEFDeUFmSUFvb0Fyd0JJZ1pCQWswRWZ5QUdRUUowUWZBcWFpZ0NBQVZCQXdzMkF0UURRUUFoQmdOQUlDQWdIMEhRQTJvUUVBUkFRUUVoQ0F3RkN5QUtJQVpCQW5ScUlnY2dIeWdDMEFNN0FZQUNJQ0FnSDBIUUEyb1FFQVJBUVFFaENBd0ZDeUFISUI4b0F0QURPd0dDQWlBZklCOG9BdFFESWdkQkFXczJBdFFESUFaQkFXb2hCa0VBSVFnZ0J3MEFDd3dEQ3lBZklBZzJBdEFEUVFFaENBd0NDeUFmSUFjMkF0QURRUUVoQ0F3QkN5QWZJQWsyQXRBRFFRRWhDQXRCQVNFR0lBZ05Bd0pBSUJKQkFVY0VRQ0FnSUI5QjJBTnFFQUlOQlNBZktBTFlBeUlIUVRCUERRVWdDa0hRUDBHZ1B5QVBHeUFIYWkwQUFDSUhOZ0lFSUFkRkRRSU1BUXNnQ2lBS0tBSUFJZ2RCQjJzaUNFRUNkRUZ3Y1NJSlFUQnJJQWtnQ0VFTFN4dEJEMEVBSUFkQkVrc2JjallDQkFzZ0gwRUFOZ0xZQXlBZ0lCOUIyQU5xRUFJaENDQWZLQUxZQXlJSFFYOUdEUU1nQ0EwRElBZEJBV3BCQVhZaUNFRUFJQWhySUFkQkFYRWJJZ2RCWmtnTkF5QUhRUmxLRFFNZ0VTQXhhaUVNSUFvZ0J6WUNDQ0FLS0FJRUlRZ0NRQUpBSUFvb0FnQkJCMGtFUUVFQUlRbEJBeUVHQTBBZ0JpRUhJQWhCQVhFRVFDQWpJQWxCQW5ScVFiZ05haUFnSUNNZ0NVRUdkR3BCT0dvZ0RDQUpJQ01RQ2tFUUVBWWlCa0VRZGpZQ0FDQUdRUTl4RFFRZ0l5QUpRUUYwYWlBR1FRUjJRZjhCY1RzQkFDQWpJQWxCQVhJaURrRUNkR3BCdUExcUlDQWdJeUFPUVFaMGFrRTRhaUFNSUE0Z0l4QUtRUkFRQmlJR1FSQjJOZ0lBSUFaQkQzRU5CQ0FqSUE1QkFYUnFJQVpCQkhaQi93RnhPd0VBSUNNZ0NVRUNjaUlPUVFKMGFrRzREV29nSUNBaklBNUJCblJxUVRocUlBd2dEaUFqRUFwQkVCQUdJZ1pCRUhZMkFnQWdCa0VQY1EwRUlDTWdEa0VCZEdvZ0JrRUVka0gvQVhFN0FRQWdJeUFKUVFOeUlnNUJBblJxUWJnTmFpQWdJQ01nRGtFR2RHcEJPR29nRENBT0lDTVFDa0VRRUFZaUJrRVFkallDQUNBR1FROXhEUVFnQ2lBT1FRRjBhaUFHUVFSMlFmOEJjVHNCa0FJTElBaEJBWFloQ0NBSFFRRnJJUVlnQ1VFRWFpRUpJQWNOQUFzTUFRc2dJQ0JOSUF4QkFDQWpFQXBCRUJBR0lnWkJEM0VOQVNBS0lBWkJCSFpCL3dGeE93SEFBa0VBSVFsQkF5RUdBMEFnQmlFSElBaEJBWEVFUUNBaklBbEJBblJxUWJnTmFpQWdJQ01nQ1VFR2RHcEJQR29nRENBSklDTVFDa0VQRUFZaUJrRVBkallDQUNBR1FROXhEUU1nSXlBSlFRRjBhaUFHUVFSMlFmOEJjVHNCQUNBaklBbEJBWElpRGtFQ2RHcEJ1QTFxSUNBZ0l5QU9RUVowYWtFOGFpQU1JQTRnSXhBS1FROFFCaUlHUVE5Mk5nSUFJQVpCRDNFTkF5QWpJQTVCQVhScUlBWkJCSFpCL3dGeE93RUFJQ01nQ1VFQ2NpSU9RUUowYWtHNERXb2dJQ0FqSUE1QkJuUnFRVHhxSUF3Z0RpQWpFQXBCRHhBR0lnWkJEM1kyQWdBZ0JrRVBjUTBESUNNZ0RrRUJkR29nQmtFRWRrSC9BWEU3QVFBZ0l5QUpRUU55SWc1QkFuUnFRYmdOYWlBZ0lDTWdEa0VHZEdwQlBHb2dEQ0FPSUNNUUNrRVBFQVlpQmtFUGRqWUNBQ0FHUVE5eERRTWdDaUFPUVFGMGFpQUdRUVIyUWY4QmNUc0JrQUlMSUFoQkFYWWhDQ0FIUVFGcklRWWdDVUVFYWlFSklBY05BQXNMSUFoQkEzRUVRQ0FnSUV4QmYwRUVFQVlpQmtFUGNRMEJJQW9nQmtFRWRrSC9BWEU3QWNJQ0lDQWdTMEYvUVFRUUJpSUdRUTl4RFFFZ0NpQUdRUVIyUWY4QmNUc0J4QUlMUVFBaEJpQUlRUUp4UlEwQUlDQWdUeUFNUVJBZ0l4QUtRUThRQmlJSFFROXhCRUFnQnlFR0RBRUxJQXBCaUJCcUlBZEJEM1kyQWdBZ0ZpQUhRUVIyUWY4QmNUc0JzQUlnSUNBN0lBeEJFU0FqRUFwQkR4QUdJZ2RCRDNFRVFDQUhJUVlNQVFzZ1VDQUhRUTkyTmdJQUlCWWdCMEVFZGtIL0FYRTdBYklDSUNBZ1VTQU1RUklnSXhBS1FROFFCaUlIUVE5eEJFQWdCeUVHREFFTElGSWdCMEVQZGpZQ0FDQVdJQWRCQkhaQi93RnhPd0cwQWlBZ0lHRWdERUVUSUNNUUNrRVBFQVlpQjBFUGNRUkFJQWNoQmd3QkN5QmlJQWRCRDNZMkFnQWdGaUFIUVFSMlFmOEJjVHNCdGdJZ0lDQmpJQXhCRkNBakVBcEJEeEFHSWdkQkQzRUVRQ0FISVFZTUFRc2daQ0FIUVE5Mk5nSUFJQllnQjBFRWRrSC9BWEU3QWJnQ0lDQWdaU0FNUVJVZ0l4QUtRUThRQmlJSFFROXhCRUFnQnlFR0RBRUxJR1lnQjBFUGRqWUNBQ0FXSUFkQkJIWkIvd0Z4T3dHNkFpQWdJR2NnREVFV0lDTVFDa0VQRUFZaUIwRVBjUVJBSUFjaEJnd0JDeUJvSUFkQkQzWTJBZ0FnRmlBSFFRUjJRZjhCY1RzQnZBSWdJQ0JwSUF4QkZ5QWpFQXBCRHhBR0lnZEJEM0VFUUNBSElRWU1BUXNnYWlBSFFROTJOZ0lBSUJZZ0IwRUVka0gvQVhFN0FiNENDeUFnSUNBb0FnZ2dJQ2dDQkNBZ0tBSUFhMEVEZEdvMkFoQWdCZzBEQzBFQUlUa0xJQUFvQWd3b0FrQWhKQ0FBS0FLOENTSXBJREZxSWc0Z0ZpZ0NBQ0lNTmdJQUlBNGdEaWdDeEFGQkFXb2lCellDeEFFZ0t5QXJLQUlBSWdnZ0tpQXJLQUlFSWdsd0lnWkJCSFJxSUNvZ0Jtc2lDa0VJZEdvMkFnd2dLeUFJSUFrZ0t5Z0NDR3dpQ1VFSWRHb2dDa0VHZEdvZ0JrRURkR29pQmpZQ0VDQXJJQVlnQ1VFR2RHbzJBaFFDUUFKQUFrQUNRQUpBQW44Q1FBSkFBbjhDUUFKQUFrQUNmd0pBQWtBQ1FBSkFBa0FDUUFKQUlBd0VRQ0FNUVI5R0JFQWdLU0F4YWlJR1FRQTJBaFFnQmtFY2FpRUlJQWRCQWs4TkFrRVhJUm9nSDBFUWFpRUdJQlFoQ1FOQUlBaEJFRHNCQUNBR0lBa29BZ0E2QUFBZ0JpQUpLQUlFT2dBQklBWWdDU2dDQ0RvQUFpQUdJQWtvQWd3NkFBTWdCaUFKS0FJUU9nQUVJQVlnQ1NnQ0ZEb0FCU0FHSUFrb0FoZzZBQVlnQmlBSktBSWNPZ0FISUFZZ0NTZ0NJRG9BQ0NBR0lBa29BaVE2QUFrZ0JpQUpLQUlvT2dBS0lBWWdDU2dDTERvQUN5QUdJQWtvQWpBNkFBd2dCaUFKS0FJME9nQU5JQVlnQ1NnQ09Eb0FEaUFHSUFrb0FqdzZBQThnR2lJSFFRRnJJUm9nQ0VFQ2FpRUlJQVpCRUdvaEJpQUpRVUJySVFrZ0J3MEFDeUFySUI5QkVHb1FEd3dWQ3lBcElERnFJaGNnSXlrQ0FEY0NIQ0FYSUNNcEFTNDNBVW9nRnlCcktRSW9Od0pFSUJjZ0l5a0NJRGNDUENBWElDTXBBaGczQWpRZ0Z5QWpLUUlRTndJc0lCY2dJeWtDQ0RjQ0pBSkFJQllvQWdnaUJrVU5BQUpBSUFZZ0xXb2lMVUVBU0FSQVFUUWhCZ3dCQzBGTUlRWWdMVUUwU0EwQkN5QUdJQzFxSVMwTElCZEJIR29oQnlBWElDMDJBaFFDUUFKQUlBeEJCazBFUUNBSEx3RUFSUTBCSUJRZ0xVRUFJQ2dvQWdBUUJVVU5Ba0VCSVFZTUdRdEJzQ29oR2tFUElRWWdGeThCVEFSQUlCWW9Bb0FQSWdnZ0ZpZ0M3QTRpQ1dvaUNpQVdLQUtFRHlJU0lCWW9BdkFPSWhGcUlnOXJJUTBnQ1NBSWF5SUlJQkVnRW1zaUNXc2hFaUFJSUFscUlSRWdDaUFQYWlFUElCWW9BdlFPSWdnZ0ZpZ0MxQTRpQ1dvaUNpQVdLQUw4RGlJY0lCWW9BdWdPSWhWcUloQnJJUk1nQ1NBSWF5SUlJQlVnSEdzaUNXc2hIQ0FJSUFscUlSVWdDaUFRYWlFUUlCWW9BdVFPSWdnZ0ZpZ0MwQTRpQ1dvaUNpQVdLQUw0RGlJZUlCWW9BdGdPSWlGcUlpSnJJUmtnQ1NBSWF5SUlJQ0VnSG1zaUNXc2hIaUFJSUFscUlTRWdDaUFpYWlFaUlCWW9BdHdPSWdnZ0ZpZ0N5QTRpQ1dvaUNpQVdLQUxnRGlJbElCWW9Bc3dPSWl4cUlpNXJJUjBnQ1NBSWF5SUlJQ3dnSldzaUNXc2hKU0FJSUFscUlTd2dDaUF1YWlFdUlDMUJnRHhxTFFBQUlRb2dMVUdRUFdvdEFBQkJER3hCd0R4cUtBSUFJUWdnRmdKL0lDMUJERThFUUNBV0lBZ2dDa0VDYTNRaUNDQVFJQzVxSWdrZ0R5QWlhaUlLYTJ3MkF2Z09JQllnTGlBUWF5SVFJQ0lnRDJzaUQyc2dDR3cyQXVnT0lCWWdEeUFRYWlBSWJEWUMyQTRnRmlBSklBcHFJQWhzTmdMSURpQVdJQlVnTEdvaUNTQVJJQ0ZxSWdwcklBaHNOZ0w4RGlBV0lDd2dGV3NpRHlBaElCRnJJaEZySUFoc05nTHNEaUFXSUE4Z0VXb2dDR3cyQXR3T0lCWWdDU0FLYWlBSWJEWUN6QTRnRmlBY0lDVnFJZ2tnRWlBZWFpSUtheUFJYkRZQ2dBOGdGaUFsSUJ4ckloRWdIaUFTYXlJU2F5QUliRFlDOEE0Z0ZpQVJJQkpxSUFoc05nTGdEaUFXSUFrZ0Ntb2dDR3cyQXRBT0lCWWdIU0FUYXlJSklCa2dEV3NpQ21zZ0NHdzJBdlFPSUJZZ0NTQUthaUFJYkRZQzVBNGdGaUFOSUJscUlna2dFeUFkYWlJS2FpQUliRFlDMUE0Z0NpQUpheUFJYkF3QkN5QVdRUUZCQWlBdFFRWnJRUVpKR3lJSklCQWdMbW9pSmlBUElDSnFJak5ySUFoc2FrRUNJQXBySWdwMU5nTDREaUFXSUM0Z0VHc2lFQ0FpSUE5cklnOXJJQWhzSUFscUlBcDFOZ0xvRGlBV0lBOGdFR29nQ0d3Z0NXb2dDblUyQXRnT0lCWWdKaUF6YWlBSWJDQUphaUFLZFRZQ3lBNGdGaUFWSUN4cUlnOGdFU0FoYWlJUWF5QUliQ0FKYWlBS2RUWUMvQTRnRmlBc0lCVnJJaFVnSVNBUmF5SVJheUFJYkNBSmFpQUtkVFlDN0E0Z0ZpQVJJQlZxSUFoc0lBbHFJQXAxTmdMY0RpQVdJQThnRUdvZ0NHd2dDV29nQ25VMkFzd09JQllnSENBbGFpSVJJQklnSG1vaUQyc2dDR3dnQ1dvZ0NuVTJBb0FQSUJZZ0pTQWNheUljSUI0Z0Vtc2lFbXNnQ0d3Z0NXb2dDblUyQXZBT0lCWWdFaUFjYWlBSWJDQUphaUFLZFRZQzRBNGdGaUFQSUJGcUlBaHNJQWxxSUFwMU5nTFFEaUFXSUIwZ0Uyc2lFaUFaSUExckloRnJJQWhzSUFscUlBcDFOZ0wwRGlBV0lCRWdFbW9nQ0d3Z0NXb2dDblUyQXVRT0lCWWdEU0FaYWlJTklCTWdIV29pRW1vZ0NHd2dDV29nQ25VMkF0UU9JQklnRFdzZ0NHd2dDV29nQ25VTE5nS0VEd3NnRkNFSklDZ2hDQU5BSUFZaENpQUpJQllnR2lnQ0FFRUNkR3BCeUE1cUtBSUFJZ1kyQWdBQ1FBSkFJQVpGQkVBZ0J5OEJBRVVOQVF0QkFTRUdJQWtnRnlnQ0ZFRUJJQWdvQWdBUUJVVU5BUXdiQ3lBSlFmLy8vd2MyQWdBTElCcEJCR29oR2lBS1FRRnJJUVlnQ0VFRWFpRUlJQWRCQW1vaEJ5QUpRVUJySVFrZ0NnMEFDd3dFQ3lBVVFmLy8vd2MyQWdBTEFrQWdGeThCSGdSQUlFb2dGeWdDRkVFQUlCWW9Bc3dQRUFWRkRRRkJBU0VHREJnTElFcEIvLy8vQnpZQ0FBc0NRQ0FYTHdFZ0JFQWdTU0FYS0FJVVFRQWdGaWdDMEE4UUJVVU5BVUVCSVFZTUdBc2dTVUgvLy84SE5nSUFDd0pBSUJjdkFTSUVRQ0JJSUJjb0FoUkJBQ0FXS0FMVUR4QUZSUTBCUVFFaEJnd1lDeUJJUWYvLy93YzJBZ0FMQWtBZ0Z5OEJKQVJBSUVjZ0Z5Z0NGRUVBSUJZb0F0Z1BFQVZGRFFGQkFTRUdEQmdMSUVkQi8vLy9CellDQUFzQ1FDQVhMd0VtQkVBZ1JpQVhLQUlVUVFBZ0ZpZ0MzQThRQlVVTkFVRUJJUVlNR0FzZ1JrSC8vLzhITmdJQUN3SkFJQmN2QVNnRVFDQkZJQmNvQWhSQkFDQVdLQUxnRHhBRlJRMEJRUUVoQmd3WUN5QkZRZi8vL3djMkFnQUxBa0FnRnk4QktnUkFJRVFnRnlnQ0ZFRUFJQllvQXVRUEVBVkZEUUZCQVNFR0RCZ0xJRVJCLy8vL0J6WUNBQXNDUUNBWEx3RXNCRUFnUXlBWEtBSVVRUUFnRmlnQzZBOFFCVVVOQVVFQklRWU1HQXNnUTBILy8vOEhOZ0lBQ3dKQUlCY3ZBUzRFUUNCQ0lCY29BaFJCQUNBV0tBTHNEeEFGUlEwQlFRRWhCZ3dZQ3lCQ1FmLy8vd2MyQWdBTEFrQWdGeThCTUFSQUlFRWdGeWdDRkVFQUlCWW9BdkFQRUFWRkRRRkJBU0VHREJnTElFRkIvLy8vQnpZQ0FBc0NRQ0FYTHdFeUJFQWdRQ0FYS0FJVVFRQWdGaWdDOUE4UUJVVU5BVUVCSVFZTUdBc2dRRUgvLy84SE5nSUFDd0pBSUJjdkFUUUVRQ0EvSUJjb0FoUkJBQ0FXS0FMNER4QUZSUTBCUVFFaEJnd1lDeUEvUWYvLy93YzJBZ0FMQWtBZ0Z5OEJOZ1JBSUQ0Z0Z5Z0NGRUVBSUJZb0F2d1BFQVZGRFFGQkFTRUdEQmdMSUQ1Qi8vLy9CellDQUFzQ1FDQVhMd0U0QkVBZ09pQVhLQUlVUVFBZ0ZpZ0NnQkFRQlVVTkFVRUJJUVlNR0FzZ09rSC8vLzhITmdJQUN5QVhMd0U2QkVBZ05pRUlJQnNoQ1NBM0lCY29BaFJCQUNBV0tBS0VFQkFGUlEwRFFRRWhCZ3dYQ3lBM1FmLy8vd2MyQWdBZ05pRUlJQnNoQ1F3Q0N5QXBJREZxSWdaQ0FEY0NIQ0FHSUMwMkFoUWdCa0lBTndGS0lBWkNBRGNDUkNBR1FnQTNBandnQmtJQU53STBJQVpDQURjQ0xDQUdRZ0EzQWlRZ0h5QXJLQUlFSWdZMkF0d0RJQjhnS3lnQ0NEWUM0QU1nS2lBR2JpSUhRUVIwSVJrZ0tpQUdJQWRzYTBFRWRDRWVRUUFoSEF3Q0N5QUlRUkE3QVFBZ0JrRVFPd0ZLSUFaQmtJREFBRFlCUmlBR1FwQ0F3SUNBZ29BSU53RStJQVpDa0lEQWdJQ0NnQWczQVRZZ0JrS1FnTUNBZ0lLQUNEY0JMaUFHUXBDQXdJQ0Fnb0FJTndFbUlBWkNrSURBZ0lDQ2dBZzNBUjRNRWdzZ0Z5Z0NHQ0FYS0FJVWFpSUdRVE1nQmtFelNCc2lCa0VBSUFaQkFFb2JJZ2RCQW5SQjBEMXFLQUlBSVFvQ1FBSkFJQmN2QVU0TkFDQVhMd0ZRRFFBZ1RDZ0NBQ0VIREFFTElBcEJrRDFxTFFBQVFReHNRY0E4YWlnQ0FDRUdRUUVoRXlBSFFRWnJRUzFOQkVCQkFDRVRJQVlnQ2tHQVBHb3RBQUJCQVd0MElRWUxJQllnRmlnQ2lBOGlCeUFXS0FLUUR5SU5heUlTSUJZb0Fvd1BJaEVnRmlnQ2xBOGlEMnNpR21zZ0Jtd2dFM1UyQXBRUElCWWdFaUFhYWlBR2JDQVRkVFlDa0E4Z0ZpQUhJQTFxSWdjZ0R5QVJhaUlOYXlBR2JDQVRkVFlDakE4Z0ZpQUhJQTFxSUFac0lCTjFJZ2MyQW9nUElCWWdGaWdDcEE4aURTQVdLQUtjRHlJU2FpSVJJQllvQXFBUElnOGdGaWdDbUE4aUdtb2lIR29nQm13Z0UzVTJBcGdQSUJZZ0VpQU5heUlOSUJvZ0Qyc2lFbW9nQm13Z0UzVTJBcUFQSUJZZ0hDQVJheUFHYkNBVGRUWUNuQThnRmlBU0lBMXJJQVpzSUJOMU5nS2tEd3NnQ1NBSE5nSUFBa0FDUUNBSFJRUkFJQmN2QVR4RkRRRUxRUUVoQmlBSklBcEJBU0FJS0FJQUVBVkZEUUVNRlFzZ0NVSC8vLzhITmdJQUN5QUpJQllvQW93UElnWTJBa0FnQ1VGQWF5RUhBa0FDUUNBR1JRUkFJQmN2QVQ1RkRRRUxRUUVoQmlBSElBcEJBU0FJS0FJRUVBVkZEUUVNRlFzZ0IwSC8vLzhITmdJQUN5QUpJQllvQXBBUElnWTJBb0FCSUFsQmdBRnFJUWNDUUFKQUlBWkZCRUFnRjBGQWF5OEJBRVVOQVF0QkFTRUdJQWNnQ2tFQklBZ29BZ2dRQlVVTkFRd1ZDeUFIUWYvLy93YzJBZ0FMSUFrZ0ZpZ0NsQThpQmpZQ3dBRWdDVUhBQVdvaEJ3SkFBa0FnQmtVRVFDQVhMd0ZDUlEwQkMwRUJJUVlnQnlBS1FRRWdDQ2dDREJBRlJRMEJEQlVMSUFkQi8vLy9CellDQUFzZ0NTQkxLQUlBSWdZMkFvQUNJQWxCZ0FKcUlRY0NRQUpBSUFaRkJFQWdGeThCUkVVTkFRdEJBU0VHSUFjZ0NrRUJJQWdvQWhBUUJVVU5BUXdWQ3lBSFFmLy8vd2MyQWdBTElBa2dGaWdDbkE4aUJqWUN3QUlnQ1VIQUFtb2hCd0pBQWtBZ0JrVUVRQ0FYTHdGR1JRMEJDMEVCSVFZZ0J5QUtRUUVnQ0NnQ0ZCQUZSUTBCREJVTElBZEIvLy8vQnpZQ0FBc2dDU0FXS0FLZ0R5SUdOZ0tBQXlBSlFZQURhaUVIQWtBQ1FDQUdSUVJBSUJjdkFVaEZEUUVMUVFFaEJpQUhJQXBCQVNBSUtBSVlFQVZGRFFFTUZRc2dCMEgvLy84SE5nSUFDeUFKSUJZb0FxUVBJZ1kyQXNBRElBbEJ3QU5xSVFjQ1FBSkFJQVpGQkVBZ0Z5OEJTa1VOQVF0QkFTRUdJQWNnQ2tFQklBZ29BaHdRQlVVTkFRd1ZDeUFIUWYvLy93YzJBZ0FMSUF4QkJrOEVRQ0FPSVFrZ0gwRVFhaUVaUVFBaEUwRUFJUThqQUVIUUFHc2lFQ1FBQWtBZ0trVU5BQ0FyS0FJQUlnMGdLaUFyS0FJRUlncHVJaEVnQ213aUJrRUlkR29nS2lBR2F5SU1RUVIwYWlFSUlBcEJCSFFoQnlBcktBSUlJUTRnRUVFZ2FpRVNJQW9nS2tzaUdrVUVRQ0FRSUFnZ0IwRi9jMm9pQmkwQUFEb0FJQ0FRSUFnZ0Iyc3RBQUE2QUNFZ0VDQUdMUUFDT2dBaUlCQWdCaTBBQXpvQUl5QVFJQVl0QUFRNkFDUWdFQ0FHTFFBRk9nQWxJQkFnQmkwQUJqb0FKaUFRSUFZdEFBYzZBQ2NnRUNBR0xRQUlPZ0FvSUJBZ0JpMEFDVG9BS1NBUUlBWXRBQW82QUNvZ0VDQUdMUUFMT2dBcklCQWdCaTBBRERvQUxDQVFJQVl0QUEwNkFDMGdFQ0FHTFFBT09nQXVJQkFnQmkwQUR6b0FMeUFRSUFZdEFCQTZBREFnRUNBR0xRQVJPZ0F4SUJBZ0JpMEFFam9BTWlBUUlBWXRBQk02QURNZ0VDQUdMUUFVT2dBMElCQkJOV29oRWdzZ0NpQU9iQ0VPSUF3RWZ5QVFJQWhCQVdzaUJpMEFBRG9BQUNBUUlBWWdCMm9pQmkwQUFEb0FBU0FRSUFZZ0Iyb2lCaTBBQURvQUFpQVFJQVlnQjJvaUJpMEFBRG9BQXlBUUlBWWdCMm9pQmkwQUFEb0FCQ0FRSUFZZ0Iyb2lCaTBBQURvQUJTQVFJQVlnQjJvaUJpMEFBRG9BQmlBUUlBWWdCMm9pQmkwQUFEb0FCeUFRSUFZZ0Iyb2lCaTBBQURvQUNDQVFJQVlnQjJvaUJpMEFBRG9BQ1NBUUlBWWdCMm9pQmkwQUFEb0FDaUFRSUFZZ0Iyb2lCaTBBQURvQUN5QVFJQVlnQjJvaUJpMEFBRG9BRENBUUlBWWdCMm9pQmkwQUFEb0FEU0FRSUFZZ0Iyb2lCaTBBQURvQURpQVFJQVlnQjJvdEFBQTZBQThnRUVFUWFnVWdFQXNoQmlBTklBNUJDSFJxSUJFZ0NrRURkQ0lIYkVFRGRHb2dERUVEZEdvaERTQUhRZmovLy84SGNTRUhJQnBGQkVBZ0VpQU5JQWRCZjNOcUlnZ3RBQUE2QUFBZ0VpQU5JQWRyTFFBQU9nQUJJQklnQ0MwQUFqb0FBaUFTSUFndEFBTTZBQU1nRWlBSUxRQUVPZ0FFSUJJZ0NDMEFCVG9BQlNBU0lBZ3RBQVk2QUFZZ0VpQUlMUUFIT2dBSElCSWdDRUVJYWlJSUxRQUFPZ0FJSUJJZ0RrRUdkQ0FJYWlJSVFRaHJMUUFBT2dBSklCSWdDRUVIYXkwQUFEb0FDaUFTSUFoQkJtc3RBQUE2QUFzZ0VpQUlRUVZyTFFBQU9nQU1JQklnQ0VFRWF5MEFBRG9BRFNBU0lBaEJBMnN0QUFBNkFBNGdFaUFJUVFKckxRQUFPZ0FQSUJJZ0NFRUJheTBBQURvQUVDQVNJQWd0QUFBNkFCRUxJQXhGRFFBZ0JpQU5RUUZySWdndEFBQTZBQUFnQmlBSElBaHFJZ2d0QUFBNkFBRWdCaUFISUFocUlnZ3RBQUE2QUFJZ0JpQUhJQWhxSWdndEFBQTZBQU1nQmlBSElBaHFJZ2d0QUFBNkFBUWdCaUFISUFocUlnZ3RBQUE2QUFVZ0JpQUhJQWhxSWdndEFBQTZBQVlnQmlBSElBaHFJZ2d0QUFBNkFBY2dCaUFISUFocUlBNGdDbXRCQm5ScUlnZ3RBQUE2QUFnZ0JpQUhJQWhxSWdndEFBQTZBQWtnQmlBSElBaHFJZ2d0QUFBNkFBb2dCaUFISUFocUlnZ3RBQUE2QUFzZ0JpQUhJQWhxSWdndEFBQTZBQXdnQmlBSElBaHFJZ2d0QUFBNkFBMGdCaUFISUFocUlnZ3RBQUE2QUE0Z0JpQUhJQWhxTFFBQU9nQVBDd0pBQWtBZ0NTZ0NBQ0lLUVFkUEJFQUNRQ0FKS0FMSUFTSUdSUVJBUVFBaENDQWtRUUJISVJJTUFRc2dKRUVBUnlFU0lBa29BZ1FpQnlBR0tBSUVJZ3hHSVFnZ0J5QU1SdzBBSUNSRkRRQkJBQ0FJSUFZb0FnQkJCa2tiSVFoQkFTRVNDMEVBSVJFQ1FDQUpLQUxNQVNJR1JRMEFJQWtvQWdRZ0JpZ0NCRVlpRVNBU2NVVU5BRUVBSUJFZ0JpZ0NBRUVHU1JzaEVRc0NRQ0FKS0FMVUFTSUdSUTBBSUFrb0FnUWdCaWdDQkVZaUR5QVNjVVVOQUNBR0tBSUFRUVZMSVE4TFFRRWhCd0pBQWtBQ1FBSkFBa0FnQ2tFQmFrRURjUTREQUFFQ0F3c2dFVVVOQmtFQUlSRWdFQzBBTUNFR0lCQXRBQzhoQnlBUUxRQXVJUWdnRUMwQUxTRUtJQkF0QUN3aERDQVFMUUFySVE0Z0VDMEFLaUVOSUJBdEFDa2hFaUFRTFFBb0lROGdFQzBBSnlFYUlCQXRBQ1loSENBUUxRQWxJUmNnRUMwQUpDRVZJQkF0QUNNaEhpQVFMUUFpSVNFZ0VDMEFJU0VpSUJraEV3TkFJQk1nQmpvQUR5QVRJQWM2QUE0Z0V5QUlPZ0FOSUJNZ0Nqb0FEQ0FUSUF3NkFBc2dFeUFPT2dBS0lCTWdEVG9BQ1NBVElCSTZBQWdnRXlBUE9nQUhJQk1nR2pvQUJpQVRJQnc2QUFVZ0V5QVhPZ0FFSUJNZ0ZUb0FBeUFUSUI0NkFBSWdFeUFoT2dBQklCTWdJam9BQUNBVFFSQnFJUk1nRVVFQmFpSVJRUkJIRFFBTERBTUxJQWhGRFFVZ0dTQVFNUUFBUW9HQ2hJaVFvTUNBQVg0aWJqY0FDQ0FaSUc0M0FBQWdHU0FRTVFBQlFvR0NoSWlRb01DQUFYNGliamNBR0NBWklHNDNBQkFnR1NBUU1RQUNRb0dDaElpUW9NQ0FBWDRpYmpjQUtDQVpJRzQzQUNBZ0dTQVFNUUFEUW9HQ2hJaVFvTUNBQVg0aWJqY0FPQ0FaSUc0M0FEQWdHU0FRTVFBRVFvR0NoSWlRb01DQUFYNGliamNBU0NBWklHNDNBRUFnR1NBUU1RQUZRb0dDaElpUW9NQ0FBWDRpYmpjQVdDQVpJRzQzQUZBZ0dTQVFNUUFHUW9HQ2hJaVFvTUNBQVg0aWJqY0FhQ0FaSUc0M0FHQWdHU0FRTVFBSFFvR0NoSWlRb01DQUFYNGliamNBZUNBWklHNDNBSEFnR1NBUU1RQUlRb0dDaElpUW9NQ0FBWDRpYmpjQWlBRWdHU0J1TndDQUFTQVpJQkF4QUFsQ2dZS0VpSkNnd0lBQmZpSnVOd0NZQVNBWklHNDNBSkFCSUJrZ0VERUFDa0tCZ29TSWtLREFnQUYrSW00M0FLZ0JJQmtnYmpjQW9BRWdHU0FRTVFBTFFvR0NoSWlRb01DQUFYNGliamNBdUFFZ0dTQnVOd0N3QVNBWklCQXhBQXhDZ1lLRWlKQ2d3SUFCZmlKdU53RElBU0FaSUc0M0FNQUJJQmtnRURFQURVS0Jnb1NJa0tEQWdBRitJbTQzQU5nQklCa2diamNBMEFFZ0dTQVFNUUFPUW9HQ2hJaVFvTUNBQVg0aWJqY0E2QUVnR1NCdU53RGdBU0FaSUJBeEFBOUNnWUtFaUpDZ3dJQUJmaUp1TndENEFTQVpJRzQzQVBBQkRBSUxJQmtDZndKQUlBaEZEUUFnRVVVTkFDQVFMUUFQSUJBdEFEQWdFQzBBRGlBUUxRQXZJQkF0QUEwZ0VDMEFMaUFRTFFBTUlCQXRBQzBnRUMwQUN5QVFMUUFzSUJBdEFBb2dFQzBBS3lBUUxRQUpJQkF0QUNvZ0VDMEFDQ0FRTFFBcElCQXRBQWNnRUMwQUtDQVFMUUFHSUJBdEFDY2dFQzBBQlNBUUxRQW1JQkF0QUFRZ0VDMEFKU0FRTFFBRElCQXRBQ1FnRUMwQUFpQVFMUUFqSUJBdEFBRWdFQzBBSWlBUUxRQWhJQkF0QUFCcWFtcHFhbXBxYW1wcWFtcHFhbXBxYW1wcWFtcHFhbXBxYW1wcWFtcHFRUkJxUVFWMkRBRUxJQWdFUUNBUUxRQVBJQkF0QUE0Z0VDMEFEU0FRTFFBTUlCQXRBQXNnRUMwQUNpQVFMUUFKSUJBdEFBZ2dFQzBBQnlBUUxRQUdJQkF0QUFVZ0VDMEFCQ0FRTFFBRElCQXRBQUlnRUMwQUFDQVFMUUFCYW1wcWFtcHFhbXBxYW1wcWFtcHFRUWhxUVFSMkRBRUxRWUFCSUJGRkRRQWFJQkF0QURBZ0VDMEFMeUFRTFFBdUlCQXRBQzBnRUMwQUxDQVFMUUFySUJBdEFDb2dFQzBBS1NBUUxRQW9JQkF0QUNjZ0VDMEFKaUFRTFFBbElCQXRBQ1FnRUMwQUl5QVFMUUFoSUJBdEFDSnFhbXBxYW1wcWFtcHFhbXBxYW1wQkNHcEJCSFlMUVlBQ0VBTWFEQUVMSUFoQkFFY2dFVUVBUjNFZ0QzRkZEUU1nRUMwQUNDQVFMUUFHYXlBUUxRQVBJZ1lnRUMwQUlDSUhhMEVEZEdvZ0VDMEFDU0FRTFFBRmEwRUJkR29nRUMwQUNpQVFMUUFFYTBFRGJHb2dFQzBBQ3lBUUxRQURhMEVDZEdvZ0VDMEFEQ0FRTFFBQ2EwRUZiR29nRUMwQURTQVFMUUFCYTBFR2JHb2dFQzBBRGlBUUxRQUFhMEVIYkdwQkJXeEJJR3BCQm5VaENpQVFMUUFwSUJBdEFDZHJJQkF0QUNvZ0VDMEFKbXRCQVhScUlCQXRBQ3NnRUMwQUpXdEJBMnhxSUJBdEFDd2dFQzBBSkd0QkFuUnFJQkF0QUMwZ0VDMEFJMnRCQld4cUlCQXRBQzRnRUMwQUltdEJCbXhxSUJBdEFDOGdFQzBBSVd0QkIyeHFJQkF0QURBaURDQUhhMEVEZEdwQkJXeEJJR3BCQm5VaUNFRURkQ0VPSUFoQkIyd2hEU0FJUVFac0lSRWdDRUVGYkNFUElBaEJBMndoR2lBSVFYMXNJUk1nQ0VGN2JDRWNJQWhCZW13aEZ5QUlRWGxzSVJWQkFDQUlRUUYwSWg1cklTRkJBQ0FJUVFKMElpSnJJU2tnQmlBTWFrRUVkRUVRYWlFTVFRQWhFZ05BSUJrZ0VrRUVkR29pQmlBTUlCSkJCMnNnQ214cUlnZEJCWFVpSFVIL0FTQWRRZjhCU0JzaUhVRUFJQjFCQUVvYk9nQUhJQVlnQnlBWGFrRUZkU0lkUWY4QklCMUIvd0ZJR3lJZFFRQWdIVUVBU2hzNkFBRWdCaUFISUJWcVFRVjFJaDFCL3dFZ0hVSC9BVWdiSWgxQkFDQWRRUUJLR3pvQUFDQUdJQWNnSEdwQkJYVWlIVUgvQVNBZFFmOEJTQnNpSFVFQUlCMUJBRW9iT2dBQ0lBWWdCeUFwYWtFRmRTSWRRZjhCSUIxQi93RklHeUlkUVFBZ0hVRUFTaHM2QUFNZ0JpQUhJQk5xUVFWMUloMUIvd0VnSFVIL0FVZ2JJaDFCQUNBZFFRQktHem9BQkNBR0lBY2dJV3BCQlhVaUhVSC9BU0FkUWY4QlNCc2lIVUVBSUIxQkFFb2JPZ0FGSUFZZ0J5QUlhMEVGZFNJZFFmOEJJQjFCL3dGSUd5SWRRUUFnSFVFQVNoczZBQVlnQmlBSElBaHFRUVYxSWgxQi93RWdIVUgvQVVnYkloMUJBQ0FkUVFCS0d6b0FDQ0FHSUFjZ0htcEJCWFVpSFVIL0FTQWRRZjhCU0JzaUhVRUFJQjFCQUVvYk9nQUpJQVlnQnlBYWFrRUZkU0lkUWY4QklCMUIvd0ZJR3lJZFFRQWdIVUVBU2hzNkFBb2dCaUFISUNKcVFRVjFJaDFCL3dFZ0hVSC9BVWdiSWgxQkFDQWRRUUJLR3pvQUN5QUdJQWNnRDJwQkJYVWlIVUgvQVNBZFFmOEJTQnNpSFVFQUlCMUJBRW9iT2dBTUlBWWdCeUFSYWtFRmRTSWRRZjhCSUIxQi93RklHeUlkUVFBZ0hVRUFTaHM2QUEwZ0JpQUhJQTFxUVFWMUloMUIvd0VnSFVIL0FVZ2JJaDFCQUNBZFFRQktHem9BRGlBR0lBY2dEbXBCQlhVaUJrSC9BU0FHUWY4QlNCc2lCa0VBSUFaQkFFb2JPZ0FQSUJKQkFXb2lFa0VRUncwQUN3c2dHU0FXUWNnQ2FrRUFFQXNnR1NBV1FZZ0Rha0VCRUFzZ0dTQVdRY2dEYWtFQ0VBc2dHU0FXUVlnRWFrRURFQXNnR1NBV1FjZ0Vha0VFRUFzZ0dTQVdRWWdGYWtFRkVBc2dHU0FXUWNnRmFrRUdFQXNnR1NBV1FZZ0dha0VIRUFzZ0dTQVdRY2dHYWtFSUVBc2dHU0FXUVlnSGFrRUpFQXNnR1NBV1FjZ0hha0VLRUFzZ0dTQVdRWWdJYWtFTEVBc2dHU0FXUWNnSWFrRU1FQXNnR1NBV1FZZ0pha0VORUFzZ0dTQVdRY2dKYWtFT0VBc2dHU0FXUVlnS2FrRVBFQXNNQVFzZ0NVSElBV29oQ2lBSlFjd0JhaUVNSUFsQjBBRnFJUTRnQ1VIVUFXb2hEUU5BSUFvaEJ5QUpJUWhCQUNFR1FRQWhFUUpBQWtBQ1FBSkFBa0FDUUNBVFFRTjBJaEpCb0N0cUtRTUFJbTZuRGdVREFBRUNCQVVMSUF3aEJ3d0NDeUFPSVFjTUFRc2dEU0VIQ3lBSEtBSUFJZ2dOQUF3QkN5QUpLQUlFSWdZZ0NDZ0NCQ0lIUmlFUkFrQWdCaUFIUncwQUlDUkZEUUJCQUNBUklBZ29BZ0JCQmtrYklSRUxJQWdoQmdzZ0NpRUhJQWtoQ0FKQUFrQUNRQUpBQWtBQ1FBSkFJQkpCNEN4cUtRTUFJbStuRGdVREFBRUNCUVFMSUF3aEJ3d0NDeUFPSVFjTUFRc2dEU0VIQ3lBSEtBSUFJZ2dOQVF0QkFDRWhJQkZCQUVjaEYwRUNJUWRCQUNFcERBRUxJQWtvQWdRaUJ5QUlLQUlFSWc5R0lSd0NRQ0FISUE5SERRQWdKRVVOQUVFQUlCd2dDQ2dDQUVFR1NSc2hIQXRCQUNFaElCeEJBRWNoS1NBUlFRQkhJUmRCQWlFSElCRkZEUUFnSEVVTkFFRUNJUkVDZnlBR0tBSUFRUVpHQkVBZ0JpQnVRaUNJcDBIL0FYRnFMUUJTSVFjTElBY0xBbjhnQ0NnQ0FFRUdSZ1JBSUFnZ2IwSWdpS2RCL3dGeGFpMEFVaUVSQ3lBUkN5QUhJQkZKR3lFSFFRRWhJVUVCSVNsQkFTRVhDeUFXSUJOQkFuUWlFV29pQmlnQ0RFVUVRQ0FHS0FKTUlnWWdCaUFIVDJvaEJ3c2dDU0FUYWlBSE9nQlNRUUFoRlNBS0lRWWdDU0VJUVFBaEhnSkFBa0FDUUFKQUFrQUNRQ0FTUWFBdWFpZ0NBQTRGQXdBQkFnUUZDeUFNSVFZTUFnc2dEaUVHREFFTElBMGhCZ3NnQmlnQ0FDSUlSUTBCQ3lBSktBSUVJZ1lnQ0NnQ0JDSVBSaUVlSUFZZ0QwY05BQ0FrUlEwQVFRQWdIaUFJS0FJQVFRWkpHeUVlQ3lBS0lRWWdDU0VJQWtBQ1FBSkFBa0FDUUFKQUlCSkI0QzlxS0FJQURnVURBQUVDQkFVTElBd2hCZ3dDQ3lBT0lRWU1BUXNnRFNFR0N5QUdLQUlBSWdoRkRRRUxJQWtvQWdRaUJpQUlLQUlFSWhKR0lSVWdCaUFTUncwQUlDUkZEUUJCQUNBVklBZ29BZ0JCQmtrYklSVUxJQkZCOENscUtBSUFJU1lnRVVHd0tXb29BZ0FoTXdKQVFZVUtJQk4yUVFGeElpNEVRQ0FRSUNacUloRkJBMm9oRWlBUlFRSnFJUWdnRVVFQmFpRUdEQUVMSUNaQkJIUWdNMm9nR1dvaUVVRXZhaUVTSUJGQkgyb2hDQ0FSUVE5cUlRWWdFVUVCYXlFUkN5QUlMUUFBSVIwZ0VpMEFBQ0VJSUFZdEFBQWhKU0FSTFFBQUlTd0NRRUV6SUJOMlFRRnhCRUFnRUVFZ2FpQXphaUlSTFFBSUlROGdFUzBBQnlFd0lCRXRBQVloSWlBUkxRQUZJVFVnRVMwQUJDRVNJQkV0QUFNaEhDQVJMUUFDSVJvZ0VTMEFBU0VHREFFTElCa2dKa0VCYXlKVFFRUjBJRE5xYWlJUkxRQUFJUVlnRVMwQUJ5RVBJQkV0QUFZaE1DQVJMUUFGSVNJZ0VTMEFCQ0UxSUJFdEFBTWhFaUFSTFFBQ0lSd2dFUzBBQVNFYUlDNEVRQ0FRSUZOcUlSRU1BUXNnRVVFQmF5RVJDeUFSTFFBQUlTNENRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQ0FIRGdnQUFRSURCQVVHQndnTElDbEZCRUJCQVNFSERBd0xJQVpCL3dGeElCcEIvd0Z4UVFoMGNpQWNRZjhCY1VFUWRISWdFa0VZZEhJaEtTQUdJZ2NoSGlBYUloY2hJU0FjSWhFaENDQVNJaFVoRHd3SUN5QVhSUVJBUVFFaEJ3d0xDeUFJUVlHQ2hBaHNJU2tnSFVHQmdvUUliQ0llUVJoMklROGdIa0VRZGlFSUlCNUJDSFloSVNBbFFZR0NoQWhzSWdaQkdIWWhGU0FHUVJCMklSRWdCa0VJZGlFWElDeEJnWUtFQ0d3aUIwRVlkaUVTSUFkQkVIWWhIQ0FIUVFoMklSb01Cd3NDZnlBbElDeHFJQWhxSUIxcUlCSkIvd0Z4YWlBY1FmOEJjV29nR2tIL0FYRnFJQVpCL3dGeGFrRUVha0g0L3dOeFFRTjJJQ0VOQUJvZ0pTQXNhaUFJYWlBZGFrRUNha0VDZGlBWERRQWFRWUFCSUNsRkRRQWFJQkpCL3dGeElCeEIvd0Z4YWlBYVFmOEJjV29nQmtIL0FYRnFRUUpxUVFKMkN5SUhRZjhCY1VHQmdvUUliQ0VwSUFjaUdpSWNJaElpQmlFWElBWWlFU0lWSWg0aUlTSUlJUThNQmdzZ0tVVUVRRUVCSVFjTUNRc2dIa1VFUUNBU0lnOGlNQ0lpSVRVTElDSkIvd0Z4SWdjZ0QwSC9BWEVpRVdvZ01FSC9BWEVpRDBFQmRHcEJBbW9pRjBFT2RFR0FnUHdIY1NBU1FmOEJjU0llUVFKcUlpRWdCMm9nTlVIL0FYRWlDRUVCZEdwQkFuWWlFaUFQUVFKcUlnOGdDR29nQjBFQmRHcEJBbllpRlVFSWRISkIvLzhEY1hJZ0R5QVJRUU5zYWtFV2RFR0FnSUI0Y1hJaEtTQVhRUUoySVE4Z0hFSC9BWEVpRVVFQ2FpSWNJQVpCL3dGeGFpQWFRZjhCY1NJR1FRRjBha0VDZGlFSElBWWdJV29nRVVFQmRHcEJBbllpR2lFR0lCd2dIa0VCZEdvZ0NHcEJBbllpSENFWElCd2hIaUFTSWhFaElTQVZJUWdNQlF0QkFTRUhJQ0VnRlVFQVIzRkZEUWNnTENBbFFRRjBhaUFkYWtFQ2FpSVJRUVowUVlEK0EzRWdCa0gvQVhFaUQwRUNhaUlYSUN4cUlDNUJBWFJxUVFKMklnZEJHSFFnSlVFQ2FpSUdJQ3hCQVhScUlDNXFRUUoySWlGQkVIUnljaUFHSUFocUlCMUJBWFJxUVFKMmNpRXBJQnBCL3dGeElnaEJBbW9pR2lBU1FmOEJjV29nSEVIL0FYRWlIRUVCZEdwQkFuWWhFaUFSUVFKMklSNGdJU0VHSUJvZ0QwRUJkR29nTG1wQkFuWWlHaUVSSUFoQkFYUWdIR29nRjJwQkFuWWlIQ0VWSUFjaUZ5RUlJQm9oRHd3RUMwRUJJUWNnSVNBVlFRQkhjVVVOQmlBYVFmOEJjU0lQUVFKcUlnY2dCa0gvQVhFaUNFRUJkR29nTG1wQkFuWWlGMEVRZENBSVFRSnFJZ1lnTEdvZ0xrRUJkR29pR2tFR2RFR0EvZ054Y2lBR0lCeEIvd0Z4SWdZZ0QwRUJkR3BxUVFKMkloRkJHSFJ5SUN3Z0pVRUJkR29nSFdwQkFtcEJBblp5SVNrZ0JrRUJhaUljSUJKQi93RnhJaFZxUVFGMklSSWdKU0FzUVFGMGFpQXVha0VDYWtFQ2RpRWVJQWNnRldvZ0JrRUJkR3BCQW5ZaEZTQWFRUUoySVFZZ0NDQXVha0VCYWtFQmRpSUhJU0VnQ0NBUGFrRUJha0VCZGlJYUlRZ2dEeUFjYWtFQmRpSWNJUThNQXd0QkFTRUhJQ0VnRlVFQVIzRkZEUVVnSlVFQ2FpSVBJQWhxSUIxQkFYUnFRUVowUVlEK0EzRWdMRUVDYWlJSElDVkJBWFJxSUIxcVFRSjJJaUZCR0hRZ0hTQWxha0VCYWtFQmRpSWVRUkIwY25JZ0NDQWRha0VCYWtFQmRuSWhLU0FHUWY4QmNTSUdJQnhCL3dGeGFpQWFRZjhCY1NJSVFRRjBha0VDYWtFQ2RpRVNJQWdnQmtFQmRHb2dMbXBCQW1wQkFuWWhIQ0FHSUFkcUlDNUJBWFJxUVFKMkloVWhHaUFzUVFGcUlnWWdMbXBCQVhZaUJ5RVJJQVlnSldwQkFYWWlCaUVJSUE4Z0xFRUJkR29nTG1wQkFuWWlGeUVQREFJTElDbEZCRUJCQVNFSERBVUxJQkpCL3dGeElpRkJBbW9pRVNBaUlCSWdIaHRCL3dGeElnZHFJRFVnRWlBZUcwSC9BWEVpQ0VFQmRHb2lGVUVPZEVHQWdQd0hjU0FSSUJwQi93RnhJaHBxSUJ4Qi93RnhJaHhCQVhScVFRSjJJaGNnSEVFQ2FpSWlJQWhxSUNGQkFYUnFRUUoySWhGQkNIUnlRZi8vQTNGeUlBZ2dNQ0FTSUI0YlFmOEJjV29nQjBFQmRHcEJGblJCZ0lDQUJHcEJnSUNBZUhGeUlTa2dCeUFJYWtFQmFrRUJkaUVQSUJWQkFuWWhGU0FhSUFaQi93RnhJZ1pxUVFGcVFRRjJJUWNnQmlBaWFpQWFRUUYwYWtFQ2RpRUdJQm9nSEdwQkFXcEJBWFlpR2lFZUlDRkJBV29pRWlBY2FrRUJkaUljSVNFZ0NDQVNha0VCZGlJU0lRZ01BUXNnRjBVRVFFRUJJUWNNQkFzZ0NFRUlkQ0FJY2lBSVFSQjBjaUFJUVJoMGNpRXBJQjFCQW1vaUR5QXNhaUFsUVFGMGFrRUNkaUVhSUNWQkFXb2lCaUFzYWtFQmRpRUhJQVlnSFdwQkFYWWlIQ0VHSUFnZ0pXb2dIVUVCZEdwQkFtcEJBbllpRWlFWElBZ2dIV3BCQVdwQkFYWWlFU0VlSUE4Z0NFRURiR3BCQW5ZaUZTRWhJQWdoRHdzZ0dTQW1RUVIwSUROcWFpSWlJQ2syQWpBZ0lpQWVRZjhCY1NBUFFSaDBJQWhCL3dGeFFSQjBjaUFoUWY4QmNVRUlkSEp5TmdJZ0lDSWdCa0gvQVhFZ0ZVRVlkQ0FSUWY4QmNVRVFkSElnRjBIL0FYRkJDSFJ5Y2pZQ0VDQWlJQWRCL3dGeElCSkJHSFFnSEVIL0FYRkJFSFJ5SUJwQi93RnhRUWgwY25JMkFnQWdHU0FXSUJOQkJuUnFRY2dDYWlBVEVBc2dFMEVCYWlJVFFSQkhEUUFMQ3dKQUlBa29Bc2dCSWdaRkJFQkJBQ0VPSUNSQkFFY2hFUXdCQ3lBa1FRQkhJUkVnQ1NnQ0JDSUhJQVlvQWdRaUNFWWhEaUFISUFoSERRQWdKRVVOQUVFQUlBNGdCaWdDQUVFR1NSc2hEa0VCSVJFTFFRQWhFMEVBSVJjQ1FDQUpLQUxNQVNJR1JRMEFJQWtvQWdRZ0JpZ0NCRVlpRnlBUmNVVU5BRUVBSUJjZ0JpZ0NBRUVHU1JzaEZ3c2dGaWdDakFFaEdnSkFJQWtvQXRRQklnWkZEUUFnQ1NnQ0JDQUdLQUlFUmlJVElCRnhSUTBBSUFZb0FnQkJCVXNoRXdzZ0ZrSElDbW9oSENBWlFZQUNhaUVHSUJCQkVHb2hIaUFRUVRWcUlTSkJBQ0VLSUE1QkFFY2dGMEVBUjNFaUZTQVRjU0VoUVJBaEVnTkFBa0FDUUFKQUFrQUNRQ0FhRGdNQUFRSURDeUFHQW44Z0ZRUkFJQjR0QUFNZ0hpMEFBaUFlTFFBQklCNHRBQUFnSWkwQUJDQWlMUUFESUNJdEFBRWdJaTBBQW1wcWFtcHFhbXBCQkdwQkEzWWhFU0FpTFFBSUlDSXRBQWNnSWkwQUJTQWlMUUFHYW1wcVFRSnFRUUoyREFFTElCY0VRQ0FpTFFBRUlDSXRBQU1nSWkwQUFTQWlMUUFDYW1wcVFRSnFRUUoySVJFZ0lpMEFDQ0FpTFFBSElDSXRBQVVnSWkwQUJtcHFha0VDYWtFQ2Rnd0JDeUFPUlFSQVFZQUJJUkZCZ0FFTUFRc2dIaTBBQXlBZUxRQUNJQjR0QUFBZ0hpMEFBV3BxYWtFQ2FrRUNkaUlSQzBIL0FYRkJnWUtFQ0d3aUJ6WUFIQ0FHSUJGQi93RnhRWUdDaEFoc0lnZzJBQmdnQmlBSE5nQVVJQVlnQ0RZQUVDQUdJQWMyQUF3Z0JpQUlOZ0FJSUFZZ0J6WUFCQ0FHSUFnMkFBQWdCZ0ovSUE0RVFDQWVMUUFISUI0dEFBWWdIaTBBQlNBZUxRQUVhbXBxSWdkQkFtcEJBbllpRVNBWFJRMEJHaUFpTFFBSUlDSXRBQWNnSWkwQUJpQUhJQ0l0QUFWcWFtcHFRUVJxUVFOMkRBRUxJQmRGQkVCQmdBRWhFVUdBQVF3QkN5QWlMUUFFSUNJdEFBTWdJaTBBQVNBaUxRQUNhbXBxUVFKcVFRSjJJUkVnSWkwQUNDQWlMUUFISUNJdEFBVWdJaTBBQm1wcWFrRUNha0VDZGd0Qi93RnhRWUdDaEFoc0lnYzJBRHdnQmlBUlFmOEJjVUdCZ29RSWJDSUlOZ0E0SUFZZ0J6WUFOQ0FHSUFnMkFEQWdCaUFITmdBc0lBWWdDRFlBS0NBR0lBYzJBQ1FnQmlBSU5nQWdRUUFoQ0F3REN5QU9SUVJBUVFFaEJ3d0ZDeUFHSUI0eEFBQkNnWUtFaUpDZ3dJQUJmamNBQUNBR0lCNHhBQUZDZ1lLRWlKQ2d3SUFCZmpjQUNDQUdJQjR4QUFKQ2dZS0VpSkNnd0lBQmZqY0FFQ0FHSUI0eEFBTkNnWUtFaUpDZ3dJQUJmamNBR0NBR0lCNHhBQVJDZ1lLRWlKQ2d3SUFCZmpjQUlDQUdJQjR4QUFWQ2dZS0VpSkNnd0lBQmZqY0FLQ0FHSUI0eEFBWkNnWUtFaUpDZ3dJQUJmamNBTUNBR0lCNHhBQWRDZ1lLRWlKQ2d3SUFCZmpjQU9FRUFJUWdNQWdzZ0YwVUVRRUVCSVFjTUJBc2dCaUFpTFFBQklnYzZBRGdnQmlBSE9nQXdJQVlnQnpvQUtDQUdJQWM2QUNBZ0JpQUhPZ0FZSUFZZ0J6b0FFQ0FHSUFjNkFBZ2dCaUFIT2dBQUlBWWdJaTBBQWlJSE9nQTVJQVlnQnpvQU1TQUdJQWM2QUNrZ0JpQUhPZ0FoSUFZZ0J6b0FHU0FHSUFjNkFCRWdCaUFIT2dBSklBWWdCem9BQVNBR0lDSXRBQU1pQnpvQU9pQUdJQWM2QURJZ0JpQUhPZ0FxSUFZZ0J6b0FJaUFHSUFjNkFCb2dCaUFIT2dBU0lBWWdCem9BQ2lBR0lBYzZBQUlnQmlBaUxRQUVJZ2M2QURzZ0JpQUhPZ0F6SUFZZ0J6b0FLeUFHSUFjNkFDTWdCaUFIT2dBYklBWWdCem9BRXlBR0lBYzZBQXNnQmlBSE9nQURJQVlnSWkwQUJTSUhPZ0E4SUFZZ0J6b0FOQ0FHSUFjNkFDd2dCaUFIT2dBa0lBWWdCem9BSENBR0lBYzZBQlFnQmlBSE9nQU1JQVlnQnpvQUJDQUdJQ0l0QUFZaUJ6b0FQU0FHSUFjNkFEVWdCaUFIT2dBdElBWWdCem9BSlNBR0lBYzZBQjBnQmlBSE9nQVZJQVlnQnpvQURTQUdJQWM2QUFVZ0JpQWlMUUFISWdjNkFENGdCaUFIT2dBMklBWWdCem9BTGlBR0lBYzZBQ1lnQmlBSE9nQWVJQVlnQnpvQUZpQUdJQWM2QUE0Z0JpQUhPZ0FHSUFZZ0lpMEFDQ0lIT2dBL0lBWWdCem9BTnlBR0lBYzZBQzhnQmlBSE9nQW5JQVlnQnpvQUh5QUdJQWM2QUJjZ0JpQUhPZ0FQSUFZZ0J6b0FCMEVBSVFnTUFRc2dJVVVFUUVFQklRY01Bd3NnSWkwQUJTQWlMUUFEYXlBaUxRQUdJQ0l0QUFKclFRRjBhaUFpTFFBSElDSXRBQUZyUVFOc2FpQWlMUUFJSWdjZ0lpMEFBQ0lJYTBFQ2RHcEJFV3hCRUdwQkJYVWlERUY5YkNFTklBY2dIaTBBQnlJUmFrRUVkQ0FlTFFBRUlCNHRBQUpySUJFZ0NHdEJBblJxSUI0dEFBVWdIaTBBQVd0QkFYUnFJQjR0QUFZZ0hpMEFBR3RCQTJ4cVFSRnNRUkJxUVFWMUloRkJmV3hxUVJCcUlROUJDQ0VISUFZaEV3TkFJQk1nRFNBUGFpSUlRUVYxUWNBMWFpMEFBRG9BQUNBVElBZ2dER29pQ0VFRmRVSEFOV290QUFBNkFBRWdFeUFJSUF4cUlnaEJCWFZCd0RWcUxRQUFPZ0FDSUJNZ0NDQU1haUlJUVFWMVFjQTFhaTBBQURvQUF5QVRJQWdnREdvaUNFRUZkVUhBTldvdEFBQTZBQVFnRXlBSUlBeHFJZ2hCQlhWQndEVnFMUUFBT2dBRklCTWdDQ0FNYWlJSVFRVjFRY0ExYWkwQUFEb0FCaUFUSUFnZ0RHcEJCWFZCd0RWcUxRQUFPZ0FISUE4Z0VXb2hEeUFUUVFocUlSTkJBQ0VJSUFkQkFXc2lCdzBBQ3dzRFFDQWNJQWhCQm5ScUlnY29BZ0FpRVVILy8vOEhSd1JBSUFjb0FnUWhEeUFHSUJJZ0VrRURjU0FTUVJCSklnd2JRUUowSWhOQjhDbHFLQUlBUVJCQkNDQU1HeUlOYkdvZ0UwR3dLV29vQWdCcUlnd2dFU0FNTFFBQWFrSEFOV290QUFBNkFBQWdCeWdDQ0NFUklBd2dEeUFNTFFBQmFrSEFOV290QUFBNkFBRWdCeWdDRENFUElBd2dFU0FNTFFBQ2FrSEFOV290QUFBNkFBSWdEQ0FQSUF3dEFBTnFRY0ExYWkwQUFEb0FBeUFIS0FJVUlSRWdEQ0FOYWlJTUlBY29BaEFnREMwQUFHcEJ3RFZxTFFBQU9nQUFJQWNvQWhnaER5QU1JQkVnREMwQUFXcEJ3RFZxTFFBQU9nQUJJQWNvQWh3aEVTQU1JQThnREMwQUFtcEJ3RFZxTFFBQU9nQUNJQXdnRVNBTUxRQURha0hBTldvdEFBQTZBQU1nQnlnQ0pDRVJJQXdnRFdvaURDQUhLQUlnSUF3dEFBQnFRY0ExYWkwQUFEb0FBQ0FIS0FJb0lROGdEQ0FSSUF3dEFBRnFRY0ExYWkwQUFEb0FBU0FIS0FJc0lSRWdEQ0FQSUF3dEFBSnFRY0ExYWkwQUFEb0FBaUFNSUJFZ0RDMEFBMnBCd0RWcUxRQUFPZ0FESUFjb0FqUWhFU0FNSUExcUlnd2dCeWdDTUNBTUxRQUFha0hBTldvdEFBQTZBQUFnQnlnQ09DRU5JQXdnRVNBTUxRQUJha0hBTldvdEFBQTZBQUVnQnlnQ1BDRUhJQXdnRFNBTUxRQUNha0hBTldvdEFBQTZBQUlnRENBSElBd3RBQU5xUWNBMWFpMEFBRG9BQXdzZ0VrRUJhaUVTSUFoQkFXb2lDRUVFUncwQUN5QWNRWUFDYWlFY0lCNUJDR29oSGlBaVFRbHFJU0lnQmtGQWF5RUdJQW9oQjBFQklRb2dCMFVOQUF0QkFDRUhJQWtvQXNRQlFRRkxEUUFnS3lBWkVBOExJQkJCMEFCcUpBQWdCeUlHUlEwU0RCUUxJQTRvQWdBaEhDQWZJQ3NvQWdRaUJqWUMzQU1nSHlBcktBSUlOZ0xnQXlBcUlBWnVJZ2RCQkhRaEdTQXFJQVlnQjJ4clFRUjBJUjRnSEE0RUFBQUJBZ01MSUNrZ01Xb2lEU2dDQkNFR0lCWW9BcEFCSVJKQkFTRUtRWDhoRUVFQUlRbEJBQ0VhUVFBaENFRUJJUWNDZjBGL0lBMG9Bc2dCSWd4RkRRQWFRWDhnRENnQ0JDQUdSdzBBR2tFQUlRZEJmeUFNS0FJQVFRVkxEUUFhSUF3b0FwZ0JJZ2hCRUhZaEdpQU1LQUpvQ3lFUkFrQWdEU2dDekFFaURFVUVRRUVBSVJVTUFRc2dCaUFNS0FJRVJ3UkFRUUFoRlF3QkMwRUFJUW9nRENnQ0FFRUZTd1JBUVFBaEZRd0JDeUFNS0FLc0FTSVZRUkIySVFrZ0RDZ0NiQ0VRQ3lBY1JRUkFRUUFoSENBSElBcHlCRUJCQUNFTURBOExJQkVnQ0VILy93TnhJQnBCRUhSeWNrVUVRRUVBSVF3TUR3dEJBQ0VNSUJBZ0ZVSC8vd054SUFsQkVIUnlja1VORGdzZ0ZpOEJvZ0VoRHlBV0x3R2dBU0VUQW44Q1FBSkFJQTBvQXRBQklneEZEUUFnRENnQ0JDQUdSdzBBSUF3b0FnQkJCVTBOQVF3TkN3SkFJQTBvQXRRQklneEZEUUFnRENnQ0JDQUdSdzBBSUF3b0FnQkJCVXNORFNBTVFjQUJhaUVjSUF4QjhBQnFEQUlMSUFjZ0NrRUJjM0lOREF3T0N5QU1RYXdCYWlFY0lBeEI3QUJxQ3lnQ0FDRUhJQndvQWdBTUN3c2dGeWdDQkNFU0lCWW9BcEFCSVExQmZ5RUlBa0FDUUFKQUlCY29Bc3dCSWdaRkJFQkJBQ0VhREFFTFFRQWhHaUFHS0FJRUlCSkdEUUVMUVFBaERFRUFJUWtNQVF0QkFTRUpJQVlvQWdCQkJVc0VRRUVBSVF3TUFRc2dCaWdDckFFaURFRVFkaUVhSUFZb0Ftd2hDQXNnRmk4Qm9nRWhFU0FXTHdHZ0FTRVBJQWdnRFVZRVFDQWFJUVlnRENFSURBa0xRUUVoRUVGL0lSVkJBQ0VHQWtBZ0Z5Z0N5QUVpQjBVRVFFRUFJUWdNQVFzZ0VpQUhLQUlFUndSQVFRQWhDQXdCQzBFQUlSQWdCeWdDQUVFRlN3UkFRUUFoQ0F3QkN5QUhLQUtZQVNJSVFSQjJJUVlnQnlnQ2FDRVZDd0ovQWtBQ1FDQVhLQUxRQVNJSFJRMEFJQWNvQWdRZ0VrY05BQ0FIS0FJQVFRVk5EUUVNQ1FzQ1FDQVhLQUxVQVNJSFJRMEFJQWNvQWdRZ0VrY05BQ0FIS0FJQVFRVkxEUWtnQjBIQUFXb2hFQ0FIUWZBQWFnd0NDeUFKSUJCeURRZ01DZ3NnQjBHc0FXb2hFQ0FIUWV3QWFnc29BZ0FoQ2lBUUtBSUFEQWNMSUJjb0FnUWhEU0FXS0FLUUFTRUpRUUVoQ2tGL0lRaEJBQ0VUQWtBZ0Z5Z0N5QUVpQmtVRVFFRUFJUXdNQVFzZ0RTQUdLQUlFUndSQVFRQWhEQXdCQzBFQUlRb2dCaWdDQUVFRlN3UkFRUUFoREF3QkN5QUdLQUtZQVNJTVFSQjJJUk1nQmlnQ2FDRUlDeUFXTHdHaUFTRVNJQll2QWFBQklSRWdDQ0FKUmcwREFuOENRQUpBSUJjb0Fzd0JJZ2RGRFFBZ0J5Z0NCQ0FOUncwQUlBY29BZ0JCQlUwTkFRd0VDd0pBSUJjb0F0UUJJZ2RGRFFBZ0J5Z0NCQ0FOUncwQUlBY29BZ0JCQlVzTkJDQUhRY0FCYWlFUVFRQWhCa0YvSVJWQkFBd0NDeUFLUlEwRkRBTUxJQWRCdkFGcUlSQWdCeWdDYkNFVklBY29BcXdCSWdaQkVIWUxJUWdnQnlnQ2NDRUtJQkFvQWdBTUFnc2dGMEhJQVdvaERTQVhRY3dCYWlFU0lCZEIwQUZxSVJFZ0YwSFVBV29oRDBFQUlTRURRRUVFSVNJZ0ZpQWhRUUowSWlScUlpVWlNeWdDc0FFaUJrRUNUUVJBSUFaQkFuUkJqQ3RxS0FJQUlTSUxJQmNnSkdvaUJ5QWxLQUxBQVRZQ1pBSkFBa0FnSlNnQ3dBRWlIRUVRU3cwQUlBQW9Bc2dKSUJ4QkFuUnFLQUlBSWdaRkRRQWdCaWdDRkVFQlN3MEJDeUFwSUNwQjJBRnNhaUFoUVFKMGFrRUFOZ0owREEwTElBY2dCaWdDQUNJR05nSjBJQVpGRFF3Q1FDQWlSUTBBSUJjZ0lVRUVkQ0l3YWlJZElUVWdKRUVEY2lGVFFRQWhHZ05BSUJZZ01Hb2dHa0VDZEdvaExFRUJJUzVCZnlFbUlBMGhDaUFPSVFaQkFDRUlRUUFoQ1VGL0lSVUNRQUpBQWtBQ1FBSkFBa0FnSVVFSGRDQXpLQUt3QVNKc1FRVjBhaUFhUVFOMGFpSVRRYkFaYWlnQ0FBNEZBd0FCQWdRRkN5QVNJUW9NQWdzZ0VTRUtEQUVMSUE4aENnc2dDaWdDQUNFR0N3SkFJQVpGRFFBZ0JpZ0NCQ0FYS0FJRVJ3MEJRUUFoTGlBR0tBSUFRUVZMRFFBZ0JpQVRRYlFaYWkwQUFDSUhRUUowYWlnQ2hBRWlDVUVRZGlFSUlBWWdCMEg4QVhGcUtBSmtJUlVMQzBFQUlRd2dEU0VISUE0aEJrRUFJUXBCQUNFUUFrQUNRQUpBQWtBQ1FBSkFJQk5Cc0IxcUtBSUFEZ1VEQUFFQ0JBVUxJQkloQnd3Q0N5QVJJUWNNQVFzZ0R5RUhDeUFIS0FJQUlRWUxJQVpGRFFBZ0JpZ0NCQ0FYS0FJRVJ3MEFRUUVoRUNBR0tBSUFRUVZMRFFBZ0JpQVRRYlFkYWkwQUFDSUhRUUowYWlnQ2hBRWlDa0VRZGlFTUlBWWdCMEg4QVhGcUtBSmtJU1lMSUN3dkFkSUJJVzBnTEM4QjBBRWhMQ0FOSVFjZ0RpRUdBa0FDZndKQUFuOENRQUpBQWtBQ1FBSkFBa0FDUUNBVFFiQWhhaWdDQUE0RkF3QUJBZ1FGQ3lBU0lRY01BZ3NnRVNFSERBRUxJQThoQndzZ0J5Z0NBQ0VHQ3lBR1JRMEFJQVlvQWdRZ0Z5Z0NCRWNOQUNBR0tBSUFRUVZORFFFTUF3c2dEU0VISUE0aEJnSkFBa0FDUUFKQUFrQUNRQ0FUUWJBbGFpZ0NBQTRGQXdBQkFnUUZDeUFTSVFjTUFnc2dFU0VIREFFTElBOGhCd3NnQnlnQ0FDRUdDeUFHUlEwQUlBWW9BZ1FnRnlnQ0JFY05BQ0FHS0FJQVFRVkxEUU1nQmlBVFFiUWxhaTBBQUNJVFFRSjBha0dFQVdvTUFnc2dFQ0F1Y2cwQ0RBUUxJQVlnRTBHMElXb3RBQUFpRTBFQ2RHcEJoQUZxQ3lFSElBWWdFMEg4QVhGcUtBSmtJUkFnQnlnQ0FBd0JDMEYvSVJCQkFBc2hCaUFjSUNaR0loTWdGU0FjUmlJSGFpQVFJQnhHYWtFQlJ3UkFJQXdnQ0NBTVFSQjBRUkIxSWd3Z0NFRVFkRUVRZFNJSFNpSUlHeUlUSUFjZ0RDQUhJQWNnREVvYklBZ2JJZ2dnQmtFUWRTSUhJQWNnQ0VnYklCTkJFSFJCRUhVZ0IwZ2JJUWdnQ2lBSklBcEJFSFJCRUhVaUNpQUpRUkIwUVJCMUlnZEtJZ2tiSWd4Qi8vOERjU0FISUFvZ0J5QUhJQXBLR3lBSkd5SUhJQVpCRUhSQkVIVWlCaUFHSUFkSUd5QU1RUkIwUVJCMUlBWklHeUVKREFFTElBa2dDaUFIR3lFSklBZ2dEQ0FIR3lFSUlBY05BQ0FURFFBZ0JrRVFkaUVJSUFZaENRc2dDU0FzYWlJR1FSQjBRUkIxUVlCQWEwSC8vd0JMRFE0Z0NDQnRhaUlIUVJCMFFSQjFRWUFRYWtIL0gwc05EZ0pBSUJjQ2Z3SkFBa0FDUUFKQUlHd09CQUFCQWdNRkN5QWRJQVk3QVlRQklCMGdCenNCaGdFZ0hTQUdPd0dJQVNBZElBYzdBWW9CSUIwZ0Jqc0JqQUVnTlNBSE93R09BU0JUREFNTElCY2dHa0VCZENBa2FpSUlRUUowYWlJSklBYzdBWVlCSUFrZ0Jqc0JoQUVnQ0VFQmNnd0NDeUFYSUJvZ0pHb2lDRUVDZEdvaUNTQUhPd0dHQVNBSklBWTdBWVFCSUFoQkFtb01BUXNnR2lBa2FndEJBblJxSWdnZ0J6c0JoZ0VnQ0NBR093R0VBUXNnR2tFQmFpSWFJQ0pHRFFFZ0pTZ0N3QUVoSEF3QUN3QUxJQ0ZCQVdvaUlVRUVSdzBBQzBFQUlRWURRQ0FmSUJjZ0JrRUNkQ0lKYWlnQ2REWUMyQU1nQmtFQlMwRURkQ0VISUFaQkEzUkJDSEVoQ0FKQUFrQUNRQUpBQWtBZ0NTQVdhaWdDc0FFT0F3QUJBZ01MSUI5QkVHb2dGeUFHUVFSMGFrR0VBV29nSDBIWUEyb2dIaUFaSUFnZ0IwRUlRUWdRREF3REN5QWZRUkJxSWdrZ0Z5QUdRUVIwYWlJS1FZUUJhaUFmUWRnRGFpSU1JQjRnR1NBSUlBZEJDRUVFRUF3Z0NTQUtRWXdCYWlBTUlCNGdHU0FJSUFkQkJISkJDRUVFRUF3TUFnc2dIMEVRYWlJSklCY2dCa0VFZEdvaUNrR0VBV29nSDBIWUEyb2lEQ0FlSUJrZ0NDQUhRUVJCQ0JBTUlBa2dDa0dJQVdvZ0RDQWVJQmtnQ0VFRWNpQUhRUVJCQ0JBTURBRUxJQjlCRUdvaUNTQVhJQVpCQkhScUlncEJoQUZxSUI5QjJBTnFJZ3dnSGlBWklBZ2dCMEVFUVFRUURDQUpJQXBCaUFGcUlBd2dIaUFaSUFoQkJISWlEU0FIUVFSQkJCQU1JQWtnQ2tHTUFXb2dEQ0FlSUJrZ0NDQUhRUVJ5SWdkQkJFRUVFQXdnQ1NBS1FaQUJhaUFNSUI0Z0dTQU5JQWRCQkVFRUVBd0xJQVpCQVdvaUJrRUVSdzBBQ3d3TUMwRi9JUXBCZnlFVlFRQWhCa0VBSVFoQkFBc2hCeUFKSUJWR0lnOGdDU0FLUm1wQkFVY0VRQ0FJSUJNZ0NFRVFkRUVRZFNJS0lCTkJFSFJCRUhVaUNFb2lEeHNpR2lBSUlBb2dDQ0FJSUFwS0d5QVBHeUlLSUFkQkVIVWlDQ0FJSUFwSUd5QWFRUkIwUVJCMUlBaElHeUVJSUFZZ0RDQUdRUkIwUVJCMUlnb2dERUVRZEVFUWRTSUdTaUlNR3lJUFFmLy9BM0VnQmlBS0lBWWdCaUFLU2hzZ0RCc2lDaUFIUVJCMFFSQjFJZ1lnQmlBS1NCc2dEMEVRZEVFUWRTQUdTQnNoQmd3Q0N5QVBEUUVnQjBFUWRpRUlJQWNoQmd3QkN5QVRJUWdnRENFR0N5QUdJQkZxSWdkQkVIUkJFSFZCZ0VCclFmLy9BRXNOQnlBSUlCSnFJZ2hCRUhSQkVIVkJnQkJxUWY4ZlN3MEhJQWxCRUVzTkJ5QUFLQUxJQ1NBSlFRSjBhaWdDQUNJR1JRMEhJQVlvQWhSQkFra05CeUFHS0FJQUloSkZEUWNnRnlBSU93R3lBU0FYSUFjN0FiQUJJQmNnRWpZQ2RDQVhJQWsyQW1RZ0Z5QVNOZ0o4SUJjZ0NUWUNiQ0FYSUJjb0FyQUJJZ1kyQXF3QklCY2dCallDcUFFZ0Z5QUdOZ0trQVNBWElBWTJBcEFCSUJjZ0JqWUNqQUVnRnlBR05nS0lBU0FYSUFZMkFvUUJJQllvQXBRQklRZ0NRQUovQW44Q1FDQVhLQUxRQVNJSFJRMEFJQWNvQWdRZ0RVY05BQ0FIS0FJQVFRVkxCRUJCQUNFY1FYOE1Bd3NnQjBHc0FXb01BUXRCQVNFVlFYOGhERUVBSVJ3Z0Z5Z0N6QUVpQjBVTkFpQUhLQUlFSUExSERRSkJBQ0VWSUFjb0FnQkJCVXNOQWlBSFFiQUJhZ3NvQWdBaEhDQUhLQUpzQ3lFTVFRQWhGUXNnRmk4QnBnRWhFU0FXTHdHa0FTRVBBa0FDUUNBSUlBeEdEUUFnQmtFUWRpRUhBbjhDUUFKQUlCY29Bc3dCSWdwRkRRQWdDaWdDQkNBTlJ3MEFJQW9vQWdCQkJVc05BU0FLS0FLOEFTSVZRUkIySVJvZ0NpZ0NjQXdDQ3lBVkRRTUxRUUFoRlVFQUlScEJmd3NoQ2lBSUlBbEdJZ2tnQ0NBS1JtcEJBVWNFUUNBYUlBY2dHa0VRZEVFUWRTSUpJQWRCRUhSQkVIVktJZ29iSWd3Z0JrRVFkU0lISUFrZ0J5QUhJQWxLR3lBS0d5SUpJQnhCRUhVaUJ5QUhJQWxJR3lBTVFSQjBRUkIxSUFkSUd5RUhJQlVnQmlBVlFSQjBRUkIxSWdrZ0JrRVFkRUVRZFNJR1NpSUtHeUlNUWYvL0EzRWdCaUFKSUFZZ0JpQUpTaHNnQ2hzaUNTQWNRUkIwUVJCMUlnWWdCaUFKU0JzZ0RFRVFkRUVRZFNBR1NCc2hCZ3dDQ3lBSkRRRWdDQ0FLUncwQUlCVkIvLzhEY1NBYVFSQjBjaUVHSUJvaEJ3d0JDeUFjUVJCMklRY2dIQ0VHQ3lBR0lBOXFJZ2xCRUhSQkVIVkJnRUJyUWYvL0FFc05CeUFISUJGcUlnZEJFSFJCRUhWQmdCQnFRZjhmU3cwSElBaEJFRXNOQnlBQUtBTElDU0FJUVFKMGFpZ0NBQ0lHUlEwSElBWW9BaFJCQWtrTkJ5QUdLQUlBSWdaRkRRY2dGeUFIT3dIQ0FTQVhJQWs3QWNBQklCY2dCallDZ0FFZ0Z5QUdOZ0o0SUJjZ0NEWUNjQ0FYSUFnMkFtZ2dGeUFYS0FMQUFTSUdOZ0s4QVNBWElBWTJBcmdCSUJjZ0JqWUN0QUVnRnlBR05nS2dBU0FYSUFZMkFwd0JJQmNnQmpZQ21BRWdGMEdVQVdvaUJ5QUdOZ0lBSUI4Z0VqWUMyQU1nSDBFUWFpSUdJQmRCaEFGcUlCOUIyQU5xSWdnZ0hpQVpRUUJCQUVFSVFSQVFEQ0FmSUJjb0FuZzJBdGdESUFZZ0J5QUlJQjRnR1VFSVFRQkJDRUVRRUF3TUNBdEJmeUVLUVFBTElRY2dEU0FWUmlJSklBb2dEVVpxUVFGSEJFQWdHaUFHSUJwQkVIUkJFSFVpQ1NBR1FSQjBRUkIxSWdaS0lnb2JJaG9nQmlBSklBWWdCaUFKU2hzZ0Noc2lDU0FIUVJCMUlnWWdCaUFKU0JzZ0drRVFkRUVRZFNBR1NCc2hCaUFNSUFnZ0RFRVFkRUVRZFNJSklBaEJFSFJCRUhVaUNFb2lDaHNpREVILy93TnhJQWdnQ1NBSUlBZ2dDVW9iSUFvYklnZ2dCMEVRZEVFUWRTSUhJQWNnQ0VnYklBeEJFSFJCRUhVZ0IwZ2JJUWdNQVFzZ0NRMEFJQWRCRUhZaEJpQUhJUWdMSUFnZ0Qyb2lCMEVRZEVFUWRVR0FRR3RCLy84QVN3MEVJQVlnRVdvaUNFRVFkRUVRZFVHQUVHcEIveDlMRFFRZ0RVRVFTdzBFSUFBb0FzZ0pJQTFCQW5ScUtBSUFJZ1pGRFFRZ0JpZ0NGRUVDU1EwRUlBWW9BZ0FpQ1VVTkJDQVhJQWc3QWFJQklCY2dCenNCb0FFZ0Z5QUpOZ0owSUJjZ0RUWUNaQ0FYSUFrMkFuZ2dGeUFOTmdKb0lCY2dGeWdDb0FFaUJqWUNuQUVnRnlBR05nS1lBU0FYSUFZMkFwUUJJQmNnQmpZQ2tBRWdGeUFHTmdLTUFTQVhJQVkyQW9nQklCY2dCallDaEFFZ0ZpZ0NsQUVoQ0NBV0x3R21BU0VSSUJZdkFhUUJJUThDZndKQUFrQUNRQ0FYS0FMSUFTSUhCRUFnRWlBSEtBSUVSZ1JBSUFjb0FnQkJCVTBFUUNBSEtBSzRBU0lLUVJCMklSTWdCeWdDY0NBSVJ3MEVJQW9oREF3REMwRi9JUlZCQUNFTVFRQWhFMEVBSVFwQkFDRUhJQWhCZjBZTkFnd0VDMEYvSVJWQkFDRU1RUUFoRTBFQUlRcEJBQ0VISUFoQmYwWU5BUXdEQzBGL0lSVkJBQ0VNUVFBaEUwRUFJUXBCQUNFSElBaEJmMGNOQWdzZ0RFSC8vd054SUJOQkVIUnlEQUlMSUFjb0FtZ2hGU0FIS0FLZ0FTRUhJQk1oREFzZ0JrRVFkaUVTSUFnZ0RVWWlEU0FJSUJWR2FrRUJSd1JBSUJJZ0RDQU1RUkIwUVJCMUlnd2dFa0VRZEVFUWRVZ2lEUnNpRWlBTUlBWkJFSFVpR2lBTUlBd2dHa29iSUEwYklnMGdCMEVRZFNJTUlBd2dEVWdiSUJKQkVIUkJFSFVnREVnYklSTWdCaUFLSUFwQkVIUkJFSFVpQ2lBR1FSQjBRUkIxSWdaSUlnd2JJZzFCLy84RGNTQUtJQVlnQ2lBR0lBcElHeUFNR3lJS0lBZEJFSFJCRUhVaUJpQUdJQXBJR3lBTlFSQjBRUkIxSUFaSUd3d0JDeUFTSUFkQkVIWWdEUnNoRXlBR0lBY2dEUnNMSUE5cUlnZEJFSFJCRUhWQmdFQnJRZi8vQUVzTkJDQVJJQk5xSWdwQkVIUkJFSFZCZ0JCcVFmOGZTdzBFSUFoQkVFc05CQ0FBS0FMSUNTQUlRUUowYWlnQ0FDSUdSUTBFSUFZb0FoUkJBa2tOQkNBR0tBSUFJZ1pGRFFRZ0Z5QUtPd0hDQVNBWElBYzdBY0FCSUJjZ0JqWUNnQUVnRnlBR05nSjhJQmNnQ0RZQ2NDQVhJQWcyQW13Z0Z5QVhLQUxBQVNJR05nSzhBU0FYSUFZMkFyZ0JJQmNnQmpZQ3RBRWdGeUFHTmdLd0FTQVhJQVkyQXF3QklCY2dCallDcUFFZ0YwR2tBV29pQnlBR05nSUFJQjhnQ1RZQzJBTWdIMEVRYWlJR0lCZEJoQUZxSUI5QjJBTnFJZ2dnSGlBWlFRQkJBRUVRUVFnUURDQWZJQmNvQW53MkF0Z0RJQVlnQnlBSUlCNGdHVUVBUVFoQkVFRUlFQXdNQlF0QmZ5RUhRUUFMSVFZZ0VDQVNSaUlNSUJFZ0VrWWlDbW9nQnlBU1JtcEJBVWNFUUNBSklCb2dDVUVRZEVFUWRTSUpJQnBCRUhSQkVIVWlCMG9pQ2hzaURDQUhJQWtnQnlBSElBbEtHeUFLR3lJSklBWkJFSFVpQnlBSElBbElHeUFNUVJCMFFSQjFJQWRJR3lFYUlCVWdDQ0FWUVJCMFFSQjFJZ2tnQ0VFUWRFRVFkU0lIU2lJSUd5SUtRZi8vQTNFZ0J5QUpJQWNnQnlBSlNoc2dDQnNpQnlBR1FSQjBRUkIxSWdZZ0JpQUhTQnNnQ2tFUWRFRVFkU0FHU0JzaENBd0JDeUFJSUJVZ0Noc2hDQ0FhSUFrZ0Noc2hHaUFLRFFBZ0RBMEFJQVpCRUhZaEdpQUdJUWdMSUFnZ0Uyb2lIRUVRZEVFUWRVR0FRR3RCLy84QVN3MEJJQThnR21vaURFRVFkRUVRZFVHQUVHcEIveDlMRFFFTElCSkJFRXNOQUNBQUtBTElDU0FTUVFKMGFpZ0NBQ0lHUlEwQUlBWW9BaFJCQWtrTkFDQUdLQUlBSWdkRkRRQWdEU0FNT3dIQ0FTQU5JQnc3QWNBQklBMGdCellDZENBTklCSTJBbVFnRFNBSE5nS0FBU0FOSUFjMkFud2dEU0FITmdKNElBMGdFallDY0NBTklCSTJBbXdnRFNBU05nSm9JQTBnRFNnQ3dBRWlCallDdkFFZ0RTQUdOZ0s0QVNBTklBWTJBclFCSUEwZ0JqWUNzQUVnRFNBR05nS3NBU0FOSUFZMkFxZ0JJQTBnQmpZQ3BBRWdEU0FHTmdLZ0FTQU5JQVkyQXB3QklBMGdCallDbUFFZ0RTQUdOZ0tVQVNBTklBWTJBcEFCSUEwZ0JqWUNqQUVnRFNBR05nS0lBU0FOSUFZMkFvUUJJQjhnQnpZQzJBTWdIMEVRYWlBTlFZUUJhaUFmUWRnRGFpQWVJQmxCQUVFQVFSQkJFQkFNREFFTFFRRWhCZ3dEQ3lBT0tBTEVBVUVCU3cwQUlBNG9BZ0FFUUNBcktBSUFJZ3dnS2lBcUlDc29BZ1FpQ1hBaUJtc2lCMEVJZEdvZ0JrRUVkR29oRGlBSlFRUjBJUW9nQ1VFQ2RFSDgvLy8vQTNFaERTQUdRUU4wSVJJZ0t5Z0NDQ0FKYkNJUlFRaDBJUThnQjBFR2RDRVRRUUFoR2dOQUlBNGdHa0VDZENJR1FmQXBhaWdDQUNJSElBcHNhaUFHUWJBcGFpZ0NBQ0lHYWlFSUlCOUJFR29nQjBFRWRHb2dCbW9oQmdKQUlCWWdHa0VHZEdvaUJ5Z0N5QUlpSEVILy8vOEhSd1JBSUFjb0Fzd0NJUmNnQmkwQUFTRVZJQWdnSENBR0xRQUFha0hBTldvdEFBQTZBQUFnQnlnQzBBSWhIQ0FHTFFBQ0lSQWdDQ0FWSUJkcVFjQTFhaTBBQURvQUFTQUhLQUxVQWlFWElBWXRBQU1oRlNBSUlCQWdIR3BCd0RWcUxRQUFPZ0FDSUFnZ0ZTQVhha0hBTldvdEFBQTZBQU1nQnlnQzNBSWhIQ0FHTFFBUklSY2dDQ0FLYWlJSUlBY29BdGdDSUFZdEFCQnFRY0ExYWkwQUFEb0FBQ0FIS0FMZ0FpRVZJQVl0QUJJaEVDQUlJQmNnSEdwQndEVnFMUUFBT2dBQklBY29BdVFDSVJ3Z0JpMEFFeUVYSUFnZ0VDQVZha0hBTldvdEFBQTZBQUlnQ0NBWElCeHFRY0ExYWkwQUFEb0FBeUFIS0FMc0FpRWNJQVl0QUNFaEZ5QUlJQXBxSWdnZ0J5Z0M2QUlnQmkwQUlHcEJ3RFZxTFFBQU9nQUFJQWNvQXZBQ0lSVWdCaTBBSWlFUUlBZ2dGeUFjYWtIQU5Xb3RBQUE2QUFFZ0J5Z0M5QUloSENBR0xRQWpJUmNnQ0NBUUlCVnFRY0ExYWkwQUFEb0FBaUFJSUJjZ0hHcEJ3RFZxTFFBQU9nQURJQWNvQXZ3Q0lSd2dCaTBBTVNFWElBZ2dDbW9pQ0NBSEtBTDRBaUFHTFFBd2FrSEFOV290QUFBNkFBQWdCeWdDZ0FNaEZTQUdMUUF5SVJBZ0NDQVhJQnhxUWNBMWFpMEFBRG9BQVNBSEtBS0VBeUVISUFZdEFETWhCaUFJSUJBZ0ZXcEJ3RFZxTFFBQU9nQUNJQWdnQmlBSGFrSEFOV290QUFBNkFBTU1BUXNnQmlnQ0VDRWNJQWdnQmlnQ0FEWUNBQ0FJSUExQkFuUWlCMm9pQ0NBY05nSUFJQVlvQWpBaEhDQUhJQWhxSWdnZ0JpZ0NJRFlDQUNBSElBaHFJQncyQWdBTElCcEJBV29pR2tFUVJ3MEFDeUFSUVFaMElRNGdDVUVEZEVINC8vLy9CM0VpQ2tFQ2RpRU5JQXdnRDJvZ0Uyb2dFbW9oREVFUUlRZ0RRQ0FNSUE1QkFDQUlRUk5MSWdZYmFpQUlRUUowUVF4eElnZEI4Q2xxS0FJQUloSWdDbXdnQjBHd0tXb29BZ0FpQjJwcUlRa2dIMEVRYWtIQUFrR0FBaUFHRzJvZ0VrRURkQ0FIYW1vaEJnSkFJQllnQ0VFR2RHb2lCeWdDeUFJaUVrSC8vLzhIUndSQUlBY29Bc3dDSVJFZ0JpMEFBU0VQSUFrZ0VpQUdMUUFBYWtIQU5Xb3RBQUE2QUFBZ0J5Z0MwQUloRWlBR0xRQUNJUm9nQ1NBUElCRnFRY0ExYWkwQUFEb0FBU0FIS0FMVUFpRVJJQVl0QUFNaER5QUpJQklnR21wQndEVnFMUUFBT2dBQ0lBa2dEeUFSYWtIQU5Xb3RBQUE2QUFNZ0J5Z0MzQUloRWlBR0xRQUpJUkVnQ1NBS2FpSUpJQWNvQXRnQ0lBWXRBQWhxUWNBMWFpMEFBRG9BQUNBSEtBTGdBaUVQSUFZdEFBb2hHaUFKSUJFZ0VtcEJ3RFZxTFFBQU9nQUJJQWNvQXVRQ0lSSWdCaTBBQ3lFUklBa2dEeUFhYWtIQU5Xb3RBQUE2QUFJZ0NTQVJJQkpxUWNBMWFpMEFBRG9BQXlBSEtBTHNBaUVTSUFZdEFCRWhFU0FKSUFwcUlna2dCeWdDNkFJZ0JpMEFFR3BCd0RWcUxRQUFPZ0FBSUFjb0F2QUNJUThnQmkwQUVpRWFJQWtnRVNBU2FrSEFOV290QUFBNkFBRWdCeWdDOUFJaEVpQUdMUUFUSVJFZ0NTQVBJQnBxUWNBMWFpMEFBRG9BQWlBSklCRWdFbXBCd0RWcUxRQUFPZ0FESUFjb0F2d0NJUklnQmkwQUdTRVJJQWtnQ21vaUNTQUhLQUw0QWlBR0xRQVlha0hBTldvdEFBQTZBQUFnQnlnQ2dBTWhEeUFHTFFBYUlSb2dDU0FSSUJKcVFjQTFhaTBBQURvQUFTQUhLQUtFQXlFSElBWXRBQnNoQmlBSklBOGdHbXBCd0RWcUxRQUFPZ0FDSUFrZ0JpQUhha0hBTldvdEFBQTZBQU1NQVFzZ0JpZ0NDQ0VTSUFrZ0JpZ0NBRFlDQUNBSklBMUJBblFpQjJvaUNTQVNOZ0lBSUFZb0FoZ2hFaUFISUFscUlna2dCaWdDRURZQ0FDQUhJQWxxSUJJMkFnQUxJQWhCQVdvaUNFRVlSdzBBQ3d3QkN5QXJJQjlCRUdvUUR3c2dBQ2dDdkFraURpQXhhaWdDeEFGQkFVWWhDZ0ovUVFBZ0lDZ0NERUVEZENBZ0tBSVFheUlIUlEwQUdrRUJJQWRCQ0VzTkFCb2dJQ2dDQkNJR0xRQUFJQ0FvQWdnaUNVRVlhaUlhZENFSUlBY2dDV3BCQ0dzaUNVRUJUZ1JBQTBBZ0JpMEFBU0FhUVFocklocDBJQWh5SVFnZ0NVRUlTaUVNSUFaQkFXb2hCaUFKUVFocklRa2dEQTBBQ3d0QkFTQUhRUUZyZENBSVFTQWdCMnQyUndzZ0h5Z0NESEloQmdKQUFrQWdMeWdDQkVFQ2F3NEdBQUVCQVFFQUFRc2dBQ0FxTmdLd0NRc2dDaUEwYWlFMElBWkJBRWNoQ0NBQUtBS1lDU0lISUNwQkFXb2lCaUFHSUFkSkd5RUdJQUFvQXBRSklna2dLa0VDZEdvb0FnQWhDZ05BQWtBZ0J5QXFRUUZxSWlwTkJFQWdCaUVxREFFTElBa2dLa0VDZEdvb0FnQWdDa2NOQVFzTFFRRWhCa0VBSUFoQkFDQXFJQWNnS2tZYklpb2JEUUVnQ0EwQUN5QUhJQUJCckFscUtBSUFJRFJxSWdoSkRRQWdBQ0FJTmdLc0NVRUFJUVlMSUI5QjhBTnFKQUFnQmdzRVFDQUFLQUtvQ1NFSklBQW9BdGdLSVFZQ1FDQUFLQUt3Q1NJSFJRMEFJQVlnQjBFQmF5SUtUd1JBSUFvaEJnd0JDeUFBS0FLOENTRUhRUUFoRFFOQUFrQWdCeUFLUWRnQmJHb29BZ1FnQ1VjTkFDQU5RUUZxSWcwZ0FDZ0NFQ2dDTkNJSVFRb2dDRUVLU3h0SkRRQWdDaUVHREFJTElBcEJBV3NpQ2lBR1N3MEFDd3NnQUNnQ3ZBa2hEQU5BUVFBaENpQUpJQXdnQmtIWUFXeHFJZ2NvQWdSSEJFQkJBeUVNREJNTElBY29Bc1FCSWdoRkJFQkJBeUVNREJNTElBY2dDRUVCYXpZQ3hBRWdBQ2dDbUFraUNDQUdRUUZxSWdjZ0J5QUlTUnNoQnlBQUtBS1VDU0lPSUFaQkFuUnFLQUlBSVEwRFFBSkFJQWdnQmtFQmFpSUdUUVJBSUFjaEJnd0JDeUFPSUFaQkFuUnFLQUlBSUExSERRRUxDMEVBSUFZZ0JpQUlSaHNpQmcwQUMwRURJUXdNRVFzZ0FDZ0MvQW9FUUVFQUlRcEJBQ0VOQWtBZ0FDZ0NtQWtpR0VVTkFDQVlRUU54SVF3Z0FDZ0N2QWtoQjBFQUlRa2dHRUVCYTBFRFR3UkFRUUFoQmlBWVFYeHhJZ2toRWdOQUlBMGdCeUFHUWRnQmJHb29Bc1FCUVFCSGFpQUhJQVpCQVhKQjJBRnNhaWdDeEFGQkFFZHFJQWNnQmtFQ2NrSFlBV3hxS0FMRUFVRUFSMm9nQnlBR1FRTnlRZGdCYkdvb0FzUUJRUUJIYWlFTklBWkJCR29oQmlBU1FRUnJJaElOQUFzTElBeEZEUUFEUUNBTklBY2dDVUhZQVd4cUtBTEVBVUVBUjJvaERTQUpRUUZxSVFrZ0RFRUJheUlNRFFBTEMwRUJJUVlnRFNBWVJnMFBRUUFoREF3UkMwRUFJUXBCQVNFR0lBQW9BcXdKSUFBb0FwZ0pSZzBPUVFBaERBd1FDeUFIS0FJUUlRWUxJQVpCQVVjTkFDQUhLQUlZRFFBZ0MwRUFOZ0xzQVNBTFFkQUJhaUFMUWV3QmFoQUNJUVlDUUFKQUlBc29BdXdCUVg5R0JFQWdCa1VOQVF3Q0N5QUdSUTBCQzBFQklRWU1BZ3NnQ0NnQ0NFVU5BQ0FMUVFBMkF1d0JJQXRCMEFGcUlBdEI3QUZxRUFJaEJnSkFJQXNvQXV3QlFYOUdCRUFnQmcwQ0RBRUxJQVpGRFFFTFFRRWhCZ3dCQ3lBSUtBSkVCRUJCQVNFR0lBdEIwQUZxSUF0QnpBRnFFQUlOQVFzZ0N5Z0MxQUVoQmdKQUlBc29BdHdCUVFOMElnd2dDeWdDNEFFaURtc2lDRUVnVGdSQUlBWW9BQUFpQ0VFWWRDQUlRUWgwUVlDQS9BZHhjaUFJUVFoMlFZRCtBM0VnQ0VFWWRuSnlJUWtnQ3lnQzJBRWlDRVVOQVNBSklBaDBJQVl0QUFSQkNDQUlhM1p5SVFrTUFRc2dDRUVCU0FSQVFRQWhDUXdCQ3lBR0xRQUFJQXNvQXRnQklnMUJHR29pTW5RaENTQUlJQTFxUVFocklnMUJBVWdOQUFOQUlBWXRBQUVnTWtFSWF5SXlkQ0FKY2lFSklBMUJDRW9oQ0NBR1FRRnFJUVlnRFVFSWF5RU5JQWdOQUFzTElBc2dEa0VCYWlJSU5nTGdBVUYvSVFZZ0NDQU1UUVJBSUFzZ0N5Z0MwQUVnQ0VFRGRtbzJBdFFCSUFsQkgzWWhCZ3NnQmtGL1JpRU5DeUFHSUExeURRQWdBQ2dDL0FrTkFDQUtSUTBBSUFvb0FqUWdCeWdDTkVjTkFDQUtLQUk0SUFjb0FqaEhEUUFnQ2lnQ1dDQUhLQUpZUmcwQkN5QUFRUUEyQW9BS0RBRUxJQUFvQXNRSklnbEZEUUFnQUVFQk5nS0FDaUFBS0FMZ0NTRU1BMEJCQUNFR1FmLy8vLzhISVFkQkFDRUtBMEFnQ1NBS1FTaHNhaUlJS0FJWUJFQWdDQ0FHSUFnb0FoQWlDQ0FIU0NJT0d5RUdJQWdnQnlBT0d5RUhDeUFLUVFGcUlnb2dERTBOQUNBR1JRMENJQUFvQXRBSklBQW9BdFFKSWdoQkJIUnFJZ2NnQmlnQ0FEWUNBQ0FISUFZb0FpUTJBZ3dnQnlBR0tBSWNOZ0lFSUFjZ0JpZ0NJRFlDQ0NBQUlBaEJBV28yQXRRSlFRQWhDaUFHUVFBMkFoZ2dCaWdDRkNFSVFRQWhCa0gvLy8vL0J5RUhJQWdOQUFzZ0FDQUFLQUx3Q1VFQmF6WUM4QWtNQUFzQUN5QUFJQUFvQWdnMkFnQkJBaUVNUVFBaE1rRUFJUW9NQ1FzZ0FFS0Fnb0NBZ0FRM0FnUkJBQ0VLSUFCQkFEWUN0Qm9nQUVJQU53SU1EQWdMSUF0QkNHb2dDMEhzQVdvUUFnMEFJQXNvQXV3QklnWkJIMHNOQUNBTElBWkJBV28yQWxBZ0MwRUlhaUFMUWV3QmFoQUNEUUFnQ3lnQzdBRkJIMHNOQUNBTEtBSU1JUVlDUUNBTEtBSVVRUU4wSWd3Z0N5Z0NHQ0lPYXlJSVFTQk9CRUFnQmlnQUFDSUhRUmgwSUFkQkNIUkJnSUQ4QjNGeUlBZEJDSFpCZ1A0RGNTQUhRUmgyY25JaEJ5QUxLQUlRSWdoRkRRRWdCeUFJZENBR0xRQUVRUWdnQ0d0MmNpRUhEQUVMSUFoQkFVZ0VRRUVBSVFjTUFRc2dCaTBBQUNBTEtBSVFJZ2xCR0dvaURYUWhCeUFJSUFscVFRaHJJZ3BCQVVnTkFBTkFJQVl0QUFFZ0RVRUlheUlOZENBSGNpRUhJQXBCQ0VvaENDQUdRUUZxSVFZZ0NrRUlheUVLSUFnTkFBc0xJQXNnRGtFQmFpSUpOZ0lZSUFzZ0NVRUhjU0lJTmdJUUlBa2dERXNOQUNBTElBc29BZ2dpRWlBSlFRTjJhaUlHTmdJTUlBZEJBRWdOQUFKQUlBd2dDV3NpQ1VFZ1RnUkFJQVlvQUFBaUIwRVlkQ0FIUVFoMFFZQ0EvQWR4Y2lBSFFRaDJRWUQrQTNFZ0IwRVlkbkp5SVFjZ0NFVU5BU0FISUFoMElBWXRBQVJCQ0NBSWEzWnlJUWNNQVFzZ0NVRUJTQVJBUVFBaEJ3d0JDeUFHTFFBQUlBaEJHSElpRFhRaEJ5QUlJQWxxUVFocklncEJBVWdOQUFOQUlBWXRBQUVnRFVFSWF5SU5kQ0FIY2lFSElBcEJDRW9oQ0NBR1FRRnFJUVlnQ2tFSWF5RUtJQWdOQUFzTElBc2dEa0VEYWlJR05nSVlJQXNnQmtFSGNUWUNFQ0FHSUF4TERRQWdDeUFTSUFaQkEzWnFOZ0lNSUFkQi8vLy8vM3RMRFFBZ0MwRUFOZ0xRQVNBTFFRaHFJQXRCMEFGcUVBSWhCeUFMS0FMUUFTSUdRWDlHRFFBZ0J3MEFJQVpCQVdwQkFYWWlCMEVBSUFkcklBWkJBWEViUVJwcUlnWkJNMHNOQUNBTElBWTJBbFFnQzBFQU5nTFFBU0FMUVFocUlBdEIwQUZxRUFJaEJ5QUxLQUxRQVNJR1FYOUdEUUFnQncwQUlBWkJBV3BCQVhZaUIwRUFJQWRySUFaQkFYRWJRUnBxUVROTERRQWdDMEVBTmdMUUFTQUxRUWhxSUF0QjBBRnFFQUloQnlBTEtBTFFBU0lHUVg5R0RRQWdCdzBBSUFaQkFXcEJBWFlpQjBFQUlBZHJJQVpCQVhFYklnWkJER3BCR0VzTkFDQUxJQVkyQWxnZ0N5Z0NEQ0VHQWtBZ0N5Z0NGRUVEZENJSUlBc29BaGdpREdzaUNVRWdUZ1JBSUFZb0FBQWlCMEVZZENBSFFRaDBRWUNBL0FkeGNpQUhRUWgyUVlEK0EzRWdCMEVZZG5KeUlRY2dDeWdDRUNJSlJRMEJJQWNnQ1hRZ0JpMEFCRUVJSUFscmRuSWhCd3dCQ3lBSlFRRklCRUJCQUNFSERBRUxJQVl0QUFBZ0N5Z0NFQ0lLUVJocUlnMTBJUWNnQ1NBS2FrRUlheUlLUVFGSURRQURRQ0FHTFFBQklBMUJDR3NpRFhRZ0IzSWhCeUFLUVFoS0lRa2dCa0VCYWlFR0lBcEJDR3NoQ2lBSkRRQUxDeUFMSUF4QkFXb2lDallDR0NBTElBcEJCM0VpQ1RZQ0VDQUlJQXBKRFFBZ0N5QUhRUjkyTmdKY0lBc2dDeWdDQ0NJT0lBcEJBM1pxSWdZMkFnd0NRQ0FJSUFwcklncEJJRTRFUUNBR0tBQUFJZ2RCR0hRZ0IwRUlkRUdBZ1B3SGNYSWdCMEVJZGtHQS9nTnhJQWRCR0haeWNpRUhJQWxGRFFFZ0J5QUpkQ0FHTFFBRVFRZ2dDV3QyY2lFSERBRUxJQXBCQVVnRVFFRUFJUWNNQVFzZ0JpMEFBQ0FKUVJoeUlnMTBJUWNnQ1NBS2FrRUlheUlLUVFGSURRQURRQ0FHTFFBQklBMUJDR3NpRFhRZ0IzSWhCeUFLUVFoS0lRa2dCa0VCYWlFR0lBcEJDR3NoQ2lBSkRRQUxDeUFMSUF4QkFtb2lDallDR0NBTElBcEJCM0VpQ1RZQ0VDQUlJQXBKRFFBZ0N5QUhRUjkyTmdKZ0lBc2dEaUFLUVFOMmFpSUdOZ0lNQWtBZ0NDQUtheUlLUVNCT0JFQWdCaWdBQUNJSFFSaDBJQWRCQ0hSQmdJRDhCM0Z5SUFkQkNIWkJnUDREY1NBSFFSaDJjbkloQnlBSlJRMEJJQWNnQ1hRZ0JpMEFCRUVJSUFscmRuSWhCd3dCQ3lBS1FRRklCRUJCQUNFSERBRUxJQVl0QUFBZ0NVRVljaUlOZENFSElBa2dDbXBCQ0dzaUNrRUJTQTBBQTBBZ0JpMEFBU0FOUVFocklnMTBJQWR5SVFjZ0NrRUlTaUVKSUFaQkFXb2hCaUFLUVFocklRb2dDUTBBQ3dzZ0N5QU1RUU5xSWdZMkFoZ2dDeUFHUVFkeElnazJBaEFnQmlBSVN3MEFJQXNnQjBFZmRqWUNaQ0FMSUE0Z0JrRURkbW8yQWd3Q1FDQUlJQVpySWdaQkFXdEJIa3NOQUNBR0lBbHFRUWhySWdaQkFVZ05BQU5BSUFaQkNFb2hCeUFHUVFocklRWWdCdzBBQ3dzZ0N5QU1JQWxyUVF0cUlnWTJBaGdnQ3lBR1FRZHhOZ0lRSUFZZ0NFMEVRQ0FMSUE0Z0JrRURkbW8yQWd3TElBQWdDeWdDSUNJSFFRSjBhaUlHS0FLVUFTSUlEUUVnQmtISUFCQUlJZ28yQXBRQklBcEZEUU1NQWdzZ0N5Z0NOQkFFUVFBaENpQUxRUUEyQWpRZ0N5Z0NPQkFFSUF0QkFEWUNPQ0FMS0FJOEVBUWdDMEVBTmdJOElBc29Ba3dRQkVFRElRd01CZ3NDUUNBSElBQW9BZ1JIRFFBZ0N5Z0NKQ0FBS0FJSVJnMEFJQUJCZ1FJMkFnUUxJQWdvQWhRUUJDQUdLQUtVQVVFQU5nSVVJQVlvQXBRQktBSVlFQVFnQmlnQ2xBRkJBRFlDR0NBR0tBS1VBU2dDSEJBRUlBWW9BcFFCUVFBMkFod2dCaWdDbEFFb0Fpd1FCQ0FHS0FLVUFVRUFOZ0lzSUFZb0FwUUJJUW9MSUFvZ0MwRWdha0hJQUJBSEdndEJBQ0VLUVFBaERBd0RDeUFMS0FLUUFSQUVRUUFoQ2lBTFFRQTJBcEFCSUFzb0Fyd0JFQVJCQXlFTURBSUxJQUFnQmpZQ25Ba2dBQ2dDdkFraERrRUFJU0pCQUNFNUl3QkJzQUZySWcwa0FDQXJLQUlJSWhFRVFDQXJLQUlFSWg5QkJuUWhTeUFmUVRCc0lVd2dIMEVGZENFZ0lCOUJVR3doTENBUklCOXNJZ1pCQm5RaFRTQUdRUWgwSVU1QkFDQWZRUU4wSWhwckloZEJBWFFoS2tFQUlCOUJCSFFpTm1zaUkwRUNkQ0ZQSUNOQkFYUWhMZ05BQWtBZ0RpZ0NDQ0lHUVFGR0RRQUNRQUpBQWtBQ1FDQU9LQUxJQVNJVVJRUkFRUUVoQnd3QkMwRUZJUWNnQmtFQ1J3MEFRUVZCQVNBT0tBSUVJaElnRkNnQ0JFWWJJUWNnRGlnQ3pBRWlDQTBCUVFBaENBd0RDeUFPS0FMTUFTSUlSUVJBUVFBaENBd0RDeUFHUVFKSERRRWdEaWdDQkNFU0N5QVNJQWdvQWdSSERRRUxJQWRCQW5JaEJ3c0Nmd0pBQW44Z0IwRUNjU0kvQkVBQ1FDQU9LQUlBUVFWTkJFQWdDQ2dDQUVFR1NRMEJDeUFOUVFRMkFrQWdEVUVFTmdKSUlBMUJCRFlDT0NBTlFRUTJBakFNQXd0QkFpRU1RUUloRWdKQUlBNHZBUndOQUNBSUx3RXdEUUJCQVNFU0lBNG9BblFnQ0NnQ2ZFY05BQ0FPTGdHRUFTQUlMZ0dzQVdzaUJpQUdRUjkxSWdacUlBWnpRUU5MRFFBZ0RpNEJoZ0VnQ0M0QnJnRnJJZ1lnQmtFZmRTSUdhaUFHYzBFRFN5RVNDeUFOSUJJMkFqQUNRQ0FPTHdFZURRQWdDQzhCTWcwQVFRRWhEQ0FPS0FKMElBZ29BbnhIRFFBZ0RpNEJpQUVnQ0M0QnNBRnJJZ1lnQmtFZmRTSUdhaUFHYzBFRFN3MEFJQTR1QVlvQklBZ3VBYklCYXlJR0lBWkJIM1VpQm1vZ0JuTkJBMHNoREFzZ0RTQU1OZ0k0UVFJaEUwRUNJUndDUUNBT0x3RWtEUUFnQ0M4Qk9BMEFRUUVoSENBT0tBSjRJQWdvQW9BQlJ3MEFJQTR1QVpRQklBZ3VBYndCYXlJR0lBWkJIM1VpQm1vZ0JuTkJBMHNOQUNBT0xnR1dBU0FJTGdHK0FXc2lCaUFHUVI5MUlnWnFJQVp6UVFOTElSd0xJQTBnSERZQ1FBSkFJQTR2QVNZTkFDQUlMd0U2RFFCQkFTRVRJQTRvQW5nZ0NDZ0NnQUZIRFFBZ0RpNEJtQUVnQ0M0QndBRnJJZ1lnQmtFZmRTSUdhaUFHYzBFRFN3MEFJQTR1QVpvQklBZ3VBY0lCYXlJR0lBWkJIM1VpQm1vZ0JuTkJBMHNoRXdzZ0RTQVROZ0pJSUF3Z0VuSU5BaUFUSUJ4eURRSkJBQXdCQ3lBTlFRQTJBa0FnRFVFQU5nSklJQTFCQURZQ09DQU5RUUEyQWpCQkFBc2hFa0VCREFFTFFRRWhFa0VBQ3lFSkFrQUNRQUpBSUFkQkJIRWlRQVJBQWtBZ0RpZ0NBQ0lIUVFWTkJFQWdGQ2dDQUVFR1NRMEJDeUFOUVFRMkFuUWdEVUVFTmdLVUFTQU5RUVEyQWxRZ0RVRUVOZ0kwUVFFaEVnd0NDMEVDSVFaQkFpRWNBa0FnRGk4QkhBMEFJQlF2QVNZTkFFRUJJUndnRGlnQ2RDQVVLQUo0UncwQUlBNHVBWVFCSUJRdUFaZ0JheUlLSUFwQkgzVWlDbW9nQ25OQkEwc05BQ0FPTGdHR0FTQVVMZ0dhQVdzaUNpQUtRUjkxSWdwcUlBcHpRUU5MSVJ3TElBMGdIRFlDTkFKQUlBNHZBU0FOQUNBVUx3RXFEUUJCQVNFR0lBNG9BblFnRkNnQ2VFY05BQ0FPTGdHTUFTQVVMZ0dnQVdzaUNpQUtRUjkxSWdwcUlBcHpRUU5MRFFBZ0RpNEJqZ0VnRkM0Qm9nRnJJZ1lnQmtFZmRTSUdhaUFHYzBFRFN5RUdDeUFOSUFZMkFsUkJBaUVQUVFJaEV3SkFJQTR2QVN3TkFDQVVMd0UyRFFCQkFTRVRJQTRvQW53Z0ZDZ0NnQUZIRFFBZ0RpNEJwQUVnRkM0QnVBRnJJZ29nQ2tFZmRTSUthaUFLYzBFRFN3MEFJQTR1QWFZQklCUXVBYm9CYXlJS0lBcEJIM1VpQ21vZ0NuTkJBMHNoRXdzZ0RTQVROZ0owQWtBZ0RpOEJNQTBBSUJRdkFUb05BRUVCSVE4Z0RpZ0NmQ0FVS0FLQUFVY05BQ0FPTGdHc0FTQVVMZ0hBQVdzaUNpQUtRUjkxSWdwcUlBcHpRUU5MRFFBZ0RpNEJyZ0VnRkM0QndnRnJJZ29nQ2tFZmRTSUthaUFLYzBFRFN5RVBDeUFOSUE4MkFwUUJRUUVoRWlBSlJRMENJQVlnSEhJTkFpQVBJQk55RFFKQkFDRVNEQUlMSUExQkFEWUNkQ0FOUVFBMkFwUUJJQTFCQURZQ1ZDQU5RUUEyQWpRZ0RpZ0NBQ0VIQ3lBSFFRWkpEUUFnRFVFRE5nS2dBU0FOUW9PQWdJQXdOd0trQVNBTlFRTTJBcEFCSUExQkF6WUNjQ0FOUVFNMkFxd0JJQTFDZzRDQWdEQTNBNWdCSUExQ2c0Q0FnREEzQTRnQklBMUNnNENBZ0RBM0E0QUJJQTFDZzRDQWdEQTNBM2dnRFVLRGdJQ0FNRGNEYUNBTlFvT0FnSUF3TndOZ0lBMUNnNENBZ0RBM0ExZ2dEVUtEZ0lDQU1EY0NUQ0FOUVFNMkFrUWdEVUVETmdJOERBRUxBa0FnQjBFQlRRUkFJQTBDZndKQUlBNHZBU0FpTkEwQUlBNHZBUndOQUVFQURBRUxRUUlMSWdjMkFsQWdEUUovQWtBZ0RpOEJJaUlsRFFBZ0RpOEJIZzBBUVFBTUFRdEJBZ3NpRERZQ1dDQU5BbjhDUUNBT0x3RW9JZ2tOQUNBT0x3RWtEUUJCQUF3QkMwRUNDeUljTmdKZ0lBMENmd0pBSUE0dkFTb2lKZzBBSUE0dkFTWU5BRUVBREFFTFFRSUxJaE0yQW1oQkFpRVBJQTFCQWlBMFFRQkhRUUYwSUE0dkFTd2lNUnNpRmpZQ2NDQU5RUUlnSlVFQVIwRUJkQ0FPTHdFdUloMGJJaGsyQW5nZ0RVRUNJQWxCQUVkQkFYUWdEaThCTkNJVkd5SWVOZ0tBQVNBTlFRSWdKa0VBUjBFQmRDQU9Md0UySWk4YklpUTJBb2dCSUEwZ0RpOEJNQ0l6SURGeVFRQkhRUUYwSWdvMkFwQUJJQTBnRGk4Qk1pSWhJQjF5UVFCSFFRRjBJaTAyQXBnQklBMGdEaThCT0NJb0lCVnlRUUJIUVFGMEloczJBcUFCSUEwZ0RpOEJPaUlRSUM5eVFRQkhRUUYwSWlrMkFxZ0JRUUloQmlBT0x3RWVSUVJBUVFBaER5QU9Md0VjUVFCSFFRRjBJUVlMSUEwZ0JqWUNQQ0FOUVFJZ0R5QU9Md0VrSWpBYklnODJBa1FnRGk4QkppRTFJQTBnRUNBb2NrRUFSMEVCZENJUU5nS3NBU0FOSUNFZ0tISkJBRWRCQVhRaUtEWUNwQUVnRFNBaElETnlRUUJIUVFGMElpRTJBcHdCSUEwZ0ZTQXZja0VBUjBFQmRDSXZOZ0tNQVNBTklCVWdIWEpCQUVkQkFYUWlGVFlDaEFFZ0RTQWRJREZ5UVFCSFFRRjBJakUyQW53Z0RTQUpJQ1p5UVFCSFFRRjBJaDAyQW13Z0RTQUpJQ1Z5UVFCSFFRRjBJZ2syQW1RZ0RTQWxJRFJ5UVFCSFFRRjBJaVUyQWx3Z0RTQXdJRFZ5UVFCSFFRRjBJalEyQWt3TUFRc0Nmd0pBSUEwQ2Z3SkFBa0FDUUFKQUFrQWdCMEVDYXc0Q0FBRUNDeUFOQW44Q1FDQU9Md0VnSWlVTkFDQU9Md0VjRFFCQkFBd0JDMEVDQ3lJSE5nSlFJQTBDZndKQUlBNHZBU0lpRlEwQUlBNHZBUjROQUVFQURBRUxRUUlMSWd3MkFsZ2dEUUovQWtBZ0RpOEJLQ0lKRFFBZ0RpOEJKQTBBUVFBTUFRdEJBZ3NpSERZQ1lDQU5BbjhDUUNBT0x3RXFJaDBOQUNBT0x3RW1EUUJCQUF3QkMwRUNDeUlUTmdKb0lBMENmd0pBSUE0dkFUQWlMdzBBSUE0dkFTd05BRUVBREFFTFFRSUxJZ28yQXBBQklBMENmd0pBSUE0dkFUSWlJUTBBSUE0dkFTNE5BRUVBREFFTFFRSUxJaTAyQXBnQklBMENmd0pBSUE0dkFUZ2lLQTBBSUE0dkFUUU5BRUVBREFFTFFRSUxJaHMyQXFBQklBMENmd0pBSUE0dkFUb2lKZzBBSUE0dkFUWU5BRUVBREFFTFFRSUxJaWsyQXFnQlFRSWhHVUVDSVJZQ1FDQWxJQTR2QVN3aU0zSU5BRUVCSVJZZ0RpNEJwQUVnRGk0QmpBRnJJZ1lnQmtFZmRTSUdhaUFHYzBFRFN3MEFJQTR1QWFZQklBNHVBWTRCYXlJR0lBWkJIM1VpQm1vZ0JuTkJBMHNOQUNBT0tBSjhJQTRvQW5SSElSWUxJQTBnRmpZQ2NBSkFJQlVnRGk4QkxpSTBjZzBBUVFFaEdTQU9MZ0dvQVNBT0xnR1FBV3NpQmlBR1FSOTFJZ1pxSUFaelFRTkxEUUFnRGk0QnFnRWdEaTRCa2dGcklnWWdCa0VmZFNJR2FpQUdjMEVEU3cwQUlBNG9BbndnRGlnQ2RFY2hHUXNnRFNBWk5nSjRRUUloSkVFQ0lSNENRQ0FKSUE0dkFUUWlNWElOQUVFQklSNGdEaTRCdEFFZ0RpNEJuQUZySWdZZ0JrRWZkU0lHYWlBR2MwRURTdzBBSUE0dUFiWUJJQTR1QVo0QmF5SUdJQVpCSDNVaUJtb2dCbk5CQTBzTkFDQU9LQUtBQVNBT0tBSjRSeUVlQ3lBTklCNDJBb0FCQWtBZ0hTQU9Md0UySWpCeURRQkJBU0VrSUE0dUFiZ0JJQTR1QWFBQmF5SUdJQVpCSDNVaUJtb2dCbk5CQTBzTkFDQU9MZ0c2QVNBT0xnR2lBV3NpQmlBR1FSOTFJZ1pxSUFaelFRTkxEUUFnRGlnQ2dBRWdEaWdDZUVjaEpBc2dEU0FrTmdLSUFTQU9Md0VlRFFJZ0RpOEJIQVJBUVFJaEJpQU5RUUkyQWp3Z0RpOEJKQ0lRRFFaQkFDRVBRUUFNQnd0QkFDRUdJQTFCQURZQ1BFRUFJUTlCQUNBT0x3RWtJaEJGRFFZYURBVUxJQTBDZndKQUlBNHZBU0FpRHcwQUlBNHZBUndOQUVFQURBRUxRUUlMSWdjMkFsQWdEUUovQWtBZ0RpOEJJaUlWRFFBZ0RpOEJIZzBBUVFBTUFRdEJBZ3NpRERZQ1dDQU5BbjhDUUNBT0x3RW9JaWdOQUNBT0x3RWtEUUJCQUF3QkMwRUNDeUljTmdKZ0lBMENmd0pBSUE0dkFTb2lIUTBBSUE0dkFTWU5BRUVBREFFTFFRSUxJaE0yQW1nZ0RTQU9Md0VzSWdrZ0QzSkJBRWRCQVhRaUZqWUNjQ0FOSUE0dkFTNGlKaUFWY2tFQVIwRUJkQ0laTmdKNElBMGdEaThCTkNJeklDaHlRUUJIUVFGMEloNDJBb0FCSUEwZ0RpOEJOaUlsSUIxeVFRQkhRUUYwSWlRMkFvZ0JJQTFCQWlBSlFRQkhRUUYwSUE0dkFUQWlJUnNpQ2pZQ2tBRWdEVUVDSUNaQkFFZEJBWFFnRGk4Qk1pSTFHeUl0TmdLWUFTQU5RUUlnTTBFQVIwRUJkQ0FPTHdFNElqY2JJaHMyQXFBQklBMUJBaUFsUVFCSFFRRjBJQTR2QVRvaUVCc2lLVFlDcUFFZ0RRSi9Ba0FnRGk4QkhpSTZEUUFnRGk4QkhBMEFRUUFNQVF0QkFnc2lCallDUENBT0x3RW1CRUFnRGk4QkpDRXdEQU1MSUE0dkFTUWlNQTBDUVFBaE1FRUFEQU1MSUE0dUFZWUJJUVlnRGk0QmpnRWhDVUVDSVF3Z0RRSi9RUUlnRGk4QklDSkJJQTR2QVJ3aU8zSU5BQnBCQVNBT0xnR01BU0FPTGdHRUFXc2lCeUFIUVI5MUlnZHFJQWR6UVFOTERRQWFJQWtnQm1zaUJ5QUhRUjkxSWdkcUlBZHpRUU5MQ3lJSE5nSlFJQTR1QVlvQklSMGdEaTRCa2dFaEZRSkFJQTR2QVNJaUx5QU9Md0VlSWlWeURRQkJBU0VNSUE0dUFaQUJJQTR1QVlnQmF5SUtJQXBCSDNVaUNtb2dDbk5CQTBzTkFDQVZJQjFySWdvZ0NrRWZkU0lLYWlBS2MwRURTeUVNQ3lBTklBdzJBbGdnRGk0QmxnRWhOQ0FPTGdHZUFTRVFRUUloRXlBTkFuOUJBaUFPTHdFb0lqRWdEaThCSkNKQ2NnMEFHa0VCSUE0dUFad0JJQTR1QVpRQmF5SUtJQXBCSDNVaUNtb2dDbk5CQTBzTkFCb2dFQ0EwYXlJS0lBcEJIM1VpQ21vZ0NuTkJBMHNMSWh3MkFtQWdEaTRCbWdFaFF5QU9MZ0dpQVNFbUFrQWdEaThCS2lKRUlBNHZBU1lpVUhJTkFFRUJJUk1nRGk0Qm9BRWdEaTRCbUFGcklnb2dDa0VmZFNJS2FpQUtjMEVEU3cwQUlDWWdRMnNpQ2lBS1FSOTFJZ3BxSUFwelFRTkxJUk1MSUEwZ0V6WUNhQ0FPTGdHbUFTRXpRUUloR1VFQ0lSWUNRQ0JCSUE0dkFTd2lSWElOQUVFQklSWWdEaTRCcEFFZ0RpNEJqQUZySWdvZ0NrRWZkU0lLYWlBS2MwRURTdzBBSURNZ0NXc2lDaUFLUVI5MUlncHFJQXB6UVFOTERRQWdEaWdDZkNBT0tBSjBSeUVXQ3lBTklCWTJBbkFnRGk0QnFnRWhJUUpBSUM4Z0RpOEJMaUl3Y2cwQVFRRWhHU0FPTGdHb0FTQU9MZ0dRQVdzaUNpQUtRUjkxSWdwcUlBcHpRUU5MRFFBZ0lTQVZheUlLSUFwQkgzVWlDbW9nQ25OQkEwc05BQ0FPS0FKOElBNG9BblJISVJrTElBMGdHVFlDZUNBT0xnRzJBU0VvUVFJaEpFRUNJUjRDUUNBeElBNHZBVFFpTlhJTkFFRUJJUjRnRGk0QnRBRWdEaTRCbkFGcklnb2dDa0VmZFNJS2FpQUtjMEVEU3cwQUlDZ2dFR3NpQ2lBS1FSOTFJZ3BxSUFwelFRTkxEUUFnRGlnQ2dBRWdEaWdDZUVjaEhnc2dEU0FlTmdLQUFTQU9MZ0c2QVNFM0FrQWdSQ0FPTHdFMklrWnlEUUJCQVNFa0lBNHVBYmdCSUE0dUFhQUJheUlLSUFwQkgzVWlDbW9nQ25OQkEwc05BQ0EzSUNacklnb2dDa0VmZFNJS2FpQUtjMEVEU3cwQUlBNG9Bb0FCSUE0b0FuaEhJU1FMSUEwZ0pEWUNpQUVnRGk0QnJnRWhSMEVDSVMwZ0RRSi9RUUlnUlNBT0x3RXdJbEZ5RFFBYVFRRWdEaTRCckFFZ0RpNEJwQUZySWdvZ0NrRWZkU0lLYWlBS2MwRURTdzBBR2lCSElETnJJZ29nQ2tFZmRTSUthaUFLYzBFRFN3c2lDallDa0FFZ0RpNEJzZ0VoT2dKQUlEQWdEaThCTWlKSWNnMEFRUUVoTFNBT0xnR3dBU0FPTGdHb0FXc2lEeUFQUVI5MUlnOXFJQTl6UVFOTERRQWdPaUFoYXlJUElBOUJIM1VpRDJvZ0QzTkJBMHNoTFFzZ0RTQXROZ0tZQVNBT0xnRytBU0UrUVFJaEtTQU5BbjlCQWlBMUlBNHZBVGdpU1hJTkFCcEJBU0FPTGdHOEFTQU9MZ0cwQVdzaUR5QVBRUjkxSWc5cUlBOXpRUU5MRFFBYUlENGdLR3NpRHlBUFFSOTFJZzlxSUE5elFRTkxDeUliTmdLZ0FTQU9MZ0hDQVNGS0FrQWdSaUFPTHdFNklsSnlEUUJCQVNFcElBNHVBY0FCSUE0dUFiZ0JheUlQSUE5QkgzVWlEMm9nRDNOQkEwc05BQ0JLSURkcklnOGdEMEVmZFNJUGFpQVBjMEVEU3lFcEN5QU5JQ2syQXFnQlFRSWhEeUFOQW45QkFpQWxJRHR5RFFBYVFRRWdEaTRCaUFFZ0RpNEJoQUZySWpzZ08wRWZkU0k3YWlBN2MwRURTdzBBR2lBZElBWnJJZ1lnQmtFZmRTSUdhaUFHYzBFRFN3c2lCallDUEFKQUlDVWdRbklOQUVFQklROGdEaTRCbEFFZ0RpNEJpQUZySWlVZ0pVRWZkU0lsYWlBbGMwRURTdzBBSURRZ0hXc2lIU0FkUVI5MUloMXFJQjF6UVFOTERRQWdEaWdDZUNBT0tBSjBSeUVQQ3lBTklBODJBa1JCQWlFbElBMENmMEVDSUVJZ1VISU5BQnBCQVNBT0xnR1lBU0FPTGdHVUFXc2lIU0FkUVI5MUloMXFJQjF6UVFOTERRQWFJRU1nTkdzaUhTQWRRUjkxSWgxcUlCMXpRUU5MQ3lJME5nSk1Ba0FnTHlCQmNnMEFRUUVoSlNBT0xnR1FBU0FPTGdHTUFXc2lIU0FkUVI5MUloMXFJQjF6UVFOTERRQWdGU0FKYXlJSklBbEJIM1VpQ1dvZ0NYTkJBMHNoSlFzZ0RTQWxOZ0pjUVFJaEhVRUNJUWtDUUNBdklERnlEUUJCQVNFSklBNHVBWndCSUE0dUFaQUJheUl2SUM5QkgzVWlMMm9nTDNOQkEwc05BQ0FRSUJWckloVWdGVUVmZFNJVmFpQVZjMEVEU3cwQUlBNG9BbmdnRGlnQ2RFY2hDUXNnRFNBSk5nSmtBa0FnTVNCRWNnMEFRUUVoSFNBT0xnR2dBU0FPTGdHY0FXc2lGU0FWUVI5MUloVnFJQlZ6UVFOTERRQWdKaUFRYXlJVklCVkJIM1VpRldvZ0ZYTkJBMHNoSFFzZ0RTQWROZ0pzUVFJaEZTQU5BbjlCQWlBd0lFVnlEUUFhUVFFZ0RpNEJxQUVnRGk0QnBBRnJJaEFnRUVFZmRTSVFhaUFRYzBFRFN3MEFHaUFoSUROckloQWdFRUVmZFNJUWFpQVFjMEVEU3dzaU1UWUNmQUpBSURBZ05YSU5BRUVCSVJVZ0RpNEJ0QUVnRGk0QnFBRnJJaEFnRUVFZmRTSVFhaUFRYzBFRFN3MEFJQ2dnSVdzaUVDQVFRUjkxSWhCcUlCQnpRUU5MRFFBZ0RpZ0NnQUVnRGlnQ2ZFY2hGUXNnRFNBVk5nS0VBVUVDSVNFZ0RRSi9RUUlnTlNCR2NnMEFHa0VCSUE0dUFiZ0JJQTR1QWJRQmF5SVFJQkJCSDNVaUVHb2dFSE5CQTBzTkFCb2dOeUFvYXlJUUlCQkJIM1VpRUdvZ0VITkJBMHNMSWk4MkFvd0JBa0FnU0NCUmNnMEFRUUVoSVNBT0xnR3dBU0FPTGdHc0FXc2lFQ0FRUVI5MUloQnFJQkJ6UVFOTERRQWdPaUJIYXlJUUlCQkJIM1VpRUdvZ0VITkJBMHNoSVFzZ0RTQWhOZ0tjQVVFQ0lSQkJBaUVvQWtBZ1NDQkpjZzBBUVFFaEtDQU9MZ0c4QVNBT0xnR3dBV3NpSmlBbVFSOTFJaVpxSUNaelFRTkxEUUFnUGlBNmF5SW1JQ1pCSDNVaUptb2dKbk5CQTBzTkFDQU9LQUtBQVNBT0tBSjhSeUVvQ3lBTklDZzJBcVFCQWtBZ1NTQlNjZzBBUVFFaEVDQU9MZ0hBQVNBT0xnRzhBV3NpSmlBbVFSOTFJaVpxSUNaelFRTkxEUUFnU2lBK2F5SVFJQkJCSDNVaUVHb2dFSE5CQTBzaEVBc2dEU0FRTmdLc0FRd0ZDMEVDSVFZZ0RVRUNOZ0k4SUE0dkFTUWhFQXdDQzBFQ0N5STBOZ0pNSUEwZ0VDQTNja0VBUjBFQmRDSVFOZ0tzQVNBTklDRWdOWEpCQUVkQkFYUWlJVFlDbkFFZ0RTQWxJRE55UVFCSFFRRjBJaTgyQW93QklBMGdDU0FtY2tFQVIwRUJkQ0l4TmdKOFFRSWhDU0FOUVFJZ0tFRUFSMEVCZENBZEd5SWROZ0pzSUExQkFpQVBRUUJIUVFGMElCVWJJaVUyQWx4QkFpRVBBa0FnTUNBNmNnMEFRUUVoRHlBT0xnR1VBU0FPTGdHSUFXc2lNQ0F3UVI5MUlqQnFJREJ6UVFOTERRQWdEaTRCbGdFZ0RpNEJpZ0ZySWpBZ01FRWZkU0l3YWlBd2MwRURTdzBBSUE0b0FuZ2dEaWdDZEVjaER3c2dEU0FQTmdKRUFrQWdGU0FvY2cwQVFRRWhDU0FPTGdHY0FTQU9MZ0dRQVdzaUZTQVZRUjkxSWhWcUlCVnpRUU5MRFFBZ0RpNEJuZ0VnRGk0QmtnRnJJaFVnRlVFZmRTSVZhaUFWYzBFRFN3MEFJQTRvQW5nZ0RpZ0NkRWNoQ1FzZ0RTQUpOZ0prUVFJaEtFRUNJUlVDUUNBbUlETnlEUUJCQVNFVklBNHVBYlFCSUE0dUFhZ0JheUltSUNaQkgzVWlKbW9nSm5OQkEwc05BQ0FPTGdHMkFTQU9MZ0dxQVdzaUppQW1RUjkxSWlacUlDWnpRUU5MRFFBZ0RpZ0NnQUVnRGlnQ2ZFY2hGUXNnRFNBVk5nS0VBUUpBSURVZ04zSU5BRUVCSVNnZ0RpNEJ2QUVnRGk0QnNBRnJJaVlnSmtFZmRTSW1haUFtYzBFRFN3MEFJQTR1QWI0QklBNHVBYklCYXlJbUlDWkJIM1VpSm1vZ0puTkJBMHNOQUNBT0tBS0FBU0FPS0FKOFJ5RW9DeUFOSUNnMkFxUUJEQUlMUVFJaER5QVFDeUUxSUEwZ0R6WUNSQ0FPTHdFbUlUY2dEU0FtSUNoeVFRQkhRUUYwSWhBMkFxd0JJQTBnSVNBb2NrRUFSMEVCZENJb05nS2tBU0FOUVFJZ0wwRUFSMEVCZENBaEd5SWhOZ0tjQVNBTlFRSWdDVUVBUjBFQmRDQWRHeUlkTmdKc0lBMUJBaUFWUVFCSFFRRjBJQWtiSWdrMkFtUWdEVUVDSUNWQkFFZEJBWFFnRlJzaUpUWUNYQ0FOSURBZ01YSkJBRWRCQVhRaUx6WUNqQUVnRFNBeElEUnlRUUJIUVFGMEloVTJBb1FCSUEwZ015QTBja0VBUjBFQmRDSXhOZ0o4SUEwZ055QTFRZi8vQTNGeVFRQkhRUUYwSWpRMkFrd0xJQklOQUNBSERRQWdEQTBBSUJ3TkFDQVREUUFnRmcwQUlCa05BQ0FlRFFBZ0pBMEFJQW9OQUNBdERRQWdHdzBBSUNrTkFDQUdEUUFnRHcwQUlEUU5BQ0FsRFFBZ0NRMEFJQjBOQUNBeERRQWdGUTBBSUM4TkFDQWhEUUFnS0EwQUlCQkZEUUVMSUE0b0Fnd2hCeUFOSUE0b0FoQWlDU0FPS0FJVUlnWnFJZ3BCTXlBS1FUTklHeUlLUVFBZ0NrRUFTaHRCMEJkcUxRQUFJZ28yQWlBZ0RTQUdJQWRxSWd4Qk15QU1RVE5JR3lJTVFRQWdERUVBU2hzaUVrR1FGMm90QUFBaUREWUNIQ0FOSUJKQkEyeEJrQmhxSWhFMkFoZ2dQd1JBSUEwQ2Z5QUdJQWdvQWhRaUNFY0VRQ0FOSUFZZ0NHcEJBV3BCQVhZaUNDQUphaUlTUVRNZ0VrRXpTQnNpRWtFQUlCSkJBRW9iUWRBWGFpMEFBRFlDQ0NBTklBY2dDR29pQ0VFeklBaEJNMGdiSWdoQkFDQUlRUUJLR3lJSVFaQVhhaTBBQURZQ0JDQUlRUU5zUVpBWWFnd0JDeUFOSUFvMkFnZ2dEU0FNTmdJRUlCRUxOZ0lBQ3lCQUJFQUNRQ0FHSUJRb0FoUWlDRWNFUUNBTklBWWdDR3BCQVdwQkFYWWlCaUFKYWlJSVFUTWdDRUV6U0JzaUNFRUFJQWhCQUVvYlFkQVhhaTBBQURZQ0ZDQU5JQVlnQjJvaUJrRXpJQVpCTTBnYklnWkJBQ0FHUVFCS0d5SUdRWkFYYWkwQUFEWUNFQ0FHUVFOc1FaQVlhaUVSREFFTElBMGdDallDRkNBTklBdzJBaEFMSUEwZ0VUWUNEQXNnS3lnQ0FDQWZJRGxzSWg1QkNIUnFJQ0pCQkhScUlRbEJBQ0ViUVFNaEJ5QU5RVEJxSVE4RFFDQVBLQUlFSWdZRVFDQUpJQVlnRFNnQ0RDQU5LQUlRSUEwb0FoUWdOaEFUQ3lBUEtBSU1JZ1lFUUNBSlFRUnFJQVlnRFNnQ0dDQU5LQUljSUEwb0FpQWdOaEFUQ3lBUEtBSVVJZ1lFUUNBSlFRaHFJQVlnRFNnQ0dDQU5LQUljSUEwb0FpQWdOaEFUQ3lBUEtBSWNJZ1lFUUNBSlFReHFJQVlnRFNnQ0dDQU5LQUljSUEwb0FpQWdOaEFUQ3lBSElRd0NRQUpBQWtBZ0R5Z0NBQ0lHSUE4b0FnZ2lFVWNOQUNBR0lBOG9BaEJIRFFBZ0JpQVBLQUlZUncwQUlBWkZEUUlnRFNBYlFReHNhaUlIS0FJSUlSSWdCeWdDQkNFUUlBWkJCRWtOQVNBUVFRSjJRUUpxSVJsQkVDRVJJQWtoQndOQUFrQWdCeUFqYWlJR0xRQUFJaFFnQnkwQUFDSVRheUlJSUFoQkgzVWlDR29nQ0hNaUNDQVFUdzBBSUFjZ0xtb2lJUzBBQUNJY0lCUnJJZ29nQ2tFZmRTSUthaUFLY3lBU1R3MEFJQWNnTm1vaUpDMEFBQ0lWSUJOcklnb2dDa0VmZFNJS2FpQUtjeUFTVHcwQUFuOENRQ0FJSUJsSkJFQWdCeUFnYWlJSUxRQUFJUnNDZnlBU0lBY2dMR29pQ2kwQUFDSVdJQlJySWlnZ0tFRWZkU0lvYWlBb2Mwc0VRQ0FHSUJVZ0V5QVVhaUFjYWlJR1FRRjBhaUFXYWtFRWFrRURkam9BQUNBaElBWWdGbXBCQW1wQkFuWTZBQUFnQmlBV1FRTnNhaUFISUU5cUxRQUFRUUYwYWtFRWFrRURkZ3dCQ3lBR0lRb2dGQ0FWYWlBY1FRRjBha0VDYWtFQ2Rnc2hCaUFLSUFZNkFBQWdHeUFUYXlJR0lBWkJIM1VpQm1vZ0JuTWdFazhOQVNBSElCd2dGQ0FWYWlBVGFpSUdRUUYwYWlBYmFrRUVha0VEZGpvQUFDQWtJQVlnRzJwQkFtcEJBblk2QUFBZ0JpQWJRUU5zYWlBSElFeHFMUUFBUVFGMGFrRUVha0VEZGd3Q0N5QUdJQlFnRldvZ0hFRUJkR3BCQW1wQkFuWTZBQUFMSUFjaENDQVRJQnhxSUJWQkFYUnFRUUpxUVFKMkN5RUdJQWdnQmpvQUFBc2dCMEVCYWlFSElCRkJBV3NpRVEwQUN3d0NDd0ovSUFZRVFDQU5JQnRCREd4cUloWWhHVUVFSVJJZ0JpQVdLQUlBYWtFQmF5MEFBQ0lJUVFGcUlRcEJBQ0FJYXlFY0lBa2hCd05BQWtBZ0ZpZ0NCQ0FISUNOcUlpRXRBQUFpRkNBSExRQUFJaE5ySWdZZ0JrRWZkU0lHYWlBR2MwME5BQ0FaS0FJSUloRWdCeUF1YWlJa0xRQUFJaFVnRkdzaUJpQUdRUjkxSWdacUlBWnpUUTBBSUFjZ05tb2lLQzBBQUNJUUlCTnJJZ1lnQmtFZmRTSUdhaUFHY3lBUlR3MEFJQWdoQmlBUklBY2dMR290QUFBaUxTQVVheUlwSUNsQkgzVWlLV29nS1hOTEJFQWdKQ0FWSUJ3Z0NDQVRJQlJxUVFGcVFRRjJJQlZCQVhScklDMXFRUUYxSWdZZ0JpQUlTaHNnQmlBY1NCdHFPZ0FBSUJrb0FnZ2hFU0FLSVFZTElDRUNmeUFSSUFjZ0lHb3RBQUFpSVNBVGF5SWtJQ1JCSDNVaUpHb2dKSE5MQkVBZ0tDQVFJQndnQ0NBVElCUnFRUUZxUVFGMklCQkJBWFJySUNGcVFRRjFJaEVnQ0NBUlNCc2dFU0FjU0J0cU9nQUFJQVpCQVdvaEJndEJBQ0FHYXlJaEN5QUdJQlVnRUdzZ0V5QVVhMEVDZEdwQkJHcEJBM1VpRVNBR0lCRklHeUFSSUNGSUd5SUdJQlJxUWNBMWFpMEFBRG9BQUNBSElCTWdCbXRCd0RWcUxRQUFPZ0FBQ3lBSFFRRnFJUWNnRWtFQmF5SVNEUUFMSUE4b0FnZ2hFUXNnRVFzRVFFRUVJUklnQ1VFRWFpRUhJQTBnRzBFTWJHb2lGaUVaSUJFZ0ZpZ0NBR3BCQVdzdEFBQWlDRUVCYWlFS1FRQWdDR3NoSEFOQUFrQWdGaWdDQkNBSElDTnFJaUV0QUFBaUZDQUhMUUFBSWhOcklnWWdCa0VmZFNJR2FpQUdjMDBOQUNBWktBSUlJaEVnQnlBdWFpSWtMUUFBSWhVZ0ZHc2lCaUFHUVI5MUlnWnFJQVp6VFEwQUlBY2dObW9pS0MwQUFDSVFJQk5ySWdZZ0JrRWZkU0lHYWlBR2N5QVJUdzBBSUFnaEJpQVJJQWNnTEdvdEFBQWlMU0FVYXlJcElDbEJIM1VpS1dvZ0tYTkxCRUFnSkNBVklCd2dDQ0FUSUJScVFRRnFRUUYySUJWQkFYUnJJQzFxUVFGMUlnWWdCaUFJU2hzZ0JpQWNTQnRxT2dBQUlCa29BZ2doRVNBS0lRWUxJQ0VDZnlBUklBY2dJR290QUFBaUlTQVRheUlrSUNSQkgzVWlKR29nSkhOTEJFQWdLQ0FRSUJ3Z0NDQVRJQlJxUVFGcVFRRjJJQkJCQVhScklDRnFRUUYxSWhFZ0NDQVJTQnNnRVNBY1NCdHFPZ0FBSUFaQkFXb2hCZ3RCQUNBR2F5SWhDeUFHSUJVZ0VHc2dFeUFVYTBFQ2RHcEJCR3BCQTNVaUVTQUdJQkZJR3lBUklDRklHeUlHSUJScVFjQTFhaTBBQURvQUFDQUhJQk1nQm10QndEVnFMUUFBT2dBQUN5QUhRUUZxSVFjZ0VrRUJheUlTRFFBTEN5QVBLQUlRSWdZRVFDQUpRUWhxSVFjZ0RTQWJRUXhzYWlJV0lSbEJCQ0VTSUFZZ0ZpZ0NBR3BCQVdzdEFBQWlDRUVCYWlFS1FRQWdDR3NoSEFOQUFrQWdGaWdDQkNBSElDTnFJaUV0QUFBaUZDQUhMUUFBSWhOcklnWWdCa0VmZFNJR2FpQUdjMDBOQUNBWktBSUlJaEVnQnlBdWFpSWtMUUFBSWhVZ0ZHc2lCaUFHUVI5MUlnWnFJQVp6VFEwQUlBY2dObW9pS0MwQUFDSVFJQk5ySWdZZ0JrRWZkU0lHYWlBR2N5QVJUdzBBSUFnaEJpQVJJQWNnTEdvdEFBQWlMU0FVYXlJcElDbEJIM1VpS1dvZ0tYTkxCRUFnSkNBVklCd2dDQ0FUSUJScVFRRnFRUUYySUJWQkFYUnJJQzFxUVFGMUlnWWdCaUFJU2hzZ0JpQWNTQnRxT2dBQUlCa29BZ2doRVNBS0lRWUxJQ0VDZnlBUklBY2dJR290QUFBaUlTQVRheUlrSUNSQkgzVWlKR29nSkhOTEJFQWdLQ0FRSUJ3Z0NDQVRJQlJxUVFGcVFRRjJJQkJCQVhScklDRnFRUUYxSWhFZ0NDQVJTQnNnRVNBY1NCdHFPZ0FBSUFaQkFXb2hCZ3RCQUNBR2F5SWhDeUFHSUJVZ0VHc2dFeUFVYTBFQ2RHcEJCR3BCQTNVaUVTQUdJQkZJR3lBUklDRklHeUlHSUJScVFjQTFhaTBBQURvQUFDQUhJQk1nQm10QndEVnFMUUFBT2dBQUN5QUhRUUZxSVFjZ0VrRUJheUlTRFFBTEN5QVBLQUlZSWdaRkRRRWdDVUVNYWlFSElBMGdHMEVNYkdvaUVDRVdRUVFoRWlBR0lCQW9BZ0JxUVFGckxRQUFJZ2hCQVdvaENrRUFJQWhySVJ3RFFBSkFJQkFvQWdRZ0J5QWphaUlaTFFBQUloUWdCeTBBQUNJVGF5SUdJQVpCSDNVaUJtb2dCbk5ORFFBZ0ZpZ0NDQ0lSSUFjZ0xtb2lJUzBBQUNJVklCUnJJZ1lnQmtFZmRTSUdhaUFHYzAwTkFDQUhJRFpxSWlRdEFBQWlHeUFUYXlJR0lBWkJIM1VpQm1vZ0JuTWdFVThOQUNBSUlRWWdFU0FISUN4cUxRQUFJaWdnRkdzaUxTQXRRUjkxSWkxcUlDMXpTd1JBSUNFZ0ZTQWNJQWdnRXlBVWFrRUJha0VCZGlBVlFRRjBheUFvYWtFQmRTSUdJQVlnQ0VvYklBWWdIRWdiYWpvQUFDQVdLQUlJSVJFZ0NpRUdDeUFaQW44Z0VTQUhJQ0JxTFFBQUloa2dFMnNpSVNBaFFSOTFJaUZxSUNGelN3UkFJQ1FnR3lBY0lBZ2dFeUFVYWtFQmFrRUJkaUFiUVFGMGF5QVpha0VCZFNJUklBZ2dFVWdiSUJFZ0hFZ2Jham9BQUNBR1FRRnFJUVlMUVFBZ0Jtc2lHUXNnQmlBVklCdHJJQk1nRkd0QkFuUnFRUVJxUVFOMUloRWdCaUFSU0JzZ0VTQVpTQnNpQmlBVWFrSEFOV290QUFBNkFBQWdCeUFUSUFaclFjQTFhaTBBQURvQUFBc2dCMEVCYWlFSElCSkJBV3NpRWcwQUN3d0JDeUFHSUFjb0FnQnFRUUZyTFFBQUlnWkJBV29oQ2tFQUlBWnJJUnhCRUNFUklBa2hCd05BQWtBZ0J5QWphaUlXTFFBQUloUWdCeTBBQUNJVGF5SUlJQWhCSDNVaUNHb2dDSE1nRUU4TkFDQUhJQzVxSWhrdEFBQWlGU0FVYXlJSUlBaEJIM1VpQ0dvZ0NITWdFazhOQUNBSElEWnFJaUV0QUFBaUd5QVRheUlJSUFoQkgzVWlDR29nQ0hNZ0VrOE5BQ0FHSVFnZ0VpQUhJQ3hxTFFBQUlpUWdGR3NpS0NBb1FSOTFJaWhxSUNoelN3UkFJQmtnRlNBY0lBWWdFeUFVYWtFQmFrRUJkaUFWUVFGMGF5QWtha0VCZFNJSUlBWWdDRWdiSUFnZ0hFZ2Jham9BQUNBS0lRZ0xJQllnRkFKL0lCSWdCeUFnYWkwQUFDSVdJQk5ySWhrZ0dVRWZkU0laYWlBWmMwc0VRQ0FoSUJzZ0hDQUdJQk1nRkdwQkFXcEJBWFlnRzBFQmRHc2dGbXBCQVhVaUZpQUdJQlpJR3lBV0lCeElHMm82QUFBZ0NFRUJhaUVJQzBFQUlBaHJJaFlMSUFnZ0ZTQWJheUFUSUJSclFRSjBha0VFYWtFRGRTSVZJQWdnRlVnYklCVWdGa2diSWdocVFjQTFhaTBBQURvQUFDQUhJQk1nQ0d0QndEVnFMUUFBT2dBQUN5QUhRUUZxSVFjZ0VVRUJheUlSRFFBTEN5QU1RUUZySVFjZ0QwRWdhaUVQSUFrZ1Myb2hDVUVDSVJzZ0RBMEFDeUFPS0FJTUlRWWdEU0FPS0FJUUlna2dEaWdDRkNJS0lBNG9BaGdpREdvaUIwRXpJQWRCTTBnYklnZEJBQ0FIUVFCS0cwRUNkRUhRUFdvb0FnQWlCMm9pQ0VFeklBaEJNMGdiSWdoQkFDQUlRUUJLRzBIUUYyb3RBQUFpRWpZQ0lDQU5JQVlnQjJvaUNFRXpJQWhCTTBnYklnaEJBQ0FJUVFCS0d5SUlRWkFYYWkwQUFDSVJOZ0ljSUEwZ0NFRURiRUdRR0dvaUNEWUNHQ0EvQkVBZ0RRSi9JQW9nRGlnQ3pBRW9BaFFpRDBjRVFDQU5JQWNnRENBUGFpSVBRVE1nRDBFelNCc2lEMEVBSUE5QkFFb2JRUUowUWRBOWFpZ0NBR3BCQVdwQkFYWWlEeUFKYWlJVVFUTWdGRUV6U0JzaUZFRUFJQlJCQUVvYlFkQVhhaTBBQURZQ0NDQU5JQVlnRDJvaUQwRXpJQTlCTTBnYklnOUJBQ0FQUVFCS0d5SVBRWkFYYWkwQUFEWUNCQ0FQUVFOc1FaQVlhZ3dCQ3lBTklCSTJBZ2dnRFNBUk5nSUVJQWdMTmdJQUN5QkFCRUFDUUNBS0lBNG9Bc2dCS0FJVUlnOUhCRUFnRFNBSElBd2dEMm9pQ0VFeklBaEJNMGdiSWdoQkFDQUlRUUJLRzBFQ2RFSFFQV29vQWdCcVFRRnFRUUYySWdjZ0NXb2lDRUV6SUFoQk0wZ2JJZ2hCQUNBSVFRQktHMEhRRjJvdEFBQTJBaFFnRFNBR0lBZHFJZ1pCTXlBR1FUTklHeUlHUVFBZ0JrRUFTaHNpQmtHUUYyb3RBQUEyQWhBZ0JrRURiRUdRR0dvaENBd0JDeUFOSUJJMkFoUWdEU0FSTmdJUUN5QU5JQWcyQWd3TElDc29BZ0FnVG1vZ0hrRUdkR29nSWtFRGRHb2lCeUJOYWlFU1FRRWhIRUVBSVFZZ0RVRXdhaUVSQTBBQ1FDQVJLQUlFSWdsRkRRQUNRQ0FOS0FJUUlnZ2dCMEVCYXlJVExRQUFJZ29nQnkwQUFDSU1heUlQSUE5QkgzVWlEMm9nRDNOTkRRQWdEU2dDRkNJVklBZEJBbXN0QUFBaUR5QUtheUlVSUJSQkgzVWlGR29nRkhOTkRRQWdGU0FITFFBQkloUWdER3NpR3lBYlFSOTFJaHRxSUJ0elRRMEFJQWNDZnlBSlFRTk5CRUFnRXlBSklBMG9BZ3hxUVFGckxRQUFJZ2hCZjNNaUV5QUlRUUZxSWhVZ0RDQUthMEVDZENBVWF5QVBha0VFYWtFRGRTSUlJQWdnRlVvYklBZ2dFMGdiSWdnZ0NtcEJ3RFZxTFFBQU9nQUFJQXdnQ0d0QndEVnFMUUFBREFFTElCTWdDaUFVYWlBUFFRRjBha0VDYWtFQ2Rqb0FBQ0FNSUJSQkFYUnFJQTlxUVFKcVFRSjJDem9BQUNBTktBSVFJUWdMQWtBZ0J5QWFhaUlLUVFGckloVXRBQUFpRENBS0xRQUFJZzlySWhRZ0ZFRWZkU0lVYWlBVWN5QUlUdzBBSUEwb0FoUWlHeUFLUVFKckxRQUFJaFFnREdzaUV5QVRRUjkxSWhOcUlCTnpUUTBBSUJzZ0NpMEFBU0lUSUE5ckloQWdFRUVmZFNJUWFpQVFjMDBOQUNBS0FuOGdDVUVEVFFSQUlCVWdDU0FOS0FJTWFrRUJheTBBQUNJSVFYOXpJZ2tnQ0VFQmFpSUtJQThnREd0QkFuUWdFMnNnRkdwQkJHcEJBM1VpQ0NBSUlBcEtHeUFJSUFsSUd5SUlJQXhxUWNBMWFpMEFBRG9BQUNBUElBaHJRY0ExYWkwQUFBd0JDeUFWSUF3Z0Uyb2dGRUVCZEdwQkFtcEJBblk2QUFBZ0R5QVRRUUYwYWlBVWFrRUNha0VDZGdzNkFBQWdEU2dDRUNFSUN5QVJLQUlFSVFrQ1FDQVNRUUZySWhNdEFBQWlDaUFTTFFBQUlneHJJZzhnRDBFZmRTSVBhaUFQY3lBSVR3MEFJQTBvQWhRaUZTQVNRUUpyTFFBQUlnOGdDbXNpRkNBVVFSOTFJaFJxSUJSelRRMEFJQlVnRWkwQUFTSVVJQXhySWhzZ0cwRWZkU0liYWlBYmMwME5BQ0FTQW44Z0NVRURUUVJBSUJNZ0NTQU5LQUlNYWtFQmF5MEFBQ0lJUVg5ekloTWdDRUVCYWlJVklBd2dDbXRCQW5RZ0ZHc2dEMnBCQkdwQkEzVWlDQ0FJSUJWS0d5QUlJQk5JR3lJSUlBcHFRY0ExYWkwQUFEb0FBQ0FNSUFoclFjQTFhaTBBQUF3QkN5QVRJQW9nRkdvZ0QwRUJkR3BCQW1wQkFuWTZBQUFnRENBVVFRRjBhaUFQYWtFQ2FrRUNkZ3M2QUFBZ0RTZ0NFQ0VJQ3lBSUlCSWdHbW9pQ2tFQmF5SVRMUUFBSWd3Z0NpMEFBQ0lQYXlJVUlCUkJIM1VpRkdvZ0ZITk5EUUFnRFNnQ0ZDSVZJQXBCQW1zdEFBQWlDQ0FNYXlJVUlCUkJIM1VpRkdvZ0ZITk5EUUFnRlNBS0xRQUJJaFFnRDJzaUd5QWJRUjkxSWh0cUlCdHpUUTBBSUFvQ2Z5QUpRUU5OQkVBZ0V5QUpJQTBvQWd4cVFRRnJMUUFBSWdsQmYzTWlDaUFKUVFGcUlna2dEeUFNYTBFQ2RDQVVheUFJYWtFRWFrRURkU0lJSUFnZ0NVb2JJQWdnQ2tnYklnZ2dER3BCd0RWcUxRQUFPZ0FBSUE4Z0NHdEJ3RFZxTFFBQURBRUxJQk1nRENBVWFpQUlRUUYwYWtFQ2FrRUNkam9BQUNBUElCUkJBWFJxSUFocVFRSnFRUUoyQ3pvQUFBc0NRQ0FSS0FJa0lncEZEUUFDUUNBTktBSVFJZ2dnQnlBMmFpSUpRUUZySWhVdEFBQWlEQ0FKTFFBQUlnOXJJaFFnRkVFZmRTSVVhaUFVYzAwTkFDQU5LQUlVSWhzZ0NVRUNheTBBQUNJVUlBeHJJaE1nRTBFZmRTSVRhaUFUYzAwTkFDQWJJQWt0QUFFaUV5QVBheUlRSUJCQkgzVWlFR29nRUhOTkRRQWdDUUovSUFwQkEwMEVRQ0FWSUFvZ0RTZ0NER3BCQVdzdEFBQWlDRUYvY3lJVklBaEJBV29pR3lBUElBeHJRUUowSUJOcklCUnFRUVJxUVFOMUlnZ2dDQ0FiU2hzZ0NDQVZTQnNpQ0NBTWFrSEFOV290QUFBNkFBQWdEeUFJYTBIQU5Xb3RBQUFNQVFzZ0ZTQU1JQk5xSUJSQkFYUnFRUUpxUVFKMk9nQUFJQThnRTBFQmRHb2dGR3BCQW1wQkFuWUxPZ0FBSUEwb0FoQWhDQXNDUUNBSklCcHFJZ2xCQVdzaUZTMEFBQ0lNSUFrdEFBQWlEMnNpRkNBVVFSOTFJaFJxSUJSeklBaFBEUUFnRFNnQ0ZDSWJJQWxCQW1zdEFBQWlGQ0FNYXlJVElCTkJIM1VpRTJvZ0UzTk5EUUFnR3lBSkxRQUJJaE1nRDJzaUVDQVFRUjkxSWhCcUlCQnpUUTBBSUFrQ2Z5QUtRUU5OQkVBZ0ZTQUtJQTBvQWd4cVFRRnJMUUFBSWdoQmYzTWlDU0FJUVFGcUlnb2dEeUFNYTBFQ2RDQVRheUFVYWtFRWFrRURkU0lJSUFnZ0Nrb2JJQWdnQ1VnYklnZ2dER3BCd0RWcUxRQUFPZ0FBSUE4Z0NHdEJ3RFZxTFFBQURBRUxJQlVnRENBVGFpQVVRUUYwYWtFQ2FrRUNkam9BQUNBUElCTkJBWFJxSUJScVFRSnFRUUoyQ3pvQUFDQU5LQUlRSVFnTElCRW9BaVFoQ2dKQUlCSWdObW9pQ1VFQmF5SVZMUUFBSWd3Z0NTMEFBQ0lQYXlJVUlCUkJIM1VpRkdvZ0ZITWdDRThOQUNBTktBSVVJaHNnQ1VFQ2F5MEFBQ0lVSUF4ckloTWdFMEVmZFNJVGFpQVRjMDBOQUNBYklBa3RBQUVpRXlBUGF5SVFJQkJCSDNVaUVHb2dFSE5ORFFBZ0NRSi9JQXBCQTAwRVFDQVZJQW9nRFNnQ0RHcEJBV3N0QUFBaUNFRi9jeUlWSUFoQkFXb2lHeUFQSUF4clFRSjBJQk5ySUJScVFRUnFRUU4xSWdnZ0NDQWJTaHNnQ0NBVlNCc2lDQ0FNYWtIQU5Xb3RBQUE2QUFBZ0R5QUlhMEhBTldvdEFBQU1BUXNnRlNBTUlCTnFJQlJCQVhScVFRSnFRUUoyT2dBQUlBOGdFMEVCZEdvZ0ZHcEJBbXBCQW5ZTE9nQUFJQTBvQWhBaENBc2dDQ0FKSUJwcUlnbEJBV3NpRXkwQUFDSU1JQWt0QUFBaUQyc2lGQ0FVUVI5MUloUnFJQlJ6VFEwQUlBMG9BaFFpRlNBSlFRSnJMUUFBSWdnZ0RHc2lGQ0FVUVI5MUloUnFJQlJ6VFEwQUlCVWdDUzBBQVNJVUlBOXJJaHNnRzBFZmRTSWJhaUFiYzAwTkFDQUpBbjhnQ2tFRFRRUkFJQk1nQ2lBTktBSU1ha0VCYXkwQUFDSUpRWDl6SWdvZ0NVRUJhaUlKSUE4Z0RHdEJBblFnRkdzZ0NHcEJCR3BCQTNVaUNDQUlJQWxLR3lBSUlBcElHeUlJSUF4cVFjQTFhaTBBQURvQUFDQVBJQWhyUWNBMWFpMEFBQXdCQ3lBVElBd2dGR29nQ0VFQmRHcEJBbXBCQW5ZNkFBQWdEeUFVUVFGMGFpQUlha0VDYWtFQ2RnczZBQUFMQWtBZ0VTZ0NGQ0lKUlEwQUlBZEJCR29oRXdKQUlBMG9BaHdpQ0NBSExRQURJZ29nQnkwQUJDSU1heUlQSUE5QkgzVWlEMm9nRDNOTkRRQWdEU2dDSUNJVklBY3RBQUlpRHlBS2F5SVVJQlJCSDNVaUZHb2dGSE5ORFFBZ0ZTQUhMUUFGSWhRZ0RHc2lHeUFiUVI5MUlodHFJQnR6VFEwQUlCTUNmeUFKUVFOTkJFQWdCeUFKSUEwb0FoaHFRUUZyTFFBQUlnaEJmM01pRlNBSVFRRnFJaHNnRENBS2EwRUNkQ0FVYXlBUGFrRUVha0VEZFNJSUlBZ2dHMG9iSUFnZ0ZVZ2JJZ2dnQ21wQndEVnFMUUFBT2dBRElBd2dDR3RCd0RWcUxRQUFEQUVMSUFjZ0NpQVVhaUFQUVFGMGFrRUNha0VDZGpvQUF5QU1JQlJCQVhScUlBOXFRUUpxUVFKMkN6b0FBQ0FOS0FJY0lRZ0xBa0FnRXlBYWFpSUtRUUZySWhVdEFBQWlEQ0FLTFFBQUlnOXJJaFFnRkVFZmRTSVVhaUFVY3lBSVR3MEFJQTBvQWlBaUd5QUtRUUpyTFFBQUloUWdER3NpRXlBVFFSOTFJaE5xSUJOelRRMEFJQnNnQ2kwQUFTSVRJQTlySWhBZ0VFRWZkU0lRYWlBUWMwME5BQ0FLQW44Z0NVRURUUVJBSUJVZ0NTQU5LQUlZYWtFQmF5MEFBQ0lJUVg5eklna2dDRUVCYWlJS0lBOGdER3RCQW5RZ0Uyc2dGR3BCQkdwQkEzVWlDQ0FJSUFwS0d5QUlJQWxJR3lJSUlBeHFRY0ExYWkwQUFEb0FBQ0FQSUFoclFjQTFhaTBBQUF3QkN5QVZJQXdnRTJvZ0ZFRUJkR3BCQW1wQkFuWTZBQUFnRHlBVFFRRjBhaUFVYWtFQ2FrRUNkZ3M2QUFBZ0RTZ0NIQ0VJQ3lBU1FRUnFJUk1nRVNnQ0ZDRUpBa0FnRWkwQUF5SUtJQkl0QUFRaURHc2lEeUFQUVI5MUlnOXFJQTl6SUFoUERRQWdEU2dDSUNJVklCSXRBQUlpRHlBS2F5SVVJQlJCSDNVaUZHb2dGSE5ORFFBZ0ZTQVNMUUFGSWhRZ0RHc2lHeUFiUVI5MUlodHFJQnR6VFEwQUlCTUNmeUFKUVFOTkJFQWdFaUFKSUEwb0FoaHFRUUZyTFFBQUlnaEJmM01pRlNBSVFRRnFJaHNnRENBS2EwRUNkQ0FVYXlBUGFrRUVha0VEZFNJSUlBZ2dHMG9iSUFnZ0ZVZ2JJZ2dnQ21wQndEVnFMUUFBT2dBRElBd2dDR3RCd0RWcUxRQUFEQUVMSUJJZ0NpQVVhaUFQUVFGMGFrRUNha0VDZGpvQUF5QU1JQlJCQVhScUlBOXFRUUpxUVFKMkN6b0FBQ0FOS0FJY0lRZ0xJQWdnRXlBYWFpSUtRUUZySWhNdEFBQWlEQ0FLTFFBQUlnOXJJaFFnRkVFZmRTSVVhaUFVYzAwTkFDQU5LQUlnSWhVZ0NrRUNheTBBQUNJSUlBeHJJaFFnRkVFZmRTSVVhaUFVYzAwTkFDQVZJQW90QUFFaUZDQVBheUliSUJ0QkgzVWlHMm9nRzNOTkRRQWdDZ0ovSUFsQkEwMEVRQ0FUSUFrZ0RTZ0NHR3BCQVdzdEFBQWlDVUYvY3lJS0lBbEJBV29pQ1NBUElBeHJRUUowSUJScklBaHFRUVJxUVFOMUlnZ2dDQ0FKU2hzZ0NDQUtTQnNpQ0NBTWFrSEFOV290QUFBNkFBQWdEeUFJYTBIQU5Xb3RBQUFNQVFzZ0V5QU1JQlJxSUFoQkFYUnFRUUpxUVFKMk9nQUFJQThnRkVFQmRHb2dDR3BCQW1wQkFuWUxPZ0FBQ3dKQUlCRW9BalFpQ2tVTkFDQUhJRFpxSWdsQkJHb2hGQUpBSUEwb0Fod2lDQ0FKTFFBRElnd2dDUzBBQkNJUGF5SVRJQk5CSDNVaUUyb2dFM05ORFFBZ0RTZ0NJQ0liSUJSQkFtc3RBQUFpRXlBTWF5SVZJQlZCSDNVaUZXb2dGWE5ORFFBZ0d5QUpMUUFGSWhVZ0Qyc2lFQ0FRUVI5MUloQnFJQkJ6VFEwQUlCUUNmeUFLUVFOTkJFQWdDU0FLSUEwb0FoaHFRUUZyTFFBQUlnaEJmM01pQ1NBSVFRRnFJaHNnRHlBTWEwRUNkQ0FWYXlBVGFrRUVha0VEZFNJSUlBZ2dHMG9iSUFnZ0NVZ2JJZ2dnREdwQndEVnFMUUFBT2dBRElBOGdDR3RCd0RWcUxRQUFEQUVMSUFrZ0RDQVZhaUFUUVFGMGFrRUNha0VDZGpvQUF5QVBJQlZCQVhScUlCTnFRUUpxUVFKMkN6b0FBQ0FOS0FJY0lRZ0xBa0FnRkNBYWFpSUpRUUZySWhVdEFBQWlEQ0FKTFFBQUlnOXJJaFFnRkVFZmRTSVVhaUFVY3lBSVR3MEFJQTBvQWlBaUd5QUpRUUpyTFFBQUloUWdER3NpRXlBVFFSOTFJaE5xSUJOelRRMEFJQnNnQ1MwQUFTSVRJQTlySWhBZ0VFRWZkU0lRYWlBUWMwME5BQ0FKQW44Z0NrRURUUVJBSUJVZ0NpQU5LQUlZYWtFQmF5MEFBQ0lJUVg5eklna2dDRUVCYWlJS0lBOGdER3RCQW5RZ0Uyc2dGR3BCQkdwQkEzVWlDQ0FJSUFwS0d5QUlJQWxJR3lJSUlBeHFRY0ExYWkwQUFEb0FBQ0FQSUFoclFjQTFhaTBBQUF3QkN5QVZJQXdnRTJvZ0ZFRUJkR3BCQW1wQkFuWTZBQUFnRHlBVFFRRjBhaUFVYWtFQ2FrRUNkZ3M2QUFBZ0RTZ0NIQ0VJQ3lBU0lEWnFJZ2xCQkdvaEZDQVJLQUkwSVFvQ1FDQUpMUUFESWd3Z0NTMEFCQ0lQYXlJVElCTkJIM1VpRTJvZ0UzTWdDRThOQUNBTktBSWdJaHNnRkVFQ2F5MEFBQ0lUSUF4ckloVWdGVUVmZFNJVmFpQVZjMDBOQUNBYklBa3RBQVVpRlNBUGF5SVFJQkJCSDNVaUVHb2dFSE5ORFFBZ0ZBSi9JQXBCQTAwRVFDQUpJQW9nRFNnQ0dHcEJBV3N0QUFBaUNFRi9jeUlKSUFoQkFXb2lHeUFQSUF4clFRSjBJQlZySUJOcVFRUnFRUU4xSWdnZ0NDQWJTaHNnQ0NBSlNCc2lDQ0FNYWtIQU5Xb3RBQUE2QUFNZ0R5QUlhMEhBTldvdEFBQU1BUXNnQ1NBTUlCVnFJQk5CQVhScVFRSnFRUUoyT2dBRElBOGdGVUVCZEdvZ0UycEJBbXBCQW5ZTE9nQUFJQTBvQWh3aENBc2dDQ0FVSUJwcUlnbEJBV3NpRXkwQUFDSU1JQWt0QUFBaUQyc2lGQ0FVUVI5MUloUnFJQlJ6VFEwQUlBMG9BaUFpRlNBSlFRSnJMUUFBSWdnZ0RHc2lGQ0FVUVI5MUloUnFJQlJ6VFEwQUlCVWdDUzBBQVNJVUlBOXJJaHNnRzBFZmRTSWJhaUFiYzAwTkFDQUpBbjhnQ2tFRFRRUkFJQk1nQ2lBTktBSVlha0VCYXkwQUFDSUpRWDl6SWdvZ0NVRUJhaUlKSUE4Z0RHdEJBblFnRkdzZ0NHcEJCR3BCQTNVaUNDQUlJQWxLR3lBSUlBcElHeUlJSUF4cVFjQTFhaTBBQURvQUFDQVBJQWhyUWNBMWFpMEFBQXdCQ3lBVElBd2dGR29nQ0VFQmRHcEJBbXBCQW5ZNkFBQWdEeUFVUVFGMGFpQUlha0VDYWtFQ2RnczZBQUFMQWtBQ1FDQVJLQUlBSWdnZ0VTZ0NDQ0lNUncwQUlBZ2dFU2dDRUVjTkFDQUlJQkVvQWhoSERRQWdDRVVOQVNBSElBZ2dEU0FHUVF4c2FpSUdJQm9RSHlBU0lCRW9BZ0FnQmlBYUVCOE1BUXNnQ0FSQUlBMGdCa0VNYkdvaUNTRUtJQWdnQ1NnQ0FHcEJBV3N0QUFBaUNFRi9jeUVNSUFoQkFXb2hEd0pBSUFrb0FnUWlDQ0FISUJkcUloVXRBQUFpRkNBSExRQUFJaE5ySWhzZ0cwRWZkU0liYWlBYmMwME5BQ0FLS0FJSUloc2dCeUFxYWkwQUFDSVFJQlJySWhZZ0ZrRWZkU0lXYWlBV2MwME5BQ0FiSUFjZ0dtb3RBQUFpRmlBVGF5SVpJQmxCSDNVaUdXb2dHWE5ORFFBZ0ZTQU1JQThnRXlBVWEwRUNkQ0FXYXlBUWFrRUVha0VEZFNJSUlBZ2dEMG9iSUFnZ0RFZ2JJZ2dnRkdwQndEVnFMUUFBT2dBQUlBY2dFeUFJYTBIQU5Xb3RBQUE2QUFBZ0NTZ0NCQ0VJQ3dKQUlBZEJBV29pRkNBWGFpSWJMUUFBSWhNZ0J5MEFBU0lWYXlJUUlCQkJIM1VpRUdvZ0VITWdDRThOQUNBS0tBSUlJaEFnRkNBcWFpMEFBQ0lXSUJOckloa2dHVUVmZFNJWmFpQVpjMDBOQUNBUUlCUWdHbW90QUFBaUdTQVZheUllSUI1QkgzVWlIbW9nSG5OTkRRQWdHeUFNSUE4Z0ZTQVRhMEVDZENBWmF5QVdha0VFYWtFRGRTSUlJQWdnRDBvYklBZ2dERWdiSWdnZ0UycEJ3RFZxTFFBQU9nQUFJQlFnRlNBSWEwSEFOV290QUFBNkFBQWdDU2dDQkNFSUN5QVJLQUlBSUFrb0FnQnFRUUZyTFFBQUlnOUJmM01oRENBUFFRRnFJUThDUUNBU0lCZHFJaFV0QUFBaUZDQVNMUUFBSWhOckloc2dHMEVmZFNJYmFpQWJjeUFJVHcwQUlBb29BZ2dpR3lBU0lDcHFMUUFBSWhBZ0ZHc2lGaUFXUVI5MUloWnFJQlp6VFEwQUlCc2dFaUFhYWkwQUFDSVdJQk5ySWhrZ0dVRWZkU0laYWlBWmMwME5BQ0FWSUF3Z0R5QVRJQlJyUVFKMElCWnJJQkJxUVFScVFRTjFJZ2dnQ0NBUFNoc2dDQ0FNU0JzaUNDQVVha0hBTldvdEFBQTZBQUFnRWlBVElBaHJRY0ExYWkwQUFEb0FBQ0FKS0FJRUlRZ0xBa0FnQ0NBU1FRRnFJZ2tnRjJvaUZTMEFBQ0lVSUJJdEFBRWlFMnNpR3lBYlFSOTFJaHRxSUJ0elRRMEFJQW9vQWdnaUNDQUpJQ3BxTFFBQUlnb2dGR3NpR3lBYlFSOTFJaHRxSUJ0elRRMEFJQWdnQ1NBYWFpMEFBQ0liSUJOckloQWdFRUVmZFNJUWFpQVFjMDBOQUNBVklCUWdEQ0FQSUJNZ0ZHdEJBblFnRzJzZ0NtcEJCR3BCQTNVaUNDQUlJQTlLR3lBSUlBeElHeUlJYWtIQU5Xb3RBQUE2QUFBZ0NTQVRJQWhyUWNBMWFpMEFBRG9BQUFzZ0VTZ0NDQ0VNQ3dKQUlBeEZEUUFnRFNBR1FReHNhaUlJSVFrZ0RDQUlLQUlBYWtFQmF5MEFBQ0lNUVg5eklRb2dERUVCYWlFUEFrQWdDQ2dDQkNJTUlBZEJBbW9pRkNBWGFpSWJMUUFBSWhNZ0J5MEFBaUlWYXlJUUlCQkJIM1VpRUdvZ0VITk5EUUFnQ1NnQ0NDSVFJQlFnS21vdEFBQWlGaUFUYXlJWklCbEJIM1VpR1dvZ0dYTk5EUUFnRUNBVUlCcHFMUUFBSWhrZ0ZXc2lIaUFlUVI5MUloNXFJQjV6VFEwQUlCc2dDaUFQSUJVZ0UydEJBblFnR1dzZ0ZtcEJCR3BCQTNVaURDQU1JQTlLR3lBS0lBeEtHeUlNSUJOcVFjQTFhaTBBQURvQUFDQVVJQlVnREd0QndEVnFMUUFBT2dBQUlBZ29BZ1FoREFzQ1FDQUhRUU5xSWhRZ0Yyb2lHeTBBQUNJVElBY3RBQU1pRldzaUVDQVFRUjkxSWhCcUlCQnpJQXhQRFFBZ0NTZ0NDQ0lRSUJRZ0ttb3RBQUFpRmlBVGF5SVpJQmxCSDNVaUdXb2dHWE5ORFFBZ0VDQVVJQnBxTFFBQUloa2dGV3NpSGlBZVFSOTFJaDVxSUI1elRRMEFJQnNnQ2lBUElCVWdFMnRCQW5RZ0dXc2dGbXBCQkdwQkEzVWlEQ0FNSUE5S0d5QUtJQXhLR3lJS0lCTnFRY0ExYWkwQUFEb0FBQ0FVSUJVZ0NtdEJ3RFZxTFFBQU9nQUFJQWdvQWdRaERBc2dFU2dDQ0NBSUtBSUFha0VCYXkwQUFDSVBRWDl6SVFvZ0QwRUJhaUVQQWtBZ0VrRUNhaUlVSUJkcUloc3RBQUFpRXlBU0xRQUNJaFZySWhBZ0VFRWZkU0lRYWlBUWN5QU1UdzBBSUFrb0FnZ2lFQ0FVSUNwcUxRQUFJaFlnRTJzaUdTQVpRUjkxSWhscUlCbHpUUTBBSUJBZ0ZDQWFhaTBBQUNJWklCVnJJaDRnSGtFZmRTSWVhaUFlYzAwTkFDQWJJQW9nRHlBVklCTnJRUUowSUJscklCWnFRUVJxUVFOMUlnd2dEQ0FQU2hzZ0NpQU1TaHNpRENBVGFrSEFOV290QUFBNkFBQWdGQ0FWSUF4clFjQTFhaTBBQURvQUFDQUlLQUlFSVF3TElBd2dFa0VEYWlJSUlCZHFJaFV0QUFBaUZDQVNMUUFESWhOckloc2dHMEVmZFNJYmFpQWJjMDBOQUNBSktBSUlJZ2tnQ0NBcWFpMEFBQ0lNSUJSckloc2dHMEVmZFNJYmFpQWJjMDBOQUNBSklBZ2dHbW90QUFBaUd5QVRheUlRSUJCQkgzVWlFR29nRUhOTkRRQWdGU0FLSUE4Z0V5QVVhMEVDZENBYmF5QU1ha0VFYWtFRGRTSUpJQWtnRDBvYklBa2dDa2diSWdrZ0ZHcEJ3RFZxTFFBQU9nQUFJQWdnRXlBSmEwSEFOV290QUFBNkFBQUxBa0FnRVNnQ0VDSUtSUTBBSUEwZ0JrRU1iR29pQ0NFSklBb2dDQ2dDQUdwQkFXc3RBQUFpREVGL2N5RUtJQXhCQVdvaER3SkFJQWdvQWdRaURDQUhRUVJxSWhRZ0Yyb2lHeTBBQUNJVElBY3RBQVFpRldzaUVDQVFRUjkxSWhCcUlCQnpUUTBBSUFrb0FnZ2lFQ0FVSUNwcUxRQUFJaFlnRTJzaUdTQVpRUjkxSWhscUlCbHpUUTBBSUJBZ0ZDQWFhaTBBQUNJWklCVnJJaDRnSGtFZmRTSWVhaUFlYzAwTkFDQWJJQW9nRHlBVklCTnJRUUowSUJscklCWnFRUVJxUVFOMUlnd2dEQ0FQU2hzZ0NpQU1TaHNpRENBVGFrSEFOV290QUFBNkFBQWdGQ0FWSUF4clFjQTFhaTBBQURvQUFDQUlLQUlFSVF3TEFrQWdCMEVGYWlJVUlCZHFJaHN0QUFBaUV5QUhMUUFGSWhWckloQWdFRUVmZFNJUWFpQVFjeUFNVHcwQUlBa29BZ2dpRUNBVUlDcHFMUUFBSWhZZ0Uyc2lHU0FaUVI5MUlobHFJQmx6VFEwQUlCQWdGQ0FhYWkwQUFDSVpJQlZySWg0Z0hrRWZkU0llYWlBZWMwME5BQ0FiSUFvZ0R5QVZJQk5yUVFKMElCbHJJQlpxUVFScVFRTjFJZ3dnRENBUFNoc2dDaUFNU2hzaUNpQVRha0hBTldvdEFBQTZBQUFnRkNBVklBcHJRY0ExYWkwQUFEb0FBQ0FJS0FJRUlRd0xJQkVvQWhBZ0NDZ0NBR3BCQVdzdEFBQWlEMEYvY3lFS0lBOUJBV29oRHdKQUlCSkJCR29pRkNBWGFpSWJMUUFBSWhNZ0VpMEFCQ0lWYXlJUUlCQkJIM1VpRUdvZ0VITWdERThOQUNBSktBSUlJaEFnRkNBcWFpMEFBQ0lXSUJOckloa2dHVUVmZFNJWmFpQVpjMDBOQUNBUUlCUWdHbW90QUFBaUdTQVZheUllSUI1QkgzVWlIbW9nSG5OTkRRQWdHeUFLSUE4Z0ZTQVRhMEVDZENBWmF5QVdha0VFYWtFRGRTSU1JQXdnRDBvYklBb2dERW9iSWd3Z0UycEJ3RFZxTFFBQU9nQUFJQlFnRlNBTWEwSEFOV290QUFBNkFBQWdDQ2dDQkNFTUN5QU1JQkpCQldvaUNDQVhhaUlWTFFBQUloUWdFaTBBQlNJVGF5SWJJQnRCSDNVaUcyb2dHM05ORFFBZ0NTZ0NDQ0lKSUFnZ0ttb3RBQUFpRENBVWF5SWJJQnRCSDNVaUcyb2dHM05ORFFBZ0NTQUlJQnBxTFFBQUloc2dFMnNpRUNBUVFSOTFJaEJxSUJCelRRMEFJQlVnQ2lBUElCTWdGR3RCQW5RZ0cyc2dER3BCQkdwQkEzVWlDU0FKSUE5S0d5QUpJQXBJR3lJSklCUnFRY0ExYWkwQUFEb0FBQ0FJSUJNZ0NXdEJ3RFZxTFFBQU9nQUFDeUFSS0FJWUlncEZEUUFnRFNBR1FReHNhaUlJSVFrZ0NpQUlLQUlBYWtFQmF5MEFBQ0lHUVg5eklRb2dCa0VCYWlFTUFrQWdDQ2dDQkNJR0lBZEJCbW9pRHlBWGFpSVZMUUFBSWhRZ0J5MEFCaUlUYXlJYklCdEJIM1VpRzJvZ0czTk5EUUFnQ1NnQ0NDSWJJQThnS21vdEFBQWlFQ0FVYXlJV0lCWkJIM1VpRm1vZ0ZuTk5EUUFnR3lBUElCcHFMUUFBSWhZZ0Uyc2lHU0FaUVI5MUlobHFJQmx6VFEwQUlCVWdDaUFNSUJNZ0ZHdEJBblFnRm1zZ0VHcEJCR3BCQTNVaUJpQUdJQXhLR3lBR0lBcElHeUlHSUJScVFjQTFhaTBBQURvQUFDQVBJQk1nQm10QndEVnFMUUFBT2dBQUlBZ29BZ1FoQmdzQ1FDQUhRUWRxSWc4Z0Yyb2lGUzBBQUNJVUlBY3RBQWNpRTJzaUd5QWJRUjkxSWh0cUlCdHpJQVpQRFFBZ0NTZ0NDQ0liSUE4Z0ttb3RBQUFpRUNBVWF5SVdJQlpCSDNVaUZtb2dGbk5ORFFBZ0d5QVBJQnBxTFFBQUloWWdFMnNpR1NBWlFSOTFJaGxxSUJselRRMEFJQlVnQ2lBTUlCTWdGR3RCQW5RZ0Ztc2dFR3BCQkdwQkEzVWlCaUFHSUF4S0d5QUdJQXBJR3lJR0lCUnFRY0ExYWkwQUFEb0FBQ0FQSUJNZ0JtdEJ3RFZxTFFBQU9nQUFJQWdvQWdRaEJnc2dFU2dDR0NBSUtBSUFha0VCYXkwQUFDSU1RWDl6SVFvZ0RFRUJhaUVNQWtBZ0VrRUdhaUlQSUJkcUloVXRBQUFpRkNBU0xRQUdJaE5ySWhzZ0cwRWZkU0liYWlBYmN5QUdUdzBBSUFrb0FnZ2lHeUFQSUNwcUxRQUFJaEFnRkdzaUZpQVdRUjkxSWhacUlCWnpUUTBBSUJzZ0R5QWFhaTBBQUNJV0lCTnJJaGtnR1VFZmRTSVphaUFaYzAwTkFDQVZJQW9nRENBVElCUnJRUUowSUJacklCQnFRUVJxUVFOMUlnWWdCaUFNU2hzZ0JpQUtTQnNpQmlBVWFrSEFOV290QUFBNkFBQWdEeUFUSUFaclFjQTFhaTBBQURvQUFDQUlLQUlFSVFZTElBWWdFa0VIYWlJSUlCZHFJaE10QUFBaUR5QVNMUUFISWhSckloVWdGVUVmZFNJVmFpQVZjMDBOQUNBSktBSUlJZ1lnQ0NBcWFpMEFBQ0lKSUE5ckloVWdGVUVmZFNJVmFpQVZjMDBOQUNBR0lBZ2dHbW90QUFBaUZTQVVheUliSUJ0QkgzVWlHMm9nRzNOTkRRQWdFeUFQSUFvZ0RDQVVJQTlyUVFKMElCVnJJQWxxUVFScVFRTjFJZ1lnQmlBTVNoc2dCaUFLU0JzaUJtcEJ3RFZxTFFBQU9nQUFJQWdnRkNBR2EwSEFOV290QUFBNkFBQUxJQklnSUdvaEVpQUhJQ0JxSVFjZ0VVRkFheUVSSUJ4QkFYRWhDRUVBSVJ4QkFpRUdJQWdOQUFzZ0t5Z0NDQ0VSQzBFQUlDSkJBV29pQmlBR0lCOUdJZ1liSVNJZ0RrSFlBV29oRGlBR0lEbHFJamtnRVVrTkFBc0xJQTFCc0FGcUpBQWdBRUlBTndLb0NRSkFJQUFvQXBnSklnbEZEUUFnQ1VFRGNTRUhJQUFvQXJ3SklRaEJBQ0VHSUFsQkFXdEJBMDhFUUNBSlFYeHhJUTBEUUNBSUlBWkIyQUZzYWlJSlFRQTJBc1FCSUFsQkFEWUNCQ0FJSUFaQkFYSkIyQUZzYWlJSlFRQTJBc1FCSUFsQkFEWUNCQ0FJSUFaQkFuSkIyQUZzYWlJSlFRQTJBc1FCSUFsQkFEWUNCQ0FJSUFaQkEzSkIyQUZzYWlJSlFRQTJBc1FCSUFsQkFEWUNCQ0FHUVFScUlRWWdEVUVFYXlJTkRRQUxDeUFIUlEwQUEwQWdDQ0FHUWRnQmJHb2lDVUVBTmdMRUFTQUpRUUEyQWdRZ0JrRUJhaUVHSUFkQkFXc2lCdzBBQ3dzZ0FDZ0NFQ0VJUVFBaEJrRUJJUkVDUUNBQUtBTDBERVVOQUFOQUFrQUNRQ0FBSUFaQkZHeHFRZmdNYWlnQ0FBNEdBd0FBQUFBQkFBc2dCa0VCYWlFR0RBRUxDMEVBSVJFTEFrQUNmd0pBQWtBQ1FBSkFBa0FnQ0NnQ0VBNENBQUVDQ3lBQUtBTFFDaUlQUVFWR0JFQWdBRUlBTndLRUNpQUFLQUxzQ2lFR1FRQWhDZ3dFQ3lBQUtBS0VDaUlLSUFBb0F1d0tJZ1pORFFNZ0NpQUdheUFJS0FJVUlnZEJBWFpKRFFNZ0FDZ0NpQW9nQjJvTUJBdEJBQ0VHQW45QkFDQUFLQUxRQ2lJUFFRVkdEUUFhSUFBb0FwQUtJZ2NnQUNnQ2pBb2dBQ2dDNUFwTkRRQWFJQWdvQWd3Z0Iyb0xJUm9DZnlBSUtBSWtJZzRFUUNBQUtBTGtDaUFhYWlFR0N5QUdJQUFvQXRRS0loTkZJQVpCQUVkeGF5SVVDd1JBSUJSQkFXc2lCaUFHSUE1dUlpY2dEbXhySVJnTFFRQWhCMEVBSVFvQ1FDQU9SUTBBSUE1QkEzRWhFaUFJS0FJb0lRWkJBQ0VKSUE1QkFXdEJBMDhFUUVFQUlRd2dEa0Y4Y1NJSklRNERRQ0FHSUF4QkFuUWlEVUVNY21vb0FnQWdCaUFOUVFoeWFpZ0NBQ0FHSUExQkJISnFLQUlBSUFZZ0RXb29BZ0FnQ21wcWFtb2hDaUFNUVFScUlRd2dEa0VFYXlJT0RRQUxDeUFTUlEwQUEwQWdCaUFKUVFKMGFpZ0NBQ0FLYWlFS0lBbEJBV29oQ1NBU1FRRnJJaElOQUFzTElCUUVRQ0FLSUNkc0lRY2dDQ2dDS0NFSlFRQWhCZ05BSUFrZ0JrRUNkR29vQWdBZ0Iyb2hCeUFHUVFGcUlnWWdHRTBOQUFzTElCTkZCRUFnQ0NnQ0hDQUhhaUVIQ3lBUlJRMEJJQWdvQWlBaEJpQUFLQUw0Q2lFSUlBQWdHallDa0FvZ0FDQUFLQUxrQ2pZQ2pBb2dBQ2dDOUFvZ0JpQUlhaUlHUVI5MUlBWnhJQWRxYWlFR0RBUUxRUUFoQ2tFQUlRWWdBQ2dDMEFvaUQwRUZSd1JBSUFBb0FwQUtJUW9nQUNnQzVBb2lCaUFBS0FLTUNra0VRQ0FJS0FJTUlBcHFJUW9MSUFZZ0NtcEJBWFFnQUNnQzFBcEZheUVHQ3lBUlJRMEFJQUFnQ2pZQ2tBb2dBQ0FBS0FMa0NqWUNqQW9NQXdzZ0FFSUFOd0tNQ2tFQUlRWU1BZ3NDUUNBR0lBcE5EUUFnQmlBS2F5QUlLQUlVSWdkQkFYWk5EUUFnQUNnQ2lBb2dCMnNNQVFzZ0FDZ0NpQW9MSVFnZ0FDZ0MxQXBGQkVBZ0JpQUlhaUFBS0FMd0NpSUdRUjkxSUFaeGFpRUdEQUVMSUFBZ0NEWUNpQW9nQUNnQzhBb2hCeUFSUlFSQVFRQWhCaUFBUVFBMkFvZ0tJQUJCQUNBSGF5QUhRUjkxY1RZQ2hBb01BUXNnQUNBR05nS0VDaUFHSUFocUlBZEJIM1VnQjNGcUlRWUxBa0FnQUNnQ3BBbEZEUUFnRDBFRlJpRUhJQUFvQXJnS0lRZ2dBQ2dDdEFraENTQUFLQUs0Q1NFS0lBQW9BdVFLSVF3Z0FDZ0MxQW9FUUNBNElGUWdDQ0FNSUFZZ0J5QUtJQWtRSEF3QkN5QTRRUUFnQ0NBTUlBWWdCeUFLSUFrUUhBc2dBRUlBTndLZ0NVRUJJUXBCQVNFTURBRUxRUUFoQ2tFRElRd0xJQXhCQlhGRkRRQUxJQW9FUUNBRUlBQW9BaEFpQVNnQ05FRUVkRFlDQUNBRklBRW9BamhCQkhRMkFnQWdBQ0FBS0FMWUNTSUJRUUZxTmdMWUNTQURJQUFvQXRBSklBRkJCSFJxS0FJQU5nSUFDeUFMUWZBQmFpUUFJQXdMVEFFQ2YwRUJJUUlnQUVFQVFjUWFFQU1pQUVHMENtcEJBVFlDQUNBQVFvQ0NnSUNBQkRjQ0JDQUFRY0FRRUFnaUF6WUNzQm9nQXdSL0lBRUVRQ0FBUVFFMkFzQUpDMEVBQlVFQkN3c0x4aklhQUVHR0NBdktCV1lnSmhBR0NHVVlaUmhERUVNUVF4QkRFRU1RUXhCREVFTVFJZ2dpQ0NJSUlnZ2lDQ0lJSWdnaUNDSUlJZ2dpQ0NJSUlnZ2lDQ0lJSWdnQUFBQUFBQUFBQUdwQVNqQXFLQW9nYVRocE9Fa29TU2dwSUNrZ0NSZ0pHR2d3YURCb01HZ3dTQ0JJSUVnZ1NDQW9HQ2dZS0Jnb0dBZ1FDQkFJRUFnUVp5aG5LR2NvWnlobktHY29aeWhuS0VjWVJ4aEhHRWNZUnhoSEdFY1lSeGh1WUU1WUxsQU9VRzVZVGxBdVNBNUlEVUFOUUUxSVRVZ3RRQzFBRFRnTk9HMVFiVkJOUUUxQUxUZ3RPQTB3RFRCclNHdElhMGhyU0d0SWEwaHJTR3RJU3poTE9FczRTemhMT0VzNFN6aExPQ3N3S3pBck1Dc3dLekFyTUNzd0t6QUxLQXNvQ3lnTEtBc29DeWdMS0Fzb0FBQUFBQzlvTDJnUWdGQ0FNSUFRZUhDQVVIZ3dlQkJ3Y0hoUWNEQndFR2h2Y0c5d1QyaFBhQzlnTDJBUFlBOWdiMmh2YUU5Z1QyQXZXQzlZRDFnUFdBQUFBQUFBQUFBQVpqaEdJQ1lnQmhCbU1FWVlKaGdHQ0dVb1pTZ2xFQ1VRWkNCa0lHUWdaQ0JrR0dRWVpCaGtHRU1RUXhCREVFTVFReEJERUVNUVF4QUFBQUFBQUFBQUFHbElTVGdwT0Frd0NDZ0lLRWd3U0RBb01DZ3dDQ0FJSUdkQVowQm5RR2RBUnloSEtFY29SeWduS0Njb0p5Z25LQWNZQnhnSEdBY1lBQUFBQUcxNGJYaHVnRTZBTG9BT2dDNTREbmhPZUM1d1RYQk5jQTF3RFhCdGNHMXdUV2hOYUMxb0xXZ05hQTFvYldodGFFMWdUV0F0WUMxZ0RXQU5ZQXhZREZnTVdBeFlURmhNV0V4WVRGZ3NXQ3hZTEZnc1dBeFFERkFNVUF4UWJHQnNZR3hnYkdCTVVFeFFURkJNVUN4UUxGQXNVQ3hRREVnTVNBeElERWhyV0d0WWExaHJXR3RZYTFocldHdFlTMGhMU0V0SVMwaExTRXRJUzBoTFNDdElLMGdyU0N0SUswZ3JTQ3RJSzBnTFFBdEFDMEFMUUF0QUMwQUxRQXRBYTFCclVHdFFhMUJyVUd0UWExQnJVRXRBUzBCTFFFdEFTMEJMUUV0QVMwQXJRQ3RBSzBBclFDdEFLMEFyUUN0QUN6Z0xPQXM0Q3pnTE9BczRDemdMT0FCQjRBMExyZ2tHR0VZNEpqZ0dFR1pJUmpBbU1BWUlKU2dsS0VVb1JTZ2xJQ1VnUlNCRklDVVlKUmhsUUdWQVJSaEZHQ1VRSlJCa09HUTRaRGhrT0dRd1pEQmtNR1F3WkNoa0tHUW9aQ2hrSUdRZ1pDQmtJR1FZWkJoa0dHUVlSQkJFRUVRUVJCQWtDQ1FJSkFna0NBUUFCQUFFQUFRQUFBQUtnR3FBU29BcWdBcDRhbmhLZUNwNENuQnFjRXB3S25BS2FDbG9LV2dKWUFsZ1NXaEphQ2xnS1dBSldBbFlhV2hwYUVsZ1NXQXBXQ2xZQ1ZBSlVHaGdhR0JvWUdoZ1NGaElXRWhZU0Znb1VDaFFLRkFvVUFoSUNFZ0lTQWhJYUZob1dHaFlhRmhJVUVoUVNGQklVQ2hJS0Vnb1NDaElDRUFJUUFoQUNFQUhPQWM0QnpnSE9BYzRCemdIT0FjNEJ6QUhNQWN3QnpBSE1BY3dCekFITUVkSVIwaEhTRWRJUjBoSFNFZElSMGdIS0Fjb0J5Z0hLQWNvQnlnSEtBY29aMUJuVUdkUVoxQm5VR2RRWjFCblVFZEFSMEJIUUVkQVIwQkhRRWRBUjBBblFDZEFKMEFuUUNkQUowQW5RQ2RBQnlBSElBY2dCeUFISUFjZ0J5QUhJQVlJSmdnQUFBWUFCaEFtRUVZUUFBQUdHQ1lZUmhobUdBWWdKaUJHSUdZZ0JpZ21LRVlvWmlnR01DWXdSakJtTUFZNEpqaEdPR1k0QmtBbVFFWkFaa0FHU0NaSVJraG1TQVpRSmxCR1VHWlFCbGdtV0VaWVpsZ0dZQ1pnUm1CbVlBWm9KbWhHYUdab0JuQW1jRVp3Wm5BR2VDWjRSbmhtZUFhQUpvQkdnR2FBQUFCREVBSUFBZ0FoQ0NFSUlRZ2hDR2NnWnlCSUlDZ2dSeGhIR0NjWUp4Z0dJQVlnQmlBR0lBWVlCaGdHR0FZWUJoQUdFQVlRQmhCbUdHWVlaaGhtR0NZUUpoQW1FQ1lRQmdnR0NBWUlCZ2dBQUdWVlJFUTBOQ01qSXlNVEV4TVRBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRDU2ZG5JeUxpNHA2ZW5wNWVYbDVlR2hvYUdob2FHaG5aMmRuWjJkbloyNXRiR3RxV2xsWldFaElTRWRIUjBkR1JrWkdSVVZGUlVRME5EUTBORFEwTXpNek16TXpNek15TWpJeU1qSXlNakV4TVRFeE1URXhNREF3TURBd01EQTlhMnhjV2xwWldWaElTRWhGUlVWRlJFUkVSRUJBUUVCSE56YzNOemMzTnpZMk5qWTJOalkyTXpNek16TXpNek15TWpJeU1qSXlNakV4TVRFeE1URXhQRnRhVUZsSlIwZERRMEpDU0RnNE9EWTJOalkxTlRVMU5EUTBOREV4TVRFN1dWcEtTRWhDUWtGQlFFQkhOemMzTmpZMk5qVTFOVFUwTkRRME16TXpNenBnWVZGWVNFaElTVGs1T1RrNU9UazNOemMzTnpjM056WTJOalkyTmpZMk5UVTFOVFUxTlRVME5EUTBORFEwTkRNek16TXpNek16TWpJeU1qSXlNakk1WUdGUlYwZEhSMGc0T0RnNE9EZzROalkyTmpZMk5qWTBORFEwTkRRME5ETXpNek16TXpNek1qSXlNakl5TWpJMUpTVWxKU1VsSlNVbEpTVWxKU1VsS0dCaVVsRkJRVUZITnpjM056YzNOelkyTmpZMk5qWTJNek16TXpNek16TTFKU1VsSlNVbEpTVWxKU1VsSlNVbEpDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNGZ1oxZFNRa0pDUlRVMU5UVTFOVFUySmlZbUppWW1KaVltSmlZbUppWW1KQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDTWpJeU1qSXlNakl5TWpJeU1qSXlNaFVGWkdRakl5TWpVbEpTVWxKU1VsSkNRa0pDUWtKQ1FqSXlNakl5TWpJeUJCUWpJek16VTFOQlFVRkJRVUZCUVFRVVEwTWlJaUlpTVRFeE1URXhNVEVERXpJeUlTRWhJUUlTSVNFUkFTSVNBUUV5SWhJQ1F6TWlJaElTQWdKVFF6TWpFaElDQWhNalF6TmpVd0lDQUVHZ0Z3c2tCQVFGQmdjSUNRb01EUThSRkJZWkhDQWtLQzB5T0Q5SFVGcGxjWCtRb3JiTDR2Ly9BRUhnRndza0FnSUNBd01EQXdRRUJBWUdCd2NJQ0FrSkNnb0xDd3dNRFEwT0RnOFBFQkFSRVJJU0FFSEZHQXVFQVFFQUFBRUFBQUVBQUFFQUFRRUFBUUVCQVFFQkFRRUJBUUVCQVFFQkFRSUJBUUlCQVFJQkFRSUJBZ01CQWdNQ0FnTUNBZ1FDQXdRQ0F3UURBd1VEQkFZREJBWUVCUWNFQlFnRUJna0ZCd29HQ0FzR0NBMEhDZzRJQ3hBSkRCSUtEUlFMRHhjTkVSa0FBQUFBQUFBQUFBVUFBQUQvQUFBQUFBQUFBUDhBQUFBQUFBQUEvd0JCMUJrTEZRVUFBQUFBQUFBQUJ3QUFBUDhBQUFBQUFBQUEvd0JCOUJrTEZRVUFBQUFFQUFBQUFBQUFBUDhBQUFBQUFBQUEvd0JCbEJvTEJRVUFBQUFFQUVHa0dndWxBUWNBQUFBRUFBQUFBZ0FBQUFRQUFBQUJBQUFBL3dBQUFBQUFBQUQvQUFBQUFBQUFBUDhBQUFBQUFBQUFCQUFBQUFFQUFBQUVBQUFBQXdBQUFQOEFBQUFBQUFBQS93QUFBQUFBQUFBRUFBQUFBUUFBQUFRQUFBQUVBQUFBL3dBQUFBQUFBQUQvQUFBQUFBQUFBQVFBQUFBQkFBQUFCQUFBQUFRQUFBQUVBQUFBQXdBQUFBUUFBQUFHQUFBQUFBQUFBQTBBQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBL3dCQjFCc0xGUTBBQUFBQUFBQUFEd0FBQVA4QUFBQUFBQUFBL3dCQjlCc0xGUTBBQUFBRUFBQUFDQUFBQVA4QUFBQUFBQUFBL3dCQmxCd0x0UXNOQUFBQUJBQUFBQWdBQUFBQUFBQUFEd0FBQUFRQUFBQUtBQUFBQkFBQUFBa0FBQUQvQUFBQUFBQUFBUDhBQUFBQUFBQUEvd0FBQUFBQUFBQUVBQUFBQ1FBQUFBUUFBQUFMQUFBQS93QUFBQUFBQUFEL0FBQUFBQUFBQUFRQUFBQUpBQUFBQkFBQUFBd0FBQUQvQUFBQUFBQUFBUDhBQUFBQUFBQUFCQUFBQUFrQUFBQUVBQUFBREFBQUFBUUFBQUFMQUFBQUJBQUFBQTRBQUFBQkFBQUFDZ0FBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUQvQUFBQUFBQUFBQUVBQUFBS0FBQUFCQUFBQUFBQUFBRC9BQUFBQUFBQUFQOEFBQUFBQUFBQUFRQUFBQW9BQUFBQkFBQUFDd0FBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUFCQUFBQUNnQUFBQUVBQUFBTEFBQUFCQUFBQUFBQUFBQUVBQUFBQVFBQUFBRUFBQUFPQUFBQS93QUFBQUFBQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBQVFBQUFBNEFBQUFFQUFBQUJBQUFBUDhBQUFBQUFBQUEvd0FBQUFBQUFBQUJBQUFBRGdBQUFBRUFBQUFQQUFBQS93QUFBQUFBQUFEL0FBQUFBQUFBQUFFQUFBQU9BQUFBQVFBQUFBOEFBQUFFQUFBQUJBQUFBQVFBQUFBRkFBQUFCQUFBQUFJQUFBRC9BQUFBQUFBQUFQOEFBQUFBQUFBQS93QUFBQUFBQUFBRUFBQUFBZ0FBQUFRQUFBQUlBQUFBL3dBQUFBQUFBQUQvQUFBQUFBQUFBQVFBQUFBQ0FBQUFCQUFBQUFNQUFBRC9BQUFBQUFBQUFQOEFBQUFBQUFBQUJBQUFBQUlBQUFBRUFBQUFBd0FBQUFRQUFBQUlBQUFBQkFBQUFBa0FBQUFFQUFBQUJnQUFBUDhBQUFBQUFBQUEvd0FBQUFBQUFBRC9BQUFBQUFBQUFBUUFBQUFHQUFBQUJBQUFBQXdBQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBQkFBQUFBWUFBQUFFQUFBQUJ3QUFBUDhBQUFBQUFBQUEvd0FBQUFBQUFBQUVBQUFBQmdBQUFBUUFBQUFIQUFBQUJBQUFBQXdBQUFBRUFBQUFEUUFBQUFFQUFBQU9BQUFBL3dBQUFBQUFBQUQvQUFBQUFBQUFBUDhBQUFBQUFBQUFBUUFBQUE0QUFBRC9BQUFBQkFBQUFQOEFBQUFBQUFBQS93QUFBQUFBQUFBQkFBQUFDd0FBQUFFQUFBQU9BQUFBL3dBQUFBQUFBQUQvQUFBQUFBQUFBQUVBQUFBTEFBQUFBUUFBQUE0QUFBQUVBQUFBQVFBQUFQOEFBQUFFQUFBQUFnQUFBQW9BQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUFDQUFBQUNnQUFBUDhBQUFBQUFBQUEvd0FBQUFBQUFBRC9BQUFBQUFBQUFBRUFBQUFQQUFBQUFnQUFBQW9BQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBQVFBQUFBOEFBQUFDQUFBQUNnQUFBQVFBQUFBRkFBQUEvd0FBQUFBQUFBQUVBQUFBQmdBQUFQOEFBQUFBQUFBQS93QUFBQUFBQUFEL0FBQUFBQUFBQUFRQUFBQUdBQUFBL3dBQUFBd0FBQUQvQUFBQUFBQUFBUDhBQUFBQUFBQUFCQUFBQUFNQUFBQUVBQUFBQmdBQUFQOEFBQUFBQUFBQS93QUFBQUFBQUFBRUFBQUFBd0FBQUFRQUFBQUdBQUFBQkFBQUFBa0FBQUQvQUFBQURBQUFBUDhBQUFBQ0FBQUEvd0FBQUFBQUFBRC9BQUFBQUFBQUFQOEFBQUFBQUFBQS93QUFBQUlBQUFEL0FBQUFDQUFBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUFFQUFBQUJ3QUFBUDhBQUFBQ0FBQUEvd0FBQUFBQUFBRC9BQUFBQUFBQUFBUUFBQUFIQUFBQS93QUFBQUlBQUFBRUFBQUFEUUFBQVA4QUFBQUlBQUFBQXdBQUFBOEFBQUQvQUFBQUFBQUFBUDhBQUFBQUFBQUEvd0FBQUFBQUFBQURBQUFBRHdBQUFBQUFBQUFGQUFBQS93QUFBQUFBQUFEL0FBQUFBQUFBQUFNQUFBQVBBQUFBQVFBQUFBb0FBQUQvQUFBQUFBQUFBUDhBQUFBQUFBQUFBd0FBQUE4QUFBQUJBQUFBQ2dBQUFBQUFBQUFGQUFBQUJBQUFBQUFBQUFBQkFBQUFDd0FBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUQvQUFBQUFBQUFBQUVBQUFBTEFBQUFCQUFBQUFFQUFBRC9BQUFBQUFBQUFQOEFBQUFBQUFBQUFRQUFBQXNBQUFBQkFBQUFEZ0FBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUFCQUFBQUN3QUFBQUVBQUFBT0FBQUFCQUFBQUFFQUFBQUVBQUFBQkFBQUFBQUFBQUFIQUFBQS93QUFBQUFBQUFEL0FBQUFBQUFBQVA4QVFkUW5DeFVIQUFBQUFBQUFBQTBBQUFEL0FBQUFBQUFBQVA4QVFmUW5DeFVIQUFBQUJBQUFBQUlBQUFEL0FBQUFBQUFBQVA4QVFaUW9DOWtCQndBQUFBUUFBQUFDQUFBQUFBQUFBQTBBQUFBRUFBQUFDQUFBQUFRQUFBQURBQUFBL3dBQUFBQUFBQUQvQUFBQUFBQUFBUDhBQUFBQUFBQUFCQUFBQUFNQUFBQUVBQUFBQ1FBQUFQOEFBQUFBQUFBQS93QUFBQUFBQUFBRUFBQUFBd0FBQUFRQUFBQUdBQUFBL3dBQUFBQUFBQUQvQUFBQUFBQUFBQVFBQUFBREFBQUFCQUFBQUFZQUFBQUVBQUFBQ1FBQUFBUUFBQUFNQUFBQUFBQUFBQVFBQUFBQUFBQUFCQUFBQUFnQUFBQU1BQUFBQ0FBQUFBd0FBQUFBQUFBQUJBQUFBQUFBQUFBRUFBQUFDQUFBQUF3QUFBQUlBQUFBREFCQitDa0xCUVFBQUFBRUFFR0lLZ3R4QkFBQUFBUUFBQUFJQUFBQUNBQUFBQXdBQUFBTUFBQUFDQUFBQUFnQUFBQU1BQUFBREFBQUFBQUFBQUFCQUFBQUJBQUFBQVVBQUFBQ0FBQUFBd0FBQUFZQUFBQUhBQUFBQ0FBQUFBa0FBQUFNQUFBQURRQUFBQW9BQUFBTEFBQUFEZ0FBQUE4QUFBQUFBQUFBQVFBQUFBRUFRWVFyQ3hFQkFBQUFBUUFBQUFFQUFBQUNBQUFBQWdCQnBDc0xCUVVBQUFBRUFFRzBLd3VKQmdjQUFBQUVBQUFBQWdBQUFBUUFBQUFCQUFBQUJBQUFBQVFBQUFBRUFBQUFBd0FBQUFRQUFBQUdBQUFBQUFBQUFBMEFBQUFFQUFBQUNBQUFBQUFBQUFBUEFBQUFCQUFBQUFvQUFBQUVBQUFBQ1FBQUFBUUFBQUFNQUFBQUJBQUFBQXNBQUFBRUFBQUFEZ0FBQUFBQUFBQVJBQUFBQkFBQUFCQUFBQUFBQUFBQUV3QUFBQVFBQUFBU0FBQUFBQUFBQUJVQUFBQUVBQUFBRkFBQUFBQUFBQUFYQUFBQUJBQUFBQllBQUFBQkFBQUFDZ0FBQUFFQUFBQUxBQUFBQkFBQUFBQUFBQUFFQUFBQUFRQUFBQUVBQUFBT0FBQUFBUUFBQUE4QUFBQUVBQUFBQkFBQUFBUUFBQUFGQUFBQUJBQUFBQUlBQUFBRUFBQUFBd0FBQUFRQUFBQUlBQUFBQkFBQUFBa0FBQUFFQUFBQUJnQUFBQVFBQUFBSEFBQUFCQUFBQUF3QUFBQUVBQUFBRFFBQUFBRUFBQUFTQUFBQUFRQUFBQk1BQUFBRUFBQUFFQUFBQUFRQUFBQVJBQUFBQVFBQUFCWUFBQUFCQUFBQUZ3QUFBQVFBQUFBVUFBQUFCQUFBQUJVQUFBQUJBQUFBQ3dBQUFBRUFBQUFPQUFBQUJBQUFBQUVBQUFEL0FBQUFCQUFBQUFFQUFBQVBBQUFBQWdBQUFBb0FBQUFFQUFBQUJRQUFBUDhBQUFBQUFBQUFCQUFBQUFNQUFBQUVBQUFBQmdBQUFBUUFBQUFKQUFBQS93QUFBQXdBQUFBRUFBQUFCd0FBQVA4QUFBQUNBQUFBQkFBQUFBMEFBQUQvQUFBQUNBQUFBQUVBQUFBVEFBQUFBZ0FBQUJJQUFBQUVBQUFBRVFBQUFQOEFBQUFRQUFBQUFRQUFBQmNBQUFBQ0FBQUFGZ0FBQUFRQUFBQVZBQUFBL3dBQUFCUUFBQUFEQUFBQUR3QUFBQUVBQUFBS0FBQUFBQUFBQUFVQUFBQUVBQUFBQUFBQUFBRUFBQUFMQUFBQUFRQUFBQTRBQUFBRUFBQUFBUUFBQUFRQUFBQUVBQUFBQUFBQUFBY0FBQUFFQUFBQUFnQUFBQUFBQUFBTkFBQUFCQUFBQUFnQUFBQUVBQUFBQXdBQUFBUUFBQUFHQUFBQUJBQUFBQWtBQUFBRUFBQUFEQUFBQUFNQUFBQVRBQUFBQVFBQUFCSUFBQUFBQUFBQUVRQUFBQVFBQUFBUUFBQUFBd0FBQUJjQUFBQUJBQUFBRmdBQUFBQUFBQUFWQUFBQUJBQUFBQlFBQUFBQkFBQUFBUUFBQUFJQUFBQUNBQUFBQXdBQUFBTUFBQUFEQUFBQUF3QkJ3VFVMdkFZQkFnTUVCUVlIQ0FrS0N3d05EZzhRRVJJVEZCVVdGeGdaR2hzY0hSNGZJQ0VpSXlRbEppY29LU29yTEMwdUx6QXhNak0wTlRZM09EazZPenc5UGo5QVFVSkRSRVZHUjBoSlNrdE1UVTVQVUZGU1UxUlZWbGRZV1ZwYlhGMWVYMkJoWW1Oa1pXWm5hR2xxYTJ4dGJtOXdjWEp6ZEhWMmQzaDVlbnQ4Zlg1L2dJR0NnNFNGaG9lSWlZcUxqSTJPajVDUmtwT1VsWmFYbUptYW01eWRucCtnb2FLanBLV21wNmlwcXF1c3JhNnZzTEd5czdTMXRyZTR1YnE3dkwyK3Y4REJ3c1BFeGNiSHlNbkt5OHpOenMvUTBkTFQxTlhXMTlqWjJ0dmMzZDdmNE9IaTQrVGw1dWZvNmVycjdPM3U3L0R4OHZQMDlmYjMrUG42Ky96OS92Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy93QUFBQUFCQUFBQUFnQUFBQU1BQUFBRUFBQUFCUUFBQUFZQUFBQUhBQUFBQ0FBQUFBa0FBQUFLQUFBQUN3QUFBQXdBQUFBTkFBQUFEZ0FBQUE4QVFZWThDeTRCQVFFQkFRRUNBZ0lDQWdJREF3TURBd01FQkFRRUJBUUZCUVVGQlFVR0JnWUdCZ1lIQndjSEJ3Y0lDQWdJQUVIQVBBdEZDZ0FBQUEwQUFBQVFBQUFBQ3dBQUFBNEFBQUFTQUFBQURRQUFBQkFBQUFBVUFBQUFEZ0FBQUJJQUFBQVhBQUFBRUFBQUFCUUFBQUFaQUFBQUVnQUFBQmNBQUFBZEFFR1JQUXN6QVFJREJBVUFBUUlEQkFVQUFRSURCQVVBQVFJREJBVUFBUUlEQkFVQUFRSURCQVVBQVFJREJBVUFBUUlEQkFVQUFRSURBRUhVUFF1c0FnRUFBQUFDQUFBQUF3QUFBQVFBQUFBRkFBQUFCZ0FBQUFjQUFBQUlBQUFBQ1FBQUFBb0FBQUFMQUFBQURBQUFBQTBBQUFBT0FBQUFEd0FBQUJBQUFBQVJBQUFBRWdBQUFCTUFBQUFVQUFBQUZRQUFBQllBQUFBWEFBQUFHQUFBQUJrQUFBQWFBQUFBR3dBQUFCd0FBQUFkQUFBQUhRQUFBQjRBQUFBZkFBQUFJQUFBQUNBQUFBQWhBQUFBSWdBQUFDSUFBQUFqQUFBQUl3QUFBQ1FBQUFBa0FBQUFKUUFBQUNVQUFBQWxBQUFBSmdBQUFDWUFBQUFtQUFBQUp3QUFBQ2NBQUFBbkFBQUFKd0FBQUM4ZkR3QVhHeDBlQndzTkRpY3JMUzRRQXdVS0RCTVZHaHdqSlNvc0FRSUVDQkVTRkJnR0NSWVpJQ0VpSkNnbUtRQVFBUUlFQ0NBREJRb01EeThIQ3cwT0Jna2ZJeVVxTENFaUpDZ25LeTB1RVJJVUdCTVZHaHdYR3gwZUZoa21LUUJCZ2NBQUN3SWlVQT09IiwgVyhoKSB8fCAoaCA9IFUoaCkpOwogICAgZnVuY3Rpb24gdShJKSB7CiAgICAgIHRyeSB7CiAgICAgICAgaWYgKEkgPT0gaCAmJiBIKQogICAgICAgICAgcmV0dXJuIG5ldyBVaW50OEFycmF5KEgpOwogICAgICAgIHZhciBnID0geihJKTsKICAgICAgICBpZiAoZykKICAgICAgICAgIHJldHVybiBnOwogICAgICAgIGlmIChNKQogICAgICAgICAgcmV0dXJuIE0oSSk7CiAgICAgICAgdGhyb3cgImJvdGggYXN5bmMgYW5kIHN5bmMgZmV0Y2hpbmcgb2YgdGhlIHdhc20gZmFpbGVkIjsKICAgICAgfSBjYXRjaCAoUSkgewogICAgICAgIGMoUSk7CiAgICAgIH0KICAgIH0KICAgIGZ1bmN0aW9uIGlBKCkgewogICAgICByZXR1cm4gIUggJiYgcyAmJiB0eXBlb2YgZmV0Y2ggPT0gImZ1bmN0aW9uIiA/IGZldGNoKGgsIHsKICAgICAgICBjcmVkZW50aWFsczogInNhbWUtb3JpZ2luIgogICAgICB9KS50aGVuKGZ1bmN0aW9uKEkpIHsKICAgICAgICBpZiAoIUkub2spCiAgICAgICAgICB0aHJvdyAiZmFpbGVkIHRvIGxvYWQgd2FzbSBiaW5hcnkgZmlsZSBhdCAnIiArIGggKyAiJyI7CiAgICAgICAgcmV0dXJuIEkuYXJyYXlCdWZmZXIoKTsKICAgICAgfSkuY2F0Y2goZnVuY3Rpb24oKSB7CiAgICAgICAgcmV0dXJuIHUoaCk7CiAgICAgIH0pIDogUHJvbWlzZS5yZXNvbHZlKCkudGhlbihmdW5jdGlvbigpIHsKICAgICAgICByZXR1cm4gdShoKTsKICAgICAgfSk7CiAgICB9CiAgICBmdW5jdGlvbiBEQSgpIHsKICAgICAgdmFyIEkgPSB7CiAgICAgICAgYTogTkEKICAgICAgfTsKICAgICAgZnVuY3Rpb24gZyhpLCBvKSB7CiAgICAgICAgdmFyIE4gPSBpLmV4cG9ydHM7CiAgICAgICAgQS5hc20gPSBOLCBLID0gQS5hc20uYywgWChLLmJ1ZmZlciksIHAgPSBBLmFzbS5sLCBRQShBLmFzbS5kKSwgRUEoKTsKICAgICAgfQogICAgICBCQSgpOwogICAgICBmdW5jdGlvbiBRKGkpIHsKICAgICAgICBnKGkuaW5zdGFuY2UpOwogICAgICB9CiAgICAgIGZ1bmN0aW9uIEIoaSkgewogICAgICAgIHJldHVybiBpQSgpLnRoZW4oZnVuY3Rpb24obykgewogICAgICAgICAgcmV0dXJuIFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKG8sIEkpOwogICAgICAgIH0pLnRoZW4oZnVuY3Rpb24obykgewogICAgICAgICAgcmV0dXJuIG87CiAgICAgICAgfSkudGhlbihpLCBmdW5jdGlvbihvKSB7CiAgICAgICAgICBrKCJmYWlsZWQgdG8gYXN5bmNocm9ub3VzbHkgcHJlcGFyZSB3YXNtOiAiICsgbyksIGMobyk7CiAgICAgICAgfSk7CiAgICAgIH0KICAgICAgZnVuY3Rpb24geSgpIHsKICAgICAgICByZXR1cm4gIUggJiYgdHlwZW9mIFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlU3RyZWFtaW5nID09ICJmdW5jdGlvbiIgJiYgIVcoaCkgJiYgdHlwZW9mIGZldGNoID09ICJmdW5jdGlvbiIgPyBmZXRjaChoLCB7CiAgICAgICAgICBjcmVkZW50aWFsczogInNhbWUtb3JpZ2luIgogICAgICAgIH0pLnRoZW4oZnVuY3Rpb24oaSkgewogICAgICAgICAgdmFyIG8gPSBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZVN0cmVhbWluZyhpLCBJKTsKICAgICAgICAgIHJldHVybiBvLnRoZW4oUSwgZnVuY3Rpb24oTikgewogICAgICAgICAgICByZXR1cm4gaygid2FzbSBzdHJlYW1pbmcgY29tcGlsZSBmYWlsZWQ6ICIgKyBOKSwgaygiZmFsbGluZyBiYWNrIHRvIEFycmF5QnVmZmVyIGluc3RhbnRpYXRpb24iKSwgQihRKTsKICAgICAgICAgIH0pOwogICAgICAgIH0pIDogQihRKTsKICAgICAgfQogICAgICBpZiAoQS5pbnN0YW50aWF0ZVdhc20pCiAgICAgICAgdHJ5IHsKICAgICAgICAgIHZhciBSID0gQS5pbnN0YW50aWF0ZVdhc20oSSwgZyk7CiAgICAgICAgICByZXR1cm4gUjsKICAgICAgICB9IGNhdGNoIChpKSB7CiAgICAgICAgICByZXR1cm4gaygiTW9kdWxlLmluc3RhbnRpYXRlV2FzbSBjYWxsYmFjayBmYWlsZWQgd2l0aCBlcnJvcjogIiArIGkpLCAhMTsKICAgICAgICB9CiAgICAgIHJldHVybiB5KCkuY2F0Y2goUyksIHt9OwogICAgfQogICAgZnVuY3Rpb24gWihJKSB7CiAgICAgIGZvciAoOyBJLmxlbmd0aCA+IDA7ICkgewogICAgICAgIHZhciBnID0gSS5zaGlmdCgpOwogICAgICAgIGlmICh0eXBlb2YgZyA9PSAiZnVuY3Rpb24iKSB7CiAgICAgICAgICBnKEEpOwogICAgICAgICAgY29udGludWU7CiAgICAgICAgfQogICAgICAgIHZhciBRID0gZy5mdW5jOwogICAgICAgIHR5cGVvZiBRID09ICJudW1iZXIiID8gZy5hcmcgPT09IHZvaWQgMCA/IHAuZ2V0KFEpKCkgOiBwLmdldChRKShnLmFyZykgOiBRKGcuYXJnID09PSB2b2lkIDAgPyBudWxsIDogZy5hcmcpOwogICAgICB9CiAgICB9CiAgICBmdW5jdGlvbiBHQShJLCBnLCBRKSB7CiAgICAgIHIuY29weVdpdGhpbihJLCBnLCBnICsgUSk7CiAgICB9CiAgICBmdW5jdGlvbiBvQShJKSB7CiAgICAgIHRyeSB7CiAgICAgICAgcmV0dXJuIEsuZ3JvdyhJIC0gbS5ieXRlTGVuZ3RoICsgNjU1MzUgPj4+IDE2KSwgWChLLmJ1ZmZlciksIDE7CiAgICAgIH0gY2F0Y2ggewogICAgICB9CiAgICB9CiAgICBmdW5jdGlvbiBoQShJKSB7CiAgICAgIHZhciBnID0gci5sZW5ndGg7CiAgICAgIEkgPSBJID4+PiAwOwogICAgICB2YXIgUSA9IDIxNDc0ODM2NDg7CiAgICAgIGlmIChJID4gUSkKICAgICAgICByZXR1cm4gITE7CiAgICAgIGZvciAodmFyIEIgPSAxOyBCIDw9IDQ7IEIgKj0gMikgewogICAgICAgIHZhciB5ID0gZyAqICgxICsgMC4yIC8gQik7CiAgICAgICAgeSA9IE1hdGgubWluKHksIEkgKyAxMDA2NjMyOTYpOwogICAgICAgIHZhciBSID0gTWF0aC5taW4oUSwgXyhNYXRoLm1heChJLCB5KSwgNjU1MzYpKSwgaSA9IG9BKFIpOwogICAgICAgIGlmIChpKQogICAgICAgICAgcmV0dXJuICEwOwogICAgICB9CiAgICAgIHJldHVybiAhMTsKICAgIH0KICAgIHZhciB5QSA9IHR5cGVvZiBhdG9iID09ICJmdW5jdGlvbiIgPyBhdG9iIDogZnVuY3Rpb24oSSkgewogICAgICB2YXIgZyA9ICJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvPSIsIFEgPSAiIiwgQiwgeSwgUiwgaSwgbywgTiwgZiwgWSA9IDA7CiAgICAgIEkgPSBJLnJlcGxhY2UoL1teQS1aYS16MC05XCtcL1w9XS9nLCAiIik7CiAgICAgIGRvCiAgICAgICAgaSA9IGcuaW5kZXhPZihJLmNoYXJBdChZKyspKSwgbyA9IGcuaW5kZXhPZihJLmNoYXJBdChZKyspKSwgTiA9IGcuaW5kZXhPZihJLmNoYXJBdChZKyspKSwgZiA9IGcuaW5kZXhPZihJLmNoYXJBdChZKyspKSwgQiA9IGkgPDwgMiB8IG8gPj4gNCwgeSA9IChvICYgMTUpIDw8IDQgfCBOID4+IDIsIFIgPSAoTiAmIDMpIDw8IDYgfCBmLCBRID0gUSArIFN0cmluZy5mcm9tQ2hhckNvZGUoQiksIE4gIT09IDY0ICYmIChRID0gUSArIFN0cmluZy5mcm9tQ2hhckNvZGUoeSkpLCBmICE9PSA2NCAmJiAoUSA9IFEgKyBTdHJpbmcuZnJvbUNoYXJDb2RlKFIpKTsKICAgICAgd2hpbGUgKFkgPCBJLmxlbmd0aCk7CiAgICAgIHJldHVybiBROwogICAgfTsKICAgIGZ1bmN0aW9uIGFBKEkpIHsKICAgICAgdHJ5IHsKICAgICAgICBmb3IgKHZhciBnID0geUEoSSksIFEgPSBuZXcgVWludDhBcnJheShnLmxlbmd0aCksIEIgPSAwOyBCIDwgZy5sZW5ndGg7ICsrQikKICAgICAgICAgIFFbQl0gPSBnLmNoYXJDb2RlQXQoQik7CiAgICAgICAgcmV0dXJuIFE7CiAgICAgIH0gY2F0Y2ggewogICAgICAgIHRocm93IG5ldyBFcnJvcigiQ29udmVydGluZyBiYXNlNjQgc3RyaW5nIHRvIGJ5dGVzIGZhaWxlZC4iKTsKICAgICAgfQogICAgfQogICAgZnVuY3Rpb24geihJKSB7CiAgICAgIGlmIChXKEkpKQogICAgICAgIHJldHVybiBhQShJLnNsaWNlKFAubGVuZ3RoKSk7CiAgICB9CiAgICB2YXIgTkEgPSB7CiAgICAgIGI6IEdBLAogICAgICBhOiBoQQogICAgfTsKICAgIERBKCksIEEuX19fd2FzbV9jYWxsX2N0b3JzID0gZnVuY3Rpb24oKSB7CiAgICAgIHJldHVybiAoQS5fX193YXNtX2NhbGxfY3RvcnMgPSBBLmFzbS5kKS5hcHBseShudWxsLCBhcmd1bWVudHMpOwogICAgfSwgQS5faDI2NGJzZEluaXQgPSBmdW5jdGlvbigpIHsKICAgICAgcmV0dXJuIChBLl9oMjY0YnNkSW5pdCA9IEEuYXNtLmUpLmFwcGx5KG51bGwsIGFyZ3VtZW50cyk7CiAgICB9LCBBLl9tYWxsb2MgPSBmdW5jdGlvbigpIHsKICAgICAgcmV0dXJuIChBLl9tYWxsb2MgPSBBLmFzbS5mKS5hcHBseShudWxsLCBhcmd1bWVudHMpOwogICAgfSwgQS5fZnJlZSA9IGZ1bmN0aW9uKCkgewogICAgICByZXR1cm4gKEEuX2ZyZWUgPSBBLmFzbS5nKS5hcHBseShudWxsLCBhcmd1bWVudHMpOwogICAgfSwgQS5faDI2NGJzZERlY29kZSA9IGZ1bmN0aW9uKCkgewogICAgICByZXR1cm4gKEEuX2gyNjRic2REZWNvZGUgPSBBLmFzbS5oKS5hcHBseShudWxsLCBhcmd1bWVudHMpOwogICAgfSwgQS5faDI2NGJzZFNodXRkb3duID0gZnVuY3Rpb24oKSB7CiAgICAgIHJldHVybiAoQS5faDI2NGJzZFNodXRkb3duID0gQS5hc20uaSkuYXBwbHkobnVsbCwgYXJndW1lbnRzKTsKICAgIH0sIEEuX2gyNjRic2RBbGxvYyA9IGZ1bmN0aW9uKCkgewogICAgICByZXR1cm4gKEEuX2gyNjRic2RBbGxvYyA9IEEuYXNtLmopLmFwcGx5KG51bGwsIGFyZ3VtZW50cyk7CiAgICB9LCBBLl9oMjY0YnNkRnJlZSA9IGZ1bmN0aW9uKCkgewogICAgICByZXR1cm4gKEEuX2gyNjRic2RGcmVlID0gQS5hc20uaykuYXBwbHkobnVsbCwgYXJndW1lbnRzKTsKICAgIH0sIEEuZ2V0VmFsdWUgPSB2OwogICAgdmFyIGQ7CiAgICBGID0gZnVuY3Rpb24gSSgpIHsKICAgICAgZCB8fCB4KCksIGQgfHwgKEYgPSBJKTsKICAgIH07CiAgICBmdW5jdGlvbiB4KEkpIHsKICAgICAgaWYgKHcgPiAwIHx8ICgkKCksIHcgPiAwKSkKICAgICAgICByZXR1cm47CiAgICAgIGZ1bmN0aW9uIGcoKSB7CiAgICAgICAgZCB8fCAoZCA9ICEwLCBBLmNhbGxlZFJ1biA9ICEwLCAhZSAmJiAoQUEoKSwgQyhBKSwgQS5vblJ1bnRpbWVJbml0aWFsaXplZCAmJiBBLm9uUnVudGltZUluaXRpYWxpemVkKCksIElBKCkpKTsKICAgICAgfQogICAgICBBLnNldFN0YXR1cyA/IChBLnNldFN0YXR1cygiUnVubmluZy4uLiIpLCBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgICBBLnNldFN0YXR1cygiIik7CiAgICAgICAgfSwgMSksIGcoKTsKICAgICAgfSwgMSkpIDogZygpOwogICAgfQogICAgaWYgKEEucnVuID0geCwgQS5wcmVJbml0KQogICAgICBmb3IgKHR5cGVvZiBBLnByZUluaXQgPT0gImZ1bmN0aW9uIiAmJiAoQS5wcmVJbml0ID0gW0EucHJlSW5pdF0pOyBBLnByZUluaXQubGVuZ3RoID4gMDsgKQogICAgICAgIEEucHJlSW5pdC5wb3AoKSgpOwogICAgcmV0dXJuIHgoKSwgQS5yZWFkeTsKICB9Owp9KCksIHEgPSB7fTsKZnVuY3Rpb24gc0EoKSB7CiAgcmV0dXJuIFNBKCkudGhlbihmdW5jdGlvbihhKSB7CiAgICBzZWxmLmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCBmdW5jdGlvbihKKSB7CiAgICAgIHZhciBBID0gSi5kYXRhLCBDID0gQS5yZW5kZXJTdGF0ZUlkLCBTID0gQS50eXBlOwogICAgICBzd2l0Y2ggKFMpIHsKICAgICAgICBjYXNlICJkZWNvZGUiOiB7CiAgICAgICAgICB2YXIgRCA9IHFbQ107CiAgICAgICAgICBEIHx8IChEID0gbmV3IEwoYSwgZnVuY3Rpb24ocywgRywgVSkgewogICAgICAgICAgICBwb3N0TWVzc2FnZSh7CiAgICAgICAgICAgICAgdHlwZTogInBpY3R1cmVSZWFkeSIsCiAgICAgICAgICAgICAgd2lkdGg6IEcsCiAgICAgICAgICAgICAgaGVpZ2h0OiBVLAogICAgICAgICAgICAgIHJlbmRlclN0YXRlSWQ6IEMsCiAgICAgICAgICAgICAgZGF0YTogcy5idWZmZXIKICAgICAgICAgICAgfSwgW3MuYnVmZmVyXSk7CiAgICAgICAgICB9KSwgcVtDXSA9IEQpLCBELmRlY29kZShuZXcgVWludDhBcnJheShBLmRhdGEsIEEub2Zmc2V0LCBBLmxlbmd0aCkpOwogICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICAgIGNhc2UgInJlbGVhc2UiOiB7CiAgICAgICAgICB2YXIgRSA9IHFbQ107CiAgICAgICAgICBFICYmIChFLnJlbGVhc2UoKSwgZGVsZXRlIHFbQ10pOwogICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICB9CiAgICB9KSwgc2VsZi5wb3N0TWVzc2FnZSh7CiAgICAgIHR5cGU6ICJkZWNvZGVyUmVhZHkiCiAgICB9KTsKICB9KTsKfQpzQSgpOwo=",blob=typeof window<"u"&&window.Blob&&new Blob([atob(encodedJs)],{type:"text/javascript;charset=utf-8"});function WorkerWrapper(){let u;try{if(u=blob&&(window.URL||window.webkitURL).createObjectURL(blob),!u)throw"";return new Worker(u)}catch{return new Worker("data:application/javascript;base64,"+encodedJs,{type:"module"})}finally{u&&(window.URL||window.webkitURL).revokeObjectURL(u)}}class WasmDecoder{constructor(o={}){U(this,"worker");U(this,"_queueSize",0);U(this,"pendingTimestamps",[]);U(this,"pendingFrames",[]);U(this,"onFrameDecoded");U(this,"onError");U(this,"onQueueOverflow");U(this,"configured",!1);this.onFrameDecoded=o.onFrameDecoded,this.onError=o.onError,this.onQueueOverflow=o.onQueueOverflow}get queueSize(){return this._queueSize}get state(){return this.worker?this.configured?"configured":"configuring":"unconfigured"}async configure(o){return this.worker&&(this.worker.terminate(),this.worker=void 0),this.worker=new WorkerWrapper,this.configured=!1,this._queueSize=0,this.pendingTimestamps=[],new Promise((l,n)=>{this.worker.addEventListener("message",r=>{var e;const t=r.data;switch(t.type){case"pictureReady":this.handlePictureReady(t);break;case"decoderReady":console.log("[WasmDecoder] Worker ready"),this.configured=!0,l();break;case"error":const i=new Error(t.error||"WASM decoder error");(e=this.onError)==null||e.call(this,i),n(i);break}}),this.worker.addEventListener("error",r=>{var e;const t=new Error(`Worker error: ${r.message}`);(e=this.onError)==null||e.call(this,t),n(t)})})}decodeBinary(o){var e,i,a,s,d;if(!this.worker||!this.configured||!o.header||!o.payload)return;const l=new Uint8Array(o.payload),n=(i=(e=o.header.media)==null?void 0:e.codecData)!=null&&i.timebaseDen&&((s=(a=o.header.media)==null?void 0:a.codecData)!=null&&s.timebaseNum)?{num:o.header.media.codecData.timebaseNum,den:o.header.media.codecData.timebaseDen}:{num:1,den:1e6},r={num:1,den:1e6},t=rescaleTime(((d=o.header.media)==null?void 0:d.pts)??0,n,r);this.pendingFrames.push(l),this.pendingTimestamps.push(t),this.decodeNext()}decodeNext(){const o=this.pendingFrames.shift();o!=null&&this.decode(o)}decode(o){!this.worker||!this.configured||(this._queueSize++,this.worker.postMessage({type:"decode",data:o.buffer,offset:o.byteOffset,length:o.byteLength,renderStateId:1},[o.buffer]))}handlePictureReady(o){var E;this._queueSize--;const{width:l,height:n,data:r}=o,t=new Uint8Array(r),e=l,i=e*n,a=i>>2,s=t.subarray(0,i),d=t.subarray(i,i+a),c=t.subarray(i+a,i+2*a),F=n>>1,B=e>>1,S=this.pendingTimestamps.shift()??0,y={y:s,u:d,v:c,width:l,height:n,chromaStride:B,chromaHeight:F,timestamp:S,close:()=>{}};(E=this.onFrameDecoded)==null||E.call(this,y)}flush(){this._queueSize=0,this.pendingTimestamps=[],this.pendingFrames=[]}flushSync(){this.flush()}reset(){this.flush()}dispose(){this.worker&&(this.worker.terminate(),this.worker=void 0),this.configured=!1,this._queueSize=0,this.pendingTimestamps=[],this.pendingFrames=[]}}class FrameScheduler{constructor(o={}){U(this,"buffer",[]);U(this,"bufferDelayMs");U(this,"maxBufferSize");U(this,"startRealTimeUs",null);U(this,"startStreamTimeUs",null);U(this,"frameDurationUs",2e4);U(this,"lastFrameTimestamp",null);U(this,"bufferSizeHistory",[]);U(this,"driftCheckInterval");U(this,"driftThresholdMs");U(this,"dequeueCount",0);U(this,"latencyHistory",[]);U(this,"latencyHistorySize",60);U(this,"packetTimingHistory",[]);U(this,"packetTimingHistorySize",300);U(this,"lastPacketArrivalTime",null);U(this,"stats",{dropped:0,enqueued:0,dequeued:0,driftCorrections:0});U(this,"logger");U(this,"onFrameDropped");this.bufferDelayMs=o.bufferDelayMs??100;const l=Math.ceil(this.bufferDelayMs/1e3*60*2);this.maxBufferSize=o.maxBufferSize??Math.max(30,l),this.driftCheckInterval=o.driftCheckInterval??150,this.driftThresholdMs=o.driftCorrectionThresholdMs??30,this.logger=o.logger??(()=>{}),this.onFrameDropped=o.onFrameDropped}get bufferDelayUs(){return this.bufferDelayMs*1e3}get effectiveDriftThresholdMs(){return Math.min(this.driftThresholdMs,this.bufferDelayMs*.5)}enqueue(o,l,n,r=!1){var i;this.stats.enqueued++;const t=this.lastPacketArrivalTime!==null?n.arrivalTime-this.lastPacketArrivalTime:0;this.lastPacketArrivalTime=n.arrivalTime;const e=n.decodeTime-n.arrivalTime;for(this.packetTimingHistory.push({arrivalTime:n.arrivalTime,intervalMs:t,streamTimestampUs:l,isKeyframe:r,decodeLatencyMs:e,wasDropped:!1});this.packetTimingHistory.length>this.packetTimingHistorySize;)this.packetTimingHistory.shift();if(this.lastFrameTimestamp!==null){const a=l-this.lastFrameTimestamp;a>0&&a<1e5&&(this.frameDurationUs=a)}for(this.lastFrameTimestamp=l;this.buffer.length>=this.maxBufferSize;){const a=this.buffer.shift();a&&(this.stats.dropped++,(i=this.onFrameDropped)==null||i.call(this,a.frame,"overflow"),this.startRealTimeUs=null,this.startStreamTimeUs=null)}this.buffer.push({frame:o,timestamp:l,timing:n})}dequeue(o){const l=o*1e3,n=performance.now();if(this.buffer.length===0)return null;if(this.bufferDelayMs===0)return this.trackBufferSize(),this.dequeueLatest(n);const r=this.buffer.length*this.frameDurationUs/1e3,t=Math.min(this.bufferDelayMs*.5,this.frameDurationUs/1e3);if(r<t)return null;this.startRealTimeUs===null&&(this.startRealTimeUs=l,this.startStreamTimeUs=this.buffer[0].timestamp+this.bufferDelayUs,this.logger(`Playback started: buffer=${Math.round(r)}ms, delay=${this.bufferDelayMs}ms`)),this.trackBufferSize();const e=l-this.startRealTimeUs,i=this.startStreamTimeUs+e-this.bufferDelayUs;let a=this.findBestFrameIndex(i);if(a===-1)return null;a>1&&(this.dropFrames(a-1,"skip"),a=0),this.dequeueCount++,this.dequeueCount%this.driftCheckInterval===0&&this.correctDrift();const s=this.buffer.shift();return this.stats.dequeued++,this.recordLatency(s.timing,n),s.frame}dequeueLatest(o){const l=this.buffer.pop();return this.stats.dequeued++,this.recordLatency(l.timing,o),this.dropFrames(this.buffer.length,"skip"),l.frame}recordLatency(o,l){const n=o.decodeTime-o.arrivalTime,r=l-o.decodeTime,t=l-o.arrivalTime;this.latencyHistory.push({decode:n,buffer:r,total:t}),this.latencyHistory.length>this.latencyHistorySize&&this.latencyHistory.shift()}getLatencyStats(){if(this.latencyHistory.length===0)return null;const o=this.latencyHistory[this.latencyHistory.length-1],l=this.latencyHistory.reduce((t,e)=>t+e.decode,0)/this.latencyHistory.length,n=this.latencyHistory.reduce((t,e)=>t+e.buffer,0)/this.latencyHistory.length,r=this.latencyHistory.reduce((t,e)=>t+e.total,0)/this.latencyHistory.length;return{decodeLatency:Math.round(o.decode*10)/10,bufferLatency:Math.round(o.buffer*10)/10,totalLatency:Math.round(o.total*10)/10,avgDecodeLatency:Math.round(l*10)/10,avgBufferLatency:Math.round(n*10)/10,avgTotalLatency:Math.round(r*10)/10}}findBestFrameIndex(o){let l=-1;for(let n=0;n<this.buffer.length&&this.buffer[n].timestamp<=o;n++)l=n;return l}dropFrames(o,l){var n;for(let r=0;r<o&&this.buffer.length>0;r++){const t=this.buffer.shift();this.stats.dropped++,(n=this.onFrameDropped)==null||n.call(this,t.frame,l);const e=this.packetTimingHistory.find(i=>i.streamTimestampUs===t.timestamp);e&&(e.wasDropped=!0)}}trackBufferSize(){this.bufferSizeHistory.push(this.buffer.length),this.bufferSizeHistory.length>100&&this.bufferSizeHistory.shift()}correctDrift(){if(this.bufferSizeHistory.length<10||!this.startStreamTimeUs)return;const n=this.bufferSizeHistory.reduce((t,e)=>t+e,0)/this.bufferSizeHistory.length*this.frameDurationUs/1e3-this.bufferDelayMs,r=this.effectiveDriftThresholdMs;if(Math.abs(n)>r){const t=n*1e3;this.startStreamTimeUs+=t,this.stats.driftCorrections++,this.bufferSizeHistory=[],this.logger(`Drift correction: ${n.toFixed(1)}ms`)}}clear(){var o;for(const l of this.buffer)(o=this.onFrameDropped)==null||o.call(this,l.frame,"overflow");this.buffer=[],this.startRealTimeUs=null,this.startStreamTimeUs=null,this.bufferSizeHistory=[]}setBufferDelay(o){const l=this.bufferDelayMs>0;this.bufferDelayMs=o,(l&&o===0||!l&&o>0)&&(this.bufferSizeHistory=[],this.startRealTimeUs=null,this.startStreamTimeUs=null)}getBufferDelay(){return this.bufferDelayMs}getStatus(){const o=this.buffer.length*this.frameDurationUs/1e3;let l=o;return this.bufferSizeHistory.length>0&&(l=this.bufferSizeHistory.reduce((r,t)=>r+t,0)/this.bufferSizeHistory.length*this.frameDurationUs/1e3),{currentBufferSize:this.buffer.length,currentBufferMs:Math.round(o),avgBufferMs:Math.round(l),targetBufferMs:this.bufferDelayMs,streamFrameDurationUs:this.frameDurationUs,droppedFrames:this.stats.dropped,totalEnqueuedFrames:this.stats.enqueued,totalDequeuedFrames:this.stats.dequeued,driftCorrections:this.stats.driftCorrections,latency:this.getLatencyStats()}}logStatus(){const o=this.getStatus(),l=(1e6/this.frameDurationUs).toFixed(1);this.logger(`buffer=${o.currentBufferMs}ms/${o.targetBufferMs}ms (${o.currentBufferSize} frames), dropped=${o.droppedFrames}, fps=${l}`)}resetStats(){this.stats={dropped:0,enqueued:0,dequeued:0,driftCorrections:0},this.bufferSizeHistory=[]}getPacketTimingHistory(){return[...this.packetTimingHistory]}}var commonjsGlobal=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function getDefaultExportFromCjs(u){return u&&u.__esModule&&Object.prototype.hasOwnProperty.call(u,"default")?u.default:u}var indexMinimal={},minimal$1={},aspromise=asPromise;function asPromise(u,o){for(var l=new Array(arguments.length-1),n=0,r=2,t=!0;r<arguments.length;)l[n++]=arguments[r++];return new Promise(function(i,a){l[n]=function(d){if(t)if(t=!1,d)a(d);else{for(var c=new Array(arguments.length-1),F=0;F<c.length;)c[F++]=arguments[F];i.apply(null,c)}};try{u.apply(o||null,l)}catch(s){t&&(t=!1,a(s))}})}var base64$1={};(function(u){var o=u;o.length=function(i){var a=i.length;if(!a)return 0;for(var s=0;--a%4>1&&i.charAt(a)==="=";)++s;return Math.ceil(i.length*3)/4-s};for(var l=new Array(64),n=new Array(123),r=0;r<64;)n[l[r]=r<26?r+65:r<52?r+71:r<62?r-4:r-59|43]=r++;o.encode=function(i,a,s){for(var d=null,c=[],F=0,B=0,S;a<s;){var y=i[a++];switch(B){case 0:c[F++]=l[y>>2],S=(y&3)<<4,B=1;break;case 1:c[F++]=l[S|y>>4],S=(y&15)<<2,B=2;break;case 2:c[F++]=l[S|y>>6],c[F++]=l[y&63],B=0;break}F>8191&&((d||(d=[])).push(String.fromCharCode.apply(String,c)),F=0)}return B&&(c[F++]=l[S],c[F++]=61,B===1&&(c[F++]=61)),d?(F&&d.push(String.fromCharCode.apply(String,c.slice(0,F))),d.join("")):String.fromCharCode.apply(String,c.slice(0,F))};var t="invalid encoding";o.decode=function(i,a,s){for(var d=s,c=0,F,B=0;B<i.length;){var S=i.charCodeAt(B++);if(S===61&&c>1)break;if((S=n[S])===void 0)throw Error(t);switch(c){case 0:F=S,c=1;break;case 1:a[s++]=F<<2|(S&48)>>4,F=S,c=2;break;case 2:a[s++]=(F&15)<<4|(S&60)>>2,F=S,c=3;break;case 3:a[s++]=(F&3)<<6|S,c=0;break}}if(c===1)throw Error(t);return s-d},o.test=function(i){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(i)}})(base64$1);var eventemitter=EventEmitter;function EventEmitter(){this._listeners={}}EventEmitter.prototype.on=function(o,l,n){return(this._listeners[o]||(this._listeners[o]=[])).push({fn:l,ctx:n||this}),this};EventEmitter.prototype.off=function(o,l){if(o===void 0)this._listeners={};else if(l===void 0)this._listeners[o]=[];else for(var n=this._listeners[o],r=0;r<n.length;)n[r].fn===l?n.splice(r,1):++r;return this};EventEmitter.prototype.emit=function(o){var l=this._listeners[o];if(l){for(var n=[],r=1;r<arguments.length;)n.push(arguments[r++]);for(r=0;r<l.length;)l[r].fn.apply(l[r++].ctx,n)}return this};var float=factory(factory);function factory(u){return typeof Float32Array<"u"?function(){var o=new Float32Array([-0]),l=new Uint8Array(o.buffer),n=l[3]===128;function r(a,s,d){o[0]=a,s[d]=l[0],s[d+1]=l[1],s[d+2]=l[2],s[d+3]=l[3]}function t(a,s,d){o[0]=a,s[d]=l[3],s[d+1]=l[2],s[d+2]=l[1],s[d+3]=l[0]}u.writeFloatLE=n?r:t,u.writeFloatBE=n?t:r;function e(a,s){return l[0]=a[s],l[1]=a[s+1],l[2]=a[s+2],l[3]=a[s+3],o[0]}function i(a,s){return l[3]=a[s],l[2]=a[s+1],l[1]=a[s+2],l[0]=a[s+3],o[0]}u.readFloatLE=n?e:i,u.readFloatBE=n?i:e}():function(){function o(n,r,t,e){var i=r<0?1:0;if(i&&(r=-r),r===0)n(1/r>0?0:2147483648,t,e);else if(isNaN(r))n(2143289344,t,e);else if(r>34028234663852886e22)n((i<<31|2139095040)>>>0,t,e);else if(r<11754943508222875e-54)n((i<<31|Math.round(r/1401298464324817e-60))>>>0,t,e);else{var a=Math.floor(Math.log(r)/Math.LN2),s=Math.round(r*Math.pow(2,-a)*8388608)&8388607;n((i<<31|a+127<<23|s)>>>0,t,e)}}u.writeFloatLE=o.bind(null,writeUintLE),u.writeFloatBE=o.bind(null,writeUintBE);function l(n,r,t){var e=n(r,t),i=(e>>31)*2+1,a=e>>>23&255,s=e&8388607;return a===255?s?NaN:i*(1/0):a===0?i*1401298464324817e-60*s:i*Math.pow(2,a-150)*(s+8388608)}u.readFloatLE=l.bind(null,readUintLE),u.readFloatBE=l.bind(null,readUintBE)}(),typeof Float64Array<"u"?function(){var o=new Float64Array([-0]),l=new Uint8Array(o.buffer),n=l[7]===128;function r(a,s,d){o[0]=a,s[d]=l[0],s[d+1]=l[1],s[d+2]=l[2],s[d+3]=l[3],s[d+4]=l[4],s[d+5]=l[5],s[d+6]=l[6],s[d+7]=l[7]}function t(a,s,d){o[0]=a,s[d]=l[7],s[d+1]=l[6],s[d+2]=l[5],s[d+3]=l[4],s[d+4]=l[3],s[d+5]=l[2],s[d+6]=l[1],s[d+7]=l[0]}u.writeDoubleLE=n?r:t,u.writeDoubleBE=n?t:r;function e(a,s){return l[0]=a[s],l[1]=a[s+1],l[2]=a[s+2],l[3]=a[s+3],l[4]=a[s+4],l[5]=a[s+5],l[6]=a[s+6],l[7]=a[s+7],o[0]}function i(a,s){return l[7]=a[s],l[6]=a[s+1],l[5]=a[s+2],l[4]=a[s+3],l[3]=a[s+4],l[2]=a[s+5],l[1]=a[s+6],l[0]=a[s+7],o[0]}u.readDoubleLE=n?e:i,u.readDoubleBE=n?i:e}():function(){function o(n,r,t,e,i,a){var s=e<0?1:0;if(s&&(e=-e),e===0)n(0,i,a+r),n(1/e>0?0:2147483648,i,a+t);else if(isNaN(e))n(0,i,a+r),n(2146959360,i,a+t);else if(e>17976931348623157e292)n(0,i,a+r),n((s<<31|2146435072)>>>0,i,a+t);else{var d;if(e<22250738585072014e-324)d=e/5e-324,n(d>>>0,i,a+r),n((s<<31|d/4294967296)>>>0,i,a+t);else{var c=Math.floor(Math.log(e)/Math.LN2);c===1024&&(c=1023),d=e*Math.pow(2,-c),n(d*4503599627370496>>>0,i,a+r),n((s<<31|c+1023<<20|d*1048576&1048575)>>>0,i,a+t)}}}u.writeDoubleLE=o.bind(null,writeUintLE,0,4),u.writeDoubleBE=o.bind(null,writeUintBE,4,0);function l(n,r,t,e,i){var a=n(e,i+r),s=n(e,i+t),d=(s>>31)*2+1,c=s>>>20&2047,F=4294967296*(s&1048575)+a;return c===2047?F?NaN:d*(1/0):c===0?d*5e-324*F:d*Math.pow(2,c-1075)*(F+4503599627370496)}u.readDoubleLE=l.bind(null,readUintLE,0,4),u.readDoubleBE=l.bind(null,readUintBE,4,0)}(),u}function writeUintLE(u,o,l){o[l]=u&255,o[l+1]=u>>>8&255,o[l+2]=u>>>16&255,o[l+3]=u>>>24}function writeUintBE(u,o,l){o[l]=u>>>24,o[l+1]=u>>>16&255,o[l+2]=u>>>8&255,o[l+3]=u&255}function readUintLE(u,o){return(u[o]|u[o+1]<<8|u[o+2]<<16|u[o+3]<<24)>>>0}function readUintBE(u,o){return(u[o]<<24|u[o+1]<<16|u[o+2]<<8|u[o+3])>>>0}var inquire_1=inquire;function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(u){}return null}var utf8$2={};(function(u){var o=u;o.length=function(n){for(var r=0,t=0,e=0;e<n.length;++e)t=n.charCodeAt(e),t<128?r+=1:t<2048?r+=2:(t&64512)===55296&&(n.charCodeAt(e+1)&64512)===56320?(++e,r+=4):r+=3;return r},o.read=function(n,r,t){var e=t-r;if(e<1)return"";for(var i=null,a=[],s=0,d;r<t;)d=n[r++],d<128?a[s++]=d:d>191&&d<224?a[s++]=(d&31)<<6|n[r++]&63:d>239&&d<365?(d=((d&7)<<18|(n[r++]&63)<<12|(n[r++]&63)<<6|n[r++]&63)-65536,a[s++]=55296+(d>>10),a[s++]=56320+(d&1023)):a[s++]=(d&15)<<12|(n[r++]&63)<<6|n[r++]&63,s>8191&&((i||(i=[])).push(String.fromCharCode.apply(String,a)),s=0);return i?(s&&i.push(String.fromCharCode.apply(String,a.slice(0,s))),i.join("")):String.fromCharCode.apply(String,a.slice(0,s))},o.write=function(n,r,t){for(var e=t,i,a,s=0;s<n.length;++s)i=n.charCodeAt(s),i<128?r[t++]=i:i<2048?(r[t++]=i>>6|192,r[t++]=i&63|128):(i&64512)===55296&&((a=n.charCodeAt(s+1))&64512)===56320?(i=65536+((i&1023)<<10)+(a&1023),++s,r[t++]=i>>18|240,r[t++]=i>>12&63|128,r[t++]=i>>6&63|128,r[t++]=i&63|128):(r[t++]=i>>12|224,r[t++]=i>>6&63|128,r[t++]=i&63|128);return t-e}})(utf8$2);var pool_1=pool;function pool(u,o,l){var n=l||8192,r=n>>>1,t=null,e=n;return function(a){if(a<1||a>r)return u(a);e+a>n&&(t=u(n),e=0);var s=o.call(t,e,e+=a);return e&7&&(e=(e|7)+1),s}}var longbits,hasRequiredLongbits;function requireLongbits(){if(hasRequiredLongbits)return longbits;hasRequiredLongbits=1,longbits=o;var u=requireMinimal();function o(t,e){this.lo=t>>>0,this.hi=e>>>0}var l=o.zero=new o(0,0);l.toNumber=function(){return 0},l.zzEncode=l.zzDecode=function(){return this},l.length=function(){return 1};var n=o.zeroHash="\0\0\0\0\0\0\0\0";o.fromNumber=function(e){if(e===0)return l;var i=e<0;i&&(e=-e);var a=e>>>0,s=(e-a)/4294967296>>>0;return i&&(s=~s>>>0,a=~a>>>0,++a>4294967295&&(a=0,++s>4294967295&&(s=0))),new o(a,s)},o.from=function(e){if(typeof e=="number")return o.fromNumber(e);if(u.isString(e))if(u.Long)e=u.Long.fromString(e);else return o.fromNumber(parseInt(e,10));return e.low||e.high?new o(e.low>>>0,e.high>>>0):l},o.prototype.toNumber=function(e){if(!e&&this.hi>>>31){var i=~this.lo+1>>>0,a=~this.hi>>>0;return i||(a=a+1>>>0),-(i+a*4294967296)}return this.lo+this.hi*4294967296},o.prototype.toLong=function(e){return u.Long?new u.Long(this.lo|0,this.hi|0,!!e):{low:this.lo|0,high:this.hi|0,unsigned:!!e}};var r=String.prototype.charCodeAt;return o.fromHash=function(e){return e===n?l:new o((r.call(e,0)|r.call(e,1)<<8|r.call(e,2)<<16|r.call(e,3)<<24)>>>0,(r.call(e,4)|r.call(e,5)<<8|r.call(e,6)<<16|r.call(e,7)<<24)>>>0)},o.prototype.toHash=function(){return String.fromCharCode(this.lo&255,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,this.hi&255,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)},o.prototype.zzEncode=function(){var e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this},o.prototype.zzDecode=function(){var e=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this},o.prototype.length=function(){var e=this.lo,i=(this.lo>>>28|this.hi<<4)>>>0,a=this.hi>>>24;return a===0?i===0?e<16384?e<128?1:2:e<2097152?3:4:i<16384?i<128?5:6:i<2097152?7:8:a<128?9:10},longbits}var hasRequiredMinimal;function requireMinimal(){return hasRequiredMinimal||(hasRequiredMinimal=1,function(u){var o=u;o.asPromise=aspromise,o.base64=base64$1,o.EventEmitter=eventemitter,o.float=float,o.inquire=inquire_1,o.utf8=utf8$2,o.pool=pool_1,o.LongBits=requireLongbits(),o.isNode=!!(typeof commonjsGlobal<"u"&&commonjsGlobal&&commonjsGlobal.process&&commonjsGlobal.process.versions&&commonjsGlobal.process.versions.node),o.global=o.isNode&&commonjsGlobal||typeof window<"u"&&window||typeof self<"u"&&self||commonjsGlobal,o.emptyArray=Object.freeze?Object.freeze([]):[],o.emptyObject=Object.freeze?Object.freeze({}):{},o.isInteger=Number.isInteger||function(t){return typeof t=="number"&&isFinite(t)&&Math.floor(t)===t},o.isString=function(t){return typeof t=="string"||t instanceof String},o.isObject=function(t){return t&&typeof t=="object"},o.isset=o.isSet=function(t,e){var i=t[e];return i!=null&&t.hasOwnProperty(e)?typeof i!="object"||(Array.isArray(i)?i.length:Object.keys(i).length)>0:!1},o.Buffer=function(){try{var r=o.inquire("buffer").Buffer;return r.prototype.utf8Write?r:null}catch{return null}}(),o._Buffer_from=null,o._Buffer_allocUnsafe=null,o.newBuffer=function(t){return typeof t=="number"?o.Buffer?o._Buffer_allocUnsafe(t):new o.Array(t):o.Buffer?o._Buffer_from(t):typeof Uint8Array>"u"?t:new Uint8Array(t)},o.Array=typeof Uint8Array<"u"?Uint8Array:Array,o.Long=o.global.dcodeIO&&o.global.dcodeIO.Long||o.global.Long||o.inquire("long"),o.key2Re=/^true|false|0|1$/,o.key32Re=/^-?(?:0|[1-9][0-9]*)$/,o.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/,o.longToHash=function(t){return t?o.LongBits.from(t).toHash():o.LongBits.zeroHash},o.longFromHash=function(t,e){var i=o.LongBits.fromHash(t);return o.Long?o.Long.fromBits(i.lo,i.hi,e):i.toNumber(!!e)};function l(r,t,e){for(var i=Object.keys(t),a=0;a<i.length;++a)(r[i[a]]===void 0||!e)&&(r[i[a]]=t[i[a]]);return r}o.merge=l,o.lcFirst=function(t){return t.charAt(0).toLowerCase()+t.substring(1)};function n(r){function t(e,i){if(!(this instanceof t))return new t(e,i);Object.defineProperty(this,"message",{get:function(){return e}}),Error.captureStackTrace?Error.captureStackTrace(this,t):Object.defineProperty(this,"stack",{value:new Error().stack||""}),i&&l(this,i)}return t.prototype=Object.create(Error.prototype,{constructor:{value:t,writable:!0,enumerable:!1,configurable:!0},name:{get:function(){return r},set:void 0,enumerable:!1,configurable:!0},toString:{value:function(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),t}o.newError=n,o.ProtocolError=n("ProtocolError"),o.oneOfGetter=function(t){for(var e={},i=0;i<t.length;++i)e[t[i]]=1;return function(){for(var a=Object.keys(this),s=a.length-1;s>-1;--s)if(e[a[s]]===1&&this[a[s]]!==void 0&&this[a[s]]!==null)return a[s]}},o.oneOfSetter=function(t){return function(e){for(var i=0;i<t.length;++i)t[i]!==e&&delete this[t[i]]}},o.toJSONOptions={longs:String,enums:String,bytes:String,json:!0},o._configure=function(){var r=o.Buffer;if(!r){o._Buffer_from=o._Buffer_allocUnsafe=null;return}o._Buffer_from=r.from!==Uint8Array.from&&r.from||function(e,i){return new r(e,i)},o._Buffer_allocUnsafe=r.allocUnsafe||function(e){return new r(e)}}}(minimal$1)),minimal$1}var writer=Writer$1,util$4=requireMinimal(),BufferWriter$1,LongBits$1=util$4.LongBits,base64=util$4.base64,utf8$1=util$4.utf8;function Op(u,o,l){this.fn=u,this.len=o,this.next=void 0,this.val=l}function noop(){}function State(u){this.head=u.head,this.tail=u.tail,this.len=u.len,this.next=u.states}function Writer$1(){this.len=0,this.head=new Op(noop,0,0),this.tail=this.head,this.states=null}var create$1=function u(){return util$4.Buffer?function(){return(Writer$1.create=function(){return new BufferWriter$1})()}:function(){return new Writer$1}};Writer$1.create=create$1();Writer$1.alloc=function u(o){return new util$4.Array(o)};util$4.Array!==Array&&(Writer$1.alloc=util$4.pool(Writer$1.alloc,util$4.Array.prototype.subarray));Writer$1.prototype._push=function u(o,l,n){return this.tail=this.tail.next=new Op(o,l,n),this.len+=l,this};function writeByte(u,o,l){o[l]=u&255}function writeVarint32(u,o,l){for(;u>127;)o[l++]=u&127|128,u>>>=7;o[l]=u}function VarintOp(u,o){this.len=u,this.next=void 0,this.val=o}VarintOp.prototype=Object.create(Op.prototype);VarintOp.prototype.fn=writeVarint32;Writer$1.prototype.uint32=function u(o){return this.len+=(this.tail=this.tail.next=new VarintOp((o=o>>>0)<128?1:o<16384?2:o<2097152?3:o<268435456?4:5,o)).len,this};Writer$1.prototype.int32=function u(o){return o<0?this._push(writeVarint64,10,LongBits$1.fromNumber(o)):this.uint32(o)};Writer$1.prototype.sint32=function u(o){return this.uint32((o<<1^o>>31)>>>0)};function writeVarint64(u,o,l){for(;u.hi;)o[l++]=u.lo&127|128,u.lo=(u.lo>>>7|u.hi<<25)>>>0,u.hi>>>=7;for(;u.lo>127;)o[l++]=u.lo&127|128,u.lo=u.lo>>>7;o[l++]=u.lo}Writer$1.prototype.uint64=function u(o){var l=LongBits$1.from(o);return this._push(writeVarint64,l.length(),l)};Writer$1.prototype.int64=Writer$1.prototype.uint64;Writer$1.prototype.sint64=function u(o){var l=LongBits$1.from(o).zzEncode();return this._push(writeVarint64,l.length(),l)};Writer$1.prototype.bool=function u(o){return this._push(writeByte,1,o?1:0)};function writeFixed32(u,o,l){o[l]=u&255,o[l+1]=u>>>8&255,o[l+2]=u>>>16&255,o[l+3]=u>>>24}Writer$1.prototype.fixed32=function u(o){return this._push(writeFixed32,4,o>>>0)};Writer$1.prototype.sfixed32=Writer$1.prototype.fixed32;Writer$1.prototype.fixed64=function u(o){var l=LongBits$1.from(o);return this._push(writeFixed32,4,l.lo)._push(writeFixed32,4,l.hi)};Writer$1.prototype.sfixed64=Writer$1.prototype.fixed64;Writer$1.prototype.float=function u(o){return this._push(util$4.float.writeFloatLE,4,o)};Writer$1.prototype.double=function u(o){return this._push(util$4.float.writeDoubleLE,8,o)};var writeBytes=util$4.Array.prototype.set?function u(o,l,n){l.set(o,n)}:function u(o,l,n){for(var r=0;r<o.length;++r)l[n+r]=o[r]};Writer$1.prototype.bytes=function u(o){var l=o.length>>>0;if(!l)return this._push(writeByte,1,0);if(util$4.isString(o)){var n=Writer$1.alloc(l=base64.length(o));base64.decode(o,n,0),o=n}return this.uint32(l)._push(writeBytes,l,o)};Writer$1.prototype.string=function u(o){var l=utf8$1.length(o);return l?this.uint32(l)._push(utf8$1.write,l,o):this._push(writeByte,1,0)};Writer$1.prototype.fork=function u(){return this.states=new State(this),this.head=this.tail=new Op(noop,0,0),this.len=0,this};Writer$1.prototype.reset=function u(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new Op(noop,0,0),this.len=0),this};Writer$1.prototype.ldelim=function u(){var o=this.head,l=this.tail,n=this.len;return this.reset().uint32(n),n&&(this.tail.next=o.next,this.tail=l,this.len+=n),this};Writer$1.prototype.finish=function u(){for(var o=this.head.next,l=this.constructor.alloc(this.len),n=0;o;)o.fn(o.val,l,n),n+=o.len,o=o.next;return l};Writer$1._configure=function(u){BufferWriter$1=u,Writer$1.create=create$1(),BufferWriter$1._configure()};var writer_buffer=BufferWriter,Writer=writer;(BufferWriter.prototype=Object.create(Writer.prototype)).constructor=BufferWriter;var util$3=requireMinimal();function BufferWriter(){Writer.call(this)}BufferWriter._configure=function(){BufferWriter.alloc=util$3._Buffer_allocUnsafe,BufferWriter.writeBytesBuffer=util$3.Buffer&&util$3.Buffer.prototype instanceof Uint8Array&&util$3.Buffer.prototype.set.name==="set"?function(o,l,n){l.set(o,n)}:function(o,l,n){if(o.copy)o.copy(l,n,0,o.length);else for(var r=0;r<o.length;)l[n++]=o[r++]}};BufferWriter.prototype.bytes=function u(o){util$3.isString(o)&&(o=util$3._Buffer_from(o,"base64"));var l=o.length>>>0;return this.uint32(l),l&&this._push(BufferWriter.writeBytesBuffer,l,o),this};function writeStringBuffer(u,o,l){u.length<40?util$3.utf8.write(u,o,l):o.utf8Write?o.utf8Write(u,l):o.write(u,l)}BufferWriter.prototype.string=function u(o){var l=util$3.Buffer.byteLength(o);return this.uint32(l),l&&this._push(writeStringBuffer,l,o),this};BufferWriter._configure();var reader=Reader$1,util$2=requireMinimal(),BufferReader$1,LongBits=util$2.LongBits,utf8=util$2.utf8;function indexOutOfRange(u,o){return RangeError("index out of range: "+u.pos+" + "+(o||1)+" > "+u.len)}function Reader$1(u){this.buf=u,this.pos=0,this.len=u.length}var create_array=typeof Uint8Array<"u"?function u(o){if(o instanceof Uint8Array||Array.isArray(o))return new Reader$1(o);throw Error("illegal buffer")}:function u(o){if(Array.isArray(o))return new Reader$1(o);throw Error("illegal buffer")},create=function u(){return util$2.Buffer?function(l){return(Reader$1.create=function(r){return util$2.Buffer.isBuffer(r)?new BufferReader$1(r):create_array(r)})(l)}:create_array};Reader$1.create=create();Reader$1.prototype._slice=util$2.Array.prototype.subarray||util$2.Array.prototype.slice;Reader$1.prototype.uint32=function u(){var o=4294967295;return function(){if(o=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(o=(o|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(o=(o|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(o=(o|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(o=(o|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return o;if((this.pos+=5)>this.len)throw this.pos=this.len,indexOutOfRange(this,10);return o}}();Reader$1.prototype.int32=function u(){return this.uint32()|0};Reader$1.prototype.sint32=function u(){var o=this.uint32();return o>>>1^-(o&1)|0};function readLongVarint(){var u=new LongBits(0,0),o=0;if(this.len-this.pos>4){for(;o<4;++o)if(u.lo=(u.lo|(this.buf[this.pos]&127)<<o*7)>>>0,this.buf[this.pos++]<128)return u;if(u.lo=(u.lo|(this.buf[this.pos]&127)<<28)>>>0,u.hi=(u.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return u;o=0}else{for(;o<3;++o){if(this.pos>=this.len)throw indexOutOfRange(this);if(u.lo=(u.lo|(this.buf[this.pos]&127)<<o*7)>>>0,this.buf[this.pos++]<128)return u}return u.lo=(u.lo|(this.buf[this.pos++]&127)<<o*7)>>>0,u}if(this.len-this.pos>4){for(;o<5;++o)if(u.hi=(u.hi|(this.buf[this.pos]&127)<<o*7+3)>>>0,this.buf[this.pos++]<128)return u}else for(;o<5;++o){if(this.pos>=this.len)throw indexOutOfRange(this);if(u.hi=(u.hi|(this.buf[this.pos]&127)<<o*7+3)>>>0,this.buf[this.pos++]<128)return u}throw Error("invalid varint encoding")}Reader$1.prototype.bool=function u(){return this.uint32()!==0};function readFixed32_end(u,o){return(u[o-4]|u[o-3]<<8|u[o-2]<<16|u[o-1]<<24)>>>0}Reader$1.prototype.fixed32=function u(){if(this.pos+4>this.len)throw indexOutOfRange(this,4);return readFixed32_end(this.buf,this.pos+=4)};Reader$1.prototype.sfixed32=function u(){if(this.pos+4>this.len)throw indexOutOfRange(this,4);return readFixed32_end(this.buf,this.pos+=4)|0};function readFixed64(){if(this.pos+8>this.len)throw indexOutOfRange(this,8);return new LongBits(readFixed32_end(this.buf,this.pos+=4),readFixed32_end(this.buf,this.pos+=4))}Reader$1.prototype.float=function u(){if(this.pos+4>this.len)throw indexOutOfRange(this,4);var o=util$2.float.readFloatLE(this.buf,this.pos);return this.pos+=4,o};Reader$1.prototype.double=function u(){if(this.pos+8>this.len)throw indexOutOfRange(this,4);var o=util$2.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,o};Reader$1.prototype.bytes=function u(){var o=this.uint32(),l=this.pos,n=this.pos+o;if(n>this.len)throw indexOutOfRange(this,o);if(this.pos+=o,Array.isArray(this.buf))return this.buf.slice(l,n);if(l===n){var r=util$2.Buffer;return r?r.alloc(0):new this.buf.constructor(0)}return this._slice.call(this.buf,l,n)};Reader$1.prototype.string=function u(){var o=this.bytes();return utf8.read(o,0,o.length)};Reader$1.prototype.skip=function u(o){if(typeof o=="number"){if(this.pos+o>this.len)throw indexOutOfRange(this,o);this.pos+=o}else do if(this.pos>=this.len)throw indexOutOfRange(this);while(this.buf[this.pos++]&128);return this};Reader$1.prototype.skipType=function(u){switch(u){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(u=this.uint32()&7)!==4;)this.skipType(u);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+u+" at offset "+this.pos)}return this};Reader$1._configure=function(u){BufferReader$1=u,Reader$1.create=create(),BufferReader$1._configure();var o=util$2.Long?"toLong":"toNumber";util$2.merge(Reader$1.prototype,{int64:function(){return readLongVarint.call(this)[o](!1)},uint64:function(){return readLongVarint.call(this)[o](!0)},sint64:function(){return readLongVarint.call(this).zzDecode()[o](!1)},fixed64:function(){return readFixed64.call(this)[o](!0)},sfixed64:function(){return readFixed64.call(this)[o](!1)}})};var reader_buffer=BufferReader,Reader=reader;(BufferReader.prototype=Object.create(Reader.prototype)).constructor=BufferReader;var util$1=requireMinimal();function BufferReader(u){Reader.call(this,u)}BufferReader._configure=function(){util$1.Buffer&&(BufferReader.prototype._slice=util$1.Buffer.prototype.slice)};BufferReader.prototype.string=function u(){var o=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+o,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+o,this.len))};BufferReader._configure();var rpc={},service=Service,util=requireMinimal();(Service.prototype=Object.create(util.EventEmitter.prototype)).constructor=Service;function Service(u,o,l){if(typeof u!="function")throw TypeError("rpcImpl must be a function");util.EventEmitter.call(this),this.rpcImpl=u,this.requestDelimited=!!o,this.responseDelimited=!!l}Service.prototype.rpcCall=function u(o,l,n,r,t){if(!r)throw TypeError("request must be specified");var e=this;if(!t)return util.asPromise(u,e,o,l,n,r);if(!e.rpcImpl){setTimeout(function(){t(Error("already ended"))},0);return}try{return e.rpcImpl(o,l[e.requestDelimited?"encodeDelimited":"encode"](r).finish(),function(a,s){if(a)return e.emit("error",a,o),t(a);if(s===null){e.end(!0);return}if(!(s instanceof n))try{s=n[e.responseDelimited?"decodeDelimited":"decode"](s)}catch(d){return e.emit("error",d,o),t(d)}return e.emit("data",s,o),t(null,s)})}catch(i){e.emit("error",i,o),setTimeout(function(){t(i)},0);return}};Service.prototype.end=function u(o){return this.rpcImpl&&(o||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit("end").off()),this};(function(u){var o=u;o.Service=service})(rpc);var roots={};(function(u){var o=u;o.build="minimal",o.Writer=writer,o.BufferWriter=writer_buffer,o.Reader=reader,o.BufferReader=reader_buffer,o.util=requireMinimal(),o.rpc=rpc,o.roots=roots,o.configure=l;function l(){o.util._configure(),o.Writer._configure(o.BufferWriter),o.Reader._configure(o.BufferReader)}l()})(indexMinimal);var minimal=indexMinimal;const $protobuf=getDefaultExportFromCjs(minimal);var __create=Object.create,__defProp$1=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty,__commonJS=(u,o)=>function(){return o||(0,u[__getOwnPropNames(u)[0]])((o={exports:{}}).exports,o),o.exports},__copyProps=(u,o,l,n)=>{if(o&&typeof o=="object"||typeof o=="function")for(let r of __getOwnPropNames(o))!__hasOwnProp.call(u,r)&&r!==l&&__defProp$1(u,r,{get:()=>o[r],enumerable:!(n=__getOwnPropDesc(o,r))||n.enumerable});return u},__toESM=(u,o,l)=>(l=u!=null?__create(__getProtoOf(u)):{},__copyProps(o||!u||!u.__esModule?__defProp$1(l,"default",{value:u,enumerable:!0}):l,u)),require_events=__commonJS({"../../node_modules/.pnpm/events@3.3.0/node_modules/events/events.js"(u,o){var l=typeof Reflect=="object"?Reflect:null,n=l&&typeof l.apply=="function"?l.apply:function(p,f,h){return Function.prototype.apply.call(p,f,h)},r;l&&typeof l.ownKeys=="function"?r=l.ownKeys:Object.getOwnPropertySymbols?r=function(p){return Object.getOwnPropertyNames(p).concat(Object.getOwnPropertySymbols(p))}:r=function(p){return Object.getOwnPropertyNames(p)};function t(Q){console&&console.warn&&console.warn(Q)}var e=Number.isNaN||function(p){return p!==p};function i(){i.init.call(this)}o.exports=i,o.exports.once=T,i.EventEmitter=i,i.prototype._events=void 0,i.prototype._eventsCount=0,i.prototype._maxListeners=void 0;var a=10;function s(Q){if(typeof Q!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof Q)}Object.defineProperty(i,"defaultMaxListeners",{enumerable:!0,get:function(){return a},set:function(Q){if(typeof Q!="number"||Q<0||e(Q))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+Q+".");a=Q}}),i.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},i.prototype.setMaxListeners=function(p){if(typeof p!="number"||p<0||e(p))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+p+".");return this._maxListeners=p,this};function d(Q){return Q._maxListeners===void 0?i.defaultMaxListeners:Q._maxListeners}i.prototype.getMaxListeners=function(){return d(this)},i.prototype.emit=function(p){for(var f=[],h=1;h<arguments.length;h++)f.push(arguments[h]);var R=p==="error",J=this._events;if(J!==void 0)R=R&&J.error===void 0;else if(!R)return!1;if(R){var V;if(f.length>0&&(V=f[0]),V instanceof Error)throw V;var W=new Error("Unhandled error."+(V?" ("+V.message+")":""));throw W.context=V,W}var b=J[p];if(b===void 0)return!1;if(typeof b=="function")n(b,this,f);else for(var g=b.length,Z=E(b,g),h=0;h<g;++h)n(Z[h],this,f);return!0};function c(Q,p,f,h){var R,J,V;if(s(f),J=Q._events,J===void 0?(J=Q._events=Object.create(null),Q._eventsCount=0):(J.newListener!==void 0&&(Q.emit("newListener",p,f.listener?f.listener:f),J=Q._events),V=J[p]),V===void 0)V=J[p]=f,++Q._eventsCount;else if(typeof V=="function"?V=J[p]=h?[f,V]:[V,f]:h?V.unshift(f):V.push(f),R=d(Q),R>0&&V.length>R&&!V.warned){V.warned=!0;var W=new Error("Possible EventEmitter memory leak detected. "+V.length+" "+String(p)+" listeners added. Use emitter.setMaxListeners() to increase limit");W.name="MaxListenersExceededWarning",W.emitter=Q,W.type=p,W.count=V.length,t(W)}return Q}i.prototype.addListener=function(p,f){return c(this,p,f,!1)},i.prototype.on=i.prototype.addListener,i.prototype.prependListener=function(p,f){return c(this,p,f,!0)};function F(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function B(Q,p,f){var h={fired:!1,wrapFn:void 0,target:Q,type:p,listener:f},R=F.bind(h);return R.listener=f,h.wrapFn=R,R}i.prototype.once=function(p,f){return s(f),this.on(p,B(this,p,f)),this},i.prototype.prependOnceListener=function(p,f){return s(f),this.prependListener(p,B(this,p,f)),this},i.prototype.removeListener=function(p,f){var h,R,J,V,W;if(s(f),R=this._events,R===void 0)return this;if(h=R[p],h===void 0)return this;if(h===f||h.listener===f)--this._eventsCount===0?this._events=Object.create(null):(delete R[p],R.removeListener&&this.emit("removeListener",p,h.listener||f));else if(typeof h!="function"){for(J=-1,V=h.length-1;V>=0;V--)if(h[V]===f||h[V].listener===f){W=h[V].listener,J=V;break}if(J<0)return this;J===0?h.shift():v(h,J),h.length===1&&(R[p]=h[0]),R.removeListener!==void 0&&this.emit("removeListener",p,W||f)}return this},i.prototype.off=i.prototype.removeListener,i.prototype.removeAllListeners=function(p){var f,h,R;if(h=this._events,h===void 0)return this;if(h.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):h[p]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete h[p]),this;if(arguments.length===0){var J=Object.keys(h),V;for(R=0;R<J.length;++R)V=J[R],V!=="removeListener"&&this.removeAllListeners(V);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(f=h[p],typeof f=="function")this.removeListener(p,f);else if(f!==void 0)for(R=f.length-1;R>=0;R--)this.removeListener(p,f[R]);return this};function S(Q,p,f){var h=Q._events;if(h===void 0)return[];var R=h[p];return R===void 0?[]:typeof R=="function"?f?[R.listener||R]:[R]:f?N(R):E(R,R.length)}i.prototype.listeners=function(p){return S(this,p,!0)},i.prototype.rawListeners=function(p){return S(this,p,!1)},i.listenerCount=function(Q,p){return typeof Q.listenerCount=="function"?Q.listenerCount(p):y.call(Q,p)},i.prototype.listenerCount=y;function y(Q){var p=this._events;if(p!==void 0){var f=p[Q];if(typeof f=="function")return 1;if(f!==void 0)return f.length}return 0}i.prototype.eventNames=function(){return this._eventsCount>0?r(this._events):[]};function E(Q,p){for(var f=new Array(p),h=0;h<p;++h)f[h]=Q[h];return f}function v(Q,p){for(;p+1<Q.length;p++)Q[p]=Q[p+1];Q.pop()}function N(Q){for(var p=new Array(Q.length),f=0;f<p.length;++f)p[f]=Q[f].listener||Q[f];return p}function T(Q,p){return new Promise(function(f,h){function R(V){Q.removeListener(p,J),h(V)}function J(){typeof Q.removeListener=="function"&&Q.removeListener("error",R),f([].slice.call(arguments))}m(Q,p,J,{once:!0}),p!=="error"&&C(Q,R,{once:!0})})}function C(Q,p,f){typeof Q.on=="function"&&m(Q,"error",p,f)}function m(Q,p,f,h){if(typeof Q.on=="function")h.once?Q.once(p,f):Q.on(p,f);else if(typeof Q.addEventListener=="function")Q.addEventListener(p,function R(J){h.once&&Q.removeEventListener(p,R),f(J)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof Q)}}}),$Reader=$protobuf.Reader,$Writer=$protobuf.Writer,$util=$protobuf.util,$root=$protobuf.roots.default||($protobuf.roots.default={}),sesame=$root.sesame=(()=>{const u={};return u.v1=function(){const o={};return o.audio=function(){const l={};return l.AudioMixerChannelType=function(){const n={},r=Object.create(n);return r[n[0]="AUDIO_MIXER_CHANNEL_TYPE_UNSPECIFIED"]=0,r[n[1]="AUDIO_MIXER_CHANNEL_TYPE_MONO"]=1,r[n[2]="AUDIO_MIXER_CHANNEL_TYPE_STEREO"]=2,r}(),l.AudioPluginParam=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.id=0,n.prototype.floatValue=0,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.id!=null&&Object.hasOwnProperty.call(t,"id")&&e.uint32(8).uint32(t.id),t.floatValue!=null&&Object.hasOwnProperty.call(t,"floatValue")&&e.uint32(21).float(t.floatValue),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.audio.AudioPluginParam;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.id=t.uint32();break}case 2:{s.floatValue=t.float();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.id!=null&&t.hasOwnProperty("id")&&!$util.isInteger(t.id)?"id: integer expected":t.floatValue!=null&&t.hasOwnProperty("floatValue")&&typeof t.floatValue!="number"?"floatValue: number expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.audio.AudioPluginParam)return t;let e=new $root.sesame.v1.audio.AudioPluginParam;return t.id!=null&&(e.id=t.id>>>0),t.floatValue!=null&&(e.floatValue=Number(t.floatValue)),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.id=0,i.floatValue=0),t.id!=null&&t.hasOwnProperty("id")&&(i.id=t.id),t.floatValue!=null&&t.hasOwnProperty("floatValue")&&(i.floatValue=e.json&&!isFinite(t.floatValue)?String(t.floatValue):t.floatValue),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.audio.AudioPluginParam"},n}(),l.AudioPluginParamStatus=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.id=0,n.prototype.floatValue=0,n.prototype.label="",n.prototype.displayValue="",n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.id!=null&&Object.hasOwnProperty.call(t,"id")&&e.uint32(8).uint32(t.id),t.floatValue!=null&&Object.hasOwnProperty.call(t,"floatValue")&&e.uint32(21).float(t.floatValue),t.label!=null&&Object.hasOwnProperty.call(t,"label")&&e.uint32(26).string(t.label),t.displayValue!=null&&Object.hasOwnProperty.call(t,"displayValue")&&e.uint32(34).string(t.displayValue),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.audio.AudioPluginParamStatus;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.id=t.uint32();break}case 2:{s.floatValue=t.float();break}case 3:{s.label=t.string();break}case 4:{s.displayValue=t.string();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.id!=null&&t.hasOwnProperty("id")&&!$util.isInteger(t.id)?"id: integer expected":t.floatValue!=null&&t.hasOwnProperty("floatValue")&&typeof t.floatValue!="number"?"floatValue: number expected":t.label!=null&&t.hasOwnProperty("label")&&!$util.isString(t.label)?"label: string expected":t.displayValue!=null&&t.hasOwnProperty("displayValue")&&!$util.isString(t.displayValue)?"displayValue: string expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.audio.AudioPluginParamStatus)return t;let e=new $root.sesame.v1.audio.AudioPluginParamStatus;return t.id!=null&&(e.id=t.id>>>0),t.floatValue!=null&&(e.floatValue=Number(t.floatValue)),t.label!=null&&(e.label=String(t.label)),t.displayValue!=null&&(e.displayValue=String(t.displayValue)),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.id=0,i.floatValue=0,i.label="",i.displayValue=""),t.id!=null&&t.hasOwnProperty("id")&&(i.id=t.id),t.floatValue!=null&&t.hasOwnProperty("floatValue")&&(i.floatValue=e.json&&!isFinite(t.floatValue)?String(t.floatValue):t.floatValue),t.label!=null&&t.hasOwnProperty("label")&&(i.label=t.label),t.displayValue!=null&&t.hasOwnProperty("displayValue")&&(i.displayValue=t.displayValue),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.audio.AudioPluginParamStatus"},n}(),l.AudioPlugin=function(){function n(r){if(this.params=[],this.auxInputMixIds=[],r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.id="",n.prototype.type="",n.prototype.params=$util.emptyArray,n.prototype.auxInputMixIds=$util.emptyArray,n.create=function(t){return new n(t)},n.encode=function(t,e){if(e||(e=$Writer.create()),t.id!=null&&Object.hasOwnProperty.call(t,"id")&&e.uint32(10).string(t.id),t.type!=null&&Object.hasOwnProperty.call(t,"type")&&e.uint32(18).string(t.type),t.params!=null&&t.params.length)for(let i=0;i<t.params.length;++i)$root.sesame.v1.audio.AudioPluginParam.encode(t.params[i],e.uint32(26).fork()).ldelim();if(t.auxInputMixIds!=null&&t.auxInputMixIds.length)for(let i=0;i<t.auxInputMixIds.length;++i)e.uint32(34).string(t.auxInputMixIds[i]);return e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.audio.AudioPlugin;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.id=t.string();break}case 2:{s.type=t.string();break}case 3:{s.params&&s.params.length||(s.params=[]),s.params.push($root.sesame.v1.audio.AudioPluginParam.decode(t,t.uint32()));break}case 4:{s.auxInputMixIds&&s.auxInputMixIds.length||(s.auxInputMixIds=[]),s.auxInputMixIds.push(t.string());break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.id!=null&&t.hasOwnProperty("id")&&!$util.isString(t.id))return"id: string expected";if(t.type!=null&&t.hasOwnProperty("type")&&!$util.isString(t.type))return"type: string expected";if(t.params!=null&&t.hasOwnProperty("params")){if(!Array.isArray(t.params))return"params: array expected";for(let e=0;e<t.params.length;++e){let i=$root.sesame.v1.audio.AudioPluginParam.verify(t.params[e]);if(i)return"params."+i}}if(t.auxInputMixIds!=null&&t.hasOwnProperty("auxInputMixIds")){if(!Array.isArray(t.auxInputMixIds))return"auxInputMixIds: array expected";for(let e=0;e<t.auxInputMixIds.length;++e)if(!$util.isString(t.auxInputMixIds[e]))return"auxInputMixIds: string[] expected"}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.audio.AudioPlugin)return t;let e=new $root.sesame.v1.audio.AudioPlugin;if(t.id!=null&&(e.id=String(t.id)),t.type!=null&&(e.type=String(t.type)),t.params){if(!Array.isArray(t.params))throw TypeError(".sesame.v1.audio.AudioPlugin.params: array expected");e.params=[];for(let i=0;i<t.params.length;++i){if(typeof t.params[i]!="object")throw TypeError(".sesame.v1.audio.AudioPlugin.params: object expected");e.params[i]=$root.sesame.v1.audio.AudioPluginParam.fromObject(t.params[i])}}if(t.auxInputMixIds){if(!Array.isArray(t.auxInputMixIds))throw TypeError(".sesame.v1.audio.AudioPlugin.auxInputMixIds: array expected");e.auxInputMixIds=[];for(let i=0;i<t.auxInputMixIds.length;++i)e.auxInputMixIds[i]=String(t.auxInputMixIds[i])}return e},n.toObject=function(t,e){e||(e={});let i={};if((e.arrays||e.defaults)&&(i.params=[],i.auxInputMixIds=[]),e.defaults&&(i.id="",i.type=""),t.id!=null&&t.hasOwnProperty("id")&&(i.id=t.id),t.type!=null&&t.hasOwnProperty("type")&&(i.type=t.type),t.params&&t.params.length){i.params=[];for(let a=0;a<t.params.length;++a)i.params[a]=$root.sesame.v1.audio.AudioPluginParam.toObject(t.params[a],e)}if(t.auxInputMixIds&&t.auxInputMixIds.length){i.auxInputMixIds=[];for(let a=0;a<t.auxInputMixIds.length;++a)i.auxInputMixIds[a]=t.auxInputMixIds[a]}return i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.audio.AudioPlugin"},n}(),l.AudioMixerChannel=function(){function n(r){if(this.sourceChannels=[],this.plugins=[],r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.id="",n.prototype.sourceId="",n.prototype.channelType=0,n.prototype.sourceChannels=$util.emptyArray,n.prototype.level=0,n.prototype.pan=0,n.prototype.plugins=$util.emptyArray,n.create=function(t){return new n(t)},n.encode=function(t,e){if(e||(e=$Writer.create()),t.id!=null&&Object.hasOwnProperty.call(t,"id")&&e.uint32(10).string(t.id),t.sourceId!=null&&Object.hasOwnProperty.call(t,"sourceId")&&e.uint32(18).string(t.sourceId),t.channelType!=null&&Object.hasOwnProperty.call(t,"channelType")&&e.uint32(24).int32(t.channelType),t.sourceChannels!=null&&t.sourceChannels.length){e.uint32(34).fork();for(let i=0;i<t.sourceChannels.length;++i)e.uint32(t.sourceChannels[i]);e.ldelim()}if(t.level!=null&&Object.hasOwnProperty.call(t,"level")&&e.uint32(45).float(t.level),t.pan!=null&&Object.hasOwnProperty.call(t,"pan")&&e.uint32(53).float(t.pan),t.plugins!=null&&t.plugins.length)for(let i=0;i<t.plugins.length;++i)$root.sesame.v1.audio.AudioPlugin.encode(t.plugins[i],e.uint32(58).fork()).ldelim();return e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.audio.AudioMixerChannel;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.id=t.string();break}case 2:{s.sourceId=t.string();break}case 3:{s.channelType=t.int32();break}case 4:{if(s.sourceChannels&&s.sourceChannels.length||(s.sourceChannels=[]),(d&7)===2){let c=t.uint32()+t.pos;for(;t.pos<c;)s.sourceChannels.push(t.uint32())}else s.sourceChannels.push(t.uint32());break}case 5:{s.level=t.float();break}case 6:{s.pan=t.float();break}case 7:{s.plugins&&s.plugins.length||(s.plugins=[]),s.plugins.push($root.sesame.v1.audio.AudioPlugin.decode(t,t.uint32()));break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.id!=null&&t.hasOwnProperty("id")&&!$util.isString(t.id))return"id: string expected";if(t.sourceId!=null&&t.hasOwnProperty("sourceId")&&!$util.isString(t.sourceId))return"sourceId: string expected";if(t.channelType!=null&&t.hasOwnProperty("channelType"))switch(t.channelType){default:return"channelType: enum value expected";case 0:case 1:case 2:break}if(t.sourceChannels!=null&&t.hasOwnProperty("sourceChannels")){if(!Array.isArray(t.sourceChannels))return"sourceChannels: array expected";for(let e=0;e<t.sourceChannels.length;++e)if(!$util.isInteger(t.sourceChannels[e]))return"sourceChannels: integer[] expected"}if(t.level!=null&&t.hasOwnProperty("level")&&typeof t.level!="number")return"level: number expected";if(t.pan!=null&&t.hasOwnProperty("pan")&&typeof t.pan!="number")return"pan: number expected";if(t.plugins!=null&&t.hasOwnProperty("plugins")){if(!Array.isArray(t.plugins))return"plugins: array expected";for(let e=0;e<t.plugins.length;++e){let i=$root.sesame.v1.audio.AudioPlugin.verify(t.plugins[e]);if(i)return"plugins."+i}}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.audio.AudioMixerChannel)return t;let e=new $root.sesame.v1.audio.AudioMixerChannel;switch(t.id!=null&&(e.id=String(t.id)),t.sourceId!=null&&(e.sourceId=String(t.sourceId)),t.channelType){default:if(typeof t.channelType=="number"){e.channelType=t.channelType;break}break;case"AUDIO_MIXER_CHANNEL_TYPE_UNSPECIFIED":case 0:e.channelType=0;break;case"AUDIO_MIXER_CHANNEL_TYPE_MONO":case 1:e.channelType=1;break;case"AUDIO_MIXER_CHANNEL_TYPE_STEREO":case 2:e.channelType=2;break}if(t.sourceChannels){if(!Array.isArray(t.sourceChannels))throw TypeError(".sesame.v1.audio.AudioMixerChannel.sourceChannels: array expected");e.sourceChannels=[];for(let i=0;i<t.sourceChannels.length;++i)e.sourceChannels[i]=t.sourceChannels[i]>>>0}if(t.level!=null&&(e.level=Number(t.level)),t.pan!=null&&(e.pan=Number(t.pan)),t.plugins){if(!Array.isArray(t.plugins))throw TypeError(".sesame.v1.audio.AudioMixerChannel.plugins: array expected");e.plugins=[];for(let i=0;i<t.plugins.length;++i){if(typeof t.plugins[i]!="object")throw TypeError(".sesame.v1.audio.AudioMixerChannel.plugins: object expected");e.plugins[i]=$root.sesame.v1.audio.AudioPlugin.fromObject(t.plugins[i])}}return e},n.toObject=function(t,e){e||(e={});let i={};if((e.arrays||e.defaults)&&(i.sourceChannels=[],i.plugins=[]),e.defaults&&(i.id="",i.sourceId="",i.channelType=e.enums===String?"AUDIO_MIXER_CHANNEL_TYPE_UNSPECIFIED":0,i.level=0,i.pan=0),t.id!=null&&t.hasOwnProperty("id")&&(i.id=t.id),t.sourceId!=null&&t.hasOwnProperty("sourceId")&&(i.sourceId=t.sourceId),t.channelType!=null&&t.hasOwnProperty("channelType")&&(i.channelType=e.enums===String?$root.sesame.v1.audio.AudioMixerChannelType[t.channelType]===void 0?t.channelType:$root.sesame.v1.audio.AudioMixerChannelType[t.channelType]:t.channelType),t.sourceChannels&&t.sourceChannels.length){i.sourceChannels=[];for(let a=0;a<t.sourceChannels.length;++a)i.sourceChannels[a]=t.sourceChannels[a]}if(t.level!=null&&t.hasOwnProperty("level")&&(i.level=e.json&&!isFinite(t.level)?String(t.level):t.level),t.pan!=null&&t.hasOwnProperty("pan")&&(i.pan=e.json&&!isFinite(t.pan)?String(t.pan):t.pan),t.plugins&&t.plugins.length){i.plugins=[];for(let a=0;a<t.plugins.length;++a)i.plugins[a]=$root.sesame.v1.audio.AudioPlugin.toObject(t.plugins[a],e)}return i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.audio.AudioMixerChannel"},n}(),l.AudioMixerConfig=function(){function n(r){if(this.channels=[],r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.channels=$util.emptyArray,n.prototype.outputType=0,n.prototype.order=0,n.create=function(t){return new n(t)},n.encode=function(t,e){if(e||(e=$Writer.create()),t.channels!=null&&t.channels.length)for(let i=0;i<t.channels.length;++i)$root.sesame.v1.audio.AudioMixerChannel.encode(t.channels[i],e.uint32(10).fork()).ldelim();return t.outputType!=null&&Object.hasOwnProperty.call(t,"outputType")&&e.uint32(16).int32(t.outputType),t.order!=null&&Object.hasOwnProperty.call(t,"order")&&e.uint32(24).uint32(t.order),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.audio.AudioMixerConfig;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.channels&&s.channels.length||(s.channels=[]),s.channels.push($root.sesame.v1.audio.AudioMixerChannel.decode(t,t.uint32()));break}case 2:{s.outputType=t.int32();break}case 3:{s.order=t.uint32();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.channels!=null&&t.hasOwnProperty("channels")){if(!Array.isArray(t.channels))return"channels: array expected";for(let e=0;e<t.channels.length;++e){let i=$root.sesame.v1.audio.AudioMixerChannel.verify(t.channels[e]);if(i)return"channels."+i}}if(t.outputType!=null&&t.hasOwnProperty("outputType"))switch(t.outputType){default:return"outputType: enum value expected";case 0:case 1:case 2:break}return t.order!=null&&t.hasOwnProperty("order")&&!$util.isInteger(t.order)?"order: integer expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.audio.AudioMixerConfig)return t;let e=new $root.sesame.v1.audio.AudioMixerConfig;if(t.channels){if(!Array.isArray(t.channels))throw TypeError(".sesame.v1.audio.AudioMixerConfig.channels: array expected");e.channels=[];for(let i=0;i<t.channels.length;++i){if(typeof t.channels[i]!="object")throw TypeError(".sesame.v1.audio.AudioMixerConfig.channels: object expected");e.channels[i]=$root.sesame.v1.audio.AudioMixerChannel.fromObject(t.channels[i])}}switch(t.outputType){default:if(typeof t.outputType=="number"){e.outputType=t.outputType;break}break;case"AUDIO_MIXER_CHANNEL_TYPE_UNSPECIFIED":case 0:e.outputType=0;break;case"AUDIO_MIXER_CHANNEL_TYPE_MONO":case 1:e.outputType=1;break;case"AUDIO_MIXER_CHANNEL_TYPE_STEREO":case 2:e.outputType=2;break}return t.order!=null&&(e.order=t.order>>>0),e},n.toObject=function(t,e){e||(e={});let i={};if((e.arrays||e.defaults)&&(i.channels=[]),e.defaults&&(i.outputType=e.enums===String?"AUDIO_MIXER_CHANNEL_TYPE_UNSPECIFIED":0,i.order=0),t.channels&&t.channels.length){i.channels=[];for(let a=0;a<t.channels.length;++a)i.channels[a]=$root.sesame.v1.audio.AudioMixerChannel.toObject(t.channels[a],e)}return t.outputType!=null&&t.hasOwnProperty("outputType")&&(i.outputType=e.enums===String?$root.sesame.v1.audio.AudioMixerChannelType[t.outputType]===void 0?t.outputType:$root.sesame.v1.audio.AudioMixerChannelType[t.outputType]:t.outputType),t.order!=null&&t.hasOwnProperty("order")&&(i.order=t.order),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.audio.AudioMixerConfig"},n}(),l.AudioMixerAddRequest=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.id="",n.prototype.config=null,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.id!=null&&Object.hasOwnProperty.call(t,"id")&&e.uint32(10).string(t.id),t.config!=null&&Object.hasOwnProperty.call(t,"config")&&$root.sesame.v1.audio.AudioMixerConfig.encode(t.config,e.uint32(18).fork()).ldelim(),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.audio.AudioMixerAddRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.id=t.string();break}case 2:{s.config=$root.sesame.v1.audio.AudioMixerConfig.decode(t,t.uint32());break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.id!=null&&t.hasOwnProperty("id")&&!$util.isString(t.id))return"id: string expected";if(t.config!=null&&t.hasOwnProperty("config")){let e=$root.sesame.v1.audio.AudioMixerConfig.verify(t.config);if(e)return"config."+e}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.audio.AudioMixerAddRequest)return t;let e=new $root.sesame.v1.audio.AudioMixerAddRequest;if(t.id!=null&&(e.id=String(t.id)),t.config!=null){if(typeof t.config!="object")throw TypeError(".sesame.v1.audio.AudioMixerAddRequest.config: object expected");e.config=$root.sesame.v1.audio.AudioMixerConfig.fromObject(t.config)}return e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.id="",i.config=null),t.id!=null&&t.hasOwnProperty("id")&&(i.id=t.id),t.config!=null&&t.hasOwnProperty("config")&&(i.config=$root.sesame.v1.audio.AudioMixerConfig.toObject(t.config,e)),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.audio.AudioMixerAddRequest"},n}(),l.AudioMixerUpdateRequest=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.id="",n.prototype.config=null,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.id!=null&&Object.hasOwnProperty.call(t,"id")&&e.uint32(10).string(t.id),t.config!=null&&Object.hasOwnProperty.call(t,"config")&&$root.sesame.v1.audio.AudioMixerConfig.encode(t.config,e.uint32(18).fork()).ldelim(),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.audio.AudioMixerUpdateRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.id=t.string();break}case 2:{s.config=$root.sesame.v1.audio.AudioMixerConfig.decode(t,t.uint32());break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.id!=null&&t.hasOwnProperty("id")&&!$util.isString(t.id))return"id: string expected";if(t.config!=null&&t.hasOwnProperty("config")){let e=$root.sesame.v1.audio.AudioMixerConfig.verify(t.config);if(e)return"config."+e}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.audio.AudioMixerUpdateRequest)return t;let e=new $root.sesame.v1.audio.AudioMixerUpdateRequest;if(t.id!=null&&(e.id=String(t.id)),t.config!=null){if(typeof t.config!="object")throw TypeError(".sesame.v1.audio.AudioMixerUpdateRequest.config: object expected");e.config=$root.sesame.v1.audio.AudioMixerConfig.fromObject(t.config)}return e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.id="",i.config=null),t.id!=null&&t.hasOwnProperty("id")&&(i.id=t.id),t.config!=null&&t.hasOwnProperty("config")&&(i.config=$root.sesame.v1.audio.AudioMixerConfig.toObject(t.config,e)),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.audio.AudioMixerUpdateRequest"},n}(),l.AudioMixerRemoveRequest=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.id="",n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.id!=null&&Object.hasOwnProperty.call(t,"id")&&e.uint32(10).string(t.id),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.audio.AudioMixerRemoveRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.id=t.string();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.id!=null&&t.hasOwnProperty("id")&&!$util.isString(t.id)?"id: string expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.audio.AudioMixerRemoveRequest)return t;let e=new $root.sesame.v1.audio.AudioMixerRemoveRequest;return t.id!=null&&(e.id=String(t.id)),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.id=""),t.id!=null&&t.hasOwnProperty("id")&&(i.id=t.id),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.audio.AudioMixerRemoveRequest"},n}(),l.AudioChannelAddRequest=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.mixerId="",n.prototype.channelConfig=null,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.mixerId!=null&&Object.hasOwnProperty.call(t,"mixerId")&&e.uint32(10).string(t.mixerId),t.channelConfig!=null&&Object.hasOwnProperty.call(t,"channelConfig")&&$root.sesame.v1.audio.AudioMixerChannel.encode(t.channelConfig,e.uint32(18).fork()).ldelim(),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.audio.AudioChannelAddRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.mixerId=t.string();break}case 2:{s.channelConfig=$root.sesame.v1.audio.AudioMixerChannel.decode(t,t.uint32());break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.mixerId!=null&&t.hasOwnProperty("mixerId")&&!$util.isString(t.mixerId))return"mixerId: string expected";if(t.channelConfig!=null&&t.hasOwnProperty("channelConfig")){let e=$root.sesame.v1.audio.AudioMixerChannel.verify(t.channelConfig);if(e)return"channelConfig."+e}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.audio.AudioChannelAddRequest)return t;let e=new $root.sesame.v1.audio.AudioChannelAddRequest;if(t.mixerId!=null&&(e.mixerId=String(t.mixerId)),t.channelConfig!=null){if(typeof t.channelConfig!="object")throw TypeError(".sesame.v1.audio.AudioChannelAddRequest.channelConfig: object expected");e.channelConfig=$root.sesame.v1.audio.AudioMixerChannel.fromObject(t.channelConfig)}return e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.mixerId="",i.channelConfig=null),t.mixerId!=null&&t.hasOwnProperty("mixerId")&&(i.mixerId=t.mixerId),t.channelConfig!=null&&t.hasOwnProperty("channelConfig")&&(i.channelConfig=$root.sesame.v1.audio.AudioMixerChannel.toObject(t.channelConfig,e)),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.audio.AudioChannelAddRequest"},n}(),l.AudioChannelRemoveRequest=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.mixerId="",n.prototype.channelId="",n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.mixerId!=null&&Object.hasOwnProperty.call(t,"mixerId")&&e.uint32(10).string(t.mixerId),t.channelId!=null&&Object.hasOwnProperty.call(t,"channelId")&&e.uint32(18).string(t.channelId),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.audio.AudioChannelRemoveRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.mixerId=t.string();break}case 2:{s.channelId=t.string();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.mixerId!=null&&t.hasOwnProperty("mixerId")&&!$util.isString(t.mixerId)?"mixerId: string expected":t.channelId!=null&&t.hasOwnProperty("channelId")&&!$util.isString(t.channelId)?"channelId: string expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.audio.AudioChannelRemoveRequest)return t;let e=new $root.sesame.v1.audio.AudioChannelRemoveRequest;return t.mixerId!=null&&(e.mixerId=String(t.mixerId)),t.channelId!=null&&(e.channelId=String(t.channelId)),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.mixerId="",i.channelId=""),t.mixerId!=null&&t.hasOwnProperty("mixerId")&&(i.mixerId=t.mixerId),t.channelId!=null&&t.hasOwnProperty("channelId")&&(i.channelId=t.channelId),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.audio.AudioChannelRemoveRequest"},n}(),l.AudioChannelPluginStatus=function(){function n(r){if(this.params=[],r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.id="",n.prototype.type="",n.prototype.params=$util.emptyArray,n.create=function(t){return new n(t)},n.encode=function(t,e){if(e||(e=$Writer.create()),t.id!=null&&Object.hasOwnProperty.call(t,"id")&&e.uint32(10).string(t.id),t.type!=null&&Object.hasOwnProperty.call(t,"type")&&e.uint32(18).string(t.type),t.params!=null&&t.params.length)for(let i=0;i<t.params.length;++i)$root.sesame.v1.audio.AudioPluginParamStatus.encode(t.params[i],e.uint32(26).fork()).ldelim();return e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.audio.AudioChannelPluginStatus;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.id=t.string();break}case 2:{s.type=t.string();break}case 3:{s.params&&s.params.length||(s.params=[]),s.params.push($root.sesame.v1.audio.AudioPluginParamStatus.decode(t,t.uint32()));break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.id!=null&&t.hasOwnProperty("id")&&!$util.isString(t.id))return"id: string expected";if(t.type!=null&&t.hasOwnProperty("type")&&!$util.isString(t.type))return"type: string expected";if(t.params!=null&&t.hasOwnProperty("params")){if(!Array.isArray(t.params))return"params: array expected";for(let e=0;e<t.params.length;++e){let i=$root.sesame.v1.audio.AudioPluginParamStatus.verify(t.params[e]);if(i)return"params."+i}}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.audio.AudioChannelPluginStatus)return t;let e=new $root.sesame.v1.audio.AudioChannelPluginStatus;if(t.id!=null&&(e.id=String(t.id)),t.type!=null&&(e.type=String(t.type)),t.params){if(!Array.isArray(t.params))throw TypeError(".sesame.v1.audio.AudioChannelPluginStatus.params: array expected");e.params=[];for(let i=0;i<t.params.length;++i){if(typeof t.params[i]!="object")throw TypeError(".sesame.v1.audio.AudioChannelPluginStatus.params: object expected");e.params[i]=$root.sesame.v1.audio.AudioPluginParamStatus.fromObject(t.params[i])}}return e},n.toObject=function(t,e){e||(e={});let i={};if((e.arrays||e.defaults)&&(i.params=[]),e.defaults&&(i.id="",i.type=""),t.id!=null&&t.hasOwnProperty("id")&&(i.id=t.id),t.type!=null&&t.hasOwnProperty("type")&&(i.type=t.type),t.params&&t.params.length){i.params=[];for(let a=0;a<t.params.length;++a)i.params[a]=$root.sesame.v1.audio.AudioPluginParamStatus.toObject(t.params[a],e)}return i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.audio.AudioChannelPluginStatus"},n}(),l.AudioChannelStatus=function(){function n(r){if(this.vu=[],this.plugins=[],r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.id="",n.prototype.outputType=0,n.prototype.level=0,n.prototype.pan=0,n.prototype.vu=$util.emptyArray,n.prototype.hasData=!1,n.prototype.readErrors=0,n.prototype.plugins=$util.emptyArray,n.create=function(t){return new n(t)},n.encode=function(t,e){if(e||(e=$Writer.create()),t.id!=null&&Object.hasOwnProperty.call(t,"id")&&e.uint32(10).string(t.id),t.outputType!=null&&Object.hasOwnProperty.call(t,"outputType")&&e.uint32(16).int32(t.outputType),t.level!=null&&Object.hasOwnProperty.call(t,"level")&&e.uint32(29).float(t.level),t.pan!=null&&Object.hasOwnProperty.call(t,"pan")&&e.uint32(37).float(t.pan),t.vu!=null&&t.vu.length){e.uint32(42).fork();for(let i=0;i<t.vu.length;++i)e.float(t.vu[i]);e.ldelim()}if(t.hasData!=null&&Object.hasOwnProperty.call(t,"hasData")&&e.uint32(48).bool(t.hasData),t.readErrors!=null&&Object.hasOwnProperty.call(t,"readErrors")&&e.uint32(56).uint32(t.readErrors),t.plugins!=null&&t.plugins.length)for(let i=0;i<t.plugins.length;++i)$root.sesame.v1.audio.AudioChannelPluginStatus.encode(t.plugins[i],e.uint32(66).fork()).ldelim();return e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.audio.AudioChannelStatus;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.id=t.string();break}case 2:{s.outputType=t.int32();break}case 3:{s.level=t.float();break}case 4:{s.pan=t.float();break}case 5:{if(s.vu&&s.vu.length||(s.vu=[]),(d&7)===2){let c=t.uint32()+t.pos;for(;t.pos<c;)s.vu.push(t.float())}else s.vu.push(t.float());break}case 6:{s.hasData=t.bool();break}case 7:{s.readErrors=t.uint32();break}case 8:{s.plugins&&s.plugins.length||(s.plugins=[]),s.plugins.push($root.sesame.v1.audio.AudioChannelPluginStatus.decode(t,t.uint32()));break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.id!=null&&t.hasOwnProperty("id")&&!$util.isString(t.id))return"id: string expected";if(t.outputType!=null&&t.hasOwnProperty("outputType"))switch(t.outputType){default:return"outputType: enum value expected";case 0:case 1:case 2:break}if(t.level!=null&&t.hasOwnProperty("level")&&typeof t.level!="number")return"level: number expected";if(t.pan!=null&&t.hasOwnProperty("pan")&&typeof t.pan!="number")return"pan: number expected";if(t.vu!=null&&t.hasOwnProperty("vu")){if(!Array.isArray(t.vu))return"vu: array expected";for(let e=0;e<t.vu.length;++e)if(typeof t.vu[e]!="number")return"vu: number[] expected"}if(t.hasData!=null&&t.hasOwnProperty("hasData")&&typeof t.hasData!="boolean")return"hasData: boolean expected";if(t.readErrors!=null&&t.hasOwnProperty("readErrors")&&!$util.isInteger(t.readErrors))return"readErrors: integer expected";if(t.plugins!=null&&t.hasOwnProperty("plugins")){if(!Array.isArray(t.plugins))return"plugins: array expected";for(let e=0;e<t.plugins.length;++e){let i=$root.sesame.v1.audio.AudioChannelPluginStatus.verify(t.plugins[e]);if(i)return"plugins."+i}}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.audio.AudioChannelStatus)return t;let e=new $root.sesame.v1.audio.AudioChannelStatus;switch(t.id!=null&&(e.id=String(t.id)),t.outputType){default:if(typeof t.outputType=="number"){e.outputType=t.outputType;break}break;case"AUDIO_MIXER_CHANNEL_TYPE_UNSPECIFIED":case 0:e.outputType=0;break;case"AUDIO_MIXER_CHANNEL_TYPE_MONO":case 1:e.outputType=1;break;case"AUDIO_MIXER_CHANNEL_TYPE_STEREO":case 2:e.outputType=2;break}if(t.level!=null&&(e.level=Number(t.level)),t.pan!=null&&(e.pan=Number(t.pan)),t.vu){if(!Array.isArray(t.vu))throw TypeError(".sesame.v1.audio.AudioChannelStatus.vu: array expected");e.vu=[];for(let i=0;i<t.vu.length;++i)e.vu[i]=Number(t.vu[i])}if(t.hasData!=null&&(e.hasData=!!t.hasData),t.readErrors!=null&&(e.readErrors=t.readErrors>>>0),t.plugins){if(!Array.isArray(t.plugins))throw TypeError(".sesame.v1.audio.AudioChannelStatus.plugins: array expected");e.plugins=[];for(let i=0;i<t.plugins.length;++i){if(typeof t.plugins[i]!="object")throw TypeError(".sesame.v1.audio.AudioChannelStatus.plugins: object expected");e.plugins[i]=$root.sesame.v1.audio.AudioChannelPluginStatus.fromObject(t.plugins[i])}}return e},n.toObject=function(t,e){e||(e={});let i={};if((e.arrays||e.defaults)&&(i.vu=[],i.plugins=[]),e.defaults&&(i.id="",i.outputType=e.enums===String?"AUDIO_MIXER_CHANNEL_TYPE_UNSPECIFIED":0,i.level=0,i.pan=0,i.hasData=!1,i.readErrors=0),t.id!=null&&t.hasOwnProperty("id")&&(i.id=t.id),t.outputType!=null&&t.hasOwnProperty("outputType")&&(i.outputType=e.enums===String?$root.sesame.v1.audio.AudioMixerChannelType[t.outputType]===void 0?t.outputType:$root.sesame.v1.audio.AudioMixerChannelType[t.outputType]:t.outputType),t.level!=null&&t.hasOwnProperty("level")&&(i.level=e.json&&!isFinite(t.level)?String(t.level):t.level),t.pan!=null&&t.hasOwnProperty("pan")&&(i.pan=e.json&&!isFinite(t.pan)?String(t.pan):t.pan),t.vu&&t.vu.length){i.vu=[];for(let a=0;a<t.vu.length;++a)i.vu[a]=e.json&&!isFinite(t.vu[a])?String(t.vu[a]):t.vu[a]}if(t.hasData!=null&&t.hasOwnProperty("hasData")&&(i.hasData=t.hasData),t.readErrors!=null&&t.hasOwnProperty("readErrors")&&(i.readErrors=t.readErrors),t.plugins&&t.plugins.length){i.plugins=[];for(let a=0;a<t.plugins.length;++a)i.plugins[a]=$root.sesame.v1.audio.AudioChannelPluginStatus.toObject(t.plugins[a],e)}return i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.audio.AudioChannelStatus"},n}(),l.AudioMixerStatus=function(){function n(r){if(this.vu=[],this.channels=[],r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.id="",n.prototype.outputType=0,n.prototype.vu=$util.emptyArray,n.prototype.channels=$util.emptyArray,n.create=function(t){return new n(t)},n.encode=function(t,e){if(e||(e=$Writer.create()),t.id!=null&&Object.hasOwnProperty.call(t,"id")&&e.uint32(10).string(t.id),t.outputType!=null&&Object.hasOwnProperty.call(t,"outputType")&&e.uint32(16).int32(t.outputType),t.vu!=null&&t.vu.length){e.uint32(26).fork();for(let i=0;i<t.vu.length;++i)e.float(t.vu[i]);e.ldelim()}if(t.channels!=null&&t.channels.length)for(let i=0;i<t.channels.length;++i)$root.sesame.v1.audio.AudioChannelStatus.encode(t.channels[i],e.uint32(34).fork()).ldelim();return e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.audio.AudioMixerStatus;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.id=t.string();break}case 2:{s.outputType=t.int32();break}case 3:{if(s.vu&&s.vu.length||(s.vu=[]),(d&7)===2){let c=t.uint32()+t.pos;for(;t.pos<c;)s.vu.push(t.float())}else s.vu.push(t.float());break}case 4:{s.channels&&s.channels.length||(s.channels=[]),s.channels.push($root.sesame.v1.audio.AudioChannelStatus.decode(t,t.uint32()));break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.id!=null&&t.hasOwnProperty("id")&&!$util.isString(t.id))return"id: string expected";if(t.outputType!=null&&t.hasOwnProperty("outputType"))switch(t.outputType){default:return"outputType: enum value expected";case 0:case 1:case 2:break}if(t.vu!=null&&t.hasOwnProperty("vu")){if(!Array.isArray(t.vu))return"vu: array expected";for(let e=0;e<t.vu.length;++e)if(typeof t.vu[e]!="number")return"vu: number[] expected"}if(t.channels!=null&&t.hasOwnProperty("channels")){if(!Array.isArray(t.channels))return"channels: array expected";for(let e=0;e<t.channels.length;++e){let i=$root.sesame.v1.audio.AudioChannelStatus.verify(t.channels[e]);if(i)return"channels."+i}}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.audio.AudioMixerStatus)return t;let e=new $root.sesame.v1.audio.AudioMixerStatus;switch(t.id!=null&&(e.id=String(t.id)),t.outputType){default:if(typeof t.outputType=="number"){e.outputType=t.outputType;break}break;case"AUDIO_MIXER_CHANNEL_TYPE_UNSPECIFIED":case 0:e.outputType=0;break;case"AUDIO_MIXER_CHANNEL_TYPE_MONO":case 1:e.outputType=1;break;case"AUDIO_MIXER_CHANNEL_TYPE_STEREO":case 2:e.outputType=2;break}if(t.vu){if(!Array.isArray(t.vu))throw TypeError(".sesame.v1.audio.AudioMixerStatus.vu: array expected");e.vu=[];for(let i=0;i<t.vu.length;++i)e.vu[i]=Number(t.vu[i])}if(t.channels){if(!Array.isArray(t.channels))throw TypeError(".sesame.v1.audio.AudioMixerStatus.channels: array expected");e.channels=[];for(let i=0;i<t.channels.length;++i){if(typeof t.channels[i]!="object")throw TypeError(".sesame.v1.audio.AudioMixerStatus.channels: object expected");e.channels[i]=$root.sesame.v1.audio.AudioChannelStatus.fromObject(t.channels[i])}}return e},n.toObject=function(t,e){e||(e={});let i={};if((e.arrays||e.defaults)&&(i.vu=[],i.channels=[]),e.defaults&&(i.id="",i.outputType=e.enums===String?"AUDIO_MIXER_CHANNEL_TYPE_UNSPECIFIED":0),t.id!=null&&t.hasOwnProperty("id")&&(i.id=t.id),t.outputType!=null&&t.hasOwnProperty("outputType")&&(i.outputType=e.enums===String?$root.sesame.v1.audio.AudioMixerChannelType[t.outputType]===void 0?t.outputType:$root.sesame.v1.audio.AudioMixerChannelType[t.outputType]:t.outputType),t.vu&&t.vu.length){i.vu=[];for(let a=0;a<t.vu.length;++a)i.vu[a]=e.json&&!isFinite(t.vu[a])?String(t.vu[a]):t.vu[a]}if(t.channels&&t.channels.length){i.channels=[];for(let a=0;a<t.channels.length;++a)i.channels[a]=$root.sesame.v1.audio.AudioChannelStatus.toObject(t.channels[a],e)}return i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.audio.AudioMixerStatus"},n}(),l.AudioPluginControlRequest=function(){function n(r){if(this.params=[],r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.pluginId="",n.prototype.params=$util.emptyArray,n.create=function(t){return new n(t)},n.encode=function(t,e){if(e||(e=$Writer.create()),t.pluginId!=null&&Object.hasOwnProperty.call(t,"pluginId")&&e.uint32(10).string(t.pluginId),t.params!=null&&t.params.length)for(let i=0;i<t.params.length;++i)$root.sesame.v1.audio.AudioPluginParam.encode(t.params[i],e.uint32(18).fork()).ldelim();return e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.audio.AudioPluginControlRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.pluginId=t.string();break}case 2:{s.params&&s.params.length||(s.params=[]),s.params.push($root.sesame.v1.audio.AudioPluginParam.decode(t,t.uint32()));break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.pluginId!=null&&t.hasOwnProperty("pluginId")&&!$util.isString(t.pluginId))return"pluginId: string expected";if(t.params!=null&&t.hasOwnProperty("params")){if(!Array.isArray(t.params))return"params: array expected";for(let e=0;e<t.params.length;++e){let i=$root.sesame.v1.audio.AudioPluginParam.verify(t.params[e]);if(i)return"params."+i}}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.audio.AudioPluginControlRequest)return t;let e=new $root.sesame.v1.audio.AudioPluginControlRequest;if(t.pluginId!=null&&(e.pluginId=String(t.pluginId)),t.params){if(!Array.isArray(t.params))throw TypeError(".sesame.v1.audio.AudioPluginControlRequest.params: array expected");e.params=[];for(let i=0;i<t.params.length;++i){if(typeof t.params[i]!="object")throw TypeError(".sesame.v1.audio.AudioPluginControlRequest.params: object expected");e.params[i]=$root.sesame.v1.audio.AudioPluginParam.fromObject(t.params[i])}}return e},n.toObject=function(t,e){e||(e={});let i={};if((e.arrays||e.defaults)&&(i.params=[]),e.defaults&&(i.pluginId=""),t.pluginId!=null&&t.hasOwnProperty("pluginId")&&(i.pluginId=t.pluginId),t.params&&t.params.length){i.params=[];for(let a=0;a<t.params.length;++a)i.params[a]=$root.sesame.v1.audio.AudioPluginParam.toObject(t.params[a],e)}return i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.audio.AudioPluginControlRequest"},n}(),l.AudioChannelControlRequest=function(){function n(t){if(this.plugins=[],t)for(let e=Object.keys(t),i=0;i<e.length;++i)t[e[i]]!=null&&(this[e[i]]=t[e[i]])}n.prototype.channelId="",n.prototype.level=null,n.prototype.pan=null,n.prototype.plugins=$util.emptyArray;let r;return Object.defineProperty(n.prototype,"_level",{get:$util.oneOfGetter(r=["level"]),set:$util.oneOfSetter(r)}),Object.defineProperty(n.prototype,"_pan",{get:$util.oneOfGetter(r=["pan"]),set:$util.oneOfSetter(r)}),n.create=function(e){return new n(e)},n.encode=function(e,i){if(i||(i=$Writer.create()),e.channelId!=null&&Object.hasOwnProperty.call(e,"channelId")&&i.uint32(10).string(e.channelId),e.level!=null&&Object.hasOwnProperty.call(e,"level")&&i.uint32(21).float(e.level),e.pan!=null&&Object.hasOwnProperty.call(e,"pan")&&i.uint32(29).float(e.pan),e.plugins!=null&&e.plugins.length)for(let a=0;a<e.plugins.length;++a)$root.sesame.v1.audio.AudioPluginControlRequest.encode(e.plugins[a],i.uint32(34).fork()).ldelim();return i},n.encodeDelimited=function(e,i){return this.encode(e,i).ldelim()},n.decode=function(e,i,a){e instanceof $Reader||(e=$Reader.create(e));let s=i===void 0?e.len:e.pos+i,d=new $root.sesame.v1.audio.AudioChannelControlRequest;for(;e.pos<s;){let c=e.uint32();if(c===a)break;switch(c>>>3){case 1:{d.channelId=e.string();break}case 2:{d.level=e.float();break}case 3:{d.pan=e.float();break}case 4:{d.plugins&&d.plugins.length||(d.plugins=[]),d.plugins.push($root.sesame.v1.audio.AudioPluginControlRequest.decode(e,e.uint32()));break}default:e.skipType(c&7);break}}return d},n.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},n.verify=function(e){if(typeof e!="object"||e===null)return"object expected";if(e.channelId!=null&&e.hasOwnProperty("channelId")&&!$util.isString(e.channelId))return"channelId: string expected";if(e.level!=null&&e.hasOwnProperty("level")&&typeof e.level!="number")return"level: number expected";if(e.pan!=null&&e.hasOwnProperty("pan")&&typeof e.pan!="number")return"pan: number expected";if(e.plugins!=null&&e.hasOwnProperty("plugins")){if(!Array.isArray(e.plugins))return"plugins: array expected";for(let i=0;i<e.plugins.length;++i){let a=$root.sesame.v1.audio.AudioPluginControlRequest.verify(e.plugins[i]);if(a)return"plugins."+a}}return null},n.fromObject=function(e){if(e instanceof $root.sesame.v1.audio.AudioChannelControlRequest)return e;let i=new $root.sesame.v1.audio.AudioChannelControlRequest;if(e.channelId!=null&&(i.channelId=String(e.channelId)),e.level!=null&&(i.level=Number(e.level)),e.pan!=null&&(i.pan=Number(e.pan)),e.plugins){if(!Array.isArray(e.plugins))throw TypeError(".sesame.v1.audio.AudioChannelControlRequest.plugins: array expected");i.plugins=[];for(let a=0;a<e.plugins.length;++a){if(typeof e.plugins[a]!="object")throw TypeError(".sesame.v1.audio.AudioChannelControlRequest.plugins: object expected");i.plugins[a]=$root.sesame.v1.audio.AudioPluginControlRequest.fromObject(e.plugins[a])}}return i},n.toObject=function(e,i){i||(i={});let a={};if((i.arrays||i.defaults)&&(a.plugins=[]),i.defaults&&(a.channelId=""),e.channelId!=null&&e.hasOwnProperty("channelId")&&(a.channelId=e.channelId),e.level!=null&&e.hasOwnProperty("level")&&(a.level=i.json&&!isFinite(e.level)?String(e.level):e.level,i.oneofs&&(a._level="level")),e.pan!=null&&e.hasOwnProperty("pan")&&(a.pan=i.json&&!isFinite(e.pan)?String(e.pan):e.pan,i.oneofs&&(a._pan="pan")),e.plugins&&e.plugins.length){a.plugins=[];for(let s=0;s<e.plugins.length;++s)a.plugins[s]=$root.sesame.v1.audio.AudioPluginControlRequest.toObject(e.plugins[s],i)}return a},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/sesame.v1.audio.AudioChannelControlRequest"},n}(),l.AudioControlRequest=function(){function n(r){if(this.channels=[],r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.channels=$util.emptyArray,n.create=function(t){return new n(t)},n.encode=function(t,e){if(e||(e=$Writer.create()),t.channels!=null&&t.channels.length)for(let i=0;i<t.channels.length;++i)$root.sesame.v1.audio.AudioChannelControlRequest.encode(t.channels[i],e.uint32(10).fork()).ldelim();return e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.audio.AudioControlRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.channels&&s.channels.length||(s.channels=[]),s.channels.push($root.sesame.v1.audio.AudioChannelControlRequest.decode(t,t.uint32()));break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.channels!=null&&t.hasOwnProperty("channels")){if(!Array.isArray(t.channels))return"channels: array expected";for(let e=0;e<t.channels.length;++e){let i=$root.sesame.v1.audio.AudioChannelControlRequest.verify(t.channels[e]);if(i)return"channels."+i}}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.audio.AudioControlRequest)return t;let e=new $root.sesame.v1.audio.AudioControlRequest;if(t.channels){if(!Array.isArray(t.channels))throw TypeError(".sesame.v1.audio.AudioControlRequest.channels: array expected");e.channels=[];for(let i=0;i<t.channels.length;++i){if(typeof t.channels[i]!="object")throw TypeError(".sesame.v1.audio.AudioControlRequest.channels: object expected");e.channels[i]=$root.sesame.v1.audio.AudioChannelControlRequest.fromObject(t.channels[i])}}return e},n.toObject=function(t,e){e||(e={});let i={};if((e.arrays||e.defaults)&&(i.channels=[]),t.channels&&t.channels.length){i.channels=[];for(let a=0;a<t.channels.length;++a)i.channels[a]=$root.sesame.v1.audio.AudioChannelControlRequest.toObject(t.channels[a],e)}return i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.audio.AudioControlRequest"},n}(),l}(),o.commands=function(){const l={};return l.CommandListItem=function(){function n(t){if(this.transactionDeps=[],t)for(let e=Object.keys(t),i=0;i<e.length;++i)t[e[i]]!=null&&(this[e[i]]=t[e[i]])}n.prototype.timeOffsetUs=$util.Long?$util.Long.fromBits(0,0,!1):0,n.prototype.addSource=null,n.prototype.updateSource=null,n.prototype.removeSource=null,n.prototype.addOutput=null,n.prototype.updateOutput=null,n.prototype.removeOutput=null,n.prototype.addCompositor=null,n.prototype.removeCompositor=null,n.prototype.clearCompositor=null,n.prototype.addNode=null,n.prototype.removeNode=null,n.prototype.setProperty=null,n.prototype.animateProperty=null,n.prototype.addAudioMixer=null,n.prototype.updateAudioMixer=null,n.prototype.removeAudioMixer=null,n.prototype.addAudioChannel=null,n.prototype.removeAudioChannel=null,n.prototype.updateSourceTransport=null,n.prototype.loadPlaylist=null,n.prototype.ejectPlaylist=null,n.prototype.callback=null,n.prototype.setSourceMetadata=null,n.prototype.setMetadataBindings=null,n.prototype.transactionId=null,n.prototype.transactionDeps=$util.emptyArray;let r;return Object.defineProperty(n.prototype,"item",{get:$util.oneOfGetter(r=["addSource","updateSource","removeSource","addOutput","updateOutput","removeOutput","addCompositor","removeCompositor","clearCompositor","addNode","removeNode","setProperty","animateProperty","addAudioMixer","updateAudioMixer","removeAudioMixer","addAudioChannel","removeAudioChannel","updateSourceTransport","loadPlaylist","ejectPlaylist","callback","setSourceMetadata","setMetadataBindings"]),set:$util.oneOfSetter(r)}),Object.defineProperty(n.prototype,"_transactionId",{get:$util.oneOfGetter(r=["transactionId"]),set:$util.oneOfSetter(r)}),n.create=function(e){return new n(e)},n.encode=function(e,i){if(i||(i=$Writer.create()),e.timeOffsetUs!=null&&Object.hasOwnProperty.call(e,"timeOffsetUs")&&i.uint32(8).int64(e.timeOffsetUs),e.addSource!=null&&Object.hasOwnProperty.call(e,"addSource")&&$root.sesame.v1.sources.SourceAddRequest.encode(e.addSource,i.uint32(18).fork()).ldelim(),e.updateSource!=null&&Object.hasOwnProperty.call(e,"updateSource")&&$root.sesame.v1.sources.SourceUpdateRequest.encode(e.updateSource,i.uint32(26).fork()).ldelim(),e.removeSource!=null&&Object.hasOwnProperty.call(e,"removeSource")&&$root.sesame.v1.sources.SourceRemoveRequest.encode(e.removeSource,i.uint32(34).fork()).ldelim(),e.addOutput!=null&&Object.hasOwnProperty.call(e,"addOutput")&&$root.sesame.v1.outputs.OutputAddRequest.encode(e.addOutput,i.uint32(42).fork()).ldelim(),e.updateOutput!=null&&Object.hasOwnProperty.call(e,"updateOutput")&&$root.sesame.v1.outputs.OutputUpdateRequest.encode(e.updateOutput,i.uint32(50).fork()).ldelim(),e.removeOutput!=null&&Object.hasOwnProperty.call(e,"removeOutput")&&$root.sesame.v1.outputs.OutputRemoveRequest.encode(e.removeOutput,i.uint32(58).fork()).ldelim(),e.addCompositor!=null&&Object.hasOwnProperty.call(e,"addCompositor")&&$root.sesame.v1.compositor.CompositorAddRequest.encode(e.addCompositor,i.uint32(66).fork()).ldelim(),e.removeCompositor!=null&&Object.hasOwnProperty.call(e,"removeCompositor")&&$root.sesame.v1.compositor.CompositorRemoveRequest.encode(e.removeCompositor,i.uint32(74).fork()).ldelim(),e.clearCompositor!=null&&Object.hasOwnProperty.call(e,"clearCompositor")&&$root.sesame.v1.compositor.CompositorClearRequest.encode(e.clearCompositor,i.uint32(82).fork()).ldelim(),e.addNode!=null&&Object.hasOwnProperty.call(e,"addNode")&&$root.sesame.v1.compositor.NodeAddRequest.encode(e.addNode,i.uint32(90).fork()).ldelim(),e.removeNode!=null&&Object.hasOwnProperty.call(e,"removeNode")&&$root.sesame.v1.compositor.NodeRemoveRequest.encode(e.removeNode,i.uint32(98).fork()).ldelim(),e.setProperty!=null&&Object.hasOwnProperty.call(e,"setProperty")&&$root.sesame.v1.compositor.PropertySetRequest.encode(e.setProperty,i.uint32(106).fork()).ldelim(),e.animateProperty!=null&&Object.hasOwnProperty.call(e,"animateProperty")&&$root.sesame.v1.compositor.PropertyAnimateRequest.encode(e.animateProperty,i.uint32(114).fork()).ldelim(),e.addAudioMixer!=null&&Object.hasOwnProperty.call(e,"addAudioMixer")&&$root.sesame.v1.audio.AudioMixerAddRequest.encode(e.addAudioMixer,i.uint32(122).fork()).ldelim(),e.updateAudioMixer!=null&&Object.hasOwnProperty.call(e,"updateAudioMixer")&&$root.sesame.v1.audio.AudioMixerUpdateRequest.encode(e.updateAudioMixer,i.uint32(130).fork()).ldelim(),e.removeAudioMixer!=null&&Object.hasOwnProperty.call(e,"removeAudioMixer")&&$root.sesame.v1.audio.AudioMixerRemoveRequest.encode(e.removeAudioMixer,i.uint32(138).fork()).ldelim(),e.addAudioChannel!=null&&Object.hasOwnProperty.call(e,"addAudioChannel")&&$root.sesame.v1.audio.AudioChannelAddRequest.encode(e.addAudioChannel,i.uint32(146).fork()).ldelim(),e.removeAudioChannel!=null&&Object.hasOwnProperty.call(e,"removeAudioChannel")&&$root.sesame.v1.audio.AudioChannelRemoveRequest.encode(e.removeAudioChannel,i.uint32(154).fork()).ldelim(),e.updateSourceTransport!=null&&Object.hasOwnProperty.call(e,"updateSourceTransport")&&$root.sesame.v1.sources.SourceTransportCommand.encode(e.updateSourceTransport,i.uint32(162).fork()).ldelim(),e.loadPlaylist!=null&&Object.hasOwnProperty.call(e,"loadPlaylist")&&$root.sesame.v1.sources.LoadPlaylistRequest.encode(e.loadPlaylist,i.uint32(170).fork()).ldelim(),e.ejectPlaylist!=null&&Object.hasOwnProperty.call(e,"ejectPlaylist")&&$root.sesame.v1.sources.EjectPlaylistRequest.encode(e.ejectPlaylist,i.uint32(178).fork()).ldelim(),e.callback!=null&&Object.hasOwnProperty.call(e,"callback")&&$root.sesame.v1.common.Callback.encode(e.callback,i.uint32(186).fork()).ldelim(),e.setSourceMetadata!=null&&Object.hasOwnProperty.call(e,"setSourceMetadata")&&$root.sesame.v1.sources.SourceMetadataSetRequest.encode(e.setSourceMetadata,i.uint32(194).fork()).ldelim(),e.transactionId!=null&&Object.hasOwnProperty.call(e,"transactionId")&&i.uint32(200).uint32(e.transactionId),e.transactionDeps!=null&&e.transactionDeps.length){i.uint32(210).fork();for(let a=0;a<e.transactionDeps.length;++a)i.uint32(e.transactionDeps[a]);i.ldelim()}return e.setMetadataBindings!=null&&Object.hasOwnProperty.call(e,"setMetadataBindings")&&$root.sesame.v1.commands.SetMetadataBindingsRequest.encode(e.setMetadataBindings,i.uint32(218).fork()).ldelim(),i},n.encodeDelimited=function(e,i){return this.encode(e,i).ldelim()},n.decode=function(e,i,a){e instanceof $Reader||(e=$Reader.create(e));let s=i===void 0?e.len:e.pos+i,d=new $root.sesame.v1.commands.CommandListItem;for(;e.pos<s;){let c=e.uint32();if(c===a)break;switch(c>>>3){case 1:{d.timeOffsetUs=e.int64();break}case 2:{d.addSource=$root.sesame.v1.sources.SourceAddRequest.decode(e,e.uint32());break}case 3:{d.updateSource=$root.sesame.v1.sources.SourceUpdateRequest.decode(e,e.uint32());break}case 4:{d.removeSource=$root.sesame.v1.sources.SourceRemoveRequest.decode(e,e.uint32());break}case 5:{d.addOutput=$root.sesame.v1.outputs.OutputAddRequest.decode(e,e.uint32());break}case 6:{d.updateOutput=$root.sesame.v1.outputs.OutputUpdateRequest.decode(e,e.uint32());break}case 7:{d.removeOutput=$root.sesame.v1.outputs.OutputRemoveRequest.decode(e,e.uint32());break}case 8:{d.addCompositor=$root.sesame.v1.compositor.CompositorAddRequest.decode(e,e.uint32());break}case 9:{d.removeCompositor=$root.sesame.v1.compositor.CompositorRemoveRequest.decode(e,e.uint32());break}case 10:{d.clearCompositor=$root.sesame.v1.compositor.CompositorClearRequest.decode(e,e.uint32());break}case 11:{d.addNode=$root.sesame.v1.compositor.NodeAddRequest.decode(e,e.uint32());break}case 12:{d.removeNode=$root.sesame.v1.compositor.NodeRemoveRequest.decode(e,e.uint32());break}case 13:{d.setProperty=$root.sesame.v1.compositor.PropertySetRequest.decode(e,e.uint32());break}case 14:{d.animateProperty=$root.sesame.v1.compositor.PropertyAnimateRequest.decode(e,e.uint32());break}case 15:{d.addAudioMixer=$root.sesame.v1.audio.AudioMixerAddRequest.decode(e,e.uint32());break}case 16:{d.updateAudioMixer=$root.sesame.v1.audio.AudioMixerUpdateRequest.decode(e,e.uint32());break}case 17:{d.removeAudioMixer=$root.sesame.v1.audio.AudioMixerRemoveRequest.decode(e,e.uint32());break}case 18:{d.addAudioChannel=$root.sesame.v1.audio.AudioChannelAddRequest.decode(e,e.uint32());break}case 19:{d.removeAudioChannel=$root.sesame.v1.audio.AudioChannelRemoveRequest.decode(e,e.uint32());break}case 20:{d.updateSourceTransport=$root.sesame.v1.sources.SourceTransportCommand.decode(e,e.uint32());break}case 21:{d.loadPlaylist=$root.sesame.v1.sources.LoadPlaylistRequest.decode(e,e.uint32());break}case 22:{d.ejectPlaylist=$root.sesame.v1.sources.EjectPlaylistRequest.decode(e,e.uint32());break}case 23:{d.callback=$root.sesame.v1.common.Callback.decode(e,e.uint32());break}case 24:{d.setSourceMetadata=$root.sesame.v1.sources.SourceMetadataSetRequest.decode(e,e.uint32());break}case 27:{d.setMetadataBindings=$root.sesame.v1.commands.SetMetadataBindingsRequest.decode(e,e.uint32());break}case 25:{d.transactionId=e.uint32();break}case 26:{if(d.transactionDeps&&d.transactionDeps.length||(d.transactionDeps=[]),(c&7)===2){let F=e.uint32()+e.pos;for(;e.pos<F;)d.transactionDeps.push(e.uint32())}else d.transactionDeps.push(e.uint32());break}default:e.skipType(c&7);break}}return d},n.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},n.verify=function(e){if(typeof e!="object"||e===null)return"object expected";let i={};if(e.timeOffsetUs!=null&&e.hasOwnProperty("timeOffsetUs")&&!$util.isInteger(e.timeOffsetUs)&&!(e.timeOffsetUs&&$util.isInteger(e.timeOffsetUs.low)&&$util.isInteger(e.timeOffsetUs.high)))return"timeOffsetUs: integer|Long expected";if(e.addSource!=null&&e.hasOwnProperty("addSource")){i.item=1;{let a=$root.sesame.v1.sources.SourceAddRequest.verify(e.addSource);if(a)return"addSource."+a}}if(e.updateSource!=null&&e.hasOwnProperty("updateSource")){if(i.item===1)return"item: multiple values";i.item=1;{let a=$root.sesame.v1.sources.SourceUpdateRequest.verify(e.updateSource);if(a)return"updateSource."+a}}if(e.removeSource!=null&&e.hasOwnProperty("removeSource")){if(i.item===1)return"item: multiple values";i.item=1;{let a=$root.sesame.v1.sources.SourceRemoveRequest.verify(e.removeSource);if(a)return"removeSource."+a}}if(e.addOutput!=null&&e.hasOwnProperty("addOutput")){if(i.item===1)return"item: multiple values";i.item=1;{let a=$root.sesame.v1.outputs.OutputAddRequest.verify(e.addOutput);if(a)return"addOutput."+a}}if(e.updateOutput!=null&&e.hasOwnProperty("updateOutput")){if(i.item===1)return"item: multiple values";i.item=1;{let a=$root.sesame.v1.outputs.OutputUpdateRequest.verify(e.updateOutput);if(a)return"updateOutput."+a}}if(e.removeOutput!=null&&e.hasOwnProperty("removeOutput")){if(i.item===1)return"item: multiple values";i.item=1;{let a=$root.sesame.v1.outputs.OutputRemoveRequest.verify(e.removeOutput);if(a)return"removeOutput."+a}}if(e.addCompositor!=null&&e.hasOwnProperty("addCompositor")){if(i.item===1)return"item: multiple values";i.item=1;{let a=$root.sesame.v1.compositor.CompositorAddRequest.verify(e.addCompositor);if(a)return"addCompositor."+a}}if(e.removeCompositor!=null&&e.hasOwnProperty("removeCompositor")){if(i.item===1)return"item: multiple values";i.item=1;{let a=$root.sesame.v1.compositor.CompositorRemoveRequest.verify(e.removeCompositor);if(a)return"removeCompositor."+a}}if(e.clearCompositor!=null&&e.hasOwnProperty("clearCompositor")){if(i.item===1)return"item: multiple values";i.item=1;{let a=$root.sesame.v1.compositor.CompositorClearRequest.verify(e.clearCompositor);if(a)return"clearCompositor."+a}}if(e.addNode!=null&&e.hasOwnProperty("addNode")){if(i.item===1)return"item: multiple values";i.item=1;{let a=$root.sesame.v1.compositor.NodeAddRequest.verify(e.addNode);if(a)return"addNode."+a}}if(e.removeNode!=null&&e.hasOwnProperty("removeNode")){if(i.item===1)return"item: multiple values";i.item=1;{let a=$root.sesame.v1.compositor.NodeRemoveRequest.verify(e.removeNode);if(a)return"removeNode."+a}}if(e.setProperty!=null&&e.hasOwnProperty("setProperty")){if(i.item===1)return"item: multiple values";i.item=1;{let a=$root.sesame.v1.compositor.PropertySetRequest.verify(e.setProperty);if(a)return"setProperty."+a}}if(e.animateProperty!=null&&e.hasOwnProperty("animateProperty")){if(i.item===1)return"item: multiple values";i.item=1;{let a=$root.sesame.v1.compositor.PropertyAnimateRequest.verify(e.animateProperty);if(a)return"animateProperty."+a}}if(e.addAudioMixer!=null&&e.hasOwnProperty("addAudioMixer")){if(i.item===1)return"item: multiple values";i.item=1;{let a=$root.sesame.v1.audio.AudioMixerAddRequest.verify(e.addAudioMixer);if(a)return"addAudioMixer."+a}}if(e.updateAudioMixer!=null&&e.hasOwnProperty("updateAudioMixer")){if(i.item===1)return"item: multiple values";i.item=1;{let a=$root.sesame.v1.audio.AudioMixerUpdateRequest.verify(e.updateAudioMixer);if(a)return"updateAudioMixer."+a}}if(e.removeAudioMixer!=null&&e.hasOwnProperty("removeAudioMixer")){if(i.item===1)return"item: multiple values";i.item=1;{let a=$root.sesame.v1.audio.AudioMixerRemoveRequest.verify(e.removeAudioMixer);if(a)return"removeAudioMixer."+a}}if(e.addAudioChannel!=null&&e.hasOwnProperty("addAudioChannel")){if(i.item===1)return"item: multiple values";i.item=1;{let a=$root.sesame.v1.audio.AudioChannelAddRequest.verify(e.addAudioChannel);if(a)return"addAudioChannel."+a}}if(e.removeAudioChannel!=null&&e.hasOwnProperty("removeAudioChannel")){if(i.item===1)return"item: multiple values";i.item=1;{let a=$root.sesame.v1.audio.AudioChannelRemoveRequest.verify(e.removeAudioChannel);if(a)return"removeAudioChannel."+a}}if(e.updateSourceTransport!=null&&e.hasOwnProperty("updateSourceTransport")){if(i.item===1)return"item: multiple values";i.item=1;{let a=$root.sesame.v1.sources.SourceTransportCommand.verify(e.updateSourceTransport);if(a)return"updateSourceTransport."+a}}if(e.loadPlaylist!=null&&e.hasOwnProperty("loadPlaylist")){if(i.item===1)return"item: multiple values";i.item=1;{let a=$root.sesame.v1.sources.LoadPlaylistRequest.verify(e.loadPlaylist);if(a)return"loadPlaylist."+a}}if(e.ejectPlaylist!=null&&e.hasOwnProperty("ejectPlaylist")){if(i.item===1)return"item: multiple values";i.item=1;{let a=$root.sesame.v1.sources.EjectPlaylistRequest.verify(e.ejectPlaylist);if(a)return"ejectPlaylist."+a}}if(e.callback!=null&&e.hasOwnProperty("callback")){if(i.item===1)return"item: multiple values";i.item=1;{let a=$root.sesame.v1.common.Callback.verify(e.callback);if(a)return"callback."+a}}if(e.setSourceMetadata!=null&&e.hasOwnProperty("setSourceMetadata")){if(i.item===1)return"item: multiple values";i.item=1;{let a=$root.sesame.v1.sources.SourceMetadataSetRequest.verify(e.setSourceMetadata);if(a)return"setSourceMetadata."+a}}if(e.setMetadataBindings!=null&&e.hasOwnProperty("setMetadataBindings")){if(i.item===1)return"item: multiple values";i.item=1;{let a=$root.sesame.v1.commands.SetMetadataBindingsRequest.verify(e.setMetadataBindings);if(a)return"setMetadataBindings."+a}}if(e.transactionId!=null&&e.hasOwnProperty("transactionId")&&(i._transactionId=1,!$util.isInteger(e.transactionId)))return"transactionId: integer expected";if(e.transactionDeps!=null&&e.hasOwnProperty("transactionDeps")){if(!Array.isArray(e.transactionDeps))return"transactionDeps: array expected";for(let a=0;a<e.transactionDeps.length;++a)if(!$util.isInteger(e.transactionDeps[a]))return"transactionDeps: integer[] expected"}return null},n.fromObject=function(e){if(e instanceof $root.sesame.v1.commands.CommandListItem)return e;let i=new $root.sesame.v1.commands.CommandListItem;if(e.timeOffsetUs!=null&&($util.Long?(i.timeOffsetUs=$util.Long.fromValue(e.timeOffsetUs)).unsigned=!1:typeof e.timeOffsetUs=="string"?i.timeOffsetUs=parseInt(e.timeOffsetUs,10):typeof e.timeOffsetUs=="number"?i.timeOffsetUs=e.timeOffsetUs:typeof e.timeOffsetUs=="object"&&(i.timeOffsetUs=new $util.LongBits(e.timeOffsetUs.low>>>0,e.timeOffsetUs.high>>>0).toNumber())),e.addSource!=null){if(typeof e.addSource!="object")throw TypeError(".sesame.v1.commands.CommandListItem.addSource: object expected");i.addSource=$root.sesame.v1.sources.SourceAddRequest.fromObject(e.addSource)}if(e.updateSource!=null){if(typeof e.updateSource!="object")throw TypeError(".sesame.v1.commands.CommandListItem.updateSource: object expected");i.updateSource=$root.sesame.v1.sources.SourceUpdateRequest.fromObject(e.updateSource)}if(e.removeSource!=null){if(typeof e.removeSource!="object")throw TypeError(".sesame.v1.commands.CommandListItem.removeSource: object expected");i.removeSource=$root.sesame.v1.sources.SourceRemoveRequest.fromObject(e.removeSource)}if(e.addOutput!=null){if(typeof e.addOutput!="object")throw TypeError(".sesame.v1.commands.CommandListItem.addOutput: object expected");i.addOutput=$root.sesame.v1.outputs.OutputAddRequest.fromObject(e.addOutput)}if(e.updateOutput!=null){if(typeof e.updateOutput!="object")throw TypeError(".sesame.v1.commands.CommandListItem.updateOutput: object expected");i.updateOutput=$root.sesame.v1.outputs.OutputUpdateRequest.fromObject(e.updateOutput)}if(e.removeOutput!=null){if(typeof e.removeOutput!="object")throw TypeError(".sesame.v1.commands.CommandListItem.removeOutput: object expected");i.removeOutput=$root.sesame.v1.outputs.OutputRemoveRequest.fromObject(e.removeOutput)}if(e.addCompositor!=null){if(typeof e.addCompositor!="object")throw TypeError(".sesame.v1.commands.CommandListItem.addCompositor: object expected");i.addCompositor=$root.sesame.v1.compositor.CompositorAddRequest.fromObject(e.addCompositor)}if(e.removeCompositor!=null){if(typeof e.removeCompositor!="object")throw TypeError(".sesame.v1.commands.CommandListItem.removeCompositor: object expected");i.removeCompositor=$root.sesame.v1.compositor.CompositorRemoveRequest.fromObject(e.removeCompositor)}if(e.clearCompositor!=null){if(typeof e.clearCompositor!="object")throw TypeError(".sesame.v1.commands.CommandListItem.clearCompositor: object expected");i.clearCompositor=$root.sesame.v1.compositor.CompositorClearRequest.fromObject(e.clearCompositor)}if(e.addNode!=null){if(typeof e.addNode!="object")throw TypeError(".sesame.v1.commands.CommandListItem.addNode: object expected");i.addNode=$root.sesame.v1.compositor.NodeAddRequest.fromObject(e.addNode)}if(e.removeNode!=null){if(typeof e.removeNode!="object")throw TypeError(".sesame.v1.commands.CommandListItem.removeNode: object expected");i.removeNode=$root.sesame.v1.compositor.NodeRemoveRequest.fromObject(e.removeNode)}if(e.setProperty!=null){if(typeof e.setProperty!="object")throw TypeError(".sesame.v1.commands.CommandListItem.setProperty: object expected");i.setProperty=$root.sesame.v1.compositor.PropertySetRequest.fromObject(e.setProperty)}if(e.animateProperty!=null){if(typeof e.animateProperty!="object")throw TypeError(".sesame.v1.commands.CommandListItem.animateProperty: object expected");i.animateProperty=$root.sesame.v1.compositor.PropertyAnimateRequest.fromObject(e.animateProperty)}if(e.addAudioMixer!=null){if(typeof e.addAudioMixer!="object")throw TypeError(".sesame.v1.commands.CommandListItem.addAudioMixer: object expected");i.addAudioMixer=$root.sesame.v1.audio.AudioMixerAddRequest.fromObject(e.addAudioMixer)}if(e.updateAudioMixer!=null){if(typeof e.updateAudioMixer!="object")throw TypeError(".sesame.v1.commands.CommandListItem.updateAudioMixer: object expected");i.updateAudioMixer=$root.sesame.v1.audio.AudioMixerUpdateRequest.fromObject(e.updateAudioMixer)}if(e.removeAudioMixer!=null){if(typeof e.removeAudioMixer!="object")throw TypeError(".sesame.v1.commands.CommandListItem.removeAudioMixer: object expected");i.removeAudioMixer=$root.sesame.v1.audio.AudioMixerRemoveRequest.fromObject(e.removeAudioMixer)}if(e.addAudioChannel!=null){if(typeof e.addAudioChannel!="object")throw TypeError(".sesame.v1.commands.CommandListItem.addAudioChannel: object expected");i.addAudioChannel=$root.sesame.v1.audio.AudioChannelAddRequest.fromObject(e.addAudioChannel)}if(e.removeAudioChannel!=null){if(typeof e.removeAudioChannel!="object")throw TypeError(".sesame.v1.commands.CommandListItem.removeAudioChannel: object expected");i.removeAudioChannel=$root.sesame.v1.audio.AudioChannelRemoveRequest.fromObject(e.removeAudioChannel)}if(e.updateSourceTransport!=null){if(typeof e.updateSourceTransport!="object")throw TypeError(".sesame.v1.commands.CommandListItem.updateSourceTransport: object expected");i.updateSourceTransport=$root.sesame.v1.sources.SourceTransportCommand.fromObject(e.updateSourceTransport)}if(e.loadPlaylist!=null){if(typeof e.loadPlaylist!="object")throw TypeError(".sesame.v1.commands.CommandListItem.loadPlaylist: object expected");i.loadPlaylist=$root.sesame.v1.sources.LoadPlaylistRequest.fromObject(e.loadPlaylist)}if(e.ejectPlaylist!=null){if(typeof e.ejectPlaylist!="object")throw TypeError(".sesame.v1.commands.CommandListItem.ejectPlaylist: object expected");i.ejectPlaylist=$root.sesame.v1.sources.EjectPlaylistRequest.fromObject(e.ejectPlaylist)}if(e.callback!=null){if(typeof e.callback!="object")throw TypeError(".sesame.v1.commands.CommandListItem.callback: object expected");i.callback=$root.sesame.v1.common.Callback.fromObject(e.callback)}if(e.setSourceMetadata!=null){if(typeof e.setSourceMetadata!="object")throw TypeError(".sesame.v1.commands.CommandListItem.setSourceMetadata: object expected");i.setSourceMetadata=$root.sesame.v1.sources.SourceMetadataSetRequest.fromObject(e.setSourceMetadata)}if(e.setMetadataBindings!=null){if(typeof e.setMetadataBindings!="object")throw TypeError(".sesame.v1.commands.CommandListItem.setMetadataBindings: object expected");i.setMetadataBindings=$root.sesame.v1.commands.SetMetadataBindingsRequest.fromObject(e.setMetadataBindings)}if(e.transactionId!=null&&(i.transactionId=e.transactionId>>>0),e.transactionDeps){if(!Array.isArray(e.transactionDeps))throw TypeError(".sesame.v1.commands.CommandListItem.transactionDeps: array expected");i.transactionDeps=[];for(let a=0;a<e.transactionDeps.length;++a)i.transactionDeps[a]=e.transactionDeps[a]>>>0}return i},n.toObject=function(e,i){i||(i={});let a={};if((i.arrays||i.defaults)&&(a.transactionDeps=[]),i.defaults)if($util.Long){let s=new $util.Long(0,0,!1);a.timeOffsetUs=i.longs===String?s.toString():i.longs===Number?s.toNumber():s}else a.timeOffsetUs=i.longs===String?"0":0;if(e.timeOffsetUs!=null&&e.hasOwnProperty("timeOffsetUs")&&(typeof e.timeOffsetUs=="number"?a.timeOffsetUs=i.longs===String?String(e.timeOffsetUs):e.timeOffsetUs:a.timeOffsetUs=i.longs===String?$util.Long.prototype.toString.call(e.timeOffsetUs):i.longs===Number?new $util.LongBits(e.timeOffsetUs.low>>>0,e.timeOffsetUs.high>>>0).toNumber():e.timeOffsetUs),e.addSource!=null&&e.hasOwnProperty("addSource")&&(a.addSource=$root.sesame.v1.sources.SourceAddRequest.toObject(e.addSource,i),i.oneofs&&(a.item="addSource")),e.updateSource!=null&&e.hasOwnProperty("updateSource")&&(a.updateSource=$root.sesame.v1.sources.SourceUpdateRequest.toObject(e.updateSource,i),i.oneofs&&(a.item="updateSource")),e.removeSource!=null&&e.hasOwnProperty("removeSource")&&(a.removeSource=$root.sesame.v1.sources.SourceRemoveRequest.toObject(e.removeSource,i),i.oneofs&&(a.item="removeSource")),e.addOutput!=null&&e.hasOwnProperty("addOutput")&&(a.addOutput=$root.sesame.v1.outputs.OutputAddRequest.toObject(e.addOutput,i),i.oneofs&&(a.item="addOutput")),e.updateOutput!=null&&e.hasOwnProperty("updateOutput")&&(a.updateOutput=$root.sesame.v1.outputs.OutputUpdateRequest.toObject(e.updateOutput,i),i.oneofs&&(a.item="updateOutput")),e.removeOutput!=null&&e.hasOwnProperty("removeOutput")&&(a.removeOutput=$root.sesame.v1.outputs.OutputRemoveRequest.toObject(e.removeOutput,i),i.oneofs&&(a.item="removeOutput")),e.addCompositor!=null&&e.hasOwnProperty("addCompositor")&&(a.addCompositor=$root.sesame.v1.compositor.CompositorAddRequest.toObject(e.addCompositor,i),i.oneofs&&(a.item="addCompositor")),e.removeCompositor!=null&&e.hasOwnProperty("removeCompositor")&&(a.removeCompositor=$root.sesame.v1.compositor.CompositorRemoveRequest.toObject(e.removeCompositor,i),i.oneofs&&(a.item="removeCompositor")),e.clearCompositor!=null&&e.hasOwnProperty("clearCompositor")&&(a.clearCompositor=$root.sesame.v1.compositor.CompositorClearRequest.toObject(e.clearCompositor,i),i.oneofs&&(a.item="clearCompositor")),e.addNode!=null&&e.hasOwnProperty("addNode")&&(a.addNode=$root.sesame.v1.compositor.NodeAddRequest.toObject(e.addNode,i),i.oneofs&&(a.item="addNode")),e.removeNode!=null&&e.hasOwnProperty("removeNode")&&(a.removeNode=$root.sesame.v1.compositor.NodeRemoveRequest.toObject(e.removeNode,i),i.oneofs&&(a.item="removeNode")),e.setProperty!=null&&e.hasOwnProperty("setProperty")&&(a.setProperty=$root.sesame.v1.compositor.PropertySetRequest.toObject(e.setProperty,i),i.oneofs&&(a.item="setProperty")),e.animateProperty!=null&&e.hasOwnProperty("animateProperty")&&(a.animateProperty=$root.sesame.v1.compositor.PropertyAnimateRequest.toObject(e.animateProperty,i),i.oneofs&&(a.item="animateProperty")),e.addAudioMixer!=null&&e.hasOwnProperty("addAudioMixer")&&(a.addAudioMixer=$root.sesame.v1.audio.AudioMixerAddRequest.toObject(e.addAudioMixer,i),i.oneofs&&(a.item="addAudioMixer")),e.updateAudioMixer!=null&&e.hasOwnProperty("updateAudioMixer")&&(a.updateAudioMixer=$root.sesame.v1.audio.AudioMixerUpdateRequest.toObject(e.updateAudioMixer,i),i.oneofs&&(a.item="updateAudioMixer")),e.removeAudioMixer!=null&&e.hasOwnProperty("removeAudioMixer")&&(a.removeAudioMixer=$root.sesame.v1.audio.AudioMixerRemoveRequest.toObject(e.removeAudioMixer,i),i.oneofs&&(a.item="removeAudioMixer")),e.addAudioChannel!=null&&e.hasOwnProperty("addAudioChannel")&&(a.addAudioChannel=$root.sesame.v1.audio.AudioChannelAddRequest.toObject(e.addAudioChannel,i),i.oneofs&&(a.item="addAudioChannel")),e.removeAudioChannel!=null&&e.hasOwnProperty("removeAudioChannel")&&(a.removeAudioChannel=$root.sesame.v1.audio.AudioChannelRemoveRequest.toObject(e.removeAudioChannel,i),i.oneofs&&(a.item="removeAudioChannel")),e.updateSourceTransport!=null&&e.hasOwnProperty("updateSourceTransport")&&(a.updateSourceTransport=$root.sesame.v1.sources.SourceTransportCommand.toObject(e.updateSourceTransport,i),i.oneofs&&(a.item="updateSourceTransport")),e.loadPlaylist!=null&&e.hasOwnProperty("loadPlaylist")&&(a.loadPlaylist=$root.sesame.v1.sources.LoadPlaylistRequest.toObject(e.loadPlaylist,i),i.oneofs&&(a.item="loadPlaylist")),e.ejectPlaylist!=null&&e.hasOwnProperty("ejectPlaylist")&&(a.ejectPlaylist=$root.sesame.v1.sources.EjectPlaylistRequest.toObject(e.ejectPlaylist,i),i.oneofs&&(a.item="ejectPlaylist")),e.callback!=null&&e.hasOwnProperty("callback")&&(a.callback=$root.sesame.v1.common.Callback.toObject(e.callback,i),i.oneofs&&(a.item="callback")),e.setSourceMetadata!=null&&e.hasOwnProperty("setSourceMetadata")&&(a.setSourceMetadata=$root.sesame.v1.sources.SourceMetadataSetRequest.toObject(e.setSourceMetadata,i),i.oneofs&&(a.item="setSourceMetadata")),e.transactionId!=null&&e.hasOwnProperty("transactionId")&&(a.transactionId=e.transactionId,i.oneofs&&(a._transactionId="transactionId")),e.transactionDeps&&e.transactionDeps.length){a.transactionDeps=[];for(let s=0;s<e.transactionDeps.length;++s)a.transactionDeps[s]=e.transactionDeps[s]}return e.setMetadataBindings!=null&&e.hasOwnProperty("setMetadataBindings")&&(a.setMetadataBindings=$root.sesame.v1.commands.SetMetadataBindingsRequest.toObject(e.setMetadataBindings,i),i.oneofs&&(a.item="setMetadataBindings")),a},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/sesame.v1.commands.CommandListItem"},n}(),l.MetadataEndpoint=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.node="",n.prototype.track="",n.prototype.metadataId="",n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.node!=null&&Object.hasOwnProperty.call(t,"node")&&e.uint32(10).string(t.node),t.track!=null&&Object.hasOwnProperty.call(t,"track")&&e.uint32(18).string(t.track),t.metadataId!=null&&Object.hasOwnProperty.call(t,"metadataId")&&e.uint32(26).string(t.metadataId),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.commands.MetadataEndpoint;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.node=t.string();break}case 2:{s.track=t.string();break}case 3:{s.metadataId=t.string();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.node!=null&&t.hasOwnProperty("node")&&!$util.isString(t.node)?"node: string expected":t.track!=null&&t.hasOwnProperty("track")&&!$util.isString(t.track)?"track: string expected":t.metadataId!=null&&t.hasOwnProperty("metadataId")&&!$util.isString(t.metadataId)?"metadataId: string expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.commands.MetadataEndpoint)return t;let e=new $root.sesame.v1.commands.MetadataEndpoint;return t.node!=null&&(e.node=String(t.node)),t.track!=null&&(e.track=String(t.track)),t.metadataId!=null&&(e.metadataId=String(t.metadataId)),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.node="",i.track="",i.metadataId=""),t.node!=null&&t.hasOwnProperty("node")&&(i.node=t.node),t.track!=null&&t.hasOwnProperty("track")&&(i.track=t.track),t.metadataId!=null&&t.hasOwnProperty("metadataId")&&(i.metadataId=t.metadataId),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.commands.MetadataEndpoint"},n}(),l.MetadataBinding=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.from=null,n.prototype.to=null,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.from!=null&&Object.hasOwnProperty.call(t,"from")&&$root.sesame.v1.commands.MetadataEndpoint.encode(t.from,e.uint32(10).fork()).ldelim(),t.to!=null&&Object.hasOwnProperty.call(t,"to")&&$root.sesame.v1.commands.MetadataEndpoint.encode(t.to,e.uint32(18).fork()).ldelim(),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.commands.MetadataBinding;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.from=$root.sesame.v1.commands.MetadataEndpoint.decode(t,t.uint32());break}case 2:{s.to=$root.sesame.v1.commands.MetadataEndpoint.decode(t,t.uint32());break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.from!=null&&t.hasOwnProperty("from")){let e=$root.sesame.v1.commands.MetadataEndpoint.verify(t.from);if(e)return"from."+e}if(t.to!=null&&t.hasOwnProperty("to")){let e=$root.sesame.v1.commands.MetadataEndpoint.verify(t.to);if(e)return"to."+e}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.commands.MetadataBinding)return t;let e=new $root.sesame.v1.commands.MetadataBinding;if(t.from!=null){if(typeof t.from!="object")throw TypeError(".sesame.v1.commands.MetadataBinding.from: object expected");e.from=$root.sesame.v1.commands.MetadataEndpoint.fromObject(t.from)}if(t.to!=null){if(typeof t.to!="object")throw TypeError(".sesame.v1.commands.MetadataBinding.to: object expected");e.to=$root.sesame.v1.commands.MetadataEndpoint.fromObject(t.to)}return e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.from=null,i.to=null),t.from!=null&&t.hasOwnProperty("from")&&(i.from=$root.sesame.v1.commands.MetadataEndpoint.toObject(t.from,e)),t.to!=null&&t.hasOwnProperty("to")&&(i.to=$root.sesame.v1.commands.MetadataEndpoint.toObject(t.to,e)),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.commands.MetadataBinding"},n}(),l.SetMetadataBindingsRequest=function(){function n(r){if(this.bindings=[],r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.bindings=$util.emptyArray,n.create=function(t){return new n(t)},n.encode=function(t,e){if(e||(e=$Writer.create()),t.bindings!=null&&t.bindings.length)for(let i=0;i<t.bindings.length;++i)$root.sesame.v1.commands.MetadataBinding.encode(t.bindings[i],e.uint32(10).fork()).ldelim();return e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.commands.SetMetadataBindingsRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.bindings&&s.bindings.length||(s.bindings=[]),s.bindings.push($root.sesame.v1.commands.MetadataBinding.decode(t,t.uint32()));break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.bindings!=null&&t.hasOwnProperty("bindings")){if(!Array.isArray(t.bindings))return"bindings: array expected";for(let e=0;e<t.bindings.length;++e){let i=$root.sesame.v1.commands.MetadataBinding.verify(t.bindings[e]);if(i)return"bindings."+i}}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.commands.SetMetadataBindingsRequest)return t;let e=new $root.sesame.v1.commands.SetMetadataBindingsRequest;if(t.bindings){if(!Array.isArray(t.bindings))throw TypeError(".sesame.v1.commands.SetMetadataBindingsRequest.bindings: array expected");e.bindings=[];for(let i=0;i<t.bindings.length;++i){if(typeof t.bindings[i]!="object")throw TypeError(".sesame.v1.commands.SetMetadataBindingsRequest.bindings: object expected");e.bindings[i]=$root.sesame.v1.commands.MetadataBinding.fromObject(t.bindings[i])}}return e},n.toObject=function(t,e){e||(e={});let i={};if((e.arrays||e.defaults)&&(i.bindings=[]),t.bindings&&t.bindings.length){i.bindings=[];for(let a=0;a<t.bindings.length;++a)i.bindings[a]=$root.sesame.v1.commands.MetadataBinding.toObject(t.bindings[a],e)}return i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.commands.SetMetadataBindingsRequest"},n}(),l.CommandList=function(){function n(r){if(this.commandList=[],r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.commandList=$util.emptyArray,n.create=function(t){return new n(t)},n.encode=function(t,e){if(e||(e=$Writer.create()),t.commandList!=null&&t.commandList.length)for(let i=0;i<t.commandList.length;++i)$root.sesame.v1.commands.CommandListItem.encode(t.commandList[i],e.uint32(10).fork()).ldelim();return e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.commands.CommandList;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.commandList&&s.commandList.length||(s.commandList=[]),s.commandList.push($root.sesame.v1.commands.CommandListItem.decode(t,t.uint32()));break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.commandList!=null&&t.hasOwnProperty("commandList")){if(!Array.isArray(t.commandList))return"commandList: array expected";for(let e=0;e<t.commandList.length;++e){let i=$root.sesame.v1.commands.CommandListItem.verify(t.commandList[e]);if(i)return"commandList."+i}}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.commands.CommandList)return t;let e=new $root.sesame.v1.commands.CommandList;if(t.commandList){if(!Array.isArray(t.commandList))throw TypeError(".sesame.v1.commands.CommandList.commandList: array expected");e.commandList=[];for(let i=0;i<t.commandList.length;++i){if(typeof t.commandList[i]!="object")throw TypeError(".sesame.v1.commands.CommandList.commandList: object expected");e.commandList[i]=$root.sesame.v1.commands.CommandListItem.fromObject(t.commandList[i])}}return e},n.toObject=function(t,e){e||(e={});let i={};if((e.arrays||e.defaults)&&(i.commandList=[]),t.commandList&&t.commandList.length){i.commandList=[];for(let a=0;a<t.commandList.length;++a)i.commandList[a]=$root.sesame.v1.commands.CommandListItem.toObject(t.commandList[a],e)}return i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.commands.CommandList"},n}(),l.CommandExecutionResponse=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.commands.CommandExecutionResponse;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":null},n.fromObject=function(t){return t instanceof $root.sesame.v1.commands.CommandExecutionResponse?t:new $root.sesame.v1.commands.CommandExecutionResponse},n.toObject=function(){return{}},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.commands.CommandExecutionResponse"},n}(),l}(),o.common=function(){const l={};return l.ConnectionState=function(){const n={},r=Object.create(n);return r[n[0]="CONNECTION_STATE_UNSPECIFIED"]=0,r[n[1]="CONNECTION_STATE_INITIALIZING"]=1,r[n[2]="CONNECTION_STATE_CONNECTING"]=2,r[n[3]="CONNECTION_STATE_ONLINE"]=3,r[n[4]="CONNECTION_STATE_DEGRADED"]=4,r[n[5]="CONNECTION_STATE_OFFLINE"]=5,r[n[6]="CONNECTION_STATE_ERROR"]=6,r}(),l.VideoFormat=function(){const n={},r=Object.create(n);return r[n[0]="VIDEO_FORMAT_UNSPECIFIED"]=0,r[n[1]="VIDEO_FORMAT_1080_50I"]=1,r[n[2]="VIDEO_FORMAT_1080_50P"]=2,r[n[3]="VIDEO_FORMAT_1080_60I"]=3,r[n[4]="VIDEO_FORMAT_1080_60P"]=4,r}(),l.CodecType=function(){const n={},r=Object.create(n);return r[n[0]="CODEC_TYPE_UNSPECIFIED"]=0,r[n[1]="CODEC_TYPE_VIDEO_VP8"]=1,r[n[2]="CODEC_TYPE_VIDEO_VP9"]=2,r[n[3]="CODEC_TYPE_VIDEO_AVC"]=3,r[n[4]="CODEC_TYPE_VIDEO_HEVC"]=4,r[n[5]="CODEC_TYPE_VIDEO_AV1"]=5,r[n[6]="CODEC_TYPE_VIDEO_PRORES"]=6,r[n[7]="CODEC_TYPE_VIDEO_DNXHR"]=7,r[n[64]="CODEC_TYPE_AUDIO_OPUS"]=64,r[n[65]="CODEC_TYPE_AUDIO_AAC"]=65,r[n[66]="CODEC_TYPE_AUDIO_PCM"]=66,r[n[67]="CODEC_TYPE_AUDIO_PCM_S24LE"]=67,r}(),l.Empty=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.common.Empty;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":null},n.fromObject=function(t){return t instanceof $root.sesame.v1.common.Empty?t:new $root.sesame.v1.common.Empty},n.toObject=function(){return{}},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.common.Empty"},n}(),l.Vec4=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.x=0,n.prototype.y=0,n.prototype.z=0,n.prototype.w=0,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.x!=null&&Object.hasOwnProperty.call(t,"x")&&e.uint32(13).float(t.x),t.y!=null&&Object.hasOwnProperty.call(t,"y")&&e.uint32(21).float(t.y),t.z!=null&&Object.hasOwnProperty.call(t,"z")&&e.uint32(29).float(t.z),t.w!=null&&Object.hasOwnProperty.call(t,"w")&&e.uint32(37).float(t.w),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.common.Vec4;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.x=t.float();break}case 2:{s.y=t.float();break}case 3:{s.z=t.float();break}case 4:{s.w=t.float();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.x!=null&&t.hasOwnProperty("x")&&typeof t.x!="number"?"x: number expected":t.y!=null&&t.hasOwnProperty("y")&&typeof t.y!="number"?"y: number expected":t.z!=null&&t.hasOwnProperty("z")&&typeof t.z!="number"?"z: number expected":t.w!=null&&t.hasOwnProperty("w")&&typeof t.w!="number"?"w: number expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.common.Vec4)return t;let e=new $root.sesame.v1.common.Vec4;return t.x!=null&&(e.x=Number(t.x)),t.y!=null&&(e.y=Number(t.y)),t.z!=null&&(e.z=Number(t.z)),t.w!=null&&(e.w=Number(t.w)),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.x=0,i.y=0,i.z=0,i.w=0),t.x!=null&&t.hasOwnProperty("x")&&(i.x=e.json&&!isFinite(t.x)?String(t.x):t.x),t.y!=null&&t.hasOwnProperty("y")&&(i.y=e.json&&!isFinite(t.y)?String(t.y):t.y),t.z!=null&&t.hasOwnProperty("z")&&(i.z=e.json&&!isFinite(t.z)?String(t.z):t.z),t.w!=null&&t.hasOwnProperty("w")&&(i.w=e.json&&!isFinite(t.w)?String(t.w):t.w),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.common.Vec4"},n}(),l.PropValue=function(){function n(t){if(t)for(let e=Object.keys(t),i=0;i<e.length;++i)t[e[i]]!=null&&(this[e[i]]=t[e[i]])}n.prototype.floatValue=null,n.prototype.vec4Value=null,n.prototype.stringValue=null,n.prototype.boolValue=null,n.prototype.intValue=null;let r;return Object.defineProperty(n.prototype,"value",{get:$util.oneOfGetter(r=["floatValue","vec4Value","stringValue","boolValue","intValue"]),set:$util.oneOfSetter(r)}),n.create=function(e){return new n(e)},n.encode=function(e,i){return i||(i=$Writer.create()),e.floatValue!=null&&Object.hasOwnProperty.call(e,"floatValue")&&i.uint32(13).float(e.floatValue),e.vec4Value!=null&&Object.hasOwnProperty.call(e,"vec4Value")&&$root.sesame.v1.common.Vec4.encode(e.vec4Value,i.uint32(18).fork()).ldelim(),e.stringValue!=null&&Object.hasOwnProperty.call(e,"stringValue")&&i.uint32(26).string(e.stringValue),e.boolValue!=null&&Object.hasOwnProperty.call(e,"boolValue")&&i.uint32(32).bool(e.boolValue),e.intValue!=null&&Object.hasOwnProperty.call(e,"intValue")&&i.uint32(40).int64(e.intValue),i},n.encodeDelimited=function(e,i){return this.encode(e,i).ldelim()},n.decode=function(e,i,a){e instanceof $Reader||(e=$Reader.create(e));let s=i===void 0?e.len:e.pos+i,d=new $root.sesame.v1.common.PropValue;for(;e.pos<s;){let c=e.uint32();if(c===a)break;switch(c>>>3){case 1:{d.floatValue=e.float();break}case 2:{d.vec4Value=$root.sesame.v1.common.Vec4.decode(e,e.uint32());break}case 3:{d.stringValue=e.string();break}case 4:{d.boolValue=e.bool();break}case 5:{d.intValue=e.int64();break}default:e.skipType(c&7);break}}return d},n.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},n.verify=function(e){if(typeof e!="object"||e===null)return"object expected";let i={};if(e.floatValue!=null&&e.hasOwnProperty("floatValue")&&(i.value=1,typeof e.floatValue!="number"))return"floatValue: number expected";if(e.vec4Value!=null&&e.hasOwnProperty("vec4Value")){if(i.value===1)return"value: multiple values";i.value=1;{let a=$root.sesame.v1.common.Vec4.verify(e.vec4Value);if(a)return"vec4Value."+a}}if(e.stringValue!=null&&e.hasOwnProperty("stringValue")){if(i.value===1)return"value: multiple values";if(i.value=1,!$util.isString(e.stringValue))return"stringValue: string expected"}if(e.boolValue!=null&&e.hasOwnProperty("boolValue")){if(i.value===1)return"value: multiple values";if(i.value=1,typeof e.boolValue!="boolean")return"boolValue: boolean expected"}if(e.intValue!=null&&e.hasOwnProperty("intValue")){if(i.value===1)return"value: multiple values";if(i.value=1,!$util.isInteger(e.intValue)&&!(e.intValue&&$util.isInteger(e.intValue.low)&&$util.isInteger(e.intValue.high)))return"intValue: integer|Long expected"}return null},n.fromObject=function(e){if(e instanceof $root.sesame.v1.common.PropValue)return e;let i=new $root.sesame.v1.common.PropValue;if(e.floatValue!=null&&(i.floatValue=Number(e.floatValue)),e.vec4Value!=null){if(typeof e.vec4Value!="object")throw TypeError(".sesame.v1.common.PropValue.vec4Value: object expected");i.vec4Value=$root.sesame.v1.common.Vec4.fromObject(e.vec4Value)}return e.stringValue!=null&&(i.stringValue=String(e.stringValue)),e.boolValue!=null&&(i.boolValue=!!e.boolValue),e.intValue!=null&&($util.Long?(i.intValue=$util.Long.fromValue(e.intValue)).unsigned=!1:typeof e.intValue=="string"?i.intValue=parseInt(e.intValue,10):typeof e.intValue=="number"?i.intValue=e.intValue:typeof e.intValue=="object"&&(i.intValue=new $util.LongBits(e.intValue.low>>>0,e.intValue.high>>>0).toNumber())),i},n.toObject=function(e,i){i||(i={});let a={};return e.floatValue!=null&&e.hasOwnProperty("floatValue")&&(a.floatValue=i.json&&!isFinite(e.floatValue)?String(e.floatValue):e.floatValue,i.oneofs&&(a.value="floatValue")),e.vec4Value!=null&&e.hasOwnProperty("vec4Value")&&(a.vec4Value=$root.sesame.v1.common.Vec4.toObject(e.vec4Value,i),i.oneofs&&(a.value="vec4Value")),e.stringValue!=null&&e.hasOwnProperty("stringValue")&&(a.stringValue=e.stringValue,i.oneofs&&(a.value="stringValue")),e.boolValue!=null&&e.hasOwnProperty("boolValue")&&(a.boolValue=e.boolValue,i.oneofs&&(a.value="boolValue")),e.intValue!=null&&e.hasOwnProperty("intValue")&&(typeof e.intValue=="number"?a.intValue=i.longs===String?String(e.intValue):e.intValue:a.intValue=i.longs===String?$util.Long.prototype.toString.call(e.intValue):i.longs===Number?new $util.LongBits(e.intValue.low>>>0,e.intValue.high>>>0).toNumber():e.intValue,i.oneofs&&(a.value="intValue")),a},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/sesame.v1.common.PropValue"},n}(),l.PropertyDomain=function(){function n(t){if(t)for(let e=Object.keys(t),i=0;i<e.length;++i)t[e[i]]!=null&&(this[e[i]]=t[e[i]])}n.prototype.compositorId=null,n.prototype.audioMixerId=null,n.prototype.replayId=null,n.prototype.sourceId=null;let r;return Object.defineProperty(n.prototype,"owner",{get:$util.oneOfGetter(r=["compositorId","audioMixerId","replayId","sourceId"]),set:$util.oneOfSetter(r)}),n.create=function(e){return new n(e)},n.encode=function(e,i){return i||(i=$Writer.create()),e.compositorId!=null&&Object.hasOwnProperty.call(e,"compositorId")&&i.uint32(10).string(e.compositorId),e.audioMixerId!=null&&Object.hasOwnProperty.call(e,"audioMixerId")&&i.uint32(18).string(e.audioMixerId),e.replayId!=null&&Object.hasOwnProperty.call(e,"replayId")&&i.uint32(26).string(e.replayId),e.sourceId!=null&&Object.hasOwnProperty.call(e,"sourceId")&&i.uint32(34).string(e.sourceId),i},n.encodeDelimited=function(e,i){return this.encode(e,i).ldelim()},n.decode=function(e,i,a){e instanceof $Reader||(e=$Reader.create(e));let s=i===void 0?e.len:e.pos+i,d=new $root.sesame.v1.common.PropertyDomain;for(;e.pos<s;){let c=e.uint32();if(c===a)break;switch(c>>>3){case 1:{d.compositorId=e.string();break}case 2:{d.audioMixerId=e.string();break}case 3:{d.replayId=e.string();break}case 4:{d.sourceId=e.string();break}default:e.skipType(c&7);break}}return d},n.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},n.verify=function(e){if(typeof e!="object"||e===null)return"object expected";let i={};if(e.compositorId!=null&&e.hasOwnProperty("compositorId")&&(i.owner=1,!$util.isString(e.compositorId)))return"compositorId: string expected";if(e.audioMixerId!=null&&e.hasOwnProperty("audioMixerId")){if(i.owner===1)return"owner: multiple values";if(i.owner=1,!$util.isString(e.audioMixerId))return"audioMixerId: string expected"}if(e.replayId!=null&&e.hasOwnProperty("replayId")){if(i.owner===1)return"owner: multiple values";if(i.owner=1,!$util.isString(e.replayId))return"replayId: string expected"}if(e.sourceId!=null&&e.hasOwnProperty("sourceId")){if(i.owner===1)return"owner: multiple values";if(i.owner=1,!$util.isString(e.sourceId))return"sourceId: string expected"}return null},n.fromObject=function(e){if(e instanceof $root.sesame.v1.common.PropertyDomain)return e;let i=new $root.sesame.v1.common.PropertyDomain;return e.compositorId!=null&&(i.compositorId=String(e.compositorId)),e.audioMixerId!=null&&(i.audioMixerId=String(e.audioMixerId)),e.replayId!=null&&(i.replayId=String(e.replayId)),e.sourceId!=null&&(i.sourceId=String(e.sourceId)),i},n.toObject=function(e,i){i||(i={});let a={};return e.compositorId!=null&&e.hasOwnProperty("compositorId")&&(a.compositorId=e.compositorId,i.oneofs&&(a.owner="compositorId")),e.audioMixerId!=null&&e.hasOwnProperty("audioMixerId")&&(a.audioMixerId=e.audioMixerId,i.oneofs&&(a.owner="audioMixerId")),e.replayId!=null&&e.hasOwnProperty("replayId")&&(a.replayId=e.replayId,i.oneofs&&(a.owner="replayId")),e.sourceId!=null&&e.hasOwnProperty("sourceId")&&(a.sourceId=e.sourceId,i.oneofs&&(a.owner="sourceId")),a},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/sesame.v1.common.PropertyDomain"},n}(),l.NameValue=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.name="",n.prototype.value=null,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.name!=null&&Object.hasOwnProperty.call(t,"name")&&e.uint32(10).string(t.name),t.value!=null&&Object.hasOwnProperty.call(t,"value")&&$root.sesame.v1.common.PropValue.encode(t.value,e.uint32(18).fork()).ldelim(),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.common.NameValue;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.name=t.string();break}case 2:{s.value=$root.sesame.v1.common.PropValue.decode(t,t.uint32());break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.name!=null&&t.hasOwnProperty("name")&&!$util.isString(t.name))return"name: string expected";if(t.value!=null&&t.hasOwnProperty("value")){let e=$root.sesame.v1.common.PropValue.verify(t.value);if(e)return"value."+e}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.common.NameValue)return t;let e=new $root.sesame.v1.common.NameValue;if(t.name!=null&&(e.name=String(t.name)),t.value!=null){if(typeof t.value!="object")throw TypeError(".sesame.v1.common.NameValue.value: object expected");e.value=$root.sesame.v1.common.PropValue.fromObject(t.value)}return e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.name="",i.value=null),t.name!=null&&t.hasOwnProperty("name")&&(i.name=t.name),t.value!=null&&t.hasOwnProperty("value")&&(i.value=$root.sesame.v1.common.PropValue.toObject(t.value,e)),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.common.NameValue"},n}(),l.TransportMetadata=function(){function n(r){if(this.items=[],r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.items=$util.emptyArray,n.create=function(t){return new n(t)},n.encode=function(t,e){if(e||(e=$Writer.create()),t.items!=null&&t.items.length)for(let i=0;i<t.items.length;++i)$root.sesame.v1.common.NameValue.encode(t.items[i],e.uint32(10).fork()).ldelim();return e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.common.TransportMetadata;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.items&&s.items.length||(s.items=[]),s.items.push($root.sesame.v1.common.NameValue.decode(t,t.uint32()));break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.items!=null&&t.hasOwnProperty("items")){if(!Array.isArray(t.items))return"items: array expected";for(let e=0;e<t.items.length;++e){let i=$root.sesame.v1.common.NameValue.verify(t.items[e]);if(i)return"items."+i}}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.common.TransportMetadata)return t;let e=new $root.sesame.v1.common.TransportMetadata;if(t.items){if(!Array.isArray(t.items))throw TypeError(".sesame.v1.common.TransportMetadata.items: array expected");e.items=[];for(let i=0;i<t.items.length;++i){if(typeof t.items[i]!="object")throw TypeError(".sesame.v1.common.TransportMetadata.items: object expected");e.items[i]=$root.sesame.v1.common.NameValue.fromObject(t.items[i])}}return e},n.toObject=function(t,e){e||(e={});let i={};if((e.arrays||e.defaults)&&(i.items=[]),t.items&&t.items.length){i.items=[];for(let a=0;a<t.items.length;++a)i.items[a]=$root.sesame.v1.common.NameValue.toObject(t.items[a],e)}return i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.common.TransportMetadata"},n}(),l.Callback=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.event="",n.prototype.data="",n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.event!=null&&Object.hasOwnProperty.call(t,"event")&&e.uint32(10).string(t.event),t.data!=null&&Object.hasOwnProperty.call(t,"data")&&e.uint32(18).string(t.data),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.common.Callback;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.event=t.string();break}case 2:{s.data=t.string();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.event!=null&&t.hasOwnProperty("event")&&!$util.isString(t.event)?"event: string expected":t.data!=null&&t.hasOwnProperty("data")&&!$util.isString(t.data)?"data: string expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.common.Callback)return t;let e=new $root.sesame.v1.common.Callback;return t.event!=null&&(e.event=String(t.event)),t.data!=null&&(e.data=String(t.data)),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.event="",i.data=""),t.event!=null&&t.hasOwnProperty("event")&&(i.event=t.event),t.data!=null&&t.hasOwnProperty("data")&&(i.data=t.data),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.common.Callback"},n}(),l.EventTopic=function(){const n={},r=Object.create(n);return r[n[0]="EVENT_TOPIC_UNSPECIFIED"]=0,r[n[1]="EVENT_TOPIC_ERROR"]=1,r[n[2]="EVENT_TOPIC_TRANSPORT"]=2,r[n[3]="EVENT_TOPIC_CALLBACK"]=3,r[n[4]="EVENT_TOPIC_JOB"]=4,r[n[5]="EVENT_TOPIC_METADATA"]=5,r[n[6]="EVENT_TOPIC_RECORDER"]=6,r}(),l}(),o.sources=function(){const l={};return l.SourceType=function(){const n={},r=Object.create(n);return r[n[0]="SOURCE_TYPE_UNSPECIFIED"]=0,r[n[1]="SOURCE_TYPE_FILE"]=1,r[n[2]="SOURCE_TYPE_RECORDER"]=2,r[n[3]="SOURCE_TYPE_BROWSER"]=3,r[n[4]="SOURCE_TYPE_RTT"]=4,r[n[5]="SOURCE_TYPE_DECKLINK"]=5,r[n[6]="SOURCE_TYPE_SIGNAL_GENERATOR"]=6,r[n[7]="SOURCE_TYPE_SYSTEM_AUDIO"]=7,r[n[8]="SOURCE_TYPE_SRT_STREAM"]=8,r[n[9]="SOURCE_TYPE_WEBSOCKET"]=9,r[n[10]="SOURCE_TYPE_MOQ"]=10,r}(),l.DeinterlaceType=function(){const n={},r=Object.create(n);return r[n[0]="DEINTERLACE_TYPE_PROGRESSIVE"]=0,r[n[1]="DEINTERLACE_TYPE_UPPER_FIELD_FIRST"]=1,r[n[2]="DEINTERLACE_TYPE_LOWER_FIELD_FIRST"]=2,r[n[3]="DEINTERLACE_TYPE_AUTO"]=3,r}(),l.SourceTransportState=function(){const n={},r=Object.create(n);return r[n[0]="SOURCE_TRANSPORT_STATE_STOPPED"]=0,r[n[1]="SOURCE_TRANSPORT_STATE_PLAYING"]=1,r[n[2]="SOURCE_TRANSPORT_STATE_CUEING"]=2,r[n[3]="SOURCE_TRANSPORT_STATE_ERROR"]=3,r[n[4]="SOURCE_TRANSPORT_STATE_PLAYING_LIVE"]=4,r}(),l.SourceTransportCommandType=function(){const n={},r=Object.create(n);return r[n[0]="SOURCE_TRANSPORT_CMD_UNSPECIFIED"]=0,r[n[1]="SOURCE_TRANSPORT_CMD_STOP"]=1,r[n[2]="SOURCE_TRANSPORT_CMD_PLAY"]=2,r[n[3]="SOURCE_TRANSPORT_CMD_SEEK"]=3,r[n[4]="SOURCE_TRANSPORT_CMD_LOOP"]=4,r[n[5]="SOURCE_TRANSPORT_CMD_LIVE"]=5,r[n[6]="SOURCE_TRANSPORT_CMD_JOG"]=6,r[n[7]="SOURCE_TRANSPORT_CMD_MONITOR"]=7,r[n[8]="SOURCE_TRANSPORT_CMD_SEEK_USER_TIME"]=8,r[n[9]="SOURCE_TRANSPORT_CMD_TAKE"]=9,r[n[10]="SOURCE_TRANSPORT_CMD_POST_ROLL"]=10,r[n[11]="SOURCE_TRANSPORT_CMD_PRE_ROLL"]=11,r[n[12]="SOURCE_TRANSPORT_CMD_NEXT"]=12,r[n[13]="SOURCE_TRANSPORT_CMD_SKIP_NEXT"]=13,r[n[14]="SOURCE_TRANSPORT_CMD_TRANSITIONS_DISABLED"]=14,r[n[15]="SOURCE_TRANSPORT_CMD_SET_SCRUBBING"]=15,r}(),l.SourceTextureSize=function(){const n={},r=Object.create(n);return r[n[0]="SOURCE_TEXTURE_SIZE_UNSPECIFIED"]=0,r[n[1]="SOURCE_TEXTURE_SIZE_HD"]=1,r[n[2]="SOURCE_TEXTURE_SIZE_4K"]=2,r}(),l.PreprocessStep=function(){const n={},r=Object.create(n);return r[n[0]="PREPROCESS_STEP_UNSPECIFIED"]=0,r[n[1]="PREPROCESS_STEP_VIDEO_SCOPES"]=1,r[n[2]="PREPROCESS_STEP_CHROMA_KEY"]=2,r[n[3]="PREPROCESS_STEP_BLUR"]=3,r}(),l.VideoProcessorParam=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.id=0,n.prototype.floatValue=0,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.id!=null&&Object.hasOwnProperty.call(t,"id")&&e.uint32(8).uint32(t.id),t.floatValue!=null&&Object.hasOwnProperty.call(t,"floatValue")&&e.uint32(21).float(t.floatValue),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.sources.VideoProcessorParam;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.id=t.uint32();break}case 2:{s.floatValue=t.float();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.id!=null&&t.hasOwnProperty("id")&&!$util.isInteger(t.id)?"id: integer expected":t.floatValue!=null&&t.hasOwnProperty("floatValue")&&typeof t.floatValue!="number"?"floatValue: number expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.sources.VideoProcessorParam)return t;let e=new $root.sesame.v1.sources.VideoProcessorParam;return t.id!=null&&(e.id=t.id>>>0),t.floatValue!=null&&(e.floatValue=Number(t.floatValue)),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.id=0,i.floatValue=0),t.id!=null&&t.hasOwnProperty("id")&&(i.id=t.id),t.floatValue!=null&&t.hasOwnProperty("floatValue")&&(i.floatValue=e.json&&!isFinite(t.floatValue)?String(t.floatValue):t.floatValue),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.sources.VideoProcessorParam"},n}(),l.VideoProcessor=function(){function n(r){if(this.params=[],r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.id="",n.prototype.type=0,n.prototype.params=$util.emptyArray,n.create=function(t){return new n(t)},n.encode=function(t,e){if(e||(e=$Writer.create()),t.id!=null&&Object.hasOwnProperty.call(t,"id")&&e.uint32(10).string(t.id),t.type!=null&&Object.hasOwnProperty.call(t,"type")&&e.uint32(16).int32(t.type),t.params!=null&&t.params.length)for(let i=0;i<t.params.length;++i)$root.sesame.v1.sources.VideoProcessorParam.encode(t.params[i],e.uint32(26).fork()).ldelim();return e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.sources.VideoProcessor;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.id=t.string();break}case 2:{s.type=t.int32();break}case 3:{s.params&&s.params.length||(s.params=[]),s.params.push($root.sesame.v1.sources.VideoProcessorParam.decode(t,t.uint32()));break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.id!=null&&t.hasOwnProperty("id")&&!$util.isString(t.id))return"id: string expected";if(t.type!=null&&t.hasOwnProperty("type"))switch(t.type){default:return"type: enum value expected";case 0:case 1:case 2:case 3:break}if(t.params!=null&&t.hasOwnProperty("params")){if(!Array.isArray(t.params))return"params: array expected";for(let e=0;e<t.params.length;++e){let i=$root.sesame.v1.sources.VideoProcessorParam.verify(t.params[e]);if(i)return"params."+i}}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.sources.VideoProcessor)return t;let e=new $root.sesame.v1.sources.VideoProcessor;switch(t.id!=null&&(e.id=String(t.id)),t.type){default:if(typeof t.type=="number"){e.type=t.type;break}break;case"PREPROCESS_STEP_UNSPECIFIED":case 0:e.type=0;break;case"PREPROCESS_STEP_VIDEO_SCOPES":case 1:e.type=1;break;case"PREPROCESS_STEP_CHROMA_KEY":case 2:e.type=2;break;case"PREPROCESS_STEP_BLUR":case 3:e.type=3;break}if(t.params){if(!Array.isArray(t.params))throw TypeError(".sesame.v1.sources.VideoProcessor.params: array expected");e.params=[];for(let i=0;i<t.params.length;++i){if(typeof t.params[i]!="object")throw TypeError(".sesame.v1.sources.VideoProcessor.params: object expected");e.params[i]=$root.sesame.v1.sources.VideoProcessorParam.fromObject(t.params[i])}}return e},n.toObject=function(t,e){e||(e={});let i={};if((e.arrays||e.defaults)&&(i.params=[]),e.defaults&&(i.id="",i.type=e.enums===String?"PREPROCESS_STEP_UNSPECIFIED":0),t.id!=null&&t.hasOwnProperty("id")&&(i.id=t.id),t.type!=null&&t.hasOwnProperty("type")&&(i.type=e.enums===String?$root.sesame.v1.sources.PreprocessStep[t.type]===void 0?t.type:$root.sesame.v1.sources.PreprocessStep[t.type]:t.type),t.params&&t.params.length){i.params=[];for(let a=0;a<t.params.length;++a)i.params[a]=$root.sesame.v1.sources.VideoProcessorParam.toObject(t.params[a],e)}return i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.sources.VideoProcessor"},n}(),l.SourceCommonConfig=function(){function n(r){if(this.videoProcessors=[],r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.userId="",n.prototype.useAsClock=!1,n.prototype.audioOnly=!1,n.prototype.audioChannels=0,n.prototype.loop=!1,n.prototype.playState=0,n.prototype.mipMap=!1,n.prototype.textureSize=0,n.prototype.deinterlace=0,n.prototype.videoProcessors=$util.emptyArray,n.create=function(t){return new n(t)},n.encode=function(t,e){if(e||(e=$Writer.create()),t.userId!=null&&Object.hasOwnProperty.call(t,"userId")&&e.uint32(10).string(t.userId),t.useAsClock!=null&&Object.hasOwnProperty.call(t,"useAsClock")&&e.uint32(16).bool(t.useAsClock),t.audioOnly!=null&&Object.hasOwnProperty.call(t,"audioOnly")&&e.uint32(24).bool(t.audioOnly),t.audioChannels!=null&&Object.hasOwnProperty.call(t,"audioChannels")&&e.uint32(32).uint32(t.audioChannels),t.loop!=null&&Object.hasOwnProperty.call(t,"loop")&&e.uint32(40).bool(t.loop),t.playState!=null&&Object.hasOwnProperty.call(t,"playState")&&e.uint32(48).int32(t.playState),t.mipMap!=null&&Object.hasOwnProperty.call(t,"mipMap")&&e.uint32(56).bool(t.mipMap),t.textureSize!=null&&Object.hasOwnProperty.call(t,"textureSize")&&e.uint32(64).int32(t.textureSize),t.deinterlace!=null&&Object.hasOwnProperty.call(t,"deinterlace")&&e.uint32(80).int32(t.deinterlace),t.videoProcessors!=null&&t.videoProcessors.length)for(let i=0;i<t.videoProcessors.length;++i)$root.sesame.v1.sources.VideoProcessor.encode(t.videoProcessors[i],e.uint32(90).fork()).ldelim();return e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.sources.SourceCommonConfig;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.userId=t.string();break}case 2:{s.useAsClock=t.bool();break}case 3:{s.audioOnly=t.bool();break}case 4:{s.audioChannels=t.uint32();break}case 5:{s.loop=t.bool();break}case 6:{s.playState=t.int32();break}case 7:{s.mipMap=t.bool();break}case 8:{s.textureSize=t.int32();break}case 10:{s.deinterlace=t.int32();break}case 11:{s.videoProcessors&&s.videoProcessors.length||(s.videoProcessors=[]),s.videoProcessors.push($root.sesame.v1.sources.VideoProcessor.decode(t,t.uint32()));break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.userId!=null&&t.hasOwnProperty("userId")&&!$util.isString(t.userId))return"userId: string expected";if(t.useAsClock!=null&&t.hasOwnProperty("useAsClock")&&typeof t.useAsClock!="boolean")return"useAsClock: boolean expected";if(t.audioOnly!=null&&t.hasOwnProperty("audioOnly")&&typeof t.audioOnly!="boolean")return"audioOnly: boolean expected";if(t.audioChannels!=null&&t.hasOwnProperty("audioChannels")&&!$util.isInteger(t.audioChannels))return"audioChannels: integer expected";if(t.loop!=null&&t.hasOwnProperty("loop")&&typeof t.loop!="boolean")return"loop: boolean expected";if(t.playState!=null&&t.hasOwnProperty("playState"))switch(t.playState){default:return"playState: enum value expected";case 0:case 1:case 2:case 3:case 4:break}if(t.mipMap!=null&&t.hasOwnProperty("mipMap")&&typeof t.mipMap!="boolean")return"mipMap: boolean expected";if(t.textureSize!=null&&t.hasOwnProperty("textureSize"))switch(t.textureSize){default:return"textureSize: enum value expected";case 0:case 1:case 2:break}if(t.deinterlace!=null&&t.hasOwnProperty("deinterlace"))switch(t.deinterlace){default:return"deinterlace: enum value expected";case 0:case 1:case 2:case 3:break}if(t.videoProcessors!=null&&t.hasOwnProperty("videoProcessors")){if(!Array.isArray(t.videoProcessors))return"videoProcessors: array expected";for(let e=0;e<t.videoProcessors.length;++e){let i=$root.sesame.v1.sources.VideoProcessor.verify(t.videoProcessors[e]);if(i)return"videoProcessors."+i}}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.sources.SourceCommonConfig)return t;let e=new $root.sesame.v1.sources.SourceCommonConfig;switch(t.userId!=null&&(e.userId=String(t.userId)),t.useAsClock!=null&&(e.useAsClock=!!t.useAsClock),t.audioOnly!=null&&(e.audioOnly=!!t.audioOnly),t.audioChannels!=null&&(e.audioChannels=t.audioChannels>>>0),t.loop!=null&&(e.loop=!!t.loop),t.playState){default:if(typeof t.playState=="number"){e.playState=t.playState;break}break;case"SOURCE_TRANSPORT_STATE_STOPPED":case 0:e.playState=0;break;case"SOURCE_TRANSPORT_STATE_PLAYING":case 1:e.playState=1;break;case"SOURCE_TRANSPORT_STATE_CUEING":case 2:e.playState=2;break;case"SOURCE_TRANSPORT_STATE_ERROR":case 3:e.playState=3;break;case"SOURCE_TRANSPORT_STATE_PLAYING_LIVE":case 4:e.playState=4;break}switch(t.mipMap!=null&&(e.mipMap=!!t.mipMap),t.textureSize){default:if(typeof t.textureSize=="number"){e.textureSize=t.textureSize;break}break;case"SOURCE_TEXTURE_SIZE_UNSPECIFIED":case 0:e.textureSize=0;break;case"SOURCE_TEXTURE_SIZE_HD":case 1:e.textureSize=1;break;case"SOURCE_TEXTURE_SIZE_4K":case 2:e.textureSize=2;break}switch(t.deinterlace){default:if(typeof t.deinterlace=="number"){e.deinterlace=t.deinterlace;break}break;case"DEINTERLACE_TYPE_PROGRESSIVE":case 0:e.deinterlace=0;break;case"DEINTERLACE_TYPE_UPPER_FIELD_FIRST":case 1:e.deinterlace=1;break;case"DEINTERLACE_TYPE_LOWER_FIELD_FIRST":case 2:e.deinterlace=2;break;case"DEINTERLACE_TYPE_AUTO":case 3:e.deinterlace=3;break}if(t.videoProcessors){if(!Array.isArray(t.videoProcessors))throw TypeError(".sesame.v1.sources.SourceCommonConfig.videoProcessors: array expected");e.videoProcessors=[];for(let i=0;i<t.videoProcessors.length;++i){if(typeof t.videoProcessors[i]!="object")throw TypeError(".sesame.v1.sources.SourceCommonConfig.videoProcessors: object expected");e.videoProcessors[i]=$root.sesame.v1.sources.VideoProcessor.fromObject(t.videoProcessors[i])}}return e},n.toObject=function(t,e){e||(e={});let i={};if((e.arrays||e.defaults)&&(i.videoProcessors=[]),e.defaults&&(i.userId="",i.useAsClock=!1,i.audioOnly=!1,i.audioChannels=0,i.loop=!1,i.playState=e.enums===String?"SOURCE_TRANSPORT_STATE_STOPPED":0,i.mipMap=!1,i.textureSize=e.enums===String?"SOURCE_TEXTURE_SIZE_UNSPECIFIED":0,i.deinterlace=e.enums===String?"DEINTERLACE_TYPE_PROGRESSIVE":0),t.userId!=null&&t.hasOwnProperty("userId")&&(i.userId=t.userId),t.useAsClock!=null&&t.hasOwnProperty("useAsClock")&&(i.useAsClock=t.useAsClock),t.audioOnly!=null&&t.hasOwnProperty("audioOnly")&&(i.audioOnly=t.audioOnly),t.audioChannels!=null&&t.hasOwnProperty("audioChannels")&&(i.audioChannels=t.audioChannels),t.loop!=null&&t.hasOwnProperty("loop")&&(i.loop=t.loop),t.playState!=null&&t.hasOwnProperty("playState")&&(i.playState=e.enums===String?$root.sesame.v1.sources.SourceTransportState[t.playState]===void 0?t.playState:$root.sesame.v1.sources.SourceTransportState[t.playState]:t.playState),t.mipMap!=null&&t.hasOwnProperty("mipMap")&&(i.mipMap=t.mipMap),t.textureSize!=null&&t.hasOwnProperty("textureSize")&&(i.textureSize=e.enums===String?$root.sesame.v1.sources.SourceTextureSize[t.textureSize]===void 0?t.textureSize:$root.sesame.v1.sources.SourceTextureSize[t.textureSize]:t.textureSize),t.deinterlace!=null&&t.hasOwnProperty("deinterlace")&&(i.deinterlace=e.enums===String?$root.sesame.v1.sources.DeinterlaceType[t.deinterlace]===void 0?t.deinterlace:$root.sesame.v1.sources.DeinterlaceType[t.deinterlace]:t.deinterlace),t.videoProcessors&&t.videoProcessors.length){i.videoProcessors=[];for(let a=0;a<t.videoProcessors.length;++a)i.videoProcessors[a]=$root.sesame.v1.sources.VideoProcessor.toObject(t.videoProcessors[a],e)}return i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.sources.SourceCommonConfig"},n}(),l.FileSourceConfig=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.url="",n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.url!=null&&Object.hasOwnProperty.call(t,"url")&&e.uint32(10).string(t.url),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.sources.FileSourceConfig;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.url=t.string();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.url!=null&&t.hasOwnProperty("url")&&!$util.isString(t.url)?"url: string expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.sources.FileSourceConfig)return t;let e=new $root.sesame.v1.sources.FileSourceConfig;return t.url!=null&&(e.url=String(t.url)),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.url=""),t.url!=null&&t.hasOwnProperty("url")&&(i.url=t.url),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.sources.FileSourceConfig"},n}(),l.RecorderSourceConfig=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.recorderId="",n.prototype.codec=0,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.recorderId!=null&&Object.hasOwnProperty.call(t,"recorderId")&&e.uint32(10).string(t.recorderId),t.codec!=null&&Object.hasOwnProperty.call(t,"codec")&&e.uint32(16).int32(t.codec),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.sources.RecorderSourceConfig;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.recorderId=t.string();break}case 2:{s.codec=t.int32();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.recorderId!=null&&t.hasOwnProperty("recorderId")&&!$util.isString(t.recorderId))return"recorderId: string expected";if(t.codec!=null&&t.hasOwnProperty("codec"))switch(t.codec){default:return"codec: enum value expected";case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 64:case 65:case 66:case 67:break}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.sources.RecorderSourceConfig)return t;let e=new $root.sesame.v1.sources.RecorderSourceConfig;switch(t.recorderId!=null&&(e.recorderId=String(t.recorderId)),t.codec){default:if(typeof t.codec=="number"){e.codec=t.codec;break}break;case"CODEC_TYPE_UNSPECIFIED":case 0:e.codec=0;break;case"CODEC_TYPE_VIDEO_VP8":case 1:e.codec=1;break;case"CODEC_TYPE_VIDEO_VP9":case 2:e.codec=2;break;case"CODEC_TYPE_VIDEO_AVC":case 3:e.codec=3;break;case"CODEC_TYPE_VIDEO_HEVC":case 4:e.codec=4;break;case"CODEC_TYPE_VIDEO_AV1":case 5:e.codec=5;break;case"CODEC_TYPE_VIDEO_PRORES":case 6:e.codec=6;break;case"CODEC_TYPE_VIDEO_DNXHR":case 7:e.codec=7;break;case"CODEC_TYPE_AUDIO_OPUS":case 64:e.codec=64;break;case"CODEC_TYPE_AUDIO_AAC":case 65:e.codec=65;break;case"CODEC_TYPE_AUDIO_PCM":case 66:e.codec=66;break;case"CODEC_TYPE_AUDIO_PCM_S24LE":case 67:e.codec=67;break}return e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.recorderId="",i.codec=e.enums===String?"CODEC_TYPE_UNSPECIFIED":0),t.recorderId!=null&&t.hasOwnProperty("recorderId")&&(i.recorderId=t.recorderId),t.codec!=null&&t.hasOwnProperty("codec")&&(i.codec=e.enums===String?$root.sesame.v1.common.CodecType[t.codec]===void 0?t.codec:$root.sesame.v1.common.CodecType[t.codec]:t.codec),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.sources.RecorderSourceConfig"},n}(),l.BrowserSourceConfig=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.url="",n.prototype.width=0,n.prototype.height=0,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.url!=null&&Object.hasOwnProperty.call(t,"url")&&e.uint32(10).string(t.url),t.width!=null&&Object.hasOwnProperty.call(t,"width")&&e.uint32(16).uint32(t.width),t.height!=null&&Object.hasOwnProperty.call(t,"height")&&e.uint32(24).uint32(t.height),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.sources.BrowserSourceConfig;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.url=t.string();break}case 2:{s.width=t.uint32();break}case 3:{s.height=t.uint32();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.url!=null&&t.hasOwnProperty("url")&&!$util.isString(t.url)?"url: string expected":t.width!=null&&t.hasOwnProperty("width")&&!$util.isInteger(t.width)?"width: integer expected":t.height!=null&&t.hasOwnProperty("height")&&!$util.isInteger(t.height)?"height: integer expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.sources.BrowserSourceConfig)return t;let e=new $root.sesame.v1.sources.BrowserSourceConfig;return t.url!=null&&(e.url=String(t.url)),t.width!=null&&(e.width=t.width>>>0),t.height!=null&&(e.height=t.height>>>0),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.url="",i.width=0,i.height=0),t.url!=null&&t.hasOwnProperty("url")&&(i.url=t.url),t.width!=null&&t.hasOwnProperty("width")&&(i.width=t.width),t.height!=null&&t.hasOwnProperty("height")&&(i.height=t.height),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.sources.BrowserSourceConfig"},n}(),l.RTTSourceConfig=function(){function n(r){if(this.audioMixes=[],r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.rttId="",n.prototype.audioMixes=$util.emptyArray,n.prototype.delayFrames=0,n.create=function(t){return new n(t)},n.encode=function(t,e){if(e||(e=$Writer.create()),t.rttId!=null&&Object.hasOwnProperty.call(t,"rttId")&&e.uint32(10).string(t.rttId),t.audioMixes!=null&&t.audioMixes.length)for(let i=0;i<t.audioMixes.length;++i)e.uint32(18).string(t.audioMixes[i]);return t.delayFrames!=null&&Object.hasOwnProperty.call(t,"delayFrames")&&e.uint32(24).uint32(t.delayFrames),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.sources.RTTSourceConfig;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.rttId=t.string();break}case 2:{s.audioMixes&&s.audioMixes.length||(s.audioMixes=[]),s.audioMixes.push(t.string());break}case 3:{s.delayFrames=t.uint32();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.rttId!=null&&t.hasOwnProperty("rttId")&&!$util.isString(t.rttId))return"rttId: string expected";if(t.audioMixes!=null&&t.hasOwnProperty("audioMixes")){if(!Array.isArray(t.audioMixes))return"audioMixes: array expected";for(let e=0;e<t.audioMixes.length;++e)if(!$util.isString(t.audioMixes[e]))return"audioMixes: string[] expected"}return t.delayFrames!=null&&t.hasOwnProperty("delayFrames")&&!$util.isInteger(t.delayFrames)?"delayFrames: integer expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.sources.RTTSourceConfig)return t;let e=new $root.sesame.v1.sources.RTTSourceConfig;if(t.rttId!=null&&(e.rttId=String(t.rttId)),t.audioMixes){if(!Array.isArray(t.audioMixes))throw TypeError(".sesame.v1.sources.RTTSourceConfig.audioMixes: array expected");e.audioMixes=[];for(let i=0;i<t.audioMixes.length;++i)e.audioMixes[i]=String(t.audioMixes[i])}return t.delayFrames!=null&&(e.delayFrames=t.delayFrames>>>0),e},n.toObject=function(t,e){e||(e={});let i={};if((e.arrays||e.defaults)&&(i.audioMixes=[]),e.defaults&&(i.rttId="",i.delayFrames=0),t.rttId!=null&&t.hasOwnProperty("rttId")&&(i.rttId=t.rttId),t.audioMixes&&t.audioMixes.length){i.audioMixes=[];for(let a=0;a<t.audioMixes.length;++a)i.audioMixes[a]=t.audioMixes[a]}return t.delayFrames!=null&&t.hasOwnProperty("delayFrames")&&(i.delayFrames=t.delayFrames),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.sources.RTTSourceConfig"},n}(),l.DecklinkSourceConfig=function(){function n(t){if(t)for(let e=Object.keys(t),i=0;i<e.length;++i)t[e[i]]!=null&&(this[e[i]]=t[e[i]])}n.prototype.deviceIndex=0,n.prototype.videoFormat=0,n.prototype.syncGroup=null;let r;return Object.defineProperty(n.prototype,"_syncGroup",{get:$util.oneOfGetter(r=["syncGroup"]),set:$util.oneOfSetter(r)}),n.create=function(e){return new n(e)},n.encode=function(e,i){return i||(i=$Writer.create()),e.deviceIndex!=null&&Object.hasOwnProperty.call(e,"deviceIndex")&&i.uint32(8).uint32(e.deviceIndex),e.videoFormat!=null&&Object.hasOwnProperty.call(e,"videoFormat")&&i.uint32(16).int32(e.videoFormat),e.syncGroup!=null&&Object.hasOwnProperty.call(e,"syncGroup")&&i.uint32(24).uint32(e.syncGroup),i},n.encodeDelimited=function(e,i){return this.encode(e,i).ldelim()},n.decode=function(e,i,a){e instanceof $Reader||(e=$Reader.create(e));let s=i===void 0?e.len:e.pos+i,d=new $root.sesame.v1.sources.DecklinkSourceConfig;for(;e.pos<s;){let c=e.uint32();if(c===a)break;switch(c>>>3){case 1:{d.deviceIndex=e.uint32();break}case 2:{d.videoFormat=e.int32();break}case 3:{d.syncGroup=e.uint32();break}default:e.skipType(c&7);break}}return d},n.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},n.verify=function(e){if(typeof e!="object"||e===null)return"object expected";if(e.deviceIndex!=null&&e.hasOwnProperty("deviceIndex")&&!$util.isInteger(e.deviceIndex))return"deviceIndex: integer expected";if(e.videoFormat!=null&&e.hasOwnProperty("videoFormat"))switch(e.videoFormat){default:return"videoFormat: enum value expected";case 0:case 1:case 2:case 3:case 4:break}return e.syncGroup!=null&&e.hasOwnProperty("syncGroup")&&!$util.isInteger(e.syncGroup)?"syncGroup: integer expected":null},n.fromObject=function(e){if(e instanceof $root.sesame.v1.sources.DecklinkSourceConfig)return e;let i=new $root.sesame.v1.sources.DecklinkSourceConfig;switch(e.deviceIndex!=null&&(i.deviceIndex=e.deviceIndex>>>0),e.videoFormat){default:if(typeof e.videoFormat=="number"){i.videoFormat=e.videoFormat;break}break;case"VIDEO_FORMAT_UNSPECIFIED":case 0:i.videoFormat=0;break;case"VIDEO_FORMAT_1080_50I":case 1:i.videoFormat=1;break;case"VIDEO_FORMAT_1080_50P":case 2:i.videoFormat=2;break;case"VIDEO_FORMAT_1080_60I":case 3:i.videoFormat=3;break;case"VIDEO_FORMAT_1080_60P":case 4:i.videoFormat=4;break}return e.syncGroup!=null&&(i.syncGroup=e.syncGroup>>>0),i},n.toObject=function(e,i){i||(i={});let a={};return i.defaults&&(a.deviceIndex=0,a.videoFormat=i.enums===String?"VIDEO_FORMAT_UNSPECIFIED":0),e.deviceIndex!=null&&e.hasOwnProperty("deviceIndex")&&(a.deviceIndex=e.deviceIndex),e.videoFormat!=null&&e.hasOwnProperty("videoFormat")&&(a.videoFormat=i.enums===String?$root.sesame.v1.common.VideoFormat[e.videoFormat]===void 0?e.videoFormat:$root.sesame.v1.common.VideoFormat[e.videoFormat]:e.videoFormat),e.syncGroup!=null&&e.hasOwnProperty("syncGroup")&&(a.syncGroup=e.syncGroup,i.oneofs&&(a._syncGroup="syncGroup")),a},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/sesame.v1.sources.DecklinkSourceConfig"},n}(),l.SignalGeneratorSourceConfig=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.sources.SignalGeneratorSourceConfig;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":null},n.fromObject=function(t){return t instanceof $root.sesame.v1.sources.SignalGeneratorSourceConfig?t:new $root.sesame.v1.sources.SignalGeneratorSourceConfig},n.toObject=function(){return{}},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.sources.SignalGeneratorSourceConfig"},n}(),l.SystemAudioSourceConfig=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.deviceName="",n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.deviceName!=null&&Object.hasOwnProperty.call(t,"deviceName")&&e.uint32(10).string(t.deviceName),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.sources.SystemAudioSourceConfig;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.deviceName=t.string();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.deviceName!=null&&t.hasOwnProperty("deviceName")&&!$util.isString(t.deviceName)?"deviceName: string expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.sources.SystemAudioSourceConfig)return t;let e=new $root.sesame.v1.sources.SystemAudioSourceConfig;return t.deviceName!=null&&(e.deviceName=String(t.deviceName)),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.deviceName=""),t.deviceName!=null&&t.hasOwnProperty("deviceName")&&(i.deviceName=t.deviceName),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.sources.SystemAudioSourceConfig"},n}(),l.SrtSourceConfig=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.url="",n.prototype.decodeBufferFrames=0,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.url!=null&&Object.hasOwnProperty.call(t,"url")&&e.uint32(10).string(t.url),t.decodeBufferFrames!=null&&Object.hasOwnProperty.call(t,"decodeBufferFrames")&&e.uint32(16).uint32(t.decodeBufferFrames),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.sources.SrtSourceConfig;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.url=t.string();break}case 2:{s.decodeBufferFrames=t.uint32();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.url!=null&&t.hasOwnProperty("url")&&!$util.isString(t.url)?"url: string expected":t.decodeBufferFrames!=null&&t.hasOwnProperty("decodeBufferFrames")&&!$util.isInteger(t.decodeBufferFrames)?"decodeBufferFrames: integer expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.sources.SrtSourceConfig)return t;let e=new $root.sesame.v1.sources.SrtSourceConfig;return t.url!=null&&(e.url=String(t.url)),t.decodeBufferFrames!=null&&(e.decodeBufferFrames=t.decodeBufferFrames>>>0),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.url="",i.decodeBufferFrames=0),t.url!=null&&t.hasOwnProperty("url")&&(i.url=t.url),t.decodeBufferFrames!=null&&t.hasOwnProperty("decodeBufferFrames")&&(i.decodeBufferFrames=t.decodeBufferFrames),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.sources.SrtSourceConfig"},n}(),l.WebsocketSourceConfig=function(){function n(r){if(this.incomingMetadataTracks=[],r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.channel="",n.prototype.decodeBufferFrames=0,n.prototype.incomingMetadataTracks=$util.emptyArray,n.create=function(t){return new n(t)},n.encode=function(t,e){if(e||(e=$Writer.create()),t.channel!=null&&Object.hasOwnProperty.call(t,"channel")&&e.uint32(10).string(t.channel),t.decodeBufferFrames!=null&&Object.hasOwnProperty.call(t,"decodeBufferFrames")&&e.uint32(16).uint32(t.decodeBufferFrames),t.incomingMetadataTracks!=null&&t.incomingMetadataTracks.length)for(let i=0;i<t.incomingMetadataTracks.length;++i)e.uint32(26).string(t.incomingMetadataTracks[i]);return e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.sources.WebsocketSourceConfig;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.channel=t.string();break}case 2:{s.decodeBufferFrames=t.uint32();break}case 3:{s.incomingMetadataTracks&&s.incomingMetadataTracks.length||(s.incomingMetadataTracks=[]),s.incomingMetadataTracks.push(t.string());break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.channel!=null&&t.hasOwnProperty("channel")&&!$util.isString(t.channel))return"channel: string expected";if(t.decodeBufferFrames!=null&&t.hasOwnProperty("decodeBufferFrames")&&!$util.isInteger(t.decodeBufferFrames))return"decodeBufferFrames: integer expected";if(t.incomingMetadataTracks!=null&&t.hasOwnProperty("incomingMetadataTracks")){if(!Array.isArray(t.incomingMetadataTracks))return"incomingMetadataTracks: array expected";for(let e=0;e<t.incomingMetadataTracks.length;++e)if(!$util.isString(t.incomingMetadataTracks[e]))return"incomingMetadataTracks: string[] expected"}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.sources.WebsocketSourceConfig)return t;let e=new $root.sesame.v1.sources.WebsocketSourceConfig;if(t.channel!=null&&(e.channel=String(t.channel)),t.decodeBufferFrames!=null&&(e.decodeBufferFrames=t.decodeBufferFrames>>>0),t.incomingMetadataTracks){if(!Array.isArray(t.incomingMetadataTracks))throw TypeError(".sesame.v1.sources.WebsocketSourceConfig.incomingMetadataTracks: array expected");e.incomingMetadataTracks=[];for(let i=0;i<t.incomingMetadataTracks.length;++i)e.incomingMetadataTracks[i]=String(t.incomingMetadataTracks[i])}return e},n.toObject=function(t,e){e||(e={});let i={};if((e.arrays||e.defaults)&&(i.incomingMetadataTracks=[]),e.defaults&&(i.channel="",i.decodeBufferFrames=0),t.channel!=null&&t.hasOwnProperty("channel")&&(i.channel=t.channel),t.decodeBufferFrames!=null&&t.hasOwnProperty("decodeBufferFrames")&&(i.decodeBufferFrames=t.decodeBufferFrames),t.incomingMetadataTracks&&t.incomingMetadataTracks.length){i.incomingMetadataTracks=[];for(let a=0;a<t.incomingMetadataTracks.length;++a)i.incomingMetadataTracks[a]=t.incomingMetadataTracks[a]}return i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.sources.WebsocketSourceConfig"},n}(),l.MoqSourceConfig=function(){function n(r){if(this.incomingMetadataTracks=[],r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.url="",n.prototype.broadcast="",n.prototype.key="",n.prototype.decodeBufferFrames=0,n.prototype.incomingMetadataTracks=$util.emptyArray,n.create=function(t){return new n(t)},n.encode=function(t,e){if(e||(e=$Writer.create()),t.url!=null&&Object.hasOwnProperty.call(t,"url")&&e.uint32(10).string(t.url),t.broadcast!=null&&Object.hasOwnProperty.call(t,"broadcast")&&e.uint32(18).string(t.broadcast),t.key!=null&&Object.hasOwnProperty.call(t,"key")&&e.uint32(26).string(t.key),t.decodeBufferFrames!=null&&Object.hasOwnProperty.call(t,"decodeBufferFrames")&&e.uint32(32).uint32(t.decodeBufferFrames),t.incomingMetadataTracks!=null&&t.incomingMetadataTracks.length)for(let i=0;i<t.incomingMetadataTracks.length;++i)e.uint32(42).string(t.incomingMetadataTracks[i]);return e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.sources.MoqSourceConfig;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.url=t.string();break}case 2:{s.broadcast=t.string();break}case 3:{s.key=t.string();break}case 4:{s.decodeBufferFrames=t.uint32();break}case 5:{s.incomingMetadataTracks&&s.incomingMetadataTracks.length||(s.incomingMetadataTracks=[]),s.incomingMetadataTracks.push(t.string());break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.url!=null&&t.hasOwnProperty("url")&&!$util.isString(t.url))return"url: string expected";if(t.broadcast!=null&&t.hasOwnProperty("broadcast")&&!$util.isString(t.broadcast))return"broadcast: string expected";if(t.key!=null&&t.hasOwnProperty("key")&&!$util.isString(t.key))return"key: string expected";if(t.decodeBufferFrames!=null&&t.hasOwnProperty("decodeBufferFrames")&&!$util.isInteger(t.decodeBufferFrames))return"decodeBufferFrames: integer expected";if(t.incomingMetadataTracks!=null&&t.hasOwnProperty("incomingMetadataTracks")){if(!Array.isArray(t.incomingMetadataTracks))return"incomingMetadataTracks: array expected";for(let e=0;e<t.incomingMetadataTracks.length;++e)if(!$util.isString(t.incomingMetadataTracks[e]))return"incomingMetadataTracks: string[] expected"}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.sources.MoqSourceConfig)return t;let e=new $root.sesame.v1.sources.MoqSourceConfig;if(t.url!=null&&(e.url=String(t.url)),t.broadcast!=null&&(e.broadcast=String(t.broadcast)),t.key!=null&&(e.key=String(t.key)),t.decodeBufferFrames!=null&&(e.decodeBufferFrames=t.decodeBufferFrames>>>0),t.incomingMetadataTracks){if(!Array.isArray(t.incomingMetadataTracks))throw TypeError(".sesame.v1.sources.MoqSourceConfig.incomingMetadataTracks: array expected");e.incomingMetadataTracks=[];for(let i=0;i<t.incomingMetadataTracks.length;++i)e.incomingMetadataTracks[i]=String(t.incomingMetadataTracks[i])}return e},n.toObject=function(t,e){e||(e={});let i={};if((e.arrays||e.defaults)&&(i.incomingMetadataTracks=[]),e.defaults&&(i.url="",i.broadcast="",i.key="",i.decodeBufferFrames=0),t.url!=null&&t.hasOwnProperty("url")&&(i.url=t.url),t.broadcast!=null&&t.hasOwnProperty("broadcast")&&(i.broadcast=t.broadcast),t.key!=null&&t.hasOwnProperty("key")&&(i.key=t.key),t.decodeBufferFrames!=null&&t.hasOwnProperty("decodeBufferFrames")&&(i.decodeBufferFrames=t.decodeBufferFrames),t.incomingMetadataTracks&&t.incomingMetadataTracks.length){i.incomingMetadataTracks=[];for(let a=0;a<t.incomingMetadataTracks.length;++a)i.incomingMetadataTracks[a]=t.incomingMetadataTracks[a]}return i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.sources.MoqSourceConfig"},n}(),l.SourceConfig=function(){function n(t){if(t)for(let e=Object.keys(t),i=0;i<e.length;++i)t[e[i]]!=null&&(this[e[i]]=t[e[i]])}n.prototype.common=null,n.prototype.file=null,n.prototype.recorder=null,n.prototype.browser=null,n.prototype.rtt=null,n.prototype.decklink=null,n.prototype.signalGenerator=null,n.prototype.systemAudio=null,n.prototype.srtStream=null,n.prototype.websocket=null,n.prototype.moq=null;let r;return Object.defineProperty(n.prototype,"details",{get:$util.oneOfGetter(r=["file","recorder","browser","rtt","decklink","signalGenerator","systemAudio","srtStream","websocket","moq"]),set:$util.oneOfSetter(r)}),n.create=function(e){return new n(e)},n.encode=function(e,i){return i||(i=$Writer.create()),e.common!=null&&Object.hasOwnProperty.call(e,"common")&&$root.sesame.v1.sources.SourceCommonConfig.encode(e.common,i.uint32(10).fork()).ldelim(),e.file!=null&&Object.hasOwnProperty.call(e,"file")&&$root.sesame.v1.sources.FileSourceConfig.encode(e.file,i.uint32(82).fork()).ldelim(),e.recorder!=null&&Object.hasOwnProperty.call(e,"recorder")&&$root.sesame.v1.sources.RecorderSourceConfig.encode(e.recorder,i.uint32(90).fork()).ldelim(),e.browser!=null&&Object.hasOwnProperty.call(e,"browser")&&$root.sesame.v1.sources.BrowserSourceConfig.encode(e.browser,i.uint32(98).fork()).ldelim(),e.rtt!=null&&Object.hasOwnProperty.call(e,"rtt")&&$root.sesame.v1.sources.RTTSourceConfig.encode(e.rtt,i.uint32(106).fork()).ldelim(),e.decklink!=null&&Object.hasOwnProperty.call(e,"decklink")&&$root.sesame.v1.sources.DecklinkSourceConfig.encode(e.decklink,i.uint32(114).fork()).ldelim(),e.signalGenerator!=null&&Object.hasOwnProperty.call(e,"signalGenerator")&&$root.sesame.v1.sources.SignalGeneratorSourceConfig.encode(e.signalGenerator,i.uint32(122).fork()).ldelim(),e.systemAudio!=null&&Object.hasOwnProperty.call(e,"systemAudio")&&$root.sesame.v1.sources.SystemAudioSourceConfig.encode(e.systemAudio,i.uint32(130).fork()).ldelim(),e.srtStream!=null&&Object.hasOwnProperty.call(e,"srtStream")&&$root.sesame.v1.sources.SrtSourceConfig.encode(e.srtStream,i.uint32(138).fork()).ldelim(),e.websocket!=null&&Object.hasOwnProperty.call(e,"websocket")&&$root.sesame.v1.sources.WebsocketSourceConfig.encode(e.websocket,i.uint32(146).fork()).ldelim(),e.moq!=null&&Object.hasOwnProperty.call(e,"moq")&&$root.sesame.v1.sources.MoqSourceConfig.encode(e.moq,i.uint32(154).fork()).ldelim(),i},n.encodeDelimited=function(e,i){return this.encode(e,i).ldelim()},n.decode=function(e,i,a){e instanceof $Reader||(e=$Reader.create(e));let s=i===void 0?e.len:e.pos+i,d=new $root.sesame.v1.sources.SourceConfig;for(;e.pos<s;){let c=e.uint32();if(c===a)break;switch(c>>>3){case 1:{d.common=$root.sesame.v1.sources.SourceCommonConfig.decode(e,e.uint32());break}case 10:{d.file=$root.sesame.v1.sources.FileSourceConfig.decode(e,e.uint32());break}case 11:{d.recorder=$root.sesame.v1.sources.RecorderSourceConfig.decode(e,e.uint32());break}case 12:{d.browser=$root.sesame.v1.sources.BrowserSourceConfig.decode(e,e.uint32());break}case 13:{d.rtt=$root.sesame.v1.sources.RTTSourceConfig.decode(e,e.uint32());break}case 14:{d.decklink=$root.sesame.v1.sources.DecklinkSourceConfig.decode(e,e.uint32());break}case 15:{d.signalGenerator=$root.sesame.v1.sources.SignalGeneratorSourceConfig.decode(e,e.uint32());break}case 16:{d.systemAudio=$root.sesame.v1.sources.SystemAudioSourceConfig.decode(e,e.uint32());break}case 17:{d.srtStream=$root.sesame.v1.sources.SrtSourceConfig.decode(e,e.uint32());break}case 18:{d.websocket=$root.sesame.v1.sources.WebsocketSourceConfig.decode(e,e.uint32());break}case 19:{d.moq=$root.sesame.v1.sources.MoqSourceConfig.decode(e,e.uint32());break}default:e.skipType(c&7);break}}return d},n.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},n.verify=function(e){if(typeof e!="object"||e===null)return"object expected";let i={};if(e.common!=null&&e.hasOwnProperty("common")){let a=$root.sesame.v1.sources.SourceCommonConfig.verify(e.common);if(a)return"common."+a}if(e.file!=null&&e.hasOwnProperty("file")){i.details=1;{let a=$root.sesame.v1.sources.FileSourceConfig.verify(e.file);if(a)return"file."+a}}if(e.recorder!=null&&e.hasOwnProperty("recorder")){if(i.details===1)return"details: multiple values";i.details=1;{let a=$root.sesame.v1.sources.RecorderSourceConfig.verify(e.recorder);if(a)return"recorder."+a}}if(e.browser!=null&&e.hasOwnProperty("browser")){if(i.details===1)return"details: multiple values";i.details=1;{let a=$root.sesame.v1.sources.BrowserSourceConfig.verify(e.browser);if(a)return"browser."+a}}if(e.rtt!=null&&e.hasOwnProperty("rtt")){if(i.details===1)return"details: multiple values";i.details=1;{let a=$root.sesame.v1.sources.RTTSourceConfig.verify(e.rtt);if(a)return"rtt."+a}}if(e.decklink!=null&&e.hasOwnProperty("decklink")){if(i.details===1)return"details: multiple values";i.details=1;{let a=$root.sesame.v1.sources.DecklinkSourceConfig.verify(e.decklink);if(a)return"decklink."+a}}if(e.signalGenerator!=null&&e.hasOwnProperty("signalGenerator")){if(i.details===1)return"details: multiple values";i.details=1;{let a=$root.sesame.v1.sources.SignalGeneratorSourceConfig.verify(e.signalGenerator);if(a)return"signalGenerator."+a}}if(e.systemAudio!=null&&e.hasOwnProperty("systemAudio")){if(i.details===1)return"details: multiple values";i.details=1;{let a=$root.sesame.v1.sources.SystemAudioSourceConfig.verify(e.systemAudio);if(a)return"systemAudio."+a}}if(e.srtStream!=null&&e.hasOwnProperty("srtStream")){if(i.details===1)return"details: multiple values";i.details=1;{let a=$root.sesame.v1.sources.SrtSourceConfig.verify(e.srtStream);if(a)return"srtStream."+a}}if(e.websocket!=null&&e.hasOwnProperty("websocket")){if(i.details===1)return"details: multiple values";i.details=1;{let a=$root.sesame.v1.sources.WebsocketSourceConfig.verify(e.websocket);if(a)return"websocket."+a}}if(e.moq!=null&&e.hasOwnProperty("moq")){if(i.details===1)return"details: multiple values";i.details=1;{let a=$root.sesame.v1.sources.MoqSourceConfig.verify(e.moq);if(a)return"moq."+a}}return null},n.fromObject=function(e){if(e instanceof $root.sesame.v1.sources.SourceConfig)return e;let i=new $root.sesame.v1.sources.SourceConfig;if(e.common!=null){if(typeof e.common!="object")throw TypeError(".sesame.v1.sources.SourceConfig.common: object expected");i.common=$root.sesame.v1.sources.SourceCommonConfig.fromObject(e.common)}if(e.file!=null){if(typeof e.file!="object")throw TypeError(".sesame.v1.sources.SourceConfig.file: object expected");i.file=$root.sesame.v1.sources.FileSourceConfig.fromObject(e.file)}if(e.recorder!=null){if(typeof e.recorder!="object")throw TypeError(".sesame.v1.sources.SourceConfig.recorder: object expected");i.recorder=$root.sesame.v1.sources.RecorderSourceConfig.fromObject(e.recorder)}if(e.browser!=null){if(typeof e.browser!="object")throw TypeError(".sesame.v1.sources.SourceConfig.browser: object expected");i.browser=$root.sesame.v1.sources.BrowserSourceConfig.fromObject(e.browser)}if(e.rtt!=null){if(typeof e.rtt!="object")throw TypeError(".sesame.v1.sources.SourceConfig.rtt: object expected");i.rtt=$root.sesame.v1.sources.RTTSourceConfig.fromObject(e.rtt)}if(e.decklink!=null){if(typeof e.decklink!="object")throw TypeError(".sesame.v1.sources.SourceConfig.decklink: object expected");i.decklink=$root.sesame.v1.sources.DecklinkSourceConfig.fromObject(e.decklink)}if(e.signalGenerator!=null){if(typeof e.signalGenerator!="object")throw TypeError(".sesame.v1.sources.SourceConfig.signalGenerator: object expected");i.signalGenerator=$root.sesame.v1.sources.SignalGeneratorSourceConfig.fromObject(e.signalGenerator)}if(e.systemAudio!=null){if(typeof e.systemAudio!="object")throw TypeError(".sesame.v1.sources.SourceConfig.systemAudio: object expected");i.systemAudio=$root.sesame.v1.sources.SystemAudioSourceConfig.fromObject(e.systemAudio)}if(e.srtStream!=null){if(typeof e.srtStream!="object")throw TypeError(".sesame.v1.sources.SourceConfig.srtStream: object expected");i.srtStream=$root.sesame.v1.sources.SrtSourceConfig.fromObject(e.srtStream)}if(e.websocket!=null){if(typeof e.websocket!="object")throw TypeError(".sesame.v1.sources.SourceConfig.websocket: object expected");i.websocket=$root.sesame.v1.sources.WebsocketSourceConfig.fromObject(e.websocket)}if(e.moq!=null){if(typeof e.moq!="object")throw TypeError(".sesame.v1.sources.SourceConfig.moq: object expected");i.moq=$root.sesame.v1.sources.MoqSourceConfig.fromObject(e.moq)}return i},n.toObject=function(e,i){i||(i={});let a={};return i.defaults&&(a.common=null),e.common!=null&&e.hasOwnProperty("common")&&(a.common=$root.sesame.v1.sources.SourceCommonConfig.toObject(e.common,i)),e.file!=null&&e.hasOwnProperty("file")&&(a.file=$root.sesame.v1.sources.FileSourceConfig.toObject(e.file,i),i.oneofs&&(a.details="file")),e.recorder!=null&&e.hasOwnProperty("recorder")&&(a.recorder=$root.sesame.v1.sources.RecorderSourceConfig.toObject(e.recorder,i),i.oneofs&&(a.details="recorder")),e.browser!=null&&e.hasOwnProperty("browser")&&(a.browser=$root.sesame.v1.sources.BrowserSourceConfig.toObject(e.browser,i),i.oneofs&&(a.details="browser")),e.rtt!=null&&e.hasOwnProperty("rtt")&&(a.rtt=$root.sesame.v1.sources.RTTSourceConfig.toObject(e.rtt,i),i.oneofs&&(a.details="rtt")),e.decklink!=null&&e.hasOwnProperty("decklink")&&(a.decklink=$root.sesame.v1.sources.DecklinkSourceConfig.toObject(e.decklink,i),i.oneofs&&(a.details="decklink")),e.signalGenerator!=null&&e.hasOwnProperty("signalGenerator")&&(a.signalGenerator=$root.sesame.v1.sources.SignalGeneratorSourceConfig.toObject(e.signalGenerator,i),i.oneofs&&(a.details="signalGenerator")),e.systemAudio!=null&&e.hasOwnProperty("systemAudio")&&(a.systemAudio=$root.sesame.v1.sources.SystemAudioSourceConfig.toObject(e.systemAudio,i),i.oneofs&&(a.details="systemAudio")),e.srtStream!=null&&e.hasOwnProperty("srtStream")&&(a.srtStream=$root.sesame.v1.sources.SrtSourceConfig.toObject(e.srtStream,i),i.oneofs&&(a.details="srtStream")),e.websocket!=null&&e.hasOwnProperty("websocket")&&(a.websocket=$root.sesame.v1.sources.WebsocketSourceConfig.toObject(e.websocket,i),i.oneofs&&(a.details="websocket")),e.moq!=null&&e.hasOwnProperty("moq")&&(a.moq=$root.sesame.v1.sources.MoqSourceConfig.toObject(e.moq,i),i.oneofs&&(a.details="moq")),a},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/sesame.v1.sources.SourceConfig"},n}(),l.SourceAddRequest=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.id="",n.prototype.config=null,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.id!=null&&Object.hasOwnProperty.call(t,"id")&&e.uint32(10).string(t.id),t.config!=null&&Object.hasOwnProperty.call(t,"config")&&$root.sesame.v1.sources.SourceConfig.encode(t.config,e.uint32(18).fork()).ldelim(),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.sources.SourceAddRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.id=t.string();break}case 2:{s.config=$root.sesame.v1.sources.SourceConfig.decode(t,t.uint32());break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.id!=null&&t.hasOwnProperty("id")&&!$util.isString(t.id))return"id: string expected";if(t.config!=null&&t.hasOwnProperty("config")){let e=$root.sesame.v1.sources.SourceConfig.verify(t.config);if(e)return"config."+e}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.sources.SourceAddRequest)return t;let e=new $root.sesame.v1.sources.SourceAddRequest;if(t.id!=null&&(e.id=String(t.id)),t.config!=null){if(typeof t.config!="object")throw TypeError(".sesame.v1.sources.SourceAddRequest.config: object expected");e.config=$root.sesame.v1.sources.SourceConfig.fromObject(t.config)}return e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.id="",i.config=null),t.id!=null&&t.hasOwnProperty("id")&&(i.id=t.id),t.config!=null&&t.hasOwnProperty("config")&&(i.config=$root.sesame.v1.sources.SourceConfig.toObject(t.config,e)),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.sources.SourceAddRequest"},n}(),l.SourceUpdateRequest=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.id="",n.prototype.config=null,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.id!=null&&Object.hasOwnProperty.call(t,"id")&&e.uint32(10).string(t.id),t.config!=null&&Object.hasOwnProperty.call(t,"config")&&$root.sesame.v1.sources.SourceConfig.encode(t.config,e.uint32(18).fork()).ldelim(),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.sources.SourceUpdateRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.id=t.string();break}case 2:{s.config=$root.sesame.v1.sources.SourceConfig.decode(t,t.uint32());break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.id!=null&&t.hasOwnProperty("id")&&!$util.isString(t.id))return"id: string expected";if(t.config!=null&&t.hasOwnProperty("config")){let e=$root.sesame.v1.sources.SourceConfig.verify(t.config);if(e)return"config."+e}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.sources.SourceUpdateRequest)return t;let e=new $root.sesame.v1.sources.SourceUpdateRequest;if(t.id!=null&&(e.id=String(t.id)),t.config!=null){if(typeof t.config!="object")throw TypeError(".sesame.v1.sources.SourceUpdateRequest.config: object expected");e.config=$root.sesame.v1.sources.SourceConfig.fromObject(t.config)}return e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.id="",i.config=null),t.id!=null&&t.hasOwnProperty("id")&&(i.id=t.id),t.config!=null&&t.hasOwnProperty("config")&&(i.config=$root.sesame.v1.sources.SourceConfig.toObject(t.config,e)),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.sources.SourceUpdateRequest"},n}(),l.SourceRemoveRequest=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.id="",n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.id!=null&&Object.hasOwnProperty.call(t,"id")&&e.uint32(10).string(t.id),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.sources.SourceRemoveRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.id=t.string();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.id!=null&&t.hasOwnProperty("id")&&!$util.isString(t.id)?"id: string expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.sources.SourceRemoveRequest)return t;let e=new $root.sesame.v1.sources.SourceRemoveRequest;return t.id!=null&&(e.id=String(t.id)),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.id=""),t.id!=null&&t.hasOwnProperty("id")&&(i.id=t.id),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.sources.SourceRemoveRequest"},n}(),l.SourceStatus=function(){function n(t){if(t)for(let e=Object.keys(t),i=0;i<e.length;++i)t[e[i]]!=null&&(this[e[i]]=t[e[i]])}n.prototype.id="",n.prototype.type=0,n.prototype.userId="",n.prototype.state=0,n.prototype.transportState=0,n.prototype.msg=null,n.prototype.url="",n.prototype.width=0,n.prototype.height=0,n.prototype.fps=0,n.prototype.durationUs=$util.Long?$util.Long.fromBits(0,0,!1):0,n.prototype.playPositionUs=$util.Long?$util.Long.fromBits(0,0,!1):0,n.prototype.videoBuf=0,n.prototype.audioBuf=0,n.prototype.gpuBuf=0,n.prototype.audioChannels=0,n.prototype.audioLevel=0,n.prototype.lipSyncOffsetUs=$util.Long?$util.Long.fromBits(0,0,!1):0,n.prototype.decodeTiming=null,n.prototype.videoBufAvg=0,n.prototype.srtStats=null;let r;return Object.defineProperty(n.prototype,"_msg",{get:$util.oneOfGetter(r=["msg"]),set:$util.oneOfSetter(r)}),Object.defineProperty(n.prototype,"_srtStats",{get:$util.oneOfGetter(r=["srtStats"]),set:$util.oneOfSetter(r)}),n.create=function(e){return new n(e)},n.encode=function(e,i){return i||(i=$Writer.create()),e.id!=null&&Object.hasOwnProperty.call(e,"id")&&i.uint32(10).string(e.id),e.type!=null&&Object.hasOwnProperty.call(e,"type")&&i.uint32(16).int32(e.type),e.userId!=null&&Object.hasOwnProperty.call(e,"userId")&&i.uint32(26).string(e.userId),e.state!=null&&Object.hasOwnProperty.call(e,"state")&&i.uint32(32).int32(e.state),e.transportState!=null&&Object.hasOwnProperty.call(e,"transportState")&&i.uint32(40).int32(e.transportState),e.msg!=null&&Object.hasOwnProperty.call(e,"msg")&&i.uint32(50).string(e.msg),e.url!=null&&Object.hasOwnProperty.call(e,"url")&&i.uint32(58).string(e.url),e.width!=null&&Object.hasOwnProperty.call(e,"width")&&i.uint32(64).uint32(e.width),e.height!=null&&Object.hasOwnProperty.call(e,"height")&&i.uint32(72).uint32(e.height),e.fps!=null&&Object.hasOwnProperty.call(e,"fps")&&i.uint32(85).float(e.fps),e.durationUs!=null&&Object.hasOwnProperty.call(e,"durationUs")&&i.uint32(88).int64(e.durationUs),e.playPositionUs!=null&&Object.hasOwnProperty.call(e,"playPositionUs")&&i.uint32(96).int64(e.playPositionUs),e.videoBuf!=null&&Object.hasOwnProperty.call(e,"videoBuf")&&i.uint32(104).int32(e.videoBuf),e.audioBuf!=null&&Object.hasOwnProperty.call(e,"audioBuf")&&i.uint32(112).int32(e.audioBuf),e.gpuBuf!=null&&Object.hasOwnProperty.call(e,"gpuBuf")&&i.uint32(120).int32(e.gpuBuf),e.audioChannels!=null&&Object.hasOwnProperty.call(e,"audioChannels")&&i.uint32(128).uint32(e.audioChannels),e.audioLevel!=null&&Object.hasOwnProperty.call(e,"audioLevel")&&i.uint32(141).float(e.audioLevel),e.lipSyncOffsetUs!=null&&Object.hasOwnProperty.call(e,"lipSyncOffsetUs")&&i.uint32(144).int64(e.lipSyncOffsetUs),e.decodeTiming!=null&&Object.hasOwnProperty.call(e,"decodeTiming")&&$root.sesame.v1.status.FrameTiming.encode(e.decodeTiming,i.uint32(154).fork()).ldelim(),e.videoBufAvg!=null&&Object.hasOwnProperty.call(e,"videoBufAvg")&&i.uint32(161).double(e.videoBufAvg),e.srtStats!=null&&Object.hasOwnProperty.call(e,"srtStats")&&$root.sesame.v1.status.SRTReceiveStatistics.encode(e.srtStats,i.uint32(170).fork()).ldelim(),i},n.encodeDelimited=function(e,i){return this.encode(e,i).ldelim()},n.decode=function(e,i,a){e instanceof $Reader||(e=$Reader.create(e));let s=i===void 0?e.len:e.pos+i,d=new $root.sesame.v1.sources.SourceStatus;for(;e.pos<s;){let c=e.uint32();if(c===a)break;switch(c>>>3){case 1:{d.id=e.string();break}case 2:{d.type=e.int32();break}case 3:{d.userId=e.string();break}case 4:{d.state=e.int32();break}case 5:{d.transportState=e.int32();break}case 6:{d.msg=e.string();break}case 7:{d.url=e.string();break}case 8:{d.width=e.uint32();break}case 9:{d.height=e.uint32();break}case 10:{d.fps=e.float();break}case 11:{d.durationUs=e.int64();break}case 12:{d.playPositionUs=e.int64();break}case 13:{d.videoBuf=e.int32();break}case 14:{d.audioBuf=e.int32();break}case 15:{d.gpuBuf=e.int32();break}case 16:{d.audioChannels=e.uint32();break}case 17:{d.audioLevel=e.float();break}case 18:{d.lipSyncOffsetUs=e.int64();break}case 19:{d.decodeTiming=$root.sesame.v1.status.FrameTiming.decode(e,e.uint32());break}case 20:{d.videoBufAvg=e.double();break}case 21:{d.srtStats=$root.sesame.v1.status.SRTReceiveStatistics.decode(e,e.uint32());break}default:e.skipType(c&7);break}}return d},n.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},n.verify=function(e){if(typeof e!="object"||e===null)return"object expected";if(e.id!=null&&e.hasOwnProperty("id")&&!$util.isString(e.id))return"id: string expected";if(e.type!=null&&e.hasOwnProperty("type"))switch(e.type){default:return"type: enum value expected";case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:break}if(e.userId!=null&&e.hasOwnProperty("userId")&&!$util.isString(e.userId))return"userId: string expected";if(e.state!=null&&e.hasOwnProperty("state"))switch(e.state){default:return"state: enum value expected";case 0:case 1:case 2:case 3:case 4:case 5:case 6:break}if(e.transportState!=null&&e.hasOwnProperty("transportState"))switch(e.transportState){default:return"transportState: enum value expected";case 0:case 1:case 2:case 3:case 4:break}if(e.msg!=null&&e.hasOwnProperty("msg")&&!$util.isString(e.msg))return"msg: string expected";if(e.url!=null&&e.hasOwnProperty("url")&&!$util.isString(e.url))return"url: string expected";if(e.width!=null&&e.hasOwnProperty("width")&&!$util.isInteger(e.width))return"width: integer expected";if(e.height!=null&&e.hasOwnProperty("height")&&!$util.isInteger(e.height))return"height: integer expected";if(e.fps!=null&&e.hasOwnProperty("fps")&&typeof e.fps!="number")return"fps: number expected";if(e.durationUs!=null&&e.hasOwnProperty("durationUs")&&!$util.isInteger(e.durationUs)&&!(e.durationUs&&$util.isInteger(e.durationUs.low)&&$util.isInteger(e.durationUs.high)))return"durationUs: integer|Long expected";if(e.playPositionUs!=null&&e.hasOwnProperty("playPositionUs")&&!$util.isInteger(e.playPositionUs)&&!(e.playPositionUs&&$util.isInteger(e.playPositionUs.low)&&$util.isInteger(e.playPositionUs.high)))return"playPositionUs: integer|Long expected";if(e.videoBuf!=null&&e.hasOwnProperty("videoBuf")&&!$util.isInteger(e.videoBuf))return"videoBuf: integer expected";if(e.audioBuf!=null&&e.hasOwnProperty("audioBuf")&&!$util.isInteger(e.audioBuf))return"audioBuf: integer expected";if(e.gpuBuf!=null&&e.hasOwnProperty("gpuBuf")&&!$util.isInteger(e.gpuBuf))return"gpuBuf: integer expected";if(e.audioChannels!=null&&e.hasOwnProperty("audioChannels")&&!$util.isInteger(e.audioChannels))return"audioChannels: integer expected";if(e.audioLevel!=null&&e.hasOwnProperty("audioLevel")&&typeof e.audioLevel!="number")return"audioLevel: number expected";if(e.lipSyncOffsetUs!=null&&e.hasOwnProperty("lipSyncOffsetUs")&&!$util.isInteger(e.lipSyncOffsetUs)&&!(e.lipSyncOffsetUs&&$util.isInteger(e.lipSyncOffsetUs.low)&&$util.isInteger(e.lipSyncOffsetUs.high)))return"lipSyncOffsetUs: integer|Long expected";if(e.decodeTiming!=null&&e.hasOwnProperty("decodeTiming")){let i=$root.sesame.v1.status.FrameTiming.verify(e.decodeTiming);if(i)return"decodeTiming."+i}if(e.videoBufAvg!=null&&e.hasOwnProperty("videoBufAvg")&&typeof e.videoBufAvg!="number")return"videoBufAvg: number expected";if(e.srtStats!=null&&e.hasOwnProperty("srtStats")){let i=$root.sesame.v1.status.SRTReceiveStatistics.verify(e.srtStats);if(i)return"srtStats."+i}return null},n.fromObject=function(e){if(e instanceof $root.sesame.v1.sources.SourceStatus)return e;let i=new $root.sesame.v1.sources.SourceStatus;switch(e.id!=null&&(i.id=String(e.id)),e.type){default:if(typeof e.type=="number"){i.type=e.type;break}break;case"SOURCE_TYPE_UNSPECIFIED":case 0:i.type=0;break;case"SOURCE_TYPE_FILE":case 1:i.type=1;break;case"SOURCE_TYPE_RECORDER":case 2:i.type=2;break;case"SOURCE_TYPE_BROWSER":case 3:i.type=3;break;case"SOURCE_TYPE_RTT":case 4:i.type=4;break;case"SOURCE_TYPE_DECKLINK":case 5:i.type=5;break;case"SOURCE_TYPE_SIGNAL_GENERATOR":case 6:i.type=6;break;case"SOURCE_TYPE_SYSTEM_AUDIO":case 7:i.type=7;break;case"SOURCE_TYPE_SRT_STREAM":case 8:i.type=8;break;case"SOURCE_TYPE_WEBSOCKET":case 9:i.type=9;break;case"SOURCE_TYPE_MOQ":case 10:i.type=10;break}switch(e.userId!=null&&(i.userId=String(e.userId)),e.state){default:if(typeof e.state=="number"){i.state=e.state;break}break;case"CONNECTION_STATE_UNSPECIFIED":case 0:i.state=0;break;case"CONNECTION_STATE_INITIALIZING":case 1:i.state=1;break;case"CONNECTION_STATE_CONNECTING":case 2:i.state=2;break;case"CONNECTION_STATE_ONLINE":case 3:i.state=3;break;case"CONNECTION_STATE_DEGRADED":case 4:i.state=4;break;case"CONNECTION_STATE_OFFLINE":case 5:i.state=5;break;case"CONNECTION_STATE_ERROR":case 6:i.state=6;break}switch(e.transportState){default:if(typeof e.transportState=="number"){i.transportState=e.transportState;break}break;case"SOURCE_TRANSPORT_STATE_STOPPED":case 0:i.transportState=0;break;case"SOURCE_TRANSPORT_STATE_PLAYING":case 1:i.transportState=1;break;case"SOURCE_TRANSPORT_STATE_CUEING":case 2:i.transportState=2;break;case"SOURCE_TRANSPORT_STATE_ERROR":case 3:i.transportState=3;break;case"SOURCE_TRANSPORT_STATE_PLAYING_LIVE":case 4:i.transportState=4;break}if(e.msg!=null&&(i.msg=String(e.msg)),e.url!=null&&(i.url=String(e.url)),e.width!=null&&(i.width=e.width>>>0),e.height!=null&&(i.height=e.height>>>0),e.fps!=null&&(i.fps=Number(e.fps)),e.durationUs!=null&&($util.Long?(i.durationUs=$util.Long.fromValue(e.durationUs)).unsigned=!1:typeof e.durationUs=="string"?i.durationUs=parseInt(e.durationUs,10):typeof e.durationUs=="number"?i.durationUs=e.durationUs:typeof e.durationUs=="object"&&(i.durationUs=new $util.LongBits(e.durationUs.low>>>0,e.durationUs.high>>>0).toNumber())),e.playPositionUs!=null&&($util.Long?(i.playPositionUs=$util.Long.fromValue(e.playPositionUs)).unsigned=!1:typeof e.playPositionUs=="string"?i.playPositionUs=parseInt(e.playPositionUs,10):typeof e.playPositionUs=="number"?i.playPositionUs=e.playPositionUs:typeof e.playPositionUs=="object"&&(i.playPositionUs=new $util.LongBits(e.playPositionUs.low>>>0,e.playPositionUs.high>>>0).toNumber())),e.videoBuf!=null&&(i.videoBuf=e.videoBuf|0),e.audioBuf!=null&&(i.audioBuf=e.audioBuf|0),e.gpuBuf!=null&&(i.gpuBuf=e.gpuBuf|0),e.audioChannels!=null&&(i.audioChannels=e.audioChannels>>>0),e.audioLevel!=null&&(i.audioLevel=Number(e.audioLevel)),e.lipSyncOffsetUs!=null&&($util.Long?(i.lipSyncOffsetUs=$util.Long.fromValue(e.lipSyncOffsetUs)).unsigned=!1:typeof e.lipSyncOffsetUs=="string"?i.lipSyncOffsetUs=parseInt(e.lipSyncOffsetUs,10):typeof e.lipSyncOffsetUs=="number"?i.lipSyncOffsetUs=e.lipSyncOffsetUs:typeof e.lipSyncOffsetUs=="object"&&(i.lipSyncOffsetUs=new $util.LongBits(e.lipSyncOffsetUs.low>>>0,e.lipSyncOffsetUs.high>>>0).toNumber())),e.decodeTiming!=null){if(typeof e.decodeTiming!="object")throw TypeError(".sesame.v1.sources.SourceStatus.decodeTiming: object expected");i.decodeTiming=$root.sesame.v1.status.FrameTiming.fromObject(e.decodeTiming)}if(e.videoBufAvg!=null&&(i.videoBufAvg=Number(e.videoBufAvg)),e.srtStats!=null){if(typeof e.srtStats!="object")throw TypeError(".sesame.v1.sources.SourceStatus.srtStats: object expected");i.srtStats=$root.sesame.v1.status.SRTReceiveStatistics.fromObject(e.srtStats)}return i},n.toObject=function(e,i){i||(i={});let a={};if(i.defaults){if(a.id="",a.type=i.enums===String?"SOURCE_TYPE_UNSPECIFIED":0,a.userId="",a.state=i.enums===String?"CONNECTION_STATE_UNSPECIFIED":0,a.transportState=i.enums===String?"SOURCE_TRANSPORT_STATE_STOPPED":0,a.url="",a.width=0,a.height=0,a.fps=0,$util.Long){let s=new $util.Long(0,0,!1);a.durationUs=i.longs===String?s.toString():i.longs===Number?s.toNumber():s}else a.durationUs=i.longs===String?"0":0;if($util.Long){let s=new $util.Long(0,0,!1);a.playPositionUs=i.longs===String?s.toString():i.longs===Number?s.toNumber():s}else a.playPositionUs=i.longs===String?"0":0;if(a.videoBuf=0,a.audioBuf=0,a.gpuBuf=0,a.audioChannels=0,a.audioLevel=0,$util.Long){let s=new $util.Long(0,0,!1);a.lipSyncOffsetUs=i.longs===String?s.toString():i.longs===Number?s.toNumber():s}else a.lipSyncOffsetUs=i.longs===String?"0":0;a.decodeTiming=null,a.videoBufAvg=0}return e.id!=null&&e.hasOwnProperty("id")&&(a.id=e.id),e.type!=null&&e.hasOwnProperty("type")&&(a.type=i.enums===String?$root.sesame.v1.sources.SourceType[e.type]===void 0?e.type:$root.sesame.v1.sources.SourceType[e.type]:e.type),e.userId!=null&&e.hasOwnProperty("userId")&&(a.userId=e.userId),e.state!=null&&e.hasOwnProperty("state")&&(a.state=i.enums===String?$root.sesame.v1.common.ConnectionState[e.state]===void 0?e.state:$root.sesame.v1.common.ConnectionState[e.state]:e.state),e.transportState!=null&&e.hasOwnProperty("transportState")&&(a.transportState=i.enums===String?$root.sesame.v1.sources.SourceTransportState[e.transportState]===void 0?e.transportState:$root.sesame.v1.sources.SourceTransportState[e.transportState]:e.transportState),e.msg!=null&&e.hasOwnProperty("msg")&&(a.msg=e.msg,i.oneofs&&(a._msg="msg")),e.url!=null&&e.hasOwnProperty("url")&&(a.url=e.url),e.width!=null&&e.hasOwnProperty("width")&&(a.width=e.width),e.height!=null&&e.hasOwnProperty("height")&&(a.height=e.height),e.fps!=null&&e.hasOwnProperty("fps")&&(a.fps=i.json&&!isFinite(e.fps)?String(e.fps):e.fps),e.durationUs!=null&&e.hasOwnProperty("durationUs")&&(typeof e.durationUs=="number"?a.durationUs=i.longs===String?String(e.durationUs):e.durationUs:a.durationUs=i.longs===String?$util.Long.prototype.toString.call(e.durationUs):i.longs===Number?new $util.LongBits(e.durationUs.low>>>0,e.durationUs.high>>>0).toNumber():e.durationUs),e.playPositionUs!=null&&e.hasOwnProperty("playPositionUs")&&(typeof e.playPositionUs=="number"?a.playPositionUs=i.longs===String?String(e.playPositionUs):e.playPositionUs:a.playPositionUs=i.longs===String?$util.Long.prototype.toString.call(e.playPositionUs):i.longs===Number?new $util.LongBits(e.playPositionUs.low>>>0,e.playPositionUs.high>>>0).toNumber():e.playPositionUs),e.videoBuf!=null&&e.hasOwnProperty("videoBuf")&&(a.videoBuf=e.videoBuf),e.audioBuf!=null&&e.hasOwnProperty("audioBuf")&&(a.audioBuf=e.audioBuf),e.gpuBuf!=null&&e.hasOwnProperty("gpuBuf")&&(a.gpuBuf=e.gpuBuf),e.audioChannels!=null&&e.hasOwnProperty("audioChannels")&&(a.audioChannels=e.audioChannels),e.audioLevel!=null&&e.hasOwnProperty("audioLevel")&&(a.audioLevel=i.json&&!isFinite(e.audioLevel)?String(e.audioLevel):e.audioLevel),e.lipSyncOffsetUs!=null&&e.hasOwnProperty("lipSyncOffsetUs")&&(typeof e.lipSyncOffsetUs=="number"?a.lipSyncOffsetUs=i.longs===String?String(e.lipSyncOffsetUs):e.lipSyncOffsetUs:a.lipSyncOffsetUs=i.longs===String?$util.Long.prototype.toString.call(e.lipSyncOffsetUs):i.longs===Number?new $util.LongBits(e.lipSyncOffsetUs.low>>>0,e.lipSyncOffsetUs.high>>>0).toNumber():e.lipSyncOffsetUs),e.decodeTiming!=null&&e.hasOwnProperty("decodeTiming")&&(a.decodeTiming=$root.sesame.v1.status.FrameTiming.toObject(e.decodeTiming,i)),e.videoBufAvg!=null&&e.hasOwnProperty("videoBufAvg")&&(a.videoBufAvg=i.json&&!isFinite(e.videoBufAvg)?String(e.videoBufAvg):e.videoBufAvg),e.srtStats!=null&&e.hasOwnProperty("srtStats")&&(a.srtStats=$root.sesame.v1.status.SRTReceiveStatistics.toObject(e.srtStats,i),i.oneofs&&(a._srtStats="srtStats")),a},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/sesame.v1.sources.SourceStatus"},n}(),l.SourceMetadataSetRequest=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.sourceId="",n.prototype.metadata=null,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.sourceId!=null&&Object.hasOwnProperty.call(t,"sourceId")&&e.uint32(10).string(t.sourceId),t.metadata!=null&&Object.hasOwnProperty.call(t,"metadata")&&$root.sesame.v1.common.TransportMetadata.encode(t.metadata,e.uint32(18).fork()).ldelim(),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.sources.SourceMetadataSetRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.sourceId=t.string();break}case 2:{s.metadata=$root.sesame.v1.common.TransportMetadata.decode(t,t.uint32());break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.sourceId!=null&&t.hasOwnProperty("sourceId")&&!$util.isString(t.sourceId))return"sourceId: string expected";if(t.metadata!=null&&t.hasOwnProperty("metadata")){let e=$root.sesame.v1.common.TransportMetadata.verify(t.metadata);if(e)return"metadata."+e}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.sources.SourceMetadataSetRequest)return t;let e=new $root.sesame.v1.sources.SourceMetadataSetRequest;if(t.sourceId!=null&&(e.sourceId=String(t.sourceId)),t.metadata!=null){if(typeof t.metadata!="object")throw TypeError(".sesame.v1.sources.SourceMetadataSetRequest.metadata: object expected");e.metadata=$root.sesame.v1.common.TransportMetadata.fromObject(t.metadata)}return e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.sourceId="",i.metadata=null),t.sourceId!=null&&t.hasOwnProperty("sourceId")&&(i.sourceId=t.sourceId),t.metadata!=null&&t.hasOwnProperty("metadata")&&(i.metadata=$root.sesame.v1.common.TransportMetadata.toObject(t.metadata,e)),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.sources.SourceMetadataSetRequest"},n}(),l.SourceMetadataEvent=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.sourceId="",n.prototype.metadata=null,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.sourceId!=null&&Object.hasOwnProperty.call(t,"sourceId")&&e.uint32(10).string(t.sourceId),t.metadata!=null&&Object.hasOwnProperty.call(t,"metadata")&&$root.sesame.v1.common.TransportMetadata.encode(t.metadata,e.uint32(18).fork()).ldelim(),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.sources.SourceMetadataEvent;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.sourceId=t.string();break}case 2:{s.metadata=$root.sesame.v1.common.TransportMetadata.decode(t,t.uint32());break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.sourceId!=null&&t.hasOwnProperty("sourceId")&&!$util.isString(t.sourceId))return"sourceId: string expected";if(t.metadata!=null&&t.hasOwnProperty("metadata")){let e=$root.sesame.v1.common.TransportMetadata.verify(t.metadata);if(e)return"metadata."+e}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.sources.SourceMetadataEvent)return t;let e=new $root.sesame.v1.sources.SourceMetadataEvent;if(t.sourceId!=null&&(e.sourceId=String(t.sourceId)),t.metadata!=null){if(typeof t.metadata!="object")throw TypeError(".sesame.v1.sources.SourceMetadataEvent.metadata: object expected");e.metadata=$root.sesame.v1.common.TransportMetadata.fromObject(t.metadata)}return e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.sourceId="",i.metadata=null),t.sourceId!=null&&t.hasOwnProperty("sourceId")&&(i.sourceId=t.sourceId),t.metadata!=null&&t.hasOwnProperty("metadata")&&(i.metadata=$root.sesame.v1.common.TransportMetadata.toObject(t.metadata,e)),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.sources.SourceMetadataEvent"},n}(),l.SourceTransportCommand=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.sourceId="",n.prototype.cmdType=0,n.prototype.value=null,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.sourceId!=null&&Object.hasOwnProperty.call(t,"sourceId")&&e.uint32(10).string(t.sourceId),t.cmdType!=null&&Object.hasOwnProperty.call(t,"cmdType")&&e.uint32(16).int32(t.cmdType),t.value!=null&&Object.hasOwnProperty.call(t,"value")&&$root.sesame.v1.common.PropValue.encode(t.value,e.uint32(26).fork()).ldelim(),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.sources.SourceTransportCommand;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.sourceId=t.string();break}case 2:{s.cmdType=t.int32();break}case 3:{s.value=$root.sesame.v1.common.PropValue.decode(t,t.uint32());break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.sourceId!=null&&t.hasOwnProperty("sourceId")&&!$util.isString(t.sourceId))return"sourceId: string expected";if(t.cmdType!=null&&t.hasOwnProperty("cmdType"))switch(t.cmdType){default:return"cmdType: enum value expected";case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:break}if(t.value!=null&&t.hasOwnProperty("value")){let e=$root.sesame.v1.common.PropValue.verify(t.value);if(e)return"value."+e}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.sources.SourceTransportCommand)return t;let e=new $root.sesame.v1.sources.SourceTransportCommand;switch(t.sourceId!=null&&(e.sourceId=String(t.sourceId)),t.cmdType){default:if(typeof t.cmdType=="number"){e.cmdType=t.cmdType;break}break;case"SOURCE_TRANSPORT_CMD_UNSPECIFIED":case 0:e.cmdType=0;break;case"SOURCE_TRANSPORT_CMD_STOP":case 1:e.cmdType=1;break;case"SOURCE_TRANSPORT_CMD_PLAY":case 2:e.cmdType=2;break;case"SOURCE_TRANSPORT_CMD_SEEK":case 3:e.cmdType=3;break;case"SOURCE_TRANSPORT_CMD_LOOP":case 4:e.cmdType=4;break;case"SOURCE_TRANSPORT_CMD_LIVE":case 5:e.cmdType=5;break;case"SOURCE_TRANSPORT_CMD_JOG":case 6:e.cmdType=6;break;case"SOURCE_TRANSPORT_CMD_MONITOR":case 7:e.cmdType=7;break;case"SOURCE_TRANSPORT_CMD_SEEK_USER_TIME":case 8:e.cmdType=8;break;case"SOURCE_TRANSPORT_CMD_TAKE":case 9:e.cmdType=9;break;case"SOURCE_TRANSPORT_CMD_POST_ROLL":case 10:e.cmdType=10;break;case"SOURCE_TRANSPORT_CMD_PRE_ROLL":case 11:e.cmdType=11;break;case"SOURCE_TRANSPORT_CMD_NEXT":case 12:e.cmdType=12;break;case"SOURCE_TRANSPORT_CMD_SKIP_NEXT":case 13:e.cmdType=13;break;case"SOURCE_TRANSPORT_CMD_TRANSITIONS_DISABLED":case 14:e.cmdType=14;break;case"SOURCE_TRANSPORT_CMD_SET_SCRUBBING":case 15:e.cmdType=15;break}if(t.value!=null){if(typeof t.value!="object")throw TypeError(".sesame.v1.sources.SourceTransportCommand.value: object expected");e.value=$root.sesame.v1.common.PropValue.fromObject(t.value)}return e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.sourceId="",i.cmdType=e.enums===String?"SOURCE_TRANSPORT_CMD_UNSPECIFIED":0,i.value=null),t.sourceId!=null&&t.hasOwnProperty("sourceId")&&(i.sourceId=t.sourceId),t.cmdType!=null&&t.hasOwnProperty("cmdType")&&(i.cmdType=e.enums===String?$root.sesame.v1.sources.SourceTransportCommandType[t.cmdType]===void 0?t.cmdType:$root.sesame.v1.sources.SourceTransportCommandType[t.cmdType]:t.cmdType),t.value!=null&&t.hasOwnProperty("value")&&(i.value=$root.sesame.v1.common.PropValue.toObject(t.value,e)),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.sources.SourceTransportCommand"},n}(),l.LoadPlaylistRequest=function(){function n(t){if(this.items=[],t)for(let e=Object.keys(t),i=0;i<e.length;++i)t[e[i]]!=null&&(this[e[i]]=t[e[i]])}n.prototype.sourceId="",n.prototype.userPlaylistId="",n.prototype.items=$util.emptyArray,n.prototype.startTimeUs=null,n.prototype.startIndex=null,n.prototype.materialPosUs=null;let r;return Object.defineProperty(n.prototype,"_startTimeUs",{get:$util.oneOfGetter(r=["startTimeUs"]),set:$util.oneOfSetter(r)}),Object.defineProperty(n.prototype,"_startIndex",{get:$util.oneOfGetter(r=["startIndex"]),set:$util.oneOfSetter(r)}),Object.defineProperty(n.prototype,"_materialPosUs",{get:$util.oneOfGetter(r=["materialPosUs"]),set:$util.oneOfSetter(r)}),n.create=function(e){return new n(e)},n.encode=function(e,i){if(i||(i=$Writer.create()),e.sourceId!=null&&Object.hasOwnProperty.call(e,"sourceId")&&i.uint32(10).string(e.sourceId),e.userPlaylistId!=null&&Object.hasOwnProperty.call(e,"userPlaylistId")&&i.uint32(18).string(e.userPlaylistId),e.items!=null&&e.items.length)for(let a=0;a<e.items.length;++a)$root.sesame.v1.recorder.PlaylistItem.encode(e.items[a],i.uint32(26).fork()).ldelim();return e.startTimeUs!=null&&Object.hasOwnProperty.call(e,"startTimeUs")&&i.uint32(32).int64(e.startTimeUs),e.startIndex!=null&&Object.hasOwnProperty.call(e,"startIndex")&&i.uint32(40).int64(e.startIndex),e.materialPosUs!=null&&Object.hasOwnProperty.call(e,"materialPosUs")&&i.uint32(48).int64(e.materialPosUs),i},n.encodeDelimited=function(e,i){return this.encode(e,i).ldelim()},n.decode=function(e,i,a){e instanceof $Reader||(e=$Reader.create(e));let s=i===void 0?e.len:e.pos+i,d=new $root.sesame.v1.sources.LoadPlaylistRequest;for(;e.pos<s;){let c=e.uint32();if(c===a)break;switch(c>>>3){case 1:{d.sourceId=e.string();break}case 2:{d.userPlaylistId=e.string();break}case 3:{d.items&&d.items.length||(d.items=[]),d.items.push($root.sesame.v1.recorder.PlaylistItem.decode(e,e.uint32()));break}case 4:{d.startTimeUs=e.int64();break}case 5:{d.startIndex=e.int64();break}case 6:{d.materialPosUs=e.int64();break}default:e.skipType(c&7);break}}return d},n.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},n.verify=function(e){if(typeof e!="object"||e===null)return"object expected";if(e.sourceId!=null&&e.hasOwnProperty("sourceId")&&!$util.isString(e.sourceId))return"sourceId: string expected";if(e.userPlaylistId!=null&&e.hasOwnProperty("userPlaylistId")&&!$util.isString(e.userPlaylistId))return"userPlaylistId: string expected";if(e.items!=null&&e.hasOwnProperty("items")){if(!Array.isArray(e.items))return"items: array expected";for(let i=0;i<e.items.length;++i){let a=$root.sesame.v1.recorder.PlaylistItem.verify(e.items[i]);if(a)return"items."+a}}return e.startTimeUs!=null&&e.hasOwnProperty("startTimeUs")&&!$util.isInteger(e.startTimeUs)&&!(e.startTimeUs&&$util.isInteger(e.startTimeUs.low)&&$util.isInteger(e.startTimeUs.high))?"startTimeUs: integer|Long expected":e.startIndex!=null&&e.hasOwnProperty("startIndex")&&!$util.isInteger(e.startIndex)&&!(e.startIndex&&$util.isInteger(e.startIndex.low)&&$util.isInteger(e.startIndex.high))?"startIndex: integer|Long expected":e.materialPosUs!=null&&e.hasOwnProperty("materialPosUs")&&!$util.isInteger(e.materialPosUs)&&!(e.materialPosUs&&$util.isInteger(e.materialPosUs.low)&&$util.isInteger(e.materialPosUs.high))?"materialPosUs: integer|Long expected":null},n.fromObject=function(e){if(e instanceof $root.sesame.v1.sources.LoadPlaylistRequest)return e;let i=new $root.sesame.v1.sources.LoadPlaylistRequest;if(e.sourceId!=null&&(i.sourceId=String(e.sourceId)),e.userPlaylistId!=null&&(i.userPlaylistId=String(e.userPlaylistId)),e.items){if(!Array.isArray(e.items))throw TypeError(".sesame.v1.sources.LoadPlaylistRequest.items: array expected");i.items=[];for(let a=0;a<e.items.length;++a){if(typeof e.items[a]!="object")throw TypeError(".sesame.v1.sources.LoadPlaylistRequest.items: object expected");i.items[a]=$root.sesame.v1.recorder.PlaylistItem.fromObject(e.items[a])}}return e.startTimeUs!=null&&($util.Long?(i.startTimeUs=$util.Long.fromValue(e.startTimeUs)).unsigned=!1:typeof e.startTimeUs=="string"?i.startTimeUs=parseInt(e.startTimeUs,10):typeof e.startTimeUs=="number"?i.startTimeUs=e.startTimeUs:typeof e.startTimeUs=="object"&&(i.startTimeUs=new $util.LongBits(e.startTimeUs.low>>>0,e.startTimeUs.high>>>0).toNumber())),e.startIndex!=null&&($util.Long?(i.startIndex=$util.Long.fromValue(e.startIndex)).unsigned=!1:typeof e.startIndex=="string"?i.startIndex=parseInt(e.startIndex,10):typeof e.startIndex=="number"?i.startIndex=e.startIndex:typeof e.startIndex=="object"&&(i.startIndex=new $util.LongBits(e.startIndex.low>>>0,e.startIndex.high>>>0).toNumber())),e.materialPosUs!=null&&($util.Long?(i.materialPosUs=$util.Long.fromValue(e.materialPosUs)).unsigned=!1:typeof e.materialPosUs=="string"?i.materialPosUs=parseInt(e.materialPosUs,10):typeof e.materialPosUs=="number"?i.materialPosUs=e.materialPosUs:typeof e.materialPosUs=="object"&&(i.materialPosUs=new $util.LongBits(e.materialPosUs.low>>>0,e.materialPosUs.high>>>0).toNumber())),i},n.toObject=function(e,i){i||(i={});let a={};if((i.arrays||i.defaults)&&(a.items=[]),i.defaults&&(a.sourceId="",a.userPlaylistId=""),e.sourceId!=null&&e.hasOwnProperty("sourceId")&&(a.sourceId=e.sourceId),e.userPlaylistId!=null&&e.hasOwnProperty("userPlaylistId")&&(a.userPlaylistId=e.userPlaylistId),e.items&&e.items.length){a.items=[];for(let s=0;s<e.items.length;++s)a.items[s]=$root.sesame.v1.recorder.PlaylistItem.toObject(e.items[s],i)}return e.startTimeUs!=null&&e.hasOwnProperty("startTimeUs")&&(typeof e.startTimeUs=="number"?a.startTimeUs=i.longs===String?String(e.startTimeUs):e.startTimeUs:a.startTimeUs=i.longs===String?$util.Long.prototype.toString.call(e.startTimeUs):i.longs===Number?new $util.LongBits(e.startTimeUs.low>>>0,e.startTimeUs.high>>>0).toNumber():e.startTimeUs,i.oneofs&&(a._startTimeUs="startTimeUs")),e.startIndex!=null&&e.hasOwnProperty("startIndex")&&(typeof e.startIndex=="number"?a.startIndex=i.longs===String?String(e.startIndex):e.startIndex:a.startIndex=i.longs===String?$util.Long.prototype.toString.call(e.startIndex):i.longs===Number?new $util.LongBits(e.startIndex.low>>>0,e.startIndex.high>>>0).toNumber():e.startIndex,i.oneofs&&(a._startIndex="startIndex")),e.materialPosUs!=null&&e.hasOwnProperty("materialPosUs")&&(typeof e.materialPosUs=="number"?a.materialPosUs=i.longs===String?String(e.materialPosUs):e.materialPosUs:a.materialPosUs=i.longs===String?$util.Long.prototype.toString.call(e.materialPosUs):i.longs===Number?new $util.LongBits(e.materialPosUs.low>>>0,e.materialPosUs.high>>>0).toNumber():e.materialPosUs,i.oneofs&&(a._materialPosUs="materialPosUs")),a},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/sesame.v1.sources.LoadPlaylistRequest"},n}(),l.EjectPlaylistRequest=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.sourceId="",n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.sourceId!=null&&Object.hasOwnProperty.call(t,"sourceId")&&e.uint32(10).string(t.sourceId),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.sources.EjectPlaylistRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.sourceId=t.string();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.sourceId!=null&&t.hasOwnProperty("sourceId")&&!$util.isString(t.sourceId)?"sourceId: string expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.sources.EjectPlaylistRequest)return t;let e=new $root.sesame.v1.sources.EjectPlaylistRequest;return t.sourceId!=null&&(e.sourceId=String(t.sourceId)),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.sourceId=""),t.sourceId!=null&&t.hasOwnProperty("sourceId")&&(i.sourceId=t.sourceId),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.sources.EjectPlaylistRequest"},n}(),l.TransportControlRequest=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.cmdType=0,n.prototype.value=null,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.cmdType!=null&&Object.hasOwnProperty.call(t,"cmdType")&&e.uint32(8).int32(t.cmdType),t.value!=null&&Object.hasOwnProperty.call(t,"value")&&$root.sesame.v1.common.PropValue.encode(t.value,e.uint32(18).fork()).ldelim(),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.sources.TransportControlRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.cmdType=t.int32();break}case 2:{s.value=$root.sesame.v1.common.PropValue.decode(t,t.uint32());break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.cmdType!=null&&t.hasOwnProperty("cmdType"))switch(t.cmdType){default:return"cmdType: enum value expected";case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:break}if(t.value!=null&&t.hasOwnProperty("value")){let e=$root.sesame.v1.common.PropValue.verify(t.value);if(e)return"value."+e}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.sources.TransportControlRequest)return t;let e=new $root.sesame.v1.sources.TransportControlRequest;switch(t.cmdType){default:if(typeof t.cmdType=="number"){e.cmdType=t.cmdType;break}break;case"SOURCE_TRANSPORT_CMD_UNSPECIFIED":case 0:e.cmdType=0;break;case"SOURCE_TRANSPORT_CMD_STOP":case 1:e.cmdType=1;break;case"SOURCE_TRANSPORT_CMD_PLAY":case 2:e.cmdType=2;break;case"SOURCE_TRANSPORT_CMD_SEEK":case 3:e.cmdType=3;break;case"SOURCE_TRANSPORT_CMD_LOOP":case 4:e.cmdType=4;break;case"SOURCE_TRANSPORT_CMD_LIVE":case 5:e.cmdType=5;break;case"SOURCE_TRANSPORT_CMD_JOG":case 6:e.cmdType=6;break;case"SOURCE_TRANSPORT_CMD_MONITOR":case 7:e.cmdType=7;break;case"SOURCE_TRANSPORT_CMD_SEEK_USER_TIME":case 8:e.cmdType=8;break;case"SOURCE_TRANSPORT_CMD_TAKE":case 9:e.cmdType=9;break;case"SOURCE_TRANSPORT_CMD_POST_ROLL":case 10:e.cmdType=10;break;case"SOURCE_TRANSPORT_CMD_PRE_ROLL":case 11:e.cmdType=11;break;case"SOURCE_TRANSPORT_CMD_NEXT":case 12:e.cmdType=12;break;case"SOURCE_TRANSPORT_CMD_SKIP_NEXT":case 13:e.cmdType=13;break;case"SOURCE_TRANSPORT_CMD_TRANSITIONS_DISABLED":case 14:e.cmdType=14;break;case"SOURCE_TRANSPORT_CMD_SET_SCRUBBING":case 15:e.cmdType=15;break}if(t.value!=null){if(typeof t.value!="object")throw TypeError(".sesame.v1.sources.TransportControlRequest.value: object expected");e.value=$root.sesame.v1.common.PropValue.fromObject(t.value)}return e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.cmdType=e.enums===String?"SOURCE_TRANSPORT_CMD_UNSPECIFIED":0,i.value=null),t.cmdType!=null&&t.hasOwnProperty("cmdType")&&(i.cmdType=e.enums===String?$root.sesame.v1.sources.SourceTransportCommandType[t.cmdType]===void 0?t.cmdType:$root.sesame.v1.sources.SourceTransportCommandType[t.cmdType]:t.cmdType),t.value!=null&&t.hasOwnProperty("value")&&(i.value=$root.sesame.v1.common.PropValue.toObject(t.value,e)),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.sources.TransportControlRequest"},n}(),l}(),o.recorder=function(){const l={};return l.TransitionType=function(){const n={},r=Object.create(n);return r[n[0]="TRANSITION_TYPE_MIX"]=0,r[n[1]="TRANSITION_TYPE_FADE_TO_COLOR"]=1,r[n[2]="TRANSITION_TYPE_FADE_FROM_COLOR"]=2,r[n[3]="TRANSITION_TYPE_FADE_TO_FROM_COLOR"]=3,r}(),l.RecorderClip=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.id=$util.Long?$util.Long.fromBits(0,0,!0):0,n.prototype.name="",n.prototype.userData="",n.prototype.flags=$util.Long?$util.Long.fromBits(0,0,!0):0,n.prototype.startTimeUs=$util.Long?$util.Long.fromBits(0,0,!1):0,n.prototype.endTimeUs=$util.Long?$util.Long.fromBits(0,0,!1):0,n.prototype.lockedStartUs=$util.Long?$util.Long.fromBits(0,0,!1):0,n.prototype.lockedEndUs=$util.Long?$util.Long.fromBits(0,0,!1):0,n.prototype.userTimeUs=$util.Long?$util.Long.fromBits(0,0,!1):0,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.id!=null&&Object.hasOwnProperty.call(t,"id")&&e.uint32(8).uint64(t.id),t.name!=null&&Object.hasOwnProperty.call(t,"name")&&e.uint32(18).string(t.name),t.userData!=null&&Object.hasOwnProperty.call(t,"userData")&&e.uint32(26).string(t.userData),t.flags!=null&&Object.hasOwnProperty.call(t,"flags")&&e.uint32(32).uint64(t.flags),t.startTimeUs!=null&&Object.hasOwnProperty.call(t,"startTimeUs")&&e.uint32(40).int64(t.startTimeUs),t.endTimeUs!=null&&Object.hasOwnProperty.call(t,"endTimeUs")&&e.uint32(48).int64(t.endTimeUs),t.lockedStartUs!=null&&Object.hasOwnProperty.call(t,"lockedStartUs")&&e.uint32(56).int64(t.lockedStartUs),t.lockedEndUs!=null&&Object.hasOwnProperty.call(t,"lockedEndUs")&&e.uint32(64).int64(t.lockedEndUs),t.userTimeUs!=null&&Object.hasOwnProperty.call(t,"userTimeUs")&&e.uint32(72).int64(t.userTimeUs),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.recorder.RecorderClip;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.id=t.uint64();break}case 2:{s.name=t.string();break}case 3:{s.userData=t.string();break}case 4:{s.flags=t.uint64();break}case 5:{s.startTimeUs=t.int64();break}case 6:{s.endTimeUs=t.int64();break}case 7:{s.lockedStartUs=t.int64();break}case 8:{s.lockedEndUs=t.int64();break}case 9:{s.userTimeUs=t.int64();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.id!=null&&t.hasOwnProperty("id")&&!$util.isInteger(t.id)&&!(t.id&&$util.isInteger(t.id.low)&&$util.isInteger(t.id.high))?"id: integer|Long expected":t.name!=null&&t.hasOwnProperty("name")&&!$util.isString(t.name)?"name: string expected":t.userData!=null&&t.hasOwnProperty("userData")&&!$util.isString(t.userData)?"userData: string expected":t.flags!=null&&t.hasOwnProperty("flags")&&!$util.isInteger(t.flags)&&!(t.flags&&$util.isInteger(t.flags.low)&&$util.isInteger(t.flags.high))?"flags: integer|Long expected":t.startTimeUs!=null&&t.hasOwnProperty("startTimeUs")&&!$util.isInteger(t.startTimeUs)&&!(t.startTimeUs&&$util.isInteger(t.startTimeUs.low)&&$util.isInteger(t.startTimeUs.high))?"startTimeUs: integer|Long expected":t.endTimeUs!=null&&t.hasOwnProperty("endTimeUs")&&!$util.isInteger(t.endTimeUs)&&!(t.endTimeUs&&$util.isInteger(t.endTimeUs.low)&&$util.isInteger(t.endTimeUs.high))?"endTimeUs: integer|Long expected":t.lockedStartUs!=null&&t.hasOwnProperty("lockedStartUs")&&!$util.isInteger(t.lockedStartUs)&&!(t.lockedStartUs&&$util.isInteger(t.lockedStartUs.low)&&$util.isInteger(t.lockedStartUs.high))?"lockedStartUs: integer|Long expected":t.lockedEndUs!=null&&t.hasOwnProperty("lockedEndUs")&&!$util.isInteger(t.lockedEndUs)&&!(t.lockedEndUs&&$util.isInteger(t.lockedEndUs.low)&&$util.isInteger(t.lockedEndUs.high))?"lockedEndUs: integer|Long expected":t.userTimeUs!=null&&t.hasOwnProperty("userTimeUs")&&!$util.isInteger(t.userTimeUs)&&!(t.userTimeUs&&$util.isInteger(t.userTimeUs.low)&&$util.isInteger(t.userTimeUs.high))?"userTimeUs: integer|Long expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.recorder.RecorderClip)return t;let e=new $root.sesame.v1.recorder.RecorderClip;return t.id!=null&&($util.Long?(e.id=$util.Long.fromValue(t.id)).unsigned=!0:typeof t.id=="string"?e.id=parseInt(t.id,10):typeof t.id=="number"?e.id=t.id:typeof t.id=="object"&&(e.id=new $util.LongBits(t.id.low>>>0,t.id.high>>>0).toNumber(!0))),t.name!=null&&(e.name=String(t.name)),t.userData!=null&&(e.userData=String(t.userData)),t.flags!=null&&($util.Long?(e.flags=$util.Long.fromValue(t.flags)).unsigned=!0:typeof t.flags=="string"?e.flags=parseInt(t.flags,10):typeof t.flags=="number"?e.flags=t.flags:typeof t.flags=="object"&&(e.flags=new $util.LongBits(t.flags.low>>>0,t.flags.high>>>0).toNumber(!0))),t.startTimeUs!=null&&($util.Long?(e.startTimeUs=$util.Long.fromValue(t.startTimeUs)).unsigned=!1:typeof t.startTimeUs=="string"?e.startTimeUs=parseInt(t.startTimeUs,10):typeof t.startTimeUs=="number"?e.startTimeUs=t.startTimeUs:typeof t.startTimeUs=="object"&&(e.startTimeUs=new $util.LongBits(t.startTimeUs.low>>>0,t.startTimeUs.high>>>0).toNumber())),t.endTimeUs!=null&&($util.Long?(e.endTimeUs=$util.Long.fromValue(t.endTimeUs)).unsigned=!1:typeof t.endTimeUs=="string"?e.endTimeUs=parseInt(t.endTimeUs,10):typeof t.endTimeUs=="number"?e.endTimeUs=t.endTimeUs:typeof t.endTimeUs=="object"&&(e.endTimeUs=new $util.LongBits(t.endTimeUs.low>>>0,t.endTimeUs.high>>>0).toNumber())),t.lockedStartUs!=null&&($util.Long?(e.lockedStartUs=$util.Long.fromValue(t.lockedStartUs)).unsigned=!1:typeof t.lockedStartUs=="string"?e.lockedStartUs=parseInt(t.lockedStartUs,10):typeof t.lockedStartUs=="number"?e.lockedStartUs=t.lockedStartUs:typeof t.lockedStartUs=="object"&&(e.lockedStartUs=new $util.LongBits(t.lockedStartUs.low>>>0,t.lockedStartUs.high>>>0).toNumber())),t.lockedEndUs!=null&&($util.Long?(e.lockedEndUs=$util.Long.fromValue(t.lockedEndUs)).unsigned=!1:typeof t.lockedEndUs=="string"?e.lockedEndUs=parseInt(t.lockedEndUs,10):typeof t.lockedEndUs=="number"?e.lockedEndUs=t.lockedEndUs:typeof t.lockedEndUs=="object"&&(e.lockedEndUs=new $util.LongBits(t.lockedEndUs.low>>>0,t.lockedEndUs.high>>>0).toNumber())),t.userTimeUs!=null&&($util.Long?(e.userTimeUs=$util.Long.fromValue(t.userTimeUs)).unsigned=!1:typeof t.userTimeUs=="string"?e.userTimeUs=parseInt(t.userTimeUs,10):typeof t.userTimeUs=="number"?e.userTimeUs=t.userTimeUs:typeof t.userTimeUs=="object"&&(e.userTimeUs=new $util.LongBits(t.userTimeUs.low>>>0,t.userTimeUs.high>>>0).toNumber())),e},n.toObject=function(t,e){e||(e={});let i={};if(e.defaults){if($util.Long){let a=new $util.Long(0,0,!0);i.id=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.id=e.longs===String?"0":0;if(i.name="",i.userData="",$util.Long){let a=new $util.Long(0,0,!0);i.flags=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.flags=e.longs===String?"0":0;if($util.Long){let a=new $util.Long(0,0,!1);i.startTimeUs=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.startTimeUs=e.longs===String?"0":0;if($util.Long){let a=new $util.Long(0,0,!1);i.endTimeUs=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.endTimeUs=e.longs===String?"0":0;if($util.Long){let a=new $util.Long(0,0,!1);i.lockedStartUs=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.lockedStartUs=e.longs===String?"0":0;if($util.Long){let a=new $util.Long(0,0,!1);i.lockedEndUs=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.lockedEndUs=e.longs===String?"0":0;if($util.Long){let a=new $util.Long(0,0,!1);i.userTimeUs=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.userTimeUs=e.longs===String?"0":0}return t.id!=null&&t.hasOwnProperty("id")&&(typeof t.id=="number"?i.id=e.longs===String?String(t.id):t.id:i.id=e.longs===String?$util.Long.prototype.toString.call(t.id):e.longs===Number?new $util.LongBits(t.id.low>>>0,t.id.high>>>0).toNumber(!0):t.id),t.name!=null&&t.hasOwnProperty("name")&&(i.name=t.name),t.userData!=null&&t.hasOwnProperty("userData")&&(i.userData=t.userData),t.flags!=null&&t.hasOwnProperty("flags")&&(typeof t.flags=="number"?i.flags=e.longs===String?String(t.flags):t.flags:i.flags=e.longs===String?$util.Long.prototype.toString.call(t.flags):e.longs===Number?new $util.LongBits(t.flags.low>>>0,t.flags.high>>>0).toNumber(!0):t.flags),t.startTimeUs!=null&&t.hasOwnProperty("startTimeUs")&&(typeof t.startTimeUs=="number"?i.startTimeUs=e.longs===String?String(t.startTimeUs):t.startTimeUs:i.startTimeUs=e.longs===String?$util.Long.prototype.toString.call(t.startTimeUs):e.longs===Number?new $util.LongBits(t.startTimeUs.low>>>0,t.startTimeUs.high>>>0).toNumber():t.startTimeUs),t.endTimeUs!=null&&t.hasOwnProperty("endTimeUs")&&(typeof t.endTimeUs=="number"?i.endTimeUs=e.longs===String?String(t.endTimeUs):t.endTimeUs:i.endTimeUs=e.longs===String?$util.Long.prototype.toString.call(t.endTimeUs):e.longs===Number?new $util.LongBits(t.endTimeUs.low>>>0,t.endTimeUs.high>>>0).toNumber():t.endTimeUs),t.lockedStartUs!=null&&t.hasOwnProperty("lockedStartUs")&&(typeof t.lockedStartUs=="number"?i.lockedStartUs=e.longs===String?String(t.lockedStartUs):t.lockedStartUs:i.lockedStartUs=e.longs===String?$util.Long.prototype.toString.call(t.lockedStartUs):e.longs===Number?new $util.LongBits(t.lockedStartUs.low>>>0,t.lockedStartUs.high>>>0).toNumber():t.lockedStartUs),t.lockedEndUs!=null&&t.hasOwnProperty("lockedEndUs")&&(typeof t.lockedEndUs=="number"?i.lockedEndUs=e.longs===String?String(t.lockedEndUs):t.lockedEndUs:i.lockedEndUs=e.longs===String?$util.Long.prototype.toString.call(t.lockedEndUs):e.longs===Number?new $util.LongBits(t.lockedEndUs.low>>>0,t.lockedEndUs.high>>>0).toNumber():t.lockedEndUs),t.userTimeUs!=null&&t.hasOwnProperty("userTimeUs")&&(typeof t.userTimeUs=="number"?i.userTimeUs=e.longs===String?String(t.userTimeUs):t.userTimeUs:i.userTimeUs=e.longs===String?$util.Long.prototype.toString.call(t.userTimeUs):e.longs===Number?new $util.LongBits(t.userTimeUs.low>>>0,t.userTimeUs.high>>>0).toNumber():t.userTimeUs),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.recorder.RecorderClip"},n}(),l.PlaylistItem=function(){function n(t){if(this.audioRouting=[],this.audioLevels=[],t)for(let e=Object.keys(t),i=0;i<e.length;++i)t[e[i]]!=null&&(this[e[i]]=t[e[i]])}n.prototype.recorderId="",n.prototype.id=$util.Long?$util.Long.fromBits(0,0,!0):0,n.prototype.transitionTimeUs=$util.Long?$util.Long.fromBits(0,0,!1):0,n.prototype.transitionType=0,n.prototype.transitionFadeColor=null,n.prototype.speed=0,n.prototype.audioRouting=$util.emptyArray,n.prototype.startTimeUs=null,n.prototype.endTimeUs=null,n.prototype.audioLevels=$util.emptyArray;let r;return Object.defineProperty(n.prototype,"_startTimeUs",{get:$util.oneOfGetter(r=["startTimeUs"]),set:$util.oneOfSetter(r)}),Object.defineProperty(n.prototype,"_endTimeUs",{get:$util.oneOfGetter(r=["endTimeUs"]),set:$util.oneOfSetter(r)}),n.create=function(e){return new n(e)},n.encode=function(e,i){if(i||(i=$Writer.create()),e.recorderId!=null&&Object.hasOwnProperty.call(e,"recorderId")&&i.uint32(10).string(e.recorderId),e.id!=null&&Object.hasOwnProperty.call(e,"id")&&i.uint32(16).uint64(e.id),e.transitionTimeUs!=null&&Object.hasOwnProperty.call(e,"transitionTimeUs")&&i.uint32(24).int64(e.transitionTimeUs),e.transitionType!=null&&Object.hasOwnProperty.call(e,"transitionType")&&i.uint32(32).int32(e.transitionType),e.transitionFadeColor!=null&&Object.hasOwnProperty.call(e,"transitionFadeColor")&&$root.sesame.v1.common.Vec4.encode(e.transitionFadeColor,i.uint32(42).fork()).ldelim(),e.speed!=null&&Object.hasOwnProperty.call(e,"speed")&&i.uint32(53).float(e.speed),e.audioRouting!=null&&e.audioRouting.length){i.uint32(58).fork();for(let a=0;a<e.audioRouting.length;++a)i.uint32(e.audioRouting[a]);i.ldelim()}if(e.startTimeUs!=null&&Object.hasOwnProperty.call(e,"startTimeUs")&&i.uint32(64).int64(e.startTimeUs),e.endTimeUs!=null&&Object.hasOwnProperty.call(e,"endTimeUs")&&i.uint32(72).int64(e.endTimeUs),e.audioLevels!=null&&e.audioLevels.length){i.uint32(82).fork();for(let a=0;a<e.audioLevels.length;++a)i.float(e.audioLevels[a]);i.ldelim()}return i},n.encodeDelimited=function(e,i){return this.encode(e,i).ldelim()},n.decode=function(e,i,a){e instanceof $Reader||(e=$Reader.create(e));let s=i===void 0?e.len:e.pos+i,d=new $root.sesame.v1.recorder.PlaylistItem;for(;e.pos<s;){let c=e.uint32();if(c===a)break;switch(c>>>3){case 1:{d.recorderId=e.string();break}case 2:{d.id=e.uint64();break}case 3:{d.transitionTimeUs=e.int64();break}case 4:{d.transitionType=e.int32();break}case 5:{d.transitionFadeColor=$root.sesame.v1.common.Vec4.decode(e,e.uint32());break}case 6:{d.speed=e.float();break}case 7:{if(d.audioRouting&&d.audioRouting.length||(d.audioRouting=[]),(c&7)===2){let F=e.uint32()+e.pos;for(;e.pos<F;)d.audioRouting.push(e.uint32())}else d.audioRouting.push(e.uint32());break}case 8:{d.startTimeUs=e.int64();break}case 9:{d.endTimeUs=e.int64();break}case 10:{if(d.audioLevels&&d.audioLevels.length||(d.audioLevels=[]),(c&7)===2){let F=e.uint32()+e.pos;for(;e.pos<F;)d.audioLevels.push(e.float())}else d.audioLevels.push(e.float());break}default:e.skipType(c&7);break}}return d},n.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},n.verify=function(e){if(typeof e!="object"||e===null)return"object expected";if(e.recorderId!=null&&e.hasOwnProperty("recorderId")&&!$util.isString(e.recorderId))return"recorderId: string expected";if(e.id!=null&&e.hasOwnProperty("id")&&!$util.isInteger(e.id)&&!(e.id&&$util.isInteger(e.id.low)&&$util.isInteger(e.id.high)))return"id: integer|Long expected";if(e.transitionTimeUs!=null&&e.hasOwnProperty("transitionTimeUs")&&!$util.isInteger(e.transitionTimeUs)&&!(e.transitionTimeUs&&$util.isInteger(e.transitionTimeUs.low)&&$util.isInteger(e.transitionTimeUs.high)))return"transitionTimeUs: integer|Long expected";if(e.transitionType!=null&&e.hasOwnProperty("transitionType"))switch(e.transitionType){default:return"transitionType: enum value expected";case 0:case 1:case 2:case 3:break}if(e.transitionFadeColor!=null&&e.hasOwnProperty("transitionFadeColor")){let i=$root.sesame.v1.common.Vec4.verify(e.transitionFadeColor);if(i)return"transitionFadeColor."+i}if(e.speed!=null&&e.hasOwnProperty("speed")&&typeof e.speed!="number")return"speed: number expected";if(e.audioRouting!=null&&e.hasOwnProperty("audioRouting")){if(!Array.isArray(e.audioRouting))return"audioRouting: array expected";for(let i=0;i<e.audioRouting.length;++i)if(!$util.isInteger(e.audioRouting[i]))return"audioRouting: integer[] expected"}if(e.startTimeUs!=null&&e.hasOwnProperty("startTimeUs")&&!$util.isInteger(e.startTimeUs)&&!(e.startTimeUs&&$util.isInteger(e.startTimeUs.low)&&$util.isInteger(e.startTimeUs.high)))return"startTimeUs: integer|Long expected";if(e.endTimeUs!=null&&e.hasOwnProperty("endTimeUs")&&!$util.isInteger(e.endTimeUs)&&!(e.endTimeUs&&$util.isInteger(e.endTimeUs.low)&&$util.isInteger(e.endTimeUs.high)))return"endTimeUs: integer|Long expected";if(e.audioLevels!=null&&e.hasOwnProperty("audioLevels")){if(!Array.isArray(e.audioLevels))return"audioLevels: array expected";for(let i=0;i<e.audioLevels.length;++i)if(typeof e.audioLevels[i]!="number")return"audioLevels: number[] expected"}return null},n.fromObject=function(e){if(e instanceof $root.sesame.v1.recorder.PlaylistItem)return e;let i=new $root.sesame.v1.recorder.PlaylistItem;switch(e.recorderId!=null&&(i.recorderId=String(e.recorderId)),e.id!=null&&($util.Long?(i.id=$util.Long.fromValue(e.id)).unsigned=!0:typeof e.id=="string"?i.id=parseInt(e.id,10):typeof e.id=="number"?i.id=e.id:typeof e.id=="object"&&(i.id=new $util.LongBits(e.id.low>>>0,e.id.high>>>0).toNumber(!0))),e.transitionTimeUs!=null&&($util.Long?(i.transitionTimeUs=$util.Long.fromValue(e.transitionTimeUs)).unsigned=!1:typeof e.transitionTimeUs=="string"?i.transitionTimeUs=parseInt(e.transitionTimeUs,10):typeof e.transitionTimeUs=="number"?i.transitionTimeUs=e.transitionTimeUs:typeof e.transitionTimeUs=="object"&&(i.transitionTimeUs=new $util.LongBits(e.transitionTimeUs.low>>>0,e.transitionTimeUs.high>>>0).toNumber())),e.transitionType){default:if(typeof e.transitionType=="number"){i.transitionType=e.transitionType;break}break;case"TRANSITION_TYPE_MIX":case 0:i.transitionType=0;break;case"TRANSITION_TYPE_FADE_TO_COLOR":case 1:i.transitionType=1;break;case"TRANSITION_TYPE_FADE_FROM_COLOR":case 2:i.transitionType=2;break;case"TRANSITION_TYPE_FADE_TO_FROM_COLOR":case 3:i.transitionType=3;break}if(e.transitionFadeColor!=null){if(typeof e.transitionFadeColor!="object")throw TypeError(".sesame.v1.recorder.PlaylistItem.transitionFadeColor: object expected");i.transitionFadeColor=$root.sesame.v1.common.Vec4.fromObject(e.transitionFadeColor)}if(e.speed!=null&&(i.speed=Number(e.speed)),e.audioRouting){if(!Array.isArray(e.audioRouting))throw TypeError(".sesame.v1.recorder.PlaylistItem.audioRouting: array expected");i.audioRouting=[];for(let a=0;a<e.audioRouting.length;++a)i.audioRouting[a]=e.audioRouting[a]>>>0}if(e.startTimeUs!=null&&($util.Long?(i.startTimeUs=$util.Long.fromValue(e.startTimeUs)).unsigned=!1:typeof e.startTimeUs=="string"?i.startTimeUs=parseInt(e.startTimeUs,10):typeof e.startTimeUs=="number"?i.startTimeUs=e.startTimeUs:typeof e.startTimeUs=="object"&&(i.startTimeUs=new $util.LongBits(e.startTimeUs.low>>>0,e.startTimeUs.high>>>0).toNumber())),e.endTimeUs!=null&&($util.Long?(i.endTimeUs=$util.Long.fromValue(e.endTimeUs)).unsigned=!1:typeof e.endTimeUs=="string"?i.endTimeUs=parseInt(e.endTimeUs,10):typeof e.endTimeUs=="number"?i.endTimeUs=e.endTimeUs:typeof e.endTimeUs=="object"&&(i.endTimeUs=new $util.LongBits(e.endTimeUs.low>>>0,e.endTimeUs.high>>>0).toNumber())),e.audioLevels){if(!Array.isArray(e.audioLevels))throw TypeError(".sesame.v1.recorder.PlaylistItem.audioLevels: array expected");i.audioLevels=[];for(let a=0;a<e.audioLevels.length;++a)i.audioLevels[a]=Number(e.audioLevels[a])}return i},n.toObject=function(e,i){i||(i={});let a={};if((i.arrays||i.defaults)&&(a.audioRouting=[],a.audioLevels=[]),i.defaults){if(a.recorderId="",$util.Long){let s=new $util.Long(0,0,!0);a.id=i.longs===String?s.toString():i.longs===Number?s.toNumber():s}else a.id=i.longs===String?"0":0;if($util.Long){let s=new $util.Long(0,0,!1);a.transitionTimeUs=i.longs===String?s.toString():i.longs===Number?s.toNumber():s}else a.transitionTimeUs=i.longs===String?"0":0;a.transitionType=i.enums===String?"TRANSITION_TYPE_MIX":0,a.transitionFadeColor=null,a.speed=0}if(e.recorderId!=null&&e.hasOwnProperty("recorderId")&&(a.recorderId=e.recorderId),e.id!=null&&e.hasOwnProperty("id")&&(typeof e.id=="number"?a.id=i.longs===String?String(e.id):e.id:a.id=i.longs===String?$util.Long.prototype.toString.call(e.id):i.longs===Number?new $util.LongBits(e.id.low>>>0,e.id.high>>>0).toNumber(!0):e.id),e.transitionTimeUs!=null&&e.hasOwnProperty("transitionTimeUs")&&(typeof e.transitionTimeUs=="number"?a.transitionTimeUs=i.longs===String?String(e.transitionTimeUs):e.transitionTimeUs:a.transitionTimeUs=i.longs===String?$util.Long.prototype.toString.call(e.transitionTimeUs):i.longs===Number?new $util.LongBits(e.transitionTimeUs.low>>>0,e.transitionTimeUs.high>>>0).toNumber():e.transitionTimeUs),e.transitionType!=null&&e.hasOwnProperty("transitionType")&&(a.transitionType=i.enums===String?$root.sesame.v1.recorder.TransitionType[e.transitionType]===void 0?e.transitionType:$root.sesame.v1.recorder.TransitionType[e.transitionType]:e.transitionType),e.transitionFadeColor!=null&&e.hasOwnProperty("transitionFadeColor")&&(a.transitionFadeColor=$root.sesame.v1.common.Vec4.toObject(e.transitionFadeColor,i)),e.speed!=null&&e.hasOwnProperty("speed")&&(a.speed=i.json&&!isFinite(e.speed)?String(e.speed):e.speed),e.audioRouting&&e.audioRouting.length){a.audioRouting=[];for(let s=0;s<e.audioRouting.length;++s)a.audioRouting[s]=e.audioRouting[s]}if(e.startTimeUs!=null&&e.hasOwnProperty("startTimeUs")&&(typeof e.startTimeUs=="number"?a.startTimeUs=i.longs===String?String(e.startTimeUs):e.startTimeUs:a.startTimeUs=i.longs===String?$util.Long.prototype.toString.call(e.startTimeUs):i.longs===Number?new $util.LongBits(e.startTimeUs.low>>>0,e.startTimeUs.high>>>0).toNumber():e.startTimeUs,i.oneofs&&(a._startTimeUs="startTimeUs")),e.endTimeUs!=null&&e.hasOwnProperty("endTimeUs")&&(typeof e.endTimeUs=="number"?a.endTimeUs=i.longs===String?String(e.endTimeUs):e.endTimeUs:a.endTimeUs=i.longs===String?$util.Long.prototype.toString.call(e.endTimeUs):i.longs===Number?new $util.LongBits(e.endTimeUs.low>>>0,e.endTimeUs.high>>>0).toNumber():e.endTimeUs,i.oneofs&&(a._endTimeUs="endTimeUs")),e.audioLevels&&e.audioLevels.length){a.audioLevels=[];for(let s=0;s<e.audioLevels.length;++s)a.audioLevels[s]=i.json&&!isFinite(e.audioLevels[s])?String(e.audioLevels[s]):e.audioLevels[s]}return a},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/sesame.v1.recorder.PlaylistItem"},n}(),l.RecorderClipRange=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.low=$util.Long?$util.Long.fromBits(0,0,!0):0,n.prototype.high=$util.Long?$util.Long.fromBits(0,0,!0):0,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.low!=null&&Object.hasOwnProperty.call(t,"low")&&e.uint32(8).uint64(t.low),t.high!=null&&Object.hasOwnProperty.call(t,"high")&&e.uint32(16).uint64(t.high),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.recorder.RecorderClipRange;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.low=t.uint64();break}case 2:{s.high=t.uint64();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.low!=null&&t.hasOwnProperty("low")&&!$util.isInteger(t.low)&&!(t.low&&$util.isInteger(t.low.low)&&$util.isInteger(t.low.high))?"low: integer|Long expected":t.high!=null&&t.hasOwnProperty("high")&&!$util.isInteger(t.high)&&!(t.high&&$util.isInteger(t.high.low)&&$util.isInteger(t.high.high))?"high: integer|Long expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.recorder.RecorderClipRange)return t;let e=new $root.sesame.v1.recorder.RecorderClipRange;return t.low!=null&&($util.Long?(e.low=$util.Long.fromValue(t.low)).unsigned=!0:typeof t.low=="string"?e.low=parseInt(t.low,10):typeof t.low=="number"?e.low=t.low:typeof t.low=="object"&&(e.low=new $util.LongBits(t.low.low>>>0,t.low.high>>>0).toNumber(!0))),t.high!=null&&($util.Long?(e.high=$util.Long.fromValue(t.high)).unsigned=!0:typeof t.high=="string"?e.high=parseInt(t.high,10):typeof t.high=="number"?e.high=t.high:typeof t.high=="object"&&(e.high=new $util.LongBits(t.high.low>>>0,t.high.high>>>0).toNumber(!0))),e},n.toObject=function(t,e){e||(e={});let i={};if(e.defaults){if($util.Long){let a=new $util.Long(0,0,!0);i.low=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.low=e.longs===String?"0":0;if($util.Long){let a=new $util.Long(0,0,!0);i.high=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.high=e.longs===String?"0":0}return t.low!=null&&t.hasOwnProperty("low")&&(typeof t.low=="number"?i.low=e.longs===String?String(t.low):t.low:i.low=e.longs===String?$util.Long.prototype.toString.call(t.low):e.longs===Number?new $util.LongBits(t.low.low>>>0,t.low.high>>>0).toNumber(!0):t.low),t.high!=null&&t.hasOwnProperty("high")&&(typeof t.high=="number"?i.high=e.longs===String?String(t.high):t.high:i.high=e.longs===String?$util.Long.prototype.toString.call(t.high):e.longs===Number?new $util.LongBits(t.high.low>>>0,t.high.high>>>0).toNumber(!0):t.high),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.recorder.RecorderClipRange"},n}(),l.RecorderClipsGetRequest=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.recorder.RecorderClipsGetRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":null},n.fromObject=function(t){return t instanceof $root.sesame.v1.recorder.RecorderClipsGetRequest?t:new $root.sesame.v1.recorder.RecorderClipsGetRequest},n.toObject=function(){return{}},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.recorder.RecorderClipsGetRequest"},n}(),l.RecorderClipsGetResponse=function(){function n(r){if(this.clips=[],r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.clips=$util.emptyArray,n.create=function(t){return new n(t)},n.encode=function(t,e){if(e||(e=$Writer.create()),t.clips!=null&&t.clips.length)for(let i=0;i<t.clips.length;++i)$root.sesame.v1.recorder.RecorderClip.encode(t.clips[i],e.uint32(10).fork()).ldelim();return e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.recorder.RecorderClipsGetResponse;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.clips&&s.clips.length||(s.clips=[]),s.clips.push($root.sesame.v1.recorder.RecorderClip.decode(t,t.uint32()));break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.clips!=null&&t.hasOwnProperty("clips")){if(!Array.isArray(t.clips))return"clips: array expected";for(let e=0;e<t.clips.length;++e){let i=$root.sesame.v1.recorder.RecorderClip.verify(t.clips[e]);if(i)return"clips."+i}}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.recorder.RecorderClipsGetResponse)return t;let e=new $root.sesame.v1.recorder.RecorderClipsGetResponse;if(t.clips){if(!Array.isArray(t.clips))throw TypeError(".sesame.v1.recorder.RecorderClipsGetResponse.clips: array expected");e.clips=[];for(let i=0;i<t.clips.length;++i){if(typeof t.clips[i]!="object")throw TypeError(".sesame.v1.recorder.RecorderClipsGetResponse.clips: object expected");e.clips[i]=$root.sesame.v1.recorder.RecorderClip.fromObject(t.clips[i])}}return e},n.toObject=function(t,e){e||(e={});let i={};if((e.arrays||e.defaults)&&(i.clips=[]),t.clips&&t.clips.length){i.clips=[];for(let a=0;a<t.clips.length;++a)i.clips[a]=$root.sesame.v1.recorder.RecorderClip.toObject(t.clips[a],e)}return i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.recorder.RecorderClipsGetResponse"},n}(),l.RecorderClipAddRequest=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.clip=null,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.clip!=null&&Object.hasOwnProperty.call(t,"clip")&&$root.sesame.v1.recorder.RecorderClip.encode(t.clip,e.uint32(10).fork()).ldelim(),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.recorder.RecorderClipAddRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.clip=$root.sesame.v1.recorder.RecorderClip.decode(t,t.uint32());break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.clip!=null&&t.hasOwnProperty("clip")){let e=$root.sesame.v1.recorder.RecorderClip.verify(t.clip);if(e)return"clip."+e}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.recorder.RecorderClipAddRequest)return t;let e=new $root.sesame.v1.recorder.RecorderClipAddRequest;if(t.clip!=null){if(typeof t.clip!="object")throw TypeError(".sesame.v1.recorder.RecorderClipAddRequest.clip: object expected");e.clip=$root.sesame.v1.recorder.RecorderClip.fromObject(t.clip)}return e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.clip=null),t.clip!=null&&t.hasOwnProperty("clip")&&(i.clip=$root.sesame.v1.recorder.RecorderClip.toObject(t.clip,e)),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.recorder.RecorderClipAddRequest"},n}(),l.RecorderClipCopyRequest=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.clipId=$util.Long?$util.Long.fromBits(0,0,!0):0,n.prototype.newClipId=$util.Long?$util.Long.fromBits(0,0,!0):0,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.clipId!=null&&Object.hasOwnProperty.call(t,"clipId")&&e.uint32(8).uint64(t.clipId),t.newClipId!=null&&Object.hasOwnProperty.call(t,"newClipId")&&e.uint32(16).uint64(t.newClipId),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.recorder.RecorderClipCopyRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.clipId=t.uint64();break}case 2:{s.newClipId=t.uint64();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.clipId!=null&&t.hasOwnProperty("clipId")&&!$util.isInteger(t.clipId)&&!(t.clipId&&$util.isInteger(t.clipId.low)&&$util.isInteger(t.clipId.high))?"clipId: integer|Long expected":t.newClipId!=null&&t.hasOwnProperty("newClipId")&&!$util.isInteger(t.newClipId)&&!(t.newClipId&&$util.isInteger(t.newClipId.low)&&$util.isInteger(t.newClipId.high))?"newClipId: integer|Long expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.recorder.RecorderClipCopyRequest)return t;let e=new $root.sesame.v1.recorder.RecorderClipCopyRequest;return t.clipId!=null&&($util.Long?(e.clipId=$util.Long.fromValue(t.clipId)).unsigned=!0:typeof t.clipId=="string"?e.clipId=parseInt(t.clipId,10):typeof t.clipId=="number"?e.clipId=t.clipId:typeof t.clipId=="object"&&(e.clipId=new $util.LongBits(t.clipId.low>>>0,t.clipId.high>>>0).toNumber(!0))),t.newClipId!=null&&($util.Long?(e.newClipId=$util.Long.fromValue(t.newClipId)).unsigned=!0:typeof t.newClipId=="string"?e.newClipId=parseInt(t.newClipId,10):typeof t.newClipId=="number"?e.newClipId=t.newClipId:typeof t.newClipId=="object"&&(e.newClipId=new $util.LongBits(t.newClipId.low>>>0,t.newClipId.high>>>0).toNumber(!0))),e},n.toObject=function(t,e){e||(e={});let i={};if(e.defaults){if($util.Long){let a=new $util.Long(0,0,!0);i.clipId=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.clipId=e.longs===String?"0":0;if($util.Long){let a=new $util.Long(0,0,!0);i.newClipId=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.newClipId=e.longs===String?"0":0}return t.clipId!=null&&t.hasOwnProperty("clipId")&&(typeof t.clipId=="number"?i.clipId=e.longs===String?String(t.clipId):t.clipId:i.clipId=e.longs===String?$util.Long.prototype.toString.call(t.clipId):e.longs===Number?new $util.LongBits(t.clipId.low>>>0,t.clipId.high>>>0).toNumber(!0):t.clipId),t.newClipId!=null&&t.hasOwnProperty("newClipId")&&(typeof t.newClipId=="number"?i.newClipId=e.longs===String?String(t.newClipId):t.newClipId:i.newClipId=e.longs===String?$util.Long.prototype.toString.call(t.newClipId):e.longs===Number?new $util.LongBits(t.newClipId.low>>>0,t.newClipId.high>>>0).toNumber(!0):t.newClipId),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.recorder.RecorderClipCopyRequest"},n}(),l.RecorderClipRemoveRequest=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.clipId=$util.Long?$util.Long.fromBits(0,0,!0):0,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.clipId!=null&&Object.hasOwnProperty.call(t,"clipId")&&e.uint32(8).uint64(t.clipId),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.recorder.RecorderClipRemoveRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.clipId=t.uint64();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.clipId!=null&&t.hasOwnProperty("clipId")&&!$util.isInteger(t.clipId)&&!(t.clipId&&$util.isInteger(t.clipId.low)&&$util.isInteger(t.clipId.high))?"clipId: integer|Long expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.recorder.RecorderClipRemoveRequest)return t;let e=new $root.sesame.v1.recorder.RecorderClipRemoveRequest;return t.clipId!=null&&($util.Long?(e.clipId=$util.Long.fromValue(t.clipId)).unsigned=!0:typeof t.clipId=="string"?e.clipId=parseInt(t.clipId,10):typeof t.clipId=="number"?e.clipId=t.clipId:typeof t.clipId=="object"&&(e.clipId=new $util.LongBits(t.clipId.low>>>0,t.clipId.high>>>0).toNumber(!0))),e},n.toObject=function(t,e){e||(e={});let i={};if(e.defaults)if($util.Long){let a=new $util.Long(0,0,!0);i.clipId=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.clipId=e.longs===String?"0":0;return t.clipId!=null&&t.hasOwnProperty("clipId")&&(typeof t.clipId=="number"?i.clipId=e.longs===String?String(t.clipId):t.clipId:i.clipId=e.longs===String?$util.Long.prototype.toString.call(t.clipId):e.longs===Number?new $util.LongBits(t.clipId.low>>>0,t.clipId.high>>>0).toNumber(!0):t.clipId),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.recorder.RecorderClipRemoveRequest"},n}(),l.RecorderClipsClearRequest=function(){function n(r){if(this.protectedRanges=[],r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.protectedRanges=$util.emptyArray,n.prototype.mustHaveFlags=$util.Long?$util.Long.fromBits(0,0,!0):0,n.prototype.mustNotHaveFlags=$util.Long?$util.Long.fromBits(0,0,!0):0,n.create=function(t){return new n(t)},n.encode=function(t,e){if(e||(e=$Writer.create()),t.protectedRanges!=null&&t.protectedRanges.length)for(let i=0;i<t.protectedRanges.length;++i)$root.sesame.v1.recorder.RecorderClipRange.encode(t.protectedRanges[i],e.uint32(10).fork()).ldelim();return t.mustHaveFlags!=null&&Object.hasOwnProperty.call(t,"mustHaveFlags")&&e.uint32(16).uint64(t.mustHaveFlags),t.mustNotHaveFlags!=null&&Object.hasOwnProperty.call(t,"mustNotHaveFlags")&&e.uint32(24).uint64(t.mustNotHaveFlags),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.recorder.RecorderClipsClearRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.protectedRanges&&s.protectedRanges.length||(s.protectedRanges=[]),s.protectedRanges.push($root.sesame.v1.recorder.RecorderClipRange.decode(t,t.uint32()));break}case 2:{s.mustHaveFlags=t.uint64();break}case 3:{s.mustNotHaveFlags=t.uint64();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.protectedRanges!=null&&t.hasOwnProperty("protectedRanges")){if(!Array.isArray(t.protectedRanges))return"protectedRanges: array expected";for(let e=0;e<t.protectedRanges.length;++e){let i=$root.sesame.v1.recorder.RecorderClipRange.verify(t.protectedRanges[e]);if(i)return"protectedRanges."+i}}return t.mustHaveFlags!=null&&t.hasOwnProperty("mustHaveFlags")&&!$util.isInteger(t.mustHaveFlags)&&!(t.mustHaveFlags&&$util.isInteger(t.mustHaveFlags.low)&&$util.isInteger(t.mustHaveFlags.high))?"mustHaveFlags: integer|Long expected":t.mustNotHaveFlags!=null&&t.hasOwnProperty("mustNotHaveFlags")&&!$util.isInteger(t.mustNotHaveFlags)&&!(t.mustNotHaveFlags&&$util.isInteger(t.mustNotHaveFlags.low)&&$util.isInteger(t.mustNotHaveFlags.high))?"mustNotHaveFlags: integer|Long expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.recorder.RecorderClipsClearRequest)return t;let e=new $root.sesame.v1.recorder.RecorderClipsClearRequest;if(t.protectedRanges){if(!Array.isArray(t.protectedRanges))throw TypeError(".sesame.v1.recorder.RecorderClipsClearRequest.protectedRanges: array expected");e.protectedRanges=[];for(let i=0;i<t.protectedRanges.length;++i){if(typeof t.protectedRanges[i]!="object")throw TypeError(".sesame.v1.recorder.RecorderClipsClearRequest.protectedRanges: object expected");e.protectedRanges[i]=$root.sesame.v1.recorder.RecorderClipRange.fromObject(t.protectedRanges[i])}}return t.mustHaveFlags!=null&&($util.Long?(e.mustHaveFlags=$util.Long.fromValue(t.mustHaveFlags)).unsigned=!0:typeof t.mustHaveFlags=="string"?e.mustHaveFlags=parseInt(t.mustHaveFlags,10):typeof t.mustHaveFlags=="number"?e.mustHaveFlags=t.mustHaveFlags:typeof t.mustHaveFlags=="object"&&(e.mustHaveFlags=new $util.LongBits(t.mustHaveFlags.low>>>0,t.mustHaveFlags.high>>>0).toNumber(!0))),t.mustNotHaveFlags!=null&&($util.Long?(e.mustNotHaveFlags=$util.Long.fromValue(t.mustNotHaveFlags)).unsigned=!0:typeof t.mustNotHaveFlags=="string"?e.mustNotHaveFlags=parseInt(t.mustNotHaveFlags,10):typeof t.mustNotHaveFlags=="number"?e.mustNotHaveFlags=t.mustNotHaveFlags:typeof t.mustNotHaveFlags=="object"&&(e.mustNotHaveFlags=new $util.LongBits(t.mustNotHaveFlags.low>>>0,t.mustNotHaveFlags.high>>>0).toNumber(!0))),e},n.toObject=function(t,e){e||(e={});let i={};if((e.arrays||e.defaults)&&(i.protectedRanges=[]),e.defaults){if($util.Long){let a=new $util.Long(0,0,!0);i.mustHaveFlags=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.mustHaveFlags=e.longs===String?"0":0;if($util.Long){let a=new $util.Long(0,0,!0);i.mustNotHaveFlags=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.mustNotHaveFlags=e.longs===String?"0":0}if(t.protectedRanges&&t.protectedRanges.length){i.protectedRanges=[];for(let a=0;a<t.protectedRanges.length;++a)i.protectedRanges[a]=$root.sesame.v1.recorder.RecorderClipRange.toObject(t.protectedRanges[a],e)}return t.mustHaveFlags!=null&&t.hasOwnProperty("mustHaveFlags")&&(typeof t.mustHaveFlags=="number"?i.mustHaveFlags=e.longs===String?String(t.mustHaveFlags):t.mustHaveFlags:i.mustHaveFlags=e.longs===String?$util.Long.prototype.toString.call(t.mustHaveFlags):e.longs===Number?new $util.LongBits(t.mustHaveFlags.low>>>0,t.mustHaveFlags.high>>>0).toNumber(!0):t.mustHaveFlags),t.mustNotHaveFlags!=null&&t.hasOwnProperty("mustNotHaveFlags")&&(typeof t.mustNotHaveFlags=="number"?i.mustNotHaveFlags=e.longs===String?String(t.mustNotHaveFlags):t.mustNotHaveFlags:i.mustNotHaveFlags=e.longs===String?$util.Long.prototype.toString.call(t.mustNotHaveFlags):e.longs===Number?new $util.LongBits(t.mustNotHaveFlags.low>>>0,t.mustNotHaveFlags.high>>>0).toNumber(!0):t.mustNotHaveFlags),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.recorder.RecorderClipsClearRequest"},n}(),l.RecorderMetadataSetRequest=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.metadata=null,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.metadata!=null&&Object.hasOwnProperty.call(t,"metadata")&&$root.sesame.v1.common.TransportMetadata.encode(t.metadata,e.uint32(10).fork()).ldelim(),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.recorder.RecorderMetadataSetRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.metadata=$root.sesame.v1.common.TransportMetadata.decode(t,t.uint32());break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.metadata!=null&&t.hasOwnProperty("metadata")){let e=$root.sesame.v1.common.TransportMetadata.verify(t.metadata);if(e)return"metadata."+e}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.recorder.RecorderMetadataSetRequest)return t;let e=new $root.sesame.v1.recorder.RecorderMetadataSetRequest;if(t.metadata!=null){if(typeof t.metadata!="object")throw TypeError(".sesame.v1.recorder.RecorderMetadataSetRequest.metadata: object expected");e.metadata=$root.sesame.v1.common.TransportMetadata.fromObject(t.metadata)}return e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.metadata=null),t.metadata!=null&&t.hasOwnProperty("metadata")&&(i.metadata=$root.sesame.v1.common.TransportMetadata.toObject(t.metadata,e)),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.recorder.RecorderMetadataSetRequest"},n}(),l.RecorderClipFlagSetRequest=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.clipId=$util.Long?$util.Long.fromBits(0,0,!0):0,n.prototype.flag=$util.Long?$util.Long.fromBits(0,0,!0):0,n.prototype.value=!1,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.clipId!=null&&Object.hasOwnProperty.call(t,"clipId")&&e.uint32(8).uint64(t.clipId),t.flag!=null&&Object.hasOwnProperty.call(t,"flag")&&e.uint32(16).uint64(t.flag),t.value!=null&&Object.hasOwnProperty.call(t,"value")&&e.uint32(24).bool(t.value),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.recorder.RecorderClipFlagSetRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.clipId=t.uint64();break}case 2:{s.flag=t.uint64();break}case 3:{s.value=t.bool();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.clipId!=null&&t.hasOwnProperty("clipId")&&!$util.isInteger(t.clipId)&&!(t.clipId&&$util.isInteger(t.clipId.low)&&$util.isInteger(t.clipId.high))?"clipId: integer|Long expected":t.flag!=null&&t.hasOwnProperty("flag")&&!$util.isInteger(t.flag)&&!(t.flag&&$util.isInteger(t.flag.low)&&$util.isInteger(t.flag.high))?"flag: integer|Long expected":t.value!=null&&t.hasOwnProperty("value")&&typeof t.value!="boolean"?"value: boolean expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.recorder.RecorderClipFlagSetRequest)return t;let e=new $root.sesame.v1.recorder.RecorderClipFlagSetRequest;return t.clipId!=null&&($util.Long?(e.clipId=$util.Long.fromValue(t.clipId)).unsigned=!0:typeof t.clipId=="string"?e.clipId=parseInt(t.clipId,10):typeof t.clipId=="number"?e.clipId=t.clipId:typeof t.clipId=="object"&&(e.clipId=new $util.LongBits(t.clipId.low>>>0,t.clipId.high>>>0).toNumber(!0))),t.flag!=null&&($util.Long?(e.flag=$util.Long.fromValue(t.flag)).unsigned=!0:typeof t.flag=="string"?e.flag=parseInt(t.flag,10):typeof t.flag=="number"?e.flag=t.flag:typeof t.flag=="object"&&(e.flag=new $util.LongBits(t.flag.low>>>0,t.flag.high>>>0).toNumber(!0))),t.value!=null&&(e.value=!!t.value),e},n.toObject=function(t,e){e||(e={});let i={};if(e.defaults){if($util.Long){let a=new $util.Long(0,0,!0);i.clipId=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.clipId=e.longs===String?"0":0;if($util.Long){let a=new $util.Long(0,0,!0);i.flag=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.flag=e.longs===String?"0":0;i.value=!1}return t.clipId!=null&&t.hasOwnProperty("clipId")&&(typeof t.clipId=="number"?i.clipId=e.longs===String?String(t.clipId):t.clipId:i.clipId=e.longs===String?$util.Long.prototype.toString.call(t.clipId):e.longs===Number?new $util.LongBits(t.clipId.low>>>0,t.clipId.high>>>0).toNumber(!0):t.clipId),t.flag!=null&&t.hasOwnProperty("flag")&&(typeof t.flag=="number"?i.flag=e.longs===String?String(t.flag):t.flag:i.flag=e.longs===String?$util.Long.prototype.toString.call(t.flag):e.longs===Number?new $util.LongBits(t.flag.low>>>0,t.flag.high>>>0).toNumber(!0):t.flag),t.value!=null&&t.hasOwnProperty("value")&&(i.value=t.value),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.recorder.RecorderClipFlagSetRequest"},n}(),l.RecorderClipsVerifyRequest=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.recorder.RecorderClipsVerifyRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":null},n.fromObject=function(t){return t instanceof $root.sesame.v1.recorder.RecorderClipsVerifyRequest?t:new $root.sesame.v1.recorder.RecorderClipsVerifyRequest},n.toObject=function(){return{}},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.recorder.RecorderClipsVerifyRequest"},n}(),l.RecorderClipsVerifyResponse=function(){function n(r){if(this.errors=[],r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.errors=$util.emptyArray,n.create=function(t){return new n(t)},n.encode=function(t,e){if(e||(e=$Writer.create()),t.errors!=null&&t.errors.length)for(let i=0;i<t.errors.length;++i)e.uint32(10).string(t.errors[i]);return e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.recorder.RecorderClipsVerifyResponse;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.errors&&s.errors.length||(s.errors=[]),s.errors.push(t.string());break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.errors!=null&&t.hasOwnProperty("errors")){if(!Array.isArray(t.errors))return"errors: array expected";for(let e=0;e<t.errors.length;++e)if(!$util.isString(t.errors[e]))return"errors: string[] expected"}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.recorder.RecorderClipsVerifyResponse)return t;let e=new $root.sesame.v1.recorder.RecorderClipsVerifyResponse;if(t.errors){if(!Array.isArray(t.errors))throw TypeError(".sesame.v1.recorder.RecorderClipsVerifyResponse.errors: array expected");e.errors=[];for(let i=0;i<t.errors.length;++i)e.errors[i]=String(t.errors[i])}return e},n.toObject=function(t,e){e||(e={});let i={};if((e.arrays||e.defaults)&&(i.errors=[]),t.errors&&t.errors.length){i.errors=[];for(let a=0;a<t.errors.length;++a)i.errors[a]=t.errors[a]}return i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.recorder.RecorderClipsVerifyResponse"},n}(),l.RecorderLockedDurationSetRequest=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.frames=0,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.frames!=null&&Object.hasOwnProperty.call(t,"frames")&&e.uint32(8).uint32(t.frames),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.recorder.RecorderLockedDurationSetRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.frames=t.uint32();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.frames!=null&&t.hasOwnProperty("frames")&&!$util.isInteger(t.frames)?"frames: integer expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.recorder.RecorderLockedDurationSetRequest)return t;let e=new $root.sesame.v1.recorder.RecorderLockedDurationSetRequest;return t.frames!=null&&(e.frames=t.frames>>>0),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.frames=0),t.frames!=null&&t.hasOwnProperty("frames")&&(i.frames=t.frames),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.recorder.RecorderLockedDurationSetRequest"},n}(),l.RecorderOkResponse=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.recorder.RecorderOkResponse;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":null},n.fromObject=function(t){return t instanceof $root.sesame.v1.recorder.RecorderOkResponse?t:new $root.sesame.v1.recorder.RecorderOkResponse},n.toObject=function(){return{}},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.recorder.RecorderOkResponse"},n}(),l.RecorderRequest=function(){function n(t){if(t)for(let e=Object.keys(t),i=0;i<e.length;++i)t[e[i]]!=null&&(this[e[i]]=t[e[i]])}n.prototype.recorderId="",n.prototype.getClips=null,n.prototype.addClip=null,n.prototype.removeClip=null,n.prototype.clearClips=null,n.prototype.setMetadata=null,n.prototype.verifyClips=null,n.prototype.setClipFlag=null,n.prototype.copyClip=null,n.prototype.setLockedDuration=null;let r;return Object.defineProperty(n.prototype,"request",{get:$util.oneOfGetter(r=["getClips","addClip","removeClip","clearClips","setMetadata","verifyClips","setClipFlag","copyClip","setLockedDuration"]),set:$util.oneOfSetter(r)}),n.create=function(e){return new n(e)},n.encode=function(e,i){return i||(i=$Writer.create()),e.recorderId!=null&&Object.hasOwnProperty.call(e,"recorderId")&&i.uint32(10).string(e.recorderId),e.getClips!=null&&Object.hasOwnProperty.call(e,"getClips")&&$root.sesame.v1.recorder.RecorderClipsGetRequest.encode(e.getClips,i.uint32(18).fork()).ldelim(),e.addClip!=null&&Object.hasOwnProperty.call(e,"addClip")&&$root.sesame.v1.recorder.RecorderClipAddRequest.encode(e.addClip,i.uint32(26).fork()).ldelim(),e.removeClip!=null&&Object.hasOwnProperty.call(e,"removeClip")&&$root.sesame.v1.recorder.RecorderClipRemoveRequest.encode(e.removeClip,i.uint32(34).fork()).ldelim(),e.clearClips!=null&&Object.hasOwnProperty.call(e,"clearClips")&&$root.sesame.v1.recorder.RecorderClipsClearRequest.encode(e.clearClips,i.uint32(42).fork()).ldelim(),e.setMetadata!=null&&Object.hasOwnProperty.call(e,"setMetadata")&&$root.sesame.v1.recorder.RecorderMetadataSetRequest.encode(e.setMetadata,i.uint32(50).fork()).ldelim(),e.verifyClips!=null&&Object.hasOwnProperty.call(e,"verifyClips")&&$root.sesame.v1.recorder.RecorderClipsVerifyRequest.encode(e.verifyClips,i.uint32(58).fork()).ldelim(),e.setClipFlag!=null&&Object.hasOwnProperty.call(e,"setClipFlag")&&$root.sesame.v1.recorder.RecorderClipFlagSetRequest.encode(e.setClipFlag,i.uint32(66).fork()).ldelim(),e.copyClip!=null&&Object.hasOwnProperty.call(e,"copyClip")&&$root.sesame.v1.recorder.RecorderClipCopyRequest.encode(e.copyClip,i.uint32(74).fork()).ldelim(),e.setLockedDuration!=null&&Object.hasOwnProperty.call(e,"setLockedDuration")&&$root.sesame.v1.recorder.RecorderLockedDurationSetRequest.encode(e.setLockedDuration,i.uint32(82).fork()).ldelim(),i},n.encodeDelimited=function(e,i){return this.encode(e,i).ldelim()},n.decode=function(e,i,a){e instanceof $Reader||(e=$Reader.create(e));let s=i===void 0?e.len:e.pos+i,d=new $root.sesame.v1.recorder.RecorderRequest;for(;e.pos<s;){let c=e.uint32();if(c===a)break;switch(c>>>3){case 1:{d.recorderId=e.string();break}case 2:{d.getClips=$root.sesame.v1.recorder.RecorderClipsGetRequest.decode(e,e.uint32());break}case 3:{d.addClip=$root.sesame.v1.recorder.RecorderClipAddRequest.decode(e,e.uint32());break}case 4:{d.removeClip=$root.sesame.v1.recorder.RecorderClipRemoveRequest.decode(e,e.uint32());break}case 5:{d.clearClips=$root.sesame.v1.recorder.RecorderClipsClearRequest.decode(e,e.uint32());break}case 6:{d.setMetadata=$root.sesame.v1.recorder.RecorderMetadataSetRequest.decode(e,e.uint32());break}case 7:{d.verifyClips=$root.sesame.v1.recorder.RecorderClipsVerifyRequest.decode(e,e.uint32());break}case 8:{d.setClipFlag=$root.sesame.v1.recorder.RecorderClipFlagSetRequest.decode(e,e.uint32());break}case 9:{d.copyClip=$root.sesame.v1.recorder.RecorderClipCopyRequest.decode(e,e.uint32());break}case 10:{d.setLockedDuration=$root.sesame.v1.recorder.RecorderLockedDurationSetRequest.decode(e,e.uint32());break}default:e.skipType(c&7);break}}return d},n.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},n.verify=function(e){if(typeof e!="object"||e===null)return"object expected";let i={};if(e.recorderId!=null&&e.hasOwnProperty("recorderId")&&!$util.isString(e.recorderId))return"recorderId: string expected";if(e.getClips!=null&&e.hasOwnProperty("getClips")){i.request=1;{let a=$root.sesame.v1.recorder.RecorderClipsGetRequest.verify(e.getClips);if(a)return"getClips."+a}}if(e.addClip!=null&&e.hasOwnProperty("addClip")){if(i.request===1)return"request: multiple values";i.request=1;{let a=$root.sesame.v1.recorder.RecorderClipAddRequest.verify(e.addClip);if(a)return"addClip."+a}}if(e.removeClip!=null&&e.hasOwnProperty("removeClip")){if(i.request===1)return"request: multiple values";i.request=1;{let a=$root.sesame.v1.recorder.RecorderClipRemoveRequest.verify(e.removeClip);if(a)return"removeClip."+a}}if(e.clearClips!=null&&e.hasOwnProperty("clearClips")){if(i.request===1)return"request: multiple values";i.request=1;{let a=$root.sesame.v1.recorder.RecorderClipsClearRequest.verify(e.clearClips);if(a)return"clearClips."+a}}if(e.setMetadata!=null&&e.hasOwnProperty("setMetadata")){if(i.request===1)return"request: multiple values";i.request=1;{let a=$root.sesame.v1.recorder.RecorderMetadataSetRequest.verify(e.setMetadata);if(a)return"setMetadata."+a}}if(e.verifyClips!=null&&e.hasOwnProperty("verifyClips")){if(i.request===1)return"request: multiple values";i.request=1;{let a=$root.sesame.v1.recorder.RecorderClipsVerifyRequest.verify(e.verifyClips);if(a)return"verifyClips."+a}}if(e.setClipFlag!=null&&e.hasOwnProperty("setClipFlag")){if(i.request===1)return"request: multiple values";i.request=1;{let a=$root.sesame.v1.recorder.RecorderClipFlagSetRequest.verify(e.setClipFlag);if(a)return"setClipFlag."+a}}if(e.copyClip!=null&&e.hasOwnProperty("copyClip")){if(i.request===1)return"request: multiple values";i.request=1;{let a=$root.sesame.v1.recorder.RecorderClipCopyRequest.verify(e.copyClip);if(a)return"copyClip."+a}}if(e.setLockedDuration!=null&&e.hasOwnProperty("setLockedDuration")){if(i.request===1)return"request: multiple values";i.request=1;{let a=$root.sesame.v1.recorder.RecorderLockedDurationSetRequest.verify(e.setLockedDuration);if(a)return"setLockedDuration."+a}}return null},n.fromObject=function(e){if(e instanceof $root.sesame.v1.recorder.RecorderRequest)return e;let i=new $root.sesame.v1.recorder.RecorderRequest;if(e.recorderId!=null&&(i.recorderId=String(e.recorderId)),e.getClips!=null){if(typeof e.getClips!="object")throw TypeError(".sesame.v1.recorder.RecorderRequest.getClips: object expected");i.getClips=$root.sesame.v1.recorder.RecorderClipsGetRequest.fromObject(e.getClips)}if(e.addClip!=null){if(typeof e.addClip!="object")throw TypeError(".sesame.v1.recorder.RecorderRequest.addClip: object expected");i.addClip=$root.sesame.v1.recorder.RecorderClipAddRequest.fromObject(e.addClip)}if(e.removeClip!=null){if(typeof e.removeClip!="object")throw TypeError(".sesame.v1.recorder.RecorderRequest.removeClip: object expected");i.removeClip=$root.sesame.v1.recorder.RecorderClipRemoveRequest.fromObject(e.removeClip)}if(e.clearClips!=null){if(typeof e.clearClips!="object")throw TypeError(".sesame.v1.recorder.RecorderRequest.clearClips: object expected");i.clearClips=$root.sesame.v1.recorder.RecorderClipsClearRequest.fromObject(e.clearClips)}if(e.setMetadata!=null){if(typeof e.setMetadata!="object")throw TypeError(".sesame.v1.recorder.RecorderRequest.setMetadata: object expected");i.setMetadata=$root.sesame.v1.recorder.RecorderMetadataSetRequest.fromObject(e.setMetadata)}if(e.verifyClips!=null){if(typeof e.verifyClips!="object")throw TypeError(".sesame.v1.recorder.RecorderRequest.verifyClips: object expected");i.verifyClips=$root.sesame.v1.recorder.RecorderClipsVerifyRequest.fromObject(e.verifyClips)}if(e.setClipFlag!=null){if(typeof e.setClipFlag!="object")throw TypeError(".sesame.v1.recorder.RecorderRequest.setClipFlag: object expected");i.setClipFlag=$root.sesame.v1.recorder.RecorderClipFlagSetRequest.fromObject(e.setClipFlag)}if(e.copyClip!=null){if(typeof e.copyClip!="object")throw TypeError(".sesame.v1.recorder.RecorderRequest.copyClip: object expected");i.copyClip=$root.sesame.v1.recorder.RecorderClipCopyRequest.fromObject(e.copyClip)}if(e.setLockedDuration!=null){if(typeof e.setLockedDuration!="object")throw TypeError(".sesame.v1.recorder.RecorderRequest.setLockedDuration: object expected");i.setLockedDuration=$root.sesame.v1.recorder.RecorderLockedDurationSetRequest.fromObject(e.setLockedDuration)}return i},n.toObject=function(e,i){i||(i={});let a={};return i.defaults&&(a.recorderId=""),e.recorderId!=null&&e.hasOwnProperty("recorderId")&&(a.recorderId=e.recorderId),e.getClips!=null&&e.hasOwnProperty("getClips")&&(a.getClips=$root.sesame.v1.recorder.RecorderClipsGetRequest.toObject(e.getClips,i),i.oneofs&&(a.request="getClips")),e.addClip!=null&&e.hasOwnProperty("addClip")&&(a.addClip=$root.sesame.v1.recorder.RecorderClipAddRequest.toObject(e.addClip,i),i.oneofs&&(a.request="addClip")),e.removeClip!=null&&e.hasOwnProperty("removeClip")&&(a.removeClip=$root.sesame.v1.recorder.RecorderClipRemoveRequest.toObject(e.removeClip,i),i.oneofs&&(a.request="removeClip")),e.clearClips!=null&&e.hasOwnProperty("clearClips")&&(a.clearClips=$root.sesame.v1.recorder.RecorderClipsClearRequest.toObject(e.clearClips,i),i.oneofs&&(a.request="clearClips")),e.setMetadata!=null&&e.hasOwnProperty("setMetadata")&&(a.setMetadata=$root.sesame.v1.recorder.RecorderMetadataSetRequest.toObject(e.setMetadata,i),i.oneofs&&(a.request="setMetadata")),e.verifyClips!=null&&e.hasOwnProperty("verifyClips")&&(a.verifyClips=$root.sesame.v1.recorder.RecorderClipsVerifyRequest.toObject(e.verifyClips,i),i.oneofs&&(a.request="verifyClips")),e.setClipFlag!=null&&e.hasOwnProperty("setClipFlag")&&(a.setClipFlag=$root.sesame.v1.recorder.RecorderClipFlagSetRequest.toObject(e.setClipFlag,i),i.oneofs&&(a.request="setClipFlag")),e.copyClip!=null&&e.hasOwnProperty("copyClip")&&(a.copyClip=$root.sesame.v1.recorder.RecorderClipCopyRequest.toObject(e.copyClip,i),i.oneofs&&(a.request="copyClip")),e.setLockedDuration!=null&&e.hasOwnProperty("setLockedDuration")&&(a.setLockedDuration=$root.sesame.v1.recorder.RecorderLockedDurationSetRequest.toObject(e.setLockedDuration,i),i.oneofs&&(a.request="setLockedDuration")),a},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/sesame.v1.recorder.RecorderRequest"},n}(),l.RecorderResponse=function(){function n(t){if(t)for(let e=Object.keys(t),i=0;i<e.length;++i)t[e[i]]!=null&&(this[e[i]]=t[e[i]])}n.prototype.getClipsResponse=null,n.prototype.okResponse=null,n.prototype.verifyClipsResponse=null;let r;return Object.defineProperty(n.prototype,"response",{get:$util.oneOfGetter(r=["getClipsResponse","okResponse","verifyClipsResponse"]),set:$util.oneOfSetter(r)}),n.create=function(e){return new n(e)},n.encode=function(e,i){return i||(i=$Writer.create()),e.getClipsResponse!=null&&Object.hasOwnProperty.call(e,"getClipsResponse")&&$root.sesame.v1.recorder.RecorderClipsGetResponse.encode(e.getClipsResponse,i.uint32(10).fork()).ldelim(),e.okResponse!=null&&Object.hasOwnProperty.call(e,"okResponse")&&$root.sesame.v1.recorder.RecorderOkResponse.encode(e.okResponse,i.uint32(18).fork()).ldelim(),e.verifyClipsResponse!=null&&Object.hasOwnProperty.call(e,"verifyClipsResponse")&&$root.sesame.v1.recorder.RecorderClipsVerifyResponse.encode(e.verifyClipsResponse,i.uint32(26).fork()).ldelim(),i},n.encodeDelimited=function(e,i){return this.encode(e,i).ldelim()},n.decode=function(e,i,a){e instanceof $Reader||(e=$Reader.create(e));let s=i===void 0?e.len:e.pos+i,d=new $root.sesame.v1.recorder.RecorderResponse;for(;e.pos<s;){let c=e.uint32();if(c===a)break;switch(c>>>3){case 1:{d.getClipsResponse=$root.sesame.v1.recorder.RecorderClipsGetResponse.decode(e,e.uint32());break}case 2:{d.okResponse=$root.sesame.v1.recorder.RecorderOkResponse.decode(e,e.uint32());break}case 3:{d.verifyClipsResponse=$root.sesame.v1.recorder.RecorderClipsVerifyResponse.decode(e,e.uint32());break}default:e.skipType(c&7);break}}return d},n.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},n.verify=function(e){if(typeof e!="object"||e===null)return"object expected";let i={};if(e.getClipsResponse!=null&&e.hasOwnProperty("getClipsResponse")){i.response=1;{let a=$root.sesame.v1.recorder.RecorderClipsGetResponse.verify(e.getClipsResponse);if(a)return"getClipsResponse."+a}}if(e.okResponse!=null&&e.hasOwnProperty("okResponse")){if(i.response===1)return"response: multiple values";i.response=1;{let a=$root.sesame.v1.recorder.RecorderOkResponse.verify(e.okResponse);if(a)return"okResponse."+a}}if(e.verifyClipsResponse!=null&&e.hasOwnProperty("verifyClipsResponse")){if(i.response===1)return"response: multiple values";i.response=1;{let a=$root.sesame.v1.recorder.RecorderClipsVerifyResponse.verify(e.verifyClipsResponse);if(a)return"verifyClipsResponse."+a}}return null},n.fromObject=function(e){if(e instanceof $root.sesame.v1.recorder.RecorderResponse)return e;let i=new $root.sesame.v1.recorder.RecorderResponse;if(e.getClipsResponse!=null){if(typeof e.getClipsResponse!="object")throw TypeError(".sesame.v1.recorder.RecorderResponse.getClipsResponse: object expected");i.getClipsResponse=$root.sesame.v1.recorder.RecorderClipsGetResponse.fromObject(e.getClipsResponse)}if(e.okResponse!=null){if(typeof e.okResponse!="object")throw TypeError(".sesame.v1.recorder.RecorderResponse.okResponse: object expected");i.okResponse=$root.sesame.v1.recorder.RecorderOkResponse.fromObject(e.okResponse)}if(e.verifyClipsResponse!=null){if(typeof e.verifyClipsResponse!="object")throw TypeError(".sesame.v1.recorder.RecorderResponse.verifyClipsResponse: object expected");i.verifyClipsResponse=$root.sesame.v1.recorder.RecorderClipsVerifyResponse.fromObject(e.verifyClipsResponse)}return i},n.toObject=function(e,i){i||(i={});let a={};return e.getClipsResponse!=null&&e.hasOwnProperty("getClipsResponse")&&(a.getClipsResponse=$root.sesame.v1.recorder.RecorderClipsGetResponse.toObject(e.getClipsResponse,i),i.oneofs&&(a.response="getClipsResponse")),e.okResponse!=null&&e.hasOwnProperty("okResponse")&&(a.okResponse=$root.sesame.v1.recorder.RecorderOkResponse.toObject(e.okResponse,i),i.oneofs&&(a.response="okResponse")),e.verifyClipsResponse!=null&&e.hasOwnProperty("verifyClipsResponse")&&(a.verifyClipsResponse=$root.sesame.v1.recorder.RecorderClipsVerifyResponse.toObject(e.verifyClipsResponse,i),i.oneofs&&(a.response="verifyClipsResponse")),a},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/sesame.v1.recorder.RecorderResponse"},n}(),l.RecorderStatus=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.id="",n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.id!=null&&Object.hasOwnProperty.call(t,"id")&&e.uint32(10).string(t.id),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.recorder.RecorderStatus;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.id=t.string();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.id!=null&&t.hasOwnProperty("id")&&!$util.isString(t.id)?"id: string expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.recorder.RecorderStatus)return t;let e=new $root.sesame.v1.recorder.RecorderStatus;return t.id!=null&&(e.id=String(t.id)),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.id=""),t.id!=null&&t.hasOwnProperty("id")&&(i.id=t.id),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.recorder.RecorderStatus"},n}(),l.RecorderEvent=function(){function n(t){if(t)for(let e=Object.keys(t),i=0;i<e.length;++i)t[e[i]]!=null&&(this[e[i]]=t[e[i]])}n.prototype.id="",n.prototype.online=!1,n.prototype.message=null;let r;return Object.defineProperty(n.prototype,"_message",{get:$util.oneOfGetter(r=["message"]),set:$util.oneOfSetter(r)}),n.create=function(e){return new n(e)},n.encode=function(e,i){return i||(i=$Writer.create()),e.id!=null&&Object.hasOwnProperty.call(e,"id")&&i.uint32(10).string(e.id),e.online!=null&&Object.hasOwnProperty.call(e,"online")&&i.uint32(16).bool(e.online),e.message!=null&&Object.hasOwnProperty.call(e,"message")&&i.uint32(26).string(e.message),i},n.encodeDelimited=function(e,i){return this.encode(e,i).ldelim()},n.decode=function(e,i,a){e instanceof $Reader||(e=$Reader.create(e));let s=i===void 0?e.len:e.pos+i,d=new $root.sesame.v1.recorder.RecorderEvent;for(;e.pos<s;){let c=e.uint32();if(c===a)break;switch(c>>>3){case 1:{d.id=e.string();break}case 2:{d.online=e.bool();break}case 3:{d.message=e.string();break}default:e.skipType(c&7);break}}return d},n.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},n.verify=function(e){return typeof e!="object"||e===null?"object expected":e.id!=null&&e.hasOwnProperty("id")&&!$util.isString(e.id)?"id: string expected":e.online!=null&&e.hasOwnProperty("online")&&typeof e.online!="boolean"?"online: boolean expected":e.message!=null&&e.hasOwnProperty("message")&&!$util.isString(e.message)?"message: string expected":null},n.fromObject=function(e){if(e instanceof $root.sesame.v1.recorder.RecorderEvent)return e;let i=new $root.sesame.v1.recorder.RecorderEvent;return e.id!=null&&(i.id=String(e.id)),e.online!=null&&(i.online=!!e.online),e.message!=null&&(i.message=String(e.message)),i},n.toObject=function(e,i){i||(i={});let a={};return i.defaults&&(a.id="",a.online=!1),e.id!=null&&e.hasOwnProperty("id")&&(a.id=e.id),e.online!=null&&e.hasOwnProperty("online")&&(a.online=e.online),e.message!=null&&e.hasOwnProperty("message")&&(a.message=e.message,i.oneofs&&(a._message="message")),a},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/sesame.v1.recorder.RecorderEvent"},n}(),l}(),o.status=function(){const l={};return l.FrameTiming=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.frameTime=0,n.prototype.frameTimeAvg=0,n.prototype.frameTimeMin=0,n.prototype.frameTimeMax=0,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.frameTime!=null&&Object.hasOwnProperty.call(t,"frameTime")&&e.uint32(8).int32(t.frameTime),t.frameTimeAvg!=null&&Object.hasOwnProperty.call(t,"frameTimeAvg")&&e.uint32(16).int32(t.frameTimeAvg),t.frameTimeMin!=null&&Object.hasOwnProperty.call(t,"frameTimeMin")&&e.uint32(24).int32(t.frameTimeMin),t.frameTimeMax!=null&&Object.hasOwnProperty.call(t,"frameTimeMax")&&e.uint32(32).int32(t.frameTimeMax),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.status.FrameTiming;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.frameTime=t.int32();break}case 2:{s.frameTimeAvg=t.int32();break}case 3:{s.frameTimeMin=t.int32();break}case 4:{s.frameTimeMax=t.int32();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.frameTime!=null&&t.hasOwnProperty("frameTime")&&!$util.isInteger(t.frameTime)?"frameTime: integer expected":t.frameTimeAvg!=null&&t.hasOwnProperty("frameTimeAvg")&&!$util.isInteger(t.frameTimeAvg)?"frameTimeAvg: integer expected":t.frameTimeMin!=null&&t.hasOwnProperty("frameTimeMin")&&!$util.isInteger(t.frameTimeMin)?"frameTimeMin: integer expected":t.frameTimeMax!=null&&t.hasOwnProperty("frameTimeMax")&&!$util.isInteger(t.frameTimeMax)?"frameTimeMax: integer expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.status.FrameTiming)return t;let e=new $root.sesame.v1.status.FrameTiming;return t.frameTime!=null&&(e.frameTime=t.frameTime|0),t.frameTimeAvg!=null&&(e.frameTimeAvg=t.frameTimeAvg|0),t.frameTimeMin!=null&&(e.frameTimeMin=t.frameTimeMin|0),t.frameTimeMax!=null&&(e.frameTimeMax=t.frameTimeMax|0),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.frameTime=0,i.frameTimeAvg=0,i.frameTimeMin=0,i.frameTimeMax=0),t.frameTime!=null&&t.hasOwnProperty("frameTime")&&(i.frameTime=t.frameTime),t.frameTimeAvg!=null&&t.hasOwnProperty("frameTimeAvg")&&(i.frameTimeAvg=t.frameTimeAvg),t.frameTimeMin!=null&&t.hasOwnProperty("frameTimeMin")&&(i.frameTimeMin=t.frameTimeMin),t.frameTimeMax!=null&&t.hasOwnProperty("frameTimeMax")&&(i.frameTimeMax=t.frameTimeMax),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.status.FrameTiming"},n}(),l.SRTReceiveStatistics=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.packetsReceived=$util.Long?$util.Long.fromBits(0,0,!1):0,n.prototype.packetsReceivedLost=0,n.prototype.packetAckSent=0,n.prototype.packetNackSent=0,n.prototype.bytesReceived=$util.Long?$util.Long.fromBits(0,0,!1):0,n.prototype.bytesReceivedLost=$util.Long?$util.Long.fromBits(0,0,!1):0,n.prototype.receiveRateMbps=0,n.prototype.tsbpdDelay=0,n.prototype.bandwidthMbps=0,n.prototype.rttMs=0,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.packetsReceived!=null&&Object.hasOwnProperty.call(t,"packetsReceived")&&e.uint32(8).int64(t.packetsReceived),t.packetsReceivedLost!=null&&Object.hasOwnProperty.call(t,"packetsReceivedLost")&&e.uint32(16).int32(t.packetsReceivedLost),t.packetAckSent!=null&&Object.hasOwnProperty.call(t,"packetAckSent")&&e.uint32(24).int32(t.packetAckSent),t.packetNackSent!=null&&Object.hasOwnProperty.call(t,"packetNackSent")&&e.uint32(32).int32(t.packetNackSent),t.bytesReceived!=null&&Object.hasOwnProperty.call(t,"bytesReceived")&&e.uint32(40).int64(t.bytesReceived),t.bytesReceivedLost!=null&&Object.hasOwnProperty.call(t,"bytesReceivedLost")&&e.uint32(48).int64(t.bytesReceivedLost),t.receiveRateMbps!=null&&Object.hasOwnProperty.call(t,"receiveRateMbps")&&e.uint32(57).double(t.receiveRateMbps),t.tsbpdDelay!=null&&Object.hasOwnProperty.call(t,"tsbpdDelay")&&e.uint32(64).int32(t.tsbpdDelay),t.bandwidthMbps!=null&&Object.hasOwnProperty.call(t,"bandwidthMbps")&&e.uint32(73).double(t.bandwidthMbps),t.rttMs!=null&&Object.hasOwnProperty.call(t,"rttMs")&&e.uint32(81).double(t.rttMs),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.status.SRTReceiveStatistics;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.packetsReceived=t.int64();break}case 2:{s.packetsReceivedLost=t.int32();break}case 3:{s.packetAckSent=t.int32();break}case 4:{s.packetNackSent=t.int32();break}case 5:{s.bytesReceived=t.int64();break}case 6:{s.bytesReceivedLost=t.int64();break}case 7:{s.receiveRateMbps=t.double();break}case 8:{s.tsbpdDelay=t.int32();break}case 9:{s.bandwidthMbps=t.double();break}case 10:{s.rttMs=t.double();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.packetsReceived!=null&&t.hasOwnProperty("packetsReceived")&&!$util.isInteger(t.packetsReceived)&&!(t.packetsReceived&&$util.isInteger(t.packetsReceived.low)&&$util.isInteger(t.packetsReceived.high))?"packetsReceived: integer|Long expected":t.packetsReceivedLost!=null&&t.hasOwnProperty("packetsReceivedLost")&&!$util.isInteger(t.packetsReceivedLost)?"packetsReceivedLost: integer expected":t.packetAckSent!=null&&t.hasOwnProperty("packetAckSent")&&!$util.isInteger(t.packetAckSent)?"packetAckSent: integer expected":t.packetNackSent!=null&&t.hasOwnProperty("packetNackSent")&&!$util.isInteger(t.packetNackSent)?"packetNackSent: integer expected":t.bytesReceived!=null&&t.hasOwnProperty("bytesReceived")&&!$util.isInteger(t.bytesReceived)&&!(t.bytesReceived&&$util.isInteger(t.bytesReceived.low)&&$util.isInteger(t.bytesReceived.high))?"bytesReceived: integer|Long expected":t.bytesReceivedLost!=null&&t.hasOwnProperty("bytesReceivedLost")&&!$util.isInteger(t.bytesReceivedLost)&&!(t.bytesReceivedLost&&$util.isInteger(t.bytesReceivedLost.low)&&$util.isInteger(t.bytesReceivedLost.high))?"bytesReceivedLost: integer|Long expected":t.receiveRateMbps!=null&&t.hasOwnProperty("receiveRateMbps")&&typeof t.receiveRateMbps!="number"?"receiveRateMbps: number expected":t.tsbpdDelay!=null&&t.hasOwnProperty("tsbpdDelay")&&!$util.isInteger(t.tsbpdDelay)?"tsbpdDelay: integer expected":t.bandwidthMbps!=null&&t.hasOwnProperty("bandwidthMbps")&&typeof t.bandwidthMbps!="number"?"bandwidthMbps: number expected":t.rttMs!=null&&t.hasOwnProperty("rttMs")&&typeof t.rttMs!="number"?"rttMs: number expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.status.SRTReceiveStatistics)return t;let e=new $root.sesame.v1.status.SRTReceiveStatistics;return t.packetsReceived!=null&&($util.Long?(e.packetsReceived=$util.Long.fromValue(t.packetsReceived)).unsigned=!1:typeof t.packetsReceived=="string"?e.packetsReceived=parseInt(t.packetsReceived,10):typeof t.packetsReceived=="number"?e.packetsReceived=t.packetsReceived:typeof t.packetsReceived=="object"&&(e.packetsReceived=new $util.LongBits(t.packetsReceived.low>>>0,t.packetsReceived.high>>>0).toNumber())),t.packetsReceivedLost!=null&&(e.packetsReceivedLost=t.packetsReceivedLost|0),t.packetAckSent!=null&&(e.packetAckSent=t.packetAckSent|0),t.packetNackSent!=null&&(e.packetNackSent=t.packetNackSent|0),t.bytesReceived!=null&&($util.Long?(e.bytesReceived=$util.Long.fromValue(t.bytesReceived)).unsigned=!1:typeof t.bytesReceived=="string"?e.bytesReceived=parseInt(t.bytesReceived,10):typeof t.bytesReceived=="number"?e.bytesReceived=t.bytesReceived:typeof t.bytesReceived=="object"&&(e.bytesReceived=new $util.LongBits(t.bytesReceived.low>>>0,t.bytesReceived.high>>>0).toNumber())),t.bytesReceivedLost!=null&&($util.Long?(e.bytesReceivedLost=$util.Long.fromValue(t.bytesReceivedLost)).unsigned=!1:typeof t.bytesReceivedLost=="string"?e.bytesReceivedLost=parseInt(t.bytesReceivedLost,10):typeof t.bytesReceivedLost=="number"?e.bytesReceivedLost=t.bytesReceivedLost:typeof t.bytesReceivedLost=="object"&&(e.bytesReceivedLost=new $util.LongBits(t.bytesReceivedLost.low>>>0,t.bytesReceivedLost.high>>>0).toNumber())),t.receiveRateMbps!=null&&(e.receiveRateMbps=Number(t.receiveRateMbps)),t.tsbpdDelay!=null&&(e.tsbpdDelay=t.tsbpdDelay|0),t.bandwidthMbps!=null&&(e.bandwidthMbps=Number(t.bandwidthMbps)),t.rttMs!=null&&(e.rttMs=Number(t.rttMs)),e},n.toObject=function(t,e){e||(e={});let i={};if(e.defaults){if($util.Long){let a=new $util.Long(0,0,!1);i.packetsReceived=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.packetsReceived=e.longs===String?"0":0;if(i.packetsReceivedLost=0,i.packetAckSent=0,i.packetNackSent=0,$util.Long){let a=new $util.Long(0,0,!1);i.bytesReceived=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.bytesReceived=e.longs===String?"0":0;if($util.Long){let a=new $util.Long(0,0,!1);i.bytesReceivedLost=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.bytesReceivedLost=e.longs===String?"0":0;i.receiveRateMbps=0,i.tsbpdDelay=0,i.bandwidthMbps=0,i.rttMs=0}return t.packetsReceived!=null&&t.hasOwnProperty("packetsReceived")&&(typeof t.packetsReceived=="number"?i.packetsReceived=e.longs===String?String(t.packetsReceived):t.packetsReceived:i.packetsReceived=e.longs===String?$util.Long.prototype.toString.call(t.packetsReceived):e.longs===Number?new $util.LongBits(t.packetsReceived.low>>>0,t.packetsReceived.high>>>0).toNumber():t.packetsReceived),t.packetsReceivedLost!=null&&t.hasOwnProperty("packetsReceivedLost")&&(i.packetsReceivedLost=t.packetsReceivedLost),t.packetAckSent!=null&&t.hasOwnProperty("packetAckSent")&&(i.packetAckSent=t.packetAckSent),t.packetNackSent!=null&&t.hasOwnProperty("packetNackSent")&&(i.packetNackSent=t.packetNackSent),t.bytesReceived!=null&&t.hasOwnProperty("bytesReceived")&&(typeof t.bytesReceived=="number"?i.bytesReceived=e.longs===String?String(t.bytesReceived):t.bytesReceived:i.bytesReceived=e.longs===String?$util.Long.prototype.toString.call(t.bytesReceived):e.longs===Number?new $util.LongBits(t.bytesReceived.low>>>0,t.bytesReceived.high>>>0).toNumber():t.bytesReceived),t.bytesReceivedLost!=null&&t.hasOwnProperty("bytesReceivedLost")&&(typeof t.bytesReceivedLost=="number"?i.bytesReceivedLost=e.longs===String?String(t.bytesReceivedLost):t.bytesReceivedLost:i.bytesReceivedLost=e.longs===String?$util.Long.prototype.toString.call(t.bytesReceivedLost):e.longs===Number?new $util.LongBits(t.bytesReceivedLost.low>>>0,t.bytesReceivedLost.high>>>0).toNumber():t.bytesReceivedLost),t.receiveRateMbps!=null&&t.hasOwnProperty("receiveRateMbps")&&(i.receiveRateMbps=e.json&&!isFinite(t.receiveRateMbps)?String(t.receiveRateMbps):t.receiveRateMbps),t.tsbpdDelay!=null&&t.hasOwnProperty("tsbpdDelay")&&(i.tsbpdDelay=t.tsbpdDelay),t.bandwidthMbps!=null&&t.hasOwnProperty("bandwidthMbps")&&(i.bandwidthMbps=e.json&&!isFinite(t.bandwidthMbps)?String(t.bandwidthMbps):t.bandwidthMbps),t.rttMs!=null&&t.hasOwnProperty("rttMs")&&(i.rttMs=e.json&&!isFinite(t.rttMs)?String(t.rttMs):t.rttMs),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.status.SRTReceiveStatistics"},n}(),l.SRTSendStatistics=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.packetsSent=$util.Long?$util.Long.fromBits(0,0,!1):0,n.prototype.packetsSentLost=0,n.prototype.packetsSentDropped=0,n.prototype.packetsRetransmitted=0,n.prototype.packetAckReceived=0,n.prototype.packetNackReceived=0,n.prototype.bytesSent=$util.Long?$util.Long.fromBits(0,0,!1):0,n.prototype.bytesSentDropped=$util.Long?$util.Long.fromBits(0,0,!1):0,n.prototype.sendRateMbps=0,n.prototype.bandwidthMbps=0,n.prototype.rttMs=0,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.packetsSent!=null&&Object.hasOwnProperty.call(t,"packetsSent")&&e.uint32(8).int64(t.packetsSent),t.packetsSentLost!=null&&Object.hasOwnProperty.call(t,"packetsSentLost")&&e.uint32(16).int32(t.packetsSentLost),t.packetsSentDropped!=null&&Object.hasOwnProperty.call(t,"packetsSentDropped")&&e.uint32(24).int32(t.packetsSentDropped),t.packetsRetransmitted!=null&&Object.hasOwnProperty.call(t,"packetsRetransmitted")&&e.uint32(32).int32(t.packetsRetransmitted),t.packetAckReceived!=null&&Object.hasOwnProperty.call(t,"packetAckReceived")&&e.uint32(40).int32(t.packetAckReceived),t.packetNackReceived!=null&&Object.hasOwnProperty.call(t,"packetNackReceived")&&e.uint32(48).int32(t.packetNackReceived),t.bytesSent!=null&&Object.hasOwnProperty.call(t,"bytesSent")&&e.uint32(56).int64(t.bytesSent),t.bytesSentDropped!=null&&Object.hasOwnProperty.call(t,"bytesSentDropped")&&e.uint32(64).int64(t.bytesSentDropped),t.sendRateMbps!=null&&Object.hasOwnProperty.call(t,"sendRateMbps")&&e.uint32(73).double(t.sendRateMbps),t.bandwidthMbps!=null&&Object.hasOwnProperty.call(t,"bandwidthMbps")&&e.uint32(81).double(t.bandwidthMbps),t.rttMs!=null&&Object.hasOwnProperty.call(t,"rttMs")&&e.uint32(89).double(t.rttMs),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.status.SRTSendStatistics;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.packetsSent=t.int64();break}case 2:{s.packetsSentLost=t.int32();break}case 3:{s.packetsSentDropped=t.int32();break}case 4:{s.packetsRetransmitted=t.int32();break}case 5:{s.packetAckReceived=t.int32();break}case 6:{s.packetNackReceived=t.int32();break}case 7:{s.bytesSent=t.int64();break}case 8:{s.bytesSentDropped=t.int64();break}case 9:{s.sendRateMbps=t.double();break}case 10:{s.bandwidthMbps=t.double();break}case 11:{s.rttMs=t.double();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.packetsSent!=null&&t.hasOwnProperty("packetsSent")&&!$util.isInteger(t.packetsSent)&&!(t.packetsSent&&$util.isInteger(t.packetsSent.low)&&$util.isInteger(t.packetsSent.high))?"packetsSent: integer|Long expected":t.packetsSentLost!=null&&t.hasOwnProperty("packetsSentLost")&&!$util.isInteger(t.packetsSentLost)?"packetsSentLost: integer expected":t.packetsSentDropped!=null&&t.hasOwnProperty("packetsSentDropped")&&!$util.isInteger(t.packetsSentDropped)?"packetsSentDropped: integer expected":t.packetsRetransmitted!=null&&t.hasOwnProperty("packetsRetransmitted")&&!$util.isInteger(t.packetsRetransmitted)?"packetsRetransmitted: integer expected":t.packetAckReceived!=null&&t.hasOwnProperty("packetAckReceived")&&!$util.isInteger(t.packetAckReceived)?"packetAckReceived: integer expected":t.packetNackReceived!=null&&t.hasOwnProperty("packetNackReceived")&&!$util.isInteger(t.packetNackReceived)?"packetNackReceived: integer expected":t.bytesSent!=null&&t.hasOwnProperty("bytesSent")&&!$util.isInteger(t.bytesSent)&&!(t.bytesSent&&$util.isInteger(t.bytesSent.low)&&$util.isInteger(t.bytesSent.high))?"bytesSent: integer|Long expected":t.bytesSentDropped!=null&&t.hasOwnProperty("bytesSentDropped")&&!$util.isInteger(t.bytesSentDropped)&&!(t.bytesSentDropped&&$util.isInteger(t.bytesSentDropped.low)&&$util.isInteger(t.bytesSentDropped.high))?"bytesSentDropped: integer|Long expected":t.sendRateMbps!=null&&t.hasOwnProperty("sendRateMbps")&&typeof t.sendRateMbps!="number"?"sendRateMbps: number expected":t.bandwidthMbps!=null&&t.hasOwnProperty("bandwidthMbps")&&typeof t.bandwidthMbps!="number"?"bandwidthMbps: number expected":t.rttMs!=null&&t.hasOwnProperty("rttMs")&&typeof t.rttMs!="number"?"rttMs: number expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.status.SRTSendStatistics)return t;let e=new $root.sesame.v1.status.SRTSendStatistics;return t.packetsSent!=null&&($util.Long?(e.packetsSent=$util.Long.fromValue(t.packetsSent)).unsigned=!1:typeof t.packetsSent=="string"?e.packetsSent=parseInt(t.packetsSent,10):typeof t.packetsSent=="number"?e.packetsSent=t.packetsSent:typeof t.packetsSent=="object"&&(e.packetsSent=new $util.LongBits(t.packetsSent.low>>>0,t.packetsSent.high>>>0).toNumber())),t.packetsSentLost!=null&&(e.packetsSentLost=t.packetsSentLost|0),t.packetsSentDropped!=null&&(e.packetsSentDropped=t.packetsSentDropped|0),t.packetsRetransmitted!=null&&(e.packetsRetransmitted=t.packetsRetransmitted|0),t.packetAckReceived!=null&&(e.packetAckReceived=t.packetAckReceived|0),t.packetNackReceived!=null&&(e.packetNackReceived=t.packetNackReceived|0),t.bytesSent!=null&&($util.Long?(e.bytesSent=$util.Long.fromValue(t.bytesSent)).unsigned=!1:typeof t.bytesSent=="string"?e.bytesSent=parseInt(t.bytesSent,10):typeof t.bytesSent=="number"?e.bytesSent=t.bytesSent:typeof t.bytesSent=="object"&&(e.bytesSent=new $util.LongBits(t.bytesSent.low>>>0,t.bytesSent.high>>>0).toNumber())),t.bytesSentDropped!=null&&($util.Long?(e.bytesSentDropped=$util.Long.fromValue(t.bytesSentDropped)).unsigned=!1:typeof t.bytesSentDropped=="string"?e.bytesSentDropped=parseInt(t.bytesSentDropped,10):typeof t.bytesSentDropped=="number"?e.bytesSentDropped=t.bytesSentDropped:typeof t.bytesSentDropped=="object"&&(e.bytesSentDropped=new $util.LongBits(t.bytesSentDropped.low>>>0,t.bytesSentDropped.high>>>0).toNumber())),t.sendRateMbps!=null&&(e.sendRateMbps=Number(t.sendRateMbps)),t.bandwidthMbps!=null&&(e.bandwidthMbps=Number(t.bandwidthMbps)),t.rttMs!=null&&(e.rttMs=Number(t.rttMs)),e},n.toObject=function(t,e){e||(e={});let i={};if(e.defaults){if($util.Long){let a=new $util.Long(0,0,!1);i.packetsSent=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.packetsSent=e.longs===String?"0":0;if(i.packetsSentLost=0,i.packetsSentDropped=0,i.packetsRetransmitted=0,i.packetAckReceived=0,i.packetNackReceived=0,$util.Long){let a=new $util.Long(0,0,!1);i.bytesSent=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.bytesSent=e.longs===String?"0":0;if($util.Long){let a=new $util.Long(0,0,!1);i.bytesSentDropped=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.bytesSentDropped=e.longs===String?"0":0;i.sendRateMbps=0,i.bandwidthMbps=0,i.rttMs=0}return t.packetsSent!=null&&t.hasOwnProperty("packetsSent")&&(typeof t.packetsSent=="number"?i.packetsSent=e.longs===String?String(t.packetsSent):t.packetsSent:i.packetsSent=e.longs===String?$util.Long.prototype.toString.call(t.packetsSent):e.longs===Number?new $util.LongBits(t.packetsSent.low>>>0,t.packetsSent.high>>>0).toNumber():t.packetsSent),t.packetsSentLost!=null&&t.hasOwnProperty("packetsSentLost")&&(i.packetsSentLost=t.packetsSentLost),t.packetsSentDropped!=null&&t.hasOwnProperty("packetsSentDropped")&&(i.packetsSentDropped=t.packetsSentDropped),t.packetsRetransmitted!=null&&t.hasOwnProperty("packetsRetransmitted")&&(i.packetsRetransmitted=t.packetsRetransmitted),t.packetAckReceived!=null&&t.hasOwnProperty("packetAckReceived")&&(i.packetAckReceived=t.packetAckReceived),t.packetNackReceived!=null&&t.hasOwnProperty("packetNackReceived")&&(i.packetNackReceived=t.packetNackReceived),t.bytesSent!=null&&t.hasOwnProperty("bytesSent")&&(typeof t.bytesSent=="number"?i.bytesSent=e.longs===String?String(t.bytesSent):t.bytesSent:i.bytesSent=e.longs===String?$util.Long.prototype.toString.call(t.bytesSent):e.longs===Number?new $util.LongBits(t.bytesSent.low>>>0,t.bytesSent.high>>>0).toNumber():t.bytesSent),t.bytesSentDropped!=null&&t.hasOwnProperty("bytesSentDropped")&&(typeof t.bytesSentDropped=="number"?i.bytesSentDropped=e.longs===String?String(t.bytesSentDropped):t.bytesSentDropped:i.bytesSentDropped=e.longs===String?$util.Long.prototype.toString.call(t.bytesSentDropped):e.longs===Number?new $util.LongBits(t.bytesSentDropped.low>>>0,t.bytesSentDropped.high>>>0).toNumber():t.bytesSentDropped),t.sendRateMbps!=null&&t.hasOwnProperty("sendRateMbps")&&(i.sendRateMbps=e.json&&!isFinite(t.sendRateMbps)?String(t.sendRateMbps):t.sendRateMbps),t.bandwidthMbps!=null&&t.hasOwnProperty("bandwidthMbps")&&(i.bandwidthMbps=e.json&&!isFinite(t.bandwidthMbps)?String(t.bandwidthMbps):t.bandwidthMbps),t.rttMs!=null&&t.hasOwnProperty("rttMs")&&(i.rttMs=e.json&&!isFinite(t.rttMs)?String(t.rttMs):t.rttMs),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.status.SRTSendStatistics"},n}(),l.MemoryDomainStats=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.currentBytes=$util.Long?$util.Long.fromBits(0,0,!0):0,n.prototype.peakBytes=$util.Long?$util.Long.fromBits(0,0,!0):0,n.prototype.budgetBytes=$util.Long?$util.Long.fromBits(0,0,!0):0,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.currentBytes!=null&&Object.hasOwnProperty.call(t,"currentBytes")&&e.uint32(8).uint64(t.currentBytes),t.peakBytes!=null&&Object.hasOwnProperty.call(t,"peakBytes")&&e.uint32(16).uint64(t.peakBytes),t.budgetBytes!=null&&Object.hasOwnProperty.call(t,"budgetBytes")&&e.uint32(24).uint64(t.budgetBytes),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.status.MemoryDomainStats;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.currentBytes=t.uint64();break}case 2:{s.peakBytes=t.uint64();break}case 3:{s.budgetBytes=t.uint64();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.currentBytes!=null&&t.hasOwnProperty("currentBytes")&&!$util.isInteger(t.currentBytes)&&!(t.currentBytes&&$util.isInteger(t.currentBytes.low)&&$util.isInteger(t.currentBytes.high))?"currentBytes: integer|Long expected":t.peakBytes!=null&&t.hasOwnProperty("peakBytes")&&!$util.isInteger(t.peakBytes)&&!(t.peakBytes&&$util.isInteger(t.peakBytes.low)&&$util.isInteger(t.peakBytes.high))?"peakBytes: integer|Long expected":t.budgetBytes!=null&&t.hasOwnProperty("budgetBytes")&&!$util.isInteger(t.budgetBytes)&&!(t.budgetBytes&&$util.isInteger(t.budgetBytes.low)&&$util.isInteger(t.budgetBytes.high))?"budgetBytes: integer|Long expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.status.MemoryDomainStats)return t;let e=new $root.sesame.v1.status.MemoryDomainStats;return t.currentBytes!=null&&($util.Long?(e.currentBytes=$util.Long.fromValue(t.currentBytes)).unsigned=!0:typeof t.currentBytes=="string"?e.currentBytes=parseInt(t.currentBytes,10):typeof t.currentBytes=="number"?e.currentBytes=t.currentBytes:typeof t.currentBytes=="object"&&(e.currentBytes=new $util.LongBits(t.currentBytes.low>>>0,t.currentBytes.high>>>0).toNumber(!0))),t.peakBytes!=null&&($util.Long?(e.peakBytes=$util.Long.fromValue(t.peakBytes)).unsigned=!0:typeof t.peakBytes=="string"?e.peakBytes=parseInt(t.peakBytes,10):typeof t.peakBytes=="number"?e.peakBytes=t.peakBytes:typeof t.peakBytes=="object"&&(e.peakBytes=new $util.LongBits(t.peakBytes.low>>>0,t.peakBytes.high>>>0).toNumber(!0))),t.budgetBytes!=null&&($util.Long?(e.budgetBytes=$util.Long.fromValue(t.budgetBytes)).unsigned=!0:typeof t.budgetBytes=="string"?e.budgetBytes=parseInt(t.budgetBytes,10):typeof t.budgetBytes=="number"?e.budgetBytes=t.budgetBytes:typeof t.budgetBytes=="object"&&(e.budgetBytes=new $util.LongBits(t.budgetBytes.low>>>0,t.budgetBytes.high>>>0).toNumber(!0))),e},n.toObject=function(t,e){e||(e={});let i={};if(e.defaults){if($util.Long){let a=new $util.Long(0,0,!0);i.currentBytes=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.currentBytes=e.longs===String?"0":0;if($util.Long){let a=new $util.Long(0,0,!0);i.peakBytes=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.peakBytes=e.longs===String?"0":0;if($util.Long){let a=new $util.Long(0,0,!0);i.budgetBytes=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.budgetBytes=e.longs===String?"0":0}return t.currentBytes!=null&&t.hasOwnProperty("currentBytes")&&(typeof t.currentBytes=="number"?i.currentBytes=e.longs===String?String(t.currentBytes):t.currentBytes:i.currentBytes=e.longs===String?$util.Long.prototype.toString.call(t.currentBytes):e.longs===Number?new $util.LongBits(t.currentBytes.low>>>0,t.currentBytes.high>>>0).toNumber(!0):t.currentBytes),t.peakBytes!=null&&t.hasOwnProperty("peakBytes")&&(typeof t.peakBytes=="number"?i.peakBytes=e.longs===String?String(t.peakBytes):t.peakBytes:i.peakBytes=e.longs===String?$util.Long.prototype.toString.call(t.peakBytes):e.longs===Number?new $util.LongBits(t.peakBytes.low>>>0,t.peakBytes.high>>>0).toNumber(!0):t.peakBytes),t.budgetBytes!=null&&t.hasOwnProperty("budgetBytes")&&(typeof t.budgetBytes=="number"?i.budgetBytes=e.longs===String?String(t.budgetBytes):t.budgetBytes:i.budgetBytes=e.longs===String?$util.Long.prototype.toString.call(t.budgetBytes):e.longs===Number?new $util.LongBits(t.budgetBytes.low>>>0,t.budgetBytes.high>>>0).toNumber(!0):t.budgetBytes),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.status.MemoryDomainStats"},n}(),l.SystemStatus=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.uptime=$util.Long?$util.Long.fromBits(0,0,!0):0,n.prototype.framedrops=0,n.prototype.framerate=0,n.prototype.gpuMem=$util.Long?$util.Long.fromBits(0,0,!0):0,n.prototype.cpuMem=$util.Long?$util.Long.fromBits(0,0,!0):0,n.prototype.memGpuPool=null,n.prototype.memCpuPool=null,n.prototype.memGpuAdhoc=null,n.prototype.memGpuPinned=null,n.prototype.gpuMemTotal=$util.Long?$util.Long.fromBits(0,0,!0):0,n.prototype.gpuMemUsed=$util.Long?$util.Long.fromBits(0,0,!0):0,n.prototype.gpuUtilization=0,n.prototype.gpuMemUtilization=0,n.prototype.gpuEncoderUtilization=0,n.prototype.gpuDecoderUtilization=0,n.prototype.gpuName="",n.prototype.vmaBytes=$util.Long?$util.Long.fromBits(0,0,!0):0,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.uptime!=null&&Object.hasOwnProperty.call(t,"uptime")&&e.uint32(8).uint64(t.uptime),t.framedrops!=null&&Object.hasOwnProperty.call(t,"framedrops")&&e.uint32(16).uint32(t.framedrops),t.framerate!=null&&Object.hasOwnProperty.call(t,"framerate")&&e.uint32(29).float(t.framerate),t.gpuMem!=null&&Object.hasOwnProperty.call(t,"gpuMem")&&e.uint32(32).uint64(t.gpuMem),t.cpuMem!=null&&Object.hasOwnProperty.call(t,"cpuMem")&&e.uint32(40).uint64(t.cpuMem),t.memGpuPool!=null&&Object.hasOwnProperty.call(t,"memGpuPool")&&$root.sesame.v1.status.MemoryDomainStats.encode(t.memGpuPool,e.uint32(50).fork()).ldelim(),t.memCpuPool!=null&&Object.hasOwnProperty.call(t,"memCpuPool")&&$root.sesame.v1.status.MemoryDomainStats.encode(t.memCpuPool,e.uint32(58).fork()).ldelim(),t.memGpuAdhoc!=null&&Object.hasOwnProperty.call(t,"memGpuAdhoc")&&$root.sesame.v1.status.MemoryDomainStats.encode(t.memGpuAdhoc,e.uint32(66).fork()).ldelim(),t.memGpuPinned!=null&&Object.hasOwnProperty.call(t,"memGpuPinned")&&$root.sesame.v1.status.MemoryDomainStats.encode(t.memGpuPinned,e.uint32(74).fork()).ldelim(),t.gpuMemTotal!=null&&Object.hasOwnProperty.call(t,"gpuMemTotal")&&e.uint32(80).uint64(t.gpuMemTotal),t.gpuMemUsed!=null&&Object.hasOwnProperty.call(t,"gpuMemUsed")&&e.uint32(88).uint64(t.gpuMemUsed),t.gpuUtilization!=null&&Object.hasOwnProperty.call(t,"gpuUtilization")&&e.uint32(96).uint32(t.gpuUtilization),t.gpuMemUtilization!=null&&Object.hasOwnProperty.call(t,"gpuMemUtilization")&&e.uint32(104).uint32(t.gpuMemUtilization),t.gpuEncoderUtilization!=null&&Object.hasOwnProperty.call(t,"gpuEncoderUtilization")&&e.uint32(112).uint32(t.gpuEncoderUtilization),t.gpuDecoderUtilization!=null&&Object.hasOwnProperty.call(t,"gpuDecoderUtilization")&&e.uint32(120).uint32(t.gpuDecoderUtilization),t.gpuName!=null&&Object.hasOwnProperty.call(t,"gpuName")&&e.uint32(130).string(t.gpuName),t.vmaBytes!=null&&Object.hasOwnProperty.call(t,"vmaBytes")&&e.uint32(136).uint64(t.vmaBytes),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.status.SystemStatus;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.uptime=t.uint64();break}case 2:{s.framedrops=t.uint32();break}case 3:{s.framerate=t.float();break}case 4:{s.gpuMem=t.uint64();break}case 5:{s.cpuMem=t.uint64();break}case 6:{s.memGpuPool=$root.sesame.v1.status.MemoryDomainStats.decode(t,t.uint32());break}case 7:{s.memCpuPool=$root.sesame.v1.status.MemoryDomainStats.decode(t,t.uint32());break}case 8:{s.memGpuAdhoc=$root.sesame.v1.status.MemoryDomainStats.decode(t,t.uint32());break}case 9:{s.memGpuPinned=$root.sesame.v1.status.MemoryDomainStats.decode(t,t.uint32());break}case 10:{s.gpuMemTotal=t.uint64();break}case 11:{s.gpuMemUsed=t.uint64();break}case 12:{s.gpuUtilization=t.uint32();break}case 13:{s.gpuMemUtilization=t.uint32();break}case 14:{s.gpuEncoderUtilization=t.uint32();break}case 15:{s.gpuDecoderUtilization=t.uint32();break}case 16:{s.gpuName=t.string();break}case 17:{s.vmaBytes=t.uint64();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.uptime!=null&&t.hasOwnProperty("uptime")&&!$util.isInteger(t.uptime)&&!(t.uptime&&$util.isInteger(t.uptime.low)&&$util.isInteger(t.uptime.high)))return"uptime: integer|Long expected";if(t.framedrops!=null&&t.hasOwnProperty("framedrops")&&!$util.isInteger(t.framedrops))return"framedrops: integer expected";if(t.framerate!=null&&t.hasOwnProperty("framerate")&&typeof t.framerate!="number")return"framerate: number expected";if(t.gpuMem!=null&&t.hasOwnProperty("gpuMem")&&!$util.isInteger(t.gpuMem)&&!(t.gpuMem&&$util.isInteger(t.gpuMem.low)&&$util.isInteger(t.gpuMem.high)))return"gpuMem: integer|Long expected";if(t.cpuMem!=null&&t.hasOwnProperty("cpuMem")&&!$util.isInteger(t.cpuMem)&&!(t.cpuMem&&$util.isInteger(t.cpuMem.low)&&$util.isInteger(t.cpuMem.high)))return"cpuMem: integer|Long expected";if(t.memGpuPool!=null&&t.hasOwnProperty("memGpuPool")){let e=$root.sesame.v1.status.MemoryDomainStats.verify(t.memGpuPool);if(e)return"memGpuPool."+e}if(t.memCpuPool!=null&&t.hasOwnProperty("memCpuPool")){let e=$root.sesame.v1.status.MemoryDomainStats.verify(t.memCpuPool);if(e)return"memCpuPool."+e}if(t.memGpuAdhoc!=null&&t.hasOwnProperty("memGpuAdhoc")){let e=$root.sesame.v1.status.MemoryDomainStats.verify(t.memGpuAdhoc);if(e)return"memGpuAdhoc."+e}if(t.memGpuPinned!=null&&t.hasOwnProperty("memGpuPinned")){let e=$root.sesame.v1.status.MemoryDomainStats.verify(t.memGpuPinned);if(e)return"memGpuPinned."+e}return t.gpuMemTotal!=null&&t.hasOwnProperty("gpuMemTotal")&&!$util.isInteger(t.gpuMemTotal)&&!(t.gpuMemTotal&&$util.isInteger(t.gpuMemTotal.low)&&$util.isInteger(t.gpuMemTotal.high))?"gpuMemTotal: integer|Long expected":t.gpuMemUsed!=null&&t.hasOwnProperty("gpuMemUsed")&&!$util.isInteger(t.gpuMemUsed)&&!(t.gpuMemUsed&&$util.isInteger(t.gpuMemUsed.low)&&$util.isInteger(t.gpuMemUsed.high))?"gpuMemUsed: integer|Long expected":t.gpuUtilization!=null&&t.hasOwnProperty("gpuUtilization")&&!$util.isInteger(t.gpuUtilization)?"gpuUtilization: integer expected":t.gpuMemUtilization!=null&&t.hasOwnProperty("gpuMemUtilization")&&!$util.isInteger(t.gpuMemUtilization)?"gpuMemUtilization: integer expected":t.gpuEncoderUtilization!=null&&t.hasOwnProperty("gpuEncoderUtilization")&&!$util.isInteger(t.gpuEncoderUtilization)?"gpuEncoderUtilization: integer expected":t.gpuDecoderUtilization!=null&&t.hasOwnProperty("gpuDecoderUtilization")&&!$util.isInteger(t.gpuDecoderUtilization)?"gpuDecoderUtilization: integer expected":t.gpuName!=null&&t.hasOwnProperty("gpuName")&&!$util.isString(t.gpuName)?"gpuName: string expected":t.vmaBytes!=null&&t.hasOwnProperty("vmaBytes")&&!$util.isInteger(t.vmaBytes)&&!(t.vmaBytes&&$util.isInteger(t.vmaBytes.low)&&$util.isInteger(t.vmaBytes.high))?"vmaBytes: integer|Long expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.status.SystemStatus)return t;let e=new $root.sesame.v1.status.SystemStatus;if(t.uptime!=null&&($util.Long?(e.uptime=$util.Long.fromValue(t.uptime)).unsigned=!0:typeof t.uptime=="string"?e.uptime=parseInt(t.uptime,10):typeof t.uptime=="number"?e.uptime=t.uptime:typeof t.uptime=="object"&&(e.uptime=new $util.LongBits(t.uptime.low>>>0,t.uptime.high>>>0).toNumber(!0))),t.framedrops!=null&&(e.framedrops=t.framedrops>>>0),t.framerate!=null&&(e.framerate=Number(t.framerate)),t.gpuMem!=null&&($util.Long?(e.gpuMem=$util.Long.fromValue(t.gpuMem)).unsigned=!0:typeof t.gpuMem=="string"?e.gpuMem=parseInt(t.gpuMem,10):typeof t.gpuMem=="number"?e.gpuMem=t.gpuMem:typeof t.gpuMem=="object"&&(e.gpuMem=new $util.LongBits(t.gpuMem.low>>>0,t.gpuMem.high>>>0).toNumber(!0))),t.cpuMem!=null&&($util.Long?(e.cpuMem=$util.Long.fromValue(t.cpuMem)).unsigned=!0:typeof t.cpuMem=="string"?e.cpuMem=parseInt(t.cpuMem,10):typeof t.cpuMem=="number"?e.cpuMem=t.cpuMem:typeof t.cpuMem=="object"&&(e.cpuMem=new $util.LongBits(t.cpuMem.low>>>0,t.cpuMem.high>>>0).toNumber(!0))),t.memGpuPool!=null){if(typeof t.memGpuPool!="object")throw TypeError(".sesame.v1.status.SystemStatus.memGpuPool: object expected");e.memGpuPool=$root.sesame.v1.status.MemoryDomainStats.fromObject(t.memGpuPool)}if(t.memCpuPool!=null){if(typeof t.memCpuPool!="object")throw TypeError(".sesame.v1.status.SystemStatus.memCpuPool: object expected");e.memCpuPool=$root.sesame.v1.status.MemoryDomainStats.fromObject(t.memCpuPool)}if(t.memGpuAdhoc!=null){if(typeof t.memGpuAdhoc!="object")throw TypeError(".sesame.v1.status.SystemStatus.memGpuAdhoc: object expected");e.memGpuAdhoc=$root.sesame.v1.status.MemoryDomainStats.fromObject(t.memGpuAdhoc)}if(t.memGpuPinned!=null){if(typeof t.memGpuPinned!="object")throw TypeError(".sesame.v1.status.SystemStatus.memGpuPinned: object expected");e.memGpuPinned=$root.sesame.v1.status.MemoryDomainStats.fromObject(t.memGpuPinned)}return t.gpuMemTotal!=null&&($util.Long?(e.gpuMemTotal=$util.Long.fromValue(t.gpuMemTotal)).unsigned=!0:typeof t.gpuMemTotal=="string"?e.gpuMemTotal=parseInt(t.gpuMemTotal,10):typeof t.gpuMemTotal=="number"?e.gpuMemTotal=t.gpuMemTotal:typeof t.gpuMemTotal=="object"&&(e.gpuMemTotal=new $util.LongBits(t.gpuMemTotal.low>>>0,t.gpuMemTotal.high>>>0).toNumber(!0))),t.gpuMemUsed!=null&&($util.Long?(e.gpuMemUsed=$util.Long.fromValue(t.gpuMemUsed)).unsigned=!0:typeof t.gpuMemUsed=="string"?e.gpuMemUsed=parseInt(t.gpuMemUsed,10):typeof t.gpuMemUsed=="number"?e.gpuMemUsed=t.gpuMemUsed:typeof t.gpuMemUsed=="object"&&(e.gpuMemUsed=new $util.LongBits(t.gpuMemUsed.low>>>0,t.gpuMemUsed.high>>>0).toNumber(!0))),t.gpuUtilization!=null&&(e.gpuUtilization=t.gpuUtilization>>>0),t.gpuMemUtilization!=null&&(e.gpuMemUtilization=t.gpuMemUtilization>>>0),t.gpuEncoderUtilization!=null&&(e.gpuEncoderUtilization=t.gpuEncoderUtilization>>>0),t.gpuDecoderUtilization!=null&&(e.gpuDecoderUtilization=t.gpuDecoderUtilization>>>0),t.gpuName!=null&&(e.gpuName=String(t.gpuName)),t.vmaBytes!=null&&($util.Long?(e.vmaBytes=$util.Long.fromValue(t.vmaBytes)).unsigned=!0:typeof t.vmaBytes=="string"?e.vmaBytes=parseInt(t.vmaBytes,10):typeof t.vmaBytes=="number"?e.vmaBytes=t.vmaBytes:typeof t.vmaBytes=="object"&&(e.vmaBytes=new $util.LongBits(t.vmaBytes.low>>>0,t.vmaBytes.high>>>0).toNumber(!0))),e},n.toObject=function(t,e){e||(e={});let i={};if(e.defaults){if($util.Long){let a=new $util.Long(0,0,!0);i.uptime=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.uptime=e.longs===String?"0":0;if(i.framedrops=0,i.framerate=0,$util.Long){let a=new $util.Long(0,0,!0);i.gpuMem=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.gpuMem=e.longs===String?"0":0;if($util.Long){let a=new $util.Long(0,0,!0);i.cpuMem=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.cpuMem=e.longs===String?"0":0;if(i.memGpuPool=null,i.memCpuPool=null,i.memGpuAdhoc=null,i.memGpuPinned=null,$util.Long){let a=new $util.Long(0,0,!0);i.gpuMemTotal=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.gpuMemTotal=e.longs===String?"0":0;if($util.Long){let a=new $util.Long(0,0,!0);i.gpuMemUsed=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.gpuMemUsed=e.longs===String?"0":0;if(i.gpuUtilization=0,i.gpuMemUtilization=0,i.gpuEncoderUtilization=0,i.gpuDecoderUtilization=0,i.gpuName="",$util.Long){let a=new $util.Long(0,0,!0);i.vmaBytes=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.vmaBytes=e.longs===String?"0":0}return t.uptime!=null&&t.hasOwnProperty("uptime")&&(typeof t.uptime=="number"?i.uptime=e.longs===String?String(t.uptime):t.uptime:i.uptime=e.longs===String?$util.Long.prototype.toString.call(t.uptime):e.longs===Number?new $util.LongBits(t.uptime.low>>>0,t.uptime.high>>>0).toNumber(!0):t.uptime),t.framedrops!=null&&t.hasOwnProperty("framedrops")&&(i.framedrops=t.framedrops),t.framerate!=null&&t.hasOwnProperty("framerate")&&(i.framerate=e.json&&!isFinite(t.framerate)?String(t.framerate):t.framerate),t.gpuMem!=null&&t.hasOwnProperty("gpuMem")&&(typeof t.gpuMem=="number"?i.gpuMem=e.longs===String?String(t.gpuMem):t.gpuMem:i.gpuMem=e.longs===String?$util.Long.prototype.toString.call(t.gpuMem):e.longs===Number?new $util.LongBits(t.gpuMem.low>>>0,t.gpuMem.high>>>0).toNumber(!0):t.gpuMem),t.cpuMem!=null&&t.hasOwnProperty("cpuMem")&&(typeof t.cpuMem=="number"?i.cpuMem=e.longs===String?String(t.cpuMem):t.cpuMem:i.cpuMem=e.longs===String?$util.Long.prototype.toString.call(t.cpuMem):e.longs===Number?new $util.LongBits(t.cpuMem.low>>>0,t.cpuMem.high>>>0).toNumber(!0):t.cpuMem),t.memGpuPool!=null&&t.hasOwnProperty("memGpuPool")&&(i.memGpuPool=$root.sesame.v1.status.MemoryDomainStats.toObject(t.memGpuPool,e)),t.memCpuPool!=null&&t.hasOwnProperty("memCpuPool")&&(i.memCpuPool=$root.sesame.v1.status.MemoryDomainStats.toObject(t.memCpuPool,e)),t.memGpuAdhoc!=null&&t.hasOwnProperty("memGpuAdhoc")&&(i.memGpuAdhoc=$root.sesame.v1.status.MemoryDomainStats.toObject(t.memGpuAdhoc,e)),t.memGpuPinned!=null&&t.hasOwnProperty("memGpuPinned")&&(i.memGpuPinned=$root.sesame.v1.status.MemoryDomainStats.toObject(t.memGpuPinned,e)),t.gpuMemTotal!=null&&t.hasOwnProperty("gpuMemTotal")&&(typeof t.gpuMemTotal=="number"?i.gpuMemTotal=e.longs===String?String(t.gpuMemTotal):t.gpuMemTotal:i.gpuMemTotal=e.longs===String?$util.Long.prototype.toString.call(t.gpuMemTotal):e.longs===Number?new $util.LongBits(t.gpuMemTotal.low>>>0,t.gpuMemTotal.high>>>0).toNumber(!0):t.gpuMemTotal),t.gpuMemUsed!=null&&t.hasOwnProperty("gpuMemUsed")&&(typeof t.gpuMemUsed=="number"?i.gpuMemUsed=e.longs===String?String(t.gpuMemUsed):t.gpuMemUsed:i.gpuMemUsed=e.longs===String?$util.Long.prototype.toString.call(t.gpuMemUsed):e.longs===Number?new $util.LongBits(t.gpuMemUsed.low>>>0,t.gpuMemUsed.high>>>0).toNumber(!0):t.gpuMemUsed),t.gpuUtilization!=null&&t.hasOwnProperty("gpuUtilization")&&(i.gpuUtilization=t.gpuUtilization),t.gpuMemUtilization!=null&&t.hasOwnProperty("gpuMemUtilization")&&(i.gpuMemUtilization=t.gpuMemUtilization),t.gpuEncoderUtilization!=null&&t.hasOwnProperty("gpuEncoderUtilization")&&(i.gpuEncoderUtilization=t.gpuEncoderUtilization),t.gpuDecoderUtilization!=null&&t.hasOwnProperty("gpuDecoderUtilization")&&(i.gpuDecoderUtilization=t.gpuDecoderUtilization),t.gpuName!=null&&t.hasOwnProperty("gpuName")&&(i.gpuName=t.gpuName),t.vmaBytes!=null&&t.hasOwnProperty("vmaBytes")&&(typeof t.vmaBytes=="number"?i.vmaBytes=e.longs===String?String(t.vmaBytes):t.vmaBytes:i.vmaBytes=e.longs===String?$util.Long.prototype.toString.call(t.vmaBytes):e.longs===Number?new $util.LongBits(t.vmaBytes.low>>>0,t.vmaBytes.high>>>0).toNumber(!0):t.vmaBytes),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.status.SystemStatus"},n}(),l.CompositorStatus=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.id="",n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.id!=null&&Object.hasOwnProperty.call(t,"id")&&e.uint32(10).string(t.id),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.status.CompositorStatus;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.id=t.string();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.id!=null&&t.hasOwnProperty("id")&&!$util.isString(t.id)?"id: string expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.status.CompositorStatus)return t;let e=new $root.sesame.v1.status.CompositorStatus;return t.id!=null&&(e.id=String(t.id)),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.id=""),t.id!=null&&t.hasOwnProperty("id")&&(i.id=t.id),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.status.CompositorStatus"},n}(),l.IODeviceType=function(){const n={},r=Object.create(n);return r[n[0]="IO_DEVICE_TYPE_UNSPECIFIED"]=0,r[n[1]="IO_DEVICE_TYPE_VIDEO_INPUT"]=1,r[n[2]="IO_DEVICE_TYPE_VIDEO_OUTPUT"]=2,r[n[3]="IO_DEVICE_TYPE_AUDIO_INPUT"]=3,r[n[4]="IO_DEVICE_TYPE_AUDIO_OUTPUT"]=4,r}(),l.IODeviceItem=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.id="",n.prototype.name="",n.prototype.type=0,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.id!=null&&Object.hasOwnProperty.call(t,"id")&&e.uint32(10).string(t.id),t.name!=null&&Object.hasOwnProperty.call(t,"name")&&e.uint32(18).string(t.name),t.type!=null&&Object.hasOwnProperty.call(t,"type")&&e.uint32(24).int32(t.type),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.status.IODeviceItem;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.id=t.string();break}case 2:{s.name=t.string();break}case 3:{s.type=t.int32();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.id!=null&&t.hasOwnProperty("id")&&!$util.isString(t.id))return"id: string expected";if(t.name!=null&&t.hasOwnProperty("name")&&!$util.isString(t.name))return"name: string expected";if(t.type!=null&&t.hasOwnProperty("type"))switch(t.type){default:return"type: enum value expected";case 0:case 1:case 2:case 3:case 4:break}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.status.IODeviceItem)return t;let e=new $root.sesame.v1.status.IODeviceItem;switch(t.id!=null&&(e.id=String(t.id)),t.name!=null&&(e.name=String(t.name)),t.type){default:if(typeof t.type=="number"){e.type=t.type;break}break;case"IO_DEVICE_TYPE_UNSPECIFIED":case 0:e.type=0;break;case"IO_DEVICE_TYPE_VIDEO_INPUT":case 1:e.type=1;break;case"IO_DEVICE_TYPE_VIDEO_OUTPUT":case 2:e.type=2;break;case"IO_DEVICE_TYPE_AUDIO_INPUT":case 3:e.type=3;break;case"IO_DEVICE_TYPE_AUDIO_OUTPUT":case 4:e.type=4;break}return e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.id="",i.name="",i.type=e.enums===String?"IO_DEVICE_TYPE_UNSPECIFIED":0),t.id!=null&&t.hasOwnProperty("id")&&(i.id=t.id),t.name!=null&&t.hasOwnProperty("name")&&(i.name=t.name),t.type!=null&&t.hasOwnProperty("type")&&(i.type=e.enums===String?$root.sesame.v1.status.IODeviceType[t.type]===void 0?t.type:$root.sesame.v1.status.IODeviceType[t.type]:t.type),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.status.IODeviceItem"},n}(),l.IODeviceListResponse=function(){function n(r){if(this.devices=[],r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.devices=$util.emptyArray,n.create=function(t){return new n(t)},n.encode=function(t,e){if(e||(e=$Writer.create()),t.devices!=null&&t.devices.length)for(let i=0;i<t.devices.length;++i)$root.sesame.v1.status.IODeviceItem.encode(t.devices[i],e.uint32(10).fork()).ldelim();return e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.status.IODeviceListResponse;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.devices&&s.devices.length||(s.devices=[]),s.devices.push($root.sesame.v1.status.IODeviceItem.decode(t,t.uint32()));break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.devices!=null&&t.hasOwnProperty("devices")){if(!Array.isArray(t.devices))return"devices: array expected";for(let e=0;e<t.devices.length;++e){let i=$root.sesame.v1.status.IODeviceItem.verify(t.devices[e]);if(i)return"devices."+i}}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.status.IODeviceListResponse)return t;let e=new $root.sesame.v1.status.IODeviceListResponse;if(t.devices){if(!Array.isArray(t.devices))throw TypeError(".sesame.v1.status.IODeviceListResponse.devices: array expected");e.devices=[];for(let i=0;i<t.devices.length;++i){if(typeof t.devices[i]!="object")throw TypeError(".sesame.v1.status.IODeviceListResponse.devices: object expected");e.devices[i]=$root.sesame.v1.status.IODeviceItem.fromObject(t.devices[i])}}return e},n.toObject=function(t,e){e||(e={});let i={};if((e.arrays||e.defaults)&&(i.devices=[]),t.devices&&t.devices.length){i.devices=[];for(let a=0;a<t.devices.length;++a)i.devices[a]=$root.sesame.v1.status.IODeviceItem.toObject(t.devices[a],e)}return i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.status.IODeviceListResponse"},n}(),l.Status=function(){function n(r){if(this.sources=[],this.compositions=[],this.audioMixes=[],this.outputs=[],this.recorders=[],r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.systemStatus=null,n.prototype.renderStatusGpu=null,n.prototype.renderStatusCpu=null,n.prototype.sources=$util.emptyArray,n.prototype.compositions=$util.emptyArray,n.prototype.audioMixes=$util.emptyArray,n.prototype.outputs=$util.emptyArray,n.prototype.recorders=$util.emptyArray,n.create=function(t){return new n(t)},n.encode=function(t,e){if(e||(e=$Writer.create()),t.systemStatus!=null&&Object.hasOwnProperty.call(t,"systemStatus")&&$root.sesame.v1.status.SystemStatus.encode(t.systemStatus,e.uint32(10).fork()).ldelim(),t.renderStatusGpu!=null&&Object.hasOwnProperty.call(t,"renderStatusGpu")&&$root.sesame.v1.status.FrameTiming.encode(t.renderStatusGpu,e.uint32(18).fork()).ldelim(),t.renderStatusCpu!=null&&Object.hasOwnProperty.call(t,"renderStatusCpu")&&$root.sesame.v1.status.FrameTiming.encode(t.renderStatusCpu,e.uint32(26).fork()).ldelim(),t.sources!=null&&t.sources.length)for(let i=0;i<t.sources.length;++i)$root.sesame.v1.sources.SourceStatus.encode(t.sources[i],e.uint32(34).fork()).ldelim();if(t.compositions!=null&&t.compositions.length)for(let i=0;i<t.compositions.length;++i)$root.sesame.v1.status.CompositorStatus.encode(t.compositions[i],e.uint32(42).fork()).ldelim();if(t.audioMixes!=null&&t.audioMixes.length)for(let i=0;i<t.audioMixes.length;++i)$root.sesame.v1.audio.AudioMixerStatus.encode(t.audioMixes[i],e.uint32(50).fork()).ldelim();if(t.outputs!=null&&t.outputs.length)for(let i=0;i<t.outputs.length;++i)$root.sesame.v1.outputs.OutputStatus.encode(t.outputs[i],e.uint32(58).fork()).ldelim();if(t.recorders!=null&&t.recorders.length)for(let i=0;i<t.recorders.length;++i)$root.sesame.v1.recorder.RecorderStatus.encode(t.recorders[i],e.uint32(66).fork()).ldelim();return e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.status.Status;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.systemStatus=$root.sesame.v1.status.SystemStatus.decode(t,t.uint32());break}case 2:{s.renderStatusGpu=$root.sesame.v1.status.FrameTiming.decode(t,t.uint32());break}case 3:{s.renderStatusCpu=$root.sesame.v1.status.FrameTiming.decode(t,t.uint32());break}case 4:{s.sources&&s.sources.length||(s.sources=[]),s.sources.push($root.sesame.v1.sources.SourceStatus.decode(t,t.uint32()));break}case 5:{s.compositions&&s.compositions.length||(s.compositions=[]),s.compositions.push($root.sesame.v1.status.CompositorStatus.decode(t,t.uint32()));break}case 6:{s.audioMixes&&s.audioMixes.length||(s.audioMixes=[]),s.audioMixes.push($root.sesame.v1.audio.AudioMixerStatus.decode(t,t.uint32()));break}case 7:{s.outputs&&s.outputs.length||(s.outputs=[]),s.outputs.push($root.sesame.v1.outputs.OutputStatus.decode(t,t.uint32()));break}case 8:{s.recorders&&s.recorders.length||(s.recorders=[]),s.recorders.push($root.sesame.v1.recorder.RecorderStatus.decode(t,t.uint32()));break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.systemStatus!=null&&t.hasOwnProperty("systemStatus")){let e=$root.sesame.v1.status.SystemStatus.verify(t.systemStatus);if(e)return"systemStatus."+e}if(t.renderStatusGpu!=null&&t.hasOwnProperty("renderStatusGpu")){let e=$root.sesame.v1.status.FrameTiming.verify(t.renderStatusGpu);if(e)return"renderStatusGpu."+e}if(t.renderStatusCpu!=null&&t.hasOwnProperty("renderStatusCpu")){let e=$root.sesame.v1.status.FrameTiming.verify(t.renderStatusCpu);if(e)return"renderStatusCpu."+e}if(t.sources!=null&&t.hasOwnProperty("sources")){if(!Array.isArray(t.sources))return"sources: array expected";for(let e=0;e<t.sources.length;++e){let i=$root.sesame.v1.sources.SourceStatus.verify(t.sources[e]);if(i)return"sources."+i}}if(t.compositions!=null&&t.hasOwnProperty("compositions")){if(!Array.isArray(t.compositions))return"compositions: array expected";for(let e=0;e<t.compositions.length;++e){let i=$root.sesame.v1.status.CompositorStatus.verify(t.compositions[e]);if(i)return"compositions."+i}}if(t.audioMixes!=null&&t.hasOwnProperty("audioMixes")){if(!Array.isArray(t.audioMixes))return"audioMixes: array expected";for(let e=0;e<t.audioMixes.length;++e){let i=$root.sesame.v1.audio.AudioMixerStatus.verify(t.audioMixes[e]);if(i)return"audioMixes."+i}}if(t.outputs!=null&&t.hasOwnProperty("outputs")){if(!Array.isArray(t.outputs))return"outputs: array expected";for(let e=0;e<t.outputs.length;++e){let i=$root.sesame.v1.outputs.OutputStatus.verify(t.outputs[e]);if(i)return"outputs."+i}}if(t.recorders!=null&&t.hasOwnProperty("recorders")){if(!Array.isArray(t.recorders))return"recorders: array expected";for(let e=0;e<t.recorders.length;++e){let i=$root.sesame.v1.recorder.RecorderStatus.verify(t.recorders[e]);if(i)return"recorders."+i}}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.status.Status)return t;let e=new $root.sesame.v1.status.Status;if(t.systemStatus!=null){if(typeof t.systemStatus!="object")throw TypeError(".sesame.v1.status.Status.systemStatus: object expected");e.systemStatus=$root.sesame.v1.status.SystemStatus.fromObject(t.systemStatus)}if(t.renderStatusGpu!=null){if(typeof t.renderStatusGpu!="object")throw TypeError(".sesame.v1.status.Status.renderStatusGpu: object expected");e.renderStatusGpu=$root.sesame.v1.status.FrameTiming.fromObject(t.renderStatusGpu)}if(t.renderStatusCpu!=null){if(typeof t.renderStatusCpu!="object")throw TypeError(".sesame.v1.status.Status.renderStatusCpu: object expected");e.renderStatusCpu=$root.sesame.v1.status.FrameTiming.fromObject(t.renderStatusCpu)}if(t.sources){if(!Array.isArray(t.sources))throw TypeError(".sesame.v1.status.Status.sources: array expected");e.sources=[];for(let i=0;i<t.sources.length;++i){if(typeof t.sources[i]!="object")throw TypeError(".sesame.v1.status.Status.sources: object expected");e.sources[i]=$root.sesame.v1.sources.SourceStatus.fromObject(t.sources[i])}}if(t.compositions){if(!Array.isArray(t.compositions))throw TypeError(".sesame.v1.status.Status.compositions: array expected");e.compositions=[];for(let i=0;i<t.compositions.length;++i){if(typeof t.compositions[i]!="object")throw TypeError(".sesame.v1.status.Status.compositions: object expected");e.compositions[i]=$root.sesame.v1.status.CompositorStatus.fromObject(t.compositions[i])}}if(t.audioMixes){if(!Array.isArray(t.audioMixes))throw TypeError(".sesame.v1.status.Status.audioMixes: array expected");e.audioMixes=[];for(let i=0;i<t.audioMixes.length;++i){if(typeof t.audioMixes[i]!="object")throw TypeError(".sesame.v1.status.Status.audioMixes: object expected");e.audioMixes[i]=$root.sesame.v1.audio.AudioMixerStatus.fromObject(t.audioMixes[i])}}if(t.outputs){if(!Array.isArray(t.outputs))throw TypeError(".sesame.v1.status.Status.outputs: array expected");e.outputs=[];for(let i=0;i<t.outputs.length;++i){if(typeof t.outputs[i]!="object")throw TypeError(".sesame.v1.status.Status.outputs: object expected");e.outputs[i]=$root.sesame.v1.outputs.OutputStatus.fromObject(t.outputs[i])}}if(t.recorders){if(!Array.isArray(t.recorders))throw TypeError(".sesame.v1.status.Status.recorders: array expected");e.recorders=[];for(let i=0;i<t.recorders.length;++i){if(typeof t.recorders[i]!="object")throw TypeError(".sesame.v1.status.Status.recorders: object expected");e.recorders[i]=$root.sesame.v1.recorder.RecorderStatus.fromObject(t.recorders[i])}}return e},n.toObject=function(t,e){e||(e={});let i={};if((e.arrays||e.defaults)&&(i.sources=[],i.compositions=[],i.audioMixes=[],i.outputs=[],i.recorders=[]),e.defaults&&(i.systemStatus=null,i.renderStatusGpu=null,i.renderStatusCpu=null),t.systemStatus!=null&&t.hasOwnProperty("systemStatus")&&(i.systemStatus=$root.sesame.v1.status.SystemStatus.toObject(t.systemStatus,e)),t.renderStatusGpu!=null&&t.hasOwnProperty("renderStatusGpu")&&(i.renderStatusGpu=$root.sesame.v1.status.FrameTiming.toObject(t.renderStatusGpu,e)),t.renderStatusCpu!=null&&t.hasOwnProperty("renderStatusCpu")&&(i.renderStatusCpu=$root.sesame.v1.status.FrameTiming.toObject(t.renderStatusCpu,e)),t.sources&&t.sources.length){i.sources=[];for(let a=0;a<t.sources.length;++a)i.sources[a]=$root.sesame.v1.sources.SourceStatus.toObject(t.sources[a],e)}if(t.compositions&&t.compositions.length){i.compositions=[];for(let a=0;a<t.compositions.length;++a)i.compositions[a]=$root.sesame.v1.status.CompositorStatus.toObject(t.compositions[a],e)}if(t.audioMixes&&t.audioMixes.length){i.audioMixes=[];for(let a=0;a<t.audioMixes.length;++a)i.audioMixes[a]=$root.sesame.v1.audio.AudioMixerStatus.toObject(t.audioMixes[a],e)}if(t.outputs&&t.outputs.length){i.outputs=[];for(let a=0;a<t.outputs.length;++a)i.outputs[a]=$root.sesame.v1.outputs.OutputStatus.toObject(t.outputs[a],e)}if(t.recorders&&t.recorders.length){i.recorders=[];for(let a=0;a<t.recorders.length;++a)i.recorders[a]=$root.sesame.v1.recorder.RecorderStatus.toObject(t.recorders[a],e)}return i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.status.Status"},n}(),l.ErrorEvent=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.msg="",n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.msg!=null&&Object.hasOwnProperty.call(t,"msg")&&e.uint32(10).string(t.msg),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.status.ErrorEvent;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.msg=t.string();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.msg!=null&&t.hasOwnProperty("msg")&&!$util.isString(t.msg)?"msg: string expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.status.ErrorEvent)return t;let e=new $root.sesame.v1.status.ErrorEvent;return t.msg!=null&&(e.msg=String(t.msg)),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.msg=""),t.msg!=null&&t.hasOwnProperty("msg")&&(i.msg=t.msg),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.status.ErrorEvent"},n}(),l.TransportEvent=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.sourceId="",n.prototype.userId="",n.prototype.uri="",n.prototype.state=0,n.prototype.durationUs=$util.Long?$util.Long.fromBits(0,0,!1):0,n.prototype.positionUs=$util.Long?$util.Long.fromBits(0,0,!1):0,n.prototype.materialPositionUs=$util.Long?$util.Long.fromBits(0,0,!1):0,n.prototype.userTimeUs=$util.Long?$util.Long.fromBits(0,0,!1):0,n.prototype.speed=0,n.prototype.userPlaylistId="",n.prototype.playlistIndex=0,n.prototype.playlistLength=0,n.prototype.clipId=$util.Long?$util.Long.fromBits(0,0,!0):0,n.prototype.clipPositionUs=$util.Long?$util.Long.fromBits(0,0,!1):0,n.prototype.clipDurationUs=$util.Long?$util.Long.fromBits(0,0,!1):0,n.prototype.preroll=0,n.prototype.postroll=0,n.prototype.metadata=null,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.sourceId!=null&&Object.hasOwnProperty.call(t,"sourceId")&&e.uint32(10).string(t.sourceId),t.userId!=null&&Object.hasOwnProperty.call(t,"userId")&&e.uint32(18).string(t.userId),t.uri!=null&&Object.hasOwnProperty.call(t,"uri")&&e.uint32(26).string(t.uri),t.state!=null&&Object.hasOwnProperty.call(t,"state")&&e.uint32(32).int32(t.state),t.durationUs!=null&&Object.hasOwnProperty.call(t,"durationUs")&&e.uint32(40).int64(t.durationUs),t.positionUs!=null&&Object.hasOwnProperty.call(t,"positionUs")&&e.uint32(48).int64(t.positionUs),t.materialPositionUs!=null&&Object.hasOwnProperty.call(t,"materialPositionUs")&&e.uint32(56).int64(t.materialPositionUs),t.userTimeUs!=null&&Object.hasOwnProperty.call(t,"userTimeUs")&&e.uint32(64).int64(t.userTimeUs),t.speed!=null&&Object.hasOwnProperty.call(t,"speed")&&e.uint32(77).float(t.speed),t.userPlaylistId!=null&&Object.hasOwnProperty.call(t,"userPlaylistId")&&e.uint32(82).string(t.userPlaylistId),t.playlistIndex!=null&&Object.hasOwnProperty.call(t,"playlistIndex")&&e.uint32(88).uint32(t.playlistIndex),t.playlistLength!=null&&Object.hasOwnProperty.call(t,"playlistLength")&&e.uint32(96).uint32(t.playlistLength),t.clipId!=null&&Object.hasOwnProperty.call(t,"clipId")&&e.uint32(104).uint64(t.clipId),t.clipPositionUs!=null&&Object.hasOwnProperty.call(t,"clipPositionUs")&&e.uint32(112).int64(t.clipPositionUs),t.clipDurationUs!=null&&Object.hasOwnProperty.call(t,"clipDurationUs")&&e.uint32(120).int64(t.clipDurationUs),t.preroll!=null&&Object.hasOwnProperty.call(t,"preroll")&&e.uint32(128).uint32(t.preroll),t.postroll!=null&&Object.hasOwnProperty.call(t,"postroll")&&e.uint32(136).uint32(t.postroll),t.metadata!=null&&Object.hasOwnProperty.call(t,"metadata")&&$root.sesame.v1.common.TransportMetadata.encode(t.metadata,e.uint32(146).fork()).ldelim(),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.status.TransportEvent;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.sourceId=t.string();break}case 2:{s.userId=t.string();break}case 3:{s.uri=t.string();break}case 4:{s.state=t.int32();break}case 5:{s.durationUs=t.int64();break}case 6:{s.positionUs=t.int64();break}case 7:{s.materialPositionUs=t.int64();break}case 8:{s.userTimeUs=t.int64();break}case 9:{s.speed=t.float();break}case 10:{s.userPlaylistId=t.string();break}case 11:{s.playlistIndex=t.uint32();break}case 12:{s.playlistLength=t.uint32();break}case 13:{s.clipId=t.uint64();break}case 14:{s.clipPositionUs=t.int64();break}case 15:{s.clipDurationUs=t.int64();break}case 16:{s.preroll=t.uint32();break}case 17:{s.postroll=t.uint32();break}case 18:{s.metadata=$root.sesame.v1.common.TransportMetadata.decode(t,t.uint32());break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.sourceId!=null&&t.hasOwnProperty("sourceId")&&!$util.isString(t.sourceId))return"sourceId: string expected";if(t.userId!=null&&t.hasOwnProperty("userId")&&!$util.isString(t.userId))return"userId: string expected";if(t.uri!=null&&t.hasOwnProperty("uri")&&!$util.isString(t.uri))return"uri: string expected";if(t.state!=null&&t.hasOwnProperty("state"))switch(t.state){default:return"state: enum value expected";case 0:case 1:case 2:case 3:case 4:break}if(t.durationUs!=null&&t.hasOwnProperty("durationUs")&&!$util.isInteger(t.durationUs)&&!(t.durationUs&&$util.isInteger(t.durationUs.low)&&$util.isInteger(t.durationUs.high)))return"durationUs: integer|Long expected";if(t.positionUs!=null&&t.hasOwnProperty("positionUs")&&!$util.isInteger(t.positionUs)&&!(t.positionUs&&$util.isInteger(t.positionUs.low)&&$util.isInteger(t.positionUs.high)))return"positionUs: integer|Long expected";if(t.materialPositionUs!=null&&t.hasOwnProperty("materialPositionUs")&&!$util.isInteger(t.materialPositionUs)&&!(t.materialPositionUs&&$util.isInteger(t.materialPositionUs.low)&&$util.isInteger(t.materialPositionUs.high)))return"materialPositionUs: integer|Long expected";if(t.userTimeUs!=null&&t.hasOwnProperty("userTimeUs")&&!$util.isInteger(t.userTimeUs)&&!(t.userTimeUs&&$util.isInteger(t.userTimeUs.low)&&$util.isInteger(t.userTimeUs.high)))return"userTimeUs: integer|Long expected";if(t.speed!=null&&t.hasOwnProperty("speed")&&typeof t.speed!="number")return"speed: number expected";if(t.userPlaylistId!=null&&t.hasOwnProperty("userPlaylistId")&&!$util.isString(t.userPlaylistId))return"userPlaylistId: string expected";if(t.playlistIndex!=null&&t.hasOwnProperty("playlistIndex")&&!$util.isInteger(t.playlistIndex))return"playlistIndex: integer expected";if(t.playlistLength!=null&&t.hasOwnProperty("playlistLength")&&!$util.isInteger(t.playlistLength))return"playlistLength: integer expected";if(t.clipId!=null&&t.hasOwnProperty("clipId")&&!$util.isInteger(t.clipId)&&!(t.clipId&&$util.isInteger(t.clipId.low)&&$util.isInteger(t.clipId.high)))return"clipId: integer|Long expected";if(t.clipPositionUs!=null&&t.hasOwnProperty("clipPositionUs")&&!$util.isInteger(t.clipPositionUs)&&!(t.clipPositionUs&&$util.isInteger(t.clipPositionUs.low)&&$util.isInteger(t.clipPositionUs.high)))return"clipPositionUs: integer|Long expected";if(t.clipDurationUs!=null&&t.hasOwnProperty("clipDurationUs")&&!$util.isInteger(t.clipDurationUs)&&!(t.clipDurationUs&&$util.isInteger(t.clipDurationUs.low)&&$util.isInteger(t.clipDurationUs.high)))return"clipDurationUs: integer|Long expected";if(t.preroll!=null&&t.hasOwnProperty("preroll")&&!$util.isInteger(t.preroll))return"preroll: integer expected";if(t.postroll!=null&&t.hasOwnProperty("postroll")&&!$util.isInteger(t.postroll))return"postroll: integer expected";if(t.metadata!=null&&t.hasOwnProperty("metadata")){let e=$root.sesame.v1.common.TransportMetadata.verify(t.metadata);if(e)return"metadata."+e}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.status.TransportEvent)return t;let e=new $root.sesame.v1.status.TransportEvent;switch(t.sourceId!=null&&(e.sourceId=String(t.sourceId)),t.userId!=null&&(e.userId=String(t.userId)),t.uri!=null&&(e.uri=String(t.uri)),t.state){default:if(typeof t.state=="number"){e.state=t.state;break}break;case"SOURCE_TRANSPORT_STATE_STOPPED":case 0:e.state=0;break;case"SOURCE_TRANSPORT_STATE_PLAYING":case 1:e.state=1;break;case"SOURCE_TRANSPORT_STATE_CUEING":case 2:e.state=2;break;case"SOURCE_TRANSPORT_STATE_ERROR":case 3:e.state=3;break;case"SOURCE_TRANSPORT_STATE_PLAYING_LIVE":case 4:e.state=4;break}if(t.durationUs!=null&&($util.Long?(e.durationUs=$util.Long.fromValue(t.durationUs)).unsigned=!1:typeof t.durationUs=="string"?e.durationUs=parseInt(t.durationUs,10):typeof t.durationUs=="number"?e.durationUs=t.durationUs:typeof t.durationUs=="object"&&(e.durationUs=new $util.LongBits(t.durationUs.low>>>0,t.durationUs.high>>>0).toNumber())),t.positionUs!=null&&($util.Long?(e.positionUs=$util.Long.fromValue(t.positionUs)).unsigned=!1:typeof t.positionUs=="string"?e.positionUs=parseInt(t.positionUs,10):typeof t.positionUs=="number"?e.positionUs=t.positionUs:typeof t.positionUs=="object"&&(e.positionUs=new $util.LongBits(t.positionUs.low>>>0,t.positionUs.high>>>0).toNumber())),t.materialPositionUs!=null&&($util.Long?(e.materialPositionUs=$util.Long.fromValue(t.materialPositionUs)).unsigned=!1:typeof t.materialPositionUs=="string"?e.materialPositionUs=parseInt(t.materialPositionUs,10):typeof t.materialPositionUs=="number"?e.materialPositionUs=t.materialPositionUs:typeof t.materialPositionUs=="object"&&(e.materialPositionUs=new $util.LongBits(t.materialPositionUs.low>>>0,t.materialPositionUs.high>>>0).toNumber())),t.userTimeUs!=null&&($util.Long?(e.userTimeUs=$util.Long.fromValue(t.userTimeUs)).unsigned=!1:typeof t.userTimeUs=="string"?e.userTimeUs=parseInt(t.userTimeUs,10):typeof t.userTimeUs=="number"?e.userTimeUs=t.userTimeUs:typeof t.userTimeUs=="object"&&(e.userTimeUs=new $util.LongBits(t.userTimeUs.low>>>0,t.userTimeUs.high>>>0).toNumber())),t.speed!=null&&(e.speed=Number(t.speed)),t.userPlaylistId!=null&&(e.userPlaylistId=String(t.userPlaylistId)),t.playlistIndex!=null&&(e.playlistIndex=t.playlistIndex>>>0),t.playlistLength!=null&&(e.playlistLength=t.playlistLength>>>0),t.clipId!=null&&($util.Long?(e.clipId=$util.Long.fromValue(t.clipId)).unsigned=!0:typeof t.clipId=="string"?e.clipId=parseInt(t.clipId,10):typeof t.clipId=="number"?e.clipId=t.clipId:typeof t.clipId=="object"&&(e.clipId=new $util.LongBits(t.clipId.low>>>0,t.clipId.high>>>0).toNumber(!0))),t.clipPositionUs!=null&&($util.Long?(e.clipPositionUs=$util.Long.fromValue(t.clipPositionUs)).unsigned=!1:typeof t.clipPositionUs=="string"?e.clipPositionUs=parseInt(t.clipPositionUs,10):typeof t.clipPositionUs=="number"?e.clipPositionUs=t.clipPositionUs:typeof t.clipPositionUs=="object"&&(e.clipPositionUs=new $util.LongBits(t.clipPositionUs.low>>>0,t.clipPositionUs.high>>>0).toNumber())),t.clipDurationUs!=null&&($util.Long?(e.clipDurationUs=$util.Long.fromValue(t.clipDurationUs)).unsigned=!1:typeof t.clipDurationUs=="string"?e.clipDurationUs=parseInt(t.clipDurationUs,10):typeof t.clipDurationUs=="number"?e.clipDurationUs=t.clipDurationUs:typeof t.clipDurationUs=="object"&&(e.clipDurationUs=new $util.LongBits(t.clipDurationUs.low>>>0,t.clipDurationUs.high>>>0).toNumber())),t.preroll!=null&&(e.preroll=t.preroll>>>0),t.postroll!=null&&(e.postroll=t.postroll>>>0),t.metadata!=null){if(typeof t.metadata!="object")throw TypeError(".sesame.v1.status.TransportEvent.metadata: object expected");e.metadata=$root.sesame.v1.common.TransportMetadata.fromObject(t.metadata)}return e},n.toObject=function(t,e){e||(e={});let i={};if(e.defaults){if(i.sourceId="",i.userId="",i.uri="",i.state=e.enums===String?"SOURCE_TRANSPORT_STATE_STOPPED":0,$util.Long){let a=new $util.Long(0,0,!1);i.durationUs=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.durationUs=e.longs===String?"0":0;if($util.Long){let a=new $util.Long(0,0,!1);i.positionUs=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.positionUs=e.longs===String?"0":0;if($util.Long){let a=new $util.Long(0,0,!1);i.materialPositionUs=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.materialPositionUs=e.longs===String?"0":0;if($util.Long){let a=new $util.Long(0,0,!1);i.userTimeUs=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.userTimeUs=e.longs===String?"0":0;if(i.speed=0,i.userPlaylistId="",i.playlistIndex=0,i.playlistLength=0,$util.Long){let a=new $util.Long(0,0,!0);i.clipId=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.clipId=e.longs===String?"0":0;if($util.Long){let a=new $util.Long(0,0,!1);i.clipPositionUs=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.clipPositionUs=e.longs===String?"0":0;if($util.Long){let a=new $util.Long(0,0,!1);i.clipDurationUs=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.clipDurationUs=e.longs===String?"0":0;i.preroll=0,i.postroll=0,i.metadata=null}return t.sourceId!=null&&t.hasOwnProperty("sourceId")&&(i.sourceId=t.sourceId),t.userId!=null&&t.hasOwnProperty("userId")&&(i.userId=t.userId),t.uri!=null&&t.hasOwnProperty("uri")&&(i.uri=t.uri),t.state!=null&&t.hasOwnProperty("state")&&(i.state=e.enums===String?$root.sesame.v1.sources.SourceTransportState[t.state]===void 0?t.state:$root.sesame.v1.sources.SourceTransportState[t.state]:t.state),t.durationUs!=null&&t.hasOwnProperty("durationUs")&&(typeof t.durationUs=="number"?i.durationUs=e.longs===String?String(t.durationUs):t.durationUs:i.durationUs=e.longs===String?$util.Long.prototype.toString.call(t.durationUs):e.longs===Number?new $util.LongBits(t.durationUs.low>>>0,t.durationUs.high>>>0).toNumber():t.durationUs),t.positionUs!=null&&t.hasOwnProperty("positionUs")&&(typeof t.positionUs=="number"?i.positionUs=e.longs===String?String(t.positionUs):t.positionUs:i.positionUs=e.longs===String?$util.Long.prototype.toString.call(t.positionUs):e.longs===Number?new $util.LongBits(t.positionUs.low>>>0,t.positionUs.high>>>0).toNumber():t.positionUs),t.materialPositionUs!=null&&t.hasOwnProperty("materialPositionUs")&&(typeof t.materialPositionUs=="number"?i.materialPositionUs=e.longs===String?String(t.materialPositionUs):t.materialPositionUs:i.materialPositionUs=e.longs===String?$util.Long.prototype.toString.call(t.materialPositionUs):e.longs===Number?new $util.LongBits(t.materialPositionUs.low>>>0,t.materialPositionUs.high>>>0).toNumber():t.materialPositionUs),t.userTimeUs!=null&&t.hasOwnProperty("userTimeUs")&&(typeof t.userTimeUs=="number"?i.userTimeUs=e.longs===String?String(t.userTimeUs):t.userTimeUs:i.userTimeUs=e.longs===String?$util.Long.prototype.toString.call(t.userTimeUs):e.longs===Number?new $util.LongBits(t.userTimeUs.low>>>0,t.userTimeUs.high>>>0).toNumber():t.userTimeUs),t.speed!=null&&t.hasOwnProperty("speed")&&(i.speed=e.json&&!isFinite(t.speed)?String(t.speed):t.speed),t.userPlaylistId!=null&&t.hasOwnProperty("userPlaylistId")&&(i.userPlaylistId=t.userPlaylistId),t.playlistIndex!=null&&t.hasOwnProperty("playlistIndex")&&(i.playlistIndex=t.playlistIndex),t.playlistLength!=null&&t.hasOwnProperty("playlistLength")&&(i.playlistLength=t.playlistLength),t.clipId!=null&&t.hasOwnProperty("clipId")&&(typeof t.clipId=="number"?i.clipId=e.longs===String?String(t.clipId):t.clipId:i.clipId=e.longs===String?$util.Long.prototype.toString.call(t.clipId):e.longs===Number?new $util.LongBits(t.clipId.low>>>0,t.clipId.high>>>0).toNumber(!0):t.clipId),t.clipPositionUs!=null&&t.hasOwnProperty("clipPositionUs")&&(typeof t.clipPositionUs=="number"?i.clipPositionUs=e.longs===String?String(t.clipPositionUs):t.clipPositionUs:i.clipPositionUs=e.longs===String?$util.Long.prototype.toString.call(t.clipPositionUs):e.longs===Number?new $util.LongBits(t.clipPositionUs.low>>>0,t.clipPositionUs.high>>>0).toNumber():t.clipPositionUs),t.clipDurationUs!=null&&t.hasOwnProperty("clipDurationUs")&&(typeof t.clipDurationUs=="number"?i.clipDurationUs=e.longs===String?String(t.clipDurationUs):t.clipDurationUs:i.clipDurationUs=e.longs===String?$util.Long.prototype.toString.call(t.clipDurationUs):e.longs===Number?new $util.LongBits(t.clipDurationUs.low>>>0,t.clipDurationUs.high>>>0).toNumber():t.clipDurationUs),t.preroll!=null&&t.hasOwnProperty("preroll")&&(i.preroll=t.preroll),t.postroll!=null&&t.hasOwnProperty("postroll")&&(i.postroll=t.postroll),t.metadata!=null&&t.hasOwnProperty("metadata")&&(i.metadata=$root.sesame.v1.common.TransportMetadata.toObject(t.metadata,e)),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.status.TransportEvent"},n}(),l.MetadataEvent=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.sourceNodeId="",n.prototype.trackName="",n.prototype.targetNodeId="",n.prototype.metadataId="",n.prototype.payload=$util.newBuffer([]),n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.sourceNodeId!=null&&Object.hasOwnProperty.call(t,"sourceNodeId")&&e.uint32(10).string(t.sourceNodeId),t.trackName!=null&&Object.hasOwnProperty.call(t,"trackName")&&e.uint32(18).string(t.trackName),t.targetNodeId!=null&&Object.hasOwnProperty.call(t,"targetNodeId")&&e.uint32(26).string(t.targetNodeId),t.metadataId!=null&&Object.hasOwnProperty.call(t,"metadataId")&&e.uint32(34).string(t.metadataId),t.payload!=null&&Object.hasOwnProperty.call(t,"payload")&&e.uint32(42).bytes(t.payload),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.status.MetadataEvent;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.sourceNodeId=t.string();break}case 2:{s.trackName=t.string();break}case 3:{s.targetNodeId=t.string();break}case 4:{s.metadataId=t.string();break}case 5:{s.payload=t.bytes();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.sourceNodeId!=null&&t.hasOwnProperty("sourceNodeId")&&!$util.isString(t.sourceNodeId)?"sourceNodeId: string expected":t.trackName!=null&&t.hasOwnProperty("trackName")&&!$util.isString(t.trackName)?"trackName: string expected":t.targetNodeId!=null&&t.hasOwnProperty("targetNodeId")&&!$util.isString(t.targetNodeId)?"targetNodeId: string expected":t.metadataId!=null&&t.hasOwnProperty("metadataId")&&!$util.isString(t.metadataId)?"metadataId: string expected":t.payload!=null&&t.hasOwnProperty("payload")&&!(t.payload&&typeof t.payload.length=="number"||$util.isString(t.payload))?"payload: buffer expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.status.MetadataEvent)return t;let e=new $root.sesame.v1.status.MetadataEvent;return t.sourceNodeId!=null&&(e.sourceNodeId=String(t.sourceNodeId)),t.trackName!=null&&(e.trackName=String(t.trackName)),t.targetNodeId!=null&&(e.targetNodeId=String(t.targetNodeId)),t.metadataId!=null&&(e.metadataId=String(t.metadataId)),t.payload!=null&&(typeof t.payload=="string"?$util.base64.decode(t.payload,e.payload=$util.newBuffer($util.base64.length(t.payload)),0):t.payload.length>=0&&(e.payload=t.payload)),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.sourceNodeId="",i.trackName="",i.targetNodeId="",i.metadataId="",e.bytes===String?i.payload="":(i.payload=[],e.bytes!==Array&&(i.payload=$util.newBuffer(i.payload)))),t.sourceNodeId!=null&&t.hasOwnProperty("sourceNodeId")&&(i.sourceNodeId=t.sourceNodeId),t.trackName!=null&&t.hasOwnProperty("trackName")&&(i.trackName=t.trackName),t.targetNodeId!=null&&t.hasOwnProperty("targetNodeId")&&(i.targetNodeId=t.targetNodeId),t.metadataId!=null&&t.hasOwnProperty("metadataId")&&(i.metadataId=t.metadataId),t.payload!=null&&t.hasOwnProperty("payload")&&(i.payload=e.bytes===String?$util.base64.encode(t.payload,0,t.payload.length):e.bytes===Array?Array.prototype.slice.call(t.payload):t.payload),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.status.MetadataEvent"},n}(),l.Event=function(){function n(t){if(t)for(let e=Object.keys(t),i=0;i<e.length;++i)t[e[i]]!=null&&(this[e[i]]=t[e[i]])}n.prototype.errorEvent=null,n.prototype.transportEvent=null,n.prototype.callbackEvent=null,n.prototype.jobEvent=null,n.prototype.metadataEvent=null,n.prototype.recorderEvent=null;let r;return Object.defineProperty(n.prototype,"event",{get:$util.oneOfGetter(r=["errorEvent","transportEvent","callbackEvent","jobEvent","metadataEvent","recorderEvent"]),set:$util.oneOfSetter(r)}),n.create=function(e){return new n(e)},n.encode=function(e,i){return i||(i=$Writer.create()),e.errorEvent!=null&&Object.hasOwnProperty.call(e,"errorEvent")&&$root.sesame.v1.status.ErrorEvent.encode(e.errorEvent,i.uint32(10).fork()).ldelim(),e.transportEvent!=null&&Object.hasOwnProperty.call(e,"transportEvent")&&$root.sesame.v1.status.TransportEvent.encode(e.transportEvent,i.uint32(18).fork()).ldelim(),e.callbackEvent!=null&&Object.hasOwnProperty.call(e,"callbackEvent")&&$root.sesame.v1.common.Callback.encode(e.callbackEvent,i.uint32(26).fork()).ldelim(),e.jobEvent!=null&&Object.hasOwnProperty.call(e,"jobEvent")&&$root.sesame.v1.jobs.Job.encode(e.jobEvent,i.uint32(34).fork()).ldelim(),e.metadataEvent!=null&&Object.hasOwnProperty.call(e,"metadataEvent")&&$root.sesame.v1.status.MetadataEvent.encode(e.metadataEvent,i.uint32(42).fork()).ldelim(),e.recorderEvent!=null&&Object.hasOwnProperty.call(e,"recorderEvent")&&$root.sesame.v1.recorder.RecorderEvent.encode(e.recorderEvent,i.uint32(50).fork()).ldelim(),i},n.encodeDelimited=function(e,i){return this.encode(e,i).ldelim()},n.decode=function(e,i,a){e instanceof $Reader||(e=$Reader.create(e));let s=i===void 0?e.len:e.pos+i,d=new $root.sesame.v1.status.Event;for(;e.pos<s;){let c=e.uint32();if(c===a)break;switch(c>>>3){case 1:{d.errorEvent=$root.sesame.v1.status.ErrorEvent.decode(e,e.uint32());break}case 2:{d.transportEvent=$root.sesame.v1.status.TransportEvent.decode(e,e.uint32());break}case 3:{d.callbackEvent=$root.sesame.v1.common.Callback.decode(e,e.uint32());break}case 4:{d.jobEvent=$root.sesame.v1.jobs.Job.decode(e,e.uint32());break}case 5:{d.metadataEvent=$root.sesame.v1.status.MetadataEvent.decode(e,e.uint32());break}case 6:{d.recorderEvent=$root.sesame.v1.recorder.RecorderEvent.decode(e,e.uint32());break}default:e.skipType(c&7);break}}return d},n.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},n.verify=function(e){if(typeof e!="object"||e===null)return"object expected";let i={};if(e.errorEvent!=null&&e.hasOwnProperty("errorEvent")){i.event=1;{let a=$root.sesame.v1.status.ErrorEvent.verify(e.errorEvent);if(a)return"errorEvent."+a}}if(e.transportEvent!=null&&e.hasOwnProperty("transportEvent")){if(i.event===1)return"event: multiple values";i.event=1;{let a=$root.sesame.v1.status.TransportEvent.verify(e.transportEvent);if(a)return"transportEvent."+a}}if(e.callbackEvent!=null&&e.hasOwnProperty("callbackEvent")){if(i.event===1)return"event: multiple values";i.event=1;{let a=$root.sesame.v1.common.Callback.verify(e.callbackEvent);if(a)return"callbackEvent."+a}}if(e.jobEvent!=null&&e.hasOwnProperty("jobEvent")){if(i.event===1)return"event: multiple values";i.event=1;{let a=$root.sesame.v1.jobs.Job.verify(e.jobEvent);if(a)return"jobEvent."+a}}if(e.metadataEvent!=null&&e.hasOwnProperty("metadataEvent")){if(i.event===1)return"event: multiple values";i.event=1;{let a=$root.sesame.v1.status.MetadataEvent.verify(e.metadataEvent);if(a)return"metadataEvent."+a}}if(e.recorderEvent!=null&&e.hasOwnProperty("recorderEvent")){if(i.event===1)return"event: multiple values";i.event=1;{let a=$root.sesame.v1.recorder.RecorderEvent.verify(e.recorderEvent);if(a)return"recorderEvent."+a}}return null},n.fromObject=function(e){if(e instanceof $root.sesame.v1.status.Event)return e;let i=new $root.sesame.v1.status.Event;if(e.errorEvent!=null){if(typeof e.errorEvent!="object")throw TypeError(".sesame.v1.status.Event.errorEvent: object expected");i.errorEvent=$root.sesame.v1.status.ErrorEvent.fromObject(e.errorEvent)}if(e.transportEvent!=null){if(typeof e.transportEvent!="object")throw TypeError(".sesame.v1.status.Event.transportEvent: object expected");i.transportEvent=$root.sesame.v1.status.TransportEvent.fromObject(e.transportEvent)}if(e.callbackEvent!=null){if(typeof e.callbackEvent!="object")throw TypeError(".sesame.v1.status.Event.callbackEvent: object expected");i.callbackEvent=$root.sesame.v1.common.Callback.fromObject(e.callbackEvent)}if(e.jobEvent!=null){if(typeof e.jobEvent!="object")throw TypeError(".sesame.v1.status.Event.jobEvent: object expected");i.jobEvent=$root.sesame.v1.jobs.Job.fromObject(e.jobEvent)}if(e.metadataEvent!=null){if(typeof e.metadataEvent!="object")throw TypeError(".sesame.v1.status.Event.metadataEvent: object expected");i.metadataEvent=$root.sesame.v1.status.MetadataEvent.fromObject(e.metadataEvent)}if(e.recorderEvent!=null){if(typeof e.recorderEvent!="object")throw TypeError(".sesame.v1.status.Event.recorderEvent: object expected");i.recorderEvent=$root.sesame.v1.recorder.RecorderEvent.fromObject(e.recorderEvent)}return i},n.toObject=function(e,i){i||(i={});let a={};return e.errorEvent!=null&&e.hasOwnProperty("errorEvent")&&(a.errorEvent=$root.sesame.v1.status.ErrorEvent.toObject(e.errorEvent,i),i.oneofs&&(a.event="errorEvent")),e.transportEvent!=null&&e.hasOwnProperty("transportEvent")&&(a.transportEvent=$root.sesame.v1.status.TransportEvent.toObject(e.transportEvent,i),i.oneofs&&(a.event="transportEvent")),e.callbackEvent!=null&&e.hasOwnProperty("callbackEvent")&&(a.callbackEvent=$root.sesame.v1.common.Callback.toObject(e.callbackEvent,i),i.oneofs&&(a.event="callbackEvent")),e.jobEvent!=null&&e.hasOwnProperty("jobEvent")&&(a.jobEvent=$root.sesame.v1.jobs.Job.toObject(e.jobEvent,i),i.oneofs&&(a.event="jobEvent")),e.metadataEvent!=null&&e.hasOwnProperty("metadataEvent")&&(a.metadataEvent=$root.sesame.v1.status.MetadataEvent.toObject(e.metadataEvent,i),i.oneofs&&(a.event="metadataEvent")),e.recorderEvent!=null&&e.hasOwnProperty("recorderEvent")&&(a.recorderEvent=$root.sesame.v1.recorder.RecorderEvent.toObject(e.recorderEvent,i),i.oneofs&&(a.event="recorderEvent")),a},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/sesame.v1.status.Event"},n}(),l.SubscriptionRequest=function(){function n(r){if(this.eventTopics=[],this.channels=[],r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.eventTopics=$util.emptyArray,n.prototype.channels=$util.emptyArray,n.create=function(t){return new n(t)},n.encode=function(t,e){if(e||(e=$Writer.create()),t.eventTopics!=null&&t.eventTopics.length){e.uint32(10).fork();for(let i=0;i<t.eventTopics.length;++i)e.int32(t.eventTopics[i]);e.ldelim()}if(t.channels!=null&&t.channels.length)for(let i=0;i<t.channels.length;++i)e.uint32(18).string(t.channels[i]);return e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.status.SubscriptionRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{if(s.eventTopics&&s.eventTopics.length||(s.eventTopics=[]),(d&7)===2){let c=t.uint32()+t.pos;for(;t.pos<c;)s.eventTopics.push(t.int32())}else s.eventTopics.push(t.int32());break}case 2:{s.channels&&s.channels.length||(s.channels=[]),s.channels.push(t.string());break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.eventTopics!=null&&t.hasOwnProperty("eventTopics")){if(!Array.isArray(t.eventTopics))return"eventTopics: array expected";for(let e=0;e<t.eventTopics.length;++e)switch(t.eventTopics[e]){default:return"eventTopics: enum value[] expected";case 0:case 1:case 2:case 3:case 4:case 5:case 6:break}}if(t.channels!=null&&t.hasOwnProperty("channels")){if(!Array.isArray(t.channels))return"channels: array expected";for(let e=0;e<t.channels.length;++e)if(!$util.isString(t.channels[e]))return"channels: string[] expected"}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.status.SubscriptionRequest)return t;let e=new $root.sesame.v1.status.SubscriptionRequest;if(t.eventTopics){if(!Array.isArray(t.eventTopics))throw TypeError(".sesame.v1.status.SubscriptionRequest.eventTopics: array expected");e.eventTopics=[];for(let i=0;i<t.eventTopics.length;++i)switch(t.eventTopics[i]){default:if(typeof t.eventTopics[i]=="number"){e.eventTopics[i]=t.eventTopics[i];break}case"EVENT_TOPIC_UNSPECIFIED":case 0:e.eventTopics[i]=0;break;case"EVENT_TOPIC_ERROR":case 1:e.eventTopics[i]=1;break;case"EVENT_TOPIC_TRANSPORT":case 2:e.eventTopics[i]=2;break;case"EVENT_TOPIC_CALLBACK":case 3:e.eventTopics[i]=3;break;case"EVENT_TOPIC_JOB":case 4:e.eventTopics[i]=4;break;case"EVENT_TOPIC_METADATA":case 5:e.eventTopics[i]=5;break;case"EVENT_TOPIC_RECORDER":case 6:e.eventTopics[i]=6;break}}if(t.channels){if(!Array.isArray(t.channels))throw TypeError(".sesame.v1.status.SubscriptionRequest.channels: array expected");e.channels=[];for(let i=0;i<t.channels.length;++i)e.channels[i]=String(t.channels[i])}return e},n.toObject=function(t,e){e||(e={});let i={};if((e.arrays||e.defaults)&&(i.eventTopics=[],i.channels=[]),t.eventTopics&&t.eventTopics.length){i.eventTopics=[];for(let a=0;a<t.eventTopics.length;++a)i.eventTopics[a]=e.enums===String?$root.sesame.v1.common.EventTopic[t.eventTopics[a]]===void 0?t.eventTopics[a]:$root.sesame.v1.common.EventTopic[t.eventTopics[a]]:t.eventTopics[a]}if(t.channels&&t.channels.length){i.channels=[];for(let a=0;a<t.channels.length;++a)i.channels[a]=t.channels[a]}return i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.status.SubscriptionRequest"},n}(),l}(),o.outputs=function(){const l={};return l.OutputType=function(){const n={},r=Object.create(n);return r[n[0]="OUTPUT_TYPE_UNSPECIFIED"]=0,r[n[1]="OUTPUT_TYPE_ENCODED_WEBSOCKET"]=1,r[n[2]="OUTPUT_TYPE_ENCODED_RECORDER"]=2,r[n[3]="OUTPUT_TYPE_DECKLINK"]=3,r[n[4]="OUTPUT_TYPE_SYSTEM_AUDIO"]=4,r[n[5]="OUTPUT_TYPE_ENCODED_SRT"]=5,r[n[6]="OUTPUT_TYPE_ENCODED_MOQ"]=6,r[n[7]="OUTPUT_TYPE_ENCODED_SUPER_SLOWMO_RECORDER"]=7,r}(),l.EncoderPreset=function(){const n={},r=Object.create(n);return r[n[0]="ENCODER_PRESET_UNSPECIFIED"]=0,r[n[1]="ENCODER_PRESET_LOW_LATENCY"]=1,r[n[2]="ENCODER_PRESET_LOW_LATENCY_IDR_ONLY"]=2,r[n[3]="ENCODER_PRESET_HIGH_QUALITY"]=3,r}(),l.RecorderType=function(){const n={},r=Object.create(n);return r[n[0]="RECORDER_TYPE_UNSPECIFIED"]=0,r[n[1]="RECORDER_TYPE_LIVE"]=1,r[n[2]="RECORDER_TYPE_CLIPS"]=2,r}(),l.EncoderConfig=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.codec=0,n.prototype.preset=0,n.prototype.bitrateKbps=0,n.prototype.keyframeInterval=0,n.prototype.width=0,n.prototype.height=0,n.prototype.fps=0,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.codec!=null&&Object.hasOwnProperty.call(t,"codec")&&e.uint32(8).int32(t.codec),t.preset!=null&&Object.hasOwnProperty.call(t,"preset")&&e.uint32(16).int32(t.preset),t.bitrateKbps!=null&&Object.hasOwnProperty.call(t,"bitrateKbps")&&e.uint32(24).uint32(t.bitrateKbps),t.keyframeInterval!=null&&Object.hasOwnProperty.call(t,"keyframeInterval")&&e.uint32(32).uint32(t.keyframeInterval),t.width!=null&&Object.hasOwnProperty.call(t,"width")&&e.uint32(40).uint32(t.width),t.height!=null&&Object.hasOwnProperty.call(t,"height")&&e.uint32(48).uint32(t.height),t.fps!=null&&Object.hasOwnProperty.call(t,"fps")&&e.uint32(61).float(t.fps),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.outputs.EncoderConfig;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.codec=t.int32();break}case 2:{s.preset=t.int32();break}case 3:{s.bitrateKbps=t.uint32();break}case 4:{s.keyframeInterval=t.uint32();break}case 5:{s.width=t.uint32();break}case 6:{s.height=t.uint32();break}case 7:{s.fps=t.float();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.codec!=null&&t.hasOwnProperty("codec"))switch(t.codec){default:return"codec: enum value expected";case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 64:case 65:case 66:case 67:break}if(t.preset!=null&&t.hasOwnProperty("preset"))switch(t.preset){default:return"preset: enum value expected";case 0:case 1:case 2:case 3:break}return t.bitrateKbps!=null&&t.hasOwnProperty("bitrateKbps")&&!$util.isInteger(t.bitrateKbps)?"bitrateKbps: integer expected":t.keyframeInterval!=null&&t.hasOwnProperty("keyframeInterval")&&!$util.isInteger(t.keyframeInterval)?"keyframeInterval: integer expected":t.width!=null&&t.hasOwnProperty("width")&&!$util.isInteger(t.width)?"width: integer expected":t.height!=null&&t.hasOwnProperty("height")&&!$util.isInteger(t.height)?"height: integer expected":t.fps!=null&&t.hasOwnProperty("fps")&&typeof t.fps!="number"?"fps: number expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.outputs.EncoderConfig)return t;let e=new $root.sesame.v1.outputs.EncoderConfig;switch(t.codec){default:if(typeof t.codec=="number"){e.codec=t.codec;break}break;case"CODEC_TYPE_UNSPECIFIED":case 0:e.codec=0;break;case"CODEC_TYPE_VIDEO_VP8":case 1:e.codec=1;break;case"CODEC_TYPE_VIDEO_VP9":case 2:e.codec=2;break;case"CODEC_TYPE_VIDEO_AVC":case 3:e.codec=3;break;case"CODEC_TYPE_VIDEO_HEVC":case 4:e.codec=4;break;case"CODEC_TYPE_VIDEO_AV1":case 5:e.codec=5;break;case"CODEC_TYPE_VIDEO_PRORES":case 6:e.codec=6;break;case"CODEC_TYPE_VIDEO_DNXHR":case 7:e.codec=7;break;case"CODEC_TYPE_AUDIO_OPUS":case 64:e.codec=64;break;case"CODEC_TYPE_AUDIO_AAC":case 65:e.codec=65;break;case"CODEC_TYPE_AUDIO_PCM":case 66:e.codec=66;break;case"CODEC_TYPE_AUDIO_PCM_S24LE":case 67:e.codec=67;break}switch(t.preset){default:if(typeof t.preset=="number"){e.preset=t.preset;break}break;case"ENCODER_PRESET_UNSPECIFIED":case 0:e.preset=0;break;case"ENCODER_PRESET_LOW_LATENCY":case 1:e.preset=1;break;case"ENCODER_PRESET_LOW_LATENCY_IDR_ONLY":case 2:e.preset=2;break;case"ENCODER_PRESET_HIGH_QUALITY":case 3:e.preset=3;break}return t.bitrateKbps!=null&&(e.bitrateKbps=t.bitrateKbps>>>0),t.keyframeInterval!=null&&(e.keyframeInterval=t.keyframeInterval>>>0),t.width!=null&&(e.width=t.width>>>0),t.height!=null&&(e.height=t.height>>>0),t.fps!=null&&(e.fps=Number(t.fps)),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.codec=e.enums===String?"CODEC_TYPE_UNSPECIFIED":0,i.preset=e.enums===String?"ENCODER_PRESET_UNSPECIFIED":0,i.bitrateKbps=0,i.keyframeInterval=0,i.width=0,i.height=0,i.fps=0),t.codec!=null&&t.hasOwnProperty("codec")&&(i.codec=e.enums===String?$root.sesame.v1.common.CodecType[t.codec]===void 0?t.codec:$root.sesame.v1.common.CodecType[t.codec]:t.codec),t.preset!=null&&t.hasOwnProperty("preset")&&(i.preset=e.enums===String?$root.sesame.v1.outputs.EncoderPreset[t.preset]===void 0?t.preset:$root.sesame.v1.outputs.EncoderPreset[t.preset]:t.preset),t.bitrateKbps!=null&&t.hasOwnProperty("bitrateKbps")&&(i.bitrateKbps=t.bitrateKbps),t.keyframeInterval!=null&&t.hasOwnProperty("keyframeInterval")&&(i.keyframeInterval=t.keyframeInterval),t.width!=null&&t.hasOwnProperty("width")&&(i.width=t.width),t.height!=null&&t.hasOwnProperty("height")&&(i.height=t.height),t.fps!=null&&t.hasOwnProperty("fps")&&(i.fps=e.json&&!isFinite(t.fps)?String(t.fps):t.fps),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.outputs.EncoderConfig"},n}(),l.DecklinkOutputConfig=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.deviceIndex=0,n.prototype.videoFormat=0,n.prototype.keyAndFill=!1,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.deviceIndex!=null&&Object.hasOwnProperty.call(t,"deviceIndex")&&e.uint32(8).uint32(t.deviceIndex),t.videoFormat!=null&&Object.hasOwnProperty.call(t,"videoFormat")&&e.uint32(16).int32(t.videoFormat),t.keyAndFill!=null&&Object.hasOwnProperty.call(t,"keyAndFill")&&e.uint32(24).bool(t.keyAndFill),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.outputs.DecklinkOutputConfig;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.deviceIndex=t.uint32();break}case 2:{s.videoFormat=t.int32();break}case 3:{s.keyAndFill=t.bool();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.deviceIndex!=null&&t.hasOwnProperty("deviceIndex")&&!$util.isInteger(t.deviceIndex))return"deviceIndex: integer expected";if(t.videoFormat!=null&&t.hasOwnProperty("videoFormat"))switch(t.videoFormat){default:return"videoFormat: enum value expected";case 0:case 1:case 2:case 3:case 4:break}return t.keyAndFill!=null&&t.hasOwnProperty("keyAndFill")&&typeof t.keyAndFill!="boolean"?"keyAndFill: boolean expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.outputs.DecklinkOutputConfig)return t;let e=new $root.sesame.v1.outputs.DecklinkOutputConfig;switch(t.deviceIndex!=null&&(e.deviceIndex=t.deviceIndex>>>0),t.videoFormat){default:if(typeof t.videoFormat=="number"){e.videoFormat=t.videoFormat;break}break;case"VIDEO_FORMAT_UNSPECIFIED":case 0:e.videoFormat=0;break;case"VIDEO_FORMAT_1080_50I":case 1:e.videoFormat=1;break;case"VIDEO_FORMAT_1080_50P":case 2:e.videoFormat=2;break;case"VIDEO_FORMAT_1080_60I":case 3:e.videoFormat=3;break;case"VIDEO_FORMAT_1080_60P":case 4:e.videoFormat=4;break}return t.keyAndFill!=null&&(e.keyAndFill=!!t.keyAndFill),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.deviceIndex=0,i.videoFormat=e.enums===String?"VIDEO_FORMAT_UNSPECIFIED":0,i.keyAndFill=!1),t.deviceIndex!=null&&t.hasOwnProperty("deviceIndex")&&(i.deviceIndex=t.deviceIndex),t.videoFormat!=null&&t.hasOwnProperty("videoFormat")&&(i.videoFormat=e.enums===String?$root.sesame.v1.common.VideoFormat[t.videoFormat]===void 0?t.videoFormat:$root.sesame.v1.common.VideoFormat[t.videoFormat]:t.videoFormat),t.keyAndFill!=null&&t.hasOwnProperty("keyAndFill")&&(i.keyAndFill=t.keyAndFill),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.outputs.DecklinkOutputConfig"},n}(),l.EncodedWebSocketOutputConfig=function(){function n(r){if(this.metadataTracks=[],r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.channel="",n.prototype.encoder=null,n.prototype.metadataTracks=$util.emptyArray,n.create=function(t){return new n(t)},n.encode=function(t,e){if(e||(e=$Writer.create()),t.channel!=null&&Object.hasOwnProperty.call(t,"channel")&&e.uint32(10).string(t.channel),t.encoder!=null&&Object.hasOwnProperty.call(t,"encoder")&&$root.sesame.v1.outputs.EncoderConfig.encode(t.encoder,e.uint32(18).fork()).ldelim(),t.metadataTracks!=null&&t.metadataTracks.length)for(let i=0;i<t.metadataTracks.length;++i)e.uint32(26).string(t.metadataTracks[i]);return e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.outputs.EncodedWebSocketOutputConfig;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.channel=t.string();break}case 2:{s.encoder=$root.sesame.v1.outputs.EncoderConfig.decode(t,t.uint32());break}case 3:{s.metadataTracks&&s.metadataTracks.length||(s.metadataTracks=[]),s.metadataTracks.push(t.string());break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.channel!=null&&t.hasOwnProperty("channel")&&!$util.isString(t.channel))return"channel: string expected";if(t.encoder!=null&&t.hasOwnProperty("encoder")){let e=$root.sesame.v1.outputs.EncoderConfig.verify(t.encoder);if(e)return"encoder."+e}if(t.metadataTracks!=null&&t.hasOwnProperty("metadataTracks")){if(!Array.isArray(t.metadataTracks))return"metadataTracks: array expected";for(let e=0;e<t.metadataTracks.length;++e)if(!$util.isString(t.metadataTracks[e]))return"metadataTracks: string[] expected"}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.outputs.EncodedWebSocketOutputConfig)return t;let e=new $root.sesame.v1.outputs.EncodedWebSocketOutputConfig;if(t.channel!=null&&(e.channel=String(t.channel)),t.encoder!=null){if(typeof t.encoder!="object")throw TypeError(".sesame.v1.outputs.EncodedWebSocketOutputConfig.encoder: object expected");e.encoder=$root.sesame.v1.outputs.EncoderConfig.fromObject(t.encoder)}if(t.metadataTracks){if(!Array.isArray(t.metadataTracks))throw TypeError(".sesame.v1.outputs.EncodedWebSocketOutputConfig.metadataTracks: array expected");e.metadataTracks=[];for(let i=0;i<t.metadataTracks.length;++i)e.metadataTracks[i]=String(t.metadataTracks[i])}return e},n.toObject=function(t,e){e||(e={});let i={};if((e.arrays||e.defaults)&&(i.metadataTracks=[]),e.defaults&&(i.channel="",i.encoder=null),t.channel!=null&&t.hasOwnProperty("channel")&&(i.channel=t.channel),t.encoder!=null&&t.hasOwnProperty("encoder")&&(i.encoder=$root.sesame.v1.outputs.EncoderConfig.toObject(t.encoder,e)),t.metadataTracks&&t.metadataTracks.length){i.metadataTracks=[];for(let a=0;a<t.metadataTracks.length;++a)i.metadataTracks[a]=t.metadataTracks[a]}return i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.outputs.EncodedWebSocketOutputConfig"},n}(),l.EncodedRecorderOutputConfig=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.encoder=null,n.prototype.filename="",n.prototype.sizeGb=0,n.prototype.groupId="",n.prototype.recorderType=0,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.encoder!=null&&Object.hasOwnProperty.call(t,"encoder")&&$root.sesame.v1.outputs.EncoderConfig.encode(t.encoder,e.uint32(10).fork()).ldelim(),t.filename!=null&&Object.hasOwnProperty.call(t,"filename")&&e.uint32(18).string(t.filename),t.sizeGb!=null&&Object.hasOwnProperty.call(t,"sizeGb")&&e.uint32(24).uint32(t.sizeGb),t.groupId!=null&&Object.hasOwnProperty.call(t,"groupId")&&e.uint32(34).string(t.groupId),t.recorderType!=null&&Object.hasOwnProperty.call(t,"recorderType")&&e.uint32(40).int32(t.recorderType),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.outputs.EncodedRecorderOutputConfig;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.encoder=$root.sesame.v1.outputs.EncoderConfig.decode(t,t.uint32());break}case 2:{s.filename=t.string();break}case 3:{s.sizeGb=t.uint32();break}case 4:{s.groupId=t.string();break}case 5:{s.recorderType=t.int32();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.encoder!=null&&t.hasOwnProperty("encoder")){let e=$root.sesame.v1.outputs.EncoderConfig.verify(t.encoder);if(e)return"encoder."+e}if(t.filename!=null&&t.hasOwnProperty("filename")&&!$util.isString(t.filename))return"filename: string expected";if(t.sizeGb!=null&&t.hasOwnProperty("sizeGb")&&!$util.isInteger(t.sizeGb))return"sizeGb: integer expected";if(t.groupId!=null&&t.hasOwnProperty("groupId")&&!$util.isString(t.groupId))return"groupId: string expected";if(t.recorderType!=null&&t.hasOwnProperty("recorderType"))switch(t.recorderType){default:return"recorderType: enum value expected";case 0:case 1:case 2:break}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.outputs.EncodedRecorderOutputConfig)return t;let e=new $root.sesame.v1.outputs.EncodedRecorderOutputConfig;if(t.encoder!=null){if(typeof t.encoder!="object")throw TypeError(".sesame.v1.outputs.EncodedRecorderOutputConfig.encoder: object expected");e.encoder=$root.sesame.v1.outputs.EncoderConfig.fromObject(t.encoder)}switch(t.filename!=null&&(e.filename=String(t.filename)),t.sizeGb!=null&&(e.sizeGb=t.sizeGb>>>0),t.groupId!=null&&(e.groupId=String(t.groupId)),t.recorderType){default:if(typeof t.recorderType=="number"){e.recorderType=t.recorderType;break}break;case"RECORDER_TYPE_UNSPECIFIED":case 0:e.recorderType=0;break;case"RECORDER_TYPE_LIVE":case 1:e.recorderType=1;break;case"RECORDER_TYPE_CLIPS":case 2:e.recorderType=2;break}return e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.encoder=null,i.filename="",i.sizeGb=0,i.groupId="",i.recorderType=e.enums===String?"RECORDER_TYPE_UNSPECIFIED":0),t.encoder!=null&&t.hasOwnProperty("encoder")&&(i.encoder=$root.sesame.v1.outputs.EncoderConfig.toObject(t.encoder,e)),t.filename!=null&&t.hasOwnProperty("filename")&&(i.filename=t.filename),t.sizeGb!=null&&t.hasOwnProperty("sizeGb")&&(i.sizeGb=t.sizeGb),t.groupId!=null&&t.hasOwnProperty("groupId")&&(i.groupId=t.groupId),t.recorderType!=null&&t.hasOwnProperty("recorderType")&&(i.recorderType=e.enums===String?$root.sesame.v1.outputs.RecorderType[t.recorderType]===void 0?t.recorderType:$root.sesame.v1.outputs.RecorderType[t.recorderType]:t.recorderType),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.outputs.EncodedRecorderOutputConfig"},n}(),l.EncodedSuperSlowMoRecorderOutputConfig=function(){function n(r){if(this.compositionIds=[],this.sourceIds=[],r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.encoder=null,n.prototype.filename="",n.prototype.sizeGb=0,n.prototype.groupId="",n.prototype.recorderType=0,n.prototype.compositionIds=$util.emptyArray,n.prototype.sourceIds=$util.emptyArray,n.create=function(t){return new n(t)},n.encode=function(t,e){if(e||(e=$Writer.create()),t.encoder!=null&&Object.hasOwnProperty.call(t,"encoder")&&$root.sesame.v1.outputs.EncoderConfig.encode(t.encoder,e.uint32(10).fork()).ldelim(),t.filename!=null&&Object.hasOwnProperty.call(t,"filename")&&e.uint32(18).string(t.filename),t.sizeGb!=null&&Object.hasOwnProperty.call(t,"sizeGb")&&e.uint32(24).uint32(t.sizeGb),t.groupId!=null&&Object.hasOwnProperty.call(t,"groupId")&&e.uint32(34).string(t.groupId),t.recorderType!=null&&Object.hasOwnProperty.call(t,"recorderType")&&e.uint32(40).int32(t.recorderType),t.compositionIds!=null&&t.compositionIds.length)for(let i=0;i<t.compositionIds.length;++i)e.uint32(50).string(t.compositionIds[i]);if(t.sourceIds!=null&&t.sourceIds.length)for(let i=0;i<t.sourceIds.length;++i)e.uint32(58).string(t.sourceIds[i]);return e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.outputs.EncodedSuperSlowMoRecorderOutputConfig;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.encoder=$root.sesame.v1.outputs.EncoderConfig.decode(t,t.uint32());break}case 2:{s.filename=t.string();break}case 3:{s.sizeGb=t.uint32();break}case 4:{s.groupId=t.string();break}case 5:{s.recorderType=t.int32();break}case 6:{s.compositionIds&&s.compositionIds.length||(s.compositionIds=[]),s.compositionIds.push(t.string());break}case 7:{s.sourceIds&&s.sourceIds.length||(s.sourceIds=[]),s.sourceIds.push(t.string());break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.encoder!=null&&t.hasOwnProperty("encoder")){let e=$root.sesame.v1.outputs.EncoderConfig.verify(t.encoder);if(e)return"encoder."+e}if(t.filename!=null&&t.hasOwnProperty("filename")&&!$util.isString(t.filename))return"filename: string expected";if(t.sizeGb!=null&&t.hasOwnProperty("sizeGb")&&!$util.isInteger(t.sizeGb))return"sizeGb: integer expected";if(t.groupId!=null&&t.hasOwnProperty("groupId")&&!$util.isString(t.groupId))return"groupId: string expected";if(t.recorderType!=null&&t.hasOwnProperty("recorderType"))switch(t.recorderType){default:return"recorderType: enum value expected";case 0:case 1:case 2:break}if(t.compositionIds!=null&&t.hasOwnProperty("compositionIds")){if(!Array.isArray(t.compositionIds))return"compositionIds: array expected";for(let e=0;e<t.compositionIds.length;++e)if(!$util.isString(t.compositionIds[e]))return"compositionIds: string[] expected"}if(t.sourceIds!=null&&t.hasOwnProperty("sourceIds")){if(!Array.isArray(t.sourceIds))return"sourceIds: array expected";for(let e=0;e<t.sourceIds.length;++e)if(!$util.isString(t.sourceIds[e]))return"sourceIds: string[] expected"}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.outputs.EncodedSuperSlowMoRecorderOutputConfig)return t;let e=new $root.sesame.v1.outputs.EncodedSuperSlowMoRecorderOutputConfig;if(t.encoder!=null){if(typeof t.encoder!="object")throw TypeError(".sesame.v1.outputs.EncodedSuperSlowMoRecorderOutputConfig.encoder: object expected");e.encoder=$root.sesame.v1.outputs.EncoderConfig.fromObject(t.encoder)}switch(t.filename!=null&&(e.filename=String(t.filename)),t.sizeGb!=null&&(e.sizeGb=t.sizeGb>>>0),t.groupId!=null&&(e.groupId=String(t.groupId)),t.recorderType){default:if(typeof t.recorderType=="number"){e.recorderType=t.recorderType;break}break;case"RECORDER_TYPE_UNSPECIFIED":case 0:e.recorderType=0;break;case"RECORDER_TYPE_LIVE":case 1:e.recorderType=1;break;case"RECORDER_TYPE_CLIPS":case 2:e.recorderType=2;break}if(t.compositionIds){if(!Array.isArray(t.compositionIds))throw TypeError(".sesame.v1.outputs.EncodedSuperSlowMoRecorderOutputConfig.compositionIds: array expected");e.compositionIds=[];for(let i=0;i<t.compositionIds.length;++i)e.compositionIds[i]=String(t.compositionIds[i])}if(t.sourceIds){if(!Array.isArray(t.sourceIds))throw TypeError(".sesame.v1.outputs.EncodedSuperSlowMoRecorderOutputConfig.sourceIds: array expected");e.sourceIds=[];for(let i=0;i<t.sourceIds.length;++i)e.sourceIds[i]=String(t.sourceIds[i])}return e},n.toObject=function(t,e){e||(e={});let i={};if((e.arrays||e.defaults)&&(i.compositionIds=[],i.sourceIds=[]),e.defaults&&(i.encoder=null,i.filename="",i.sizeGb=0,i.groupId="",i.recorderType=e.enums===String?"RECORDER_TYPE_UNSPECIFIED":0),t.encoder!=null&&t.hasOwnProperty("encoder")&&(i.encoder=$root.sesame.v1.outputs.EncoderConfig.toObject(t.encoder,e)),t.filename!=null&&t.hasOwnProperty("filename")&&(i.filename=t.filename),t.sizeGb!=null&&t.hasOwnProperty("sizeGb")&&(i.sizeGb=t.sizeGb),t.groupId!=null&&t.hasOwnProperty("groupId")&&(i.groupId=t.groupId),t.recorderType!=null&&t.hasOwnProperty("recorderType")&&(i.recorderType=e.enums===String?$root.sesame.v1.outputs.RecorderType[t.recorderType]===void 0?t.recorderType:$root.sesame.v1.outputs.RecorderType[t.recorderType]:t.recorderType),t.compositionIds&&t.compositionIds.length){i.compositionIds=[];for(let a=0;a<t.compositionIds.length;++a)i.compositionIds[a]=t.compositionIds[a]}if(t.sourceIds&&t.sourceIds.length){i.sourceIds=[];for(let a=0;a<t.sourceIds.length;++a)i.sourceIds[a]=t.sourceIds[a]}return i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.outputs.EncodedSuperSlowMoRecorderOutputConfig"},n}(),l.EncodedSrtOutputConfig=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.url="",n.prototype.encoder=null,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.url!=null&&Object.hasOwnProperty.call(t,"url")&&e.uint32(10).string(t.url),t.encoder!=null&&Object.hasOwnProperty.call(t,"encoder")&&$root.sesame.v1.outputs.EncoderConfig.encode(t.encoder,e.uint32(18).fork()).ldelim(),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.outputs.EncodedSrtOutputConfig;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.url=t.string();break}case 2:{s.encoder=$root.sesame.v1.outputs.EncoderConfig.decode(t,t.uint32());break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.url!=null&&t.hasOwnProperty("url")&&!$util.isString(t.url))return"url: string expected";if(t.encoder!=null&&t.hasOwnProperty("encoder")){let e=$root.sesame.v1.outputs.EncoderConfig.verify(t.encoder);if(e)return"encoder."+e}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.outputs.EncodedSrtOutputConfig)return t;let e=new $root.sesame.v1.outputs.EncodedSrtOutputConfig;if(t.url!=null&&(e.url=String(t.url)),t.encoder!=null){if(typeof t.encoder!="object")throw TypeError(".sesame.v1.outputs.EncodedSrtOutputConfig.encoder: object expected");e.encoder=$root.sesame.v1.outputs.EncoderConfig.fromObject(t.encoder)}return e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.url="",i.encoder=null),t.url!=null&&t.hasOwnProperty("url")&&(i.url=t.url),t.encoder!=null&&t.hasOwnProperty("encoder")&&(i.encoder=$root.sesame.v1.outputs.EncoderConfig.toObject(t.encoder,e)),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.outputs.EncodedSrtOutputConfig"},n}(),l.EncodedMoqOutputConfig=function(){function n(r){if(this.metadataTracks=[],r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.encoder=null,n.prototype.url="",n.prototype.broadcast="",n.prototype.key="",n.prototype.metadataTracks=$util.emptyArray,n.create=function(t){return new n(t)},n.encode=function(t,e){if(e||(e=$Writer.create()),t.encoder!=null&&Object.hasOwnProperty.call(t,"encoder")&&$root.sesame.v1.outputs.EncoderConfig.encode(t.encoder,e.uint32(10).fork()).ldelim(),t.url!=null&&Object.hasOwnProperty.call(t,"url")&&e.uint32(18).string(t.url),t.broadcast!=null&&Object.hasOwnProperty.call(t,"broadcast")&&e.uint32(26).string(t.broadcast),t.key!=null&&Object.hasOwnProperty.call(t,"key")&&e.uint32(34).string(t.key),t.metadataTracks!=null&&t.metadataTracks.length)for(let i=0;i<t.metadataTracks.length;++i)e.uint32(42).string(t.metadataTracks[i]);return e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.outputs.EncodedMoqOutputConfig;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.encoder=$root.sesame.v1.outputs.EncoderConfig.decode(t,t.uint32());break}case 2:{s.url=t.string();break}case 3:{s.broadcast=t.string();break}case 4:{s.key=t.string();break}case 5:{s.metadataTracks&&s.metadataTracks.length||(s.metadataTracks=[]),s.metadataTracks.push(t.string());break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.encoder!=null&&t.hasOwnProperty("encoder")){let e=$root.sesame.v1.outputs.EncoderConfig.verify(t.encoder);if(e)return"encoder."+e}if(t.url!=null&&t.hasOwnProperty("url")&&!$util.isString(t.url))return"url: string expected";if(t.broadcast!=null&&t.hasOwnProperty("broadcast")&&!$util.isString(t.broadcast))return"broadcast: string expected";if(t.key!=null&&t.hasOwnProperty("key")&&!$util.isString(t.key))return"key: string expected";if(t.metadataTracks!=null&&t.hasOwnProperty("metadataTracks")){if(!Array.isArray(t.metadataTracks))return"metadataTracks: array expected";for(let e=0;e<t.metadataTracks.length;++e)if(!$util.isString(t.metadataTracks[e]))return"metadataTracks: string[] expected"}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.outputs.EncodedMoqOutputConfig)return t;let e=new $root.sesame.v1.outputs.EncodedMoqOutputConfig;if(t.encoder!=null){if(typeof t.encoder!="object")throw TypeError(".sesame.v1.outputs.EncodedMoqOutputConfig.encoder: object expected");e.encoder=$root.sesame.v1.outputs.EncoderConfig.fromObject(t.encoder)}if(t.url!=null&&(e.url=String(t.url)),t.broadcast!=null&&(e.broadcast=String(t.broadcast)),t.key!=null&&(e.key=String(t.key)),t.metadataTracks){if(!Array.isArray(t.metadataTracks))throw TypeError(".sesame.v1.outputs.EncodedMoqOutputConfig.metadataTracks: array expected");e.metadataTracks=[];for(let i=0;i<t.metadataTracks.length;++i)e.metadataTracks[i]=String(t.metadataTracks[i])}return e},n.toObject=function(t,e){e||(e={});let i={};if((e.arrays||e.defaults)&&(i.metadataTracks=[]),e.defaults&&(i.encoder=null,i.url="",i.broadcast="",i.key=""),t.encoder!=null&&t.hasOwnProperty("encoder")&&(i.encoder=$root.sesame.v1.outputs.EncoderConfig.toObject(t.encoder,e)),t.url!=null&&t.hasOwnProperty("url")&&(i.url=t.url),t.broadcast!=null&&t.hasOwnProperty("broadcast")&&(i.broadcast=t.broadcast),t.key!=null&&t.hasOwnProperty("key")&&(i.key=t.key),t.metadataTracks&&t.metadataTracks.length){i.metadataTracks=[];for(let a=0;a<t.metadataTracks.length;++a)i.metadataTracks[a]=t.metadataTracks[a]}return i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.outputs.EncodedMoqOutputConfig"},n}(),l.SystemAudioOutputConfig=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.deviceName="",n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.deviceName!=null&&Object.hasOwnProperty.call(t,"deviceName")&&e.uint32(10).string(t.deviceName),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.outputs.SystemAudioOutputConfig;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.deviceName=t.string();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.deviceName!=null&&t.hasOwnProperty("deviceName")&&!$util.isString(t.deviceName)?"deviceName: string expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.outputs.SystemAudioOutputConfig)return t;let e=new $root.sesame.v1.outputs.SystemAudioOutputConfig;return t.deviceName!=null&&(e.deviceName=String(t.deviceName)),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.deviceName=""),t.deviceName!=null&&t.hasOwnProperty("deviceName")&&(i.deviceName=t.deviceName),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.outputs.SystemAudioOutputConfig"},n}(),l.OutputAddRequest=function(){function n(t){if(this.audioMixIds=[],t)for(let e=Object.keys(t),i=0;i<e.length;++i)t[e[i]]!=null&&(this[e[i]]=t[e[i]])}n.prototype.id="",n.prototype.compositionId="",n.prototype.audioMixIds=$util.emptyArray,n.prototype.useAsClock=!1,n.prototype.websocket=null,n.prototype.recorder=null,n.prototype.superSlowmoRecorder=null,n.prototype.srt=null,n.prototype.moq=null,n.prototype.decklink=null,n.prototype.systemAudio=null;let r;return Object.defineProperty(n.prototype,"output",{get:$util.oneOfGetter(r=["websocket","recorder","superSlowmoRecorder","srt","moq","decklink","systemAudio"]),set:$util.oneOfSetter(r)}),n.create=function(e){return new n(e)},n.encode=function(e,i){if(i||(i=$Writer.create()),e.id!=null&&Object.hasOwnProperty.call(e,"id")&&i.uint32(10).string(e.id),e.compositionId!=null&&Object.hasOwnProperty.call(e,"compositionId")&&i.uint32(18).string(e.compositionId),e.audioMixIds!=null&&e.audioMixIds.length)for(let a=0;a<e.audioMixIds.length;++a)i.uint32(26).string(e.audioMixIds[a]);return e.useAsClock!=null&&Object.hasOwnProperty.call(e,"useAsClock")&&i.uint32(32).bool(e.useAsClock),e.websocket!=null&&Object.hasOwnProperty.call(e,"websocket")&&$root.sesame.v1.outputs.EncodedWebSocketOutputConfig.encode(e.websocket,i.uint32(82).fork()).ldelim(),e.recorder!=null&&Object.hasOwnProperty.call(e,"recorder")&&$root.sesame.v1.outputs.EncodedRecorderOutputConfig.encode(e.recorder,i.uint32(90).fork()).ldelim(),e.superSlowmoRecorder!=null&&Object.hasOwnProperty.call(e,"superSlowmoRecorder")&&$root.sesame.v1.outputs.EncodedSuperSlowMoRecorderOutputConfig.encode(e.superSlowmoRecorder,i.uint32(98).fork()).ldelim(),e.srt!=null&&Object.hasOwnProperty.call(e,"srt")&&$root.sesame.v1.outputs.EncodedSrtOutputConfig.encode(e.srt,i.uint32(106).fork()).ldelim(),e.moq!=null&&Object.hasOwnProperty.call(e,"moq")&&$root.sesame.v1.outputs.EncodedMoqOutputConfig.encode(e.moq,i.uint32(114).fork()).ldelim(),e.decklink!=null&&Object.hasOwnProperty.call(e,"decklink")&&$root.sesame.v1.outputs.DecklinkOutputConfig.encode(e.decklink,i.uint32(122).fork()).ldelim(),e.systemAudio!=null&&Object.hasOwnProperty.call(e,"systemAudio")&&$root.sesame.v1.outputs.SystemAudioOutputConfig.encode(e.systemAudio,i.uint32(130).fork()).ldelim(),i},n.encodeDelimited=function(e,i){return this.encode(e,i).ldelim()},n.decode=function(e,i,a){e instanceof $Reader||(e=$Reader.create(e));let s=i===void 0?e.len:e.pos+i,d=new $root.sesame.v1.outputs.OutputAddRequest;for(;e.pos<s;){let c=e.uint32();if(c===a)break;switch(c>>>3){case 1:{d.id=e.string();break}case 2:{d.compositionId=e.string();break}case 3:{d.audioMixIds&&d.audioMixIds.length||(d.audioMixIds=[]),d.audioMixIds.push(e.string());break}case 4:{d.useAsClock=e.bool();break}case 10:{d.websocket=$root.sesame.v1.outputs.EncodedWebSocketOutputConfig.decode(e,e.uint32());break}case 11:{d.recorder=$root.sesame.v1.outputs.EncodedRecorderOutputConfig.decode(e,e.uint32());break}case 12:{d.superSlowmoRecorder=$root.sesame.v1.outputs.EncodedSuperSlowMoRecorderOutputConfig.decode(e,e.uint32());break}case 13:{d.srt=$root.sesame.v1.outputs.EncodedSrtOutputConfig.decode(e,e.uint32());break}case 14:{d.moq=$root.sesame.v1.outputs.EncodedMoqOutputConfig.decode(e,e.uint32());break}case 15:{d.decklink=$root.sesame.v1.outputs.DecklinkOutputConfig.decode(e,e.uint32());break}case 16:{d.systemAudio=$root.sesame.v1.outputs.SystemAudioOutputConfig.decode(e,e.uint32());break}default:e.skipType(c&7);break}}return d},n.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},n.verify=function(e){if(typeof e!="object"||e===null)return"object expected";let i={};if(e.id!=null&&e.hasOwnProperty("id")&&!$util.isString(e.id))return"id: string expected";if(e.compositionId!=null&&e.hasOwnProperty("compositionId")&&!$util.isString(e.compositionId))return"compositionId: string expected";if(e.audioMixIds!=null&&e.hasOwnProperty("audioMixIds")){if(!Array.isArray(e.audioMixIds))return"audioMixIds: array expected";for(let a=0;a<e.audioMixIds.length;++a)if(!$util.isString(e.audioMixIds[a]))return"audioMixIds: string[] expected"}if(e.useAsClock!=null&&e.hasOwnProperty("useAsClock")&&typeof e.useAsClock!="boolean")return"useAsClock: boolean expected";if(e.websocket!=null&&e.hasOwnProperty("websocket")){i.output=1;{let a=$root.sesame.v1.outputs.EncodedWebSocketOutputConfig.verify(e.websocket);if(a)return"websocket."+a}}if(e.recorder!=null&&e.hasOwnProperty("recorder")){if(i.output===1)return"output: multiple values";i.output=1;{let a=$root.sesame.v1.outputs.EncodedRecorderOutputConfig.verify(e.recorder);if(a)return"recorder."+a}}if(e.superSlowmoRecorder!=null&&e.hasOwnProperty("superSlowmoRecorder")){if(i.output===1)return"output: multiple values";i.output=1;{let a=$root.sesame.v1.outputs.EncodedSuperSlowMoRecorderOutputConfig.verify(e.superSlowmoRecorder);if(a)return"superSlowmoRecorder."+a}}if(e.srt!=null&&e.hasOwnProperty("srt")){if(i.output===1)return"output: multiple values";i.output=1;{let a=$root.sesame.v1.outputs.EncodedSrtOutputConfig.verify(e.srt);if(a)return"srt."+a}}if(e.moq!=null&&e.hasOwnProperty("moq")){if(i.output===1)return"output: multiple values";i.output=1;{let a=$root.sesame.v1.outputs.EncodedMoqOutputConfig.verify(e.moq);if(a)return"moq."+a}}if(e.decklink!=null&&e.hasOwnProperty("decklink")){if(i.output===1)return"output: multiple values";i.output=1;{let a=$root.sesame.v1.outputs.DecklinkOutputConfig.verify(e.decklink);if(a)return"decklink."+a}}if(e.systemAudio!=null&&e.hasOwnProperty("systemAudio")){if(i.output===1)return"output: multiple values";i.output=1;{let a=$root.sesame.v1.outputs.SystemAudioOutputConfig.verify(e.systemAudio);if(a)return"systemAudio."+a}}return null},n.fromObject=function(e){if(e instanceof $root.sesame.v1.outputs.OutputAddRequest)return e;let i=new $root.sesame.v1.outputs.OutputAddRequest;if(e.id!=null&&(i.id=String(e.id)),e.compositionId!=null&&(i.compositionId=String(e.compositionId)),e.audioMixIds){if(!Array.isArray(e.audioMixIds))throw TypeError(".sesame.v1.outputs.OutputAddRequest.audioMixIds: array expected");i.audioMixIds=[];for(let a=0;a<e.audioMixIds.length;++a)i.audioMixIds[a]=String(e.audioMixIds[a])}if(e.useAsClock!=null&&(i.useAsClock=!!e.useAsClock),e.websocket!=null){if(typeof e.websocket!="object")throw TypeError(".sesame.v1.outputs.OutputAddRequest.websocket: object expected");i.websocket=$root.sesame.v1.outputs.EncodedWebSocketOutputConfig.fromObject(e.websocket)}if(e.recorder!=null){if(typeof e.recorder!="object")throw TypeError(".sesame.v1.outputs.OutputAddRequest.recorder: object expected");i.recorder=$root.sesame.v1.outputs.EncodedRecorderOutputConfig.fromObject(e.recorder)}if(e.superSlowmoRecorder!=null){if(typeof e.superSlowmoRecorder!="object")throw TypeError(".sesame.v1.outputs.OutputAddRequest.superSlowmoRecorder: object expected");i.superSlowmoRecorder=$root.sesame.v1.outputs.EncodedSuperSlowMoRecorderOutputConfig.fromObject(e.superSlowmoRecorder)}if(e.srt!=null){if(typeof e.srt!="object")throw TypeError(".sesame.v1.outputs.OutputAddRequest.srt: object expected");i.srt=$root.sesame.v1.outputs.EncodedSrtOutputConfig.fromObject(e.srt)}if(e.moq!=null){if(typeof e.moq!="object")throw TypeError(".sesame.v1.outputs.OutputAddRequest.moq: object expected");i.moq=$root.sesame.v1.outputs.EncodedMoqOutputConfig.fromObject(e.moq)}if(e.decklink!=null){if(typeof e.decklink!="object")throw TypeError(".sesame.v1.outputs.OutputAddRequest.decklink: object expected");i.decklink=$root.sesame.v1.outputs.DecklinkOutputConfig.fromObject(e.decklink)}if(e.systemAudio!=null){if(typeof e.systemAudio!="object")throw TypeError(".sesame.v1.outputs.OutputAddRequest.systemAudio: object expected");i.systemAudio=$root.sesame.v1.outputs.SystemAudioOutputConfig.fromObject(e.systemAudio)}return i},n.toObject=function(e,i){i||(i={});let a={};if((i.arrays||i.defaults)&&(a.audioMixIds=[]),i.defaults&&(a.id="",a.compositionId="",a.useAsClock=!1),e.id!=null&&e.hasOwnProperty("id")&&(a.id=e.id),e.compositionId!=null&&e.hasOwnProperty("compositionId")&&(a.compositionId=e.compositionId),e.audioMixIds&&e.audioMixIds.length){a.audioMixIds=[];for(let s=0;s<e.audioMixIds.length;++s)a.audioMixIds[s]=e.audioMixIds[s]}return e.useAsClock!=null&&e.hasOwnProperty("useAsClock")&&(a.useAsClock=e.useAsClock),e.websocket!=null&&e.hasOwnProperty("websocket")&&(a.websocket=$root.sesame.v1.outputs.EncodedWebSocketOutputConfig.toObject(e.websocket,i),i.oneofs&&(a.output="websocket")),e.recorder!=null&&e.hasOwnProperty("recorder")&&(a.recorder=$root.sesame.v1.outputs.EncodedRecorderOutputConfig.toObject(e.recorder,i),i.oneofs&&(a.output="recorder")),e.superSlowmoRecorder!=null&&e.hasOwnProperty("superSlowmoRecorder")&&(a.superSlowmoRecorder=$root.sesame.v1.outputs.EncodedSuperSlowMoRecorderOutputConfig.toObject(e.superSlowmoRecorder,i),i.oneofs&&(a.output="superSlowmoRecorder")),e.srt!=null&&e.hasOwnProperty("srt")&&(a.srt=$root.sesame.v1.outputs.EncodedSrtOutputConfig.toObject(e.srt,i),i.oneofs&&(a.output="srt")),e.moq!=null&&e.hasOwnProperty("moq")&&(a.moq=$root.sesame.v1.outputs.EncodedMoqOutputConfig.toObject(e.moq,i),i.oneofs&&(a.output="moq")),e.decklink!=null&&e.hasOwnProperty("decklink")&&(a.decklink=$root.sesame.v1.outputs.DecklinkOutputConfig.toObject(e.decklink,i),i.oneofs&&(a.output="decklink")),e.systemAudio!=null&&e.hasOwnProperty("systemAudio")&&(a.systemAudio=$root.sesame.v1.outputs.SystemAudioOutputConfig.toObject(e.systemAudio,i),i.oneofs&&(a.output="systemAudio")),a},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/sesame.v1.outputs.OutputAddRequest"},n}(),l.OutputUpdateRequest=function(){function n(t){if(this.audioMixIds=[],t)for(let e=Object.keys(t),i=0;i<e.length;++i)t[e[i]]!=null&&(this[e[i]]=t[e[i]])}n.prototype.id="",n.prototype.compositionId="",n.prototype.audioMixIds=$util.emptyArray,n.prototype.useAsClock=!1,n.prototype.websocket=null,n.prototype.recorder=null,n.prototype.superSlowmoRecorder=null,n.prototype.srt=null,n.prototype.moq=null,n.prototype.decklink=null,n.prototype.systemAudio=null;let r;return Object.defineProperty(n.prototype,"output",{get:$util.oneOfGetter(r=["websocket","recorder","superSlowmoRecorder","srt","moq","decklink","systemAudio"]),set:$util.oneOfSetter(r)}),n.create=function(e){return new n(e)},n.encode=function(e,i){if(i||(i=$Writer.create()),e.id!=null&&Object.hasOwnProperty.call(e,"id")&&i.uint32(10).string(e.id),e.compositionId!=null&&Object.hasOwnProperty.call(e,"compositionId")&&i.uint32(18).string(e.compositionId),e.audioMixIds!=null&&e.audioMixIds.length)for(let a=0;a<e.audioMixIds.length;++a)i.uint32(26).string(e.audioMixIds[a]);return e.useAsClock!=null&&Object.hasOwnProperty.call(e,"useAsClock")&&i.uint32(32).bool(e.useAsClock),e.websocket!=null&&Object.hasOwnProperty.call(e,"websocket")&&$root.sesame.v1.outputs.EncodedWebSocketOutputConfig.encode(e.websocket,i.uint32(82).fork()).ldelim(),e.recorder!=null&&Object.hasOwnProperty.call(e,"recorder")&&$root.sesame.v1.outputs.EncodedRecorderOutputConfig.encode(e.recorder,i.uint32(90).fork()).ldelim(),e.superSlowmoRecorder!=null&&Object.hasOwnProperty.call(e,"superSlowmoRecorder")&&$root.sesame.v1.outputs.EncodedSuperSlowMoRecorderOutputConfig.encode(e.superSlowmoRecorder,i.uint32(98).fork()).ldelim(),e.srt!=null&&Object.hasOwnProperty.call(e,"srt")&&$root.sesame.v1.outputs.EncodedSrtOutputConfig.encode(e.srt,i.uint32(106).fork()).ldelim(),e.moq!=null&&Object.hasOwnProperty.call(e,"moq")&&$root.sesame.v1.outputs.EncodedMoqOutputConfig.encode(e.moq,i.uint32(114).fork()).ldelim(),e.decklink!=null&&Object.hasOwnProperty.call(e,"decklink")&&$root.sesame.v1.outputs.DecklinkOutputConfig.encode(e.decklink,i.uint32(122).fork()).ldelim(),e.systemAudio!=null&&Object.hasOwnProperty.call(e,"systemAudio")&&$root.sesame.v1.outputs.SystemAudioOutputConfig.encode(e.systemAudio,i.uint32(130).fork()).ldelim(),i},n.encodeDelimited=function(e,i){return this.encode(e,i).ldelim()},n.decode=function(e,i,a){e instanceof $Reader||(e=$Reader.create(e));let s=i===void 0?e.len:e.pos+i,d=new $root.sesame.v1.outputs.OutputUpdateRequest;for(;e.pos<s;){let c=e.uint32();if(c===a)break;switch(c>>>3){case 1:{d.id=e.string();break}case 2:{d.compositionId=e.string();break}case 3:{d.audioMixIds&&d.audioMixIds.length||(d.audioMixIds=[]),d.audioMixIds.push(e.string());break}case 4:{d.useAsClock=e.bool();break}case 10:{d.websocket=$root.sesame.v1.outputs.EncodedWebSocketOutputConfig.decode(e,e.uint32());break}case 11:{d.recorder=$root.sesame.v1.outputs.EncodedRecorderOutputConfig.decode(e,e.uint32());break}case 12:{d.superSlowmoRecorder=$root.sesame.v1.outputs.EncodedSuperSlowMoRecorderOutputConfig.decode(e,e.uint32());break}case 13:{d.srt=$root.sesame.v1.outputs.EncodedSrtOutputConfig.decode(e,e.uint32());break}case 14:{d.moq=$root.sesame.v1.outputs.EncodedMoqOutputConfig.decode(e,e.uint32());break}case 15:{d.decklink=$root.sesame.v1.outputs.DecklinkOutputConfig.decode(e,e.uint32());break}case 16:{d.systemAudio=$root.sesame.v1.outputs.SystemAudioOutputConfig.decode(e,e.uint32());break}default:e.skipType(c&7);break}}return d},n.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},n.verify=function(e){if(typeof e!="object"||e===null)return"object expected";let i={};if(e.id!=null&&e.hasOwnProperty("id")&&!$util.isString(e.id))return"id: string expected";if(e.compositionId!=null&&e.hasOwnProperty("compositionId")&&!$util.isString(e.compositionId))return"compositionId: string expected";if(e.audioMixIds!=null&&e.hasOwnProperty("audioMixIds")){if(!Array.isArray(e.audioMixIds))return"audioMixIds: array expected";for(let a=0;a<e.audioMixIds.length;++a)if(!$util.isString(e.audioMixIds[a]))return"audioMixIds: string[] expected"}if(e.useAsClock!=null&&e.hasOwnProperty("useAsClock")&&typeof e.useAsClock!="boolean")return"useAsClock: boolean expected";if(e.websocket!=null&&e.hasOwnProperty("websocket")){i.output=1;{let a=$root.sesame.v1.outputs.EncodedWebSocketOutputConfig.verify(e.websocket);if(a)return"websocket."+a}}if(e.recorder!=null&&e.hasOwnProperty("recorder")){if(i.output===1)return"output: multiple values";i.output=1;{let a=$root.sesame.v1.outputs.EncodedRecorderOutputConfig.verify(e.recorder);if(a)return"recorder."+a}}if(e.superSlowmoRecorder!=null&&e.hasOwnProperty("superSlowmoRecorder")){if(i.output===1)return"output: multiple values";i.output=1;{let a=$root.sesame.v1.outputs.EncodedSuperSlowMoRecorderOutputConfig.verify(e.superSlowmoRecorder);if(a)return"superSlowmoRecorder."+a}}if(e.srt!=null&&e.hasOwnProperty("srt")){if(i.output===1)return"output: multiple values";i.output=1;{let a=$root.sesame.v1.outputs.EncodedSrtOutputConfig.verify(e.srt);if(a)return"srt."+a}}if(e.moq!=null&&e.hasOwnProperty("moq")){if(i.output===1)return"output: multiple values";i.output=1;{let a=$root.sesame.v1.outputs.EncodedMoqOutputConfig.verify(e.moq);if(a)return"moq."+a}}if(e.decklink!=null&&e.hasOwnProperty("decklink")){if(i.output===1)return"output: multiple values";i.output=1;{let a=$root.sesame.v1.outputs.DecklinkOutputConfig.verify(e.decklink);if(a)return"decklink."+a}}if(e.systemAudio!=null&&e.hasOwnProperty("systemAudio")){if(i.output===1)return"output: multiple values";i.output=1;{let a=$root.sesame.v1.outputs.SystemAudioOutputConfig.verify(e.systemAudio);if(a)return"systemAudio."+a}}return null},n.fromObject=function(e){if(e instanceof $root.sesame.v1.outputs.OutputUpdateRequest)return e;let i=new $root.sesame.v1.outputs.OutputUpdateRequest;if(e.id!=null&&(i.id=String(e.id)),e.compositionId!=null&&(i.compositionId=String(e.compositionId)),e.audioMixIds){if(!Array.isArray(e.audioMixIds))throw TypeError(".sesame.v1.outputs.OutputUpdateRequest.audioMixIds: array expected");i.audioMixIds=[];for(let a=0;a<e.audioMixIds.length;++a)i.audioMixIds[a]=String(e.audioMixIds[a])}if(e.useAsClock!=null&&(i.useAsClock=!!e.useAsClock),e.websocket!=null){if(typeof e.websocket!="object")throw TypeError(".sesame.v1.outputs.OutputUpdateRequest.websocket: object expected");i.websocket=$root.sesame.v1.outputs.EncodedWebSocketOutputConfig.fromObject(e.websocket)}if(e.recorder!=null){if(typeof e.recorder!="object")throw TypeError(".sesame.v1.outputs.OutputUpdateRequest.recorder: object expected");i.recorder=$root.sesame.v1.outputs.EncodedRecorderOutputConfig.fromObject(e.recorder)}if(e.superSlowmoRecorder!=null){if(typeof e.superSlowmoRecorder!="object")throw TypeError(".sesame.v1.outputs.OutputUpdateRequest.superSlowmoRecorder: object expected");i.superSlowmoRecorder=$root.sesame.v1.outputs.EncodedSuperSlowMoRecorderOutputConfig.fromObject(e.superSlowmoRecorder)}if(e.srt!=null){if(typeof e.srt!="object")throw TypeError(".sesame.v1.outputs.OutputUpdateRequest.srt: object expected");i.srt=$root.sesame.v1.outputs.EncodedSrtOutputConfig.fromObject(e.srt)}if(e.moq!=null){if(typeof e.moq!="object")throw TypeError(".sesame.v1.outputs.OutputUpdateRequest.moq: object expected");i.moq=$root.sesame.v1.outputs.EncodedMoqOutputConfig.fromObject(e.moq)}if(e.decklink!=null){if(typeof e.decklink!="object")throw TypeError(".sesame.v1.outputs.OutputUpdateRequest.decklink: object expected");i.decklink=$root.sesame.v1.outputs.DecklinkOutputConfig.fromObject(e.decklink)}if(e.systemAudio!=null){if(typeof e.systemAudio!="object")throw TypeError(".sesame.v1.outputs.OutputUpdateRequest.systemAudio: object expected");i.systemAudio=$root.sesame.v1.outputs.SystemAudioOutputConfig.fromObject(e.systemAudio)}return i},n.toObject=function(e,i){i||(i={});let a={};if((i.arrays||i.defaults)&&(a.audioMixIds=[]),i.defaults&&(a.id="",a.compositionId="",a.useAsClock=!1),e.id!=null&&e.hasOwnProperty("id")&&(a.id=e.id),e.compositionId!=null&&e.hasOwnProperty("compositionId")&&(a.compositionId=e.compositionId),e.audioMixIds&&e.audioMixIds.length){a.audioMixIds=[];for(let s=0;s<e.audioMixIds.length;++s)a.audioMixIds[s]=e.audioMixIds[s]}return e.useAsClock!=null&&e.hasOwnProperty("useAsClock")&&(a.useAsClock=e.useAsClock),e.websocket!=null&&e.hasOwnProperty("websocket")&&(a.websocket=$root.sesame.v1.outputs.EncodedWebSocketOutputConfig.toObject(e.websocket,i),i.oneofs&&(a.output="websocket")),e.recorder!=null&&e.hasOwnProperty("recorder")&&(a.recorder=$root.sesame.v1.outputs.EncodedRecorderOutputConfig.toObject(e.recorder,i),i.oneofs&&(a.output="recorder")),e.superSlowmoRecorder!=null&&e.hasOwnProperty("superSlowmoRecorder")&&(a.superSlowmoRecorder=$root.sesame.v1.outputs.EncodedSuperSlowMoRecorderOutputConfig.toObject(e.superSlowmoRecorder,i),i.oneofs&&(a.output="superSlowmoRecorder")),e.srt!=null&&e.hasOwnProperty("srt")&&(a.srt=$root.sesame.v1.outputs.EncodedSrtOutputConfig.toObject(e.srt,i),i.oneofs&&(a.output="srt")),e.moq!=null&&e.hasOwnProperty("moq")&&(a.moq=$root.sesame.v1.outputs.EncodedMoqOutputConfig.toObject(e.moq,i),i.oneofs&&(a.output="moq")),e.decklink!=null&&e.hasOwnProperty("decklink")&&(a.decklink=$root.sesame.v1.outputs.DecklinkOutputConfig.toObject(e.decklink,i),i.oneofs&&(a.output="decklink")),e.systemAudio!=null&&e.hasOwnProperty("systemAudio")&&(a.systemAudio=$root.sesame.v1.outputs.SystemAudioOutputConfig.toObject(e.systemAudio,i),i.oneofs&&(a.output="systemAudio")),a},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/sesame.v1.outputs.OutputUpdateRequest"},n}(),l.OutputRemoveRequest=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.id="",n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.id!=null&&Object.hasOwnProperty.call(t,"id")&&e.uint32(10).string(t.id),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.outputs.OutputRemoveRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.id=t.string();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.id!=null&&t.hasOwnProperty("id")&&!$util.isString(t.id)?"id: string expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.outputs.OutputRemoveRequest)return t;let e=new $root.sesame.v1.outputs.OutputRemoveRequest;return t.id!=null&&(e.id=String(t.id)),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.id=""),t.id!=null&&t.hasOwnProperty("id")&&(i.id=t.id),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.outputs.OutputRemoveRequest"},n}(),l.KeyframeRequest=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.id="",n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.id!=null&&Object.hasOwnProperty.call(t,"id")&&e.uint32(10).string(t.id),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.outputs.KeyframeRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.id=t.string();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.id!=null&&t.hasOwnProperty("id")&&!$util.isString(t.id)?"id: string expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.outputs.KeyframeRequest)return t;let e=new $root.sesame.v1.outputs.KeyframeRequest;return t.id!=null&&(e.id=String(t.id)),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.id=""),t.id!=null&&t.hasOwnProperty("id")&&(i.id=t.id),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.outputs.KeyframeRequest"},n}(),l.OutputStatus=function(){function n(t){if(t)for(let e=Object.keys(t),i=0;i<e.length;++i)t[e[i]]!=null&&(this[e[i]]=t[e[i]])}n.prototype.id="",n.prototype.type=0,n.prototype.state=0,n.prototype.msg=null,n.prototype.url="",n.prototype.bufferSize=0,n.prototype.srtStats=null;let r;return Object.defineProperty(n.prototype,"_msg",{get:$util.oneOfGetter(r=["msg"]),set:$util.oneOfSetter(r)}),Object.defineProperty(n.prototype,"_srtStats",{get:$util.oneOfGetter(r=["srtStats"]),set:$util.oneOfSetter(r)}),n.create=function(e){return new n(e)},n.encode=function(e,i){return i||(i=$Writer.create()),e.id!=null&&Object.hasOwnProperty.call(e,"id")&&i.uint32(10).string(e.id),e.type!=null&&Object.hasOwnProperty.call(e,"type")&&i.uint32(16).int32(e.type),e.state!=null&&Object.hasOwnProperty.call(e,"state")&&i.uint32(24).int32(e.state),e.msg!=null&&Object.hasOwnProperty.call(e,"msg")&&i.uint32(34).string(e.msg),e.url!=null&&Object.hasOwnProperty.call(e,"url")&&i.uint32(42).string(e.url),e.bufferSize!=null&&Object.hasOwnProperty.call(e,"bufferSize")&&i.uint32(48).uint32(e.bufferSize),e.srtStats!=null&&Object.hasOwnProperty.call(e,"srtStats")&&$root.sesame.v1.status.SRTSendStatistics.encode(e.srtStats,i.uint32(58).fork()).ldelim(),i},n.encodeDelimited=function(e,i){return this.encode(e,i).ldelim()},n.decode=function(e,i,a){e instanceof $Reader||(e=$Reader.create(e));let s=i===void 0?e.len:e.pos+i,d=new $root.sesame.v1.outputs.OutputStatus;for(;e.pos<s;){let c=e.uint32();if(c===a)break;switch(c>>>3){case 1:{d.id=e.string();break}case 2:{d.type=e.int32();break}case 3:{d.state=e.int32();break}case 4:{d.msg=e.string();break}case 5:{d.url=e.string();break}case 6:{d.bufferSize=e.uint32();break}case 7:{d.srtStats=$root.sesame.v1.status.SRTSendStatistics.decode(e,e.uint32());break}default:e.skipType(c&7);break}}return d},n.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},n.verify=function(e){if(typeof e!="object"||e===null)return"object expected";if(e.id!=null&&e.hasOwnProperty("id")&&!$util.isString(e.id))return"id: string expected";if(e.type!=null&&e.hasOwnProperty("type"))switch(e.type){default:return"type: enum value expected";case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:break}if(e.state!=null&&e.hasOwnProperty("state"))switch(e.state){default:return"state: enum value expected";case 0:case 1:case 2:case 3:case 4:case 5:case 6:break}if(e.msg!=null&&e.hasOwnProperty("msg")&&!$util.isString(e.msg))return"msg: string expected";if(e.url!=null&&e.hasOwnProperty("url")&&!$util.isString(e.url))return"url: string expected";if(e.bufferSize!=null&&e.hasOwnProperty("bufferSize")&&!$util.isInteger(e.bufferSize))return"bufferSize: integer expected";if(e.srtStats!=null&&e.hasOwnProperty("srtStats")){let i=$root.sesame.v1.status.SRTSendStatistics.verify(e.srtStats);if(i)return"srtStats."+i}return null},n.fromObject=function(e){if(e instanceof $root.sesame.v1.outputs.OutputStatus)return e;let i=new $root.sesame.v1.outputs.OutputStatus;switch(e.id!=null&&(i.id=String(e.id)),e.type){default:if(typeof e.type=="number"){i.type=e.type;break}break;case"OUTPUT_TYPE_UNSPECIFIED":case 0:i.type=0;break;case"OUTPUT_TYPE_ENCODED_WEBSOCKET":case 1:i.type=1;break;case"OUTPUT_TYPE_ENCODED_RECORDER":case 2:i.type=2;break;case"OUTPUT_TYPE_DECKLINK":case 3:i.type=3;break;case"OUTPUT_TYPE_SYSTEM_AUDIO":case 4:i.type=4;break;case"OUTPUT_TYPE_ENCODED_SRT":case 5:i.type=5;break;case"OUTPUT_TYPE_ENCODED_MOQ":case 6:i.type=6;break;case"OUTPUT_TYPE_ENCODED_SUPER_SLOWMO_RECORDER":case 7:i.type=7;break}switch(e.state){default:if(typeof e.state=="number"){i.state=e.state;break}break;case"CONNECTION_STATE_UNSPECIFIED":case 0:i.state=0;break;case"CONNECTION_STATE_INITIALIZING":case 1:i.state=1;break;case"CONNECTION_STATE_CONNECTING":case 2:i.state=2;break;case"CONNECTION_STATE_ONLINE":case 3:i.state=3;break;case"CONNECTION_STATE_DEGRADED":case 4:i.state=4;break;case"CONNECTION_STATE_OFFLINE":case 5:i.state=5;break;case"CONNECTION_STATE_ERROR":case 6:i.state=6;break}if(e.msg!=null&&(i.msg=String(e.msg)),e.url!=null&&(i.url=String(e.url)),e.bufferSize!=null&&(i.bufferSize=e.bufferSize>>>0),e.srtStats!=null){if(typeof e.srtStats!="object")throw TypeError(".sesame.v1.outputs.OutputStatus.srtStats: object expected");i.srtStats=$root.sesame.v1.status.SRTSendStatistics.fromObject(e.srtStats)}return i},n.toObject=function(e,i){i||(i={});let a={};return i.defaults&&(a.id="",a.type=i.enums===String?"OUTPUT_TYPE_UNSPECIFIED":0,a.state=i.enums===String?"CONNECTION_STATE_UNSPECIFIED":0,a.url="",a.bufferSize=0),e.id!=null&&e.hasOwnProperty("id")&&(a.id=e.id),e.type!=null&&e.hasOwnProperty("type")&&(a.type=i.enums===String?$root.sesame.v1.outputs.OutputType[e.type]===void 0?e.type:$root.sesame.v1.outputs.OutputType[e.type]:e.type),e.state!=null&&e.hasOwnProperty("state")&&(a.state=i.enums===String?$root.sesame.v1.common.ConnectionState[e.state]===void 0?e.state:$root.sesame.v1.common.ConnectionState[e.state]:e.state),e.msg!=null&&e.hasOwnProperty("msg")&&(a.msg=e.msg,i.oneofs&&(a._msg="msg")),e.url!=null&&e.hasOwnProperty("url")&&(a.url=e.url),e.bufferSize!=null&&e.hasOwnProperty("bufferSize")&&(a.bufferSize=e.bufferSize),e.srtStats!=null&&e.hasOwnProperty("srtStats")&&(a.srtStats=$root.sesame.v1.status.SRTSendStatistics.toObject(e.srtStats,i),i.oneofs&&(a._srtStats="srtStats")),a},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/sesame.v1.outputs.OutputStatus"},n}(),l}(),o.compositor=function(){const l={};return l.NodeType=function(){const n={},r=Object.create(n);return r[n[0]="NODE_TYPE_UNSPECIFIED"]=0,r[n[1]="NODE_TYPE_GROUP"]=1,r[n[2]="NODE_TYPE_TEXT"]=2,r[n[3]="NODE_TYPE_VIDEO_BOX"]=3,r[n[4]="NODE_TYPE_IMAGE"]=4,r[n[5]="NODE_TYPE_EFFECT_RTT"]=5,r[n[6]="NODE_TYPE_EFFECT_TIMECODE"]=6,r[n[7]="NODE_TYPE_EFFECT_CLIP_PLANE"]=7,r}(),l.AnimationChannelEvaluationMode=function(){const n={},r=Object.create(n);return r[n[0]="ANIM_MODE_CONSTANT"]=0,r[n[1]="ANIM_MODE_STATE_FROM"]=1,r[n[2]="ANIM_MODE_LOOP"]=2,r[n[3]="ANIM_MODE_BOUNCE"]=3,r}(),l.KeyFrame=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.timeUs=$util.Long?$util.Long.fromBits(0,0,!1):0,n.prototype.value=null,n.prototype.easingIn="",n.prototype.easingOut="",n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.timeUs!=null&&Object.hasOwnProperty.call(t,"timeUs")&&e.uint32(8).int64(t.timeUs),t.value!=null&&Object.hasOwnProperty.call(t,"value")&&$root.sesame.v1.common.PropValue.encode(t.value,e.uint32(18).fork()).ldelim(),t.easingIn!=null&&Object.hasOwnProperty.call(t,"easingIn")&&e.uint32(26).string(t.easingIn),t.easingOut!=null&&Object.hasOwnProperty.call(t,"easingOut")&&e.uint32(34).string(t.easingOut),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.compositor.KeyFrame;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.timeUs=t.int64();break}case 2:{s.value=$root.sesame.v1.common.PropValue.decode(t,t.uint32());break}case 3:{s.easingIn=t.string();break}case 4:{s.easingOut=t.string();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.timeUs!=null&&t.hasOwnProperty("timeUs")&&!$util.isInteger(t.timeUs)&&!(t.timeUs&&$util.isInteger(t.timeUs.low)&&$util.isInteger(t.timeUs.high)))return"timeUs: integer|Long expected";if(t.value!=null&&t.hasOwnProperty("value")){let e=$root.sesame.v1.common.PropValue.verify(t.value);if(e)return"value."+e}return t.easingIn!=null&&t.hasOwnProperty("easingIn")&&!$util.isString(t.easingIn)?"easingIn: string expected":t.easingOut!=null&&t.hasOwnProperty("easingOut")&&!$util.isString(t.easingOut)?"easingOut: string expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.compositor.KeyFrame)return t;let e=new $root.sesame.v1.compositor.KeyFrame;if(t.timeUs!=null&&($util.Long?(e.timeUs=$util.Long.fromValue(t.timeUs)).unsigned=!1:typeof t.timeUs=="string"?e.timeUs=parseInt(t.timeUs,10):typeof t.timeUs=="number"?e.timeUs=t.timeUs:typeof t.timeUs=="object"&&(e.timeUs=new $util.LongBits(t.timeUs.low>>>0,t.timeUs.high>>>0).toNumber())),t.value!=null){if(typeof t.value!="object")throw TypeError(".sesame.v1.compositor.KeyFrame.value: object expected");e.value=$root.sesame.v1.common.PropValue.fromObject(t.value)}return t.easingIn!=null&&(e.easingIn=String(t.easingIn)),t.easingOut!=null&&(e.easingOut=String(t.easingOut)),e},n.toObject=function(t,e){e||(e={});let i={};if(e.defaults){if($util.Long){let a=new $util.Long(0,0,!1);i.timeUs=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.timeUs=e.longs===String?"0":0;i.value=null,i.easingIn="",i.easingOut=""}return t.timeUs!=null&&t.hasOwnProperty("timeUs")&&(typeof t.timeUs=="number"?i.timeUs=e.longs===String?String(t.timeUs):t.timeUs:i.timeUs=e.longs===String?$util.Long.prototype.toString.call(t.timeUs):e.longs===Number?new $util.LongBits(t.timeUs.low>>>0,t.timeUs.high>>>0).toNumber():t.timeUs),t.value!=null&&t.hasOwnProperty("value")&&(i.value=$root.sesame.v1.common.PropValue.toObject(t.value,e)),t.easingIn!=null&&t.hasOwnProperty("easingIn")&&(i.easingIn=t.easingIn),t.easingOut!=null&&t.hasOwnProperty("easingOut")&&(i.easingOut=t.easingOut),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.compositor.KeyFrame"},n}(),l.CompositorAddRequest=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.id="",n.prototype.multisample=!1,n.prototype.width=0,n.prototype.height=0,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.id!=null&&Object.hasOwnProperty.call(t,"id")&&e.uint32(10).string(t.id),t.multisample!=null&&Object.hasOwnProperty.call(t,"multisample")&&e.uint32(16).bool(t.multisample),t.width!=null&&Object.hasOwnProperty.call(t,"width")&&e.uint32(24).uint32(t.width),t.height!=null&&Object.hasOwnProperty.call(t,"height")&&e.uint32(32).uint32(t.height),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.compositor.CompositorAddRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.id=t.string();break}case 2:{s.multisample=t.bool();break}case 3:{s.width=t.uint32();break}case 4:{s.height=t.uint32();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.id!=null&&t.hasOwnProperty("id")&&!$util.isString(t.id)?"id: string expected":t.multisample!=null&&t.hasOwnProperty("multisample")&&typeof t.multisample!="boolean"?"multisample: boolean expected":t.width!=null&&t.hasOwnProperty("width")&&!$util.isInteger(t.width)?"width: integer expected":t.height!=null&&t.hasOwnProperty("height")&&!$util.isInteger(t.height)?"height: integer expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.compositor.CompositorAddRequest)return t;let e=new $root.sesame.v1.compositor.CompositorAddRequest;return t.id!=null&&(e.id=String(t.id)),t.multisample!=null&&(e.multisample=!!t.multisample),t.width!=null&&(e.width=t.width>>>0),t.height!=null&&(e.height=t.height>>>0),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.id="",i.multisample=!1,i.width=0,i.height=0),t.id!=null&&t.hasOwnProperty("id")&&(i.id=t.id),t.multisample!=null&&t.hasOwnProperty("multisample")&&(i.multisample=t.multisample),t.width!=null&&t.hasOwnProperty("width")&&(i.width=t.width),t.height!=null&&t.hasOwnProperty("height")&&(i.height=t.height),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.compositor.CompositorAddRequest"},n}(),l.CompositorRemoveRequest=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.id="",n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.id!=null&&Object.hasOwnProperty.call(t,"id")&&e.uint32(10).string(t.id),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.compositor.CompositorRemoveRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.id=t.string();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.id!=null&&t.hasOwnProperty("id")&&!$util.isString(t.id)?"id: string expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.compositor.CompositorRemoveRequest)return t;let e=new $root.sesame.v1.compositor.CompositorRemoveRequest;return t.id!=null&&(e.id=String(t.id)),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.id=""),t.id!=null&&t.hasOwnProperty("id")&&(i.id=t.id),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.compositor.CompositorRemoveRequest"},n}(),l.CompositorClearRequest=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.id="",n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.id!=null&&Object.hasOwnProperty.call(t,"id")&&e.uint32(10).string(t.id),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.compositor.CompositorClearRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.id=t.string();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.id!=null&&t.hasOwnProperty("id")&&!$util.isString(t.id)?"id: string expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.compositor.CompositorClearRequest)return t;let e=new $root.sesame.v1.compositor.CompositorClearRequest;return t.id!=null&&(e.id=String(t.id)),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.id=""),t.id!=null&&t.hasOwnProperty("id")&&(i.id=t.id),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.compositor.CompositorClearRequest"},n}(),l.NodeAddRequest=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.compositorId="",n.prototype.parentAddress="",n.prototype.nodeId="",n.prototype.nodeType=0,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.compositorId!=null&&Object.hasOwnProperty.call(t,"compositorId")&&e.uint32(10).string(t.compositorId),t.parentAddress!=null&&Object.hasOwnProperty.call(t,"parentAddress")&&e.uint32(18).string(t.parentAddress),t.nodeId!=null&&Object.hasOwnProperty.call(t,"nodeId")&&e.uint32(26).string(t.nodeId),t.nodeType!=null&&Object.hasOwnProperty.call(t,"nodeType")&&e.uint32(32).int32(t.nodeType),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.compositor.NodeAddRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.compositorId=t.string();break}case 2:{s.parentAddress=t.string();break}case 3:{s.nodeId=t.string();break}case 4:{s.nodeType=t.int32();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.compositorId!=null&&t.hasOwnProperty("compositorId")&&!$util.isString(t.compositorId))return"compositorId: string expected";if(t.parentAddress!=null&&t.hasOwnProperty("parentAddress")&&!$util.isString(t.parentAddress))return"parentAddress: string expected";if(t.nodeId!=null&&t.hasOwnProperty("nodeId")&&!$util.isString(t.nodeId))return"nodeId: string expected";if(t.nodeType!=null&&t.hasOwnProperty("nodeType"))switch(t.nodeType){default:return"nodeType: enum value expected";case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:break}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.compositor.NodeAddRequest)return t;let e=new $root.sesame.v1.compositor.NodeAddRequest;switch(t.compositorId!=null&&(e.compositorId=String(t.compositorId)),t.parentAddress!=null&&(e.parentAddress=String(t.parentAddress)),t.nodeId!=null&&(e.nodeId=String(t.nodeId)),t.nodeType){default:if(typeof t.nodeType=="number"){e.nodeType=t.nodeType;break}break;case"NODE_TYPE_UNSPECIFIED":case 0:e.nodeType=0;break;case"NODE_TYPE_GROUP":case 1:e.nodeType=1;break;case"NODE_TYPE_TEXT":case 2:e.nodeType=2;break;case"NODE_TYPE_VIDEO_BOX":case 3:e.nodeType=3;break;case"NODE_TYPE_IMAGE":case 4:e.nodeType=4;break;case"NODE_TYPE_EFFECT_RTT":case 5:e.nodeType=5;break;case"NODE_TYPE_EFFECT_TIMECODE":case 6:e.nodeType=6;break;case"NODE_TYPE_EFFECT_CLIP_PLANE":case 7:e.nodeType=7;break}return e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.compositorId="",i.parentAddress="",i.nodeId="",i.nodeType=e.enums===String?"NODE_TYPE_UNSPECIFIED":0),t.compositorId!=null&&t.hasOwnProperty("compositorId")&&(i.compositorId=t.compositorId),t.parentAddress!=null&&t.hasOwnProperty("parentAddress")&&(i.parentAddress=t.parentAddress),t.nodeId!=null&&t.hasOwnProperty("nodeId")&&(i.nodeId=t.nodeId),t.nodeType!=null&&t.hasOwnProperty("nodeType")&&(i.nodeType=e.enums===String?$root.sesame.v1.compositor.NodeType[t.nodeType]===void 0?t.nodeType:$root.sesame.v1.compositor.NodeType[t.nodeType]:t.nodeType),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.compositor.NodeAddRequest"},n}(),l.NodeRemoveRequest=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.compositorId="",n.prototype.address="",n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.compositorId!=null&&Object.hasOwnProperty.call(t,"compositorId")&&e.uint32(10).string(t.compositorId),t.address!=null&&Object.hasOwnProperty.call(t,"address")&&e.uint32(18).string(t.address),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.compositor.NodeRemoveRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.compositorId=t.string();break}case 2:{s.address=t.string();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.compositorId!=null&&t.hasOwnProperty("compositorId")&&!$util.isString(t.compositorId)?"compositorId: string expected":t.address!=null&&t.hasOwnProperty("address")&&!$util.isString(t.address)?"address: string expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.compositor.NodeRemoveRequest)return t;let e=new $root.sesame.v1.compositor.NodeRemoveRequest;return t.compositorId!=null&&(e.compositorId=String(t.compositorId)),t.address!=null&&(e.address=String(t.address)),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.compositorId="",i.address=""),t.compositorId!=null&&t.hasOwnProperty("compositorId")&&(i.compositorId=t.compositorId),t.address!=null&&t.hasOwnProperty("address")&&(i.address=t.address),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.compositor.NodeRemoveRequest"},n}(),l.PropertySetRequest=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.domain=null,n.prototype.address="",n.prototype.property="",n.prototype.value=null,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.domain!=null&&Object.hasOwnProperty.call(t,"domain")&&$root.sesame.v1.common.PropertyDomain.encode(t.domain,e.uint32(10).fork()).ldelim(),t.address!=null&&Object.hasOwnProperty.call(t,"address")&&e.uint32(18).string(t.address),t.property!=null&&Object.hasOwnProperty.call(t,"property")&&e.uint32(26).string(t.property),t.value!=null&&Object.hasOwnProperty.call(t,"value")&&$root.sesame.v1.common.PropValue.encode(t.value,e.uint32(34).fork()).ldelim(),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.compositor.PropertySetRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.domain=$root.sesame.v1.common.PropertyDomain.decode(t,t.uint32());break}case 2:{s.address=t.string();break}case 3:{s.property=t.string();break}case 4:{s.value=$root.sesame.v1.common.PropValue.decode(t,t.uint32());break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.domain!=null&&t.hasOwnProperty("domain")){let e=$root.sesame.v1.common.PropertyDomain.verify(t.domain);if(e)return"domain."+e}if(t.address!=null&&t.hasOwnProperty("address")&&!$util.isString(t.address))return"address: string expected";if(t.property!=null&&t.hasOwnProperty("property")&&!$util.isString(t.property))return"property: string expected";if(t.value!=null&&t.hasOwnProperty("value")){let e=$root.sesame.v1.common.PropValue.verify(t.value);if(e)return"value."+e}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.compositor.PropertySetRequest)return t;let e=new $root.sesame.v1.compositor.PropertySetRequest;if(t.domain!=null){if(typeof t.domain!="object")throw TypeError(".sesame.v1.compositor.PropertySetRequest.domain: object expected");e.domain=$root.sesame.v1.common.PropertyDomain.fromObject(t.domain)}if(t.address!=null&&(e.address=String(t.address)),t.property!=null&&(e.property=String(t.property)),t.value!=null){if(typeof t.value!="object")throw TypeError(".sesame.v1.compositor.PropertySetRequest.value: object expected");e.value=$root.sesame.v1.common.PropValue.fromObject(t.value)}return e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.domain=null,i.address="",i.property="",i.value=null),t.domain!=null&&t.hasOwnProperty("domain")&&(i.domain=$root.sesame.v1.common.PropertyDomain.toObject(t.domain,e)),t.address!=null&&t.hasOwnProperty("address")&&(i.address=t.address),t.property!=null&&t.hasOwnProperty("property")&&(i.property=t.property),t.value!=null&&t.hasOwnProperty("value")&&(i.value=$root.sesame.v1.common.PropValue.toObject(t.value,e)),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.compositor.PropertySetRequest"},n}(),l.PropertyAnimateRequest=function(){function n(r){if(this.keyframes=[],r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.domain=null,n.prototype.address="",n.prototype.property="",n.prototype.keyframes=$util.emptyArray,n.prototype.before=0,n.prototype.after=0,n.create=function(t){return new n(t)},n.encode=function(t,e){if(e||(e=$Writer.create()),t.domain!=null&&Object.hasOwnProperty.call(t,"domain")&&$root.sesame.v1.common.PropertyDomain.encode(t.domain,e.uint32(10).fork()).ldelim(),t.address!=null&&Object.hasOwnProperty.call(t,"address")&&e.uint32(18).string(t.address),t.property!=null&&Object.hasOwnProperty.call(t,"property")&&e.uint32(26).string(t.property),t.keyframes!=null&&t.keyframes.length)for(let i=0;i<t.keyframes.length;++i)$root.sesame.v1.compositor.KeyFrame.encode(t.keyframes[i],e.uint32(34).fork()).ldelim();return t.before!=null&&Object.hasOwnProperty.call(t,"before")&&e.uint32(40).int32(t.before),t.after!=null&&Object.hasOwnProperty.call(t,"after")&&e.uint32(48).int32(t.after),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.compositor.PropertyAnimateRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.domain=$root.sesame.v1.common.PropertyDomain.decode(t,t.uint32());break}case 2:{s.address=t.string();break}case 3:{s.property=t.string();break}case 4:{s.keyframes&&s.keyframes.length||(s.keyframes=[]),s.keyframes.push($root.sesame.v1.compositor.KeyFrame.decode(t,t.uint32()));break}case 5:{s.before=t.int32();break}case 6:{s.after=t.int32();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.domain!=null&&t.hasOwnProperty("domain")){let e=$root.sesame.v1.common.PropertyDomain.verify(t.domain);if(e)return"domain."+e}if(t.address!=null&&t.hasOwnProperty("address")&&!$util.isString(t.address))return"address: string expected";if(t.property!=null&&t.hasOwnProperty("property")&&!$util.isString(t.property))return"property: string expected";if(t.keyframes!=null&&t.hasOwnProperty("keyframes")){if(!Array.isArray(t.keyframes))return"keyframes: array expected";for(let e=0;e<t.keyframes.length;++e){let i=$root.sesame.v1.compositor.KeyFrame.verify(t.keyframes[e]);if(i)return"keyframes."+i}}if(t.before!=null&&t.hasOwnProperty("before"))switch(t.before){default:return"before: enum value expected";case 0:case 1:case 2:case 3:break}if(t.after!=null&&t.hasOwnProperty("after"))switch(t.after){default:return"after: enum value expected";case 0:case 1:case 2:case 3:break}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.compositor.PropertyAnimateRequest)return t;let e=new $root.sesame.v1.compositor.PropertyAnimateRequest;if(t.domain!=null){if(typeof t.domain!="object")throw TypeError(".sesame.v1.compositor.PropertyAnimateRequest.domain: object expected");e.domain=$root.sesame.v1.common.PropertyDomain.fromObject(t.domain)}if(t.address!=null&&(e.address=String(t.address)),t.property!=null&&(e.property=String(t.property)),t.keyframes){if(!Array.isArray(t.keyframes))throw TypeError(".sesame.v1.compositor.PropertyAnimateRequest.keyframes: array expected");e.keyframes=[];for(let i=0;i<t.keyframes.length;++i){if(typeof t.keyframes[i]!="object")throw TypeError(".sesame.v1.compositor.PropertyAnimateRequest.keyframes: object expected");e.keyframes[i]=$root.sesame.v1.compositor.KeyFrame.fromObject(t.keyframes[i])}}switch(t.before){default:if(typeof t.before=="number"){e.before=t.before;break}break;case"ANIM_MODE_CONSTANT":case 0:e.before=0;break;case"ANIM_MODE_STATE_FROM":case 1:e.before=1;break;case"ANIM_MODE_LOOP":case 2:e.before=2;break;case"ANIM_MODE_BOUNCE":case 3:e.before=3;break}switch(t.after){default:if(typeof t.after=="number"){e.after=t.after;break}break;case"ANIM_MODE_CONSTANT":case 0:e.after=0;break;case"ANIM_MODE_STATE_FROM":case 1:e.after=1;break;case"ANIM_MODE_LOOP":case 2:e.after=2;break;case"ANIM_MODE_BOUNCE":case 3:e.after=3;break}return e},n.toObject=function(t,e){e||(e={});let i={};if((e.arrays||e.defaults)&&(i.keyframes=[]),e.defaults&&(i.domain=null,i.address="",i.property="",i.before=e.enums===String?"ANIM_MODE_CONSTANT":0,i.after=e.enums===String?"ANIM_MODE_CONSTANT":0),t.domain!=null&&t.hasOwnProperty("domain")&&(i.domain=$root.sesame.v1.common.PropertyDomain.toObject(t.domain,e)),t.address!=null&&t.hasOwnProperty("address")&&(i.address=t.address),t.property!=null&&t.hasOwnProperty("property")&&(i.property=t.property),t.keyframes&&t.keyframes.length){i.keyframes=[];for(let a=0;a<t.keyframes.length;++a)i.keyframes[a]=$root.sesame.v1.compositor.KeyFrame.toObject(t.keyframes[a],e)}return t.before!=null&&t.hasOwnProperty("before")&&(i.before=e.enums===String?$root.sesame.v1.compositor.AnimationChannelEvaluationMode[t.before]===void 0?t.before:$root.sesame.v1.compositor.AnimationChannelEvaluationMode[t.before]:t.before),t.after!=null&&t.hasOwnProperty("after")&&(i.after=e.enums===String?$root.sesame.v1.compositor.AnimationChannelEvaluationMode[t.after]===void 0?t.after:$root.sesame.v1.compositor.AnimationChannelEvaluationMode[t.after]:t.after),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.compositor.PropertyAnimateRequest"},n}(),l}(),o.jobs=function(){const l={};return l.JobType=function(){const n={},r=Object.create(n);return r[n[0]="JOB_TYPE_UNSPECIFIED"]=0,r[n[1]="JOB_TYPE_EXPORT"]=1,r[n[2]="JOB_TYPE_IMPORT"]=2,r}(),l.JobStatus=function(){const n={},r=Object.create(n);return r[n[0]="JOB_STATUS_UNSPECIFIED"]=0,r[n[1]="JOB_STATUS_PENDING"]=1,r[n[2]="JOB_STATUS_IN_PROGRESS"]=2,r[n[3]="JOB_STATUS_COMPLETE"]=3,r[n[4]="JOB_STATUS_ABORTED"]=4,r[n[5]="JOB_STATUS_ERROR"]=5,r}(),l.ContainerFormat=function(){const n={},r=Object.create(n);return r[n[0]="CONTAINER_FORMAT_UNSPECIFIED"]=0,r[n[1]="CONTAINER_FORMAT_MP4"]=1,r[n[2]="CONTAINER_FORMAT_MOV"]=2,r[n[3]="CONTAINER_FORMAT_MKV"]=3,r[n[4]="CONTAINER_FORMAT_MXF"]=4,r}(),l.RateControlMode=function(){const n={},r=Object.create(n);return r[n[0]="RATE_CONTROL_MODE_UNSPECIFIED"]=0,r[n[1]="RATE_CONTROL_MODE_CBR"]=1,r[n[2]="RATE_CONTROL_MODE_VBR"]=2,r[n[3]="RATE_CONTROL_MODE_CQ"]=3,r}(),l.TimingInfo=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.tcIn=$util.Long?$util.Long.fromBits(0,0,!1):0,n.prototype.tcOut=$util.Long?$util.Long.fromBits(0,0,!1):0,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.tcIn!=null&&Object.hasOwnProperty.call(t,"tcIn")&&e.uint32(8).int64(t.tcIn),t.tcOut!=null&&Object.hasOwnProperty.call(t,"tcOut")&&e.uint32(16).int64(t.tcOut),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.jobs.TimingInfo;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.tcIn=t.int64();break}case 2:{s.tcOut=t.int64();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.tcIn!=null&&t.hasOwnProperty("tcIn")&&!$util.isInteger(t.tcIn)&&!(t.tcIn&&$util.isInteger(t.tcIn.low)&&$util.isInteger(t.tcIn.high))?"tcIn: integer|Long expected":t.tcOut!=null&&t.hasOwnProperty("tcOut")&&!$util.isInteger(t.tcOut)&&!(t.tcOut&&$util.isInteger(t.tcOut.low)&&$util.isInteger(t.tcOut.high))?"tcOut: integer|Long expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.jobs.TimingInfo)return t;let e=new $root.sesame.v1.jobs.TimingInfo;return t.tcIn!=null&&($util.Long?(e.tcIn=$util.Long.fromValue(t.tcIn)).unsigned=!1:typeof t.tcIn=="string"?e.tcIn=parseInt(t.tcIn,10):typeof t.tcIn=="number"?e.tcIn=t.tcIn:typeof t.tcIn=="object"&&(e.tcIn=new $util.LongBits(t.tcIn.low>>>0,t.tcIn.high>>>0).toNumber())),t.tcOut!=null&&($util.Long?(e.tcOut=$util.Long.fromValue(t.tcOut)).unsigned=!1:typeof t.tcOut=="string"?e.tcOut=parseInt(t.tcOut,10):typeof t.tcOut=="number"?e.tcOut=t.tcOut:typeof t.tcOut=="object"&&(e.tcOut=new $util.LongBits(t.tcOut.low>>>0,t.tcOut.high>>>0).toNumber())),e},n.toObject=function(t,e){e||(e={});let i={};if(e.defaults){if($util.Long){let a=new $util.Long(0,0,!1);i.tcIn=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.tcIn=e.longs===String?"0":0;if($util.Long){let a=new $util.Long(0,0,!1);i.tcOut=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.tcOut=e.longs===String?"0":0}return t.tcIn!=null&&t.hasOwnProperty("tcIn")&&(typeof t.tcIn=="number"?i.tcIn=e.longs===String?String(t.tcIn):t.tcIn:i.tcIn=e.longs===String?$util.Long.prototype.toString.call(t.tcIn):e.longs===Number?new $util.LongBits(t.tcIn.low>>>0,t.tcIn.high>>>0).toNumber():t.tcIn),t.tcOut!=null&&t.hasOwnProperty("tcOut")&&(typeof t.tcOut=="number"?i.tcOut=e.longs===String?String(t.tcOut):t.tcOut:i.tcOut=e.longs===String?$util.Long.prototype.toString.call(t.tcOut):e.longs===Number?new $util.LongBits(t.tcOut.low>>>0,t.tcOut.high>>>0).toNumber():t.tcOut),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.jobs.TimingInfo"},n}(),l.Job=function(){function n(t){if(t)for(let e=Object.keys(t),i=0;i<e.length;++i)t[e[i]]!=null&&(this[e[i]]=t[e[i]])}n.prototype.id=0,n.prototype.type=0,n.prototype.status=0,n.prototype.name="",n.prototype.description="",n.prototype.error=null,n.prototype.progress=$util.Long?$util.Long.fromBits(0,0,!1):0,n.prototype.total=$util.Long?$util.Long.fromBits(0,0,!1):0,n.prototype.timingInfo=null;let r;return Object.defineProperty(n.prototype,"_error",{get:$util.oneOfGetter(r=["error"]),set:$util.oneOfSetter(r)}),Object.defineProperty(n.prototype,"_timingInfo",{get:$util.oneOfGetter(r=["timingInfo"]),set:$util.oneOfSetter(r)}),n.create=function(e){return new n(e)},n.encode=function(e,i){return i||(i=$Writer.create()),e.id!=null&&Object.hasOwnProperty.call(e,"id")&&i.uint32(8).uint32(e.id),e.type!=null&&Object.hasOwnProperty.call(e,"type")&&i.uint32(16).int32(e.type),e.status!=null&&Object.hasOwnProperty.call(e,"status")&&i.uint32(24).int32(e.status),e.name!=null&&Object.hasOwnProperty.call(e,"name")&&i.uint32(34).string(e.name),e.description!=null&&Object.hasOwnProperty.call(e,"description")&&i.uint32(42).string(e.description),e.error!=null&&Object.hasOwnProperty.call(e,"error")&&i.uint32(50).string(e.error),e.progress!=null&&Object.hasOwnProperty.call(e,"progress")&&i.uint32(56).int64(e.progress),e.total!=null&&Object.hasOwnProperty.call(e,"total")&&i.uint32(64).int64(e.total),e.timingInfo!=null&&Object.hasOwnProperty.call(e,"timingInfo")&&$root.sesame.v1.jobs.TimingInfo.encode(e.timingInfo,i.uint32(74).fork()).ldelim(),i},n.encodeDelimited=function(e,i){return this.encode(e,i).ldelim()},n.decode=function(e,i,a){e instanceof $Reader||(e=$Reader.create(e));let s=i===void 0?e.len:e.pos+i,d=new $root.sesame.v1.jobs.Job;for(;e.pos<s;){let c=e.uint32();if(c===a)break;switch(c>>>3){case 1:{d.id=e.uint32();break}case 2:{d.type=e.int32();break}case 3:{d.status=e.int32();break}case 4:{d.name=e.string();break}case 5:{d.description=e.string();break}case 6:{d.error=e.string();break}case 7:{d.progress=e.int64();break}case 8:{d.total=e.int64();break}case 9:{d.timingInfo=$root.sesame.v1.jobs.TimingInfo.decode(e,e.uint32());break}default:e.skipType(c&7);break}}return d},n.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},n.verify=function(e){if(typeof e!="object"||e===null)return"object expected";if(e.id!=null&&e.hasOwnProperty("id")&&!$util.isInteger(e.id))return"id: integer expected";if(e.type!=null&&e.hasOwnProperty("type"))switch(e.type){default:return"type: enum value expected";case 0:case 1:case 2:break}if(e.status!=null&&e.hasOwnProperty("status"))switch(e.status){default:return"status: enum value expected";case 0:case 1:case 2:case 3:case 4:case 5:break}if(e.name!=null&&e.hasOwnProperty("name")&&!$util.isString(e.name))return"name: string expected";if(e.description!=null&&e.hasOwnProperty("description")&&!$util.isString(e.description))return"description: string expected";if(e.error!=null&&e.hasOwnProperty("error")&&!$util.isString(e.error))return"error: string expected";if(e.progress!=null&&e.hasOwnProperty("progress")&&!$util.isInteger(e.progress)&&!(e.progress&&$util.isInteger(e.progress.low)&&$util.isInteger(e.progress.high)))return"progress: integer|Long expected";if(e.total!=null&&e.hasOwnProperty("total")&&!$util.isInteger(e.total)&&!(e.total&&$util.isInteger(e.total.low)&&$util.isInteger(e.total.high)))return"total: integer|Long expected";if(e.timingInfo!=null&&e.hasOwnProperty("timingInfo")){let i=$root.sesame.v1.jobs.TimingInfo.verify(e.timingInfo);if(i)return"timingInfo."+i}return null},n.fromObject=function(e){if(e instanceof $root.sesame.v1.jobs.Job)return e;let i=new $root.sesame.v1.jobs.Job;switch(e.id!=null&&(i.id=e.id>>>0),e.type){default:if(typeof e.type=="number"){i.type=e.type;break}break;case"JOB_TYPE_UNSPECIFIED":case 0:i.type=0;break;case"JOB_TYPE_EXPORT":case 1:i.type=1;break;case"JOB_TYPE_IMPORT":case 2:i.type=2;break}switch(e.status){default:if(typeof e.status=="number"){i.status=e.status;break}break;case"JOB_STATUS_UNSPECIFIED":case 0:i.status=0;break;case"JOB_STATUS_PENDING":case 1:i.status=1;break;case"JOB_STATUS_IN_PROGRESS":case 2:i.status=2;break;case"JOB_STATUS_COMPLETE":case 3:i.status=3;break;case"JOB_STATUS_ABORTED":case 4:i.status=4;break;case"JOB_STATUS_ERROR":case 5:i.status=5;break}if(e.name!=null&&(i.name=String(e.name)),e.description!=null&&(i.description=String(e.description)),e.error!=null&&(i.error=String(e.error)),e.progress!=null&&($util.Long?(i.progress=$util.Long.fromValue(e.progress)).unsigned=!1:typeof e.progress=="string"?i.progress=parseInt(e.progress,10):typeof e.progress=="number"?i.progress=e.progress:typeof e.progress=="object"&&(i.progress=new $util.LongBits(e.progress.low>>>0,e.progress.high>>>0).toNumber())),e.total!=null&&($util.Long?(i.total=$util.Long.fromValue(e.total)).unsigned=!1:typeof e.total=="string"?i.total=parseInt(e.total,10):typeof e.total=="number"?i.total=e.total:typeof e.total=="object"&&(i.total=new $util.LongBits(e.total.low>>>0,e.total.high>>>0).toNumber())),e.timingInfo!=null){if(typeof e.timingInfo!="object")throw TypeError(".sesame.v1.jobs.Job.timingInfo: object expected");i.timingInfo=$root.sesame.v1.jobs.TimingInfo.fromObject(e.timingInfo)}return i},n.toObject=function(e,i){i||(i={});let a={};if(i.defaults){if(a.id=0,a.type=i.enums===String?"JOB_TYPE_UNSPECIFIED":0,a.status=i.enums===String?"JOB_STATUS_UNSPECIFIED":0,a.name="",a.description="",$util.Long){let s=new $util.Long(0,0,!1);a.progress=i.longs===String?s.toString():i.longs===Number?s.toNumber():s}else a.progress=i.longs===String?"0":0;if($util.Long){let s=new $util.Long(0,0,!1);a.total=i.longs===String?s.toString():i.longs===Number?s.toNumber():s}else a.total=i.longs===String?"0":0}return e.id!=null&&e.hasOwnProperty("id")&&(a.id=e.id),e.type!=null&&e.hasOwnProperty("type")&&(a.type=i.enums===String?$root.sesame.v1.jobs.JobType[e.type]===void 0?e.type:$root.sesame.v1.jobs.JobType[e.type]:e.type),e.status!=null&&e.hasOwnProperty("status")&&(a.status=i.enums===String?$root.sesame.v1.jobs.JobStatus[e.status]===void 0?e.status:$root.sesame.v1.jobs.JobStatus[e.status]:e.status),e.name!=null&&e.hasOwnProperty("name")&&(a.name=e.name),e.description!=null&&e.hasOwnProperty("description")&&(a.description=e.description),e.error!=null&&e.hasOwnProperty("error")&&(a.error=e.error,i.oneofs&&(a._error="error")),e.progress!=null&&e.hasOwnProperty("progress")&&(typeof e.progress=="number"?a.progress=i.longs===String?String(e.progress):e.progress:a.progress=i.longs===String?$util.Long.prototype.toString.call(e.progress):i.longs===Number?new $util.LongBits(e.progress.low>>>0,e.progress.high>>>0).toNumber():e.progress),e.total!=null&&e.hasOwnProperty("total")&&(typeof e.total=="number"?a.total=i.longs===String?String(e.total):e.total:a.total=i.longs===String?$util.Long.prototype.toString.call(e.total):i.longs===Number?new $util.LongBits(e.total.low>>>0,e.total.high>>>0).toNumber():e.total),e.timingInfo!=null&&e.hasOwnProperty("timingInfo")&&(a.timingInfo=$root.sesame.v1.jobs.TimingInfo.toObject(e.timingInfo,i),i.oneofs&&(a._timingInfo="timingInfo")),a},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/sesame.v1.jobs.Job"},n}(),l.JobList=function(){function n(r){if(this.jobs=[],r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.jobs=$util.emptyArray,n.create=function(t){return new n(t)},n.encode=function(t,e){if(e||(e=$Writer.create()),t.jobs!=null&&t.jobs.length)for(let i=0;i<t.jobs.length;++i)$root.sesame.v1.jobs.Job.encode(t.jobs[i],e.uint32(10).fork()).ldelim();return e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.jobs.JobList;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.jobs&&s.jobs.length||(s.jobs=[]),s.jobs.push($root.sesame.v1.jobs.Job.decode(t,t.uint32()));break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.jobs!=null&&t.hasOwnProperty("jobs")){if(!Array.isArray(t.jobs))return"jobs: array expected";for(let e=0;e<t.jobs.length;++e){let i=$root.sesame.v1.jobs.Job.verify(t.jobs[e]);if(i)return"jobs."+i}}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.jobs.JobList)return t;let e=new $root.sesame.v1.jobs.JobList;if(t.jobs){if(!Array.isArray(t.jobs))throw TypeError(".sesame.v1.jobs.JobList.jobs: array expected");e.jobs=[];for(let i=0;i<t.jobs.length;++i){if(typeof t.jobs[i]!="object")throw TypeError(".sesame.v1.jobs.JobList.jobs: object expected");e.jobs[i]=$root.sesame.v1.jobs.Job.fromObject(t.jobs[i])}}return e},n.toObject=function(t,e){e||(e={});let i={};if((e.arrays||e.defaults)&&(i.jobs=[]),t.jobs&&t.jobs.length){i.jobs=[];for(let a=0;a<t.jobs.length;++a)i.jobs[a]=$root.sesame.v1.jobs.Job.toObject(t.jobs[a],e)}return i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.jobs.JobList"},n}(),l.JobStartRequest=function(){function n(t){if(t)for(let e=Object.keys(t),i=0;i<e.length;++i)t[e[i]]!=null&&(this[e[i]]=t[e[i]])}n.prototype.exportRequest=null,n.prototype.importRequest=null;let r;return Object.defineProperty(n.prototype,"config",{get:$util.oneOfGetter(r=["exportRequest","importRequest"]),set:$util.oneOfSetter(r)}),n.create=function(e){return new n(e)},n.encode=function(e,i){return i||(i=$Writer.create()),e.exportRequest!=null&&Object.hasOwnProperty.call(e,"exportRequest")&&$root.sesame.v1.jobs.ExportStartRequest.encode(e.exportRequest,i.uint32(10).fork()).ldelim(),e.importRequest!=null&&Object.hasOwnProperty.call(e,"importRequest")&&$root.sesame.v1.jobs.ImportStartRequest.encode(e.importRequest,i.uint32(18).fork()).ldelim(),i},n.encodeDelimited=function(e,i){return this.encode(e,i).ldelim()},n.decode=function(e,i,a){e instanceof $Reader||(e=$Reader.create(e));let s=i===void 0?e.len:e.pos+i,d=new $root.sesame.v1.jobs.JobStartRequest;for(;e.pos<s;){let c=e.uint32();if(c===a)break;switch(c>>>3){case 1:{d.exportRequest=$root.sesame.v1.jobs.ExportStartRequest.decode(e,e.uint32());break}case 2:{d.importRequest=$root.sesame.v1.jobs.ImportStartRequest.decode(e,e.uint32());break}default:e.skipType(c&7);break}}return d},n.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},n.verify=function(e){if(typeof e!="object"||e===null)return"object expected";let i={};if(e.exportRequest!=null&&e.hasOwnProperty("exportRequest")){i.config=1;{let a=$root.sesame.v1.jobs.ExportStartRequest.verify(e.exportRequest);if(a)return"exportRequest."+a}}if(e.importRequest!=null&&e.hasOwnProperty("importRequest")){if(i.config===1)return"config: multiple values";i.config=1;{let a=$root.sesame.v1.jobs.ImportStartRequest.verify(e.importRequest);if(a)return"importRequest."+a}}return null},n.fromObject=function(e){if(e instanceof $root.sesame.v1.jobs.JobStartRequest)return e;let i=new $root.sesame.v1.jobs.JobStartRequest;if(e.exportRequest!=null){if(typeof e.exportRequest!="object")throw TypeError(".sesame.v1.jobs.JobStartRequest.exportRequest: object expected");i.exportRequest=$root.sesame.v1.jobs.ExportStartRequest.fromObject(e.exportRequest)}if(e.importRequest!=null){if(typeof e.importRequest!="object")throw TypeError(".sesame.v1.jobs.JobStartRequest.importRequest: object expected");i.importRequest=$root.sesame.v1.jobs.ImportStartRequest.fromObject(e.importRequest)}return i},n.toObject=function(e,i){i||(i={});let a={};return e.exportRequest!=null&&e.hasOwnProperty("exportRequest")&&(a.exportRequest=$root.sesame.v1.jobs.ExportStartRequest.toObject(e.exportRequest,i),i.oneofs&&(a.config="exportRequest")),e.importRequest!=null&&e.hasOwnProperty("importRequest")&&(a.importRequest=$root.sesame.v1.jobs.ImportStartRequest.toObject(e.importRequest,i),i.oneofs&&(a.config="importRequest")),a},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/sesame.v1.jobs.JobStartRequest"},n}(),l.JobAbortRequest=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.jobId=0,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.jobId!=null&&Object.hasOwnProperty.call(t,"jobId")&&e.uint32(8).uint32(t.jobId),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.jobs.JobAbortRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.jobId=t.uint32();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.jobId!=null&&t.hasOwnProperty("jobId")&&!$util.isInteger(t.jobId)?"jobId: integer expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.jobs.JobAbortRequest)return t;let e=new $root.sesame.v1.jobs.JobAbortRequest;return t.jobId!=null&&(e.jobId=t.jobId>>>0),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.jobId=0),t.jobId!=null&&t.hasOwnProperty("jobId")&&(i.jobId=t.jobId),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.jobs.JobAbortRequest"},n}(),l.JobStatusRequest=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.jobId=0,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.jobId!=null&&Object.hasOwnProperty.call(t,"jobId")&&e.uint32(8).uint32(t.jobId),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.jobs.JobStatusRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.jobId=t.uint32();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.jobId!=null&&t.hasOwnProperty("jobId")&&!$util.isInteger(t.jobId)?"jobId: integer expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.jobs.JobStatusRequest)return t;let e=new $root.sesame.v1.jobs.JobStatusRequest;return t.jobId!=null&&(e.jobId=t.jobId>>>0),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.jobId=0),t.jobId!=null&&t.hasOwnProperty("jobId")&&(i.jobId=t.jobId),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.jobs.JobStatusRequest"},n}(),l.JobListRequest=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.jobs.JobListRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":null},n.fromObject=function(t){return t instanceof $root.sesame.v1.jobs.JobListRequest?t:new $root.sesame.v1.jobs.JobListRequest},n.toObject=function(){return{}},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.jobs.JobListRequest"},n}(),l.ExportConfiguration=function(){function n(r){if(this.audioRouting=[],r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.filename="",n.prototype.container=0,n.prototype.videoCodec=0,n.prototype.width=0,n.prototype.height=0,n.prototype.fpsNum=0,n.prototype.fpsDen=0,n.prototype.rateControl=0,n.prototype.videoBitrateKbps=0,n.prototype.maxVideoBitrateKbps=0,n.prototype.gopSize=0,n.prototype.maxBFrames=0,n.prototype.profile="",n.prototype.level="",n.prototype.pixelFormat="",n.prototype.colorPrimaries="",n.prototype.colorTransfer="",n.prototype.colorMatrix="",n.prototype.fullRange=!1,n.prototype.audioCodec=0,n.prototype.audioBitrateKbps=0,n.prototype.audioSampleRateHz=0,n.prototype.audioChannels=0,n.prototype.audioRouting=$util.emptyArray,n.create=function(t){return new n(t)},n.encode=function(t,e){if(e||(e=$Writer.create()),t.filename!=null&&Object.hasOwnProperty.call(t,"filename")&&e.uint32(10).string(t.filename),t.container!=null&&Object.hasOwnProperty.call(t,"container")&&e.uint32(16).int32(t.container),t.videoCodec!=null&&Object.hasOwnProperty.call(t,"videoCodec")&&e.uint32(24).int32(t.videoCodec),t.width!=null&&Object.hasOwnProperty.call(t,"width")&&e.uint32(32).uint32(t.width),t.height!=null&&Object.hasOwnProperty.call(t,"height")&&e.uint32(40).uint32(t.height),t.fpsNum!=null&&Object.hasOwnProperty.call(t,"fpsNum")&&e.uint32(48).uint32(t.fpsNum),t.fpsDen!=null&&Object.hasOwnProperty.call(t,"fpsDen")&&e.uint32(56).uint32(t.fpsDen),t.rateControl!=null&&Object.hasOwnProperty.call(t,"rateControl")&&e.uint32(64).int32(t.rateControl),t.videoBitrateKbps!=null&&Object.hasOwnProperty.call(t,"videoBitrateKbps")&&e.uint32(72).uint32(t.videoBitrateKbps),t.maxVideoBitrateKbps!=null&&Object.hasOwnProperty.call(t,"maxVideoBitrateKbps")&&e.uint32(80).uint32(t.maxVideoBitrateKbps),t.gopSize!=null&&Object.hasOwnProperty.call(t,"gopSize")&&e.uint32(88).uint32(t.gopSize),t.maxBFrames!=null&&Object.hasOwnProperty.call(t,"maxBFrames")&&e.uint32(96).uint32(t.maxBFrames),t.profile!=null&&Object.hasOwnProperty.call(t,"profile")&&e.uint32(106).string(t.profile),t.level!=null&&Object.hasOwnProperty.call(t,"level")&&e.uint32(114).string(t.level),t.pixelFormat!=null&&Object.hasOwnProperty.call(t,"pixelFormat")&&e.uint32(122).string(t.pixelFormat),t.colorPrimaries!=null&&Object.hasOwnProperty.call(t,"colorPrimaries")&&e.uint32(130).string(t.colorPrimaries),t.colorTransfer!=null&&Object.hasOwnProperty.call(t,"colorTransfer")&&e.uint32(138).string(t.colorTransfer),t.colorMatrix!=null&&Object.hasOwnProperty.call(t,"colorMatrix")&&e.uint32(146).string(t.colorMatrix),t.fullRange!=null&&Object.hasOwnProperty.call(t,"fullRange")&&e.uint32(152).bool(t.fullRange),t.audioCodec!=null&&Object.hasOwnProperty.call(t,"audioCodec")&&e.uint32(160).int32(t.audioCodec),t.audioBitrateKbps!=null&&Object.hasOwnProperty.call(t,"audioBitrateKbps")&&e.uint32(168).uint32(t.audioBitrateKbps),t.audioSampleRateHz!=null&&Object.hasOwnProperty.call(t,"audioSampleRateHz")&&e.uint32(176).uint32(t.audioSampleRateHz),t.audioChannels!=null&&Object.hasOwnProperty.call(t,"audioChannels")&&e.uint32(184).uint32(t.audioChannels),t.audioRouting!=null&&t.audioRouting.length){e.uint32(194).fork();for(let i=0;i<t.audioRouting.length;++i)e.uint32(t.audioRouting[i]);e.ldelim()}return e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.jobs.ExportConfiguration;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.filename=t.string();break}case 2:{s.container=t.int32();break}case 3:{s.videoCodec=t.int32();break}case 4:{s.width=t.uint32();break}case 5:{s.height=t.uint32();break}case 6:{s.fpsNum=t.uint32();break}case 7:{s.fpsDen=t.uint32();break}case 8:{s.rateControl=t.int32();break}case 9:{s.videoBitrateKbps=t.uint32();break}case 10:{s.maxVideoBitrateKbps=t.uint32();break}case 11:{s.gopSize=t.uint32();break}case 12:{s.maxBFrames=t.uint32();break}case 13:{s.profile=t.string();break}case 14:{s.level=t.string();break}case 15:{s.pixelFormat=t.string();break}case 16:{s.colorPrimaries=t.string();break}case 17:{s.colorTransfer=t.string();break}case 18:{s.colorMatrix=t.string();break}case 19:{s.fullRange=t.bool();break}case 20:{s.audioCodec=t.int32();break}case 21:{s.audioBitrateKbps=t.uint32();break}case 22:{s.audioSampleRateHz=t.uint32();break}case 23:{s.audioChannels=t.uint32();break}case 24:{if(s.audioRouting&&s.audioRouting.length||(s.audioRouting=[]),(d&7)===2){let c=t.uint32()+t.pos;for(;t.pos<c;)s.audioRouting.push(t.uint32())}else s.audioRouting.push(t.uint32());break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.filename!=null&&t.hasOwnProperty("filename")&&!$util.isString(t.filename))return"filename: string expected";if(t.container!=null&&t.hasOwnProperty("container"))switch(t.container){default:return"container: enum value expected";case 0:case 1:case 2:case 3:case 4:break}if(t.videoCodec!=null&&t.hasOwnProperty("videoCodec"))switch(t.videoCodec){default:return"videoCodec: enum value expected";case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 64:case 65:case 66:case 67:break}if(t.width!=null&&t.hasOwnProperty("width")&&!$util.isInteger(t.width))return"width: integer expected";if(t.height!=null&&t.hasOwnProperty("height")&&!$util.isInteger(t.height))return"height: integer expected";if(t.fpsNum!=null&&t.hasOwnProperty("fpsNum")&&!$util.isInteger(t.fpsNum))return"fpsNum: integer expected";if(t.fpsDen!=null&&t.hasOwnProperty("fpsDen")&&!$util.isInteger(t.fpsDen))return"fpsDen: integer expected";if(t.rateControl!=null&&t.hasOwnProperty("rateControl"))switch(t.rateControl){default:return"rateControl: enum value expected";case 0:case 1:case 2:case 3:break}if(t.videoBitrateKbps!=null&&t.hasOwnProperty("videoBitrateKbps")&&!$util.isInteger(t.videoBitrateKbps))return"videoBitrateKbps: integer expected";if(t.maxVideoBitrateKbps!=null&&t.hasOwnProperty("maxVideoBitrateKbps")&&!$util.isInteger(t.maxVideoBitrateKbps))return"maxVideoBitrateKbps: integer expected";if(t.gopSize!=null&&t.hasOwnProperty("gopSize")&&!$util.isInteger(t.gopSize))return"gopSize: integer expected";if(t.maxBFrames!=null&&t.hasOwnProperty("maxBFrames")&&!$util.isInteger(t.maxBFrames))return"maxBFrames: integer expected";if(t.profile!=null&&t.hasOwnProperty("profile")&&!$util.isString(t.profile))return"profile: string expected";if(t.level!=null&&t.hasOwnProperty("level")&&!$util.isString(t.level))return"level: string expected";if(t.pixelFormat!=null&&t.hasOwnProperty("pixelFormat")&&!$util.isString(t.pixelFormat))return"pixelFormat: string expected";if(t.colorPrimaries!=null&&t.hasOwnProperty("colorPrimaries")&&!$util.isString(t.colorPrimaries))return"colorPrimaries: string expected";if(t.colorTransfer!=null&&t.hasOwnProperty("colorTransfer")&&!$util.isString(t.colorTransfer))return"colorTransfer: string expected";if(t.colorMatrix!=null&&t.hasOwnProperty("colorMatrix")&&!$util.isString(t.colorMatrix))return"colorMatrix: string expected";if(t.fullRange!=null&&t.hasOwnProperty("fullRange")&&typeof t.fullRange!="boolean")return"fullRange: boolean expected";if(t.audioCodec!=null&&t.hasOwnProperty("audioCodec"))switch(t.audioCodec){default:return"audioCodec: enum value expected";case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 64:case 65:case 66:case 67:break}if(t.audioBitrateKbps!=null&&t.hasOwnProperty("audioBitrateKbps")&&!$util.isInteger(t.audioBitrateKbps))return"audioBitrateKbps: integer expected";if(t.audioSampleRateHz!=null&&t.hasOwnProperty("audioSampleRateHz")&&!$util.isInteger(t.audioSampleRateHz))return"audioSampleRateHz: integer expected";if(t.audioChannels!=null&&t.hasOwnProperty("audioChannels")&&!$util.isInteger(t.audioChannels))return"audioChannels: integer expected";if(t.audioRouting!=null&&t.hasOwnProperty("audioRouting")){if(!Array.isArray(t.audioRouting))return"audioRouting: array expected";for(let e=0;e<t.audioRouting.length;++e)if(!$util.isInteger(t.audioRouting[e]))return"audioRouting: integer[] expected"}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.jobs.ExportConfiguration)return t;let e=new $root.sesame.v1.jobs.ExportConfiguration;switch(t.filename!=null&&(e.filename=String(t.filename)),t.container){default:if(typeof t.container=="number"){e.container=t.container;break}break;case"CONTAINER_FORMAT_UNSPECIFIED":case 0:e.container=0;break;case"CONTAINER_FORMAT_MP4":case 1:e.container=1;break;case"CONTAINER_FORMAT_MOV":case 2:e.container=2;break;case"CONTAINER_FORMAT_MKV":case 3:e.container=3;break;case"CONTAINER_FORMAT_MXF":case 4:e.container=4;break}switch(t.videoCodec){default:if(typeof t.videoCodec=="number"){e.videoCodec=t.videoCodec;break}break;case"CODEC_TYPE_UNSPECIFIED":case 0:e.videoCodec=0;break;case"CODEC_TYPE_VIDEO_VP8":case 1:e.videoCodec=1;break;case"CODEC_TYPE_VIDEO_VP9":case 2:e.videoCodec=2;break;case"CODEC_TYPE_VIDEO_AVC":case 3:e.videoCodec=3;break;case"CODEC_TYPE_VIDEO_HEVC":case 4:e.videoCodec=4;break;case"CODEC_TYPE_VIDEO_AV1":case 5:e.videoCodec=5;break;case"CODEC_TYPE_VIDEO_PRORES":case 6:e.videoCodec=6;break;case"CODEC_TYPE_VIDEO_DNXHR":case 7:e.videoCodec=7;break;case"CODEC_TYPE_AUDIO_OPUS":case 64:e.videoCodec=64;break;case"CODEC_TYPE_AUDIO_AAC":case 65:e.videoCodec=65;break;case"CODEC_TYPE_AUDIO_PCM":case 66:e.videoCodec=66;break;case"CODEC_TYPE_AUDIO_PCM_S24LE":case 67:e.videoCodec=67;break}switch(t.width!=null&&(e.width=t.width>>>0),t.height!=null&&(e.height=t.height>>>0),t.fpsNum!=null&&(e.fpsNum=t.fpsNum>>>0),t.fpsDen!=null&&(e.fpsDen=t.fpsDen>>>0),t.rateControl){default:if(typeof t.rateControl=="number"){e.rateControl=t.rateControl;break}break;case"RATE_CONTROL_MODE_UNSPECIFIED":case 0:e.rateControl=0;break;case"RATE_CONTROL_MODE_CBR":case 1:e.rateControl=1;break;case"RATE_CONTROL_MODE_VBR":case 2:e.rateControl=2;break;case"RATE_CONTROL_MODE_CQ":case 3:e.rateControl=3;break}switch(t.videoBitrateKbps!=null&&(e.videoBitrateKbps=t.videoBitrateKbps>>>0),t.maxVideoBitrateKbps!=null&&(e.maxVideoBitrateKbps=t.maxVideoBitrateKbps>>>0),t.gopSize!=null&&(e.gopSize=t.gopSize>>>0),t.maxBFrames!=null&&(e.maxBFrames=t.maxBFrames>>>0),t.profile!=null&&(e.profile=String(t.profile)),t.level!=null&&(e.level=String(t.level)),t.pixelFormat!=null&&(e.pixelFormat=String(t.pixelFormat)),t.colorPrimaries!=null&&(e.colorPrimaries=String(t.colorPrimaries)),t.colorTransfer!=null&&(e.colorTransfer=String(t.colorTransfer)),t.colorMatrix!=null&&(e.colorMatrix=String(t.colorMatrix)),t.fullRange!=null&&(e.fullRange=!!t.fullRange),t.audioCodec){default:if(typeof t.audioCodec=="number"){e.audioCodec=t.audioCodec;break}break;case"CODEC_TYPE_UNSPECIFIED":case 0:e.audioCodec=0;break;case"CODEC_TYPE_VIDEO_VP8":case 1:e.audioCodec=1;break;case"CODEC_TYPE_VIDEO_VP9":case 2:e.audioCodec=2;break;case"CODEC_TYPE_VIDEO_AVC":case 3:e.audioCodec=3;break;case"CODEC_TYPE_VIDEO_HEVC":case 4:e.audioCodec=4;break;case"CODEC_TYPE_VIDEO_AV1":case 5:e.audioCodec=5;break;case"CODEC_TYPE_VIDEO_PRORES":case 6:e.audioCodec=6;break;case"CODEC_TYPE_VIDEO_DNXHR":case 7:e.audioCodec=7;break;case"CODEC_TYPE_AUDIO_OPUS":case 64:e.audioCodec=64;break;case"CODEC_TYPE_AUDIO_AAC":case 65:e.audioCodec=65;break;case"CODEC_TYPE_AUDIO_PCM":case 66:e.audioCodec=66;break;case"CODEC_TYPE_AUDIO_PCM_S24LE":case 67:e.audioCodec=67;break}if(t.audioBitrateKbps!=null&&(e.audioBitrateKbps=t.audioBitrateKbps>>>0),t.audioSampleRateHz!=null&&(e.audioSampleRateHz=t.audioSampleRateHz>>>0),t.audioChannels!=null&&(e.audioChannels=t.audioChannels>>>0),t.audioRouting){if(!Array.isArray(t.audioRouting))throw TypeError(".sesame.v1.jobs.ExportConfiguration.audioRouting: array expected");e.audioRouting=[];for(let i=0;i<t.audioRouting.length;++i)e.audioRouting[i]=t.audioRouting[i]>>>0}return e},n.toObject=function(t,e){e||(e={});let i={};if((e.arrays||e.defaults)&&(i.audioRouting=[]),e.defaults&&(i.filename="",i.container=e.enums===String?"CONTAINER_FORMAT_UNSPECIFIED":0,i.videoCodec=e.enums===String?"CODEC_TYPE_UNSPECIFIED":0,i.width=0,i.height=0,i.fpsNum=0,i.fpsDen=0,i.rateControl=e.enums===String?"RATE_CONTROL_MODE_UNSPECIFIED":0,i.videoBitrateKbps=0,i.maxVideoBitrateKbps=0,i.gopSize=0,i.maxBFrames=0,i.profile="",i.level="",i.pixelFormat="",i.colorPrimaries="",i.colorTransfer="",i.colorMatrix="",i.fullRange=!1,i.audioCodec=e.enums===String?"CODEC_TYPE_UNSPECIFIED":0,i.audioBitrateKbps=0,i.audioSampleRateHz=0,i.audioChannels=0),t.filename!=null&&t.hasOwnProperty("filename")&&(i.filename=t.filename),t.container!=null&&t.hasOwnProperty("container")&&(i.container=e.enums===String?$root.sesame.v1.jobs.ContainerFormat[t.container]===void 0?t.container:$root.sesame.v1.jobs.ContainerFormat[t.container]:t.container),t.videoCodec!=null&&t.hasOwnProperty("videoCodec")&&(i.videoCodec=e.enums===String?$root.sesame.v1.common.CodecType[t.videoCodec]===void 0?t.videoCodec:$root.sesame.v1.common.CodecType[t.videoCodec]:t.videoCodec),t.width!=null&&t.hasOwnProperty("width")&&(i.width=t.width),t.height!=null&&t.hasOwnProperty("height")&&(i.height=t.height),t.fpsNum!=null&&t.hasOwnProperty("fpsNum")&&(i.fpsNum=t.fpsNum),t.fpsDen!=null&&t.hasOwnProperty("fpsDen")&&(i.fpsDen=t.fpsDen),t.rateControl!=null&&t.hasOwnProperty("rateControl")&&(i.rateControl=e.enums===String?$root.sesame.v1.jobs.RateControlMode[t.rateControl]===void 0?t.rateControl:$root.sesame.v1.jobs.RateControlMode[t.rateControl]:t.rateControl),t.videoBitrateKbps!=null&&t.hasOwnProperty("videoBitrateKbps")&&(i.videoBitrateKbps=t.videoBitrateKbps),t.maxVideoBitrateKbps!=null&&t.hasOwnProperty("maxVideoBitrateKbps")&&(i.maxVideoBitrateKbps=t.maxVideoBitrateKbps),t.gopSize!=null&&t.hasOwnProperty("gopSize")&&(i.gopSize=t.gopSize),t.maxBFrames!=null&&t.hasOwnProperty("maxBFrames")&&(i.maxBFrames=t.maxBFrames),t.profile!=null&&t.hasOwnProperty("profile")&&(i.profile=t.profile),t.level!=null&&t.hasOwnProperty("level")&&(i.level=t.level),t.pixelFormat!=null&&t.hasOwnProperty("pixelFormat")&&(i.pixelFormat=t.pixelFormat),t.colorPrimaries!=null&&t.hasOwnProperty("colorPrimaries")&&(i.colorPrimaries=t.colorPrimaries),t.colorTransfer!=null&&t.hasOwnProperty("colorTransfer")&&(i.colorTransfer=t.colorTransfer),t.colorMatrix!=null&&t.hasOwnProperty("colorMatrix")&&(i.colorMatrix=t.colorMatrix),t.fullRange!=null&&t.hasOwnProperty("fullRange")&&(i.fullRange=t.fullRange),t.audioCodec!=null&&t.hasOwnProperty("audioCodec")&&(i.audioCodec=e.enums===String?$root.sesame.v1.common.CodecType[t.audioCodec]===void 0?t.audioCodec:$root.sesame.v1.common.CodecType[t.audioCodec]:t.audioCodec),t.audioBitrateKbps!=null&&t.hasOwnProperty("audioBitrateKbps")&&(i.audioBitrateKbps=t.audioBitrateKbps),t.audioSampleRateHz!=null&&t.hasOwnProperty("audioSampleRateHz")&&(i.audioSampleRateHz=t.audioSampleRateHz),t.audioChannels!=null&&t.hasOwnProperty("audioChannels")&&(i.audioChannels=t.audioChannels),t.audioRouting&&t.audioRouting.length){i.audioRouting=[];for(let a=0;a<t.audioRouting.length;++a)i.audioRouting[a]=t.audioRouting[a]}return i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.jobs.ExportConfiguration"},n}(),l.ExportStartRequest=function(){function n(r){if(this.items=[],r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.config=null,n.prototype.items=$util.emptyArray,n.create=function(t){return new n(t)},n.encode=function(t,e){if(e||(e=$Writer.create()),t.config!=null&&Object.hasOwnProperty.call(t,"config")&&$root.sesame.v1.jobs.ExportConfiguration.encode(t.config,e.uint32(10).fork()).ldelim(),t.items!=null&&t.items.length)for(let i=0;i<t.items.length;++i)$root.sesame.v1.recorder.PlaylistItem.encode(t.items[i],e.uint32(18).fork()).ldelim();return e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.jobs.ExportStartRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.config=$root.sesame.v1.jobs.ExportConfiguration.decode(t,t.uint32());break}case 2:{s.items&&s.items.length||(s.items=[]),s.items.push($root.sesame.v1.recorder.PlaylistItem.decode(t,t.uint32()));break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.config!=null&&t.hasOwnProperty("config")){let e=$root.sesame.v1.jobs.ExportConfiguration.verify(t.config);if(e)return"config."+e}if(t.items!=null&&t.hasOwnProperty("items")){if(!Array.isArray(t.items))return"items: array expected";for(let e=0;e<t.items.length;++e){let i=$root.sesame.v1.recorder.PlaylistItem.verify(t.items[e]);if(i)return"items."+i}}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.jobs.ExportStartRequest)return t;let e=new $root.sesame.v1.jobs.ExportStartRequest;if(t.config!=null){if(typeof t.config!="object")throw TypeError(".sesame.v1.jobs.ExportStartRequest.config: object expected");e.config=$root.sesame.v1.jobs.ExportConfiguration.fromObject(t.config)}if(t.items){if(!Array.isArray(t.items))throw TypeError(".sesame.v1.jobs.ExportStartRequest.items: array expected");e.items=[];for(let i=0;i<t.items.length;++i){if(typeof t.items[i]!="object")throw TypeError(".sesame.v1.jobs.ExportStartRequest.items: object expected");e.items[i]=$root.sesame.v1.recorder.PlaylistItem.fromObject(t.items[i])}}return e},n.toObject=function(t,e){e||(e={});let i={};if((e.arrays||e.defaults)&&(i.items=[]),e.defaults&&(i.config=null),t.config!=null&&t.hasOwnProperty("config")&&(i.config=$root.sesame.v1.jobs.ExportConfiguration.toObject(t.config,e)),t.items&&t.items.length){i.items=[];for(let a=0;a<t.items.length;++a)i.items[a]=$root.sesame.v1.recorder.PlaylistItem.toObject(t.items[a],e)}return i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.jobs.ExportStartRequest"},n}(),l.ImportConfiguration=function(){function n(r){if(this.audioRouting=[],r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.srcFilename="",n.prototype.audioRouting=$util.emptyArray,n.prototype.dstRecorderId="",n.prototype.dstClipId=$util.Long?$util.Long.fromBits(0,0,!0):0,n.prototype.dstClipName="",n.prototype.dstClipUserData="",n.create=function(t){return new n(t)},n.encode=function(t,e){if(e||(e=$Writer.create()),t.srcFilename!=null&&Object.hasOwnProperty.call(t,"srcFilename")&&e.uint32(10).string(t.srcFilename),t.audioRouting!=null&&t.audioRouting.length){e.uint32(18).fork();for(let i=0;i<t.audioRouting.length;++i)e.uint32(t.audioRouting[i]);e.ldelim()}return t.dstRecorderId!=null&&Object.hasOwnProperty.call(t,"dstRecorderId")&&e.uint32(26).string(t.dstRecorderId),t.dstClipId!=null&&Object.hasOwnProperty.call(t,"dstClipId")&&e.uint32(32).uint64(t.dstClipId),t.dstClipName!=null&&Object.hasOwnProperty.call(t,"dstClipName")&&e.uint32(42).string(t.dstClipName),t.dstClipUserData!=null&&Object.hasOwnProperty.call(t,"dstClipUserData")&&e.uint32(50).string(t.dstClipUserData),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.jobs.ImportConfiguration;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.srcFilename=t.string();break}case 2:{if(s.audioRouting&&s.audioRouting.length||(s.audioRouting=[]),(d&7)===2){let c=t.uint32()+t.pos;for(;t.pos<c;)s.audioRouting.push(t.uint32())}else s.audioRouting.push(t.uint32());break}case 3:{s.dstRecorderId=t.string();break}case 4:{s.dstClipId=t.uint64();break}case 5:{s.dstClipName=t.string();break}case 6:{s.dstClipUserData=t.string();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.srcFilename!=null&&t.hasOwnProperty("srcFilename")&&!$util.isString(t.srcFilename))return"srcFilename: string expected";if(t.audioRouting!=null&&t.hasOwnProperty("audioRouting")){if(!Array.isArray(t.audioRouting))return"audioRouting: array expected";for(let e=0;e<t.audioRouting.length;++e)if(!$util.isInteger(t.audioRouting[e]))return"audioRouting: integer[] expected"}return t.dstRecorderId!=null&&t.hasOwnProperty("dstRecorderId")&&!$util.isString(t.dstRecorderId)?"dstRecorderId: string expected":t.dstClipId!=null&&t.hasOwnProperty("dstClipId")&&!$util.isInteger(t.dstClipId)&&!(t.dstClipId&&$util.isInteger(t.dstClipId.low)&&$util.isInteger(t.dstClipId.high))?"dstClipId: integer|Long expected":t.dstClipName!=null&&t.hasOwnProperty("dstClipName")&&!$util.isString(t.dstClipName)?"dstClipName: string expected":t.dstClipUserData!=null&&t.hasOwnProperty("dstClipUserData")&&!$util.isString(t.dstClipUserData)?"dstClipUserData: string expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.jobs.ImportConfiguration)return t;let e=new $root.sesame.v1.jobs.ImportConfiguration;if(t.srcFilename!=null&&(e.srcFilename=String(t.srcFilename)),t.audioRouting){if(!Array.isArray(t.audioRouting))throw TypeError(".sesame.v1.jobs.ImportConfiguration.audioRouting: array expected");e.audioRouting=[];for(let i=0;i<t.audioRouting.length;++i)e.audioRouting[i]=t.audioRouting[i]>>>0}return t.dstRecorderId!=null&&(e.dstRecorderId=String(t.dstRecorderId)),t.dstClipId!=null&&($util.Long?(e.dstClipId=$util.Long.fromValue(t.dstClipId)).unsigned=!0:typeof t.dstClipId=="string"?e.dstClipId=parseInt(t.dstClipId,10):typeof t.dstClipId=="number"?e.dstClipId=t.dstClipId:typeof t.dstClipId=="object"&&(e.dstClipId=new $util.LongBits(t.dstClipId.low>>>0,t.dstClipId.high>>>0).toNumber(!0))),t.dstClipName!=null&&(e.dstClipName=String(t.dstClipName)),t.dstClipUserData!=null&&(e.dstClipUserData=String(t.dstClipUserData)),e},n.toObject=function(t,e){e||(e={});let i={};if((e.arrays||e.defaults)&&(i.audioRouting=[]),e.defaults){if(i.srcFilename="",i.dstRecorderId="",$util.Long){let a=new $util.Long(0,0,!0);i.dstClipId=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.dstClipId=e.longs===String?"0":0;i.dstClipName="",i.dstClipUserData=""}if(t.srcFilename!=null&&t.hasOwnProperty("srcFilename")&&(i.srcFilename=t.srcFilename),t.audioRouting&&t.audioRouting.length){i.audioRouting=[];for(let a=0;a<t.audioRouting.length;++a)i.audioRouting[a]=t.audioRouting[a]}return t.dstRecorderId!=null&&t.hasOwnProperty("dstRecorderId")&&(i.dstRecorderId=t.dstRecorderId),t.dstClipId!=null&&t.hasOwnProperty("dstClipId")&&(typeof t.dstClipId=="number"?i.dstClipId=e.longs===String?String(t.dstClipId):t.dstClipId:i.dstClipId=e.longs===String?$util.Long.prototype.toString.call(t.dstClipId):e.longs===Number?new $util.LongBits(t.dstClipId.low>>>0,t.dstClipId.high>>>0).toNumber(!0):t.dstClipId),t.dstClipName!=null&&t.hasOwnProperty("dstClipName")&&(i.dstClipName=t.dstClipName),t.dstClipUserData!=null&&t.hasOwnProperty("dstClipUserData")&&(i.dstClipUserData=t.dstClipUserData),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.jobs.ImportConfiguration"},n}(),l.ImportStartRequest=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.config=null,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.config!=null&&Object.hasOwnProperty.call(t,"config")&&$root.sesame.v1.jobs.ImportConfiguration.encode(t.config,e.uint32(10).fork()).ldelim(),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.jobs.ImportStartRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.config=$root.sesame.v1.jobs.ImportConfiguration.decode(t,t.uint32());break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.config!=null&&t.hasOwnProperty("config")){let e=$root.sesame.v1.jobs.ImportConfiguration.verify(t.config);if(e)return"config."+e}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.jobs.ImportStartRequest)return t;let e=new $root.sesame.v1.jobs.ImportStartRequest;if(t.config!=null){if(typeof t.config!="object")throw TypeError(".sesame.v1.jobs.ImportStartRequest.config: object expected");e.config=$root.sesame.v1.jobs.ImportConfiguration.fromObject(t.config)}return e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.config=null),t.config!=null&&t.hasOwnProperty("config")&&(i.config=$root.sesame.v1.jobs.ImportConfiguration.toObject(t.config,e)),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.jobs.ImportStartRequest"},n}(),l}(),o.rpc=function(){const l={};return l.Message=function(){function n(t){if(t)for(let e=Object.keys(t),i=0;i<e.length;++i)t[e[i]]!=null&&(this[e[i]]=t[e[i]])}n.prototype.request=null,n.prototype.response=null,n.prototype.event=null;let r;return Object.defineProperty(n.prototype,"payload",{get:$util.oneOfGetter(r=["request","response","event"]),set:$util.oneOfSetter(r)}),n.create=function(e){return new n(e)},n.encode=function(e,i){return i||(i=$Writer.create()),e.request!=null&&Object.hasOwnProperty.call(e,"request")&&$root.sesame.v1.rpc.Request.encode(e.request,i.uint32(10).fork()).ldelim(),e.response!=null&&Object.hasOwnProperty.call(e,"response")&&$root.sesame.v1.rpc.Response.encode(e.response,i.uint32(18).fork()).ldelim(),e.event!=null&&Object.hasOwnProperty.call(e,"event")&&$root.sesame.v1.rpc.Event.encode(e.event,i.uint32(26).fork()).ldelim(),i},n.encodeDelimited=function(e,i){return this.encode(e,i).ldelim()},n.decode=function(e,i,a){e instanceof $Reader||(e=$Reader.create(e));let s=i===void 0?e.len:e.pos+i,d=new $root.sesame.v1.rpc.Message;for(;e.pos<s;){let c=e.uint32();if(c===a)break;switch(c>>>3){case 1:{d.request=$root.sesame.v1.rpc.Request.decode(e,e.uint32());break}case 2:{d.response=$root.sesame.v1.rpc.Response.decode(e,e.uint32());break}case 3:{d.event=$root.sesame.v1.rpc.Event.decode(e,e.uint32());break}default:e.skipType(c&7);break}}return d},n.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},n.verify=function(e){if(typeof e!="object"||e===null)return"object expected";let i={};if(e.request!=null&&e.hasOwnProperty("request")){i.payload=1;{let a=$root.sesame.v1.rpc.Request.verify(e.request);if(a)return"request."+a}}if(e.response!=null&&e.hasOwnProperty("response")){if(i.payload===1)return"payload: multiple values";i.payload=1;{let a=$root.sesame.v1.rpc.Response.verify(e.response);if(a)return"response."+a}}if(e.event!=null&&e.hasOwnProperty("event")){if(i.payload===1)return"payload: multiple values";i.payload=1;{let a=$root.sesame.v1.rpc.Event.verify(e.event);if(a)return"event."+a}}return null},n.fromObject=function(e){if(e instanceof $root.sesame.v1.rpc.Message)return e;let i=new $root.sesame.v1.rpc.Message;if(e.request!=null){if(typeof e.request!="object")throw TypeError(".sesame.v1.rpc.Message.request: object expected");i.request=$root.sesame.v1.rpc.Request.fromObject(e.request)}if(e.response!=null){if(typeof e.response!="object")throw TypeError(".sesame.v1.rpc.Message.response: object expected");i.response=$root.sesame.v1.rpc.Response.fromObject(e.response)}if(e.event!=null){if(typeof e.event!="object")throw TypeError(".sesame.v1.rpc.Message.event: object expected");i.event=$root.sesame.v1.rpc.Event.fromObject(e.event)}return i},n.toObject=function(e,i){i||(i={});let a={};return e.request!=null&&e.hasOwnProperty("request")&&(a.request=$root.sesame.v1.rpc.Request.toObject(e.request,i),i.oneofs&&(a.payload="request")),e.response!=null&&e.hasOwnProperty("response")&&(a.response=$root.sesame.v1.rpc.Response.toObject(e.response,i),i.oneofs&&(a.payload="response")),e.event!=null&&e.hasOwnProperty("event")&&(a.event=$root.sesame.v1.rpc.Event.toObject(e.event,i),i.oneofs&&(a.payload="event")),a},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/sesame.v1.rpc.Message"},n}(),l.Request=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.method="",n.prototype.seq=0,n.prototype.payload=$util.newBuffer([]),n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.method!=null&&Object.hasOwnProperty.call(t,"method")&&e.uint32(10).string(t.method),t.seq!=null&&Object.hasOwnProperty.call(t,"seq")&&e.uint32(16).uint32(t.seq),t.payload!=null&&Object.hasOwnProperty.call(t,"payload")&&e.uint32(26).bytes(t.payload),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.rpc.Request;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.method=t.string();break}case 2:{s.seq=t.uint32();break}case 3:{s.payload=t.bytes();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.method!=null&&t.hasOwnProperty("method")&&!$util.isString(t.method)?"method: string expected":t.seq!=null&&t.hasOwnProperty("seq")&&!$util.isInteger(t.seq)?"seq: integer expected":t.payload!=null&&t.hasOwnProperty("payload")&&!(t.payload&&typeof t.payload.length=="number"||$util.isString(t.payload))?"payload: buffer expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.rpc.Request)return t;let e=new $root.sesame.v1.rpc.Request;return t.method!=null&&(e.method=String(t.method)),t.seq!=null&&(e.seq=t.seq>>>0),t.payload!=null&&(typeof t.payload=="string"?$util.base64.decode(t.payload,e.payload=$util.newBuffer($util.base64.length(t.payload)),0):t.payload.length>=0&&(e.payload=t.payload)),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.method="",i.seq=0,e.bytes===String?i.payload="":(i.payload=[],e.bytes!==Array&&(i.payload=$util.newBuffer(i.payload)))),t.method!=null&&t.hasOwnProperty("method")&&(i.method=t.method),t.seq!=null&&t.hasOwnProperty("seq")&&(i.seq=t.seq),t.payload!=null&&t.hasOwnProperty("payload")&&(i.payload=e.bytes===String?$util.base64.encode(t.payload,0,t.payload.length):e.bytes===Array?Array.prototype.slice.call(t.payload):t.payload),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.rpc.Request"},n}(),l.Response=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.seq=0,n.prototype.ok=!1,n.prototype.payload=$util.newBuffer([]),n.prototype.error="",n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.seq!=null&&Object.hasOwnProperty.call(t,"seq")&&e.uint32(8).uint32(t.seq),t.ok!=null&&Object.hasOwnProperty.call(t,"ok")&&e.uint32(16).bool(t.ok),t.payload!=null&&Object.hasOwnProperty.call(t,"payload")&&e.uint32(26).bytes(t.payload),t.error!=null&&Object.hasOwnProperty.call(t,"error")&&e.uint32(34).string(t.error),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.rpc.Response;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.seq=t.uint32();break}case 2:{s.ok=t.bool();break}case 3:{s.payload=t.bytes();break}case 4:{s.error=t.string();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.seq!=null&&t.hasOwnProperty("seq")&&!$util.isInteger(t.seq)?"seq: integer expected":t.ok!=null&&t.hasOwnProperty("ok")&&typeof t.ok!="boolean"?"ok: boolean expected":t.payload!=null&&t.hasOwnProperty("payload")&&!(t.payload&&typeof t.payload.length=="number"||$util.isString(t.payload))?"payload: buffer expected":t.error!=null&&t.hasOwnProperty("error")&&!$util.isString(t.error)?"error: string expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.rpc.Response)return t;let e=new $root.sesame.v1.rpc.Response;return t.seq!=null&&(e.seq=t.seq>>>0),t.ok!=null&&(e.ok=!!t.ok),t.payload!=null&&(typeof t.payload=="string"?$util.base64.decode(t.payload,e.payload=$util.newBuffer($util.base64.length(t.payload)),0):t.payload.length>=0&&(e.payload=t.payload)),t.error!=null&&(e.error=String(t.error)),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.seq=0,i.ok=!1,e.bytes===String?i.payload="":(i.payload=[],e.bytes!==Array&&(i.payload=$util.newBuffer(i.payload))),i.error=""),t.seq!=null&&t.hasOwnProperty("seq")&&(i.seq=t.seq),t.ok!=null&&t.hasOwnProperty("ok")&&(i.ok=t.ok),t.payload!=null&&t.hasOwnProperty("payload")&&(i.payload=e.bytes===String?$util.base64.encode(t.payload,0,t.payload.length):e.bytes===Array?Array.prototype.slice.call(t.payload):t.payload),t.error!=null&&t.hasOwnProperty("error")&&(i.error=t.error),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.rpc.Response"},n}(),l.Event=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.topic=0,n.prototype.payload=$util.newBuffer([]),n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.topic!=null&&Object.hasOwnProperty.call(t,"topic")&&e.uint32(8).int32(t.topic),t.payload!=null&&Object.hasOwnProperty.call(t,"payload")&&e.uint32(18).bytes(t.payload),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.rpc.Event;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.topic=t.int32();break}case 2:{s.payload=t.bytes();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.topic!=null&&t.hasOwnProperty("topic"))switch(t.topic){default:return"topic: enum value expected";case 0:case 1:case 2:case 3:case 4:case 5:case 6:break}return t.payload!=null&&t.hasOwnProperty("payload")&&!(t.payload&&typeof t.payload.length=="number"||$util.isString(t.payload))?"payload: buffer expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.rpc.Event)return t;let e=new $root.sesame.v1.rpc.Event;switch(t.topic){default:if(typeof t.topic=="number"){e.topic=t.topic;break}break;case"EVENT_TOPIC_UNSPECIFIED":case 0:e.topic=0;break;case"EVENT_TOPIC_ERROR":case 1:e.topic=1;break;case"EVENT_TOPIC_TRANSPORT":case 2:e.topic=2;break;case"EVENT_TOPIC_CALLBACK":case 3:e.topic=3;break;case"EVENT_TOPIC_JOB":case 4:e.topic=4;break;case"EVENT_TOPIC_METADATA":case 5:e.topic=5;break;case"EVENT_TOPIC_RECORDER":case 6:e.topic=6;break}return t.payload!=null&&(typeof t.payload=="string"?$util.base64.decode(t.payload,e.payload=$util.newBuffer($util.base64.length(t.payload)),0):t.payload.length>=0&&(e.payload=t.payload)),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.topic=e.enums===String?"EVENT_TOPIC_UNSPECIFIED":0,e.bytes===String?i.payload="":(i.payload=[],e.bytes!==Array&&(i.payload=$util.newBuffer(i.payload)))),t.topic!=null&&t.hasOwnProperty("topic")&&(i.topic=e.enums===String?$root.sesame.v1.common.EventTopic[t.topic]===void 0?t.topic:$root.sesame.v1.common.EventTopic[t.topic]:t.topic),t.payload!=null&&t.hasOwnProperty("payload")&&(i.payload=e.bytes===String?$util.base64.encode(t.payload,0,t.payload.length):e.bytes===Array?Array.prototype.slice.call(t.payload):t.payload),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.rpc.Event"},n}(),l.PublishMetadataRequest=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.nodeId="",n.prototype.metadataId="",n.prototype.payload=$util.newBuffer([]),n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.nodeId!=null&&Object.hasOwnProperty.call(t,"nodeId")&&e.uint32(10).string(t.nodeId),t.metadataId!=null&&Object.hasOwnProperty.call(t,"metadataId")&&e.uint32(18).string(t.metadataId),t.payload!=null&&Object.hasOwnProperty.call(t,"payload")&&e.uint32(26).bytes(t.payload),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.rpc.PublishMetadataRequest;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.nodeId=t.string();break}case 2:{s.metadataId=t.string();break}case 3:{s.payload=t.bytes();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){return typeof t!="object"||t===null?"object expected":t.nodeId!=null&&t.hasOwnProperty("nodeId")&&!$util.isString(t.nodeId)?"nodeId: string expected":t.metadataId!=null&&t.hasOwnProperty("metadataId")&&!$util.isString(t.metadataId)?"metadataId: string expected":t.payload!=null&&t.hasOwnProperty("payload")&&!(t.payload&&typeof t.payload.length=="number"||$util.isString(t.payload))?"payload: buffer expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.rpc.PublishMetadataRequest)return t;let e=new $root.sesame.v1.rpc.PublishMetadataRequest;return t.nodeId!=null&&(e.nodeId=String(t.nodeId)),t.metadataId!=null&&(e.metadataId=String(t.metadataId)),t.payload!=null&&(typeof t.payload=="string"?$util.base64.decode(t.payload,e.payload=$util.newBuffer($util.base64.length(t.payload)),0):t.payload.length>=0&&(e.payload=t.payload)),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.nodeId="",i.metadataId="",e.bytes===String?i.payload="":(i.payload=[],e.bytes!==Array&&(i.payload=$util.newBuffer(i.payload)))),t.nodeId!=null&&t.hasOwnProperty("nodeId")&&(i.nodeId=t.nodeId),t.metadataId!=null&&t.hasOwnProperty("metadataId")&&(i.metadataId=t.metadataId),t.payload!=null&&t.hasOwnProperty("payload")&&(i.payload=e.bytes===String?$util.base64.encode(t.payload,0,t.payload.length):e.bytes===Array?Array.prototype.slice.call(t.payload):t.payload),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.rpc.PublishMetadataRequest"},n}(),l.SesameAPIService=function(){function n(r,t,e){$protobuf.rpc.Service.call(this,r,t,e)}return(n.prototype=Object.create($protobuf.rpc.Service.prototype)).constructor=n,n.create=function(t,e,i){return new this(t,e,i)},Object.defineProperty(n.prototype.executeCommandList=function r(t,e){return this.rpcCall(r,$root.sesame.v1.commands.CommandList,$root.sesame.v1.commands.CommandExecutionResponse,t,e)},"name",{value:"ExecuteCommandList"}),Object.defineProperty(n.prototype.updateSubscriptions=function r(t,e){return this.rpcCall(r,$root.sesame.v1.status.SubscriptionRequest,$root.sesame.v1.common.Empty,t,e)},"name",{value:"UpdateSubscriptions"}),Object.defineProperty(n.prototype.notImplemented=function r(t,e){return this.rpcCall(r,$root.sesame.v1.common.Empty,$root.sesame.v1.common.Empty,t,e)},"name",{value:"NotImplemented"}),Object.defineProperty(n.prototype.requestEvents=function r(t,e){return this.rpcCall(r,$root.sesame.v1.common.Empty,$root.sesame.v1.status.Event,t,e)},"name",{value:"RequestEvents"}),Object.defineProperty(n.prototype.requestStatus=function r(t,e){return this.rpcCall(r,$root.sesame.v1.common.Empty,$root.sesame.v1.status.Status,t,e)},"name",{value:"RequestStatus"}),Object.defineProperty(n.prototype.requestRecorderOperation=function r(t,e){return this.rpcCall(r,$root.sesame.v1.recorder.RecorderRequest,$root.sesame.v1.recorder.RecorderResponse,t,e)},"name",{value:"RequestRecorderOperation"}),Object.defineProperty(n.prototype.startJob=function r(t,e){return this.rpcCall(r,$root.sesame.v1.jobs.JobStartRequest,$root.sesame.v1.jobs.Job,t,e)},"name",{value:"StartJob"}),Object.defineProperty(n.prototype.abortJob=function r(t,e){return this.rpcCall(r,$root.sesame.v1.jobs.JobAbortRequest,$root.sesame.v1.jobs.Job,t,e)},"name",{value:"AbortJob"}),Object.defineProperty(n.prototype.getJobStatus=function r(t,e){return this.rpcCall(r,$root.sesame.v1.jobs.JobStatusRequest,$root.sesame.v1.jobs.Job,t,e)},"name",{value:"GetJobStatus"}),Object.defineProperty(n.prototype.listJobs=function r(t,e){return this.rpcCall(r,$root.sesame.v1.jobs.JobListRequest,$root.sesame.v1.jobs.JobList,t,e)},"name",{value:"ListJobs"}),Object.defineProperty(n.prototype.requestKeyframe=function r(t,e){return this.rpcCall(r,$root.sesame.v1.outputs.KeyframeRequest,$root.sesame.v1.common.Empty,t,e)},"name",{value:"RequestKeyframe"}),Object.defineProperty(n.prototype.requestIODeviceList=function r(t,e){return this.rpcCall(r,$root.sesame.v1.common.Empty,$root.sesame.v1.status.IODeviceListResponse,t,e)},"name",{value:"RequestIODeviceList"}),Object.defineProperty(n.prototype.publishMetadata=function r(t,e){return this.rpcCall(r,$root.sesame.v1.rpc.PublishMetadataRequest,$root.sesame.v1.common.Empty,t,e)},"name",{value:"PublishMetadata"}),n}(),l}(),o.wire=function(){const l={};return l.FrameType=function(){const n={},r=Object.create(n);return r[n[0]="FRAME_TYPE_UNSPECIFIED"]=0,r[n[1]="FRAME_TYPE_RPC"]=1,r[n[2]="FRAME_TYPE_VIDEO"]=2,r[n[3]="FRAME_TYPE_AUDIO"]=3,r[n[4]="FRAME_TYPE_MUXED"]=4,r[n[5]="FRAME_TYPE_DECODER_DATA"]=5,r[n[6]="FRAME_TYPE_DATA"]=6,r}(),l.MediaCodecData=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.codecType=0,n.prototype.sampleRate=0,n.prototype.timebaseNum=0,n.prototype.timebaseDen=0,n.prototype.codecProfile=0,n.prototype.codecLevel=0,n.prototype.width=0,n.prototype.height=0,n.prototype.channels=0,n.prototype.bitDepth=0,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.codecType!=null&&Object.hasOwnProperty.call(t,"codecType")&&e.uint32(8).int32(t.codecType),t.sampleRate!=null&&Object.hasOwnProperty.call(t,"sampleRate")&&e.uint32(16).uint32(t.sampleRate),t.timebaseNum!=null&&Object.hasOwnProperty.call(t,"timebaseNum")&&e.uint32(24).uint32(t.timebaseNum),t.timebaseDen!=null&&Object.hasOwnProperty.call(t,"timebaseDen")&&e.uint32(32).uint32(t.timebaseDen),t.codecProfile!=null&&Object.hasOwnProperty.call(t,"codecProfile")&&e.uint32(40).uint32(t.codecProfile),t.codecLevel!=null&&Object.hasOwnProperty.call(t,"codecLevel")&&e.uint32(48).uint32(t.codecLevel),t.width!=null&&Object.hasOwnProperty.call(t,"width")&&e.uint32(56).uint32(t.width),t.height!=null&&Object.hasOwnProperty.call(t,"height")&&e.uint32(64).uint32(t.height),t.channels!=null&&Object.hasOwnProperty.call(t,"channels")&&e.uint32(72).uint32(t.channels),t.bitDepth!=null&&Object.hasOwnProperty.call(t,"bitDepth")&&e.uint32(80).uint32(t.bitDepth),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.wire.MediaCodecData;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.codecType=t.int32();break}case 2:{s.sampleRate=t.uint32();break}case 3:{s.timebaseNum=t.uint32();break}case 4:{s.timebaseDen=t.uint32();break}case 5:{s.codecProfile=t.uint32();break}case 6:{s.codecLevel=t.uint32();break}case 7:{s.width=t.uint32();break}case 8:{s.height=t.uint32();break}case 9:{s.channels=t.uint32();break}case 10:{s.bitDepth=t.uint32();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.codecType!=null&&t.hasOwnProperty("codecType"))switch(t.codecType){default:return"codecType: enum value expected";case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 64:case 65:case 66:case 67:break}return t.sampleRate!=null&&t.hasOwnProperty("sampleRate")&&!$util.isInteger(t.sampleRate)?"sampleRate: integer expected":t.timebaseNum!=null&&t.hasOwnProperty("timebaseNum")&&!$util.isInteger(t.timebaseNum)?"timebaseNum: integer expected":t.timebaseDen!=null&&t.hasOwnProperty("timebaseDen")&&!$util.isInteger(t.timebaseDen)?"timebaseDen: integer expected":t.codecProfile!=null&&t.hasOwnProperty("codecProfile")&&!$util.isInteger(t.codecProfile)?"codecProfile: integer expected":t.codecLevel!=null&&t.hasOwnProperty("codecLevel")&&!$util.isInteger(t.codecLevel)?"codecLevel: integer expected":t.width!=null&&t.hasOwnProperty("width")&&!$util.isInteger(t.width)?"width: integer expected":t.height!=null&&t.hasOwnProperty("height")&&!$util.isInteger(t.height)?"height: integer expected":t.channels!=null&&t.hasOwnProperty("channels")&&!$util.isInteger(t.channels)?"channels: integer expected":t.bitDepth!=null&&t.hasOwnProperty("bitDepth")&&!$util.isInteger(t.bitDepth)?"bitDepth: integer expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.wire.MediaCodecData)return t;let e=new $root.sesame.v1.wire.MediaCodecData;switch(t.codecType){default:if(typeof t.codecType=="number"){e.codecType=t.codecType;break}break;case"CODEC_TYPE_UNSPECIFIED":case 0:e.codecType=0;break;case"CODEC_TYPE_VIDEO_VP8":case 1:e.codecType=1;break;case"CODEC_TYPE_VIDEO_VP9":case 2:e.codecType=2;break;case"CODEC_TYPE_VIDEO_AVC":case 3:e.codecType=3;break;case"CODEC_TYPE_VIDEO_HEVC":case 4:e.codecType=4;break;case"CODEC_TYPE_VIDEO_AV1":case 5:e.codecType=5;break;case"CODEC_TYPE_VIDEO_PRORES":case 6:e.codecType=6;break;case"CODEC_TYPE_VIDEO_DNXHR":case 7:e.codecType=7;break;case"CODEC_TYPE_AUDIO_OPUS":case 64:e.codecType=64;break;case"CODEC_TYPE_AUDIO_AAC":case 65:e.codecType=65;break;case"CODEC_TYPE_AUDIO_PCM":case 66:e.codecType=66;break;case"CODEC_TYPE_AUDIO_PCM_S24LE":case 67:e.codecType=67;break}return t.sampleRate!=null&&(e.sampleRate=t.sampleRate>>>0),t.timebaseNum!=null&&(e.timebaseNum=t.timebaseNum>>>0),t.timebaseDen!=null&&(e.timebaseDen=t.timebaseDen>>>0),t.codecProfile!=null&&(e.codecProfile=t.codecProfile>>>0),t.codecLevel!=null&&(e.codecLevel=t.codecLevel>>>0),t.width!=null&&(e.width=t.width>>>0),t.height!=null&&(e.height=t.height>>>0),t.channels!=null&&(e.channels=t.channels>>>0),t.bitDepth!=null&&(e.bitDepth=t.bitDepth>>>0),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.codecType=e.enums===String?"CODEC_TYPE_UNSPECIFIED":0,i.sampleRate=0,i.timebaseNum=0,i.timebaseDen=0,i.codecProfile=0,i.codecLevel=0,i.width=0,i.height=0,i.channels=0,i.bitDepth=0),t.codecType!=null&&t.hasOwnProperty("codecType")&&(i.codecType=e.enums===String?$root.sesame.v1.common.CodecType[t.codecType]===void 0?t.codecType:$root.sesame.v1.common.CodecType[t.codecType]:t.codecType),t.sampleRate!=null&&t.hasOwnProperty("sampleRate")&&(i.sampleRate=t.sampleRate),t.timebaseNum!=null&&t.hasOwnProperty("timebaseNum")&&(i.timebaseNum=t.timebaseNum),t.timebaseDen!=null&&t.hasOwnProperty("timebaseDen")&&(i.timebaseDen=t.timebaseDen),t.codecProfile!=null&&t.hasOwnProperty("codecProfile")&&(i.codecProfile=t.codecProfile),t.codecLevel!=null&&t.hasOwnProperty("codecLevel")&&(i.codecLevel=t.codecLevel),t.width!=null&&t.hasOwnProperty("width")&&(i.width=t.width),t.height!=null&&t.hasOwnProperty("height")&&(i.height=t.height),t.channels!=null&&t.hasOwnProperty("channels")&&(i.channels=t.channels),t.bitDepth!=null&&t.hasOwnProperty("bitDepth")&&(i.bitDepth=t.bitDepth),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.wire.MediaCodecData"},n}(),l.MediaFrameData=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.pts=$util.Long?$util.Long.fromBits(0,0,!0):0,n.prototype.keyframe=!1,n.prototype.codecData=null,n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.pts!=null&&Object.hasOwnProperty.call(t,"pts")&&e.uint32(8).uint64(t.pts),t.keyframe!=null&&Object.hasOwnProperty.call(t,"keyframe")&&e.uint32(16).bool(t.keyframe),t.codecData!=null&&Object.hasOwnProperty.call(t,"codecData")&&$root.sesame.v1.wire.MediaCodecData.encode(t.codecData,e.uint32(26).fork()).ldelim(),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.wire.MediaFrameData;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.pts=t.uint64();break}case 2:{s.keyframe=t.bool();break}case 3:{s.codecData=$root.sesame.v1.wire.MediaCodecData.decode(t,t.uint32());break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.pts!=null&&t.hasOwnProperty("pts")&&!$util.isInteger(t.pts)&&!(t.pts&&$util.isInteger(t.pts.low)&&$util.isInteger(t.pts.high)))return"pts: integer|Long expected";if(t.keyframe!=null&&t.hasOwnProperty("keyframe")&&typeof t.keyframe!="boolean")return"keyframe: boolean expected";if(t.codecData!=null&&t.hasOwnProperty("codecData")){let e=$root.sesame.v1.wire.MediaCodecData.verify(t.codecData);if(e)return"codecData."+e}return null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.wire.MediaFrameData)return t;let e=new $root.sesame.v1.wire.MediaFrameData;if(t.pts!=null&&($util.Long?(e.pts=$util.Long.fromValue(t.pts)).unsigned=!0:typeof t.pts=="string"?e.pts=parseInt(t.pts,10):typeof t.pts=="number"?e.pts=t.pts:typeof t.pts=="object"&&(e.pts=new $util.LongBits(t.pts.low>>>0,t.pts.high>>>0).toNumber(!0))),t.keyframe!=null&&(e.keyframe=!!t.keyframe),t.codecData!=null){if(typeof t.codecData!="object")throw TypeError(".sesame.v1.wire.MediaFrameData.codecData: object expected");e.codecData=$root.sesame.v1.wire.MediaCodecData.fromObject(t.codecData)}return e},n.toObject=function(t,e){e||(e={});let i={};if(e.defaults){if($util.Long){let a=new $util.Long(0,0,!0);i.pts=e.longs===String?a.toString():e.longs===Number?a.toNumber():a}else i.pts=e.longs===String?"0":0;i.keyframe=!1,i.codecData=null}return t.pts!=null&&t.hasOwnProperty("pts")&&(typeof t.pts=="number"?i.pts=e.longs===String?String(t.pts):t.pts:i.pts=e.longs===String?$util.Long.prototype.toString.call(t.pts):e.longs===Number?new $util.LongBits(t.pts.low>>>0,t.pts.high>>>0).toNumber(!0):t.pts),t.keyframe!=null&&t.hasOwnProperty("keyframe")&&(i.keyframe=t.keyframe),t.codecData!=null&&t.hasOwnProperty("codecData")&&(i.codecData=$root.sesame.v1.wire.MediaCodecData.toObject(t.codecData,e)),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.wire.MediaFrameData"},n}(),l.DataType=function(){const n={},r=Object.create(n);return r[n[0]="DATA_TYPE_UNSPECIFIED"]=0,r[n[1]="DATA_TYPE_JSON"]=1,r[n[2]="DATA_TYPE_TRANSPORT_STATUS"]=2,r[n[3]="DATA_TYPE_AUDIO_STATE"]=3,r[n[4]="DATA_TYPE_TRANSPORT_CONTROL"]=4,r[n[5]="DATA_TYPE_AUDIO_CONTROL"]=5,r[n[6]="DATA_TYPE_BINARY"]=6,r}(),l.DataFrameData=function(){function n(r){if(r)for(let t=Object.keys(r),e=0;e<t.length;++e)r[t[e]]!=null&&(this[t[e]]=r[t[e]])}return n.prototype.dataType=0,n.prototype.trackName="",n.create=function(t){return new n(t)},n.encode=function(t,e){return e||(e=$Writer.create()),t.dataType!=null&&Object.hasOwnProperty.call(t,"dataType")&&e.uint32(8).int32(t.dataType),t.trackName!=null&&Object.hasOwnProperty.call(t,"trackName")&&e.uint32(18).string(t.trackName),e},n.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},n.decode=function(t,e,i){t instanceof $Reader||(t=$Reader.create(t));let a=e===void 0?t.len:t.pos+e,s=new $root.sesame.v1.wire.DataFrameData;for(;t.pos<a;){let d=t.uint32();if(d===i)break;switch(d>>>3){case 1:{s.dataType=t.int32();break}case 2:{s.trackName=t.string();break}default:t.skipType(d&7);break}}return s},n.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},n.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.dataType!=null&&t.hasOwnProperty("dataType"))switch(t.dataType){default:return"dataType: enum value expected";case 0:case 1:case 2:case 3:case 4:case 5:case 6:break}return t.trackName!=null&&t.hasOwnProperty("trackName")&&!$util.isString(t.trackName)?"trackName: string expected":null},n.fromObject=function(t){if(t instanceof $root.sesame.v1.wire.DataFrameData)return t;let e=new $root.sesame.v1.wire.DataFrameData;switch(t.dataType){default:if(typeof t.dataType=="number"){e.dataType=t.dataType;break}break;case"DATA_TYPE_UNSPECIFIED":case 0:e.dataType=0;break;case"DATA_TYPE_JSON":case 1:e.dataType=1;break;case"DATA_TYPE_TRANSPORT_STATUS":case 2:e.dataType=2;break;case"DATA_TYPE_AUDIO_STATE":case 3:e.dataType=3;break;case"DATA_TYPE_TRANSPORT_CONTROL":case 4:e.dataType=4;break;case"DATA_TYPE_AUDIO_CONTROL":case 5:e.dataType=5;break;case"DATA_TYPE_BINARY":case 6:e.dataType=6;break}return t.trackName!=null&&(e.trackName=String(t.trackName)),e},n.toObject=function(t,e){e||(e={});let i={};return e.defaults&&(i.dataType=e.enums===String?"DATA_TYPE_UNSPECIFIED":0,i.trackName=""),t.dataType!=null&&t.hasOwnProperty("dataType")&&(i.dataType=e.enums===String?$root.sesame.v1.wire.DataType[t.dataType]===void 0?t.dataType:$root.sesame.v1.wire.DataType[t.dataType]:t.dataType),t.trackName!=null&&t.hasOwnProperty("trackName")&&(i.trackName=t.trackName),i},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/sesame.v1.wire.DataFrameData"},n}(),l.FrameHeader=function(){function n(t){if(t)for(let e=Object.keys(t),i=0;i<e.length;++i)t[e[i]]!=null&&(this[e[i]]=t[e[i]])}n.prototype.type=0,n.prototype.routingMetadata="",n.prototype.media=null,n.prototype.data=null;let r;return Object.defineProperty(n.prototype,"typeData",{get:$util.oneOfGetter(r=["media","data"]),set:$util.oneOfSetter(r)}),n.create=function(e){return new n(e)},n.encode=function(e,i){return i||(i=$Writer.create()),e.type!=null&&Object.hasOwnProperty.call(e,"type")&&i.uint32(8).int32(e.type),e.routingMetadata!=null&&Object.hasOwnProperty.call(e,"routingMetadata")&&i.uint32(50).string(e.routingMetadata),e.media!=null&&Object.hasOwnProperty.call(e,"media")&&$root.sesame.v1.wire.MediaFrameData.encode(e.media,i.uint32(58).fork()).ldelim(),e.data!=null&&Object.hasOwnProperty.call(e,"data")&&$root.sesame.v1.wire.DataFrameData.encode(e.data,i.uint32(66).fork()).ldelim(),i},n.encodeDelimited=function(e,i){return this.encode(e,i).ldelim()},n.decode=function(e,i,a){e instanceof $Reader||(e=$Reader.create(e));let s=i===void 0?e.len:e.pos+i,d=new $root.sesame.v1.wire.FrameHeader;for(;e.pos<s;){let c=e.uint32();if(c===a)break;switch(c>>>3){case 1:{d.type=e.int32();break}case 6:{d.routingMetadata=e.string();break}case 7:{d.media=$root.sesame.v1.wire.MediaFrameData.decode(e,e.uint32());break}case 8:{d.data=$root.sesame.v1.wire.DataFrameData.decode(e,e.uint32());break}default:e.skipType(c&7);break}}return d},n.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},n.verify=function(e){if(typeof e!="object"||e===null)return"object expected";let i={};if(e.type!=null&&e.hasOwnProperty("type"))switch(e.type){default:return"type: enum value expected";case 0:case 1:case 2:case 3:case 4:case 5:case 6:break}if(e.routingMetadata!=null&&e.hasOwnProperty("routingMetadata")&&!$util.isString(e.routingMetadata))return"routingMetadata: string expected";if(e.media!=null&&e.hasOwnProperty("media")){i.typeData=1;{let a=$root.sesame.v1.wire.MediaFrameData.verify(e.media);if(a)return"media."+a}}if(e.data!=null&&e.hasOwnProperty("data")){if(i.typeData===1)return"typeData: multiple values";i.typeData=1;{let a=$root.sesame.v1.wire.DataFrameData.verify(e.data);if(a)return"data."+a}}return null},n.fromObject=function(e){if(e instanceof $root.sesame.v1.wire.FrameHeader)return e;let i=new $root.sesame.v1.wire.FrameHeader;switch(e.type){default:if(typeof e.type=="number"){i.type=e.type;break}break;case"FRAME_TYPE_UNSPECIFIED":case 0:i.type=0;break;case"FRAME_TYPE_RPC":case 1:i.type=1;break;case"FRAME_TYPE_VIDEO":case 2:i.type=2;break;case"FRAME_TYPE_AUDIO":case 3:i.type=3;break;case"FRAME_TYPE_MUXED":case 4:i.type=4;break;case"FRAME_TYPE_DECODER_DATA":case 5:i.type=5;break;case"FRAME_TYPE_DATA":case 6:i.type=6;break}if(e.routingMetadata!=null&&(i.routingMetadata=String(e.routingMetadata)),e.media!=null){if(typeof e.media!="object")throw TypeError(".sesame.v1.wire.FrameHeader.media: object expected");i.media=$root.sesame.v1.wire.MediaFrameData.fromObject(e.media)}if(e.data!=null){if(typeof e.data!="object")throw TypeError(".sesame.v1.wire.FrameHeader.data: object expected");i.data=$root.sesame.v1.wire.DataFrameData.fromObject(e.data)}return i},n.toObject=function(e,i){i||(i={});let a={};return i.defaults&&(a.type=i.enums===String?"FRAME_TYPE_UNSPECIFIED":0,a.routingMetadata=""),e.type!=null&&e.hasOwnProperty("type")&&(a.type=i.enums===String?$root.sesame.v1.wire.FrameType[e.type]===void 0?e.type:$root.sesame.v1.wire.FrameType[e.type]:e.type),e.routingMetadata!=null&&e.hasOwnProperty("routingMetadata")&&(a.routingMetadata=e.routingMetadata),e.media!=null&&e.hasOwnProperty("media")&&(a.media=$root.sesame.v1.wire.MediaFrameData.toObject(e.media,i),i.oneofs&&(a.typeData="media")),e.data!=null&&e.hasOwnProperty("data")&&(a.data=$root.sesame.v1.wire.DataFrameData.toObject(e.data,i),i.oneofs&&(a.typeData="data")),a},n.prototype.toJSON=function(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/sesame.v1.wire.FrameHeader"},n}(),l}(),o}(),u})(),import_events=__toESM(require_events()),ConsoleLogger=class{debug(u,...o){console.debug(`[DEBUG] ${u}`,...o)}info(u,...o){console.info(`[INFO] ${u}`,...o)}warn(u,...o){console.warn(`[WARN] ${u}`,...o)}error(u,...o){console.error(`[ERROR] ${u}`,...o)}},logger=new ConsoleLogger,log={debug:(u,...o)=>logger.debug(u,...o),info:(u,...o)=>logger.info(u,...o),warn:(u,...o)=>logger.warn(u,...o),error:(u,...o)=>logger.error(u,...o)},RPCClient=class extends import_events.EventEmitter{constructor(u,o,l={}){super(),this.messageBuffer={},this.nextSeq=0,this.openHandler=()=>{this.emit("open"),this.flushMessageBuffer().catch(n=>{log.error("RPC openhandler",n)})},this.rpcImpl=(n,r,t)=>{const e=this.nextSeq;this.nextSeq=this.nextSeq+1&65535;let i=new sesame.v1.rpc.Request({seq:e,method:n.name,payload:r});const a=new sesame.v1.rpc.Message({request:i});let s;this.sendTimeout>0&&(s=setTimeout(()=>{try{const d=new Error(`Timed out after ${this.sendTimeout}ms`);this.rpcCallback(e,d)}catch(d){this.errorHandler(d)}},this.sendTimeout)),this.messageBuffer[e]={seq:e,callback:t,timer:s},this.connection.isConnected()?this.writeMessage(a).catch(d=>{this.rpcCallback(e,d)}):this.messageBuffer[e].message=a},this.rpcCallback=(n,r,t)=>{if(!this.messageBuffer[n]){this.errorHandler(new Error(`Got response for unknown seqNo: ${n}`));return}const{callback:e,timer:i}=this.messageBuffer[n];i&&clearTimeout(i),delete this.messageBuffer[n];try{e(r,t)}catch(a){this.errorHandler(a)}},this.writeMessage=async n=>{if(!this.connection)throw new Error("No socket");const r=sesame.v1.rpc.Message.encode(n).finish();await this.connection.send(r)},this.errorHandler=n=>{this.listenerCount("error")>0&&this.emit("error",n)},this.messageHandler=n=>{try{const r=sesame.v1.rpc.Message.decode(n);if(r.response)this.responseHandler(r.response);else if(r.event)this.eventHandler(r.event);else throw new Error("Unsupported RPC message payload")}catch(r){const t=new Error(`Got invalid message: ${r instanceof Error?r.message:String(r)}`);this.errorHandler(t)}},this.connection=u,this.connection.on("open",this.openHandler),this.connection.on("rpc",n=>this.messageHandler(n)),this.connection.on("error",this.errorHandler),this.options=l,this.service=this.wrapServicePromises(o.create(this.rpcImpl)),this.eventTypes=l.eventTypes||{},this.sendTimeout=l.sendTimeout||5*1e3}wrapServicePromises(u){return new Proxy(u,{get(o,l){const n=o[l];return typeof n!="function"?n:function(...r){const t=n.apply(o,r);return t!=null&&typeof t.catch=="function"&&t.catch(()=>{}),t}}})}async flushMessageBuffer(){const u=[];for(const o in this.messageBuffer)this.messageBuffer[o].message&&u.push(this.messageBuffer[o]);for(u.sort((o,l)=>o.seq-l.seq);u.length>0;){const o=u.shift();try{await this.writeMessage(o.message),o.message=void 0}catch(l){this.rpcCallback(o.seq,l)}}}async responseHandler(u){u.ok?this.rpcCallback(u.seq,null,u.payload):this.rpcCallback(u.seq,new Error(u.error||"Unknown error"))}eventHandler(u){const o=u.topic??0;if(o===sesame.v1.common.EventTopic.EVENT_TOPIC_UNSPECIFIED){log.warn(`Ignoring event with unspecified topic: ${u.topic}`);return}const l=this.eventTypes[o];let n,r;if(u.payload&&u.payload.length>0)if(l)try{n=l.decode(u.payload),r=l.toObject(n,{longs:Number})}catch(t){const e=new Error(`Could not decode event payload: ${t instanceof Error?t.message:String(t)}`);this.errorHandler(e);return}else n=u.payload;this.emit("event",o,r||n)}},import_events2=__toESM(require_events()),FrameType=sesame.v1.wire.FrameType;sesame.v1.wire.DataType;sesame.v1.wire.FrameHeader;sesame.v1.wire.MediaCodecData;var CodecType=sesame.v1.common.CodecType,PREFIX_SIZE=4,WireProtocol=class{static serialize(u,o){const l=sesame.v1.wire.FrameHeader.encode(u).finish(),n=l.length,r=o?o.length:0,t=PREFIX_SIZE+n+r,e=new Uint8Array(t);return new DataView(e.buffer).setUint32(0,n,!0),e.set(l,PREFIX_SIZE),o&&r>0&&e.set(o,PREFIX_SIZE+n),e}static parse(u){const o={valid:!1,header:null,payload:null};if(!u||u.length<PREFIX_SIZE)return o;const n=new DataView(u.buffer,u.byteOffset,u.byteLength).getUint32(0,!0);if(u.length<PREFIX_SIZE+n)return o;try{const r=u.subarray(PREFIX_SIZE,PREFIX_SIZE+n);o.header=sesame.v1.wire.FrameHeader.decode(r),o.payload=u.subarray(PREFIX_SIZE+n),o.valid=!0}catch{}return o}};function waitForEvent(u,o){return new Promise(l=>{u.once(o,l)})}var SesameConnection=class extends import_events2.EventEmitter{constructor(u){super(),this.active=!1,this.numRetries=0,this.url="",this.autoReconnect=!0,this._state="disconnected",this.boundMessageHandler=o=>this.messageHandler(o),this.boundOpenHandler=()=>this.openHandler(),this.boundCloseHandler=()=>this.closeHandler(),this.boundErrorHandler=o=>this.errorHandler(o),this.openHandler=()=>{this.numRetries=0,this.setState("connected"),this.emit("open")},this.messageHandler=o=>{var l;if(o.data instanceof ArrayBuffer){const n=WireProtocol.parse(new Uint8Array(o.data));if(!n.valid){this.emit("error",new Error("Invalid packet received"));return}((l=n.header)==null?void 0:l.type)===FrameType.FRAME_TYPE_RPC?this.emit("rpc",n.payload):this.emit("media-packet",n)}},this.url=u.url,this.autoReconnect=u.autoReconnect,u.autoConnect&&this.connect().catch(()=>{})}get state(){return this._state}setState(u){if(this._state===u)return;const o=this._state;switch(this._state=u,u){case"connected":log.info("Connected to Sesame");break;case"reconnecting":o==="connected"?log.warn("Lost connection to Sesame, will try reconnect.."):log.warn("Failed to connect to Sesame, will try reconnect..");break;case"disconnected":log.info("Disconnected from Sesame");break}this.emit("state",u,o)}isConnected(){return this.socket!==void 0&&this.socket.readyState===WebSocket.OPEN}async send(u){if(!this.isConnected())throw new Error("Not connected");const o={type:sesame.v1.wire.FrameType.FRAME_TYPE_RPC},l=WireProtocol.serialize(o,u);return this.socket.send(l),Promise.resolve()}async connect(){this.active=!0,this._state==="disconnected"&&this.setState("connecting"),this.socket=new WebSocket(this.url),this.socket.addEventListener("message",this.boundMessageHandler),this.socket.addEventListener("open",this.boundOpenHandler),this.socket.addEventListener("close",this.boundCloseHandler),this.socket.addEventListener("error",this.boundErrorHandler),this.socket.binaryType="arraybuffer",await new Promise((u,o)=>{const l=()=>{this.removeListener("open",n),this.removeListener("close",t),this.removeListener("error",r)},n=()=>{l(),u()},r=e=>{l(),o(e instanceof Error?e:new Error("WebSocket connection error"))},t=()=>{this.isConnected()||(l(),o(new Error("WebSocket connection closed before opening")))};this.on("open",n),this.on("close",t),this.on("error",r)})}async disconnect(){if(this.active=!1,!this.socket){this.setState("disconnected");return}const u=this.socket;u.readyState!==WebSocket.CLOSED&&(u.close(),await waitForEvent(this,"close")),this.removeSocketListeners(u)}removeSocketListeners(u){u.removeEventListener("message",this.boundMessageHandler),u.removeEventListener("open",this.boundOpenHandler),u.removeEventListener("close",this.boundCloseHandler),u.removeEventListener("error",this.boundErrorHandler)}retryHandler(){this.active&&this.autoReconnect&&this.connect().catch(()=>{})}closeHandler(){this.emit("close"),this.socket&&this.removeSocketListeners(this.socket),this.socket=void 0,this.active?this.autoReconnect?(this.setState("reconnecting"),setTimeout(()=>{this.retryHandler()},defaultBackoff(++this.numRetries))):(this.active=!1,this.setState("disconnected")):this.setState("disconnected")}errorHandler(u){this.emit("error",u)}},defaultBackoff=u=>3e3,import_events3=__toESM(require_events()),StatusApi=class{constructor(u){this.rpc=u}async getStatus(){return this.rpc.service.requestStatus(new sesame.v1.common.Empty)}async getIODevices(){return this.rpc.service.requestIODeviceList(new sesame.v1.common.Empty)}},RecorderApi=class{constructor(u){this.rpc=u}async addClip(u,o){const l=sesame.v1.recorder.RecorderClipAddRequest.create({clip:o});await this.rpc.service.requestRecorderOperation({recorderId:u,addClip:l})}async copyClip(u,o,l){const n=sesame.v1.recorder.RecorderClipCopyRequest.create({clipId:o,newClipId:l});await this.rpc.service.requestRecorderOperation({recorderId:u,copyClip:n})}async removeClip(u,o){const l=sesame.v1.recorder.RecorderClipRemoveRequest.create({clipId:o});await this.rpc.service.requestRecorderOperation({recorderId:u,removeClip:l})}async removeAllClips(u,o){const l=sesame.v1.recorder.RecorderClipsClearRequest.create();o&&(l.protectedRanges=o),await this.rpc.service.requestRecorderOperation({recorderId:u,clearClips:l})}async verifyClips(u){var n;const o=sesame.v1.recorder.RecorderClipsVerifyRequest.create();return((n=(await this.rpc.service.requestRecorderOperation({recorderId:u,verifyClips:o})).verifyClipsResponse)==null?void 0:n.errors)||[]}async getClips(u){var n;const o=sesame.v1.recorder.RecorderClipsGetRequest.create(),l=await this.rpc.service.requestRecorderOperation({recorderId:u,getClips:o});if((n=l.getClipsResponse)!=null&&n.clips)return l.getClipsResponse.clips;throw new Error(`No clips returned: ${JSON.stringify(l)}`)}async setLockedDuration(u){const o=sesame.v1.recorder.RecorderLockedDurationSetRequest.create({frames:u});await this.rpc.service.requestRecorderOperation({recorderId:"",setLockedDuration:o})}async setMetadata(u,o){const l=sesame.v1.recorder.RecorderMetadataSetRequest.create({metadata:o});await this.rpc.service.requestRecorderOperation({recorderId:u,setMetadata:l})}},JobsApi=class{constructor(u){this.rpc=u}async importClip(u){const o=sesame.v1.jobs.ImportStartRequest.create();o.config=u;const l=sesame.v1.jobs.JobStartRequest.create({importRequest:o}),n=await this.rpc.service.startJob(l);if(n.error)throw new Error(n.error);return n}async exportPlaylist(u,o){const l=sesame.v1.jobs.ExportStartRequest.create();if(!o.filename)throw new Error("Filename is required");l.config={...o,videoCodec:o.videoCodec??sesame.v1.common.CodecType.CODEC_TYPE_VIDEO_AVC,videoBitrateKbps:o.videoBitrateKbps??1024,audioCodec:o.audioCodec??sesame.v1.common.CodecType.CODEC_TYPE_AUDIO_AAC,audioBitrateKbps:o.audioBitrateKbps??128,audioChannels:o.audioChannels??4,audioRouting:o.audioRouting??[0,1,2,3]},l.items=u.clips.map(t=>({...t,transitionTimeUs:t.transitionTimeUs??0,transitionType:t.transitionType??sesame.v1.recorder.TransitionType.TRANSITION_TYPE_MIX,transitionFadeColor:t.transitionFadeColor??{x:0,y:0,z:0,w:0},speed:t.speed??1}));const n=sesame.v1.jobs.JobStartRequest.create({exportRequest:l}),r=await this.rpc.service.startJob(n);if(r.error)throw new Error(r.error);return r}async abortJob(u){const o={jobId:u};return this.rpc.service.abortJob(o)}async getJobStatus(u){const o={jobId:u};return this.rpc.service.getJobStatus(o)}async listJobs(){const u={};return this.rpc.service.listJobs(u)}};(class extends import_events3.EventEmitter{constructor(u){super(),this.subscriptions=[],this.onMediaPacket=()=>{},this.onCallbackMessage=()=>{};const o=typeof u=="number"?`ws://127.0.0.1:${u}/api`:u;this.conn=new SesameConnection({url:o,autoConnect:!0,autoReconnect:!0}),this.conn.on("error",()=>{});let n={eventTypes:{[sesame.v1.common.EventTopic.EVENT_TOPIC_ERROR]:sesame.v1.status.Event,[sesame.v1.common.EventTopic.EVENT_TOPIC_TRANSPORT]:sesame.v1.status.Event,[sesame.v1.common.EventTopic.EVENT_TOPIC_CALLBACK]:sesame.v1.status.Event,[sesame.v1.common.EventTopic.EVENT_TOPIC_JOB]:sesame.v1.status.Event,[sesame.v1.common.EventTopic.EVENT_TOPIC_RECORDER]:sesame.v1.status.Event}};this.rpc=new RPCClient(this.conn,sesame.v1.rpc.SesameAPIService,n),this.status=new StatusApi(this.rpc),this.recorder=new RecorderApi(this.rpc),this.jobs=new JobsApi(this.rpc),this.rpc.on("event",(r,t)=>{for(const e of this.subscriptions)e.topic===r&&e.callback(e.topic,t)}),this.rpc.on("error",r=>{this.isConnected()&&log.error(`RPC error: ${r.message}`)}),this.conn.on("open",async()=>{this.sendSubscriptions(),this.emit("connected")}),this.conn.on("close",()=>{this.emit("disconnected")}),this.conn.on("media-packet",r=>this.onMediaPacket(this.mediaSubscriptionId,r)),this.subscriptions=[]}isConnected(){return this.conn.isConnected()}sendSubscriptions(){if(!this.isConnected())return;const u=this.subscriptions.map(n=>n.topic),o=[];this.mediaSubscriptionId&&o.push(`media-stream/${this.mediaSubscriptionId}`);let l={eventTopics:u,channels:o};this.rpc.service.updateSubscriptions(l).catch(n=>{log.error(`Failed to update subscriptions: ${n.message}`)})}addMediaSubscription(u){this.mediaSubscriptionId=u,this.sendSubscriptions()}addSubscription(u,o){for(let l=0;l<this.subscriptions.length;l++)if(this.subscriptions[l].callback===o&&this.subscriptions[l].topic===u)return;this.subscriptions.push({topic:u,callback:o}),this.sendSubscriptions()}removeSubscription(u,o){this.subscriptions=this.subscriptions.filter(l=>!(l.topic===u&&l.callback===o)),this.sendSubscriptions()}getService(){return this.rpc}async requestKeyframe(u){await this.rpc.service.requestKeyframe({id:u})}async execute(u){u.filterCreatedAndDestroyedSources(),u.getCommandListMsg().commandList.length>0&&await this.rpc.service.executeCommandList(u.getCommandListMsg())}disconnect(){this.conn.disconnect()}});sesame.v1.rpc.Message;sesame.v1.rpc.Request;sesame.v1.rpc.Response;sesame.v1.rpc.Event;function isLong(u){return u!==null&&typeof u=="object"&&"low"in u&&"high"in u&&typeof u.toNumber=="function"}const LIVE_WORKLET_CODE=`
2
2
  class LiveAudioProcessor extends AudioWorkletProcessor {
3
3
  constructor(options) {
4
4
  super();