<div dir="ltr"><div class="markdown-here-wrapper" style><p style="margin:1.2em 0px!important">So, poking around, I might have found a solution:</p>
<pre style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;font-size:1em;line-height:1.2em;overflow:auto;margin:1.2em 0px"><code style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:nowrap;border:1px solid rgb(234,234,234);border-radius:3px;display:inline;background-color:rgb(248,248,248);white-space:pre;border-radius:3px;border:1px solid rgb(204,204,204);padding:0.5em 0.7em;display:block;padding:0.5em;color:rgb(51,51,51);background:rgb(248,248,255)">eval uuid:&lt;THE_CHANNEL_UUID&gt; ${variable_video_read_codec}
</code></pre><p style="margin:1.2em 0px!important">Other possible variables to check:</p>
<pre style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;font-size:1em;line-height:1.2em;overflow:auto;margin:1.2em 0px"><code style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:nowrap;border:1px solid rgb(234,234,234);border-radius:3px;display:inline;background-color:rgb(248,248,248);white-space:pre;border-radius:3px;border:1px solid rgb(204,204,204);padding:0.5em 0.7em;display:block;padding:0.5em;color:rgb(51,51,51);background:rgb(248,248,255)">variable_video_possible
variable_video_read_codec
variable_video_write_codec
variable_rtp_last_video_codec_string
variable_rtp_use_video_codec_name
variable_rtp_use_video_codec_fmtp
</code></pre><div title="MDH:U28sIHBva2luZyBhcm91bmQsIEkgbWlnaHQgaGF2ZSBmb3VuZCBhIHNvbHV0aW9uOjxkaXY+PGJy
PjwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyBldmFsIHV1aWQ6Jmx0O1RIRV9DSEFOTkVMX1VVSUQm
Z3Q7ICR7dmFyaWFibGVfdmlkZW9fcmVhZF9jb2RlY308L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2
Pk90aGVyIHBvc3NpYmxlIHZhcmlhYmxlcyB0byBjaGVjazo8L2Rpdj48ZGl2Pjxicj48L2Rpdj48
ZGl2PiZuYnNwOyAmbmJzcDsgdmFyaWFibGVfdmlkZW9fcG9zc2libGU8L2Rpdj48ZGl2PiZuYnNw
OyAmbmJzcDsgdmFyaWFibGVfdmlkZW9fcmVhZF9jb2RlYzwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNw
OyZuYnNwO3ZhcmlhYmxlX3ZpZGVvX3dyaXRlX2NvZGVjPC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7
Jm5ic3A7dmFyaWFibGVfcnRwX2xhc3RfdmlkZW9fY29kZWNfc3RyaW5nPC9kaXY+PGRpdj4mbmJz
cDsgJm5ic3A7Jm5ic3A7dmFyaWFibGVfcnRwX3VzZV92aWRlb19jb2RlY19uYW1lPC9kaXY+PGRp
dj4mbmJzcDsgJm5ic3A7Jm5ic3A7dmFyaWFibGVfcnRwX3VzZV92aWRlb19jb2RlY19mbXRwPC9k
aXY+" style="height:0;width:0;max-height:0;max-width:0;overflow:hidden;font-size:0em;padding:0;margin:0">​</div></div><div></div>







</div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Mar 2, 2015 at 4:35 PM, Dylan Mikus <span dir="ltr">&lt;<a href="mailto:dylan@onsip.com" target="_blank">dylan@onsip.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Actually, I do not necessarily need the codec. I only need to determine if a call is using video or not. The codec is useful additional information, but not necessary.</div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Mar 2, 2015 at 4:28 PM, Dylan Mikus <span dir="ltr">&lt;<a href="mailto:dylan@onsip.com" target="_blank">dylan@onsip.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div></div><div><p style="margin:1.2em 0px!important">I’m trying to determine if a given channel over Freeswitch is using a video codec. In my config/vars.xml file, I’ve set the codecs line to:</p>
<pre style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;font-size:1em;line-height:1.2em;overflow:auto;margin:1.2em 0px"><code style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:nowrap;border:1px solid rgb(234,234,234);border-radius:3px;display:inline;background-color:rgb(248,248,248);white-space:pre-wrap;border-radius:3px;border:1px solid rgb(204,204,204);padding:0.5em 0.7em;display:block;padding:0.5em;color:rgb(51,51,51);background:rgb(248,248,255)">&lt;X-PRE-PROCESS cmd=&quot;set&quot; data=&quot;global_codec_prefs=OPUS,G722,PCMU,PCMA,H264&quot;/&gt;
</code></pre><h3 style="margin:1.3em 0px 1em;padding:0px;font-weight:bold;font-size:1.3em">Logs</h3>
<p style="margin:1.2em 0px!important">My SDP negotiation appears to be correct. The INVITE:</p>
<pre style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;font-size:1em;line-height:1.2em;overflow:auto;margin:1.2em 0px"><code style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:nowrap;border:1px solid rgb(234,234,234);border-radius:3px;display:inline;background-color:rgb(248,248,248);white-space:pre-wrap;border-radius:3px;border:1px solid rgb(204,204,204);padding:0.5em 0.7em;display:block;padding:0.5em;color:rgb(51,51,51);background:rgb(248,248,255)">INVITE <a href="mailto:sip%3Aqueuecard@cyberdyne.onsip.com" target="_blank">sip:queuecard@cyberdyne.onsip.com</a> SIP/2.0
Via: SIP/2.0/WS o8iatftbl1mn.invalid;branch=z9hG4bK8962099
Max-Forwards: 70
To: &lt;<a href="mailto:sip%3Aqueuecard@cyberdyne.onsip.com" target="_blank">sip:queuecard@cyberdyne.onsip.com</a>&gt;
From: &quot;Bender Rodriguez&quot; &lt;<a href="mailto:sip%3Abender@cyberdyne.onsip.com" target="_blank">sip:bender@cyberdyne.onsip.com</a>&gt;;tag=fneppn1lhh
Call-ID: n3o4g4i724sq7qkekp07
CSeq: 8622 INVITE
Proxy-Authorization: Digest algorithm=MD5, username=&quot;cyberdyne_bender&quot;, realm=&quot;<a href="http://jnctn.net" target="_blank">jnctn.net</a>&quot;, nonce=&quot;54f4ce2e000013e4888519dec3ca2ee1ef9023f82d4d8922&quot;, uri=&quot;<a href="mailto:sip%3Aqueuecard@cyberdyne.onsip.com" target="_blank">sip:queuecard@cyberdyne.onsip.com</a>&quot;, response=&quot;f842951ecc11c3510d1e1b7abcdeb51f&quot;, qop=auth, cnonce=&quot;d153n6udlh74&quot;, nc=00000001
Contact: &lt;sip:1fjqm8ps@o8iatftbl1mn.invalid;transport=ws;ob&gt;
Allow: ACK,CANCEL,BYE,OPTIONS,INFO,NOTIFY,INVITE,MESSAGE
Content-Type: application/sdp
Supported: 100rel,outbound
User-Agent: SIP.js/0.6.3 InstaPhone
Content-Length: 1649

