From 716d1645dbe4c0ec6786af3fc009dd67e1ce7d8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Luis=20Mill=C3=A1n?= Date: Mon, 11 Feb 2013 12:44:03 +0100 Subject: [PATCH] Pass full multi-header header fields to the grammar --- src/Grammar/dist/Grammar.js | 165 ++++++++++++++++++----- src/Grammar/dist/Grammar.min.js | 224 ++++++++++++++++---------------- src/Grammar/src/Grammar.pegjs | 63 +++++++-- src/Parser.js | 41 +++--- 4 files changed, 322 insertions(+), 171 deletions(-) diff --git a/src/Grammar/dist/Grammar.js b/src/Grammar/dist/Grammar.js index 23c98df27..e295bf066 100644 --- a/src/Grammar/dist/Grammar.js +++ b/src/Grammar/dist/Grammar.js @@ -5896,10 +5896,11 @@ JsSIP.Grammar = (function(){ } function parse_lr_param() { - var result0; - var pos0; + var result0, result1, result2; + var pos0, pos1, pos2; pos0 = pos; + pos1 = pos; if (input.substr(pos, 2).toLowerCase() === "lr") { result0 = input.substr(pos, 2); pos += 2; @@ -5910,9 +5911,43 @@ JsSIP.Grammar = (function(){ } } if (result0 !== null) { - result0 = (function(offset, lr) { + pos2 = pos; + if (input.charCodeAt(pos) === 61) { + result1 = "="; + pos++; + } else { + result1 = null; + if (reportFailures === 0) { + matchFailed("\"=\""); + } + } + if (result1 !== null) { + result2 = parse_token(); + if (result2 !== null) { + result1 = [result1, result2]; + } else { + result1 = null; + pos = pos2; + } + } else { + result1 = null; + pos = pos2; + } + result1 = result1 !== null ? result1 : ""; + if (result1 !== null) { + result0 = [result0, result1]; + } else { + result0 = null; + pos = pos1; + } + } else { + result0 = null; + pos = pos1; + } + if (result0 !== null) { + result0 = (function(offset) { if(!data.uri_params) data.uri_params={}; - data.uri_params['lr'] = undefined; })(pos0, result0); + data.uri_params['lr'] = undefined; })(pos0); } if (result0 === null) { pos = pos0; @@ -7883,9 +7918,16 @@ JsSIP.Grammar = (function(){ } if (result0 !== null) { result0 = (function(offset) { - try { - data = new JsSIP.NameAddrHeader(data.uri, data.display_name, data.params); - } catch(e) { + var idx; + for (idx in data.multi_header) { + if (data.multi_header[idx].parsed === null) { + data = null; + break; + } + } + if (data !== null) { + data = data.multi_header; + } else { data = -1; }})(pos0); } @@ -7897,16 +7939,17 @@ JsSIP.Grammar = (function(){ function parse_contact_param() { var result0, result1, result2, result3; - var pos0, pos1; + var pos0, pos1, pos2; pos0 = pos; + pos1 = pos; result0 = parse_SIP_URI_noparams(); if (result0 === null) { result0 = parse_name_addr(); } if (result0 !== null) { result1 = []; - pos1 = pos; + pos2 = pos; result2 = parse_SEMI(); if (result2 !== null) { result3 = parse_contact_params(); @@ -7914,15 +7957,15 @@ JsSIP.Grammar = (function(){ result2 = [result2, result3]; } else { result2 = null; - pos = pos1; + pos = pos2; } } else { result2 = null; - pos = pos1; + pos = pos2; } while (result2 !== null) { result1.push(result2); - pos1 = pos; + pos2 = pos; result2 = parse_SEMI(); if (result2 !== null) { result3 = parse_contact_params(); @@ -7930,21 +7973,41 @@ JsSIP.Grammar = (function(){ result2 = [result2, result3]; } else { result2 = null; - pos = pos1; + pos = pos2; } } else { result2 = null; - pos = pos1; + pos = pos2; } } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; - pos = pos0; + pos = pos1; } } else { result0 = null; + pos = pos1; + } + if (result0 !== null) { + result0 = (function(offset) { + var header; + if(!data.multi_header) data.multi_header = []; + try { + header = new JsSIP.NameAddrHeader(data.uri, data.display_name, data.params); + delete data.uri; + delete data.display_name; + delete data.params; + } catch(e) { + header = null; + } + data.multi_header.push( { 'possition': pos, + 'offset': offset, + 'parsed': header + });})(pos0); + } + if (result0 === null) { pos = pos0; } return result0; @@ -9968,13 +10031,14 @@ JsSIP.Grammar = (function(){ function parse_Record_Route() { var result0, result1, result2, result3; - var pos0, pos1; + var pos0, pos1, pos2; pos0 = pos; + pos1 = pos; result0 = parse_rec_route(); if (result0 !== null) { result1 = []; - pos1 = pos; + pos2 = pos; result2 = parse_COMMA(); if (result2 !== null) { result3 = parse_rec_route(); @@ -9982,15 +10046,15 @@ JsSIP.Grammar = (function(){ result2 = [result2, result3]; } else { result2 = null; - pos = pos1; + pos = pos2; } } else { result2 = null; - pos = pos1; + pos = pos2; } while (result2 !== null) { result1.push(result2); - pos1 = pos; + pos2 = pos; result2 = parse_COMMA(); if (result2 !== null) { result3 = parse_rec_route(); @@ -9998,21 +10062,39 @@ JsSIP.Grammar = (function(){ result2 = [result2, result3]; } else { result2 = null; - pos = pos1; + pos = pos2; } } else { result2 = null; - pos = pos1; + pos = pos2; } } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; - pos = pos0; + pos = pos1; } } else { result0 = null; + pos = pos1; + } + if (result0 !== null) { + result0 = (function(offset) { + var idx; + for (idx in data.multi_header) { + if (data.multi_header[idx].parsed === null) { + data = null; + break; + } + } + if (data !== null) { + data = data.multi_header; + } else { + data = -1; + }})(pos0); + } + if (result0 === null) { pos = pos0; } return result0; @@ -10020,13 +10102,14 @@ JsSIP.Grammar = (function(){ function parse_rec_route() { var result0, result1, result2, result3; - var pos0, pos1; + var pos0, pos1, pos2; pos0 = pos; + pos1 = pos; result0 = parse_name_addr(); if (result0 !== null) { result1 = []; - pos1 = pos; + pos2 = pos; result2 = parse_SEMI(); if (result2 !== null) { result3 = parse_generic_param(); @@ -10034,15 +10117,15 @@ JsSIP.Grammar = (function(){ result2 = [result2, result3]; } else { result2 = null; - pos = pos1; + pos = pos2; } } else { result2 = null; - pos = pos1; + pos = pos2; } while (result2 !== null) { result1.push(result2); - pos1 = pos; + pos2 = pos; result2 = parse_SEMI(); if (result2 !== null) { result3 = parse_generic_param(); @@ -10050,21 +10133,41 @@ JsSIP.Grammar = (function(){ result2 = [result2, result3]; } else { result2 = null; - pos = pos1; + pos = pos2; } } else { result2 = null; - pos = pos1; + pos = pos2; } } if (result1 !== null) { result0 = [result0, result1]; } else { result0 = null; - pos = pos0; + pos = pos1; } } else { result0 = null; + pos = pos1; + } + if (result0 !== null) { + result0 = (function(offset) { + var header; + if(!data.multi_header) data.multi_header = []; + try { + header = new JsSIP.NameAddrHeader(data.uri, data.display_name, data.params); + delete data.uri; + delete data.display_name; + delete data.params; + } catch(e) { + header = null; + } + data.multi_header.push( { 'possition': pos, + 'offset': offset, + 'parsed': header + });})(pos0); + } + if (result0 === null) { pos = pos0; } return result0; diff --git a/src/Grammar/dist/Grammar.min.js b/src/Grammar/dist/Grammar.min.js index 906f9e263..265a28706 100644 --- a/src/Grammar/dist/Grammar.min.js +++ b/src/Grammar/dist/Grammar.min.js @@ -1,4 +1,4 @@ -JsSIP.Grammar=function(){function bb(e){return'"'+e.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x07\x0B\x0E-\x1F\x80-\uFFFF]/g,escape)+'"'}var J={parse:function(e,C){function g(a){bO&&(O=b,va=[]),va.push(a))}function cb(){var a;"\r\n"===e.substr(b,2)?(a="\r\n",b+=2):(a=null,0===f&&g('"\\r\\n"'));return a}function o(){var a;/^[0-9]/.test(e.charAt(b))?(a=e.charAt(b),b++):(a= +JsSIP.Grammar=function(){function bb(e){return'"'+e.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x07\x0B\x0E-\x1F\x80-\uFFFF]/g,escape)+'"'}var J={parse:function(e,C){function g(a){bO&&(O=b,va=[]),va.push(a))}function cb(){var a;"\r\n"===e.substr(b,2)?(a="\r\n",b+=2):(a=null,0===f&&g('"\\r\\n"'));return a}function p(){var a;/^[0-9]/.test(e.charAt(b))?(a=e.charAt(b),b++):(a= null,0===f&&g("[0-9]"));return a}function P(){var a;/^[a-zA-Z]/.test(e.charAt(b))?(a=e.charAt(b),b++):(a=null,0===f&&g("[a-zA-Z]"));return a}function G(){var a;/^[0-9a-fA-F]/.test(e.charAt(b))?(a=e.charAt(b),b++):(a=null,0===f&&g("[0-9a-fA-F]"));return a}function Q(){var a;a=z();null===a&&(a=H());return a}function wa(){var a;/^[\0-\xFF]/.test(e.charAt(b))?(a=e.charAt(b),b++):(a=null,0===f&&g("[\\0-\\xFF]"));return a}function D(){var a;/^["]/.test(e.charAt(b))?(a=e.charAt(b),b++):(a=null,0===f&&g('["]')); return a}function z(){var a;32===e.charCodeAt(b)?(a=" ",b++):(a=null,0===f&&g('" "'));return a}function H(){var a;9===e.charCodeAt(b)?(a="\t",b++):(a=null,0===f&&g('"\\t"'));return a}function E(){var a;/^[a-zA-Z0-9]/.test(e.charAt(b))?(a=e.charAt(b),b++):(a=null,0===f&&g("[a-zA-Z0-9]"));return a}function ba(){var a;59===e.charCodeAt(b)?(a=";",b++):(a=null,0===f&&g('";"'));if(null===a&&(47===e.charCodeAt(b)?(a="/",b++):(a=null,0===f&&g('"/"')),null===a))if(63===e.charCodeAt(b)?(a="?",b++):(a=null, 0===f&&g('"?"')),null===a)if(58===e.charCodeAt(b)?(a=":",b++):(a=null,0===f&&g('":"')),null===a)if(64===e.charCodeAt(b)?(a="@",b++):(a=null,0===f&&g('"@"')),null===a)if(38===e.charCodeAt(b)?(a="&",b++):(a=null,0===f&&g('"&"')),null===a)if(61===e.charCodeAt(b)?(a="=",b++):(a=null,0===f&&g('"="')),null===a)if(43===e.charCodeAt(b)?(a="+",b++):(a=null,0===f&&g('"+"')),null===a)if(36===e.charCodeAt(b)?(a="$",b++):(a=null,0===f&&g('"$"')),null===a)44===e.charCodeAt(b)?(a=",",b++):(a=null,0===f&&g('","')); @@ -28,7 +28,7 @@ c,d,h;h=b;a=gb();if(null!==a){c=[];d=Ba();null===d&&(d=S(),null===d&&(d=Aa()));f null===a)a=K(),null===a&&(a=y());return a}function F(){var a,c,d,h,i,f;f=i=b;a=s();if(null!==a)if(c=D(),null!==c){d=[];h=Ca();for(null===h&&(h=S());null!==h;)d.push(h),h=Ca(),null===h&&(h=S());null!==d?(h=D(),null!==h?a=[a,c,d,h]:(a=null,b=f)):(a=null,b=f)}else a=null,b=f;else a=null,b=f;null!==a&&(a=e.substring(b,i));null===a&&(b=i);return a}function Ca(){var a;a=y();if(null===a&&(33===e.charCodeAt(b)?(a="!",b++):(a=null,0===f&&g('"!"')),null===a))if(/^[#-[]/.test(e.charAt(b))?(a=e.charAt(b),b++): (a=null,0===f&&g("[#-[]")),null===a)/^[\]-~]/.test(e.charAt(b))?(a=e.charAt(b),b++):(a=null,0===f&&g("[\\]-~]")),null===a&&(a=K());return a}function S(){var a,c,d;d=b;92===e.charCodeAt(b)?(a="\\",b++):(a=null,0===f&&g('"\\\\"'));if(null!==a){/^[\0-\t]/.test(e.charAt(b))?(c=e.charAt(b),b++):(c=null,0===f&&g("[\\0-\\t]"));if(null===c&&(/^[\x0B-\f]/.test(e.charAt(b))?(c=e.charAt(b),b++):(c=null,0===f&&g("[\\x0B-\\f]")),null===c))/^[\x0E-\u007f]/.test(e.charAt(b))?(c=e.charAt(b),b++):(c=null,0===f&&g("[\\x0E-\u007f]")); null!==c?a=[a,c]:(a=null,b=d)}else a=null,b=d;return a}function ea(){var a,c,d,h,i,j;j=i=b;a=Da();null!==a?(58===e.charCodeAt(b)?(c=":",b++):(c=null,0===f&&g('":"')),null!==c)?(d=fa(),d=null!==d?d:"",null!==d?(h=ga(),null!==h?a=[a,c,d,h]:(a=null,b=j)):(a=null,b=j)):(a=null,b=j):(a=null,b=j);if(null!==a){try{k.uri=new JsSIP.URI(k.scheme,k.user,k.host,k.port),delete k.scheme,delete k.user,delete k.host,delete k.host_type,delete k.port}catch(l){k=-1}a=void 0}null===a&&(b=i);return a}function Ea(){var a, -c,d,h,i,j,l,q;q=l=b;a=Da();null!==a?(58===e.charCodeAt(b)?(c=":",b++):(c=null,0===f&&g('":"')),null!==c)?(d=fa(),d=null!==d?d:"",null!==d?(h=ga(),null!==h?(i=lb(),null!==i?(j=mb(),j=null!==j?j:"",null!==j?a=[a,c,d,h,i,j]:(a=null,b=q)):(a=null,b=q)):(a=null,b=q)):(a=null,b=q)):(a=null,b=q):(a=null,b=q);if(null!==a){try{k.uri=new JsSIP.URI(k.scheme,k.user,k.host,k.port,k.uri_params),delete k.scheme,delete k.user,delete k.host,delete k.host_type,delete k.port,delete k.uri_params,"SIP_URI"===C&&(k=k.uri)}catch(n){k= +c,d,h,i,j,l,o;o=l=b;a=Da();null!==a?(58===e.charCodeAt(b)?(c=":",b++):(c=null,0===f&&g('":"')),null!==c)?(d=fa(),d=null!==d?d:"",null!==d?(h=ga(),null!==h?(i=lb(),null!==i?(j=mb(),j=null!==j?j:"",null!==j?a=[a,c,d,h,i,j]:(a=null,b=o)):(a=null,b=o)):(a=null,b=o)):(a=null,b=o)):(a=null,b=o):(a=null,b=o);if(null!==a){try{k.uri=new JsSIP.URI(k.scheme,k.user,k.host,k.port,k.uri_params),delete k.scheme,delete k.user,delete k.host,delete k.host_type,delete k.port,delete k.uri_params,"SIP_URI"===C&&(k=k.uri)}catch(n){k= -1}a=void 0}null===a&&(b=l);return a}function Da(){var a,c;c=b;"sip"===e.substr(b,3).toLowerCase()?(a=e.substr(b,3),b+=3):(a=null,0===f&&g('"sip"'));null!==a&&(k.scheme=a.toLowerCase(),a=void 0);null===a&&(b=c);return a}function fa(){var a,c,d,h,i,j;i=h=b;a=nb();null!==a?(j=b,58===e.charCodeAt(b)?(c=":",b++):(c=null,0===f&&g('":"')),null!==c?(d=ob(),null!==d?c=[c,d]:(c=null,b=j)):(c=null,b=j),c=null!==c?c:"",null!==c)?(64===e.charCodeAt(b)?(d="@",b++):(d=null,0===f&&g('"@"')),null!==d)?a=[a,c,d]: (a=null,b=i):(a=null,b=i):(a=null,b=i);null!==a&&(k.user=window.decodeURIComponent(e.substring(b-1,h)),a=void 0);null===a&&(b=h);return a}function nb(){var a,c,d;d=b;c=w();null===c&&(c=x(),null===c&&(c=Fa()));if(null!==c)for(a=[];null!==c;)a.push(c),c=w(),null===c&&(c=x(),null===c&&(c=Fa()));else a=null;null!==a&&(k.user=window.decodeURIComponent(e.substring(b,d)),a=void 0);null===a&&(b=d);return a}function Fa(){var a;38===e.charCodeAt(b)?(a="&",b++):(a=null,0===f&&g('"&"'));if(null===a&&(61===e.charCodeAt(b)? (a="=",b++):(a=null,0===f&&g('"="')),null===a))if(43===e.charCodeAt(b)?(a="+",b++):(a=null,0===f&&g('"+"')),null===a)if(36===e.charCodeAt(b)?(a="$",b++):(a=null,0===f&&g('"$"')),null===a)if(44===e.charCodeAt(b)?(a=",",b++):(a=null,0===f&&g('","')),null===a)if(59===e.charCodeAt(b)?(a=";",b++):(a=null,0===f&&g('";"')),null===a)if(63===e.charCodeAt(b)?(a="?",b++):(a=null,0===f&&g('"?"')),null===a)47===e.charCodeAt(b)?(a="/",b++):(a=null,0===f&&g('"/"'));return a}function ob(){var a,c,d;d=b;a=[];c=w(); @@ -37,116 +37,118 @@ e.charCodeAt(b)?(c="=",b++):(c=null,0===f&&g('"="')),null===c)if(43===e.charCode i),c=null!==c?c:"",null!==c)?a=[a,c]:(a=null,b=h):(a=null,b=h);return a}function T(){var a,c;c=b;a=Ha();null===a&&(a=L(),null===a&&(a=ha()));null!==a&&(k.host=e.substring(b,c).toLowerCase(),a=k.host);null===a&&(b=c);return a}function Ha(){var a,c,d,h,i,j;i=h=b;a=[];j=b;c=Ia();null!==c?(46===e.charCodeAt(b)?(d=".",b++):(d=null,0===f&&g('"."')),null!==d)?c=[c,d]:(c=null,b=j):(c=null,b=j);for(;null!==c;)(a.push(c),j=b,c=Ia(),null!==c)?(46===e.charCodeAt(b)?(d=".",b++):(d=null,0===f&&g('"."')),null!== d)?c=[c,d]:(c=null,b=j):(c=null,b=j);null!==a?(c=pb(),null!==c)?(46===e.charCodeAt(b)?(d=".",b++):(d=null,0===f&&g('"."')),d=null!==d?d:"",null!==d)?a=[a,c,d]:(a=null,b=i):(a=null,b=i):(a=null,b=i);null!==a&&(k.host_type="domain",a=e.substring(b,h));null===a&&(b=h);return a}function Ia(){var a,c;/^[a-zA-Z0-9_\-]/.test(e.charAt(b))?(c=e.charAt(b),b++):(c=null,0===f&&g("[a-zA-Z0-9_\\-]"));if(null!==c)for(a=[];null!==c;)a.push(c),/^[a-zA-Z0-9_\-]/.test(e.charAt(b))?(c=e.charAt(b),b++):(c=null,0===f&& g("[a-zA-Z0-9_\\-]"));else a=null;return a}function pb(){var a,c;/^[a-zA-Z_\-]/.test(e.charAt(b))?(c=e.charAt(b),b++):(c=null,0===f&&g("[a-zA-Z_\\-]"));if(null!==c)for(a=[];null!==c;)a.push(c),/^[a-zA-Z_\-]/.test(e.charAt(b))?(c=e.charAt(b),b++):(c=null,0===f&&g("[a-zA-Z_\\-]"));else a=null;return a}function ha(){var a,c,d,h,i;i=h=b;91===e.charCodeAt(b)?(a="[",b++):(a=null,0===f&&g('"["'));null!==a?(c=Ja(),null!==c)?(93===e.charCodeAt(b)?(d="]",b++):(d=null,0===f&&g('"]"')),null!==d)?a=[a,c,d]:(a= -null,b=i):(a=null,b=i):(a=null,b=i);null!==a&&(k.host_type="IPv6",a=e.substring(b,h));null===a&&(b=h);return a}function Ja(){var a,c,d,h,i,j,l,q,n,o,r,s,t,u,m;m=u=b;a=p();null!==a?(58===e.charCodeAt(b)?(c=":",b++):(c=null,0===f&&g('":"')),null!==c)?(d=p(),null!==d)?(58===e.charCodeAt(b)?(h=":",b++):(h=null,0===f&&g('":"')),null!==h)?(i=p(),null!==i)?(58===e.charCodeAt(b)?(j=":",b++):(j=null,0===f&&g('":"')),null!==j)?(l=p(),null!==l)?(58===e.charCodeAt(b)?(q=":",b++):(q=null,0===f&&g('":"')),null!== -q)?(n=p(),null!==n)?(58===e.charCodeAt(b)?(o=":",b++):(o=null,0===f&&g('":"')),null!==o)?(r=p(),null!==r)?(58===e.charCodeAt(b)?(s=":",b++):(s=null,0===f&&g('":"')),null!==s)?(t=A(),null!==t?a=[a,c,d,h,i,j,l,q,n,o,r,s,t]:(a=null,b=m)):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m);if(null===a&&(m=b,"::"===e.substr(b,2)?(a="::",b+=2):(a=null,0===f&&g('"::"')),null!==a?(c=p(),null!==c)?(58=== -e.charCodeAt(b)?(d=":",b++):(d=null,0===f&&g('":"')),null!==d)?(h=p(),null!==h)?(58===e.charCodeAt(b)?(i=":",b++):(i=null,0===f&&g('":"')),null!==i)?(j=p(),null!==j)?(58===e.charCodeAt(b)?(l=":",b++):(l=null,0===f&&g('":"')),null!==l)?(q=p(),null!==q)?(58===e.charCodeAt(b)?(n=":",b++):(n=null,0===f&&g('":"')),null!==n)?(o=p(),null!==o)?(58===e.charCodeAt(b)?(r=":",b++):(r=null,0===f&&g('":"')),null!==r)?(s=A(),null!==s?a=[a,c,d,h,i,j,l,q,n,o,r,s]:(a=null,b=m)):(a=null,b=m):(a=null,b=m):(a=null,b= -m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m),null===a))if(m=b,"::"===e.substr(b,2)?(a="::",b+=2):(a=null,0===f&&g('"::"')),null!==a?(c=p(),null!==c)?(58===e.charCodeAt(b)?(d=":",b++):(d=null,0===f&&g('":"')),null!==d)?(h=p(),null!==h)?(58===e.charCodeAt(b)?(i=":",b++):(i=null,0===f&&g('":"')),null!==i)?(j=p(),null!==j)?(58===e.charCodeAt(b)?(l=":",b++):(l=null,0===f&&g('":"')),null!==l)?(q=p(),null!==q)?(58===e.charCodeAt(b)?(n=":",b++): -(n=null,0===f&&g('":"')),null!==n)?(o=A(),null!==o?a=[a,c,d,h,i,j,l,q,n,o]:(a=null,b=m)):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m),null===a)if(m=b,"::"===e.substr(b,2)?(a="::",b+=2):(a=null,0===f&&g('"::"')),null!==a?(c=p(),null!==c)?(58===e.charCodeAt(b)?(d=":",b++):(d=null,0===f&&g('":"')),null!==d)?(h=p(),null!==h)?(58===e.charCodeAt(b)?(i=":",b++):(i=null,0===f&&g('":"')),null!==i)?(j=p(),null!==j)?(58===e.charCodeAt(b)? -(l=":",b++):(l=null,0===f&&g('":"')),null!==l)?(q=A(),null!==q?a=[a,c,d,h,i,j,l,q]:(a=null,b=m)):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m),null===a)if(m=b,"::"===e.substr(b,2)?(a="::",b+=2):(a=null,0===f&&g('"::"')),null!==a?(c=p(),null!==c)?(58===e.charCodeAt(b)?(d=":",b++):(d=null,0===f&&g('":"')),null!==d)?(h=p(),null!==h)?(58===e.charCodeAt(b)?(i=":",b++):(i=null,0===f&&g('":"')),null!==i)?(j=A(),null!==j?a=[a,c,d,h,i,j]:(a=null,b=m)):(a=null,b= -m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m),null===a)if(m=b,"::"===e.substr(b,2)?(a="::",b+=2):(a=null,0===f&&g('"::"')),null!==a?(c=p(),null!==c)?(58===e.charCodeAt(b)?(d=":",b++):(d=null,0===f&&g('":"')),null!==d)?(h=A(),null!==h?a=[a,c,d,h]:(a=null,b=m)):(a=null,b=m):(a=null,b=m):(a=null,b=m),null===a)if(m=b,"::"===e.substr(b,2)?(a="::",b+=2):(a=null,0===f&&g('"::"')),null!==a?(c=A(),null!==c?a=[a,c]:(a=null,b=m)):(a=null,b=m),null===a)if(m=b,"::"===e.substr(b,2)?(a="::",b+=2):(a=null, -0===f&&g('"::"')),null!==a?(c=p(),null!==c?a=[a,c]:(a=null,b=m)):(a=null,b=m),null===a)if(m=b,a=p(),null!==a?("::"===e.substr(b,2)?(c="::",b+=2):(c=null,0===f&&g('"::"')),null!==c)?(d=p(),null!==d)?(58===e.charCodeAt(b)?(h=":",b++):(h=null,0===f&&g('":"')),null!==h)?(i=p(),null!==i)?(58===e.charCodeAt(b)?(j=":",b++):(j=null,0===f&&g('":"')),null!==j)?(l=p(),null!==l)?(58===e.charCodeAt(b)?(q=":",b++):(q=null,0===f&&g('":"')),null!==q)?(n=p(),null!==n)?(58===e.charCodeAt(b)?(o=":",b++):(o=null,0=== -f&&g('":"')),null!==o)?(r=A(),null!==r?a=[a,c,d,h,i,j,l,q,n,o,r]:(a=null,b=m)):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m),null===a)if(m=b,a=p(),null!==a?(n=b,58===e.charCodeAt(b)?(c=":",b++):(c=null,0===f&&g('":"')),null!==c?(d=p(),null!==d?c=[c,d]:(c=null,b=n)):(c=null,b=n),c=null!==c?c:"",null!==c)?("::"===e.substr(b,2)?(d="::",b+=2):(d=null,0===f&&g('"::"')),null!==d)?(h=p(),null!==h)?(58===e.charCodeAt(b)?(i= -":",b++):(i=null,0===f&&g('":"')),null!==i)?(j=p(),null!==j)?(58===e.charCodeAt(b)?(l=":",b++):(l=null,0===f&&g('":"')),null!==l)?(q=p(),null!==q)?(58===e.charCodeAt(b)?(n=":",b++):(n=null,0===f&&g('":"')),null!==n)?(o=A(),null!==o?a=[a,c,d,h,i,j,l,q,n,o]:(a=null,b=m)):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m),null===a)if(m=b,a=p(),null!==a?(n=b,58===e.charCodeAt(b)?(c=":",b++):(c=null,0===f&&g('":"')),null!==c?(d=p(),null!== -d?c=[c,d]:(c=null,b=n)):(c=null,b=n),c=null!==c?c:"",null!==c)?(n=b,58===e.charCodeAt(b)?(d=":",b++):(d=null,0===f&&g('":"')),null!==d?(h=p(),null!==h?d=[d,h]:(d=null,b=n)):(d=null,b=n),d=null!==d?d:"",null!==d)?("::"===e.substr(b,2)?(h="::",b+=2):(h=null,0===f&&g('"::"')),null!==h)?(i=p(),null!==i)?(58===e.charCodeAt(b)?(j=":",b++):(j=null,0===f&&g('":"')),null!==j)?(l=p(),null!==l)?(58===e.charCodeAt(b)?(q=":",b++):(q=null,0===f&&g('":"')),null!==q)?(n=A(),null!==n?a=[a,c,d,h,i,j,l,q,n]:(a=null, -b=m)):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m),null===a)if(m=b,a=p(),null!==a?(n=b,58===e.charCodeAt(b)?(c=":",b++):(c=null,0===f&&g('":"')),null!==c?(d=p(),null!==d?c=[c,d]:(c=null,b=n)):(c=null,b=n),c=null!==c?c:"",null!==c)?(n=b,58===e.charCodeAt(b)?(d=":",b++):(d=null,0===f&&g('":"')),null!==d?(h=p(),null!==h?d=[d,h]:(d=null,b=n)):(d=null,b=n),d=null!==d?d:"",null!==d)?(n=b,58===e.charCodeAt(b)?(h=":",b++):(h=null,0===f&&g('":"')), -null!==h?(i=p(),null!==i?h=[h,i]:(h=null,b=n)):(h=null,b=n),h=null!==h?h:"",null!==h)?("::"===e.substr(b,2)?(i="::",b+=2):(i=null,0===f&&g('"::"')),null!==i)?(j=p(),null!==j)?(58===e.charCodeAt(b)?(l=":",b++):(l=null,0===f&&g('":"')),null!==l)?(q=A(),null!==q?a=[a,c,d,h,i,j,l,q]:(a=null,b=m)):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m),null===a)if(m=b,a=p(),null!==a?(n=b,58===e.charCodeAt(b)?(c=":",b++):(c=null,0===f&&g('":"')),null!==c?(d=p(),null!== -d?c=[c,d]:(c=null,b=n)):(c=null,b=n),c=null!==c?c:"",null!==c)?(n=b,58===e.charCodeAt(b)?(d=":",b++):(d=null,0===f&&g('":"')),null!==d?(h=p(),null!==h?d=[d,h]:(d=null,b=n)):(d=null,b=n),d=null!==d?d:"",null!==d)?(n=b,58===e.charCodeAt(b)?(h=":",b++):(h=null,0===f&&g('":"')),null!==h?(i=p(),null!==i?h=[h,i]:(h=null,b=n)):(h=null,b=n),h=null!==h?h:"",null!==h)?(n=b,58===e.charCodeAt(b)?(i=":",b++):(i=null,0===f&&g('":"')),null!==i?(j=p(),null!==j?i=[i,j]:(i=null,b=n)):(i=null,b=n),i=null!==i?i:"",null!== -i)?("::"===e.substr(b,2)?(j="::",b+=2):(j=null,0===f&&g('"::"')),null!==j)?(l=A(),null!==l?a=[a,c,d,h,i,j,l]:(a=null,b=m)):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m),null===a)if(m=b,a=p(),null!==a?(n=b,58===e.charCodeAt(b)?(c=":",b++):(c=null,0===f&&g('":"')),null!==c?(d=p(),null!==d?c=[c,d]:(c=null,b=n)):(c=null,b=n),c=null!==c?c:"",null!==c)?(n=b,58===e.charCodeAt(b)?(d=":",b++):(d=null,0===f&&g('":"')),null!==d?(h=p(),null!==h?d=[d,h]:(d=null,b=n)):(d=null,b= -n),d=null!==d?d:"",null!==d)?(n=b,58===e.charCodeAt(b)?(h=":",b++):(h=null,0===f&&g('":"')),null!==h?(i=p(),null!==i?h=[h,i]:(h=null,b=n)):(h=null,b=n),h=null!==h?h:"",null!==h)?(n=b,58===e.charCodeAt(b)?(i=":",b++):(i=null,0===f&&g('":"')),null!==i?(j=p(),null!==j?i=[i,j]:(i=null,b=n)):(i=null,b=n),i=null!==i?i:"",null!==i)?(n=b,58===e.charCodeAt(b)?(j=":",b++):(j=null,0===f&&g('":"')),null!==j?(l=p(),null!==l?j=[j,l]:(j=null,b=n)):(j=null,b=n),j=null!==j?j:"",null!==j)?("::"===e.substr(b,2)?(l= -"::",b+=2):(l=null,0===f&&g('"::"')),null!==l)?(q=p(),null!==q?a=[a,c,d,h,i,j,l,q]:(a=null,b=m)):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m),null===a)(m=b,a=p(),null!==a)?(n=b,58===e.charCodeAt(b)?(c=":",b++):(c=null,0===f&&g('":"')),null!==c?(d=p(),null!==d?c=[c,d]:(c=null,b=n)):(c=null,b=n),c=null!==c?c:"",null!==c)?(n=b,58===e.charCodeAt(b)?(d=":",b++):(d=null,0===f&&g('":"')),null!==d?(h=p(),null!==h?d=[d,h]:(d=null,b=n)):(d=null,b=n),d=null!==d? -d:"",null!==d)?(n=b,58===e.charCodeAt(b)?(h=":",b++):(h=null,0===f&&g('":"')),null!==h?(i=p(),null!==i?h=[h,i]:(h=null,b=n)):(h=null,b=n),h=null!==h?h:"",null!==h)?(n=b,58===e.charCodeAt(b)?(i=":",b++):(i=null,0===f&&g('":"')),null!==i?(j=p(),null!==j?i=[i,j]:(i=null,b=n)):(i=null,b=n),i=null!==i?i:"",null!==i)?(n=b,58===e.charCodeAt(b)?(j=":",b++):(j=null,0===f&&g('":"')),null!==j?(l=p(),null!==l?j=[j,l]:(j=null,b=n)):(j=null,b=n),j=null!==j?j:"",null!==j)?(n=b,58===e.charCodeAt(b)?(l=":",b++):(l= -null,0===f&&g('":"')),null!==l?(q=p(),null!==q?l=[l,q]:(l=null,b=n)):(l=null,b=n),l=null!==l?l:"",null!==l)?("::"===e.substr(b,2)?(q="::",b+=2):(q=null,0===f&&g('"::"')),null!==q)?a=[a,c,d,h,i,j,l,q]:(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m);null!==a&&(k.host_type="IPv6",a=e.substring(b,u));null===a&&(b=u);return a}function p(){var a,c,d,h,e;e=b;a=G();null!==a?(c=G(),c=null!==c?c:"",null!==c?(d=G(),d=null!==d?d:"",null!==d?(h=G(),h=null!== -h?h:"",null!==h?a=[a,c,d,h]:(a=null,b=e)):(a=null,b=e)):(a=null,b=e)):(a=null,b=e);return a}function A(){var a,c,d,h;h=b;a=p();null!==a?(58===e.charCodeAt(b)?(c=":",b++):(c=null,0===f&&g('":"')),null!==c)?(d=p(),null!==d?a=[a,c,d]:(a=null,b=h)):(a=null,b=h):(a=null,b=h);null===a&&(a=L());return a}function L(){var a,c,d,h,i,j,l,q,n;n=q=b;a=U();null!==a?(46===e.charCodeAt(b)?(c=".",b++):(c=null,0===f&&g('"."')),null!==c)?(d=U(),null!==d)?(46===e.charCodeAt(b)?(h=".",b++):(h=null,0===f&&g('"."')),null!== -h)?(i=U(),null!==i)?(46===e.charCodeAt(b)?(j=".",b++):(j=null,0===f&&g('"."')),null!==j)?(l=U(),null!==l?a=[a,c,d,h,i,j,l]:(a=null,b=n)):(a=null,b=n):(a=null,b=n):(a=null,b=n):(a=null,b=n):(a=null,b=n):(a=null,b=n);null!==a&&(k.host_type="IPv4",a=e.substring(b,q));null===a&&(b=q);return a}function U(){var a,c,d,h;h=b;"25"===e.substr(b,2)?(a="25",b+=2):(a=null,0===f&&g('"25"'));null!==a?(/^[0-5]/.test(e.charAt(b))?(c=e.charAt(b),b++):(c=null,0===f&&g("[0-5]")),null!==c)?a=[a,c]:(a=null,b=h):(a=null, -b=h);if(null===a&&(h=b,50===e.charCodeAt(b)?(a="2",b++):(a=null,0===f&&g('"2"')),null!==a?(/^[0-4]/.test(e.charAt(b))?(c=e.charAt(b),b++):(c=null,0===f&&g("[0-4]")),null!==c)?(d=o(),null!==d?a=[a,c,d]:(a=null,b=h)):(a=null,b=h):(a=null,b=h),null===a))if(h=b,49===e.charCodeAt(b)?(a="1",b++):(a=null,0===f&&g('"1"')),null!==a?(c=o(),null!==c?(d=o(),null!==d?a=[a,c,d]:(a=null,b=h)):(a=null,b=h)):(a=null,b=h),null===a)h=b,/^[1-9]/.test(e.charAt(b))?(a=e.charAt(b),b++):(a=null,0===f&&g("[1-9]")),null!== -a?(c=o(),null!==c?a=[a,c]:(a=null,b=h)):(a=null,b=h),null===a&&(a=o());return a}function Ga(){var a,c,d,h,e,f,g;g=f=b;a=o();a=null!==a?a:"";null!==a?(c=o(),c=null!==c?c:"",null!==c?(d=o(),d=null!==d?d:"",null!==d?(h=o(),h=null!==h?h:"",null!==h?(e=o(),e=null!==e?e:"",null!==e?a=[a,c,d,h,e]:(a=null,b=g)):(a=null,b=g)):(a=null,b=g)):(a=null,b=g)):(a=null,b=g);null!==a&&(a=parseInt(a.join("")),k.port=a);null===a&&(b=f);return a}function lb(){var a,c,d,h;a=[];h=b;59===e.charCodeAt(b)?(c=";",b++):(c=null, +null,b=i):(a=null,b=i):(a=null,b=i);null!==a&&(k.host_type="IPv6",a=e.substring(b,h));null===a&&(b=h);return a}function Ja(){var a,c,d,h,i,j,l,o,n,p,r,s,t,u,m;m=u=b;a=q();null!==a?(58===e.charCodeAt(b)?(c=":",b++):(c=null,0===f&&g('":"')),null!==c)?(d=q(),null!==d)?(58===e.charCodeAt(b)?(h=":",b++):(h=null,0===f&&g('":"')),null!==h)?(i=q(),null!==i)?(58===e.charCodeAt(b)?(j=":",b++):(j=null,0===f&&g('":"')),null!==j)?(l=q(),null!==l)?(58===e.charCodeAt(b)?(o=":",b++):(o=null,0===f&&g('":"')),null!== +o)?(n=q(),null!==n)?(58===e.charCodeAt(b)?(p=":",b++):(p=null,0===f&&g('":"')),null!==p)?(r=q(),null!==r)?(58===e.charCodeAt(b)?(s=":",b++):(s=null,0===f&&g('":"')),null!==s)?(t=A(),null!==t?a=[a,c,d,h,i,j,l,o,n,p,r,s,t]:(a=null,b=m)):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m);if(null===a&&(m=b,"::"===e.substr(b,2)?(a="::",b+=2):(a=null,0===f&&g('"::"')),null!==a?(c=q(),null!==c)?(58=== +e.charCodeAt(b)?(d=":",b++):(d=null,0===f&&g('":"')),null!==d)?(h=q(),null!==h)?(58===e.charCodeAt(b)?(i=":",b++):(i=null,0===f&&g('":"')),null!==i)?(j=q(),null!==j)?(58===e.charCodeAt(b)?(l=":",b++):(l=null,0===f&&g('":"')),null!==l)?(o=q(),null!==o)?(58===e.charCodeAt(b)?(n=":",b++):(n=null,0===f&&g('":"')),null!==n)?(p=q(),null!==p)?(58===e.charCodeAt(b)?(r=":",b++):(r=null,0===f&&g('":"')),null!==r)?(s=A(),null!==s?a=[a,c,d,h,i,j,l,o,n,p,r,s]:(a=null,b=m)):(a=null,b=m):(a=null,b=m):(a=null,b= +m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m),null===a))if(m=b,"::"===e.substr(b,2)?(a="::",b+=2):(a=null,0===f&&g('"::"')),null!==a?(c=q(),null!==c)?(58===e.charCodeAt(b)?(d=":",b++):(d=null,0===f&&g('":"')),null!==d)?(h=q(),null!==h)?(58===e.charCodeAt(b)?(i=":",b++):(i=null,0===f&&g('":"')),null!==i)?(j=q(),null!==j)?(58===e.charCodeAt(b)?(l=":",b++):(l=null,0===f&&g('":"')),null!==l)?(o=q(),null!==o)?(58===e.charCodeAt(b)?(n=":",b++): +(n=null,0===f&&g('":"')),null!==n)?(p=A(),null!==p?a=[a,c,d,h,i,j,l,o,n,p]:(a=null,b=m)):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m),null===a)if(m=b,"::"===e.substr(b,2)?(a="::",b+=2):(a=null,0===f&&g('"::"')),null!==a?(c=q(),null!==c)?(58===e.charCodeAt(b)?(d=":",b++):(d=null,0===f&&g('":"')),null!==d)?(h=q(),null!==h)?(58===e.charCodeAt(b)?(i=":",b++):(i=null,0===f&&g('":"')),null!==i)?(j=q(),null!==j)?(58===e.charCodeAt(b)? +(l=":",b++):(l=null,0===f&&g('":"')),null!==l)?(o=A(),null!==o?a=[a,c,d,h,i,j,l,o]:(a=null,b=m)):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m),null===a)if(m=b,"::"===e.substr(b,2)?(a="::",b+=2):(a=null,0===f&&g('"::"')),null!==a?(c=q(),null!==c)?(58===e.charCodeAt(b)?(d=":",b++):(d=null,0===f&&g('":"')),null!==d)?(h=q(),null!==h)?(58===e.charCodeAt(b)?(i=":",b++):(i=null,0===f&&g('":"')),null!==i)?(j=A(),null!==j?a=[a,c,d,h,i,j]:(a=null,b=m)):(a=null,b= +m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m),null===a)if(m=b,"::"===e.substr(b,2)?(a="::",b+=2):(a=null,0===f&&g('"::"')),null!==a?(c=q(),null!==c)?(58===e.charCodeAt(b)?(d=":",b++):(d=null,0===f&&g('":"')),null!==d)?(h=A(),null!==h?a=[a,c,d,h]:(a=null,b=m)):(a=null,b=m):(a=null,b=m):(a=null,b=m),null===a)if(m=b,"::"===e.substr(b,2)?(a="::",b+=2):(a=null,0===f&&g('"::"')),null!==a?(c=A(),null!==c?a=[a,c]:(a=null,b=m)):(a=null,b=m),null===a)if(m=b,"::"===e.substr(b,2)?(a="::",b+=2):(a=null, +0===f&&g('"::"')),null!==a?(c=q(),null!==c?a=[a,c]:(a=null,b=m)):(a=null,b=m),null===a)if(m=b,a=q(),null!==a?("::"===e.substr(b,2)?(c="::",b+=2):(c=null,0===f&&g('"::"')),null!==c)?(d=q(),null!==d)?(58===e.charCodeAt(b)?(h=":",b++):(h=null,0===f&&g('":"')),null!==h)?(i=q(),null!==i)?(58===e.charCodeAt(b)?(j=":",b++):(j=null,0===f&&g('":"')),null!==j)?(l=q(),null!==l)?(58===e.charCodeAt(b)?(o=":",b++):(o=null,0===f&&g('":"')),null!==o)?(n=q(),null!==n)?(58===e.charCodeAt(b)?(p=":",b++):(p=null,0=== +f&&g('":"')),null!==p)?(r=A(),null!==r?a=[a,c,d,h,i,j,l,o,n,p,r]:(a=null,b=m)):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m),null===a)if(m=b,a=q(),null!==a?(n=b,58===e.charCodeAt(b)?(c=":",b++):(c=null,0===f&&g('":"')),null!==c?(d=q(),null!==d?c=[c,d]:(c=null,b=n)):(c=null,b=n),c=null!==c?c:"",null!==c)?("::"===e.substr(b,2)?(d="::",b+=2):(d=null,0===f&&g('"::"')),null!==d)?(h=q(),null!==h)?(58===e.charCodeAt(b)?(i= +":",b++):(i=null,0===f&&g('":"')),null!==i)?(j=q(),null!==j)?(58===e.charCodeAt(b)?(l=":",b++):(l=null,0===f&&g('":"')),null!==l)?(o=q(),null!==o)?(58===e.charCodeAt(b)?(n=":",b++):(n=null,0===f&&g('":"')),null!==n)?(p=A(),null!==p?a=[a,c,d,h,i,j,l,o,n,p]:(a=null,b=m)):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m),null===a)if(m=b,a=q(),null!==a?(n=b,58===e.charCodeAt(b)?(c=":",b++):(c=null,0===f&&g('":"')),null!==c?(d=q(),null!== +d?c=[c,d]:(c=null,b=n)):(c=null,b=n),c=null!==c?c:"",null!==c)?(n=b,58===e.charCodeAt(b)?(d=":",b++):(d=null,0===f&&g('":"')),null!==d?(h=q(),null!==h?d=[d,h]:(d=null,b=n)):(d=null,b=n),d=null!==d?d:"",null!==d)?("::"===e.substr(b,2)?(h="::",b+=2):(h=null,0===f&&g('"::"')),null!==h)?(i=q(),null!==i)?(58===e.charCodeAt(b)?(j=":",b++):(j=null,0===f&&g('":"')),null!==j)?(l=q(),null!==l)?(58===e.charCodeAt(b)?(o=":",b++):(o=null,0===f&&g('":"')),null!==o)?(n=A(),null!==n?a=[a,c,d,h,i,j,l,o,n]:(a=null, +b=m)):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m),null===a)if(m=b,a=q(),null!==a?(n=b,58===e.charCodeAt(b)?(c=":",b++):(c=null,0===f&&g('":"')),null!==c?(d=q(),null!==d?c=[c,d]:(c=null,b=n)):(c=null,b=n),c=null!==c?c:"",null!==c)?(n=b,58===e.charCodeAt(b)?(d=":",b++):(d=null,0===f&&g('":"')),null!==d?(h=q(),null!==h?d=[d,h]:(d=null,b=n)):(d=null,b=n),d=null!==d?d:"",null!==d)?(n=b,58===e.charCodeAt(b)?(h=":",b++):(h=null,0===f&&g('":"')), +null!==h?(i=q(),null!==i?h=[h,i]:(h=null,b=n)):(h=null,b=n),h=null!==h?h:"",null!==h)?("::"===e.substr(b,2)?(i="::",b+=2):(i=null,0===f&&g('"::"')),null!==i)?(j=q(),null!==j)?(58===e.charCodeAt(b)?(l=":",b++):(l=null,0===f&&g('":"')),null!==l)?(o=A(),null!==o?a=[a,c,d,h,i,j,l,o]:(a=null,b=m)):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m),null===a)if(m=b,a=q(),null!==a?(n=b,58===e.charCodeAt(b)?(c=":",b++):(c=null,0===f&&g('":"')),null!==c?(d=q(),null!== +d?c=[c,d]:(c=null,b=n)):(c=null,b=n),c=null!==c?c:"",null!==c)?(n=b,58===e.charCodeAt(b)?(d=":",b++):(d=null,0===f&&g('":"')),null!==d?(h=q(),null!==h?d=[d,h]:(d=null,b=n)):(d=null,b=n),d=null!==d?d:"",null!==d)?(n=b,58===e.charCodeAt(b)?(h=":",b++):(h=null,0===f&&g('":"')),null!==h?(i=q(),null!==i?h=[h,i]:(h=null,b=n)):(h=null,b=n),h=null!==h?h:"",null!==h)?(n=b,58===e.charCodeAt(b)?(i=":",b++):(i=null,0===f&&g('":"')),null!==i?(j=q(),null!==j?i=[i,j]:(i=null,b=n)):(i=null,b=n),i=null!==i?i:"",null!== +i)?("::"===e.substr(b,2)?(j="::",b+=2):(j=null,0===f&&g('"::"')),null!==j)?(l=A(),null!==l?a=[a,c,d,h,i,j,l]:(a=null,b=m)):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m),null===a)if(m=b,a=q(),null!==a?(n=b,58===e.charCodeAt(b)?(c=":",b++):(c=null,0===f&&g('":"')),null!==c?(d=q(),null!==d?c=[c,d]:(c=null,b=n)):(c=null,b=n),c=null!==c?c:"",null!==c)?(n=b,58===e.charCodeAt(b)?(d=":",b++):(d=null,0===f&&g('":"')),null!==d?(h=q(),null!==h?d=[d,h]:(d=null,b=n)):(d=null,b= +n),d=null!==d?d:"",null!==d)?(n=b,58===e.charCodeAt(b)?(h=":",b++):(h=null,0===f&&g('":"')),null!==h?(i=q(),null!==i?h=[h,i]:(h=null,b=n)):(h=null,b=n),h=null!==h?h:"",null!==h)?(n=b,58===e.charCodeAt(b)?(i=":",b++):(i=null,0===f&&g('":"')),null!==i?(j=q(),null!==j?i=[i,j]:(i=null,b=n)):(i=null,b=n),i=null!==i?i:"",null!==i)?(n=b,58===e.charCodeAt(b)?(j=":",b++):(j=null,0===f&&g('":"')),null!==j?(l=q(),null!==l?j=[j,l]:(j=null,b=n)):(j=null,b=n),j=null!==j?j:"",null!==j)?("::"===e.substr(b,2)?(l= +"::",b+=2):(l=null,0===f&&g('"::"')),null!==l)?(o=q(),null!==o?a=[a,c,d,h,i,j,l,o]:(a=null,b=m)):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m),null===a)(m=b,a=q(),null!==a)?(n=b,58===e.charCodeAt(b)?(c=":",b++):(c=null,0===f&&g('":"')),null!==c?(d=q(),null!==d?c=[c,d]:(c=null,b=n)):(c=null,b=n),c=null!==c?c:"",null!==c)?(n=b,58===e.charCodeAt(b)?(d=":",b++):(d=null,0===f&&g('":"')),null!==d?(h=q(),null!==h?d=[d,h]:(d=null,b=n)):(d=null,b=n),d=null!==d? +d:"",null!==d)?(n=b,58===e.charCodeAt(b)?(h=":",b++):(h=null,0===f&&g('":"')),null!==h?(i=q(),null!==i?h=[h,i]:(h=null,b=n)):(h=null,b=n),h=null!==h?h:"",null!==h)?(n=b,58===e.charCodeAt(b)?(i=":",b++):(i=null,0===f&&g('":"')),null!==i?(j=q(),null!==j?i=[i,j]:(i=null,b=n)):(i=null,b=n),i=null!==i?i:"",null!==i)?(n=b,58===e.charCodeAt(b)?(j=":",b++):(j=null,0===f&&g('":"')),null!==j?(l=q(),null!==l?j=[j,l]:(j=null,b=n)):(j=null,b=n),j=null!==j?j:"",null!==j)?(n=b,58===e.charCodeAt(b)?(l=":",b++):(l= +null,0===f&&g('":"')),null!==l?(o=q(),null!==o?l=[l,o]:(l=null,b=n)):(l=null,b=n),l=null!==l?l:"",null!==l)?("::"===e.substr(b,2)?(o="::",b+=2):(o=null,0===f&&g('"::"')),null!==o)?a=[a,c,d,h,i,j,l,o]:(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m):(a=null,b=m);null!==a&&(k.host_type="IPv6",a=e.substring(b,u));null===a&&(b=u);return a}function q(){var a,c,d,h,e;e=b;a=G();null!==a?(c=G(),c=null!==c?c:"",null!==c?(d=G(),d=null!==d?d:"",null!==d?(h=G(),h=null!== +h?h:"",null!==h?a=[a,c,d,h]:(a=null,b=e)):(a=null,b=e)):(a=null,b=e)):(a=null,b=e);return a}function A(){var a,c,d,h;h=b;a=q();null!==a?(58===e.charCodeAt(b)?(c=":",b++):(c=null,0===f&&g('":"')),null!==c)?(d=q(),null!==d?a=[a,c,d]:(a=null,b=h)):(a=null,b=h):(a=null,b=h);null===a&&(a=L());return a}function L(){var a,c,d,h,i,j,l,o,n;n=o=b;a=U();null!==a?(46===e.charCodeAt(b)?(c=".",b++):(c=null,0===f&&g('"."')),null!==c)?(d=U(),null!==d)?(46===e.charCodeAt(b)?(h=".",b++):(h=null,0===f&&g('"."')),null!== +h)?(i=U(),null!==i)?(46===e.charCodeAt(b)?(j=".",b++):(j=null,0===f&&g('"."')),null!==j)?(l=U(),null!==l?a=[a,c,d,h,i,j,l]:(a=null,b=n)):(a=null,b=n):(a=null,b=n):(a=null,b=n):(a=null,b=n):(a=null,b=n):(a=null,b=n);null!==a&&(k.host_type="IPv4",a=e.substring(b,o));null===a&&(b=o);return a}function U(){var a,c,d,h;h=b;"25"===e.substr(b,2)?(a="25",b+=2):(a=null,0===f&&g('"25"'));null!==a?(/^[0-5]/.test(e.charAt(b))?(c=e.charAt(b),b++):(c=null,0===f&&g("[0-5]")),null!==c)?a=[a,c]:(a=null,b=h):(a=null, +b=h);if(null===a&&(h=b,50===e.charCodeAt(b)?(a="2",b++):(a=null,0===f&&g('"2"')),null!==a?(/^[0-4]/.test(e.charAt(b))?(c=e.charAt(b),b++):(c=null,0===f&&g("[0-4]")),null!==c)?(d=p(),null!==d?a=[a,c,d]:(a=null,b=h)):(a=null,b=h):(a=null,b=h),null===a))if(h=b,49===e.charCodeAt(b)?(a="1",b++):(a=null,0===f&&g('"1"')),null!==a?(c=p(),null!==c?(d=p(),null!==d?a=[a,c,d]:(a=null,b=h)):(a=null,b=h)):(a=null,b=h),null===a)h=b,/^[1-9]/.test(e.charAt(b))?(a=e.charAt(b),b++):(a=null,0===f&&g("[1-9]")),null!== +a?(c=p(),null!==c?a=[a,c]:(a=null,b=h)):(a=null,b=h),null===a&&(a=p());return a}function Ga(){var a,c,d,h,e,f,g;g=f=b;a=p();a=null!==a?a:"";null!==a?(c=p(),c=null!==c?c:"",null!==c?(d=p(),d=null!==d?d:"",null!==d?(h=p(),h=null!==h?h:"",null!==h?(e=p(),e=null!==e?e:"",null!==e?a=[a,c,d,h,e]:(a=null,b=g)):(a=null,b=g)):(a=null,b=g)):(a=null,b=g)):(a=null,b=g);null!==a&&(a=parseInt(a.join("")),k.port=a);null===a&&(b=f);return a}function lb(){var a,c,d,h;a=[];h=b;59===e.charCodeAt(b)?(c=";",b++):(c=null, 0===f&&g('";"'));null!==c?(d=Ka(),null!==d?c=[c,d]:(c=null,b=h)):(c=null,b=h);for(;null!==c;)(a.push(c),h=b,59===e.charCodeAt(b)?(c=";",b++):(c=null,0===f&&g('";"')),null!==c)?(d=Ka(),null!==d?c=[c,d]:(c=null,b=h)):(c=null,b=h);return a}function Ka(){var a;a=qb();null===a&&(a=rb(),null===a&&(a=sb(),null===a&&(a=tb(),null===a&&(a=ub(),null===a&&(a=vb(),null===a&&(a=wb()))))));return a}function qb(){var a,c,d,h;h=d=b;"transport="===e.substr(b,10).toLowerCase()?(a=e.substr(b,10),b+=10):(a=null,0===f&& g('"transport="'));if(null!==a){"udp"===e.substr(b,3).toLowerCase()?(c=e.substr(b,3),b+=3):(c=null,0===f&&g('"udp"'));if(null===c&&("tcp"===e.substr(b,3).toLowerCase()?(c=e.substr(b,3),b+=3):(c=null,0===f&&g('"tcp"')),null===c))if("sctp"===e.substr(b,4).toLowerCase()?(c=e.substr(b,4),b+=4):(c=null,0===f&&g('"sctp"')),null===c)"tls"===e.substr(b,3).toLowerCase()?(c=e.substr(b,3),b+=3):(c=null,0===f&&g('"tls"')),null===c&&(c=r());null!==c?a=[a,c]:(a=null,b=h)}else a=null,b=h;null!==a&&(a=a[1],k.uri_params|| (k.uri_params={}),k.uri_params.transport=a.toLowerCase(),a=void 0);null===a&&(b=d);return a}function rb(){var a,c,d,h;h=d=b;"user="===e.substr(b,5).toLowerCase()?(a=e.substr(b,5),b+=5):(a=null,0===f&&g('"user="'));null!==a?("phone"===e.substr(b,5).toLowerCase()?(c=e.substr(b,5),b+=5):(c=null,0===f&&g('"phone"')),null===c&&("ip"===e.substr(b,2).toLowerCase()?(c=e.substr(b,2),b+=2):(c=null,0===f&&g('"ip"')),null===c&&(c=r())),null!==c)?a=[a,c]:(a=null,b=h):(a=null,b=h);null!==a&&(a=a[1],k.uri_params|| (k.uri_params={}),k.uri_params.user=a.toLowerCase(),a=void 0);null===a&&(b=d);return a}function sb(){var a,c,d,h;h=d=b;"method="===e.substr(b,7).toLowerCase()?(a=e.substr(b,7),b+=7):(a=null,0===f&&g('"method="'));null!==a?(c=ia(),null!==c?a=[a,c]:(a=null,b=h)):(a=null,b=h);null!==a&&(a=a[1],k.uri_params||(k.uri_params={}),k.uri_params.method=a,a=void 0);null===a&&(b=d);return a}function tb(){var a,c,d,h;h=d=b;"ttl="===e.substr(b,4).toLowerCase()?(a=e.substr(b,4),b+=4):(a=null,0===f&&g('"ttl="')); -null!==a?(c=La(),null!==c?a=[a,c]:(a=null,b=h)):(a=null,b=h);null!==a&&(a=a[1],k.params||(k.params={}),k.params.ttl=a,a=void 0);null===a&&(b=d);return a}function ub(){var a,c,d,h;h=d=b;"maddr="===e.substr(b,6).toLowerCase()?(a=e.substr(b,6),b+=6):(a=null,0===f&&g('"maddr="'));null!==a?(c=T(),null!==c?a=[a,c]:(a=null,b=h)):(a=null,b=h);null!==a&&(a=a[1],k.uri_params||(k.uri_params={}),k.uri_params.maddr=a,a=void 0);null===a&&(b=d);return a}function vb(){var a,c;c=b;"lr"===e.substr(b,2).toLowerCase()? -(a=e.substr(b,2),b+=2):(a=null,0===f&&g('"lr"'));null!==a&&(k.uri_params||(k.uri_params={}),a=k.uri_params.lr=void 0);null===a&&(b=c);return a}function wb(){var a,c,d,h,i,j;i=h=b;a=xb();null!==a?(j=b,61===e.charCodeAt(b)?(c="=",b++):(c=null,0===f&&g('"="')),null!==c?(d=yb(),null!==d?c=[c,d]:(c=null,b=j)):(c=null,b=j),c=null!==c?c:"",null!==c)?a=[a,c]:(a=null,b=i):(a=null,b=i);null!==a&&(c=a[0],a=a[1],k.uri_params||(k.uri_params={}),a="undefined"===typeof a?void 0:a[1],k.uri_params[c.toLowerCase()]= -a&&a.toLowerCase(),a=void 0);null===a&&(b=h);return a}function xb(){var a,c,d;d=b;c=V();if(null!==c)for(a=[];null!==c;)a.push(c),c=V();else a=null;null!==a&&(a=a.join(""));null===a&&(b=d);return a}function yb(){var a,c,d;d=b;c=V();if(null!==c)for(a=[];null!==c;)a.push(c),c=V();else a=null;null!==a&&(a=a.join(""));null===a&&(b=d);return a}function V(){var a;a=zb();null===a&&(a=w(),null===a&&(a=x()));return a}function zb(){var a;91===e.charCodeAt(b)?(a="[",b++):(a=null,0===f&&g('"["'));if(null===a&& -(93===e.charCodeAt(b)?(a="]",b++):(a=null,0===f&&g('"]"')),null===a))if(47===e.charCodeAt(b)?(a="/",b++):(a=null,0===f&&g('"/"')),null===a)if(58===e.charCodeAt(b)?(a=":",b++):(a=null,0===f&&g('":"')),null===a)if(38===e.charCodeAt(b)?(a="&",b++):(a=null,0===f&&g('"&"')),null===a)if(43===e.charCodeAt(b)?(a="+",b++):(a=null,0===f&&g('"+"')),null===a)36===e.charCodeAt(b)?(a="$",b++):(a=null,0===f&&g('"$"'));return a}function mb(){var a,c,d,h,i,j,l;j=b;63===e.charCodeAt(b)?(a="?",b++):(a=null,0===f&&g('"?"')); -if(null!==a)if(c=ja(),null!==c){d=[];l=b;38===e.charCodeAt(b)?(h="&",b++):(h=null,0===f&&g('"&"'));null!==h?(i=ja(),null!==i?h=[h,i]:(h=null,b=l)):(h=null,b=l);for(;null!==h;)(d.push(h),l=b,38===e.charCodeAt(b)?(h="&",b++):(h=null,0===f&&g('"&"')),null!==h)?(i=ja(),null!==i?h=[h,i]:(h=null,b=l)):(h=null,b=l);null!==d?a=[a,c,d]:(a=null,b=j)}else a=null,b=j;else a=null,b=j;return a}function ja(){var a,c,d,h;h=b;a=Ab();null!==a?(61===e.charCodeAt(b)?(c="=",b++):(c=null,0===f&&g('"="')),null!==c)?(d= -Bb(),null!==d?a=[a,c,d]:(a=null,b=h)):(a=null,b=h):(a=null,b=h);return a}function Ab(){var a,b;b=W();null===b&&(b=w(),null===b&&(b=x()));if(null!==b)for(a=[];null!==b;)a.push(b),b=W(),null===b&&(b=w(),null===b&&(b=x()));else a=null;return a}function Bb(){var a,b;a=[];b=W();null===b&&(b=w(),null===b&&(b=x()));for(;null!==b;)a.push(b),b=W(),null===b&&(b=w(),null===b&&(b=x()));return a}function W(){var a;91===e.charCodeAt(b)?(a="[",b++):(a=null,0===f&&g('"["'));if(null===a&&(93===e.charCodeAt(b)?(a= -"]",b++):(a=null,0===f&&g('"]"')),null===a))if(47===e.charCodeAt(b)?(a="/",b++):(a=null,0===f&&g('"/"')),null===a)if(63===e.charCodeAt(b)?(a="?",b++):(a=null,0===f&&g('"?"')),null===a)if(58===e.charCodeAt(b)?(a=":",b++):(a=null,0===f&&g('":"')),null===a)if(43===e.charCodeAt(b)?(a="+",b++):(a=null,0===f&&g('"+"')),null===a)36===e.charCodeAt(b)?(a="$",b++):(a=null,0===f&&g('"$"'));return a}function Cb(){var a,c,d,h,e,f;f=b;a=ia();null!==a?(c=z(),null!==c?(d=Db(),null!==d?(h=z(),null!==h?(e=Ma(),null!== -e?a=[a,c,d,h,e]:(a=null,b=f)):(a=null,b=f)):(a=null,b=f)):(a=null,b=f)):(a=null,b=f);return a}function Db(){var a;a=Ea();null===a&&(a=Na());return a}function Na(){var a,c,d,h;h=b;a=Eb();null!==a?(58===e.charCodeAt(b)?(c=":",b++):(c=null,0===f&&g('":"')),null!==c)?(d=Fb(),null===d&&(d=Gb()),null!==d?a=[a,c,d]:(a=null,b=h)):(a=null,b=h):(a=null,b=h);return a}function Fb(){var a,c,d,h,i;h=b;a=Hb();null===a&&(a=ka());null!==a?(i=b,63===e.charCodeAt(b)?(c="?",b++):(c=null,0===f&&g('"?"')),null!==c?(d= -Ib(),null!==d?c=[c,d]:(c=null,b=i)):(c=null,b=i),c=null!==c?c:"",null!==c)?a=[a,c]:(a=null,b=h):(a=null,b=h);return a}function Hb(){var a,c,d,h;h=b;"//"===e.substr(b,2)?(a="//",b+=2):(a=null,0===f&&g('"//"'));null!==a?(c=Jb(),null!==c?(d=ka(),d=null!==d?d:"",null!==d?a=[a,c,d]:(a=null,b=h)):(a=null,b=h)):(a=null,b=h);return a}function ka(){var a,c,d;d=b;47===e.charCodeAt(b)?(a="/",b++):(a=null,0===f&&g('"/"'));null!==a?(c=Kb(),null!==c?a=[a,c]:(a=null,b=d)):(a=null,b=d);return a}function Gb(){var a, -c,d,h;h=b;a=Lb();if(null!==a){c=[];for(d=X();null!==d;)c.push(d),d=X();null!==c?a=[a,c]:(a=null,b=h)}else a=null,b=h;return a}function X(){var a;a=ba();null===a&&(a=w(),null===a&&(a=x()));return a}function Lb(){var a;a=w();if(null===a&&(a=x(),null===a&&(59===e.charCodeAt(b)?(a=";",b++):(a=null,0===f&&g('";"')),null===a)))if(63===e.charCodeAt(b)?(a="?",b++):(a=null,0===f&&g('"?"')),null===a)if(58===e.charCodeAt(b)?(a=":",b++):(a=null,0===f&&g('":"')),null===a)if(64===e.charCodeAt(b)?(a="@",b++):(a= -null,0===f&&g('"@"')),null===a)if(38===e.charCodeAt(b)?(a="&",b++):(a=null,0===f&&g('"&"')),null===a)if(61===e.charCodeAt(b)?(a="=",b++):(a=null,0===f&&g('"="')),null===a)if(43===e.charCodeAt(b)?(a="+",b++):(a=null,0===f&&g('"+"')),null===a)if(36===e.charCodeAt(b)?(a="$",b++):(a=null,0===f&&g('"$"')),null===a)44===e.charCodeAt(b)?(a=",",b++):(a=null,0===f&&g('","'));return a}function Kb(){var a,c,d,h,i,j;i=b;a=la();if(null!==a){c=[];j=b;47===e.charCodeAt(b)?(d="/",b++):(d=null,0===f&&g('"/"'));null!== -d?(h=la(),null!==h?d=[d,h]:(d=null,b=j)):(d=null,b=j);for(;null!==d;)(c.push(d),j=b,47===e.charCodeAt(b)?(d="/",b++):(d=null,0===f&&g('"/"')),null!==d)?(h=la(),null!==h?d=[d,h]:(d=null,b=j)):(d=null,b=j);null!==c?a=[a,c]:(a=null,b=i)}else a=null,b=i;return a}function la(){var a,c,d,h,i,j;i=b;a=[];for(c=Y();null!==c;)a.push(c),c=Y();if(null!==a){c=[];j=b;59===e.charCodeAt(b)?(d=";",b++):(d=null,0===f&&g('";"'));null!==d?(h=Oa(),null!==h?d=[d,h]:(d=null,b=j)):(d=null,b=j);for(;null!==d;)(c.push(d), -j=b,59===e.charCodeAt(b)?(d=";",b++):(d=null,0===f&&g('";"')),null!==d)?(h=Oa(),null!==h?d=[d,h]:(d=null,b=j)):(d=null,b=j);null!==c?a=[a,c]:(a=null,b=i)}else a=null,b=i;return a}function Oa(){var a,b;a=[];for(b=Y();null!==b;)a.push(b),b=Y();return a}function Y(){var a;a=w();if(null===a&&(a=x(),null===a&&(58===e.charCodeAt(b)?(a=":",b++):(a=null,0===f&&g('":"')),null===a)))if(64===e.charCodeAt(b)?(a="@",b++):(a=null,0===f&&g('"@"')),null===a)if(38===e.charCodeAt(b)?(a="&",b++):(a=null,0===f&&g('"&"')), -null===a)if(61===e.charCodeAt(b)?(a="=",b++):(a=null,0===f&&g('"="')),null===a)if(43===e.charCodeAt(b)?(a="+",b++):(a=null,0===f&&g('"+"')),null===a)if(36===e.charCodeAt(b)?(a="$",b++):(a=null,0===f&&g('"$"')),null===a)44===e.charCodeAt(b)?(a=",",b++):(a=null,0===f&&g('","'));return a}function Eb(){var a,c,d,h,i;i=h=b;a=P();if(null!==a){c=[];d=P();if(null===d&&(d=o(),null===d&&(43===e.charCodeAt(b)?(d="+",b++):(d=null,0===f&&g('"+"')),null===d)))if(45===e.charCodeAt(b)?(d="-",b++):(d=null,0===f&& -g('"-"')),null===d)46===e.charCodeAt(b)?(d=".",b++):(d=null,0===f&&g('"."'));for(;null!==d;)if(c.push(d),d=P(),null===d&&(d=o(),null===d&&(43===e.charCodeAt(b)?(d="+",b++):(d=null,0===f&&g('"+"')),null===d)))if(45===e.charCodeAt(b)?(d="-",b++):(d=null,0===f&&g('"-"')),null===d)46===e.charCodeAt(b)?(d=".",b++):(d=null,0===f&&g('"."'));null!==c?a=[a,c]:(a=null,b=i)}else a=null,b=i;null!==a&&(k.scheme=e.substring(b,h),a=void 0);null===a&&(b=h);return a}function Jb(){var a;a=Mb();null===a&&(a=Z());return a} -function Mb(){var a,c,d,h;h=d=b;a=fa();null!==a?(64===e.charCodeAt(b)?(c="@",b++):(c=null,0===f&&g('"@"')),null!==c)?a=[a,c]:(a=null,b=h):(a=null,b=h);a=null!==a?a:"";null!==a?(c=ga(),null!==c?a=[a,c]:(a=null,b=d)):(a=null,b=d);return null!==a?a:""}function Z(){var a,c;c=w();if(null===c&&(c=x(),null===c&&(36===e.charCodeAt(b)?(c="$",b++):(c=null,0===f&&g('"$"')),null===c)))if(44===e.charCodeAt(b)?(c=",",b++):(c=null,0===f&&g('","')),null===c)if(59===e.charCodeAt(b)?(c=";",b++):(c=null,0===f&&g('";"')), -null===c)if(58===e.charCodeAt(b)?(c=":",b++):(c=null,0===f&&g('":"')),null===c)if(64===e.charCodeAt(b)?(c="@",b++):(c=null,0===f&&g('"@"')),null===c)if(38===e.charCodeAt(b)?(c="&",b++):(c=null,0===f&&g('"&"')),null===c)if(61===e.charCodeAt(b)?(c="=",b++):(c=null,0===f&&g('"="')),null===c)43===e.charCodeAt(b)?(c="+",b++):(c=null,0===f&&g('"+"'));if(null!==c)for(a=[];null!==c;){if(a.push(c),c=w(),null===c&&(c=x(),null===c&&(36===e.charCodeAt(b)?(c="$",b++):(c=null,0===f&&g('"$"')),null===c)))if(44=== -e.charCodeAt(b)?(c=",",b++):(c=null,0===f&&g('","')),null===c)if(59===e.charCodeAt(b)?(c=";",b++):(c=null,0===f&&g('";"')),null===c)if(58===e.charCodeAt(b)?(c=":",b++):(c=null,0===f&&g('":"')),null===c)if(64===e.charCodeAt(b)?(c="@",b++):(c=null,0===f&&g('"@"')),null===c)if(38===e.charCodeAt(b)?(c="&",b++):(c=null,0===f&&g('"&"')),null===c)if(61===e.charCodeAt(b)?(c="=",b++):(c=null,0===f&&g('"="')),null===c)43===e.charCodeAt(b)?(c="+",b++):(c=null,0===f&&g('"+"'))}else a=null;return a}function Ib(){var a, -b;a=[];for(b=X();null!==b;)a.push(b),b=X();return a}function Ma(){var a,c,d,h,i,j,l,q;q=l=b;"sip"===e.substr(b,3).toLowerCase()?(a=e.substr(b,3),b+=3):(a=null,0===f&&g('"SIP"'));if(null!==a)if(47===e.charCodeAt(b)?(c="/",b++):(c=null,0===f&&g('"/"')),null!==c){h=o();if(null!==h)for(d=[];null!==h;)d.push(h),h=o();else d=null;if(null!==d)if(46===e.charCodeAt(b)?(h=".",b++):(h=null,0===f&&g('"."')),null!==h){j=o();if(null!==j)for(i=[];null!==j;)i.push(j),j=o();else i=null;null!==i?a=[a,c,d,h,i]:(a=null, -b=q)}else a=null,b=q;else a=null,b=q}else a=null,b=q;else a=null,b=q;null!==a&&(k.sip_version=e.substring(b,l),a=void 0);null===a&&(b=l);return a}function Nb(){var a;"INVITE"===e.substr(b,6)?(a="INVITE",b+=6):(a=null,0===f&&g('"INVITE"'));return a}function Ob(){var a;"ACK"===e.substr(b,3)?(a="ACK",b+=3):(a=null,0===f&&g('"ACK"'));return a}function Pb(){var a;"OPTIONS"===e.substr(b,7)?(a="OPTIONS",b+=7):(a=null,0===f&&g('"OPTIONS"'));return a}function Qb(){var a;"BYE"===e.substr(b,3)?(a="BYE",b+=3): -(a=null,0===f&&g('"BYE"'));return a}function Rb(){var a;"CANCEL"===e.substr(b,6)?(a="CANCEL",b+=6):(a=null,0===f&&g('"CANCEL"'));return a}function Sb(){var a;"REGISTER"===e.substr(b,8)?(a="REGISTER",b+=8):(a=null,0===f&&g('"REGISTER"'));return a}function Tb(){var a;"SUBSCRIBE"===e.substr(b,9)?(a="SUBSCRIBE",b+=9):(a=null,0===f&&g('"SUBSCRIBE"'));return a}function Ub(){var a;"NOTIFY"===e.substr(b,6)?(a="NOTIFY",b+=6):(a=null,0===f&&g('"NOTIFY"'));return a}function ia(){var a,c;c=b;a=Nb();null===a&& -(a=Ob(),null===a&&(a=Pb(),null===a&&(a=Qb(),null===a&&(a=Rb(),null===a&&(a=Sb(),null===a&&(a=Tb(),null===a&&(a=Ub(),null===a&&(a=r()))))))));null!==a&&(k.method=e.substring(b,c),a=k.method);null===a&&(b=c);return a}function Vb(){var a,c,d,h,e,f;f=b;a=Ma();null!==a?(c=z(),null!==c?(d=Wb(),null!==d?(h=z(),null!==h?(e=Xb(),null!==e?a=[a,c,d,h,e]:(a=null,b=f)):(a=null,b=f)):(a=null,b=f)):(a=null,b=f)):(a=null,b=f);return a}function Wb(){var a,c;c=b;a=Yb();null!==a&&(k.status_code=parseInt(a.join("")), -a=void 0);null===a&&(b=c);return a}function Yb(){var a,c,d,h;h=b;a=o();null!==a?(c=o(),null!==c?(d=o(),null!==d?a=[a,c,d]:(a=null,b=h)):(a=null,b=h)):(a=null,b=h);return a}function Xb(){var a,c,d;d=b;a=[];c=ba();null===c&&(c=w(),null===c&&(c=x(),null===c&&(c=K(),null===c&&(c=R(),null===c&&(c=z(),null===c&&(c=H()))))));for(;null!==c;)a.push(c),c=ba(),null===c&&(c=w(),null===c&&(c=x(),null===c&&(c=K(),null===c&&(c=R(),null===c&&(c=z(),null===c&&(c=H()))))));null!==a&&(k.reason_phrase=e.substring(b, -d),a=void 0);null===a&&(b=d);return a}function ma(){var a,c,d,h,e,f;e=b;a=ea();null===a&&(a=M());if(null!==a){c=[];f=b;d=v();null!==d?(h=Pa(),null!==h?d=[d,h]:(d=null,b=f)):(d=null,b=f);for(;null!==d;)c.push(d),f=b,d=v(),null!==d?(h=Pa(),null!==h?d=[d,h]:(d=null,b=f)):(d=null,b=f);null!==c?a=[a,c]:(a=null,b=e)}else a=null,b=e;return a}function M(){var a,c,d,h,e;e=b;a=Zb();a=null!==a?a:"";null!==a?(c=jb(),null!==c?(d=Ea(),null!==d?(h=ib(),null!==h?a=[a,c,d,h]:(a=null,b=e)):(a=null,b=e)):(a=null,b= -e)):(a=null,b=e);return a}function Zb(){var a,c,d,h,f,g,l;g=f=b;a=r();if(null!==a){c=[];l=b;d=y();null!==d?(h=r(),null!==h?d=[d,h]:(d=null,b=l)):(d=null,b=l);for(;null!==d;)c.push(d),l=b,d=y(),null!==d?(h=r(),null!==h?d=[d,h]:(d=null,b=l)):(d=null,b=l);null!==c?a=[a,c]:(a=null,b=g)}else a=null,b=g;null===a&&(a=F());null!==a&&(a=e.substring(b,f).trim(),'"'===a[0]&&(a=a.substring(1,a.length-1)),k.display_name=a,a=void 0);null===a&&(b=f);return a}function Pa(){var a;a=$b();null===a&&(a=ac(),null===a&& -(a=B()));return a}function $b(){var a,c,d,h,i;i=h=b;"q"===e.substr(b,1).toLowerCase()?(a=e.substr(b,1),b++):(a=null,0===f&&g('"q"'));null!==a?(c=t(),null!==c?(d=bc(),null!==d?a=[a,c,d]:(a=null,b=i)):(a=null,b=i)):(a=null,b=i);null!==a&&(a=a[2],k.params||(k.params={}),k.params.q=a,a=void 0);null===a&&(b=h);return a}function ac(){var a,c,d,h,i;i=h=b;"expires"===e.substr(b,7).toLowerCase()?(a=e.substr(b,7),b+=7):(a=null,0===f&&g('"expires"'));null!==a?(c=t(),null!==c?(d=N(),null!==d?a=[a,c,d]:(a=null, -b=i)):(a=null,b=i)):(a=null,b=i);null!==a&&(a=a[2],k.params||(k.params={}),k.params.expires=a,a=void 0);null===a&&(b=h);return a}function N(){var a,c,d;d=b;c=o();if(null!==c)for(a=[];null!==c;)a.push(c),c=o();else a=null;null!==a&&(a=parseInt(a.join("")));null===a&&(b=d);return a}function bc(){var a,c,d,h,i,j,l,k;l=j=b;48===e.charCodeAt(b)?(a="0",b++):(a=null,0===f&&g('"0"'));null!==a?(k=b,46===e.charCodeAt(b)?(c=".",b++):(c=null,0===f&&g('"."')),null!==c?(d=o(),d=null!==d?d:"",null!==d?(h=o(),h= -null!==h?h:"",null!==h?(i=o(),i=null!==i?i:"",null!==i?c=[c,d,h,i]:(c=null,b=k)):(c=null,b=k)):(c=null,b=k)):(c=null,b=k),c=null!==c?c:"",null!==c)?a=[a,c]:(a=null,b=l):(a=null,b=l);null!==a&&(a=parseFloat(e.substring(b,j)));null===a&&(b=j);return a}function B(){var a,c,d,h,e,f;e=h=b;a=r();null!==a?(f=b,c=t(),null!==c?(d=cc(),null!==d?c=[c,d]:(c=null,b=f)):(c=null,b=f),c=null!==c?c:"",null!==c)?a=[a,c]:(a=null,b=e):(a=null,b=e);null!==a&&(c=a[0],a=a[1],k.params||(k.params={}),a="undefined"===typeof a? -void 0:a[1],k.params[c.toLowerCase()]=a&&a.toLowerCase(),a=void 0);null===a&&(b=h);return a}function cc(){var a;a=r();null===a&&(a=T(),null===a&&(a=F()));return a}function dc(){var a;"render"===e.substr(b,6).toLowerCase()?(a=e.substr(b,6),b+=6):(a=null,0===f&&g('"render"'));if(null===a&&("session"===e.substr(b,7).toLowerCase()?(a=e.substr(b,7),b+=7):(a=null,0===f&&g('"session"')),null===a))if("icon"===e.substr(b,4).toLowerCase()?(a=e.substr(b,4),b+=4):(a=null,0===f&&g('"icon"')),null===a)"alert"=== -e.substr(b,5).toLowerCase()?(a=e.substr(b,5),b+=5):(a=null,0===f&&g('"alert"')),null===a&&(a=r());return a}function Qa(){var a;a=ec();null===a&&(a=B());return a}function ec(){var a,c,d,h;h=b;"handling"===e.substr(b,8).toLowerCase()?(a=e.substr(b,8),b+=8):(a=null,0===f&&g('"handling"'));null!==a?(c=t(),null!==c)?("optional"===e.substr(b,8).toLowerCase()?(d=e.substr(b,8),b+=8):(d=null,0===f&&g('"optional"')),null===d&&("required"===e.substr(b,8).toLowerCase()?(d=e.substr(b,8),b+=8):(d=null,0===f&&g('"required"')), -null===d&&(d=r())),null!==d)?a=[a,c,d]:(a=null,b=h):(a=null,b=h):(a=null,b=h);return a}function fc(){var a,c,d,h,e,f,g,k;g=b;a=gc();if(null!==a)if(c=da(),null!==c)if(d=hc(),null!==d){h=[];k=b;e=v();null!==e?(f=Ra(),null!==f?e=[e,f]:(e=null,b=k)):(e=null,b=k);for(;null!==e;)h.push(e),k=b,e=v(),null!==e?(f=Ra(),null!==f?e=[e,f]:(e=null,b=k)):(e=null,b=k);null!==h?a=[a,c,d,h]:(a=null,b=g)}else a=null,b=g;else a=null,b=g;else a=null,b=g;return a}function gc(){var a;a=ic();null===a&&(a=jc());return a} -function ic(){var a;"text"===e.substr(b,4).toLowerCase()?(a=e.substr(b,4),b+=4):(a=null,0===f&&g('"text"'));if(null===a&&("image"===e.substr(b,5).toLowerCase()?(a=e.substr(b,5),b+=5):(a=null,0===f&&g('"image"')),null===a))if("audio"===e.substr(b,5).toLowerCase()?(a=e.substr(b,5),b+=5):(a=null,0===f&&g('"audio"')),null===a)if("video"===e.substr(b,5).toLowerCase()?(a=e.substr(b,5),b+=5):(a=null,0===f&&g('"video"')),null===a)"application"===e.substr(b,11).toLowerCase()?(a=e.substr(b,11),b+=11):(a=null, -0===f&&g('"application"')),null===a&&(a=na());return a}function jc(){var a;"message"===e.substr(b,7).toLowerCase()?(a=e.substr(b,7),b+=7):(a=null,0===f&&g('"message"'));null===a&&("multipart"===e.substr(b,9).toLowerCase()?(a=e.substr(b,9),b+=9):(a=null,0===f&&g('"multipart"')),null===a&&(a=na()));return a}function na(){var a;a=r();null===a&&(a=kc());return a}function kc(){var a,c,d;d=b;"x-"===e.substr(b,2).toLowerCase()?(a=e.substr(b,2),b+=2):(a=null,0===f&&g('"x-"'));null!==a?(c=r(),null!==c?a=[a, -c]:(a=null,b=d)):(a=null,b=d);return a}function hc(){var a;a=na();null===a&&(a=r());return a}function Ra(){var a,c,d,h;h=b;a=r();null!==a?(c=t(),null!==c?(d=lc(),null!==d?a=[a,c,d]:(a=null,b=h)):(a=null,b=h)):(a=null,b=h);return a}function lc(){var a;a=r();null===a&&(a=F());return a}function mc(){var a,c,d;d=b;c=o();if(null!==c)for(a=[];null!==c;)a.push(c),c=o();else a=null;null!==a&&(k.value=parseInt(a.join("")),a=void 0);null===a&&(b=d);return a}function $(){var a,c,d,h,i,j;i=b;a=ca();if(null!== -a){c=[];j=b;46===e.charCodeAt(b)?(d=".",b++):(d=null,0===f&&g('"."'));null!==d?(h=ca(),null!==h?d=[d,h]:(d=null,b=j)):(d=null,b=j);for(;null!==d;)(c.push(d),j=b,46===e.charCodeAt(b)?(d=".",b++):(d=null,0===f&&g('"."')),null!==d)?(h=ca(),null!==h?d=[d,h]:(d=null,b=j)):(d=null,b=j);null!==c?a=[a,c]:(a=null,b=i)}else a=null,b=i;return a}function Sa(){var a;a=Ta();null===a&&(a=B());return a}function Ta(){var a,c,d,h,i;i=h=b;"tag"===e.substr(b,3).toLowerCase()?(a=e.substr(b,3),b+=3):(a=null,0===f&&g('"tag"')); -null!==a?(c=t(),null!==c?(d=r(),null!==d?a=[a,c,d]:(a=null,b=i)):(a=null,b=i)):(a=null,b=i);null!==a&&(k.tag=a[2],a=void 0);null===a&&(b=h);return a}function Ua(){var a,c,d,h,i,j,l,k;l=b;"digest"===e.substr(b,6).toLowerCase()?(a=e.substr(b,6),b+=6):(a=null,0===f&&g('"Digest"'));if(null!==a)if(c=y(),null!==c)if(d=oa(),null!==d){h=[];k=b;i=u();null!==i?(j=oa(),null!==j?i=[i,j]:(i=null,b=k)):(i=null,b=k);for(;null!==i;)h.push(i),k=b,i=u(),null!==i?(j=oa(),null!==j?i=[i,j]:(i=null,b=k)):(i=null,b=k); -null!==h?a=[a,c,d,h]:(a=null,b=l)}else a=null,b=l;else a=null,b=l;else a=null,b=l;null===a&&(a=nc());return a}function nc(){var a,c,d,h,e,f,g,k;g=b;a=r();if(null!==a)if(c=y(),null!==c)if(d=aa(),null!==d){h=[];k=b;e=u();null!==e?(f=aa(),null!==f?e=[e,f]:(e=null,b=k)):(e=null,b=k);for(;null!==e;)h.push(e),k=b,e=u(),null!==e?(f=aa(),null!==f?e=[e,f]:(e=null,b=k)):(e=null,b=k);null!==h?a=[a,c,d,h]:(a=null,b=g)}else a=null,b=g;else a=null,b=g;else a=null,b=g;return a}function aa(){var a,c,d,h;h=b;a=r(); -null!==a?(c=t(),null!==c?(d=r(),null===d&&(d=F()),null!==d?a=[a,c,d]:(a=null,b=h)):(a=null,b=h)):(a=null,b=h);return a}function oa(){var a;a=oc();null===a&&(a=pc(),null===a&&(a=qc(),null===a&&(a=rc(),null===a&&(a=sc(),null===a&&(a=tc(),null===a&&(a=uc(),null===a&&(a=aa())))))));return a}function oc(){var a,c,d,h;h=b;"realm"===e.substr(b,5).toLowerCase()?(a=e.substr(b,5),b+=5):(a=null,0===f&&g('"realm"'));null!==a?(c=t(),null!==c?(d=vc(),null!==d?a=[a,c,d]:(a=null,b=h)):(a=null,b=h)):(a=null,b=h); -return a}function vc(){var a,c;c=b;a=F();null!==a&&(k.realm=a,a=void 0);null===a&&(b=c);return a}function pc(){var a,c,d,h,i,j,l,k,n;k=b;"domain"===e.substr(b,6).toLowerCase()?(a=e.substr(b,6),b+=6):(a=null,0===f&&g('"domain"'));if(null!==a)if(c=t(),null!==c)if(d=ya(),null!==d)if(h=pa(),null!==h){i=[];n=b;l=z();if(null!==l)for(j=[];null!==l;)j.push(l),l=z();else j=null;null!==j?(l=pa(),null!==l?j=[j,l]:(j=null,b=n)):(j=null,b=n);for(;null!==j;){i.push(j);n=b;l=z();if(null!==l)for(j=[];null!==l;)j.push(l), -l=z();else j=null;null!==j?(l=pa(),null!==l?j=[j,l]:(j=null,b=n)):(j=null,b=n)}null!==i?(j=za(),null!==j?a=[a,c,d,h,i,j]:(a=null,b=k)):(a=null,b=k)}else a=null,b=k;else a=null,b=k;else a=null,b=k;else a=null,b=k;return a}function pa(){var a;a=Na();null===a&&(a=ka());return a}function qc(){var a,c,d,h;h=b;"nonce"===e.substr(b,5).toLowerCase()?(a=e.substr(b,5),b+=5):(a=null,0===f&&g('"nonce"'));null!==a?(c=t(),null!==c?(d=wc(),null!==d?a=[a,c,d]:(a=null,b=h)):(a=null,b=h)):(a=null,b=h);return a}function wc(){var a, -c;c=b;a=F();null!==a&&(k.nonce=a,a=void 0);null===a&&(b=c);return a}function rc(){var a,c,d,h,i;i=h=b;"opaque"===e.substr(b,6).toLowerCase()?(a=e.substr(b,6),b+=6):(a=null,0===f&&g('"opaque"'));null!==a?(c=t(),null!==c?(d=F(),null!==d?a=[a,c,d]:(a=null,b=i)):(a=null,b=i)):(a=null,b=i);null!==a&&(k.opaque=a[2],a=void 0);null===a&&(b=h);return a}function sc(){var a,c,d,h,i;i=h=b;"stale"===e.substr(b,5).toLowerCase()?(a=e.substr(b,5),b+=5):(a=null,0===f&&g('"stale"'));null!==a?(c=t(),null!==c)?("true"=== -e.substr(b,4).toLowerCase()?(d=e.substr(b,4),b+=4):(d=null,0===f&&g('"true"')),null===d&&("false"===e.substr(b,5).toLowerCase()?(d=e.substr(b,5),b+=5):(d=null,0===f&&g('"false"'))),null!==d)?a=[a,c,d]:(a=null,b=i):(a=null,b=i):(a=null,b=i);null!==a&&(k.stale=a[2],a=void 0);null===a&&(b=h);return a}function tc(){var a,c,d,h,i;i=h=b;"algorithm"===e.substr(b,9).toLowerCase()?(a=e.substr(b,9),b+=9):(a=null,0===f&&g('"algorithm"'));null!==a?(c=t(),null!==c)?("md5"===e.substr(b,3).toLowerCase()?(d=e.substr(b, -3),b+=3):(d=null,0===f&&g('"MD5"')),null===d&&("md5-sess"===e.substr(b,8).toLowerCase()?(d=e.substr(b,8),b+=8):(d=null,0===f&&g('"MD5-sess"')),null===d&&(d=r())),null!==d)?a=[a,c,d]:(a=null,b=i):(a=null,b=i):(a=null,b=i);null!==a&&(k.algorithm=a[2],a=void 0);null===a&&(b=h);return a}function uc(){var a,c,d,h,i,j,l,q,n,p,o;n=q=b;"qop"===e.substr(b,3).toLowerCase()?(a=e.substr(b,3),b+=3):(a=null,0===f&&g('"qop"'));if(null!==a)if(c=t(),null!==c)if(d=ya(),null!==d){p=b;h=qa();if(null!==h){i=[];o=b;44=== -e.charCodeAt(b)?(j=",",b++):(j=null,0===f&&g('","'));null!==j?(l=qa(),null!==l?j=[j,l]:(j=null,b=o)):(j=null,b=o);for(;null!==j;)(i.push(j),o=b,44===e.charCodeAt(b)?(j=",",b++):(j=null,0===f&&g('","')),null!==j)?(l=qa(),null!==l?j=[j,l]:(j=null,b=o)):(j=null,b=o);null!==i?h=[h,i]:(h=null,b=p)}else h=null,b=p;null!==h?(i=za(),null!==i?a=[a,c,d,h,i]:(a=null,b=n)):(a=null,b=n)}else a=null,b=n;else a=null,b=n;else a=null,b=n;null!==a&&(k.qop=e.substring(b-1,q+5),a=void 0);null===a&&(b=q);return a}function qa(){var a; -"auth-int"===e.substr(b,8).toLowerCase()?(a=e.substr(b,8),b+=8):(a=null,0===f&&g('"auth-int"'));null===a&&("auth"===e.substr(b,4).toLowerCase()?(a=e.substr(b,4),b+=4):(a=null,0===f&&g('"auth"')),null===a&&(a=r()));return a}function ra(){var a,c,d,h,e,f;e=b;a=M();if(null!==a){c=[];f=b;d=v();null!==d?(h=B(),null!==h?d=[d,h]:(d=null,b=f)):(d=null,b=f);for(;null!==d;)c.push(d),f=b,d=v(),null!==d?(h=B(),null!==h?d=[d,h]:(d=null,b=f)):(d=null,b=f);null!==c?a=[a,c]:(a=null,b=e)}else a=null,b=e;return a} -function sa(){var a,c,d,h,e,f;e=b;a=M();if(null!==a){c=[];f=b;d=v();null!==d?(h=B(),null!==h?d=[d,h]:(d=null,b=f)):(d=null,b=f);for(;null!==d;)c.push(d),f=b,d=v(),null!==d?(h=B(),null!==h?d=[d,h]:(d=null,b=f)):(d=null,b=f);null!==c?a=[a,c]:(a=null,b=e)}else a=null,b=e;return a}function xc(){var a,c;c=b;"active"===e.substr(b,6).toLowerCase()?(a=e.substr(b,6),b+=6):(a=null,0===f&&g('"active"'));if(null===a&&("pending"===e.substr(b,7).toLowerCase()?(a=e.substr(b,7),b+=7):(a=null,0===f&&g('"pending"')), -null===a))"terminated"===e.substr(b,10).toLowerCase()?(a=e.substr(b,10),b+=10):(a=null,0===f&&g('"terminated"')),null===a&&(a=r());null!==a&&(k.state=e.substring(b,c),a=void 0);null===a&&(b=c);return a}function Va(){var a,c,d,h,i;i=h=b;"reason"===e.substr(b,6).toLowerCase()?(a=e.substr(b,6),b+=6):(a=null,0===f&&g('"reason"'));null!==a?(c=t(),null!==c?(d=yc(),null!==d?a=[a,c,d]:(a=null,b=i)):(a=null,b=i)):(a=null,b=i);null!==a&&(a=function(a,b){if(typeof b!=="undefined")k.reason=b}(h,a[2]));null=== -a&&(b=h);if(null===a&&(i=h=b,"expires"===e.substr(b,7).toLowerCase()?(a=e.substr(b,7),b+=7):(a=null,0===f&&g('"expires"')),null!==a?(c=t(),null!==c?(d=N(),null!==d?a=[a,c,d]:(a=null,b=i)):(a=null,b=i)):(a=null,b=i),null!==a&&(a=function(a,b){if(typeof b!=="undefined")k.expires=b}(h,a[2])),null===a&&(b=h),null===a))i=h=b,"retry_after"===e.substr(b,11).toLowerCase()?(a=e.substr(b,11),b+=11):(a=null,0===f&&g('"retry_after"')),null!==a?(c=t(),null!==c?(d=N(),null!==d?a=[a,c,d]:(a=null,b=i)):(a=null,b= -i)):(a=null,b=i),null!==a&&(a=function(a,b){if(typeof b!=="undefined")k.retry_after=b}(h,a[2])),null===a&&(b=h),null===a&&(a=B());return a}function yc(){var a;"deactivated"===e.substr(b,11).toLowerCase()?(a=e.substr(b,11),b+=11):(a=null,0===f&&g('"deactivated"'));if(null===a&&("probation"===e.substr(b,9).toLowerCase()?(a=e.substr(b,9),b+=9):(a=null,0===f&&g('"probation"')),null===a))if("rejected"===e.substr(b,8).toLowerCase()?(a=e.substr(b,8),b+=8):(a=null,0===f&&g('"rejected"')),null===a)if("timeout"=== -e.substr(b,7).toLowerCase()?(a=e.substr(b,7),b+=7):(a=null,0===f&&g('"timeout"')),null===a)if("giveup"===e.substr(b,6).toLowerCase()?(a=e.substr(b,6),b+=6):(a=null,0===f&&g('"giveup"')),null===a)if("noresource"===e.substr(b,10).toLowerCase()?(a=e.substr(b,10),b+=10):(a=null,0===f&&g('"noresource"')),null===a)"invariant"===e.substr(b,9).toLowerCase()?(a=e.substr(b,9),b+=9):(a=null,0===f&&g('"invariant"')),null===a&&(a=r());return a}function Wa(){var a;a=Ta();null===a&&(a=B());return a}function ta(){var a, -c,d,h,e,f,g,k;g=b;a=zc();if(null!==a)if(c=y(),null!==c)if(d=Ac(),null!==d){h=[];k=b;e=v();null!==e?(f=Xa(),null!==f?e=[e,f]:(e=null,b=k)):(e=null,b=k);for(;null!==e;)h.push(e),k=b,e=v(),null!==e?(f=Xa(),null!==f?e=[e,f]:(e=null,b=k)):(e=null,b=k);null!==h?a=[a,c,d,h]:(a=null,b=g)}else a=null,b=g;else a=null,b=g;else a=null,b=g;return a}function Xa(){var a;a=Bc();null===a&&(a=Cc(),null===a&&(a=Dc(),null===a&&(a=Ec(),null===a&&(a=Fc(),null===a&&(a=B())))));return a}function Bc(){var a,c,d,h,i;i=h=b; -"ttl"===e.substr(b,3).toLowerCase()?(a=e.substr(b,3),b+=3):(a=null,0===f&&g('"ttl"'));null!==a?(c=t(),null!==c?(d=La(),null!==d?a=[a,c,d]:(a=null,b=i)):(a=null,b=i)):(a=null,b=i);null!==a&&(k.ttl=a[2],a=void 0);null===a&&(b=h);return a}function Cc(){var a,c,d,h,i;i=h=b;"maddr"===e.substr(b,5).toLowerCase()?(a=e.substr(b,5),b+=5):(a=null,0===f&&g('"maddr"'));null!==a?(c=t(),null!==c?(d=T(),null!==d?a=[a,c,d]:(a=null,b=i)):(a=null,b=i)):(a=null,b=i);null!==a&&(k.maddr=a[2],a=void 0);null===a&&(b=h); -return a}function Dc(){var a,c,d,h,i;i=h=b;"received"===e.substr(b,8).toLowerCase()?(a=e.substr(b,8),b+=8):(a=null,0===f&&g('"received"'));null!==a?(c=t(),null!==c?(d=L(),null===d&&(d=Ja()),null!==d?a=[a,c,d]:(a=null,b=i)):(a=null,b=i)):(a=null,b=i);null!==a&&(k.received=a[2],a=void 0);null===a&&(b=h);return a}function Ec(){var a,c,d,h,i;i=h=b;"branch"===e.substr(b,6).toLowerCase()?(a=e.substr(b,6),b+=6):(a=null,0===f&&g('"branch"'));null!==a?(c=t(),null!==c?(d=r(),null!==d?a=[a,c,d]:(a=null,b=i)): -(a=null,b=i)):(a=null,b=i);null!==a&&(k.branch=a[2],a=void 0);null===a&&(b=h);return a}function Fc(){var a,c,d,h,i,j,l;j=i=b;"rport"===e.substr(b,5).toLowerCase()?(a=e.substr(b,5),b+=5):(a=null,0===f&&g('"rport"'));if(null!==a){l=b;c=t();if(null!==c){d=[];for(h=o();null!==h;)d.push(h),h=o();null!==d?c=[c,d]:(c=null,b=l)}else c=null,b=l;c=null!==c?c:"";null!==c?a=[a,c]:(a=null,b=j)}else a=null,b=j;null!==a&&("undefined"!==typeof response_port&&(k.rport=response_port.join("")),a=void 0);null===a&&(b= -i);return a}function zc(){var a,c,d,e,f,g;g=b;a=Gc();null!==a?(c=da(),null!==c?(d=r(),null!==d?(e=da(),null!==e?(f=ua(),null!==f?a=[a,c,d,e,f]:(a=null,b=g)):(a=null,b=g)):(a=null,b=g)):(a=null,b=g)):(a=null,b=g);return a}function Gc(){var a,c;c=b;"sip"===e.substr(b,3).toLowerCase()?(a=e.substr(b,3),b+=3):(a=null,0===f&&g('"SIP"'));null===a&&(a=r());null!==a&&(k.protocol=a,a=void 0);null===a&&(b=c);return a}function ua(){var a,c;c=b;"udp"===e.substr(b,3).toLowerCase()?(a=e.substr(b,3),b+=3):(a=null, -0===f&&g('"UDP"'));if(null===a&&("tcp"===e.substr(b,3).toLowerCase()?(a=e.substr(b,3),b+=3):(a=null,0===f&&g('"TCP"')),null===a))if("tls"===e.substr(b,3).toLowerCase()?(a=e.substr(b,3),b+=3):(a=null,0===f&&g('"TLS"')),null===a)"sctp"===e.substr(b,4).toLowerCase()?(a=e.substr(b,4),b+=4):(a=null,0===f&&g('"SCTP"')),null===a&&(a=r());null!==a&&(k.transport=a,a=void 0);null===a&&(b=c);return a}function Ac(){var a,c,d,e,f;e=b;a=Hc();null!==a?(f=b,c=kb(),null!==c?(d=Ic(),null!==d?c=[c,d]:(c=null,b=f)): -(c=null,b=f),c=null!==c?c:"",null!==c)?a=[a,c]:(a=null,b=e):(a=null,b=e);return a}function Hc(){var a,c;c=b;a=Ha();null===a&&(a=L(),null===a&&(a=ha()));null!==a&&(k.host=e.substring(b,c),a=void 0);null===a&&(b=c);return a}function Ic(){var a,c,d,e,f,g,l;l=g=b;a=o();a=null!==a?a:"";null!==a?(c=o(),c=null!==c?c:"",null!==c?(d=o(),d=null!==d?d:"",null!==d?(e=o(),e=null!==e?e:"",null!==e?(f=o(),f=null!==f?f:"",null!==f?a=[a,c,d,e,f]:(a=null,b=l)):(a=null,b=l)):(a=null,b=l)):(a=null,b=l)):(a=null,b=l); -null!==a&&(k.port=parseInt(a.join("")),a=void 0);null===a&&(b=g);return a}function La(){var a,c,d,e,f;f=e=b;a=o();null!==a?(c=o(),c=null!==c?c:"",null!==c?(d=o(),d=null!==d?d:"",null!==d?a=[a,c,d]:(a=null,b=f)):(a=null,b=f)):(a=null,b=f);null!==a&&(a=parseInt(a.join("")));null===a&&(b=e);return a}function Jc(){var a,b;a=[];b=I();null===b&&(b=R(),null===b&&(b=y()));for(;null!==b;)a.push(b),b=I(),null===b&&(b=R(),null===b&&(b=y()));return a}function Kc(){var a,c;c=b;"stuns"===e.substr(b,5).toLowerCase()? -(a=e.substr(b,5),b+=5):(a=null,0===f&&g('"stuns"'));null===a&&("stun"===e.substr(b,4).toLowerCase()?(a=e.substr(b,4),b+=4):(a=null,0===f&&g('"stun"')));null!==a&&(k.scheme=a,a=void 0);null===a&&(b=c);return a}function Ya(){var a,c,d,h,i;h=b;a=Lc();null!==a?(i=b,58===e.charCodeAt(b)?(c=":",b++):(c=null,0===f&&g('":"')),null!==c?(d=Ga(),null!==d?c=[c,d]:(c=null,b=i)):(c=null,b=i),c=null!==c?c:"",null!==c)?a=[a,c]:(a=null,b=h):(a=null,b=h);return a}function Lc(){var a,c;c=b;a=L();null===a&&(a=ha(),null=== -a&&(a=Z()));null!==a&&(k.host=a,a=void 0);null===a&&(b=c);return a}function Z(){var a,c,d;d=b;a=[];c=Za();null===c&&(c=x(),null===c&&(c=$a()));for(;null!==c;)a.push(c),c=Za(),null===c&&(c=x(),null===c&&(c=$a()));null!==a&&(a=e.substring(b,d));null===a&&(b=d);return a}function Za(){var a;a=P();if(null===a&&(a=o(),null===a&&(45===e.charCodeAt(b)?(a="-",b++):(a=null,0===f&&g('"-"')),null===a)))if(46===e.charCodeAt(b)?(a=".",b++):(a=null,0===f&&g('"."')),null===a)if(95===e.charCodeAt(b)?(a="_",b++):(a= -null,0===f&&g('"_"')),null===a)126===e.charCodeAt(b)?(a="~",b++):(a=null,0===f&&g('"~"'));return a}function $a(){var a;33===e.charCodeAt(b)?(a="!",b++):(a=null,0===f&&g('"!"'));if(null===a&&(36===e.charCodeAt(b)?(a="$",b++):(a=null,0===f&&g('"$"')),null===a))if(38===e.charCodeAt(b)?(a="&",b++):(a=null,0===f&&g('"&"')),null===a)if(39===e.charCodeAt(b)?(a="'",b++):(a=null,0===f&&g('"\'"')),null===a)if(40===e.charCodeAt(b)?(a="(",b++):(a=null,0===f&&g('"("')),null===a)if(41===e.charCodeAt(b)?(a=")", -b++):(a=null,0===f&&g('")"')),null===a)if(42===e.charCodeAt(b)?(a="*",b++):(a=null,0===f&&g('"*"')),null===a)if(43===e.charCodeAt(b)?(a="+",b++):(a=null,0===f&&g('"+"')),null===a)if(44===e.charCodeAt(b)?(a=",",b++):(a=null,0===f&&g('","')),null===a)if(59===e.charCodeAt(b)?(a=";",b++):(a=null,0===f&&g('";"')),null===a)61===e.charCodeAt(b)?(a="=",b++):(a=null,0===f&&g('"="'));return a}function Mc(){var a,c;c=b;"turns"===e.substr(b,5).toLowerCase()?(a=e.substr(b,5),b+=5):(a=null,0===f&&g('"turns"')); -null===a&&("turn"===e.substr(b,4).toLowerCase()?(a=e.substr(b,4),b+=4):(a=null,0===f&&g('"turn"')));null!==a&&(k.scheme=a,a=void 0);null===a&&(b=c);return a}function Pc(a){a.sort();for(var b=null,d=[],e=0;e",b++):(a=null,0===f&&g('">"')),null===a)if(64===e.charCodeAt(b)?(a="@",b++):(a=null,0===f&&g('"@"')),null===a)if(44===e.charCodeAt(b)?(a=",",b++):(a=null,0===f&&g('","')),null===a)if(59===e.charCodeAt(b)?(a=";",b++):(a=null,0===f&&g('";"')),null===a)if(58===e.charCodeAt(b)?(a=":",b++):(a=null,0===f&&g('":"')),null===a)if(92===e.charCodeAt(b)?(a="\\",b++):(a=null,0===f&&g('"\\\\"')),null===a)if(a=D(),null===a&&(47===e.charCodeAt(b)? -(a="/",b++):(a=null,0===f&&g('"/"')),null===a))if(91===e.charCodeAt(b)?(a="[",b++):(a=null,0===f&&g('"["')),null===a)if(93===e.charCodeAt(b)?(a="]",b++):(a=null,0===f&&g('"]"')),null===a)if(63===e.charCodeAt(b)?(a="?",b++):(a=null,0===f&&g('"?"')),null===a)if(61===e.charCodeAt(b)?(a="=",b++):(a=null,0===f&&g('"="')),null===a)if(123===e.charCodeAt(b)?(a="{",b++):(a=null,0===f&&g('"{"')),null===a)if(125===e.charCodeAt(b)?(a="}",b++):(a=null,0===f&&g('"}"')),null===a)a=z(),null===a&&(a=H());return a}, -word:xa,STAR:fb,SLASH:da,EQUAL:t,LPAREN:gb,RPAREN:hb,RAQUOT:ib,LAQUOT:jb,COMMA:u,SEMI:v,COLON:kb,LDQUOT:ya,RDQUOT:za,comment:Aa,ctext:Ba,quoted_string:F,qdtext:Ca,quoted_pair:S,SIP_URI_noparams:ea,SIP_URI:Ea,uri_scheme:Da,userinfo:fa,user:nb,user_unreserved:Fa,password:ob,hostport:ga,host:T,hostname:Ha,domainlabel:Ia,toplabel:pb,IPv6reference:ha,IPv6address:Ja,h16:p,ls32:A,IPv4address:L,dec_octet:U,port:Ga,uri_parameters:lb,uri_parameter:Ka,transport_param:qb,user_param:rb,method_param:sb,ttl_param:tb, -maddr_param:ub,lr_param:vb,other_param:wb,pname:xb,pvalue:yb,paramchar:V,param_unreserved:zb,headers:mb,header:ja,hname:Ab,hvalue:Bb,hnv_unreserved:W,Request_Response:function(){var a;a=Vb();null===a&&(a=Cb());return a},Request_Line:Cb,Request_URI:Db,absoluteURI:Na,hier_part:Fb,net_path:Hb,abs_path:ka,opaque_part:Gb,uric:X,uric_no_slash:Lb,path_segments:Kb,segment:la,param:Oa,pchar:Y,scheme:Eb,authority:Jb,srvr:Mb,reg_name:Z,query:Ib,SIP_Version:Ma,INVITEm:Nb,ACKm:Ob,OPTIONSm:Pb,BYEm:Qb,CANCELm:Rb, -REGISTERm:Sb,SUBSCRIBEm:Tb,NOTIFYm:Ub,Method:ia,Status_Line:Vb,Status_Code:Wb,extension_code:Yb,Reason_Phrase:Xb,Allow_Events:function(){var a,c,d,e,f,g;f=b;a=$();if(null!==a){c=[];g=b;d=u();null!==d?(e=$(),null!==e?d=[d,e]:(d=null,b=g)):(d=null,b=g);for(;null!==d;)c.push(d),g=b,d=u(),null!==d?(e=$(),null!==e?d=[d,e]:(d=null,b=g)):(d=null,b=g);null!==c?a=[a,c]:(a=null,b=f)}else a=null,b=f;return a},Call_ID:function(){var a,c,d,h,i,j;i=h=b;a=xa();null!==a?(j=b,64===e.charCodeAt(b)?(c="@",b++):(c=null, -0===f&&g('"@"')),null!==c?(d=xa(),null!==d?c=[c,d]:(c=null,b=j)):(c=null,b=j),c=null!==c?c:"",null!==c)?a=[a,c]:(a=null,b=i):(a=null,b=i);null!==a&&(k=e.substring(b,h),a=void 0);null===a&&(b=h);return a},Contact:function(){var a,c,d,e,f,g,l;f=b;a=fb();if(null===a)if(g=b,a=ma(),null!==a){c=[];l=b;d=u();null!==d?(e=ma(),null!==e?d=[d,e]:(d=null,b=l)):(d=null,b=l);for(;null!==d;)c.push(d),l=b,d=u(),null!==d?(e=ma(),null!==e?d=[d,e]:(d=null,b=l)):(d=null,b=l);null!==c?a=[a,c]:(a=null,b=g)}else a=null, -b=g;if(null!==a){try{k=new JsSIP.NameAddrHeader(k.uri,k.display_name,k.params)}catch(o){k=-1}a=void 0}null===a&&(b=f);return a},contact_param:ma,name_addr:M,display_name:Zb,contact_params:Pa,c_p_q:$b,c_p_expires:ac,delta_seconds:N,qvalue:bc,generic_param:B,gen_value:cc,Content_Disposition:function(){var a,c,d,e,f,g;f=b;a=dc();if(null!==a){c=[];g=b;d=v();null!==d?(e=Qa(),null!==e?d=[d,e]:(d=null,b=g)):(d=null,b=g);for(;null!==d;)c.push(d),g=b,d=v(),null!==d?(e=Qa(),null!==e?d=[d,e]:(d=null,b=g)):(d= -null,b=g);null!==c?a=[a,c]:(a=null,b=f)}else a=null,b=f;return a},disp_type:dc,disp_param:Qa,handling_param:ec,Content_Encoding:function(){var a,c,d,e,f,g;f=b;a=r();if(null!==a){c=[];g=b;d=u();null!==d?(e=r(),null!==e?d=[d,e]:(d=null,b=g)):(d=null,b=g);for(;null!==d;)c.push(d),g=b,d=u(),null!==d?(e=r(),null!==e?d=[d,e]:(d=null,b=g)):(d=null,b=g);null!==c?a=[a,c]:(a=null,b=f)}else a=null,b=f;return a},Content_Length:function(){var a,c,d;d=b;c=o();if(null!==c)for(a=[];null!==c;)a.push(c),c=o();else a= -null;null!==a&&(k=parseInt(a.join("")),a=void 0);null===a&&(b=d);return a},Content_Type:function(){var a,c;c=b;a=fc();null!==a&&(k=e.substring(b,c),a=void 0);null===a&&(b=c);return a},media_type:fc,m_type:gc,discrete_type:ic,composite_type:jc,extension_token:na,x_token:kc,m_subtype:hc,m_parameter:Ra,m_value:lc,CSeq:function(){var a,c,d,e;e=b;a=mc();null!==a?(c=y(),null!==c?(d=ia(),null!==d?a=[a,c,d]:(a=null,b=e)):(a=null,b=e)):(a=null,b=e);return a},CSeq_value:mc,Expires:function(){var a,c;c=b;a= -N();null!==a&&(k=a,a=void 0);null===a&&(b=c);return a},Event:function(){var a,c,d,e,f,g,l;g=f=b;a=$();if(null!==a){c=[];l=b;d=v();null!==d?(e=B(),null!==e?d=[d,e]:(d=null,b=l)):(d=null,b=l);for(;null!==d;)c.push(d),l=b,d=v(),null!==d?(e=B(),null!==e?d=[d,e]:(d=null,b=l)):(d=null,b=l);null!==c?a=[a,c]:(a=null,b=g)}else a=null,b=g;null!==a&&(k.event=a[0].join(""),a=void 0);null===a&&(b=f);return a},event_type:$,From:function(){var a,c,d,e,f,g,l;g=f=b;a=ea();null===a&&(a=M());if(null!==a){c=[];l=b;d= -v();null!==d?(e=Sa(),null!==e?d=[d,e]:(d=null,b=l)):(d=null,b=l);for(;null!==d;)c.push(d),l=b,d=v(),null!==d?(e=Sa(),null!==e?d=[d,e]:(d=null,b=l)):(d=null,b=l);null!==c?a=[a,c]:(a=null,b=g)}else a=null,b=g;if(null!==a){a=k.tag;try{k=new JsSIP.NameAddrHeader(k.uri,k.display_name,k.params),a&&k.setParam("tag",a)}catch(o){k=-1}a=void 0}null===a&&(b=f);return a},from_param:Sa,tag_param:Ta,Max_Forwards:function(){var a,c,d;d=b;c=o();if(null!==c)for(a=[];null!==c;)a.push(c),c=o();else a=null;null!==a&& -(k=parseInt(a.join("")),a=void 0);null===a&&(b=d);return a},Min_Expires:function(){var a,c;c=b;a=N();null!==a&&(k=a,a=void 0);null===a&&(b=c);return a},Proxy_Authenticate:function(){return Ua()},challenge:Ua,other_challenge:nc,auth_param:aa,digest_cln:oa,realm:oc,realm_value:vc,domain:pc,URI:pa,nonce:qc,nonce_value:wc,opaque:rc,stale:sc,algorithm:tc,qop_options:uc,qop_value:qa,Proxy_Require:function(){var a,c,d,e,f,g;f=b;a=r();if(null!==a){c=[];g=b;d=u();null!==d?(e=r(),null!==e?d=[d,e]:(d=null,b= -g)):(d=null,b=g);for(;null!==d;)c.push(d),g=b,d=u(),null!==d?(e=r(),null!==e?d=[d,e]:(d=null,b=g)):(d=null,b=g);null!==c?a=[a,c]:(a=null,b=f)}else a=null,b=f;return a},Record_Route:function(){var a,c,d,e,f,g;f=b;a=ra();if(null!==a){c=[];g=b;d=u();null!==d?(e=ra(),null!==e?d=[d,e]:(d=null,b=g)):(d=null,b=g);for(;null!==d;)c.push(d),g=b,d=u(),null!==d?(e=ra(),null!==e?d=[d,e]:(d=null,b=g)):(d=null,b=g);null!==c?a=[a,c]:(a=null,b=f)}else a=null,b=f;return a},rec_route:ra,Require:function(){var a,c,d, -e,f,g;f=b;a=r();if(null!==a){c=[];g=b;d=u();null!==d?(e=r(),null!==e?d=[d,e]:(d=null,b=g)):(d=null,b=g);for(;null!==d;)c.push(d),g=b,d=u(),null!==d?(e=r(),null!==e?d=[d,e]:(d=null,b=g)):(d=null,b=g);null!==c?a=[a,c]:(a=null,b=f)}else a=null,b=f;return a},Route:function(){var a,c,d,e,f,g;f=b;a=sa();if(null!==a){c=[];g=b;d=u();null!==d?(e=sa(),null!==e?d=[d,e]:(d=null,b=g)):(d=null,b=g);for(;null!==d;)c.push(d),g=b,d=u(),null!==d?(e=sa(),null!==e?d=[d,e]:(d=null,b=g)):(d=null,b=g);null!==c?a=[a,c]: -(a=null,b=f)}else a=null,b=f;return a},route_param:sa,Subscription_State:function(){var a,c,d,e,f,g;f=b;a=xc();if(null!==a){c=[];g=b;d=v();null!==d?(e=Va(),null!==e?d=[d,e]:(d=null,b=g)):(d=null,b=g);for(;null!==d;)c.push(d),g=b,d=v(),null!==d?(e=Va(),null!==e?d=[d,e]:(d=null,b=g)):(d=null,b=g);null!==c?a=[a,c]:(a=null,b=f)}else a=null,b=f;return a},substate_value:xc,subexp_params:Va,event_reason_value:yc,Subject:function(){var a;a=eb();return null!==a?a:""},Supported:function(){var a,c,d,e,f,g;f= -b;a=r();if(null!==a){c=[];g=b;d=u();null!==d?(e=r(),null!==e?d=[d,e]:(d=null,b=g)):(d=null,b=g);for(;null!==d;)c.push(d),g=b,d=u(),null!==d?(e=r(),null!==e?d=[d,e]:(d=null,b=g)):(d=null,b=g);null!==c?a=[a,c]:(a=null,b=f)}else a=null,b=f;return null!==a?a:""},To:function(){var a,c,d,e,f,g,l;g=f=b;a=ea();null===a&&(a=M());if(null!==a){c=[];l=b;d=v();null!==d?(e=Wa(),null!==e?d=[d,e]:(d=null,b=l)):(d=null,b=l);for(;null!==d;)c.push(d),l=b,d=v(),null!==d?(e=Wa(),null!==e?d=[d,e]:(d=null,b=l)):(d=null, -b=l);null!==c?a=[a,c]:(a=null,b=g)}else a=null,b=g;if(null!==a){a=k.tag;try{k=new JsSIP.NameAddrHeader(k.uri,k.display_name,k.params),a&&k.setParam("tag",a)}catch(o){k=-1}a=void 0}null===a&&(b=f);return a},to_param:Wa,Via:function(){var a,c,d,e,f,g;f=b;a=ta();if(null!==a){c=[];g=b;d=u();null!==d?(e=ta(),null!==e?d=[d,e]:(d=null,b=g)):(d=null,b=g);for(;null!==d;)c.push(d),g=b,d=u(),null!==d?(e=ta(),null!==e?d=[d,e]:(d=null,b=g)):(d=null,b=g);null!==c?a=[a,c]:(a=null,b=f)}else a=null,b=f;return a}, -via_parm:ta,via_params:Xa,via_ttl:Bc,via_maddr:Cc,via_received:Dc,via_branch:Ec,response_port:Fc,sent_protocol:zc,protocol_name:Gc,transport:ua,sent_by:Ac,via_host:Hc,via_port:Ic,ttl:La,WWW_Authenticate:function(){return Ua()},extension_header:function(){var a,c,d,e;e=b;a=r();null!==a?(c=db(),null!==c?(d=Jc(),null!==d?a=[a,c,d]:(a=null,b=e)):(a=null,b=e)):(a=null,b=e);return a},header_value:Jc,message_body:function(){var a,b;a=[];for(b=wa();null!==b;)a.push(b),b=wa();return a},stun_URI:function(){var a, -c,d,h;h=b;a=Kc();null!==a?(58===e.charCodeAt(b)?(c=":",b++):(c=null,0===f&&g('":"')),null!==c)?(d=Ya(),null!==d?a=[a,c,d]:(a=null,b=h)):(a=null,b=h):(a=null,b=h);return a},stun_scheme:Kc,stun_host_port:Ya,stun_host:Lc,reg_name:Z,stun_unreserved:Za,sub_delims:$a,turn_URI:function(){var a,c,d,h,i,j,k;j=b;a=Mc();null!==a?(58===e.charCodeAt(b)?(c=":",b++):(c=null,0===f&&g('":"')),null!==c)?(d=Ya(),null!==d)?(k=b,"?transport="===e.substr(b,11)?(h="?transport=",b+=11):(h=null,0===f&&g('"?transport="')), -null!==h?(i=ua(),null!==i?h=[h,i]:(h=null,b=k)):(h=null,b=k),h=null!==h?h:"",null!==h)?a=[a,c,d,h]:(a=null,b=j):(a=null,b=j):(a=null,b=j):(a=null,b=j);return a},turn_scheme:Mc,turn_transport:function(){var a,c,d,h,i;i=h=b;a=ua();if(null!==a){"udp"===e.substr(b,3).toLowerCase()?(c=e.substr(b,3),b+=3):(c=null,0===f&&g('"udp"'));if(null===c&&("tcp"===e.substr(b,3).toLowerCase()?(c=e.substr(b,3),b+=3):(c=null,0===f&&g('"tcp"')),null===c)){c=[];for(d=w();null!==d;)c.push(d),d=w()}null!==c?a=[a,c]:(a=null, -b=i)}else a=null,b=i;null!==a&&(k.transport=transport,a=void 0);null===a&&(b=h);return a}};if(void 0!==C){if(void 0===Nc[C])throw Error("Invalid rule name: "+bb(C)+".");}else C="CRLF";var b=0,f=0,O=0,va=[],k={};if(null===Nc[C]()||b!==e.length){var ab=Math.max(b,O),Rc=ab",b++):(a=null,0===f&&g('">"')),null===a)if(64===e.charCodeAt(b)?(a="@",b++):(a=null,0===f&&g('"@"')),null===a)if(44===e.charCodeAt(b)?(a=",",b++):(a=null,0===f&&g('","')),null===a)if(59===e.charCodeAt(b)?(a=";", +b++):(a=null,0===f&&g('";"')),null===a)if(58===e.charCodeAt(b)?(a=":",b++):(a=null,0===f&&g('":"')),null===a)if(92===e.charCodeAt(b)?(a="\\",b++):(a=null,0===f&&g('"\\\\"')),null===a)if(a=D(),null===a&&(47===e.charCodeAt(b)?(a="/",b++):(a=null,0===f&&g('"/"')),null===a))if(91===e.charCodeAt(b)?(a="[",b++):(a=null,0===f&&g('"["')),null===a)if(93===e.charCodeAt(b)?(a="]",b++):(a=null,0===f&&g('"]"')),null===a)if(63===e.charCodeAt(b)?(a="?",b++):(a=null,0===f&&g('"?"')),null===a)if(61===e.charCodeAt(b)? +(a="=",b++):(a=null,0===f&&g('"="')),null===a)if(123===e.charCodeAt(b)?(a="{",b++):(a=null,0===f&&g('"{"')),null===a)if(125===e.charCodeAt(b)?(a="}",b++):(a=null,0===f&&g('"}"')),null===a)a=z(),null===a&&(a=H());return a},word:xa,STAR:fb,SLASH:da,EQUAL:t,LPAREN:gb,RPAREN:hb,RAQUOT:ib,LAQUOT:jb,COMMA:u,SEMI:v,COLON:kb,LDQUOT:ya,RDQUOT:za,comment:Aa,ctext:Ba,quoted_string:F,qdtext:Ca,quoted_pair:S,SIP_URI_noparams:ea,SIP_URI:Ea,uri_scheme:Da,userinfo:fa,user:nb,user_unreserved:Fa,password:ob,hostport:ga, +host:T,hostname:Ha,domainlabel:Ia,toplabel:pb,IPv6reference:ha,IPv6address:Ja,h16:q,ls32:A,IPv4address:L,dec_octet:U,port:Ga,uri_parameters:lb,uri_parameter:Ka,transport_param:qb,user_param:rb,method_param:sb,ttl_param:tb,maddr_param:ub,lr_param:vb,other_param:wb,pname:xb,pvalue:yb,paramchar:V,param_unreserved:zb,headers:mb,header:ja,hname:Ab,hvalue:Bb,hnv_unreserved:W,Request_Response:function(){var a;a=Vb();null===a&&(a=Cb());return a},Request_Line:Cb,Request_URI:Db,absoluteURI:Na,hier_part:Fb, +net_path:Hb,abs_path:ka,opaque_part:Gb,uric:X,uric_no_slash:Lb,path_segments:Kb,segment:la,param:Oa,pchar:Y,scheme:Eb,authority:Jb,srvr:Mb,reg_name:Z,query:Ib,SIP_Version:Ma,INVITEm:Nb,ACKm:Ob,OPTIONSm:Pb,BYEm:Qb,CANCELm:Rb,REGISTERm:Sb,SUBSCRIBEm:Tb,NOTIFYm:Ub,Method:ia,Status_Line:Vb,Status_Code:Wb,extension_code:Yb,Reason_Phrase:Xb,Allow_Events:function(){var a,c,d,e,f,g;f=b;a=$();if(null!==a){c=[];g=b;d=u();null!==d?(e=$(),null!==e?d=[d,e]:(d=null,b=g)):(d=null,b=g);for(;null!==d;)c.push(d),g= +b,d=u(),null!==d?(e=$(),null!==e?d=[d,e]:(d=null,b=g)):(d=null,b=g);null!==c?a=[a,c]:(a=null,b=f)}else a=null,b=f;return a},Call_ID:function(){var a,c,d,h,i,j;i=h=b;a=xa();null!==a?(j=b,64===e.charCodeAt(b)?(c="@",b++):(c=null,0===f&&g('"@"')),null!==c?(d=xa(),null!==d?c=[c,d]:(c=null,b=j)):(c=null,b=j),c=null!==c?c:"",null!==c)?a=[a,c]:(a=null,b=i):(a=null,b=i);null!==a&&(k=e.substring(b,h),a=void 0);null===a&&(b=h);return a},Contact:function(){var a,c,d,e,f,g,l;f=b;a=fb();if(null===a)if(g=b,a=ma(), +null!==a){c=[];l=b;d=u();null!==d?(e=ma(),null!==e?d=[d,e]:(d=null,b=l)):(d=null,b=l);for(;null!==d;)c.push(d),l=b,d=u(),null!==d?(e=ma(),null!==e?d=[d,e]:(d=null,b=l)):(d=null,b=l);null!==c?a=[a,c]:(a=null,b=g)}else a=null,b=g;if(null!==a){for(var o in k.multi_header)if(null===k.multi_header[o].parsed){k=null;break}k=null!==k?k.multi_header:-1;a=void 0}null===a&&(b=f);return a},contact_param:ma,name_addr:M,display_name:Zb,contact_params:Pa,c_p_q:$b,c_p_expires:ac,delta_seconds:N,qvalue:bc,generic_param:B, +gen_value:cc,Content_Disposition:function(){var a,c,d,e,f,g;f=b;a=dc();if(null!==a){c=[];g=b;d=v();null!==d?(e=Qa(),null!==e?d=[d,e]:(d=null,b=g)):(d=null,b=g);for(;null!==d;)c.push(d),g=b,d=v(),null!==d?(e=Qa(),null!==e?d=[d,e]:(d=null,b=g)):(d=null,b=g);null!==c?a=[a,c]:(a=null,b=f)}else a=null,b=f;return a},disp_type:dc,disp_param:Qa,handling_param:ec,Content_Encoding:function(){var a,c,d,e,f,g;f=b;a=r();if(null!==a){c=[];g=b;d=u();null!==d?(e=r(),null!==e?d=[d,e]:(d=null,b=g)):(d=null,b=g);for(;null!== +d;)c.push(d),g=b,d=u(),null!==d?(e=r(),null!==e?d=[d,e]:(d=null,b=g)):(d=null,b=g);null!==c?a=[a,c]:(a=null,b=f)}else a=null,b=f;return a},Content_Length:function(){var a,c,d;d=b;c=p();if(null!==c)for(a=[];null!==c;)a.push(c),c=p();else a=null;null!==a&&(k=parseInt(a.join("")),a=void 0);null===a&&(b=d);return a},Content_Type:function(){var a,c;c=b;a=fc();null!==a&&(k=e.substring(b,c),a=void 0);null===a&&(b=c);return a},media_type:fc,m_type:gc,discrete_type:ic,composite_type:jc,extension_token:na, +x_token:kc,m_subtype:hc,m_parameter:Ra,m_value:lc,CSeq:function(){var a,c,d,e;e=b;a=mc();null!==a?(c=y(),null!==c?(d=ia(),null!==d?a=[a,c,d]:(a=null,b=e)):(a=null,b=e)):(a=null,b=e);return a},CSeq_value:mc,Expires:function(){var a,c;c=b;a=N();null!==a&&(k=a,a=void 0);null===a&&(b=c);return a},Event:function(){var a,c,d,e,f,g,l;g=f=b;a=$();if(null!==a){c=[];l=b;d=v();null!==d?(e=B(),null!==e?d=[d,e]:(d=null,b=l)):(d=null,b=l);for(;null!==d;)c.push(d),l=b,d=v(),null!==d?(e=B(),null!==e?d=[d,e]:(d=null, +b=l)):(d=null,b=l);null!==c?a=[a,c]:(a=null,b=g)}else a=null,b=g;null!==a&&(k.event=a[0].join(""),a=void 0);null===a&&(b=f);return a},event_type:$,From:function(){var a,c,d,e,f,g,l;g=f=b;a=ea();null===a&&(a=M());if(null!==a){c=[];l=b;d=v();null!==d?(e=Sa(),null!==e?d=[d,e]:(d=null,b=l)):(d=null,b=l);for(;null!==d;)c.push(d),l=b,d=v(),null!==d?(e=Sa(),null!==e?d=[d,e]:(d=null,b=l)):(d=null,b=l);null!==c?a=[a,c]:(a=null,b=g)}else a=null,b=g;if(null!==a){a=k.tag;try{k=new JsSIP.NameAddrHeader(k.uri, +k.display_name,k.params),a&&k.setParam("tag",a)}catch(o){k=-1}a=void 0}null===a&&(b=f);return a},from_param:Sa,tag_param:Ta,Max_Forwards:function(){var a,c,d;d=b;c=p();if(null!==c)for(a=[];null!==c;)a.push(c),c=p();else a=null;null!==a&&(k=parseInt(a.join("")),a=void 0);null===a&&(b=d);return a},Min_Expires:function(){var a,c;c=b;a=N();null!==a&&(k=a,a=void 0);null===a&&(b=c);return a},Proxy_Authenticate:function(){return Ua()},challenge:Ua,other_challenge:nc,auth_param:aa,digest_cln:oa,realm:oc, +realm_value:vc,domain:pc,URI:pa,nonce:qc,nonce_value:wc,opaque:rc,stale:sc,algorithm:tc,qop_options:uc,qop_value:qa,Proxy_Require:function(){var a,c,d,e,f,g;f=b;a=r();if(null!==a){c=[];g=b;d=u();null!==d?(e=r(),null!==e?d=[d,e]:(d=null,b=g)):(d=null,b=g);for(;null!==d;)c.push(d),g=b,d=u(),null!==d?(e=r(),null!==e?d=[d,e]:(d=null,b=g)):(d=null,b=g);null!==c?a=[a,c]:(a=null,b=f)}else a=null,b=f;return a},Record_Route:function(){var a,c,d,e,f,g,l;g=f=b;a=ra();if(null!==a){c=[];l=b;d=u();null!==d?(e= +ra(),null!==e?d=[d,e]:(d=null,b=l)):(d=null,b=l);for(;null!==d;)c.push(d),l=b,d=u(),null!==d?(e=ra(),null!==e?d=[d,e]:(d=null,b=l)):(d=null,b=l);null!==c?a=[a,c]:(a=null,b=g)}else a=null,b=g;if(null!==a){for(var o in k.multi_header)if(null===k.multi_header[o].parsed){k=null;break}k=null!==k?k.multi_header:-1;a=void 0}null===a&&(b=f);return a},rec_route:ra,Require:function(){var a,c,d,e,f,g;f=b;a=r();if(null!==a){c=[];g=b;d=u();null!==d?(e=r(),null!==e?d=[d,e]:(d=null,b=g)):(d=null,b=g);for(;null!== +d;)c.push(d),g=b,d=u(),null!==d?(e=r(),null!==e?d=[d,e]:(d=null,b=g)):(d=null,b=g);null!==c?a=[a,c]:(a=null,b=f)}else a=null,b=f;return a},Route:function(){var a,c,d,e,f,g;f=b;a=sa();if(null!==a){c=[];g=b;d=u();null!==d?(e=sa(),null!==e?d=[d,e]:(d=null,b=g)):(d=null,b=g);for(;null!==d;)c.push(d),g=b,d=u(),null!==d?(e=sa(),null!==e?d=[d,e]:(d=null,b=g)):(d=null,b=g);null!==c?a=[a,c]:(a=null,b=f)}else a=null,b=f;return a},route_param:sa,Subscription_State:function(){var a,c,d,e,f,g;f=b;a=xc();if(null!== +a){c=[];g=b;d=v();null!==d?(e=Va(),null!==e?d=[d,e]:(d=null,b=g)):(d=null,b=g);for(;null!==d;)c.push(d),g=b,d=v(),null!==d?(e=Va(),null!==e?d=[d,e]:(d=null,b=g)):(d=null,b=g);null!==c?a=[a,c]:(a=null,b=f)}else a=null,b=f;return a},substate_value:xc,subexp_params:Va,event_reason_value:yc,Subject:function(){var a;a=eb();return null!==a?a:""},Supported:function(){var a,c,d,e,f,g;f=b;a=r();if(null!==a){c=[];g=b;d=u();null!==d?(e=r(),null!==e?d=[d,e]:(d=null,b=g)):(d=null,b=g);for(;null!==d;)c.push(d), +g=b,d=u(),null!==d?(e=r(),null!==e?d=[d,e]:(d=null,b=g)):(d=null,b=g);null!==c?a=[a,c]:(a=null,b=f)}else a=null,b=f;return null!==a?a:""},To:function(){var a,c,d,e,f,g,l;g=f=b;a=ea();null===a&&(a=M());if(null!==a){c=[];l=b;d=v();null!==d?(e=Wa(),null!==e?d=[d,e]:(d=null,b=l)):(d=null,b=l);for(;null!==d;)c.push(d),l=b,d=v(),null!==d?(e=Wa(),null!==e?d=[d,e]:(d=null,b=l)):(d=null,b=l);null!==c?a=[a,c]:(a=null,b=g)}else a=null,b=g;if(null!==a){a=k.tag;try{k=new JsSIP.NameAddrHeader(k.uri,k.display_name, +k.params),a&&k.setParam("tag",a)}catch(o){k=-1}a=void 0}null===a&&(b=f);return a},to_param:Wa,Via:function(){var a,c,d,e,f,g;f=b;a=ta();if(null!==a){c=[];g=b;d=u();null!==d?(e=ta(),null!==e?d=[d,e]:(d=null,b=g)):(d=null,b=g);for(;null!==d;)c.push(d),g=b,d=u(),null!==d?(e=ta(),null!==e?d=[d,e]:(d=null,b=g)):(d=null,b=g);null!==c?a=[a,c]:(a=null,b=f)}else a=null,b=f;return a},via_parm:ta,via_params:Xa,via_ttl:Bc,via_maddr:Cc,via_received:Dc,via_branch:Ec,response_port:Fc,sent_protocol:zc,protocol_name:Gc, +transport:ua,sent_by:Ac,via_host:Hc,via_port:Ic,ttl:La,WWW_Authenticate:function(){return Ua()},extension_header:function(){var a,c,d,e;e=b;a=r();null!==a?(c=db(),null!==c?(d=Jc(),null!==d?a=[a,c,d]:(a=null,b=e)):(a=null,b=e)):(a=null,b=e);return a},header_value:Jc,message_body:function(){var a,b;a=[];for(b=wa();null!==b;)a.push(b),b=wa();return a},stun_URI:function(){var a,c,d,h;h=b;a=Kc();null!==a?(58===e.charCodeAt(b)?(c=":",b++):(c=null,0===f&&g('":"')),null!==c)?(d=Ya(),null!==d?a=[a,c,d]:(a= +null,b=h)):(a=null,b=h):(a=null,b=h);return a},stun_scheme:Kc,stun_host_port:Ya,stun_host:Lc,reg_name:Z,stun_unreserved:Za,sub_delims:$a,turn_URI:function(){var a,c,d,h,i,j,k;j=b;a=Mc();null!==a?(58===e.charCodeAt(b)?(c=":",b++):(c=null,0===f&&g('":"')),null!==c)?(d=Ya(),null!==d)?(k=b,"?transport="===e.substr(b,11)?(h="?transport=",b+=11):(h=null,0===f&&g('"?transport="')),null!==h?(i=ua(),null!==i?h=[h,i]:(h=null,b=k)):(h=null,b=k),h=null!==h?h:"",null!==h)?a=[a,c,d,h]:(a=null,b=j):(a=null,b=j): +(a=null,b=j):(a=null,b=j);return a},turn_scheme:Mc,turn_transport:function(){var a,c,d,h,i;i=h=b;a=ua();if(null!==a){"udp"===e.substr(b,3).toLowerCase()?(c=e.substr(b,3),b+=3):(c=null,0===f&&g('"udp"'));if(null===c&&("tcp"===e.substr(b,3).toLowerCase()?(c=e.substr(b,3),b+=3):(c=null,0===f&&g('"tcp"')),null===c)){c=[];for(d=w();null!==d;)c.push(d),d=w()}null!==c?a=[a,c]:(a=null,b=i)}else a=null,b=i;null!==a&&(k.transport=transport,a=void 0);null===a&&(b=h);return a}};if(void 0!==C){if(void 0===Nc[C])throw Error("Invalid rule name: "+ +bb(C)+".");}else C="CRLF";var b=0,f=0,O=0,va=[],k={};if(null===Nc[C]()||b!==e.length){var ab=Math.max(b,O),Rc=ab 0) { - message.addHeader('record-route', header[idx]); - } + if (parsed === -1) { + parsed = undefined; + } + + for(idx in parsed) { + header = parsed[idx]; + message.addHeader('record-route', headerValue.substring(header.possition, header.offset)); + message.headers['Record-Route'][message.countHeader('record-route')-1].parsed = header.parsed; } break; case 'call-id': @@ -106,19 +108,16 @@ JsSIP.Parser = { break; case 'contact': case 'm': - header = headerValue.match(/([^\"\',]*((\'[^\']*\')*||(\"[^\"]*\")*))+/gm); - length = header.length; - count = 0; - - for(idx=0; idx < length; idx++) { - if (header[idx].length > 0) { - message.addHeader('contact', header[idx]); - parsed = message.parseHeader('contact', count); - count += 1; - if (parsed === undefined) { - break; - } - } + parsed = JsSIP.Grammar.parse(headerValue, 'Contact'); + + if (parsed === -1) { + parsed = undefined; + } + + for(idx in parsed) { + header = parsed[idx]; + message.addHeader('contact', headerValue.substring(header.possition, header.offset)); + message.headers['Contact'][message.countHeader('contact')-1].parsed = header.parsed; } break; case 'content-length':