v=0
o=Mozilla-SIPUA-35.0.1 10886 0 IN IP4 0.0.0.0
s=SIP Call
t=0 0
a=ice-ufrag:a256418b
a=ice-pwd:62e2ae7154b57f00ed0b1a2003ccf7af
a=fingerprint:sha-256 EA:C4:92:D4:94:62:18:41:39:2E:42:B4:4E:B7:32:9E:66:FE:7C:01:57:AC:2C:4C:E4:66:4F:3B:B6:91:FA:DC
m=audio 9 UDP/TLS/RTP/SAVPF 109 9 0 8 101
c=IN IP4 0.0.0.0
a=rtpmap:109 opus/48000/2
a=ptime:20
a=rtpmap:9 G722/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=sendrecv
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=setup:actpass
a=rtcp-mux
a=candidate:0 1 UDP 2130379007 192.168.1.38 58531 typ host
a=candidate:0 2 UDP 2130379006 192.168.1.38 64677 typ host
a=candidate:1 1 UDP 1694236671 38.104.167.182 49209 typ srflx raddr 192.168.1.38 rport 58531
a=candidate:1 2 UDP 1694236670 38.104.167.182 51209 typ srflx raddr 192.168.1.38 rport 64677
m=video 9 UDP/TLS/RTP/SAVPF 120 126 97
c=IN IP4 0.0.0.0
a=rtpmap:120 VP8/90000
a=rtpmap:126 H264/90000
a=fmtp:126 profile-level-id=42e01f;packetization-mode=1
a=rtpmap:97 H264/90000
a=fmtp:97 profile-level-id=42e01f
a=sendrecv
a=rtcp-fb:120 nack
a=rtcp-fb:120 nack pli
a=rtcp-fb:120 ccm fir
a=rtcp-fb:126 nack
a=rtcp-fb:126 nack pli
a=rtcp-fb:126 ccm fir
a=rtcp-fb:97 nack
a=rtcp-fb:97 nack pli
a=rtcp-fb:97 ccm fir
a=setup:actpass
a=rtcp-mux
a=candidate:0 1 UDP 2130379007 192.168.1.38 59562 typ host
a=candidate:0 2 UDP 2130379006 192.168.1.38 61464 typ host
a=candidate:1 1 UDP 1694236671 38.104.167.182 59357 typ srflx raddr 192.168.1.38 rport 59562
a=candidate:1 2 UDP 1694236670 38.104.167.182 21168 typ srflx raddr 192.168.1.38 rport 61464
</code></pre><p style="margin:1.2em 0px!important">The 200 OK response:</p>
<pre style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;font-size:1em;line-height:1.2em;overflow:auto;margin:1.2em 0px"><code style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:nowrap;border:1px solid rgb(234,234,234);border-radius:3px;display:inline;background-color:rgb(248,248,248);white-space:pre-wrap;border-radius:3px;border:1px solid rgb(204,204,204);padding:0.5em 0.7em;display:block;padding:0.5em;color:rgb(51,51,51);background:rgb(248,248,255)">SIP/2.0 200 OK
Via: SIP/2.0/WS o8iatftbl1mn.invalid;branch=z9hG4bK8962099
Record-Route: &lt;sip:38.109.82.167;lr;ftag=fneppn1lhh;did=24.0b0068f6&gt;
Record-Route: &lt;sip:38.109.82.192;lr;ftag=fneppn1lhh;did=24.4c4e8343&gt;
Record-Route: &lt;sip:38.109.82.193:5060;transport=udp;lr;ovid=cac1e79d&gt;
Record-Route: &lt;sip:2b14c410c1@38.109.82.193:80;transport=ws;lr;ovid=cac1e79d&gt;
From: &quot;Bender Rodriguez&quot; &lt;<a href="mailto:sip%3Abender@cyberdyne.onsip.com" target="_blank">sip:bender@cyberdyne.onsip.com</a>&gt;;tag=fneppn1lhh
To: &lt;<a href="mailto:sip%3Aqueuecard@cyberdyne.onsip.com" target="_blank">sip:queuecard@cyberdyne.onsip.com</a>&gt;;tag=30yQvF62DQyyg
Call-ID: n3o4g4i724sq7qkekp07
CSeq: 8622 INVITE
Contact: &lt;<a href="mailto:sip%3Adtlsgw0@app2-1.55-broad-1.app.jnctn.net" target="_blank">sip:dtlsgw0@app2-1.55-broad-1.app.jnctn.net</a>&gt;
Accept: application/sdp
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER, REFER, PRACK, NOTIFY
Supported: precondition, 100rel, timer, path, replaces
Content-Type: application/sdp
Content-Disposition: session
Content-Length: 1738

v=0
o=FreeSWITCH 1425307798 1425307799 IN IP4 38.109.82.228
s=FreeSWITCH
c=IN IP4 38.109.82.228
t=0 0
a=msid-semantic: WMS 61ZdxYMnyCuYhu6FrqjCFIr1DUjUALvw
m=audio 21882 UDP/TLS/RTP/SAVPF 109 101
a=rtpmap:109 opus/48000/2
a=fmtp:109 useinbandfec=1;usedtx=1;maxaveragebitrate=30000
a=rtpmap:101 telephone-event/8000
a=recvonly
a=silenceSupp:off - - - -
a=ptime:20
a=fingerprint:sha-256 D6:87:51:92:F6:80:BE:0D:5B:9A:97:C3:53:A7:40:C5:A2:19:60:CA:48:2D:18:A2:53:AF:B6:E1:4E:02:39:D2
a=rtcp:21883 IN IP4 38.109.82.228
a=ssrc:2365215248 cname:CkzZ9cdxFymMTiha
a=ssrc:2365215248 msid:61ZdxYMnyCuYhu6FrqjCFIr1DUjUALvw a0
a=ssrc:2365215248 mslabel:61ZdxYMnyCuYhu6FrqjCFIr1DUjUALvw
a=ssrc:2365215248 label:61ZdxYMnyCuYhu6FrqjCFIr1DUjUALvwa0
a=ice-ufrag:zqC4ZTWsD5d4Hyqa
a=ice-pwd:IQ0IT35osh0bq7bPoDKenwwR
a=candidate:9358589392 1 udp 659136 38.109.82.228 21882 typ host generation 0
a=candidate:9358589392 2 udp 659134 38.109.82.228 21883 typ host generation 0
m=video 23680 UDP/TLS/RTP/SAVPF 126
b=AS:256
a=rtpmap:126 H264/90000
a=fmtp:126 profile-level-id=42e01f;packetization-mode=1
a=recvonly
a=fingerprint:sha-256 D6:87:51:92:F6:80:BE:0D:5B:9A:97:C3:53:A7:40:C5:A2:19:60:CA:48:2D:18:A2:53:AF:B6:E1:4E:02:39:D2
a=rtcp:23681 IN IP4 38.109.82.228
a=rtcp-fb:* fir pli
a=ssrc:1652571152 cname:CkzZ9cdxFymMTiha
a=ssrc:1652571152 msid:61ZdxYMnyCuYhu6FrqjCFIr1DUjUALvw v0
a=ssrc:1652571152 mslabel:61ZdxYMnyCuYhu6FrqjCFIr1DUjUALvw
a=ssrc:1652571152 label:61ZdxYMnyCuYhu6FrqjCFIr1DUjUALvwv0
a=ice-ufrag:kirEYQCPyInSpi7Y
a=ice-pwd:fbIhKWJB3fFuGVyQ4QlSwNxU
a=candidate:9055446981 1 udp 659136 38.109.82.228 23680 typ host generation 0
a=candidate:9055446981 2 udp 659134 38.109.82.228 23681 typ host generation 0
</code></pre><p style="margin:1.2em 0px!important">We offer:</p>
<pre style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;font-size:1em;line-height:1.2em;overflow:auto;margin:1.2em 0px"><code style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:nowrap;border:1px solid rgb(234,234,234);border-radius:3px;display:inline;background-color:rgb(248,248,248);white-space:pre-wrap;border-radius:3px;border:1px solid rgb(204,204,204);padding:0.5em 0.7em;display:block;padding:0.5em;color:rgb(51,51,51);background:rgb(248,248,255)">a=rtpmap:120 VP8/90000
a=rtpmap:126 H264/90000
</code></pre><p style="margin:1.2em 0px!important">and we accept:</p>
<pre style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;font-size:1em;line-height:1.2em;overflow:auto;margin:1.2em 0px"><code style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:nowrap;border:1px solid rgb(234,234,234);border-radius:3px;display:inline;background-color:rgb(248,248,248);white-space:pre-wrap;border-radius:3px;border:1px solid rgb(204,204,204);padding:0.5em 0.7em;display:block;padding:0.5em;color:rgb(51,51,51);background:rgb(248,248,255)">a=rtpmap:126 H264/90000
</code></pre><p style="margin:1.2em 0px!important">Note that this is on Firefox 35.0.1.</p>
<h3 style="margin:1.3em 0px 1em;padding:0px;font-weight:bold;font-size:1.3em">Response</h3>
<p style="margin:1.2em 0px!important">While this call is up, I run <code style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:nowrap;border:1px solid rgb(234,234,234);border-radius:3px;display:inline;background-color:rgb(248,248,248)">show channels</code> in fs_cli and get the following:</p>
<pre style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;font-size:1em;line-height:1.2em;overflow:auto;margin:1.2em 0px"><code style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:nowrap;border:1px solid rgb(234,234,234);border-radius:3px;display:inline;background-color:rgb(248,248,248);white-space:pre-wrap;border-radius:3px;border:1px solid rgb(204,204,204);padding:0.5em 0.7em;display:block;padding:0.5em;color:rgb(51,51,51);background:rgb(248,248,255)">uuid,direction,created,created_epoch,name,state,cid_name,cid_num,ip_addr,dest,application,application_data,dialplan,context,read_codec,read_rate,read_bit_rate,write_codec,write_rate,write_bit_rate,secure,hostname,presence_id,presence_data,callstate,callee_name,callee_num,callee_direction,call_uuid,sent_callee_name,sent_callee_num
b41772a4-c11b-11e4-a78f-7585ed98a76c,inbound,2015-03-02 20:35:45,1425328545,sofia/sip0/<a href="mailto:bender@cyberdyne.onsip.com" target="_blank">bender@cyberdyne.onsip.com</a>,CS_SOFT_EXECUTE,Bender Rodriguez,bender,38.109.82.167,queuecard,uuid_bridge,bc7c6d64-c11b-11e4-a798-7585ed98a76c,XML,default,opus,48000,0,opus,48000,0,srtp:dtls:AES_CM_128_HMAC_SHA1_80,<a href="http://app-server2-1.55-broad-1.jnctn.net" target="_blank">app-server2-1.55-broad-1.jnctn.net</a>,,,ACTIVE,Outbound Call,terabithia,SEND,b41772a4-c11b-11e4-a78f-7585ed98a76c,Outbound Call,terabithia
bc7c6d64-c11b-11e4-a798-7585ed98a76c,outbound,2015-03-02 20:35:59,1425328559,sofia/app/<a href="mailto:c3po@cyberdyne.onsip.com" target="_blank">c3po@cyberdyne.onsip.com</a>,CS_EXCHANGE_MEDIA,Bender Rodriguez,bender,38.109.82.167,1000,uuid_bridge,b41772a4-c11b-11e4-a78f-7585ed98a76c,XML,generic-app,opus,48000,0,opus,48000,0,,<a href="http://app-server2-1.55-broad-1.jnctn.net" target="_blank">app-server2-1.55-broad-1.jnctn.net</a>,,,ACTIVE,Outbound Call,terabithia,SEND,b41772a4-c11b-11e4-a78f-7585ed98a76c,Bender Rodriguez,bender
bc80f1f4-c11b-11e4-a7a0-7585ed98a76c,inbound,2015-03-02 20:35:59,1425328559,sofia/sip0/<a href="mailto:bender@cyberdyne.onsip.com" target="_blank">bender@cyberdyne.onsip.com</a>,CS_EXECUTE,Bender Rodriguez,bender,38.109.82.167,gl8k15o7,bridge,{force_transfer_context=refer}sofia/sip0/sip:gl8k15o7@e6kin9qicasi.invalid;transport=ws;aor=c3po%<a href="http://40cyberdyne.onsip.com" target="_blank">40cyberdyne.onsip.com</a>,XML,default,opus,48000,0,opus,48000,0,,<a href="http://app-server2-1.55-broad-1.jnctn.net" target="_blank">app-server2-1.55-broad-1.jnctn.net</a>,,,ACTIVE,Outbound Call,gl8k15o7,SEND,bc80f1f4-c11b-11e4-a7a0-7585ed98a76c,Outbound Call,gl8k15o7
bc82805a-c11b-11e4-a7ae-7585ed98a76c,outbound,2015-03-02 20:35:59,1425328559,sofia/sip0/sip:gl8k15o7@e6kin9qicasi.invalid,CS_EXCHANGE_MEDIA,Bender Rodriguez,bender,38.109.82.167,gl8k15o7,,,XML,default,opus,48000,0,opus,48000,0,srtp:dtls:AES_CM_128_HMAC_SHA1_80,<a href="http://app-server2-1.55-broad-1.jnctn.net" target="_blank">app-server2-1.55-broad-1.jnctn.net</a>,,,ACTIVE,Outbound Call,gl8k15o7,SEND,bc80f1f4-c11b-11e4-a7a0-7585ed98a76c,Bender Rodriguez,bender
</code></pre><p style="margin:1.2em 0px!important">The read codecs and write codecs are OPUS, except for a websocket transport that lists an XML codec, I think. Is something up with my setup, or do we only show the audio codec being used when we run the <code style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:nowrap;border:1px solid rgb(234,234,234);border-radius:3px;display:inline;background-color:rgb(248,248,248)">show channels</code> command? Any other idea for how to determine whether a Freeswitch channel is using video? I’m trying to stay away from sending custom headers and I want to be able to figure this out within Freeswitch. In other words, I don’t want a receiving application to try to figure out whether it is in video or not. I just want to query my Freeswitch service to find out.</p>
<p style="margin:1.2em 0px!important">Thanks, guys! I appreciate any help.</p>
<div title="MDH:PGRpdj5JJ20gdHJ5aW5nIHRvIGRldGVybWluZSBpZiBhIGdpdmVuIGNoYW5uZWwgb3ZlciBGcmVl
c3dpdGNoIGlzIHVzaW5nIGEgdmlkZW8gY29kZWMuIEluIG15IGNvbmZpZy92YXJzLnhtbCBmaWxl
LCBJJ3ZlIHNldCB0aGUgY29kZWNzIGxpbmUgdG86PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj4m
bmJzcDsgJm5ic3A7ICZsdDtYLVBSRS1QUk9DRVNTIGNtZD0ic2V0IiBkYXRhPSJnbG9iYWxfY29k
ZWNfcHJlZnM9T1BVUyxHNzIyLFBDTVUsUENNQSxIMjY0Ii8mZ3Q7PC9kaXY+PGRpdj48YnI+PC9k
aXY+PGRpdj4jIyMgTG9ncyAjIyM8L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2Pk15IFNEUCBuZWdv
dGlhdGlvbiBhcHBlYXJzIHRvIGJlIGNvcnJlY3QuIFRoZSBJTlZJVEU6PC9kaXY+PGRpdj48YnI+
PC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7IElOVklURSBzaXA6cXVldWVjYXJkQGN5YmVyZHluZS5v
bnNpcC5jb20gU0lQLzIuMDwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyBWaWE6IFNJUC8yLjAvV1Mg
bzhpYXRmdGJsMW1uLmludmFsaWQ7YnJhbmNoPXo5aEc0Yks4OTYyMDk5PC9kaXY+PGRpdj4mbmJz
cDsgJm5ic3A7IE1heC1Gb3J3YXJkczogNzA8L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgVG86ICZs
dDtzaXA6cXVldWVjYXJkQGN5YmVyZHluZS5vbnNpcC5jb20mZ3Q7PC9kaXY+PGRpdj4mbmJzcDsg
Jm5ic3A7IEZyb206ICJCZW5kZXIgUm9kcmlndWV6IiAmbHQ7c2lwOmJlbmRlckBjeWJlcmR5bmUu
b25zaXAuY29tJmd0Ozt0YWc9Zm5lcHBuMWxoaDwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyBDYWxs
LUlEOiBuM280ZzRpNzI0c3E3cWtla3AwNzwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyBDU2VxOiA4
NjIyIElOVklURTwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyBQcm94eS1BdXRob3JpemF0aW9uOiBE
aWdlc3QgYWxnb3JpdGhtPU1ENSwgdXNlcm5hbWU9ImN5YmVyZHluZV9iZW5kZXIiLCByZWFsbT0i
am5jdG4ubmV0Iiwgbm9uY2U9IjU0ZjRjZTJlMDAwMDEzZTQ4ODg1MTlkZWMzY2EyZWUxZWY5MDIz
ZjgyZDRkODkyMiIsIHVyaT0ic2lwOnF1ZXVlY2FyZEBjeWJlcmR5bmUub25zaXAuY29tIiwgcmVz
cG9uc2U9ImY4NDI5NTFlY2MxMWMzNTEwZDFlMWI3YWJjZGViNTFmIiwgcW9wPWF1dGgsIGNub25j
ZT0iZDE1M242dWRsaDc0IiwgbmM9MDAwMDAwMDE8L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgQ29u
dGFjdDogJmx0O3NpcDoxZmpxbThwc0BvOGlhdGZ0YmwxbW4uaW52YWxpZDt0cmFuc3BvcnQ9d3M7
b2ImZ3Q7PC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7IEFsbG93OiBBQ0ssQ0FOQ0VMLEJZRSxPUFRJ
T05TLElORk8sTk9USUZZLElOVklURSxNRVNTQUdFPC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7IENv
bnRlbnQtVHlwZTogYXBwbGljYXRpb24vc2RwPC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7IFN1cHBv
cnRlZDogMTAwcmVsLG91dGJvdW5kPC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7IFVzZXItQWdlbnQ6
IFNJUC5qcy8wLjYuMyBJbnN0YVBob25lPC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7IENvbnRlbnQt
TGVuZ3RoOiAxNjQ5PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7IHY9MDwv
ZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyBvPU1vemlsbGEtU0lQVUEtMzUuMC4xIDEwODg2IDAgSU4g
SVA0IDAuMC4wLjA8L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgcz1TSVAgQ2FsbDwvZGl2PjxkaXY+
Jm5ic3A7ICZuYnNwOyB0PTAgMDwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyBhPWljZS11ZnJhZzph
MjU2NDE4YjwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyBhPWljZS1wd2Q6NjJlMmFlNzE1NGI1N2Yw
MGVkMGIxYTIwMDNjY2Y3YWY8L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgYT1maW5nZXJwcmludDpz
aGEtMjU2IEVBOkM0OjkyOkQ0Ojk0OjYyOjE4OjQxOjM5OjJFOjQyOkI0OjRFOkI3OjMyOjlFOjY2
OkZFOjdDOjAxOjU3OkFDOjJDOjRDOkU0OjY2OjRGOjNCOkI2OjkxOkZBOkRDPC9kaXY+PGRpdj4m
bmJzcDsgJm5ic3A7IG09YXVkaW8gOSBVRFAvVExTL1JUUC9TQVZQRiAxMDkgOSAwIDggMTAxPC9k
aXY+PGRpdj4mbmJzcDsgJm5ic3A7IGM9SU4gSVA0IDAuMC4wLjA8L2Rpdj48ZGl2PiZuYnNwOyAm
bmJzcDsgYT1ydHBtYXA6MTA5IG9wdXMvNDgwMDAvMjwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyBh
PXB0aW1lOjIwPC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7IGE9cnRwbWFwOjkgRzcyMi84MDAwPC9k
aXY+PGRpdj4mbmJzcDsgJm5ic3A7IGE9cnRwbWFwOjAgUENNVS84MDAwPC9kaXY+PGRpdj4mbmJz
cDsgJm5ic3A7IGE9cnRwbWFwOjggUENNQS84MDAwPC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7IGE9
cnRwbWFwOjEwMSB0ZWxlcGhvbmUtZXZlbnQvODAwMDwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyBh
PWZtdHA6MTAxIDAtMTU8L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgYT1zZW5kcmVjdjwvZGl2Pjxk
aXY+Jm5ic3A7ICZuYnNwOyBhPWV4dG1hcDoxIHVybjppZXRmOnBhcmFtczpydHAtaGRyZXh0OnNz
cmMtYXVkaW8tbGV2ZWw8L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgYT1zZXR1cDphY3RwYXNzPC9k
aXY+PGRpdj4mbmJzcDsgJm5ic3A7IGE9cnRjcC1tdXg8L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsg
YT1jYW5kaWRhdGU6MCAxIFVEUCAyMTMwMzc5MDA3IDE5Mi4xNjguMS4zOCA1ODUzMSB0eXAgaG9z
dDwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyBhPWNhbmRpZGF0ZTowIDIgVURQIDIxMzAzNzkwMDYg
MTkyLjE2OC4xLjM4IDY0Njc3IHR5cCBob3N0PC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7IGE9Y2Fu
ZGlkYXRlOjEgMSBVRFAgMTY5NDIzNjY3MSAzOC4xMDQuMTY3LjE4MiA0OTIwOSB0eXAgc3JmbHgg
cmFkZHIgMTkyLjE2OC4xLjM4IHJwb3J0IDU4NTMxPC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7IGE9
Y2FuZGlkYXRlOjEgMiBVRFAgMTY5NDIzNjY3MCAzOC4xMDQuMTY3LjE4MiA1MTIwOSB0eXAgc3Jm
bHggcmFkZHIgMTkyLjE2OC4xLjM4IHJwb3J0IDY0Njc3PC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7
IG09dmlkZW8gOSBVRFAvVExTL1JUUC9TQVZQRiAxMjAgMTI2IDk3PC9kaXY+PGRpdj4mbmJzcDsg
Jm5ic3A7IGM9SU4gSVA0IDAuMC4wLjA8L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgYT1ydHBtYXA6
MTIwIFZQOC85MDAwMDwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyBhPXJ0cG1hcDoxMjYgSDI2NC85
MDAwMDwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyBhPWZtdHA6MTI2IHByb2ZpbGUtbGV2ZWwtaWQ9
NDJlMDFmO3BhY2tldGl6YXRpb24tbW9kZT0xPC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7IGE9cnRw
bWFwOjk3IEgyNjQvOTAwMDA8L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgYT1mbXRwOjk3IHByb2Zp
bGUtbGV2ZWwtaWQ9NDJlMDFmPC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7IGE9c2VuZHJlY3Y8L2Rp
dj48ZGl2PiZuYnNwOyAmbmJzcDsgYT1ydGNwLWZiOjEyMCBuYWNrPC9kaXY+PGRpdj4mbmJzcDsg
Jm5ic3A7IGE9cnRjcC1mYjoxMjAgbmFjayBwbGk8L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgYT1y
dGNwLWZiOjEyMCBjY20gZmlyPC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7IGE9cnRjcC1mYjoxMjYg
bmFjazwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyBhPXJ0Y3AtZmI6MTI2IG5hY2sgcGxpPC9kaXY+
PGRpdj4mbmJzcDsgJm5ic3A7IGE9cnRjcC1mYjoxMjYgY2NtIGZpcjwvZGl2PjxkaXY+Jm5ic3A7
ICZuYnNwOyBhPXJ0Y3AtZmI6OTcgbmFjazwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyBhPXJ0Y3At
ZmI6OTcgbmFjayBwbGk8L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgYT1ydGNwLWZiOjk3IGNjbSBm
aXI8L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgYT1zZXR1cDphY3RwYXNzPC9kaXY+PGRpdj4mbmJz
cDsgJm5ic3A7IGE9cnRjcC1tdXg8L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgYT1jYW5kaWRhdGU6
MCAxIFVEUCAyMTMwMzc5MDA3IDE5Mi4xNjguMS4zOCA1OTU2MiB0eXAgaG9zdDwvZGl2PjxkaXY+
Jm5ic3A7ICZuYnNwOyBhPWNhbmRpZGF0ZTowIDIgVURQIDIxMzAzNzkwMDYgMTkyLjE2OC4xLjM4
IDYxNDY0IHR5cCBob3N0PC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7IGE9Y2FuZGlkYXRlOjEgMSBV
RFAgMTY5NDIzNjY3MSAzOC4xMDQuMTY3LjE4MiA1OTM1NyB0eXAgc3JmbHggcmFkZHIgMTkyLjE2
OC4xLjM4IHJwb3J0IDU5NTYyPC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7IGE9Y2FuZGlkYXRlOjEg
MiBVRFAgMTY5NDIzNjY3MCAzOC4xMDQuMTY3LjE4MiAyMTE2OCB0eXAgc3JmbHggcmFkZHIgMTky
LjE2OC4xLjM4IHJwb3J0IDYxNDY0PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj48YnI+PC9kaXY+
PGRpdj5UaGUgMjAwIE9LIHJlc3BvbnNlOjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+Jm5ic3A7
ICZuYnNwOyBTSVAvMi4wIDIwMCBPSzwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyBWaWE6IFNJUC8y
LjAvV1MgbzhpYXRmdGJsMW1uLmludmFsaWQ7YnJhbmNoPXo5aEc0Yks4OTYyMDk5PC9kaXY+PGRp
dj4mbmJzcDsgJm5ic3A7IFJlY29yZC1Sb3V0ZTogJmx0O3NpcDozOC4xMDkuODIuMTY3O2xyO2Z0
YWc9Zm5lcHBuMWxoaDtkaWQ9MjQuMGIwMDY4ZjYmZ3Q7PC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7
IFJlY29yZC1Sb3V0ZTogJmx0O3NpcDozOC4xMDkuODIuMTkyO2xyO2Z0YWc9Zm5lcHBuMWxoaDtk
aWQ9MjQuNGM0ZTgzNDMmZ3Q7PC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7IFJlY29yZC1Sb3V0ZTog
Jmx0O3NpcDozOC4xMDkuODIuMTkzOjUwNjA7dHJhbnNwb3J0PXVkcDtscjtvdmlkPWNhYzFlNzlk
Jmd0OzwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyBSZWNvcmQtUm91dGU6ICZsdDtzaXA6MmIxNGM0
MTBjMUAzOC4xMDkuODIuMTkzOjgwO3RyYW5zcG9ydD13cztscjtvdmlkPWNhYzFlNzlkJmd0Ozwv
ZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyBGcm9tOiAiQmVuZGVyIFJvZHJpZ3VleiIgJmx0O3NpcDpi
ZW5kZXJAY3liZXJkeW5lLm9uc2lwLmNvbSZndDs7dGFnPWZuZXBwbjFsaGg8L2Rpdj48ZGl2PiZu
YnNwOyAmbmJzcDsgVG86ICZsdDtzaXA6cXVldWVjYXJkQGN5YmVyZHluZS5vbnNpcC5jb20mZ3Q7
O3RhZz0zMHlRdkY2MkRReXlnPC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7IENhbGwtSUQ6IG4zbzRn
NGk3MjRzcTdxa2VrcDA3PC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7IENTZXE6IDg2MjIgSU5WSVRF
PC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7IENvbnRhY3Q6ICZsdDtzaXA6ZHRsc2d3MEBhcHAyLTEu
NTUtYnJvYWQtMS5hcHAuam5jdG4ubmV0Jmd0OzwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyBBY2Nl
cHQ6IGFwcGxpY2F0aW9uL3NkcDwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyBBbGxvdzogSU5WSVRF
LCBBQ0ssIEJZRSwgQ0FOQ0VMLCBPUFRJT05TLCBNRVNTQUdFLCBJTkZPLCBVUERBVEUsIFJFR0lT
VEVSLCBSRUZFUiwgUFJBQ0ssIE5PVElGWTwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyBTdXBwb3J0
ZWQ6IHByZWNvbmRpdGlvbiwgMTAwcmVsLCB0aW1lciwgcGF0aCwgcmVwbGFjZXM8L2Rpdj48ZGl2
PiZuYnNwOyAmbmJzcDsgQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9zZHA8L2Rpdj48ZGl2PiZu
YnNwOyAmbmJzcDsgQ29udGVudC1EaXNwb3NpdGlvbjogc2Vzc2lvbjwvZGl2PjxkaXY+Jm5ic3A7
ICZuYnNwOyBDb250ZW50LUxlbmd0aDogMTczODwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+Jm5i
c3A7ICZuYnNwOyB2PTA8L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgbz1GcmVlU1dJVENIIDE0MjUz
MDc3OTggMTQyNTMwNzc5OSBJTiBJUDQgMzguMTA5LjgyLjIyODwvZGl2PjxkaXY+Jm5ic3A7ICZu
YnNwOyBzPUZyZWVTV0lUQ0g8L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgYz1JTiBJUDQgMzguMTA5
LjgyLjIyODwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyB0PTAgMDwvZGl2PjxkaXY+Jm5ic3A7ICZu
YnNwOyBhPW1zaWQtc2VtYW50aWM6IFdNUyA2MVpkeFlNbnlDdVlodTZGcnFqQ0ZJcjFEVWpVQUx2
dzwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyBtPWF1ZGlvIDIxODgyIFVEUC9UTFMvUlRQL1NBVlBG
IDEwOSAxMDE8L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgYT1ydHBtYXA6MTA5IG9wdXMvNDgwMDAv
MjwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyBhPWZtdHA6MTA5IHVzZWluYmFuZGZlYz0xO3VzZWR0
eD0xO21heGF2ZXJhZ2ViaXRyYXRlPTMwMDAwPC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7IGE9cnRw
bWFwOjEwMSB0ZWxlcGhvbmUtZXZlbnQvODAwMDwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyBhPXJl
Y3Zvbmx5PC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7IGE9c2lsZW5jZVN1cHA6b2ZmIC0gLSAtIC08
L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgYT1wdGltZToyMDwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNw
OyBhPWZpbmdlcnByaW50OnNoYS0yNTYgRDY6ODc6NTE6OTI6RjY6ODA6QkU6MEQ6NUI6OUE6OTc6
QzM6NTM6QTc6NDA6QzU6QTI6MTk6NjA6Q0E6NDg6MkQ6MTg6QTI6NTM6QUY6QjY6RTE6NEU6MDI6
Mzk6RDI8L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgYT1ydGNwOjIxODgzIElOIElQNCAzOC4xMDku
ODIuMjI4PC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7IGE9c3NyYzoyMzY1MjE1MjQ4IGNuYW1lOkNr
elo5Y2R4RnltTVRpaGE8L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgYT1zc3JjOjIzNjUyMTUyNDgg
bXNpZDo2MVpkeFlNbnlDdVlodTZGcnFqQ0ZJcjFEVWpVQUx2dyBhMDwvZGl2PjxkaXY+Jm5ic3A7
ICZuYnNwOyBhPXNzcmM6MjM2NTIxNTI0OCBtc2xhYmVsOjYxWmR4WU1ueUN1WWh1NkZycWpDRkly
MURValVBTHZ3PC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7IGE9c3NyYzoyMzY1MjE1MjQ4IGxhYmVs
OjYxWmR4WU1ueUN1WWh1NkZycWpDRklyMURValVBTHZ3YTA8L2Rpdj48ZGl2PiZuYnNwOyAmbmJz
cDsgYT1pY2UtdWZyYWc6enFDNFpUV3NENWQ0SHlxYTwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyBh
PWljZS1wd2Q6SVEwSVQzNW9zaDBicTdiUG9ES2Vud3dSPC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7
IGE9Y2FuZGlkYXRlOjkzNTg1ODkzOTIgMSB1ZHAgNjU5MTM2IDM4LjEwOS44Mi4yMjggMjE4ODIg
dHlwIGhvc3QgZ2VuZXJhdGlvbiAwPC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7IGE9Y2FuZGlkYXRl
OjkzNTg1ODkzOTIgMiB1ZHAgNjU5MTM0IDM4LjEwOS44Mi4yMjggMjE4ODMgdHlwIGhvc3QgZ2Vu
ZXJhdGlvbiAwPC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7IG09dmlkZW8gMjM2ODAgVURQL1RMUy9S
VFAvU0FWUEYgMTI2PC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7IGI9QVM6MjU2PC9kaXY+PGRpdj4m
bmJzcDsgJm5ic3A7IGE9cnRwbWFwOjEyNiBIMjY0LzkwMDAwPC9kaXY+PGRpdj4mbmJzcDsgJm5i
c3A7IGE9Zm10cDoxMjYgcHJvZmlsZS1sZXZlbC1pZD00MmUwMWY7cGFja2V0aXphdGlvbi1tb2Rl
PTE8L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgYT1yZWN2b25seTwvZGl2PjxkaXY+Jm5ic3A7ICZu
YnNwOyBhPWZpbmdlcnByaW50OnNoYS0yNTYgRDY6ODc6NTE6OTI6RjY6ODA6QkU6MEQ6NUI6OUE6
OTc6QzM6NTM6QTc6NDA6QzU6QTI6MTk6NjA6Q0E6NDg6MkQ6MTg6QTI6NTM6QUY6QjY6RTE6NEU6
MDI6Mzk6RDI8L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgYT1ydGNwOjIzNjgxIElOIElQNCAzOC4x
MDkuODIuMjI4PC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7IGE9cnRjcC1mYjoqIGZpciBwbGk8L2Rp
dj48ZGl2PiZuYnNwOyAmbmJzcDsgYT1zc3JjOjE2NTI1NzExNTIgY25hbWU6Q2t6WjljZHhGeW1N
VGloYTwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyBhPXNzcmM6MTY1MjU3MTE1MiBtc2lkOjYxWmR4
WU1ueUN1WWh1NkZycWpDRklyMURValVBTHZ3IHYwPC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7IGE9
c3NyYzoxNjUyNTcxMTUyIG1zbGFiZWw6NjFaZHhZTW55Q3VZaHU2RnJxakNGSXIxRFVqVUFMdnc8
L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgYT1zc3JjOjE2NTI1NzExNTIgbGFiZWw6NjFaZHhZTW55
Q3VZaHU2RnJxakNGSXIxRFVqVUFMdnd2MDwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyBhPWljZS11
ZnJhZzpraXJFWVFDUHlJblNwaTdZPC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7IGE9aWNlLXB3ZDpm
YkloS1dKQjNmRnVHVnlRNFFsU3dOeFU8L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgYT1jYW5kaWRh
dGU6OTA1NTQ0Njk4MSAxIHVkcCA2NTkxMzYgMzguMTA5LjgyLjIyOCAyMzY4MCB0eXAgaG9zdCBn
ZW5lcmF0aW9uIDA8L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgYT1jYW5kaWRhdGU6OTA1NTQ0Njk4
MSAyIHVkcCA2NTkxMzQgMzguMTA5LjgyLjIyOCAyMzY4MSB0eXAgaG9zdCBnZW5lcmF0aW9uIDA8
L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PldlIG9mZmVyOjwvZGl2Pjxk
aXY+PGJyPjwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyBhPXJ0cG1hcDoxMjAgVlA4LzkwMDAwPC9k
aXY+PGRpdj4mbmJzcDsgJm5ic3A7IGE9cnRwbWFwOjEyNiBIMjY0LzkwMDAwPC9kaXY+PGRpdj48
YnI+PC9kaXY+PGRpdj5hbmQgd2UgYWNjZXB0OjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+Jm5i
c3A7ICZuYnNwOyBhPXJ0cG1hcDoxMjYgSDI2NC85MDAwMDwvZGl2PjxkaXY+PGJyPjwvZGl2Pjxk
aXY+Tm90ZSB0aGF0IHRoaXMgaXMgb24gRmlyZWZveCAzNS4wLjEuPC9kaXY+PGRpdj48YnI+PC9k
aXY+PGRpdj4jIyMgUmVzcG9uc2UgIyMjPC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5XaGlsZSB0
aGlzIGNhbGwgaXMgdXAsIEkgcnVuIGBzaG93IGNoYW5uZWxzYCBpbiBmc19jbGkgYW5kIGdldCB0
aGUgZm9sbG93aW5nOjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyB1dWlk
LGRpcmVjdGlvbixjcmVhdGVkLGNyZWF0ZWRfZXBvY2gsbmFtZSxzdGF0ZSxjaWRfbmFtZSxjaWRf
bnVtLGlwX2FkZHIsZGVzdCxhcHBsaWNhdGlvbixhcHBsaWNhdGlvbl9kYXRhLGRpYWxwbGFuLGNv
bnRleHQscmVhZF9jb2RlYyxyZWFkX3JhdGUscmVhZF9iaXRfcmF0ZSx3cml0ZV9jb2RlYyx3cml0
ZV9yYXRlLHdyaXRlX2JpdF9yYXRlLHNlY3VyZSxob3N0bmFtZSxwcmVzZW5jZV9pZCxwcmVzZW5j
ZV9kYXRhLGNhbGxzdGF0ZSxjYWxsZWVfbmFtZSxjYWxsZWVfbnVtLGNhbGxlZV9kaXJlY3Rpb24s
Y2FsbF91dWlkLHNlbnRfY2FsbGVlX25hbWUsc2VudF9jYWxsZWVfbnVtPC9kaXY+PGRpdj4mbmJz
cDsgJm5ic3A7IGI0MTc3MmE0LWMxMWItMTFlNC1hNzhmLTc1ODVlZDk4YTc2YyxpbmJvdW5kLDIw
MTUtMDMtMDIgMjA6MzU6NDUsMTQyNTMyODU0NSxzb2ZpYS9zaXAwL2JlbmRlckBjeWJlcmR5bmUu
b25zaXAuY29tLENTX1NPRlRfRVhFQ1VURSxCZW5kZXIgUm9kcmlndWV6LGJlbmRlciwzOC4xMDku
ODIuMTY3LHF1ZXVlY2FyZCx1dWlkX2JyaWRnZSxiYzdjNmQ2NC1jMTFiLTExZTQtYTc5OC03NTg1
ZWQ5OGE3NmMsWE1MLGRlZmF1bHQsb3B1cyw0ODAwMCwwLG9wdXMsNDgwMDAsMCxzcnRwOmR0bHM6
QUVTX0NNXzEyOF9ITUFDX1NIQTFfODAsYXBwLXNlcnZlcjItMS41NS1icm9hZC0xLmpuY3RuLm5l
dCwsLEFDVElWRSxPdXRib3VuZCBDYWxsLHRlcmFiaXRoaWEsU0VORCxiNDE3NzJhNC1jMTFiLTEx
ZTQtYTc4Zi03NTg1ZWQ5OGE3NmMsT3V0Ym91bmQgQ2FsbCx0ZXJhYml0aGlhPC9kaXY+PGRpdj4m
bmJzcDsgJm5ic3A7IGJjN2M2ZDY0LWMxMWItMTFlNC1hNzk4LTc1ODVlZDk4YTc2YyxvdXRib3Vu
ZCwyMDE1LTAzLTAyIDIwOjM1OjU5LDE0MjUzMjg1NTksc29maWEvYXBwL2MzcG9AY3liZXJkeW5l
Lm9uc2lwLmNvbSxDU19FWENIQU5HRV9NRURJQSxCZW5kZXIgUm9kcmlndWV6LGJlbmRlciwzOC4x
MDkuODIuMTY3LDEwMDAsdXVpZF9icmlkZ2UsYjQxNzcyYTQtYzExYi0xMWU0LWE3OGYtNzU4NWVk
OThhNzZjLFhNTCxnZW5lcmljLWFwcCxvcHVzLDQ4MDAwLDAsb3B1cyw0ODAwMCwwLCxhcHAtc2Vy
dmVyMi0xLjU1LWJyb2FkLTEuam5jdG4ubmV0LCwsQUNUSVZFLE91dGJvdW5kIENhbGwsdGVyYWJp
dGhpYSxTRU5ELGI0MTc3MmE0LWMxMWItMTFlNC1hNzhmLTc1ODVlZDk4YTc2YyxCZW5kZXIgUm9k
cmlndWV6LGJlbmRlcjwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyBiYzgwZjFmNC1jMTFiLTExZTQt
YTdhMC03NTg1ZWQ5OGE3NmMsaW5ib3VuZCwyMDE1LTAzLTAyIDIwOjM1OjU5LDE0MjUzMjg1NTks
c29maWEvc2lwMC9iZW5kZXJAY3liZXJkeW5lLm9uc2lwLmNvbSxDU19FWEVDVVRFLEJlbmRlciBS
b2RyaWd1ZXosYmVuZGVyLDM4LjEwOS44Mi4xNjcsZ2w4azE1bzcsYnJpZGdlLHtmb3JjZV90cmFu
c2Zlcl9jb250ZXh0PXJlZmVyfXNvZmlhL3NpcDAvc2lwOmdsOGsxNW83QGU2a2luOXFpY2FzaS5p
bnZhbGlkO3RyYW5zcG9ydD13czthb3I9YzNwbyU0MGN5YmVyZHluZS5vbnNpcC5jb20sWE1MLGRl
ZmF1bHQsb3B1cyw0ODAwMCwwLG9wdXMsNDgwMDAsMCwsYXBwLXNlcnZlcjItMS41NS1icm9hZC0x
LmpuY3RuLm5ldCwsLEFDVElWRSxPdXRib3VuZCBDYWxsLGdsOGsxNW83LFNFTkQsYmM4MGYxZjQt
YzExYi0xMWU0LWE3YTAtNzU4NWVkOThhNzZjLE91dGJvdW5kIENhbGwsZ2w4azE1bzc8L2Rpdj48
ZGl2PiZuYnNwOyAmbmJzcDsgYmM4MjgwNWEtYzExYi0xMWU0LWE3YWUtNzU4NWVkOThhNzZjLG91
dGJvdW5kLDIwMTUtMDMtMDIgMjA6MzU6NTksMTQyNTMyODU1OSxzb2ZpYS9zaXAwL3NpcDpnbDhr
MTVvN0BlNmtpbjlxaWNhc2kuaW52YWxpZCxDU19FWENIQU5HRV9NRURJQSxCZW5kZXIgUm9kcmln
dWV6LGJlbmRlciwzOC4xMDkuODIuMTY3LGdsOGsxNW83LCwsWE1MLGRlZmF1bHQsb3B1cyw0ODAw
MCwwLG9wdXMsNDgwMDAsMCxzcnRwOmR0bHM6QUVTX0NNXzEyOF9ITUFDX1NIQTFfODAsYXBwLXNl
cnZlcjItMS41NS1icm9hZC0xLmpuY3RuLm5ldCwsLEFDVElWRSxPdXRib3VuZCBDYWxsLGdsOGsx
NW83LFNFTkQsYmM4MGYxZjQtYzExYi0xMWU0LWE3YTAtNzU4NWVkOThhNzZjLEJlbmRlciBSb2Ry
aWd1ZXosYmVuZGVyPC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5UaGUgcmVhZCBjb2RlY3MgYW5k
IHdyaXRlIGNvZGVjcyBhcmUgT1BVUywgZXhjZXB0IGZvciBhIHdlYnNvY2tldCB0cmFuc3BvcnQg
dGhhdCBsaXN0cyBhbiBYTUwgY29kZWMsIEkgdGhpbmsuIElzIHNvbWV0aGluZyB1cCB3aXRoIG15
IHNldHVwLCBvciBkbyB3ZSBvbmx5IHNob3cgdGhlIGF1ZGlvIGNvZGVjIGJlaW5nIHVzZWQgd2hl
biB3ZSBydW4gdGhlIGBzaG93IGNoYW5uZWxzYCBjb21tYW5kPyBBbnkgb3RoZXIgaWRlYSBmb3Ig
aG93IHRvIGRldGVybWluZSB3aGV0aGVyIGEgRnJlZXN3aXRjaCBjaGFubmVsIGlzIHVzaW5nIHZp
ZGVvPyBJJ20gdHJ5aW5nIHRvIHN0YXkgYXdheSBmcm9tIHNlbmRpbmcgY3VzdG9tIGhlYWRlcnMg
YW5kIEkgd2FudCB0byBiZSBhYmxlIHRvIGZpZ3VyZSB0aGlzIG91dCB3aXRoaW4gRnJlZXN3aXRj
aC4gSW4gb3RoZXIgd29yZHMsIEkgZG9uJ3Qgd2FudCBhIHJlY2VpdmluZyBhcHBsaWNhdGlvbiB0
byB0cnkgdG8gZmlndXJlIG91dCB3aGV0aGVyIGl0IGlzIGluIHZpZGVvIG9yIG5vdC4gSSBqdXN0
IHdhbnQgdG8gcXVlcnkgbXkgRnJlZXN3aXRjaCBzZXJ2aWNlIHRvIGZpbmQgb3V0LjwvZGl2Pjxk
aXY+PGJyPjwvZGl2PjxkaXY+VGhhbmtzLCBndXlzISBJIGFwcHJlY2lhdGUgYW55IGhlbHAuPC9k
aXY+" style="min-height:0;width:0;max-height:0;max-width:0;overflow:hidden;font-size:0em;padding:0;margin:0">​</div></div><span><font color="#888888"><div></div><div><br></div>-- <br><div>Dylan Mikus<br>Software Engineer<br>OnSIP<br><a href="http://www.onsip.com" target="_blank">www.onsip.com</a><br>p. <a href="tel:212.933.9190%20x7060" value="+12129339190" target="_blank">212.933.9190 x7060</a><br>SIP/Email: <a href="mailto:dylan@onsip.com" target="_blank">dylan@onsip.com</a></div>
</font></span></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div>Dylan Mikus<br>Software Engineer<br>OnSIP<br><a href="http://www.onsip.com" target="_blank">www.onsip.com</a><br>p. <a href="tel:212.933.9190%20x7060" value="+12129339190" target="_blank">212.933.9190 x7060</a><br>SIP/Email: <a href="mailto:dylan@onsip.com" target="_blank">dylan@onsip.com</a></div>
</div>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature">Dylan Mikus<br>Software Engineer<br>OnSIP<br><a href="http://www.onsip.com" target="_blank">www.onsip.com</a><br>p. 212.933.9190 x7060<br>SIP/Email: <a href="mailto:dylan@onsip.com" target="_blank">dylan@onsip.com</a></div>
</div>